Skip to content

Commit 502496b

Browse files
committed
Address more review comments
1 parent f0258e8 commit 502496b

File tree

1 file changed

+19
-13
lines changed

1 file changed

+19
-13
lines changed

peps/pep-0770.rst

Lines changed: 19 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,6 @@ frameworks.
2929
This PEP proposes using SBOM documents included in Python packages as a
3030
means to improve automated software measurability for Python packages.
3131

32-
The changes will update the
33-
`Core Metadata specification <coremetadataspec_>`__ to version 2.5.
34-
3532
Motivation
3633
==========
3734

@@ -155,13 +152,19 @@ begin emitting the new metadata version, again wait for releases, and only then
155152
can projects begin using the new features. Even with this careful approach it's
156153
not guaranteed that tools won't break on new metadata versions and fields.
157154

158-
To avoid this delay, this PEP proposes a new mechanism ``[additional-files]``
159-
to safely add data to a Python package through a registry of reserved names that
155+
To avoid this delay, simplify overall how to include SBOMs, and to give
156+
flexibility to build backends and tools, this PEP proposes a new top-level table
157+
in ``pyproject.toml``, ``[additional-files]``, to safely add data to a Python
158+
package through a registry of reserved names that
160159
avoids the need for new metadata fields and versions. This mechanism allows
161160
build backends and tools to begin using the features described in this PEP
162161
immediately after acceptance without the head-of-line blocking on other
163162
projects adopting the PEP.
164163

164+
A new top-level table was chosen over using the ``[project]`` table because,
165+
as described in :pep:`621`, the ``[project]`` table is used for storing core
166+
metadata and this mechanism doesn't use core metadata.
167+
165168
What are the differences between PEP 770 and PEP 725?
166169
-----------------------------------------------------
167170

@@ -172,8 +175,8 @@ software within Python packaging metadata. This section aims to show how these
172175
two PEPs are tracking different information and serving different use-cases:
173176

174177
* PEP 725 describes **abstract dependencies**, such as requiring "a C compiler"
175-
as a build-time dependency (``virtual:compiler/c``) or an "OpenSSL-like
176-
library" (``pkg:generic/openssl``). PEP 770 describes
178+
as a build-time dependency (``virtual:compiler/c``) or needing to link "the
179+
OpenSSL library" at build time (``pkg:generic/openssl``). PEP 770 describes
177180
**concrete dependencies**, more akin to dependencies in a "lock file", such as
178181
an exact name, version, architecture, and
179182
hash of a software library distributed through AlmaLinux distribution
@@ -241,14 +244,17 @@ the ``.dist-info`` directory for the :term:`distribution archive`
241244
and :term:`installed project` s project types. Future additions to this registry
242245
will be made through the PEP process. The initial values in this registry are:
243246

244-
================= ==========
245-
Subdirectory name PEP
246-
================= ==========
247+
================= ==============
248+
Subdirectory name PEP / Standard
249+
================= ==============
247250
``licenses`` :pep:`639`
248-
``license_files`` N/A (See :ref:`770-backwards-compat`)
249-
``LICENSES`` N/A (See :ref:`770-backwards-compat`)
251+
``license_files`` :pep:`639` (draft-only)
252+
``LICENSES`` `REUSE licensing framework <https://reuse.software>`__
250253
``sboms`` :pep:`770`
251-
================= ==========
254+
================= ==============
255+
256+
See :ref:`770-backwards-compat` for a complete methodology for
257+
creating this initial set of values to avoid backwards incompatibility issues.
252258

253259
.. _770-spec-project-source-metadata:
254260

0 commit comments

Comments
 (0)