Skip to content

CI: py3.14-pre fails — numba not yet compatible with numpy ≥2.4 (upstream) #78

Description

@Marius1311

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.pyfrom 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions