Skip to content

Commit

Permalink
Pin Numpy < 2 in requirements
Browse files Browse the repository at this point in the history
We have compiled extensions that are built against the Numpy C API.
The Numpy transition guide for developers of downstream packages[1]
encourages us to put in this pin until we have wheels built against
the newer version, which is not expected to be fully ABI compatible
(but extensions built against Numpy 2 _should_ work with older versions
of Numpy).

Note that this won't prevent package managers from resolving _older_
versions of rustworkx (which don't have the pin) along with Numpy 2,
but there's not a vast amount we can do about that now.

Co-authored-by: Jake Lishman <jake.lishman@ibm.com>
  • Loading branch information
mtreinish and jakelishman committed Oct 19, 2023
1 parent a424009 commit 896c7f4
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 1 deletion.
12 changes: 12 additions & 0 deletions releasenotes/notes/numpy-2-pin-11bc3a379fb29bf7.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
other:
- |
This version of rustworkx is explicitly pinned to the Numpy 1.x series,
because it includes compiled extensions that are not yet compiled against
the as-yet-unreleased Numpy 2.x series. We will release a new version of
rustworkx with Numpy 2.x support as soon as feasible.
We cannot prevent your package manager from resolving to older versions of
rustworkx (which do not have the same pin but are still likely to be
incompatible) if you forcibly try to install rustworkx alongside Numpy 2,
before we have released a compatible version.
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ def readme():
PKG_NAME = os.getenv("RUSTWORKX_PKG_NAME", "rustworkx")
PKG_VERSION = "0.14.0"
PKG_PACKAGES = ["rustworkx", "rustworkx.visualization"]
PKG_INSTALL_REQUIRES = ["numpy>=1.16.0"]
PKG_INSTALL_REQUIRES = ["numpy>=1.16.0,<2"]
RUST_EXTENSIONS = [RustExtension("rustworkx.rustworkx", "Cargo.toml",
binding=Binding.PyO3, debug=rustworkx_debug)]

Expand Down

0 comments on commit 896c7f4

Please sign in to comment.