pysentry-rs 0.3.1__cp311-cp311-macosx_11_0_arm64.whl → 0.3.3__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,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pysentry-rs
3
- Version: 0.3.1
3
+ Version: 0.3.3
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)
@@ -287,29 +287,105 @@ pysentry --clear-resolution-cache --sources pypa,osv --format sarif
287
287
  pysentry --no-resolution-cache --format json --output security-report.json
288
288
  ```
289
289
 
290
+ ## Pre-commit Integration
291
+
292
+ PySentry integrates seamlessly with [pre-commit](https://pre-commit.com/) to automatically scan for vulnerabilities before commits.
293
+
294
+ ### Setup
295
+
296
+ Add PySentry to your `.pre-commit-config.yaml`:
297
+
298
+ ```yaml
299
+ repos:
300
+ - repo: https://github.com/nyudenkov/pysentry
301
+ hooks:
302
+ - id: pysentry # default pysentry settings
303
+ ```
304
+
305
+ ### Advanced Configuration
306
+
307
+ ```yaml
308
+ repos:
309
+ - repo: https://github.com/nyudenkov/pysentry
310
+ hooks:
311
+ - id: pysentry
312
+ args: ["--sources", "pypa,osv", "--fail-on", "high"]
313
+ ```
314
+
315
+ ### Installation Requirements
316
+
317
+ Pre-commit will automatically install PySentry, uv and pip-tools via PyPI.
318
+
290
319
  ## Configuration
291
320
 
321
+ PySentry supports TOML-based configuration files for persistent settings management. Configuration files follow a hierarchical discovery pattern:
322
+
323
+ 1. **Project-level**: `.pysentry.toml` in current or parent directories
324
+ 2. **User-level**: `~/.config/pysentry/config.toml` (Linux/macOS)
325
+ 3. **System-level**: `/etc/pysentry/config.toml` (Unix systems)
326
+
327
+ ### Configuration File Example
328
+
329
+ ```toml
330
+ version = 1
331
+
332
+ [defaults]
333
+ format = "json"
334
+ severity = "medium"
335
+ fail_on = "high"
336
+ scope = "all"
337
+ direct_only = false
338
+
339
+ [sources]
340
+ enabled = ["pypa", "osv"]
341
+
342
+ [resolver]
343
+ type = "uv"
344
+ fallback = "pip-tools"
345
+
346
+ [cache]
347
+ enabled = true
348
+ resolution_ttl = 48
349
+ vulnerability_ttl = 72
350
+
351
+ [output]
352
+ quiet = false
353
+ verbose = false
354
+ color = "auto"
355
+
356
+ [ignore]
357
+ ids = ["CVE-2023-12345", "GHSA-xxxx-yyyy-zzzz"]
358
+ ```
359
+
360
+ ### Environment Variables
361
+
362
+ | Variable | Description | Example |
363
+ | -------------------- | ------------------------------- | -------------------------------------- |
364
+ | `PYSENTRY_CONFIG` | Override config file path | `PYSENTRY_CONFIG=/path/to/config.toml` |
365
+ | `PYSENTRY_NO_CONFIG` | Disable all config file loading | `PYSENTRY_NO_CONFIG=1` |
366
+
292
367
  ### Command Line Options
293
368
 
294
- | Option | Description | Default |
295
- | -------------------------- | ------------------------------------------------------- | ----------------- |
296
- | `--format` | Output format: `human`, `json`, `sarif`, `markdown` | `human` |
297
- | `--severity` | Minimum severity: `low`, `medium`, `high`, `critical` | `low` |
298
- | `--fail-on` | Fail (exit non-zero) on vulnerabilities ≥ severity | `medium` |
299
- | `--sources` | Vulnerability sources: `pypa`, `pypi`, `osv` (multiple) | `pypa` |
300
- | `--all-extras` | Include all dependencies (main + dev + optional) | `false` |
301
- | `--direct-only` | Check only direct dependencies | `false` |
302
- | `--ignore` | Vulnerability IDs to ignore (repeatable) | `[]` |
303
- | `--output` | Output file path | `stdout` |
304
- | `--no-cache` | Disable all caching | `false` |
305
- | `--cache-dir` | Custom cache directory | Platform-specific |
306
- | `--resolution-cache-ttl` | Resolution cache TTL in hours | `24` |
307
- | `--no-resolution-cache` | Disable resolution caching only | `false` |
308
- | `--clear-resolution-cache` | Clear resolution cache on startup | `false` |
309
- | `--verbose` | Enable verbose output | `false` |
310
- | `--quiet` | Suppress non-error output | `false` |
311
- | `--resolver` | Dependency resolver: `auto`, `uv`, `pip-tools` | `auto` |
312
- | `--requirements` | Additional requirements files (repeatable) | `[]` |
369
+ | Option | Description | Default |
370
+ | -------------------------- | --------------------------------------------------------- | ----------------- |
371
+ | `--format` | Output format: `human`, `json`, `sarif`, `markdown` | `human` |
372
+ | `--severity` | Minimum severity: `low`, `medium`, `high`, `critical` | `low` |
373
+ | `--fail-on` | Fail (exit non-zero) on vulnerabilities ≥ severity | `medium` |
374
+ | `--sources` | Vulnerability sources: `pypa`, `pypi`, `osv` (multiple) | `pypa` |
375
+ | `--all-extras` | Include all dependencies (main + dev + optional) | `false` |
376
+ | `--direct-only` | Check only direct dependencies | `false` |
377
+ | `--detailed` | Show full vulnerability descriptions instead of truncated | `false` |
378
+ | `--ignore` | Vulnerability IDs to ignore (repeatable) | `[]` |
379
+ | `--output` | Output file path | `stdout` |
380
+ | `--no-cache` | Disable all caching | `false` |
381
+ | `--cache-dir` | Custom cache directory | Platform-specific |
382
+ | `--resolution-cache-ttl` | Resolution cache TTL in hours | `24` |
383
+ | `--no-resolution-cache` | Disable resolution caching only | `false` |
384
+ | `--clear-resolution-cache` | Clear resolution cache on startup | `false` |
385
+ | `--verbose` | Enable verbose output | `false` |
386
+ | `--quiet` | Suppress non-error output | `false` |
387
+ | `--resolver` | Dependency resolver: `auto`, `uv`, `pip-tools` | `auto` |
388
+ | `--requirements` | Additional requirements files (repeatable) | `[]` |
313
389
 
314
390
  ### Cache Management
315
391
 
@@ -0,0 +1,7 @@
1
+ pysentry/__init__.py,sha256=uSo2bKZNbcRd1bEXOzF3MuxrEapECowrIHG0t_DERa8,611
2
+ pysentry/_internal.cpython-311-darwin.so,sha256=-m3fdP0dz58j0-nhWgKpEdg6WBENw5br5PFc88MNbjE,10343472
3
+ pysentry_rs-0.3.3.dist-info/METADATA,sha256=psCJ9lk8JTLBA2FEgb4ISi5awjFc9xkdb_0KNwuXTjI,25394
4
+ pysentry_rs-0.3.3.dist-info/WHEEL,sha256=FQD2wNSk7QdKfwuvlrA52DGgdDYb2Xq1PtLwlu6bv-w,104
5
+ pysentry_rs-0.3.3.dist-info/entry_points.txt,sha256=3bJguekVEbXTn-ceDCWJaSIZScquPPP1Ux9TPVHHanE,44
6
+ pysentry_rs-0.3.3.dist-info/licenses/LICENSE,sha256=TAMtDCoJuavXz7pCEklrzjH55sdvsy5gKsXY9NsImwY,34878
7
+ pysentry_rs-0.3.3.dist-info/RECORD,,
@@ -1,7 +0,0 @@
1
- pysentry/__init__.py,sha256=uSo2bKZNbcRd1bEXOzF3MuxrEapECowrIHG0t_DERa8,611
2
- pysentry/_internal.cpython-311-darwin.so,sha256=GCTLeR29d0sldJeFY_7QsGUN7ROynW7DfLFfqf8K0Pc,9936672
3
- pysentry_rs-0.3.1.dist-info/METADATA,sha256=TUKe6UqV-o2p10bMIL9EellI6KN-gb2K6ma8N38OFK0,23403
4
- pysentry_rs-0.3.1.dist-info/WHEEL,sha256=FQD2wNSk7QdKfwuvlrA52DGgdDYb2Xq1PtLwlu6bv-w,104
5
- pysentry_rs-0.3.1.dist-info/entry_points.txt,sha256=3bJguekVEbXTn-ceDCWJaSIZScquPPP1Ux9TPVHHanE,44
6
- pysentry_rs-0.3.1.dist-info/licenses/LICENSE,sha256=TAMtDCoJuavXz7pCEklrzjH55sdvsy5gKsXY9NsImwY,34878
7
- pysentry_rs-0.3.1.dist-info/RECORD,,