Skip to content

Commit 8e9677d

Browse files
authored
Merge pull request #1503 from joshuagl/joshuagl/readme-refactor
Add information about current project state/refactor to the README
2 parents c33096e + 089f01f commit 8e9677d

1 file changed

Lines changed: 32 additions & 5 deletions

File tree

README.md

Lines changed: 32 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,37 @@
99
This repository is the **reference implementation** of
1010
[The Update Framework (TUF)](https://theupdateframework.github.io/).
1111
It is written in Python and intended to conform to version 1.0 of the
12-
[TUF specification](https://github.com/theupdateframework/specification/blob/master/tuf-spec.md).
13-
This implementation is in use in production systems, but is also intended to be
14-
a readable guide and demonstration for those working on implementing TUF in
15-
their own languages, environments, or update systems.
12+
[TUF specification](https://theupdateframework.github.io/specification/latest/).
13+
14+
The repository currently includes two implementations:
15+
1) A *legacy implementation*, with
16+
[`tuf/client/updater.py`](tuf/client/updater.py) implementing the detailed
17+
client workflow and [`tuf/repository_tool.py`](tuf/repository_tool.py)
18+
providing a high-level interface for repository operations.
19+
The legacy implementation is in use in production systems, but is [no longer
20+
being actively worked on](docs/adr/0002-pre-1-0-deprecation-strategy.md).
21+
2) A *modern implementation*. We are in the process of rewriting the reference
22+
implementation in [modern Python](docs/adr/0001-python-version-3-6-plus.md)
23+
to both: a) address scalability and integration issues identified in
24+
supporting integration into the Python Package Index (PyPI), and other
25+
large-scale repositories, and b) to ensure maintainability of the project.
26+
This implementation consists of:
27+
* a "low-level" metadata API, designed to provide easy and safe access to
28+
TUF metadata and handle (de)serialization from/to files, provided in the
29+
[`tuf/api/metadata.py`](tuf/api/metadata.py) module.
30+
* an implementation of the detailed client workflow built on top of the
31+
metadata API, provided in the
32+
[`tuf/ngclient/updater.py`](tuf/ngclient/updater.py) module.
33+
The modern implementation is not considered production ready and does not yet
34+
provide any high-level support for implementing
35+
[repository operations](https://theupdateframework.github.io/specification/latest/#repository-operations),
36+
though the addition of API to support them is planned.
37+
38+
39+
40+
The reference implementation strives to be a readable guide and demonstration
41+
for those working on implementing TUF in their own languages, environments, or
42+
update systems.
1643

1744

1845
About The Update Framework
@@ -39,7 +66,7 @@ Please see the [TUF Introduction](docs/OVERVIEW.rst) and
3966
Documentation
4067
-------------
4168
* [Introduction to TUF's Design](docs/OVERVIEW.rst)
42-
* [The TUF Specification](https://github.com/theupdateframework/specification/blob/master/tuf-spec.md)
69+
* [The TUF Specification](https://theupdateframework.github.io/specification/latest/)
4370
* [Getting Started with the TUF Reference Implementation](docs/GETTING_STARTED.rst)
4471
* [Governance](docs/GOVERNANCE.md) and [Maintainers](docs/MAINTAINERS.txt)
4572
for the reference implementation

0 commit comments

Comments
 (0)