On Fri, 11 Aug 2023, Drew Parsons wrote: > ... > > But in any case PR18242 looks simple enough to backport to scipy 1.10.1 . > Would need to be tested first. Get cython3 into experimental so we can > check.
Dear Stefano, would you have time for such an endeavor? would be great and highly appreciated! > > - upstream has (and I don't think ever had) no upper bound > > > grep Cython pyproject.toml > > "Cython>=0.29.18", > ... > > CCing Drew Parsons maintaining scipy -- may be he could recall the need > > for upper bound or just make a verdict to drop that upper bound? > The upper bound for scipy is declared in its pyproject.toml, but you're > right it's not declared so in scipy git. > They often add an upper bound in the release tarballs. I think it's a > mechanism so keep released code more manageable, avoiding unanticipated > problems with future versions. ha -- I was not aware of such an act/approach. Just for completeness of understanding of the release process of scipy -- indeed: ❯ wget --quiet https://files.pythonhosted.org/packages/a6/98/fceb84466a74b8fe74ce2dcc3a0a89cb7b4a689d4775e0fb4c95f335ef6a/scipy-1.11.1.tar.gz ❯ tar -Oxf scipy-1.11.1.tar.gz scipy-1.11.1/pyproject.toml | grep Cython "Cython>=0.29.35,<3.0", # when updating version, also update check in meson.build and they do it as a part of the "release tag/branch" preparation process: ❯ git diff master...v1.11.0 -- pyproject.toml | head -n 20 diff --git a/pyproject.toml b/pyproject.toml index f3951dc82..ccab62aec 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -8,37 +8,164 @@ # "pybind11>=2.4.3,<2.5.0", [build-system] +build-backend = 'mesonpy' requires = [ - "wheel", - "setuptools", - "Cython>=0.29.18", - "pybind11>=2.4.3", - "pythran", + "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` in a release specific commit which looks like "done manually" (although I hope not) http://github.com/scipy/scipy/commit/fa053c5b6419267e52a75f11535608fb67c052db ❯ git show fa053c5b6419267e52a75f11535608fb67c052db pyproject.toml commit fa053c5b6419267e52a75f11535608fb67c052db Author: Tyler Reddy <tyler.je.re...@gmail.com> Date: Wed May 31 05:05:45 2023 -0600 MAINT: version bounds for 1.11.0rc1 (#18591) 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 [skip ci] diff --git a/pyproject.toml b/pyproject.toml index 940cb5760..ccab62aec 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.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 = [ interesting... didn't dig deeper -- Yaroslav O. Halchenko Center for Open Neuroscience http://centerforopenneuroscience.org Dartmouth College, 419 Moore Hall, Hinman Box 6207, Hanover, NH 03755 WWW: http://www.linkedin.com/in/yarik