http-api-tool 1.1.3__tar.gz → 1.1.4__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.
Files changed (46) hide show
  1. {http_api_tool-1.1.3 → http_api_tool-1.1.4}/.github/workflows/build-test-release.yaml +14 -14
  2. {http_api_tool-1.1.3 → http_api_tool-1.1.4}/.github/workflows/build-test.yaml +27 -27
  3. {http_api_tool-1.1.3 → http_api_tool-1.1.4}/.github/workflows/clear-action-cache.yaml +1 -1
  4. {http_api_tool-1.1.3 → http_api_tool-1.1.4}/.github/workflows/codeql.yml +1 -1
  5. {http_api_tool-1.1.3 → http_api_tool-1.1.4}/.github/workflows/openssf-scorecard.yaml +1 -1
  6. {http_api_tool-1.1.3 → http_api_tool-1.1.4}/.github/workflows/release-drafter.yaml +3 -3
  7. {http_api_tool-1.1.3 → http_api_tool-1.1.4}/.github/workflows/security-scans.yaml +2 -2
  8. {http_api_tool-1.1.3 → http_api_tool-1.1.4}/PKG-INFO +4 -4
  9. {http_api_tool-1.1.3 → http_api_tool-1.1.4}/README.md +2 -2
  10. {http_api_tool-1.1.3 → http_api_tool-1.1.4}/action.yaml +1 -1
  11. {http_api_tool-1.1.3 → http_api_tool-1.1.4}/pyproject.toml +1 -1
  12. {http_api_tool-1.1.3 → http_api_tool-1.1.4}/src/http_api_tool/_version.py +2 -2
  13. {http_api_tool-1.1.3 → http_api_tool-1.1.4}/uv.lock +75 -63
  14. {http_api_tool-1.1.3 → http_api_tool-1.1.4}/.actrc +0 -0
  15. {http_api_tool-1.1.3 → http_api_tool-1.1.4}/.aislop/config.yml +0 -0
  16. {http_api_tool-1.1.3 → http_api_tool-1.1.4}/.codespell +0 -0
  17. {http_api_tool-1.1.3 → http_api_tool-1.1.4}/.dockerignore +0 -0
  18. {http_api_tool-1.1.3 → http_api_tool-1.1.4}/.editorconfig +0 -0
  19. {http_api_tool-1.1.3 → http_api_tool-1.1.4}/.github/actionlint.yaml +0 -0
  20. {http_api_tool-1.1.3 → http_api_tool-1.1.4}/.github/cache-config.yaml +0 -0
  21. {http_api_tool-1.1.3 → http_api_tool-1.1.4}/.github/dependabot.yml +0 -0
  22. {http_api_tool-1.1.3 → http_api_tool-1.1.4}/.gitignore +0 -0
  23. {http_api_tool-1.1.3 → http_api_tool-1.1.4}/.gitlint +0 -0
  24. {http_api_tool-1.1.3 → http_api_tool-1.1.4}/.pre-commit-config.yaml +0 -0
  25. {http_api_tool-1.1.3 → http_api_tool-1.1.4}/.readthedocs.yml +0 -0
  26. {http_api_tool-1.1.3 → http_api_tool-1.1.4}/.yamllint +0 -0
  27. {http_api_tool-1.1.3 → http_api_tool-1.1.4}/AGENTS.md +0 -0
  28. {http_api_tool-1.1.3 → http_api_tool-1.1.4}/CHANGELOG-v0.2.0.md +0 -0
  29. {http_api_tool-1.1.3 → http_api_tool-1.1.4}/LICENSE +0 -0
  30. {http_api_tool-1.1.3 → http_api_tool-1.1.4}/LICENSES/Apache-2.0.txt +0 -0
  31. {http_api_tool-1.1.3 → http_api_tool-1.1.4}/REUSE.toml +0 -0
  32. {http_api_tool-1.1.3 → http_api_tool-1.1.4}/SECURITY.md +0 -0
  33. {http_api_tool-1.1.3 → http_api_tool-1.1.4}/UV-QUICK-REFERENCE.md +0 -0
  34. {http_api_tool-1.1.3 → http_api_tool-1.1.4}/docker/Containerfile +0 -0
  35. {http_api_tool-1.1.3 → http_api_tool-1.1.4}/scripts/check-pip-security.py +0 -0
  36. {http_api_tool-1.1.3 → http_api_tool-1.1.4}/scripts/generate_requirements.py +0 -0
  37. {http_api_tool-1.1.3 → http_api_tool-1.1.4}/sonar-project.properties +0 -0
  38. {http_api_tool-1.1.3 → http_api_tool-1.1.4}/src/http_api_tool/__init__.py +0 -0
  39. {http_api_tool-1.1.3 → http_api_tool-1.1.4}/src/http_api_tool/__main__.py +0 -0
  40. {http_api_tool-1.1.3 → http_api_tool-1.1.4}/src/http_api_tool/cli.py +0 -0
  41. {http_api_tool-1.1.3 → http_api_tool-1.1.4}/src/http_api_tool/curl_client.py +0 -0
  42. {http_api_tool-1.1.3 → http_api_tool-1.1.4}/src/http_api_tool/reporting.py +0 -0
  43. {http_api_tool-1.1.3 → http_api_tool-1.1.4}/src/http_api_tool/sanitize.py +0 -0
  44. {http_api_tool-1.1.3 → http_api_tool-1.1.4}/src/http_api_tool/validation.py +0 -0
  45. {http_api_tool-1.1.3 → http_api_tool-1.1.4}/src/http_api_tool/verifier.py +0 -0
  46. {http_api_tool-1.1.3 → http_api_tool-1.1.4}/tests/test_http_api_tool.py +0 -0
@@ -32,7 +32,7 @@ jobs:
32
32
  timeout-minutes: 5
33
33
  steps:
34
34
  # yamllint disable-line rule:line-length
35
- - uses: step-security/harden-runner@dc2769abcc0fcfbadfc1df54081c1608579ef6b2 # v2.22.2
35
+ - uses: step-security/harden-runner@46b06cea07f9e64621fdf066ba77ac6915163d43 # v2.22.3
36
36
  with:
37
37
  egress-policy: audit
38
38
 
@@ -64,7 +64,7 @@ jobs:
64
64
  steps:
65
65
  # Harden the runner used by this workflow
66
66
  # yamllint disable-line rule:line-length
67
- - uses: step-security/harden-runner@dc2769abcc0fcfbadfc1df54081c1608579ef6b2 # v2.22.2
67
+ - uses: step-security/harden-runner@46b06cea07f9e64621fdf066ba77ac6915163d43 # v2.22.3
68
68
  with:
69
69
  egress-policy: 'audit'
70
70
 
@@ -79,7 +79,7 @@ jobs:
79
79
  - name: 'Verify pushed tag'
80
80
  id: 'tag-validate'
81
81
  # yamllint disable-line rule:line-length
82
- uses: lfreleng-actions/tag-validate-action@63470621b8ebc5c4fc86ebb616727dd0a7285dd9 # v1.1.7
82
+ uses: lfreleng-actions/tag-validate-action@eab7d92e02c8b447a4de04e68bd5ee7eae3450eb # v1.1.8
83
83
  with:
84
84
  token: "${{ secrets.GITHUB_TOKEN }}"
85
85
  require_type: 'semver'
@@ -132,7 +132,7 @@ jobs:
132
132
  steps:
133
133
  # Harden the runner used by this workflow
134
134
  # yamllint disable-line rule:line-length
135
- - uses: step-security/harden-runner@dc2769abcc0fcfbadfc1df54081c1608579ef6b2 # v2.22.2
135
+ - uses: step-security/harden-runner@46b06cea07f9e64621fdf066ba77ac6915163d43 # v2.22.3
136
136
  with:
137
137
  egress-policy: 'audit'
138
138
 
@@ -163,7 +163,7 @@ jobs:
163
163
  steps:
164
164
  # Harden the runner used by this workflow
165
165
  # yamllint disable-line rule:line-length
166
- - uses: step-security/harden-runner@dc2769abcc0fcfbadfc1df54081c1608579ef6b2 # v2.22.2
166
+ - uses: step-security/harden-runner@46b06cea07f9e64621fdf066ba77ac6915163d43 # v2.22.3
167
167
  with:
168
168
  egress-policy: 'audit'
169
169
 
@@ -192,7 +192,7 @@ jobs:
192
192
  steps:
193
193
  # Harden the runner used by this workflow
194
194
  # yamllint disable-line rule:line-length
195
- - uses: step-security/harden-runner@dc2769abcc0fcfbadfc1df54081c1608579ef6b2 # v2.22.2
195
+ - uses: step-security/harden-runner@46b06cea07f9e64621fdf066ba77ac6915163d43 # v2.22.3
196
196
  with:
197
197
  egress-policy: 'audit'
198
198
 
@@ -218,7 +218,7 @@ jobs:
218
218
  steps:
219
219
  # Harden the runner used by this workflow
220
220
  # yamllint disable-line rule:line-length
221
- - uses: step-security/harden-runner@dc2769abcc0fcfbadfc1df54081c1608579ef6b2 # v2.22.2
221
+ - uses: step-security/harden-runner@46b06cea07f9e64621fdf066ba77ac6915163d43 # v2.22.3
222
222
  with:
223
223
  egress-policy: 'audit'
224
224
 
@@ -345,7 +345,7 @@ jobs:
345
345
  steps:
346
346
  # Harden the runner used by this workflow
347
347
  # yamllint disable-line rule:line-length
348
- - uses: step-security/harden-runner@dc2769abcc0fcfbadfc1df54081c1608579ef6b2 # v2.22.2
348
+ - uses: step-security/harden-runner@46b06cea07f9e64621fdf066ba77ac6915163d43 # v2.22.3
349
349
  with:
350
350
  egress-policy: 'audit'
351
351
 
@@ -370,7 +370,7 @@ jobs:
370
370
  steps:
371
371
  # Harden the runner used by this workflow
372
372
  # yamllint disable-line rule:line-length
373
- - uses: step-security/harden-runner@dc2769abcc0fcfbadfc1df54081c1608579ef6b2 # v2.22.2
373
+ - uses: step-security/harden-runner@46b06cea07f9e64621fdf066ba77ac6915163d43 # v2.22.3
374
374
  with:
375
375
  egress-policy: 'audit'
376
376
 
@@ -387,7 +387,7 @@ jobs:
387
387
  # Login to GitHub Container Registry
388
388
  - name: Login to Container Registry
389
389
  # yamllint disable-line rule:line-length
390
- uses: docker/login-action@dbcb813823bdd20940b903addbd779551569679f # v4.6.0
390
+ uses: docker/login-action@81c6f93d4bc991e510b342a00b419b3bb4efc5c6 # v4.7.0
391
391
  with:
392
392
  registry: ${{ env.REGISTRY }}
393
393
  username: ${{ github.actor }}
@@ -457,7 +457,7 @@ jobs:
457
457
  steps:
458
458
  # Harden the runner used by this workflow
459
459
  # yamllint disable-line rule:line-length
460
- - uses: step-security/harden-runner@dc2769abcc0fcfbadfc1df54081c1608579ef6b2 # v2.22.2
460
+ - uses: step-security/harden-runner@46b06cea07f9e64621fdf066ba77ac6915163d43 # v2.22.3
461
461
  with:
462
462
  egress-policy: 'audit'
463
463
 
@@ -495,7 +495,7 @@ jobs:
495
495
  steps:
496
496
  # Harden the runner used by this workflow
497
497
  # yamllint disable-line rule:line-length
498
- - uses: step-security/harden-runner@dc2769abcc0fcfbadfc1df54081c1608579ef6b2 # v2.22.2
498
+ - uses: step-security/harden-runner@46b06cea07f9e64621fdf066ba77ac6915163d43 # v2.22.3
499
499
  with:
500
500
  egress-policy: 'audit'
501
501
 
@@ -513,7 +513,7 @@ jobs:
513
513
 
514
514
  - name: 'Attach build artefacts to release'
515
515
  # yamllint disable-line rule:line-length
516
- uses: lfreleng-actions/release-assets-action@51e2955cf9aeab3731efd7cc4605aa2847e7d8e2 # v0.1.3
516
+ uses: lfreleng-actions/release-assets-action@d7b650fbf8fbca7a436f75ddada3d4cdbd36a802 # v0.1.4
517
517
  with:
518
518
  asset_paths: '["${{ needs.python-build.outputs.artefact_path }}/**"]'
519
519
  release_tag: "${{ needs.tag-validate.outputs.tag }}"
@@ -535,7 +535,7 @@ jobs:
535
535
  steps:
536
536
  # Harden the runner used by this workflow
537
537
  # yamllint disable-line rule:line-length
538
- - uses: step-security/harden-runner@dc2769abcc0fcfbadfc1df54081c1608579ef6b2 # v2.22.2
538
+ - uses: step-security/harden-runner@46b06cea07f9e64621fdf066ba77ac6915163d43 # v2.22.3
539
539
  with:
540
540
  egress-policy: 'audit'
541
541
 
@@ -76,7 +76,7 @@ jobs:
76
76
  steps:
77
77
  # Harden the runner
78
78
  - name: Harden Runner
79
- uses: step-security/harden-runner@dc2769abcc0fcfbadfc1df54081c1608579ef6b2 # v2.22.2
79
+ uses: step-security/harden-runner@46b06cea07f9e64621fdf066ba77ac6915163d43 # v2.22.3
80
80
  with:
81
81
  egress-policy: audit
82
82
 
@@ -132,7 +132,7 @@ jobs:
132
132
  steps:
133
133
  # Set up go-httpbin for testing
134
134
  - name: Setup go-httpbin HTTPS service
135
- uses: lfreleng-actions/go-httpbin-action@b0fcc716270b4975172449a293173e679773d17e # v0.1.6
135
+ uses: lfreleng-actions/go-httpbin-action@692bf3b759b746041e9cc2eebec5a6006e6d6041 # v0.1.7
136
136
  id: go-httpbin
137
137
  with:
138
138
  debug: 'true'
@@ -203,7 +203,7 @@ jobs:
203
203
  steps:
204
204
  # Harden the runner
205
205
  - name: Harden Runner
206
- uses: step-security/harden-runner@dc2769abcc0fcfbadfc1df54081c1608579ef6b2 # v2.22.2
206
+ uses: step-security/harden-runner@46b06cea07f9e64621fdf066ba77ac6915163d43 # v2.22.3
207
207
  with:
208
208
  egress-policy: audit
209
209
 
@@ -218,7 +218,7 @@ jobs:
218
218
 
219
219
  # Login to GitHub Container Registry
220
220
  - name: Login to Container Registry
221
- uses: docker/login-action@dbcb813823bdd20940b903addbd779551569679f # v4.6.0
221
+ uses: docker/login-action@81c6f93d4bc991e510b342a00b419b3bb4efc5c6 # v4.7.0
222
222
  with:
223
223
  registry: ${{ env.REGISTRY }}
224
224
  username: ${{ github.actor }}
@@ -285,7 +285,7 @@ jobs:
285
285
  GH_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
286
286
  steps:
287
287
  # Harden the runner used by this workflow
288
- - uses: step-security/harden-runner@dc2769abcc0fcfbadfc1df54081c1608579ef6b2 # v2.22.2
288
+ - uses: step-security/harden-runner@46b06cea07f9e64621fdf066ba77ac6915163d43 # v2.22.3
289
289
  with:
290
290
  egress-policy: 'audit'
291
291
 
@@ -296,7 +296,7 @@ jobs:
296
296
  # Setup Python with enhanced caching
297
297
  - name: Set up Python
298
298
  id: setup-python
299
- uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
299
+ uses: actions/setup-python@6d4fd22b20465ccc0f7354476588e8df7c9ca0e0 # v7.1.0
300
300
  with:
301
301
  # Do NOT use hard coded Python; extract from pyproject.toml
302
302
  python-version-file: 'pyproject.toml'
@@ -335,7 +335,7 @@ jobs:
335
335
  timeout-minutes: 12
336
336
  steps:
337
337
  # Harden the runner used by this workflow
338
- - uses: step-security/harden-runner@dc2769abcc0fcfbadfc1df54081c1608579ef6b2 # v2.22.2
338
+ - uses: step-security/harden-runner@46b06cea07f9e64621fdf066ba77ac6915163d43 # v2.22.3
339
339
  with:
340
340
  egress-policy: audit
341
341
 
@@ -346,7 +346,7 @@ jobs:
346
346
  # Setup Python with comprehensive caching
347
347
  - name: Set up Python
348
348
  id: setup-python
349
- uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
349
+ uses: actions/setup-python@6d4fd22b20465ccc0f7354476588e8df7c9ca0e0 # v7.1.0
350
350
  with:
351
351
  python-version: ${{ matrix.python-version }}
352
352
  cache: 'pip'
@@ -386,7 +386,7 @@ jobs:
386
386
  timeout-minutes: 10
387
387
  steps:
388
388
  # Harden the runner used by this workflow
389
- - uses: step-security/harden-runner@dc2769abcc0fcfbadfc1df54081c1608579ef6b2 # v2.22.2
389
+ - uses: step-security/harden-runner@46b06cea07f9e64621fdf066ba77ac6915163d43 # v2.22.3
390
390
  with:
391
391
  egress-policy: 'audit'
392
392
 
@@ -397,7 +397,7 @@ jobs:
397
397
  # Setup Python with comprehensive caching
398
398
  - name: Set up Python
399
399
  id: setup-python
400
- uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
400
+ uses: actions/setup-python@6d4fd22b20465ccc0f7354476588e8df7c9ca0e0 # v7.1.0
401
401
  with:
402
402
  python-version: ${{ matrix.python-version }}
403
403
  cache: 'pip'
@@ -434,7 +434,7 @@ jobs:
434
434
  timeout-minutes: 15
435
435
  steps:
436
436
  # Harden the runner used by this workflow
437
- - uses: step-security/harden-runner@dc2769abcc0fcfbadfc1df54081c1608579ef6b2 # v2.22.2
437
+ - uses: step-security/harden-runner@46b06cea07f9e64621fdf066ba77ac6915163d43 # v2.22.3
438
438
  with:
439
439
  egress-policy: 'audit'
440
440
 
@@ -445,7 +445,7 @@ jobs:
445
445
  # Setup Python with comprehensive caching
446
446
  - name: Set up Python
447
447
  id: setup-python
448
- uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
448
+ uses: actions/setup-python@6d4fd22b20465ccc0f7354476588e8df7c9ca0e0 # v7.1.0
449
449
  with:
450
450
  python-version-file: 'pyproject.toml'
451
451
  cache: 'pip'
@@ -466,7 +466,7 @@ jobs:
466
466
  uv-cli-${{ runner.os }}-
467
467
 
468
468
  - name: Install UV
469
- uses: astral-sh/setup-uv@1c37ad07a6a961277cf70c0d37d6f313000f5884 # v10.3.0
469
+ uses: astral-sh/setup-uv@68559e99cc807c1eb7e9238fd43a15bba460eec2 # v10.3.3
470
470
 
471
471
  - name: Install project dependencies
472
472
  run: |
@@ -483,7 +483,7 @@ jobs:
483
483
  # Start go-httpbin service for testing
484
484
  - name: Setup go-httpbin service
485
485
  id: go-httpbin
486
- uses: lfreleng-actions/go-httpbin-action@b0fcc716270b4975172449a293173e679773d17e # v0.1.6
486
+ uses: lfreleng-actions/go-httpbin-action@692bf3b759b746041e9cc2eebec5a6006e6d6041 # v0.1.7
487
487
  with:
488
488
  port: '8080'
489
489
  debug: 'true'
@@ -561,14 +561,14 @@ jobs:
561
561
  timeout-minutes: 10
562
562
  steps:
563
563
  # Harden the runner used by this workflow
564
- - uses: step-security/harden-runner@dc2769abcc0fcfbadfc1df54081c1608579ef6b2 # v2.22.2
564
+ - uses: step-security/harden-runner@46b06cea07f9e64621fdf066ba77ac6915163d43 # v2.22.3
565
565
  with:
566
566
  egress-policy: 'audit'
567
567
 
568
568
  # Start go-httpbin service for testing
569
569
  - name: Setup go-httpbin service
570
570
  id: go-httpbin
571
- uses: lfreleng-actions/go-httpbin-action@b0fcc716270b4975172449a293173e679773d17e # v0.1.6
571
+ uses: lfreleng-actions/go-httpbin-action@692bf3b759b746041e9cc2eebec5a6006e6d6041 # v0.1.7
572
572
  with:
573
573
  port: '8080'
574
574
  debug: 'true'
@@ -618,14 +618,14 @@ jobs:
618
618
  timeout-minutes: 10
619
619
  steps:
620
620
  # Harden the runner used by this workflow
621
- - uses: step-security/harden-runner@dc2769abcc0fcfbadfc1df54081c1608579ef6b2 # v2.22.2
621
+ - uses: step-security/harden-runner@46b06cea07f9e64621fdf066ba77ac6915163d43 # v2.22.3
622
622
  with:
623
623
  egress-policy: 'audit'
624
624
 
625
625
  # Start go-httpbin service for testing
626
626
  - name: Setup go-httpbin service
627
627
  id: go-httpbin
628
- uses: lfreleng-actions/go-httpbin-action@b0fcc716270b4975172449a293173e679773d17e # v0.1.6
628
+ uses: lfreleng-actions/go-httpbin-action@692bf3b759b746041e9cc2eebec5a6006e6d6041 # v0.1.7
629
629
  with:
630
630
  port: '8080'
631
631
  debug: 'true'
@@ -730,14 +730,14 @@ jobs:
730
730
  steps:
731
731
  # Harden the runner used by this workflow
732
732
  - name: Harden Runner
733
- uses: step-security/harden-runner@dc2769abcc0fcfbadfc1df54081c1608579ef6b2 # v2.22.2
733
+ uses: step-security/harden-runner@46b06cea07f9e64621fdf066ba77ac6915163d43 # v2.22.3
734
734
  with:
735
735
  egress-policy: audit
736
736
 
737
737
  # Start go-httpbin service for testing
738
738
  - name: Setup go-httpbin service
739
739
  id: go-httpbin
740
- uses: lfreleng-actions/go-httpbin-action@b0fcc716270b4975172449a293173e679773d17e # v0.1.6
740
+ uses: lfreleng-actions/go-httpbin-action@692bf3b759b746041e9cc2eebec5a6006e6d6041 # v0.1.7
741
741
  with:
742
742
  port: '8080'
743
743
  debug: 'true'
@@ -797,7 +797,7 @@ jobs:
797
797
  steps:
798
798
  # Harden the runner used by this workflow
799
799
  - name: Harden Runner
800
- uses: step-security/harden-runner@dc2769abcc0fcfbadfc1df54081c1608579ef6b2 # v2.22.2
800
+ uses: step-security/harden-runner@46b06cea07f9e64621fdf066ba77ac6915163d43 # v2.22.3
801
801
  with:
802
802
  egress-policy: audit
803
803
 
@@ -811,7 +811,7 @@ jobs:
811
811
 
812
812
  # Login to Container Registry
813
813
  - name: Login to Container Registry
814
- uses: docker/login-action@dbcb813823bdd20940b903addbd779551569679f # v4.6.0
814
+ uses: docker/login-action@81c6f93d4bc991e510b342a00b419b3bb4efc5c6 # v4.7.0
815
815
  with:
816
816
  registry: ${{ env.REGISTRY }}
817
817
  username: ${{ github.actor }}
@@ -829,7 +829,7 @@ jobs:
829
829
  # Start go-httpbin service for testing
830
830
  - name: Setup go-httpbin service
831
831
  id: go-httpbin
832
- uses: lfreleng-actions/go-httpbin-action@b0fcc716270b4975172449a293173e679773d17e # v0.1.6
832
+ uses: lfreleng-actions/go-httpbin-action@692bf3b759b746041e9cc2eebec5a6006e6d6041 # v0.1.7
833
833
  with:
834
834
  port: '8080'
835
835
  debug: 'true'
@@ -845,7 +845,7 @@ jobs:
845
845
 
846
846
  # Test the http-api-tool against go-httpbin with HTTPS
847
847
  docker run --rm --network host \
848
- -v "$GITHUB_WORKSPACE/$CA_BUNDLE:/tmp/ca-bundle.pem:ro" \
848
+ -v "$CA_BUNDLE:/tmp/ca-bundle.pem:ro" \
849
849
  "$IMAGE_TAG" \
850
850
  test \
851
851
  --url "$SERVICE_URL/get" \
@@ -872,7 +872,7 @@ jobs:
872
872
  steps:
873
873
  # Harden the runner
874
874
  - name: Harden Runner
875
- uses: step-security/harden-runner@dc2769abcc0fcfbadfc1df54081c1608579ef6b2 # v2.22.2
875
+ uses: step-security/harden-runner@46b06cea07f9e64621fdf066ba77ac6915163d43 # v2.22.3
876
876
  with:
877
877
  egress-policy: audit
878
878
 
@@ -883,7 +883,7 @@ jobs:
883
883
 
884
884
  # Setup Python with caching
885
885
  - name: Set up Python
886
- uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
886
+ uses: actions/setup-python@6d4fd22b20465ccc0f7354476588e8df7c9ca0e0 # v7.1.0
887
887
  with:
888
888
  # Do NOT use hard coded Python; extract from pyproject.toml
889
889
  python-version-file: 'pyproject.toml'
@@ -905,7 +905,7 @@ jobs:
905
905
 
906
906
  # Install UV
907
907
  - name: Install UV
908
- uses: astral-sh/setup-uv@1c37ad07a6a961277cf70c0d37d6f313000f5884 # v10.3.0
908
+ uses: astral-sh/setup-uv@68559e99cc807c1eb7e9238fd43a15bba460eec2 # v10.3.3
909
909
 
910
910
  # Install project dependencies with dev extras (includes bandit)
911
911
  - name: Install project dependencies
@@ -51,7 +51,7 @@ jobs:
51
51
  permissions:
52
52
  actions: write # list and delete repository Actions caches
53
53
  # yamllint disable-line rule:line-length
54
- uses: lfreleng-actions/generic-workflows/.github/workflows/clear-action-cache.yaml@0ed9c16d59a3ff92afad23a7c1aba3ab61238b87 # v0.4.3
54
+ uses: lfreleng-actions/generic-workflows/.github/workflows/clear-action-cache.yaml@04672a980550ff9bd89d24bacd39fb03e25b0b0b # v0.6.1
55
55
  with:
56
56
  key_pattern: ${{ inputs.key_pattern }}
57
57
  ref_filter: ${{ inputs.ref_filter }}
@@ -30,6 +30,6 @@ jobs:
30
30
  packages: read # fetch internal or private CodeQL packs
31
31
  actions: read # the upload reads run info on private repositories
32
32
  # yamllint disable-line rule:line-length
33
- uses: lfreleng-actions/security-workflows/.github/workflows/codeql.yaml@ef6c0d9930feedb274067703b50eeebe5ab859b3 # v0.9.5
33
+ uses: lfreleng-actions/security-workflows/.github/workflows/codeql.yaml@378fcc19ebdf37f17fde4888d4b71c83b21d6cf3 # v0.9.7
34
34
  with:
35
35
  languages: 'python,actions'
@@ -28,7 +28,7 @@ jobs:
28
28
  openssf-scorecard:
29
29
  name: "OpenSSF Scorecard"
30
30
  # yamllint disable-line rule:line-length
31
- uses: lfreleng-actions/security-workflows/.github/workflows/openssf-scorecard.yaml@179b57cc41fbdae90d68237b418539d33e5ba091 # v0.9.4
31
+ uses: lfreleng-actions/security-workflows/.github/workflows/openssf-scorecard.yaml@378fcc19ebdf37f17fde4888d4b71c83b21d6cf3 # v0.9.7
32
32
  # Scorecard uses no cache; deny writes under branch_protection_rule
33
33
  cache-mode: read
34
34
  permissions:
@@ -28,14 +28,14 @@ jobs:
28
28
  # organisation's .github repository and publish it as
29
29
  # $CONNECTION_ALLOW_LIST for the harden-runner step below.
30
30
  # yamllint disable-line rule:line-length
31
- - uses: lfreleng-actions/harden-runner-block-action@51ef68401547a8b648275129b9a21544612596d5 # v0.13.1
31
+ - uses: lfreleng-actions/harden-runner-block-action@d01dcdad980f826d4099289e2014126465580807 # v0.14.1
32
32
  with:
33
- config: '@18d9c4446bea555d0783e850f6d295f844fe8f67' # v0.1.1
33
+ config: '@6d4a65c5601afd6c2fbe52bda4b0024b132f265d' # v0.19.0
34
34
 
35
35
  # Harden the runner with the just-loaded allow-list.
36
36
  - name: 'Harden runner (block)'
37
37
  # yamllint disable-line rule:line-length
38
- uses: step-security/harden-runner@dc2769abcc0fcfbadfc1df54081c1608579ef6b2 # v2.22.2
38
+ uses: step-security/harden-runner@46b06cea07f9e64621fdf066ba77ac6915163d43 # v2.22.3
39
39
  with:
40
40
  egress-policy: 'block'
41
41
  allowed-endpoints: >
@@ -34,7 +34,7 @@ jobs:
34
34
  permissions:
35
35
  contents: read # Reusable scan job checks out the repo
36
36
  # yamllint disable-line rule:line-length
37
- uses: lfit/releng-reusable-workflows/.github/workflows/reuse-sonatype-lifecycle.yaml@fb907909b12bbaf262de6b24fcafd181cabe6b24 # v0.10.4
37
+ uses: lfit/releng-reusable-workflows/.github/workflows/reuse-sonatype-lifecycle.yaml@e3bb02dd0d2e5027cde63732fe00f591d6ecec03 # v0.11.0
38
38
  # Neither scan writes a cache; deny writes under branch_protection_rule
39
39
  cache-mode: read
40
40
  secrets:
@@ -44,7 +44,7 @@ jobs:
44
44
  sonarqube-cloud:
45
45
  name: "SonarQube Cloud"
46
46
  # yamllint disable-line rule:line-length
47
- uses: lfit/releng-reusable-workflows/.github/workflows/reuse-sonarqube-cloud.yaml@fb907909b12bbaf262de6b24fcafd181cabe6b24 # v0.10.4
47
+ uses: lfit/releng-reusable-workflows/.github/workflows/reuse-sonarqube-cloud.yaml@e3bb02dd0d2e5027cde63732fe00f591d6ecec03 # v0.11.0
48
48
  # Neither scan writes a cache; deny writes under branch_protection_rule
49
49
  cache-mode: read
50
50
  permissions:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: http-api-tool
3
- Version: 1.1.3
3
+ Version: 1.1.4
4
4
  Summary: A Python HTTP/HTTPS API testing tool for GitHub Actions and CLI usage
5
5
  Project-URL: Homepage, https://github.com/lfreleng-actions/http-api-tool-docker
6
6
  Project-URL: Repository, https://github.com/lfreleng-actions/http-api-tool-docker
@@ -33,7 +33,7 @@ Requires-Dist: requests>=2.32.4
33
33
  Requires-Dist: typer>=0.9.0
34
34
  Provides-Extra: dev
35
35
  Requires-Dist: bandit>=1.8.0; extra == 'dev'
36
- Requires-Dist: black>=24.0.0; extra == 'dev'
36
+ Requires-Dist: black>=26.10.1; extra == 'dev'
37
37
  Requires-Dist: coverage[toml]>=7.9.1; extra == 'dev'
38
38
  Requires-Dist: flake8>=7.0.0; extra == 'dev'
39
39
  Requires-Dist: interrogate>=1.5.0; extra == 'dev'
@@ -510,7 +510,7 @@ HTTPS testing service:
510
510
  ```yaml
511
511
  steps:
512
512
  - name: Setup go-httpbin HTTPS service
513
- uses: lfreleng-actions/go-httpbin-action@fd9c3701056fc2e667542ac66b4a63c44faea6c5 # v0.1.0
513
+ uses: lfreleng-actions/go-httpbin-action@692bf3b759b746041e9cc2eebec5a6006e6d6041 # v0.1.7
514
514
  id: httpbin
515
515
  with:
516
516
  debug: 'true'
@@ -520,7 +520,7 @@ steps:
520
520
  uses: lfreleng-actions/http-api-tool-docker@main
521
521
  with:
522
522
  url: 'https://localhost:8080/get'
523
- ca_bundle_path: 'mkcert-ca.pem'
523
+ ca_bundle_path: '${{ steps.httpbin.outputs.ca-cert-path }}'
524
524
  expected_http_code: '200'
525
525
  ```
526
526
 
@@ -458,7 +458,7 @@ HTTPS testing service:
458
458
  ```yaml
459
459
  steps:
460
460
  - name: Setup go-httpbin HTTPS service
461
- uses: lfreleng-actions/go-httpbin-action@fd9c3701056fc2e667542ac66b4a63c44faea6c5 # v0.1.0
461
+ uses: lfreleng-actions/go-httpbin-action@692bf3b759b746041e9cc2eebec5a6006e6d6041 # v0.1.7
462
462
  id: httpbin
463
463
  with:
464
464
  debug: 'true'
@@ -468,7 +468,7 @@ steps:
468
468
  uses: lfreleng-actions/http-api-tool-docker@main
469
469
  with:
470
470
  url: 'https://localhost:8080/get'
471
- ca_bundle_path: 'mkcert-ca.pem'
471
+ ca_bundle_path: '${{ steps.httpbin.outputs.ca-cert-path }}'
472
472
  expected_http_code: '200'
473
473
  ```
474
474
 
@@ -166,7 +166,7 @@ runs:
166
166
  # UVX deployment path (default)
167
167
  - name: Install uv for uvx deployment
168
168
  if: inputs.deploy == 'uvx'
169
- uses: astral-sh/setup-uv@1c37ad07a6a961277cf70c0d37d6f313000f5884 # v10.3.0
169
+ uses: astral-sh/setup-uv@68559e99cc807c1eb7e9238fd43a15bba460eec2 # v10.3.3
170
170
  with:
171
171
  enable-cache: false
172
172
  ignore-empty-workdir: true
@@ -63,7 +63,7 @@ test = [
63
63
  dev = [
64
64
  "pytest>=8.0.0",
65
65
  "pytest-cov>=6.2.1",
66
- "black>=24.0.0",
66
+ "black>=26.10.1",
67
67
  "isort>=5.13.0",
68
68
  "flake8>=7.0.0",
69
69
  "bandit>=1.8.0",
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
18
18
  commit_id: str | None
19
19
  __commit_id__: str | None
20
20
 
21
- __version__ = version = '1.1.3'
22
- __version_tuple__ = version_tuple = (1, 1, 3)
21
+ __version__ = version = '1.1.4'
22
+ __version_tuple__ = version_tuple = (1, 1, 4)
23
23
 
24
24
  __commit_id__ = commit_id = None
@@ -1,5 +1,5 @@
1
1
  version = 1
2
- revision = 3
2
+ revision = 5
3
3
  requires-python = ">=3.11"
4
4
 
5
5
  [[package]]
@@ -28,7 +28,7 @@ wheels = [
28
28
 
29
29
  [[package]]
30
30
  name = "black"
31
- version = "26.3.1"
31
+ version = "26.10.1"
32
32
  source = { registry = "https://pypi.org/simple" }
33
33
  dependencies = [
34
34
  { name = "click" },
@@ -38,29 +38,29 @@ dependencies = [
38
38
  { name = "platformdirs" },
39
39
  { name = "pytokens" },
40
40
  ]
41
- sdist = { url = "https://files.pythonhosted.org/packages/e1/c5/61175d618685d42b005847464b8fb4743a67b1b8fdb75e50e5a96c31a27a/black-26.3.1.tar.gz", hash = "sha256:2c50f5063a9641c7eed7795014ba37b0f5fa227f3d408b968936e24bc0566b07", size = 666155, upload-time = "2026-03-12T03:36:03.593Z" }
42
- wheels = [
43
- { url = "https://files.pythonhosted.org/packages/17/57/5f11c92861f9c92eb9dddf515530bc2d06db843e44bdcf1c83c1427824bc/black-26.3.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:28ef38aee69e4b12fda8dba75e21f9b4f979b490c8ac0baa7cb505369ac9e1ff", size = 1851987, upload-time = "2026-03-12T03:40:06.248Z" },
44
- { url = "https://files.pythonhosted.org/packages/54/aa/340a1463660bf6831f9e39646bf774086dbd8ca7fc3cded9d59bbdf4ad0a/black-26.3.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:bf9bf162ed91a26f1adba8efda0b573bc6924ec1408a52cc6f82cb73ec2b142c", size = 1689499, upload-time = "2026-03-12T03:40:07.642Z" },
45
- { url = "https://files.pythonhosted.org/packages/f3/01/b726c93d717d72733da031d2de10b92c9fa4c8d0c67e8a8a372076579279/black-26.3.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:474c27574d6d7037c1bc875a81d9be0a9a4f9ee95e62800dab3cfaadbf75acd5", size = 1754369, upload-time = "2026-03-12T03:40:09.279Z" },
46
- { url = "https://files.pythonhosted.org/packages/e3/09/61e91881ca291f150cfc9eb7ba19473c2e59df28859a11a88248b5cbbc4d/black-26.3.1-cp311-cp311-win_amd64.whl", hash = "sha256:5e9d0d86df21f2e1677cc4bd090cd0e446278bcbbe49bf3659c308c3e402843e", size = 1413613, upload-time = "2026-03-12T03:40:10.943Z" },
47
- { url = "https://files.pythonhosted.org/packages/16/73/544f23891b22e7efe4d8f812371ab85b57f6a01b2fc45e3ba2e52ba985b8/black-26.3.1-cp311-cp311-win_arm64.whl", hash = "sha256:9a5e9f45e5d5e1c5b5c29b3bd4265dcc90e8b92cf4534520896ed77f791f4da5", size = 1219719, upload-time = "2026-03-12T03:40:12.597Z" },
48
- { url = "https://files.pythonhosted.org/packages/dc/f8/da5eae4fc75e78e6dceb60624e1b9662ab00d6b452996046dfa9b8a6025b/black-26.3.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:b5e6f89631eb88a7302d416594a32faeee9fb8fb848290da9d0a5f2903519fc1", size = 1895920, upload-time = "2026-03-12T03:40:13.921Z" },
49
- { url = "https://files.pythonhosted.org/packages/2c/9f/04e6f26534da2e1629b2b48255c264cabf5eedc5141d04516d9d68a24111/black-26.3.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:41cd2012d35b47d589cb8a16faf8a32ef7a336f56356babd9fcf70939ad1897f", size = 1718499, upload-time = "2026-03-12T03:40:15.239Z" },
50
- { url = "https://files.pythonhosted.org/packages/04/91/a5935b2a63e31b331060c4a9fdb5a6c725840858c599032a6f3aac94055f/black-26.3.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0f76ff19ec5297dd8e66eb64deda23631e642c9393ab592826fd4bdc97a4bce7", size = 1794994, upload-time = "2026-03-12T03:40:17.124Z" },
51
- { url = "https://files.pythonhosted.org/packages/e7/0a/86e462cdd311a3c2a8ece708d22aba17d0b2a0d5348ca34b40cdcbea512e/black-26.3.1-cp312-cp312-win_amd64.whl", hash = "sha256:ddb113db38838eb9f043623ba274cfaf7d51d5b0c22ecb30afe58b1bb8322983", size = 1420867, upload-time = "2026-03-12T03:40:18.83Z" },
52
- { url = "https://files.pythonhosted.org/packages/5b/e5/22515a19cb7eaee3440325a6b0d95d2c0e88dd180cb011b12ae488e031d1/black-26.3.1-cp312-cp312-win_arm64.whl", hash = "sha256:dfdd51fc3e64ea4f35873d1b3fb25326773d55d2329ff8449139ebaad7357efb", size = 1230124, upload-time = "2026-03-12T03:40:20.425Z" },
53
- { url = "https://files.pythonhosted.org/packages/f5/77/5728052a3c0450c53d9bb3945c4c46b91baa62b2cafab6801411b6271e45/black-26.3.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:855822d90f884905362f602880ed8b5df1b7e3ee7d0db2502d4388a954cc8c54", size = 1895034, upload-time = "2026-03-12T03:40:21.813Z" },
54
- { url = "https://files.pythonhosted.org/packages/52/73/7cae55fdfdfbe9d19e9a8d25d145018965fe2079fa908101c3733b0c55a0/black-26.3.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:8a33d657f3276328ce00e4d37fe70361e1ec7614da5d7b6e78de5426cb56332f", size = 1718503, upload-time = "2026-03-12T03:40:23.666Z" },
55
- { url = "https://files.pythonhosted.org/packages/e1/87/af89ad449e8254fdbc74654e6467e3c9381b61472cc532ee350d28cfdafb/black-26.3.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f1cd08e99d2f9317292a311dfe578fd2a24b15dbce97792f9c4d752275c1fa56", size = 1793557, upload-time = "2026-03-12T03:40:25.497Z" },
56
- { url = "https://files.pythonhosted.org/packages/43/10/d6c06a791d8124b843bf325ab4ac7d2f5b98731dff84d6064eafd687ded1/black-26.3.1-cp313-cp313-win_amd64.whl", hash = "sha256:c7e72339f841b5a237ff14f7d3880ddd0fc7f98a1199e8c4327f9a4f478c1839", size = 1422766, upload-time = "2026-03-12T03:40:27.14Z" },
57
- { url = "https://files.pythonhosted.org/packages/59/4f/40a582c015f2d841ac24fed6390bd68f0fc896069ff3a886317959c9daf8/black-26.3.1-cp313-cp313-win_arm64.whl", hash = "sha256:afc622538b430aa4c8c853f7f63bc582b3b8030fd8c80b70fb5fa5b834e575c2", size = 1232140, upload-time = "2026-03-12T03:40:28.882Z" },
58
- { url = "https://files.pythonhosted.org/packages/d5/da/e36e27c9cebc1311b7579210df6f1c86e50f2d7143ae4fcf8a5017dc8809/black-26.3.1-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:2d6bfaf7fd0993b420bed691f20f9492d53ce9a2bcccea4b797d34e947318a78", size = 1889234, upload-time = "2026-03-12T03:40:30.964Z" },
59
- { url = "https://files.pythonhosted.org/packages/0e/7b/9871acf393f64a5fa33668c19350ca87177b181f44bb3d0c33b2d534f22c/black-26.3.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:f89f2ab047c76a9c03f78d0d66ca519e389519902fa27e7a91117ef7611c0568", size = 1720522, upload-time = "2026-03-12T03:40:32.346Z" },
60
- { url = "https://files.pythonhosted.org/packages/03/87/e766c7f2e90c07fb7586cc787c9ae6462b1eedab390191f2b7fc7f6170a9/black-26.3.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b07fc0dab849d24a80a29cfab8d8a19187d1c4685d8a5e6385a5ce323c1f015f", size = 1787824, upload-time = "2026-03-12T03:40:33.636Z" },
61
- { url = "https://files.pythonhosted.org/packages/ac/94/2424338fb2d1875e9e83eed4c8e9c67f6905ec25afd826a911aea2b02535/black-26.3.1-cp314-cp314-win_amd64.whl", hash = "sha256:0126ae5b7c09957da2bdbd91a9ba1207453feada9e9fe51992848658c6c8e01c", size = 1445855, upload-time = "2026-03-12T03:40:35.442Z" },
62
- { url = "https://files.pythonhosted.org/packages/86/43/0c3338bd928afb8ee7471f1a4eec3bdbe2245ccb4a646092a222e8669840/black-26.3.1-cp314-cp314-win_arm64.whl", hash = "sha256:92c0ec1f2cc149551a2b7b47efc32c866406b6891b0ee4625e95967c8f4acfb1", size = 1258109, upload-time = "2026-03-12T03:40:36.832Z" },
63
- { url = "https://files.pythonhosted.org/packages/8e/0d/52d98722666d6fc6c3dd4c76df339501d6efd40e0ff95e6186a7b7f0befd/black-26.3.1-py3-none-any.whl", hash = "sha256:2bd5aa94fc267d38bb21a70d7410a89f1a1d318841855f698746f8e7f51acd1b", size = 207542, upload-time = "2026-03-12T03:36:01.668Z" },
41
+ sdist = { url = "https://files.pythonhosted.org/packages/f8/65/a9611a6ec0a8c88d86e59385da02d68d9533f7e86a05913d20c67be54029/black-26.10.1.tar.gz", hash = "sha256:5f9f83beae62437e060dafd53d7f1fc327e3d3494f74d72ee5c2b73eb90fc4e7", size = 741979, upload-time = "2026-10-10T04:13:40.776Z" }
42
+ wheels = [
43
+ { url = "https://files.pythonhosted.org/packages/6f/1e/c1d4f71299d45f4ff54c9c42ef9214d6b228223f196bc1bb2ee196aeaeee/black-26.10.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:9a0219b29cd70e49f920acb7081e6ce5025c719008447c521d0200dcad93206a", size = 2121821, upload-time = "2026-10-10T04:18:36.793Z" },
44
+ { url = "https://files.pythonhosted.org/packages/7f/e2/43944049c0945199bbd5c8b291b85306bfd0eeccbc908bf65538a69ff1b0/black-26.10.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7bdade400bfe24d78a7762896acc2f9a8e1a17fb0fd0536bf6b7c7097cf3eec7", size = 1961908, upload-time = "2026-10-10T04:18:38.942Z" },
45
+ { url = "https://files.pythonhosted.org/packages/d5/e9/9616d58f69f0e4bfa89ebe8686b6ef50f4b4f0f91237ae4c76f34dabf8aa/black-26.10.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ff57f63029aa1353fa8b1b0c8971fd88a6c92dc766608d2eee33ad2deb23270e", size = 2019042, upload-time = "2026-10-10T04:18:40.612Z" },
46
+ { url = "https://files.pythonhosted.org/packages/c5/de/0415cce69e2402a5c186cdb5462a0edd3fa44d69d1a1630e68e58daaa6a4/black-26.10.1-cp311-cp311-win_amd64.whl", hash = "sha256:3414a0c52901964dceabd98c7c56beac0f964115a116ecedcce7247359b14017", size = 1608383, upload-time = "2026-10-10T04:18:42.25Z" },
47
+ { url = "https://files.pythonhosted.org/packages/a9/61/af18e716432e932f166ce9dfa419ce3f05fd5ef8c52c0510d27ae41aaa51/black-26.10.1-cp311-cp311-win_arm64.whl", hash = "sha256:1935b32f5326028019856e18cb42b4da63db23765dc84464cec723e0de478a9b", size = 1466048, upload-time = "2026-10-10T04:18:44.271Z" },
48
+ { url = "https://files.pythonhosted.org/packages/f7/ca/357ccdd12e8f8429539f8f52edc153de58acba84f6670ac36c254a276691/black-26.10.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:fe85fc4019bee59bc495c0f2a8ee76c5cd02c7015508d94a967ba2376f39a52c", size = 2167369, upload-time = "2026-10-10T04:18:45.948Z" },
49
+ { url = "https://files.pythonhosted.org/packages/a5/a2/4709110a7ca326ba7b4f81a669fbebc20653c79a972b0f8de4ba5b5c5e68/black-26.10.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:182f6c32be38074b16d378498c498b32cb51928178ee611485344972c35ec9c6", size = 1990732, upload-time = "2026-10-10T04:18:48.252Z" },
50
+ { url = "https://files.pythonhosted.org/packages/1e/96/9f8fa839c169d19c38ce6582d9449f2d7d70dabd313ac28f15a930260c1f/black-26.10.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b5347d760f0c02bb00dd249384cab71c3bf828b4f68d5b401eb116e0390f147d", size = 2065235, upload-time = "2026-10-10T04:18:50.064Z" },
51
+ { url = "https://files.pythonhosted.org/packages/2b/ee/929eaf7de6f05a3141d6df72acf9248118f49a5e48f9375be3180e9babf7/black-26.10.1-cp312-cp312-win_amd64.whl", hash = "sha256:4d9a90516db1d99c25dbb20cc0998e0e01531dd903466c7744e56d66f864220a", size = 1621579, upload-time = "2026-10-10T04:18:51.59Z" },
52
+ { url = "https://files.pythonhosted.org/packages/90/3a/8b6a44abf9648b087311003b91298226c1763172cd8d223ece5b7cf8f795/black-26.10.1-cp312-cp312-win_arm64.whl", hash = "sha256:2ffbc023a12d0c729408823b8f10514490bd0baa301d0d4e21a7240249f9507f", size = 1469662, upload-time = "2026-10-10T04:18:53.245Z" },
53
+ { url = "https://files.pythonhosted.org/packages/99/6b/bc0d39990bd7a71457d669639fa06acf6191bec28bafe8b8103f597cce76/black-26.10.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:b6272cfd7e1e8e271f5b0e0207259fe2834687e5cb9b5f620b34a44db9754993", size = 2153812, upload-time = "2026-10-10T04:18:55.041Z" },
54
+ { url = "https://files.pythonhosted.org/packages/85/0e/cc83b88a6b1a51fc051aa4e24663918f0bf4fa9fca98552ee93a125a6780/black-26.10.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:978113a40223a6aaefc17364176a809a320e6b288683841427fff04c6d7b4130", size = 1980352, upload-time = "2026-10-10T04:18:56.849Z" },
55
+ { url = "https://files.pythonhosted.org/packages/7b/0f/4dd24ea0ebadbe05e293c3ea7fbebd4389f50508f714640c9b309a0849d2/black-26.10.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:03c0ddd93bb392e71209903a691767eb366fe1a76deb9509ccbaae9e1f14bb52", size = 2055268, upload-time = "2026-10-10T04:18:58.974Z" },
56
+ { url = "https://files.pythonhosted.org/packages/a2/06/221f8e81891ecf5e4df9c258a11037997f1f218533ffe4fa1dc4db37f19c/black-26.10.1-cp313-cp313-win_amd64.whl", hash = "sha256:f6dba8138cdc99061ef07b958ac082d2aa057b6961d1936f9717c350f02bab5f", size = 1625938, upload-time = "2026-10-10T04:19:00.65Z" },
57
+ { url = "https://files.pythonhosted.org/packages/2b/3b/763d2dd073fc1e2cbf0fe5e584fe96913bf0d14cd725d1116f4b38453adf/black-26.10.1-cp313-cp313-win_arm64.whl", hash = "sha256:d42dd2fac7c342ae67e64ee99c9532e20b2a84e92c79ed3317fa2ef54c801d93", size = 1470752, upload-time = "2026-10-10T04:19:03.009Z" },
58
+ { url = "https://files.pythonhosted.org/packages/76/7b/e8d275b23f3023881c0b0d8ce3bbda0d100c79bdef87fb6518bf9e0c5040/black-26.10.1-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:8375962579d537364cc0efa19b1474481915d3a793f9fc0774901814c5e5b5f4", size = 2147731, upload-time = "2026-10-10T04:19:04.643Z" },
59
+ { url = "https://files.pythonhosted.org/packages/ee/62/e44f86ee5fc7b893ee0ee935a79c785932da7758d2c339749d90a20ef213/black-26.10.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:d8b3a9074a680b3c5749633714e9ae3992a1e5a23343a97ad61cd9b119b444d2", size = 1981714, upload-time = "2026-10-10T04:19:06.287Z" },
60
+ { url = "https://files.pythonhosted.org/packages/89/2f/e12ca76edfcd037fe9e7e7635d9468d1d51255cf25a01b2f8f97a38f147d/black-26.10.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:289282aa2e09d3162312a3be1788ff21b08e9ea9cc4a81e656024728b32428fb", size = 2047807, upload-time = "2026-10-10T04:19:08.193Z" },
61
+ { url = "https://files.pythonhosted.org/packages/c3/af/676d3c5cbb2ab0f17c8459b3ae8ea15ebdcc5a2f1c1c586228ec85b8897f/black-26.10.1-cp314-cp314-win_amd64.whl", hash = "sha256:5cd88fd7b444ca51f3fc883b6f6657ea53a258b0b2eef6d9f2dfcfa17ce0e27b", size = 1652537, upload-time = "2026-10-10T04:19:09.817Z" },
62
+ { url = "https://files.pythonhosted.org/packages/ad/7b/860022d369fdd5fe14280b1e7109f58753c371ff91ce2311d68a056e488a/black-26.10.1-cp314-cp314-win_arm64.whl", hash = "sha256:2520037aa62f8a1454d0811b8f5c88b444445b03a4bfba480d8d220893b64c34", size = 1504226, upload-time = "2026-10-10T04:19:11.367Z" },
63
+ { url = "https://files.pythonhosted.org/packages/b1/28/9dd29175c1db777e6189e2a0bb5f37101adf19c3e509b236c8920f778d0b/black-26.10.1-py3-none-any.whl", hash = "sha256:28842f9a8207cc1df6eb983a35a14c5a0dfcd603d214fe82d84bef552afd2e3a", size = 239267, upload-time = "2026-10-10T04:13:38.808Z" },
64
64
  ]
65
65
 
66
66
  [[package]]
@@ -333,7 +333,7 @@ test = [
333
333
  [package.metadata]
334
334
  requires-dist = [
335
335
  { name = "bandit", marker = "extra == 'dev'", specifier = ">=1.8.0" },
336
- { name = "black", marker = "extra == 'dev'", specifier = ">=24.0.0" },
336
+ { name = "black", marker = "extra == 'dev'", specifier = ">=26.10.1" },
337
337
  { name = "certifi", specifier = ">=2025.6.15" },
338
338
  { name = "coverage", extras = ["toml"], marker = "extra == 'dev'", specifier = ">=7.9.1" },
339
339
  { name = "coverage", extras = ["toml"], marker = "extra == 'test'", specifier = ">=7.9.1" },
@@ -564,40 +564,52 @@ wheels = [
564
564
 
565
565
  [[package]]
566
566
  name = "pycurl"
567
- version = "7.45.7"
568
- source = { registry = "https://pypi.org/simple" }
569
- sdist = { url = "https://files.pythonhosted.org/packages/e3/3d/01255f1cde24401f54bb3727d0e5d3396b67fc04964f287d5d473155f176/pycurl-7.45.7.tar.gz", hash = "sha256:9d43013002eab2fd6d0dcc671cd1e9149e2fc1c56d5e796fad94d076d6cb69ef", size = 241098, upload-time = "2025-09-24T13:37:17.067Z" }
570
- wheels = [
571
- { url = "https://files.pythonhosted.org/packages/b9/b1/923d75ec2bcb39bef889ce47f706ab07fbb050ac528712af586acd641028/pycurl-7.45.7-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f17264adc95a7f92a148d17c55eee885da640cbd98cf9169e643029d79bb18c7", size = 3795020, upload-time = "2025-09-24T13:36:07.115Z" },
572
- { url = "https://files.pythonhosted.org/packages/92/f9/edf6965ab5260257fad3ba962474908150ca45125b415a561ec710f6b5b6/pycurl-7.45.7-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0bcfeaf766372ec40e3830d4ad6ebc3064e8a0bd145214d4291d17ed6017f3e3", size = 3902808, upload-time = "2025-09-24T13:36:08.827Z" },
573
- { url = "https://files.pythonhosted.org/packages/a4/61/2c3aea6481d9012e9b8e7264225ac57a3fa03ff02b1b6c3a4e89a8b78bdf/pycurl-7.45.7-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:788df7ab964f03894c616e742e088f1bf209a54465f61541ba77901a9e1cd701", size = 5178287, upload-time = "2025-09-24T13:36:10.613Z" },
574
- { url = "https://files.pythonhosted.org/packages/ad/b7/e3524703c4a74d9e080a0f4bd6c7ec829bd1ed0a8d5f8c22eb91de8ba947/pycurl-7.45.7-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:3d19b4a94c2e20976cbc7773e5398bae19e3bc65a0894fcd01d8477bfc5fdb2f", size = 4881508, upload-time = "2025-09-24T13:36:12.305Z" },
575
- { url = "https://files.pythonhosted.org/packages/57/4c/721eeb17205aee5ff68511230b23b2cb0d70ffdf7aa9d393abdffa5e326c/pycurl-7.45.7-cp311-cp311-win32.whl", hash = "sha256:d5d7bc6e01d74548e93d5b9b3e38c3a91b6f54a36f2fe13407cac035b57f0c1f", size = 2738302, upload-time = "2025-09-24T13:36:14.078Z" },
576
- { url = "https://files.pythonhosted.org/packages/88/3f/c3ff543ad28c3e94f8db8044142a2c9963960ff976aeb1b09f4761967ab9/pycurl-7.45.7-cp311-cp311-win_amd64.whl", hash = "sha256:94a3c02381b62b2f0498f4ea3a3bd8b96ae2a6a905fcfd198547805894793a5b", size = 3299170, upload-time = "2025-09-24T13:36:15.898Z" },
577
- { url = "https://files.pythonhosted.org/packages/3b/d3/77cf5cef99e83cf9e088e4a4539b933cdccf2bfabbb32f55d0273f9efd11/pycurl-7.45.7-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:cd69340f5a49d6e4f67723db6ea4459c554d2210c3dd4da99950d6d405ddafb4", size = 3795471, upload-time = "2025-09-24T13:36:17.608Z" },
578
- { url = "https://files.pythonhosted.org/packages/18/f9/42137fcace6403a1670dc203a16fce443f53da7b14cdc28f05053008e56b/pycurl-7.45.7-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:752a5bbbd1b148b61d69be718e2c1c89a1b16de27a21e6382d28c8d2a33e9bf1", size = 3903182, upload-time = "2025-09-24T13:36:19.353Z" },
579
- { url = "https://files.pythonhosted.org/packages/9f/db/46134f8e822527a39fd4ed0e5150992274f1368a4fe8402818cc45470ffe/pycurl-7.45.7-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:5fa5afd86d86e156051c7d7d6de34f6c03a7a64e4794ac0d72379bee8fcafafd", size = 5188809, upload-time = "2025-09-24T13:36:21.444Z" },
580
- { url = "https://files.pythonhosted.org/packages/e1/f8/9a6148258b056202d5872fcd5e4d512ad9ee487c0f7b5dddd631004432b4/pycurl-7.45.7-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:f463a7f7c12b322b4f72af908f863b4da1f71dae344dd75f50d30c33ff0f197a", size = 4893965, upload-time = "2025-09-24T13:36:23.108Z" },
581
- { url = "https://files.pythonhosted.org/packages/41/16/bbf5da7e0108dafddb70347f299f6de54f1364079a66653759c9e9fb099d/pycurl-7.45.7-cp312-cp312-win32.whl", hash = "sha256:83c217e0c7aea28bbd9512e27fb6f9ef9b9f398dff57ebe223ecaa043bcd08fa", size = 2736232, upload-time = "2025-09-24T13:36:25.072Z" },
582
- { url = "https://files.pythonhosted.org/packages/a8/16/ab7d73ed3d2a31a9d9bb8a44710b8f95f6ea24bd260967f07ae67c36e8c4/pycurl-7.45.7-cp312-cp312-win_amd64.whl", hash = "sha256:150b1d2e98bcf760878b3891e6f2f937a4b2a90c559ffc6add65aeb5844bc66a", size = 3296191, upload-time = "2025-09-24T13:36:27.242Z" },
583
- { url = "https://files.pythonhosted.org/packages/1a/0c/b6442a204c13d68e339d18c7f16a30b0178ad1efed644fe411f8a404934c/pycurl-7.45.7-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:8d39cc233c7c3303072758b088ad7ccde0a5dcb30ce752f2f8a31428a07faac1", size = 3795397, upload-time = "2025-09-24T13:36:29.362Z" },
584
- { url = "https://files.pythonhosted.org/packages/e5/23/dae7f5bf59f31908fd10797e03e9af6ad70ee0fe8a71783bcced68ca7db4/pycurl-7.45.7-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:824a785d01500da47fe6935dbadc4b0a14577405c25d01327a94717578dd2b1d", size = 3903225, upload-time = "2025-09-24T13:36:31.393Z" },
585
- { url = "https://files.pythonhosted.org/packages/33/93/016d37e76b172d508706828319389a08be4cb669daab8cdac6947b699f80/pycurl-7.45.7-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:998335e6b69691c097e3a74214901c71773e0a7a8d3d0cc87c60d6969eb8b584", size = 5189262, upload-time = "2025-09-24T13:36:33.752Z" },
586
- { url = "https://files.pythonhosted.org/packages/24/e3/039ed3b136fb008354047881a3f36e5647d67d97d7b7620123fa8b9c515f/pycurl-7.45.7-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:00824c3c64d5e935d0325e6a000bb0242622cd763d1e202c1a8df455bc58da58", size = 4895224, upload-time = "2025-09-24T13:36:35.449Z" },
587
- { url = "https://files.pythonhosted.org/packages/9a/52/f2326e0ddb2c6ab74a46c90aff0aac565cc4f804f03ac6a454cf7c75cb37/pycurl-7.45.7-cp313-cp313-win32.whl", hash = "sha256:bfe49668ba0a7fba183cf0e189bb8da515793da8f383d8d157ac8647143dc516", size = 2736217, upload-time = "2025-09-24T13:36:37.152Z" },
588
- { url = "https://files.pythonhosted.org/packages/96/d5/d7214c92b97fe8541efcdf42a35e5b0852e6c57340f9266e4f4acccfa492/pycurl-7.45.7-cp313-cp313-win_amd64.whl", hash = "sha256:3d9d718c366983bc65b149f0947f016929b4001f604f2523e6de5a49907f4474", size = 3296259, upload-time = "2025-09-24T13:36:38.886Z" },
589
- { url = "https://files.pythonhosted.org/packages/85/bb/18c4e53ef9a8d52451336aae1e44768dfb639ba46dd02f331c5dc9220bc3/pycurl-7.45.7-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:6157ac0daf30ffc28446c54ebbd073c8c11b45cba9c45256619e218a07a31312", size = 3794861, upload-time = "2025-09-24T13:36:40.509Z" },
590
- { url = "https://files.pythonhosted.org/packages/ce/23/ea963df437b8b0fd4e2ff5909dbfd800364231a95588de2b6446ffbdd1c8/pycurl-7.45.7-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:09ac9a855273a77f7c6a72f05be430646c47a298d403a75876c2188ea5d77534", size = 3903002, upload-time = "2025-09-24T13:36:42.765Z" },
591
- { url = "https://files.pythonhosted.org/packages/4c/33/6432144d3961ff862c1ac933f4851828f8947d615aa46b50b91162224af9/pycurl-7.45.7-cp314-cp314-manylinux_2_28_aarch64.whl", hash = "sha256:0263e94d2ea3cd25b5fcf96527f521dc29b8a73a9b19e71223b6e2452f5cb35a", size = 5186571, upload-time = "2025-09-24T13:36:44.584Z" },
592
- { url = "https://files.pythonhosted.org/packages/44/91/635beb1e8c5a8b2a031fb09bd64e5c2abd332cebb9211739539ab385e731/pycurl-7.45.7-cp314-cp314-manylinux_2_28_x86_64.whl", hash = "sha256:54cffa56a5ead14915f1f0d3e8fabf6fcea3056a8e5f971fc1caebb9715bd9b1", size = 4891741, upload-time = "2025-09-24T13:36:46.7Z" },
593
- { url = "https://files.pythonhosted.org/packages/77/bd/51ffbf6c4a3c5bcdad2f3175c5b5980fff4dd668e2556593530030430fcf/pycurl-7.45.7-cp314-cp314-win32.whl", hash = "sha256:09e426cf5e61e5b37c30903734204f75023baa6e4bfe574e037f12e53ec3f0ba", size = 2817391, upload-time = "2025-09-24T13:36:48.766Z" },
594
- { url = "https://files.pythonhosted.org/packages/f1/68/c7c7f4b2372568eff3a12046364fdd74e382778563ee26727a1b016702bc/pycurl-7.45.7-cp314-cp314-win_amd64.whl", hash = "sha256:8eab3a83670d83966c7a0df4fa02cf2272499966066bfaa810444c427cb653b0", size = 3403530, upload-time = "2025-09-24T13:36:50.825Z" },
595
- { url = "https://files.pythonhosted.org/packages/e1/66/b65ae067433f37fd4c2b89aec9b0ab31b35cd3846e77854e7ec47bfb9d13/pycurl-7.45.7-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:69f16d6709f3305da1043ee9edb5e1715212b75011779d58c4bd8fc9ad9fc88a", size = 3798020, upload-time = "2025-09-24T13:36:53.259Z" },
596
- { url = "https://files.pythonhosted.org/packages/5d/31/af6edb607b7d359b54df63ee561650fe7f94347f86e7c600e0042af595cc/pycurl-7.45.7-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:435f140afa59eb0cece57e6364348977af768add452d49a8547a26fc90dc2bfa", size = 3905273, upload-time = "2025-09-24T13:36:55.386Z" },
597
- { url = "https://files.pythonhosted.org/packages/79/35/4825905afb55037db15d2d2c9a45253ca8951559ef5f62afd277c98d1ec2/pycurl-7.45.7-cp314-cp314t-manylinux_2_28_aarch64.whl", hash = "sha256:ff50a3d787c3d059f330d7cb7325b40416bcb0f43f5006b396a6e61871df0ebf", size = 5247322, upload-time = "2025-09-24T13:36:57.568Z" },
598
- { url = "https://files.pythonhosted.org/packages/28/fc/716a3e9d335aa12f09471842e49e3db9eb792a06ddc6203a6fb1b90b7f7a/pycurl-7.45.7-cp314-cp314t-manylinux_2_28_x86_64.whl", hash = "sha256:5ed0cab4e05558ba112111585ae2a85627ab48d6185547fc4ba8ec8e2cfecd0d", size = 4947252, upload-time = "2025-09-24T13:36:59.26Z" },
599
- { url = "https://files.pythonhosted.org/packages/43/05/b8274ad3740b76f029031921b1831f9a7f9fdc419333c85488b25dcde87a/pycurl-7.45.7-cp314-cp314t-win32.whl", hash = "sha256:e79f90c0af413933dedc79a1717f49076f08b32ff4a42776d6c38ba37125717e", size = 2824929, upload-time = "2025-09-24T13:37:01.665Z" },
600
- { url = "https://files.pythonhosted.org/packages/70/c1/3982528967a42eff566d7e94fce0c8a0cf293c398a38465f87709440f260/pycurl-7.45.7-cp314-cp314t-win_amd64.whl", hash = "sha256:bdb72c53445b1c09315940c81a14a3635dfde6710aea703976ce9617209830e7", size = 3412632, upload-time = "2025-09-24T13:37:03.852Z" },
567
+ version = "7.49.0"
568
+ source = { registry = "https://pypi.org/simple" }
569
+ sdist = { url = "https://files.pythonhosted.org/packages/a6/b3/93b9b8b4ed45f4700b3f9fc40b5daf189e0badd71d0839a6ad09cefa2245/pycurl-7.49.0.tar.gz", hash = "sha256:d4327da9dea72768f942f831bbaa5a64adca4d7c89f3141da7a833d3c600ab90", size = 305853, upload-time = "2026-10-27T01:33:40.575Z" }
570
+ wheels = [
571
+ { url = "https://files.pythonhosted.org/packages/66/e0/600818069cb8239c49d9d1614698425e0582fcb0b4db3b1aa7bccd38c13f/pycurl-7.49.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b19c8abb40d8d1d958b5ac134af33869043782c24b8868f48883ee34e3f5db61", size = 4886223, upload-time = "2026-10-27T01:32:18.094Z" },
572
+ { url = "https://files.pythonhosted.org/packages/20/95/a02a2cacc684c4a1b87eb6e133c72b53389709b85db4811bfdfbf3eae8a0/pycurl-7.49.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3a42e64f197ac3e95cc64a06a23a1a01ac55a22c8a7e94c9d93e9fe7d0c09d31", size = 4885301, upload-time = "2026-10-27T01:32:19.916Z" },
573
+ { url = "https://files.pythonhosted.org/packages/e7/d0/fdf5cdf76196c7281c01754359e46a914a7b028bf6db8c5eb6a03eb1b339/pycurl-7.49.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:b1cd6cea1618ec2a6bbe4e430b34dcc83c5bfb5373a25809fb77e4ec451990ad", size = 6644187, upload-time = "2026-10-27T01:32:21.519Z" },
574
+ { url = "https://files.pythonhosted.org/packages/fa/08/93271635259c240f6e3113b67c18af8c60219dfd95030fca38cd0460b9ea/pycurl-7.49.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:6f88539845d3bb2cf2ce0ccbc1bb8b9ed9e401a0d874798aeabc5f16f0f95c4d", size = 6341272, upload-time = "2026-10-27T01:32:23.339Z" },
575
+ { url = "https://files.pythonhosted.org/packages/44/1f/90eb2272db38e7766dcb70440aa3a1eaeebdc8d03ab63bc1b22ef8791db3/pycurl-7.49.0-cp311-cp311-win_amd64.whl", hash = "sha256:ee47cf03a9d3ad8f309c7a34dc6236c48d81257b91b164f9a8fb2363464a5ffa", size = 17183152, upload-time = "2026-10-27T01:32:25.021Z" },
576
+ { url = "https://files.pythonhosted.org/packages/ab/9f/e42b621c21fa8417a827a3e93997d5b5a867fa7f7f4e3e93c2b34956bd91/pycurl-7.49.0-cp311-cp311-win_arm64.whl", hash = "sha256:ccd92ed511675c52227c8e66c12d6f46cfae226960d563d116fd92e3038c5444", size = 17565623, upload-time = "2026-10-27T01:32:27.433Z" },
577
+ { url = "https://files.pythonhosted.org/packages/35/55/dba0d0cb19849c5bb26442d484b435338342488ba4eb820a751fdc56ea8d/pycurl-7.49.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:575d6d5d6e0c00577f81dfcbd696c27d824130abae2be9be167a4bfbdfc86c61", size = 4886569, upload-time = "2026-10-27T01:32:29.633Z" },
578
+ { url = "https://files.pythonhosted.org/packages/9c/1e/abcd6fd0afece28ef254bf27e7b5aa4437e53646f4a6c14c8863fe199364/pycurl-7.49.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2769aa99dac37856dba3c432eccd0585e1fa98735cb64b0c52f5ed552120a0d9", size = 4886220, upload-time = "2026-10-27T01:32:31.466Z" },
579
+ { url = "https://files.pythonhosted.org/packages/c7/dc/a2979dfb915916a4962c11d83a59d9a8f7b4d673e574f0d2a7da70fca321/pycurl-7.49.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:8aa63c7f2d8451681d7f709a097d3df14ce335aa8a1321499d9cd2c7e35a4a18", size = 6660885, upload-time = "2026-10-27T01:32:33.112Z" },
580
+ { url = "https://files.pythonhosted.org/packages/48/9b/dfc22a122d75ea45925aaa0a8fc1d0b56fec7198aad2992433bb392911cb/pycurl-7.49.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:b02ca356fb9aaced336a2b5ecd74f5eb1896442ddbfb47250e5cddb2b8578fab", size = 6358937, upload-time = "2026-10-27T01:32:35.125Z" },
581
+ { url = "https://files.pythonhosted.org/packages/59/ff/0db0354d99e5ba4a3c2d6f182ab34ba55d829f4abf455046cdf7176b7a51/pycurl-7.49.0-cp312-cp312-win_amd64.whl", hash = "sha256:e4062a52f378a2f0e6c0da4571fa0a676dd59681869d5645354caf56bba1c906", size = 17185579, upload-time = "2026-10-27T01:32:36.866Z" },
582
+ { url = "https://files.pythonhosted.org/packages/9a/c5/7f30b0363b6cd574365b97a34ab32356a9579e03c96de1918de15ff38a06/pycurl-7.49.0-cp312-cp312-win_arm64.whl", hash = "sha256:5b8247cc5f76ce37ced12ec5f25d11f6e4b5d87795dc5b4891b48aac70a7c2ff", size = 17565565, upload-time = "2026-10-27T01:32:39.211Z" },
583
+ { url = "https://files.pythonhosted.org/packages/58/2b/48572ccdc1a51c3628a98ab4db4a96aedd5b350bf123d10d03a75d7359a1/pycurl-7.49.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:1787fee6107fbe6771ff0e3f73b2878ea92711a844a91c2ef3831d5d6f40c613", size = 4886531, upload-time = "2026-10-27T01:32:41.6Z" },
584
+ { url = "https://files.pythonhosted.org/packages/8f/89/0ac7d0d6500924439ea98ebe5d482b3f312a6379de12259cb34d8cba3ca4/pycurl-7.49.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:21a197fcdc12c282136ad5879cf8566178d5228d84641f90f120bc988008239d", size = 4886076, upload-time = "2026-10-27T01:32:43.547Z" },
585
+ { url = "https://files.pythonhosted.org/packages/26/0a/2459ca3053d013691eb0afa051f22c1e567381bf1ae17254a539aa31f749/pycurl-7.49.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:2778868eec4353ded220bb1e0c3b9e63fa903e94ede3861cfc66ac386b55eabb", size = 6666830, upload-time = "2026-10-27T01:32:45.345Z" },
586
+ { url = "https://files.pythonhosted.org/packages/fd/81/a6acd0b7bd56868ca1851b6cdcd015231170f74ece8a3ddd6fc6fef534fb/pycurl-7.49.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:0553733d9654a6faf6c672320d68576b07e407b2104c5e7b5569346fcfafa6f3", size = 6364307, upload-time = "2026-10-27T01:32:47.115Z" },
587
+ { url = "https://files.pythonhosted.org/packages/b7/32/89f24ea0e7839c52ecba6b2b667af31c05b38d4c9bd267669fa624b707c4/pycurl-7.49.0-cp313-cp313-win_amd64.whl", hash = "sha256:a57eac115ebec7cc0130f3921896e04569653b3b6ca10293c05e21f50a3de997", size = 17185421, upload-time = "2026-10-27T01:32:48.904Z" },
588
+ { url = "https://files.pythonhosted.org/packages/e3/95/93351de992438992ef50e90b89ea8bfa50e9b11c305534236a8ab3789fa8/pycurl-7.49.0-cp313-cp313-win_arm64.whl", hash = "sha256:f1008cc6b1f0339284b80caeb61dca221f926817dd6f461b4e762b89c66ca3fd", size = 17565607, upload-time = "2026-10-27T01:32:51.142Z" },
589
+ { url = "https://files.pythonhosted.org/packages/d3/20/d14e1353015393727ce240e3d5680b804c734a2717376e5889d329c17c1b/pycurl-7.49.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:c640b751f6b48fe9ea9c23bb201c55aa6d6b528032cdb024d655e6a9297e249e", size = 4885908, upload-time = "2026-10-27T01:32:53.313Z" },
590
+ { url = "https://files.pythonhosted.org/packages/44/25/f3370a25176fa917368dd7aeda00750c3bcb49b816510173134b9be3fc02/pycurl-7.49.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:cd7087d96cb16d1c36b6fd3986c731d13ee2666c642b10e0f90822a96d106421", size = 4885724, upload-time = "2026-10-27T01:32:54.808Z" },
591
+ { url = "https://files.pythonhosted.org/packages/f2/9e/b58eb8f788d5eab2b9dc359a815b5077f2d89fe029e2bcd5a8ddd9ab7a75/pycurl-7.49.0-cp314-cp314-manylinux_2_28_aarch64.whl", hash = "sha256:53c2e43d3ac91a51faebb6e0eba6aebd376a01d57202e6713f7e99954b3b29ab", size = 6666228, upload-time = "2026-10-27T01:32:56.437Z" },
592
+ { url = "https://files.pythonhosted.org/packages/66/56/6adf005759ee0a5ed4b74e3c54210693e321ae23be80968c78e4fe7a76cd/pycurl-7.49.0-cp314-cp314-manylinux_2_28_x86_64.whl", hash = "sha256:113708c9619af2d07daa43c179538f87458a0298797553da1bae2c18ce5d944d", size = 6361723, upload-time = "2026-10-27T01:32:58.226Z" },
593
+ { url = "https://files.pythonhosted.org/packages/e7/bd/3fe3d4c0cb0a641f993a24878b547a6f696ddf57934a382c511747cbcfe9/pycurl-7.49.0-cp314-cp314-win_amd64.whl", hash = "sha256:023228cf243176c4cc00664335be4169bd4fb366d5f012e4e5e2d7fb85b65c0b", size = 17926093, upload-time = "2026-10-27T01:33:00.327Z" },
594
+ { url = "https://files.pythonhosted.org/packages/c8/7f/5482806ad301401473876e7f438439631c6e0d1b35989f5d427eaa040379/pycurl-7.49.0-cp314-cp314-win_arm64.whl", hash = "sha256:d08c0a1b858564a5b72c66e791d1ab1a37d62863967a5fc82150ad14f7cfc05c", size = 18324014, upload-time = "2026-10-27T01:33:02.679Z" },
595
+ { url = "https://files.pythonhosted.org/packages/c3/43/5d6258259269de97c0d81e4e5ddef98031e53a2f6ce04e5867ec43c710be/pycurl-7.49.0-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:e09605c621680151da64c9da0a1a9b78fb24111c4ebaa0e2ab7ca18b6676d997", size = 4890190, upload-time = "2026-10-27T01:33:04.983Z" },
596
+ { url = "https://files.pythonhosted.org/packages/04/a0/b8d2f5fdb7b5d81e78147ceb5fdbaf767083bc9f024fbe2198ec307493bd/pycurl-7.49.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:f19b1153d68da7988b44fcc15826c9acac848a144070fff00d9c1b04d9820d06", size = 4889026, upload-time = "2026-10-27T01:33:06.587Z" },
597
+ { url = "https://files.pythonhosted.org/packages/14/33/35856c19741804313e59e5e60558a42663ef66059cbf88201ebd21f7c255/pycurl-7.49.0-cp314-cp314t-manylinux_2_28_aarch64.whl", hash = "sha256:61caaf8edf39fbc01d8c4326aeeab809e3b50d82cdc0d61c9481a87568631b69", size = 6761451, upload-time = "2026-10-27T01:33:08.395Z" },
598
+ { url = "https://files.pythonhosted.org/packages/a6/51/0e0eb77435e535d0914aa2519972ef8ac3e82e5c8279677618d9b72fa123/pycurl-7.49.0-cp314-cp314t-manylinux_2_28_x86_64.whl", hash = "sha256:ef0192aefe5b71a2f35ba69aee640634c1b9610ab5117790b2558edffc6caf4a", size = 6447791, upload-time = "2026-10-27T01:33:10.11Z" },
599
+ { url = "https://files.pythonhosted.org/packages/1b/a2/b17626fe68376492f94a7007159e201ca6cca8907544342f8e02b58e28e3/pycurl-7.49.0-cp314-cp314t-win_amd64.whl", hash = "sha256:571d8874dc7037c5d270346c7a1a7825f18354b4b2ab75646459e166fa63c319", size = 17931082, upload-time = "2026-10-27T01:33:12.052Z" },
600
+ { url = "https://files.pythonhosted.org/packages/75/dd/d1c94008d97116e8fd1f5e06fc3e26d1f87de608d0c2d4c4bcb5a506802a/pycurl-7.49.0-cp314-cp314t-win_arm64.whl", hash = "sha256:b0f413a826f11e5ebb05225108da1a40f2f60cdcf1e8450a188127c5e7963d7c", size = 18325405, upload-time = "2026-10-27T01:33:14.48Z" },
601
+ { url = "https://files.pythonhosted.org/packages/80/45/170a5eff99bf3a9c0ec69c3c15272d44d31709911cefeb32e22f7a865113/pycurl-7.49.0-cp315-cp315-macosx_10_15_x86_64.whl", hash = "sha256:873a441bee695ce280aa11f4e2220389d6395c70e2728d585a998b648e4a0345", size = 4886090, upload-time = "2026-10-27T01:33:16.651Z" },
602
+ { url = "https://files.pythonhosted.org/packages/2b/ac/2711c69beea1754012cb34319538e7206f1a9faa295c97269efd920b5528/pycurl-7.49.0-cp315-cp315-macosx_11_0_arm64.whl", hash = "sha256:4c2c6059651ef9859a350877001c2155810def14fcca1e7ad88f6e845251e930", size = 4885757, upload-time = "2026-10-27T01:33:18.236Z" },
603
+ { url = "https://files.pythonhosted.org/packages/87/5b/742bf83897c70ffa4e62970db9dd23681bf3262a1f9159915a9cab88ceb0/pycurl-7.49.0-cp315-cp315-manylinux_2_28_aarch64.whl", hash = "sha256:10be3ff2c57d792a00a5bc2d900a2153823516a5acb5463775d64aa586eca8d3", size = 6669551, upload-time = "2026-10-27T01:33:20.056Z" },
604
+ { url = "https://files.pythonhosted.org/packages/2e/24/dec569f9f9c43cad4fb72d7c5b6d9c3067670700804d6742d783b010550e/pycurl-7.49.0-cp315-cp315-manylinux_2_28_x86_64.whl", hash = "sha256:684747cca0e1a8d045c4a3b9a4db3e604bedfbc932955377a58998491c7d29e8", size = 6366030, upload-time = "2026-10-27T01:33:21.995Z" },
605
+ { url = "https://files.pythonhosted.org/packages/70/9f/bed5494ff7233d83c129b7bb67659befa825cdc1fe5df6f7ffbcdf8d3eda/pycurl-7.49.0-cp315-cp315-win_amd64.whl", hash = "sha256:a34a5a4885fc244f6976738f8ad2235b9eb526b0886fa5ce1ad926540f90545e", size = 17926221, upload-time = "2026-10-27T01:33:24.053Z" },
606
+ { url = "https://files.pythonhosted.org/packages/60/1a/ed817f328a6a74854558f65b7ffafcc622fd51a73c63cd2814dc09ae308b/pycurl-7.49.0-cp315-cp315-win_arm64.whl", hash = "sha256:b485321ca8de7d3ddd24aad1746beaf22c6b1d5d7dfea95ca9390b8f6f940fc8", size = 18324099, upload-time = "2026-10-27T01:33:26.314Z" },
607
+ { url = "https://files.pythonhosted.org/packages/ae/6f/ba651870fe58bca24828ee69671c32f860018c4b2951b29817d6c5915aed/pycurl-7.49.0-cp315-cp315t-macosx_10_15_x86_64.whl", hash = "sha256:b6f0fc0c6317fe74da605088435161b1e6756c07aa51c2a02b819e399d3b19bc", size = 4889811, upload-time = "2026-10-27T01:33:29.052Z" },
608
+ { url = "https://files.pythonhosted.org/packages/4a/85/3eb7fab97ea6c866dc7e8e372ecdfe441f6e9be06daf7dbca233901d8396/pycurl-7.49.0-cp315-cp315t-macosx_11_0_arm64.whl", hash = "sha256:88561246362aa35e3e99c70d0fd6d46379e89e7d2efe3caaab2ecf0fee261a47", size = 4888901, upload-time = "2026-10-27T01:33:31.194Z" },
609
+ { url = "https://files.pythonhosted.org/packages/fd/28/81253c27f1a40c1ac40fdfb5e663d101c5dd24b05d53e2d6e99876448c3c/pycurl-7.49.0-cp315-cp315t-manylinux_2_28_aarch64.whl", hash = "sha256:fa556d6ad832b5bb879517b751b29e3dcfc75f5771971be3106c0e116987aa5b", size = 6759934, upload-time = "2026-10-27T01:33:32.929Z" },
610
+ { url = "https://files.pythonhosted.org/packages/5f/ea/0162f5c7c8ddb6b3037bc1fe94031118ff559bfac6a1f35c1435c3d29b14/pycurl-7.49.0-cp315-cp315t-manylinux_2_28_x86_64.whl", hash = "sha256:d6c9ecda1bdeca76649d8230d5b187dba781122222d3eda83f7d3214144c9483", size = 6446834, upload-time = "2026-10-27T01:33:34.66Z" },
611
+ { url = "https://files.pythonhosted.org/packages/93/f3/13839976a78c8897d29bfdf94b5fb8816ffdcde223a7c00a4455c0ece3ae/pycurl-7.49.0-cp315-cp315t-win_amd64.whl", hash = "sha256:938cecd67c7f30a0a650fcc9de00af77a41a44cdbf851ad6088624bf6b0f0e6b", size = 17930842, upload-time = "2026-10-27T01:33:36.401Z" },
612
+ { url = "https://files.pythonhosted.org/packages/c0/dc/40d852dad9db1ea0b549bad7e5690917ddaeb6ce1a609bb5c767746b3ed0/pycurl-7.49.0-cp315-cp315t-win_arm64.whl", hash = "sha256:1371e217a7e4d86ff6efedd576b5267b42143a9964df91dba3fe7d31a68aa18a", size = 18325342, upload-time = "2026-10-27T01:33:38.641Z" },
601
613
  ]
602
614
 
603
615
  [[package]]
@@ -902,7 +914,7 @@ wheels = [
902
914
 
903
915
  [[package]]
904
916
  name = "virtualenv"
905
- version = "21.14.9"
917
+ version = "21.15.1"
906
918
  source = { registry = "https://pypi.org/simple" }
907
919
  dependencies = [
908
920
  { name = "distlib" },
@@ -911,7 +923,7 @@ dependencies = [
911
923
  { name = "platformdirs" },
912
924
  { name = "python-discovery" },
913
925
  ]
914
- sdist = { url = "https://files.pythonhosted.org/packages/d0/04/2f69ba1207ce59630ecea8ebfdaf5c8f9a14726f2408ccd145a18d1ef619/virtualenv-21.14.9.tar.gz", hash = "sha256:4d1bee354cd81c820da3bee56e38be3426490f8d1fc54e10ea5b2072ebad8ef8", size = 5500672, upload-time = "2026-10-17T16:09:42.345Z" }
926
+ sdist = { url = "https://files.pythonhosted.org/packages/b2/24/20282bc8e69ff8dee680dc2b95e9dc81fa7e7894b14c1a8d06330e97fef7/virtualenv-21.15.1.tar.gz", hash = "sha256:e79c90b8f601701599c25905e02839924fede2c798d52325670d24fbdaab74ee", size = 5517048, upload-time = "2026-10-28T01:12:50.919Z" }
915
927
  wheels = [
916
- { url = "https://files.pythonhosted.org/packages/64/e5/9a3918219745e8bdd64fe0fd9a2d7ce4fffde9268fbc791634b7d4779de9/virtualenv-21.14.9-py3-none-any.whl", hash = "sha256:ac51744da66ae56ff814b087d65096c94de698ec520adc624b108b679655809b", size = 5494452, upload-time = "2026-10-17T16:09:40.584Z" },
928
+ { url = "https://files.pythonhosted.org/packages/ce/23/cdab19d3a9da42ca0938081e163e25f81e610141800ead743ba1ee881f0e/virtualenv-21.15.1-py3-none-any.whl", hash = "sha256:0d14a991689c67600316880eadc0a37b7690cb632e3b4ac67e2bc05b2b2e24a4", size = 5558848, upload-time = "2026-10-28T01:12:48.605Z" },
917
929
  ]
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes