Bug 2338932

Summary: Incompatible with Zarr 3
Product: [Fedora] Fedora Reporter: Elliott Sales de Andrade <quantum.analyst>
Component: python-probeinterfaceAssignee: Elliott Sales de Andrade <quantum.analyst>
Status: CLOSED DEFERRED QA Contact:
Severity: medium Docs Contact:
Priority: unspecified    
Version: rawhideCC: code, neuro-sig
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2025-11-25 02:57:11 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 2264279    

Description Elliott Sales de Andrade 2025-01-20 01:06:40 UTC
I've prepared a test build of this package with Zarr 3 which shows it is not compatible yet: https://copr.fedorainfracloud.org/coprs/qulogic/zarr3/build/8547559/

Note, I believe this is actually an issue with Zarr 3: https://github.com/zarr-developers/zarr-python/issues/2631#issuecomment-2601122791
So I'm opening this bug for tracking purposes only.

Reproducible: Always

Steps to Reproduce:
Build against the linked copr
Actual Results:  
=================================== FAILURES ===================================
______________________________ test_save_to_zarr _______________________________

tmp_path = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/test_save_to_zarr0')

    def test_save_to_zarr(tmp_path):
        # Generate a dummy probe instance
        probe = generate_dummy_probe()
    
        # Define file path in the temporary directory
        folder_path = Path(tmp_path) / "probe.zarr"
    
        # Save the probe object to Zarr format
>       probe.to_zarr(folder_path=folder_path)

tests/test_probe.py:176: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
../BUILDROOT/usr/lib/python3.13/site-packages/probeinterface/probe.py:1138: in to_zarr
    self.add_probe_to_zarr_group(zarr_group)
../BUILDROOT/usr/lib/python3.13/site-packages/probeinterface/probe.py:1104: in add_probe_to_zarr_group
    group.create_dataset(name=field_name, data=data, dtype=dtype, chunks=False)
/usr/lib64/python3.13/warnings.py:637: in wrapper
    return arg(*args, **kwargs)
/usr/lib/python3.13/site-packages/zarr/core/group.py:2398: in create_dataset
    return Array(self._sync(self._async_group.create_dataset(name, **kwargs)))
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

args = (<AsyncGroup file:///tmp/pytest-of-mockbuild/pytest-0/test_save_to_zarr0/probe.zarr>, 'x')
kwargs = {'chunks': False, 'data': array([ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0., 25., 25., 25.,
       25., 25., 25., 25., 25., 25., 25., 25., 25., 50., 50., 50., 50.,
       50., 50., 50., 50., 50., 50.]), 'dtype': dtype('float64')}

    @functools.wraps(arg)
    def wrapper(*args, **kwargs):
        warn(msg, category=category, stacklevel=stacklevel + 1)
>       return arg(*args, **kwargs)
E       TypeError: AsyncGroup.create_dataset() missing 1 required keyword-only argument: 'shape'

/usr/lib64/python3.13/warnings.py:637: TypeError

Expected Results:  
Build should pass

Comment 1 Elliott Sales de Andrade 2025-01-20 01:07:26 UTC
Assigning to myself; as noted I think it's a Zarr bug.

Comment 2 Ben Beasley 2025-02-07 00:01:11 UTC
Upstream is now tracking this in https://github.com/SpikeInterface/probeinterface/issues/313, and in the latest probeinterface 0.2.25 release they’ve upper-bounded Zarr to <3, https://github.com/SpikeInterface/probeinterface/pull/314.

The good news is that Zarr is only a test dependency, and I’m able to conditionalize the tests that need it, so I’ll be shipping python-probeinterface-0.2.25 with a new "zarr" bcond that can be turned off if probeinterface is still incompatible when it’s time to actually ship Zarr 3: https://src.fedoraproject.org/rpms/python-probeinterface/pull-request/4

Comment 3 Aoife Moloney 2025-02-26 13:24:51 UTC
This bug appears to have been reported against 'rawhide' during the Fedora Linux 42 development cycle.
Changing version to 42.

Comment 4 Ben Beasley 2025-07-15 10:28:00 UTC
I have orphaned this package as part of the Neuro SIG’s strategy change to drop packages that are easily pip installable. Assuming nobody picks it back up, this may help unblock your Zarr update.

Comment 5 Elliott Sales de Andrade 2025-11-25 02:57:11 UTC
This is no longer relevant since python-probeinterface was retired in Rawhide.