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        

Reply via email to