amati 0.2.26__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.
- amati-0.2.28/.github/actions/setup/action.yaml +19 -0
- {amati-0.2.26 → amati-0.2.28}/.github/workflows/checks.yaml +11 -17
- {amati-0.2.26 → amati-0.2.28}/.github/workflows/codeql.yml +2 -2
- {amati-0.2.26 → amati-0.2.28}/.github/workflows/coverage.yaml +1 -1
- {amati-0.2.26 → amati-0.2.28}/.github/workflows/data-refresh.yaml +1 -1
- {amati-0.2.26 → amati-0.2.28}/.github/workflows/dependency-review.yml +1 -1
- {amati-0.2.26 → amati-0.2.28}/.github/workflows/publish.yaml +1 -1
- {amati-0.2.26 → amati-0.2.28}/.github/workflows/scorecards.yml +1 -1
- {amati-0.2.26 → amati-0.2.28}/.github/workflows/tag-and-create-release.yaml +1 -1
- {amati-0.2.26 → amati-0.2.28}/Dockerfile +1 -1
- {amati-0.2.26 → amati-0.2.28}/PKG-INFO +9 -3
- {amati-0.2.26 → amati-0.2.28}/amati/_data/files/media-types.json +2 -0
- {amati-0.2.26 → amati-0.2.28}/amati/_data/files/schemes.json +1 -0
- {amati-0.2.26 → amati-0.2.28}/amati/_data/files/spdx-licences.json +14 -1
- {amati-0.2.26 → amati-0.2.28}/pyproject.toml +14 -5
- {amati-0.2.26 → amati-0.2.28}/uv.lock +4 -4
- {amati-0.2.26 → amati-0.2.28}/.dockerignore +0 -0
- {amati-0.2.26 → amati-0.2.28}/.github/dependabot.yml +0 -0
- {amati-0.2.26 → amati-0.2.28}/.gitignore +0 -0
- {amati-0.2.26 → amati-0.2.28}/.pre-commit-config.yaml +0 -0
- {amati-0.2.26 → amati-0.2.28}/.python-version +0 -0
- {amati-0.2.26 → amati-0.2.28}/LICENSE +0 -0
- {amati-0.2.26 → amati-0.2.28}/README.md +0 -0
- {amati-0.2.26 → amati-0.2.28}/SECURITY.md +0 -0
- {amati-0.2.26 → amati-0.2.28}/TEMPLATE.html +0 -0
- {amati-0.2.26 → amati-0.2.28}/amati/__init__.py +0 -0
- {amati-0.2.26 → amati-0.2.28}/amati/_data/files/http-status-codes.json +0 -0
- {amati-0.2.26 → amati-0.2.28}/amati/_data/files/iso9110.json +0 -0
- {amati-0.2.26 → amati-0.2.28}/amati/_data/files/tlds.json +0 -0
- {amati-0.2.26 → amati-0.2.28}/amati/_data/http_status_code.py +0 -0
- {amati-0.2.26 → amati-0.2.28}/amati/_data/iso9110.py +0 -0
- {amati-0.2.26 → amati-0.2.28}/amati/_data/media_types.py +0 -0
- {amati-0.2.26 → amati-0.2.28}/amati/_data/refresh.py +0 -0
- {amati-0.2.26 → amati-0.2.28}/amati/_data/schemes.py +0 -0
- {amati-0.2.26 → amati-0.2.28}/amati/_data/spdx_licences.py +0 -0
- {amati-0.2.26 → amati-0.2.28}/amati/_data/tlds.py +0 -0
- {amati-0.2.26 → amati-0.2.28}/amati/_error_handler.py +0 -0
- {amati-0.2.26 → amati-0.2.28}/amati/_logging.py +0 -0
- {amati-0.2.26 → amati-0.2.28}/amati/_resolve_forward_references.py +0 -0
- {amati-0.2.26 → amati-0.2.28}/amati/amati.py +0 -0
- {amati-0.2.26 → amati-0.2.28}/amati/exceptions.py +0 -0
- {amati-0.2.26 → amati-0.2.28}/amati/fields/__init__.py +0 -0
- {amati-0.2.26 → amati-0.2.28}/amati/fields/_custom_types.py +0 -0
- {amati-0.2.26 → amati-0.2.28}/amati/fields/commonmark.py +0 -0
- {amati-0.2.26 → amati-0.2.28}/amati/fields/email.py +0 -0
- {amati-0.2.26 → amati-0.2.28}/amati/fields/http_status_codes.py +0 -0
- {amati-0.2.26 → amati-0.2.28}/amati/fields/iso9110.py +0 -0
- {amati-0.2.26 → amati-0.2.28}/amati/fields/json.py +0 -0
- {amati-0.2.26 → amati-0.2.28}/amati/fields/media.py +0 -0
- {amati-0.2.26 → amati-0.2.28}/amati/fields/oas.py +0 -0
- {amati-0.2.26 → amati-0.2.28}/amati/fields/spdx_licences.py +0 -0
- {amati-0.2.26 → amati-0.2.28}/amati/fields/uri.py +0 -0
- {amati-0.2.26 → amati-0.2.28}/amati/file_handler.py +0 -0
- {amati-0.2.26 → amati-0.2.28}/amati/grammars/oas.py +0 -0
- {amati-0.2.26 → amati-0.2.28}/amati/grammars/rfc6901.py +0 -0
- {amati-0.2.26 → amati-0.2.28}/amati/grammars/rfc7159.py +0 -0
- {amati-0.2.26 → amati-0.2.28}/amati/model_validators.py +0 -0
- {amati-0.2.26 → amati-0.2.28}/amati/py.typed +0 -0
- {amati-0.2.26 → amati-0.2.28}/amati/validators/__init__.py +0 -0
- {amati-0.2.26 → amati-0.2.28}/amati/validators/generic.py +0 -0
- {amati-0.2.26 → amati-0.2.28}/amati/validators/oas304.py +0 -0
- {amati-0.2.26 → amati-0.2.28}/amati/validators/oas311.py +0 -0
- {amati-0.2.26 → amati-0.2.28}/bin/checks.sh +0 -0
- {amati-0.2.26 → amati-0.2.28}/bin/startup.sh +0 -0
- {amati-0.2.26 → amati-0.2.28}/bin/upgrade-python.sh +0 -0
- {amati-0.2.26 → amati-0.2.28}/bin/uv-upgrade-from-main.sh +0 -0
- {amati-0.2.26 → amati-0.2.28}/scripts/setup_test_specs.py +0 -0
- {amati-0.2.26 → amati-0.2.28}/tests/__init__.py +0 -0
- {amati-0.2.26 → amati-0.2.28}/tests/data/.amati.tests.yaml +0 -0
- {amati-0.2.26 → amati-0.2.28}/tests/data/DigitalOcean-public.v2.errors.json +0 -0
- {amati-0.2.26 → amati-0.2.28}/tests/data/api.github.com.yaml.errors.json +0 -0
- {amati-0.2.26 → amati-0.2.28}/tests/data/discourse.yml.errors.json +0 -0
- {amati-0.2.26 → amati-0.2.28}/tests/data/next-api.github.com.yaml.errors.json +0 -0
- {amati-0.2.26 → amati-0.2.28}/tests/data/openapi.yaml +0 -0
- {amati-0.2.26 → amati-0.2.28}/tests/data/openapi.yaml.gz +0 -0
- {amati-0.2.26 → amati-0.2.28}/tests/data/redocly.openapi.yaml.errors.json +0 -0
- {amati-0.2.26 → amati-0.2.28}/tests/fields/__init__.py +0 -0
- {amati-0.2.26 → amati-0.2.28}/tests/fields/test_email.py +0 -0
- {amati-0.2.26 → amati-0.2.28}/tests/fields/test_http_status_codes.py +0 -0
- {amati-0.2.26 → amati-0.2.28}/tests/fields/test_iso9110.py +0 -0
- {amati-0.2.26 → amati-0.2.28}/tests/fields/test_media.py +0 -0
- {amati-0.2.26 → amati-0.2.28}/tests/fields/test_oas.py +0 -0
- {amati-0.2.26 → amati-0.2.28}/tests/fields/test_spdx_licences.py +0 -0
- {amati-0.2.26 → amati-0.2.28}/tests/fields/test_uri.py +0 -0
- {amati-0.2.26 → amati-0.2.28}/tests/helpers.py +0 -0
- {amati-0.2.26 → amati-0.2.28}/tests/model_validators/test_all_of.py +0 -0
- {amati-0.2.26 → amati-0.2.28}/tests/model_validators/test_at_least_one.py +0 -0
- {amati-0.2.26 → amati-0.2.28}/tests/model_validators/test_if_then.py +0 -0
- {amati-0.2.26 → amati-0.2.28}/tests/model_validators/test_only_one.py +0 -0
- {amati-0.2.26 → amati-0.2.28}/tests/test_amati.py +0 -0
- {amati-0.2.26 → amati-0.2.28}/tests/test_external_specs.py +0 -0
- {amati-0.2.26 → amati-0.2.28}/tests/test_logging.py +0 -0
- {amati-0.2.26 → amati-0.2.28}/tests/validators/__init__.py +0 -0
- {amati-0.2.26 → amati-0.2.28}/tests/validators/test_generic.py +0 -0
- {amati-0.2.26 → amati-0.2.28}/tests/validators/test_licence_object.py +0 -0
- {amati-0.2.26 → amati-0.2.28}/tests/validators/test_security_scheme_object.py +0 -0
- {amati-0.2.26 → amati-0.2.28}/tests/validators/test_server_variable_object.py +0 -0
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
name: 'Setup Python Project'
|
|
2
|
+
description: 'Setup Python with uv and install dependencies'
|
|
3
|
+
|
|
4
|
+
runs:
|
|
5
|
+
using: "composite"
|
|
6
|
+
steps:
|
|
7
|
+
- name: Install uv
|
|
8
|
+
uses: astral-sh/setup-uv@d0cc045d04ccac9d8b7881df0226f9e82c39688e # v6.8.0
|
|
9
|
+
with:
|
|
10
|
+
enable-cache: true # Keep it - doesn't hurt, might help occasionally
|
|
11
|
+
|
|
12
|
+
- name: Set up Python
|
|
13
|
+
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
|
|
14
|
+
with:
|
|
15
|
+
python-version-file: ".python-version"
|
|
16
|
+
|
|
17
|
+
- name: Install the project
|
|
18
|
+
shell: bash
|
|
19
|
+
run: uv sync --locked --all-extras --dev
|
|
@@ -42,23 +42,9 @@ jobs:
|
|
|
42
42
|
run: echo "Skipping Python checks - no relevant changes detected"
|
|
43
43
|
|
|
44
44
|
|
|
45
|
-
- name:
|
|
45
|
+
- name: Setup project
|
|
46
46
|
if: steps.check_changes.outputs.relevant == 'true'
|
|
47
|
-
uses:
|
|
48
|
-
|
|
49
|
-
- name: uv lock
|
|
50
|
-
if: steps.check_changes.outputs.relevant == 'true'
|
|
51
|
-
run: uv lock
|
|
52
|
-
|
|
53
|
-
- name: Set up Python
|
|
54
|
-
if: steps.check_changes.outputs.relevant == 'true'
|
|
55
|
-
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
|
|
56
|
-
with:
|
|
57
|
-
python-version-file: ".python-version"
|
|
58
|
-
|
|
59
|
-
- name: Install the project
|
|
60
|
-
if: steps.check_changes.outputs.relevant == 'true'
|
|
61
|
-
run: uv sync --locked --all-extras --dev
|
|
47
|
+
uses: ./.github/actions/setup
|
|
62
48
|
|
|
63
49
|
- name: Run linting
|
|
64
50
|
if: steps.check_changes.outputs.relevant == 'true'
|
|
@@ -71,6 +57,14 @@ jobs:
|
|
|
71
57
|
uses: astral-sh/ruff-action@57714a7c8a2e59f32539362ba31877a1957dded1 # v3.5.1
|
|
72
58
|
with:
|
|
73
59
|
args: format
|
|
60
|
+
|
|
61
|
+
- name: Type checking
|
|
62
|
+
if: steps.check_changes.outputs.relevant == 'true'
|
|
63
|
+
uses: jakebailey/pyright-action@6cabc0f01c4994be48fd45cd9dbacdd6e1ee6e5e
|
|
64
|
+
with:
|
|
65
|
+
project: pyproject.toml
|
|
66
|
+
python-path: .venv/bin/python
|
|
67
|
+
extra-args: amati
|
|
74
68
|
|
|
75
69
|
- name: Testing
|
|
76
70
|
if: steps.check_changes.outputs.relevant == 'true'
|
|
@@ -83,7 +77,7 @@ jobs:
|
|
|
83
77
|
- name: Coverage comment
|
|
84
78
|
if: steps.check_changes.outputs.relevant == 'true'
|
|
85
79
|
id: coverage_comment
|
|
86
|
-
uses: py-cov-action/python-coverage-comment-action@
|
|
80
|
+
uses: py-cov-action/python-coverage-comment-action@587892b1198e5e472097653a87e8f1339a251f38 # v3
|
|
87
81
|
with:
|
|
88
82
|
GITHUB_TOKEN: ${{ secrets.BOT_COMMENT_TOKEN }}
|
|
89
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@
|
|
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@
|
|
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@
|
|
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 }}
|
|
@@ -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@
|
|
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@
|
|
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@
|
|
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@
|
|
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,17 +1,23 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: amati
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.28
|
|
4
4
|
Summary: Validates that a .yaml or .json file conforms to the OpenAPI Specifications 3.x.
|
|
5
|
-
Project-URL: Homepage, https://github.com/
|
|
6
|
-
Project-URL: Issues, https://github.com/
|
|
5
|
+
Project-URL: Homepage, https://github.com/gwyil/amati
|
|
6
|
+
Project-URL: Issues, https://github.com/gwyil/amati/issues
|
|
7
7
|
Author-email: Ben <2551337+ben-alexander@users.noreply.github.com>
|
|
8
8
|
License-File: LICENSE
|
|
9
9
|
Classifier: Development Status :: 3 - Alpha
|
|
10
10
|
Classifier: Intended Audience :: Developers
|
|
11
11
|
Classifier: License :: OSI Approved :: MIT License
|
|
12
|
+
Classifier: Programming Language :: Python :: 3 :: Only
|
|
13
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
12
14
|
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
|
|
15
|
+
Classifier: Topic :: Software Development
|
|
16
|
+
Classifier: Topic :: Software Development :: Build Tools
|
|
13
17
|
Classifier: Topic :: Software Development :: Documentation
|
|
18
|
+
Classifier: Topic :: Software Development :: Quality Assurance
|
|
14
19
|
Classifier: Topic :: Software Development :: Testing :: Acceptance
|
|
20
|
+
Classifier: Typing :: Typed
|
|
15
21
|
Requires-Python: >=3.13
|
|
16
22
|
Requires-Dist: abnf>=2.3.1
|
|
17
23
|
Requires-Dist: bs4>=0.0.2
|
|
@@ -4063,6 +4063,17 @@
|
|
|
4063
4063
|
],
|
|
4064
4064
|
"isOsiApproved": false
|
|
4065
4065
|
},
|
|
4066
|
+
{
|
|
4067
|
+
"reference": "https://spdx.org/licenses/HPND-SMC.html",
|
|
4068
|
+
"isDeprecatedLicenseId": false,
|
|
4069
|
+
"detailsUrl": "https://spdx.org/licenses/HPND-SMC.json",
|
|
4070
|
+
"name": "Historical Permission Notice and Disclaimer - SMC variant",
|
|
4071
|
+
"licenseId": "HPND-SMC",
|
|
4072
|
+
"seeAlso": [
|
|
4073
|
+
"https://docs.python.org/3/license.html#execution-tracing"
|
|
4074
|
+
],
|
|
4075
|
+
"isOsiApproved": false
|
|
4076
|
+
},
|
|
4066
4077
|
{
|
|
4067
4078
|
"reference": "https://spdx.org/licenses/HPND-UC.html",
|
|
4068
4079
|
"isDeprecatedLicenseId": false,
|
|
@@ -4138,7 +4149,9 @@
|
|
|
4138
4149
|
"name": "Independent JPEG Group License",
|
|
4139
4150
|
"licenseId": "IJG",
|
|
4140
4151
|
"seeAlso": [
|
|
4141
|
-
"http://dev.w3.org/cvsweb/Amaya/libjpeg/Attic/README?rev=1.2"
|
|
4152
|
+
"http://dev.w3.org/cvsweb/Amaya/libjpeg/Attic/README?rev=1.2",
|
|
4153
|
+
"https://github.com/vstroebel/jpeg-encoder/blob/main/src/fdct.rs#L1-L72",
|
|
4154
|
+
"https://github.com/libjpeg-turbo/libjpeg-turbo/blob/main/README.ijg#L117-L161"
|
|
4142
4155
|
],
|
|
4143
4156
|
"isOsiApproved": false,
|
|
4144
4157
|
"isFsfLibre": true
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "amati"
|
|
3
|
-
version = "0.2.
|
|
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 = [
|
|
@@ -11,9 +11,15 @@ classifiers = [
|
|
|
11
11
|
"Development Status :: 3 - Alpha",
|
|
12
12
|
"Intended Audience :: Developers",
|
|
13
13
|
"License :: OSI Approved :: MIT License",
|
|
14
|
-
"
|
|
14
|
+
"Programming Language :: Python :: 3 :: Only",
|
|
15
|
+
"Programming Language :: Python :: 3.14",
|
|
15
16
|
"Topic :: Internet :: WWW/HTTP :: Dynamic Content",
|
|
16
|
-
"Topic :: Software Development
|
|
17
|
+
"Topic :: Software Development",
|
|
18
|
+
"Topic :: Software Development :: Build Tools",
|
|
19
|
+
"Topic :: Software Development :: Documentation",
|
|
20
|
+
"Topic :: Software Development :: Testing :: Acceptance",
|
|
21
|
+
"Topic :: Software Development :: Quality Assurance",
|
|
22
|
+
"Typing :: Typed",
|
|
17
23
|
]
|
|
18
24
|
licence = "MIT"
|
|
19
25
|
license-files = ["LICENSE"]
|
|
@@ -31,8 +37,8 @@ dependencies = [
|
|
|
31
37
|
]
|
|
32
38
|
|
|
33
39
|
[project.urls]
|
|
34
|
-
Homepage = "https://github.com/
|
|
35
|
-
Issues = "https://github.com/
|
|
40
|
+
Homepage = "https://github.com/gwyil/amati"
|
|
41
|
+
Issues = "https://github.com/gwyil/amati/issues"
|
|
36
42
|
|
|
37
43
|
[project.scripts]
|
|
38
44
|
amati = "amati:main"
|
|
@@ -60,7 +66,9 @@ omit=[
|
|
|
60
66
|
|
|
61
67
|
[tool.pyright]
|
|
62
68
|
reportMissingTypeStubs=false
|
|
69
|
+
reportMisingImports=false # Ignore external dependencies
|
|
63
70
|
typeCheckingMode="strict"
|
|
71
|
+
src = ["amati"]
|
|
64
72
|
|
|
65
73
|
[tool.pytest.ini_options]
|
|
66
74
|
doctest_optionflags = "NORMALIZE_WHITESPACE IGNORE_EXCEPTION_DETAIL ELLIPSIS"
|
|
@@ -73,6 +81,7 @@ markers = [
|
|
|
73
81
|
name = "pypi"
|
|
74
82
|
url = "https://pypi.org/simple/"
|
|
75
83
|
default = true
|
|
84
|
+
|
|
76
85
|
[[tool.uv.index]]
|
|
77
86
|
name = "testpypi"
|
|
78
87
|
url = "https://test.pypi.org/legacy/"
|
|
@@ -13,7 +13,7 @@ wheels = [
|
|
|
13
13
|
|
|
14
14
|
[[package]]
|
|
15
15
|
name = "amati"
|
|
16
|
-
version = "0.2.
|
|
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.
|
|
261
|
+
version = "3.11"
|
|
262
262
|
source = { registry = "https://pypi.org/simple/" }
|
|
263
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
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/
|
|
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
|
|
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
|