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
- Install
svv in an environment that resolves NumPy 2 with an incompatible binary dependency, or where NumExpr cannot be imported.
- Run
python -c "from svv.tree.branch import bifurcation".
- 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
Description
Supported installations can resolve NumPy 2 alongside binary dependencies built for NumPy 1, causing errors such as
_ARRAY_API not foundornumpy.core.multiarray failed to import. The bifurcation module also imports NumExpr eagerly even though its two uses have direct NumPy equivalents.Reproduction
svvin an environment that resolves NumPy 2 with an incompatible binary dependency, or where NumExpr cannot be imported.python -c "from svv.tree.branch import bifurcation".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