1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128
|
[build-system]
requires = ["hatchling==1.27.0"]
build-backend = "hatchling.build"
[project]
name = "securesystemslib"
authors = [{name = "https://www.updateframework.com", email = "theupdateframework@googlegroups.com"}]
license = "MIT"
license-files = [ "LICENSE" ]
description = "A library that provides cryptographic and general-purpose routines for Secure Systems Lab projects at NYU"
readme = "README.md"
keywords = [
"cryptography",
"keys",
"signatures",
"rsa",
"ed25519",
"ecdsa",
]
classifiers = [
"Development Status :: 4 - Beta",
"Intended Audience :: Developers",
"Natural Language :: English",
"Operating System :: POSIX",
"Operating System :: POSIX :: Linux",
"Operating System :: MacOS :: MacOS X",
"Operating System :: Microsoft :: Windows",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: Implementation :: CPython",
"Topic :: Security",
"Topic :: Software Development",
]
requires-python = "~=3.8"
dynamic = ["version"]
[project.urls]
Homepage = "https://github.com/secure-systems-lab/securesystemslib"
Source = "https://github.com/secure-systems-lab/securesystemslib"
Issues = "https://github.com/secure-systems-lab/securesystemslib/issues"
[project.optional-dependencies]
crypto = ["cryptography>=40.0.0"]
gcpkms = ["google-cloud-kms", "cryptography>=40.0.0"]
azurekms = ["azure-identity", "azure-keyvault-keys", "cryptography>=40.0.0"]
awskms = ["boto3", "botocore", "cryptography>=40.0.0"]
hsm = ["asn1crypto", "cryptography>=40.0.0", "PyKCS11"]
PySPX = ["PySPX>=0.5.0"]
sigstore = ["sigstore~=3.0"]
vault = ["hvac", "cryptography>=40.0.0"]
[tool.hatch.version]
path = "securesystemslib/__init__.py"
[tool.hatch.build.targets.sdist]
include = [
"/tests",
"/securesystemslib",
"/requirements*.txt",
"/tox.ini",
"/CHANGELOG.md",
"/.coveragerc",
]
# Ruff section
[tool.ruff]
lint.select = [
"E", # ruff default
"F", # ruff default
"I", # isort: all
"PL", # pylint: all
"UP", # pyupgrade: all
"S", # flake8-bandit: all
"N", # pep8-naming: all
"RUF100" # ruff: find unused noqa
]
exclude = ["_vendor"]
indent-width = 4
[tool.ruff.lint.per-file-ignores]
"tests/*" = [
"S", # bandit: Not running bandit on tests
"E501" # line-too-long
]
[tool.mypy]
warn_unused_configs = "True"
warn_redundant_casts = "True"
warn_unused_ignores = "True"
warn_unreachable = "True"
strict_equality = "True"
disallow_untyped_defs = "True"
show_error_codes = "True"
exclude = [
"^securesystemslib/_vendor/",
"^securesystemslib/_gpg/",
"^securesystemslib/hash.py",
]
[[tool.mypy.overrides]]
module = [
# let's not install typeshed annotations for GCPSigner
"google.*",
# Suppress error messages for non-annotating dependencies
"PyKCS11.*",
"asn1crypto.*",
"sigstore_protobuf_specs.*",
"pyspx.*",
"azure.*",
"boto3.*",
"botocore.*",
"hvac.*",
]
ignore_missing_imports = "True"
[[tool.mypy.overrides]]
module = [
"securesystemslib._gpg.*",
"securesystemslib._vendor.*",
"securesystemslib.hash",
]
follow_imports = "skip"
|