Skip to content

Commit

Permalink
Reword the PyPI limits rationale, based on feedback
Browse files Browse the repository at this point in the history
  • Loading branch information
warsaw committed Oct 2, 2024
1 parent 5a815bd commit b12bc7e
Showing 1 changed file with 10 additions and 14 deletions.
24 changes: 10 additions & 14 deletions peps/pep-0759.rst
Original file line number Diff line number Diff line change
Expand Up @@ -124,19 +124,15 @@ packages.
Addressing PyPI limits
----------------------

The problem *this* PEP solves is not just reduction or elimination of
dependency confusion attacks. There is another class of problem that a safe
external wheel hosting solution can mitigate: artifact size limits.

PyPI imposes a `default artifact size limit <https://pypi.org/help/#file-size-limit>`__ of
100 MiB and a default overall `project size limit
<https://pypi.org/help/#project-size-limit>`__ of 10 GiB. Most packages and artifacts can
easily fit in these limits, even for packages containing binary extension modules for a
variety of platforms. A small, but important class of packages routinely exceed these
limits, requiring them to submit PyPI support tickets `requesting higher limits`_. It's not
necessarily difficult to get resolution on such exceptions, but it is a special process
that can take some time to resolve, and the criteria for granting such exceptions aren't
well documented.
This proposal also addresses the problem of size limits imposed by PyPI, where there is a
`default artifact size limit <https://pypi.org/help/#file-size-limit>`__ of 100 MiB and a
default overall `project size limit <https://pypi.org/help/#project-size-limit>`__ of 10
GiB. Most packages and artifacts can easily fit in these limits, even for packages
containing binary extension modules for a variety of platforms. A small, but important
class of packages routinely exceed these limits, requiring them to submit PyPI `exception
request support tickets`_. It's not necessarily difficult to get resolution on such
exceptions, but it is a special process that can take some time to resolve, and the
criteria for granting such exceptions aren't well documented.

Reducing operational complexity
-------------------------------
Expand Down Expand Up @@ -459,7 +455,7 @@ Copyright
This document is placed in the public domain or under the
CC0-1.0-Universal license, whichever is more permissive.

.. _`requesting higher limits`: https://github.com/pypi/support/issues?q=is%3Aissue+is%3Aclosed+file+limit+request
.. _`exception request support tickets`: https://github.com/pypi/support/issues?q=is%3Aissue+is%3Aclosed+file+limit+request
.. _`wheel file naming format`: https://packaging.python.org/en/latest/specifications/binary-distribution-format/#file-format
.. _`allowed`: https://packaging.python.org/en/latest/specifications/binary-distribution-format/#the-dist-info-directory
.. _`signed wheel file format`: https://packaging.python.org/en/latest/specifications/binary-distribution-format/#signed-wheel-files
Expand Down

0 comments on commit b12bc7e

Please sign in to comment.