Skip to content

Prevent NumPy 2 ABI failures and allow operation without NumExpr #79

Description

@zasexton

Description

Supported installations can resolve NumPy 2 alongside binary dependencies built for NumPy 1, causing errors such as _ARRAY_API not found or numpy.core.multiarray failed to import. The bifurcation module also imports NumExpr eagerly even though its two uses have direct NumPy equivalents.

Reproduction

  1. Install svv in an environment that resolves NumPy 2 with an incompatible binary dependency, or where NumExpr cannot be imported.
  2. Run python -c "from svv.tree.branch import bifurcation".
  3. Observe an ABI or NumExpr import failure before tree generation begins.

Expected behavior

Package constraints should select an ABI-compatible NumPy version. Bifurcation helpers should fall back to NumPy when NumExpr is unavailable or incompatible.

Additional context

A candidate implementation exists in fork commit fb48f7a. Its package metadata still lists NumExpr as a required dependency, so optional-dependency behavior should be reviewed before upstreaming.

Code of Conduct

  • I agree to follow this project's Code of Conduct and Contributing Guidelines

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions