Skip to content

Commit

Permalink
BLD: update build and runtime dependencies for numpy 2.0
Browse files Browse the repository at this point in the history
Also enable the ruff rule for NumPy 2.0 (nothing to fix, it was all okay
already).
  • Loading branch information
rgommers committed Mar 12, 2024
1 parent bbe563c commit 1daf74b
Showing 1 changed file with 11 additions and 21 deletions.
32 changes: 11 additions & 21 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,23 +7,16 @@
[build-system]
build-backend = "mesonpy"
requires = [
"meson-python>=0.14.0",
"Cython>=0.29.35",
"meson-python>=0.15.0",
"Cython>=3.0.4",

# When numpy 2.0.0rc1 comes out, we should update this to build against 2.0,
# and then runtime depend on the range 1.22.X to <2.3. No need to switch to
# 1.25.2 in the meantime (1.25.x is the first version which exports older C
# API versions by default).

# default numpy requirements
"numpy==1.22.4; python_version<='3.10' and platform_python_implementation != 'PyPy'",
"numpy==1.23.3; python_version=='3.11' and platform_python_implementation != 'PyPy'",
"numpy==1.26.0; python_version=='3.12' and platform_python_implementation != 'PyPy'",
# For Python versions which aren't yet officially supported, we specify an
# unpinned NumPy which allows source distributions to be used and allows
# wheels to be used as soon as they become available.
"numpy; python_version>='3.13'",
"numpy; python_version>='3.9' and platform_python_implementation=='PyPy'",
# numpy requirement for wheel builds for distribution on PyPI - building
# against 2.x yields wheels that are also compatible with numpy 1.x at
# runtime.
# Note that building against numpy 1.x works fine too - users and
# redistributors can do this by installing the numpy version they like and
# disabling build isolation.
"numpy>=2.0.0b1,<3",
]

[project]
Expand All @@ -37,11 +30,7 @@ maintainers = [
]
description = "PyWavelets, wavelet transform module"
requires-python = ">=3.9"
dependencies = [
# TODO: update to "pin-compatible" once possible, see
# https://github.com/FFY00/meson-python/issues/29
"numpy>=1.22.4,<2.0",
]
dependencies = ["numpy>=1.22.4,<3"]
readme = "README.rst"
classifiers = [
"Development Status :: 5 - Production/Stable",
Expand Down Expand Up @@ -73,6 +62,7 @@ lint.select = [
'UP',
'C4',
'E713',
'NPY201',
'PIE',
'PGH003',
'PLR0402',
Expand Down

0 comments on commit 1daf74b

Please sign in to comment.