-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Depend on CFFI 2.0.0 or newer on Python > 3.8 #13448
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
Conversation
pyproject.toml
Outdated
| "cffi>=1.14; platform_python_implementation != 'PyPy' and python_version < '3.14'", | ||
| "cffi>=2.0.0; platform_python_implementation != 'PyPy' and python_version >= '3.14'", | ||
| "cffi>=1.14; platform_python_implementation != 'PyPy' and python_version == '3.8'", | ||
| "cffi>=2.0.0; platform_python_implementation != 'PyPy' and python_version > '3.9'", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this should be >=, right?
| "cffi>=2.0.0; platform_python_implementation != 'PyPy' and python_version >= '3.14'", | ||
| "cffi>=1.14; platform_python_implementation != 'PyPy' and python_version == '3.8'", | ||
| "cffi>=2.0.0; platform_python_implementation != 'PyPy' and python_version > '3.9'", | ||
| # Must be kept in sync with ./.github/requirements/build-requirements.{in,txt} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
these files need to be updated for this
| setuptools!=74.0.0 | ||
| cffi>=1.12; platform_python_implementation != 'PyPy' and python_version < '3.14' | ||
| cffi>=2.0.0; platform_python_implementation != 'PyPy' and python_version >= '3.14' | ||
| cffi>=1.12; platform_python_implementation != 'PyPy' and python_version == '3.8' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| cffi>=1.12; platform_python_implementation != 'PyPy' and python_version == '3.8' | |
| cffi>=1.14; platform_python_implementation != 'PyPy' and python_version == '3.8' |
|
Should I add a changelog entry for the new minimum CFFI version? |
|
nah |
|
This is a pretty strict version pin; Are there any other solutions to the above-mentioned issue that don't involve such a restrictive version pin? |
|
Does 46.0.0 work for you? The version bound was only py314 there. More broadly, I’m not aware of a good answer to this situation, only tradeoffs to choose between. There is no way to express free threaded only dependencies and pip additionally has a constraint where it does not consider pre-release to match >=3.14. Once 3.14 is out we could consider shifting the pin back up to 3.14 but technically that’s still incorrect since we only need it on 3.14t. Separately, cffi 2.0 is not a semantic versioned library though so compatibility should not be an issue and libraries bounding <2 are under a misapprehension. That said, I imagine you aren’t setting that bound, it’s some other dep. |
|
(Let's move this discussion to #13468 so it's all in one place. Thanks!) |
To hopefully fix the issue with CFFI 2.0.0 not installing on Python 3.14 under pip because it's a prerelease.