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 8649a52
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 8649a52

Please sign in to comment.