pysentry-rs 0.3.7__tar.gz → 0.3.11__tar.gz

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.

Files changed (79) hide show
  1. {pysentry_rs-0.3.7 → pysentry_rs-0.3.11}/.github/workflows/ci.yml +10 -1
  2. {pysentry_rs-0.3.7 → pysentry_rs-0.3.11}/.github/workflows/release.yml +75 -6
  3. {pysentry_rs-0.3.7 → pysentry_rs-0.3.11}/Cargo.lock +140 -127
  4. {pysentry_rs-0.3.7 → pysentry_rs-0.3.11}/Cargo.toml +15 -14
  5. {pysentry_rs-0.3.7 → pysentry_rs-0.3.11}/PKG-INFO +68 -20
  6. {pysentry_rs-0.3.7 → pysentry_rs-0.3.11}/README.md +66 -17
  7. pysentry_rs-0.3.11/benchmarks/results/0.3.10.md +141 -0
  8. pysentry_rs-0.3.11/benchmarks/results/0.3.7.md +141 -0
  9. pysentry_rs-0.3.11/benchmarks/results/latest.md +141 -0
  10. {pysentry_rs-0.3.7 → pysentry_rs-0.3.11}/pyproject.toml +1 -2
  11. {pysentry_rs-0.3.7 → pysentry_rs-0.3.11}/src/cli.rs +67 -20
  12. {pysentry_rs-0.3.7 → pysentry_rs-0.3.11}/src/config.rs +77 -1
  13. {pysentry_rs-0.3.7 → pysentry_rs-0.3.11}/src/error.rs +7 -0
  14. {pysentry_rs-0.3.7 → pysentry_rs-0.3.11}/src/lib.rs +7 -1
  15. {pysentry_rs-0.3.7 → pysentry_rs-0.3.11}/src/main.rs +4 -2
  16. {pysentry_rs-0.3.7 → pysentry_rs-0.3.11}/src/providers/mod.rs +5 -6
  17. {pysentry_rs-0.3.7 → pysentry_rs-0.3.11}/src/providers/osv.rs +167 -65
  18. {pysentry_rs-0.3.7 → pysentry_rs-0.3.11}/src/providers/pypa.rs +89 -26
  19. {pysentry_rs-0.3.7 → pysentry_rs-0.3.11}/src/providers/pypi.rs +62 -6
  20. pysentry_rs-0.3.11/src/providers/retry.rs +86 -0
  21. {pysentry_rs-0.3.7 → pysentry_rs-0.3.11}/src/python.rs +3 -1
  22. {pysentry_rs-0.3.7 → pysentry_rs-0.3.11}/src/vulnerability/database.rs +1 -1
  23. {pysentry_rs-0.3.7 → pysentry_rs-0.3.11}/src/vulnerability/matcher.rs +126 -7
  24. pysentry_rs-0.3.7/benchmarks/results/latest.md +0 -141
  25. {pysentry_rs-0.3.7 → pysentry_rs-0.3.11}/.github/FUNDING.yml +0 -0
  26. {pysentry_rs-0.3.7 → pysentry_rs-0.3.11}/.github/dependabot.yml +0 -0
  27. {pysentry_rs-0.3.7 → pysentry_rs-0.3.11}/.github/workflows/benchmark.yml +0 -0
  28. {pysentry_rs-0.3.7 → pysentry_rs-0.3.11}/.gitignore +0 -0
  29. {pysentry_rs-0.3.7 → pysentry_rs-0.3.11}/.pre-commit-config.yaml +0 -0
  30. {pysentry_rs-0.3.7 → pysentry_rs-0.3.11}/.pre-commit-hooks.yaml +0 -0
  31. {pysentry_rs-0.3.7 → pysentry_rs-0.3.11}/LICENSE +0 -0
  32. {pysentry_rs-0.3.7 → pysentry_rs-0.3.11}/benchmarks/.gitignore +0 -0
  33. {pysentry_rs-0.3.7 → pysentry_rs-0.3.11}/benchmarks/.python-version +0 -0
  34. {pysentry_rs-0.3.7 → pysentry_rs-0.3.11}/benchmarks/README.md +0 -0
  35. {pysentry_rs-0.3.7 → pysentry_rs-0.3.11}/benchmarks/main.py +0 -0
  36. {pysentry_rs-0.3.7 → pysentry_rs-0.3.11}/benchmarks/pyproject.toml +0 -0
  37. {pysentry_rs-0.3.7 → pysentry_rs-0.3.11}/benchmarks/results/0.2.3.md +0 -0
  38. {pysentry_rs-0.3.7 → pysentry_rs-0.3.11}/benchmarks/results/0.3.1.md +0 -0
  39. {pysentry_rs-0.3.7 → pysentry_rs-0.3.11}/benchmarks/results/0.3.2.md +0 -0
  40. {pysentry_rs-0.3.7 → pysentry_rs-0.3.11}/benchmarks/results/0.3.3.md +0 -0
  41. {pysentry_rs-0.3.7 → pysentry_rs-0.3.11}/benchmarks/results/0.3.4.md +0 -0
  42. {pysentry_rs-0.3.7 → pysentry_rs-0.3.11}/benchmarks/results/0.3.5.md +0 -0
  43. {pysentry_rs-0.3.7 → pysentry_rs-0.3.11}/benchmarks/results/0.3.6.md +0 -0
  44. {pysentry_rs-0.3.7 → pysentry_rs-0.3.11}/benchmarks/src/benchmark_runner.py +0 -0
  45. {pysentry_rs-0.3.7 → pysentry_rs-0.3.11}/benchmarks/src/performance_monitor.py +0 -0
  46. {pysentry_rs-0.3.7 → pysentry_rs-0.3.11}/benchmarks/src/report_generator.py +0 -0
  47. {pysentry_rs-0.3.7 → pysentry_rs-0.3.11}/benchmarks/src/tool_wrapper.py +0 -0
  48. {pysentry_rs-0.3.7 → pysentry_rs-0.3.11}/benchmarks/test_data/large_requirements.txt +0 -0
  49. {pysentry_rs-0.3.7 → pysentry_rs-0.3.11}/benchmarks/test_data/small_requirements.txt +0 -0
  50. {pysentry_rs-0.3.7 → pysentry_rs-0.3.11}/benchmarks/test_data/uv.lock +0 -0
  51. {pysentry_rs-0.3.7 → pysentry_rs-0.3.11}/benchmarks/uv.lock +0 -0
  52. {pysentry_rs-0.3.7 → pysentry_rs-0.3.11}/fixtures/pipfile-tests/Pipfile +0 -0
  53. {pysentry_rs-0.3.7 → pysentry_rs-0.3.11}/fixtures/pipfile-tests/Pipfile.lock +0 -0
  54. {pysentry_rs-0.3.7 → pysentry_rs-0.3.11}/fixtures/pipfile-vulnerable-tests/Pipfile +0 -0
  55. {pysentry_rs-0.3.7 → pysentry_rs-0.3.11}/fixtures/requirements-tests/requirements-dev.txt +0 -0
  56. {pysentry_rs-0.3.7 → pysentry_rs-0.3.11}/fixtures/requirements-tests/requirements.txt +0 -0
  57. {pysentry_rs-0.3.7 → pysentry_rs-0.3.11}/fixtures/requirements-tests-vulnerable/requirements.txt +0 -0
  58. {pysentry_rs-0.3.7 → pysentry_rs-0.3.11}/python/pysentry/__init__.py +0 -0
  59. {pysentry_rs-0.3.7 → pysentry_rs-0.3.11}/src/cache/audit.rs +0 -0
  60. {pysentry_rs-0.3.7 → pysentry_rs-0.3.11}/src/cache/mod.rs +0 -0
  61. {pysentry_rs-0.3.7 → pysentry_rs-0.3.11}/src/cache/storage.rs +0 -0
  62. {pysentry_rs-0.3.7 → pysentry_rs-0.3.11}/src/dependency/mod.rs +0 -0
  63. {pysentry_rs-0.3.7 → pysentry_rs-0.3.11}/src/dependency/resolvers/mod.rs +0 -0
  64. {pysentry_rs-0.3.7 → pysentry_rs-0.3.11}/src/dependency/resolvers/pip_tools.rs +0 -0
  65. {pysentry_rs-0.3.7 → pysentry_rs-0.3.11}/src/dependency/resolvers/uv.rs +0 -0
  66. {pysentry_rs-0.3.7 → pysentry_rs-0.3.11}/src/dependency/scanner.rs +0 -0
  67. {pysentry_rs-0.3.7 → pysentry_rs-0.3.11}/src/output/mod.rs +0 -0
  68. {pysentry_rs-0.3.7 → pysentry_rs-0.3.11}/src/output/report.rs +0 -0
  69. {pysentry_rs-0.3.7 → pysentry_rs-0.3.11}/src/output/sarif.rs +0 -0
  70. {pysentry_rs-0.3.7 → pysentry_rs-0.3.11}/src/parsers/lock.rs +0 -0
  71. {pysentry_rs-0.3.7 → pysentry_rs-0.3.11}/src/parsers/mod.rs +0 -0
  72. {pysentry_rs-0.3.7 → pysentry_rs-0.3.11}/src/parsers/pipfile.rs +0 -0
  73. {pysentry_rs-0.3.7 → pysentry_rs-0.3.11}/src/parsers/pipfile_lock.rs +0 -0
  74. {pysentry_rs-0.3.7 → pysentry_rs-0.3.11}/src/parsers/poetry_lock.rs +0 -0
  75. {pysentry_rs-0.3.7 → pysentry_rs-0.3.11}/src/parsers/pylock.rs +0 -0
  76. {pysentry_rs-0.3.7 → pysentry_rs-0.3.11}/src/parsers/pyproject.rs +0 -0
  77. {pysentry_rs-0.3.7 → pysentry_rs-0.3.11}/src/parsers/requirements.rs +0 -0
  78. {pysentry_rs-0.3.7 → pysentry_rs-0.3.11}/src/types.rs +0 -0
  79. {pysentry_rs-0.3.7 → pysentry_rs-0.3.11}/src/vulnerability/mod.rs +0 -0
@@ -12,6 +12,7 @@ on:
12
12
  - ".github/FUNDING.yml"
13
13
  - ".pre-commit-hooks.yaml"
14
14
  pull_request:
15
+ types: [opened, synchronize, reopened, ready_for_review]
15
16
  branches: [main]
16
17
  paths-ignore:
17
18
  - "**.md"
@@ -30,6 +31,7 @@ jobs:
30
31
  fmt:
31
32
  name: Format Check
32
33
  runs-on: ubuntu-latest
34
+ if: github.event.pull_request.draft == false || github.event_name != 'pull_request'
33
35
  steps:
34
36
  - uses: actions/checkout@v4
35
37
  - name: Install Rust
@@ -42,6 +44,7 @@ jobs:
42
44
  clippy:
43
45
  name: Clippy
44
46
  runs-on: ${{ matrix.os }}
47
+ if: github.event.pull_request.draft == false || github.event_name != 'pull_request'
45
48
  strategy:
46
49
  matrix:
47
50
  os: [ubuntu-latest, macos-latest, windows-latest]
@@ -83,6 +86,7 @@ jobs:
83
86
  check:
84
87
  name: Check
85
88
  runs-on: ${{ matrix.os }}
89
+ if: github.event.pull_request.draft == false || github.event_name != 'pull_request'
86
90
  strategy:
87
91
  matrix:
88
92
  os: [ubuntu-latest, macos-latest, windows-latest]
@@ -122,6 +126,7 @@ jobs:
122
126
  build:
123
127
  name: Build
124
128
  runs-on: ${{ matrix.os }}
129
+ if: github.event.pull_request.draft == false || github.event_name != 'pull_request'
125
130
  strategy:
126
131
  matrix:
127
132
  os: [ubuntu-latest, macos-latest, windows-latest]
@@ -160,6 +165,7 @@ jobs:
160
165
  test-debug:
161
166
  name: Test (Debug)
162
167
  runs-on: ${{ matrix.os }}
168
+ if: github.event.pull_request.draft == false || github.event_name != 'pull_request'
163
169
  strategy:
164
170
  matrix:
165
171
  os: [ubuntu-latest, macos-latest, windows-latest]
@@ -199,6 +205,7 @@ jobs:
199
205
  test-release:
200
206
  name: Test (Release)
201
207
  runs-on: ${{ matrix.os }}
208
+ if: github.event.pull_request.draft == false || github.event_name != 'pull_request'
202
209
  strategy:
203
210
  matrix:
204
211
  os: [ubuntu-latest, macos-latest, windows-latest]
@@ -238,10 +245,11 @@ jobs:
238
245
  python-bindings:
239
246
  name: Python Bindings
240
247
  runs-on: ${{ matrix.os }}
248
+ if: github.event.pull_request.draft == false || github.event_name != 'pull_request'
241
249
  strategy:
242
250
  matrix:
243
251
  os: [ubuntu-latest, macos-latest, windows-latest]
244
- python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"]
252
+ python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
245
253
 
246
254
  steps:
247
255
  - uses: actions/checkout@v4
@@ -283,6 +291,7 @@ jobs:
283
291
  security-audit:
284
292
  name: Security Audit
285
293
  runs-on: ubuntu-latest
294
+ if: github.event.pull_request.draft == false || github.event_name != 'pull_request'
286
295
  steps:
287
296
  - uses: actions/checkout@v4
288
297
  - uses: dtolnay/rust-toolchain@stable
@@ -138,32 +138,101 @@ jobs:
138
138
  name: Build Python Wheels
139
139
  runs-on: ${{ matrix.os }}
140
140
  strategy:
141
+ fail-fast: false
141
142
  matrix:
142
- os: [ubuntu-latest, macos-latest]
143
+ include:
144
+ # x86_64 Linux
145
+ - os: ubuntu-latest
146
+ target: x86_64-unknown-linux-gnu
147
+ python: "3.9"
148
+ - os: ubuntu-latest
149
+ target: x86_64-unknown-linux-gnu
150
+ python: "3.10"
151
+ - os: ubuntu-latest
152
+ target: x86_64-unknown-linux-gnu
153
+ python: "3.11"
154
+ - os: ubuntu-latest
155
+ target: x86_64-unknown-linux-gnu
156
+ python: "3.12"
157
+ - os: ubuntu-latest
158
+ target: x86_64-unknown-linux-gnu
159
+ python: "3.13"
160
+ # macOS
161
+ - os: macos-latest
162
+ target: x86_64-apple-darwin
163
+ python: "3.9"
164
+ - os: macos-latest
165
+ target: x86_64-apple-darwin
166
+ python: "3.10"
167
+ - os: macos-latest
168
+ target: x86_64-apple-darwin
169
+ python: "3.11"
170
+ - os: macos-latest
171
+ target: x86_64-apple-darwin
172
+ python: "3.12"
173
+ - os: macos-latest
174
+ target: x86_64-apple-darwin
175
+ python: "3.13"
176
+ - os: macos-latest
177
+ target: aarch64-apple-darwin
178
+ python: "3.9"
179
+ - os: macos-latest
180
+ target: aarch64-apple-darwin
181
+ python: "3.10"
182
+ - os: macos-latest
183
+ target: aarch64-apple-darwin
184
+ python: "3.11"
185
+ - os: macos-latest
186
+ target: aarch64-apple-darwin
187
+ python: "3.12"
188
+ - os: macos-latest
189
+ target: aarch64-apple-darwin
190
+ python: "3.13"
191
+ # Windows
192
+ - os: windows-latest
193
+ target: x86_64-pc-windows-msvc
194
+ python: "3.9"
195
+ - os: windows-latest
196
+ target: x86_64-pc-windows-msvc
197
+ python: "3.10"
198
+ - os: windows-latest
199
+ target: x86_64-pc-windows-msvc
200
+ python: "3.11"
201
+ - os: windows-latest
202
+ target: x86_64-pc-windows-msvc
203
+ python: "3.12"
204
+ - os: windows-latest
205
+ target: x86_64-pc-windows-msvc
206
+ python: "3.13"
143
207
 
144
208
  steps:
145
209
  - uses: actions/checkout@v4
146
210
 
211
+ - name: Install system dependencies (Ubuntu)
212
+ if: startsWith(matrix.os, 'ubuntu')
213
+ run: sudo apt-get update && sudo apt-get install -y libssl-dev pkg-config
214
+
147
215
  - name: Set up Python
148
216
  uses: actions/setup-python@v5
149
217
  with:
150
- python-version: "3.12"
218
+ python-version: ${{ matrix.python }}
151
219
 
152
220
  - name: Install Rust
153
221
  uses: dtolnay/rust-toolchain@stable
154
222
 
155
223
  - name: Build wheels
156
- uses: PyO3/maturin-action@v1.49.3
224
+ uses: PyO3/maturin-action@v1.49.4
157
225
  with:
158
226
  command: build
159
- args: --release --features python --out dist -i python3.8 python3.9 python3.10 python3.11 python3.12 python3.13
227
+ args: --release --features python --out dist -i ${{ matrix.python }}
160
228
  sccache: "true"
161
229
  manylinux: auto
230
+ target: ${{ matrix.target }}
162
231
 
163
232
  - name: Upload wheels
164
233
  uses: actions/upload-artifact@v4
165
234
  with:
166
- name: wheels-${{ matrix.os }}
235
+ name: wheels-${{ matrix.os }}-${{ matrix.target }}-${{ matrix.python }}
167
236
  path: dist/*.whl
168
237
 
169
238
  build-sdist:
@@ -213,7 +282,7 @@ jobs:
213
282
  ls -la dist/
214
283
 
215
284
  - name: Publish to PyPI
216
- uses: pypa/gh-action-pypi-publish@v1.12.4
285
+ uses: pypa/gh-action-pypi-publish@v1.13.0
217
286
  with:
218
287
  packages-dir: dist/
219
288