Skip to content

Commit

Permalink
Reword the intro to the specifications section, and other improvements
Browse files Browse the repository at this point in the history
  • Loading branch information
warsaw committed Oct 2, 2024
1 parent b12bc7e commit 6f692c0
Showing 1 changed file with 13 additions and 8 deletions.
21 changes: 13 additions & 8 deletions peps/pep-0759.rst
Original file line number Diff line number Diff line change
Expand Up @@ -158,11 +158,12 @@ This PEP proposes an approach that favors such operational simplicity.
Specification
=============

A new type of uploadable file is defined, called a "RIM" (i.e. ``.rim``) file, so named to
evoke the image of a wheel with the tire removed, and backronymed to "Remote Installable
Metadata" files. ``.rim`` files are easily derivable from wheels, and the process of
turning a wheel into a ``.rim`` is outlined below. The file name format exactly matches
the `wheel file naming format`_ specification, except that RIM files use the suffix
A new type of uploadable file is defined, called a "RIM" (i.e. ``.rim``), or "Remote
Installable Metadata" file. The name evokes the image of a wheel with the tire removed,
and emphasizes that ``.rim`` files are easily derived from ``.whl`` files. The process of
turning a ``.whl`` into a ``.rim`` is :ref:`outlined below <dismounting>`. The file name
format exactly matches the :ref:`wheel file naming format
<packaging:wheel-file-name-spec>` specification, except that RIM files use the suffix
``.rim``. This means that all the tags used to discriminate ``.whl`` files also
distinguish between different ``.rim`` files, and thus can be used during dependency
resolution steps, exactly as ``.whl`` files are today. In this respect, ``.whl`` and
Expand All @@ -182,12 +183,13 @@ This is a JSON file contains containing the following keys:
This is the file format version, which for this PEP **MUST** be ``1.0``.
``owner``
This **MUST** name the PyPI organization owner of this externally hosted file, for
reasons which will be described in detail below.
reasons which will be described in :ref:`detail below <resiliency>`.
``uri``
This is a single URL naming the location of the physical ``.whl`` file hosted on an
external site. This URL **MUST** use the ``https`` scheme.
``size``
This is an integer value describing the size in bytes of the physical ``.whl`` file.
This is an integer value describing the size in bytes of the physical ``.whl`` file on
the remote host.
``hashes``
This is a dictionary of the format described in :pep:`694`, used to capture both the
:pep:`694#upload-each-file` of the physical ``.whl`` file, with the same
Expand Down Expand Up @@ -247,6 +249,8 @@ repository version`_ is not necessary. Since ``.rim`` files are essentially chan
to the upload API, package resolvers and package installers can continue to function with
the APIs they've always supported.

.. _resiliency:

External hosting resiliency
===========================

Expand Down Expand Up @@ -303,6 +307,8 @@ provide a useful error message to the end user:
downloaded. Please contact [email protected] for help. Do not report
this to the PyPI administrators.

.. _dismounting:

Dismounting wheels
==================

Expand Down Expand Up @@ -456,7 +462,6 @@ This document is placed in the public domain or under the
CC0-1.0-Universal license, whichever is more permissive.

.. _`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
.. _`simple repository API`: https://packaging.python.org/en/latest/specifications/simple-repository-api/#
Expand Down

0 comments on commit 6f692c0

Please sign in to comment.