@@ -14,6 +14,8 @@ dependencies = [
1414 " packaging" ,
1515 " pyasn1 ~= 0.6" ,
1616 " pydantic >= 2.10.0" ,
17+ " requests" ,
18+ " rfc3986" ,
1719 " sigstore >= 3.5.3, < 3.7" ,
1820 " sigstore-protobuf-specs" ,
1921]
@@ -28,7 +30,7 @@ test = ["pytest", "pytest-cov", "pretend", "coverage[toml]"]
2830lint = [
2931 # NOTE: ruff is under active development, so we pin conservatively here
3032 # and let Dependabot periodically perform this update.
31- " ruff ~= 0.2 " ,
33+ " ruff ~= 0.9 " ,
3234 " mypy >= 1.0" ,
3335 " types-html5lib" ,
3436 " types-requests" ,
@@ -39,6 +41,8 @@ lint = [
3941]
4042dev = [" pypi-attestations[doc,test,lint]" , " build" ]
4143
44+ [project .scripts ]
45+ pypi-attestations = " pypi_attestations._cli:main"
4246
4347[project .urls ]
4448Homepage = " https://pypi.org/project/pypi-attestations"
@@ -51,7 +55,7 @@ name = "pypi_attestations"
5155
5256[tool .coverage .run ]
5357# don't attempt code coverage for the CLI entrypoints
54- omit = [" src/pypi_attestations/_cli.py " , " src/pypi_attestations/ __main__.py" ]
58+ omit = [" src/pypi_attestations/__main__.py" ]
5559
5660[tool .mypy ]
5761mypy_path = " src"
@@ -80,11 +84,10 @@ target-version = "py39"
8084
8185[tool .ruff .lint ]
8286select = [" E" , " F" , " I" , " W" , " UP" , " ANN" , " D" , " COM" , " ISC" , " TCH" , " SLF" ]
83- # ANN101 and ANN102 are deprecated
8487# D203 and D213 are incompatible with D211 and D212 respectively.
8588# COM812 and ISC001 can cause conflicts when using ruff as a formatter.
8689# See https://docs.astral.sh/ruff/formatter/#conflicting-lint-rules.
87- ignore = [" ANN101 " , " ANN102 " , " D203" , " D213" , " COM812" , " ISC001" ]
90+ ignore = [" D203" , " D213" , " COM812" , " ISC001" ]
8891# Needed since Pydantic relies on runtime type annotations, and we target Python versions
8992# < 3.10. See https://docs.astral.sh/ruff/rules/non-pep604-annotation/#why-is-this-bad
9093pyupgrade.keep-runtime-typing = true
@@ -104,7 +107,6 @@ pyupgrade.keep-runtime-typing = true
104107exclude = [
105108 " env" ,
106109 " test" ,
107- " src/pypi_attestations/_cli.py" ,
108110 " src/pypi_attestations/__main__.py" ,
109111]
110112ignore-semiprivate = true
0 commit comments