@@ -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