amati 0.3.8__tar.gz → 0.3.9__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 (98) hide show
  1. {amati-0.3.8 → amati-0.3.9}/.pre-commit-config.yaml +1 -1
  2. {amati-0.3.8 → amati-0.3.9}/PKG-INFO +1 -1
  3. {amati-0.3.8 → amati-0.3.9}/amati/_data/files/schemes.json +2 -0
  4. {amati-0.3.8 → amati-0.3.9}/pyproject.toml +1 -1
  5. {amati-0.3.8 → amati-0.3.9}/uv.lock +26 -26
  6. {amati-0.3.8 → amati-0.3.9}/.dockerignore +0 -0
  7. {amati-0.3.8 → amati-0.3.9}/.github/actions/setup/action.yaml +0 -0
  8. {amati-0.3.8 → amati-0.3.9}/.github/dependabot.yml +0 -0
  9. {amati-0.3.8 → amati-0.3.9}/.github/workflows/checks.yaml +0 -0
  10. {amati-0.3.8 → amati-0.3.9}/.github/workflows/codeql.yml +0 -0
  11. {amati-0.3.8 → amati-0.3.9}/.github/workflows/coverage.yaml +0 -0
  12. {amati-0.3.8 → amati-0.3.9}/.github/workflows/data-refresh.yaml +0 -0
  13. {amati-0.3.8 → amati-0.3.9}/.github/workflows/dependency-review.yml +0 -0
  14. {amati-0.3.8 → amati-0.3.9}/.github/workflows/publish.yaml +0 -0
  15. {amati-0.3.8 → amati-0.3.9}/.github/workflows/scorecards.yml +0 -0
  16. {amati-0.3.8 → amati-0.3.9}/.github/workflows/tag-and-create-release.yaml +0 -0
  17. {amati-0.3.8 → amati-0.3.9}/.gitignore +0 -0
  18. {amati-0.3.8 → amati-0.3.9}/.python-version +0 -0
  19. {amati-0.3.8 → amati-0.3.9}/Dockerfile +0 -0
  20. {amati-0.3.8 → amati-0.3.9}/LICENSE +0 -0
  21. {amati-0.3.8 → amati-0.3.9}/README.md +0 -0
  22. {amati-0.3.8 → amati-0.3.9}/SECURITY.md +0 -0
  23. {amati-0.3.8 → amati-0.3.9}/TEMPLATE.html +0 -0
  24. {amati-0.3.8 → amati-0.3.9}/amati/__init__.py +0 -0
  25. {amati-0.3.8 → amati-0.3.9}/amati/_data/files/http-status-codes.json +0 -0
  26. {amati-0.3.8 → amati-0.3.9}/amati/_data/files/iso9110.json +0 -0
  27. {amati-0.3.8 → amati-0.3.9}/amati/_data/files/media-types.json +0 -0
  28. {amati-0.3.8 → amati-0.3.9}/amati/_data/files/spdx-licences.json +0 -0
  29. {amati-0.3.8 → amati-0.3.9}/amati/_data/files/tlds.json +0 -0
  30. {amati-0.3.8 → amati-0.3.9}/amati/_data/http_status_code.py +0 -0
  31. {amati-0.3.8 → amati-0.3.9}/amati/_data/iso9110.py +0 -0
  32. {amati-0.3.8 → amati-0.3.9}/amati/_data/media_types.py +0 -0
  33. {amati-0.3.8 → amati-0.3.9}/amati/_data/refresh.py +0 -0
  34. {amati-0.3.8 → amati-0.3.9}/amati/_data/schemes.py +0 -0
  35. {amati-0.3.8 → amati-0.3.9}/amati/_data/spdx_licences.py +0 -0
  36. {amati-0.3.8 → amati-0.3.9}/amati/_data/tlds.py +0 -0
  37. {amati-0.3.8 → amati-0.3.9}/amati/_error_handler.py +0 -0
  38. {amati-0.3.8 → amati-0.3.9}/amati/_logging.py +0 -0
  39. {amati-0.3.8 → amati-0.3.9}/amati/_resolve_forward_references.py +0 -0
  40. {amati-0.3.8 → amati-0.3.9}/amati/amati.py +0 -0
  41. {amati-0.3.8 → amati-0.3.9}/amati/exceptions.py +0 -0
  42. {amati-0.3.8 → amati-0.3.9}/amati/fields/__init__.py +0 -0
  43. {amati-0.3.8 → amati-0.3.9}/amati/fields/_custom_types.py +0 -0
  44. {amati-0.3.8 → amati-0.3.9}/amati/fields/commonmark.py +0 -0
  45. {amati-0.3.8 → amati-0.3.9}/amati/fields/email.py +0 -0
  46. {amati-0.3.8 → amati-0.3.9}/amati/fields/http_status_codes.py +0 -0
  47. {amati-0.3.8 → amati-0.3.9}/amati/fields/iso9110.py +0 -0
  48. {amati-0.3.8 → amati-0.3.9}/amati/fields/json.py +0 -0
  49. {amati-0.3.8 → amati-0.3.9}/amati/fields/media.py +0 -0
  50. {amati-0.3.8 → amati-0.3.9}/amati/fields/oas.py +0 -0
  51. {amati-0.3.8 → amati-0.3.9}/amati/fields/spdx_licences.py +0 -0
  52. {amati-0.3.8 → amati-0.3.9}/amati/fields/uri.py +0 -0
  53. {amati-0.3.8 → amati-0.3.9}/amati/file_handler.py +0 -0
  54. {amati-0.3.8 → amati-0.3.9}/amati/grammars/oas.py +0 -0
  55. {amati-0.3.8 → amati-0.3.9}/amati/grammars/rfc6901.py +0 -0
  56. {amati-0.3.8 → amati-0.3.9}/amati/grammars/rfc7159.py +0 -0
  57. {amati-0.3.8 → amati-0.3.9}/amati/model_validators.py +0 -0
  58. {amati-0.3.8 → amati-0.3.9}/amati/py.typed +0 -0
  59. {amati-0.3.8 → amati-0.3.9}/amati/validators/__init__.py +0 -0
  60. {amati-0.3.8 → amati-0.3.9}/amati/validators/generic.py +0 -0
  61. {amati-0.3.8 → amati-0.3.9}/amati/validators/oas304.py +0 -0
  62. {amati-0.3.8 → amati-0.3.9}/amati/validators/oas311.py +0 -0
  63. {amati-0.3.8 → amati-0.3.9}/bin/checks.sh +0 -0
  64. {amati-0.3.8 → amati-0.3.9}/bin/startup.sh +0 -0
  65. {amati-0.3.8 → amati-0.3.9}/bin/upgrade-python.sh +0 -0
  66. {amati-0.3.8 → amati-0.3.9}/bin/uv-upgrade-from-main.sh +0 -0
  67. {amati-0.3.8 → amati-0.3.9}/scripts/setup_test_specs.py +0 -0
  68. {amati-0.3.8 → amati-0.3.9}/tests/__init__.py +0 -0
  69. {amati-0.3.8 → amati-0.3.9}/tests/data/.amati.tests.yaml +0 -0
  70. {amati-0.3.8 → amati-0.3.9}/tests/data/DigitalOcean-public.v2.errors.json +0 -0
  71. {amati-0.3.8 → amati-0.3.9}/tests/data/api.github.com.yaml.errors.json +0 -0
  72. {amati-0.3.8 → amati-0.3.9}/tests/data/discourse.yml.errors.json +0 -0
  73. {amati-0.3.8 → amati-0.3.9}/tests/data/invalid-openapi.yaml +0 -0
  74. {amati-0.3.8 → amati-0.3.9}/tests/data/next-api.github.com.yaml.errors.json +0 -0
  75. {amati-0.3.8 → amati-0.3.9}/tests/data/openapi.yaml +0 -0
  76. {amati-0.3.8 → amati-0.3.9}/tests/data/openapi.yaml.gz +0 -0
  77. {amati-0.3.8 → amati-0.3.9}/tests/data/redocly.openapi.yaml.errors.json +0 -0
  78. {amati-0.3.8 → amati-0.3.9}/tests/fields/__init__.py +0 -0
  79. {amati-0.3.8 → amati-0.3.9}/tests/fields/test_email.py +0 -0
  80. {amati-0.3.8 → amati-0.3.9}/tests/fields/test_http_status_codes.py +0 -0
  81. {amati-0.3.8 → amati-0.3.9}/tests/fields/test_iso9110.py +0 -0
  82. {amati-0.3.8 → amati-0.3.9}/tests/fields/test_media.py +0 -0
  83. {amati-0.3.8 → amati-0.3.9}/tests/fields/test_oas.py +0 -0
  84. {amati-0.3.8 → amati-0.3.9}/tests/fields/test_spdx_licences.py +0 -0
  85. {amati-0.3.8 → amati-0.3.9}/tests/fields/test_uri.py +0 -0
  86. {amati-0.3.8 → amati-0.3.9}/tests/helpers.py +0 -0
  87. {amati-0.3.8 → amati-0.3.9}/tests/model_validators/test_all_of.py +0 -0
  88. {amati-0.3.8 → amati-0.3.9}/tests/model_validators/test_at_least_one.py +0 -0
  89. {amati-0.3.8 → amati-0.3.9}/tests/model_validators/test_if_then.py +0 -0
  90. {amati-0.3.8 → amati-0.3.9}/tests/model_validators/test_only_one.py +0 -0
  91. {amati-0.3.8 → amati-0.3.9}/tests/test_amati.py +0 -0
  92. {amati-0.3.8 → amati-0.3.9}/tests/test_external_specs.py +0 -0
  93. {amati-0.3.8 → amati-0.3.9}/tests/test_logging.py +0 -0
  94. {amati-0.3.8 → amati-0.3.9}/tests/validators/__init__.py +0 -0
  95. {amati-0.3.8 → amati-0.3.9}/tests/validators/test_generic.py +0 -0
  96. {amati-0.3.8 → amati-0.3.9}/tests/validators/test_licence_object.py +0 -0
  97. {amati-0.3.8 → amati-0.3.9}/tests/validators/test_security_scheme_object.py +0 -0
  98. {amati-0.3.8 → amati-0.3.9}/tests/validators/test_server_variable_object.py +0 -0
@@ -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.3
4
+ rev: v0.14.4
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.8
3
+ Version: 0.3.9
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
@@ -172,6 +172,8 @@
172
172
  "modem": "Historical",
173
173
  "mongodb": "Provisional",
174
174
  "moz": "Provisional",
175
+ "mqtt": "Provisional",
176
+ "mqtts": "Provisional",
175
177
  "ms-access": "Provisional",
176
178
  "ms-appinstaller": "Provisional",
177
179
  "ms-browser-extension": "Provisional",
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "amati"
3
- version = "0.3.8"
3
+ version = "0.3.9"
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.8"
16
+ version = "0.3.9"
17
17
  source = { editable = "." }
18
18
  dependencies = [
19
19
  { name = "abnf" },
@@ -212,14 +212,14 @@ wheels = [
212
212
 
213
213
  [[package]]
214
214
  name = "hypothesis"
215
- version = "6.145.1"
215
+ version = "6.147.0"
216
216
  source = { registry = "https://pypi.org/simple/" }
217
217
  dependencies = [
218
218
  { name = "sortedcontainers" },
219
219
  ]
220
- sdist = { url = "https://files.pythonhosted.org/packages/83/22/a3aba4f28826ddee2a1f5b0cb6fcc295012794139ea159990dc1e987cfd8/hypothesis-6.145.1.tar.gz", hash = "sha256:4e7610923de7e0c7d5c1bfa84114f2579e06f0e83a4ce9f073ca0c887d222b7e", size = 467743, upload-time = "2025-11-03T21:41:42.788Z" }
220
+ sdist = { url = "https://files.pythonhosted.org/packages/f3/53/e19fe74671fd60db86344a4623c818fac58b813cc3efbb7ea3b3074dcb71/hypothesis-6.147.0.tar.gz", hash = "sha256:72e6004ea3bd1460bdb4640b6389df23b87ba7a4851893fd84d1375635d3e507", size = 468587, upload-time = "2025-11-06T20:27:29.682Z" }
221
221
  wheels = [
222
- { url = "https://files.pythonhosted.org/packages/9c/e3/d4d9195ace4a407f665622c74635fd28901539b8ee375f31be08613eb94d/hypothesis-6.145.1-py3-none-any.whl", hash = "sha256:8b4c2d93adbacd235153a3ee075012fc870da341b32c3035838963b6241d6281", size = 534763, upload-time = "2025-11-03T21:41:38.695Z" },
222
+ { url = "https://files.pythonhosted.org/packages/b2/1b/932eddc3d55c4ed6c585006cffe6c6a133b5e1797d873de0bcf5208e4fed/hypothesis-6.147.0-py3-none-any.whl", hash = "sha256:de588807b6da33550d32f47bcd42b1a86d061df85673aa73e6443680249d185e", size = 535595, upload-time = "2025-11-06T20:27:23.536Z" },
223
223
  ]
224
224
 
225
225
  [[package]]
@@ -582,28 +582,28 @@ wheels = [
582
582
 
583
583
  [[package]]
584
584
  name = "ruff"
585
- version = "0.14.3"
586
- source = { registry = "https://pypi.org/simple/" }
587
- sdist = { url = "https://files.pythonhosted.org/packages/75/62/50b7727004dfe361104dfbf898c45a9a2fdfad8c72c04ae62900224d6ecf/ruff-0.14.3.tar.gz", hash = "sha256:4ff876d2ab2b161b6de0aa1f5bd714e8e9b4033dc122ee006925fbacc4f62153", size = 5558687, upload-time = "2025-10-31T00:26:26.878Z" }
588
- wheels = [
589
- { url = "https://files.pythonhosted.org/packages/ce/8e/0c10ff1ea5d4360ab8bfca4cb2c9d979101a391f3e79d2616c9bf348cd26/ruff-0.14.3-py3-none-linux_armv6l.whl", hash = "sha256:876b21e6c824f519446715c1342b8e60f97f93264012de9d8d10314f8a79c371", size = 12535613, upload-time = "2025-10-31T00:25:44.302Z" },
590
- { url = "https://files.pythonhosted.org/packages/d3/c8/6724f4634c1daf52409fbf13fefda64aa9c8f81e44727a378b7b73dc590b/ruff-0.14.3-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:b6fd8c79b457bedd2abf2702b9b472147cd860ed7855c73a5247fa55c9117654", size = 12855812, upload-time = "2025-10-31T00:25:47.793Z" },
591
- { url = "https://files.pythonhosted.org/packages/de/03/db1bce591d55fd5f8a08bb02517fa0b5097b2ccabd4ea1ee29aa72b67d96/ruff-0.14.3-py3-none-macosx_11_0_arm64.whl", hash = "sha256:71ff6edca490c308f083156938c0c1a66907151263c4abdcb588602c6e696a14", size = 11944026, upload-time = "2025-10-31T00:25:49.657Z" },
592
- { url = "https://files.pythonhosted.org/packages/0b/75/4f8dbd48e03272715d12c87dc4fcaaf21b913f0affa5f12a4e9c6f8a0582/ruff-0.14.3-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:786ee3ce6139772ff9272aaf43296d975c0217ee1b97538a98171bf0d21f87ed", size = 12356818, upload-time = "2025-10-31T00:25:51.949Z" },
593
- { url = "https://files.pythonhosted.org/packages/ec/9b/506ec5b140c11d44a9a4f284ea7c14ebf6f8b01e6e8917734a3325bff787/ruff-0.14.3-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:cd6291d0061811c52b8e392f946889916757610d45d004e41140d81fb6cd5ddc", size = 12336745, upload-time = "2025-10-31T00:25:54.248Z" },
594
- { url = "https://files.pythonhosted.org/packages/c7/e1/c560d254048c147f35e7f8131d30bc1f63a008ac61595cf3078a3e93533d/ruff-0.14.3-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a497ec0c3d2c88561b6d90f9c29f5ae68221ac00d471f306fa21fa4264ce5fcd", size = 13101684, upload-time = "2025-10-31T00:25:56.253Z" },
595
- { url = "https://files.pythonhosted.org/packages/a5/32/e310133f8af5cd11f8cc30f52522a3ebccc5ea5bff4b492f94faceaca7a8/ruff-0.14.3-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:e231e1be58fc568950a04fbe6887c8e4b85310e7889727e2b81db205c45059eb", size = 14535000, upload-time = "2025-10-31T00:25:58.397Z" },
596
- { url = "https://files.pythonhosted.org/packages/a2/a1/7b0470a22158c6d8501eabc5e9b6043c99bede40fa1994cadf6b5c2a61c7/ruff-0.14.3-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:469e35872a09c0e45fecf48dd960bfbce056b5db2d5e6b50eca329b4f853ae20", size = 14156450, upload-time = "2025-10-31T00:26:00.889Z" },
597
- { url = "https://files.pythonhosted.org/packages/0a/96/24bfd9d1a7f532b560dcee1a87096332e461354d3882124219bcaff65c09/ruff-0.14.3-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3d6bc90307c469cb9d28b7cfad90aaa600b10d67c6e22026869f585e1e8a2db0", size = 13568414, upload-time = "2025-10-31T00:26:03.291Z" },
598
- { url = "https://files.pythonhosted.org/packages/a7/e7/138b883f0dfe4ad5b76b58bf4ae675f4d2176ac2b24bdd81b4d966b28c61/ruff-0.14.3-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e2f8a0bbcffcfd895df39c9a4ecd59bb80dca03dc43f7fb63e647ed176b741e", size = 13315293, upload-time = "2025-10-31T00:26:05.708Z" },
599
- { url = "https://files.pythonhosted.org/packages/33/f4/c09bb898be97b2eb18476b7c950df8815ef14cf956074177e9fbd40b7719/ruff-0.14.3-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:678fdd7c7d2d94851597c23ee6336d25f9930b460b55f8598e011b57c74fd8c5", size = 13539444, upload-time = "2025-10-31T00:26:08.09Z" },
600
- { url = "https://files.pythonhosted.org/packages/9c/aa/b30a1db25fc6128b1dd6ff0741fa4abf969ded161599d07ca7edd0739cc0/ruff-0.14.3-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:1ec1ac071e7e37e0221d2f2dbaf90897a988c531a8592a6a5959f0603a1ecf5e", size = 12252581, upload-time = "2025-10-31T00:26:10.297Z" },
601
- { url = "https://files.pythonhosted.org/packages/da/13/21096308f384d796ffe3f2960b17054110a9c3828d223ca540c2b7cc670b/ruff-0.14.3-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:afcdc4b5335ef440d19e7df9e8ae2ad9f749352190e96d481dc501b753f0733e", size = 12307503, upload-time = "2025-10-31T00:26:12.646Z" },
602
- { url = "https://files.pythonhosted.org/packages/cb/cc/a350bac23f03b7dbcde3c81b154706e80c6f16b06ff1ce28ed07dc7b07b0/ruff-0.14.3-py3-none-musllinux_1_2_i686.whl", hash = "sha256:7bfc42f81862749a7136267a343990f865e71fe2f99cf8d2958f684d23ce3dfa", size = 12675457, upload-time = "2025-10-31T00:26:15.044Z" },
603
- { url = "https://files.pythonhosted.org/packages/cb/76/46346029fa2f2078826bc88ef7167e8c198e58fe3126636e52f77488cbba/ruff-0.14.3-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:a65e448cfd7e9c59fae8cf37f9221585d3354febaad9a07f29158af1528e165f", size = 13403980, upload-time = "2025-10-31T00:26:17.81Z" },
604
- { url = "https://files.pythonhosted.org/packages/9f/a4/35f1ef68c4e7b236d4a5204e3669efdeefaef21f0ff6a456792b3d8be438/ruff-0.14.3-py3-none-win32.whl", hash = "sha256:f3d91857d023ba93e14ed2d462ab62c3428f9bbf2b4fbac50a03ca66d31991f7", size = 12500045, upload-time = "2025-10-31T00:26:20.503Z" },
605
- { url = "https://files.pythonhosted.org/packages/03/15/51960ae340823c9859fb60c63301d977308735403e2134e17d1d2858c7fb/ruff-0.14.3-py3-none-win_amd64.whl", hash = "sha256:d7b7006ac0756306db212fd37116cce2bd307e1e109375e1c6c106002df0ae5f", size = 13594005, upload-time = "2025-10-31T00:26:22.533Z" },
606
- { url = "https://files.pythonhosted.org/packages/b7/73/4de6579bac8e979fca0a77e54dec1f1e011a0d268165eb8a9bc0982a6564/ruff-0.14.3-py3-none-win_arm64.whl", hash = "sha256:26eb477ede6d399d898791d01961e16b86f02bc2486d0d1a7a9bb2379d055dc1", size = 12590017, upload-time = "2025-10-31T00:26:24.52Z" },
585
+ version = "0.14.4"
586
+ source = { registry = "https://pypi.org/simple/" }
587
+ sdist = { url = "https://files.pythonhosted.org/packages/df/55/cccfca45157a2031dcbb5a462a67f7cf27f8b37d4b3b1cd7438f0f5c1df6/ruff-0.14.4.tar.gz", hash = "sha256:f459a49fe1085a749f15414ca76f61595f1a2cc8778ed7c279b6ca2e1fd19df3", size = 5587844, upload-time = "2025-11-06T22:07:45.033Z" }
588
+ wheels = [
589
+ { url = "https://files.pythonhosted.org/packages/17/b9/67240254166ae1eaa38dec32265e9153ac53645a6c6670ed36ad00722af8/ruff-0.14.4-py3-none-linux_armv6l.whl", hash = "sha256:e6604613ffbcf2297cd5dcba0e0ac9bd0c11dc026442dfbb614504e87c349518", size = 12606781, upload-time = "2025-11-06T22:07:01.841Z" },
590
+ { url = "https://files.pythonhosted.org/packages/46/c8/09b3ab245d8652eafe5256ab59718641429f68681ee713ff06c5c549f156/ruff-0.14.4-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:d99c0b52b6f0598acede45ee78288e5e9b4409d1ce7f661f0fa36d4cbeadf9a4", size = 12946765, upload-time = "2025-11-06T22:07:05.858Z" },
591
+ { url = "https://files.pythonhosted.org/packages/14/bb/1564b000219144bf5eed2359edc94c3590dd49d510751dad26202c18a17d/ruff-0.14.4-py3-none-macosx_11_0_arm64.whl", hash = "sha256:9358d490ec030f1b51d048a7fd6ead418ed0826daf6149e95e30aa67c168af33", size = 11928120, upload-time = "2025-11-06T22:07:08.023Z" },
592
+ { url = "https://files.pythonhosted.org/packages/a3/92/d5f1770e9988cc0742fefaa351e840d9aef04ec24ae1be36f333f96d5704/ruff-0.14.4-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:81b40d27924f1f02dfa827b9c0712a13c0e4b108421665322218fc38caf615c2", size = 12370877, upload-time = "2025-11-06T22:07:10.015Z" },
593
+ { url = "https://files.pythonhosted.org/packages/e2/29/e9282efa55f1973d109faf839a63235575519c8ad278cc87a182a366810e/ruff-0.14.4-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f5e649052a294fe00818650712083cddc6cc02744afaf37202c65df9ea52efa5", size = 12408538, upload-time = "2025-11-06T22:07:13.085Z" },
594
+ { url = "https://files.pythonhosted.org/packages/8e/01/930ed6ecfce130144b32d77d8d69f5c610e6d23e6857927150adf5d7379a/ruff-0.14.4-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:aa082a8f878deeba955531f975881828fd6afd90dfa757c2b0808aadb437136e", size = 13141942, upload-time = "2025-11-06T22:07:15.386Z" },
595
+ { url = "https://files.pythonhosted.org/packages/6a/46/a9c89b42b231a9f487233f17a89cbef9d5acd538d9488687a02ad288fa6b/ruff-0.14.4-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:1043c6811c2419e39011890f14d0a30470f19d47d197c4858b2787dfa698f6c8", size = 14544306, upload-time = "2025-11-06T22:07:17.631Z" },
596
+ { url = "https://files.pythonhosted.org/packages/78/96/9c6cf86491f2a6d52758b830b89b78c2ae61e8ca66b86bf5a20af73d20e6/ruff-0.14.4-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a9f3a936ac27fb7c2a93e4f4b943a662775879ac579a433291a6f69428722649", size = 14210427, upload-time = "2025-11-06T22:07:19.832Z" },
597
+ { url = "https://files.pythonhosted.org/packages/71/f4/0666fe7769a54f63e66404e8ff698de1dcde733e12e2fd1c9c6efb689cb5/ruff-0.14.4-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:95643ffd209ce78bc113266b88fba3d39e0461f0cbc8b55fb92505030fb4a850", size = 13658488, upload-time = "2025-11-06T22:07:22.32Z" },
598
+ { url = "https://files.pythonhosted.org/packages/ee/79/6ad4dda2cfd55e41ac9ed6d73ef9ab9475b1eef69f3a85957210c74ba12c/ruff-0.14.4-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:456daa2fa1021bc86ca857f43fe29d5d8b3f0e55e9f90c58c317c1dcc2afc7b5", size = 13354908, upload-time = "2025-11-06T22:07:24.347Z" },
599
+ { url = "https://files.pythonhosted.org/packages/b5/60/f0b6990f740bb15c1588601d19d21bcc1bd5de4330a07222041678a8e04f/ruff-0.14.4-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:f911bba769e4a9f51af6e70037bb72b70b45a16db5ce73e1f72aefe6f6d62132", size = 13587803, upload-time = "2025-11-06T22:07:26.327Z" },
600
+ { url = "https://files.pythonhosted.org/packages/c9/da/eaaada586f80068728338e0ef7f29ab3e4a08a692f92eb901a4f06bbff24/ruff-0.14.4-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:76158a7369b3979fa878612c623a7e5430c18b2fd1c73b214945c2d06337db67", size = 12279654, upload-time = "2025-11-06T22:07:28.46Z" },
601
+ { url = "https://files.pythonhosted.org/packages/66/d4/b1d0e82cf9bf8aed10a6d45be47b3f402730aa2c438164424783ac88c0ed/ruff-0.14.4-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:f3b8f3b442d2b14c246e7aeca2e75915159e06a3540e2f4bed9f50d062d24469", size = 12357520, upload-time = "2025-11-06T22:07:31.468Z" },
602
+ { url = "https://files.pythonhosted.org/packages/04/f4/53e2b42cc82804617e5c7950b7079d79996c27e99c4652131c6a1100657f/ruff-0.14.4-py3-none-musllinux_1_2_i686.whl", hash = "sha256:c62da9a06779deecf4d17ed04939ae8b31b517643b26370c3be1d26f3ef7dbde", size = 12719431, upload-time = "2025-11-06T22:07:33.831Z" },
603
+ { url = "https://files.pythonhosted.org/packages/a2/94/80e3d74ed9a72d64e94a7b7706b1c1ebaa315ef2076fd33581f6a1cd2f95/ruff-0.14.4-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:5a443a83a1506c684e98acb8cb55abaf3ef725078be40237463dae4463366349", size = 13464394, upload-time = "2025-11-06T22:07:35.905Z" },
604
+ { url = "https://files.pythonhosted.org/packages/54/1a/a49f071f04c42345c793d22f6cf5e0920095e286119ee53a64a3a3004825/ruff-0.14.4-py3-none-win32.whl", hash = "sha256:643b69cb63cd996f1fc7229da726d07ac307eae442dd8974dbc7cf22c1e18fff", size = 12493429, upload-time = "2025-11-06T22:07:38.43Z" },
605
+ { url = "https://files.pythonhosted.org/packages/bc/22/e58c43e641145a2b670328fb98bc384e20679b5774258b1e540207580266/ruff-0.14.4-py3-none-win_amd64.whl", hash = "sha256:26673da283b96fe35fa0c939bf8411abec47111644aa9f7cfbd3c573fb125d2c", size = 13635380, upload-time = "2025-11-06T22:07:40.496Z" },
606
+ { url = "https://files.pythonhosted.org/packages/30/bd/4168a751ddbbf43e86544b4de8b5c3b7be8d7167a2a5cb977d274e04f0a1/ruff-0.14.4-py3-none-win_arm64.whl", hash = "sha256:dd09c292479596b0e6fec8cd95c65c3a6dc68e9ad17b8f2382130f87ff6a75bb", size = 12663065, upload-time = "2025-11-06T22:07:42.603Z" },
607
607
  ]
608
608
 
609
609
  [[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
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