amati 0.2.27__tar.gz → 0.2.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 (97) hide show
  1. {amati-0.2.27 → amati-0.2.28}/.github/workflows/checks.yaml +1 -1
  2. {amati-0.2.27 → amati-0.2.28}/.github/workflows/codeql.yml +2 -2
  3. {amati-0.2.27 → amati-0.2.28}/.github/workflows/coverage.yaml +1 -1
  4. {amati-0.2.27 → amati-0.2.28}/.github/workflows/data-refresh.yaml +1 -1
  5. {amati-0.2.27 → amati-0.2.28}/.github/workflows/dependency-review.yml +1 -1
  6. {amati-0.2.27 → amati-0.2.28}/.github/workflows/publish.yaml +1 -1
  7. {amati-0.2.27 → amati-0.2.28}/.github/workflows/scorecards.yml +1 -1
  8. {amati-0.2.27 → amati-0.2.28}/.github/workflows/tag-and-create-release.yaml +1 -1
  9. {amati-0.2.27 → amati-0.2.28}/Dockerfile +1 -1
  10. {amati-0.2.27 → amati-0.2.28}/PKG-INFO +1 -1
  11. {amati-0.2.27 → amati-0.2.28}/pyproject.toml +1 -1
  12. {amati-0.2.27 → amati-0.2.28}/uv.lock +4 -4
  13. {amati-0.2.27 → amati-0.2.28}/.dockerignore +0 -0
  14. {amati-0.2.27 → amati-0.2.28}/.github/actions/setup/action.yaml +0 -0
  15. {amati-0.2.27 → amati-0.2.28}/.github/dependabot.yml +0 -0
  16. {amati-0.2.27 → amati-0.2.28}/.gitignore +0 -0
  17. {amati-0.2.27 → amati-0.2.28}/.pre-commit-config.yaml +0 -0
  18. {amati-0.2.27 → amati-0.2.28}/.python-version +0 -0
  19. {amati-0.2.27 → amati-0.2.28}/LICENSE +0 -0
  20. {amati-0.2.27 → amati-0.2.28}/README.md +0 -0
  21. {amati-0.2.27 → amati-0.2.28}/SECURITY.md +0 -0
  22. {amati-0.2.27 → amati-0.2.28}/TEMPLATE.html +0 -0
  23. {amati-0.2.27 → amati-0.2.28}/amati/__init__.py +0 -0
  24. {amati-0.2.27 → amati-0.2.28}/amati/_data/files/http-status-codes.json +0 -0
  25. {amati-0.2.27 → amati-0.2.28}/amati/_data/files/iso9110.json +0 -0
  26. {amati-0.2.27 → amati-0.2.28}/amati/_data/files/media-types.json +0 -0
  27. {amati-0.2.27 → amati-0.2.28}/amati/_data/files/schemes.json +0 -0
  28. {amati-0.2.27 → amati-0.2.28}/amati/_data/files/spdx-licences.json +0 -0
  29. {amati-0.2.27 → amati-0.2.28}/amati/_data/files/tlds.json +0 -0
  30. {amati-0.2.27 → amati-0.2.28}/amati/_data/http_status_code.py +0 -0
  31. {amati-0.2.27 → amati-0.2.28}/amati/_data/iso9110.py +0 -0
  32. {amati-0.2.27 → amati-0.2.28}/amati/_data/media_types.py +0 -0
  33. {amati-0.2.27 → amati-0.2.28}/amati/_data/refresh.py +0 -0
  34. {amati-0.2.27 → amati-0.2.28}/amati/_data/schemes.py +0 -0
  35. {amati-0.2.27 → amati-0.2.28}/amati/_data/spdx_licences.py +0 -0
  36. {amati-0.2.27 → amati-0.2.28}/amati/_data/tlds.py +0 -0
  37. {amati-0.2.27 → amati-0.2.28}/amati/_error_handler.py +0 -0
  38. {amati-0.2.27 → amati-0.2.28}/amati/_logging.py +0 -0
  39. {amati-0.2.27 → amati-0.2.28}/amati/_resolve_forward_references.py +0 -0
  40. {amati-0.2.27 → amati-0.2.28}/amati/amati.py +0 -0
  41. {amati-0.2.27 → amati-0.2.28}/amati/exceptions.py +0 -0
  42. {amati-0.2.27 → amati-0.2.28}/amati/fields/__init__.py +0 -0
  43. {amati-0.2.27 → amati-0.2.28}/amati/fields/_custom_types.py +0 -0
  44. {amati-0.2.27 → amati-0.2.28}/amati/fields/commonmark.py +0 -0
  45. {amati-0.2.27 → amati-0.2.28}/amati/fields/email.py +0 -0
  46. {amati-0.2.27 → amati-0.2.28}/amati/fields/http_status_codes.py +0 -0
  47. {amati-0.2.27 → amati-0.2.28}/amati/fields/iso9110.py +0 -0
  48. {amati-0.2.27 → amati-0.2.28}/amati/fields/json.py +0 -0
  49. {amati-0.2.27 → amati-0.2.28}/amati/fields/media.py +0 -0
  50. {amati-0.2.27 → amati-0.2.28}/amati/fields/oas.py +0 -0
  51. {amati-0.2.27 → amati-0.2.28}/amati/fields/spdx_licences.py +0 -0
  52. {amati-0.2.27 → amati-0.2.28}/amati/fields/uri.py +0 -0
  53. {amati-0.2.27 → amati-0.2.28}/amati/file_handler.py +0 -0
  54. {amati-0.2.27 → amati-0.2.28}/amati/grammars/oas.py +0 -0
  55. {amati-0.2.27 → amati-0.2.28}/amati/grammars/rfc6901.py +0 -0
  56. {amati-0.2.27 → amati-0.2.28}/amati/grammars/rfc7159.py +0 -0
  57. {amati-0.2.27 → amati-0.2.28}/amati/model_validators.py +0 -0
  58. {amati-0.2.27 → amati-0.2.28}/amati/py.typed +0 -0
  59. {amati-0.2.27 → amati-0.2.28}/amati/validators/__init__.py +0 -0
  60. {amati-0.2.27 → amati-0.2.28}/amati/validators/generic.py +0 -0
  61. {amati-0.2.27 → amati-0.2.28}/amati/validators/oas304.py +0 -0
  62. {amati-0.2.27 → amati-0.2.28}/amati/validators/oas311.py +0 -0
  63. {amati-0.2.27 → amati-0.2.28}/bin/checks.sh +0 -0
  64. {amati-0.2.27 → amati-0.2.28}/bin/startup.sh +0 -0
  65. {amati-0.2.27 → amati-0.2.28}/bin/upgrade-python.sh +0 -0
  66. {amati-0.2.27 → amati-0.2.28}/bin/uv-upgrade-from-main.sh +0 -0
  67. {amati-0.2.27 → amati-0.2.28}/scripts/setup_test_specs.py +0 -0
  68. {amati-0.2.27 → amati-0.2.28}/tests/__init__.py +0 -0
  69. {amati-0.2.27 → amati-0.2.28}/tests/data/.amati.tests.yaml +0 -0
  70. {amati-0.2.27 → amati-0.2.28}/tests/data/DigitalOcean-public.v2.errors.json +0 -0
  71. {amati-0.2.27 → amati-0.2.28}/tests/data/api.github.com.yaml.errors.json +0 -0
  72. {amati-0.2.27 → amati-0.2.28}/tests/data/discourse.yml.errors.json +0 -0
  73. {amati-0.2.27 → amati-0.2.28}/tests/data/next-api.github.com.yaml.errors.json +0 -0
  74. {amati-0.2.27 → amati-0.2.28}/tests/data/openapi.yaml +0 -0
  75. {amati-0.2.27 → amati-0.2.28}/tests/data/openapi.yaml.gz +0 -0
  76. {amati-0.2.27 → amati-0.2.28}/tests/data/redocly.openapi.yaml.errors.json +0 -0
  77. {amati-0.2.27 → amati-0.2.28}/tests/fields/__init__.py +0 -0
  78. {amati-0.2.27 → amati-0.2.28}/tests/fields/test_email.py +0 -0
  79. {amati-0.2.27 → amati-0.2.28}/tests/fields/test_http_status_codes.py +0 -0
  80. {amati-0.2.27 → amati-0.2.28}/tests/fields/test_iso9110.py +0 -0
  81. {amati-0.2.27 → amati-0.2.28}/tests/fields/test_media.py +0 -0
  82. {amati-0.2.27 → amati-0.2.28}/tests/fields/test_oas.py +0 -0
  83. {amati-0.2.27 → amati-0.2.28}/tests/fields/test_spdx_licences.py +0 -0
  84. {amati-0.2.27 → amati-0.2.28}/tests/fields/test_uri.py +0 -0
  85. {amati-0.2.27 → amati-0.2.28}/tests/helpers.py +0 -0
  86. {amati-0.2.27 → amati-0.2.28}/tests/model_validators/test_all_of.py +0 -0
  87. {amati-0.2.27 → amati-0.2.28}/tests/model_validators/test_at_least_one.py +0 -0
  88. {amati-0.2.27 → amati-0.2.28}/tests/model_validators/test_if_then.py +0 -0
  89. {amati-0.2.27 → amati-0.2.28}/tests/model_validators/test_only_one.py +0 -0
  90. {amati-0.2.27 → amati-0.2.28}/tests/test_amati.py +0 -0
  91. {amati-0.2.27 → amati-0.2.28}/tests/test_external_specs.py +0 -0
  92. {amati-0.2.27 → amati-0.2.28}/tests/test_logging.py +0 -0
  93. {amati-0.2.27 → amati-0.2.28}/tests/validators/__init__.py +0 -0
  94. {amati-0.2.27 → amati-0.2.28}/tests/validators/test_generic.py +0 -0
  95. {amati-0.2.27 → amati-0.2.28}/tests/validators/test_licence_object.py +0 -0
  96. {amati-0.2.27 → amati-0.2.28}/tests/validators/test_security_scheme_object.py +0 -0
  97. {amati-0.2.27 → amati-0.2.28}/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@d3db80fe08c357443fa62f4ce5ce4c753d61eba8 # v3
80
+ uses: py-cov-action/python-coverage-comment-action@587892b1198e5e472097653a87e8f1339a251f38 # 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@64d10c13136e1c5bce3e5fbde8d4906eeaafc885 # v3.30.6
76
+ uses: github/codeql-action/init@f443b600d91635bebf5b0d9ebc620189c0d6fba5 # v4.30.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@64d10c13136e1c5bce3e5fbde8d4906eeaafc885 # v3.30.6
104
+ uses: github/codeql-action/analyze@f443b600d91635bebf5b0d9ebc620189c0d6fba5 # v4.30.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@d3db80fe08c357443fa62f4ce5ce4c753d61eba8 # v3
27
+ uses: py-cov-action/python-coverage-comment-action@587892b1198e5e472097653a87e8f1339a251f38 # 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@d0cc045d04ccac9d8b7881df0226f9e82c39688e # v6.8.0
28
+ uses: astral-sh/setup-uv@3259c6206f993105e3a61b142c2d97bf4b9ef83d # v7.1.0
29
29
  with:
30
30
  version: "latest"
31
31
 
@@ -24,4 +24,4 @@ jobs:
24
24
  - name: 'Checkout Repository'
25
25
  uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
26
26
  - name: 'Dependency Review'
27
- uses: actions/dependency-review-action@56339e523c0409420f6c2c9a2f4292bbb3c07dd3 # v4.8.0
27
+ uses: actions/dependency-review-action@40c09b7dc99638e5ddb0bfd91c1673effc064d8a # v4.8.1
@@ -24,7 +24,7 @@ jobs:
24
24
 
25
25
  - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
26
26
  - name: Install uv
27
- uses: astral-sh/setup-uv@d0cc045d04ccac9d8b7881df0226f9e82c39688e # v6.8.0
27
+ uses: astral-sh/setup-uv@3259c6206f993105e3a61b142c2d97bf4b9ef83d # v7.1.0
28
28
  - name: Set up Python
29
29
  uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
30
30
  with:
@@ -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@64d10c13136e1c5bce3e5fbde8d4906eeaafc885 # v3.30.6
83
+ uses: github/codeql-action/upload-sarif@f443b600d91635bebf5b0d9ebc620189c0d6fba5 # v4.30.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@d0cc045d04ccac9d8b7881df0226f9e82c39688e # v6.8.0
37
+ uses: astral-sh/setup-uv@3259c6206f993105e3a61b142c2d97bf4b9ef83d # v7.1.0
38
38
  - name: Set up Python
39
39
  uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
40
40
  with:
@@ -1,4 +1,4 @@
1
- FROM python:3.14.0-slim@sha256:1e7c3510ceb3d6ebb499c86e1c418b95cb4e5e2f682f8e195069f470135f8d51
1
+ FROM python:3.14.0-slim@sha256:5cfac249393fa6c7ebacaf0027a1e127026745e603908b226baa784c52b9d99b
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.2.27
3
+ Version: 0.2.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/gwyil/amati
6
6
  Project-URL: Issues, https://github.com/gwyil/amati/issues
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "amati"
3
- version = "0.2.27"
3
+ version = "0.2.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.2.27"
16
+ version = "0.2.28"
17
17
  source = { editable = "." }
18
18
  dependencies = [
19
19
  { name = "abnf" },
@@ -258,11 +258,11 @@ wheels = [
258
258
 
259
259
  [[package]]
260
260
  name = "idna"
261
- version = "3.10"
261
+ version = "3.11"
262
262
  source = { registry = "https://pypi.org/simple/" }
263
- sdist = { url = "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9", size = 190490, upload-time = "2024-09-15T18:07:39.745Z" }
263
+ sdist = { url = "https://files.pythonhosted.org/packages/6f/6d/0703ccc57f3a7233505399edb88de3cbd678da106337b9fcde432b65ed60/idna-3.11.tar.gz", hash = "sha256:795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902", size = 194582, upload-time = "2025-10-12T14:55:20.501Z" }
264
264
  wheels = [
265
- { url = "https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3", size = 70442, upload-time = "2024-09-15T18:07:37.964Z" },
265
+ { url = "https://files.pythonhosted.org/packages/0e/61/66938bbb5fc52dbdf84594873d5b51fb1f7c7794e9c0f5bd885f30bc507b/idna-3.11-py3-none-any.whl", hash = "sha256:771a87f49d9defaf64091e6e6fe9c18d4833f140bd19464795bc32d966ca37ea", size = 71008, upload-time = "2025-10-12T14:55:18.883Z" },
266
266
  ]
267
267
 
268
268
  [[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