diff --git a/pyproject.toml b/pyproject.toml index 015b0a34..1b47efca 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -45,10 +45,9 @@ Issues = "https://github.com/secure-systems-lab/securesystemslib/issues" [project.optional-dependencies] crypto = ["cryptography>=37.0.0"] gcpkms = ["google-cloud-kms", "cryptography>=37.0.0"] +hsm = ["asn1crypto", "cryptography>=37.0.0", "PyKCS11"] pynacl = ["pynacl>1.2.0"] -PySPX = ["PySPX==0.5.0"] -asn1 = ["asn1crypto"] -pykcs11 = ["PyKCS11"] +PySPX = ["PySPX>=0.5.0"] [tool.hatch.version] path = "securesystemslib/__init__.py" diff --git a/requirements-pinned.txt b/requirements-pinned.txt index 16dc3774..3c1fc8eb 100644 --- a/requirements-pinned.txt +++ b/requirements-pinned.txt @@ -1,6 +1,6 @@ # -# This file is autogenerated by pip-compile with python 3.8 -# To update, run: +# This file is autogenerated by pip-compile with Python 3.10 +# by the following command: # # pip-compile --output-file=requirements-pinned.txt requirements.txt # @@ -11,7 +11,7 @@ cffi==1.15.1 # cryptography # pynacl # pyspx -cryptography==38.0.3 ; python_version >= "3" +cryptography==38.0.3 # via -r requirements.txt pycparser==2.21 # via cffi diff --git a/requirements.txt b/requirements.txt index 670c5b44..5e35f52f 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,37 +1,11 @@ -# All runtime requirements including extras (see 'install_requires' and -# 'extras_require' in setup.py) +# Requirements for full feature install (includes all optional dependencies). # # This file together with 'pip-compile' is used to generate a pinned # requirements file with all immediate and transitive dependencies. # # 'requirements-pinned.txt' is updated on GitHub with Dependabot, which # triggers CI/CD builds to automatically test against updated dependencies. -# -# Below instructions can be used to re-generate 'requirements-pinned.txt', e.g. -# if: -# - requirements are added or removed from this file -# - Python version support is changed -# - CI/CD build breaks due to updates (e.g. transitive dependency conflicts) -# -# 1. Use this script to create a pinned requirements file for each Python -# version -# ``` -# for v in 3.7 3.8 3.9; do -# mkvirtualenv sslib-env-${v} -p python${v}; -# pip install pip-tools; -# pip-compile --no-header -o requirements-${v}.txt requirements.txt; -# deactivate; -# rmvirtualenv sslib-env-${v}; -# done; -# -# ``` -# 2. Use this command to merge per-version files -# `sort -o requirements-pinned.txt -u requirements-?.?.txt` -# 2. Manually add environment markers to requirements-pinned.txt -# 3. Use this command to remove per-version files -# `rm requirements-?.?.txt` -# -cryptography >= 37.0.0; python_version >= '3' +cryptography >= 37.0.0 pynacl PySPX PyKCS11