amati 0.3.25__tar.gz → 0.3.26__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.3.25 → amati-0.3.26}/.pre-commit-config.yaml +5 -1
- {amati-0.3.25 → amati-0.3.26}/PKG-INFO +5 -4
- {amati-0.3.25 → amati-0.3.26}/README.md +1 -0
- {amati-0.3.25 → amati-0.3.26}/pyproject.toml +21 -4
- {amati-0.3.25 → amati-0.3.26}/uv.lock +84 -45
- {amati-0.3.25 → amati-0.3.26}/.dockerignore +0 -0
- {amati-0.3.25 → amati-0.3.26}/.github/actions/setup/action.yaml +0 -0
- {amati-0.3.25 → amati-0.3.26}/.github/dependabot.yml +0 -0
- {amati-0.3.25 → amati-0.3.26}/.github/workflows/checks.yaml +0 -0
- {amati-0.3.25 → amati-0.3.26}/.github/workflows/codeql.yml +0 -0
- {amati-0.3.25 → amati-0.3.26}/.github/workflows/coverage.yaml +0 -0
- {amati-0.3.25 → amati-0.3.26}/.github/workflows/data-refresh.yaml +0 -0
- {amati-0.3.25 → amati-0.3.26}/.github/workflows/dependency-review.yml +0 -0
- {amati-0.3.25 → amati-0.3.26}/.github/workflows/publish.yaml +0 -0
- {amati-0.3.25 → amati-0.3.26}/.github/workflows/scorecards.yml +0 -0
- {amati-0.3.25 → amati-0.3.26}/.github/workflows/tag-and-create-release.yaml +0 -0
- {amati-0.3.25 → amati-0.3.26}/.gitignore +0 -0
- {amati-0.3.25 → amati-0.3.26}/.python-version +0 -0
- {amati-0.3.25 → amati-0.3.26}/Dockerfile +0 -0
- {amati-0.3.25 → amati-0.3.26}/LICENSE +0 -0
- {amati-0.3.25 → amati-0.3.26}/SECURITY.md +0 -0
- {amati-0.3.25 → amati-0.3.26}/TEMPLATE.html +0 -0
- {amati-0.3.25 → amati-0.3.26}/amati/__init__.py +0 -0
- {amati-0.3.25 → amati-0.3.26}/amati/_data/files/http-status-codes.json +0 -0
- {amati-0.3.25 → amati-0.3.26}/amati/_data/files/iso9110.json +0 -0
- {amati-0.3.25 → amati-0.3.26}/amati/_data/files/media-types.json +0 -0
- {amati-0.3.25 → amati-0.3.26}/amati/_data/files/schemes.json +0 -0
- {amati-0.3.25 → amati-0.3.26}/amati/_data/files/spdx-licences.json +0 -0
- {amati-0.3.25 → amati-0.3.26}/amati/_data/files/tlds.json +0 -0
- {amati-0.3.25 → amati-0.3.26}/amati/_data/http_status_code.py +0 -0
- {amati-0.3.25 → amati-0.3.26}/amati/_data/iso9110.py +0 -0
- {amati-0.3.25 → amati-0.3.26}/amati/_data/media_types.py +0 -0
- {amati-0.3.25 → amati-0.3.26}/amati/_data/refresh.py +0 -0
- {amati-0.3.25 → amati-0.3.26}/amati/_data/schemes.py +0 -0
- {amati-0.3.25 → amati-0.3.26}/amati/_data/spdx_licences.py +0 -0
- {amati-0.3.25 → amati-0.3.26}/amati/_data/tlds.py +0 -0
- {amati-0.3.25 → amati-0.3.26}/amati/_error_handler.py +0 -0
- {amati-0.3.25 → amati-0.3.26}/amati/_logging.py +0 -0
- {amati-0.3.25 → amati-0.3.26}/amati/_references.py +0 -0
- {amati-0.3.25 → amati-0.3.26}/amati/_resolve_forward_references.py +0 -0
- {amati-0.3.25 → amati-0.3.26}/amati/amati.py +0 -0
- {amati-0.3.25 → amati-0.3.26}/amati/exceptions.py +0 -0
- {amati-0.3.25 → amati-0.3.26}/amati/fields/__init__.py +0 -0
- {amati-0.3.25 → amati-0.3.26}/amati/fields/_custom_types.py +0 -0
- {amati-0.3.25 → amati-0.3.26}/amati/fields/commonmark.py +0 -0
- {amati-0.3.25 → amati-0.3.26}/amati/fields/email.py +0 -0
- {amati-0.3.25 → amati-0.3.26}/amati/fields/http_status_codes.py +0 -0
- {amati-0.3.25 → amati-0.3.26}/amati/fields/iso9110.py +0 -0
- {amati-0.3.25 → amati-0.3.26}/amati/fields/json.py +0 -0
- {amati-0.3.25 → amati-0.3.26}/amati/fields/media.py +0 -0
- {amati-0.3.25 → amati-0.3.26}/amati/fields/oas.py +0 -0
- {amati-0.3.25 → amati-0.3.26}/amati/fields/spdx_licences.py +0 -0
- {amati-0.3.25 → amati-0.3.26}/amati/fields/uri.py +0 -0
- {amati-0.3.25 → amati-0.3.26}/amati/file_handler.py +0 -0
- {amati-0.3.25 → amati-0.3.26}/amati/grammars/oas.py +0 -0
- {amati-0.3.25 → amati-0.3.26}/amati/grammars/rfc6901.py +0 -0
- {amati-0.3.25 → amati-0.3.26}/amati/grammars/rfc7159.py +0 -0
- {amati-0.3.25 → amati-0.3.26}/amati/model_validators.py +0 -0
- {amati-0.3.25 → amati-0.3.26}/amati/py.typed +0 -0
- {amati-0.3.25 → amati-0.3.26}/amati/validators/__init__.py +0 -0
- {amati-0.3.25 → amati-0.3.26}/amati/validators/_discriminators.py +0 -0
- {amati-0.3.25 → amati-0.3.26}/amati/validators/generic.py +0 -0
- {amati-0.3.25 → amati-0.3.26}/amati/validators/oas304.py +0 -0
- {amati-0.3.25 → amati-0.3.26}/amati/validators/oas311.py +0 -0
- {amati-0.3.25 → amati-0.3.26}/bin/checks.sh +0 -0
- {amati-0.3.25 → amati-0.3.26}/bin/startup.sh +0 -0
- {amati-0.3.25 → amati-0.3.26}/bin/upgrade-python.sh +0 -0
- {amati-0.3.25 → amati-0.3.26}/bin/uv-upgrade-from-main.sh +0 -0
- {amati-0.3.25 → amati-0.3.26}/scripts/setup_test_specs.py +0 -0
- {amati-0.3.25 → amati-0.3.26}/tests/__init__.py +0 -0
- {amati-0.3.25 → amati-0.3.26}/tests/data/.amati.tests.yaml +0 -0
- {amati-0.3.25 → amati-0.3.26}/tests/data/DigitalOcean-public.v2.errors.json +0 -0
- {amati-0.3.25 → amati-0.3.26}/tests/data/api.github.com.json.errors.json +0 -0
- {amati-0.3.25 → amati-0.3.26}/tests/data/api.github.com.yaml.errors.json +0 -0
- {amati-0.3.25 → amati-0.3.26}/tests/data/discourse.yml.errors.json +0 -0
- {amati-0.3.25 → amati-0.3.26}/tests/data/invalid-openapi.yaml +0 -0
- {amati-0.3.25 → amati-0.3.26}/tests/data/next-api.github.com.json.errors.json +0 -0
- {amati-0.3.25 → amati-0.3.26}/tests/data/openapi.yaml +0 -0
- {amati-0.3.25 → amati-0.3.26}/tests/data/openapi.yaml.gz +0 -0
- {amati-0.3.25 → amati-0.3.26}/tests/fields/__init__.py +0 -0
- {amati-0.3.25 → amati-0.3.26}/tests/fields/test_email.py +0 -0
- {amati-0.3.25 → amati-0.3.26}/tests/fields/test_http_status_codes.py +0 -0
- {amati-0.3.25 → amati-0.3.26}/tests/fields/test_iso9110.py +0 -0
- {amati-0.3.25 → amati-0.3.26}/tests/fields/test_media.py +0 -0
- {amati-0.3.25 → amati-0.3.26}/tests/fields/test_oas.py +0 -0
- {amati-0.3.25 → amati-0.3.26}/tests/fields/test_spdx_licences.py +0 -0
- {amati-0.3.25 → amati-0.3.26}/tests/fields/test_uri.py +0 -0
- {amati-0.3.25 → amati-0.3.26}/tests/model_validators/test_all_of.py +0 -0
- {amati-0.3.25 → amati-0.3.26}/tests/model_validators/test_at_least_one.py +0 -0
- {amati-0.3.25 → amati-0.3.26}/tests/model_validators/test_if_then.py +0 -0
- {amati-0.3.25 → amati-0.3.26}/tests/model_validators/test_only_one.py +0 -0
- {amati-0.3.25 → amati-0.3.26}/tests/references/test_uri_collector_mixin.py +0 -0
- {amati-0.3.25 → amati-0.3.26}/tests/references/test_uri_reference.py +0 -0
- {amati-0.3.25 → amati-0.3.26}/tests/references/test_uri_registry.py +0 -0
- {amati-0.3.25 → amati-0.3.26}/tests/strategies.py +0 -0
- {amati-0.3.25 → amati-0.3.26}/tests/test_amati.py +0 -0
- {amati-0.3.25 → amati-0.3.26}/tests/test_external_specs.py +0 -0
- {amati-0.3.25 → amati-0.3.26}/tests/test_logging.py +0 -0
- {amati-0.3.25 → amati-0.3.26}/tests/validators/__init__.py +0 -0
- {amati-0.3.25 → amati-0.3.26}/tests/validators/test_generic.py +0 -0
- {amati-0.3.25 → amati-0.3.26}/tests/validators/test_licence_object.py +0 -0
- {amati-0.3.25 → amati-0.3.26}/tests/validators/test_security_scheme_object.py +0 -0
- {amati-0.3.25 → amati-0.3.26}/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.
|
|
4
|
+
rev: v0.14.13
|
|
5
5
|
hooks:
|
|
6
6
|
# Run the linter.
|
|
7
7
|
- id: ruff-check
|
|
@@ -17,3 +17,7 @@ repos:
|
|
|
17
17
|
hooks:
|
|
18
18
|
- id: shellcheck
|
|
19
19
|
args: [-x]
|
|
20
|
+
- repo: https://github.com/fpgmaas/deptry.git
|
|
21
|
+
rev: 0.24.0
|
|
22
|
+
hooks:
|
|
23
|
+
- id: deptry
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: amati
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.26
|
|
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
|
|
@@ -24,11 +24,11 @@ Requires-Dist: abnf>=2.3.1
|
|
|
24
24
|
Requires-Dist: bs4>=0.0.2
|
|
25
25
|
Requires-Dist: idna>=3.10
|
|
26
26
|
Requires-Dist: jinja2>=3.1.6
|
|
27
|
-
Requires-Dist: jsonpickle>=4.1.1
|
|
28
27
|
Requires-Dist: jsonschema>=4.24.0
|
|
29
28
|
Requires-Dist: loguru>=0.7.3
|
|
30
|
-
Requires-Dist: pydantic>=2.
|
|
31
|
-
Requires-Dist:
|
|
29
|
+
Requires-Dist: pydantic-core>=2.41.5
|
|
30
|
+
Requires-Dist: pydantic>=2.12.5
|
|
31
|
+
Requires-Dist: pyyaml>=6.0.3
|
|
32
32
|
Requires-Dist: requests>=2.32.4
|
|
33
33
|
Description-Content-Type: text/markdown
|
|
34
34
|
|
|
@@ -116,6 +116,7 @@ This project uses:
|
|
|
116
116
|
* [Hypothesis](https://hypothesis.readthedocs.io/en/latest/index.html) for test data generation
|
|
117
117
|
* [Coverage](https://coverage.readthedocs.io/en/7.6.8/) on both the tests and code for test coverage
|
|
118
118
|
* [Shellcheck](https://github.com/koalaman/shellcheck/wiki) for as SAST for shell scripts
|
|
119
|
+
* [deptry](https://deptry.com/) to check for missing or unused dependencies
|
|
119
120
|
|
|
120
121
|
It's expected that there are no errors and 100% of the code is reached and executed. The strategy for test coverage is based on parsing test specifications and not unit tests.
|
|
121
122
|
amati runs tests on the external specifications, detailed in `tests/data/.amati.tests.yaml`. To be able to run these tests the GitHub repos containing the specifications need to be available locally. Specific revisions of the repos can be downloaded by running the following, which will clone the repos into `.amati/amati-tests-specs/<repo-name>`.
|
|
@@ -82,6 +82,7 @@ This project uses:
|
|
|
82
82
|
* [Hypothesis](https://hypothesis.readthedocs.io/en/latest/index.html) for test data generation
|
|
83
83
|
* [Coverage](https://coverage.readthedocs.io/en/7.6.8/) on both the tests and code for test coverage
|
|
84
84
|
* [Shellcheck](https://github.com/koalaman/shellcheck/wiki) for as SAST for shell scripts
|
|
85
|
+
* [deptry](https://deptry.com/) to check for missing or unused dependencies
|
|
85
86
|
|
|
86
87
|
It's expected that there are no errors and 100% of the code is reached and executed. The strategy for test coverage is based on parsing test specifications and not unit tests.
|
|
87
88
|
amati runs tests on the external specifications, detailed in `tests/data/.amati.tests.yaml`. To be able to run these tests the GitHub repos containing the specifications need to be available locally. Specific revisions of the repos can be downloaded by running the following, which will clone the repos into `.amati/amati-tests-specs/<repo-name>`.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "amati"
|
|
3
|
-
version = "0.3.
|
|
3
|
+
version = "0.3.26"
|
|
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 = [
|
|
@@ -29,11 +29,11 @@ dependencies = [
|
|
|
29
29
|
"bs4>=0.0.2",
|
|
30
30
|
"idna>=3.10",
|
|
31
31
|
"jinja2>=3.1.6",
|
|
32
|
-
"jsonpickle>=4.1.1",
|
|
33
32
|
"jsonschema>=4.24.0",
|
|
34
33
|
"loguru>=0.7.3",
|
|
35
|
-
"pydantic>=2.
|
|
36
|
-
"
|
|
34
|
+
"pydantic>=2.12.5",
|
|
35
|
+
"pydantic-core>=2.41.5",
|
|
36
|
+
"pyyaml>=6.0.3",
|
|
37
37
|
"requests>=2.32.4",
|
|
38
38
|
]
|
|
39
39
|
|
|
@@ -50,6 +50,7 @@ build-backend = "hatchling.build"
|
|
|
50
50
|
|
|
51
51
|
[dependency-groups]
|
|
52
52
|
dev = [
|
|
53
|
+
"deptry>=0.24.0",
|
|
53
54
|
"hypothesis>=6.131.28",
|
|
54
55
|
"pre-commit>=4.2.0",
|
|
55
56
|
"pyright>=1.1.406",
|
|
@@ -65,6 +66,22 @@ omit=[
|
|
|
65
66
|
"amati/_data/*",
|
|
66
67
|
]
|
|
67
68
|
|
|
69
|
+
[tool.deptry.package_module_name_map]
|
|
70
|
+
abnf="abnf"
|
|
71
|
+
bs4="bs4"
|
|
72
|
+
idna="idna"
|
|
73
|
+
jinja2="jinja2"
|
|
74
|
+
jsonschema="jsonschema"
|
|
75
|
+
loguru="loguru"
|
|
76
|
+
pydantic="pydantic"
|
|
77
|
+
requests="requests"
|
|
78
|
+
hypothesis="hypothesis"
|
|
79
|
+
pre_commit="pre_commit"
|
|
80
|
+
pyright="pyright"
|
|
81
|
+
pytest="pytest"
|
|
82
|
+
pytest-cov="pytest_cov"
|
|
83
|
+
ruff="ruff"
|
|
84
|
+
|
|
68
85
|
[tool.pyright]
|
|
69
86
|
reportMissingTypeStubs=false
|
|
70
87
|
reportMisingImports=false # Ignore external dependencies
|
|
@@ -13,23 +13,24 @@ wheels = [
|
|
|
13
13
|
|
|
14
14
|
[[package]]
|
|
15
15
|
name = "amati"
|
|
16
|
-
version = "0.3.
|
|
16
|
+
version = "0.3.26"
|
|
17
17
|
source = { editable = "." }
|
|
18
18
|
dependencies = [
|
|
19
19
|
{ name = "abnf" },
|
|
20
20
|
{ name = "bs4" },
|
|
21
21
|
{ name = "idna" },
|
|
22
22
|
{ name = "jinja2" },
|
|
23
|
-
{ name = "jsonpickle" },
|
|
24
23
|
{ name = "jsonschema" },
|
|
25
24
|
{ name = "loguru" },
|
|
26
25
|
{ name = "pydantic" },
|
|
26
|
+
{ name = "pydantic-core" },
|
|
27
27
|
{ name = "pyyaml" },
|
|
28
28
|
{ name = "requests" },
|
|
29
29
|
]
|
|
30
30
|
|
|
31
31
|
[package.dev-dependencies]
|
|
32
32
|
dev = [
|
|
33
|
+
{ name = "deptry" },
|
|
33
34
|
{ name = "hypothesis" },
|
|
34
35
|
{ name = "pre-commit" },
|
|
35
36
|
{ name = "pyright" },
|
|
@@ -44,16 +45,17 @@ requires-dist = [
|
|
|
44
45
|
{ name = "bs4", specifier = ">=0.0.2" },
|
|
45
46
|
{ name = "idna", specifier = ">=3.10" },
|
|
46
47
|
{ name = "jinja2", specifier = ">=3.1.6" },
|
|
47
|
-
{ name = "jsonpickle", specifier = ">=4.1.1" },
|
|
48
48
|
{ name = "jsonschema", specifier = ">=4.24.0" },
|
|
49
49
|
{ name = "loguru", specifier = ">=0.7.3" },
|
|
50
|
-
{ name = "pydantic", specifier = ">=2.
|
|
51
|
-
{ name = "
|
|
50
|
+
{ name = "pydantic", specifier = ">=2.12.5" },
|
|
51
|
+
{ name = "pydantic-core", specifier = ">=2.41.5" },
|
|
52
|
+
{ name = "pyyaml", specifier = ">=6.0.3" },
|
|
52
53
|
{ name = "requests", specifier = ">=2.32.4" },
|
|
53
54
|
]
|
|
54
55
|
|
|
55
56
|
[package.metadata.requires-dev]
|
|
56
57
|
dev = [
|
|
58
|
+
{ name = "deptry", specifier = ">=0.24.0" },
|
|
57
59
|
{ name = "hypothesis", specifier = ">=6.131.28" },
|
|
58
60
|
{ name = "pre-commit", specifier = ">=4.2.0" },
|
|
59
61
|
{ name = "pyright", specifier = ">=1.1.406" },
|
|
@@ -148,6 +150,18 @@ wheels = [
|
|
|
148
150
|
{ url = "https://files.pythonhosted.org/packages/0a/4c/925909008ed5a988ccbb72dcc897407e5d6d3bd72410d69e051fc0c14647/charset_normalizer-3.4.4-py3-none-any.whl", hash = "sha256:7a32c560861a02ff789ad905a2fe94e3f840803362c84fecf1851cb4cf3dc37f", size = 53402, upload-time = "2025-10-14T04:42:31.76Z" },
|
|
149
151
|
]
|
|
150
152
|
|
|
153
|
+
[[package]]
|
|
154
|
+
name = "click"
|
|
155
|
+
version = "8.3.1"
|
|
156
|
+
source = { registry = "https://pypi.org/simple/" }
|
|
157
|
+
dependencies = [
|
|
158
|
+
{ name = "colorama", marker = "sys_platform == 'win32'" },
|
|
159
|
+
]
|
|
160
|
+
sdist = { url = "https://files.pythonhosted.org/packages/3d/fa/656b739db8587d7b5dfa22e22ed02566950fbfbcdc20311993483657a5c0/click-8.3.1.tar.gz", hash = "sha256:12ff4785d337a1bb490bb7e9c2b1ee5da3112e94a8622f26a6c77f5d2fc6842a", size = 295065, upload-time = "2025-11-15T20:45:42.706Z" }
|
|
161
|
+
wheels = [
|
|
162
|
+
{ url = "https://files.pythonhosted.org/packages/98/78/01c019cdb5d6498122777c1a43056ebb3ebfeef2076d9d026bfe15583b2b/click-8.3.1-py3-none-any.whl", hash = "sha256:981153a64e25f12d547d3426c367a4857371575ee7ad18df2a6183ab0545b2a6", size = 108274, upload-time = "2025-11-15T20:45:41.139Z" },
|
|
163
|
+
]
|
|
164
|
+
|
|
151
165
|
[[package]]
|
|
152
166
|
name = "colorama"
|
|
153
167
|
version = "0.4.6"
|
|
@@ -192,6 +206,28 @@ wheels = [
|
|
|
192
206
|
{ url = "https://files.pythonhosted.org/packages/8d/4c/1968f32fb9a2604645827e11ff84a31e59d532e01995f904723b4f5328b3/coverage-7.13.0-py3-none-any.whl", hash = "sha256:850d2998f380b1e266459ca5b47bc9e7daf9af1d070f66317972f382d46f1904", size = 210068, upload-time = "2025-12-08T13:14:36.236Z" },
|
|
193
207
|
]
|
|
194
208
|
|
|
209
|
+
[[package]]
|
|
210
|
+
name = "deptry"
|
|
211
|
+
version = "0.24.0"
|
|
212
|
+
source = { registry = "https://pypi.org/simple/" }
|
|
213
|
+
dependencies = [
|
|
214
|
+
{ name = "click" },
|
|
215
|
+
{ name = "colorama", marker = "sys_platform == 'win32'" },
|
|
216
|
+
{ name = "packaging" },
|
|
217
|
+
{ name = "requirements-parser" },
|
|
218
|
+
]
|
|
219
|
+
sdist = { url = "https://files.pythonhosted.org/packages/58/aa/5cae0f25a2ac5334d5bd2782a6bcd80eecf184f433ff74b2fb0387cfbbb6/deptry-0.24.0.tar.gz", hash = "sha256:852e88af2087e03cdf9ece6916f3f58b74191ab51cc8074897951bd496ee7dbb", size = 440158, upload-time = "2025-11-09T00:31:44.637Z" }
|
|
220
|
+
wheels = [
|
|
221
|
+
{ url = "https://files.pythonhosted.org/packages/21/5a/c1552996499911b6eabe874a994d9eede58ac3936d7fe7f865857b97c03f/deptry-0.24.0-cp39-abi3-macosx_10_12_x86_64.whl", hash = "sha256:a575880146bab671a62babb9825b85b4f1bda8aeaade4fcb59f9262caf91d6c7", size = 1774138, upload-time = "2025-11-09T00:31:41.896Z" },
|
|
222
|
+
{ url = "https://files.pythonhosted.org/packages/32/b6/1dcc011fc3e6eec71601569c9de3215530563412b3714fba80dcd1a88ec8/deptry-0.24.0-cp39-abi3-macosx_11_0_arm64.whl", hash = "sha256:00ec34b968a13c03a5268ce0211f891ace31851d916415e0a748fae9596c00d5", size = 1677340, upload-time = "2025-11-09T00:31:39.676Z" },
|
|
223
|
+
{ url = "https://files.pythonhosted.org/packages/4a/e2/af81dfd46b457be9e8ded9472872141777fbda8af661f5d509157b165359/deptry-0.24.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6ddfedafafe5cbfce31a50d4ea99d7b9074edcd08b9b94350dc739e2fb6ed7f9", size = 1782740, upload-time = "2025-11-09T00:31:28.302Z" },
|
|
224
|
+
{ url = "https://files.pythonhosted.org/packages/ab/28/960c311aae084deef57ece41aac13cb359b06ce31b7771139e79c394a1b7/deptry-0.24.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd22fa2dbbdf4b38061ca9504f2a6ce41ec14fa5c9fe9b0b763ccc1275efebd5", size = 1845477, upload-time = "2025-11-09T00:31:33.452Z" },
|
|
225
|
+
{ url = "https://files.pythonhosted.org/packages/f5/6c/4b972b011a06611e0cf8f4bb6bc04a3d0f9c651950ad9abe320fcbac6983/deptry-0.24.0-cp39-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:0fbe50a2122d79cec53fdfd73a7092c05f316555a1139bcbacf3432572675977", size = 1960410, upload-time = "2025-11-09T00:31:31.174Z" },
|
|
226
|
+
{ url = "https://files.pythonhosted.org/packages/1b/08/0eac3c72a9fd79a043cc492f3ba350c47a7be2160288353218b2c8c1bf3a/deptry-0.24.0-cp39-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:92bd8d331a5a6f8e6247436bc6fe384bcf86a8d69fe33442d195996fb9b20547", size = 2023832, upload-time = "2025-11-09T00:31:36.381Z" },
|
|
227
|
+
{ url = "https://files.pythonhosted.org/packages/35/e4/23dcbc505f6f35c70ba68015774cf891ceda080331d7fd6d75e84ada9f73/deptry-0.24.0-cp39-abi3-win_amd64.whl", hash = "sha256:94b354848130d45e16d3a3039ae8177bce33828f62028c4ff8f2e1b04f7182ba", size = 1631631, upload-time = "2025-11-09T00:31:47.108Z" },
|
|
228
|
+
{ url = "https://files.pythonhosted.org/packages/39/69/6ec1e18e27dd6f80e4fb6c5fc05a6527242ff83b81c0711d0ba470e9a144/deptry-0.24.0-cp39-abi3-win_arm64.whl", hash = "sha256:ea58709e5f3aa77c0737d8fb76166b7703201cf368fbbb14072ccda968b6703a", size = 1550504, upload-time = "2025-11-09T00:31:45.988Z" },
|
|
229
|
+
]
|
|
230
|
+
|
|
195
231
|
[[package]]
|
|
196
232
|
name = "distlib"
|
|
197
233
|
version = "0.4.0"
|
|
@@ -203,11 +239,11 @@ wheels = [
|
|
|
203
239
|
|
|
204
240
|
[[package]]
|
|
205
241
|
name = "filelock"
|
|
206
|
-
version = "3.20.
|
|
242
|
+
version = "3.20.3"
|
|
207
243
|
source = { registry = "https://pypi.org/simple/" }
|
|
208
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
244
|
+
sdist = { url = "https://files.pythonhosted.org/packages/1d/65/ce7f1b70157833bf3cb851b556a37d4547ceafc158aa9b34b36782f23696/filelock-3.20.3.tar.gz", hash = "sha256:18c57ee915c7ec61cff0ecf7f0f869936c7c30191bb0cf406f1341778d0834e1", size = 19485, upload-time = "2026-01-09T17:55:05.421Z" }
|
|
209
245
|
wheels = [
|
|
210
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
246
|
+
{ url = "https://files.pythonhosted.org/packages/b5/36/7fb70f04bf00bc646cd5bb45aa9eddb15e19437a28b8fb2b4a5249fac770/filelock-3.20.3-py3-none-any.whl", hash = "sha256:4b0dda527ee31078689fc205ec4f1c1bf7d56cf88b6dc9426c4f230e46c2dce1", size = 16701, upload-time = "2026-01-09T17:55:04.334Z" },
|
|
211
247
|
]
|
|
212
248
|
|
|
213
249
|
[[package]]
|
|
@@ -261,15 +297,6 @@ wheels = [
|
|
|
261
297
|
{ url = "https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl", hash = "sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67", size = 134899, upload-time = "2025-03-05T20:05:00.369Z" },
|
|
262
298
|
]
|
|
263
299
|
|
|
264
|
-
[[package]]
|
|
265
|
-
name = "jsonpickle"
|
|
266
|
-
version = "4.1.1"
|
|
267
|
-
source = { registry = "https://pypi.org/simple/" }
|
|
268
|
-
sdist = { url = "https://files.pythonhosted.org/packages/e4/a6/d07afcfdef402900229bcca795f80506b207af13a838d4d99ad45abf530c/jsonpickle-4.1.1.tar.gz", hash = "sha256:f86e18f13e2b96c1c1eede0b7b90095bbb61d99fedc14813c44dc2f361dbbae1", size = 316885, upload-time = "2025-06-02T20:36:11.57Z" }
|
|
269
|
-
wheels = [
|
|
270
|
-
{ url = "https://files.pythonhosted.org/packages/c1/73/04df8a6fa66d43a9fd45c30f283cc4afff17da671886e451d52af60bdc7e/jsonpickle-4.1.1-py3-none-any.whl", hash = "sha256:bb141da6057898aa2438ff268362b126826c812a1721e31cf08a6e142910dc91", size = 47125, upload-time = "2025-06-02T20:36:08.647Z" },
|
|
271
|
-
]
|
|
272
|
-
|
|
273
300
|
[[package]]
|
|
274
301
|
name = "jsonschema"
|
|
275
302
|
version = "4.26.0"
|
|
@@ -552,6 +579,18 @@ wheels = [
|
|
|
552
579
|
{ url = "https://files.pythonhosted.org/packages/1e/db/4254e3eabe8020b458f1a747140d32277ec7a271daf1d235b70dc0b4e6e3/requests-2.32.5-py3-none-any.whl", hash = "sha256:2462f94637a34fd532264295e186976db0f5d453d1cdd31473c85a6a161affb6", size = 64738, upload-time = "2025-08-18T20:46:00.542Z" },
|
|
553
580
|
]
|
|
554
581
|
|
|
582
|
+
[[package]]
|
|
583
|
+
name = "requirements-parser"
|
|
584
|
+
version = "0.13.0"
|
|
585
|
+
source = { registry = "https://pypi.org/simple/" }
|
|
586
|
+
dependencies = [
|
|
587
|
+
{ name = "packaging" },
|
|
588
|
+
]
|
|
589
|
+
sdist = { url = "https://files.pythonhosted.org/packages/95/96/fb6dbfebb524d5601d359a47c78fe7ba1eef90fc4096404aa60c9a906fbb/requirements_parser-0.13.0.tar.gz", hash = "sha256:0843119ca2cb2331de4eb31b10d70462e39ace698fd660a915c247d2301a4418", size = 22630, upload-time = "2025-05-21T13:42:05.464Z" }
|
|
590
|
+
wheels = [
|
|
591
|
+
{ url = "https://files.pythonhosted.org/packages/bd/60/50fbb6ffb35f733654466f1a90d162bcbea358adc3b0871339254fbc37b2/requirements_parser-0.13.0-py3-none-any.whl", hash = "sha256:2b3173faecf19ec5501971b7222d38f04cb45bb9d87d0ad629ca71e2e62ded14", size = 14782, upload-time = "2025-05-21T13:42:04.007Z" },
|
|
592
|
+
]
|
|
593
|
+
|
|
555
594
|
[[package]]
|
|
556
595
|
name = "rpds-py"
|
|
557
596
|
version = "0.30.0"
|
|
@@ -591,28 +630,28 @@ wheels = [
|
|
|
591
630
|
|
|
592
631
|
[[package]]
|
|
593
632
|
name = "ruff"
|
|
594
|
-
version = "0.14.
|
|
595
|
-
source = { registry = "https://pypi.org/simple/" }
|
|
596
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
597
|
-
wheels = [
|
|
598
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
599
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
600
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
601
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
602
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
603
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
604
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
605
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
606
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
607
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
608
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
609
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
610
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
611
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
612
|
-
{ url = "https://files.pythonhosted.org/packages/3b/
|
|
613
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
614
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
615
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
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" },
|
|
616
655
|
]
|
|
617
656
|
|
|
618
657
|
[[package]]
|
|
@@ -656,25 +695,25 @@ wheels = [
|
|
|
656
695
|
|
|
657
696
|
[[package]]
|
|
658
697
|
name = "urllib3"
|
|
659
|
-
version = "2.6.
|
|
698
|
+
version = "2.6.3"
|
|
660
699
|
source = { registry = "https://pypi.org/simple/" }
|
|
661
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
700
|
+
sdist = { url = "https://files.pythonhosted.org/packages/c7/24/5f1b3bdffd70275f6661c76461e25f024d5a38a46f04aaca912426a2b1d3/urllib3-2.6.3.tar.gz", hash = "sha256:1b62b6884944a57dbe321509ab94fd4d3b307075e0c2eae991ac71ee15ad38ed", size = 435556, upload-time = "2026-01-07T16:24:43.925Z" }
|
|
662
701
|
wheels = [
|
|
663
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
702
|
+
{ url = "https://files.pythonhosted.org/packages/39/08/aaaad47bc4e9dc8c725e68f9d04865dbcb2052843ff09c97b08904852d84/urllib3-2.6.3-py3-none-any.whl", hash = "sha256:bf272323e553dfb2e87d9bfd225ca7b0f467b919d7bbd355436d3fd37cb0acd4", size = 131584, upload-time = "2026-01-07T16:24:42.685Z" },
|
|
664
703
|
]
|
|
665
704
|
|
|
666
705
|
[[package]]
|
|
667
706
|
name = "virtualenv"
|
|
668
|
-
version = "20.
|
|
707
|
+
version = "20.36.1"
|
|
669
708
|
source = { registry = "https://pypi.org/simple/" }
|
|
670
709
|
dependencies = [
|
|
671
710
|
{ name = "distlib" },
|
|
672
711
|
{ name = "filelock" },
|
|
673
712
|
{ name = "platformdirs" },
|
|
674
713
|
]
|
|
675
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
714
|
+
sdist = { url = "https://files.pythonhosted.org/packages/aa/a3/4d310fa5f00863544e1d0f4de93bddec248499ccf97d4791bc3122c9d4f3/virtualenv-20.36.1.tar.gz", hash = "sha256:8befb5c81842c641f8ee658481e42641c68b5eab3521d8e092d18320902466ba", size = 6032239, upload-time = "2026-01-09T18:21:01.296Z" }
|
|
676
715
|
wheels = [
|
|
677
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
716
|
+
{ url = "https://files.pythonhosted.org/packages/6a/2a/dc2228b2888f51192c7dc766106cd475f1b768c10caaf9727659726f7391/virtualenv-20.36.1-py3-none-any.whl", hash = "sha256:575a8d6b124ef88f6f51d56d656132389f961062a9177016a50e4f507bbcc19f", size = 6008258, upload-time = "2026-01-09T18:20:59.425Z" },
|
|
678
717
|
]
|
|
679
718
|
|
|
680
719
|
[[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
|
|
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
|