Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MAINT: version bounds for 1.11.0rc1 #18591

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
3 changes: 3 additions & 0 deletions meson.build
Expand Up @@ -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
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This doesn't actually work exactly as intended unfortunately, because .version_compare does not deal with pre-releases. So a 3.0.0b3 version will choke on this check. Now, that may be intended since those pre-releases aren't really supported. However, the 3.0 release is expected soon and it actually does work. So I think we should remove this check again. We'll keep it in pyproject.toml, so by default users who pip install scipy and get a from-source build will get the latest 0.29.x version. But if they are explicitly using 3.0, let's let them do that.


_global_c_args = cc.get_supported_arguments(
'-Wno-unused-but-set-variable',
Expand Down
14 changes: 7 additions & 7 deletions pyproject.toml
Expand Up @@ -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
Expand Down Expand Up @@ -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.13"
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 = [
Expand Down
2 changes: 1 addition & 1 deletion scipy/__init__.py
Expand Up @@ -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
Expand Down
4 changes: 2 additions & 2 deletions setup.py
Expand Up @@ -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.13'
if IS_RELEASE_BRANCH:
req_np = 'numpy>={},<{}'.format(np_minversion, np_maxversion)
req_py = '>={},<{}'.format(python_minversion, python_maxversion)
Expand Down
2 changes: 1 addition & 1 deletion tools/version_utils.py
Expand Up @@ -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)


Expand Down