Skip to content

Can't import zarr<3 with latest numcodecs==0.16.0 #2963

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
ryan-williams opened this issue Apr 7, 2025 · 8 comments
Closed

Can't import zarr<3 with latest numcodecs==0.16.0 #2963

ryan-williams opened this issue Apr 7, 2025 · 8 comments
Labels
bug Potential issues with the zarr-python library

Comments

@ryan-williams
Copy link
Member

ryan-williams commented Apr 7, 2025

Zarr version

v2.18.5

Numcodecs version

v0.16.0

Python Version

3.11 (but probably all)

Operating System

Ubuntu and Mac (but probably all)

Installation

pip install 'zarr<3' numcodecs

Description

In zarr<3, zarr/util.py imports numcodecs.blosc.cbuffer_sizes (e.g. here in 2.18.5), which was removed in numcodecs 0.16.0 (released 40mins ago at time of writing)

This reference was removed in #2182, prior to 3.0.0, but causes zarr 2.x to fail to import when latest numcodecs is installed; GHA example:

  File "/home/runner/work/TileDB-SOMA/TileDB-SOMA/venv-soma/lib/python3.11/site-packages/zarr/convenience.py", line 8, in <module>
    from zarr._storage.store import data_root, meta_root, assert_zarr_v3_api_available
  File "/home/runner/work/TileDB-SOMA/TileDB-SOMA/venv-soma/lib/python3.11/site-packages/zarr/_storage/store.py", line 10, in <module>
    from zarr.meta import Metadata2, Metadata3
  File "/home/runner/work/TileDB-SOMA/TileDB-SOMA/venv-soma/lib/python3.11/site-packages/zarr/meta.py", line 10, in <module>
    from zarr.util import json_dumps, json_loads
  File "/home/runner/work/TileDB-SOMA/TileDB-SOMA/venv-soma/lib/python3.11/site-packages/zarr/util.py", line 34, in <module>
    from numcodecs.blosc import cbuffer_sizes, cbuffer_metainfo
ImportError: cannot import name 'cbuffer_sizes' from 'numcodecs.blosc' (/home/runner/work/TileDB-SOMA/TileDB-SOMA/venv-soma/lib/python3.11/site-packages/numcodecs/blosc.cpython-311-x86_64-linux-gnu.so)
Error: Process completed with exit code 1.

Not sure it's worth a 2.18.6 to pin numcodecs<0.16 (or remove the offending references), just flagging the issue.

Steps to reproduce

python -m venv .venv
. .venv/bin/activate
pip install 'zarr<3' numcodecs
python -c 'import zarr'  # ❌ ImportError: cannot import name 'cbuffer_sizes' from 'numcodecs.blosc' (/Users/ryan/c/single-cell-data/tiledb-soma/tmp/.venv/lib/python3.11/site-packages/numcodecs/blosc.cpython-311-darwin.so)

or:

docker run --rm --entrypoint bash python:3.11 -c 'pip install "zarr<3" numcodecs && python -c "import zarr"'
# ❌ ImportError: cannot import name 'cbuffer_sizes' from 'numcodecs.blosc' (/usr/local/lib/python3.11/site-packages/numcodecs/blosc.cpython-311-x86_64-linux-gnu.so)

Additional output

No response

@dstansby
Copy link
Contributor

dstansby commented Apr 7, 2025

Thanks for the quick report, and sorry about this. I think the best thing to do is pin numcodecs here, I'll do that now.

@cspades
Copy link

cspades commented Apr 7, 2025

Also hit this error, which affects NeMo:

/__w/_tool/Python/3.12.9/x64/lib/python3.12/site-packages/zarr/meta.py:10: in <module>
    from zarr.util import json_dumps, json_loads
/__w/_tool/Python/3.12.9/x64/lib/python3.12/site-packages/zarr/util.py:34: in <module>
    from numcodecs.blosc import cbuffer_sizes, cbuffer_metainfo
E   ImportError: cannot import name 'cbuffer_sizes' from 'numcodecs.blosc' (/__w/_tool/Python/3.12.9/x64/lib/python3.12/site-packages/numcodecs/blosc.cpython-312-x86_64-linux-gnu.so)

Following for the fix, thank you!

ryan-williams added a commit to single-cell-data/TileDB-SOMA that referenced this issue Apr 7, 2025
* `setup.py`: remove deprecated `License ::` from `classifiers`

[sc-65131]

* pin `numcodecs<0.16`

cf. zarr-developers/zarr-python#2963
github-actions bot pushed a commit to single-cell-data/TileDB-SOMA that referenced this issue Apr 7, 2025
* `setup.py`: remove deprecated `License ::` from `classifiers`

[sc-65131]

* pin `numcodecs<0.16`

cf. zarr-developers/zarr-python#2963
johnkerl pushed a commit to single-cell-data/TileDB-SOMA that referenced this issue Apr 7, 2025
…#3918)

* `setup.py`: remove deprecated `License ::` from `classifiers`

[sc-65131]

* pin `numcodecs<0.16`

cf. zarr-developers/zarr-python#2963

Co-authored-by: Ryan Williams <ryan.williams@tiledb.com>
@dstansby
Copy link
Contributor

dstansby commented Apr 8, 2025

This should now be fixed with a new 2.18.6 release - would be great if someone could confirm before we close this.

@tcompa
Copy link

tcompa commented Apr 8, 2025

Hi there

This should now be fixed with a new 2.18.6 release - would be great if someone could confirm before we close this.

Something is still not working for me:

$ python --version
Python 3.11.11

$ pip install "zarr<3" numcodecs
[...]

$ pip freeze
asciitree==0.3.3
fasteners==0.19
numcodecs==0.16.0
numpy==2.2.4
typing_extensions==4.13.1
zarr==2.18.6

At a first look, I think that this is because #2965 modified the docs entry for numcodecs (https://github.com/zarr-developers/zarr-python/blob/support/v2/pyproject.toml#L45), rather than the actual line (https://github.com/zarr-developers/zarr-python/blob/support/v2/pyproject.toml#L16).

@dstansby
Copy link
Contributor

dstansby commented Apr 8, 2025

😱 thanks for checking - working on a working fix...

Jan-Willem added a commit to casangi/xradio that referenced this issue Apr 8, 2025
@gastoneb
Copy link

gastoneb commented Apr 8, 2025

Experiencing the same issue even with older zarr versions. Workaround until a fix is available is to explicitly require numcodecs==0.15.0 in your deps, since it will always try to install 0.16 otherwise.

@dstansby
Copy link
Contributor

dstansby commented Apr 9, 2025

Right, I'm pretty sure this is fixed now - just did a fresh install, and with zarr 2.18.7 it pulls numcodecs 0.15.1. Could someone else double check? Sorry again for the disruption.

@schenker
Copy link

schenker commented Apr 9, 2025

With zarr 2.18.7 it works as expected, thanks!

@dstansby dstansby closed this as completed Apr 9, 2025
ryan-williams added a commit to single-cell-data/TileDB-SOMA that referenced this issue Apr 9, 2025
`zarr==2.18.7` removes the need for it, cf.:
- zarr-developers/zarr-python#2963
- #3917
ryan-williams added a commit to single-cell-data/TileDB-SOMA that referenced this issue Apr 9, 2025
`zarr==2.18.7` removes the need for it, cf.:
- zarr-developers/zarr-python#2963
- #3917
ryan-williams added a commit to single-cell-data/TileDB-SOMA that referenced this issue Apr 9, 2025
`zarr==2.18.7` removes the need for it, cf.:
- zarr-developers/zarr-python#2963
- #3917
github-actions bot pushed a commit to single-cell-data/TileDB-SOMA that referenced this issue Apr 9, 2025
`zarr==2.18.7` removes the need for it, cf.:
- zarr-developers/zarr-python#2963
- #3917
johnkerl pushed a commit to single-cell-data/TileDB-SOMA that referenced this issue Apr 9, 2025
`zarr==2.18.7` removes the need for it, cf.:
- zarr-developers/zarr-python#2963
- #3917

Co-authored-by: Ryan Williams <ryan.williams@tiledb.com>
copybara-service bot pushed a commit to google-research/weatherbenchX that referenced this issue Apr 23, 2025
This was fixed in the latest Zarr 2.18.7 release, but for some reason it doesn't get installed in GitHub actions:
zarr-developers/zarr-python#2963

PiperOrigin-RevId: 750643134
copybara-service bot pushed a commit to google-research/weatherbench2 that referenced this issue Apr 23, 2025
This was fixed in the latest Zarr 2.18.7 release, but for some reason it doesn't get installed in GitHub actions:
zarr-developers/zarr-python#2963

PiperOrigin-RevId: 750643134
copybara-service bot pushed a commit to google-research/weatherbench2 that referenced this issue Apr 23, 2025
This was fixed in the latest Zarr 2.18.7 release, but for some reason it doesn't get installed in GitHub actions:
zarr-developers/zarr-python#2963

PiperOrigin-RevId: 750643134
copybara-service bot pushed a commit to google-research/weatherbenchX that referenced this issue Apr 23, 2025
This was fixed in the latest Zarr 2.18.7 release, but for some reason it doesn't get installed in GitHub actions:
zarr-developers/zarr-python#2963

PiperOrigin-RevId: 750643134
copybara-service bot pushed a commit to google-research/weatherbench2 that referenced this issue Apr 23, 2025
This was fixed in the latest Zarr 2.18.7 release, but for some reason it doesn't get installed in GitHub actions:
zarr-developers/zarr-python#2963

PiperOrigin-RevId: 750643134
copybara-service bot pushed a commit to google-research/weatherbenchX that referenced this issue Apr 23, 2025
This was fixed in the latest Zarr 2.18.7 release, but for some reason it doesn't get installed in GitHub actions:
zarr-developers/zarr-python#2963

PiperOrigin-RevId: 750643134
copybara-service bot pushed a commit to google-research/weatherbench2 that referenced this issue Apr 23, 2025
This was fixed in the latest Zarr 2.18.7 release, but for some reason it doesn't get installed in GitHub actions:
zarr-developers/zarr-python#2963

PiperOrigin-RevId: 750643134
copybara-service bot pushed a commit to google-research/weatherbenchX that referenced this issue Apr 23, 2025
This was fixed in the latest Zarr 2.18.7 release, but for some reason it doesn't get installed in GitHub actions:
zarr-developers/zarr-python#2963

PiperOrigin-RevId: 750643134
copybara-service bot pushed a commit to google-research/weatherbenchX that referenced this issue Apr 24, 2025
This was fixed in the latest Zarr 2.18.7 release, but for some reason it doesn't get installed in GitHub actions:
zarr-developers/zarr-python#2963

PiperOrigin-RevId: 750643134
copybara-service bot pushed a commit to google-research/weatherbench2 that referenced this issue Apr 24, 2025
This was fixed in the latest Zarr 2.18.7 release, but for some reason it doesn't get installed in GitHub actions:
zarr-developers/zarr-python#2963

PiperOrigin-RevId: 750643134
copybara-service bot pushed a commit to google-research/weatherbench2 that referenced this issue Apr 24, 2025
This was fixed in the latest Zarr 2.18.7 release, but for some reason it doesn't get installed in GitHub actions:
zarr-developers/zarr-python#2963

PiperOrigin-RevId: 750778532
copybara-service bot pushed a commit to google-research/weatherbenchX that referenced this issue Apr 24, 2025
This was fixed in the latest Zarr 2.18.7 release, but for some reason it doesn't get installed in GitHub actions:
zarr-developers/zarr-python#2963

PiperOrigin-RevId: 750778532
XanthosXanthopoulos added a commit to single-cell-data/TileDB-SOMA that referenced this issue Apr 25, 2025
commit 777dcfc
Author: Bruce Martin <bruce.martin@tiledb.com>
Date:   Thu Apr 24 16:10:09 2025 -0700

    skip redundant metadata writes (#4014)

commit 7448877
Author: XanthosXanthopoulos <38084549+XanthosXanthopoulos@users.noreply.github.com>
Date:   Thu Apr 24 08:37:46 2025 -0700

    Fix error introduced by renaming lambda (#4012)

commit 435a522
Author: XanthosXanthopoulos <38084549+XanthosXanthopoulos@users.noreply.github.com>
Date:   Thu Apr 24 08:22:28 2025 -0700

    [c++] Optimize `nnz` computation (#3898)

    * count cell on overlapping region only

    * Use count aggregate for slow nnz

    * Fix iteration

    * Add unit test

    * Update libtiledbsoma/src/soma/soma_array.cc

    Co-authored-by: John Kerl <kerl.john.r@gmail.com>

    * Add tracking issue

    * Fix memory leak in unit test

    * Do not early fall back on `nnz_slow` in partial overlap/consolidated fragment

    * Extract common logic to lambda function

    * Apply PRs 3958 and 4001

    * Permutate relevant fragment list based on non emprty domain sorting

    * Add randomized overlap nnz test

    * Fix spelling

    ---------

    Co-authored-by: John Kerl <kerl.john.r@gmail.com>

commit af82ab8
Author: John Kerl <kerl.john.r@gmail.com>
Date:   Wed Apr 23 13:25:20 2025 -0400

    [python] Improve null-index handling in Arrow dictionaries (#3992)

    * Unit-test cases

    * Minimal change for segv-avoidance

    * iterating

    * finalize unit-test cases; next: simplify and eludicate

    * neaten

    * prep for code-dedupe

    * more prep for code-deduping

    * continuing

    * complete dedupe

    * add some comment material

    * add bool-valued tests

    * space/time tradeoff

    * revert previous

    * Apply suggestions from code review

    Co-authored-by: nguyenv <vivian@tiledb.com>

    * code-review feedback, and fix an error from another suggestion

    ---------

    Co-authored-by: nguyenv <vivian@tiledb.com>

commit 07e9281
Author: John Kerl <kerl.john.r@gmail.com>
Date:   Wed Apr 23 09:02:05 2025 -0400

    apis/python/example-scripts/ingest_h5ads.py (#4006)

commit 13de2c7
Author: John Kerl <kerl.john.r@gmail.com>
Date:   Tue Apr 22 16:16:29 2025 -0400

    [c++] Trivial method-order rearrange (#3996)

    * [c++] Trivial method-order rearrange

    * one more spelling uniformization

commit 58baebb
Author: Bruce Martin <bruce.martin@tiledb.com>
Date:   Tue Apr 22 08:39:24 2025 -0700

    fix bad test (#4002)

commit 63d8ae1
Author: John Kerl <kerl.john.r@gmail.com>
Date:   Mon Apr 21 17:38:53 2025 -0400

    [c++] Fix error in raise-if-slow path (#3999)

    * [c++] Fix error in raise-if-slow path

    * Workaround spurious CI failure

commit 1326a02
Author: nguyenv <vivian@tiledb.com>
Date:   Wed Apr 16 15:48:38 2025 -0500

    [python] Have `SOMAFileHandle` encapsulate both `VFS` and `VFSFilebuf` (#3986)

    * [python] Hold `SOMAContext` smart pointer in `SOMAVFS`

    * [wip] Refactor SOMAVFS

    * [wip] Rename to FileHandle and check if open

    * [wip] Open in constructor

    * Remove uri member

commit 1d3d18d
Author: Bruce Martin <bruce.martin@tiledb.com>
Date:   Tue Apr 15 15:42:10 2025 -0700

    h5py cleanup race fix (#3984)

    * h5py cleanup race fix

    * revert bug

commit 5268209
Author: Ryan Williams <ryan.williams@tiledb.com>
Date:   Tue Apr 15 10:37:25 2025 -0400

    [python] `SOMAObject.open`: rm unused `clib_type` kwarg (#3954)

    * `SOMAObject.open: rm unused `clib_type` kwarg

    * fix comment typos

    cf. #2820

    * fix error-msg typo

    cf. #3847

commit 7b9684b
Author: John Kerl <kerl.john.r@gmail.com>
Date:   Tue Apr 15 09:08:01 2025 -0400

    [python] Test `get_experiment_shapes` for underpopulated experiments (#3966)

commit 615561a
Author: nguyenv <vivian@tiledb.com>
Date:   Mon Apr 14 17:21:30 2025 -0500

    [python][c++] Correctly manage lifetime of `SOMAVFS` with `SOMAVFSFilebuf` (#3976)

    * [python] Correctly manage lifetime of `SOMAVFS` with `SOMAVFSFilebuf`

    * Update apis/python/tests/test_basic_anndata_io.py

    Co-authored-by: John Kerl <kerl.john.r@gmail.com>

    * collect vfs

    ---------

    Co-authored-by: John Kerl <kerl.john.r@gmail.com>

commit a8f5e1a
Author: Ryan Williams <ryan.williams@tiledb.com>
Date:   Mon Apr 14 14:18:17 2025 -0400

    [python] Harmonize/GC daily-GHA-failure issue-templates (#3973)

    * update `python-dockers.yml` failure issue template

    cf. JasonEtco/create-an-issue#86 (comment)

    * Harmonize/GC daily-GHA-failure issue-templates

commit a996f79
Author: Ryan Williams <ryan.williams@tiledb.com>
Date:   Mon Apr 14 14:18:05 2025 -0400

    [python] Remove `typing.{Dict,List,Optional,Set,Tuple,Type,Union}` references (#3956)

    * rm `Union`s

    * rm `Tuple`s

    * rm more `Union`s

    * rm `List`s

    * rm `Dict`s

    * rm `Optional`s

    * rm `Type`s

    * rm `Set`

commit 64e8e5e
Author: XanthosXanthopoulos <38084549+XanthosXanthopoulos@users.noreply.github.com>
Date:   Mon Apr 14 09:51:14 2025 -0700

    [python] Increase unit-test coverage for various metadata value-types (#3972)

    * Add more unicode sequences

    * Improve error messaging

    * Fix macos build issue

    * Use `bool_` instead of `bool`

    * Update apis/python/src/tiledbsoma/_tdb_handles.py

    Co-authored-by: John Kerl <kerl.john.r@gmail.com>

    ---------

    Co-authored-by: John Kerl <kerl.john.r@gmail.com>

commit 8fce365
Author: Bruce Martin <bruce.martin@tiledb.com>
Date:   Mon Apr 14 06:57:18 2025 -0700

    [python] Fix mishandling of join-ID column (#3970)

    * fix mishandling of joind column

    * pr fb

commit a6ad758
Author: nguyenv <vivian@tiledb.com>
Date:   Fri Apr 11 19:17:03 2025 -0500

    [python] Ensure `ndarray` byteorder is little-endian on matrix writes (#3963)

commit 78df60e
Author: John Kerl <kerl.john.r@gmail.com>
Date:   Fri Apr 11 18:09:46 2025 -0400

    [python] Fix a typo on #3949 (#3965)

commit 0ccd574
Author: John Kerl <kerl.john.r@gmail.com>
Date:   Fri Apr 11 16:28:40 2025 -0400

    [python] Refactor `io/shaping.py`; `get_experiment_shapes` (#3962)

    * [python] Refactor `io/shaping.py`

    * code-review feedback

    * [python] Implement `tiledbsoma.io.get_experiment_shapes` (#3949)

    * [python] `get_experiment_shapes`

    * code-review feedback; rebase coming [skip ci]

commit 7d57cc4
Author: nguyenv <vivian@tiledb.com>
Date:   Thu Apr 10 20:56:14 2025 -0500

    [python] Ensure schema is explicitly passed to `pa.Table.from*` converters (#3957)

commit c4198c3
Author: John Kerl <kerl.john.r@gmail.com>
Date:   Thu Apr 10 17:33:47 2025 -0400

    [python] Fix a spurious exception-class issue (#3958)

    * fix an issue raised by ryan [wip]

    * put py::arg in the right place -- thanks google

commit b319af6
Author: Ryan Williams <ryan.williams@tiledb.com>
Date:   Thu Apr 10 11:06:10 2025 -0400

    [python] Remove `pre-commit/mirrors-prettier` hook (#3952)

    * Use `rbubley/mirrors-prettier` @ 3.5.3

    `pre-commit/mirrors-prettier` was archived, this appears to be a reasonably-maintained and -starred fork, which also only updates vs. full (non-alpha)	prettier` releases

    * rm `prettier` pre-commit hook

commit 8b8183b
Author: Ryan Williams <ryan.williams@tiledb.com>
Date:   Wed Apr 9 15:27:24 2025 -0400

    python-uv.dockerfile (#3948)

commit d96e81c
Author: Ryan Williams <ryan.williams@tiledb.com>
Date:   Wed Apr 9 15:22:14 2025 -0400

    rm numcodecs<0.16 pin (#3946)

    `zarr==2.18.7` removes the need for it, cf.:
    - zarr-developers/zarr-python#2963
    - #3917

commit f0f1cc5
Author: John Kerl <kerl.john.r@gmail.com>
Date:   Wed Apr 9 13:04:32 2025 -0400

    [python] Extend previous-version tests for experiment query (#3945)

commit e0b594c
Author: John Kerl <kerl.john.r@gmail.com>
Date:   Wed Apr 9 10:56:13 2025 -0400

    [python] Previous-versions testing for enum getter/extender (#3940)

    * [python] Extend previous-versions testing

    * extender

commit 847d85f
Author: John Kerl <kerl.john.r@gmail.com>
Date:   Wed Apr 9 10:29:42 2025 -0400

    [python] Improve UX for `extend_enumeration_values` with non-Arrow types (#3939)

commit fc5d2c1
Author: John Kerl <kerl.john.r@gmail.com>
Date:   Wed Apr 9 08:46:12 2025 -0400

    [c++] Follow-up to #3873 and #3928 (#3937)

commit d65892d
Author: Bruce Martin <bruce.martin@tiledb.com>
Date:   Tue Apr 8 15:13:55 2025 -0700

    fix valgrind errors in unit tests (#3935)

commit 4746ae3
Author: XanthosXanthopoulos <38084549+XanthosXanthopoulos@users.noreply.github.com>
Date:   Tue Apr 8 13:10:08 2025 -0700

    Replace std::unique_ptr with raw pointer for attribute arrow schema (#3928)

commit 10b2549
Author: Bruce Martin <bruce.martin@tiledb.com>
Date:   Tue Apr 8 12:23:53 2025 -0700

    [python] Ingest performance improvements (#3865)

    * first cut at ingest tuning

    * mp optional param

    * fix tests, add load from S3

    * reshape fix

    * lint

    * add multiprocessing config warning

    * performance tuning

    * pass context

    * lint

    * add test

    * interim checkpoint on enum cleanup

    * add test for subset

    * add new extend enum code (commented out)

    * migrate to new enum API

    * bump typeguard version to work around typeguard#504

    * improve doctrings

    * more cleanup

    * loosen existance checks when from_anndata/from_h5ad are run in schema_only mode

    * cleanup and additional error checking

    * more docstring cleanup

    * more docstring cleanup

    * more docstrings

    * pr fb

    * pr fb

    * more pr fb

    * increase test code coverage

    * additional code coverage

    * lint

    * PR fb

    * PR fb

    * more PR fb

    * lint

    * remove extraneous line break in docstring

commit 92fc2b8
Author: nguyenv <vivian@tiledb.com>
Date:   Tue Apr 8 13:21:43 2025 -0500

    [python] Return `datetime` `domain`/`maxdomain` as `pa.TimestampScalar` (#3877)

    - The domain/maxdomain was return as `np.datetime64`. Give that Arrow is used as the default type for all return values, this is now corrected to `pa.TimestampScalar`
    - Allow the passed-in type of the domain to be `int` and `pa.TimestampScalar` in addition to `np.datetime64`

commit 5d7e70b
Author: Paul Hoffman <mojaveazure@users.noreply.github.com>
Date:   Tue Apr 8 12:51:01 2025 -0400

    [r] Add support for reading v5 assays from an axis query (#3008)

    * [r] Add support for reading v5 assays from an axis query
    Seurat v5 adds support for ragged arrays, where not every `X` layer has
    exactly the same cells and features. To handle this, ragged `X` layers
    need to be re-indexed and re-shaped on ingestion to resize down to only
    the data present

    Modified SOMA methods:
     - `SOMAExperimentAxisQuery$to_seurat()` and
       `SOMAExperimentAxisQuery$to_seurat_assay()`: now read in as v5 assays

    New SOMA methods:
     - `SOMAExperimentAxisQuery$private$.to_seurat_assay_v5()`: helper
       method to read in ragged and non-ragged arrays into a v5 assay; note
       this method only handles expression layers, all other assay-level
       information is handled by parent `$to_seurat_assay()` to share code
       with v3 assay outgestion

    Requires #2523 and #3007

    [SC-52261](https://app.shortcut.com/tiledb-inc/story/52261/)

    * Use hint helpers

    * Fix shape, regex uses

    * Use hint helper functions

    * Use updated column names

    * Apply suggestions from code review

    Co-authored-by: John Kerl <kerl.john.r@gmail.com>

    * Finish incomplete suggestions

    * more codereview feedback

    ---------

    Co-authored-by: John Kerl <kerl.john.r@gmail.com>

commit 0b46462
Author: Bruce Martin <bruce.martin@tiledb.com>
Date:   Tue Apr 8 07:10:32 2025 -0700

    [python] Fix partition readers' naïve assumption that `nnz` is fast (#3915)

    * add work-around for single-fragment nnz

    * add raise_if_slow to nnz, and use in partitioning readers

    * add raise_if_slow to nnz, and use in partitioning readers

    * revert likely buggy nnz optimization

    * improve fallback partitioning for ExperimentAxisQuery

    * pin numcodecs

    * pr fb

    * pr fb

    * PR fb

commit 9d2ab41
Author: John Kerl <kerl.john.r@gmail.com>
Date:   Tue Apr 8 09:35:16 2025 -0400

    Include 1.16.1 datasets in soma-experiment-versions tests (#3912)

commit 5d386d4
Author: Ryan Williams <ryan.williams@tiledb.com>
Date:   Mon Apr 7 19:00:44 2025 -0400

    work around #3917 in RTD build (#3922)

commit 2f4241b
Author: John Kerl <kerl.john.r@gmail.com>
Date:   Mon Apr 7 17:51:06 2025 -0400

    [python] Protect against an AnnData/SciPy incompatibility (#3919)

commit 8644785
Author: John Kerl <kerl.john.r@gmail.com>
Date:   Mon Apr 7 17:17:20 2025 -0400

    [python] Use `typeguard==4.4.2` (#3921)

commit ad5fae4
Author: Ryan Williams <ryan.williams@tiledb.com>
Date:   Mon Apr 7 13:47:01 2025 -0400

    `setup.py`: remove deprecated `License ::` from `classifiers` (#3916)

    * `setup.py`: remove deprecated `License ::` from `classifiers`

    [sc-65131]

    * pin `numcodecs<0.16`

    cf. zarr-developers/zarr-python#2963

commit cdc0d67
Author: Julia Dark <24235303+jp-dark@users.noreply.github.com>
Date:   Mon Apr 7 11:57:44 2025 -0400

    [python] Directly read Visium table instead of filtering through AnnData (#3835)

    * Directly read data from 10x HDF5 instead of opening it with AnnData.
    * (bug fix) Add `platform_config` to spatial array creation.

commit 37480ff
Author: XanthosXanthopoulos <38084549+XanthosXanthopoulos@users.noreply.github.com>
Date:   Fri Apr 4 17:01:36 2025 -0700

    Replace deprecated `dump` function (#3913)

commit f9450ba
Author: Ryan Williams <ryan.williams@tiledb.com>
Date:   Fri Apr 4 12:03:40 2025 -0400

    Publish ARM Linux wheels (#3909)

    * `python-packaging`: rm `continue-on-error: true` from Test PyPI publish

    That was masking failures to upload to test.pypi.org (due to 10GB space quota being full), e.g. https://github.com/single-cell-data/TileDB-SOMA/actions/runs/13913129586/job/38931629454

    * Publish manylinux aarch64 wheels

    * Audit/Factor `cibuildwheel` env vars

    * rm unused `cc`/`cxx` smoke-test matrix vars

    * add 3.9 smoke-test jobs

    * rm unused `CIBW_BEFORE_BUILD` hook

commit 1c6a057
Author: XanthosXanthopoulos <38084549+XanthosXanthopoulos@users.noreply.github.com>
Date:   Fri Apr 4 06:10:52 2025 -0700

    [c++] Fix Arrow memory leaks in unit tests (#3873)

    * Accept const reference of unique pointers

    * Release allocated arrow objects

    * Fix deallocation of arrow buffers, return raw pointer for all non parent arrow objects

    * Release allocated memrory in unit tests

    * Pass raw pointers to `set_array_data`

commit d77edea
Author: John Kerl <kerl.john.r@gmail.com>
Date:   Thu Apr 3 13:28:54 2025 -0400

    [c++] Show errant value in not-array-not-group error messages (#3897)

    * [c++] Show errant value in not-array-not-group error messages

    * fix dangling WIP bits

    * code-review feedback

commit fb12025
Author: John Kerl <kerl.john.r@gmail.com>
Date:   Thu Apr 3 09:41:51 2025 -0400

    [ci] Remove ticket-cutter for no-longer-nightly job (#3900)

commit 485d4d8
Author: Ryan Williams <ryan.williams@tiledb.com>
Date:   Wed Apr 2 23:19:46 2025 -0400

    `python-ci-packaging.yml`: only run on `push` events to `main` (#3895)

    Otherwise it runs on any branch push that touches relevant `paths`, which is not necessary (given the `paths` are already tested for `pull_request` events)

commit 6c08b42
Author: John Kerl <kerl.john.r@gmail.com>
Date:   Wed Apr 2 19:55:07 2025 -0400

    [c++/python] Expose enumeration-extender (#3815)

    * wip

    * Constraints testing against old pandas/numpy versions

    * Improve structuring

    * Merge in #3845

    * fix for older numpy

    * resolve #3815 (comment) [skip ci]

    * ordered flag

    * #3815 (comment)

    * resolve #3815 (comment)

    * more on #3815 (comment)

    * temp/wip [skip ci]

    * RAII-related code-review feedback

    * resolve #3815 (comment)

    * null-checking

    * iterating on code-review feedback

    * code-review feedback

    * add a helpful comment

    * try to be even more clear

    * check nan bits

    * Advice from #3888 thanks to Xanthos

    * Apply suggestions from code review

    Co-authored-by: nguyenv <vivian@tiledb.com>

    * neatens for code review

    * Apply suggestions from code review

    Co-authored-by: Julia Dark <24235303+jp-dark@users.noreply.github.com>

    * fix lint induced by code-review suggestions

    * const-refs for column name -- code-review feedback [skip ci]

    * some static_cast callsites [skip ci]

    * docblocks per code-review feedback [skip ci]

    * docblocks per code-review feedback

    * try-catch solution; ScopedExecutor coming next

    * ScopedExecutor

    ---------

    Co-authored-by: nguyenv <vivian@tiledb.com>
    Co-authored-by: Julia Dark <24235303+jp-dark@users.noreply.github.com>

commit d95ba39
Author: Ryan Williams <ryan.williams@tiledb.com>
Date:   Wed Apr 2 11:28:05 2025 -0400

    [ci/python] `python-dockers.yml`: improve issue template (#3894)

    * Improve `python-dockers` issue template

    * gha wiki link update

    [skip ci]

commit 4a3cfc6
Author: Ryan Williams <ryan.williams@tiledb.com>
Date:   Wed Apr 2 11:21:57 2025 -0400

    [python] Pin `build-system.requires`, ARM Linux Docker-builds to `cmake<4` (#3891)

    * pin cmake<4 in setuptools build

    * pip constraint `cmake<4` in ARM Linux docker builds

    * `python-dockers.yml`: `fail-fast: false`

    * `python-dockers.yml`: improve job names

commit c89fed9
Author: John Kerl <kerl.john.r@gmail.com>
Date:   Tue Apr 1 15:57:59 2025 -0400

    [ci] Run remote-storage workflow on all commits (#3885)

commit 5e52122
Author: John Kerl <kerl.john.r@gmail.com>
Date:   Tue Apr 1 15:12:10 2025 -0400

    [c++/python] Revert 3764 for global-order writes (#3886)

commit ef96798
Author: XanthosXanthopoulos <38084549+XanthosXanthopoulos@users.noreply.github.com>
Date:   Tue Apr 1 09:16:23 2025 -0700

    [r] Use exposed logger in C++ bindings (#3868)

    * Roll back to used `spdl::` [skip ci]

    * Replace spdl::* with tdbs::*

commit 945d195
Author: Ryan Williams <ryan.williams@tiledb.com>
Date:   Tue Apr 1 10:23:01 2025 -0400

    `python-ci-full.yml`: fix `include` rules (#3881)

    @bkmartinjr noticed our ubuntu GHAs had `cc`/`cxx` set to `clang`: sc-65188

commit 0aae54d
Author: Bruce Martin <bruce.martin@tiledb.com>
Date:   Mon Mar 31 18:01:48 2025 -0700

    [python] Ingest from S3 performance (#3872)

    * h5ad read from s3 performance

    * add simplicity

    * increase cache size

    * more macro data refinement

    * cleanup

    * darn clang-format

    * remove dead code

    * py39 lint

    * fix pre py 3.12 typeguard error

    * log python packages installed

    * pr fb

    * PR fb

    * refactor for clarity

commit ee8aab4
Author: nguyenv <vivian@tiledb.com>
Date:   Mon Mar 31 13:33:16 2025 -0500

    [python/c++] Allow GOW multi-submit for single commit (#3764)

    Co-authored-by: John Kerl <kerl.john.r@gmail.com>

commit 88317fb
Author: Julia Dark <24235303+jp-dark@users.noreply.github.com>
Date:   Thu Mar 27 14:40:32 2025 -0400

    [python] Prepare `io.shaping` for spatial additions (#3856)

    * Update docstrings to reflect which elements inside the experiment are being accessed.
    * Refactor `_treewalk` to make adding more elements easier.

    ---------

    Co-authored-by: John Kerl <kerl.john.r@gmail.com>

commit 5331558
Author: nguyenv <vivian@tiledb.com>
Date:   Thu Mar 27 13:06:52 2025 -0500

    [c++] Correctly handle NaN category values (#3845)

    Add ManagedQuery::_find_enum_match which uses bitwise comparison. Like std::find, the method returns an iterator that points to the match value in the container; if not found, returns an iterator to the end of the container.

commit 88c1664
Author: John Kerl <kerl.john.r@gmail.com>
Date:   Thu Mar 27 10:54:42 2025 -0400

    [python] Fix a venial typo in a unit-test case (#3862)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Potential issues with the zarr-python library
Projects
None yet
Development

No branches or pull requests

6 participants