Summary
The hatch-test.py3.14-pre (PRE-RELEASE DEPENDENCIES) CI job fails at test collection. This is a non-blocking failure by design (the job is continue-on-error and the required Tests pass in all hatch environments gate stays green), so it does not block merges. This issue tracks the root cause so the red ❌ is explained and gets removed when upstream catches up.
Root cause
-
The pre job runs with UV_PRERELEASE=allow, so uv resolves pre-release numpy (2.5.0rc / 2.4.x).
-
numpy ≥2.4 removed np.row_stack and np.trapz.
-
cellmapper imports umap eagerly (src/cellmapper/model/neighbors.py → from umap.umap_ import fuzzy_simplicial_set), which imports numba. The newest py3.14-compatible numba (0.66.0rc1) still references np.row_stack / np.trapz at import time, so importing cellmapper crashes during collection:
AttributeError: module 'numpy' has no attribute 'trapz'
AttributeError: module 'numpy' has no attribute 'row_stack'
This is an upstream numba ↔ numpy incompatibility. There is no bug in cellmapper.
Decision
We deliberately do not upper-bound numpy: capping numpy<2.4 would make the pre-release job stop testing pre-release numpy, defeating the job's purpose, and constrains the package that isn't broken. (See closed PR #77 for that rejected approach.)
Resolution / when to close
No action needed in this repo. The job will go green on its own once numba ships a release compatible with numpy ≥2.4 on Python 3.14. Close this issue when py3.14-pre is green on main again.
Summary
The
hatch-test.py3.14-pre (PRE-RELEASE DEPENDENCIES)CI job fails at test collection. This is a non-blocking failure by design (the job iscontinue-on-errorand the requiredTests pass in all hatch environmentsgate stays green), so it does not block merges. This issue tracks the root cause so the red ❌ is explained and gets removed when upstream catches up.Root cause
The pre job runs with
UV_PRERELEASE=allow, so uv resolves pre-release numpy (2.5.0rc / 2.4.x).numpy ≥2.4 removed
np.row_stackandnp.trapz.cellmapper imports
umapeagerly (src/cellmapper/model/neighbors.py→from umap.umap_ import fuzzy_simplicial_set), which imports numba. The newest py3.14-compatible numba (0.66.0rc1) still referencesnp.row_stack/np.trapzat import time, so importing cellmapper crashes during collection:This is an upstream numba ↔ numpy incompatibility. There is no bug in cellmapper.
Decision
We deliberately do not upper-bound numpy: capping
numpy<2.4would make the pre-release job stop testing pre-release numpy, defeating the job's purpose, and constrains the package that isn't broken. (See closed PR #77 for that rejected approach.)Resolution / when to close
No action needed in this repo. The job will go green on its own once numba ships a release compatible with numpy ≥2.4 on Python 3.14. Close this issue when
py3.14-preis green onmainagain.