Skip to content

Commit c657731

Browse files
authored
PEP 458: update references to python-tuf repo (#2240)
In preparation for the 1.0.0** release of the TUF reference implementation `python-tuf` documentation referenced in this PEP is being moved. This patch updates the corresponding links in the PEP. ** See https://github.com/theupdateframework/python-tuf/blob/059bfda391893a7e502ed3da5a185ab174e977dc/docs/1.0.0-ANNOUNCEMENT.md More specifically, the following link changes are performed: - METADATA.md to: metadata format section in TUF spec Note: alternatively this could link to the new location of METADATA.md (see theupdateframework/python-tuf#1769), but the spec seems like a better resource - TUTORIAL.md#repo-management to: new metadata API doc on readthedocs and new repo example/tutorial - TUTORIAL.md#lazy-bin-walk to: new hashed bin delegation example/tutorial - client implementation to: new client doc on readthedocs Signed-off-by: Lukas Puehringer <[email protected]>
1 parent 5cf65cf commit c657731

File tree

1 file changed

+12
-12
lines changed

1 file changed

+12
-12
lines changed

pep-0458.txt

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -85,8 +85,7 @@ to install or update projects from PyPI with TUF metadata. Package managers
8585
interested in adopting TUF on the client side may consult its `library
8686
documentation`__, which was created for this purpose.
8787

88-
__ https://github.com/theupdateframework/tuf/tree/v0.11.1/tuf/client#updaterpy
89-
88+
__ https://theupdateframework.readthedocs.io/en/stable/api/tuf.ngclient.html
9089

9190
Non-goals
9291
=========
@@ -373,11 +372,11 @@ from PyPI. TUF downloads them and checks them against the TUF metadata that it
373372
also downloads from the repository. If the downloaded target files are
374373
trustworthy, TUF then hands them over to the package manager.
375374

376-
The `Metadata`__ document provides information about each type of required
377-
metadata and its expected content. The next section covers the different
378-
kinds of metadata RECOMMENDED for PyPI.
375+
The `Document formats`__ section of the TUF specification provides information
376+
about each type of required metadata and its expected content. The next
377+
section covers the different kinds of metadata RECOMMENDED for PyPI.
379378

380-
__ https://github.com/theupdateframework/tuf/blob/v0.11.1/docs/METADATA.md
379+
__ https://theupdateframework.github.io/specification/latest/#document-formats
381380

382381
In addition, all target files SHOULD be available on disk at least two times.
383382
Once under their original filename, to provide backwards compatibility, and
@@ -509,11 +508,12 @@ that PyPI uses to produce snapshots that can safely coexist and be deleted
509508
independent of other snapshots [18]_.
510509

511510
Every year, PyPI administrators SHOULD sign for *root* and *targets* role keys.
512-
Automation will continuously sign for a timestamped snapshot of all projects.
513-
A `repository management`__ tool is available that can sign metadata files,
514-
generate cryptographic keys, and manage a TUF repository.
511+
Automation will continuously sign for a timestamped snapshot of all projects. A
512+
repository `Metadata API`__ is available that can be used to `manage a TUF
513+
repository`__.
515514

516-
__ https://github.com/theupdateframework/tuf/blob/v0.11.1/docs/TUTORIAL.md#how-to-create-and-modify-a-tuf-repository
515+
__ https://theupdateframework.readthedocs.io/en/stable/api/tuf.api.html
516+
__ https://github.com/theupdateframework/python-tuf/blob/v0.20.0/examples/repo_example/basic_repo.py
517517

518518
In standard operation, the *bin-n* metadata will be updated and signed as new
519519
distributions are uploaded to PyPI. However, there will also need to be a
@@ -611,14 +611,14 @@ grow correspondingly. For example, consider the *bins* role. In August 2013,
611611
it was found that the size of the *bins* metadata was about 42MB if the *bins*
612612
role itself signed for about 220K PyPI targets (which are simple indices and
613613
distributions). This PEP does not delve into the details, but TUF features a
614-
so-called "`lazy bin walk`__" scheme that splits a large targets metadata file
614+
so-called `"hashed bin delegation"`__ scheme that splits a large targets metadata file
615615
into many small ones. This allows a TUF client updater to intelligently
616616
download only a small number of TUF metadata files in order to update any
617617
project signed for by the *bins* role. For example, applying this scheme to
618618
the previous repository resulted in pip downloading between 1.3KB and 111KB to
619619
install or upgrade a PyPI project via TUF.
620620

621-
__ https://github.com/theupdateframework/tuf/blob/v0.11.1/docs/TUTORIAL.md#delegate-to-hashed-bins
621+
__ https://github.com/theupdateframework/python-tuf/blob/v0.20.0/examples/repo_example/hashed_bin_delegation.py
622622

623623
Based on our findings as of the time this document was updated for
624624
implementation (Nov 7 2019), summarized in Tables 2-3, PyPI SHOULD

0 commit comments

Comments
 (0)