pysentry-rs 0.3.7__cp311-cp311-macosx_11_0_arm64.whl → 0.3.11__cp311-cp311-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.

Binary file
@@ -1,12 +1,11 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pysentry-rs
3
- Version: 0.3.7
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.8
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.8+ on Linux and macOS:
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.8+ and [uv](https://docs.astral.sh/uv/) installed (Linux/macOS only)
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.8+ (Linux/macOS only)
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
- # Include all dependencies (main + dev + optional)
205
- pysentry --all-extras
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 --all-extras --format sarif --output security-report.sarif
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 --all-extras --format sarif --output security-report.sarif
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 --all-extras --format json --fail-on low
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.6
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.6
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
- | `--all-extras` | Include all dependencies (main + dev + optional) | `false` |
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-311-darwin.so,sha256=JlTv54FxKTwWW1TmhXo0LX3DBAKOdZGE9YmYiSx1IGo,10301232
3
+ pysentry_rs-0.3.11.dist-info/METADATA,sha256=rXrtq3H-c9OE4lnLNf6I839Z0zB4MsVfO4S6-J8lFH0,28785
4
+ pysentry_rs-0.3.11.dist-info/WHEEL,sha256=CdmMmeYa1eQuY-2vdbC6jhmKJJ-SWCUx-px1LE7blCQ,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,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: maturin (1.9.3)
2
+ Generator: maturin (1.9.4)
3
3
  Root-Is-Purelib: false
4
4
  Tag: cp311-cp311-macosx_11_0_arm64
@@ -1,7 +0,0 @@
1
- pysentry/__init__.py,sha256=uSo2bKZNbcRd1bEXOzF3MuxrEapECowrIHG0t_DERa8,611
2
- pysentry/_internal.cpython-311-darwin.so,sha256=5C5zrVBl5cAu13qLSdLLBzQv9E7O9RvVVNfieZAucdE,10784544
3
- pysentry_rs-0.3.7.dist-info/METADATA,sha256=Z7Gt0YF-GsWvIknYohKcqjEZhHR9EmdUg-23JymLPm4,27728
4
- pysentry_rs-0.3.7.dist-info/WHEEL,sha256=FQD2wNSk7QdKfwuvlrA52DGgdDYb2Xq1PtLwlu6bv-w,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,,