pysentry-rs 0.3.10__cp310-cp310-win_amd64.whl → 0.3.12__cp310-cp310-win_amd64.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.cp310-win_amd64.pyd +0 -0
- {pysentry_rs-0.3.10.dist-info → pysentry_rs-0.3.12.dist-info}/METADATA +75 -22
- pysentry_rs-0.3.12.dist-info/RECORD +7 -0
- {pysentry_rs-0.3.10.dist-info → pysentry_rs-0.3.12.dist-info}/WHEEL +1 -1
- pysentry_rs-0.3.10.dist-info/RECORD +0 -7
- {pysentry_rs-0.3.10.dist-info → pysentry_rs-0.3.12.dist-info}/entry_points.txt +0 -0
- {pysentry_rs-0.3.10.dist-info → pysentry_rs-0.3.12.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.12
|
|
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)
|
|
@@ -78,7 +78,7 @@ This method:
|
|
|
78
78
|
|
|
79
79
|
### 📦 From PyPI (Python Package)
|
|
80
80
|
|
|
81
|
-
For Python 3.9
|
|
81
|
+
For Python 3.9-3.14 on Linux, macOS, and Windows:
|
|
82
82
|
|
|
83
83
|
```bash
|
|
84
84
|
pip install pysentry-rs
|
|
@@ -129,20 +129,23 @@ The binary will be available at `target/release/pysentry`.
|
|
|
129
129
|
|
|
130
130
|
### Requirements
|
|
131
131
|
|
|
132
|
-
- **For uvx**: Python 3.9
|
|
132
|
+
- **For uvx**: Python 3.9-3.14 and [uv](https://docs.astral.sh/uv/) installed
|
|
133
133
|
- **For binaries**: No additional dependencies
|
|
134
|
-
- **For Python package**: Python 3.9
|
|
134
|
+
- **For Python package**: Python 3.9-3.14
|
|
135
135
|
- **For Rust package and source**: Rust 1.79+
|
|
136
136
|
|
|
137
137
|
### Platform Support
|
|
138
138
|
|
|
139
|
-
| Installation Method | Linux | macOS | Windows |
|
|
140
|
-
| ------------------- |
|
|
141
|
-
| uvx | ✅
|
|
142
|
-
| PyPI (pip) | ✅
|
|
143
|
-
| Crates.io (cargo) | ✅
|
|
144
|
-
| GitHub Releases | ✅
|
|
145
|
-
| From Source | ✅
|
|
139
|
+
| Installation Method | Linux (x64) | Linux (ARM64) | macOS (x64) | macOS (ARM64) | Windows (x64) |
|
|
140
|
+
| ------------------- | ----------- | ------------- | ----------- | ------------- | ------------- |
|
|
141
|
+
| uvx | ✅ | ✅ | ✅ | ✅ | ✅ |
|
|
142
|
+
| PyPI (pip) | ✅ | ✅ | ✅ | ✅ | ✅ |
|
|
143
|
+
| Crates.io (cargo) | ✅ | ✅ | ✅ | ✅ | ✅ |
|
|
144
|
+
| GitHub Releases | ✅ | ✅ | ✅ | ✅ | ✅ |
|
|
145
|
+
| From Source | ✅ | ✅ | ✅ | ✅ | ✅ |
|
|
146
|
+
|
|
147
|
+
**Supported Python Versions**: 3.9, 3.10, 3.11, 3.12, 3.13, 3.14
|
|
148
|
+
**Supported Architectures**: x86_64 (x64), ARM64 (aarch64)
|
|
146
149
|
|
|
147
150
|
|
|
148
151
|
### CLI Command Names
|
|
@@ -199,8 +202,8 @@ pysentry /path/to/project
|
|
|
199
202
|
pysentry --resolver uv /path/to/project
|
|
200
203
|
pysentry --resolver pip-tools /path/to/project
|
|
201
204
|
|
|
202
|
-
#
|
|
203
|
-
pysentry --
|
|
205
|
+
# Exclude extra dependencies (only check main dependencies)
|
|
206
|
+
pysentry --exclude-extra
|
|
204
207
|
|
|
205
208
|
# Filter by severity (only show high and critical)
|
|
206
209
|
pysentry --severity high
|
|
@@ -212,8 +215,8 @@ pysentry --format json --output audit-results.json
|
|
|
212
215
|
### Advanced Usage
|
|
213
216
|
|
|
214
217
|
```bash
|
|
215
|
-
# Using uvx for comprehensive audit
|
|
216
|
-
uvx pysentry-rs --
|
|
218
|
+
# Using uvx for comprehensive audit (extras included by default)
|
|
219
|
+
uvx pysentry-rs --format sarif --output security-report.sarif
|
|
217
220
|
|
|
218
221
|
# Check multiple vulnerability sources concurrently
|
|
219
222
|
uvx pysentry-rs --sources pypa,osv,pypi /path/to/project
|
|
@@ -225,14 +228,17 @@ uvx pysentry-rs --format markdown --output security-report.md
|
|
|
225
228
|
# Control CI exit codes - only fail on critical vulnerabilities
|
|
226
229
|
uvx pysentry-rs --fail-on critical
|
|
227
230
|
|
|
228
|
-
# Or with installed binary
|
|
229
|
-
pysentry --
|
|
231
|
+
# Or with installed binary (extras included by default)
|
|
232
|
+
pysentry --format sarif --output security-report.sarif
|
|
230
233
|
pysentry --sources pypa,osv --direct-only
|
|
231
234
|
pysentry --format markdown --output security-report.md
|
|
232
235
|
|
|
233
236
|
# Ignore specific vulnerabilities
|
|
234
237
|
pysentry --ignore CVE-2023-12345 --ignore GHSA-xxxx-yyyy-zzzz
|
|
235
238
|
|
|
239
|
+
# Ignore unfixable vulnerabilities (only while they have no fix available)
|
|
240
|
+
pysentry --ignore-while-no-fix CVE-2025-8869
|
|
241
|
+
|
|
236
242
|
# Disable caching for CI environments
|
|
237
243
|
pysentry --no-cache
|
|
238
244
|
|
|
@@ -278,8 +284,8 @@ pysentry --sources pypa,pypi,osv --format json --output prod-security.json
|
|
|
278
284
|
# Generate markdown report for GitHub issues/PRs
|
|
279
285
|
pysentry --format markdown --output SECURITY-REPORT.md
|
|
280
286
|
|
|
281
|
-
# Comprehensive audit with all sources and full reporting
|
|
282
|
-
pysentry --sources pypa,pypi,osv --
|
|
287
|
+
# Comprehensive audit with all sources and full reporting (extras included by default)
|
|
288
|
+
pysentry --sources pypa,pypi,osv --format json --fail-on low
|
|
283
289
|
|
|
284
290
|
# CI environment with fresh resolution cache
|
|
285
291
|
pysentry --clear-resolution-cache --sources pypa,osv --format sarif
|
|
@@ -299,7 +305,7 @@ Add PySentry to your `.pre-commit-config.yaml`:
|
|
|
299
305
|
```yaml
|
|
300
306
|
repos:
|
|
301
307
|
- repo: https://github.com/pysentry/pysentry-pre-commit
|
|
302
|
-
rev: v0.3.
|
|
308
|
+
rev: v0.3.11
|
|
303
309
|
hooks:
|
|
304
310
|
- id: pysentry # default pysentry settings
|
|
305
311
|
```
|
|
@@ -309,7 +315,7 @@ repos:
|
|
|
309
315
|
```yaml
|
|
310
316
|
repos:
|
|
311
317
|
- repo: https://github.com/pysentry/pysentry-pre-commit
|
|
312
|
-
rev: v0.3.
|
|
318
|
+
rev: v0.3.11
|
|
313
319
|
hooks:
|
|
314
320
|
- id: pysentry
|
|
315
321
|
args: ["--sources", "pypa,osv", "--fail-on", "high"]
|
|
@@ -358,8 +364,18 @@ color = "auto"
|
|
|
358
364
|
|
|
359
365
|
[ignore]
|
|
360
366
|
ids = ["CVE-2023-12345", "GHSA-xxxx-yyyy-zzzz"]
|
|
367
|
+
while_no_fix = ["CVE-2025-8869"]
|
|
368
|
+
|
|
369
|
+
[http]
|
|
370
|
+
timeout = 120
|
|
371
|
+
connect_timeout = 30
|
|
372
|
+
max_retries = 3
|
|
373
|
+
retry_initial_backoff = 1
|
|
374
|
+
retry_max_backoff = 60
|
|
375
|
+
show_progress = true
|
|
361
376
|
```
|
|
362
377
|
|
|
378
|
+
|
|
363
379
|
### Environment Variables
|
|
364
380
|
|
|
365
381
|
| Variable | Description | Example |
|
|
@@ -375,10 +391,11 @@ ids = ["CVE-2023-12345", "GHSA-xxxx-yyyy-zzzz"]
|
|
|
375
391
|
| `--severity` | Minimum severity: `low`, `medium`, `high`, `critical` | `low` |
|
|
376
392
|
| `--fail-on` | Fail (exit non-zero) on vulnerabilities ≥ severity | `medium` |
|
|
377
393
|
| `--sources` | Vulnerability sources: `pypa`, `pypi`, `osv` (multiple) | `pypa` |
|
|
378
|
-
| `--
|
|
394
|
+
| `--exclude-extra` | Exclude extra dependencies (dev, optional, etc) | `false` |
|
|
379
395
|
| `--direct-only` | Check only direct dependencies | `false` |
|
|
380
396
|
| `--detailed` | Show full vulnerability descriptions instead of truncated | `false` |
|
|
381
397
|
| `--ignore` | Vulnerability IDs to ignore (repeatable) | `[]` |
|
|
398
|
+
| `--ignore-while-no-fix` | Ignore vulnerabilities only while no fix is available | `[]` |
|
|
382
399
|
| `--output` | Output file path | `stdout` |
|
|
383
400
|
| `--no-cache` | Disable all caching | `false` |
|
|
384
401
|
| `--cache-dir` | Custom cache directory | Platform-specific |
|
|
@@ -747,6 +764,42 @@ curl -I https://osv-vulnerabilities.storage.googleapis.com/
|
|
|
747
764
|
# Try with different or multiple sources
|
|
748
765
|
pysentry --sources pypi
|
|
749
766
|
pysentry --sources pypa,osv
|
|
767
|
+
|
|
768
|
+
# For slow or unstable networks, increase timeout and retries
|
|
769
|
+
# Create/edit .pysentry.toml in your project:
|
|
770
|
+
```
|
|
771
|
+
|
|
772
|
+
```toml
|
|
773
|
+
[http]
|
|
774
|
+
timeout = 300 # 5 minute timeout
|
|
775
|
+
max_retries = 5 # More retry attempts
|
|
776
|
+
retry_max_backoff = 120 # Longer backoff delays
|
|
777
|
+
```
|
|
778
|
+
|
|
779
|
+
```bash
|
|
780
|
+
# Then run again
|
|
781
|
+
pysentry
|
|
782
|
+
```
|
|
783
|
+
|
|
784
|
+
**Network timeout errors:**
|
|
785
|
+
|
|
786
|
+
PySentry includes automatic retry with exponential backoff for network issues. If you still experience timeouts:
|
|
787
|
+
|
|
788
|
+
```bash
|
|
789
|
+
# Increase timeout values in config
|
|
790
|
+
pysentry config init --output .pysentry.toml
|
|
791
|
+
# Edit .pysentry.toml and adjust [http] section
|
|
792
|
+
```
|
|
793
|
+
|
|
794
|
+
**Rate limiting (HTTP 429 errors):**
|
|
795
|
+
|
|
796
|
+
PySentry automatically handles rate limiting. If rate limits persist:
|
|
797
|
+
|
|
798
|
+
```toml
|
|
799
|
+
[http]
|
|
800
|
+
max_retries = 5 # More attempts
|
|
801
|
+
retry_initial_backoff = 5 # Longer initial wait
|
|
802
|
+
retry_max_backoff = 300 # Up to 5 minute backoff
|
|
750
803
|
```
|
|
751
804
|
|
|
752
805
|
**Slow requirements.txt resolution**
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
pysentry/__init__.py,sha256=QO65Zis-G6ft4NLeV4DB4o9FAHOqHqbL8obCjrfblus,635
|
|
2
|
+
pysentry/_internal.cp310-win_amd64.pyd,sha256=tqolIWVJLs9G3PN5hQsCn3NTxmCfbx0B71FAY1F8Z1w,10196480
|
|
3
|
+
pysentry_rs-0.3.12.dist-info/METADATA,sha256=9GZxy_Er7O21VMgcB2g73jbvmndZl3o51IZOLU9Tuc8,30139
|
|
4
|
+
pysentry_rs-0.3.12.dist-info/WHEEL,sha256=EzedEmBOXE1tNSzXszfrmtdogTWmygt86emP3GfIvPc,96
|
|
5
|
+
pysentry_rs-0.3.12.dist-info/entry_points.txt,sha256=3bJguekVEbXTn-ceDCWJaSIZScquPPP1Ux9TPVHHanE,44
|
|
6
|
+
pysentry_rs-0.3.12.dist-info/licenses/LICENSE,sha256=LeD7F50MI8vrd0IFQeSr0PAl6QnpwLVHR24waAhG9v0,35552
|
|
7
|
+
pysentry_rs-0.3.12.dist-info/RECORD,,
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
pysentry/__init__.py,sha256=QO65Zis-G6ft4NLeV4DB4o9FAHOqHqbL8obCjrfblus,635
|
|
2
|
-
pysentry/_internal.cp310-win_amd64.pyd,sha256=65YaOMALwbjsjF2Nm4EbJ2kFeitm9iXxTBiUUrU8NWk,9943040
|
|
3
|
-
pysentry_rs-0.3.10.dist-info/METADATA,sha256=Ipc4bHDl35uT-qqpNPHDQsEXJPRbgcVzC2CAw86alvI,28263
|
|
4
|
-
pysentry_rs-0.3.10.dist-info/WHEEL,sha256=Iz7QqxpWQRXToFIDkGspPPKDuV_klwuhW8ziiU5jhR8,96
|
|
5
|
-
pysentry_rs-0.3.10.dist-info/entry_points.txt,sha256=3bJguekVEbXTn-ceDCWJaSIZScquPPP1Ux9TPVHHanE,44
|
|
6
|
-
pysentry_rs-0.3.10.dist-info/licenses/LICENSE,sha256=LeD7F50MI8vrd0IFQeSr0PAl6QnpwLVHR24waAhG9v0,35552
|
|
7
|
-
pysentry_rs-0.3.10.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|