From 8585dd6ad6e6eada6478fa4752cef23bbdbcb59b Mon Sep 17 00:00:00 2001 From: Tyler Reddy Date: Tue, 30 May 2023 15:18:48 -0600 Subject: [PATCH] MAINT: version bounds for 1.11.0rc1 * the version bounds are easy to mess up--the reference conversation from the last release is linked below: https://github.com/scipy/scipy/pull/17569 * the adjustment of version strings to include i.e., `rc1` is normally left to the `REL` commit proper during the release process --- meson.build | 3 +++ pyproject.toml | 14 +++++++------- scipy/__init__.py | 2 +- setup.py | 4 ++-- tools/version_utils.py | 2 +- 5 files changed, 14 insertions(+), 11 deletions(-) diff --git a/meson.build b/meson.build index 02e50433aaff..ece9051effb7 100644 --- a/meson.build +++ b/meson.build @@ -53,6 +53,9 @@ endif if not cy.version().version_compare('>=0.29.35') error('SciPy requires Cython >= 0.29.35') endif +if not cy.version().version_compare('<3.0') + error('SciPy requires Cython < 3.0') +endif _global_c_args = cc.get_supported_arguments( '-Wno-unused-but-set-variable', diff --git a/pyproject.toml b/pyproject.toml index 940cb5760b06..2c8a92ff7cd8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -10,13 +10,13 @@ [build-system] build-backend = 'mesonpy' requires = [ - "meson-python>=0.12.1", - "Cython>=0.29.35", # when updating version, also update check in meson.build - "pybind11>=2.10.4", - "pythran>=0.12.0", + "meson-python>=0.12.1,<0.14.0", # already working with 0.13.x series at branch time + "Cython>=0.29.35,<3.0", # when updating version, also update check in meson.build + "pybind11>=2.10.4,<2.11.0", + "pythran>=0.12.0<0.14.0", # already working with 0.13.x series at branch time # `wheel` is needed for non-isolated builds, given that `meson-python` # doesn't list it as a runtime requirement (at least in 0.5.0) - "wheel", + "wheel<0.41.0", # NumPy dependencies - to update these, sync from # https://github.com/scipy/oldest-supported-numpy/, and then @@ -62,11 +62,11 @@ maintainers = [ # Note: Python and NumPy upper version bounds should be set correctly in # release branches, see: # https://scipy.github.io/devdocs/dev/core-dev/index.html#version-ranges-for-numpy-and-other-dependencies -requires-python = ">=3.9" +requires-python = ">=3.9,<3.12" dependencies = [ # TODO: update to "pin-compatible" once possible, see # https://github.com/FFY00/meson-python/issues/29 - "numpy>=1.21.6", + "numpy>=1.21.6,<1.28.0", ] readme = "README.rst" classifiers = [ diff --git a/scipy/__init__.py b/scipy/__init__.py index d19ba83a54a1..93857c3db40e 100644 --- a/scipy/__init__.py +++ b/scipy/__init__.py @@ -125,7 +125,7 @@ # In maintenance branch, change to np_maxversion N+3 if numpy is at N # See setup.py for more details np_minversion = '1.21.6' - np_maxversion = '9.9.99' + np_maxversion = '1.28.0' if (_pep440.parse(__numpy_version__) < _pep440.Version(np_minversion) or _pep440.parse(__numpy_version__) >= _pep440.Version(np_maxversion)): import warnings diff --git a/setup.py b/setup.py index 745f47a5f50a..e1c24e41e152 100755 --- a/setup.py +++ b/setup.py @@ -450,9 +450,9 @@ def setup_package(): # in N+1 will turn into errors in N+3 # For Python versions, if releases is (e.g.) <=3.9.x, set bound to 3.10 np_minversion = '1.21.6' - np_maxversion = '9.9.99' + np_maxversion = '1.28.0' python_minversion = '3.9' - python_maxversion = '3.11' + python_maxversion = '3.12' if IS_RELEASE_BRANCH: req_np = 'numpy>={},<{}'.format(np_minversion, np_maxversion) req_py = '>={},<{}'.format(python_minversion, python_maxversion) diff --git a/tools/version_utils.py b/tools/version_utils.py index 5d1b9dbf0a4b..63c89b086762 100644 --- a/tools/version_utils.py +++ b/tools/version_utils.py @@ -7,7 +7,7 @@ MINOR = 11 MICRO = 0 ISRELEASED = False -IS_RELEASE_BRANCH = False +IS_RELEASE_BRANCH = True VERSION = '%d.%d.%d' % (MAJOR, MINOR, MICRO)