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

Add oldest-supported-numpy #18982

Closed
wants to merge 3 commits into from
Closed

Add oldest-supported-numpy #18982

wants to merge 3 commits into from

Conversation

jan-janssen
Copy link
Member

@jan-janssen jan-janssen commented May 17, 2022

Checklist

  • Title of this PR is meaningful: e.g. "Adding my_nifty_package", not "updated meta.yaml".
  • License file is packaged (see here for an example).
  • Source is from official source.
  • Package does not vendor other packages. (If a package uses the source of another package, they should be separate packages or the licenses of all packages need to be packaged).
  • If static libraries are linked in, the license of the static library is packaged.
  • Build number is 0.
  • A tarball (url) rather than a repo (e.g. git_url) is used in your recipe (see here for more details).
  • GitHub users listed in the maintainer section have posted a comment confirming they are willing to be listed there.
  • When in trouble, please check our knowledge base documentation before pinging a team.

@conda-forge-linter
Copy link

Hi! This is the friendly automated conda-forge-linting service.

I wanted to let you know that I linted all conda-recipes in your PR (recipes/oldest-supported-numpy) and found some lint.

Here's what I've got...

For recipes/oldest-supported-numpy:

  • The top level meta keys are in an unexpected order. Expecting ['package', 'source', 'build', 'requirements', 'test', 'about', 'extra'].

@conda-forge-linter
Copy link

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipes/oldest-supported-numpy) and found it was in an excellent condition.

@jan-janssen
Copy link
Member Author

Basically all this package does is setting the Numpy requirements via pip:

	numpy==1.16.0; python_version=='3.5' and platform_system=='AIX'
	numpy==1.16.0; python_version=='3.6' and platform_system=='AIX'
	numpy==1.16.0; python_version=='3.7' and platform_system=='AIX'
	
	numpy==1.18.5; python_version=='3.5' and platform_machine=='aarch64' and platform_python_implementation != 'PyPy'
	numpy==1.19.2; python_version=='3.6' and platform_machine=='aarch64' and platform_python_implementation != 'PyPy'
	numpy==1.19.2; python_version=='3.7' and platform_machine=='aarch64' and platform_python_implementation != 'PyPy'
	numpy==1.19.2; python_version=='3.8' and platform_machine=='aarch64' and platform_python_implementation != 'PyPy'
	
	numpy==1.21.0; python_version=='3.7' and platform_machine=='arm64' and platform_system=='Darwin'
	numpy==1.21.0; python_version=='3.8' and platform_machine=='arm64' and platform_system=='Darwin'
	numpy==1.21.0; python_version=='3.9' and platform_machine=='arm64' and platform_system=='Darwin'
	
	numpy==1.17.5; python_version=='3.8' and platform_machine=='s390x' and platform_python_implementation != 'PyPy'
	
	numpy==1.22.0; platform_machine=='loongarch64'
	
	numpy==1.13.3; python_version=='3.5' and platform_machine!='aarch64' and platform_machine!='loongarch64' and platform_system!='AIX'
	numpy==1.13.3; python_version=='3.6' and platform_machine!='aarch64' and platform_machine!='loongarch64' and platform_system!='AIX' and platform_python_implementation != 'PyPy'
	numpy==1.14.5; python_version=='3.7' and (platform_machine!='arm64' or platform_system!='Darwin') and platform_machine!='aarch64' and platform_machine!='loongarch64' and platform_system!='AIX' and platform_python_implementation != 'PyPy'
	numpy==1.17.3; python_version=='3.8' and (platform_machine!='arm64' or platform_system!='Darwin') and platform_machine!='aarch64' and platform_machine!='s390x' and platform_machine!='loongarch64' and platform_python_implementation != 'PyPy'
	numpy==1.19.3; python_version=='3.9' and (platform_machine!='arm64' or platform_system!='Darwin') and platform_machine!='loongarch64' and platform_python_implementation != 'PyPy'
	numpy==1.21.6; python_version=='3.10' and platform_machine!='loongarch64' and platform_python_implementation != 'PyPy'
	
	numpy==1.19.0; python_version=='3.6' and platform_machine!='loongarch64' and platform_python_implementation=='PyPy'
	numpy==1.20.0; python_version=='3.7' and platform_machine!='loongarch64' and platform_python_implementation=='PyPy'
	
	numpy; python_version>='3.11'
	numpy; python_version>='3.8' and platform_python_implementation=='PyPy'

This is not necessary for conda - but as some packages start to reply on oldest-supported-numpy this package is basically a meta package with no content.

@jan-janssen
Copy link
Member Author

@conda-forge/help-python What is the best way to implement these requirements on the conda side?

@isuruf
Copy link
Member

isuruf commented May 17, 2022

This should not be needed for conda. The linked error is fixed by pypa/pip#11117

@jan-janssen
Copy link
Member Author

At the moment the pip check fails:

oldest-supported-numpy 2022.4.18 has requirement numpy==1.17.3; python_version == "3.8" and (platform_machine != "arm64" or platform_system != "Darwin") and platform_machine != "aarch64" and platform_machine != "s390x" and platform_machine != "loongarch64" and platform_python_implementation != "PyPy", but you have numpy 1.22.3.

@jan-janssen
Copy link
Member Author

jan-janssen commented May 17, 2022

I thought about something like:

    - numpy =1.16.0  # [py <= 3.7 and python_impl == 'pypy']
    - numpy =1.18.5  # [py <= 3.5 and python_impl == 'cpython']
    - numpy =1.19.2  # [py <= 3.8 and python_impl == 'cpython' and aarch64]
    - numpy =1.21.0  # [py <= 3.9 and python_impl == 'cpython' and arm64]
    - numpy =1.17.3  # [py38]
    - numpy =1.19.3  # [py39]
    - numpy =1.21.6  # [py310]
    - numpy =1.17.3  # [py36 and python_impl == 'pypy']
    - numpy =1.19.3  # [py37 and python_impl == 'pypy']

@jakirkham
Copy link
Member

Was wondering if upstream planned to cut a release ( pypa/pip#11117 (comment) ), which we could then just use

That said, if that's not going to happen soon, we can just rebuild pip with that patch

This pull request was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

Successfully merging this pull request may close these issues.

None yet

4 participants