-
-
Notifications
You must be signed in to change notification settings - Fork 19
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
Drop Python 3.8 support and loosen runtime NumPy pin #107
Conversation
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 ( Here's what I've got... For recipe:
|
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 ( |
just passing by and though I would cross reference the discussion in: conda-forge/conda-forge-pinning-feedstock#4816 you might have something to share there about your usecase. |
I doubt that the use case is general enough to make it a default across the ecosystem. We are seeing environments on the client side that have upper pins on NumPy. A common package that used to introduce such pins is |
@cbourjau Can you please rebase this? It doesn't look like it correctly compiles. |
…nda-forge-pinning 2024.03.13.12.29.10
5455296
to
35d43c7
Compare
Ideological review: I don't think we should be spending open source resources going beyond the scope of SPEC0 https://scientific-python.org/specs/spec-0000/ Generally speaking, maintainer time is invaluable, and I want to actively discourage maintaining too much backward compatibility. It is a real strain on developers. According to SPEC0 we should:
My general feeling is that the time we spend here as an open source community updating workflows to stay compatible with numpy 1.19 and python 3.9 is better spent fixing the underlying issues that make users require Though, I understand that this is not practical at times. Given that conda-forge's pinnings are already lower than SPEC0, I would encourage we wait until the conversation is resolved in conda-forge/conda-forge-pinning-feedstock#4816 Many of your users will be trying to co-install:
and will be hit with the same incompatibility matrix as before. (/rant over) A practical reviewA note, this feedstock would be the first that I see using the numpy compatibility stuff in conda-forge. I would suggest in the test section, to depend on the "old numpys" you think you are compatible with: I've done this kind of "test matrix" before with The test I envision looks something like
I would make sure of two things:
I hope this helps. (edit: grammar) |
@hmaarrfk Thanks for the thorough feedback and sorry for the radio silence! I ran into some intricate issues with multiple NumPy version bounds being introduced. This endeavor did turn into more work than anticipated which probably give yet more credence to your little rant. I am re-evaluating if it is indeed worth the trouble. |
We are now building with NumPy 2.0 (#120), which lowers the NumPy pin as intended by this PR for |
NumPy started with version 1.25 to default to a C-API which is compatible with older versions of NumPy - namely 1.19. This is great because it allows us to have a more lenient lower bound on the NumPy version than what we have today. However, NumPy 1.25 is not supported on Python 3.8. Rather than introducing a special case for Python 3.8 I think it is reasonable to simply drop support for Python 3.8 which will simultaneously slim down our huge build matrix.
Checklist
0
(if the version changed)conda-smithy
(Use the phrase@conda-forge-admin, please rerender
in a comment in this PR for automated rerendering)