pysentry-rs 0.3.7__cp310-cp310-macosx_11_0_arm64.whl → 0.3.11__cp310-cp310-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-310-darwin.so +0 -0
- {pysentry_rs-0.3.7.dist-info → pysentry_rs-0.3.11.dist-info}/METADATA +68 -20
- pysentry_rs-0.3.11.dist-info/RECORD +7 -0
- {pysentry_rs-0.3.7.dist-info → pysentry_rs-0.3.11.dist-info}/WHEEL +1 -1
- pysentry_rs-0.3.7.dist-info/RECORD +0 -7
- {pysentry_rs-0.3.7.dist-info → pysentry_rs-0.3.11.dist-info}/entry_points.txt +0 -0
- {pysentry_rs-0.3.7.dist-info → pysentry_rs-0.3.11.dist-info}/licenses/LICENSE +0 -0
|
Binary file
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pysentry-rs
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.11
|
|
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)
|
|
7
7
|
Classifier: Programming Language :: Rust
|
|
8
8
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
9
|
-
Classifier: Programming Language :: Python :: 3.8
|
|
10
9
|
Classifier: Programming Language :: Python :: 3.9
|
|
11
10
|
Classifier: Programming Language :: Python :: 3.10
|
|
12
11
|
Classifier: Programming Language :: Python :: 3.11
|
|
@@ -18,7 +17,7 @@ License-File: LICENSE
|
|
|
18
17
|
Summary: Security vulnerability auditing tool for Python packages
|
|
19
18
|
Author-email: nyudenkov <nyudenkov@pm.me>
|
|
20
19
|
License: GPL-3.0
|
|
21
|
-
Requires-Python: >=3.
|
|
20
|
+
Requires-Python: >=3.9
|
|
22
21
|
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
|
|
23
22
|
Project-URL: Homepage, https://github.com/nyudenkov/pysentry
|
|
24
23
|
Project-URL: Repository, https://github.com/nyudenkov/pysentry
|
|
@@ -79,7 +78,7 @@ This method:
|
|
|
79
78
|
|
|
80
79
|
### 📦 From PyPI (Python Package)
|
|
81
80
|
|
|
82
|
-
For Python 3.
|
|
81
|
+
For Python 3.9+ on Linux, macOS, and Windows:
|
|
83
82
|
|
|
84
83
|
```bash
|
|
85
84
|
pip install pysentry-rs
|
|
@@ -130,22 +129,21 @@ The binary will be available at `target/release/pysentry`.
|
|
|
130
129
|
|
|
131
130
|
### Requirements
|
|
132
131
|
|
|
133
|
-
- **For uvx**: Python 3.
|
|
132
|
+
- **For uvx**: Python 3.9+ and [uv](https://docs.astral.sh/uv/) installed
|
|
134
133
|
- **For binaries**: No additional dependencies
|
|
135
|
-
- **For Python package**: Python 3.
|
|
134
|
+
- **For Python package**: Python 3.9+
|
|
136
135
|
- **For Rust package and source**: Rust 1.79+
|
|
137
136
|
|
|
138
137
|
### Platform Support
|
|
139
138
|
|
|
140
139
|
| Installation Method | Linux | macOS | Windows |
|
|
141
140
|
| ------------------- | ----- | ----- | ------- |
|
|
142
|
-
| uvx | ✅ | ✅ |
|
|
143
|
-
| PyPI (pip) | ✅ | ✅ |
|
|
141
|
+
| uvx | ✅ | ✅ | ✅ |
|
|
142
|
+
| PyPI (pip) | ✅ | ✅ | ✅ |
|
|
144
143
|
| Crates.io (cargo) | ✅ | ✅ | ✅ |
|
|
145
144
|
| GitHub Releases | ✅ | ✅ | ✅ |
|
|
146
145
|
| From Source | ✅ | ✅ | ✅ |
|
|
147
146
|
|
|
148
|
-
**Note**: Windows Python wheels are not available due to compilation complexity. Windows users should use the pre-built binary from GitHub releases, install via cargo and build from source.
|
|
149
147
|
|
|
150
148
|
### CLI Command Names
|
|
151
149
|
|
|
@@ -201,8 +199,8 @@ pysentry /path/to/project
|
|
|
201
199
|
pysentry --resolver uv /path/to/project
|
|
202
200
|
pysentry --resolver pip-tools /path/to/project
|
|
203
201
|
|
|
204
|
-
#
|
|
205
|
-
pysentry --
|
|
202
|
+
# Exclude extra dependencies (only check main dependencies)
|
|
203
|
+
pysentry --exclude-extra
|
|
206
204
|
|
|
207
205
|
# Filter by severity (only show high and critical)
|
|
208
206
|
pysentry --severity high
|
|
@@ -214,8 +212,8 @@ pysentry --format json --output audit-results.json
|
|
|
214
212
|
### Advanced Usage
|
|
215
213
|
|
|
216
214
|
```bash
|
|
217
|
-
# Using uvx for comprehensive audit
|
|
218
|
-
uvx pysentry-rs --
|
|
215
|
+
# Using uvx for comprehensive audit (extras included by default)
|
|
216
|
+
uvx pysentry-rs --format sarif --output security-report.sarif
|
|
219
217
|
|
|
220
218
|
# Check multiple vulnerability sources concurrently
|
|
221
219
|
uvx pysentry-rs --sources pypa,osv,pypi /path/to/project
|
|
@@ -227,14 +225,17 @@ uvx pysentry-rs --format markdown --output security-report.md
|
|
|
227
225
|
# Control CI exit codes - only fail on critical vulnerabilities
|
|
228
226
|
uvx pysentry-rs --fail-on critical
|
|
229
227
|
|
|
230
|
-
# Or with installed binary
|
|
231
|
-
pysentry --
|
|
228
|
+
# Or with installed binary (extras included by default)
|
|
229
|
+
pysentry --format sarif --output security-report.sarif
|
|
232
230
|
pysentry --sources pypa,osv --direct-only
|
|
233
231
|
pysentry --format markdown --output security-report.md
|
|
234
232
|
|
|
235
233
|
# Ignore specific vulnerabilities
|
|
236
234
|
pysentry --ignore CVE-2023-12345 --ignore GHSA-xxxx-yyyy-zzzz
|
|
237
235
|
|
|
236
|
+
# Ignore unfixable vulnerabilities (only while they have no fix available)
|
|
237
|
+
pysentry --ignore-while-no-fix CVE-2025-8869
|
|
238
|
+
|
|
238
239
|
# Disable caching for CI environments
|
|
239
240
|
pysentry --no-cache
|
|
240
241
|
|
|
@@ -280,8 +281,8 @@ pysentry --sources pypa,pypi,osv --format json --output prod-security.json
|
|
|
280
281
|
# Generate markdown report for GitHub issues/PRs
|
|
281
282
|
pysentry --format markdown --output SECURITY-REPORT.md
|
|
282
283
|
|
|
283
|
-
# Comprehensive audit with all sources and full reporting
|
|
284
|
-
pysentry --sources pypa,pypi,osv --
|
|
284
|
+
# Comprehensive audit with all sources and full reporting (extras included by default)
|
|
285
|
+
pysentry --sources pypa,pypi,osv --format json --fail-on low
|
|
285
286
|
|
|
286
287
|
# CI environment with fresh resolution cache
|
|
287
288
|
pysentry --clear-resolution-cache --sources pypa,osv --format sarif
|
|
@@ -301,7 +302,7 @@ Add PySentry to your `.pre-commit-config.yaml`:
|
|
|
301
302
|
```yaml
|
|
302
303
|
repos:
|
|
303
304
|
- repo: https://github.com/pysentry/pysentry-pre-commit
|
|
304
|
-
rev: v0.3.
|
|
305
|
+
rev: v0.3.7
|
|
305
306
|
hooks:
|
|
306
307
|
- id: pysentry # default pysentry settings
|
|
307
308
|
```
|
|
@@ -311,7 +312,7 @@ repos:
|
|
|
311
312
|
```yaml
|
|
312
313
|
repos:
|
|
313
314
|
- repo: https://github.com/pysentry/pysentry-pre-commit
|
|
314
|
-
rev: v0.3.
|
|
315
|
+
rev: v0.3.7
|
|
315
316
|
hooks:
|
|
316
317
|
- id: pysentry
|
|
317
318
|
args: ["--sources", "pypa,osv", "--fail-on", "high"]
|
|
@@ -360,8 +361,18 @@ color = "auto"
|
|
|
360
361
|
|
|
361
362
|
[ignore]
|
|
362
363
|
ids = ["CVE-2023-12345", "GHSA-xxxx-yyyy-zzzz"]
|
|
364
|
+
while_no_fix = ["CVE-2025-8869"]
|
|
365
|
+
|
|
366
|
+
[http]
|
|
367
|
+
timeout = 120
|
|
368
|
+
connect_timeout = 30
|
|
369
|
+
max_retries = 3
|
|
370
|
+
retry_initial_backoff = 1
|
|
371
|
+
retry_max_backoff = 60
|
|
372
|
+
show_progress = true
|
|
363
373
|
```
|
|
364
374
|
|
|
375
|
+
|
|
365
376
|
### Environment Variables
|
|
366
377
|
|
|
367
378
|
| Variable | Description | Example |
|
|
@@ -377,10 +388,11 @@ ids = ["CVE-2023-12345", "GHSA-xxxx-yyyy-zzzz"]
|
|
|
377
388
|
| `--severity` | Minimum severity: `low`, `medium`, `high`, `critical` | `low` |
|
|
378
389
|
| `--fail-on` | Fail (exit non-zero) on vulnerabilities ≥ severity | `medium` |
|
|
379
390
|
| `--sources` | Vulnerability sources: `pypa`, `pypi`, `osv` (multiple) | `pypa` |
|
|
380
|
-
| `--
|
|
391
|
+
| `--exclude-extra` | Exclude extra dependencies (dev, optional, etc) | `false` |
|
|
381
392
|
| `--direct-only` | Check only direct dependencies | `false` |
|
|
382
393
|
| `--detailed` | Show full vulnerability descriptions instead of truncated | `false` |
|
|
383
394
|
| `--ignore` | Vulnerability IDs to ignore (repeatable) | `[]` |
|
|
395
|
+
| `--ignore-while-no-fix` | Ignore vulnerabilities only while no fix is available | `[]` |
|
|
384
396
|
| `--output` | Output file path | `stdout` |
|
|
385
397
|
| `--no-cache` | Disable all caching | `false` |
|
|
386
398
|
| `--cache-dir` | Custom cache directory | Platform-specific |
|
|
@@ -749,6 +761,42 @@ curl -I https://osv-vulnerabilities.storage.googleapis.com/
|
|
|
749
761
|
# Try with different or multiple sources
|
|
750
762
|
pysentry --sources pypi
|
|
751
763
|
pysentry --sources pypa,osv
|
|
764
|
+
|
|
765
|
+
# For slow or unstable networks, increase timeout and retries
|
|
766
|
+
# Create/edit .pysentry.toml in your project:
|
|
767
|
+
```
|
|
768
|
+
|
|
769
|
+
```toml
|
|
770
|
+
[http]
|
|
771
|
+
timeout = 300 # 5 minute timeout
|
|
772
|
+
max_retries = 5 # More retry attempts
|
|
773
|
+
retry_max_backoff = 120 # Longer backoff delays
|
|
774
|
+
```
|
|
775
|
+
|
|
776
|
+
```bash
|
|
777
|
+
# Then run again
|
|
778
|
+
pysentry
|
|
779
|
+
```
|
|
780
|
+
|
|
781
|
+
**Network timeout errors:**
|
|
782
|
+
|
|
783
|
+
PySentry includes automatic retry with exponential backoff for network issues. If you still experience timeouts:
|
|
784
|
+
|
|
785
|
+
```bash
|
|
786
|
+
# Increase timeout values in config
|
|
787
|
+
pysentry config init --output .pysentry.toml
|
|
788
|
+
# Edit .pysentry.toml and adjust [http] section
|
|
789
|
+
```
|
|
790
|
+
|
|
791
|
+
**Rate limiting (HTTP 429 errors):**
|
|
792
|
+
|
|
793
|
+
PySentry automatically handles rate limiting. If rate limits persist:
|
|
794
|
+
|
|
795
|
+
```toml
|
|
796
|
+
[http]
|
|
797
|
+
max_retries = 5 # More attempts
|
|
798
|
+
retry_initial_backoff = 5 # Longer initial wait
|
|
799
|
+
retry_max_backoff = 300 # Up to 5 minute backoff
|
|
752
800
|
```
|
|
753
801
|
|
|
754
802
|
**Slow requirements.txt resolution**
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
pysentry/__init__.py,sha256=uSo2bKZNbcRd1bEXOzF3MuxrEapECowrIHG0t_DERa8,611
|
|
2
|
+
pysentry/_internal.cpython-310-darwin.so,sha256=RqlTbS9YCtSPusTTC9PntY0hnTNQFXZ7UX-YwNcUwhk,10301792
|
|
3
|
+
pysentry_rs-0.3.11.dist-info/METADATA,sha256=rXrtq3H-c9OE4lnLNf6I839Z0zB4MsVfO4S6-J8lFH0,28785
|
|
4
|
+
pysentry_rs-0.3.11.dist-info/WHEEL,sha256=aXz49xVjjC2bkgTnE4xcanfAmG9wdfNG_Q2OldK7oKM,104
|
|
5
|
+
pysentry_rs-0.3.11.dist-info/entry_points.txt,sha256=3bJguekVEbXTn-ceDCWJaSIZScquPPP1Ux9TPVHHanE,44
|
|
6
|
+
pysentry_rs-0.3.11.dist-info/licenses/LICENSE,sha256=TAMtDCoJuavXz7pCEklrzjH55sdvsy5gKsXY9NsImwY,34878
|
|
7
|
+
pysentry_rs-0.3.11.dist-info/RECORD,,
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
pysentry/__init__.py,sha256=uSo2bKZNbcRd1bEXOzF3MuxrEapECowrIHG0t_DERa8,611
|
|
2
|
-
pysentry/_internal.cpython-310-darwin.so,sha256=aXclnsLWMF7PBTFMjrLm1p-Z6r84Vt2LkfEqDeQnWSc,10784608
|
|
3
|
-
pysentry_rs-0.3.7.dist-info/METADATA,sha256=Z7Gt0YF-GsWvIknYohKcqjEZhHR9EmdUg-23JymLPm4,27728
|
|
4
|
-
pysentry_rs-0.3.7.dist-info/WHEEL,sha256=XiGjjeJC2k7oCSYs1QNLi9iFDhofhstbUV6w7vMmp_k,104
|
|
5
|
-
pysentry_rs-0.3.7.dist-info/entry_points.txt,sha256=3bJguekVEbXTn-ceDCWJaSIZScquPPP1Ux9TPVHHanE,44
|
|
6
|
-
pysentry_rs-0.3.7.dist-info/licenses/LICENSE,sha256=TAMtDCoJuavXz7pCEklrzjH55sdvsy5gKsXY9NsImwY,34878
|
|
7
|
-
pysentry_rs-0.3.7.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|