-
Notifications
You must be signed in to change notification settings - Fork 569
fix: Remove ez_setup for compatibility with setuptools v82 #1268
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
base: trunk
Are you sure you want to change the base?
Conversation
xrmx
left a comment
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 is breaking opentelemetry-python-contrib CI, a release with this would be appreciated.
|
I also noticed this problem in our CI fro the ericsson/ecchronos project, if a quick release of this is possible it would be very much appreciated. |
Revert once apache/cassandra-python-driver#1268 is merged and released.
|
Oh Claude, once again your directions confuse me. The build failure snippet above references 3.29.3 suggesting that the issue applies to installs of a version already deployed on pypi while your test plan references 3.30.0 suggesting that it only applies to what's in git. 🤦 I've confirmed that package installs are only failing on Python 3.14. The following sequence works without issue on everything exception that version: Presumably 3.14 fails because we don't have wheels for 3.14 so you're forced to actually do a source build on package install. It's relevant here that 3.29.3 doesn't include 3.14 as a supported platform. sdist builds look like they might be a different story. Still doing some digging on that. |
Yeah. It's not a huge problem - in our case it also failed for 3.13 when we installed 3.29.1 - see for example https://github.com/apache/airflow/actions/runs/21804090800/job/62904899230#step:8:1365 - mostly because there were no 3.13 wheels in this version (and it did not support it "officially" - yet we we have >=3.29.1 as minimum specified as airlfow dependencies. The test where it failed was the "lowest dependency" test - so the test when we attempt to bring all dependencies to their minimum specified versions and we want to check that our tests are still passing with them. So even if 3.29.1 did not support 3.13 officially, we got it working there because we built it from sdist and ... it worked. I guess other people might have similar issues when they are installing older versions. Sadly - indeed - there is not much you can do for already released versions. They are immutable and they are what they are - and if people will want to use sdist to build "unsupported" version for 3.13 with sdist - they are able to do it and it will work as long as they apply workarounds. So, this is true that there is no urgency here, some CI failures will happen in edge cases here, most installations will work with binary wheels and there is already a workaround - especially if you use modern tool versions - like 25.3+ of It would however be great to get it fixed for the next release :) |
|
I updated Airflow provider spec to better support version/whl availability apache/airflow#61685 |
|
On top of the pkg_resources requirement this script is broken anyway: |
|
Hello, we see this failing when installing cassandra driver with poetry (python 3.11, poetry 2.3.0, poetry-core 2.3.0) |
Summary
Remove the legacy
ez_setup.pybootstrap script to fix build failures with setuptools >= 82.ez_setup.py: This 249-line script was a setuptools bootstrapper from circa 2013 that attempted to download setuptools 0.9.6 if not present. It importedpkg_resources, which was removed in setuptools v82 (2026-02-08), causingModuleNotFoundErrorduring builds.ez_setup.pyfromMANIFEST.in: Stop including the deleted file in source distributions.The script was already dead code —
setup.pydoes not import or call it. The project'spyproject.toml(added in CASSPYTHON-3) declaressetuptoolsas a build dependency, so any PEP 517-compliant build frontend (pip, uv, build) installs setuptools automatically, makingez_setup.pyunnecessary.Build failure before this change
Test plan
uv pip install -e .succeeds and compiles all C/Cython extensionspython -c 'import cassandra; print(cassandra.__version__)'prints3.30.0Generated-by: Claude Opus 4.6