python-tuf/tuf/ngclient
Jussi Kukkonen e1d15887a8 ngclient: Remove "Optional" from helper props
The properties in TrustedMetadataSet are a bit difficult to use
with static typing since they return Optional but in many cases
we know the "None"-case is impossible.

Remove None from annotation: the idea is that calling the property
getter too early is a programming error: it will result in KeyError
which is consistent:
 * trusted_set["timestamp"] raises KeyError if timestamp is not set
 * trusted_set.timestamp raises KeyError if timestamp is not set

Signed-off-by: Jussi Kukkonen <jkukkonen@google.com>
2022-12-27 16:56:32 +02:00
..
_internal ngclient: Remove "Optional" from helper props 2022-12-27 16:56:32 +02:00
__init__.py Provide __all__ for tuf.ngclient module 2022-12-20 00:17:31 +01:00
config.py Unify wording of docstrings language in ngclient 2022-02-11 14:51:51 +02:00
fetcher.py Merge branch 'theupdateframework:develop' into metaclass-fix 2022-12-27 16:28:43 +05:30
README.md Improve README 2021-07-05 10:45:19 +03:00
updater.py ngclient: Remove "Optional" from helper props 2022-12-27 16:56:32 +02:00

Next-gen TUF client for Python

This package provides modules for TUF client implementers.

tuf.ngclient.Updater is a class that implements the client workflow described in the TUF specification (see https://theupdateframework.github.io/specification/latest/#detailed-client-workflow)

tuf.ngclient.FetcherInterface is an abstract class that client implementers can implement a concrete class of in order to reuse their own networking/download libraries -- a Requests-based implementation is used by default.

This package:

  • Aims to be a clean, easy-to-validate reference client implementation written in modern Python
  • At the same time aims to be the library of choice for anyone implementing a TUF client in Python: light-weight, easy to integrate and with minimal required dependencies
  • Is still under development but is planned to become the default client in this implementation (i.e., the older tuf.client will be deprecated in the future)