pyvulscan 0.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,10 @@
1
+ # Python-generated files
2
+ __pycache__/
3
+ *.py[oc]
4
+ build/
5
+ dist/
6
+ wheels/
7
+ *.egg-info
8
+
9
+ # Virtual environments
10
+ .venv
@@ -0,0 +1 @@
1
+ 3.14
File without changes
@@ -0,0 +1,91 @@
1
+ Metadata-Version: 2.4
2
+ Name: pyvulscan
3
+ Version: 0.1.0
4
+ Summary: Vulnerability scanner for Python dependencies using the OSV API
5
+ Project-URL: Homepage, https://github.com/statspyml/pyau
6
+ Project-URL: Issues, https://github.com/statspyml/pyau/issues
7
+ Author-email: Rodrigo Polverari <rodrigo.pp.toledo@gmail.com>
8
+ License: MIT
9
+ License-File: LICENSE
10
+ Keywords: audit,dependencies,osv,security,vulnerabilities
11
+ Classifier: Development Status :: 3 - Alpha
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: License :: OSI Approved :: MIT License
14
+ Classifier: Programming Language :: Python :: 3.11
15
+ Classifier: Programming Language :: Python :: 3.12
16
+ Classifier: Programming Language :: Python :: 3.13
17
+ Classifier: Topic :: Security
18
+ Requires-Python: >=3.11
19
+ Requires-Dist: cvss>=2.6
20
+ Requires-Dist: requests>=2.28.0
21
+ Provides-Extra: dev
22
+ Requires-Dist: httpx>=0.27; extra == 'dev'
23
+ Requires-Dist: mypy>=1.10; extra == 'dev'
24
+ Requires-Dist: pytest-asyncio>=0.23; extra == 'dev'
25
+ Requires-Dist: pytest>=8.0; extra == 'dev'
26
+ Requires-Dist: ruff>=0.4; extra == 'dev'
27
+ Provides-Extra: mcp
28
+ Requires-Dist: fastmcp>=0.1; extra == 'mcp'
29
+ Provides-Extra: service
30
+ Requires-Dist: alembic>=1.13; extra == 'service'
31
+ Requires-Dist: apscheduler>=3.10; extra == 'service'
32
+ Requires-Dist: fastapi>=0.110; extra == 'service'
33
+ Requires-Dist: psycopg2-binary>=2.9; extra == 'service'
34
+ Requires-Dist: sqlalchemy>=2.0; extra == 'service'
35
+ Requires-Dist: uvicorn[standard]>=0.29; extra == 'service'
36
+ Description-Content-Type: text/markdown
37
+
38
+ # pyau
39
+
40
+ Vulnerability scanner for Python dependencies using the [OSV API](https://osv.dev/).
41
+
42
+ Supports `uv.lock`, `poetry.lock`, `pyproject.toml`, and `requirements.txt` — no environment activation needed.
43
+
44
+ ## Install
45
+
46
+ ```bash
47
+ pip install pyau
48
+ ```
49
+
50
+ ## Usage
51
+
52
+ ```bash
53
+ # Auto-detect lockfile in current project
54
+ pyau pyproject.toml
55
+
56
+ # Scan only direct dependencies (not transitive)
57
+ pyau pyproject.toml --direct-only
58
+
59
+ # Scan a specific lockfile
60
+ pyau uv.lock
61
+ pyau poetry.lock
62
+
63
+ # JSON output (for CI/CD integration)
64
+ pyau pyproject.toml --json
65
+
66
+ # Exit with code 1 if vulnerabilities found (CI gate)
67
+ pyau pyproject.toml --exit-code
68
+
69
+ # Include dev dependencies (Poetry only)
70
+ pyau pyproject.toml --group main --group dev
71
+ ```
72
+
73
+ ## How it works
74
+
75
+ 1. Parses your lockfile to get exact resolved versions
76
+ 2. Sends a single batch request to the OSV API
77
+ 3. Fetches full details (severity, fix version) for each vulnerability found
78
+ 4. Reports findings with CVSS score, label, and recommended fix version
79
+
80
+ ## Development
81
+
82
+ ```bash
83
+ # Install with dev dependencies
84
+ pip install -e ".[dev]"
85
+
86
+ # Run tests
87
+ pytest tests/
88
+
89
+ # Lint
90
+ ruff check src/
91
+ ```
@@ -0,0 +1,54 @@
1
+ # pyau
2
+
3
+ Vulnerability scanner for Python dependencies using the [OSV API](https://osv.dev/).
4
+
5
+ Supports `uv.lock`, `poetry.lock`, `pyproject.toml`, and `requirements.txt` — no environment activation needed.
6
+
7
+ ## Install
8
+
9
+ ```bash
10
+ pip install pyau
11
+ ```
12
+
13
+ ## Usage
14
+
15
+ ```bash
16
+ # Auto-detect lockfile in current project
17
+ pyau pyproject.toml
18
+
19
+ # Scan only direct dependencies (not transitive)
20
+ pyau pyproject.toml --direct-only
21
+
22
+ # Scan a specific lockfile
23
+ pyau uv.lock
24
+ pyau poetry.lock
25
+
26
+ # JSON output (for CI/CD integration)
27
+ pyau pyproject.toml --json
28
+
29
+ # Exit with code 1 if vulnerabilities found (CI gate)
30
+ pyau pyproject.toml --exit-code
31
+
32
+ # Include dev dependencies (Poetry only)
33
+ pyau pyproject.toml --group main --group dev
34
+ ```
35
+
36
+ ## How it works
37
+
38
+ 1. Parses your lockfile to get exact resolved versions
39
+ 2. Sends a single batch request to the OSV API
40
+ 3. Fetches full details (severity, fix version) for each vulnerability found
41
+ 4. Reports findings with CVSS score, label, and recommended fix version
42
+
43
+ ## Development
44
+
45
+ ```bash
46
+ # Install with dev dependencies
47
+ pip install -e ".[dev]"
48
+
49
+ # Run tests
50
+ pytest tests/
51
+
52
+ # Lint
53
+ ruff check src/
54
+ ```
@@ -0,0 +1,6 @@
1
+ def main():
2
+ print("Hello from pyau!")
3
+
4
+
5
+ if __name__ == "__main__":
6
+ main()