amati 0.3.20__tar.gz → 0.3.22__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.20 → amati-0.3.22}/.github/workflows/checks.yaml +1 -1
  2. {amati-0.3.20 → amati-0.3.22}/.github/workflows/codeql.yml +2 -2
  3. {amati-0.3.20 → amati-0.3.22}/.github/workflows/coverage.yaml +1 -1
  4. {amati-0.3.20 → amati-0.3.22}/.github/workflows/publish.yaml +1 -1
  5. {amati-0.3.20 → amati-0.3.22}/.github/workflows/scorecards.yml +1 -1
  6. {amati-0.3.20 → amati-0.3.22}/Dockerfile +1 -1
  7. {amati-0.3.20 → amati-0.3.22}/PKG-INFO +1 -1
  8. {amati-0.3.20 → amati-0.3.22}/amati/_data/files/media-types.json +4 -0
  9. {amati-0.3.20 → amati-0.3.22}/pyproject.toml +1 -1
  10. {amati-0.3.20 → amati-0.3.22}/uv.lock +4 -4
  11. {amati-0.3.20 → amati-0.3.22}/.dockerignore +0 -0
  12. {amati-0.3.20 → amati-0.3.22}/.github/actions/setup/action.yaml +0 -0
  13. {amati-0.3.20 → amati-0.3.22}/.github/dependabot.yml +0 -0
  14. {amati-0.3.20 → amati-0.3.22}/.github/workflows/data-refresh.yaml +0 -0
  15. {amati-0.3.20 → amati-0.3.22}/.github/workflows/dependency-review.yml +0 -0
  16. {amati-0.3.20 → amati-0.3.22}/.github/workflows/tag-and-create-release.yaml +0 -0
  17. {amati-0.3.20 → amati-0.3.22}/.gitignore +0 -0
  18. {amati-0.3.20 → amati-0.3.22}/.pre-commit-config.yaml +0 -0
  19. {amati-0.3.20 → amati-0.3.22}/.python-version +0 -0
  20. {amati-0.3.20 → amati-0.3.22}/LICENSE +0 -0
  21. {amati-0.3.20 → amati-0.3.22}/README.md +0 -0
  22. {amati-0.3.20 → amati-0.3.22}/SECURITY.md +0 -0
  23. {amati-0.3.20 → amati-0.3.22}/TEMPLATE.html +0 -0
  24. {amati-0.3.20 → amati-0.3.22}/amati/__init__.py +0 -0
  25. {amati-0.3.20 → amati-0.3.22}/amati/_data/files/http-status-codes.json +0 -0
  26. {amati-0.3.20 → amati-0.3.22}/amati/_data/files/iso9110.json +0 -0
  27. {amati-0.3.20 → amati-0.3.22}/amati/_data/files/schemes.json +0 -0
  28. {amati-0.3.20 → amati-0.3.22}/amati/_data/files/spdx-licences.json +0 -0
  29. {amati-0.3.20 → amati-0.3.22}/amati/_data/files/tlds.json +0 -0
  30. {amati-0.3.20 → amati-0.3.22}/amati/_data/http_status_code.py +0 -0
  31. {amati-0.3.20 → amati-0.3.22}/amati/_data/iso9110.py +0 -0
  32. {amati-0.3.20 → amati-0.3.22}/amati/_data/media_types.py +0 -0
  33. {amati-0.3.20 → amati-0.3.22}/amati/_data/refresh.py +0 -0
  34. {amati-0.3.20 → amati-0.3.22}/amati/_data/schemes.py +0 -0
  35. {amati-0.3.20 → amati-0.3.22}/amati/_data/spdx_licences.py +0 -0
  36. {amati-0.3.20 → amati-0.3.22}/amati/_data/tlds.py +0 -0
  37. {amati-0.3.20 → amati-0.3.22}/amati/_error_handler.py +0 -0
  38. {amati-0.3.20 → amati-0.3.22}/amati/_logging.py +0 -0
  39. {amati-0.3.20 → amati-0.3.22}/amati/_references.py +0 -0
  40. {amati-0.3.20 → amati-0.3.22}/amati/_resolve_forward_references.py +0 -0
  41. {amati-0.3.20 → amati-0.3.22}/amati/amati.py +0 -0
  42. {amati-0.3.20 → amati-0.3.22}/amati/exceptions.py +0 -0
  43. {amati-0.3.20 → amati-0.3.22}/amati/fields/__init__.py +0 -0
  44. {amati-0.3.20 → amati-0.3.22}/amati/fields/_custom_types.py +0 -0
  45. {amati-0.3.20 → amati-0.3.22}/amati/fields/commonmark.py +0 -0
  46. {amati-0.3.20 → amati-0.3.22}/amati/fields/email.py +0 -0
  47. {amati-0.3.20 → amati-0.3.22}/amati/fields/http_status_codes.py +0 -0
  48. {amati-0.3.20 → amati-0.3.22}/amati/fields/iso9110.py +0 -0
  49. {amati-0.3.20 → amati-0.3.22}/amati/fields/json.py +0 -0
  50. {amati-0.3.20 → amati-0.3.22}/amati/fields/media.py +0 -0
  51. {amati-0.3.20 → amati-0.3.22}/amati/fields/oas.py +0 -0
  52. {amati-0.3.20 → amati-0.3.22}/amati/fields/spdx_licences.py +0 -0
  53. {amati-0.3.20 → amati-0.3.22}/amati/fields/uri.py +0 -0
  54. {amati-0.3.20 → amati-0.3.22}/amati/file_handler.py +0 -0
  55. {amati-0.3.20 → amati-0.3.22}/amati/grammars/oas.py +0 -0
  56. {amati-0.3.20 → amati-0.3.22}/amati/grammars/rfc6901.py +0 -0
  57. {amati-0.3.20 → amati-0.3.22}/amati/grammars/rfc7159.py +0 -0
  58. {amati-0.3.20 → amati-0.3.22}/amati/model_validators.py +0 -0
  59. {amati-0.3.20 → amati-0.3.22}/amati/py.typed +0 -0
  60. {amati-0.3.20 → amati-0.3.22}/amati/validators/__init__.py +0 -0
  61. {amati-0.3.20 → amati-0.3.22}/amati/validators/_discriminators.py +0 -0
  62. {amati-0.3.20 → amati-0.3.22}/amati/validators/generic.py +0 -0
  63. {amati-0.3.20 → amati-0.3.22}/amati/validators/oas304.py +0 -0
  64. {amati-0.3.20 → amati-0.3.22}/amati/validators/oas311.py +0 -0
  65. {amati-0.3.20 → amati-0.3.22}/bin/checks.sh +0 -0
  66. {amati-0.3.20 → amati-0.3.22}/bin/startup.sh +0 -0
  67. {amati-0.3.20 → amati-0.3.22}/bin/upgrade-python.sh +0 -0
  68. {amati-0.3.20 → amati-0.3.22}/bin/uv-upgrade-from-main.sh +0 -0
  69. {amati-0.3.20 → amati-0.3.22}/scripts/setup_test_specs.py +0 -0
  70. {amati-0.3.20 → amati-0.3.22}/tests/__init__.py +0 -0
  71. {amati-0.3.20 → amati-0.3.22}/tests/data/.amati.tests.yaml +0 -0
  72. {amati-0.3.20 → amati-0.3.22}/tests/data/DigitalOcean-public.v2.errors.json +0 -0
  73. {amati-0.3.20 → amati-0.3.22}/tests/data/api.github.com.json.errors.json +0 -0
  74. {amati-0.3.20 → amati-0.3.22}/tests/data/api.github.com.yaml.errors.json +0 -0
  75. {amati-0.3.20 → amati-0.3.22}/tests/data/discourse.yml.errors.json +0 -0
  76. {amati-0.3.20 → amati-0.3.22}/tests/data/invalid-openapi.yaml +0 -0
  77. {amati-0.3.20 → amati-0.3.22}/tests/data/next-api.github.com.json.errors.json +0 -0
  78. {amati-0.3.20 → amati-0.3.22}/tests/data/openapi.yaml +0 -0
  79. {amati-0.3.20 → amati-0.3.22}/tests/data/openapi.yaml.gz +0 -0
  80. {amati-0.3.20 → amati-0.3.22}/tests/fields/__init__.py +0 -0
  81. {amati-0.3.20 → amati-0.3.22}/tests/fields/test_email.py +0 -0
  82. {amati-0.3.20 → amati-0.3.22}/tests/fields/test_http_status_codes.py +0 -0
  83. {amati-0.3.20 → amati-0.3.22}/tests/fields/test_iso9110.py +0 -0
  84. {amati-0.3.20 → amati-0.3.22}/tests/fields/test_media.py +0 -0
  85. {amati-0.3.20 → amati-0.3.22}/tests/fields/test_oas.py +0 -0
  86. {amati-0.3.20 → amati-0.3.22}/tests/fields/test_spdx_licences.py +0 -0
  87. {amati-0.3.20 → amati-0.3.22}/tests/fields/test_uri.py +0 -0
  88. {amati-0.3.20 → amati-0.3.22}/tests/model_validators/test_all_of.py +0 -0
  89. {amati-0.3.20 → amati-0.3.22}/tests/model_validators/test_at_least_one.py +0 -0
  90. {amati-0.3.20 → amati-0.3.22}/tests/model_validators/test_if_then.py +0 -0
  91. {amati-0.3.20 → amati-0.3.22}/tests/model_validators/test_only_one.py +0 -0
  92. {amati-0.3.20 → amati-0.3.22}/tests/references/test_uri_collector_mixin.py +0 -0
  93. {amati-0.3.20 → amati-0.3.22}/tests/references/test_uri_reference.py +0 -0
  94. {amati-0.3.20 → amati-0.3.22}/tests/references/test_uri_registry.py +0 -0
  95. {amati-0.3.20 → amati-0.3.22}/tests/strategies.py +0 -0
  96. {amati-0.3.20 → amati-0.3.22}/tests/test_amati.py +0 -0
  97. {amati-0.3.20 → amati-0.3.22}/tests/test_external_specs.py +0 -0
  98. {amati-0.3.20 → amati-0.3.22}/tests/test_logging.py +0 -0
  99. {amati-0.3.20 → amati-0.3.22}/tests/validators/__init__.py +0 -0
  100. {amati-0.3.20 → amati-0.3.22}/tests/validators/test_generic.py +0 -0
  101. {amati-0.3.20 → amati-0.3.22}/tests/validators/test_licence_object.py +0 -0
  102. {amati-0.3.20 → amati-0.3.22}/tests/validators/test_security_scheme_object.py +0 -0
  103. {amati-0.3.20 → amati-0.3.22}/tests/validators/test_server_variable_object.py +0 -0
@@ -77,7 +77,7 @@ 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@1b2f31c66ea0a0b54532ecbeb06bcafbee31b066 # v3
80
+ uses: py-cov-action/python-coverage-comment-action@e8c1e02ffe59ae892340db188ba8ad7386c9ad12 # v3
81
81
  with:
82
82
  GITHUB_TOKEN: ${{ secrets.BOT_COMMENT_TOKEN }}
83
83
  continue-on-error: true
@@ -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@1b168cd39490f61582a9beae412bb7057a6b2c4e # v4.31.8
76
+ uses: github/codeql-action/init@5d4e8d1aca955e8d8589aabd499c5cae939e33c7 # v4.31.9
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@1b168cd39490f61582a9beae412bb7057a6b2c4e # v4.31.8
104
+ uses: github/codeql-action/analyze@5d4e8d1aca955e8d8589aabd499c5cae939e33c7 # v4.31.9
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@1b2f31c66ea0a0b54532ecbeb06bcafbee31b066 # v3
27
+ uses: py-cov-action/python-coverage-comment-action@e8c1e02ffe59ae892340db188ba8ad7386c9ad12 # v3
28
28
  with:
29
29
  GITHUB_TOKEN: ${{ secrets.BOT_COMMENT_TOKEN }}
30
30
  GITHUB_PR_RUN_ID: ${{ github.event.workflow_run.id }}
@@ -46,7 +46,7 @@ jobs:
46
46
  uses: docker/setup-qemu-action@c7c53464625b32c7a7e944ae62b3e17d2b600130 # v3.7.0
47
47
 
48
48
  - name: Set up Docker Buildx
49
- uses: docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435 # v3.11.1
49
+ uses: docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f # v3.12.0
50
50
 
51
51
  - name: Build and push Docker image
52
52
  uses: docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83 # v6.18.0
@@ -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@1b168cd39490f61582a9beae412bb7057a6b2c4e # v4.31.8
83
+ uses: github/codeql-action/upload-sarif@5d4e8d1aca955e8d8589aabd499c5cae939e33c7 # v4.31.9
84
84
  with:
85
85
  sarif_file: results.sarif
@@ -1,4 +1,4 @@
1
- FROM python:3.14.2-slim@sha256:10f5458f950e21b5ebe9ef12f75d8b9fc6adef232b0f0fc782ef71be59c2b871
1
+ FROM python:3.14.2-slim@sha256:2751cbe93751f0147bc1584be957c6dd4c5f977c3d4e0396b56456a9fd4ed137
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.20
3
+ Version: 0.3.22
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
@@ -384,6 +384,7 @@
384
384
  "prs.nprend",
385
385
  "prs.plucker",
386
386
  "prs.rdf-xml-crypt",
387
+ "prs.sclt",
387
388
  "prs.vcfbzip2",
388
389
  "prs.xsf+xml",
389
390
  "pskc+xml",
@@ -1560,7 +1561,10 @@
1560
1561
  "vnd.truedoc",
1561
1562
  "vnd.ubisoft.webplayer",
1562
1563
  "vnd.ufdl",
1564
+ "vnd.uic.dosipas.v1",
1565
+ "vnd.uic.dosipas.v2",
1563
1566
  "vnd.uic.osdm+json",
1567
+ "vnd.uic.tlb-fcb",
1564
1568
  "vnd.uiq.theme",
1565
1569
  "vnd.umajin",
1566
1570
  "vnd.unity",
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "amati"
3
- version = "0.3.20"
3
+ version = "0.3.22"
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.20"
16
+ version = "0.3.22"
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.148.7"
215
+ version = "6.148.8"
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/09/5e/6a506e81d4dfefed2e838b6beaaae87b2e411dda3da0a3abf94099f194ae/hypothesis-6.148.7.tar.gz", hash = "sha256:b96e817e715c5b1a278411e3b9baf6d599d5b12207ba25e41a8f066929f6c2a6", size = 471199, upload-time = "2025-12-05T02:12:38.068Z" }
220
+ sdist = { url = "https://files.pythonhosted.org/packages/25/b3/e098d91195f121602bb3e4d00276cf1da0035df53e9deeb18115467d6da9/hypothesis-6.148.8.tar.gz", hash = "sha256:fa6b2ae029bc02f9d2d6c2257b0cbf2dc3782362457d2027a038ad7f4209c385", size = 471333, upload-time = "2025-12-23T01:46:25.052Z" }
221
221
  wheels = [
222
- { url = "https://files.pythonhosted.org/packages/e9/55/fa5607e4a4af96dfa0e7efd81bbd130735cedd21aac70b25e06191bff92f/hypothesis-6.148.7-py3-none-any.whl", hash = "sha256:94dbd58ebf259afa3bafb1d3bf5761ac1bde6f1477de494798cbf7960aabbdee", size = 538127, upload-time = "2025-12-05T02:12:35.54Z" },
222
+ { url = "https://files.pythonhosted.org/packages/61/95/0742f59910074262e98d9f3bb0f7fb7a6b4bfb7e70b6d203eeb5625a6452/hypothesis-6.148.8-py3-none-any.whl", hash = "sha256:c1842f47f974d74661b3779a26032f8b91bc1eb30d84741714d3712d7f43e85e", size = 538280, upload-time = "2025-12-23T01:46:22.555Z" },
223
223
  ]
224
224
 
225
225
  [[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