pysentry-rs 0.3.4__cp313-cp313-macosx_11_0_arm64.whl → 0.3.6__cp313-cp313-macosx_11_0_arm64.whl
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.
Potentially problematic release.
This version of pysentry-rs might be problematic. Click here for more details.
- pysentry/_internal.cpython-313-darwin.so +0 -0
- {pysentry_rs-0.3.4.dist-info → pysentry_rs-0.3.6.dist-info}/METADATA +52 -7
- pysentry_rs-0.3.6.dist-info/RECORD +7 -0
- pysentry_rs-0.3.4.dist-info/RECORD +0 -7
- {pysentry_rs-0.3.4.dist-info → pysentry_rs-0.3.6.dist-info}/WHEEL +0 -0
- {pysentry_rs-0.3.4.dist-info → pysentry_rs-0.3.6.dist-info}/entry_points.txt +0 -0
- {pysentry_rs-0.3.4.dist-info → pysentry_rs-0.3.6.dist-info}/licenses/LICENSE +0 -0
|
Binary file
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pysentry-rs
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.6
|
|
4
4
|
Classifier: Development Status :: 4 - Beta
|
|
5
5
|
Classifier: Intended Audience :: Developers
|
|
6
6
|
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
|
|
@@ -27,18 +27,21 @@ Project-URL: Issues, https://github.com/nyudenkov/pysentry/issues
|
|
|
27
27
|
# 🐍 PySentry
|
|
28
28
|
|
|
29
29
|
[](https://google.github.io/osv.dev/)
|
|
30
|
+
[](https://pepy.tech/projects/pysentry-rs)
|
|
30
31
|
|
|
31
32
|
[Help to test and improve](https://github.com/nyudenkov/pysentry/issues/12) | [Latest PySentry - pip-audit benchmark](benchmarks/results/latest.md)
|
|
32
33
|
|
|
34
|
+
Please, send feedback to nikita@pysentry.com
|
|
35
|
+
|
|
33
36
|
A fast, reliable security vulnerability scanner for Python projects, written in Rust.
|
|
34
37
|
|
|
35
38
|
## Overview
|
|
36
39
|
|
|
37
|
-
PySentry audits Python projects for known security vulnerabilities by analyzing dependency files (`uv.lock`, `poetry.lock`, `pyproject.toml`, `requirements.txt`) and cross-referencing them against multiple vulnerability databases. It provides comprehensive reporting with support for various output formats and filtering options.
|
|
40
|
+
PySentry audits Python projects for known security vulnerabilities by analyzing dependency files (`uv.lock`, `poetry.lock`, `Pipfile.lock`, `pyproject.toml`, `Pipfile`, `requirements.txt`) and cross-referencing them against multiple vulnerability databases. It provides comprehensive reporting with support for various output formats and filtering options.
|
|
38
41
|
|
|
39
42
|
## Key Features
|
|
40
43
|
|
|
41
|
-
- **Multiple Project Formats**: Supports `uv.lock`, `poetry.lock`, `pyproject.toml`, and `requirements.txt` files
|
|
44
|
+
- **Multiple Project Formats**: Supports `uv.lock`, `poetry.lock`, `Pipfile.lock`, `pyproject.toml`, `Pipfile`, and `requirements.txt` files
|
|
42
45
|
- **External Resolver Integration**: Leverages `uv` and `pip-tools` for accurate requirements.txt constraint solving
|
|
43
46
|
- **Multiple Data Sources**:
|
|
44
47
|
- PyPA Advisory Database (default)
|
|
@@ -191,7 +194,7 @@ uvx pysentry-rs /path/to/python/project
|
|
|
191
194
|
pysentry
|
|
192
195
|
pysentry /path/to/python/project
|
|
193
196
|
|
|
194
|
-
# Automatically detects project type (uv.lock, poetry.lock, pyproject.toml, requirements.txt)
|
|
197
|
+
# Automatically detects project type (uv.lock, poetry.lock, Pipfile.lock, pyproject.toml, Pipfile, requirements.txt)
|
|
195
198
|
pysentry /path/to/project
|
|
196
199
|
|
|
197
200
|
# Force specific resolver
|
|
@@ -297,7 +300,8 @@ Add PySentry to your `.pre-commit-config.yaml`:
|
|
|
297
300
|
|
|
298
301
|
```yaml
|
|
299
302
|
repos:
|
|
300
|
-
- repo: https://github.com/
|
|
303
|
+
- repo: https://github.com/pysentry/pysentry-pre-commit
|
|
304
|
+
rev: v0.3.5
|
|
301
305
|
hooks:
|
|
302
306
|
- id: pysentry # default pysentry settings
|
|
303
307
|
```
|
|
@@ -306,7 +310,8 @@ repos:
|
|
|
306
310
|
|
|
307
311
|
```yaml
|
|
308
312
|
repos:
|
|
309
|
-
- repo: https://github.com/
|
|
313
|
+
- repo: https://github.com/pysentry/pysentry-pre-commit
|
|
314
|
+
rev: v0.3.5
|
|
310
315
|
hooks:
|
|
311
316
|
- id: pysentry
|
|
312
317
|
args: ["--sources", "pypa,osv", "--fail-on", "high"]
|
|
@@ -494,6 +499,46 @@ Full support for Poetry lock files:
|
|
|
494
499
|
- Handles Poetry's dependency groups and optional dependencies
|
|
495
500
|
- Perfect for Poetry-managed projects with established lock files
|
|
496
501
|
|
|
502
|
+
### Pipfile.lock Files
|
|
503
|
+
|
|
504
|
+
Full support for Pipenv lock files with exact version resolution:
|
|
505
|
+
|
|
506
|
+
- **Exact Version Resolution**: Scans exact dependency versions locked by Pipenv
|
|
507
|
+
- **Lock-File Only Analysis**: Relies purely on the lock file structure, no Pipfile parsing needed
|
|
508
|
+
- **Complete Dependency Tree**: Analyzes all resolved dependencies including transitive ones
|
|
509
|
+
- **Dependency Classification**: Distinguishes between default dependencies and development groups
|
|
510
|
+
|
|
511
|
+
**Key Features:**
|
|
512
|
+
|
|
513
|
+
- No external tools required
|
|
514
|
+
- Fast parsing with exact version information
|
|
515
|
+
- Handles Pipenv's dependency groups (default and develop)
|
|
516
|
+
- Perfect for Pipenv-managed projects with established lock files
|
|
517
|
+
|
|
518
|
+
### Pipfile Files (External Resolution)
|
|
519
|
+
|
|
520
|
+
Support for Pipfile specification files using external dependency resolvers:
|
|
521
|
+
|
|
522
|
+
**Key Features:**
|
|
523
|
+
|
|
524
|
+
- **Dependencies Resolution**: Converts version constraints from Pipfile to exact versions using mature external tools
|
|
525
|
+
- **Multiple Resolver Support**:
|
|
526
|
+
- **uv**: Rust-based resolver, extremely fast and reliable (recommended)
|
|
527
|
+
- **pip-tools**: Python-based resolver using `pip-compile`, widely compatible
|
|
528
|
+
- **Auto-detection**: Automatically detects and uses the best available resolver in your environment
|
|
529
|
+
- **Dependency Groups**: Supports both default packages and dev-packages sections
|
|
530
|
+
- **Complex Constraint Handling**: Supports version ranges, Git dependencies, and environment markers
|
|
531
|
+
|
|
532
|
+
**Resolution Workflow:**
|
|
533
|
+
|
|
534
|
+
1. Detects `Pipfile` in your project (when `Pipfile.lock` is not present)
|
|
535
|
+
2. Auto-detects available resolver (`uv` or `pip-tools`) in current environment
|
|
536
|
+
3. Resolves version constraints to exact dependency versions
|
|
537
|
+
4. Scans resolved dependencies for vulnerabilities
|
|
538
|
+
5. Reports findings with dependency group classification
|
|
539
|
+
|
|
540
|
+
**Note**: When both `Pipfile` and `Pipfile.lock` are present, PySentry prioritizes the lock file for better accuracy. Consider using `pipenv lock` to generate a lock file for the most precise vulnerability scanning.
|
|
541
|
+
|
|
497
542
|
### requirements.txt Files (External Resolution)
|
|
498
543
|
|
|
499
544
|
Advanced support for `requirements.txt` files using external dependency resolvers:
|
|
@@ -732,7 +777,7 @@ pysentry /path/to/python/project
|
|
|
732
777
|
pysentry --requirements requirements-dev.txt --requirements requirements-test.txt
|
|
733
778
|
|
|
734
779
|
# Check if higher-priority files exist (they take precedence)
|
|
735
|
-
ls uv.lock poetry.lock pyproject.toml
|
|
780
|
+
ls uv.lock poetry.lock Pipfile.lock pyproject.toml Pipfile requirements.txt
|
|
736
781
|
```
|
|
737
782
|
|
|
738
783
|
**Performance Issues**
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
pysentry/__init__.py,sha256=uSo2bKZNbcRd1bEXOzF3MuxrEapECowrIHG0t_DERa8,611
|
|
2
|
+
pysentry/_internal.cpython-313-darwin.so,sha256=AATNR2axK9tHQhZi-ZXuf1OJXQr3Zp5QeN8eBuU15lg,10607136
|
|
3
|
+
pysentry_rs-0.3.6.dist-info/METADATA,sha256=3NHzbMhclWGgf8oxZ5QIg4AncsKyYhJTLfj_BypwVDw,27698
|
|
4
|
+
pysentry_rs-0.3.6.dist-info/WHEEL,sha256=BEq5B3wYswoCWPV13YmTFE5pEXWgkinJwNC6mhIE-oI,104
|
|
5
|
+
pysentry_rs-0.3.6.dist-info/entry_points.txt,sha256=3bJguekVEbXTn-ceDCWJaSIZScquPPP1Ux9TPVHHanE,44
|
|
6
|
+
pysentry_rs-0.3.6.dist-info/licenses/LICENSE,sha256=TAMtDCoJuavXz7pCEklrzjH55sdvsy5gKsXY9NsImwY,34878
|
|
7
|
+
pysentry_rs-0.3.6.dist-info/RECORD,,
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
pysentry/__init__.py,sha256=uSo2bKZNbcRd1bEXOzF3MuxrEapECowrIHG0t_DERa8,611
|
|
2
|
-
pysentry/_internal.cpython-313-darwin.so,sha256=H1isQc6lQ9cdWBiuW3u-PgQ7FKNWhRMROEpJ8BrFNi4,10398192
|
|
3
|
-
pysentry_rs-0.3.4.dist-info/METADATA,sha256=9ZogMLPmkMOKIEojHs_gVXHCt_0YrZbCVkP3zyNKM6E,25394
|
|
4
|
-
pysentry_rs-0.3.4.dist-info/WHEEL,sha256=BEq5B3wYswoCWPV13YmTFE5pEXWgkinJwNC6mhIE-oI,104
|
|
5
|
-
pysentry_rs-0.3.4.dist-info/entry_points.txt,sha256=3bJguekVEbXTn-ceDCWJaSIZScquPPP1Ux9TPVHHanE,44
|
|
6
|
-
pysentry_rs-0.3.4.dist-info/licenses/LICENSE,sha256=TAMtDCoJuavXz7pCEklrzjH55sdvsy5gKsXY9NsImwY,34878
|
|
7
|
-
pysentry_rs-0.3.4.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|