Skip to content

Commit

Permalink
BLD: update build and runtime dependencies for numpy 2.0 (#715)
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 20138f6 commit 71d2281
Showing 1 changed file with 14 additions and 21 deletions.
35 changes: 14 additions & 21 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,23 +7,19 @@
[build-system]
build-backend = "mesonpy"
requires = [
"meson-python>=0.14.0",
"Cython>=0.29.35",
"meson-python>=0.15.0",
# The upper bound on Cython is pre-emptive. The conditional compilation
# with IF we use in Cython code is deprecated and will be removed from
# Cython at some point.
"Cython>=3.0.4,<3.1",

# 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,<2.3",
]

[project]
Expand All @@ -37,11 +33,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 +65,7 @@ lint.select = [
'UP',
'C4',
'E713',
'NPY201',
'PIE',
'PGH003',
'PLR0402',
Expand Down

0 comments on commit 71d2281

Please sign in to comment.