Skip to content

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

@Marius1311

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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions