amati 0.3.27__tar.gz → 0.3.29__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.27 → amati-0.3.29}/.github/workflows/checks.yaml +2 -2
  2. {amati-0.3.27 → amati-0.3.29}/.github/workflows/codeql.yml +4 -4
  3. {amati-0.3.27 → amati-0.3.29}/.github/workflows/coverage.yaml +1 -1
  4. {amati-0.3.27 → amati-0.3.29}/.github/workflows/data-refresh.yaml +2 -2
  5. {amati-0.3.27 → amati-0.3.29}/.github/workflows/dependency-review.yml +2 -2
  6. {amati-0.3.27 → amati-0.3.29}/.github/workflows/publish.yaml +3 -3
  7. {amati-0.3.27 → amati-0.3.29}/.github/workflows/scorecards.yml +3 -3
  8. {amati-0.3.27 → amati-0.3.29}/.github/workflows/tag-and-create-release.yaml +2 -2
  9. {amati-0.3.27 → amati-0.3.29}/.pre-commit-config.yaml +2 -2
  10. {amati-0.3.27 → amati-0.3.29}/PKG-INFO +1 -1
  11. {amati-0.3.27 → amati-0.3.29}/amati/_data/files/media-types.json +3 -1
  12. {amati-0.3.27 → amati-0.3.29}/amati/_data/files/spdx-licences.json +60 -0
  13. {amati-0.3.27 → amati-0.3.29}/pyproject.toml +1 -1
  14. {amati-0.3.27 → amati-0.3.29}/uv.lock +26 -26
  15. {amati-0.3.27 → amati-0.3.29}/.dockerignore +0 -0
  16. {amati-0.3.27 → amati-0.3.29}/.github/actions/setup/action.yaml +0 -0
  17. {amati-0.3.27 → amati-0.3.29}/.github/dependabot.yml +0 -0
  18. {amati-0.3.27 → amati-0.3.29}/.gitignore +0 -0
  19. {amati-0.3.27 → amati-0.3.29}/.python-version +0 -0
  20. {amati-0.3.27 → amati-0.3.29}/Dockerfile +0 -0
  21. {amati-0.3.27 → amati-0.3.29}/LICENSE +0 -0
  22. {amati-0.3.27 → amati-0.3.29}/README.md +0 -0
  23. {amati-0.3.27 → amati-0.3.29}/SECURITY.md +0 -0
  24. {amati-0.3.27 → amati-0.3.29}/TEMPLATE.html +0 -0
  25. {amati-0.3.27 → amati-0.3.29}/amati/__init__.py +0 -0
  26. {amati-0.3.27 → amati-0.3.29}/amati/_data/files/http-status-codes.json +0 -0
  27. {amati-0.3.27 → amati-0.3.29}/amati/_data/files/iso9110.json +0 -0
  28. {amati-0.3.27 → amati-0.3.29}/amati/_data/files/schemes.json +0 -0
  29. {amati-0.3.27 → amati-0.3.29}/amati/_data/files/tlds.json +0 -0
  30. {amati-0.3.27 → amati-0.3.29}/amati/_data/http_status_code.py +0 -0
  31. {amati-0.3.27 → amati-0.3.29}/amati/_data/iso9110.py +0 -0
  32. {amati-0.3.27 → amati-0.3.29}/amati/_data/media_types.py +0 -0
  33. {amati-0.3.27 → amati-0.3.29}/amati/_data/refresh.py +0 -0
  34. {amati-0.3.27 → amati-0.3.29}/amati/_data/schemes.py +0 -0
  35. {amati-0.3.27 → amati-0.3.29}/amati/_data/spdx_licences.py +0 -0
  36. {amati-0.3.27 → amati-0.3.29}/amati/_data/tlds.py +0 -0
  37. {amati-0.3.27 → amati-0.3.29}/amati/_error_handler.py +0 -0
  38. {amati-0.3.27 → amati-0.3.29}/amati/_logging.py +0 -0
  39. {amati-0.3.27 → amati-0.3.29}/amati/_references.py +0 -0
  40. {amati-0.3.27 → amati-0.3.29}/amati/_resolve_forward_references.py +0 -0
  41. {amati-0.3.27 → amati-0.3.29}/amati/amati.py +0 -0
  42. {amati-0.3.27 → amati-0.3.29}/amati/exceptions.py +0 -0
  43. {amati-0.3.27 → amati-0.3.29}/amati/fields/__init__.py +0 -0
  44. {amati-0.3.27 → amati-0.3.29}/amati/fields/_custom_types.py +0 -0
  45. {amati-0.3.27 → amati-0.3.29}/amati/fields/commonmark.py +0 -0
  46. {amati-0.3.27 → amati-0.3.29}/amati/fields/email.py +0 -0
  47. {amati-0.3.27 → amati-0.3.29}/amati/fields/http_status_codes.py +0 -0
  48. {amati-0.3.27 → amati-0.3.29}/amati/fields/iso9110.py +0 -0
  49. {amati-0.3.27 → amati-0.3.29}/amati/fields/json.py +0 -0
  50. {amati-0.3.27 → amati-0.3.29}/amati/fields/media.py +0 -0
  51. {amati-0.3.27 → amati-0.3.29}/amati/fields/oas.py +0 -0
  52. {amati-0.3.27 → amati-0.3.29}/amati/fields/spdx_licences.py +0 -0
  53. {amati-0.3.27 → amati-0.3.29}/amati/fields/uri.py +0 -0
  54. {amati-0.3.27 → amati-0.3.29}/amati/file_handler.py +0 -0
  55. {amati-0.3.27 → amati-0.3.29}/amati/grammars/oas.py +0 -0
  56. {amati-0.3.27 → amati-0.3.29}/amati/grammars/rfc6901.py +0 -0
  57. {amati-0.3.27 → amati-0.3.29}/amati/grammars/rfc7159.py +0 -0
  58. {amati-0.3.27 → amati-0.3.29}/amati/model_validators.py +0 -0
  59. {amati-0.3.27 → amati-0.3.29}/amati/py.typed +0 -0
  60. {amati-0.3.27 → amati-0.3.29}/amati/validators/__init__.py +0 -0
  61. {amati-0.3.27 → amati-0.3.29}/amati/validators/_discriminators.py +0 -0
  62. {amati-0.3.27 → amati-0.3.29}/amati/validators/generic.py +0 -0
  63. {amati-0.3.27 → amati-0.3.29}/amati/validators/oas304.py +0 -0
  64. {amati-0.3.27 → amati-0.3.29}/amati/validators/oas311.py +0 -0
  65. {amati-0.3.27 → amati-0.3.29}/bin/checks.sh +0 -0
  66. {amati-0.3.27 → amati-0.3.29}/bin/startup.sh +0 -0
  67. {amati-0.3.27 → amati-0.3.29}/bin/upgrade-python.sh +0 -0
  68. {amati-0.3.27 → amati-0.3.29}/bin/uv-upgrade-from-main.sh +0 -0
  69. {amati-0.3.27 → amati-0.3.29}/scripts/setup_test_specs.py +0 -0
  70. {amati-0.3.27 → amati-0.3.29}/tests/__init__.py +0 -0
  71. {amati-0.3.27 → amati-0.3.29}/tests/data/.amati.tests.yaml +0 -0
  72. {amati-0.3.27 → amati-0.3.29}/tests/data/DigitalOcean-public.v2.errors.json +0 -0
  73. {amati-0.3.27 → amati-0.3.29}/tests/data/api.github.com.json.errors.json +0 -0
  74. {amati-0.3.27 → amati-0.3.29}/tests/data/api.github.com.yaml.errors.json +0 -0
  75. {amati-0.3.27 → amati-0.3.29}/tests/data/discourse.yml.errors.json +0 -0
  76. {amati-0.3.27 → amati-0.3.29}/tests/data/invalid-openapi.yaml +0 -0
  77. {amati-0.3.27 → amati-0.3.29}/tests/data/next-api.github.com.json.errors.json +0 -0
  78. {amati-0.3.27 → amati-0.3.29}/tests/data/openapi.yaml +0 -0
  79. {amati-0.3.27 → amati-0.3.29}/tests/data/openapi.yaml.gz +0 -0
  80. {amati-0.3.27 → amati-0.3.29}/tests/fields/__init__.py +0 -0
  81. {amati-0.3.27 → amati-0.3.29}/tests/fields/test_email.py +0 -0
  82. {amati-0.3.27 → amati-0.3.29}/tests/fields/test_http_status_codes.py +0 -0
  83. {amati-0.3.27 → amati-0.3.29}/tests/fields/test_iso9110.py +0 -0
  84. {amati-0.3.27 → amati-0.3.29}/tests/fields/test_media.py +0 -0
  85. {amati-0.3.27 → amati-0.3.29}/tests/fields/test_oas.py +0 -0
  86. {amati-0.3.27 → amati-0.3.29}/tests/fields/test_spdx_licences.py +0 -0
  87. {amati-0.3.27 → amati-0.3.29}/tests/fields/test_uri.py +0 -0
  88. {amati-0.3.27 → amati-0.3.29}/tests/model_validators/test_all_of.py +0 -0
  89. {amati-0.3.27 → amati-0.3.29}/tests/model_validators/test_at_least_one.py +0 -0
  90. {amati-0.3.27 → amati-0.3.29}/tests/model_validators/test_if_then.py +0 -0
  91. {amati-0.3.27 → amati-0.3.29}/tests/model_validators/test_only_one.py +0 -0
  92. {amati-0.3.27 → amati-0.3.29}/tests/references/test_uri_collector_mixin.py +0 -0
  93. {amati-0.3.27 → amati-0.3.29}/tests/references/test_uri_reference.py +0 -0
  94. {amati-0.3.27 → amati-0.3.29}/tests/references/test_uri_registry.py +0 -0
  95. {amati-0.3.27 → amati-0.3.29}/tests/strategies.py +0 -0
  96. {amati-0.3.27 → amati-0.3.29}/tests/test_amati.py +0 -0
  97. {amati-0.3.27 → amati-0.3.29}/tests/test_external_specs.py +0 -0
  98. {amati-0.3.27 → amati-0.3.29}/tests/test_logging.py +0 -0
  99. {amati-0.3.27 → amati-0.3.29}/tests/validators/__init__.py +0 -0
  100. {amati-0.3.27 → amati-0.3.29}/tests/validators/test_generic.py +0 -0
  101. {amati-0.3.27 → amati-0.3.29}/tests/validators/test_licence_object.py +0 -0
  102. {amati-0.3.27 → amati-0.3.29}/tests/validators/test_security_scheme_object.py +0 -0
  103. {amati-0.3.27 → amati-0.3.29}/tests/validators/test_server_variable_object.py +0 -0
@@ -16,11 +16,11 @@ jobs:
16
16
  actions: read
17
17
  steps:
18
18
  - name: Harden the runner (Audit all outbound calls)
19
- uses: step-security/harden-runner@20cf305ff2072d973412fa9b1e3a4f227bda3c76 # v2.14.0
19
+ uses: step-security/harden-runner@e3f713f2d8f53843e71c69a996d56f51aa9adfb9 # v2.14.1
20
20
  with:
21
21
  egress-policy: audit
22
22
 
23
- - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
23
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
24
24
 
25
25
  - uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
26
26
  id: check_changes
@@ -58,12 +58,12 @@ jobs:
58
58
  # your codebase is analyzed, see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages
59
59
  steps:
60
60
  - name: Harden the runner (Audit all outbound calls)
61
- uses: step-security/harden-runner@20cf305ff2072d973412fa9b1e3a4f227bda3c76 # v2.14.0
61
+ uses: step-security/harden-runner@e3f713f2d8f53843e71c69a996d56f51aa9adfb9 # v2.14.1
62
62
  with:
63
63
  egress-policy: audit
64
64
 
65
65
  - name: Checkout repository
66
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
66
+ uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
67
67
 
68
68
  # Add any setup steps before running the `github/codeql-action/init` action.
69
69
  # This includes steps like installing compilers or runtimes (`actions/setup-node`
@@ -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@cdefb33c0f6224e58673d9004f47f7cb3e328b89 # v4.31.10
76
+ uses: github/codeql-action/init@b20883b0cd1f46c72ae0ba6d1090936928f9fa30 # v4.32.0
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@cdefb33c0f6224e58673d9004f47f7cb3e328b89 # v4.31.10
104
+ uses: github/codeql-action/analyze@b20883b0cd1f46c72ae0ba6d1090936928f9fa30 # v4.32.0
105
105
  with:
106
106
  category: "/language:${{matrix.language}}"
@@ -19,7 +19,7 @@ jobs:
19
19
  # DO NOT run actions/checkout here, for security reasons
20
20
  # For details, refer to https://securitylab.github.com/research/github-actions-preventing-pwn-requests/
21
21
  - name: Harden the runner (Audit all outbound calls)
22
- uses: step-security/harden-runner@20cf305ff2072d973412fa9b1e3a4f227bda3c76 # v2.14.0
22
+ uses: step-security/harden-runner@e3f713f2d8f53843e71c69a996d56f51aa9adfb9 # v2.14.1
23
23
  with:
24
24
  egress-policy: audit
25
25
 
@@ -15,12 +15,12 @@ jobs:
15
15
 
16
16
  steps:
17
17
  - name: Harden the runner (Audit all outbound calls)
18
- uses: step-security/harden-runner@20cf305ff2072d973412fa9b1e3a4f227bda3c76 # v2.14.0
18
+ uses: step-security/harden-runner@e3f713f2d8f53843e71c69a996d56f51aa9adfb9 # v2.14.1
19
19
  with:
20
20
  egress-policy: audit
21
21
 
22
22
  - name: Checkout repository
23
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
23
+ uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
24
24
  with:
25
25
  token: ${{ secrets.BOT_TOKEN }}
26
26
 
@@ -17,11 +17,11 @@ jobs:
17
17
  runs-on: ubuntu-latest
18
18
  steps:
19
19
  - name: Harden the runner (Audit all outbound calls)
20
- uses: step-security/harden-runner@20cf305ff2072d973412fa9b1e3a4f227bda3c76 # v2.14.0
20
+ uses: step-security/harden-runner@e3f713f2d8f53843e71c69a996d56f51aa9adfb9 # v2.14.1
21
21
  with:
22
22
  egress-policy: audit
23
23
 
24
24
  - name: 'Checkout Repository'
25
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
25
+ uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
26
26
  - name: 'Dependency Review'
27
27
  uses: actions/dependency-review-action@3c4e3dcb1aa7874d2c16be7d79418e9b7efd6261 # v4.8.2
@@ -18,15 +18,15 @@ jobs:
18
18
 
19
19
  steps:
20
20
  - name: Harden the runner (Audit all outbound calls)
21
- uses: step-security/harden-runner@20cf305ff2072d973412fa9b1e3a4f227bda3c76 # v2.14.0
21
+ uses: step-security/harden-runner@e3f713f2d8f53843e71c69a996d56f51aa9adfb9 # v2.14.1
22
22
  with:
23
23
  egress-policy: audit
24
24
 
25
- - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
25
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
26
26
  - name: Install uv
27
27
  uses: astral-sh/setup-uv@61cb8a9741eeb8a550a1b8544337180c0fc8476b # v7.2.0
28
28
  - name: Set up Python
29
- uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0
29
+ uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
30
30
  with:
31
31
  python-version-file: ".python-version"
32
32
  - name: Build
@@ -40,12 +40,12 @@ jobs:
40
40
 
41
41
  steps:
42
42
  - name: Harden the runner (Audit all outbound calls)
43
- uses: step-security/harden-runner@20cf305ff2072d973412fa9b1e3a4f227bda3c76 # v2.14.0
43
+ uses: step-security/harden-runner@e3f713f2d8f53843e71c69a996d56f51aa9adfb9 # v2.14.1
44
44
  with:
45
45
  egress-policy: audit
46
46
 
47
47
  - name: "Checkout code"
48
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
48
+ uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
49
49
  with:
50
50
  persist-credentials: false
51
51
 
@@ -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@cdefb33c0f6224e58673d9004f47f7cb3e328b89 # v4.31.10
83
+ uses: github/codeql-action/upload-sarif@b20883b0cd1f46c72ae0ba6d1090936928f9fa30 # v4.32.0
84
84
  with:
85
85
  sarif_file: results.sarif
@@ -24,12 +24,12 @@ jobs:
24
24
  runs-on: ubuntu-latest
25
25
  steps:
26
26
  - name: Harden the runner (Audit all outbound calls)
27
- uses: step-security/harden-runner@20cf305ff2072d973412fa9b1e3a4f227bda3c76 # v2.14.0
27
+ uses: step-security/harden-runner@e3f713f2d8f53843e71c69a996d56f51aa9adfb9 # v2.14.1
28
28
  with:
29
29
  egress-policy: audit
30
30
 
31
31
  - name: Checkout repository
32
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
32
+ uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
33
33
  with:
34
34
  fetch-depth: 0 # Fetch all history for proper tag creation
35
35
  token: ${{ secrets.BOT_TOKEN }}
@@ -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,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: amati
3
- Version: 0.3.27
3
+ Version: 0.3.29
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",
@@ -653,6 +653,7 @@
653
653
  "vnd.age",
654
654
  "vnd.ah-barcode",
655
655
  "vnd.ahead.space",
656
+ "vnd.aia",
656
657
  "vnd.airzip.filesecure.azf",
657
658
  "vnd.airzip.filesecure.azs",
658
659
  "vnd.amadeus+json",
@@ -1654,6 +1655,7 @@
1654
1655
  "vnd.yaoweme",
1655
1656
  "vnd.yellowriver-custom-menu",
1656
1657
  "vnd.youtube.yt (OBSOLETED in favor of video/vnd.youtube.yt)",
1658
+ "vnd.zoho-presentation.show",
1657
1659
  "vnd.zul",
1658
1660
  "vnd.zzazz.deck+xml",
1659
1661
  "voicexml+xml",
@@ -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,
@@ -4623,6 +4634,7 @@
4623
4634
  "licenseId": "LGPL-2.1-only",
4624
4635
  "seeAlso": [
4625
4636
  "https://www.gnu.org/licenses/old-licenses/lgpl-2.1-standalone.html",
4637
+ "https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html",
4626
4638
  "https://opensource.org/licenses/LGPL-2.1"
4627
4639
  ],
4628
4640
  "isOsiApproved": true,
@@ -4636,6 +4648,7 @@
4636
4648
  "licenseId": "LGPL-2.1-or-later",
4637
4649
  "seeAlso": [
4638
4650
  "https://www.gnu.org/licenses/old-licenses/lgpl-2.1-standalone.html",
4651
+ "https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html",
4639
4652
  "https://opensource.org/licenses/LGPL-2.1"
4640
4653
  ],
4641
4654
  "isOsiApproved": true,
@@ -5345,6 +5358,18 @@
5345
5358
  ],
5346
5359
  "isOsiApproved": false
5347
5360
  },
5361
+ {
5362
+ "reference": "https://spdx.org/licenses/MMPL-1.0.1.html",
5363
+ "isDeprecatedLicenseId": false,
5364
+ "detailsUrl": "https://spdx.org/licenses/MMPL-1.0.1.json",
5365
+ "name": "Minecraft Mod Public License v1.0.1",
5366
+ "licenseId": "MMPL-1.0.1",
5367
+ "seeAlso": [
5368
+ "https://github.com/BuildCraft/BuildCraft/blob/623d323b1868712f29f4a8b0979a02e8d1835131/LICENSE",
5369
+ "https://mod-buildcraft.com/MMPL-1.0.txt"
5370
+ ],
5371
+ "isOsiApproved": false
5372
+ },
5348
5373
  {
5349
5374
  "reference": "https://spdx.org/licenses/Motosoto.html",
5350
5375
  "isDeprecatedLicenseId": false,
@@ -6345,6 +6370,18 @@
6345
6370
  ],
6346
6371
  "isOsiApproved": false
6347
6372
  },
6373
+ {
6374
+ "reference": "https://spdx.org/licenses/OpenMDW-1.0.html",
6375
+ "isDeprecatedLicenseId": false,
6376
+ "detailsUrl": "https://spdx.org/licenses/OpenMDW-1.0.json",
6377
+ "name": "OpenMDW License Agreement v1.0",
6378
+ "licenseId": "OpenMDW-1.0",
6379
+ "seeAlso": [
6380
+ "https://raw.githubusercontent.com/OpenMDW/OpenMDW/refs/heads/main/1.0/LICENSE.openmdw",
6381
+ "https://openmdw.ai/license/"
6382
+ ],
6383
+ "isOsiApproved": false
6384
+ },
6348
6385
  {
6349
6386
  "reference": "https://spdx.org/licenses/OpenPBS-2.3.html",
6350
6387
  "isDeprecatedLicenseId": false,
@@ -6527,6 +6564,18 @@
6527
6564
  ],
6528
6565
  "isOsiApproved": false
6529
6566
  },
6567
+ {
6568
+ "reference": "https://spdx.org/licenses/ParaType-Free-Font-1.3.html",
6569
+ "isDeprecatedLicenseId": false,
6570
+ "detailsUrl": "https://spdx.org/licenses/ParaType-Free-Font-1.3.json",
6571
+ "name": "ParaType Free Font Licensing Agreement v1.3",
6572
+ "licenseId": "ParaType-Free-Font-1.3",
6573
+ "seeAlso": [
6574
+ "https://web.archive.org/web/20161209023955/http://www.paratype.ru/public/pt_openlicense_eng.asp",
6575
+ "https://metadata.ftp-master.debian.org/changelogs//main/f/fonts-paratype/fonts-paratype_20181108-4_copyright"
6576
+ ],
6577
+ "isOsiApproved": false
6578
+ },
6530
6579
  {
6531
6580
  "reference": "https://spdx.org/licenses/Parity-6.0.0.html",
6532
6581
  "isDeprecatedLicenseId": false,
@@ -7828,6 +7877,17 @@
7828
7877
  "isOsiApproved": false,
7829
7878
  "isFsfLibre": true
7830
7879
  },
7880
+ {
7881
+ "reference": "https://spdx.org/licenses/Vixie-Cron.html",
7882
+ "isDeprecatedLicenseId": false,
7883
+ "detailsUrl": "https://spdx.org/licenses/Vixie-Cron.json",
7884
+ "name": "Vixie Cron License",
7885
+ "licenseId": "Vixie-Cron",
7886
+ "seeAlso": [
7887
+ "https://github.com/vixie/cron/tree/545b3f5246824a9cda5905eeb7cf019c95e66995"
7888
+ ],
7889
+ "isOsiApproved": false
7890
+ },
7831
7891
  {
7832
7892
  "reference": "https://spdx.org/licenses/VOSTROM.html",
7833
7893
  "isDeprecatedLicenseId": false,
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "amati"
3
- version = "0.3.27"
3
+ version = "0.3.29"
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.27"
16
+ version = "0.3.29"
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.151.4"
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/47/03/9fd03d5db09029250e69745c1600edab16fe90947636f77a12ba92d79939/hypothesis-6.151.4.tar.gz", hash = "sha256:658a62da1c3ccb36746ac2f7dc4bb1a6e76bd314e0dc54c4e1aaba2503d5545c", size = 475706, upload-time = "2026-01-29T01:30:14.985Z" }
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/9b/6d/01ad1b6c3b8cb2bb47eeaa9765dabc27cbe68e3b59f6cff83d5668f57780/hypothesis-6.151.4-py3-none-any.whl", hash = "sha256:a1cf7e0fdaa296d697a68ff3c0b3912c0050f07aa37e7d2ff33a966749d1d9b4", size = 543146, upload-time = "2026-01-29T01:30:12.805Z" },
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
File without changes