amati 0.3.19__tar.gz → 0.3.20__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 (103) hide show
  1. {amati-0.3.19 → amati-0.3.20}/.github/workflows/checks.yaml +2 -2
  2. {amati-0.3.19 → amati-0.3.20}/.github/workflows/codeql.yml +2 -2
  3. {amati-0.3.19 → amati-0.3.20}/.github/workflows/coverage.yaml +1 -1
  4. {amati-0.3.19 → amati-0.3.20}/.github/workflows/data-refresh.yaml +1 -1
  5. {amati-0.3.19 → amati-0.3.20}/.github/workflows/publish.yaml +1 -1
  6. {amati-0.3.19 → amati-0.3.20}/.github/workflows/scorecards.yml +2 -2
  7. {amati-0.3.19 → amati-0.3.20}/.github/workflows/tag-and-create-release.yaml +1 -1
  8. {amati-0.3.19 → amati-0.3.20}/.pre-commit-config.yaml +1 -1
  9. {amati-0.3.19 → amati-0.3.20}/PKG-INFO +1 -1
  10. {amati-0.3.19 → amati-0.3.20}/amati/_data/files/media-types.json +3 -0
  11. {amati-0.3.19 → amati-0.3.20}/pyproject.toml +1 -1
  12. {amati-0.3.19 → amati-0.3.20}/uv.lock +26 -26
  13. {amati-0.3.19 → amati-0.3.20}/.dockerignore +0 -0
  14. {amati-0.3.19 → amati-0.3.20}/.github/actions/setup/action.yaml +0 -0
  15. {amati-0.3.19 → amati-0.3.20}/.github/dependabot.yml +0 -0
  16. {amati-0.3.19 → amati-0.3.20}/.github/workflows/dependency-review.yml +0 -0
  17. {amati-0.3.19 → amati-0.3.20}/.gitignore +0 -0
  18. {amati-0.3.19 → amati-0.3.20}/.python-version +0 -0
  19. {amati-0.3.19 → amati-0.3.20}/Dockerfile +0 -0
  20. {amati-0.3.19 → amati-0.3.20}/LICENSE +0 -0
  21. {amati-0.3.19 → amati-0.3.20}/README.md +0 -0
  22. {amati-0.3.19 → amati-0.3.20}/SECURITY.md +0 -0
  23. {amati-0.3.19 → amati-0.3.20}/TEMPLATE.html +0 -0
  24. {amati-0.3.19 → amati-0.3.20}/amati/__init__.py +0 -0
  25. {amati-0.3.19 → amati-0.3.20}/amati/_data/files/http-status-codes.json +0 -0
  26. {amati-0.3.19 → amati-0.3.20}/amati/_data/files/iso9110.json +0 -0
  27. {amati-0.3.19 → amati-0.3.20}/amati/_data/files/schemes.json +0 -0
  28. {amati-0.3.19 → amati-0.3.20}/amati/_data/files/spdx-licences.json +0 -0
  29. {amati-0.3.19 → amati-0.3.20}/amati/_data/files/tlds.json +0 -0
  30. {amati-0.3.19 → amati-0.3.20}/amati/_data/http_status_code.py +0 -0
  31. {amati-0.3.19 → amati-0.3.20}/amati/_data/iso9110.py +0 -0
  32. {amati-0.3.19 → amati-0.3.20}/amati/_data/media_types.py +0 -0
  33. {amati-0.3.19 → amati-0.3.20}/amati/_data/refresh.py +0 -0
  34. {amati-0.3.19 → amati-0.3.20}/amati/_data/schemes.py +0 -0
  35. {amati-0.3.19 → amati-0.3.20}/amati/_data/spdx_licences.py +0 -0
  36. {amati-0.3.19 → amati-0.3.20}/amati/_data/tlds.py +0 -0
  37. {amati-0.3.19 → amati-0.3.20}/amati/_error_handler.py +0 -0
  38. {amati-0.3.19 → amati-0.3.20}/amati/_logging.py +0 -0
  39. {amati-0.3.19 → amati-0.3.20}/amati/_references.py +0 -0
  40. {amati-0.3.19 → amati-0.3.20}/amati/_resolve_forward_references.py +0 -0
  41. {amati-0.3.19 → amati-0.3.20}/amati/amati.py +0 -0
  42. {amati-0.3.19 → amati-0.3.20}/amati/exceptions.py +0 -0
  43. {amati-0.3.19 → amati-0.3.20}/amati/fields/__init__.py +0 -0
  44. {amati-0.3.19 → amati-0.3.20}/amati/fields/_custom_types.py +0 -0
  45. {amati-0.3.19 → amati-0.3.20}/amati/fields/commonmark.py +0 -0
  46. {amati-0.3.19 → amati-0.3.20}/amati/fields/email.py +0 -0
  47. {amati-0.3.19 → amati-0.3.20}/amati/fields/http_status_codes.py +0 -0
  48. {amati-0.3.19 → amati-0.3.20}/amati/fields/iso9110.py +0 -0
  49. {amati-0.3.19 → amati-0.3.20}/amati/fields/json.py +0 -0
  50. {amati-0.3.19 → amati-0.3.20}/amati/fields/media.py +0 -0
  51. {amati-0.3.19 → amati-0.3.20}/amati/fields/oas.py +0 -0
  52. {amati-0.3.19 → amati-0.3.20}/amati/fields/spdx_licences.py +0 -0
  53. {amati-0.3.19 → amati-0.3.20}/amati/fields/uri.py +0 -0
  54. {amati-0.3.19 → amati-0.3.20}/amati/file_handler.py +0 -0
  55. {amati-0.3.19 → amati-0.3.20}/amati/grammars/oas.py +0 -0
  56. {amati-0.3.19 → amati-0.3.20}/amati/grammars/rfc6901.py +0 -0
  57. {amati-0.3.19 → amati-0.3.20}/amati/grammars/rfc7159.py +0 -0
  58. {amati-0.3.19 → amati-0.3.20}/amati/model_validators.py +0 -0
  59. {amati-0.3.19 → amati-0.3.20}/amati/py.typed +0 -0
  60. {amati-0.3.19 → amati-0.3.20}/amati/validators/__init__.py +0 -0
  61. {amati-0.3.19 → amati-0.3.20}/amati/validators/_discriminators.py +0 -0
  62. {amati-0.3.19 → amati-0.3.20}/amati/validators/generic.py +0 -0
  63. {amati-0.3.19 → amati-0.3.20}/amati/validators/oas304.py +0 -0
  64. {amati-0.3.19 → amati-0.3.20}/amati/validators/oas311.py +0 -0
  65. {amati-0.3.19 → amati-0.3.20}/bin/checks.sh +0 -0
  66. {amati-0.3.19 → amati-0.3.20}/bin/startup.sh +0 -0
  67. {amati-0.3.19 → amati-0.3.20}/bin/upgrade-python.sh +0 -0
  68. {amati-0.3.19 → amati-0.3.20}/bin/uv-upgrade-from-main.sh +0 -0
  69. {amati-0.3.19 → amati-0.3.20}/scripts/setup_test_specs.py +0 -0
  70. {amati-0.3.19 → amati-0.3.20}/tests/__init__.py +0 -0
  71. {amati-0.3.19 → amati-0.3.20}/tests/data/.amati.tests.yaml +0 -0
  72. {amati-0.3.19 → amati-0.3.20}/tests/data/DigitalOcean-public.v2.errors.json +0 -0
  73. {amati-0.3.19 → amati-0.3.20}/tests/data/api.github.com.json.errors.json +0 -0
  74. {amati-0.3.19 → amati-0.3.20}/tests/data/api.github.com.yaml.errors.json +0 -0
  75. {amati-0.3.19 → amati-0.3.20}/tests/data/discourse.yml.errors.json +0 -0
  76. {amati-0.3.19 → amati-0.3.20}/tests/data/invalid-openapi.yaml +0 -0
  77. {amati-0.3.19 → amati-0.3.20}/tests/data/next-api.github.com.json.errors.json +0 -0
  78. {amati-0.3.19 → amati-0.3.20}/tests/data/openapi.yaml +0 -0
  79. {amati-0.3.19 → amati-0.3.20}/tests/data/openapi.yaml.gz +0 -0
  80. {amati-0.3.19 → amati-0.3.20}/tests/fields/__init__.py +0 -0
  81. {amati-0.3.19 → amati-0.3.20}/tests/fields/test_email.py +0 -0
  82. {amati-0.3.19 → amati-0.3.20}/tests/fields/test_http_status_codes.py +0 -0
  83. {amati-0.3.19 → amati-0.3.20}/tests/fields/test_iso9110.py +0 -0
  84. {amati-0.3.19 → amati-0.3.20}/tests/fields/test_media.py +0 -0
  85. {amati-0.3.19 → amati-0.3.20}/tests/fields/test_oas.py +0 -0
  86. {amati-0.3.19 → amati-0.3.20}/tests/fields/test_spdx_licences.py +0 -0
  87. {amati-0.3.19 → amati-0.3.20}/tests/fields/test_uri.py +0 -0
  88. {amati-0.3.19 → amati-0.3.20}/tests/model_validators/test_all_of.py +0 -0
  89. {amati-0.3.19 → amati-0.3.20}/tests/model_validators/test_at_least_one.py +0 -0
  90. {amati-0.3.19 → amati-0.3.20}/tests/model_validators/test_if_then.py +0 -0
  91. {amati-0.3.19 → amati-0.3.20}/tests/model_validators/test_only_one.py +0 -0
  92. {amati-0.3.19 → amati-0.3.20}/tests/references/test_uri_collector_mixin.py +0 -0
  93. {amati-0.3.19 → amati-0.3.20}/tests/references/test_uri_reference.py +0 -0
  94. {amati-0.3.19 → amati-0.3.20}/tests/references/test_uri_registry.py +0 -0
  95. {amati-0.3.19 → amati-0.3.20}/tests/strategies.py +0 -0
  96. {amati-0.3.19 → amati-0.3.20}/tests/test_amati.py +0 -0
  97. {amati-0.3.19 → amati-0.3.20}/tests/test_external_specs.py +0 -0
  98. {amati-0.3.19 → amati-0.3.20}/tests/test_logging.py +0 -0
  99. {amati-0.3.19 → amati-0.3.20}/tests/validators/__init__.py +0 -0
  100. {amati-0.3.19 → amati-0.3.20}/tests/validators/test_generic.py +0 -0
  101. {amati-0.3.19 → amati-0.3.20}/tests/validators/test_licence_object.py +0 -0
  102. {amati-0.3.19 → amati-0.3.20}/tests/validators/test_security_scheme_object.py +0 -0
  103. {amati-0.3.19 → amati-0.3.20}/tests/validators/test_server_variable_object.py +0 -0
@@ -77,14 +77,14 @@ jobs:
77
77
  - name: Coverage comment
78
78
  if: steps.check_changes.outputs.relevant == 'true'
79
79
  id: coverage_comment
80
- uses: py-cov-action/python-coverage-comment-action@1ac153f97397005ebcbec0c3caefa58f56ae5a26 # v3
80
+ uses: py-cov-action/python-coverage-comment-action@1b2f31c66ea0a0b54532ecbeb06bcafbee31b066 # v3
81
81
  with:
82
82
  GITHUB_TOKEN: ${{ secrets.BOT_COMMENT_TOKEN }}
83
83
  continue-on-error: true
84
84
 
85
85
  - name: Store Pull Request comment to be posted
86
86
  if: steps.check_changes.outputs.relevant == 'true'
87
- uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
87
+ uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
88
88
  with:
89
89
  name: python-coverage-comment-action
90
90
  path: python-coverage-comment-action.txt
@@ -73,7 +73,7 @@ jobs:
73
73
 
74
74
  # Initializes the CodeQL tools for scanning.
75
75
  - name: Initialize CodeQL
76
- uses: github/codeql-action/init@cf1bb45a277cb3c205638b2cd5c984db1c46a412 # v4.31.7
76
+ uses: github/codeql-action/init@1b168cd39490f61582a9beae412bb7057a6b2c4e # v4.31.8
77
77
  with:
78
78
  languages: ${{ matrix.language }}
79
79
  build-mode: ${{ matrix.build-mode }}
@@ -101,6 +101,6 @@ jobs:
101
101
  exit 1
102
102
 
103
103
  - name: Perform CodeQL Analysis
104
- uses: github/codeql-action/analyze@cf1bb45a277cb3c205638b2cd5c984db1c46a412 # v4.31.7
104
+ uses: github/codeql-action/analyze@1b168cd39490f61582a9beae412bb7057a6b2c4e # v4.31.8
105
105
  with:
106
106
  category: "/language:${{matrix.language}}"
@@ -24,7 +24,7 @@ jobs:
24
24
  egress-policy: audit
25
25
 
26
26
  - name: Post comment
27
- uses: py-cov-action/python-coverage-comment-action@1ac153f97397005ebcbec0c3caefa58f56ae5a26 # v3
27
+ uses: py-cov-action/python-coverage-comment-action@1b2f31c66ea0a0b54532ecbeb06bcafbee31b066 # v3
28
28
  with:
29
29
  GITHUB_TOKEN: ${{ secrets.BOT_COMMENT_TOKEN }}
30
30
  GITHUB_PR_RUN_ID: ${{ github.event.workflow_run.id }}
@@ -25,7 +25,7 @@ jobs:
25
25
  token: ${{ secrets.BOT_TOKEN }}
26
26
 
27
27
  - name: Set up uv
28
- uses: astral-sh/setup-uv@1e862dfacbd1d6d858c55d9b792c756523627244 # v7.1.4
28
+ uses: astral-sh/setup-uv@681c641aba71e4a1c380be3ab5e12ad51f415867 # v7.1.6
29
29
  with:
30
30
  version: "latest"
31
31
 
@@ -24,7 +24,7 @@ jobs:
24
24
 
25
25
  - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
26
26
  - name: Install uv
27
- uses: astral-sh/setup-uv@1e862dfacbd1d6d858c55d9b792c756523627244 # v7.1.4
27
+ uses: astral-sh/setup-uv@681c641aba71e4a1c380be3ab5e12ad51f415867 # v7.1.6
28
28
  - name: Set up Python
29
29
  uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0
30
30
  with:
@@ -72,7 +72,7 @@ jobs:
72
72
  # Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF
73
73
  # format to the repository Actions tab.
74
74
  - name: "Upload artifact"
75
- uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
75
+ uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
76
76
  with:
77
77
  name: SARIF file
78
78
  path: results.sarif
@@ -80,6 +80,6 @@ jobs:
80
80
 
81
81
  # Upload the results to GitHub's code scanning dashboard.
82
82
  - name: "Upload to code-scanning"
83
- uses: github/codeql-action/upload-sarif@cf1bb45a277cb3c205638b2cd5c984db1c46a412 # v4.31.7
83
+ uses: github/codeql-action/upload-sarif@1b168cd39490f61582a9beae412bb7057a6b2c4e # v4.31.8
84
84
  with:
85
85
  sarif_file: results.sarif
@@ -34,7 +34,7 @@ jobs:
34
34
  fetch-depth: 0 # Fetch all history for proper tag creation
35
35
  token: ${{ secrets.BOT_TOKEN }}
36
36
  - name: Install uv
37
- uses: astral-sh/setup-uv@1e862dfacbd1d6d858c55d9b792c756523627244 # v7.1.4
37
+ uses: astral-sh/setup-uv@681c641aba71e4a1c380be3ab5e12ad51f415867 # v7.1.6
38
38
 
39
39
  - name: Current version
40
40
  id: current_version
@@ -1,7 +1,7 @@
1
1
  repos:
2
2
  - repo: https://github.com/astral-sh/ruff-pre-commit
3
3
  # Ruff version.
4
- rev: v0.14.9
4
+ rev: v0.14.10
5
5
  hooks:
6
6
  # Run the linter.
7
7
  - id: ruff-check
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: amati
3
- Version: 0.3.19
3
+ Version: 0.3.20
4
4
  Summary: Validates that a .yaml or .json file conforms to the OpenAPI Specifications 3.x.
5
5
  Project-URL: Homepage, https://github.com/gwyli/amati
6
6
  Project-URL: Issues, https://github.com/gwyli/amati/issues
@@ -481,6 +481,7 @@
481
481
  "stix+json",
482
482
  "stratum",
483
483
  "suit-envelope+cose",
484
+ "suit-report+cose",
484
485
  "swid+cbor",
485
486
  "swid+xml",
486
487
  "tamp-apex-update",
@@ -529,6 +530,7 @@
529
530
  "vc",
530
531
  "vc+cose",
531
532
  "vc+jwt",
533
+ "vc+sd-jwt",
532
534
  "vcard+json",
533
535
  "vcard+xml",
534
536
  "vec+xml",
@@ -1655,6 +1657,7 @@
1655
1657
  "vp",
1656
1658
  "vp+cose",
1657
1659
  "vp+jwt",
1660
+ "vp+sd-jwt",
1658
1661
  "vq-rtcpxr",
1659
1662
  "wasm",
1660
1663
  "watcherinfo+xml",
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "amati"
3
- version = "0.3.19"
3
+ version = "0.3.20"
4
4
  description = "Validates that a .yaml or .json file conforms to the OpenAPI Specifications 3.x."
5
5
  readme = "README.md"
6
6
  authors = [
@@ -13,7 +13,7 @@ wheels = [
13
13
 
14
14
  [[package]]
15
15
  name = "amati"
16
- version = "0.3.19"
16
+ version = "0.3.20"
17
17
  source = { editable = "." }
18
18
  dependencies = [
19
19
  { name = "abnf" },
@@ -378,7 +378,7 @@ wheels = [
378
378
 
379
379
  [[package]]
380
380
  name = "pre-commit"
381
- version = "4.5.0"
381
+ version = "4.5.1"
382
382
  source = { registry = "https://pypi.org/simple/" }
383
383
  dependencies = [
384
384
  { name = "cfgv" },
@@ -387,9 +387,9 @@ dependencies = [
387
387
  { name = "pyyaml" },
388
388
  { name = "virtualenv" },
389
389
  ]
390
- sdist = { url = "https://files.pythonhosted.org/packages/f4/9b/6a4ffb4ed980519da959e1cf3122fc6cb41211daa58dbae1c73c0e519a37/pre_commit-4.5.0.tar.gz", hash = "sha256:dc5a065e932b19fc1d4c653c6939068fe54325af8e741e74e88db4d28a4dd66b", size = 198428, upload-time = "2025-11-22T21:02:42.304Z" }
390
+ sdist = { url = "https://files.pythonhosted.org/packages/40/f1/6d86a29246dfd2e9b6237f0b5823717f60cad94d47ddc26afa916d21f525/pre_commit-4.5.1.tar.gz", hash = "sha256:eb545fcff725875197837263e977ea257a402056661f09dae08e4b149b030a61", size = 198232, upload-time = "2025-12-16T21:14:33.552Z" }
391
391
  wheels = [
392
- { url = "https://files.pythonhosted.org/packages/5d/c4/b2d28e9d2edf4f1713eb3c29307f1a63f3d67cf09bdda29715a36a68921a/pre_commit-4.5.0-py2.py3-none-any.whl", hash = "sha256:25e2ce09595174d9c97860a95609f9f852c0614ba602de3561e267547f2335e1", size = 226429, upload-time = "2025-11-22T21:02:40.836Z" },
392
+ { url = "https://files.pythonhosted.org/packages/5d/19/fd3ef348460c80af7bb4669ea7926651d1f95c23ff2df18b9d24bab4f3fa/pre_commit-4.5.1-py2.py3-none-any.whl", hash = "sha256:3b3afd891e97337708c1674210f8eba659b52a38ea5f822ff142d10786221f77", size = 226437, upload-time = "2025-12-16T21:14:32.409Z" },
393
393
  ]
394
394
 
395
395
  [[package]]
@@ -591,28 +591,28 @@ wheels = [
591
591
 
592
592
  [[package]]
593
593
  name = "ruff"
594
- version = "0.14.9"
595
- source = { registry = "https://pypi.org/simple/" }
596
- sdist = { url = "https://files.pythonhosted.org/packages/f6/1b/ab712a9d5044435be8e9a2beb17cbfa4c241aa9b5e4413febac2a8b79ef2/ruff-0.14.9.tar.gz", hash = "sha256:35f85b25dd586381c0cc053f48826109384c81c00ad7ef1bd977bfcc28119d5b", size = 5809165, upload-time = "2025-12-11T21:39:47.381Z" }
597
- wheels = [
598
- { url = "https://files.pythonhosted.org/packages/b8/1c/d1b1bba22cffec02351c78ab9ed4f7d7391876e12720298448b29b7229c1/ruff-0.14.9-py3-none-linux_armv6l.whl", hash = "sha256:f1ec5de1ce150ca6e43691f4a9ef5c04574ad9ca35c8b3b0e18877314aba7e75", size = 13576541, upload-time = "2025-12-11T21:39:14.806Z" },
599
- { url = "https://files.pythonhosted.org/packages/94/ab/ffe580e6ea1fca67f6337b0af59fc7e683344a43642d2d55d251ff83ceae/ruff-0.14.9-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:ed9d7417a299fc6030b4f26333bf1117ed82a61ea91238558c0268c14e00d0c2", size = 13779363, upload-time = "2025-12-11T21:39:20.29Z" },
600
- { url = "https://files.pythonhosted.org/packages/7d/f8/2be49047f929d6965401855461e697ab185e1a6a683d914c5c19c7962d9e/ruff-0.14.9-py3-none-macosx_11_0_arm64.whl", hash = "sha256:d5dc3473c3f0e4a1008d0ef1d75cee24a48e254c8bed3a7afdd2b4392657ed2c", size = 12925292, upload-time = "2025-12-11T21:39:38.757Z" },
601
- { url = "https://files.pythonhosted.org/packages/9e/e9/08840ff5127916bb989c86f18924fd568938b06f58b60e206176f327c0fe/ruff-0.14.9-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:84bf7c698fc8f3cb8278830fb6b5a47f9bcc1ed8cb4f689b9dd02698fa840697", size = 13362894, upload-time = "2025-12-11T21:39:02.524Z" },
602
- { url = "https://files.pythonhosted.org/packages/31/1c/5b4e8e7750613ef43390bb58658eaf1d862c0cc3352d139cd718a2cea164/ruff-0.14.9-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:aa733093d1f9d88a5d98988d8834ef5d6f9828d03743bf5e338bf980a19fce27", size = 13311482, upload-time = "2025-12-11T21:39:17.51Z" },
603
- { url = "https://files.pythonhosted.org/packages/5b/3a/459dce7a8cb35ba1ea3e9c88f19077667a7977234f3b5ab197fad240b404/ruff-0.14.9-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6a1cfb04eda979b20c8c19550c8b5f498df64ff8da151283311ce3199e8b3648", size = 14016100, upload-time = "2025-12-11T21:39:41.948Z" },
604
- { url = "https://files.pythonhosted.org/packages/a6/31/f064f4ec32524f9956a0890fc6a944e5cf06c63c554e39957d208c0ffc45/ruff-0.14.9-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:1e5cb521e5ccf0008bd74d5595a4580313844a42b9103b7388eca5a12c970743", size = 15477729, upload-time = "2025-12-11T21:39:23.279Z" },
605
- { url = "https://files.pythonhosted.org/packages/7a/6d/f364252aad36ccd443494bc5f02e41bf677f964b58902a17c0b16c53d890/ruff-0.14.9-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cd429a8926be6bba4befa8cdcf3f4dd2591c413ea5066b1e99155ed245ae42bb", size = 15122386, upload-time = "2025-12-11T21:39:33.125Z" },
606
- { url = "https://files.pythonhosted.org/packages/20/02/e848787912d16209aba2799a4d5a1775660b6a3d0ab3944a4ccc13e64a02/ruff-0.14.9-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ab208c1b7a492e37caeaf290b1378148f75e13c2225af5d44628b95fd7834273", size = 14497124, upload-time = "2025-12-11T21:38:59.33Z" },
607
- { url = "https://files.pythonhosted.org/packages/f3/51/0489a6a5595b7760b5dbac0dd82852b510326e7d88d51dbffcd2e07e3ff3/ruff-0.14.9-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:72034534e5b11e8a593f517b2f2f2b273eb68a30978c6a2d40473ad0aaa4cb4a", size = 14195343, upload-time = "2025-12-11T21:39:44.866Z" },
608
- { url = "https://files.pythonhosted.org/packages/f6/53/3bb8d2fa73e4c2f80acc65213ee0830fa0c49c6479313f7a68a00f39e208/ruff-0.14.9-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:712ff04f44663f1b90a1195f51525836e3413c8a773574a7b7775554269c30ed", size = 14346425, upload-time = "2025-12-11T21:39:05.927Z" },
609
- { url = "https://files.pythonhosted.org/packages/ad/04/bdb1d0ab876372da3e983896481760867fc84f969c5c09d428e8f01b557f/ruff-0.14.9-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:a111fee1db6f1d5d5810245295527cda1d367c5aa8f42e0fca9a78ede9b4498b", size = 13258768, upload-time = "2025-12-11T21:39:08.691Z" },
610
- { url = "https://files.pythonhosted.org/packages/40/d9/8bf8e1e41a311afd2abc8ad12be1b6c6c8b925506d9069b67bb5e9a04af3/ruff-0.14.9-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:8769efc71558fecc25eb295ddec7d1030d41a51e9dcf127cbd63ec517f22d567", size = 13326939, upload-time = "2025-12-11T21:39:53.842Z" },
611
- { url = "https://files.pythonhosted.org/packages/f4/56/a213fa9edb6dd849f1cfbc236206ead10913693c72a67fb7ddc1833bf95d/ruff-0.14.9-py3-none-musllinux_1_2_i686.whl", hash = "sha256:347e3bf16197e8a2de17940cd75fd6491e25c0aa7edf7d61aa03f146a1aa885a", size = 13578888, upload-time = "2025-12-11T21:39:35.988Z" },
612
- { url = "https://files.pythonhosted.org/packages/33/09/6a4a67ffa4abae6bf44c972a4521337ffce9cbc7808faadede754ef7a79c/ruff-0.14.9-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:7715d14e5bccf5b660f54516558aa94781d3eb0838f8e706fb60e3ff6eff03a8", size = 14314473, upload-time = "2025-12-11T21:39:50.78Z" },
613
- { url = "https://files.pythonhosted.org/packages/12/0d/15cc82da5d83f27a3c6b04f3a232d61bc8c50d38a6cd8da79228e5f8b8d6/ruff-0.14.9-py3-none-win32.whl", hash = "sha256:df0937f30aaabe83da172adaf8937003ff28172f59ca9f17883b4213783df197", size = 13202651, upload-time = "2025-12-11T21:39:26.628Z" },
614
- { url = "https://files.pythonhosted.org/packages/32/f7/c78b060388eefe0304d9d42e68fab8cffd049128ec466456cef9b8d4f06f/ruff-0.14.9-py3-none-win_amd64.whl", hash = "sha256:c0b53a10e61df15a42ed711ec0bda0c582039cf6c754c49c020084c55b5b0bc2", size = 14702079, upload-time = "2025-12-11T21:39:11.954Z" },
615
- { url = "https://files.pythonhosted.org/packages/26/09/7a9520315decd2334afa65ed258fed438f070e31f05a2e43dd480a5e5911/ruff-0.14.9-py3-none-win_arm64.whl", hash = "sha256:8e821c366517a074046d92f0e9213ed1c13dbc5b37a7fc20b07f79b64d62cc84", size = 13744730, upload-time = "2025-12-11T21:39:29.659Z" },
594
+ version = "0.14.10"
595
+ source = { registry = "https://pypi.org/simple/" }
596
+ sdist = { url = "https://files.pythonhosted.org/packages/57/08/52232a877978dd8f9cf2aeddce3e611b40a63287dfca29b6b8da791f5e8d/ruff-0.14.10.tar.gz", hash = "sha256:9a2e830f075d1a42cd28420d7809ace390832a490ed0966fe373ba288e77aaf4", size = 5859763, upload-time = "2025-12-18T19:28:57.98Z" }
597
+ wheels = [
598
+ { url = "https://files.pythonhosted.org/packages/60/01/933704d69f3f05ee16ef11406b78881733c186fe14b6a46b05cfcaf6d3b2/ruff-0.14.10-py3-none-linux_armv6l.whl", hash = "sha256:7a3ce585f2ade3e1f29ec1b92df13e3da262178df8c8bdf876f48fa0e8316c49", size = 13527080, upload-time = "2025-12-18T19:29:25.642Z" },
599
+ { url = "https://files.pythonhosted.org/packages/df/58/a0349197a7dfa603ffb7f5b0470391efa79ddc327c1e29c4851e85b09cc5/ruff-0.14.10-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:674f9be9372907f7257c51f1d4fc902cb7cf014b9980152b802794317941f08f", size = 13797320, upload-time = "2025-12-18T19:29:02.571Z" },
600
+ { url = "https://files.pythonhosted.org/packages/7b/82/36be59f00a6082e38c23536df4e71cdbc6af8d7c707eade97fcad5c98235/ruff-0.14.10-py3-none-macosx_11_0_arm64.whl", hash = "sha256:d85713d522348837ef9df8efca33ccb8bd6fcfc86a2cde3ccb4bc9d28a18003d", size = 12918434, upload-time = "2025-12-18T19:28:51.202Z" },
601
+ { url = "https://files.pythonhosted.org/packages/a6/00/45c62a7f7e34da92a25804f813ebe05c88aa9e0c25e5cb5a7d23dd7450e3/ruff-0.14.10-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6987ebe0501ae4f4308d7d24e2d0fe3d7a98430f5adfd0f1fead050a740a3a77", size = 13371961, upload-time = "2025-12-18T19:29:04.991Z" },
602
+ { url = "https://files.pythonhosted.org/packages/40/31/a5906d60f0405f7e57045a70f2d57084a93ca7425f22e1d66904769d1628/ruff-0.14.10-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:16a01dfb7b9e4eee556fbfd5392806b1b8550c9b4a9f6acd3dbe6812b193c70a", size = 13275629, upload-time = "2025-12-18T19:29:21.381Z" },
603
+ { url = "https://files.pythonhosted.org/packages/3e/60/61c0087df21894cf9d928dc04bcd4fb10e8b2e8dca7b1a276ba2155b2002/ruff-0.14.10-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7165d31a925b7a294465fa81be8c12a0e9b60fb02bf177e79067c867e71f8b1f", size = 14029234, upload-time = "2025-12-18T19:29:00.132Z" },
604
+ { url = "https://files.pythonhosted.org/packages/44/84/77d911bee3b92348b6e5dab5a0c898d87084ea03ac5dc708f46d88407def/ruff-0.14.10-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:c561695675b972effb0c0a45db233f2c816ff3da8dcfbe7dfc7eed625f218935", size = 15449890, upload-time = "2025-12-18T19:28:53.573Z" },
605
+ { url = "https://files.pythonhosted.org/packages/e9/36/480206eaefa24a7ec321582dda580443a8f0671fdbf6b1c80e9c3e93a16a/ruff-0.14.10-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4bb98fcbbc61725968893682fd4df8966a34611239c9fd07a1f6a07e7103d08e", size = 15123172, upload-time = "2025-12-18T19:29:23.453Z" },
606
+ { url = "https://files.pythonhosted.org/packages/5c/38/68e414156015ba80cef5473d57919d27dfb62ec804b96180bafdeaf0e090/ruff-0.14.10-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f24b47993a9d8cb858429e97bdf8544c78029f09b520af615c1d261bf827001d", size = 14460260, upload-time = "2025-12-18T19:29:27.808Z" },
607
+ { url = "https://files.pythonhosted.org/packages/b3/19/9e050c0dca8aba824d67cc0db69fb459c28d8cd3f6855b1405b3f29cc91d/ruff-0.14.10-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:59aabd2e2c4fd614d2862e7939c34a532c04f1084476d6833dddef4afab87e9f", size = 14229978, upload-time = "2025-12-18T19:29:11.32Z" },
608
+ { url = "https://files.pythonhosted.org/packages/51/eb/e8dd1dd6e05b9e695aa9dd420f4577debdd0f87a5ff2fedda33c09e9be8c/ruff-0.14.10-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:213db2b2e44be8625002dbea33bb9c60c66ea2c07c084a00d55732689d697a7f", size = 14338036, upload-time = "2025-12-18T19:29:09.184Z" },
609
+ { url = "https://files.pythonhosted.org/packages/6a/12/f3e3a505db7c19303b70af370d137795fcfec136d670d5de5391e295c134/ruff-0.14.10-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:b914c40ab64865a17a9a5b67911d14df72346a634527240039eb3bd650e5979d", size = 13264051, upload-time = "2025-12-18T19:29:13.431Z" },
610
+ { url = "https://files.pythonhosted.org/packages/08/64/8c3a47eaccfef8ac20e0484e68e0772013eb85802f8a9f7603ca751eb166/ruff-0.14.10-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:1484983559f026788e3a5c07c81ef7d1e97c1c78ed03041a18f75df104c45405", size = 13283998, upload-time = "2025-12-18T19:29:06.994Z" },
611
+ { url = "https://files.pythonhosted.org/packages/12/84/534a5506f4074e5cc0529e5cd96cfc01bb480e460c7edf5af70d2bcae55e/ruff-0.14.10-py3-none-musllinux_1_2_i686.whl", hash = "sha256:c70427132db492d25f982fffc8d6c7535cc2fd2c83fc8888f05caaa248521e60", size = 13601891, upload-time = "2025-12-18T19:28:55.811Z" },
612
+ { url = "https://files.pythonhosted.org/packages/0d/1e/14c916087d8598917dbad9b2921d340f7884824ad6e9c55de948a93b106d/ruff-0.14.10-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:5bcf45b681e9f1ee6445d317ce1fa9d6cba9a6049542d1c3d5b5958986be8830", size = 14336660, upload-time = "2025-12-18T19:29:16.531Z" },
613
+ { url = "https://files.pythonhosted.org/packages/f2/1c/d7b67ab43f30013b47c12b42d1acd354c195351a3f7a1d67f59e54227ede/ruff-0.14.10-py3-none-win32.whl", hash = "sha256:104c49fc7ab73f3f3a758039adea978869a918f31b73280db175b43a2d9b51d6", size = 13196187, upload-time = "2025-12-18T19:29:19.006Z" },
614
+ { url = "https://files.pythonhosted.org/packages/fb/9c/896c862e13886fae2af961bef3e6312db9ebc6adc2b156fe95e615dee8c1/ruff-0.14.10-py3-none-win_amd64.whl", hash = "sha256:466297bd73638c6bdf06485683e812db1c00c7ac96d4ddd0294a338c62fdc154", size = 14661283, upload-time = "2025-12-18T19:29:30.16Z" },
615
+ { url = "https://files.pythonhosted.org/packages/74/31/b0e29d572670dca3674eeee78e418f20bdf97fa8aa9ea71380885e175ca0/ruff-0.14.10-py3-none-win_arm64.whl", hash = "sha256:e51d046cf6dda98a4633b8a8a771451107413b0f07183b2bef03f075599e44e6", size = 13729839, upload-time = "2025-12-18T19:28:48.636Z" },
616
616
  ]
617
617
 
618
618
  [[package]]
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
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
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
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
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes