amati 0.3.26__tar.gz → 0.3.28__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.26 → amati-0.3.28}/.pre-commit-config.yaml +2 -2
  2. {amati-0.3.26 → amati-0.3.28}/Dockerfile +1 -1
  3. {amati-0.3.26 → amati-0.3.28}/PKG-INFO +1 -1
  4. {amati-0.3.26 → amati-0.3.28}/amati/_data/files/media-types.json +1 -1
  5. {amati-0.3.26 → amati-0.3.28}/amati/_data/files/spdx-licences.json +47 -0
  6. {amati-0.3.26 → amati-0.3.28}/pyproject.toml +1 -1
  7. {amati-0.3.26 → amati-0.3.28}/uv.lock +26 -26
  8. {amati-0.3.26 → amati-0.3.28}/.dockerignore +0 -0
  9. {amati-0.3.26 → amati-0.3.28}/.github/actions/setup/action.yaml +0 -0
  10. {amati-0.3.26 → amati-0.3.28}/.github/dependabot.yml +0 -0
  11. {amati-0.3.26 → amati-0.3.28}/.github/workflows/checks.yaml +0 -0
  12. {amati-0.3.26 → amati-0.3.28}/.github/workflows/codeql.yml +0 -0
  13. {amati-0.3.26 → amati-0.3.28}/.github/workflows/coverage.yaml +0 -0
  14. {amati-0.3.26 → amati-0.3.28}/.github/workflows/data-refresh.yaml +0 -0
  15. {amati-0.3.26 → amati-0.3.28}/.github/workflows/dependency-review.yml +0 -0
  16. {amati-0.3.26 → amati-0.3.28}/.github/workflows/publish.yaml +0 -0
  17. {amati-0.3.26 → amati-0.3.28}/.github/workflows/scorecards.yml +0 -0
  18. {amati-0.3.26 → amati-0.3.28}/.github/workflows/tag-and-create-release.yaml +0 -0
  19. {amati-0.3.26 → amati-0.3.28}/.gitignore +0 -0
  20. {amati-0.3.26 → amati-0.3.28}/.python-version +0 -0
  21. {amati-0.3.26 → amati-0.3.28}/LICENSE +0 -0
  22. {amati-0.3.26 → amati-0.3.28}/README.md +0 -0
  23. {amati-0.3.26 → amati-0.3.28}/SECURITY.md +0 -0
  24. {amati-0.3.26 → amati-0.3.28}/TEMPLATE.html +0 -0
  25. {amati-0.3.26 → amati-0.3.28}/amati/__init__.py +0 -0
  26. {amati-0.3.26 → amati-0.3.28}/amati/_data/files/http-status-codes.json +0 -0
  27. {amati-0.3.26 → amati-0.3.28}/amati/_data/files/iso9110.json +0 -0
  28. {amati-0.3.26 → amati-0.3.28}/amati/_data/files/schemes.json +0 -0
  29. {amati-0.3.26 → amati-0.3.28}/amati/_data/files/tlds.json +0 -0
  30. {amati-0.3.26 → amati-0.3.28}/amati/_data/http_status_code.py +0 -0
  31. {amati-0.3.26 → amati-0.3.28}/amati/_data/iso9110.py +0 -0
  32. {amati-0.3.26 → amati-0.3.28}/amati/_data/media_types.py +0 -0
  33. {amati-0.3.26 → amati-0.3.28}/amati/_data/refresh.py +0 -0
  34. {amati-0.3.26 → amati-0.3.28}/amati/_data/schemes.py +0 -0
  35. {amati-0.3.26 → amati-0.3.28}/amati/_data/spdx_licences.py +0 -0
  36. {amati-0.3.26 → amati-0.3.28}/amati/_data/tlds.py +0 -0
  37. {amati-0.3.26 → amati-0.3.28}/amati/_error_handler.py +0 -0
  38. {amati-0.3.26 → amati-0.3.28}/amati/_logging.py +0 -0
  39. {amati-0.3.26 → amati-0.3.28}/amati/_references.py +0 -0
  40. {amati-0.3.26 → amati-0.3.28}/amati/_resolve_forward_references.py +0 -0
  41. {amati-0.3.26 → amati-0.3.28}/amati/amati.py +0 -0
  42. {amati-0.3.26 → amati-0.3.28}/amati/exceptions.py +0 -0
  43. {amati-0.3.26 → amati-0.3.28}/amati/fields/__init__.py +0 -0
  44. {amati-0.3.26 → amati-0.3.28}/amati/fields/_custom_types.py +0 -0
  45. {amati-0.3.26 → amati-0.3.28}/amati/fields/commonmark.py +0 -0
  46. {amati-0.3.26 → amati-0.3.28}/amati/fields/email.py +0 -0
  47. {amati-0.3.26 → amati-0.3.28}/amati/fields/http_status_codes.py +0 -0
  48. {amati-0.3.26 → amati-0.3.28}/amati/fields/iso9110.py +0 -0
  49. {amati-0.3.26 → amati-0.3.28}/amati/fields/json.py +0 -0
  50. {amati-0.3.26 → amati-0.3.28}/amati/fields/media.py +0 -0
  51. {amati-0.3.26 → amati-0.3.28}/amati/fields/oas.py +0 -0
  52. {amati-0.3.26 → amati-0.3.28}/amati/fields/spdx_licences.py +0 -0
  53. {amati-0.3.26 → amati-0.3.28}/amati/fields/uri.py +0 -0
  54. {amati-0.3.26 → amati-0.3.28}/amati/file_handler.py +0 -0
  55. {amati-0.3.26 → amati-0.3.28}/amati/grammars/oas.py +0 -0
  56. {amati-0.3.26 → amati-0.3.28}/amati/grammars/rfc6901.py +0 -0
  57. {amati-0.3.26 → amati-0.3.28}/amati/grammars/rfc7159.py +0 -0
  58. {amati-0.3.26 → amati-0.3.28}/amati/model_validators.py +0 -0
  59. {amati-0.3.26 → amati-0.3.28}/amati/py.typed +0 -0
  60. {amati-0.3.26 → amati-0.3.28}/amati/validators/__init__.py +0 -0
  61. {amati-0.3.26 → amati-0.3.28}/amati/validators/_discriminators.py +0 -0
  62. {amati-0.3.26 → amati-0.3.28}/amati/validators/generic.py +0 -0
  63. {amati-0.3.26 → amati-0.3.28}/amati/validators/oas304.py +0 -0
  64. {amati-0.3.26 → amati-0.3.28}/amati/validators/oas311.py +0 -0
  65. {amati-0.3.26 → amati-0.3.28}/bin/checks.sh +0 -0
  66. {amati-0.3.26 → amati-0.3.28}/bin/startup.sh +0 -0
  67. {amati-0.3.26 → amati-0.3.28}/bin/upgrade-python.sh +0 -0
  68. {amati-0.3.26 → amati-0.3.28}/bin/uv-upgrade-from-main.sh +0 -0
  69. {amati-0.3.26 → amati-0.3.28}/scripts/setup_test_specs.py +0 -0
  70. {amati-0.3.26 → amati-0.3.28}/tests/__init__.py +0 -0
  71. {amati-0.3.26 → amati-0.3.28}/tests/data/.amati.tests.yaml +0 -0
  72. {amati-0.3.26 → amati-0.3.28}/tests/data/DigitalOcean-public.v2.errors.json +0 -0
  73. {amati-0.3.26 → amati-0.3.28}/tests/data/api.github.com.json.errors.json +0 -0
  74. {amati-0.3.26 → amati-0.3.28}/tests/data/api.github.com.yaml.errors.json +0 -0
  75. {amati-0.3.26 → amati-0.3.28}/tests/data/discourse.yml.errors.json +0 -0
  76. {amati-0.3.26 → amati-0.3.28}/tests/data/invalid-openapi.yaml +0 -0
  77. {amati-0.3.26 → amati-0.3.28}/tests/data/next-api.github.com.json.errors.json +0 -0
  78. {amati-0.3.26 → amati-0.3.28}/tests/data/openapi.yaml +0 -0
  79. {amati-0.3.26 → amati-0.3.28}/tests/data/openapi.yaml.gz +0 -0
  80. {amati-0.3.26 → amati-0.3.28}/tests/fields/__init__.py +0 -0
  81. {amati-0.3.26 → amati-0.3.28}/tests/fields/test_email.py +0 -0
  82. {amati-0.3.26 → amati-0.3.28}/tests/fields/test_http_status_codes.py +0 -0
  83. {amati-0.3.26 → amati-0.3.28}/tests/fields/test_iso9110.py +0 -0
  84. {amati-0.3.26 → amati-0.3.28}/tests/fields/test_media.py +0 -0
  85. {amati-0.3.26 → amati-0.3.28}/tests/fields/test_oas.py +0 -0
  86. {amati-0.3.26 → amati-0.3.28}/tests/fields/test_spdx_licences.py +0 -0
  87. {amati-0.3.26 → amati-0.3.28}/tests/fields/test_uri.py +0 -0
  88. {amati-0.3.26 → amati-0.3.28}/tests/model_validators/test_all_of.py +0 -0
  89. {amati-0.3.26 → amati-0.3.28}/tests/model_validators/test_at_least_one.py +0 -0
  90. {amati-0.3.26 → amati-0.3.28}/tests/model_validators/test_if_then.py +0 -0
  91. {amati-0.3.26 → amati-0.3.28}/tests/model_validators/test_only_one.py +0 -0
  92. {amati-0.3.26 → amati-0.3.28}/tests/references/test_uri_collector_mixin.py +0 -0
  93. {amati-0.3.26 → amati-0.3.28}/tests/references/test_uri_reference.py +0 -0
  94. {amati-0.3.26 → amati-0.3.28}/tests/references/test_uri_registry.py +0 -0
  95. {amati-0.3.26 → amati-0.3.28}/tests/strategies.py +0 -0
  96. {amati-0.3.26 → amati-0.3.28}/tests/test_amati.py +0 -0
  97. {amati-0.3.26 → amati-0.3.28}/tests/test_external_specs.py +0 -0
  98. {amati-0.3.26 → amati-0.3.28}/tests/test_logging.py +0 -0
  99. {amati-0.3.26 → amati-0.3.28}/tests/validators/__init__.py +0 -0
  100. {amati-0.3.26 → amati-0.3.28}/tests/validators/test_generic.py +0 -0
  101. {amati-0.3.26 → amati-0.3.28}/tests/validators/test_licence_object.py +0 -0
  102. {amati-0.3.26 → amati-0.3.28}/tests/validators/test_security_scheme_object.py +0 -0
  103. {amati-0.3.26 → amati-0.3.28}/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.13
4
+ rev: v0.14.14
5
5
  hooks:
6
6
  # Run the linter.
7
7
  - id: ruff-check
@@ -20,4 +20,4 @@ repos:
20
20
  - repo: https://github.com/fpgmaas/deptry.git
21
21
  rev: 0.24.0
22
22
  hooks:
23
- - id: deptry
23
+ - id: deptry
@@ -1,4 +1,4 @@
1
- FROM python:3.14.2-slim@sha256:3955a7dd66ccf92b68d0232f7f86d892eaf75255511dc7e98961bdc990dc6c9b
1
+ FROM python:3.14.2-slim@sha256:9b81fe9acff79e61affb44aaf3b6ff234392e8ca477cb86c9f7fd11732ce9b6a
2
2
 
3
3
  ENV PYTHONUNBUFFERED=1
4
4
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: amati
3
- Version: 0.3.26
3
+ Version: 0.3.28
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
@@ -408,7 +408,7 @@
408
408
  "rlmi+xml",
409
409
  "rls-services+xml",
410
410
  "rpki-checklist",
411
- "rpki-ghostbusters",
411
+ "rpki-ghostbusters (DEPRECATED)",
412
412
  "rpki-manifest",
413
413
  "rpki-publication",
414
414
  "rpki-roa",
@@ -1351,6 +1351,17 @@
1351
1351
  ],
1352
1352
  "isOsiApproved": false
1353
1353
  },
1354
+ {
1355
+ "reference": "https://spdx.org/licenses/CAPEC-tou.html",
1356
+ "isDeprecatedLicenseId": false,
1357
+ "detailsUrl": "https://spdx.org/licenses/CAPEC-tou.json",
1358
+ "name": "Common Attack Pattern Enumeration and Classification License",
1359
+ "licenseId": "CAPEC-tou",
1360
+ "seeAlso": [
1361
+ "https://capec.mitre.org/about/termsofuse.html"
1362
+ ],
1363
+ "isOsiApproved": false
1364
+ },
1354
1365
  {
1355
1366
  "reference": "https://spdx.org/licenses/Catharon.html",
1356
1367
  "isDeprecatedLicenseId": false,
@@ -5345,6 +5356,18 @@
5345
5356
  ],
5346
5357
  "isOsiApproved": false
5347
5358
  },
5359
+ {
5360
+ "reference": "https://spdx.org/licenses/MMPL-1.0.1.html",
5361
+ "isDeprecatedLicenseId": false,
5362
+ "detailsUrl": "https://spdx.org/licenses/MMPL-1.0.1.json",
5363
+ "name": "Minecraft Mod Public License v1.0.1",
5364
+ "licenseId": "MMPL-1.0.1",
5365
+ "seeAlso": [
5366
+ "https://github.com/BuildCraft/BuildCraft/blob/623d323b1868712f29f4a8b0979a02e8d1835131/LICENSE",
5367
+ "https://mod-buildcraft.com/MMPL-1.0.txt"
5368
+ ],
5369
+ "isOsiApproved": false
5370
+ },
5348
5371
  {
5349
5372
  "reference": "https://spdx.org/licenses/Motosoto.html",
5350
5373
  "isDeprecatedLicenseId": false,
@@ -6345,6 +6368,18 @@
6345
6368
  ],
6346
6369
  "isOsiApproved": false
6347
6370
  },
6371
+ {
6372
+ "reference": "https://spdx.org/licenses/OpenMDW-1.0.html",
6373
+ "isDeprecatedLicenseId": false,
6374
+ "detailsUrl": "https://spdx.org/licenses/OpenMDW-1.0.json",
6375
+ "name": "OpenMDW License Agreement v1.0",
6376
+ "licenseId": "OpenMDW-1.0",
6377
+ "seeAlso": [
6378
+ "https://raw.githubusercontent.com/OpenMDW/OpenMDW/refs/heads/main/1.0/LICENSE.openmdw",
6379
+ "https://openmdw.ai/license/"
6380
+ ],
6381
+ "isOsiApproved": false
6382
+ },
6348
6383
  {
6349
6384
  "reference": "https://spdx.org/licenses/OpenPBS-2.3.html",
6350
6385
  "isDeprecatedLicenseId": false,
@@ -6527,6 +6562,18 @@
6527
6562
  ],
6528
6563
  "isOsiApproved": false
6529
6564
  },
6565
+ {
6566
+ "reference": "https://spdx.org/licenses/ParaType-Free-Font-1.3.html",
6567
+ "isDeprecatedLicenseId": false,
6568
+ "detailsUrl": "https://spdx.org/licenses/ParaType-Free-Font-1.3.json",
6569
+ "name": "ParaType Free Font Licensing Agreement v1.3",
6570
+ "licenseId": "ParaType-Free-Font-1.3",
6571
+ "seeAlso": [
6572
+ "https://web.archive.org/web/20161209023955/http://www.paratype.ru/public/pt_openlicense_eng.asp",
6573
+ "https://metadata.ftp-master.debian.org/changelogs//main/f/fonts-paratype/fonts-paratype_20181108-4_copyright"
6574
+ ],
6575
+ "isOsiApproved": false
6576
+ },
6530
6577
  {
6531
6578
  "reference": "https://spdx.org/licenses/Parity-6.0.0.html",
6532
6579
  "isDeprecatedLicenseId": false,
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "amati"
3
- version = "0.3.26"
3
+ version = "0.3.28"
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.26"
16
+ version = "0.3.28"
17
17
  source = { editable = "." }
18
18
  dependencies = [
19
19
  { name = "abnf" },
@@ -248,14 +248,14 @@ wheels = [
248
248
 
249
249
  [[package]]
250
250
  name = "hypothesis"
251
- version = "6.150.2"
251
+ version = "6.150.3"
252
252
  source = { registry = "https://pypi.org/simple/" }
253
253
  dependencies = [
254
254
  { name = "sortedcontainers" },
255
255
  ]
256
- sdist = { url = "https://files.pythonhosted.org/packages/d2/19/a4eee0c98e2ec678854272f79646f34943f8fbbc42689cc355b530c5bc96/hypothesis-6.150.2.tar.gz", hash = "sha256:deb043c41c53eaf0955f4a08739c2a34c3d8040ee3d9a2da0aa5470122979f75", size = 475250, upload-time = "2026-01-13T17:09:22.146Z" }
256
+ sdist = { url = "https://files.pythonhosted.org/packages/86/eb/1b0359b52d2136a7f4b8112e60148ef8b5ba480d450f409ed63e18d4c8d2/hypothesis-6.150.3.tar.gz", hash = "sha256:32c88d4b7df3a8483e69877561b520320bf7779b0709c11869e392025e9279d4", size = 475542, upload-time = "2026-01-23T07:53:09.716Z" }
257
257
  wheels = [
258
- { url = "https://files.pythonhosted.org/packages/b3/5e/21caad4acf45db7caf730cca1bc61422283e4c4e841efbc862d17ab81a21/hypothesis-6.150.2-py3-none-any.whl", hash = "sha256:648d6a2be435889e713ba3d335b0fb5e7a250f569b56e6867887c1e7a0d1f02f", size = 542712, upload-time = "2026-01-13T17:09:19.945Z" },
258
+ { url = "https://files.pythonhosted.org/packages/69/6b/c94ca780814aa4e73b52a8d5e9092f0b83f4732a9ecb3d1f8333c93ac131/hypothesis-6.150.3-py3-none-any.whl", hash = "sha256:5577c0f8eff5ac54a8aff1ce32e30c5454167c29360fdabf1bfea0539b1689f9", size = 542960, upload-time = "2026-01-23T07:53:07.309Z" },
259
259
  ]
260
260
 
261
261
  [[package]]
@@ -630,28 +630,28 @@ wheels = [
630
630
 
631
631
  [[package]]
632
632
  name = "ruff"
633
- version = "0.14.13"
634
- source = { registry = "https://pypi.org/simple/" }
635
- sdist = { url = "https://files.pythonhosted.org/packages/50/0a/1914efb7903174b381ee2ffeebb4253e729de57f114e63595114c8ca451f/ruff-0.14.13.tar.gz", hash = "sha256:83cd6c0763190784b99650a20fec7633c59f6ebe41c5cc9d45ee42749563ad47", size = 6059504, upload-time = "2026-01-15T20:15:16.918Z" }
636
- wheels = [
637
- { url = "https://files.pythonhosted.org/packages/c3/ae/0deefbc65ca74b0ab1fd3917f94dc3b398233346a74b8bbb0a916a1a6bf6/ruff-0.14.13-py3-none-linux_armv6l.whl", hash = "sha256:76f62c62cd37c276cb03a275b198c7c15bd1d60c989f944db08a8c1c2dbec18b", size = 13062418, upload-time = "2026-01-15T20:14:50.779Z" },
638
- { url = "https://files.pythonhosted.org/packages/47/df/5916604faa530a97a3c154c62a81cb6b735c0cb05d1e26d5ad0f0c8ac48a/ruff-0.14.13-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:914a8023ece0528d5cc33f5a684f5f38199bbb566a04815c2c211d8f40b5d0ed", size = 13442344, upload-time = "2026-01-15T20:15:07.94Z" },
639
- { url = "https://files.pythonhosted.org/packages/4c/f3/e0e694dd69163c3a1671e102aa574a50357536f18a33375050334d5cd517/ruff-0.14.13-py3-none-macosx_11_0_arm64.whl", hash = "sha256:d24899478c35ebfa730597a4a775d430ad0d5631b8647a3ab368c29b7e7bd063", size = 12354720, upload-time = "2026-01-15T20:15:09.854Z" },
640
- { url = "https://files.pythonhosted.org/packages/c3/e8/67f5fcbbaee25e8fc3b56cc33e9892eca7ffe09f773c8e5907757a7e3bdb/ruff-0.14.13-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9aaf3870f14d925bbaf18b8a2347ee0ae7d95a2e490e4d4aea6813ed15ebc80e", size = 12774493, upload-time = "2026-01-15T20:15:20.908Z" },
641
- { url = "https://files.pythonhosted.org/packages/6b/ce/d2e9cb510870b52a9565d885c0d7668cc050e30fa2c8ac3fb1fda15c083d/ruff-0.14.13-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ac5b7f63dd3b27cc811850f5ffd8fff845b00ad70e60b043aabf8d6ecc304e09", size = 12815174, upload-time = "2026-01-15T20:15:05.74Z" },
642
- { url = "https://files.pythonhosted.org/packages/88/00/c38e5da58beebcf4fa32d0ddd993b63dfacefd02ab7922614231330845bf/ruff-0.14.13-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:78d2b1097750d90ba82ce4ba676e85230a0ed694178ca5e61aa9b459970b3eb9", size = 13680909, upload-time = "2026-01-15T20:15:14.537Z" },
643
- { url = "https://files.pythonhosted.org/packages/61/61/cd37c9dd5bd0a3099ba79b2a5899ad417d8f3b04038810b0501a80814fd7/ruff-0.14.13-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:7d0bf87705acbbcb8d4c24b2d77fbb73d40210a95c3903b443cd9e30824a5032", size = 15144215, upload-time = "2026-01-15T20:15:22.886Z" },
644
- { url = "https://files.pythonhosted.org/packages/56/8a/85502d7edbf98c2df7b8876f316c0157359165e16cdf98507c65c8d07d3d/ruff-0.14.13-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a3eb5da8e2c9e9f13431032fdcbe7681de9ceda5835efee3269417c13f1fed5c", size = 14706067, upload-time = "2026-01-15T20:14:48.271Z" },
645
- { url = "https://files.pythonhosted.org/packages/7e/2f/de0df127feb2ee8c1e54354dc1179b4a23798f0866019528c938ba439aca/ruff-0.14.13-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:642442b42957093811cd8d2140dfadd19c7417030a7a68cf8d51fcdd5f217427", size = 14133916, upload-time = "2026-01-15T20:14:57.357Z" },
646
- { url = "https://files.pythonhosted.org/packages/0d/77/9b99686bb9fe07a757c82f6f95e555c7a47801a9305576a9c67e0a31d280/ruff-0.14.13-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4acdf009f32b46f6e8864af19cbf6841eaaed8638e65c8dac845aea0d703c841", size = 13859207, upload-time = "2026-01-15T20:14:55.111Z" },
647
- { url = "https://files.pythonhosted.org/packages/7d/46/2bdcb34a87a179a4d23022d818c1c236cb40e477faf0d7c9afb6813e5876/ruff-0.14.13-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:591a7f68860ea4e003917d19b5c4f5ac39ff558f162dc753a2c5de897fd5502c", size = 14043686, upload-time = "2026-01-15T20:14:52.841Z" },
648
- { url = "https://files.pythonhosted.org/packages/1a/a9/5c6a4f56a0512c691cf143371bcf60505ed0f0860f24a85da8bd123b2bf1/ruff-0.14.13-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:774c77e841cc6e046fc3e91623ce0903d1cd07e3a36b1a9fe79b81dab3de506b", size = 12663837, upload-time = "2026-01-15T20:15:18.921Z" },
649
- { url = "https://files.pythonhosted.org/packages/fe/bb/b920016ece7651fa7fcd335d9d199306665486694d4361547ccb19394c44/ruff-0.14.13-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:61f4e40077a1248436772bb6512db5fc4457fe4c49e7a94ea7c5088655dd21ae", size = 12805867, upload-time = "2026-01-15T20:14:59.272Z" },
650
- { url = "https://files.pythonhosted.org/packages/7d/b3/0bd909851e5696cd21e32a8fc25727e5f58f1934b3596975503e6e85415c/ruff-0.14.13-py3-none-musllinux_1_2_i686.whl", hash = "sha256:6d02f1428357fae9e98ac7aa94b7e966fd24151088510d32cf6f902d6c09235e", size = 13208528, upload-time = "2026-01-15T20:15:03.732Z" },
651
- { url = "https://files.pythonhosted.org/packages/3b/3b/e2d94cb613f6bbd5155a75cbe072813756363eba46a3f2177a1fcd0cd670/ruff-0.14.13-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:e399341472ce15237be0c0ae5fbceca4b04cd9bebab1a2b2c979e015455d8f0c", size = 13929242, upload-time = "2026-01-15T20:15:11.918Z" },
652
- { url = "https://files.pythonhosted.org/packages/6a/c5/abd840d4132fd51a12f594934af5eba1d5d27298a6f5b5d6c3be45301caf/ruff-0.14.13-py3-none-win32.whl", hash = "sha256:ef720f529aec113968b45dfdb838ac8934e519711da53a0456038a0efecbd680", size = 12919024, upload-time = "2026-01-15T20:14:43.647Z" },
653
- { url = "https://files.pythonhosted.org/packages/c2/55/6384b0b8ce731b6e2ade2b5449bf07c0e4c31e8a2e68ea65b3bafadcecc5/ruff-0.14.13-py3-none-win_amd64.whl", hash = "sha256:6070bd026e409734b9257e03e3ef18c6e1a216f0435c6751d7a8ec69cb59abef", size = 14097887, upload-time = "2026-01-15T20:15:01.48Z" },
654
- { url = "https://files.pythonhosted.org/packages/4d/e1/7348090988095e4e39560cfc2f7555b1b2a7357deba19167b600fdf5215d/ruff-0.14.13-py3-none-win_arm64.whl", hash = "sha256:7ab819e14f1ad9fe39f246cfcc435880ef7a9390d81a2b6ac7e01039083dd247", size = 13080224, upload-time = "2026-01-15T20:14:45.853Z" },
633
+ version = "0.14.14"
634
+ source = { registry = "https://pypi.org/simple/" }
635
+ sdist = { url = "https://files.pythonhosted.org/packages/2e/06/f71e3a86b2df0dfa2d2f72195941cd09b44f87711cb7fa5193732cb9a5fc/ruff-0.14.14.tar.gz", hash = "sha256:2d0f819c9a90205f3a867dbbd0be083bee9912e170fd7d9704cc8ae45824896b", size = 4515732, upload-time = "2026-01-22T22:30:17.527Z" }
636
+ wheels = [
637
+ { url = "https://files.pythonhosted.org/packages/d2/89/20a12e97bc6b9f9f68343952da08a8099c57237aef953a56b82711d55edd/ruff-0.14.14-py3-none-linux_armv6l.whl", hash = "sha256:7cfe36b56e8489dee8fbc777c61959f60ec0f1f11817e8f2415f429552846aed", size = 10467650, upload-time = "2026-01-22T22:30:08.578Z" },
638
+ { url = "https://files.pythonhosted.org/packages/a3/b1/c5de3fd2d5a831fcae21beda5e3589c0ba67eec8202e992388e4b17a6040/ruff-0.14.14-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:6006a0082336e7920b9573ef8a7f52eec837add1265cc74e04ea8a4368cd704c", size = 10883245, upload-time = "2026-01-22T22:30:04.155Z" },
639
+ { url = "https://files.pythonhosted.org/packages/b8/7c/3c1db59a10e7490f8f6f8559d1db8636cbb13dccebf18686f4e3c9d7c772/ruff-0.14.14-py3-none-macosx_11_0_arm64.whl", hash = "sha256:026c1d25996818f0bf498636686199d9bd0d9d6341c9c2c3b62e2a0198b758de", size = 10231273, upload-time = "2026-01-22T22:30:34.642Z" },
640
+ { url = "https://files.pythonhosted.org/packages/a1/6e/5e0e0d9674be0f8581d1f5e0f0a04761203affce3232c1a1189d0e3b4dad/ruff-0.14.14-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f666445819d31210b71e0a6d1c01e24447a20b85458eea25a25fe8142210ae0e", size = 10585753, upload-time = "2026-01-22T22:30:31.781Z" },
641
+ { url = "https://files.pythonhosted.org/packages/23/09/754ab09f46ff1884d422dc26d59ba18b4e5d355be147721bb2518aa2a014/ruff-0.14.14-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3c0f18b922c6d2ff9a5e6c3ee16259adc513ca775bcf82c67ebab7cbd9da5bc8", size = 10286052, upload-time = "2026-01-22T22:30:24.827Z" },
642
+ { url = "https://files.pythonhosted.org/packages/c8/cc/e71f88dd2a12afb5f50733851729d6b571a7c3a35bfdb16c3035132675a0/ruff-0.14.14-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1629e67489c2dea43e8658c3dba659edbfd87361624b4040d1df04c9740ae906", size = 11043637, upload-time = "2026-01-22T22:30:13.239Z" },
643
+ { url = "https://files.pythonhosted.org/packages/67/b2/397245026352494497dac935d7f00f1468c03a23a0c5db6ad8fc49ca3fb2/ruff-0.14.14-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:27493a2131ea0f899057d49d303e4292b2cae2bb57253c1ed1f256fbcd1da480", size = 12194761, upload-time = "2026-01-22T22:30:22.542Z" },
644
+ { url = "https://files.pythonhosted.org/packages/5b/06/06ef271459f778323112c51b7587ce85230785cd64e91772034ddb88f200/ruff-0.14.14-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:01ff589aab3f5b539e35db38425da31a57521efd1e4ad1ae08fc34dbe30bd7df", size = 12005701, upload-time = "2026-01-22T22:30:20.499Z" },
645
+ { url = "https://files.pythonhosted.org/packages/41/d6/99364514541cf811ccc5ac44362f88df66373e9fec1b9d1c4cc830593fe7/ruff-0.14.14-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1cc12d74eef0f29f51775f5b755913eb523546b88e2d733e1d701fe65144e89b", size = 11282455, upload-time = "2026-01-22T22:29:59.679Z" },
646
+ { url = "https://files.pythonhosted.org/packages/ca/71/37daa46f89475f8582b7762ecd2722492df26421714a33e72ccc9a84d7a5/ruff-0.14.14-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bb8481604b7a9e75eff53772496201690ce2687067e038b3cc31aaf16aa0b974", size = 11215882, upload-time = "2026-01-22T22:29:57.032Z" },
647
+ { url = "https://files.pythonhosted.org/packages/2c/10/a31f86169ec91c0705e618443ee74ede0bdd94da0a57b28e72db68b2dbac/ruff-0.14.14-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:14649acb1cf7b5d2d283ebd2f58d56b75836ed8c6f329664fa91cdea19e76e66", size = 11180549, upload-time = "2026-01-22T22:30:27.175Z" },
648
+ { url = "https://files.pythonhosted.org/packages/fd/1e/c723f20536b5163adf79bdd10c5f093414293cdf567eed9bdb7b83940f3f/ruff-0.14.14-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:e8058d2145566510790eab4e2fad186002e288dec5e0d343a92fe7b0bc1b3e13", size = 10543416, upload-time = "2026-01-22T22:30:01.964Z" },
649
+ { url = "https://files.pythonhosted.org/packages/3e/34/8a84cea7e42c2d94ba5bde1d7a4fae164d6318f13f933d92da6d7c2041ff/ruff-0.14.14-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:e651e977a79e4c758eb807f0481d673a67ffe53cfa92209781dfa3a996cf8412", size = 10285491, upload-time = "2026-01-22T22:30:29.51Z" },
650
+ { url = "https://files.pythonhosted.org/packages/55/ef/b7c5ea0be82518906c978e365e56a77f8de7678c8bb6651ccfbdc178c29f/ruff-0.14.14-py3-none-musllinux_1_2_i686.whl", hash = "sha256:cc8b22da8d9d6fdd844a68ae937e2a0adf9b16514e9a97cc60355e2d4b219fc3", size = 10733525, upload-time = "2026-01-22T22:30:06.499Z" },
651
+ { url = "https://files.pythonhosted.org/packages/6a/5b/aaf1dfbcc53a2811f6cc0a1759de24e4b03e02ba8762daabd9b6bd8c59e3/ruff-0.14.14-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:16bc890fb4cc9781bb05beb5ab4cd51be9e7cb376bf1dd3580512b24eb3fda2b", size = 11315626, upload-time = "2026-01-22T22:30:36.848Z" },
652
+ { url = "https://files.pythonhosted.org/packages/2c/aa/9f89c719c467dfaf8ad799b9bae0df494513fb21d31a6059cb5870e57e74/ruff-0.14.14-py3-none-win32.whl", hash = "sha256:b530c191970b143375b6a68e6f743800b2b786bbcf03a7965b06c4bf04568167", size = 10502442, upload-time = "2026-01-22T22:30:38.93Z" },
653
+ { url = "https://files.pythonhosted.org/packages/87/44/90fa543014c45560cae1fffc63ea059fb3575ee6e1cb654562197e5d16fb/ruff-0.14.14-py3-none-win_amd64.whl", hash = "sha256:3dde1435e6b6fe5b66506c1dff67a421d0b7f6488d466f651c07f4cab3bf20fd", size = 11630486, upload-time = "2026-01-22T22:30:10.852Z" },
654
+ { url = "https://files.pythonhosted.org/packages/9e/6a/40fee331a52339926a92e17ae748827270b288a35ef4a15c9c8f2ec54715/ruff-0.14.14-py3-none-win_arm64.whl", hash = "sha256:56e6981a98b13a32236a72a8da421d7839221fa308b223b9283312312e5ac76c", size = 10920448, upload-time = "2026-01-22T22:30:15.417Z" },
655
655
  ]
656
656
 
657
657
  [[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