This PEP recommends deprecating and then disabling new uploads of thebdist_egg distribution type on PyPI. In a parallel move, this PEP recommendsdeprecating and then disabling new uploads of distribution filenames that havethe.egg suffix.
After this PEP, PyPI will only accept new uploads of thesdistandbdist_wheel types, corresponding to files with.tar.gz/.zip and.whl suffixes respectively.
This PEP does not recommend removing or otherwise affecting any previouslyuploadedbdist_egg distributions or files with the.egg suffix.
The groundwork for this proposal was established withPEP 527, whichproposed deprecating and eventually removing upload support for a handfulof un(der)used file extensions and distribution types.
In particular,PEP 527 proposed the removal of thebdist_dumb,bdist_rpm,bdist_dmg,bdist_msi, andbdist_wininst distributiontypes, as well as the.tar,.tar.bz2,.tar.xz,.tar.Z,.tgz, and.tbz file extensions on distribution filenames.
PEP 527 was fully enacted withPR #7529 to Warehouse,which was merged on 13 April 2020.
bdist_egg formatThebdist_egg filetype identifies distributions in theegg format. Theegg format was introduced by setuptools in 2004 and is roughly equivalentin functionality to thewheel formatfirst introduced byPEP 427 in 2012asthe standardized formatforbuilt distributions.
Despite its longevity, the egg format has hadlimited adoption on PyPI.Some observations from that issue:
bdist_egg uploads accounted for 0.2% of alldistribution uploads to PyPI;pip deprecated its--egg option in 2016;setuptools has considered egg support deprecated since 2019;build only supports thesdist andbdist_wheel filetypes.Given the above, this PEP proposes the removal of thebdist_egg formatunder the same justifications presented inPEP 527, namely:
This PEPadditionally offers an argument for removal rooted instandardization and duplication: the egg format is not standardized by anyPEP or other community standard, and overlaps heavily with its standardizedand well-supported alternative (wheel).
.egg file extensionThe.egg file extension is used exclusively for distributions of thebdist_egg format. As such, it serves no purpose in a scenario wherePyPI disables new distribution uploads forbdist_egg distributions.
This PEP doesNOT propose removing any existing files from PyPI, onlydisallowing new ones from being uploaded.
PyPI will provide a deprecation period of one month. At the beginningof the deprecation period, maintainers of projects that have uploaded one ormore egg distributions since 1 Jan 2023 will receive a one-time email informingthem of the upcoming end of support for egg distribution uploads.
During the deprecation period, users will continue to be allowed to upload eggdistributions to new and existing projects. Uploading an egg distributionduring this period will also send all maintainers of the projecta similar email as above, reminding them of the upcoming end of support.
After the deprecation period, support for uploading egg distributions willcease to exist on PyPI.
The removal process above was based on that ofPEP 527, with the followingchanges:
As noted in the rationale section, this PEP is expected to have no impacton the overwhelming majority of PyPI users and projects, and there has beensubstantial community coordinationover the past 1 1/2 years to minimize the impact on the few last use cases.
This PEP doesNOT propose the removal of any egg distributions that havealready been uploaded to PyPI. All previously uploaded egg distributions willremain downloadable, ensuring that existing users will continue to be ableto download them.
This PEP uses the removal process documented above, which specifiesa deprecation period of 1 month for projects that have previously uploadedegg distributions to PyPI.
After the end of the deprecation period, support for uploading new eggdistributions will cease to exist on PyPI.
This PEP does not identify any positive or negative security implicationsassociated with removing upload support for egg distributions.
As part of the removal process, PyPI will send emails to all maintainers ofprojects that have previously uploaded egg distributions in 2023.
Additionally, PyPI will write a post on thePyPI blog that publicly announces the deprecationperiod’s start and end.
This document is placed in the public domain or under theCC0-1.0-Universal license, whichever is more permissive.
Source:https://github.com/python/peps/blob/main/peps/pep-0715.rst
Last modified:2025-02-01 08:55:40 GMT