This PEP recommends deprecating and then disabling new uploads of the bdist_egg
distribution type on PyPI. In a parallel move, this PEP recommends deprecating and then disabling new uploads of distribution filenames that have the .egg
suffix.
After this PEP, PyPI will only accept new uploads of the sdist
and bdist_wheel
types, corresponding to files with .tar.gz
/.zip
and .whl
suffixes respectively.
This PEP does not recommend removing or otherwise affecting any previously uploaded bdist_egg
distributions or files with the .egg
suffix.
The groundwork for this proposal was established with PEP 527, which proposed deprecating and eventually removing upload support for a handful of un(der)used file extensions and distribution types.
In particular, PEP 527 proposed the removal of the bdist_dumb
, bdist_rpm
, bdist_dmg
, bdist_msi
, and bdist_wininst
distribution types, as well as the .tar
, .tar.bz2
, .tar.xz
, .tar.Z
, .tgz
, and .tbz
file extensions on distribution filenames.
PEP 527 was fully enacted with PR #7529 to Warehouse, which was merged on 13 April 2020.
Thebdist_egg
format
The bdist_egg
filetype identifies distributions in the egg format. The egg format was introduced by setuptools in 2004 and is roughly equivalent in functionality to the wheel format first introduced by PEP 427 in 2012 as the standardized format for built distributions.
Despite its longevity, the egg format has had limited adoption on PyPI. Some observations from that issue:
bdist_egg
uploads accounted for 0.2% of all distribution uploads to PyPI;pip
deprecated its --egg
option in 2016;setuptools
has considered egg support deprecated since 2019;build
only supports the sdist
and bdist_wheel
filetypes.Given the above, this PEP proposes the removal of the bdist_egg
format under the same justifications presented in PEP 527, namely:
This PEP additionally offers an argument for removal rooted in standardization and duplication: the egg format is not standardized by any PEP or other community standard, and overlaps heavily with its standardized and well-supported alternative (wheel).
The.egg
file extension
The .egg
file extension is used exclusively for distributions of the bdist_egg
format. As such, it serves no purpose in a scenario where PyPI disables new distribution uploads for bdist_egg
distributions.
This PEP does NOT propose removing any existing files from PyPI, only disallowing new ones from being uploaded.
PyPI will provide a deprecation period of one month. At the beginning of the deprecation period, maintainers of projects that have uploaded one or more egg distributions since 1 Jan 2023 will receive a one-time email informing them of the upcoming end of support for egg distribution uploads.
During the deprecation period, users will continue to be allowed to upload egg distributions to new and existing projects. Uploading an egg distribution during this period will also send all maintainers of the project a similar email as above, reminding them of the upcoming end of support.
After the deprecation period, support for uploading egg distributions will cease to exist on PyPI.
Prior ArtThe removal process above was based on that of PEP 527, with the following changes:
As noted in the rationale section, this PEP is expected to have no impact on the overwhelming majority of PyPI users and projects, and there has been substantial community coordination over the past 1 1/2 years to minimize the impact on the few last use cases.
Hosted FilesThis PEP does NOT propose the removal of any egg distributions that have already been uploaded to PyPI. All previously uploaded egg distributions will remain downloadable, ensuring that existing users will continue to be able to download them.
Deprecation PeriodThis PEP uses the removal process documented above, which specifies a deprecation period of 1 month for projects that have previously uploaded egg distributions to PyPI.
After the end of the deprecation period, support for uploading new egg distributions will cease to exist on PyPI.
Security ImplicationsThis PEP does not identify any positive or negative security implications associated with removing upload support for egg distributions.
How To Teach ThisAs part of the removal process, PyPI will send emails to all maintainers of projects that have previously uploaded egg distributions in 2023.
Additionally, PyPI will write a post on the PyPI blog that publicly announces the deprecation period’s start and end.
CopyrightThis document is placed in the public domain or under the CC0-1.0-Universal license, whichever is more permissive.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4