Recent Disruptive Changes from Setuptools
a year ago
- #Python
- #Packaging
- #Setuptools
- Setuptools version 78.0.1 introduced a breaking change by enforcing stricter validation on setup.cfg files, particularly around hyphen vs. underscore usage in key names.
- The change broke around 12,000 packages, including popular ones like Requests, leading to rapid rollback in version 78.0.2.
- Setuptools has a history of disruptive changes, with previous versions causing issues for projects like Astropy and PyTorch.
- The Python packaging ecosystem's complexity means breaking changes in build tools like Setuptools can have widespread ripple effects.
- Criticism focused on the lack of communication around deprecations and the decision to remove hyphen support without broader ecosystem impact assessment.
- Discussions highlighted the need for better processes to handle deprecations in build backends and improve visibility of warnings to end users.
- Alternatives like uv and pip's --break-system-packages flag were mentioned as potential solutions to mitigate similar issues in the future.