Skip to content

Commit 623e5cb

Browse files
authored
fix: Prevent installing numpy 2.0.2 on Python 3.13 (#806)
* fix: Prevent installing numpy 2.0.2 on Python 3.13 * chore(deps): Update poetry.lock * docs; Update CHANGELOG.md
1 parent 233188f commit 623e5cb

File tree

3 files changed

+16
-8
lines changed

3 files changed

+16
-8
lines changed

CHANGELOG.md

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,12 @@ All notable changes to this project will be documented in this file.
3838
`nidaqmx` against its oldest supported Python version (currently 3.9) requires downgrading
3939
to older versions of `numpy` and `click`.
4040
* Previously, these testing-specific version constraints leaked into to the `nidaqmx`
41-
distribution package and affected clients. Adding PyPy-specific constraints exacerbated
42-
this problem. Now, the distribution package specifies only a lower bound for the `numpy`
43-
and `click` versions.
41+
distribution package and affected clients. Adding PyPy-specific markers exacerbated
42+
this problem by requiring clients to specify the same markers.
43+
* `numpy` 2.0.x is the last version that supports Python 3.9, and it crashes with Python
44+
3.13, so the `nidaqmx` distribution package specifies two `numpy` version constraints:
45+
one for Python 3.9-3.12 (numpy>=1.22) and one for Python 3.13+ (numpy>=2.1).
46+
* The `nidaqmx` distribution package now specifies only a lower bound for `click`.
4447
* Clarify PyPy support and enable unit testing with PyPy.
4548

4649
* ### Known Issues

poetry.lock

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pyproject.toml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,11 @@ packages = [{ include = "nidaqmx", from = "generated" }]
3636

3737
[tool.poetry.dependencies]
3838
python = "^3.9"
39-
numpy = ">=1.22"
39+
# NumPy 2.0.x is the last version that supports Python 3.9, but it crashes with Python 3.13.
40+
numpy = [
41+
{ version = ">=1.22", python = ">=3.9,<3.13" },
42+
{ version = ">=2.1", python = "^3.13" }
43+
]
4044
deprecation = ">=2.1"
4145
grpcio = { version = ">=1.49.0,<2.0", optional = true }
4246
protobuf = { version = ">=4.21", optional = true }
@@ -97,6 +101,7 @@ click = [
97101
{ version = ">=8.0.0,<8.2.0", python = ">=3.9,<3.10" },
98102
{ version = ">=8.0.0", python = "^3.10" },
99103
]
104+
# Specify additional NumPy version constraints to speed up locking and test with binary wheels that support PyPy.
100105
numpy = [
101106
{ version = ">=1.22", python = ">=3.9,<3.12", markers = "implementation_name != 'pypy'" },
102107
{ version = ">=1.26", python = ">=3.12,<3.13", markers = "implementation_name != 'pypy'" },

0 commit comments

Comments
 (0)