Skip to content

Commit 2ecf748

Browse files
authored
Merge pull request #1853 from sethmlarson/pep-770
Add PEP 770 to specifications
2 parents 39490e4 + cff79d7 commit 2ecf748

File tree

2 files changed

+31
-1
lines changed

2 files changed

+31
-1
lines changed

source/specifications/binary-distribution-format.rst

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -253,6 +253,20 @@ The .dist-info directory
253253
installation will fail if any file in the archive is not both
254254
mentioned and correctly hashed in RECORD.
255255

256+
Subdirectories in :file:`.dist-info/`
257+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
258+
259+
Subdirectories under :file:`.dist-info/` are reserved for future use.
260+
The following subdirectory names under :file:`.dist-info/` are reserved for specific usage:
261+
262+
================= ==============
263+
Subdirectory name PEP / Standard
264+
================= ==============
265+
``licenses`` :pep:`639`
266+
``license_files`` :pep:`639`
267+
``LICENSES`` `REUSE licensing framework <https://reuse.software>`__
268+
``sboms`` :pep:`770`
269+
================= ==============
256270

257271
The :file:`.dist-info/licenses/` directory
258272
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -263,6 +277,12 @@ fields is specified, the :file:`.dist-info/` directory MUST contain a
263277
``License-File`` fields in the :file:`METADATA` file at their respective paths
264278
relative to the :file:`licenses/` directory.
265279

280+
The :file:`.dist-info/sboms/` directory
281+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
282+
283+
All files contained within the :file:`.dist-info/sboms/` directory MUST
284+
be Software Bill-of-Materials (SBOM) files that describe software contained
285+
within the distribution archive.
266286

267287
The .data directory
268288
^^^^^^^^^^^^^^^^^^^

source/specifications/recording-installed-packages.rst

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,10 +66,11 @@ The ``METADATA`` file is mandatory.
6666
All other files may be omitted at the installing tool's discretion.
6767
Additional installer-specific files may be present.
6868

69-
This :file:`.dist-info/` directory may contain the following directory, described in
69+
This :file:`.dist-info/` directory may contain the following directories, described in
7070
detail below:
7171

7272
* :file:`licenses/`: contains license files.
73+
* :file:`sboms/`: contains Software Bill-of-Materials files (SBOMs).
7374

7475
.. note::
7576

@@ -235,6 +236,15 @@ the :file:`METADATA` file at their respective paths relative to the
235236
Any files in this directory MUST be copied from wheels by the install tools.
236237

237238

239+
The :file:`sboms/` subdirectory
240+
==================================
241+
242+
All files contained within the :file:`.dist-info/sboms/` directory MUST
243+
be Software Bill-of-Materials (SBOM) files that describe software contained
244+
within the installed package.
245+
Any files in this directory MUST be copied from wheels by the install tools.
246+
247+
238248
Intentionally preventing changes to installed packages
239249
======================================================
240250

0 commit comments

Comments
 (0)