From e3a5fa9b5a7d86cf5fac1861ec30570b6adb7136 Mon Sep 17 00:00:00 2001 From: Joongi Kim Date: Mon, 8 Dec 2025 13:27:01 +0900 Subject: [PATCH 01/24] chore: update Python interpreter constraints to 3.14.1 Update the target Python version from 3.13.7 to 3.14.1: - pants.toml: interpreter_constraints - pyproject.toml: requires-python, python_executable, pythonVersion, venv --- pants.toml | 2 +- pyproject.toml | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/pants.toml b/pants.toml index fe173b02f18..f65d36b0c2d 100644 --- a/pants.toml +++ b/pants.toml @@ -53,7 +53,7 @@ enable_resolves = true # * Let other developers do: # - Run `pants export` again # - Update their local IDE/editor's interpreter path configurations -interpreter_constraints = ["CPython==3.13.7"] +interpreter_constraints = ["CPython==3.14.1"] tailor_pex_binary_targets = false pip_version = "25.2" diff --git a/pyproject.toml b/pyproject.toml index 74efacb6c30..ca5abbeca2b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,5 +1,5 @@ [project] -requires-python = "~=3.13.7" +requires-python = "~=3.14.1" name = "backend.ai" dynamic = ["version"] @@ -117,11 +117,11 @@ follow_untyped_imports = false mypy_path = "stubs:src:tools/pants-plugins" namespace_packages = true explicit_package_bases = true -python_executable = "dist/export/python/virtualenvs/python-default/3.13.7/bin/python" +python_executable = "dist/export/python/virtualenvs/python-default/3.14.1/bin/python" disable_error_code = ["typeddict-unknown-key"] [tool.pyright] -pythonVersion = "3.13" +pythonVersion = "3.14" include = [ "src", "tools/pants-plugins", @@ -134,7 +134,7 @@ exclude = [ "src/ai/backend/web/static", ] venvPath = "dist/export/python/virtualenvs/python-default" -venv = "3.13.7" +venv = "3.14.1" typeCheckingMode = "standard" [tool.pydantic-mypy] From 4d6deb20e0ef982a2d0de0b8855f3231b486489f Mon Sep 17 00:00:00 2001 From: Joongi Kim Date: Mon, 8 Dec 2025 13:52:23 +0900 Subject: [PATCH 02/24] chore: upgrade dependencies for Python 3.14 compatibility MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Upgrade packages with native extensions (pyo3/Rust/C) that require newer versions to build wheels for Python 3.14: - pydantic: 2.11.3 → 2.12.0 (pydantic-core pyo3 update) - orjson: 3.10.16 → 3.11.0 (cp314 wheels) - bcrypt: 4.2.0 → 5.0.0 (Python 3.14 support) - memray: 1.17.2 → 1.19.0 (Python 3.14 support) - valkey-glide: 2.0.1 → 2.2.0 (cp314 wheels) - msgpack: 1.1.0 → 1.1.2 (cp314 wheels) - multidict: 6.6.4 → 6.7.0 (Python 3.14 CI) - yarl: 1.19.0 → 1.22.0 (cp314 wheels) - hiredis: 3.0.0 → 3.3.0 (cp314 wheels) - setproctitle: 1.3.5 → 1.3.7 (Python 3.14 support) - aiohttp: 3.12.15 → 3.13.0 (free-threading support) --- requirements.txt | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/requirements.txt b/requirements.txt index cdc397adc14..694d42a3d15 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,7 +2,7 @@ aioboto3~=15.0.0 aiodataloader~=0.4.2 aiodocker==0.24.0 aiofiles~=24.1.0 -aiohttp~=3.12.15 +aiohttp~=3.13.0 aiohttp_cors~=0.8.1 aiohttp_jinja2~=1.6 aiohttp_sse>=2.2 @@ -19,7 +19,7 @@ asyncpg>=0.29.0 asynctest>=0.13.0 asyncudp>=0.11 attrs>=25.3 -bcrypt~=4.2.0 +bcrypt~=5.0.0 boto3~=1.35 cachetools~=5.5.0 callosum~=1.0.3 @@ -44,13 +44,13 @@ jupyter-client>=8.6 kubernetes~=33.1.0 kubernetes-asyncio~=33.3.0 lark~=1.1.5 -memray~=1.17.2 +memray~=1.19.0 more-itertools~=10.5.0 -msgpack~=1.1.0 -multidict~=6.6.4 +msgpack~=1.1.2 +multidict~=6.7.0 namedlist~=1.8 networkx~=3.3.0 -orjson~=3.10.16 +orjson~=3.11.0 opentelemetry-api~=1.33.1 opentelemetry-sdk~=1.33.1 opentelemetry-exporter-otlp-proto-grpc~=1.33.1 @@ -69,15 +69,15 @@ python-json-logger~=3.2.0 pyzmq~=26.4 PyJWT~=2.10.1 PyYAML~=6.0 -pydantic[email]~=2.11.3 +pydantic[email]~=2.12.0 packaging>=24.1 -hiredis>=3.0.0 +hiredis>=3.3.0 huggingface-hub~=0.34.3 redis[hiredis]==4.5.5 rich~=13.6 ruamel.yaml~=0.18.10 SQLAlchemy[postgresql_asyncpg]~=1.4.54 -setproctitle~=1.3.5 +setproctitle~=1.3.7 setuptools~=80.0.0 strawberry-graphql~=0.278.0 tabulate~=0.8.9 @@ -94,8 +94,8 @@ typeguard~=4.3 typing_extensions~=4.11 textual~=0.79.1 uvloop~=0.22.1; sys_platform != "Windows" -valkey-glide~=2.0.1 -yarl~=1.19.0 +valkey-glide~=2.2.0 +yarl~=1.22.0 zipstream-new~=1.1.8 # required by ai.backend.test (integration test suite) From 4e9f94a2d375fd83840b20baa278d3aeedf64a50 Mon Sep 17 00:00:00 2001 From: Joongi Kim Date: Tue, 9 Dec 2025 18:03:58 +0900 Subject: [PATCH 03/24] doc: Update README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f20812d34c6..288acdd7cd4 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ Requirements ### Python & Build Tools -- **Python**: 3.13.x (main branch requires CPython 3.13.7) +- **Python**: 3.14.x (main branch requires CPython 3.14.1) - **Pantsbuild**: 2.27.x - See [full version compatibility table](src/ai/backend/README.md#development-setup) From c36e9fcffa20d0fe79fee34a14c3f124d52f213c Mon Sep 17 00:00:00 2001 From: Joongi Kim Date: Wed, 10 Dec 2025 13:43:28 +0900 Subject: [PATCH 04/24] chore: Update tool lockfiles --- tools/black.lock | 55 +-- tools/mypy.lock | 103 +---- tools/pytest.lock | 885 +++++++++++++++++++++--------------------- tools/setuptools.lock | 4 +- tools/towncrier.lock | 84 ++-- 5 files changed, 522 insertions(+), 609 deletions(-) diff --git a/tools/black.lock b/tools/black.lock index efe028eb168..f9d146a053c 100644 --- a/tools/black.lock +++ b/tools/black.lock @@ -6,7 +6,7 @@ // { // "version": 3, // "valid_for_interpreter_constraints": [ -// "CPython==3.13.7" +// "CPython==3.14.1" // ], // "generated_with_requirements": [ // "black~=24.8" @@ -36,21 +36,6 @@ "hash": "3bb2b7a1f7b685f85b11fed1ef10f8a9148bceb49853e47a294a3dd963c1dd7d", "url": "https://files.pythonhosted.org/packages/8d/a7/4b27c50537ebca8bec139b872861f9d2bf501c5ec51fcf897cb924d9e264/black-24.10.0-py3-none-any.whl" }, - { - "algorithm": "sha256", - "hash": "1f93102e0c5bb3907451063e08b9876dbeac810e7da5a8bfb7aeb5a9ef89066b", - "url": "https://files.pythonhosted.org/packages/37/d5/602d0ef5dfcace3fb4f79c436762f130abd9ee8d950fa2abdbf8bbc555e0/black-24.10.0-cp313-cp313-macosx_11_0_arm64.whl" - }, - { - "algorithm": "sha256", - "hash": "ddacb691cdcdf77b96f549cf9591701d8db36b2f19519373d60d31746068dbf2", - "url": "https://files.pythonhosted.org/packages/47/6d/a3a239e938960df1a662b93d6230d4f3e9b4a22982d060fc38c42f45a56b/black-24.10.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "1cbacacb19e922a1d75ef2b6ccaefcd6e93a2c05ede32f06a21386a04cedb981", - "url": "https://files.pythonhosted.org/packages/d0/a0/a993f58d4ecfba035e61fca4e9f64a2ecae838fc9f33ab798c62173ed75c/black-24.10.0-cp313-cp313-macosx_10_13_x86_64.whl" - }, { "algorithm": "sha256", "hash": "846ea64c97afe3bc677b761787993be4991810ecc7a4a937816dd6bddedc4875", @@ -79,13 +64,13 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "61a3265b914e850b85317d0b3109c7f8cd35a670f963866005d6ef1d5175a12b", - "url": "https://files.pythonhosted.org/packages/85/32/10bb5764d90a8eee674e9dc6f4db6a0ab47c8c4d0d83c27f7c39ac415a4d/click-8.2.1-py3-none-any.whl" + "hash": "981153a64e25f12d547d3426c367a4857371575ee7ad18df2a6183ab0545b2a6", + "url": "https://files.pythonhosted.org/packages/98/78/01c019cdb5d6498122777c1a43056ebb3ebfeef2076d9d026bfe15583b2b/click-8.3.1-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "27c491cc05d968d271d5a1db13e3b5a184636d9d930f148c50b038f0d0646202", - "url": "https://files.pythonhosted.org/packages/60/6c/8ca2efa64cf75a977a0d7fac081354553ebe483345c734fb6b6515d96bbc/click-8.2.1.tar.gz" + "hash": "12ff4785d337a1bb490bb7e9c2b1ee5da3112e94a8622f26a6c77f5d2fc6842a", + "url": "https://files.pythonhosted.org/packages/3d/fa/656b739db8587d7b5dfa22e22ed02566950fbfbcdc20311993483657a5c0/click-8.3.1.tar.gz" } ], "project_name": "click", @@ -93,7 +78,7 @@ "colorama; platform_system == \"Windows\"" ], "requires_python": ">=3.10", - "version": "8.2.1" + "version": "8.3.1" }, { "artifacts": [ @@ -153,30 +138,30 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "ff7059bb7eb1179e2685604f4aaf157cfd9535242bd23742eadc3c13542139b4", - "url": "https://files.pythonhosted.org/packages/fe/39/979e8e21520d4e47a0bbe349e2713c0aac6f3d853d0e5b34d76206c439aa/platformdirs-4.3.8-py3-none-any.whl" + "hash": "d03afa3963c806a9bed9d5125c8f4cb2fdaf74a55ab60e5d59b3fde758104d31", + "url": "https://files.pythonhosted.org/packages/cb/28/3bfe2fa5a7b9c46fe7e13c97bda14c895fb10fa2ebf1d0abb90e0cea7ee1/platformdirs-4.5.1-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "3d512d96e16bcb959a814c9f348431070822a6496326a4be0911c40b5a74c2bc", - "url": "https://files.pythonhosted.org/packages/fe/8b/3c73abc9c759ecd3f1f7ceff6685840859e8070c4d947c93fae71f6a0bf2/platformdirs-4.3.8.tar.gz" + "hash": "61d5cdcc6065745cdd94f0f878977f8de9437be93de97c1c12f853c9c0cdcbda", + "url": "https://files.pythonhosted.org/packages/cf/86/0248f086a84f01b37aaec0fa567b397df1a119f73c16f6c7a9aac73ea309/platformdirs-4.5.1.tar.gz" } ], "project_name": "platformdirs", "requires_dists": [ "appdirs==1.4.4; extra == \"test\"", "covdefaults>=2.3; extra == \"test\"", - "furo>=2024.8.6; extra == \"docs\"", - "mypy>=1.14.1; extra == \"type\"", + "furo>=2025.9.25; extra == \"docs\"", + "mypy>=1.18.2; extra == \"type\"", "proselint>=0.14; extra == \"docs\"", - "pytest-cov>=6; extra == \"test\"", - "pytest-mock>=3.14; extra == \"test\"", - "pytest>=8.3.4; extra == \"test\"", - "sphinx-autodoc-typehints>=3; extra == \"docs\"", - "sphinx>=8.1.3; extra == \"docs\"" + "pytest-cov>=7; extra == \"test\"", + "pytest-mock>=3.15.1; extra == \"test\"", + "pytest>=8.4.2; extra == \"test\"", + "sphinx-autodoc-typehints>=3.2; extra == \"docs\"", + "sphinx>=8.2.3; extra == \"docs\"" ], - "requires_python": ">=3.9", - "version": "4.3.8" + "requires_python": ">=3.10", + "version": "4.5.1" } ], "platform_tag": null @@ -193,7 +178,7 @@ "black~=24.8" ], "requires_python": [ - "==3.13.7" + "==3.14.1" ], "resolver_version": "pip-2020-resolver", "style": "universal", diff --git a/tools/mypy.lock b/tools/mypy.lock index a223b55cdb2..d94f2fe61ac 100644 --- a/tools/mypy.lock +++ b/tools/mypy.lock @@ -6,7 +6,7 @@ // { // "version": 3, // "valid_for_interpreter_constraints": [ -// "CPython==3.13.7" +// "CPython==3.14.1" // ], // "generated_with_requirements": [ // "mypy==1.18.2", @@ -55,21 +55,21 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "78b016718c161a6fb20a7d97bbf107f331cd1afe53e45566c59f776ed7f0b45f", - "url": "https://files.pythonhosted.org/packages/ae/4f/7297663840621022bc73c22d7d9d80dbc78b4db6297f764b545cd5dd462d/graphql_core-3.2.6-py3-none-any.whl" + "hash": "17fc8f3ca4a42913d8e24d9ac9f08deddf0a0b2483076575757f6c412ead2ec0", + "url": "https://files.pythonhosted.org/packages/0a/14/933037032608787fb92e365883ad6a741c235e0ff992865ec5d904a38f1e/graphql_core-3.2.7-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "c08eec22f9e40f0bd61d805907e3b3b1b9a320bc606e23dc145eebca07c8fbab", - "url": "https://files.pythonhosted.org/packages/c4/16/7574029da84834349b60ed71614d66ca3afe46e9bf9c7b9562102acb7d4f/graphql_core-3.2.6.tar.gz" + "hash": "27b6904bdd3b43f2a0556dad5d579bdfdeab1f38e8e8788e555bdcb586a6f62c", + "url": "https://files.pythonhosted.org/packages/ac/9b/037a640a2983b09aed4a823f9cf1729e6d780b0671f854efa4727a7affbe/graphql_core-3.2.7.tar.gz" } ], "project_name": "graphql-core", "requires_dists": [ - "typing-extensions<5,>=4; python_version < \"3.10\"" + "typing-extensions<5,>=4.7; python_version < \"3.10\"" ], - "requires_python": "<4,>=3.6", - "version": "3.2.6" + "requires_python": "<4,>=3.7", + "version": "3.2.7" }, { "artifacts": [ @@ -100,23 +100,23 @@ }, { "algorithm": "sha256", - "hash": "c3ad2afadd1e9fea5cf99a45a822346971ede8685cc581ed9cd4d42eaf940986", - "url": "https://files.pythonhosted.org/packages/3c/46/d297d4b683cc89a6e4108c4250a6a6b717f5fa96e1a30a7944a6da44da35/mypy-1.18.2-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" + "hash": "8795a039bab805ff0c1dfdb8cd3344642c2b99b8e439d057aba30850b8d3423d", + "url": "https://files.pythonhosted.org/packages/50/df/2cffbf25737bdb236f60c973edf62e3e7b4ee1c25b6878629e88e2cde967/mypy-1.18.2-cp314-cp314-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "07b8b0f580ca6d289e69209ec9d3911b4a26e5abfde32228a288eb79df129fcc", - "url": "https://files.pythonhosted.org/packages/5f/04/7f462e6fbba87a72bc8097b93f6842499c428a6ff0c81dd46948d175afe8/mypy-1.18.2-cp313-cp313-macosx_10_13_x86_64.whl" + "hash": "62f0e1e988ad41c2a110edde6c398383a889d95b36b3e60bcf155f5164c4fdce", + "url": "https://files.pythonhosted.org/packages/5a/0c/7d5300883da16f0063ae53996358758b2a2df2a09c72a5061fa79a1f5006/mypy-1.18.2-cp314-cp314-macosx_10_13_x86_64.whl" }, { "algorithm": "sha256", - "hash": "a431a6f1ef14cf8c144c6b14793a23ec4eae3db28277c358136e79d7d062f62d", - "url": "https://files.pythonhosted.org/packages/83/45/4798f4d00df13eae3bfdf726c9244bcb495ab5bd588c0eed93a2f2dd67f3/mypy-1.18.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" + "hash": "d924eef3795cc89fecf6bedc6ed32b33ac13e8321344f6ddbf8ee89f706c05cb", + "url": "https://files.pythonhosted.org/packages/5b/11/040983fad5132d85914c874a2836252bbc57832065548885b5bb5b0d4359/mypy-1.18.2-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" }, { "algorithm": "sha256", - "hash": "ed4482847168439651d3feee5833ccedbf6657e964572706a2adb1f7fa4dfe2e", - "url": "https://files.pythonhosted.org/packages/99/5b/61ed4efb64f1871b41fd0b82d29a64640f3516078f6c7905b68ab1ad8b13/mypy-1.18.2-cp313-cp313-macosx_11_0_arm64.whl" + "hash": "6ca1e64b24a700ab5ce10133f7ccd956a04715463d30498e64ea8715236f9c9c", + "url": "https://files.pythonhosted.org/packages/be/50/34059de13dd269227fb4a03be1faee6e2a4b04a2051c82ac0a0b5a773c9a/mypy-1.18.2-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" }, { "algorithm": "sha256", @@ -125,8 +125,8 @@ }, { "algorithm": "sha256", - "hash": "7ab28cc197f1dd77a67e1c6f35cd1f8e8b73ed2217e4fc005f9e6a504e46e7ba", - "url": "https://files.pythonhosted.org/packages/d7/09/479f7358d9625172521a87a9271ddd2441e1dab16a09708f056e97007207/mypy-1.18.2-cp313-cp313-musllinux_1_2_x86_64.whl" + "hash": "20c02215a080e3a2be3aa50506c67242df1c151eaba0dcbc1e4e557922a26075", + "url": "https://files.pythonhosted.org/packages/e9/ba/89b2901dd77414dd7a8c8729985832a5735053be15b744c18e4586e506ef/mypy-1.18.2-cp314-cp314-musllinux_1_2_x86_64.whl" } ], "project_name": "mypy", @@ -225,75 +225,10 @@ }, { "artifacts": [ - { - "algorithm": "sha256", - "hash": "95237e53bb015f67b63c91af7518a62a8660376a6a0db19b89acc77a4d6199f5", - "url": "https://files.pythonhosted.org/packages/f1/3d/847b6b1fed9f8ed3bb95a9ad04fbd0b212e832d4f0f50ff4d9ee5a9f15cf/pydantic_core-2.33.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "c8e7af2f4e0194c22b5b37205bfb293d166a7344a5b0d0eaccebc376546d77d5", - "url": "https://files.pythonhosted.org/packages/04/8f/2551964ef045669801675f1cfc3b0d74147f4901c3ffa42be2ddb1f0efc4/pydantic_core-2.33.2-cp313-cp313-musllinux_1_1_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "5c92edd15cd58b3c2d34873597a1e20f13094f59cf88068adb18947df5455b4e", - "url": "https://files.pythonhosted.org/packages/26/bd/d9602777e77fc6dbb0c7db9ad356e9a985825547dce5ad1d30ee04903918/pydantic_core-2.33.2-cp313-cp313-musllinux_1_1_armv7l.whl" - }, - { - "algorithm": "sha256", - "hash": "f517ca031dfc037a9c07e748cefd8d96235088b83b4f4ba8939105d20fa1dcd6", - "url": "https://files.pythonhosted.org/packages/3a/cc/5999d1eb705a6cefc31f0b4a90e9f7fc400539b1a1030529700cc1b51838/pydantic_core-2.33.2-cp313-cp313-macosx_11_0_arm64.whl" - }, - { - "algorithm": "sha256", - "hash": "2b0a451c263b01acebe51895bfb0e1cc842a5c666efe06cdf13846c7418caa9a", - "url": "https://files.pythonhosted.org/packages/3b/2a/953581f343c7d11a304581156618c3f592435523dd9d79865903272c256a/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" - }, - { - "algorithm": "sha256", - "hash": "65132b7b4a1c0beded5e057324b7e16e10910c106d43675d9bd87d4f38dde162", - "url": "https://files.pythonhosted.org/packages/42/db/0e950daa7e2230423ab342ae918a794964b053bec24ba8af013fc7c94846/pydantic_core-2.33.2-cp313-cp313-musllinux_1_1_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "1082dd3e2d7109ad8b7da48e1d4710c8d06c253cbc4a27c1cff4fbcaa97a9e3f", - "url": "https://files.pythonhosted.org/packages/46/8c/99040727b41f56616573a28771b1bfa08a3d3fe74d3d513f01251f79f172/pydantic_core-2.33.2-cp313-cp313-macosx_10_12_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "04a1a413977ab517154eebb2d326da71638271477d6ad87a769102f7c2488c56", - "url": "https://files.pythonhosted.org/packages/59/a7/63ef2fed1837d1121a894d0ce88439fe3e3b3e48c7543b2a4479eb99c2bd/pydantic_core-2.33.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl" - }, - { - "algorithm": "sha256", - "hash": "0a9f2c9dd19656823cb8250b0724ee9c60a82f3cdf68a080979d13092a3b0fef", - "url": "https://files.pythonhosted.org/packages/6f/5e/a0a7b8885c98889a18b6e376f344da1ef323d270b44edf8174d6bce4d622/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "61c18fba8e5e9db3ab908620af374db0ac1baa69f0f32df4f61ae23f15e586ac", - "url": "https://files.pythonhosted.org/packages/a4/7d/e09391c2eebeab681df2b74bfe6c43422fffede8dc74187b2b0bf6fd7571/pydantic_core-2.33.2-cp313-cp313t-macosx_11_0_arm64.whl" - }, - { - "algorithm": "sha256", - "hash": "0fb2d542b4d66f9470e8065c5469ec676978d625a8b7a363f07d9a501a9cb36a", - "url": "https://files.pythonhosted.org/packages/aa/c3/053389835a996e18853ba107a63caae0b9deb4a276c6b472931ea9ae6e48/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl" - }, { "algorithm": "sha256", "hash": "7cb8bc3605c29176e1b105350d2e6474142d7c1bd1d9327c4a9bdb46bf827acc", "url": "https://files.pythonhosted.org/packages/ad/88/5f2260bdfae97aabf98f1778d43f69574390ad787afb646292a638c923d4/pydantic_core-2.33.2.tar.gz" - }, - { - "algorithm": "sha256", - "hash": "1ea40a64d23faa25e62a70ad163571c0b342b8bf66d5fa612ac0dec4f069d916", - "url": "https://files.pythonhosted.org/packages/e6/55/f1a813904771c03a3f97f676c62cca0c0a4138654107c1b61f19c644868b/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" - }, - { - "algorithm": "sha256", - "hash": "9fdac5d6ffa1b5a83bca06ffe7583f5576555e6c8b3a91fbd25ea7780f825f7d", - "url": "https://files.pythonhosted.org/packages/eb/3c/f4abd740877a35abade05e437245b192f9d0ffb48bbbbd708df33d3cda37/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" } ], "project_name": "pydantic-core", @@ -452,7 +387,7 @@ "strawberry-graphql~=0.278.0" ], "requires_python": [ - "==3.13.7" + "==3.14.1" ], "resolver_version": "pip-2020-resolver", "style": "universal", diff --git a/tools/pytest.lock b/tools/pytest.lock index 14a3df3cf33..60e9d0ef2e1 100644 --- a/tools/pytest.lock +++ b/tools/pytest.lock @@ -6,7 +6,7 @@ // { // "version": 3, // "valid_for_interpreter_constraints": [ -// "CPython==3.13.7" +// "CPython==3.14.1" // ], // "generated_with_requirements": [ // "aioresponses>=0.7.6", @@ -59,83 +59,158 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "ad702e57dc385cae679c39d318def49aef754455f237499d5b99bea4ef582e51", - "url": "https://files.pythonhosted.org/packages/05/6a/ea199e61b67f25ba688d3ce93f63b49b0a4e3b3d380f03971b4646412fc6/aiohttp-3.12.15-cp313-cp313-musllinux_1_2_x86_64.whl" + "hash": "cf00e5db968c3f67eccd2778574cf64d8b27d95b237770aa32400bd7a1ca4f6c", + "url": "https://files.pythonhosted.org/packages/ff/f7/ba5f0ba4ea8d8f3c32850912944532b933acbf0f3a75546b89269b9b7dde/aiohttp-3.13.2-cp314-cp314t-musllinux_1_2_x86_64.whl" }, { "algorithm": "sha256", - "hash": "47f6b962246f0a774fbd3b6b7be25d59b06fdb2f164cf2513097998fc6a29693", - "url": "https://files.pythonhosted.org/packages/04/36/a6d36ad545fa12e61d11d1932eef273928b0495e6a576eb2af04297fdd3c/aiohttp-3.12.15-cp313-cp313-musllinux_1_2_ppc64le.whl" + "hash": "9ec49dff7e2b3c85cdeaa412e9d438f0ecd71676fde61ec57027dd392f00c693", + "url": "https://files.pythonhosted.org/packages/04/75/f74fd178ac81adf4f283a74847807ade5150e48feda6aef024403716c30c/aiohttp-3.13.2-cp314-cp314t-musllinux_1_2_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "b97752ff12cc12f46a9b20327104448042fce5c33a624f88c18f66f9368091c7", - "url": "https://files.pythonhosted.org/packages/09/2f/d4bcc8448cf536b2b54eed48f19682031ad182faa3a3fee54ebe5b156387/aiohttp-3.12.15-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + "hash": "93655083005d71cd6c072cdab54c886e6570ad2c4592139c3fb967bfc19e4694", + "url": "https://files.pythonhosted.org/packages/08/aa/6a01848d6432f241416bc4866cae8dc03f05a5a884d2311280f6a09c73d6/aiohttp-3.13.2-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl" }, { "algorithm": "sha256", - "hash": "f0fa751efb11a541f57db59c1dd821bec09031e01452b2b6217319b3a1f34f3d", - "url": "https://files.pythonhosted.org/packages/1c/00/d198461b699188a93ead39cb458554d9f0f69879b95078dce416d3209b54/aiohttp-3.12.15-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl" + "hash": "7a653d872afe9f33497215745da7a943d1dc15b728a9c8da1c3ac423af35178e", + "url": "https://files.pythonhosted.org/packages/0b/78/1eeb63c3f9b2d1015a4c02788fb543141aad0a03ae3f7a7b669b2483f8d4/aiohttp-3.13.2-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" }, { "algorithm": "sha256", - "hash": "b52dcf013b57464b6d1e51b627adfd69a8053e84b7103a7cd49c030f9ca44461", - "url": "https://files.pythonhosted.org/packages/1f/f8/cd84dee7b6ace0740908fd0af170f9fab50c2a41ccbc3806aabcb1050141/aiohttp-3.12.15-cp313-cp313-musllinux_1_2_aarch64.whl" + "hash": "98c4fb90bb82b70a4ed79ca35f656f4281885be076f3f970ce315402b53099ae", + "url": "https://files.pythonhosted.org/packages/16/51/c709f352c911b1864cfd1087577760ced64b3e5bee2aa88b8c0c8e2e4972/aiohttp-3.13.2-cp314-cp314-musllinux_1_2_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "3eae49032c29d356b94eee45a3f39fdf4b0814b397638c2f718e96cfadf4c4e4", - "url": "https://files.pythonhosted.org/packages/49/fc/a9576ab4be2dcbd0f73ee8675d16c707cfc12d5ee80ccf4015ba543480c9/aiohttp-3.12.15-cp313-cp313-macosx_11_0_arm64.whl" + "hash": "ec7534e63ae0f3759df3a1ed4fa6bc8f75082a924b590619c0dd2f76d7043caa", + "url": "https://files.pythonhosted.org/packages/19/e2/19bd4c547092b773caeb48ff5ae4b1ae86756a0ee76c16727fcfd281404b/aiohttp-3.13.2-cp314-cp314-musllinux_1_2_riscv64.whl" }, { "algorithm": "sha256", - "hash": "049ec0360f939cd164ecbfd2873eaa432613d5e77d6b04535e3d1fbae5a9e645", - "url": "https://files.pythonhosted.org/packages/59/e4/16a8eac9df39b48ae102ec030fa9f726d3570732e46ba0c592aeeb507b93/aiohttp-3.12.15-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" + "hash": "ae32f24bbfb7dbb485a24b30b1149e2f200be94777232aeadba3eecece4d0aa4", + "url": "https://files.pythonhosted.org/packages/1a/aa/7a451b1d6a04e8d15a362af3e9b897de71d86feac3babf8894545d08d537/aiohttp-3.13.2-cp314-cp314-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "5346b93e62ab51ee2a9d68e8f73c7cf96ffb73568a23e683f931e52450e4148d", - "url": "https://files.pythonhosted.org/packages/85/b8/9e7175e1fa0ac8e56baa83bf3c214823ce250d0028955dfb23f43d5e61fd/aiohttp-3.12.15-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + "hash": "40176a52c186aefef6eb3cad2cdd30cd06e3afbe88fe8ab2af9c0b90f228daca", + "url": "https://files.pythonhosted.org/packages/1c/ce/3b83ebba6b3207a7135e5fcaba49706f8a4b6008153b4e30540c982fae26/aiohttp-3.13.2.tar.gz" }, { "algorithm": "sha256", - "hash": "4fc61385e9c98d72fcdf47e6dd81833f47b2f77c114c29cd64a361be57a763a2", - "url": "https://files.pythonhosted.org/packages/9b/e7/d92a237d8802ca88483906c388f7c201bbe96cd80a165ffd0ac2f6a8d59f/aiohttp-3.12.15.tar.gz" + "hash": "4ebf9cfc9ba24a74cf0718f04aac2a3bbe745902cc7c5ebc55c0f3b5777ef213", + "url": "https://files.pythonhosted.org/packages/31/64/b9d733296ef79815226dab8c586ff9e3df41c6aff2e16c06697b2d2e6775/aiohttp-3.13.2-cp314-cp314-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "760fb7db442f284996e39cf9915a94492e1896baac44f06ae551974907922b64", - "url": "https://files.pythonhosted.org/packages/aa/c8/f195e5e06608a97a4e52c5d41c7927301bf757a8e8bb5bbf8cef6c314961/aiohttp-3.12.15-cp313-cp313-musllinux_1_2_s390x.whl" + "hash": "a4b88ebe35ce54205c7074f7302bd08a4cb83256a3e0870c72d6f68a3aaf8e49", + "url": "https://files.pythonhosted.org/packages/3f/30/43d3e0f9d6473a6db7d472104c4eff4417b1e9df01774cb930338806d36b/aiohttp-3.13.2-cp314-cp314-musllinux_1_2_armv7l.whl" }, { "algorithm": "sha256", - "hash": "2ee8a8ac39ce45f3e55663891d4b1d15598c157b4d494a4613e704c8b43112cd", - "url": "https://files.pythonhosted.org/packages/b5/2a/7495a81e39a998e400f3ecdd44a62107254803d1681d9189be5c2e4530cd/aiohttp-3.12.15-cp313-cp313-macosx_10_13_x86_64.whl" + "hash": "56d36e80d2003fa3fc0207fac644216d8532e9504a785ef9a8fd013f84a42c61", + "url": "https://files.pythonhosted.org/packages/41/75/aaf1eea4c188e51538c04cc568040e3082db263a57086ea74a7d38c39e42/aiohttp-3.13.2-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" }, { "algorithm": "sha256", - "hash": "9b2af240143dd2765e0fb661fd0361a1b469cab235039ea57663cda087250ea9", - "url": "https://files.pythonhosted.org/packages/ce/42/d0f1f85e50d401eccd12bf85c46ba84f947a84839c8a1c2c5f6e8ab1eb50/aiohttp-3.12.15-cp313-cp313-musllinux_1_2_armv7l.whl" + "hash": "5d7f02042c1f009ffb70067326ef183a047425bb2ff3bc434ead4dd4a4a66a2b", + "url": "https://files.pythonhosted.org/packages/57/1e/209958dbb9b01174870f6a7538cd1f3f28274fdbc88a750c238e2c456295/aiohttp-3.13.2-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" }, { "algorithm": "sha256", - "hash": "ac77f709a2cde2cc71257ab2d8c74dd157c67a0558a0d2799d5d571b4c63d44d", - "url": "https://files.pythonhosted.org/packages/d5/6b/f6fa6c5790fb602538483aa5a1b86fcbad66244997e5230d88f9412ef24c/aiohttp-3.12.15-cp313-cp313-musllinux_1_2_i686.whl" + "hash": "88d6c017966a78c5265d996c19cdb79235be5e6412268d7e2ce7dee339471b7a", + "url": "https://files.pythonhosted.org/packages/67/7f/db2fc7618925e8c7a601094d5cbe539f732df4fb570740be88ed9e40e99a/aiohttp-3.13.2-cp314-cp314-musllinux_1_2_x86_64.whl" }, { "algorithm": "sha256", - "hash": "5fa5d9eb82ce98959fc1031c28198b431b4d9396894f385cb63f1e2f3f20ca6b", - "url": "https://files.pythonhosted.org/packages/dc/71/164d194993a8d114ee5656c3b7ae9c12ceee7040d076bf7b32fb98a8c5c6/aiohttp-3.12.15-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" + "hash": "fa4dcb605c6f82a80c7f95713c2b11c3b8e9893b3ebd2bc9bde93165ed6107be", + "url": "https://files.pythonhosted.org/packages/7d/4b/a6212790c50483cb3212e507378fbe26b5086d73941e1ec4b56a30439688/aiohttp-3.13.2-cp314-cp314t-musllinux_1_2_s390x.whl" }, { "algorithm": "sha256", - "hash": "894261472691d6fe76ebb7fcf2e5870a2ac284c7406ddc95823c8598a1390f0d", - "url": "https://files.pythonhosted.org/packages/f1/f3/59406396083f8b489261e3c011aa8aee9df360a96ac8fa5c2e7e1b8f0466/aiohttp-3.12.15-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl" + "hash": "e96eb1a34396e9430c19d8338d2ec33015e4a87ef2b4449db94c22412e25ccdf", + "url": "https://files.pythonhosted.org/packages/7f/f0/c68dac234189dae5c4bbccc0f96ce0cc16b76632cfc3a08fff180045cfa4/aiohttp-3.13.2-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" }, { "algorithm": "sha256", - "hash": "9f922ffd05034d439dde1c77a20461cf4a1b0831e6caa26151fe7aa8aaebc315", - "url": "https://files.pythonhosted.org/packages/f2/33/918091abcf102e39d15aba2476ad9e7bd35ddb190dcdd43a854000d3da0d/aiohttp-3.12.15-cp313-cp313-macosx_10_13_universal2.whl" + "hash": "0db1e24b852f5f664cd728db140cf11ea0e82450471232a394b3d1a540b0f906", + "url": "https://files.pythonhosted.org/packages/87/4f/36c1992432d31bbc789fa0b93c768d2e9047ec8c7177e5cd84ea85155f36/aiohttp-3.13.2-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" + }, + { + "algorithm": "sha256", + "hash": "23fb0783bc1a33640036465019d3bba069942616a6a2353c6907d7fe1ccdaf4e", + "url": "https://files.pythonhosted.org/packages/8f/65/75a9a76db8364b5d0e52a0c20eabc5d52297385d9af9c35335b924fafdee/aiohttp-3.13.2-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl" + }, + { + "algorithm": "sha256", + "hash": "2475391c29230e063ef53a66669b7b691c9bfc3f1426a0f7bcdf1216bdbac38b", + "url": "https://files.pythonhosted.org/packages/9b/36/e2abae1bd815f01c957cbf7be817b3043304e1c87bad526292a0410fdcf9/aiohttp-3.13.2-cp314-cp314-macosx_10_13_universal2.whl" + }, + { + "algorithm": "sha256", + "hash": "78cd586d8331fb8e241c2dd6b2f4061778cc69e150514b39a9e28dd050475661", + "url": "https://files.pythonhosted.org/packages/9b/c2/3b6034de81fbcc43de8aeb209073a2286dfb50b86e927b4efd81cf848197/aiohttp-3.13.2-cp314-cp314t-musllinux_1_2_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "e7c952aefdf2460f4ae55c5e9c3e80aa72f706a6317e06020f80e96253b1accd", + "url": "https://files.pythonhosted.org/packages/a4/0f/6a03e3fc7595421274fa34122c973bde2d89344f8a881b728fa8c774e4f1/aiohttp-3.13.2-cp314-cp314t-macosx_10_13_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "b009194665bcd128e23eaddef362e745601afa4641930848af4c8559e88f18f9", + "url": "https://files.pythonhosted.org/packages/ac/b4/8e940dfb03b7e0f68a82b88fd182b9be0a65cb3f35612fe38c038c3112cf/aiohttp-3.13.2-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" + }, + { + "algorithm": "sha256", + "hash": "c20423ce14771d98353d2e25e83591fa75dfa90a3c1848f3d7c68243b4fbded3", + "url": "https://files.pythonhosted.org/packages/c6/aa/ed341b670f1bc8a6f2c6a718353d13b9546e2cef3544f573c6a1ff0da711/aiohttp-3.13.2-cp314-cp314t-macosx_11_0_arm64.whl" + }, + { + "algorithm": "sha256", + "hash": "f10d9c0b0188fe85398c61147bbd2a657d616c876863bfeff43376e0e3134673", + "url": "https://files.pythonhosted.org/packages/c7/8e/3824ef98c039d3951cb65b9205a96dd2b20f22241ee17d89c5701557c826/aiohttp-3.13.2-cp314-cp314t-macosx_10_13_universal2.whl" + }, + { + "algorithm": "sha256", + "hash": "20b10bbfbff766294fe99987f7bb3b74fdd2f1a2905f2562132641ad434dcf98", + "url": "https://files.pythonhosted.org/packages/c9/38/c15dcf6d4d890217dae79d7213988f4e5fe6183d43893a9cf2fe9e84ca8d/aiohttp-3.13.2-cp314-cp314t-musllinux_1_2_armv7l.whl" + }, + { + "algorithm": "sha256", + "hash": "f33c8748abef4d8717bb20e8fb1b3e07c6adacb7fd6beaae971a764cf5f30d61", + "url": "https://files.pythonhosted.org/packages/ca/e3/1ee62dde9b335e4ed41db6bba02613295a0d5b41f74a783c142745a12763/aiohttp-3.13.2-cp314-cp314-macosx_10_13_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "5b927cf9b935a13e33644cbed6c8c4b2d0f25b713d838743f8fe7191b33829c4", + "url": "https://files.pythonhosted.org/packages/cf/87/860f2803b27dfc5ed7be532832a3498e4919da61299b4a1f8eb89b8ff44d/aiohttp-3.13.2-cp314-cp314-musllinux_1_2_s390x.whl" + }, + { + "algorithm": "sha256", + "hash": "66bac29b95a00db411cd758fea0e4b9bdba6d549dfe333f9a945430f5f2cc5a6", + "url": "https://files.pythonhosted.org/packages/d7/51/b311500ffc860b181c05d91c59a1313bdd05c82960fdd4035a15740d431e/aiohttp-3.13.2-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" + }, + { + "algorithm": "sha256", + "hash": "c038a8fdc8103cd51dbd986ecdce141473ffd9775a7a8057a6ed9c3653478011", + "url": "https://files.pythonhosted.org/packages/d7/ef/39f3448795499c440ab66084a9db7d20ca7662e94305f175a80f5b7e0072/aiohttp-3.13.2-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "94f05348c4406450f9d73d38efb41d669ad6cd90c7ee194810d0eefbfa875a7a", + "url": "https://files.pythonhosted.org/packages/e7/80/7368bd0d06b16b3aba358c16b919e9c46cf11587dc572091031b0e9e3ef0/aiohttp-3.13.2-cp314-cp314t-musllinux_1_2_riscv64.whl" + }, + { + "algorithm": "sha256", + "hash": "0a3d54e822688b56e9f6b5816fb3de3a3a64660efac64e4c2dc435230ad23bad", + "url": "https://files.pythonhosted.org/packages/e9/e0/94d7215e405c5a02ccb6a35c7a3a6cfff242f457a00196496935f700cde5/aiohttp-3.13.2-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" + }, + { + "algorithm": "sha256", + "hash": "2e1a9bea6244a1d05a4e57c295d69e159a5c50d8ef16aa390948ee873478d9a5", + "url": "https://files.pythonhosted.org/packages/f5/55/8df2ed78d7f41d232f6bd3ff866b6f617026551aa1d07e2f03458f964575/aiohttp-3.13.2-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" } ], "project_name": "aiohttp", @@ -146,6 +221,7 @@ "aiosignal>=1.4.0", "async-timeout<6.0,>=4.0; python_version < \"3.11\"", "attrs>=17.3.0", + "backports.zstd; (platform_python_implementation == \"CPython\" and python_version < \"3.14\") and extra == \"speedups\"", "brotlicffi; platform_python_implementation != \"CPython\" and extra == \"speedups\"", "frozenlist>=1.1.1", "multidict<7.0,>=4.5", @@ -153,7 +229,7 @@ "yarl<2.0,>=1.17.0" ], "requires_python": ">=3.9", - "version": "3.12.15" + "version": "3.13.2" }, { "artifacts": [ @@ -201,340 +277,299 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "427318ce031701fea540783410126f03899a97ffc6f61596ad581ac2e40e3bc3", - "url": "https://files.pythonhosted.org/packages/77/06/bb80f5f86020c4551da315d78b3ab75e8228f89f0162f2c3a819e407941a/attrs-25.3.0-py3-none-any.whl" + "hash": "adcf7e2a1fb3b36ac48d97835bb6d8ade15b8dcce26aba8bf1d14847b57a3373", + "url": "https://files.pythonhosted.org/packages/3a/2a/7cc015f5b9f5db42b7d48157e23356022889fc354a2813c15934b7cb5c0e/attrs-25.4.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "75d7cefc7fb576747b2c81b4442d4d4a1ce0900973527c011d1030fd3bf4af1b", - "url": "https://files.pythonhosted.org/packages/5a/b0/1367933a8532ee6ff8d63537de4f1177af4bff9f3e829baf7331f595bb24/attrs-25.3.0.tar.gz" + "hash": "16d5969b87f0859ef33a48b35d55ac1be6e42ae49d5e853b597db70c35c57e11", + "url": "https://files.pythonhosted.org/packages/6b/5c/685e6633917e101e5dcb62b9dd76946cbb57c26e133bae9e0cd36033c0a9/attrs-25.4.0.tar.gz" } ], "project_name": "attrs", - "requires_dists": [ - "cloudpickle; platform_python_implementation == \"CPython\" and extra == \"benchmark\"", - "cloudpickle; platform_python_implementation == \"CPython\" and extra == \"cov\"", - "cloudpickle; platform_python_implementation == \"CPython\" and extra == \"dev\"", - "cloudpickle; platform_python_implementation == \"CPython\" and extra == \"tests\"", - "cogapp; extra == \"docs\"", - "coverage[toml]>=5.3; extra == \"cov\"", - "furo; extra == \"docs\"", - "hypothesis; extra == \"benchmark\"", - "hypothesis; extra == \"cov\"", - "hypothesis; extra == \"dev\"", - "hypothesis; extra == \"tests\"", - "mypy>=1.11.1; (platform_python_implementation == \"CPython\" and python_version >= \"3.10\") and extra == \"benchmark\"", - "mypy>=1.11.1; (platform_python_implementation == \"CPython\" and python_version >= \"3.10\") and extra == \"cov\"", - "mypy>=1.11.1; (platform_python_implementation == \"CPython\" and python_version >= \"3.10\") and extra == \"dev\"", - "mypy>=1.11.1; (platform_python_implementation == \"CPython\" and python_version >= \"3.10\") and extra == \"tests\"", - "mypy>=1.11.1; (platform_python_implementation == \"CPython\" and python_version >= \"3.10\") and extra == \"tests-mypy\"", - "myst-parser; extra == \"docs\"", - "pre-commit-uv; extra == \"dev\"", - "pympler; extra == \"benchmark\"", - "pympler; extra == \"cov\"", - "pympler; extra == \"dev\"", - "pympler; extra == \"tests\"", - "pytest-codspeed; extra == \"benchmark\"", - "pytest-mypy-plugins; (platform_python_implementation == \"CPython\" and python_version >= \"3.10\") and extra == \"benchmark\"", - "pytest-mypy-plugins; (platform_python_implementation == \"CPython\" and python_version >= \"3.10\") and extra == \"cov\"", - "pytest-mypy-plugins; (platform_python_implementation == \"CPython\" and python_version >= \"3.10\") and extra == \"dev\"", - "pytest-mypy-plugins; (platform_python_implementation == \"CPython\" and python_version >= \"3.10\") and extra == \"tests\"", - "pytest-mypy-plugins; (platform_python_implementation == \"CPython\" and python_version >= \"3.10\") and extra == \"tests-mypy\"", - "pytest-xdist[psutil]; extra == \"benchmark\"", - "pytest-xdist[psutil]; extra == \"cov\"", - "pytest-xdist[psutil]; extra == \"dev\"", - "pytest-xdist[psutil]; extra == \"tests\"", - "pytest>=4.3.0; extra == \"benchmark\"", - "pytest>=4.3.0; extra == \"cov\"", - "pytest>=4.3.0; extra == \"dev\"", - "pytest>=4.3.0; extra == \"tests\"", - "sphinx-notfound-page; extra == \"docs\"", - "sphinx; extra == \"docs\"", - "sphinxcontrib-towncrier; extra == \"docs\"", - "towncrier; extra == \"docs\"" - ], - "requires_python": ">=3.8", - "version": "25.3.0" + "requires_dists": [], + "requires_python": ">=3.9", + "version": "25.4.0" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "416a8d74dc0adfd33944ba2f405897bab87b7e9e84a391e09d241956bd953ce1", - "url": "https://files.pythonhosted.org/packages/84/19/e67f4ae24e232c7f713337f3f4f7c9c58afd0c02866fb07c7b9255a19ed7/coverage-7.10.3-py3-none-any.whl" + "hash": "850d2998f380b1e266459ca5b47bc9e7daf9af1d070f66317972f382d46f1904", + "url": "https://files.pythonhosted.org/packages/8d/4c/1968f32fb9a2604645827e11ff84a31e59d532e01995f904723b4f5328b3/coverage-7.13.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "b99e87304ffe0eb97c5308447328a584258951853807afdc58b16143a530518a", - "url": "https://files.pythonhosted.org/packages/0a/ff/239e4de9cc149c80e9cc359fab60592365b8c4cbfcad58b8a939d18c6898/coverage-7.10.3-cp313-cp313-macosx_10_13_x86_64.whl" + "hash": "9987a9e4f8197a1000280f7cc089e3ea2c8b3c0a64d750537809879a7b4ceaf9", + "url": "https://files.pythonhosted.org/packages/07/62/eec0659e47857698645ff4e6ad02e30186eb8afd65214fd43f02a76537cb/coverage-7.13.0-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl" }, { "algorithm": "sha256", - "hash": "b0bac054d45af7cd938834b43a9878b36ea92781bcb009eab040a5b09e9927e3", - "url": "https://files.pythonhosted.org/packages/26/04/cb83826f313d07dc743359c9914d9bc460e0798da9a0e38b4f4fabc207ed/coverage-7.10.3-cp313-cp313-musllinux_1_2_aarch64.whl" + "hash": "9097818b6cc1cfb5f174e3263eba4a62a17683bcfe5c4b5d07f4c97fa51fbf28", + "url": "https://files.pythonhosted.org/packages/16/d4/364a1439766c8e8647860584171c36010ca3226e6e45b1753b1b249c5161/coverage-7.13.0-cp314-cp314t-macosx_10_15_x86_64.whl" }, { "algorithm": "sha256", - "hash": "8dd2ba5f0c7e7e8cc418be2f0c14c4d9e3f08b8fb8e4c0f83c2fe87d03eb655e", - "url": "https://files.pythonhosted.org/packages/29/96/4b40036181d8c2948454b458750960956a3c4785f26a3c29418bbbee1666/coverage-7.10.3-cp313-cp313t-macosx_11_0_arm64.whl" + "hash": "3188936845cd0cb114fa6a51842a304cdbac2958145d03be2377ec41eb285d19", + "url": "https://files.pythonhosted.org/packages/23/2d/3c7ff8b2e0e634c1f58d095f071f52ed3c23ff25be524b0ccae8b71f99f8/coverage-7.13.0-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl" }, { "algorithm": "sha256", - "hash": "fe72cbdd12d9e0f4aca873fa6d755e103888a7f9085e4a62d282d9d5b9f7928c", - "url": "https://files.pythonhosted.org/packages/2d/fd/ae963c7a8e9581c20fa4355ab8940ca272554d8102e872dbb932a644e410/coverage-7.10.3-cp313-cp313-musllinux_1_2_i686.whl" + "hash": "7464663eaca6adba4175f6c19354feea61ebbdd735563a03d1e472c7072d27bb", + "url": "https://files.pythonhosted.org/packages/29/62/14afa9e792383c66cc0a3b872a06ded6e4ed1079c7d35de274f11d27064e/coverage-7.13.0-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" }, { "algorithm": "sha256", - "hash": "6b1f91cbc78c7112ab84ed2a8defbccd90f888fcae40a97ddd6466b0bec6ae8a", - "url": "https://files.pythonhosted.org/packages/4f/ed/33efd8819895b10c66348bf26f011dd621e804866c996ea6893d682218df/coverage-7.10.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" + "hash": "8069e831f205d2ff1f3d355e82f511eb7c5522d7d413f5db5756b772ec8697f8", + "url": "https://files.pythonhosted.org/packages/31/b7/333f3dab2939070613696ab3ee91738950f0467778c6e5a5052e840646b7/coverage-7.13.0-cp314-cp314-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "4af09c7574d09afbc1ea7da9dcea23665c01f3bc1b1feb061dac135f98ffc53a", - "url": "https://files.pythonhosted.org/packages/56/da/28717da68f8ba68f14b9f558aaa8f3e39ada8b9a1ae4f4977c8f98b286d5/coverage-7.10.3-cp313-cp313-macosx_11_0_arm64.whl" + "hash": "e999e2dcc094002d6e2c7bbc1fb85b58ba4f465a760a8014d97619330cdbbbf3", + "url": "https://files.pythonhosted.org/packages/37/99/6ee5bf7eff884766edb43bd8736b5e1c5144d0fe47498c3779326fe75a35/coverage-7.13.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" }, { "algorithm": "sha256", - "hash": "eb329f1046888a36b1dc35504d3029e1dd5afe2196d94315d18c45ee380f67d5", - "url": "https://files.pythonhosted.org/packages/59/95/00e7fcbeda3f632232f4c07dde226afe3511a7781a000aa67798feadc535/coverage-7.10.3-cp313-cp313t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl" + "hash": "af827b7cbb303e1befa6c4f94fd2bf72f108089cfa0f8abab8f4ca553cf5ca5a", + "url": "https://files.pythonhosted.org/packages/59/df/c3a1f34d4bba2e592c8979f924da4d3d4598b0df2392fbddb7761258e3dc/coverage-7.13.0-cp314-cp314-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "1ae22b97003c74186e034a93e4f946c75fad8c0ce8d92fbbc168b5e15ee2841f", - "url": "https://files.pythonhosted.org/packages/62/23/8dfc52e95da20957293fb94d97397a100e63095ec1e0ef5c09dd8c6f591a/coverage-7.10.3-cp313-cp313t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl" + "hash": "166ad2a22ee770f5656e1257703139d3533b4a0b6909af67c6b4a3adc1c98657", + "url": "https://files.pythonhosted.org/packages/5e/25/127d8ed03d7711a387d96f132589057213e3aef7475afdaa303412463f22/coverage-7.13.0-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl" }, { "algorithm": "sha256", - "hash": "669fe0d4e69c575c52148511029b722ba8d26e8a3129840c2ce0522e1452b256", - "url": "https://files.pythonhosted.org/packages/86/11/bb59f7f33b2cac0c5b17db0d9d0abba9c90d9eda51a6e727b43bd5fce4ae/coverage-7.10.3-cp313-cp313t-musllinux_1_2_i686.whl" + "hash": "9372dff5ea15930fea0445eaf37bbbafbc771a49e70c0aeed8b4e2c2614cc00e", + "url": "https://files.pythonhosted.org/packages/63/f8/b1d0de5c39351eb71c366f872376d09386640840a2e09b0d03973d791e20/coverage-7.13.0-cp314-cp314t-musllinux_1_2_i686.whl" }, { "algorithm": "sha256", - "hash": "c1e2e927ab3eadd7c244023927d646e4c15c65bb2ac7ae3c3e9537c013700d21", - "url": "https://files.pythonhosted.org/packages/99/e8/b68d1487c6af370b8d5ef223c6d7e250d952c3acfbfcdbf1a773aa0da9d2/coverage-7.10.3-cp313-cp313-musllinux_1_2_x86_64.whl" + "hash": "6fb2d5d272341565f08e962cce14cdf843a08ac43bd621783527adb06b089c4b", + "url": "https://files.pythonhosted.org/packages/81/cb/69162bda9381f39b2287265d7e29ee770f7c27c19f470164350a38318764/coverage-7.13.0-cp314-cp314-musllinux_1_2_i686.whl" }, { "algorithm": "sha256", - "hash": "ce01048199a91f07f96ca3074b0c14021f4fe7ffd29a3e6a188ac60a5c3a4af8", - "url": "https://files.pythonhosted.org/packages/9e/4c/f4666cbc4571804ba2a65b078ff0de600b0b577dc245389e0bc9b69ae7ca/coverage-7.10.3-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" + "hash": "4b5de7d4583e60d5fd246dd57fcd3a8aa23c6e118a8c72b38adf666ba8e7e927", + "url": "https://files.pythonhosted.org/packages/86/0d/7f6c42b8d59f4c7e43ea3059f573c0dcfed98ba46eb43c68c69e52ae095c/coverage-7.13.0-cp314-cp314-musllinux_1_2_x86_64.whl" }, { "algorithm": "sha256", - "hash": "08b989a06eb9dfacf96d42b7fb4c9a22bafa370d245dc22fa839f2168c6f9fa1", - "url": "https://files.pythonhosted.org/packages/c1/a5/8a9e8a7b12a290ed98b60f73d1d3e5e9ced75a4c94a0d1a671ce3ddfff2a/coverage-7.10.3-cp313-cp313t-musllinux_1_2_aarch64.whl" + "hash": "22ccfe8d9bb0d6134892cbe1262493a8c70d736b9df930f3f3afae0fe3ac924d", + "url": "https://files.pythonhosted.org/packages/90/5d/b312a8b45b37a42ea7d27d7d3ff98ade3a6c892dd48d1d503e773503373f/coverage-7.13.0-cp314-cp314t-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "3262d19092771c83f3413831d9904b1ccc5f98da5de4ffa4ad67f5b20c7aaf7b", - "url": "https://files.pythonhosted.org/packages/cc/22/3646f8903743c07b3e53fded0700fed06c580a980482f04bf9536657ac17/coverage-7.10.3-cp313-cp313t-musllinux_1_2_x86_64.whl" + "hash": "69ac2c492918c2461bc6ace42d0479638e60719f2a4ef3f0815fa2df88e9f940", + "url": "https://files.pythonhosted.org/packages/aa/7c/d42f4435bc40c55558b3109a39e2d456cddcec37434f62a1f1230991667a/coverage-7.13.0-cp314-cp314t-musllinux_1_2_riscv64.whl" }, { "algorithm": "sha256", - "hash": "488e9b50dc5d2aa9521053cfa706209e5acf5289e81edc28291a24f4e4488f46", - "url": "https://files.pythonhosted.org/packages/de/bb/e1ade16b9e3f2d6c323faeb6bee8e6c23f3a72760a5d9af102ef56a656cb/coverage-7.10.3-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl" + "hash": "a2bdb3babb74079f021696cb46b8bb5f5661165c385d3a238712b031a12355be", + "url": "https://files.pythonhosted.org/packages/aa/ac/fb03b469d20e9c9a81093575003f959cf91a4a517b783aab090e4538764b/coverage-7.13.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" }, { "algorithm": "sha256", - "hash": "913ceddb4289cbba3a310704a424e3fb7aac2bc0c3a23ea473193cb290cf17d4", - "url": "https://files.pythonhosted.org/packages/ea/2f/6ae1db51dc34db499bfe340e89f79a63bd115fc32513a7bacdf17d33cd86/coverage-7.10.3-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl" + "hash": "a394aa27f2d7ff9bc04cf703817773a59ad6dfbd577032e690f961d2460ee936", + "url": "https://files.pythonhosted.org/packages/b6/45/2c665ca77ec32ad67e25c77daf1cee28ee4558f3bc571cdbaf88a00b9f23/coverage-7.13.0.tar.gz" }, { "algorithm": "sha256", - "hash": "812ba9250532e4a823b070b0420a36499859542335af3dca8f47fc6aa1a05619", - "url": "https://files.pythonhosted.org/packages/f4/2c/253cc41cd0f40b84c1c34c5363e0407d73d4a1cae005fed6db3b823175bd/coverage-7.10.3.tar.gz" + "hash": "739c6c051a7540608d097b8e13c76cfa85263ced467168dc6b477bae3df7d0e2", + "url": "https://files.pythonhosted.org/packages/b8/d3/23413241dc04d47cfe19b9a65b32a2edd67ecd0b817400c2843ebc58c847/coverage-7.13.0-cp314-cp314t-musllinux_1_2_x86_64.whl" }, { "algorithm": "sha256", - "hash": "07009152f497a0464ffdf2634586787aea0e69ddd023eafb23fc38267db94b84", - "url": "https://files.pythonhosted.org/packages/fc/26/1c1f450e15a3bf3eaecf053ff64538a2612a23f05b21d79ce03be9ff5903/coverage-7.10.3-cp313-cp313t-macosx_10_13_x86_64.whl" - } - ], - "project_name": "coverage", - "requires_dists": [ - "tomli; python_full_version <= \"3.11.0a6\" and extra == \"toml\"" - ], - "requires_python": ">=3.9", - "version": "7.10.3" - }, - { - "artifacts": [ + "hash": "0018f73dfb4301a89292c73be6ba5f58722ff79f51593352759c1790ded1cabe", + "url": "https://files.pythonhosted.org/packages/ce/f4/71ba8be63351e099911051b2089662c03d5671437a0ec2171823c8e03bec/coverage-7.13.0-cp314-cp314t-macosx_11_0_arm64.whl" + }, { "algorithm": "sha256", - "hash": "9a5af342e34f7e97caf8c995864c7a396418ae2859cc6fdf1b1073020d516a7e", - "url": "https://files.pythonhosted.org/packages/ee/45/b82e3c16be2182bff01179db177fe144d58b5dc787a7d4492c6ed8b9317f/frozenlist-1.7.0-py3-none-any.whl" + "hash": "00c3d22cf6fb1cf3bf662aaaa4e563be8243a5ed2630339069799835a9cc7f9b", + "url": "https://files.pythonhosted.org/packages/d8/90/92f18fe0356ea69e1f98f688ed80cec39f44e9f09a1f26a1bbf017cc67f2/coverage-7.13.0-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" }, { "algorithm": "sha256", - "hash": "4e7e9652b3d367c7bd449a727dc79d5043f48b88d0cbfd4f9f1060cf2b414104", - "url": "https://files.pythonhosted.org/packages/00/11/47b6117002a0e904f004d70ec5194fe9144f117c33c851e3d51c765962d0/frozenlist-1.7.0-cp313-cp313t-musllinux_1_2_s390x.whl" + "hash": "5e70f92ef89bac1ac8a99b3324923b4749f008fdbd7aa9cb35e01d7a284a04f9", + "url": "https://files.pythonhosted.org/packages/e0/76/350387b56a30f4970abe32b90b2a434f87d29f8b7d4ae40d2e8a85aacfb3/coverage-7.13.0-cp314-cp314-musllinux_1_2_riscv64.whl" }, { "algorithm": "sha256", - "hash": "dab46c723eeb2c255a64f9dc05b8dd601fde66d6b19cdb82b2e09cc6ff8d8b5d", - "url": "https://files.pythonhosted.org/packages/19/7c/71bb0bbe0832793c601fff68cd0cf6143753d0c667f9aec93d3c323f4b55/frozenlist-1.7.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + "hash": "453b7ec753cf5e4356e14fe858064e5520c460d3bbbcb9c35e55c0d21155c256", + "url": "https://files.pythonhosted.org/packages/f8/4b/9b54bedda55421449811dcd5263a2798a63f48896c24dfb92b0f1b0845bd/coverage-7.13.0-cp314-cp314-macosx_10_15_x86_64.whl" }, { "algorithm": "sha256", - "hash": "ee80eeda5e2a4e660651370ebffd1286542b67e268aa1ac8d6dbe973120ef7ee", - "url": "https://files.pythonhosted.org/packages/24/90/6b2cebdabdbd50367273c20ff6b57a3dfa89bd0762de02c3a1eb42cb6462/frozenlist-1.7.0-cp313-cp313-macosx_10_13_universal2.whl" - }, + "hash": "f6aaef16d65d1787280943f1c8718dc32e9cf141014e4634d64446702d26e0ff", + "url": "https://files.pythonhosted.org/packages/fd/db/559fbb6def07d25b2243663b46ba9eb5a3c6586c0c6f4e62980a68f0ee1c/coverage-7.13.0-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl" + } + ], + "project_name": "coverage", + "requires_dists": [ + "tomli; python_full_version <= \"3.11.0a6\" and extra == \"toml\"" + ], + "requires_python": ">=3.10", + "version": "7.13.0" + }, + { + "artifacts": [ { "algorithm": "sha256", - "hash": "3fbba20e662b9c2130dc771e332a99eff5da078b2b2648153a40669a6d0e36ca", - "url": "https://files.pythonhosted.org/packages/3e/e8/ad683e75da6ccef50d0ab0c2b2324b32f84fc88ceee778ed79b8e2d2fe2e/frozenlist-1.7.0-cp313-cp313-musllinux_1_2_ppc64le.whl" + "hash": "0c18a16eab41e82c295618a77502e17b195883241c563b00f0aa5106fc4eaa0d", + "url": "https://files.pythonhosted.org/packages/9a/9a/e35b4a917281c0b8419d4207f4334c8e8c5dbf4f3f5f9ada73958d937dcc/frozenlist-1.8.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "1a85e345b4c43db8b842cab1feb41be5cc0b10a1830e6295b69d7310f99becaf", - "url": "https://files.pythonhosted.org/packages/40/37/5f9f3c3fd7f7746082ec67bcdc204db72dad081f4f83a503d33220a92973/frozenlist-1.7.0-cp313-cp313t-musllinux_1_2_x86_64.whl" + "hash": "2dc43a022e555de94c3b68a4ef0b11c4f747d12c024a520c7101709a2144fb37", + "url": "https://files.pythonhosted.org/packages/05/23/6bde59eb55abd407d34f77d39a5126fb7b4f109a3f611d3929f14b700c66/frozenlist-1.8.0-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl" }, { "algorithm": "sha256", - "hash": "c0303e597eb5a5321b4de9c68e9845ac8f290d2ab3f3e2c864437d3c5a30cd65", - "url": "https://files.pythonhosted.org/packages/42/34/a3e2c00c00f9e2a9db5653bca3fec306349e71aff14ae45ecc6d0951dd24/frozenlist-1.7.0-cp313-cp313t-musllinux_1_2_armv7l.whl" + "hash": "4314debad13beb564b708b4a496020e5306c7333fa9a3ab90374169a20ffab30", + "url": "https://files.pythonhosted.org/packages/11/99/ae3a33d5befd41ac0ca2cc7fd3aa707c9c324de2e89db0e0f45db9a64c26/frozenlist-1.8.0-cp314-cp314-musllinux_1_2_s390x.whl" }, { "algorithm": "sha256", - "hash": "6a5c505156368e4ea6b53b5ac23c92d7edc864537ff911d2fb24c140bb175e60", - "url": "https://files.pythonhosted.org/packages/46/b9/6989292c5539553dba63f3c83dc4598186ab2888f67c0dc1d917e6887db6/frozenlist-1.7.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" + "hash": "92db2bf818d5cc8d9c1f1fc56b897662e24ea5adb36ad1f1d82875bd64e03c24", + "url": "https://files.pythonhosted.org/packages/2d/14/aa36d5f85a89679a85a1d44cd7a6657e0b1c75f61e7cad987b203d2daca8/frozenlist-1.8.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" }, { "algorithm": "sha256", - "hash": "765bb588c86e47d0b68f23c1bee323d4b703218037765dcf3f25c838c6fecceb", - "url": "https://files.pythonhosted.org/packages/4e/27/72765be905619dfde25a7f33813ac0341eb6b076abede17a2e3fbfade0cb/frozenlist-1.7.0-cp313-cp313t-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + "hash": "3ede829ed8d842f6cd48fc7081d7a41001a56f1f38603f9d49bf3020d59a31ad", + "url": "https://files.pythonhosted.org/packages/2d/f5/c831fac6cc817d26fd54c7eaccd04ef7e0288806943f7cc5bbf69f3ac1f0/frozenlist-1.8.0.tar.gz" }, { "algorithm": "sha256", - "hash": "b8c05e4c8e5f36e5e088caa1bf78a687528f83c043706640a92cb76cd6999384", - "url": "https://files.pythonhosted.org/packages/4f/00/d5c5e09d4922c395e2f2f6b79b9a20dab4b67daaf78ab92e7729341f61f6/frozenlist-1.7.0-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" + "hash": "168c0969a329b416119507ba30b9ea13688fafffac1b7822802537569a1cb0ef", + "url": "https://files.pythonhosted.org/packages/30/de/2c22ab3eb2a8af6d69dc799e48455813bab3690c760de58e1bf43b36da3e/frozenlist-1.8.0-cp314-cp314t-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "a6f86e4193bb0e235ef6ce3dde5cbabed887e0b11f516ce8a0f4d3b33078ec2d", - "url": "https://files.pythonhosted.org/packages/56/d5/5c4cf2319a49eddd9dd7145e66c4866bdc6f3dbc67ca3d59685149c11e0d/frozenlist-1.7.0-cp313-cp313t-macosx_10_13_universal2.whl" + "hash": "778a11b15673f6f1df23d9586f83c4846c471a8af693a22e066508b77d201ec8", + "url": "https://files.pythonhosted.org/packages/3a/3b/d9b1e0b0eed36e70477ffb8360c49c85c8ca8ef9700a4e6711f39a6e8b45/frozenlist-1.8.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" }, { "algorithm": "sha256", - "hash": "05579bf020096fe05a764f1f84cd104a12f78eaab68842d036772dc6d4870b4b", - "url": "https://files.pythonhosted.org/packages/59/52/460db4d7ba0811b9ccb85af996019f5d70831f2f5f255f7cc61f86199795/frozenlist-1.7.0-cp313-cp313-musllinux_1_2_aarch64.whl" + "hash": "28bd570e8e189d7f7b001966435f9dac6718324b5be2990ac496cf1ea9ddb7fe", + "url": "https://files.pythonhosted.org/packages/59/f7/970141a6a8dbd7f556d94977858cfb36fa9b66e0892c6dd780d2219d8cd8/frozenlist-1.8.0-cp314-cp314t-musllinux_1_2_armv7l.whl" }, { "algorithm": "sha256", - "hash": "9537c2777167488d539bc5de2ad262efc44388230e5118868e172dd4a552b146", - "url": "https://files.pythonhosted.org/packages/5e/cb/df6de220f5036001005f2d726b789b2c0b65f2363b104bbc16f5be8084f8/frozenlist-1.7.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + "hash": "154e55ec0655291b5dd1b8731c637ecdb50975a2ae70c606d100750a540082f7", + "url": "https://files.pythonhosted.org/packages/5f/85/07bf3f5d0fb5414aee5f47d33c6f5c77bfe49aac680bfece33d4fdf6a246/frozenlist-1.8.0-cp314-cp314-musllinux_1_2_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "912a7e8375a1c9a68325a902f3953191b7b292aa3c3fb0d71a216221deca460b", - "url": "https://files.pythonhosted.org/packages/69/86/f9596807b03de126e11e7d42ac91e3d0b19a6599c714a1989a4e85eeefc4/frozenlist-1.7.0-cp313-cp313t-macosx_11_0_arm64.whl" + "hash": "39ecbc32f1390387d2aa4f5a995e465e9e2f79ba3adcac92d68e3e0afae6657c", + "url": "https://files.pythonhosted.org/packages/62/1c/3d8622e60d0b767a5510d1d3cf21065b9db874696a51ea6d7a43180a259c/frozenlist-1.8.0-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl" }, { "algorithm": "sha256", - "hash": "8bd7eb96a675f18aa5c553eb7ddc24a43c8c18f22e1f9925528128c052cdbe00", - "url": "https://files.pythonhosted.org/packages/72/31/bc8c5c99c7818293458fe745dab4fd5730ff49697ccc82b554eb69f16a24/frozenlist-1.7.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + "hash": "2f05983daecab868a31e1da44462873306d3cbfd76d1f0b5b69c473d21dbb128", + "url": "https://files.pythonhosted.org/packages/62/c3/f57a5c8c70cd1ead3d5d5f776f89d33110b1addae0ab010ad774d9a44fb9/frozenlist-1.8.0-cp314-cp314-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "2e310d81923c2437ea8670467121cc3e9b0f76d3043cc1d2331d56c7fb7a3a8f", - "url": "https://files.pythonhosted.org/packages/79/b1/b64018016eeb087db503b038296fd782586432b9c077fc5c7839e9cb6ef6/frozenlist-1.7.0.tar.gz" + "hash": "33f48f51a446114bc5d251fb2954ab0164d5be02ad3382abcbfe07e2531d650f", + "url": "https://files.pythonhosted.org/packages/6c/52/232476fe9cb64f0742f3fde2b7d26c1dac18b6d62071c74d4ded55e0ef94/frozenlist-1.8.0-cp314-cp314-musllinux_1_2_armv7l.whl" }, { "algorithm": "sha256", - "hash": "f34560fb1b4c3e30ba35fa9a13894ba39e5acfc5f60f57d8accde65f46cc5e74", - "url": "https://files.pythonhosted.org/packages/83/1f/de84c642f17c8f851a2905cee2dae401e5e0daca9b5ef121e120e19aa825/frozenlist-1.7.0-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl" + "hash": "119fb2a1bd47307e899c2fac7f28e85b9a543864df47aa7ec9d3c1b4545f096f", + "url": "https://files.pythonhosted.org/packages/8e/e8/a1185e236ec66c20afd72399522f142c3724c785789255202d27ae992818/frozenlist-1.8.0-cp314-cp314-macosx_10_13_x86_64.whl" }, { "algorithm": "sha256", - "hash": "d1a81c85417b914139e3a9b995d4a1c84559afc839a93cf2cb7f15e6e5f6ed2d", - "url": "https://files.pythonhosted.org/packages/83/2e/5b70b6a3325363293fe5fc3ae74cdcbc3e996c2a11dde2fd9f1fb0776d19/frozenlist-1.7.0-cp313-cp313-macosx_10_13_x86_64.whl" + "hash": "974b28cf63cc99dfb2188d8d222bc6843656188164848c4f679e63dae4b0708e", + "url": "https://files.pythonhosted.org/packages/96/52/abddd34ca99be142f354398700536c5bd315880ed0a213812bc491cff5e4/frozenlist-1.8.0-cp314-cp314t-musllinux_1_2_x86_64.whl" }, { "algorithm": "sha256", - "hash": "acd03d224b0175f5a850edc104ac19040d35419eddad04e7cf2d5986d98427f1", - "url": "https://files.pythonhosted.org/packages/88/3c/c840bfa474ba3fa13c772b93070893c6e9d5c0350885760376cbe3b6c1b3/frozenlist-1.7.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" + "hash": "4970ece02dbc8c3a92fcc5228e36a3e933a01a999f7094ff7c23fbd2beeaa67c", + "url": "https://files.pythonhosted.org/packages/a1/93/72b1736d68f03fda5fdf0f2180fb6caaae3894f1b854d006ac61ecc727ee/frozenlist-1.8.0-cp314-cp314-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "32dc2e08c67d86d0969714dd484fd60ff08ff81d1a1e40a77dd34a387e6ebc0c", - "url": "https://files.pythonhosted.org/packages/88/67/c94103a23001b17808eb7dd1200c156bb69fb68e63fcf0693dde4cd6228c/frozenlist-1.7.0-cp313-cp313t-musllinux_1_2_aarch64.whl" + "hash": "33139dc858c580ea50e7e60a1b0ea003efa1fd42e6ec7fdbad78fff65fad2fd2", + "url": "https://files.pythonhosted.org/packages/a4/89/5b057c799de4838b6c69aa82b79705f2027615e01be996d2486a69ca99c4/frozenlist-1.8.0-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" }, { "algorithm": "sha256", - "hash": "82d664628865abeb32d90ae497fb93df398a69bb3434463d172b80fc25b0dd7d", - "url": "https://files.pythonhosted.org/packages/a4/7d/ec2c1e1dc16b85bc9d526009961953df9cec8481b6886debb36ec9107799/frozenlist-1.7.0-cp313-cp313t-macosx_10_13_x86_64.whl" + "hash": "cba69cb73723c3f329622e34bdbf5ce1f80c21c290ff04256cff1cd3c2036ed2", + "url": "https://files.pythonhosted.org/packages/a7/b2/fabede9fafd976b991e9f1b9c8c873ed86f202889b864756f240ce6dd855/frozenlist-1.8.0-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl" }, { "algorithm": "sha256", - "hash": "f2038310bc582f3d6a09b3816ab01737d60bf7b1ec70f5356b09e84fb7408ab1", - "url": "https://files.pythonhosted.org/packages/a6/1c/3efa6e7d5a39a1d5ef0abeb51c48fb657765794a46cf124e5aca2c7a592c/frozenlist-1.7.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl" + "hash": "eab8145831a0d56ec9c4139b6c3e594c7a83c2c8be25d5bcf2d86136a532287a", + "url": "https://files.pythonhosted.org/packages/ac/83/dca6dc53bf657d371fbc88ddeb21b79891e747189c5de990b9dfff2ccba1/frozenlist-1.8.0-cp314-cp314t-musllinux_1_2_s390x.whl" }, { "algorithm": "sha256", - "hash": "f3f4410a0a601d349dd406b5713fec59b4cee7e71678d5b17edda7f4655a940b", - "url": "https://files.pythonhosted.org/packages/b2/14/8d19ccdd3799310722195a72ac94ddc677541fb4bef4091d8e7775752360/frozenlist-1.7.0-cp313-cp313-musllinux_1_2_s390x.whl" + "hash": "073f8bf8becba60aa931eb3bc420b217bb7d5b8f4750e6f8b3be7f3da85d38b7", + "url": "https://files.pythonhosted.org/packages/b2/60/b1d2da22f4970e7a155f0adde9b1435712ece01b3cd45ba63702aea33938/frozenlist-1.8.0-cp314-cp314-musllinux_1_2_x86_64.whl" }, { "algorithm": "sha256", - "hash": "0aa7e176ebe115379b5b1c95b4096fb1c17cce0847402e227e712c27bdb5a949", - "url": "https://files.pythonhosted.org/packages/b8/33/3f8d6ced42f162d743e3517781566b8481322be321b486d9d262adf70bfb/frozenlist-1.7.0-cp313-cp313-musllinux_1_2_i686.whl" + "hash": "2c5dcbbc55383e5883246d11fd179782a9d07a986c40f49abe89ddf865913930", + "url": "https://files.pythonhosted.org/packages/ba/7d/b7282a445956506fa11da8c2db7d276adcbf2b17d8bb8407a47685263f90/frozenlist-1.8.0-cp314-cp314t-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "376b6222d114e97eeec13d46c486facd41d4f43bab626b7c3f6a8b4e81a5192c", - "url": "https://files.pythonhosted.org/packages/ba/c9/f4b39e904c03927b7ecf891804fd3b4df3db29b9e487c6418e37988d6e9d/frozenlist-1.7.0-cp313-cp313-musllinux_1_2_armv7l.whl" + "hash": "d3bb933317c52d7ea5004a1c442eef86f426886fba134ef8cf4226ea6ee1821d", + "url": "https://files.pythonhosted.org/packages/c0/c7/43200656ecc4e02d3f8bc248df68256cd9572b3f0017f0a0c4e93440ae23/frozenlist-1.8.0-cp314-cp314t-macosx_10_13_universal2.whl" }, { "algorithm": "sha256", - "hash": "bd8c4e58ad14b4fa7802b8be49d47993182fdd4023393899632c88fd8cd994eb", - "url": "https://files.pythonhosted.org/packages/ba/e2/8417ae0f8eacb1d071d4950f32f229aa6bf68ab69aab797b72a07ea68d4f/frozenlist-1.7.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" + "hash": "b2a095d45c5d46e5e79ba1e5b9cb787f541a8dee0433836cea4b96a2c439dcd8", + "url": "https://files.pythonhosted.org/packages/c1/15/ca1adae83a719f82df9116d66f5bb28bb95557b3951903d39135620ef157/frozenlist-1.8.0-cp314-cp314t-musllinux_1_2_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "a47f2abb4e29b3a8d0b530f7c3598badc6b134562b1a5caee867f7c62fee51e3", - "url": "https://files.pythonhosted.org/packages/bb/73/f89b7fbce8b0b0c095d82b008afd0590f71ccb3dee6eee41791cf8cd25fd/frozenlist-1.7.0-cp313-cp313t-musllinux_1_2_i686.whl" + "hash": "8009897cdef112072f93a0efdce29cd819e717fd2f649ee3016efd3cd885a7ed", + "url": "https://files.pythonhosted.org/packages/d1/29/55c5f0689b9c0fb765055629f472c0de484dcaf0acee2f7707266ae3583c/frozenlist-1.8.0-cp314-cp314t-macosx_10_13_x86_64.whl" }, { "algorithm": "sha256", - "hash": "6aeac207a759d0dedd2e40745575ae32ab30926ff4fa49b1635def65806fddee", - "url": "https://files.pythonhosted.org/packages/c0/45/ed2798718910fe6eb3ba574082aaceff4528e6323f9a8570be0f7028d8e9/frozenlist-1.7.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl" + "hash": "cb89a7f2de3602cfed448095bab3f178399646ab7c61454315089787df07733a", + "url": "https://files.pythonhosted.org/packages/d2/3f/22cff331bfad7a8afa616289000ba793347fcd7bc275f3b28ecea2a27909/frozenlist-1.8.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "3d688126c242a6fabbd92e02633414d40f50bb6002fa4cf995a1d18051525657", - "url": "https://files.pythonhosted.org/packages/cd/45/e365fdb554159462ca12df54bc59bfa7a9a273ecc21e99e72e597564d1ae/frozenlist-1.7.0-cp313-cp313t-musllinux_1_2_ppc64le.whl" + "hash": "0325024fe97f94c41c08872db482cf8ac4800d80e79222c6b0b7b162d5b13686", + "url": "https://files.pythonhosted.org/packages/dc/94/be719d2766c1138148564a3960fc2c06eb688da592bdc25adcf856101be7/frozenlist-1.8.0-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl" }, { "algorithm": "sha256", - "hash": "e2cdfaaec6a2f9327bf43c933c0319a7c429058e8537c508964a133dffee412e", - "url": "https://files.pythonhosted.org/packages/ce/13/c12bf657494c2fd1079a48b2db49fa4196325909249a52d8f09bc9123fd7/frozenlist-1.7.0-cp313-cp313-musllinux_1_2_x86_64.whl" + "hash": "97260ff46b207a82a7567b581ab4190bd4dfa09f4db8a8b49d1a958f6aa4940e", + "url": "https://files.pythonhosted.org/packages/e4/09/6712b6c5465f083f52f50cf74167b92d4ea2f50e46a9eea0523d658454ae/frozenlist-1.8.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "cbb65198a9132ebc334f237d7b0df163e4de83fb4f2bdfe46c1e654bdb0c5d43", - "url": "https://files.pythonhosted.org/packages/f4/25/a0895c99270ca6966110f4ad98e87e5662eab416a17e7fd53c364bf8b954/frozenlist-1.7.0-cp313-cp313-macosx_11_0_arm64.whl" + "hash": "cee686f1f4cadeb2136007ddedd0aaf928ab95216e7691c63e50a8ec066336d0", + "url": "https://files.pythonhosted.org/packages/f1/c8/85da824b7e7b9b6e7f7705b2ecaf9591ba6f79c1177f324c2735e41d36a2/frozenlist-1.8.0-cp314-cp314-macosx_10_13_universal2.whl" }, { "algorithm": "sha256", - "hash": "04fb24d104f425da3540ed83cbfc31388a586a7696142004c577fa61c6298c3f", - "url": "https://files.pythonhosted.org/packages/f8/b7/2ace5450ce85f2af05a871b8c8719b341294775a0a6c5585d5e6170f2ce7/frozenlist-1.7.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl" + "hash": "54b2077180eb7f83dd52c40b2750d0a9f175e06a42e3213ce047219de902717a", + "url": "https://files.pythonhosted.org/packages/f8/d4/cd065cdcf21550b54f3ce6a22e143ac9e4836ca42a0de1022da8498eac89/frozenlist-1.8.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" } ], "project_name": "frozenlist", "requires_dists": [], "requires_python": ">=3.9", - "version": "1.7.0" + "version": "1.8.0" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3", - "url": "https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl" + "hash": "771a87f49d9defaf64091e6e6fe9c18d4833f140bd19464795bc32d966ca37ea", + "url": "https://files.pythonhosted.org/packages/0e/61/66938bbb5fc52dbdf84594873d5b51fb1f7c7794e9c0f5bd885f30bc507b/idna-3.11-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9", - "url": "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz" + "hash": "795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902", + "url": "https://files.pythonhosted.org/packages/6f/6d/0703ccc57f3a7233505399edb88de3cbd678da106337b9fcde432b65ed60/idna-3.11.tar.gz" } ], "project_name": "idna", @@ -544,188 +579,188 @@ "pytest>=8.3.2; extra == \"all\"", "ruff>=0.6.2; extra == \"all\"" ], - "requires_python": ">=3.6", - "version": "3.10" + "requires_python": ">=3.8", + "version": "3.11" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "9deba5723312380e77435581c6bf4935c94cbfab9b1ed33ef8d238ea168eb760", - "url": "https://files.pythonhosted.org/packages/2c/e1/e6716421ea10d38022b952c159d5161ca1193197fb744506875fbb87ea7b/iniconfig-2.1.0-py3-none-any.whl" + "hash": "f631c04d2c48c52b84d0d0549c99ff3859c98df65b3101406327ecc7d53fbf12", + "url": "https://files.pythonhosted.org/packages/cb/b1/3846dd7f199d53cb17f49cba7e651e9ce294d8497c8c150530ed11865bb8/iniconfig-2.3.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "3abbd2e30b36733fee78f9c7f7308f2d0050e88f0087fd25c2645f63c773e1c7", - "url": "https://files.pythonhosted.org/packages/f2/97/ebf4da567aa6827c909642694d71c9fcf53e5b504f2d96afea02718862f3/iniconfig-2.1.0.tar.gz" + "hash": "c76315c77db068650d49c5b56314774a7804df16fee4402c1f19d6d15d8c4730", + "url": "https://files.pythonhosted.org/packages/72/34/14ca021ce8e5dfedc35312d08ba8bf51fdd999c576889fc2c24cb97f4f10/iniconfig-2.3.0.tar.gz" } ], "project_name": "iniconfig", "requires_dists": [], - "requires_python": ">=3.8", - "version": "2.1.0" + "requires_python": ">=3.10", + "version": "2.3.0" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "27d8f8e125c07cb954e54d75d04905a9bba8a439c1d84aca94949d4d03d8601c", - "url": "https://files.pythonhosted.org/packages/fd/69/b547032297c7e63ba2af494edba695d781af8a0c6e89e4d06cf848b21d80/multidict-6.6.4-py3-none-any.whl" + "hash": "394fc5c42a333c9ffc3e421a4c85e08580d990e08b99f6bf35b4132114c5dcb3", + "url": "https://files.pythonhosted.org/packages/b7/da/7d22601b625e241d4f23ef1ebff8acfc60da633c9e7e7922e24d10f592b3/multidict-6.7.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "7dd57515bebffd8ebd714d101d4c434063322e4fe24042e90ced41f18b6d3395", - "url": "https://files.pythonhosted.org/packages/00/44/3faa416f89b2d5d76e9d447296a81521e1c832ad6e40b92f990697b43192/multidict-6.6.4-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" + "hash": "716133f7d1d946a4e1b91b1756b23c088881e70ff180c24e864c26192ad7534a", + "url": "https://files.pythonhosted.org/packages/00/a3/67f18315100f64c269f46e6c0319fa87ba68f0f64f2b8e7fd7c72b913a0b/multidict-6.7.0-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" }, { "algorithm": "sha256", - "hash": "967af5f238ebc2eb1da4e77af5492219fbd9b4b812347da39a7b5f5c72c0fa45", - "url": "https://files.pythonhosted.org/packages/05/5f/77c03b89af0fcb16f018f668207768191fb9dcfb5e3361a5e706a11db2c9/multidict-6.6.4-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" + "hash": "31bae522710064b5cbeddaf2e9f32b1abab70ac6ac91d42572502299e9953128", + "url": "https://files.pythonhosted.org/packages/02/68/6b086fef8a3f1a8541b9236c594f0c9245617c29841f2e0395d979485cde/multidict-6.7.0-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl" }, { "algorithm": "sha256", - "hash": "dadf95aa862714ea468a49ad1e09fe00fcc9ec67d122f6596a8d40caf6cec7d0", - "url": "https://files.pythonhosted.org/packages/06/78/6b7c0f020f9aa0acf66d0ab4eb9f08375bac9a50ff5e3edb1c4ccd59eafc/multidict-6.6.4-cp313-cp313t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl" + "hash": "7a0222514e8e4c514660e182d5156a415c13ef0aabbd71682fc714e327b95e99", + "url": "https://files.pythonhosted.org/packages/02/a5/eeb3f43ab45878f1895118c3ef157a480db58ede3f248e29b5354139c2c9/multidict-6.7.0-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl" }, { "algorithm": "sha256", - "hash": "467fe64138cfac771f0e949b938c2e1ada2b5af22f39692aa9258715e9ea613a", - "url": "https://files.pythonhosted.org/packages/13/b5/29ec78057d377b195ac2c5248c773703a6b602e132a763e20ec0457e7440/multidict-6.6.4-cp313-cp313-musllinux_1_2_x86_64.whl" + "hash": "a6ef16328011d3f468e7ebc326f24c1445f001ca1dec335b2f8e66bed3006394", + "url": "https://files.pythonhosted.org/packages/09/86/ac39399e5cb9d0c2ac8ef6e10a768e4d3bc933ac808d49c41f9dc23337eb/multidict-6.7.0-cp314-cp314t-musllinux_1_2_i686.whl" }, { "algorithm": "sha256", - "hash": "024ce601f92d780ca1617ad4be5ac15b501cc2414970ffa2bb2bbc2bd5a68fa5", - "url": "https://files.pythonhosted.org/packages/17/38/58b27fed927c07035abc02befacab42491e7388ca105e087e6e0215ead64/multidict-6.6.4-cp313-cp313-musllinux_1_2_aarch64.whl" + "hash": "27e0b36c2d388dc7b6ced3406671b401e84ad7eb0656b8f3a2f46ed0ce483718", + "url": "https://files.pythonhosted.org/packages/13/8a/18e031eca251c8df76daf0288e6790561806e439f5ce99a170b4af30676b/multidict-6.7.0-cp314-cp314t-macosx_10_13_x86_64.whl" }, { "algorithm": "sha256", - "hash": "7f683a551e92bdb7fac545b9c6f9fa2aebdeefa61d607510b3533286fcab67f5", - "url": "https://files.pythonhosted.org/packages/1f/b5/e0571bc13cda277db7e6e8a532791d4403dacc9850006cb66d2556e649c0/multidict-6.6.4-cp313-cp313t-musllinux_1_2_aarch64.whl" + "hash": "b8512bac933afc3e45fb2b18da8e59b78d4f408399a960339598374d4ae3b56b", + "url": "https://files.pythonhosted.org/packages/14/2c/f069cab5b51d175a1a2cb4ccdf7a2c2dabd58aa5bd933fa036a8d15e2404/multidict-6.7.0-cp314-cp314-macosx_10_13_x86_64.whl" }, { "algorithm": "sha256", - "hash": "0e0558693063c75f3d952abf645c78f3c5dfdd825a41d8c4d8156fc0b0da6e7e", - "url": "https://files.pythonhosted.org/packages/25/1a/be8e369dfcd260d2070a67e65dd3990dd635cbd735b98da31e00ea84cd4e/multidict-6.6.4-cp313-cp313t-macosx_10_13_x86_64.whl" + "hash": "4a0df7ff02397bb63e2fd22af2c87dfa39e8c7f12947bc524dbdc528282c7e34", + "url": "https://files.pythonhosted.org/packages/15/ee/f524093232007cd7a75c1d132df70f235cfd590a7c9eaccd7ff422ef4ae8/multidict-6.7.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" }, { "algorithm": "sha256", - "hash": "3f8e2384cb83ebd23fd07e9eada8ba64afc4c759cd94817433ab8c81ee4b403f", - "url": "https://files.pythonhosted.org/packages/26/5a/dd4ade298674b2f9a7b06a32c94ffbc0497354df8285f27317c66433ce3b/multidict-6.6.4-cp313-cp313t-macosx_11_0_arm64.whl" + "hash": "171b73bd4ee683d307599b66793ac80981b06f069b62eea1c9e29c9241aa66b0", + "url": "https://files.pythonhosted.org/packages/16/9d/a2dac7009125d3540c2f54e194829ea18ac53716c61b655d8ed300120b0f/multidict-6.7.0-cp314-cp314t-musllinux_1_2_x86_64.whl" }, { "algorithm": "sha256", - "hash": "a506a77ddee1efcca81ecbeae27ade3e09cdf21a8ae854d766c2bb4f14053f92", - "url": "https://files.pythonhosted.org/packages/37/3d/7b1e10d774a6df5175ecd3c92bff069e77bed9ec2a927fdd4ff5fe182f67/multidict-6.6.4-cp313-cp313t-musllinux_1_2_x86_64.whl" + "hash": "05047ada7a2fde2631a0ed706f1fd68b169a681dfe5e4cf0f8e4cb6618bbc2cd", + "url": "https://files.pythonhosted.org/packages/1e/39/6566210c83f8a261575f18e7144736059f0c460b362e96e9cf797a24b8e7/multidict-6.7.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "37b7187197da6af3ee0b044dbc9625afd0c885f2800815b228a0e70f9a7f473d", - "url": "https://files.pythonhosted.org/packages/38/ea/6c98add069b4878c1d66428a5f5149ddb6d32b1f9836a826ac764b9940be/multidict-6.6.4-cp313-cp313t-musllinux_1_2_ppc64le.whl" + "hash": "9fe04da3f79387f450fd0061d4dd2e45a72749d31bf634aecc9e27f24fdc4b3f", + "url": "https://files.pythonhosted.org/packages/1e/cc/48d02ac22b30fa247f7dad82866e4b1015431092f4ba6ebc7e77596e0b18/multidict-6.7.0-cp314-cp314-musllinux_1_2_x86_64.whl" }, { "algorithm": "sha256", - "hash": "e1b93790ed0bc26feb72e2f08299691ceb6da5e9e14a0d13cc74f1869af327a0", - "url": "https://files.pythonhosted.org/packages/3a/09/8fe02d204473e14c0af3affd50af9078839dfca1742f025cca765435d6b4/multidict-6.6.4-cp313-cp313t-musllinux_1_2_s390x.whl" + "hash": "28b37063541b897fd6a318007373930a75ca6d6ac7c940dbe14731ffdd8d498e", + "url": "https://files.pythonhosted.org/packages/23/b4/38881a960458f25b89e9f4a4fdcb02ac101cfa710190db6e5528841e67de/multidict-6.7.0-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl" }, { "algorithm": "sha256", - "hash": "f46a6e8597f9bd71b31cc708195d42b634c8527fecbcf93febf1052cacc1f16e", - "url": "https://files.pythonhosted.org/packages/3a/5d/e1db626f64f60008320aab00fbe4f23fc3300d75892a3381275b3d284580/multidict-6.6.4-cp313-cp313-macosx_10_13_universal2.whl" + "hash": "e011555abada53f1578d63389610ac8a5400fc70ce71156b0aa30d326f1a5064", + "url": "https://files.pythonhosted.org/packages/2a/5f/8de95f629fc22a7769ade8b41028e3e5a822c1f8904f618d175945a81ad3/multidict-6.7.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" }, { "algorithm": "sha256", - "hash": "22e38b2bc176c5eb9c0a0e379f9d188ae4cd8b28c0f53b52bce7ab0a9e534657", - "url": "https://files.pythonhosted.org/packages/4c/aa/8b6f548d839b6c13887253af4e29c939af22a18591bfb5d0ee6f1931dae8/multidict-6.6.4-cp313-cp313-macosx_10_13_x86_64.whl" + "hash": "5aa873cbc8e593d361ae65c68f85faadd755c3295ea2c12040ee146802f23b38", + "url": "https://files.pythonhosted.org/packages/3d/b6/fed5ac6b8563ec72df6cb1ea8dac6d17f0a4a1f65045f66b6d3bf1497c02/multidict-6.7.0-cp314-cp314t-musllinux_1_2_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "6c84378acd4f37d1b507dfa0d459b449e2321b3ba5f2338f9b085cf7a7ba95eb", - "url": "https://files.pythonhosted.org/packages/64/94/0a8e63e36c049b571c9ae41ee301ada29c3fee9643d9c2548d7d558a1d99/multidict-6.6.4-cp313-cp313t-macosx_10_13_universal2.whl" + "hash": "2a7baa46a22e77f0988e3b23d4ede5513ebec1929e34ee9495be535662c0dfe2", + "url": "https://files.pythonhosted.org/packages/40/71/5e6701277470a87d234e433fb0a3a7deaf3bcd92566e421e7ae9776319de/multidict-6.7.0-cp314-cp314t-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "d2d4e4787672911b48350df02ed3fa3fffdc2f2e8ca06dd6afdf34189b76a9dd", - "url": "https://files.pythonhosted.org/packages/69/7f/0652e6ed47ab288e3756ea9c0df8b14950781184d4bd7883f4d87dd41245/multidict-6.6.4.tar.gz" + "hash": "79dcf9e477bc65414ebfea98ffd013cb39552b5ecd62908752e0e413d6d06e38", + "url": "https://files.pythonhosted.org/packages/42/e2/64bb41266427af6642b6b128e8774ed84c11b80a90702c13ac0a86bb10cc/multidict-6.7.0-cp314-cp314-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "497a2954adc25c08daff36f795077f63ad33e13f19bfff7736e72c785391534f", - "url": "https://files.pythonhosted.org/packages/80/e5/5e22c5bf96a64bdd43518b1834c6d95a4922cc2066b7d8e467dae9b6cee6/multidict-6.6.4-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" + "hash": "08d4379f9744d8f78d98c8673c06e202ffa88296f009c71bbafe8a6bf847d01f", + "url": "https://files.pythonhosted.org/packages/49/6d/23faeb0868adba613b817d0e69c5f15531b24d462af8012c4f6de4fa8dc3/multidict-6.7.0-cp314-cp314-musllinux_1_2_s390x.whl" }, { "algorithm": "sha256", - "hash": "f996b87b420995a9174b2a7c1a8daf7db4750be6848b03eb5e639674f7963773", - "url": "https://files.pythonhosted.org/packages/89/db/98aa28bc7e071bfba611ac2ae803c24e96dd3a452b4118c587d3d872c64c/multidict-6.6.4-cp313-cp313t-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl" + "hash": "44b546bd3eb645fd26fb949e43c02a25a2e632e2ca21a35e2e132c8105dc8599", + "url": "https://files.pythonhosted.org/packages/65/92/bc1f8bd0853d8669300f732c801974dfc3702c3eeadae2f60cef54dc69d7/multidict-6.7.0-cp314-cp314t-musllinux_1_2_armv7l.whl" }, { "algorithm": "sha256", - "hash": "580b643b7fd2c295d83cad90d78419081f53fd532d1f1eb67ceb7060f61cff0d", - "url": "https://files.pythonhosted.org/packages/a9/9d/28802e8f9121a6a0804fa009debf4e753d0a59969ea9f70be5f5fdfcb18f/multidict-6.6.4-cp313-cp313t-musllinux_1_2_i686.whl" + "hash": "2397ab4daaf2698eb51a76721e98db21ce4f52339e535725de03ea962b5a3202", + "url": "https://files.pythonhosted.org/packages/6a/1e/76d02f8270b97269d7e3dbd45644b1785bda457b474315f8cf999525a193/multidict-6.7.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "87a32d20759dc52a9e850fe1061b6e41ab28e2998d44168a8a341b99ded1dba0", - "url": "https://files.pythonhosted.org/packages/ad/86/90e20b5771d6805a119e483fd3d1e8393e745a11511aebca41f0da38c3e2/multidict-6.6.4-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl" + "hash": "3d7b6ccce016e29df4b7ca819659f516f0bc7a4b3efa3bb2012ba06431b044f9", + "url": "https://files.pythonhosted.org/packages/6b/8d/b954d8c0dc132b68f760aefd45870978deec6818897389dace00fcde32ff/multidict-6.7.0-cp314-cp314t-musllinux_1_2_s390x.whl" }, { "algorithm": "sha256", - "hash": "190766dac95aab54cae5b152a56520fd99298f32a1266d66d27fdd1b5ac00f4e", - "url": "https://files.pythonhosted.org/packages/b8/1a/ac2216b61c7f116edab6dc3378cca6c70dc019c9a457ff0d754067c58b20/multidict-6.6.4-cp313-cp313-musllinux_1_2_i686.whl" + "hash": "8891681594162635948a636c9fe0ff21746aeb3dd5463f6e25d9bea3a8a39ca1", + "url": "https://files.pythonhosted.org/packages/76/0b/c28a70ecb58963847c2a8efe334904cd254812b10e535aefb3bcce513918/multidict-6.7.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" }, { "algorithm": "sha256", - "hash": "ad8850921d3a8d8ff6fbef790e773cecfc260bbfa0566998980d3fa8f520bc4a", - "url": "https://files.pythonhosted.org/packages/bf/b4/aa4c5c379b11895083d50021e229e90c408d7d875471cb3abf721e4670d6/multidict-6.6.4-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" + "hash": "c6e99d9a65ca282e578dfea819cfa9c0a62b2499d8677392e09feaf305e9e6f5", + "url": "https://files.pythonhosted.org/packages/80/1e/5492c365f222f907de1039b91f922b93fa4f764c713ee858d235495d8f50/multidict-6.7.0.tar.gz" }, { "algorithm": "sha256", - "hash": "ae9408439537c5afdca05edd128a63f56a62680f4b3c234301055d7a2000220f", - "url": "https://files.pythonhosted.org/packages/c4/1c/8a10c1c25b23156e63b12165a929d8eb49a6ed769fdbefb06e6f07c1e50d/multidict-6.6.4-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" + "hash": "c1dcc7524066fa918c6a27d61444d4ee7900ec635779058571f70d042d86ed63", + "url": "https://files.pythonhosted.org/packages/8b/40/cd499bd0dbc5f1136726db3153042a735fffd0d77268e2ee20d5f33c010f/multidict-6.7.0-cp314-cp314t-macosx_10_13_universal2.whl" }, { "algorithm": "sha256", - "hash": "59e8d40ab1f5a8597abcef00d04845155a5693b5da00d2c93dbe88f2050f2812", - "url": "https://files.pythonhosted.org/packages/c5/65/d1f84fe08ac44a5fc7391cbc20a7cedc433ea616b266284413fd86062f8c/multidict-6.6.4-cp313-cp313-musllinux_1_2_s390x.whl" + "hash": "b6234e14f9314731ec45c42fc4554b88133ad53a09092cc48a88e771c125dadb", + "url": "https://files.pythonhosted.org/packages/8d/01/476d38fc73a212843f43c852b0eee266b6971f0e28329c2184a8df90c376/multidict-6.7.0-cp314-cp314-musllinux_1_2_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "cc356250cffd6e78416cf5b40dc6a74f1edf3be8e834cf8862d9ed5265cf9b0e", - "url": "https://files.pythonhosted.org/packages/c7/bc/01ddda2a73dd9d167bd85d0e8ef4293836a8f82b786c63fb1a429bc3e678/multidict-6.6.4-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" + "hash": "f844a1bbf1d207dd311a56f383f7eda2d0e134921d45751842d8235e7778965d", + "url": "https://files.pythonhosted.org/packages/93/cd/06c1fa8282af1d1c46fd55c10a7930af652afdce43999501d4d68664170c/multidict-6.7.0-cp314-cp314-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "2a4c6875c37aae9794308ec43e3530e4aa0d36579ce38d89979bbf89582002bb", - "url": "https://files.pythonhosted.org/packages/cf/e9/ed750a2a9afb4f8dc6f13dc5b67b514832101b95714f1211cd42e0aafc26/multidict-6.6.4-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" + "hash": "d4393e3581e84e5645506923816b9cc81f5609a778c7e7534054091acc64d1c6", + "url": "https://files.pythonhosted.org/packages/99/ac/82cb419dd6b04ccf9e7e61befc00c77614fc8134362488b553402ecd55ce/multidict-6.7.0-cp314-cp314-musllinux_1_2_armv7l.whl" }, { "algorithm": "sha256", - "hash": "a693fc5ed9bdd1c9e898013e0da4dcc640de7963a371c0bd458e50e046bf6438", - "url": "https://files.pythonhosted.org/packages/d0/a1/dad75d23a90c29c02b5d6f3d7c10ab36c3197613be5d07ec49c7791e186c/multidict-6.6.4-cp313-cp313-musllinux_1_2_armv7l.whl" + "hash": "18706cc31dbf402a7945916dd5cddf160251b6dab8a2c5f3d6d5a55949f676b3", + "url": "https://files.pythonhosted.org/packages/b4/63/2ab26e4209773223159b83aa32721b4021ffb08102f8ac7d689c943fded1/multidict-6.7.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" }, { "algorithm": "sha256", - "hash": "34d8f2a5ffdceab9dcd97c7a016deb2308531d5f0fced2bb0c9e1df45b3363d7", - "url": "https://files.pythonhosted.org/packages/d4/79/1916af833b800d13883e452e8e0977c065c4ee3ab7a26941fbfdebc11895/multidict-6.6.4-cp313-cp313-musllinux_1_2_ppc64le.whl" + "hash": "d1bed1b467ef657f2a0ae62844a607909ef1c6889562de5e1d505f74457d0b96", + "url": "https://files.pythonhosted.org/packages/c8/2a/1cb77266afee2458d82f50da41beba02159b1d6b1f7973afc9a1cad1499b/multidict-6.7.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" }, { "algorithm": "sha256", - "hash": "49517449b58d043023720aa58e62b2f74ce9b28f740a0b5d33971149553d72aa", - "url": "https://files.pythonhosted.org/packages/dc/31/d54eb0c62516776f36fe67f84a732f97e0b0e12f98d5685bebcc6d396910/multidict-6.6.4-cp313-cp313-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl" + "hash": "ca43bdfa5d37bd6aee89d85e1d0831fb86e25541be7e9d376ead1b28974f8e5e", + "url": "https://files.pythonhosted.org/packages/dd/72/09fa7dd487f119b2eb9524946ddd36e2067c08510576d43ff68469563b3b/multidict-6.7.0-cp314-cp314t-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "52e3c8d43cdfff587ceedce9deb25e6ae77daba560b626e97a56ddcad3756879", - "url": "https://files.pythonhosted.org/packages/e7/49/484d3e6b535bc0555b52a0a26ba86e4d8d03fd5587d4936dc59ba7583221/multidict-6.6.4-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" + "hash": "3bab1e4aff7adaa34410f93b1f8e57c4b36b9af0426a76003f441ee1d3c7e842", + "url": "https://files.pythonhosted.org/packages/e2/b1/3da6934455dd4b261d4c72f897e3a5728eba81db59959f3a639245891baa/multidict-6.7.0-cp314-cp314-macosx_10_13_universal2.whl" }, { "algorithm": "sha256", - "hash": "5df8afd26f162da59e218ac0eefaa01b01b2e6cd606cffa46608f699539246da", - "url": "https://files.pythonhosted.org/packages/eb/c6/f5e97e5d99a729bc2aa58eb3ebfa9f1e56a9b517cc38c60537c81834a73f/multidict-6.6.4-cp313-cp313-macosx_11_0_arm64.whl" + "hash": "fbd18dc82d7bf274b37aa48d664534330af744e03bccf696d6f4c6042e7d19e7", + "url": "https://files.pythonhosted.org/packages/fa/f3/a0f9bf09493421bd8716a362e0cd1d244f5a6550f5beffdd6b47e885b331/multidict-6.7.0-cp314-cp314-musllinux_1_2_i686.whl" }, { "algorithm": "sha256", - "hash": "3ba5aaf600edaf2a868a391779f7a85d93bed147854925f34edd24cc70a3e141", - "url": "https://files.pythonhosted.org/packages/f3/a3/69a84b0eccb9824491f06368f5b86e72e4af54c3067c37c39099b6687109/multidict-6.6.4-cp313-cp313t-musllinux_1_2_armv7l.whl" + "hash": "7bf77f54997a9166a2f5675d1201520586439424c2511723a7312bdb4bcc034e", + "url": "https://files.pythonhosted.org/packages/fe/6a/bab00cbab6d9cfb57afe1663318f72ec28289ea03fd4e8236bb78429893a/multidict-6.7.0-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl" } ], "project_name": "multidict", @@ -733,7 +768,7 @@ "typing-extensions>=4.1.0; python_version < \"3.11\"" ], "requires_python": ">=3.9", - "version": "6.6.4" + "version": "6.7.0" }, { "artifacts": [ @@ -781,159 +816,139 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "98f1ec44fb675f5052cccc8e609c46ed23a35a1cfd18545ad4e29002d858a43f", - "url": "https://files.pythonhosted.org/packages/cc/35/cc0aaecf278bb4575b8555f2b137de5ab821595ddae9da9d3cd1da4072c7/propcache-0.3.2-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "8cabf5b5902272565e78197edb682017d21cf3b550ba0460ee473753f28d23c1", - "url": "https://files.pythonhosted.org/packages/09/73/88549128bb89e66d2aff242488f62869014ae092db63ccea53c1cc75a81d/propcache-0.3.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" + "hash": "af2a6052aeb6cf17d3e46ee169099044fd8224cbaf75c76a2ef596e8163e2237", + "url": "https://files.pythonhosted.org/packages/5b/5a/bc7b4a4ef808fa59a816c17b20c4bef6884daebbdf627ff2a161da67da19/propcache-0.4.1-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "156c03d07dc1323d8dacaa221fbe028c5c70d16709cdd63502778e6c3ccca1b0", - "url": "https://files.pythonhosted.org/packages/0c/da/64a2bb16418740fa634b0e9c3d29edff1db07f56d3546ca2d86ddf0305e1/propcache-0.3.2-cp313-cp313t-macosx_10_13_x86_64.whl" + "hash": "6f6ff873ed40292cd4969ef5310179afd5db59fdf055897e282485043fc80ad0", + "url": "https://files.pythonhosted.org/packages/01/20/b0972d902472da9bcb683fa595099911f4d2e86e5683bcc45de60dd05dc3/propcache-0.4.1-cp314-cp314t-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "92b69e12e34869a6970fd2f3da91669899994b47c98f5d430b781c26f1d9f387", - "url": "https://files.pythonhosted.org/packages/0f/ca/2f4aa819c357d3107c3763d7ef42c03980f9ed5c48c82e01e25945d437c1/propcache-0.3.2-cp313-cp313-musllinux_1_2_armv7l.whl" + "hash": "8e57061305815dfc910a3634dcf584f08168a8836e6999983569f51a8544cd89", + "url": "https://files.pythonhosted.org/packages/0c/b1/8f08a143b204b418285c88b83d00edbd61afbc2c6415ffafc8905da7038b/propcache-0.4.1-cp314-cp314t-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "fad3b2a085ec259ad2c2842666b2a0a49dea8463579c606426128925af1ed725", - "url": "https://files.pythonhosted.org/packages/2b/00/a10afce3d1ed0287cef2e09506d3be9822513f2c1e96457ee369adb9a6cd/propcache-0.3.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + "hash": "120c964da3fdc75e3731aa392527136d4ad35868cc556fd09bb6d09172d9a367", + "url": "https://files.pythonhosted.org/packages/18/ed/e7a9cfca28133386ba52278136d42209d3125db08d0a6395f0cba0c0285c/propcache-0.4.1-cp314-cp314t-musllinux_1_2_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "261fa020c1c14deafd54c76b014956e2f86991af198c51139faf41c4d5e83892", - "url": "https://files.pythonhosted.org/packages/2e/a8/2aa6716ffa566ca57c749edb909ad27884680887d68517e4be41b02299f3/propcache-0.3.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" + "hash": "005f08e6a0529984491e37d8dbc3dd86f84bd78a8ceb5fa9a021f4c48d4984be", + "url": "https://files.pythonhosted.org/packages/20/67/89800c8352489b21a8047c773067644e3897f02ecbbd610f4d46b7f08612/propcache-0.4.1-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "4445542398bd0b5d32df908031cb1b30d43ac848e20470a878b770ec2dcc6330", - "url": "https://files.pythonhosted.org/packages/35/91/9cb56efbb428b006bb85db28591e40b7736847b8331d43fe335acf95f6c8/propcache-0.3.2-cp313-cp313t-musllinux_1_2_x86_64.whl" + "hash": "060b16ae65bc098da7f6d25bf359f1f31f688384858204fe5d652979e0015e5b", + "url": "https://files.pythonhosted.org/packages/27/73/033d63069b57b0812c8bd19f311faebeceb6ba31b8f32b73432d12a0b826/propcache-0.4.1-cp314-cp314-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "46d7f8aa79c927e5f987ee3a80205c987717d3659f035c85cf0c3680526bdb44", - "url": "https://files.pythonhosted.org/packages/36/4f/345ca9183b85ac29c8694b0941f7484bf419c7f0fea2d1e386b4f7893eed/propcache-0.3.2-cp313-cp313t-musllinux_1_2_aarch64.whl" + "hash": "4c3c70630930447f9ef1caac7728c8ad1c56bc5015338b20fed0d08ea2480b3a", + "url": "https://files.pythonhosted.org/packages/48/c8/33cee30bd890672c63743049f3c9e4be087e6780906bfc3ec58528be59c1/propcache-0.4.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" }, { "algorithm": "sha256", - "hash": "74413c0ba02ba86f55cf60d18daab219f7e531620c15f1e23d95563f505efe7e", - "url": "https://files.pythonhosted.org/packages/36/7b/f025e06ea51cb72c52fb87e9b395cced02786610b60a3ed51da8af017170/propcache-0.3.2-cp313-cp313t-macosx_11_0_arm64.whl" + "hash": "c0d4b719b7da33599dfe3b22d3db1ef789210a0597bc650b7cee9c77c2be8c5c", + "url": "https://files.pythonhosted.org/packages/65/9b/03b04e7d82a5f54fb16113d839f5ea1ede58a61e90edf515f6577c66fa8f/propcache-0.4.1-cp314-cp314-macosx_10_13_x86_64.whl" }, { "algorithm": "sha256", - "hash": "8a544caaae1ac73f1fecfae70ded3e93728831affebd017d53449e3ac052ac1e", - "url": "https://files.pythonhosted.org/packages/3a/38/2085cda93d2c8b6ec3e92af2c89489a36a5886b712a34ab25de9fbca7992/propcache-0.3.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" + "hash": "55c72fd6ea2da4c318e74ffdf93c4fe4e926051133657459131a95c846d16d44", + "url": "https://files.pythonhosted.org/packages/80/1e/e5889652a7c4a3846683401a48f0f2e5083ce0ec1a8a5221d8058fbd1adf/propcache-0.4.1-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" }, { "algorithm": "sha256", - "hash": "6d8f3f0eebf73e3c0ff0e7853f68be638b4043c65a70517bb575eff54edd8dbe", - "url": "https://files.pythonhosted.org/packages/3e/ca/fcd54f78b59e3f97b3b9715501e3147f5340167733d27db423aa321e7148/propcache-0.3.2-cp313-cp313t-musllinux_1_2_armv7l.whl" + "hash": "c80ee5802e3fb9ea37938e7eecc307fb984837091d5fd262bb37238b1ae97641", + "url": "https://files.pythonhosted.org/packages/86/bd/47816020d337f4a746edc42fe8d53669965138f39ee117414c7d7a340cfe/propcache-0.4.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" }, { "algorithm": "sha256", - "hash": "d1a342c834734edb4be5ecb1e9fb48cb64b1e2320fccbd8c54bf8da8f2a84c33", - "url": "https://files.pythonhosted.org/packages/5b/ad/3f0f9a705fb630d175146cd7b1d2bf5555c9beaed54e94132b21aac098a6/propcache-0.3.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + "hash": "3f7124c9d820ba5548d431afb4632301acf965db49e666aa21c305cbe8c6de12", + "url": "https://files.pythonhosted.org/packages/8e/5c/bca52d654a896f831b8256683457ceddd490ec18d9ec50e97dfd8fc726a8/propcache-0.4.1-cp314-cp314-macosx_10_13_universal2.whl" }, { "algorithm": "sha256", - "hash": "9ecb0aad4020e275652ba3975740f241bd12a61f1a784df044cf7477a02bc252", - "url": "https://files.pythonhosted.org/packages/61/99/d606cb7986b60d89c36de8a85d58764323b3a5ff07770a99d8e993b3fa73/propcache-0.3.2-cp313-cp313-macosx_10_13_x86_64.whl" + "hash": "c2b5e7db5328427c57c8e8831abda175421b709672f6cfc3d630c3b7e2146393", + "url": "https://files.pythonhosted.org/packages/90/85/2431c10c8e7ddb1445c1f7c4b54d886e8ad20e3c6307e7218f05922cad67/propcache-0.4.1-cp314-cp314t-macosx_10_13_x86_64.whl" }, { "algorithm": "sha256", - "hash": "310d11aa44635298397db47a3ebce7db99a4cc4b9bbdfcf6c98a60c8d5261cf1", - "url": "https://files.pythonhosted.org/packages/61/c1/d72ea2dc83ac7f2c8e182786ab0fc2c7bd123a1ff9b7975bee671866fe5f/propcache-0.3.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl" + "hash": "824e908bce90fb2743bd6b59db36eb4f45cd350a39637c9f73b1c1ea66f5b75f", + "url": "https://files.pythonhosted.org/packages/99/85/9ff785d787ccf9bbb3f3106f79884a130951436f58392000231b4c737c80/propcache-0.4.1-cp314-cp314t-macosx_10_13_universal2.whl" }, { "algorithm": "sha256", - "hash": "f1304b085c83067914721e7e9d9917d41ad87696bf70f0bc7dee450e9c71ad0a", - "url": "https://files.pythonhosted.org/packages/74/ab/935beb6f1756e0476a4d5938ff44bf0d13a055fed880caf93859b4f1baf4/propcache-0.3.2-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" + "hash": "f48107a8c637e80362555f37ecf49abe20370e557cc4ab374f04ec4423c97c3d", + "url": "https://files.pythonhosted.org/packages/9e/da/e9fc233cf63743258bff22b3dfa7ea5baef7b5bc324af47a0ad89b8ffc6f/propcache-0.4.1.tar.gz" }, { "algorithm": "sha256", - "hash": "4adfb44cb588001f68c5466579d3f1157ca07f7504fc91ec87862e2b8e556b88", - "url": "https://files.pythonhosted.org/packages/7c/54/fc7152e517cf5578278b242396ce4d4b36795423988ef39bb8cd5bf274c8/propcache-0.3.2-cp313-cp313-musllinux_1_2_ppc64le.whl" + "hash": "c9b822a577f560fbd9554812526831712c1436d2c046cedee4c3796d3543b144", + "url": "https://files.pythonhosted.org/packages/a0/87/492694f76759b15f0467a2a93ab68d32859672b646aa8a04ce4864e7932d/propcache-0.4.1-cp314-cp314-musllinux_1_2_x86_64.whl" }, { "algorithm": "sha256", - "hash": "03c89c1b14a5452cf15403e291c0ccd7751d5b9736ecb2c5bab977ad6c5bcd81", - "url": "https://files.pythonhosted.org/packages/8b/95/8e6a6bbbd78ac89c30c225210a5c687790e532ba4088afb8c0445b77ef37/propcache-0.3.2-cp313-cp313t-musllinux_1_2_i686.whl" + "hash": "dee69d7015dc235f526fe80a9c90d65eb0039103fe565776250881731f06349f", + "url": "https://files.pythonhosted.org/packages/a9/24/ef0d5fd1a811fb5c609278d0209c9f10c35f20581fcc16f818da959fc5b4/propcache-0.4.1-cp314-cp314-musllinux_1_2_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "7f08f1cc28bd2eade7a8a3d2954ccc673bb02062e3e7da09bc75d843386b342f", - "url": "https://files.pythonhosted.org/packages/8c/96/ef98f91bbb42b79e9bb82bdd348b255eb9d65f14dbbe3b1594644c4073f7/propcache-0.3.2-cp313-cp313-macosx_11_0_arm64.whl" + "hash": "8326e144341460402713f91df60ade3c999d601e7eb5ff8f6f7862d54de0610d", + "url": "https://files.pythonhosted.org/packages/b2/f2/889ad4b2408f72fe1a4f6a19491177b30ea7bf1a0fd5f17050ca08cfc882/propcache-0.4.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" }, { "algorithm": "sha256", - "hash": "f066b437bb3fa39c58ff97ab2ca351db465157d68ed0440abecb21715eb24b28", - "url": "https://files.pythonhosted.org/packages/a4/00/faa1b1b7c3b74fc277f8642f32a4c72ba1d7b2de36d7cdfb676db7f4303e/propcache-0.3.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + "hash": "9f302f4783709a78240ebc311b793f123328716a60911d667e0c036bc5dcbded", + "url": "https://files.pythonhosted.org/packages/b2/fa/89a8ef0468d5833a23fff277b143d0573897cf75bd56670a6d28126c7d68/propcache-0.4.1-cp314-cp314-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "9a3cf035bbaf035f109987d9d55dc90e4b0e36e04bbbb95af3055ef17194057b", - "url": "https://files.pythonhosted.org/packages/a4/3a/6ece377b55544941a08d03581c7bc400a3c8cd3c2865900a68d5de79e21f/propcache-0.3.2-cp313-cp313t-macosx_10_13_universal2.whl" + "hash": "521a463429ef54143092c11a77e04056dd00636f72e8c45b70aaa3140d639726", + "url": "https://files.pythonhosted.org/packages/cf/12/96e4664c82ca2f31e1c8dff86afb867348979eb78d3cb8546a680287a1e9/propcache-0.4.1-cp314-cp314t-musllinux_1_2_armv7l.whl" }, { "algorithm": "sha256", - "hash": "20d7d62e4e7ef05f221e0db2856b979540686342e7dd9973b815599c7057e168", - "url": "https://files.pythonhosted.org/packages/a6/16/43264e4a779dd8588c21a70f0709665ee8f611211bdd2c87d952cfa7c776/propcache-0.3.2.tar.gz" + "hash": "89eb3fa9524f7bec9de6e83cf3faed9d79bffa560672c118a96a171a6f55831e", + "url": "https://files.pythonhosted.org/packages/dc/89/ce24f3dc182630b4e07aa6d15f0ff4b14ed4b9955fae95a0b54c58d66c05/propcache-0.4.1-cp314-cp314-musllinux_1_2_armv7l.whl" }, { "algorithm": "sha256", - "hash": "4c1396592321ac83157ac03a2023aa6cc4a3cc3cfdecb71090054c09e5a7cce3", - "url": "https://files.pythonhosted.org/packages/af/81/b324c44ae60c56ef12007105f1460d5c304b0626ab0cc6b07c8f2a9aa0b8/propcache-0.3.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + "hash": "ed5a841e8bb29a55fb8159ed526b26adc5bdd7e8bd7bf793ce647cb08656cdf4", + "url": "https://files.pythonhosted.org/packages/df/f6/c5fa1357cc9748510ee55f37173eb31bfde6d94e98ccd9e6f033f2fc06e1/propcache-0.4.1-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "4c181cad81158d71c41a2bce88edce078458e2dd5ffee7eddd6b05da85079f43", - "url": "https://files.pythonhosted.org/packages/b3/db/ea12a49aa7b2b6d68a5da8293dcf50068d48d088100ac016ad92a6a780e6/propcache-0.3.2-cp313-cp313-musllinux_1_2_x86_64.whl" + "hash": "5c3310452e0d31390da9035c348633b43d7e7feb2e37be252be6da45abd1abcc", + "url": "https://files.pythonhosted.org/packages/e2/a1/b52b055c766a54ce6d9c16d9aca0cad8059acd9637cdf8aa0222f4a026ef/propcache-0.4.1-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" }, { "algorithm": "sha256", - "hash": "0a2f2235ac46a7aa25bdeb03a9e7060f6ecbd213b1f9101c43b3090ffb971ef6", - "url": "https://files.pythonhosted.org/packages/b9/3f/3bdd14e737d145114a5eb83cb172903afba7242f67c5877f9909a20d948d/propcache-0.3.2-cp313-cp313-musllinux_1_2_aarch64.whl" + "hash": "49a2dc67c154db2c1463013594c458881a069fcf98940e61a0569016a583020a", + "url": "https://files.pythonhosted.org/packages/e2/e3/7dc89f4f21e8f99bad3d5ddb3a3389afcf9da4ac69e3deb2dcdc96e74169/propcache-0.4.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" }, { "algorithm": "sha256", - "hash": "fd3e6019dc1261cd0291ee8919dd91fbab7b169bb76aeef6c716833a3f65d206", - "url": "https://files.pythonhosted.org/packages/b9/80/abeb4a896d2767bf5f1ea7b92eb7be6a5330645bd7fb844049c0e4045d9d/propcache-0.3.2-cp313-cp313-musllinux_1_2_s390x.whl" + "hash": "ab2943be7c652f09638800905ee1bab2c544e537edb57d527997a24c13dc1455", + "url": "https://files.pythonhosted.org/packages/e7/70/c99e9edb5d91d5ad8a49fa3c1e8285ba64f1476782fed10ab251ff413ba1/propcache-0.4.1-cp314-cp314t-musllinux_1_2_x86_64.whl" }, { "algorithm": "sha256", - "hash": "acdf05d00696bc0447e278bb53cb04ca72354e562cf88ea6f9107df8e7fd9770", - "url": "https://files.pythonhosted.org/packages/c5/98/2c12407a7e4fbacd94ddd32f3b1e3d5231e77c30ef7162b12a60e2dd5ce3/propcache-0.3.2-cp313-cp313t-musllinux_1_2_s390x.whl" + "hash": "5558992a00dfd54ccbc64a32726a3357ec93825a418a401f5cc67df0ac5d9e49", + "url": "https://files.pythonhosted.org/packages/f5/02/98ec20ff5546f68d673df2f7a69e8c0d076b5abd05ca882dc7ee3a83653d/propcache-0.4.1-cp314-cp314-musllinux_1_2_s390x.whl" }, { "algorithm": "sha256", - "hash": "54e02207c79968ebbdffc169591009f4474dde3b4679e16634d34c9363ff56b4", - "url": "https://files.pythonhosted.org/packages/cd/4a/e65276c7477533c59085251ae88505caf6831c0e85ff8b2e31ebcbb949b1/propcache-0.3.2-cp313-cp313-musllinux_1_2_i686.whl" - }, - { - "algorithm": "sha256", - "hash": "ca592ed634a73ca002967458187109265e980422116c0a107cf93d81f95af945", - "url": "https://files.pythonhosted.org/packages/dc/d1/8c747fafa558c603c4ca19d8e20b288aa0c7cda74e9402f50f31eb65267e/propcache-0.3.2-cp313-cp313-macosx_10_13_universal2.whl" - }, - { - "algorithm": "sha256", - "hash": "0cc17efde71e12bbaad086d679ce575268d70bc123a5a71ea7ad76f70ba30bba", - "url": "https://files.pythonhosted.org/packages/ee/b0/0dd03616142baba28e8b2d14ce5df6631b4673850a3d4f9c0f9dd714a404/propcache-0.3.2-cp313-cp313t-musllinux_1_2_ppc64le.whl" - }, - { - "algorithm": "sha256", - "hash": "ab50cef01b372763a13333b4e54021bdcb291fc9a8e2ccb9c2df98be51bcde6c", - "url": "https://files.pythonhosted.org/packages/f8/9d/994a5c1ce4389610838d1caec74bdf0e98b306c70314d46dbe4fcf21a3e2/propcache-0.3.2-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl" + "hash": "d8f353eb14ee3441ee844ade4277d560cdd68288838673273b978e3d6d2c8f36", + "url": "https://files.pythonhosted.org/packages/f5/76/16d8bf65e8845dd62b4e2b57444ab81f07f40caa5652b8969b87ddcf2ef6/propcache-0.4.1-cp314-cp314t-musllinux_1_2_s390x.whl" } ], "project_name": "propcache", "requires_dists": [], "requires_python": ">=3.9", - "version": "0.3.2" + "version": "0.4.1" }, { "artifacts": [ @@ -996,13 +1011,13 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "5fe2d69607b0bd75c656d1211f969cadba035030156745ee09e7d71740e58ecf", - "url": "https://files.pythonhosted.org/packages/c7/9d/bf86eddabf8c6c9cb1ea9a869d6873b46f105a5d292d3a6f7071f5b07935/pytest_asyncio-1.1.0-py3-none-any.whl" + "hash": "611e26147c7f77640e6d0a92a38ed17c3e9848063698d5c93d5aa7aa11cebff5", + "url": "https://files.pythonhosted.org/packages/e5/35/f8b19922b6a25bc0880171a2f1a003eaeb93657475193ab516fd87cac9da/pytest_asyncio-1.3.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "796aa822981e01b68c12e4827b8697108f7205020f24b5793b3c41555dab68ea", - "url": "https://files.pythonhosted.org/packages/4e/51/f8794af39eeb870e87a8c8068642fc07bce0c854d6865d7dd0f2a9d338c2/pytest_asyncio-1.1.0.tar.gz" + "hash": "d7f52f36d231b80ee124cd216ffb19369aa168fc10095013c6b014a34d3ee9e5", + "url": "https://files.pythonhosted.org/packages/90/2c/8af215c0f776415f3590cac4f9086ccefd6fd463befeae41cd4d3f193e5a/pytest_asyncio-1.3.0.tar.gz" } ], "project_name": "pytest-asyncio", @@ -1010,40 +1025,38 @@ "backports-asyncio-runner<2,>=1.1; python_version < \"3.11\"", "coverage>=6.2; extra == \"testing\"", "hypothesis>=5.7.1; extra == \"testing\"", - "pytest<9,>=8.2", + "pytest<10,>=8.2", "sphinx-rtd-theme>=1; extra == \"docs\"", "sphinx>=5.3; extra == \"docs\"", - "typing-extensions>=4.12; python_version < \"3.10\"" + "typing-extensions>=4.12; python_version < \"3.13\"" ], - "requires_python": ">=3.9", - "version": "1.1.0" + "requires_python": ">=3.10", + "version": "1.3.0" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "f5bc4c23f42f1cdd23c70b1dab1bbaef4fc505ba950d53e0081d0730dd7e86d5", - "url": "https://files.pythonhosted.org/packages/bc/16/4ea354101abb1287856baa4af2732be351c7bee728065aed451b678153fd/pytest_cov-6.2.1-py3-none-any.whl" + "hash": "3b8e9558b16cc1479da72058bdecf8073661c7f57f7d3c5f22a1c23507f2d861", + "url": "https://files.pythonhosted.org/packages/ee/49/1377b49de7d0c1ce41292161ea0f721913fa8722c19fb9c1e3aa0367eecb/pytest_cov-7.0.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "25cc6cc0a5358204b8108ecedc51a9b57b34cc6b8c967cc2c01a4e00d8a67da2", - "url": "https://files.pythonhosted.org/packages/18/99/668cade231f434aaa59bbfbf49469068d2ddd945000621d3d165d2e7dd7b/pytest_cov-6.2.1.tar.gz" + "hash": "33c97eda2e049a0c5298e91f519302a1334c26ac65c1a483d6206fd458361af1", + "url": "https://files.pythonhosted.org/packages/5e/f7/c933acc76f5208b3b00089573cf6a2bc26dc80a8aece8f52bb7d6b1855ca/pytest_cov-7.0.0.tar.gz" } ], "project_name": "pytest-cov", "requires_dists": [ - "coverage[toml]>=7.5", - "fields; extra == \"testing\"", - "hunter; extra == \"testing\"", + "coverage[toml]>=7.10.6", "pluggy>=1.2", "process-tests; extra == \"testing\"", "pytest-xdist; extra == \"testing\"", - "pytest>=6.2.5", + "pytest>=7", "virtualenv; extra == \"testing\"" ], "requires_python": ">=3.9", - "version": "6.2.1" + "version": "7.0.0" }, { "artifacts": [ @@ -1085,13 +1098,13 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "178aefcd11307d874b4cd3100344e7e2d888d9791a6a1d9bfe90fbc1b74fd1d0", - "url": "https://files.pythonhosted.org/packages/b2/05/77b60e520511c53d1c1ca75f1930c7dd8e971d0c4379b7f4b3f9644685ba/pytest_mock-3.14.1-py3-none-any.whl" + "hash": "0a25e2eb88fe5168d535041d09a4529a188176ae608a6d249ee65abc0949630d", + "url": "https://files.pythonhosted.org/packages/5a/cc/06253936f4a7fa2e0f48dfe6d851d9c56df896a9ab09ac019d70b760619c/pytest_mock-3.15.1-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "159e9edac4c451ce77a5cdb9fc5d1100708d2dd4ba3c3df572f14097351af80e", - "url": "https://files.pythonhosted.org/packages/71/28/67172c96ba684058a4d24ffe144d64783d2a270d0af0d9e792737bddc75c/pytest_mock-3.14.1.tar.gz" + "hash": "1849a238f6f396da19762269de72cb1814ab44416fa73a8686deac10b0d87a0f", + "url": "https://files.pythonhosted.org/packages/68/14/eb014d26be205d38ad5ad20d9a80f7d201472e08167f0bb4361e251084a9/pytest_mock-3.15.1.tar.gz" } ], "project_name": "pytest-mock", @@ -1101,8 +1114,8 @@ "pytest>=6.2.5", "tox; extra == \"dev\"" ], - "requires_python": ">=3.8", - "version": "3.14.1" + "requires_python": ">=3.9", + "version": "3.15.1" }, { "artifacts": [ @@ -1198,163 +1211,143 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "83b8eb083fe4683c6115795d9fc1cfaf2cbbefb19b3a1cb68f6527460f483a77", - "url": "https://files.pythonhosted.org/packages/b4/2d/2345fce04cfd4bee161bf1e7d9cdc702e3e16109021035dbb24db654a622/yarl-1.20.1-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "59174e7332f5d153d8f7452a102b103e2e74035ad085f404df2e40e663a22b28", - "url": "https://files.pythonhosted.org/packages/0b/e9/1312633d16b31acf0098d30440ca855e3492d66623dafb8e25b03d00c3da/yarl-1.20.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" - }, - { - "algorithm": "sha256", - "hash": "909313577e9619dcff8c31a0ea2aa0a2a828341d92673015456b3ae492e7317b", - "url": "https://files.pythonhosted.org/packages/19/3a/e54e2c4752160115183a66dc9ee75a153f81f3ab2ba4bf79c3c53b33de34/yarl-1.20.1-cp313-cp313-musllinux_1_2_s390x.whl" - }, - { - "algorithm": "sha256", - "hash": "66252d780b45189975abfed839616e8fd2dbacbdc262105ad7742c6ae58f3e31", - "url": "https://files.pythonhosted.org/packages/28/2d/8aca6cb2cabc8f12efcb82749b9cefecbccfc7b0384e56cd71058ccee433/yarl-1.20.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl" - }, - { - "algorithm": "sha256", - "hash": "3cf34efa60eb81dd2645a2e13e00bb98b76c35ab5061a3989c7a70f78c85006d", - "url": "https://files.pythonhosted.org/packages/2f/d4/062b2f48e7c93481e88eff97a6312dca15ea200e959f23e96d8ab898c5b8/yarl-1.20.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + "hash": "1380560bdba02b6b6c90de54133c81c9f2a453dee9912fe58c1dcced1edb7cff", + "url": "https://files.pythonhosted.org/packages/73/ae/b48f95715333080afb75a4504487cbe142cae1268afc482d06692d605ae6/yarl-1.22.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "d017a4997ee50c91fd5466cef416231bb82177b93b029906cefc542ce14c35ac", - "url": "https://files.pythonhosted.org/packages/3c/fb/efaa23fa4e45537b827620f04cf8f3cd658b76642205162e072703a5b963/yarl-1.20.1.tar.gz" + "hash": "e51ac5435758ba97ad69617e13233da53908beccc6cfcd6c34bbed8dcbede486", + "url": "https://files.pythonhosted.org/packages/03/1f/c5d94abc91557384719da10ff166b916107c1b45e4d0423a88457071dd88/yarl-1.22.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" }, { "algorithm": "sha256", - "hash": "c7d7f497126d65e2cad8dc5f97d34c27b19199b6414a40cb36b52f41b79014be", - "url": "https://files.pythonhosted.org/packages/3e/49/bc728a7fe7d0e9336e2b78f0958a2d6b288ba89f25a1762407a222bf53c3/yarl-1.20.1-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" + "hash": "45c2842ff0e0d1b35a6bf1cd6c690939dacb617a70827f715232b2e0494d55d1", + "url": "https://files.pythonhosted.org/packages/06/5e/a15eb13db90abd87dfbefb9760c0f3f257ac42a5cac7e75dbc23bed97a9f/yarl-1.22.0-cp314-cp314t-macosx_10_13_universal2.whl" }, { "algorithm": "sha256", - "hash": "f60233b98423aab21d249a30eb27c389c14929f47be8430efa7dbd91493a729d", - "url": "https://files.pythonhosted.org/packages/43/c7/669c52519dca4c95153c8ad96dd123c79f354a376346b198f438e56ffeb4/yarl-1.20.1-cp313-cp313t-macosx_10_13_universal2.whl" + "hash": "594fcab1032e2d2cc3321bb2e51271e7cd2b516c7d9aee780ece81b07ff8244b", + "url": "https://files.pythonhosted.org/packages/11/63/ff458113c5c2dac9a9719ac68ee7c947cb621432bcf28c9972b1c0e83938/yarl-1.22.0-cp314-cp314-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "56dac5f452ed25eef0f6e3c6a066c6ab68971d96a9fb441791cad0efba6140d3", - "url": "https://files.pythonhosted.org/packages/4b/23/0ed0922b47a4f5c6eb9065d5ff1e459747226ddce5c6a4c111e728c9f701/yarl-1.20.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + "hash": "d947071e6ebcf2e2bee8fce76e10faca8f7a14808ca36a910263acaacef08eca", + "url": "https://files.pythonhosted.org/packages/18/82/9665c61910d4d84f41a5bf6837597c89e665fa88aa4941080704645932a9/yarl-1.22.0-cp314-cp314t-macosx_10_13_x86_64.whl" }, { "algorithm": "sha256", - "hash": "69ff8439d8ba832d6bed88af2c2b3445977eba9a4588b787b32945871c2444e3", - "url": "https://files.pythonhosted.org/packages/4f/7f/fa59c4c27e2a076bba0d959386e26eba77eb52ea4a0aac48e3515c186b4c/yarl-1.20.1-cp313-cp313t-macosx_11_0_arm64.whl" + "hash": "0b5bcc1a9c4839e7e30b7b30dd47fe5e7e44fb7054ec29b5bb8d526aa1041093", + "url": "https://files.pythonhosted.org/packages/32/75/f8919b2eafc929567d3d8411f72bdb1a2109c01caaab4ebfa5f8ffadc15b/yarl-1.22.0-cp314-cp314t-musllinux_1_2_s390x.whl" }, { "algorithm": "sha256", - "hash": "f6342d643bf9a1de97e512e45e4b9560a043347e779a173250824f8b254bd5ce", - "url": "https://files.pythonhosted.org/packages/66/ad/775da9c8a94ce925d1537f939a4f17d782efef1f973039d821cbe4bcc211/yarl-1.20.1-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl" + "hash": "852863707010316c973162e703bddabec35e8757e67fcb8ad58829de1ebc8590", + "url": "https://files.pythonhosted.org/packages/3f/3f/08e9b826ec2e099ea6e7c69a61272f4f6da62cb5b1b63590bb80ca2e4a40/yarl-1.22.0-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl" }, { "algorithm": "sha256", - "hash": "6f3eff4cc3f03d650d8755c6eefc844edde99d641d0dcf4da3ab27141a5f8ddf", - "url": "https://files.pythonhosted.org/packages/6a/42/fc0053719b44f6ad04a75d7f05e0e9674d45ef62f2d9ad2c1163e5c05827/yarl-1.20.1-cp313-cp313t-macosx_10_13_x86_64.whl" + "hash": "bf4a21e58b9cde0e401e683ebd00f6ed30a06d14e93f7c8fd059f8b6e8f87b6a", + "url": "https://files.pythonhosted.org/packages/43/3c/45a2b6d80195959239a7b2a8810506d4eea5487dce61c2a3393e7fc3c52e/yarl-1.22.0-cp314-cp314t-musllinux_1_2_armv7l.whl" }, { "algorithm": "sha256", - "hash": "595c07bc79af2494365cc96ddeb772f76272364ef7c80fb892ef9d0649586513", - "url": "https://files.pythonhosted.org/packages/70/fd/af94f04f275f95da2c3b8b5e1d49e3e79f1ed8b6ceb0f1664cbd902773ff/yarl-1.20.1-cp313-cp313t-musllinux_1_2_armv7l.whl" + "hash": "34b36c2c57124530884d89d50ed2c1478697ad7473efd59cfd479945c95650e4", + "url": "https://files.pythonhosted.org/packages/46/b3/e20ef504049f1a1c54a814b4b9bed96d1ac0e0610c3b4da178f87209db05/yarl-1.22.0-cp314-cp314-macosx_10_13_universal2.whl" }, { "algorithm": "sha256", - "hash": "d25ddcf954df1754ab0f86bb696af765c5bfaba39b74095f27eececa049ef9a4", - "url": "https://files.pythonhosted.org/packages/7c/af/4cc3c36dfc7c077f8dedb561eb21f69e1e9f2456b91b593882b0b18c19dc/yarl-1.20.1-cp313-cp313-musllinux_1_2_ppc64le.whl" + "hash": "bebf8557577d4401ba8bd9ff33906f1376c877aa78d1fe216ad01b4d6745af71", + "url": "https://files.pythonhosted.org/packages/57/63/0c6ebca57330cd313f6102b16dd57ffaf3ec4c83403dcb45dbd15c6f3ea1/yarl-1.22.0.tar.gz" }, { "algorithm": "sha256", - "hash": "7bdd2f80f4a7df852ab9ab49484a4dee8030023aa536df41f2d922fd57bf023f", - "url": "https://files.pythonhosted.org/packages/84/65/04c62e82704e7dd0a9b3f61dbaa8447f8507655fd16c51da0637b39b2910/yarl-1.20.1-cp313-cp313t-musllinux_1_2_i686.whl" + "hash": "334b8721303e61b00019474cc103bdac3d7b1f65e91f0bfedeec2d56dfe74b53", + "url": "https://files.pythonhosted.org/packages/5d/9a/2f65743589809af4d0a6d3aa749343c4b5f4c380cc24a8e94a3c6625a808/yarl-1.22.0-cp314-cp314t-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "8e0fe9364ad0fddab2688ce72cb7a8e61ea42eff3c7caeeb83874a5d479c896c", - "url": "https://files.pythonhosted.org/packages/89/47/78b7f40d13c8f62b499cc702fdf69e090455518ae544c00a3bf4afc9fc77/yarl-1.20.1-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl" + "hash": "33e32a0dd0c8205efa8e83d04fc9f19313772b78522d1bdc7d9aed706bfd6138", + "url": "https://files.pythonhosted.org/packages/5f/97/aa6a143d3afba17b6465733681c70cf175af89f76ec8d9286e08437a7454/yarl-1.22.0-cp314-cp314t-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "0b5ff0fbb7c9f1b1b5ab53330acbfc5247893069e7716840c8e7d5bb7355038a", - "url": "https://files.pythonhosted.org/packages/8a/e1/2411b6d7f769a07687acee88a062af5833cf1966b7266f3d8dfb3d3dc7d3/yarl-1.20.1-cp313-cp313-macosx_10_13_universal2.whl" + "hash": "f87ac53513d22240c7d59203f25cc3beac1e574c6cd681bbfd321987b69f95fd", + "url": "https://files.pythonhosted.org/packages/67/a8/fb6b1adbe98cf1e2dd9fad71003d3a63a1bc22459c6e15f5714eb9323b93/yarl-1.22.0-cp314-cp314-musllinux_1_2_s390x.whl" }, { "algorithm": "sha256", - "hash": "c03bfebc4ae8d862f853a9757199677ab74ec25424d0ebd68a0027e9c639a390", - "url": "https://files.pythonhosted.org/packages/91/95/459ca62eb958381b342d94ab9a4b6aec1ddec1f7057c487e926f03c06d30/yarl-1.20.1-cp313-cp313t-musllinux_1_2_ppc64le.whl" + "hash": "4792b262d585ff0dff6bcb787f8492e40698443ec982a3568c2096433660c694", + "url": "https://files.pythonhosted.org/packages/80/7c/428e5812e6b87cd00ee8e898328a62c95825bf37c7fa87f0b6bb2ad31304/yarl-1.22.0-cp314-cp314-musllinux_1_2_armv7l.whl" }, { "algorithm": "sha256", - "hash": "67e708dfb8e78d8a19169818eeb5c7a80717562de9051bf2413aca8e3696bf16", - "url": "https://files.pythonhosted.org/packages/93/8f/b811b9d1f617c83c907e7082a76e2b92b655400e61730cd61a1f67178393/yarl-1.20.1-cp313-cp313t-musllinux_1_2_aarch64.whl" + "hash": "e4b582bab49ac33c8deb97e058cd67c2c50dac0dd134874106d9c774fd272529", + "url": "https://files.pythonhosted.org/packages/86/a0/c2ab48d74599c7c84cb104ebd799c5813de252bea0f360ffc29d270c2caa/yarl-1.22.0-cp314-cp314t-musllinux_1_2_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "793fd0580cb9664548c6b83c63b43c477212c0260891ddf86809e1c06c8b08f1", - "url": "https://files.pythonhosted.org/packages/9c/20/200ae86dabfca89060ec6447649f219b4cbd94531e425e50d57e5f5ac330/yarl-1.20.1-cp313-cp313-musllinux_1_2_x86_64.whl" + "hash": "c4647674b6150d2cae088fc07de2738a84b8bcedebef29802cf0b0a82ab6face", + "url": "https://files.pythonhosted.org/packages/8c/96/475509110d3f0153b43d06164cf4195c64d16999e0c7e2d8a099adcd6907/yarl-1.22.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "88cab98aa4e13e1ade8c141daeedd300a4603b7132819c484841bb7af3edce9e", - "url": "https://files.pythonhosted.org/packages/9e/ed/c5fb04869b99b717985e244fd93029c7a8e8febdfcffa06093e32d7d44e7/yarl-1.20.1-cp313-cp313t-musllinux_1_2_x86_64.whl" + "hash": "078a8aefd263f4d4f923a9677b942b445a2be970ca24548a8102689a3a8ab8da", + "url": "https://files.pythonhosted.org/packages/98/92/ab8d4657bd5b46a38094cfaea498f18bb70ce6b63508fd7e909bd1f93066/yarl-1.22.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" }, { "algorithm": "sha256", - "hash": "49bdd1b8e00ce57e68ba51916e4bb04461746e794e7c4d4bbc42ba2f18297691", - "url": "https://files.pythonhosted.org/packages/a3/25/35afe384e31115a1a801fbcf84012d7a066d89035befae7c5d4284df1e03/yarl-1.20.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + "hash": "f3d7a87a78d46a2e3d5b72587ac14b4c16952dd0887dbb051451eceac774411e", + "url": "https://files.pythonhosted.org/packages/a7/bc/315a56aca762d44a6aaaf7ad253f04d996cb6b27bad34410f82d76ea8038/yarl-1.22.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" }, { "algorithm": "sha256", - "hash": "344d1103e9c1523f32a5ed704d576172d2cabed3122ea90b1d4e11fe17c66458", - "url": "https://files.pythonhosted.org/packages/a6/00/d393e82dd955ad20617abc546a8f1aee40534d599ff555ea053d0ec9bf03/yarl-1.20.1-cp313-cp313t-musllinux_1_2_s390x.whl" + "hash": "1e7ce67c34138a058fd092f67d07a72b8e31ff0c9236e751957465a24b28910c", + "url": "https://files.pythonhosted.org/packages/b0/ab/5b13d3e157505c43c3b43b5a776cbf7b24a02bc4cccc40314771197e3508/yarl-1.22.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" }, { "algorithm": "sha256", - "hash": "d1a4fbb50e14396ba3d375f68bfe02215d8e7bc3ec49da8341fe3157f59d2ff5", - "url": "https://files.pythonhosted.org/packages/af/44/46407d7f7a56e9a85a4c207724c9f2c545c060380718eea9088f222ba697/yarl-1.20.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + "hash": "68986a61557d37bb90d3051a45b91fa3d5c516d177dfc6dd6f2f436a07ff2b6b", + "url": "https://files.pythonhosted.org/packages/b6/2e/f4d26183c8db0bb82d491b072f3127fb8c381a6206a3a56332714b79b751/yarl-1.22.0-cp314-cp314-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "11a62c839c3a8eac2410e951301309426f368388ff2f33799052787035793b02", - "url": "https://files.pythonhosted.org/packages/b1/91/31163295e82b8d5485d31d9cf7754d973d41915cadce070491778d9c9825/yarl-1.20.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" + "hash": "efb07073be061c8f79d03d04139a80ba33cbd390ca8f0297aae9cce6411e4c6b", + "url": "https://files.pythonhosted.org/packages/c9/66/59db471aecfbd559a1fd48aedd954435558cd98c7d0da8b03cc6c140a32c/yarl-1.22.0-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" }, { "algorithm": "sha256", - "hash": "14f326acd845c2b2e2eb38fb1346c94f7f3b01a4f5c788f8144f9b630bfff9a3", - "url": "https://files.pythonhosted.org/packages/b2/27/584394e1cb76fb771371770eccad35de400e7b434ce3142c2dd27392c968/yarl-1.20.1-cp313-cp313-macosx_10_13_x86_64.whl" + "hash": "c0232bce2170103ec23c454e54a57008a9a72b5d1c3105dc2496750da8cfa47c", + "url": "https://files.pythonhosted.org/packages/cf/72/6a85bba382f22cf78add705d8c3731748397d986e197e53ecc7835e76de7/yarl-1.22.0-cp314-cp314t-musllinux_1_2_x86_64.whl" }, { "algorithm": "sha256", - "hash": "041eaa14f73ff5a8986b4388ac6bb43a77f2ea09bf1913df7a35d4646db69e53", - "url": "https://files.pythonhosted.org/packages/b4/8e/c41a5bc482121f51c083c4c2bcd16b9e01e1cf8729e380273a952513a21f/yarl-1.20.1-cp313-cp313-musllinux_1_2_aarch64.whl" + "hash": "22b029f2881599e2f1b06f8f1db2ee63bd309e2293ba2d566e008ba12778b8da", + "url": "https://files.pythonhosted.org/packages/d9/f9/3aa2c0e480fb73e872ae2814c43bc1e734740bb0d54e8cb2a95925f98131/yarl-1.22.0-cp314-cp314-musllinux_1_2_x86_64.whl" }, { "algorithm": "sha256", - "hash": "e3968ec7d92a0c0f9ac34d5ecfd03869ec0cab0697c91a45db3fbbd95fe1b653", - "url": "https://files.pythonhosted.org/packages/bc/a0/688cc99463f12f7669eec7c8acc71ef56a1521b99eab7cd3abb75af887b0/yarl-1.20.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl" + "hash": "131a085a53bfe839a477c0845acf21efc77457ba2bcf5899618136d64f3303a2", + "url": "https://files.pythonhosted.org/packages/e3/9f/90360108e3b32bd76789088e99538febfea24a102380ae73827f62073543/yarl-1.22.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "f60e4ad5db23f0b96e49c018596707c3ae89f5d0bd97f0ad3684bcbad899f1e7", - "url": "https://files.pythonhosted.org/packages/bf/9a/3246ae92d4049099f52d9b0fe3486e3b500e29b7ea872d0f152966fc209d/yarl-1.20.1-cp313-cp313-macosx_11_0_arm64.whl" + "hash": "0dd9a702591ca2e543631c2a017e4a547e38a5c0f29eece37d9097e04a7ac683", + "url": "https://files.pythonhosted.org/packages/e4/04/3532d990fdbab02e5ede063676b5c4260e7f3abea2151099c2aa745acc4c/yarl-1.22.0-cp314-cp314-macosx_10_13_x86_64.whl" }, { "algorithm": "sha256", - "hash": "1c92f4390e407513f619d49319023664643d3339bd5e5a56a3bebe01bc67ec04", - "url": "https://files.pythonhosted.org/packages/df/a3/6a72fb83f8d478cb201d14927bc8040af901811a88e0ff2da7842dd0ed19/yarl-1.20.1-cp313-cp313-musllinux_1_2_i686.whl" + "hash": "ebd4549b108d732dba1d4ace67614b9545b21ece30937a63a65dd34efa19732d", + "url": "https://files.pythonhosted.org/packages/ec/2a/249405fd26776f8b13c067378ef4d7dd49c9098d1b6457cdd152a99e96a9/yarl-1.22.0-cp314-cp314-musllinux_1_2_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "377fae2fef158e8fd9d60b4c8751387b8d1fb121d3d0b8e9b0be07d1b41e83dc", - "url": "https://files.pythonhosted.org/packages/e3/5b/61a3b054238d33d70ea06ebba7e58597891b71c699e247df35cc984ab393/yarl-1.20.1-cp313-cp313-musllinux_1_2_armv7l.whl" + "hash": "bca03b91c323036913993ff5c738d0842fc9c60c4648e5c8d98331526df89784", + "url": "https://files.pythonhosted.org/packages/f5/e7/d8c5a7752fef68205296201f8ec2bf718f5c805a7a7e9880576c67600658/yarl-1.22.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" }, { "algorithm": "sha256", - "hash": "8f64fbf81878ba914562c672024089e3401974a39767747691c65080a67b18c1", - "url": "https://files.pythonhosted.org/packages/eb/2b/490d3b2dc66f52987d4ee0d3090a147ea67732ce6b4d61e362c1846d0d32/yarl-1.20.1-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" + "hash": "d77e1b2c6d04711478cb1c4ab90db07f1609ccf06a287d5607fcd90dc9863acf", + "url": "https://files.pythonhosted.org/packages/fb/76/242a5ef4677615cf95330cfc1b4610e78184400699bdda0acb897ef5e49a/yarl-1.22.0-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl" } ], "project_name": "yarl", @@ -1364,7 +1357,7 @@ "propcache>=0.2.1" ], "requires_python": ">=3.9", - "version": "1.20.1" + "version": "1.22.0" } ], "platform_tag": null @@ -1389,7 +1382,7 @@ "pytest~=8.3.3" ], "requires_python": [ - "==3.13.7" + "==3.14.1" ], "resolver_version": "pip-2020-resolver", "style": "universal", diff --git a/tools/setuptools.lock b/tools/setuptools.lock index 9e3be49d9b4..f6760fe6f32 100644 --- a/tools/setuptools.lock +++ b/tools/setuptools.lock @@ -6,7 +6,7 @@ // { // "version": 3, // "valid_for_interpreter_constraints": [ -// "CPython==3.13.7" +// "CPython==3.14.1" // ], // "generated_with_requirements": [ // "setuptools~=80.0.0", @@ -137,7 +137,7 @@ "wheel~=0.44.0" ], "requires_python": [ - "==3.13.7" + "==3.14.1" ], "resolver_version": "pip-2020-resolver", "style": "universal", diff --git a/tools/towncrier.lock b/tools/towncrier.lock index 5c2df5eac45..7776d7580d5 100644 --- a/tools/towncrier.lock +++ b/tools/towncrier.lock @@ -6,7 +6,7 @@ // { // "version": 3, // "valid_for_interpreter_constraints": [ -// "CPython==3.13.7" +// "CPython==3.14.1" // ], // "generated_with_requirements": [ // "towncrier~=24.8" @@ -33,13 +33,13 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "61a3265b914e850b85317d0b3109c7f8cd35a670f963866005d6ef1d5175a12b", - "url": "https://files.pythonhosted.org/packages/85/32/10bb5764d90a8eee674e9dc6f4db6a0ab47c8c4d0d83c27f7c39ac415a4d/click-8.2.1-py3-none-any.whl" + "hash": "981153a64e25f12d547d3426c367a4857371575ee7ad18df2a6183ab0545b2a6", + "url": "https://files.pythonhosted.org/packages/98/78/01c019cdb5d6498122777c1a43056ebb3ebfeef2076d9d026bfe15583b2b/click-8.3.1-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "27c491cc05d968d271d5a1db13e3b5a184636d9d930f148c50b038f0d0646202", - "url": "https://files.pythonhosted.org/packages/60/6c/8ca2efa64cf75a977a0d7fac081354553ebe483345c734fb6b6515d96bbc/click-8.2.1.tar.gz" + "hash": "12ff4785d337a1bb490bb7e9c2b1ee5da3112e94a8622f26a6c77f5d2fc6842a", + "url": "https://files.pythonhosted.org/packages/3d/fa/656b739db8587d7b5dfa22e22ed02566950fbfbcdc20311993483657a5c0/click-8.3.1.tar.gz" } ], "project_name": "click", @@ -47,7 +47,7 @@ "colorama; platform_system == \"Windows\"" ], "requires_python": ">=3.10", - "version": "8.2.1" + "version": "8.3.1" }, { "artifacts": [ @@ -74,94 +74,94 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "131a3c7689c85f5ad20f9f6fb1b866f402c445b220c19fe4308c0b147ccd2ad9", - "url": "https://files.pythonhosted.org/packages/0d/80/0985960e4b89922cb5a0bac0ed39c5b96cbc1a536a99f30e8c220a996ed9/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_x86_64.whl" + "hash": "5678211cb9333a6468fb8d8be0305520aa073f50d17f089b5b4b477ea6e67fdc", + "url": "https://files.pythonhosted.org/packages/14/c7/ca723101509b518797fedc2fdf79ba57f886b4aca8a7d31857ba3ee8281f/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_x86_64.whl" }, { "algorithm": "sha256", - "hash": "15ab75ef81add55874e7ab7055e9c397312385bd9ced94920f2802310c930396", - "url": "https://files.pythonhosted.org/packages/0c/91/96cf928db8236f1bfab6ce15ad070dfdd02ed88261c2afafd4b43575e9e9/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + "hash": "f190daf01f13c72eac4efd5c430a8de82489d9cff23c364c3ea822545032993e", + "url": "https://files.pythonhosted.org/packages/22/44/a0681611106e0b2921b3033fc19bc53323e0b50bc70cffdd19f7d679bb66/markupsafe-3.0.3-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" }, { "algorithm": "sha256", - "hash": "c0ef13eaeee5b615fb07c9a7dadb38eac06a0608b41570d8ade51c56539e509d", - "url": "https://files.pythonhosted.org/packages/0c/e3/90e9651924c430b885468b56b3d597cabf6d72be4b24a0acd1fa0e12af67/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + "hash": "f3e98bb3798ead92273dc0e5fd0f31ade220f59a266ffd8a4f6065e0a3ce0523", + "url": "https://files.pythonhosted.org/packages/26/6a/4bf6d0c97c4920f1597cc14dd720705eca0bf7c787aebc6bb4d1bead5388/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_riscv64.whl" }, { "algorithm": "sha256", - "hash": "cdb82a876c47801bb54a690c5ae105a46b392ac6099881cdfb9f6e95e4014c6a", - "url": "https://files.pythonhosted.org/packages/2a/9f/8619835cd6a711d6272d62abb78c033bda638fdc54c4e7f4272cf1c0962b/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_aarch64.whl" + "hash": "eaa9599de571d72e2daf60164784109f19978b327a3910d3e9de8c97b5b70cfe", + "url": "https://files.pythonhosted.org/packages/33/8a/8e42d4838cd89b7dde187011e97fe6c3af66d8c044997d2183fbd6d31352/markupsafe-3.0.3-cp314-cp314-macosx_10_13_x86_64.whl" }, { "algorithm": "sha256", - "hash": "f8b3d067f2e40fe93e1ccdd6b2e1d16c43140e76f02fb1319a05cf2b79d99430", - "url": "https://files.pythonhosted.org/packages/2b/6d/9409f3684d3335375d04e5f05744dfe7e9f120062c9857df4ab490a1031a/MarkupSafe-3.0.2-cp313-cp313-macosx_11_0_arm64.whl" + "hash": "1353ef0c1b138e1907ae78e2f6c63ff67501122006b0f9abad68fda5f4ffc6ab", + "url": "https://files.pythonhosted.org/packages/3c/f0/57689aa4076e1b43b15fdfa646b04653969d50cf30c32a102762be2485da/markupsafe-3.0.3-cp314-cp314t-macosx_10_13_x86_64.whl" }, { "algorithm": "sha256", - "hash": "4aa4e5faecf353ed117801a068ebab7b7e09ffb6e1d5e412dc852e0da018126c", - "url": "https://files.pythonhosted.org/packages/34/cf/65d4a571869a1a9078198ca28f39fba5fbb910f952f9dbc5220afff9f5e6/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + "hash": "457a69a9577064c05a97c41f4e65148652db078a3a509039e64d3467b9e7ef97", + "url": "https://files.pythonhosted.org/packages/41/3c/a36c2450754618e62008bf7435ccb0f88053e07592e6028a34776213d877/markupsafe-3.0.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" }, { "algorithm": "sha256", - "hash": "b5a6b3ada725cea8a5e634536b1b01c30bcdcd7f9c6fff4151548d5bf6b3a36c", - "url": "https://files.pythonhosted.org/packages/62/6a/8b89d24db2d32d433dffcd6a8779159da109842434f1dd2f6e71f32f738c/MarkupSafe-3.0.2-cp313-cp313t-macosx_10_13_universal2.whl" + "hash": "fed51ac40f757d41b7c48425901843666a6677e3e8eb0abcff09e4ba6e664f50", + "url": "https://files.pythonhosted.org/packages/50/09/c419f6f5a92e5fadde27efd190eca90f05e1261b10dbd8cbcb39cd8ea1dc/markupsafe-3.0.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" }, { "algorithm": "sha256", - "hash": "d16a81a06776313e817c951135cf7340a3e91e8c1ff2fac444cfd75fffa04afe", - "url": "https://files.pythonhosted.org/packages/66/8c/6c7cf61f95d63bb866db39085150df1f2a5bd3335298f14a66b48e92659c/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" + "hash": "e56b7d45a839a697b5eb268c82a71bd8c7f6c94d6fd50c3d577fa39a9f1409f5", + "url": "https://files.pythonhosted.org/packages/5f/57/1b0b3f100259dc9fffe780cfb60d4be71375510e435efec3d116b6436d43/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "a904af0a6162c73e3edcb969eeeb53a63ceeb5d8cf642fade7d39e7963a22ddb", - "url": "https://files.pythonhosted.org/packages/7a/06/a10f955f70a2e5a9bf78d11a161029d278eeacbd35ef806c3fd17b13060d/MarkupSafe-3.0.2-cp313-cp313t-macosx_11_0_arm64.whl" + "hash": "0eb9ff8191e8498cca014656ae6b8d61f39da5f95b488805da4bb029cccbfbaf", + "url": "https://files.pythonhosted.org/packages/7d/33/45b24e4f44195b26521bc6f1a82197118f74df348556594bd2262bda1038/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_riscv64.whl" }, { "algorithm": "sha256", - "hash": "ba9527cdd4c926ed0760bc301f6728ef34d841f405abf9d4f959c478421e4efd", - "url": "https://files.pythonhosted.org/packages/83/0e/67eb10a7ecc77a0c2bbe2b0235765b98d164d81600746914bebada795e97/MarkupSafe-3.0.2-cp313-cp313-macosx_10_13_universal2.whl" + "hash": "722695808f4b6457b320fdc131280796bdceb04ab50fe1795cd540799ebe1698", + "url": "https://files.pythonhosted.org/packages/7e/99/7690b6d4034fffd95959cbe0c02de8deb3098cc577c67bb6a24fe5d7caa7/markupsafe-3.0.3.tar.gz" }, { "algorithm": "sha256", - "hash": "ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0", - "url": "https://files.pythonhosted.org/packages/b2/97/5d42485e71dfc078108a86d6de8fa46db44a1a9295e89c5d6d4a06e23a62/markupsafe-3.0.2.tar.gz" + "hash": "1085e7fbddd3be5f89cc898938f42c0b3c711fdcb37d75221de2666af647c175", + "url": "https://files.pythonhosted.org/packages/89/c3/2e67a7ca217c6912985ec766c6393b636fb0c2344443ff9d91404dc4c79f/markupsafe-3.0.3-cp314-cp314t-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "6381026f158fdb7c72a168278597a5e3a5222e83ea18f543112b2662a9b699c5", - "url": "https://files.pythonhosted.org/packages/bb/35/cbe9238ec3f47ac9a7c8b3df7a808e7cb50fe149dc7039f5f454b3fba218/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_aarch64.whl" + "hash": "ec15a59cf5af7be74194f7ab02d0f59a62bdcf1a537677ce67a2537c9b87fcda", + "url": "https://files.pythonhosted.org/packages/9a/a7/591f592afdc734f47db08a75793a55d7fbcc6902a723ae4cfbab61010cc5/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "f3818cb119498c0678015754eba762e0d61e5b52d34c8b13d770f0719f7b1d79", - "url": "https://files.pythonhosted.org/packages/c2/cf/c9d56af24d56ea04daae7ac0940232d31d5a8354f2b457c6d856b2057d69/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" + "hash": "c47a551199eb8eb2121d4f0f15ae0f923d31350ab9280078d1e5f12b249e0026", + "url": "https://files.pythonhosted.org/packages/b5/64/7660f8a4a8e53c924d0fa05dc3a55c9cee10bbd82b11c5afb27d44b096ce/markupsafe-3.0.3-cp314-cp314-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "444dcda765c8a838eaae23112db52f1efaf750daddb2d9ca300bcae1039adc5c", - "url": "https://files.pythonhosted.org/packages/ce/4f/9a02c1d335caabe5c4efb90e1b6e8ee944aa245c1aaaab8e8a618987d816/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_x86_64.whl" + "hash": "e8afc3f2ccfa24215f8cb28dcf43f0113ac3c37c2f0f0806d8c70e4228c5cf4d", + "url": "https://files.pythonhosted.org/packages/bc/20/b7fdf89a8456b099837cd1dc21974632a02a999ec9bf7ca3e490aacd98e7/markupsafe-3.0.3-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" }, { "algorithm": "sha256", - "hash": "569511d3b58c8791ab4c2e1285575265991e6d8f8700c7be0e88f86cb0672094", - "url": "https://files.pythonhosted.org/packages/d2/f5/6eadfcd3885ea85fe2a7c128315cc1bb7241e1987443d78c8fe712d03091/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + "hash": "f34c41761022dd093b4b6896d4810782ffbabe30f2d443ff5f083e0cbbb8c737", + "url": "https://files.pythonhosted.org/packages/da/ef/e648bfd021127bef5fa12e1720ffed0c6cbb8310c8d9bea7266337ff06de/markupsafe-3.0.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" }, { "algorithm": "sha256", - "hash": "3d79d162e7be8f996986c064d1c7c817f6df3a77fe3d6859f6f9e7be4b8c213a", - "url": "https://files.pythonhosted.org/packages/e6/32/7621a4382488aa283cc05e8984a9c219abad3bca087be9ec77e89939ded9/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_i686.whl" + "hash": "1b52b4fb9df4eb9ae465f8d0c228a00624de2334f216f178a995ccdcf82c4634", + "url": "https://files.pythonhosted.org/packages/f0/00/be561dce4e6ca66b15276e184ce4b8aec61fe83662cce2f7d72bd3249d28/markupsafe-3.0.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" }, { "algorithm": "sha256", - "hash": "cabc348d87e913db6ab4aa100f01b08f481097838bdddf7c7a84b7575b7309ca", - "url": "https://files.pythonhosted.org/packages/f9/bf/176950a1792b2cd2102b8ffeb5133e1ed984547b75db47c25a67d3359f77/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_i686.whl" + "hash": "2713baf880df847f2bece4230d4d094280f4e67b1e813eec43b4c0e144a34ffe", + "url": "https://files.pythonhosted.org/packages/ff/0e/53dfaca23a69fbfbbf17a4b64072090e70717344c52eaaaa9c5ddff1e5f0/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_x86_64.whl" } ], "project_name": "markupsafe", "requires_dists": [], "requires_python": ">=3.9", - "version": "3.0.2" + "version": "3.0.3" }, { "artifacts": [ @@ -207,7 +207,7 @@ "towncrier~=24.8" ], "requires_python": [ - "==3.13.7" + "==3.14.1" ], "resolver_version": "pip-2020-resolver", "style": "universal", From c1300463236168ec544346aeab23423ef824987b Mon Sep 17 00:00:00 2001 From: Joongi Kim Date: Wed, 10 Dec 2025 14:06:58 +0900 Subject: [PATCH 05/24] chore: Update pex/pip versions --- pants.toml | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/pants.toml b/pants.toml index f65d36b0c2d..f6e19f8b830 100644 --- a/pants.toml +++ b/pants.toml @@ -54,8 +54,9 @@ enable_resolves = true # - Run `pants export` again # - Update their local IDE/editor's interpreter path configurations interpreter_constraints = ["CPython==3.14.1"] +interpreter_versions_universe = ["3.11", "3.12", "3.13", "3.14"] tailor_pex_binary_targets = false -pip_version = "25.2" +pip_version = "25.3" [python-bootstrap] search_path = [""] @@ -89,12 +90,12 @@ bin = [ [pex-cli] # Pants 2.27 uses PEX 2.33.2 by default. # Pin the PEX version to get benefits from a-scie/lift#116. -version = "v2.50.4" +version = "v2.74.1" known_versions = [ - "v2.50.4|macos_arm64|7b7be5cee59a6515d15751e6467317d272f671e9a8adcf2125c073e00ff27a84|4774138", - "v2.50.4|macos_x86_64|7b7be5cee59a6515d15751e6467317d272f671e9a8adcf2125c073e00ff27a84|4774138", - "v2.50.4|linux_arm64|7b7be5cee59a6515d15751e6467317d272f671e9a8adcf2125c073e00ff27a84|4774138", - "v2.50.4|linux_x86_64|7b7be5cee59a6515d15751e6467317d272f671e9a8adcf2125c073e00ff27a84|4774138", + "v2.74.1|macos_arm64|24d62a8297c53277614d26c2f8293276fdb1045274411a9018f04ad241f7c3ea|4943888", + "v2.74.1|macos_x86_64|24d62a8297c53277614d26c2f8293276fdb1045274411a9018f04ad241f7c3ea|4943888", + "v2.74.1|linux_arm64|24d62a8297c53277614d26c2f8293276fdb1045274411a9018f04ad241f7c3ea|4943888", + "v2.74.1|linux_x86_64|24d62a8297c53277614d26c2f8293276fdb1045274411a9018f04ad241f7c3ea|4943888", ] # When trying a new pex version, you could find out the hash and size-in-bytes as follows: # $ curl -s -L https://github.com/pantsbuild/pex/releases/download/v2.28.1/pex | tee >(wc -c) >(shasum -a 256) >/dev/null From 5b9952d786897c8d1042e8f2ad2fde3b3e207eb9 Mon Sep 17 00:00:00 2001 From: Joongi Kim Date: Wed, 10 Dec 2025 14:08:58 +0900 Subject: [PATCH 06/24] deps: Upgrade Python dependencies for 3.14 support --- requirements.txt | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/requirements.txt b/requirements.txt index 694d42a3d15..b394a3e4d48 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,20 +5,20 @@ aiofiles~=24.1.0 aiohttp~=3.13.0 aiohttp_cors~=0.8.1 aiohttp_jinja2~=1.6 -aiohttp_sse>=2.2 -aiodns==3.2 +aiohttp_sse~=2.2 +aiodns~=3.2 aiomonitor~=0.7.0 -aioresponses>=0.7.3 +aioresponses~=0.7.8 aiosqlite~=0.21.0 aiotools~=2.2.3 aiotusclient~=0.1.4 alembic~=1.13.2 appdirs~=1.4.4 async_timeout~=4.0 -asyncpg>=0.29.0 -asynctest>=0.13.0 -asyncudp>=0.11 -attrs>=25.3 +asyncpg~=0.31.0 +asynctest~=0.13.0 +asyncudp~=0.11 +attrs~=25.3 bcrypt~=5.0.0 boto3~=1.35 cachetools~=5.5.0 @@ -26,8 +26,8 @@ callosum~=1.0.3 cattrs~=24.1.1 click~=8.1.7 coloredlogs~=15.0 -colorama>=0.4.6 -cryptography>=44.0.2 +colorama~=0.4.6 +cryptography~=44.0.2 dataclasses-json~=0.5.7 faker~=24.7.1 graphene~=3.3.0 @@ -35,12 +35,12 @@ graphene-federation~=3.2.0 graphql-core~=3.2.6 graphql-relay~=3.2.0 graypy==2.1.0 -humanize>=3.1.0 +humanize~=4.11 ifaddr~=0.2 inquirer~=3.3.0 janus~=2.0 Jinja2~=3.1.6 -jupyter-client>=8.6 +jupyter-client~=8.6 kubernetes~=33.1.0 kubernetes-asyncio~=33.3.0 lark~=1.1.5 @@ -60,20 +60,20 @@ opentelemetry-instrumentation-logging~=0.54b1 pexpect~=4.8 prometheus-client~=0.21.1 psutil~=7.0 -pycryptodome>=3.20.0 +pycryptodome~=3.21 pyhumps~=3.8.0 pyroscope-io~=0.8.8 -python-dateutil>=2.9 +python-dateutil~=2.9 python-dotenv~=0.20.0 python-json-logger~=3.2.0 pyzmq~=26.4 PyJWT~=2.10.1 PyYAML~=6.0 pydantic[email]~=2.12.0 -packaging>=24.1 -hiredis>=3.3.0 +packaging~=24.2 +hiredis~=3.3.0 huggingface-hub~=0.34.3 -redis[hiredis]==4.5.5 +redis[hiredis]~=5.2.0 rich~=13.6 ruamel.yaml~=0.18.10 SQLAlchemy[postgresql_asyncpg]~=1.4.54 @@ -82,7 +82,7 @@ setuptools~=80.0.0 strawberry-graphql~=0.278.0 tabulate~=0.8.9 temporenc~=0.1.0 -tenacity>=9.0 +tenacity~=9.0 toml~=0.10.2 tomli~=2.0.1 tomli-w~=1.2.0 @@ -99,10 +99,10 @@ yarl~=1.22.0 zipstream-new~=1.1.8 # required by ai.backend.test (integration test suite) -pytest>=8.3.3 +pytest~=8.3.3 pytest-aiohttp~=1.1.0 -pytest-dependency>=0.6.0 -pytest-mock>=3.14.0 +pytest-dependency~=0.6.0 +pytest-mock~=3.14.0 testcontainers[postgres,redis,minio]~=4.8.1 # type stubs From b19915bd6a4445b689a158049242f7eea9c466d0 Mon Sep 17 00:00:00 2001 From: Joongi Kim Date: Wed, 10 Dec 2025 14:59:34 +0900 Subject: [PATCH 07/24] deps: Update main dependency sets and lockfiles --- python-kernel.lock | 455 ++++--- python.lock | 3111 +++++++++++++++++++++++++------------------- requirements.txt | 14 +- 3 files changed, 2000 insertions(+), 1580 deletions(-) diff --git a/python-kernel.lock b/python-kernel.lock index 7fd47ad12be..239820a0625 100644 --- a/python-kernel.lock +++ b/python-kernel.lock @@ -4,9 +4,9 @@ // // --- BEGIN PANTS LOCKFILE METADATA: DO NOT EDIT OR REMOVE --- // { -// "version": 3, +// "version": 4, // "valid_for_interpreter_constraints": [ -// "CPython==3.13.7" +// "CPython==3.14.1" // ], // "generated_with_requirements": [ // "attrs~=23.2", @@ -21,7 +21,9 @@ // "manylinux": "manylinux2014", // "requirement_constraints": [], // "only_binary": [], -// "no_binary": [] +// "no_binary": [], +// "excludes": [], +// "overrides": [] // } // --- END PANTS LOCKFILE METADATA --- @@ -81,61 +83,96 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "72e72408cad3d5419375fc87d289076ee319835bdfa2caad331e377589aebba9", - "url": "https://files.pythonhosted.org/packages/f1/47/d7145bf2dc04684935d57d67dff9d6d795b2ba2796806bb109864be3a151/cffi-1.17.1-cp313-cp313-musllinux_1_1_x86_64.whl" + "hash": "6c6c373cfc5c83a975506110d17457138c8c63016b563cc9ed6e056a82f13ce4", + "url": "https://files.pythonhosted.org/packages/e1/5e/b666bacbbc60fbf415ba9988324a132c9a7a0448a9a8f125074671c0f2c3/cffi-2.0.0-cp314-cp314t-musllinux_1_2_x86_64.whl" }, { "algorithm": "sha256", - "hash": "d01b12eeeb4427d3110de311e1774046ad344f5b1a7403101878976ecd7a10f3", - "url": "https://files.pythonhosted.org/packages/0e/2d/eab2e858a91fdff70533cab61dcff4a1f55ec60425832ddfdc9cd36bc8af/cffi-1.17.1-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl" + "hash": "7553fb2090d71822f02c629afe6042c299edf91ba1bf94951165613553984512", + "url": "https://files.pythonhosted.org/packages/25/8e/342a504ff018a2825d395d44d63a767dd8ebc927ebda557fecdaca3ac33a/cffi-2.0.0-cp314-cp314t-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "dd398dbc6773384a17fe0d3e7eeb8d1a21c2200473ee6806bb5e6a8e62bb73dd", - "url": "https://files.pythonhosted.org/packages/26/9f/1aab65a6c0db35f43c4d1b4f580e8df53914310afc10ae0397d29d697af4/cffi-1.17.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + "hash": "737fe7d37e1a1bffe70bd5754ea763a62a066dc5913ca57e957824b72a85e205", + "url": "https://files.pythonhosted.org/packages/2b/0f/1f177e3683aead2bb00f7679a16451d302c436b5cbf2505f0ea8146ef59e/cffi-2.0.0-cp314-cp314-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "de55b766c7aa2e2a3092c51e0483d700341182f08e67c63630d5b6f200bb28e5", - "url": "https://files.pythonhosted.org/packages/4f/b7/6e4a2162178bf1935c336d4da8a9352cccab4d3a5d7914065490f08c0690/cffi-1.17.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" + "hash": "7a66c7204d8869299919db4d5069a82f1561581af12b11b3c9f48c584eb8743d", + "url": "https://files.pythonhosted.org/packages/2c/ea/5f76bce7cf6fcd0ab1a1058b5af899bfbef198bea4d5686da88471ea0336/cffi-2.0.0-cp314-cp314t-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "3edc8d958eb099c634dace3c7e16560ae474aa3803a5df240542b305d14e14ed", - "url": "https://files.pythonhosted.org/packages/5f/e4/fb8b3dd8dc0e98edf1135ff067ae070bb32ef9d509d6cb0f538cd6f7483f/cffi-1.17.1-cp313-cp313-musllinux_1_1_aarch64.whl" + "hash": "9a67fc9e8eb39039280526379fb3a70023d77caec1852002b4da7e8b270c4dd9", + "url": "https://files.pythonhosted.org/packages/3e/61/c768e4d548bfa607abcda77423448df8c471f25dbe64fb2ef6d555eae006/cffi-2.0.0-cp314-cp314t-macosx_10_13_x86_64.whl" }, { "algorithm": "sha256", - "hash": "706510fe141c86a69c8ddc029c7910003a17353970cff3b904ff0686a5927683", - "url": "https://files.pythonhosted.org/packages/75/b2/fbaec7c4455c604e29388d55599b99ebcc250a60050610fadde58932b7ee/cffi-1.17.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + "hash": "afb8db5439b81cf9c9d0c80404b60c3cc9c3add93e114dcae767f1477cb53775", + "url": "https://files.pythonhosted.org/packages/47/d9/d83e293854571c877a92da46fdec39158f8d7e68da75bf73581225d28e90/cffi-2.0.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" }, { "algorithm": "sha256", - "hash": "0984a4925a435b1da406122d4d7968dd861c1385afe3b45ba82b750f229811e2", - "url": "https://files.pythonhosted.org/packages/8b/f1/672d303ddf17c24fc83afd712316fda78dc6fce1cd53011b839483e1ecc8/cffi-1.17.1-cp313-cp313-macosx_11_0_arm64.whl" + "hash": "c654de545946e0db659b3400168c9ad31b5d29593291482c43e3564effbcee13", + "url": "https://files.pythonhosted.org/packages/59/dd/27e9fa567a23931c838c6b02d0764611c62290062a6d4e8ff7863daf9730/cffi-2.0.0-cp314-cp314-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "f3a2b4222ce6b60e2e8b337bb9596923045681d71e5a082783484d845390938e", - "url": "https://files.pythonhosted.org/packages/8d/f8/dd6c246b148639254dad4d6803eb6a54e8c85c6e11ec9df2cffa87571dbe/cffi-1.17.1-cp313-cp313-macosx_10_13_x86_64.whl" + "hash": "fc33c5141b55ed366cfaad382df24fe7dcbc686de5be719b207bb248e3053dc5", + "url": "https://files.pythonhosted.org/packages/92/c4/3ce07396253a83250ee98564f8d7e9789fab8e58858f35d07a9a2c78de9f/cffi-2.0.0-cp314-cp314-macosx_10_13_x86_64.whl" }, { "algorithm": "sha256", - "hash": "c59d6e989d07460165cc5ad3c61f9fd8f1b4796eacbd81cee78957842b834af4", - "url": "https://files.pythonhosted.org/packages/c7/8a/1d0e4a9c26e54746dc08c2c6c037889124d4f59dffd853a659fa545f1b40/cffi-1.17.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl" + "hash": "12873ca6cb9b0f0d3a0da705d6086fe911591737a59f28b7936bdfed27c0d47c", + "url": "https://files.pythonhosted.org/packages/b4/89/76799151d9c2d2d1ead63c2429da9ea9d7aac304603de0c6e8764e6e8e70/cffi-2.0.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824", - "url": "https://files.pythonhosted.org/packages/fc/97/c783634659c2920c3fc70419e3af40972dbaf758daa229a7d6ea6135c90d/cffi-1.17.1.tar.gz" + "hash": "d9b97165e8aed9272a6bb17c01e3cc5871a594a446ebedc996e2397a1c1ea8ef", + "url": "https://files.pythonhosted.org/packages/bb/dd/3465b14bb9e24ee24cb88c9e3730f6de63111fffe513492bf8c808a3547e/cffi-2.0.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.whl" + }, + { + "algorithm": "sha256", + "hash": "7cc09976e8b56f8cebd752f7113ad07752461f48a58cbba644139015ac24954c", + "url": "https://files.pythonhosted.org/packages/be/b4/c56878d0d1755cf9caa54ba71e5d049479c52f9e4afc230f06822162ab2f/cffi-2.0.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "38100abb9d1b1435bc4cc340bb4489635dc2f0da7456590877030c9b3d40b0c1", + "url": "https://files.pythonhosted.org/packages/c6/0f/cafacebd4b040e3119dcb32fed8bdef8dfe94da653155f9d0b9dc660166e/cffi-2.0.0-cp314-cp314-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "28a3a209b96630bca57cce802da70c266eb08c6e97e5afd61a75611ee6c64592", + "url": "https://files.pythonhosted.org/packages/d0/44/681604464ed9541673e486521497406fadcc15b5217c3e326b061696899a/cffi-2.0.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "24b6f81f1983e6df8db3adc38562c83f7d4a0c36162885ec7f7b77c7dcbec97b", + "url": "https://files.pythonhosted.org/packages/d6/43/0e822876f87ea8a4ef95442c3d766a06a51fc5298823f884ef87aaad168c/cffi-2.0.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "b1e74d11748e7e98e2f426ab176d4ed720a64412b6a15054378afdb71e0f37dc", + "url": "https://files.pythonhosted.org/packages/d8/19/3c435d727b368ca475fb8742ab97c9cb13a0de600ce86f62eab7fa3eea60/cffi-2.0.0-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.whl" + }, + { + "algorithm": "sha256", + "hash": "92b68146a71df78564e4ef48af17551a5ddd142e5190cdf2c5624d0c3ff5b2e8", + "url": "https://files.pythonhosted.org/packages/e0/0d/eb704606dfe8033e7128df5e90fee946bbcb64a04fcdaa97321309004000/cffi-2.0.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl" + }, + { + "algorithm": "sha256", + "hash": "44d1b5909021139fe36001ae048dbdde8214afa20200eda0f64c068cac5d5529", + "url": "https://files.pythonhosted.org/packages/eb/56/b1ba7935a17738ae8453301356628e8147c79dbb825bcbc73dc7401f9846/cffi-2.0.0.tar.gz" } ], "project_name": "cffi", "requires_dists": [ - "pycparser" + "pycparser; implementation_name != \"PyPy\"" ], - "requires_python": ">=3.8", - "version": "1.17.1" + "requires_python": ">=3.9", + "version": "2.0.0" }, { "artifacts": [ @@ -200,13 +237,13 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "c28d268fc90fb53f1338ded2eb410704c5449a358406e8a948b75706e24863d0", - "url": "https://files.pythonhosted.org/packages/2f/57/6bffd4b20b88da3800c5d691e0337761576ee688eb01299eae865689d2df/jupyter_core-5.8.1-py3-none-any.whl" + "hash": "ebf87fdc6073d142e114c72c9e29a9d7ca03fad818c5d300ce2adc1fb0743407", + "url": "https://files.pythonhosted.org/packages/e7/e7/80988e32bf6f73919a113473a604f5a8f09094de312b9d52b79c2df7612b/jupyter_core-5.9.1-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "0a5f9706f70e64786b75acba995988915ebd4601c8a52e534a40b51c95f59941", - "url": "https://files.pythonhosted.org/packages/99/1b/72906d554acfeb588332eaaa6f61577705e9ec752ddb486f302dafa292d9/jupyter_core-5.8.1.tar.gz" + "hash": "4d09aaff303b9566c3ce657f580bd089ff5c91f5f89cf7d8846c3cdf465b5508", + "url": "https://files.pythonhosted.org/packages/02/49/9d1284d0dc65e2c757b74c6687b6d319b02f822ad039e5c512df9194d9dd/jupyter_core-5.9.1.tar.gz" } ], "project_name": "jupyter-core", @@ -220,114 +257,133 @@ "pytest-cov; extra == \"test\"", "pytest-timeout; extra == \"test\"", "pytest<9; extra == \"test\"", - "pywin32>=300; sys_platform == \"win32\" and platform_python_implementation != \"PyPy\"", "sphinx-autodoc-typehints; extra == \"docs\"", "sphinxcontrib-spelling; extra == \"docs\"", "traitlets; extra == \"docs\"", "traitlets>=5.3" ], - "requires_python": ">=3.8", - "version": "5.8.1" + "requires_python": ">=3.10", + "version": "5.9.1" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "4147151acabb9caed4e474c3344181e91ff7a388b888f1e19ea04f7e73dc7ad5", - "url": "https://files.pythonhosted.org/packages/bc/66/36c78af2efaffcc15a5a61ae0df53a1d025f2680122e2a9eb8442fed3ae4/msgpack-1.1.1-cp313-cp313-musllinux_1_2_x86_64.whl" + "hash": "d62ce1f483f355f61adb5433ebfd8868c5f078d1a52d042b0a998682b4fa8c27", + "url": "https://files.pythonhosted.org/packages/da/28/6951f7fb67bc0a4e184a6b38ab71a92d9ba58080b27a77d3e2fb0be5998f/msgpack-1.1.2-cp314-cp314t-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "897c478140877e5307760b0ea66e0932738879e7aa68144d9b78ea4c8302a84a", + "url": "https://files.pythonhosted.org/packages/16/67/93f80545eb1792b61a217fa7f06d5e5cb9e0055bed867f43e2b8e012e137/msgpack-1.1.2-cp314-cp314t-macosx_10_13_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "6c15b7d74c939ebe620dd8e559384be806204d73b4f9356320632d783d1f7939", + "url": "https://files.pythonhosted.org/packages/1b/9f/38ff9e57a2eade7bf9dfee5eae17f39fc0e998658050279cbb14d97d36d9/msgpack-1.1.2-cp314-cp314-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "8ddb2bcfd1a8b9e431c8d6f4f7db0773084e107730ecf3472f1dfe9ad583f3d9", - "url": "https://files.pythonhosted.org/packages/09/48/54a89579ea36b6ae0ee001cba8c61f776451fad3c9306cd80f5b5c55be87/msgpack-1.1.1-cp313-cp313-macosx_11_0_arm64.whl" + "hash": "e23ce8d5f7aa6ea6d2a2b326b4ba46c985dbb204523759984430db7114f8aa00", + "url": "https://files.pythonhosted.org/packages/22/71/201105712d0a2ff07b7873ed3c220292fb2ea5120603c00c4b634bcdafb3/msgpack-1.1.2-cp314-cp314-macosx_10_13_x86_64.whl" }, { "algorithm": "sha256", - "hash": "9d592d06e3cc2f537ceeeb23d38799c6ad83255289bb84c2e5792e5a8dea268a", - "url": "https://files.pythonhosted.org/packages/20/22/2ebae7ae43cd8f2debc35c631172ddf14e2a87ffcc04cf43ff9df9fff0d3/msgpack-1.1.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + "hash": "f2cb069d8b981abc72b41aea1c580ce92d57c673ec61af4c500153a626cb9e20", + "url": "https://files.pythonhosted.org/packages/24/a4/e98ccdb56dc4e98c929a3f150de1799831c0a800583cde9fa022fa90602d/msgpack-1.1.2-cp314-cp314t-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "e4141c5a32b5e37905b5940aacbc59739f036930367d7acce7a64e4dec1f5e0b", - "url": "https://files.pythonhosted.org/packages/2e/60/6bb17e9ffb080616a51f09928fdd5cac1353c9becc6c4a8abd4e57269a16/msgpack-1.1.1-cp313-cp313-musllinux_1_2_aarch64.whl" + "hash": "180759d89a057eab503cf62eeec0aa61c4ea1200dee709f3a8e9397dbb3b6931", + "url": "https://files.pythonhosted.org/packages/2f/40/dc34d1a8d5f1e51fc64640b62b191684da52ca469da9cd74e84936ffa4a6/msgpack-1.1.2-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" }, { "algorithm": "sha256", - "hash": "4df2311b0ce24f06ba253fda361f938dfecd7b961576f9be3f3fbd60e87130ac", - "url": "https://files.pythonhosted.org/packages/40/1b/54c08dd5452427e1179a40b4b607e37e2664bca1c790c60c442c8e972e47/msgpack-1.1.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" + "hash": "04fb995247a6e83830b62f0b07bf36540c213f6eac8e851166d8d86d83cbd014", + "url": "https://files.pythonhosted.org/packages/3b/ef/2b92e286366500a09a67e03496ee8b8ba00562797a52f3c117aa2b29514b/msgpack-1.1.2-cp314-cp314-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "77b79ce34a2bdab2594f490c8e80dd62a02d650b91a75159a63ec413b8d104cd", - "url": "https://files.pythonhosted.org/packages/45/b1/ea4f68038a18c77c9467400d166d74c4ffa536f34761f7983a104357e614/msgpack-1.1.1.tar.gz" + "hash": "3b60763c1373dd60f398488069bcdc703cd08a711477b5d480eecc9f9626f47e", + "url": "https://files.pythonhosted.org/packages/4d/f2/bfb55a6236ed8725a96b0aa3acbd0ec17588e6a2c3b62a93eb513ed8783f/msgpack-1.1.2.tar.gz" }, { "algorithm": "sha256", - "hash": "196a736f0526a03653d829d7d4c5500a97eea3648aebfd4b6743875f28aa2af8", - "url": "https://files.pythonhosted.org/packages/a0/60/daba2699b308e95ae792cdc2ef092a38eb5ee422f9d2fbd4101526d8a210/msgpack-1.1.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + "hash": "8e22ab046fa7ede9e36eeb4cfad44d46450f37bb05d5ec482b02868f451c95e2", + "url": "https://files.pythonhosted.org/packages/78/90/e0ea7990abea5764e4655b8177aa7c63cdfa89945b6e7641055800f6c16b/msgpack-1.1.2-cp314-cp314-musllinux_1_2_x86_64.whl" }, { "algorithm": "sha256", - "hash": "3765afa6bd4832fc11c3749be4ba4b69a0e8d7b728f78e68120a157a4c5d41f0", - "url": "https://files.pythonhosted.org/packages/a1/38/561f01cf3577430b59b340b51329803d3a5bf6a45864a55f4ef308ac11e3/msgpack-1.1.1-cp313-cp313-macosx_10_13_x86_64.whl" + "hash": "a668204fa43e6d02f89dbe79a30b0d67238d9ec4c5bd8a940fc3a004a47b721b", + "url": "https://files.pythonhosted.org/packages/87/1c/33c8a24959cf193966ef11a6f6a2995a65eb066bd681fd085afd519a57ce/msgpack-1.1.2-cp314-cp314t-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "b1ce7f41670c5a69e1389420436f41385b1aa2504c3b0c30620764b15dded2e7", - "url": "https://files.pythonhosted.org/packages/ee/97/88983e266572e8707c1f4b99c8fd04f9eb97b43f2db40e3172d87d8642db/msgpack-1.1.1-cp313-cp313-musllinux_1_2_i686.whl" + "hash": "99e2cb7b9031568a2a5c73aa077180f93dd2e95b4f8d3b8e14a73ae94a9e667e", + "url": "https://files.pythonhosted.org/packages/8e/a9/3536e385167b88c2cc8f4424c49e28d49a6fc35206d4a8060f136e71f94c/msgpack-1.1.2-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "70c5a7a9fea7f036b716191c29047374c10721c389c21e9ffafad04df8c52c90", + "url": "https://files.pythonhosted.org/packages/c1/47/5c74ecb4cc277cf09f64e913947871682ffa82b3b93c8dad68083112f412/msgpack-1.1.2-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "5559d03930d3aa0f3aacb4c42c776af1a2ace2611871c84a75afe436695e6245", + "url": "https://files.pythonhosted.org/packages/fc/6b/62e85ff7193663fbea5c0254ef32f0c77134b4059f8da89b958beb7696f3/msgpack-1.1.2-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" } ], "project_name": "msgpack", "requires_dists": [], - "requires_python": ">=3.8", - "version": "1.1.1" + "requires_python": ">=3.9", + "version": "1.1.2" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "ff7059bb7eb1179e2685604f4aaf157cfd9535242bd23742eadc3c13542139b4", - "url": "https://files.pythonhosted.org/packages/fe/39/979e8e21520d4e47a0bbe349e2713c0aac6f3d853d0e5b34d76206c439aa/platformdirs-4.3.8-py3-none-any.whl" + "hash": "d03afa3963c806a9bed9d5125c8f4cb2fdaf74a55ab60e5d59b3fde758104d31", + "url": "https://files.pythonhosted.org/packages/cb/28/3bfe2fa5a7b9c46fe7e13c97bda14c895fb10fa2ebf1d0abb90e0cea7ee1/platformdirs-4.5.1-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "3d512d96e16bcb959a814c9f348431070822a6496326a4be0911c40b5a74c2bc", - "url": "https://files.pythonhosted.org/packages/fe/8b/3c73abc9c759ecd3f1f7ceff6685840859e8070c4d947c93fae71f6a0bf2/platformdirs-4.3.8.tar.gz" + "hash": "61d5cdcc6065745cdd94f0f878977f8de9437be93de97c1c12f853c9c0cdcbda", + "url": "https://files.pythonhosted.org/packages/cf/86/0248f086a84f01b37aaec0fa567b397df1a119f73c16f6c7a9aac73ea309/platformdirs-4.5.1.tar.gz" } ], "project_name": "platformdirs", "requires_dists": [ "appdirs==1.4.4; extra == \"test\"", "covdefaults>=2.3; extra == \"test\"", - "furo>=2024.8.6; extra == \"docs\"", - "mypy>=1.14.1; extra == \"type\"", + "furo>=2025.9.25; extra == \"docs\"", + "mypy>=1.18.2; extra == \"type\"", "proselint>=0.14; extra == \"docs\"", - "pytest-cov>=6; extra == \"test\"", - "pytest-mock>=3.14; extra == \"test\"", - "pytest>=8.3.4; extra == \"test\"", - "sphinx-autodoc-typehints>=3; extra == \"docs\"", - "sphinx>=8.1.3; extra == \"docs\"" + "pytest-cov>=7; extra == \"test\"", + "pytest-mock>=3.15.1; extra == \"test\"", + "pytest>=8.4.2; extra == \"test\"", + "sphinx-autodoc-typehints>=3.2; extra == \"docs\"", + "sphinx>=8.2.3; extra == \"docs\"" ], - "requires_python": ">=3.9", - "version": "4.3.8" + "requires_python": ">=3.10", + "version": "4.5.1" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc", - "url": "https://files.pythonhosted.org/packages/13/a3/a812df4e2dd5696d1f351d58b8fe16a405b234ad2886a0dab9183fb78109/pycparser-2.22-py3-none-any.whl" + "hash": "e5c6e8d3fbad53479cab09ac03729e0a9faf2bee3db8208a550daf5af81a5934", + "url": "https://files.pythonhosted.org/packages/a0/e3/59cd50310fc9b59512193629e1984c1f95e5c8ae6e5d8c69532ccc65a7fe/pycparser-2.23-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6", - "url": "https://files.pythonhosted.org/packages/1d/b2/31537cf4b1ca988837256c910a668b553fceb8f069bedc4b1c826024b52c/pycparser-2.22.tar.gz" + "hash": "78816d4f24add8f10a06d6f05b4d424ad9e96cfebf68a4ddc99c65c0720d00c2", + "url": "https://files.pythonhosted.org/packages/fe/cf/d2d3b9f5699fb1e4615c8e32ff220203e43b248e1dfcc6736ad9057731ca/pycparser-2.23.tar.gz" } ], "project_name": "pycparser", "requires_dists": [], "requires_python": ">=3.8", - "version": "2.22" + "version": "2.23" }, { "artifacts": [ @@ -351,90 +407,10 @@ }, { "artifacts": [ - { - "algorithm": "sha256", - "hash": "26a2a7451606b87f67cdeca2c2789d86f605da08b4bd616b1a9981605ca3a364", - "url": "https://files.pythonhosted.org/packages/05/4c/bf3cad0d64c3214ac881299c4562b815f05d503bccc513e3fd4fdc6f67e4/pyzmq-26.4.0-cp313-cp313t-musllinux_1_1_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "da8c0f5dd352136853e6a09b1b986ee5278dfddfebd30515e16eae425c872b30", - "url": "https://files.pythonhosted.org/packages/0a/27/454d34ab6a1d9772a36add22f17f6b85baf7c16e14325fa29e7202ca8ee8/pyzmq-26.4.0-cp313-cp313-musllinux_1_1_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "1c0b5fceadbab461578daf8d1dcc918ebe7ddd2952f748cf30c7cf2de5d51101", - "url": "https://files.pythonhosted.org/packages/13/ff/bc8d21dbb9bc8705126e875438a1969c4f77e03fc8565d6901c7933a3d01/pyzmq-26.4.0-cp313-cp313-musllinux_1_1_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "6332452034be001bbf3206ac59c0d2a7713de5f25bb38b06519fc6967b7cf771", - "url": "https://files.pythonhosted.org/packages/18/a6/f048826bc87528c208e90604c3bf573801e54bd91e390cbd2dfa860e82dc/pyzmq-26.4.0-cp313-cp313-manylinux_2_28_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "31be2b6de98c824c06f5574331f805707c667dc8f60cb18580b7de078479891e", - "url": "https://files.pythonhosted.org/packages/1a/cf/b36b3d7aea236087d20189bec1a87eeb2b66009731d7055e5c65f845cdba/pyzmq-26.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "902aca7eba477657c5fb81c808318460328758e8367ecdd1964b6330c73cae43", - "url": "https://files.pythonhosted.org/packages/58/29/2f06b9cabda3a6ea2c10f43e67ded3e47fc25c54822e2506dfb8325155d4/pyzmq-26.4.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "cb45684f276f57110bb89e4300c00f1233ca631f08f5f42528a5c408a79efc4a", - "url": "https://files.pythonhosted.org/packages/5c/c7/6c03637e8d742c3b00bec4f5e4cd9d1c01b2f3694c6f140742e93ca637ed/pyzmq-26.4.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "93a29e882b2ba1db86ba5dd5e88e18e0ac6b627026c5cfbec9983422011b82d4", - "url": "https://files.pythonhosted.org/packages/65/c2/1fac340de9d7df71efc59d9c50fc7a635a77b103392d1842898dd023afcb/pyzmq-26.4.0-cp313-cp313t-macosx_10_15_universal2.whl" - }, - { - "algorithm": "sha256", - "hash": "b30f862f6768b17040929a68432c8a8be77780317f45a353cb17e423127d250c", - "url": "https://files.pythonhosted.org/packages/6e/bc/f88b0bad0f7a7f500547d71e99f10336f2314e525d4ebf576a1ea4a1d903/pyzmq-26.4.0-cp313-cp313t-musllinux_1_1_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "e5e48a830bfd152fe17fbdeaf99ac5271aa4122521bf0d275b6b24e52ef35eb6", - "url": "https://files.pythonhosted.org/packages/77/e4/dcf62bd29e5e190bd21bfccaa4f3386e01bf40d948c239239c2f1e726729/pyzmq-26.4.0-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl" - }, - { - "algorithm": "sha256", - "hash": "be37e24b13026cfedd233bcbbccd8c0bcd2fdd186216094d095f60076201538d", - "url": "https://files.pythonhosted.org/packages/7d/7e/f63af1031eb060bf02d033732b910fe48548dcfdbe9c785e9f74a6cc6ae4/pyzmq-26.4.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "f72073e75260cb301aad4258ad6150fa7f57c719b3f498cb91e31df16784d89b", - "url": "https://files.pythonhosted.org/packages/a5/97/a8dca65913c0f78e0545af2bb5078aebfc142ca7d91cdaffa1fbc73e5dbd/pyzmq-26.4.0-cp313-cp313t-manylinux_2_17_i686.manylinux2014_i686.whl" - }, { "algorithm": "sha256", "hash": "4bd13f85f80962f91a651a7356fe0472791a5f7a92f227822b5acf44795c626d", "url": "https://files.pythonhosted.org/packages/b1/11/b9213d25230ac18a71b39b3723494e57adebe36e066397b961657b3b41c1/pyzmq-26.4.0.tar.gz" - }, - { - "algorithm": "sha256", - "hash": "c43fac689880f5174d6fc864857d1247fe5cfa22b09ed058a344ca92bf5301e3", - "url": "https://files.pythonhosted.org/packages/d7/20/fb2c92542488db70f833b92893769a569458311a76474bda89dc4264bd18/pyzmq-26.4.0-cp313-cp313-macosx_10_15_universal2.whl" - }, - { - "algorithm": "sha256", - "hash": "c80fcd3504232f13617c6ab501124d373e4895424e65de8b72042333316f64a8", - "url": "https://files.pythonhosted.org/packages/d9/8c/db446a3dd9cf894406dec2e61eeffaa3c07c3abb783deaebb9812c4af6a5/pyzmq-26.4.0-cp313-cp313t-musllinux_1_1_i686.whl" - }, - { - "algorithm": "sha256", - "hash": "f4ccc1a0a2c9806dda2a2dd118a3b7b681e448f3bb354056cad44a65169f6d86", - "url": "https://files.pythonhosted.org/packages/f4/3d/7abfeab6b83ad38aa34cbd57c6fc29752c391e3954fd12848bd8d2ec0df6/pyzmq-26.4.0-cp313-cp313-musllinux_1_1_i686.whl" - }, - { - "algorithm": "sha256", - "hash": "237b283044934d26f1eeff4075f751b05d2f3ed42a257fc44386d00df6a270cf", - "url": "https://files.pythonhosted.org/packages/f6/fa/1a009ce582802a895c0d5fe9413f029c940a0a8ee828657a3bb0acffd88b/pyzmq-26.4.0-cp313-cp313t-manylinux_2_28_x86_64.whl" } ], "project_name": "pyzmq", @@ -448,108 +424,88 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "d136fbf8ad4321716e44d6d6b3d8dffb4872626010884e07a1db54b7450836cf", - "url": "https://files.pythonhosted.org/packages/9a/fd/5474b04f1c013ff460129d2bc774557dd6e186da4667865efef9a83bf378/setproctitle-1.3.6-cp313-cp313t-musllinux_1_2_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "81c443310831e29fabbd07b75ebbfa29d0740b56f5907c6af218482d51260431", - "url": "https://files.pythonhosted.org/packages/04/38/a184f857b988d3a9c401e470a4e38182a5c99ee77bf90432d7665e9d35a3/setproctitle-1.3.6-cp313-cp313t-macosx_11_0_arm64.whl" - }, - { - "algorithm": "sha256", - "hash": "49498ebf68ca3e75321ffe634fcea5cc720502bfaa79bd6b03ded92ce0dc3c24", - "url": "https://files.pythonhosted.org/packages/1a/73/c84ec8880d543766a12fcd6b65dbd013770974a40577889f357409b0441e/setproctitle-1.3.6-cp313-cp313t-musllinux_1_2_i686.whl" - }, - { - "algorithm": "sha256", - "hash": "de004939fc3fd0c1200d26ea9264350bfe501ffbf46c8cf5dc7f345f2d87a7f1", - "url": "https://files.pythonhosted.org/packages/31/62/e3e4a4e006d0e549748e53cded4ff3b667be0602860fc61b7de8b412b667/setproctitle-1.3.6-cp313-cp313-musllinux_1_2_ppc64le.whl" + "hash": "1fae595d032b30dab4d659bece20debd202229fce12b55abab978b7f30783d73", + "url": "https://files.pythonhosted.org/packages/e7/e3/54b496ac724e60e61cc3447f02690105901ca6d90da0377dffe49ff99fc7/setproctitle-1.3.7-cp314-cp314t-musllinux_1_2_x86_64.whl" }, { "algorithm": "sha256", - "hash": "23a57d3b8f1549515c2dbe4a2880ebc1f27780dc126c5e064167563e015817f5", - "url": "https://files.pythonhosted.org/packages/39/ad/c3941b8fc6b32a976c9e2d9615a90ae793b69cd010ca8c3575dbc822104f/setproctitle-1.3.6-cp313-cp313t-macosx_10_13_universal2.whl" + "hash": "6fc87caf9e323ac426910306c3e5d3205cd9f8dcac06d233fcafe9337f0928a3", + "url": "https://files.pythonhosted.org/packages/01/6d/20886c8ff2e6d85e3cabadab6aab9bb90acaf1a5cfcb04d633f8d61b2626/setproctitle-1.3.7-cp314-cp314t-macosx_10_13_universal2.whl" }, { "algorithm": "sha256", - "hash": "751ba352ed922e0af60458e961167fa7b732ac31c0ddd1476a2dfd30ab5958c5", - "url": "https://files.pythonhosted.org/packages/5c/5b/4e0db8b10b4543afcb3dbc0827793d46e43ec1de6b377e313af3703d08e0/setproctitle-1.3.6-cp313-cp313-macosx_11_0_arm64.whl" + "hash": "45e3ef48350abb49cf937d0a8ba15e42cee1e5ae13ca41a77c66d1abc27a5070", + "url": "https://files.pythonhosted.org/packages/0a/0c/fd4901db5ba4b9d9013e62f61d9c18d52290497f956745cd3e91b0d80f90/setproctitle-1.3.7-cp314-cp314t-musllinux_1_2_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "e3e44d08b61de0dd6f205528498f834a51a5c06689f8fb182fe26f3a3ce7dca9", - "url": "https://files.pythonhosted.org/packages/70/78/2d5385206540127a3dca0ff83225b1ac66873f5cc89d4a6d3806c92f5ae2/setproctitle-1.3.6-cp313-cp313-musllinux_1_2_i686.whl" + "hash": "b91387cc0f02a00ac95dcd93f066242d3cca10ff9e6153de7ee07069c6f0f7c8", + "url": "https://files.pythonhosted.org/packages/15/1b/b9bee9de6c8cdcb3b3a6cb0b3e773afdb86bbbc1665a3bfa424a4294fda2/setproctitle-1.3.7-cp314-cp314-musllinux_1_2_x86_64.whl" }, { "algorithm": "sha256", - "hash": "3393859eb8f19f5804049a685bf286cb08d447e28ba5c6d8543c7bf5500d5970", - "url": "https://files.pythonhosted.org/packages/81/c6/dee0a973acecefb0db6c9c2e0ea7f18b7e4db773a72e534741ebdee8bbb8/setproctitle-1.3.6-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" + "hash": "14c7eba8d90c93b0e79c01f0bd92a37b61983c27d6d7d5a3b5defd599113d60e", + "url": "https://files.pythonhosted.org/packages/1c/1a/8836b9f28cee32859ac36c3df85aa03e1ff4598d23ea17ca2e96b5845a8f/setproctitle-1.3.7-cp314-cp314-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "e2a9e62647dc040a76d55563580bf3bb8fe1f5b6ead08447c2ed0d7786e5e794", - "url": "https://files.pythonhosted.org/packages/89/76/f1a2fdbf9b9602945a7489ba5c52e9863de37381ef1a85a2b9ed0ff8bc79/setproctitle-1.3.6-cp313-cp313-macosx_10_13_universal2.whl" + "hash": "96c38cdeef9036eb2724c2210e8d0b93224e709af68c435d46a4733a3675fee1", + "url": "https://files.pythonhosted.org/packages/20/92/927b7d4744aac214d149c892cb5fa6dc6f49cfa040cb2b0a844acd63dcaf/setproctitle-1.3.7-cp314-cp314t-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "4431629c178193f23c538cb1de3da285a99ccc86b20ee91d81eb5f1a80e0d2ba", - "url": "https://files.pythonhosted.org/packages/95/0a/126b9ff7a406a69a62825fe5bd6d1ba8671919a7018c4f9e2c63f49bfcb6/setproctitle-1.3.6-cp313-cp313t-musllinux_1_2_ppc64le.whl" + "hash": "1403d2abfd32790b6369916e2313dffbe87d6b11dca5bbd898981bcde48e7a2b", + "url": "https://files.pythonhosted.org/packages/21/9c/980b01f50d51345dd513047e3ba9e96468134b9181319093e61db1c47188/setproctitle-1.3.7-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl" }, { "algorithm": "sha256", - "hash": "c9f32b96c700bb384f33f7cf07954bb609d35dd82752cef57fb2ee0968409169", - "url": "https://files.pythonhosted.org/packages/9e/af/56efe21c53ac81ac87e000b15e60b3d8104224b4313b6eacac3597bd183d/setproctitle-1.3.6.tar.gz" + "hash": "7f9e9e3ff135cbcc3edd2f4cf29b139f4aca040d931573102742db70ff428c17", + "url": "https://files.pythonhosted.org/packages/34/b2/6a092076324dd4dac1a6d38482bedebbff5cf34ef29f58585ec76e47bc9d/setproctitle-1.3.7-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "b2b17855ed7f994f3f259cf2dfbfad78814538536fa1a91b50253d84d87fd88d", - "url": "https://files.pythonhosted.org/packages/9f/b3/894b827b93ef813c082479bebf88185860f01ac243df737823dd705e7fff/setproctitle-1.3.6-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" + "hash": "e7c5bfe4228ea22373e3025965d1a4116097e555ee3436044f5c954a5e63ac45", + "url": "https://files.pythonhosted.org/packages/86/b4/82cd0c86e6d1c4538e1a7eb908c7517721513b801dff4ba3f98ef816a240/setproctitle-1.3.7-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" }, { "algorithm": "sha256", - "hash": "3f8194b4d631b003a1176a75d1acd545e04b1f54b821638e098a93e6e62830ef", - "url": "https://files.pythonhosted.org/packages/aa/05/4b223fd4ef94e105dc7aff27fa502fb7200cf52be2bb0c064bd2406b5611/setproctitle-1.3.6-cp313-cp313-musllinux_1_2_x86_64.whl" + "hash": "80c36c6a87ff72eabf621d0c79b66f3bdd0ecc79e873c1e9f0651ee8bf215c63", + "url": "https://files.pythonhosted.org/packages/89/c7/43ac3a98414f91d1b86a276bc2f799ad0b4b010e08497a95750d5bc42803/setproctitle-1.3.7-cp314-cp314-macosx_10_13_universal2.whl" }, { "algorithm": "sha256", - "hash": "2e51ec673513465663008ce402171192a053564865c2fc6dc840620871a9bd7c", - "url": "https://files.pythonhosted.org/packages/b2/cd/5330734cca1a4cfcb721432c22cb7899ff15a4101ba868b2ef452ffafea1/setproctitle-1.3.6-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" + "hash": "585edf25e54e21a94ccb0fe81ad32b9196b69ebc4fc25f81da81fb8a50cca9e4", + "url": "https://files.pythonhosted.org/packages/8a/4f/9f6b2a7417fd45673037554021c888b31247f7594ff4bd2239918c5cd6d0/setproctitle-1.3.7-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "d88c63bd395c787b0aa81d8bbc22c1809f311032ce3e823a6517b711129818e4", - "url": "https://files.pythonhosted.org/packages/b7/b9/4878ef9d8483adfd1edf6bf95151362aaec0d05aac306a97ff0383f491b5/setproctitle-1.3.6-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + "hash": "bc2bc917691c1537d5b9bca1468437176809c7e11e5694ca79a9ca12345dcb9e", + "url": "https://files.pythonhosted.org/packages/8d/48/49393a96a2eef1ab418b17475fb92b8fcfad83d099e678751b05472e69de/setproctitle-1.3.7.tar.gz" }, { "algorithm": "sha256", - "hash": "d73f14b86d0e2858ece6bf5807c9889670e392c001d414b4293d0d9b291942c3", - "url": "https://files.pythonhosted.org/packages/cc/60/3ef49d1931aff2a36a7324a49cca10d77ef03e0278452fd468c33a52d7e3/setproctitle-1.3.6-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" + "hash": "6134c63853d87a4897ba7d5cc0e16abfa687f6c66fc09f262bb70d67718f2309", + "url": "https://files.pythonhosted.org/packages/9a/60/26dfc5f198715f1343b95c2f7a1c16ae9ffa45bd89ffd45a60ed258d24ea/setproctitle-1.3.7-cp314-cp314t-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "7890e291bf4708e3b61db9069ea39b3ab0651e42923a5e1f4d78a7b9e4b18301", - "url": "https://files.pythonhosted.org/packages/dc/fe/d5d00aaa700fe1f6160b6e95c225b29c01f4d9292176d48fd968815163ea/setproctitle-1.3.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + "hash": "fcb966a6c57cf07cc9448321a08f3be6b11b7635be502669bc1d8745115d7e7f", + "url": "https://files.pythonhosted.org/packages/ab/26/8e3bb082992f19823d831f3d62a89409deb6092e72fc6940962983ffc94f/setproctitle-1.3.7-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl" }, { "algorithm": "sha256", - "hash": "c051f46ed1e13ba8214b334cbf21902102807582fbfaf0fef341b9e52f0fafbf", - "url": "https://files.pythonhosted.org/packages/df/a6/1508d37eb8008670d33f13fcdb91cbd8ef54697276469abbfdd3d4428c59/setproctitle-1.3.6-cp313-cp313t-musllinux_1_2_aarch64.whl" + "hash": "b53602371a52b91c80aaf578b5ada29d311d12b8a69c0c17fbc35b76a1fd4f2e", + "url": "https://files.pythonhosted.org/packages/cd/2c/dc258600a25e1a1f04948073826bebc55e18dbd99dc65a576277a82146fa/setproctitle-1.3.7-cp314-cp314-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "0dba8faee2e4a96e934797c9f0f2d093f8239bf210406a99060b3eabe549628e", - "url": "https://files.pythonhosted.org/packages/e6/b1/c553ed5af8cfcecd5ae7737e63af58a17a03d26f3d61868c7eb20bf7e3cf/setproctitle-1.3.6-cp313-cp313-musllinux_1_2_aarch64.whl" + "hash": "9e64e98077fb30b6cf98073d6c439cd91deb8ebbf8fc62d9dbf52bd38b0c6ac0", + "url": "https://files.pythonhosted.org/packages/ef/22/8fabdc24baf42defb599714799d8445fe3ae987ec425a26ec8e80ea38f8e/setproctitle-1.3.7-cp314-cp314-musllinux_1_2_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "785cd210c0311d9be28a70e281a914486d62bfd44ac926fcd70cf0b4d65dff1c", - "url": "https://files.pythonhosted.org/packages/ea/a5/5dd5c4192cf18d16349a32a07f728a9a48a2a05178e16966cabd6645903e/setproctitle-1.3.6-cp313-cp313t-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "63cc10352dc6cf35a33951656aa660d99f25f574eb78132ce41a85001a638aa7", - "url": "https://files.pythonhosted.org/packages/fa/d3/c2590c5daa2e9a008d3f2b16c0f4a351826193be55f147cb32af49c6d814/setproctitle-1.3.6-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + "hash": "46178672599b940368d769474fe13ecef1b587d58bb438ea72b9987f74c56ea5", + "url": "https://files.pythonhosted.org/packages/f1/af/ae692a20276d1159dd0cf77b0bcf92cbb954b965655eb4a69672099bb214/setproctitle-1.3.7-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" } ], "project_name": "setproctitle", @@ -557,7 +513,7 @@ "pytest; extra == \"test\"" ], "requires_python": ">=3.8", - "version": "1.3.6" + "version": "1.3.7" }, { "artifacts": [ @@ -662,56 +618,86 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "768890cac4f2d7fd9e0feb6f3217fce2abbfdfc0cadd38d11fba325a815e4b9f", - "url": "https://files.pythonhosted.org/packages/43/5e/67312e679f612218d07fcdbd14017e6d571ce240a5ba1ad734f15a8523cc/types_python_dateutil-2.9.0.20250809-py3-none-any.whl" + "hash": "9cf9c1c582019753b8639a081deefd7e044b9fa36bd8217f565c6c4e36ee0624", + "url": "https://files.pythonhosted.org/packages/43/0b/56961d3ba517ed0df9b3a27bfda6514f3d01b28d499d1bce9068cfe4edd1/types_python_dateutil-2.9.0.20251115-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "69cbf8d15ef7a75c3801d65d63466e46ac25a0baa678d89d0a137fc31a608cc1", - "url": "https://files.pythonhosted.org/packages/a3/53/07dac71db45fb6b3c71c2fd29a87cada2239eac7ecfb318e6ebc7da00a3b/types_python_dateutil-2.9.0.20250809.tar.gz" + "hash": "8a47f2c3920f52a994056b8786309b43143faa5a64d4cbb2722d6addabdf1a58", + "url": "https://files.pythonhosted.org/packages/6a/36/06d01fb52c0d57e9ad0c237654990920fa41195e4b3d640830dabf9eeb2f/types_python_dateutil-2.9.0.20251115.tar.gz" } ], "project_name": "types-python-dateutil", "requires_dists": [], "requires_python": ">=3.9", - "version": "2.9.0.20250809" + "version": "2.9.0.20251115" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "a5c39f217ab3c663dc699c04cbd50c13813e31d917642d459fdcec07555cc553", - "url": "https://files.pythonhosted.org/packages/63/9a/0962b05b308494e3202d3f794a6e85abe471fe3cafdbcf95c2e8c713aabd/uvloop-0.21.0-cp313-cp313-musllinux_1_2_x86_64.whl" + "hash": "6cde23eeda1a25c75b2e07d39970f3374105d5eafbaab2a4482be82f272d5a5e", + "url": "https://files.pythonhosted.org/packages/e4/16/c1fd27e9549f3c4baf1dc9c20c456cd2f822dbf8de9f463824b0c0357e06/uvloop-0.22.1-cp314-cp314t-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "b31dc2fccbd42adc73bc4e7cdbae4fc5086cf378979e53ca5d0301838c5682c6", + "url": "https://files.pythonhosted.org/packages/02/62/67d382dfcb25d0a98ce73c11ed1a6fba5037a1a1d533dcbb7cab033a2636/uvloop-0.22.1-cp314-cp314-musllinux_1_2_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "6c84bae345b9147082b17371e3dd5d42775bddce91f885499017f4607fdaf39f", + "url": "https://files.pythonhosted.org/packages/06/f0/18d39dbd1971d6d62c4629cc7fa67f74821b0dc1f5a77af43719de7936a7/uvloop-0.22.1.tar.gz" + }, + { + "algorithm": "sha256", + "hash": "4baa86acedf1d62115c1dc6ad1e17134476688f08c6efd8a2ab076e815665c74", + "url": "https://files.pythonhosted.org/packages/0d/f8/a132124dfda0777e489ca86732e85e69afcd1ff7686647000050ba670689/uvloop-0.22.1-cp314-cp314-macosx_10_13_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "badb4d8e58ee08dad957002027830d5c3b06aea446a6a3744483c2b3b745345c", + "url": "https://files.pythonhosted.org/packages/42/38/c9b09f3271a7a723a5de69f8e237ab8e7803183131bc57c890db0b6bb872/uvloop-0.22.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "37554f70528f60cad66945b885eb01f1bb514f132d92b6eeed1c90fd54ed6289", + "url": "https://files.pythonhosted.org/packages/79/7b/b01414f31546caf0919da80ad57cbfe24c56b151d12af68cee1b04922ca8/uvloop-0.22.1-cp314-cp314t-macosx_10_13_universal2.whl" + }, + { + "algorithm": "sha256", + "hash": "3879b88423ec7e97cd4eba2a443aa26ed4e59b45e6b76aabf13fe2f27023a142", + "url": "https://files.pythonhosted.org/packages/90/cd/b62bdeaa429758aee8de8b00ac0dd26593a9de93d302bff3d21439e9791d/uvloop-0.22.1-cp314-cp314-macosx_10_13_universal2.whl" }, { "algorithm": "sha256", - "hash": "bfd55dfcc2a512316e65f16e503e9e450cab148ef11df4e4e679b5e8253a5281", - "url": "https://files.pythonhosted.org/packages/3f/8d/2cbef610ca21539f0f36e2b34da49302029e7c9f09acef0b1c3b5839412b/uvloop-0.21.0-cp313-cp313-macosx_10_13_universal2.whl" + "hash": "daf620c2995d193449393d6c62131b3fbd40a63bf7b307a1527856ace637fe88", + "url": "https://files.pythonhosted.org/packages/97/cc/48d232f33d60e2e2e0b42f4e73455b146b76ebe216487e862700457fbf3c/uvloop-0.22.1-cp314-cp314t-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "bd53ecc9a0f3d87ab847503c2e1552b690362e005ab54e8a48ba97da3924c0dc", - "url": "https://files.pythonhosted.org/packages/47/57/66f061ee118f413cd22a656de622925097170b9380b30091b78ea0c6ea75/uvloop-0.21.0-cp313-cp313-musllinux_1_2_aarch64.whl" + "hash": "297c27d8003520596236bdb2335e6b3f649480bd09e00d1e3a99144b691d2a35", + "url": "https://files.pythonhosted.org/packages/a3/94/94af78c156f88da4b3a733773ad5ba0b164393e357cc4bd0ab2e2677a7d6/uvloop-0.22.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" }, { "algorithm": "sha256", - "hash": "5ee4d4ef48036ff6e5cfffb09dd192c7a5027153948d85b8da7ff705065bacc6", - "url": "https://files.pythonhosted.org/packages/50/94/0a687f39e78c4c1e02e3272c6b2ccdb4e0085fda3b8352fecd0410ccf915/uvloop-0.21.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + "hash": "c1955d5a1dd43198244d47664a5858082a3239766a839b2102a269aaff7a4e25", + "url": "https://files.pythonhosted.org/packages/b5/35/60249e9fd07b32c665192cec7af29e06c7cd96fa1d08b84f012a56a0b38e/uvloop-0.22.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" }, { "algorithm": "sha256", - "hash": "787ae31ad8a2856fc4e7c095341cccc7209bd657d0e71ad0dc2ea83c4a6fa8af", - "url": "https://files.pythonhosted.org/packages/93/0d/b0038d5a469f94ed8f2b2fce2434a18396d8fbfb5da85a0a9781ebbdec14/uvloop-0.21.0-cp313-cp313-macosx_10_13_x86_64.whl" + "hash": "b91328c72635f6f9e0282e4a57da7470c7350ab1c9f48546c0f2866205349d21", + "url": "https://files.pythonhosted.org/packages/c1/37/945b4ca0ac27e3dc4952642d4c900edd030b3da6c9634875af6e13ae80e5/uvloop-0.22.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" }, { "algorithm": "sha256", - "hash": "3bf12b0fda68447806a7ad847bfa591613177275d35b6724b1ee573faa3704e3", - "url": "https://files.pythonhosted.org/packages/af/c0/854216d09d33c543f12a44b393c402e89a920b1a0a7dc634c42de91b9cf6/uvloop-0.21.0.tar.gz" + "hash": "b76324e2dc033a0b2f435f33eb88ff9913c156ef78e153fb210e03c13da746b3", + "url": "https://files.pythonhosted.org/packages/d4/31/0bb232318dd838cad3fa8fb0c68c8b40e1145b32025581975e18b11fab40/uvloop-0.22.1-cp314-cp314t-macosx_10_13_x86_64.whl" }, { "algorithm": "sha256", - "hash": "f3df876acd7ec037a3d005b3ab85a7e4110422e4d9c1571d4fc89b0fc41b6816", - "url": "https://files.pythonhosted.org/packages/d2/19/f5b78616566ea68edd42aacaf645adbf71fbd83fc52281fba555dc27e3f1/uvloop-0.21.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + "hash": "93f617675b2d03af4e72a5333ef89450dfaa5321303ede6e67ba9c9d26878079", + "url": "https://files.pythonhosted.org/packages/f0/7a/f1171b4a882a5d13c8b7576f348acfe6074d72eaf52cccef752f748d4a9f/uvloop-0.22.1-cp314-cp314-musllinux_1_2_x86_64.whl" } ], "project_name": "uvloop", @@ -719,19 +705,20 @@ "Cython~=3.0; extra == \"dev\"", "Sphinx~=4.1.2; extra == \"docs\"", "aiohttp>=3.10.5; extra == \"test\"", - "flake8~=5.0; extra == \"test\"", + "flake8~=6.1; extra == \"test\"", "mypy>=0.800; extra == \"test\"", "psutil; extra == \"test\"", - "pyOpenSSL~=23.0.0; extra == \"test\"", - "pycodestyle~=2.9.0; extra == \"test\"", + "pyOpenSSL~=25.3.0; extra == \"test\"", + "pycodestyle~=2.11.0; extra == \"test\"", "setuptools>=60; extra == \"dev\"", - "sphinx-rtd-theme~=0.5.2; extra == \"docs\"", + "sphinx_rtd_theme~=0.5.2; extra == \"docs\"", "sphinxcontrib-asyncio~=0.3.0; extra == \"docs\"" ], - "requires_python": ">=3.8.0", - "version": "0.21.0" + "requires_python": ">=3.8.1", + "version": "0.22.1" } ], + "marker": null, "platform_tag": null } ], @@ -739,8 +726,8 @@ "only_wheels": [], "overridden": [], "path_mappings": {}, - "pex_version": "2.50.4", - "pip_version": "25.2", + "pex_version": "2.74.1", + "pip_version": "25.3", "prefer_older_binary": false, "requirements": [ "attrs~=23.2", @@ -753,7 +740,7 @@ "uvloop~=0.19" ], "requires_python": [ - "==3.13.7" + "CPython==3.14.1" ], "resolver_version": "pip-2020-resolver", "style": "universal", diff --git a/python.lock b/python.lock index 668d0a519bd..58ea7c5c16e 100644 --- a/python.lock +++ b/python.lock @@ -4,9 +4,9 @@ // // --- BEGIN PANTS LOCKFILE METADATA: DO NOT EDIT OR REMOVE --- // { -// "version": 3, +// "version": 4, // "valid_for_interpreter_constraints": [ -// "CPython==3.13.7" +// "CPython==3.14.1" // ], // "generated_with_requirements": [ // "Jinja2~=3.1.6", @@ -15,36 +15,36 @@ // "SQLAlchemy[postgresql_asyncpg]~=1.4.54", // "aioboto3~=15.0.0", // "aiodataloader~=0.4.2", -// "aiodns==3.2", +// "aiodns~=3.2", // "aiodocker==0.24.0", // "aiofiles~=24.1.0", // "aiohttp_cors~=0.8.1", // "aiohttp_jinja2~=1.6", -// "aiohttp_sse>=2.2", -// "aiohttp~=3.12.15", +// "aiohttp_sse~=2.2", +// "aiohttp~=3.13.0", // "aiomonitor~=0.7.0", -// "aioresponses>=0.7.3", +// "aioresponses~=0.7.8", // "aiosqlite~=0.21.0", // "aiotools~=2.2.3", // "aiotusclient~=0.1.4", // "alembic~=1.13.2", // "appdirs~=1.4.4", // "async_timeout~=4.0", -// "asyncpg>=0.29.0", -// "asynctest>=0.13.0", -// "asyncudp>=0.11", -// "attrs>=25.3", +// "asyncpg~=0.31.0", +// "asynctest~=0.13.0", +// "asyncudp~=0.11", +// "attrs~=25.3", // "backend.ai-krunner-alpine==5.4.0", // "backend.ai-krunner-static-gnu==4.4.0", -// "bcrypt~=4.2.0", +// "bcrypt~=5.0.0", // "boto3~=1.35", // "cachetools~=5.5.0", // "callosum~=1.0.3", // "cattrs~=24.1.1", // "click~=8.1.7", -// "colorama>=0.4.6", +// "colorama~=0.4.6", // "coloredlogs~=15.0", -// "cryptography>=44.0.2", +// "cryptography~=44.0.2", // "dataclasses-json~=0.5.7", // "etcd-client-py~=0.4.1", // "faker~=24.7.1", @@ -53,54 +53,54 @@ // "graphql-core~=3.2.6", // "graphql-relay~=3.2.0", // "graypy==2.1.0", -// "hiredis>=3.0.0", +// "hiredis~=3.3.0", // "huggingface-hub~=0.34.3", -// "humanize>=3.1.0", +// "humanize~=4.11", // "ifaddr~=0.2", // "inquirer~=3.3.0", // "janus~=2.0", -// "jupyter-client>=8.6", +// "jupyter-client~=8.6", // "kubernetes-asyncio~=33.3.0", // "kubernetes~=33.1.0", // "lark~=1.1.5", -// "memray~=1.17.2", +// "memray~=1.19.0", // "more-itertools~=10.5.0", -// "msgpack~=1.1.0", -// "multidict~=6.6.4", +// "msgpack~=1.1.2", +// "multidict~=6.7.0", // "namedlist~=1.8", // "networkx~=3.3.0", -// "opentelemetry-api~=1.33.1", -// "opentelemetry-exporter-otlp-proto-grpc~=1.33.1", -// "opentelemetry-instrumentation-aiohttp-client~=0.54b1", -// "opentelemetry-instrumentation-aiohttp-server~=0.54b1", -// "opentelemetry-instrumentation-logging~=0.54b1", -// "opentelemetry-sdk~=1.33.1", -// "orjson~=3.10.16", -// "packaging>=24.1", +// "opentelemetry-api~=1.39.0", +// "opentelemetry-exporter-otlp-proto-grpc~=1.39.0", +// "opentelemetry-instrumentation-aiohttp-client~=0.60b0", +// "opentelemetry-instrumentation-aiohttp-server~=0.60b0", +// "opentelemetry-instrumentation-logging~=0.60b0", +// "opentelemetry-sdk~=1.39.0", +// "orjson~=3.11.0", +// "packaging~=24.2", // "pexpect~=4.8", // "prometheus-client~=0.21.1", // "psutil~=7.0", -// "pycryptodome>=3.20.0", -// "pydantic[email]~=2.11.3", +// "pycryptodome~=3.21", +// "pydantic[email]~=2.12.0", // "pyhumps~=3.8.0", // "pyroscope-io~=0.8.8", // "pytest-aiohttp~=1.1.0", -// "pytest-dependency>=0.6.0", -// "pytest-mock>=3.14.0", -// "pytest>=8.3.3", -// "python-dateutil>=2.9", +// "pytest-dependency~=0.6.0", +// "pytest-mock~=3.14.0", +// "pytest~=8.3.3", +// "python-dateutil~=2.9", // "python-dotenv~=0.20.0", // "python-json-logger~=3.2.0", // "pyzmq~=26.4", -// "redis[hiredis]==4.5.5", +// "redis[hiredis]~=5.2.0", // "rich~=13.6", // "ruamel.yaml~=0.18.10", -// "setproctitle~=1.3.5", +// "setproctitle~=1.3.7", // "setuptools~=80.0.0", // "strawberry-graphql~=0.278.0", // "tabulate~=0.8.9", // "temporenc~=0.1.0", -// "tenacity>=9.0", +// "tenacity~=9.0", // "testcontainers[minio,postgres,redis]~=4.8.1", // "textual~=0.79.1", // "tomli-w~=1.2.0", @@ -127,14 +127,16 @@ // "types-tqdm", // "typing_extensions~=4.11", // "uvloop~=0.22.1; sys_platform != \"Windows\"", -// "valkey-glide~=2.0.1", -// "yarl~=1.19.0", +// "valkey-glide~=2.2.1", +// "yarl~=1.22.0", // "zipstream-new~=1.1.8" // ], // "manylinux": "manylinux2014", // "requirement_constraints": [], // "only_binary": [], -// "no_binary": [] +// "no_binary": [], +// "excludes": [], +// "overrides": [] // } // --- END PANTS LOCKFILE METADATA --- @@ -229,13 +231,13 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "3c9780867631326a2ae931c322fac5e2a2ad5a48bf7646e5250834630536ef57", - "url": "https://files.pythonhosted.org/packages/ef/20/8700336be44dcccab78741f2513b1b1474ba4070134e8c2b5a50865f07bd/aiodataloader-0.4.2-py3-none-any.whl" + "hash": "f2d57675e4c7a5cf7efc4c42697d307b951e1a9f40c22df3531a4b9cb7758229", + "url": "https://files.pythonhosted.org/packages/c6/29/80a0a91bd35b46bf31dc53a620780ee7c5b48b4dab7e60fdc4979641846a/aiodataloader-0.4.3-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "c92f6f2fb7ee13939ffd68274895aca44ccc0294a1275179bfb8af2b29b788e1", - "url": "https://files.pythonhosted.org/packages/bc/3b/405fe771e782054509f976db2a29c69bb6250be8bde16ac1fa93755070c6/aiodataloader-0.4.2.tar.gz" + "hash": "b8c07ed7fddfdccc2d6298c247b1e5fe9779e5b1c38f2e6ec541a041683ef7e8", + "url": "https://files.pythonhosted.org/packages/1a/83/1f86948638cb076969526c944b3d5f6aa1997d140dc3cff1011a821245d3/aiodataloader-0.4.3.tar.gz" } ], "project_name": "aiodataloader", @@ -255,27 +257,27 @@ "typing-extensions>=4.1.1" ], "requires_python": ">=3.7", - "version": "0.4.2" + "version": "0.4.3" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "e443c0c27b07da3174a109fd9e736d69058d808f144d3c9d56dbd1776964c5f5", - "url": "https://files.pythonhosted.org/packages/15/14/13c65b1bd59f7e707e0cc0964fbab45c003f90292ed267d159eeeeaa2224/aiodns-3.2.0-py3-none-any.whl" + "hash": "9fa49f812648374d046436a3b96491afb141320cd0b501df83880f034d0b5b85", + "url": "https://files.pythonhosted.org/packages/dc/ae/10adb8d683bdb800ad6ae1460d2099db7045a67eff13985955a72448e8c1/aiodns-3.6.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "62869b23409349c21b072883ec8998316b234c9a9e36675756e8e317e8768f72", - "url": "https://files.pythonhosted.org/packages/e7/84/41a6a2765abc124563f5380e76b9b24118977729e25a84112f8dfb2b33dc/aiodns-3.2.0.tar.gz" + "hash": "9b0ef54339e6687cdbd39a7d73d7de2467cb5c115281da28f2598f058633dac8", + "url": "https://files.pythonhosted.org/packages/e6/11/238e97cbf5c1c0f725d590a092e0618dcdc50f44dbd1e2a926fae27e6f06/aiodns-3.6.0.tar.gz" } ], "project_name": "aiodns", "requires_dists": [ - "pycares>=4.0.0" + "pycares>=4.9.0" ], - "requires_python": null, - "version": "3.2.0" + "requires_python": ">=3.9", + "version": "3.6.0" }, { "artifacts": [ @@ -357,83 +359,158 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "ad702e57dc385cae679c39d318def49aef754455f237499d5b99bea4ef582e51", - "url": "https://files.pythonhosted.org/packages/05/6a/ea199e61b67f25ba688d3ce93f63b49b0a4e3b3d380f03971b4646412fc6/aiohttp-3.12.15-cp313-cp313-musllinux_1_2_x86_64.whl" + "hash": "cf00e5db968c3f67eccd2778574cf64d8b27d95b237770aa32400bd7a1ca4f6c", + "url": "https://files.pythonhosted.org/packages/ff/f7/ba5f0ba4ea8d8f3c32850912944532b933acbf0f3a75546b89269b9b7dde/aiohttp-3.13.2-cp314-cp314t-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "9ec49dff7e2b3c85cdeaa412e9d438f0ecd71676fde61ec57027dd392f00c693", + "url": "https://files.pythonhosted.org/packages/04/75/f74fd178ac81adf4f283a74847807ade5150e48feda6aef024403716c30c/aiohttp-3.13.2-cp314-cp314t-musllinux_1_2_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "47f6b962246f0a774fbd3b6b7be25d59b06fdb2f164cf2513097998fc6a29693", - "url": "https://files.pythonhosted.org/packages/04/36/a6d36ad545fa12e61d11d1932eef273928b0495e6a576eb2af04297fdd3c/aiohttp-3.12.15-cp313-cp313-musllinux_1_2_ppc64le.whl" + "hash": "93655083005d71cd6c072cdab54c886e6570ad2c4592139c3fb967bfc19e4694", + "url": "https://files.pythonhosted.org/packages/08/aa/6a01848d6432f241416bc4866cae8dc03f05a5a884d2311280f6a09c73d6/aiohttp-3.13.2-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl" }, { "algorithm": "sha256", - "hash": "b97752ff12cc12f46a9b20327104448042fce5c33a624f88c18f66f9368091c7", - "url": "https://files.pythonhosted.org/packages/09/2f/d4bcc8448cf536b2b54eed48f19682031ad182faa3a3fee54ebe5b156387/aiohttp-3.12.15-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + "hash": "7a653d872afe9f33497215745da7a943d1dc15b728a9c8da1c3ac423af35178e", + "url": "https://files.pythonhosted.org/packages/0b/78/1eeb63c3f9b2d1015a4c02788fb543141aad0a03ae3f7a7b669b2483f8d4/aiohttp-3.13.2-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" }, { "algorithm": "sha256", - "hash": "f0fa751efb11a541f57db59c1dd821bec09031e01452b2b6217319b3a1f34f3d", - "url": "https://files.pythonhosted.org/packages/1c/00/d198461b699188a93ead39cb458554d9f0f69879b95078dce416d3209b54/aiohttp-3.12.15-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl" + "hash": "98c4fb90bb82b70a4ed79ca35f656f4281885be076f3f970ce315402b53099ae", + "url": "https://files.pythonhosted.org/packages/16/51/c709f352c911b1864cfd1087577760ced64b3e5bee2aa88b8c0c8e2e4972/aiohttp-3.13.2-cp314-cp314-musllinux_1_2_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "b52dcf013b57464b6d1e51b627adfd69a8053e84b7103a7cd49c030f9ca44461", - "url": "https://files.pythonhosted.org/packages/1f/f8/cd84dee7b6ace0740908fd0af170f9fab50c2a41ccbc3806aabcb1050141/aiohttp-3.12.15-cp313-cp313-musllinux_1_2_aarch64.whl" + "hash": "ec7534e63ae0f3759df3a1ed4fa6bc8f75082a924b590619c0dd2f76d7043caa", + "url": "https://files.pythonhosted.org/packages/19/e2/19bd4c547092b773caeb48ff5ae4b1ae86756a0ee76c16727fcfd281404b/aiohttp-3.13.2-cp314-cp314-musllinux_1_2_riscv64.whl" }, { "algorithm": "sha256", - "hash": "3eae49032c29d356b94eee45a3f39fdf4b0814b397638c2f718e96cfadf4c4e4", - "url": "https://files.pythonhosted.org/packages/49/fc/a9576ab4be2dcbd0f73ee8675d16c707cfc12d5ee80ccf4015ba543480c9/aiohttp-3.12.15-cp313-cp313-macosx_11_0_arm64.whl" + "hash": "ae32f24bbfb7dbb485a24b30b1149e2f200be94777232aeadba3eecece4d0aa4", + "url": "https://files.pythonhosted.org/packages/1a/aa/7a451b1d6a04e8d15a362af3e9b897de71d86feac3babf8894545d08d537/aiohttp-3.13.2-cp314-cp314-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "049ec0360f939cd164ecbfd2873eaa432613d5e77d6b04535e3d1fbae5a9e645", - "url": "https://files.pythonhosted.org/packages/59/e4/16a8eac9df39b48ae102ec030fa9f726d3570732e46ba0c592aeeb507b93/aiohttp-3.12.15-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" + "hash": "40176a52c186aefef6eb3cad2cdd30cd06e3afbe88fe8ab2af9c0b90f228daca", + "url": "https://files.pythonhosted.org/packages/1c/ce/3b83ebba6b3207a7135e5fcaba49706f8a4b6008153b4e30540c982fae26/aiohttp-3.13.2.tar.gz" }, { "algorithm": "sha256", - "hash": "5346b93e62ab51ee2a9d68e8f73c7cf96ffb73568a23e683f931e52450e4148d", - "url": "https://files.pythonhosted.org/packages/85/b8/9e7175e1fa0ac8e56baa83bf3c214823ce250d0028955dfb23f43d5e61fd/aiohttp-3.12.15-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + "hash": "4ebf9cfc9ba24a74cf0718f04aac2a3bbe745902cc7c5ebc55c0f3b5777ef213", + "url": "https://files.pythonhosted.org/packages/31/64/b9d733296ef79815226dab8c586ff9e3df41c6aff2e16c06697b2d2e6775/aiohttp-3.13.2-cp314-cp314-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "4fc61385e9c98d72fcdf47e6dd81833f47b2f77c114c29cd64a361be57a763a2", - "url": "https://files.pythonhosted.org/packages/9b/e7/d92a237d8802ca88483906c388f7c201bbe96cd80a165ffd0ac2f6a8d59f/aiohttp-3.12.15.tar.gz" + "hash": "a4b88ebe35ce54205c7074f7302bd08a4cb83256a3e0870c72d6f68a3aaf8e49", + "url": "https://files.pythonhosted.org/packages/3f/30/43d3e0f9d6473a6db7d472104c4eff4417b1e9df01774cb930338806d36b/aiohttp-3.13.2-cp314-cp314-musllinux_1_2_armv7l.whl" }, { "algorithm": "sha256", - "hash": "760fb7db442f284996e39cf9915a94492e1896baac44f06ae551974907922b64", - "url": "https://files.pythonhosted.org/packages/aa/c8/f195e5e06608a97a4e52c5d41c7927301bf757a8e8bb5bbf8cef6c314961/aiohttp-3.12.15-cp313-cp313-musllinux_1_2_s390x.whl" + "hash": "56d36e80d2003fa3fc0207fac644216d8532e9504a785ef9a8fd013f84a42c61", + "url": "https://files.pythonhosted.org/packages/41/75/aaf1eea4c188e51538c04cc568040e3082db263a57086ea74a7d38c39e42/aiohttp-3.13.2-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" }, { "algorithm": "sha256", - "hash": "2ee8a8ac39ce45f3e55663891d4b1d15598c157b4d494a4613e704c8b43112cd", - "url": "https://files.pythonhosted.org/packages/b5/2a/7495a81e39a998e400f3ecdd44a62107254803d1681d9189be5c2e4530cd/aiohttp-3.12.15-cp313-cp313-macosx_10_13_x86_64.whl" + "hash": "5d7f02042c1f009ffb70067326ef183a047425bb2ff3bc434ead4dd4a4a66a2b", + "url": "https://files.pythonhosted.org/packages/57/1e/209958dbb9b01174870f6a7538cd1f3f28274fdbc88a750c238e2c456295/aiohttp-3.13.2-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" }, { "algorithm": "sha256", - "hash": "9b2af240143dd2765e0fb661fd0361a1b469cab235039ea57663cda087250ea9", - "url": "https://files.pythonhosted.org/packages/ce/42/d0f1f85e50d401eccd12bf85c46ba84f947a84839c8a1c2c5f6e8ab1eb50/aiohttp-3.12.15-cp313-cp313-musllinux_1_2_armv7l.whl" + "hash": "88d6c017966a78c5265d996c19cdb79235be5e6412268d7e2ce7dee339471b7a", + "url": "https://files.pythonhosted.org/packages/67/7f/db2fc7618925e8c7a601094d5cbe539f732df4fb570740be88ed9e40e99a/aiohttp-3.13.2-cp314-cp314-musllinux_1_2_x86_64.whl" }, { "algorithm": "sha256", - "hash": "ac77f709a2cde2cc71257ab2d8c74dd157c67a0558a0d2799d5d571b4c63d44d", - "url": "https://files.pythonhosted.org/packages/d5/6b/f6fa6c5790fb602538483aa5a1b86fcbad66244997e5230d88f9412ef24c/aiohttp-3.12.15-cp313-cp313-musllinux_1_2_i686.whl" + "hash": "fa4dcb605c6f82a80c7f95713c2b11c3b8e9893b3ebd2bc9bde93165ed6107be", + "url": "https://files.pythonhosted.org/packages/7d/4b/a6212790c50483cb3212e507378fbe26b5086d73941e1ec4b56a30439688/aiohttp-3.13.2-cp314-cp314t-musllinux_1_2_s390x.whl" }, { "algorithm": "sha256", - "hash": "5fa5d9eb82ce98959fc1031c28198b431b4d9396894f385cb63f1e2f3f20ca6b", - "url": "https://files.pythonhosted.org/packages/dc/71/164d194993a8d114ee5656c3b7ae9c12ceee7040d076bf7b32fb98a8c5c6/aiohttp-3.12.15-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" + "hash": "e96eb1a34396e9430c19d8338d2ec33015e4a87ef2b4449db94c22412e25ccdf", + "url": "https://files.pythonhosted.org/packages/7f/f0/c68dac234189dae5c4bbccc0f96ce0cc16b76632cfc3a08fff180045cfa4/aiohttp-3.13.2-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" }, { "algorithm": "sha256", - "hash": "894261472691d6fe76ebb7fcf2e5870a2ac284c7406ddc95823c8598a1390f0d", - "url": "https://files.pythonhosted.org/packages/f1/f3/59406396083f8b489261e3c011aa8aee9df360a96ac8fa5c2e7e1b8f0466/aiohttp-3.12.15-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl" + "hash": "0db1e24b852f5f664cd728db140cf11ea0e82450471232a394b3d1a540b0f906", + "url": "https://files.pythonhosted.org/packages/87/4f/36c1992432d31bbc789fa0b93c768d2e9047ec8c7177e5cd84ea85155f36/aiohttp-3.13.2-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "9f922ffd05034d439dde1c77a20461cf4a1b0831e6caa26151fe7aa8aaebc315", - "url": "https://files.pythonhosted.org/packages/f2/33/918091abcf102e39d15aba2476ad9e7bd35ddb190dcdd43a854000d3da0d/aiohttp-3.12.15-cp313-cp313-macosx_10_13_universal2.whl" + "hash": "23fb0783bc1a33640036465019d3bba069942616a6a2353c6907d7fe1ccdaf4e", + "url": "https://files.pythonhosted.org/packages/8f/65/75a9a76db8364b5d0e52a0c20eabc5d52297385d9af9c35335b924fafdee/aiohttp-3.13.2-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl" + }, + { + "algorithm": "sha256", + "hash": "2475391c29230e063ef53a66669b7b691c9bfc3f1426a0f7bcdf1216bdbac38b", + "url": "https://files.pythonhosted.org/packages/9b/36/e2abae1bd815f01c957cbf7be817b3043304e1c87bad526292a0410fdcf9/aiohttp-3.13.2-cp314-cp314-macosx_10_13_universal2.whl" + }, + { + "algorithm": "sha256", + "hash": "78cd586d8331fb8e241c2dd6b2f4061778cc69e150514b39a9e28dd050475661", + "url": "https://files.pythonhosted.org/packages/9b/c2/3b6034de81fbcc43de8aeb209073a2286dfb50b86e927b4efd81cf848197/aiohttp-3.13.2-cp314-cp314t-musllinux_1_2_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "e7c952aefdf2460f4ae55c5e9c3e80aa72f706a6317e06020f80e96253b1accd", + "url": "https://files.pythonhosted.org/packages/a4/0f/6a03e3fc7595421274fa34122c973bde2d89344f8a881b728fa8c774e4f1/aiohttp-3.13.2-cp314-cp314t-macosx_10_13_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "b009194665bcd128e23eaddef362e745601afa4641930848af4c8559e88f18f9", + "url": "https://files.pythonhosted.org/packages/ac/b4/8e940dfb03b7e0f68a82b88fd182b9be0a65cb3f35612fe38c038c3112cf/aiohttp-3.13.2-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" + }, + { + "algorithm": "sha256", + "hash": "c20423ce14771d98353d2e25e83591fa75dfa90a3c1848f3d7c68243b4fbded3", + "url": "https://files.pythonhosted.org/packages/c6/aa/ed341b670f1bc8a6f2c6a718353d13b9546e2cef3544f573c6a1ff0da711/aiohttp-3.13.2-cp314-cp314t-macosx_11_0_arm64.whl" + }, + { + "algorithm": "sha256", + "hash": "f10d9c0b0188fe85398c61147bbd2a657d616c876863bfeff43376e0e3134673", + "url": "https://files.pythonhosted.org/packages/c7/8e/3824ef98c039d3951cb65b9205a96dd2b20f22241ee17d89c5701557c826/aiohttp-3.13.2-cp314-cp314t-macosx_10_13_universal2.whl" + }, + { + "algorithm": "sha256", + "hash": "20b10bbfbff766294fe99987f7bb3b74fdd2f1a2905f2562132641ad434dcf98", + "url": "https://files.pythonhosted.org/packages/c9/38/c15dcf6d4d890217dae79d7213988f4e5fe6183d43893a9cf2fe9e84ca8d/aiohttp-3.13.2-cp314-cp314t-musllinux_1_2_armv7l.whl" + }, + { + "algorithm": "sha256", + "hash": "f33c8748abef4d8717bb20e8fb1b3e07c6adacb7fd6beaae971a764cf5f30d61", + "url": "https://files.pythonhosted.org/packages/ca/e3/1ee62dde9b335e4ed41db6bba02613295a0d5b41f74a783c142745a12763/aiohttp-3.13.2-cp314-cp314-macosx_10_13_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "5b927cf9b935a13e33644cbed6c8c4b2d0f25b713d838743f8fe7191b33829c4", + "url": "https://files.pythonhosted.org/packages/cf/87/860f2803b27dfc5ed7be532832a3498e4919da61299b4a1f8eb89b8ff44d/aiohttp-3.13.2-cp314-cp314-musllinux_1_2_s390x.whl" + }, + { + "algorithm": "sha256", + "hash": "66bac29b95a00db411cd758fea0e4b9bdba6d549dfe333f9a945430f5f2cc5a6", + "url": "https://files.pythonhosted.org/packages/d7/51/b311500ffc860b181c05d91c59a1313bdd05c82960fdd4035a15740d431e/aiohttp-3.13.2-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" + }, + { + "algorithm": "sha256", + "hash": "c038a8fdc8103cd51dbd986ecdce141473ffd9775a7a8057a6ed9c3653478011", + "url": "https://files.pythonhosted.org/packages/d7/ef/39f3448795499c440ab66084a9db7d20ca7662e94305f175a80f5b7e0072/aiohttp-3.13.2-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "94f05348c4406450f9d73d38efb41d669ad6cd90c7ee194810d0eefbfa875a7a", + "url": "https://files.pythonhosted.org/packages/e7/80/7368bd0d06b16b3aba358c16b919e9c46cf11587dc572091031b0e9e3ef0/aiohttp-3.13.2-cp314-cp314t-musllinux_1_2_riscv64.whl" + }, + { + "algorithm": "sha256", + "hash": "0a3d54e822688b56e9f6b5816fb3de3a3a64660efac64e4c2dc435230ad23bad", + "url": "https://files.pythonhosted.org/packages/e9/e0/94d7215e405c5a02ccb6a35c7a3a6cfff242f457a00196496935f700cde5/aiohttp-3.13.2-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" + }, + { + "algorithm": "sha256", + "hash": "2e1a9bea6244a1d05a4e57c295d69e159a5c50d8ef16aa390948ee873478d9a5", + "url": "https://files.pythonhosted.org/packages/f5/55/8df2ed78d7f41d232f6bd3ff866b6f617026551aa1d07e2f03458f964575/aiohttp-3.13.2-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" } ], "project_name": "aiohttp", @@ -444,6 +521,7 @@ "aiosignal>=1.4.0", "async-timeout<6.0,>=4.0; python_version < \"3.11\"", "attrs>=17.3.0", + "backports.zstd; (platform_python_implementation == \"CPython\" and python_version < \"3.14\") and extra == \"speedups\"", "brotlicffi; platform_python_implementation != \"CPython\" and extra == \"speedups\"", "frozenlist>=1.1.1", "multidict<7.0,>=4.5", @@ -451,7 +529,7 @@ "yarl<2.0,>=1.17.0" ], "requires_python": ">=3.9", - "version": "3.12.15" + "version": "3.13.2" }, { "artifacts": [ @@ -518,32 +596,21 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "fc1f5fac3d737354de8831cbba3eb04f79dd649d8f3afb4c5b114925e662a796", - "url": "https://files.pythonhosted.org/packages/85/13/58b70a580de00893223d61de8fea167877a3aed97d4a5e1405c9159ef925/aioitertools-0.12.0-py3-none-any.whl" + "hash": "0be0292b856f08dfac90e31f4739432f4cb6d7520ab9eb73e143f4f2fa5259be", + "url": "https://files.pythonhosted.org/packages/10/a1/510b0a7fadc6f43a6ce50152e69dbd86415240835868bb0bd9b5b88b1e06/aioitertools-0.13.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "c2a9055b4fbb7705f561b9d86053e8af5d10cc845d22c32008c43490b2d8dd6b", - "url": "https://files.pythonhosted.org/packages/06/de/38491a84ab323b47c7f86e94d2830e748780525f7a10c8600b67ead7e9ea/aioitertools-0.12.0.tar.gz" + "hash": "620bd241acc0bbb9ec819f1ab215866871b4bbd1f73836a55f799200ee86950c", + "url": "https://files.pythonhosted.org/packages/fd/3c/53c4a17a05fb9ea2313ee1777ff53f5e001aefd5cc85aa2f4c2d982e1e38/aioitertools-0.13.0.tar.gz" } ], "project_name": "aioitertools", "requires_dists": [ - "attribution==1.8.0; extra == \"dev\"", - "black==24.8.0; extra == \"dev\"", - "build>=1.2; extra == \"dev\"", - "coverage==7.6.1; extra == \"dev\"", - "flake8==7.1.1; extra == \"dev\"", - "flit==3.9.0; extra == \"dev\"", - "mypy==1.11.2; extra == \"dev\"", - "sphinx-mdinclude==0.6.2; extra == \"docs\"", - "sphinx==8.0.2; extra == \"docs\"", - "typing_extensions>=4.0; python_version < \"3.10\"", - "ufmt==2.7.1; extra == \"dev\"", - "usort==1.0.8.post1; extra == \"dev\"" + "typing_extensions>=4.0; python_version < \"3.10\"" ], - "requires_python": ">=3.8", - "version": "0.12.0" + "requires_python": ">=3.9", + "version": "0.13.0" }, { "artifacts": [ @@ -774,25 +841,25 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "0287e96f4d26d4149305414d4e3bc32f0dcd0862365a4bddea19d7a1ec38c4fc", - "url": "https://files.pythonhosted.org/packages/15/b3/9b1a8074496371342ec1e796a96f99c82c945a339cd81a8e73de28b4cf9e/anyio-4.11.0-py3-none-any.whl" + "hash": "dad2376a628f98eeca4881fc56cd06affd18f659b17a747d3ff0307ced94b1bb", + "url": "https://files.pythonhosted.org/packages/7f/9c/36c5c37947ebfb8c7f22e0eb6e4d188ee2d53aa3880f3f2744fb894f0cb1/anyio-4.12.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "82a8d0b81e318cc5ce71a5f1f8b5c4e63619620b63141ef8c995fa0db95a57c4", - "url": "https://files.pythonhosted.org/packages/c6/78/7d432127c41b50bccba979505f272c16cbcadcc33645d5fa3a738110ae75/anyio-4.11.0.tar.gz" + "hash": "73c693b567b0c55130c104d0b43a9baf3aa6a31fc6110116509f27bf75e21ec0", + "url": "https://files.pythonhosted.org/packages/16/ce/8a777047513153587e5434fd752e89334ac33e379aa3497db860eeb60377/anyio-4.12.0.tar.gz" } ], "project_name": "anyio", "requires_dists": [ "exceptiongroup>=1.0.2; python_version < \"3.11\"", "idna>=2.8", - "sniffio>=1.1", - "trio>=0.31.0; extra == \"trio\"", + "trio>=0.31.0; python_version < \"3.10\" and extra == \"trio\"", + "trio>=0.32.0; python_version >= \"3.10\" and extra == \"trio\"", "typing_extensions>=4.5; python_version < \"3.13\"" ], "requires_python": ">=3.9", - "version": "4.11.0" + "version": "4.12.0" }, { "artifacts": [ @@ -849,21 +916,46 @@ "hash": "2630b6240b495dfab90aebe159ff784d08ea999aa4b0d17efa734055a07d2f44", "url": "https://files.pythonhosted.org/packages/0a/08/a9bebdb2e0e602dde230bdde8021b29f71f7841bd54801bcfd514acb5dcf/argon2_cffi_bindings-25.1.0-cp39-abi3-macosx_10_9_x86_64.whl" }, + { + "algorithm": "sha256", + "hash": "e2fd3bfbff3c5d74fef31a722f729bf93500910db650c925c2d6ef879a7e51cb", + "url": "https://files.pythonhosted.org/packages/0d/82/b484f702fec5536e71836fc2dbc8c5267b3f6e78d2d539b4eaa6f0db8bf8/argon2_cffi_bindings-25.1.0-cp314-cp314t-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl" + }, { "algorithm": "sha256", "hash": "aecba1723ae35330a008418a91ea6cfcedf6d31e5fbaa056a166462ff066d500", "url": "https://files.pythonhosted.org/packages/1d/57/96b8b9f93166147826da5f90376e784a10582dd39a393c99bb62cfcf52f0/argon2_cffi_bindings-25.1.0-cp39-abi3-macosx_10_9_universal2.whl" }, + { + "algorithm": "sha256", + "hash": "3c6702abc36bf3ccba3f802b799505def420a1b7039862014a65db3205967f5a", + "url": "https://files.pythonhosted.org/packages/43/24/90a01c0ef12ac91a6be05969f29944643bc1e5e461155ae6559befa8f00b/argon2_cffi_bindings-25.1.0-cp314-cp314t-macosx_11_0_arm64.whl" + }, + { + "algorithm": "sha256", + "hash": "ba92837e4a9aa6a508c8d2d7883ed5a8f6c308c89a4790e1e447a220deb79a85", + "url": "https://files.pythonhosted.org/packages/44/b4/678503f12aceb0262f84fa201f6027ed77d71c5019ae03b399b97caa2f19/argon2_cffi_bindings-25.1.0-cp314-cp314t-musllinux_1_2_x86_64.whl" + }, { "algorithm": "sha256", "hash": "b957f3e6ea4d55d820e40ff76f450952807013d361a65d7f28acc0acbf29229d", "url": "https://files.pythonhosted.org/packages/5c/2d/db8af0df73c1cf454f71b2bbe5e356b8c1f8041c979f505b3d3186e520a9/argon2_cffi_bindings-25.1.0.tar.gz" }, + { + "algorithm": "sha256", + "hash": "3d3f05610594151994ca9ccb3c771115bdb4daef161976a266f0dd8aa9996b8f", + "url": "https://files.pythonhosted.org/packages/60/97/3c0a35f46e52108d4707c44b95cfe2afcafc50800b5450c197454569b776/argon2_cffi_bindings-25.1.0-cp314-cp314t-macosx_10_13_universal2.whl" + }, { "algorithm": "sha256", "hash": "c87b72589133f0346a1cb8d5ecca4b933e3c9b64656c9d175270a000e73b288d", "url": "https://files.pythonhosted.org/packages/72/70/7a2993a12b0ffa2a9271259b79cc616e2389ed1a4d93842fac5a1f923ffd/argon2_cffi_bindings-25.1.0-cp39-abi3-musllinux_1_2_aarch64.whl" }, + { + "algorithm": "sha256", + "hash": "8b8efee945193e667a396cbc7b4fb7d357297d6234d30a489905d96caabde56b", + "url": "https://files.pythonhosted.org/packages/9d/f4/98bbd6ee89febd4f212696f13c03ca302b8552e7dbf9c8efa11ea4a388c3/argon2_cffi_bindings-25.1.0-cp314-cp314t-macosx_10_13_x86_64.whl" + }, { "algorithm": "sha256", "hash": "7aef0c91e2c0fbca6fc68e7555aa60ef7008a739cbe045541e438373bc54d2b0", @@ -873,6 +965,16 @@ "algorithm": "sha256", "hash": "1e021e87faa76ae0d413b619fe2b65ab9a037f24c60a1e6cc43457ae20de6dc6", "url": "https://files.pythonhosted.org/packages/c1/93/44365f3d75053e53893ec6d733e4a5e3147502663554b4d864587c7828a7/argon2_cffi_bindings-25.1.0-cp39-abi3-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "c4f9665de60b1b0e99bcd6be4f17d90339698ce954cfd8d9cf4f91c995165a92", + "url": "https://files.pythonhosted.org/packages/c9/c1/a606ff83b3f1735f3759ad0f2cd9e038a0ad11a3de3b6c673aa41c24bb7b/argon2_cffi_bindings-25.1.0-cp314-cp314t-musllinux_1_2_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "a1c70058c6ab1e352304ac7e3b52554daadacd8d453c1752e547c76e9c99ac44", + "url": "https://files.pythonhosted.org/packages/d4/d3/942aa10782b2697eee7af5e12eeff5ebb325ccfb86dd8abda54174e377e4/argon2_cffi_bindings-25.1.0-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl" } ], "project_name": "argon2-cffi-bindings", @@ -927,58 +1029,78 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "04ff0785ae7eed6cc138e73fc67b8e51d54ee7a3ce9b63666ce55a0bf095f7ba", - "url": "https://files.pythonhosted.org/packages/ef/5f/0bf65511d4eeac3a1f41c54034a492515a707c6edbc642174ae79034d3ba/asyncpg-0.30.0-cp313-cp313-musllinux_1_2_x86_64.whl" + "hash": "8df714dba348efcc162d2adf02d213e5fab1bd9f557e1305633e851a61814a7a", + "url": "https://files.pythonhosted.org/packages/ba/7a/15e37d45e7f7c94facc1e9148c0e455e8f33c08f0b8a0b1deb2c5171771b/asyncpg-0.31.0-cp314-cp314t-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "f6b56b91bb0ffc328c4e3ed113136cddd9deefdf5f79ab448598b9772831df44", + "url": "https://files.pythonhosted.org/packages/3c/36/e9450d62e84a13aea6580c83a47a437f26c7ca6fa0f0fd40b6670793ea30/asyncpg-0.31.0-cp314-cp314-macosx_10_15_x86_64.whl" }, { "algorithm": "sha256", - "hash": "c551e9928ab6707602f44811817f82ba3c446e018bfe1d3abecc8ba5f3eac851", - "url": "https://files.pythonhosted.org/packages/2f/4c/7c991e080e106d854809030d8584e15b2e996e26f16aee6d757e387bc17d/asyncpg-0.30.0.tar.gz" + "hash": "98cc158c53f46de7bb677fd20c417e264fc02b36d901cc2a43bd6cb0dc6dbfd2", + "url": "https://files.pythonhosted.org/packages/41/aa/e7f7ac9a7974f08eff9183e392b2d62516f90412686532d27e196c0f0eeb/asyncpg-0.31.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" }, { "algorithm": "sha256", - "hash": "05b185ebb8083c8568ea8a40e896d5f7af4b8554b64d7719c0eaa1eb5a5c3a70", - "url": "https://files.pythonhosted.org/packages/3a/22/e20602e1218dc07692acf70d5b902be820168d6282e69ef0d3cb920dc36f/asyncpg-0.30.0-cp313-cp313-macosx_10_13_x86_64.whl" + "hash": "19857a358fc811d82227449b7ca40afb46e75b33eb8897240c3839dd8b744218", + "url": "https://files.pythonhosted.org/packages/46/78/fc3ade003e22d8bd53aaf8f75f4be48f0b460fa73738f0391b9c856a9147/asyncpg-0.31.0-cp314-cp314-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "c47806b1a8cbb0a0db896f4cd34d89942effe353a5035c62734ab13b9f938da3", - "url": "https://files.pythonhosted.org/packages/3d/b3/0cf269a9d647852a95c06eb00b815d0b95a4eb4b55aa2d6ba680971733b9/asyncpg-0.30.0-cp313-cp313-macosx_11_0_arm64.whl" + "hash": "6d11b198111a72f47154fa03b85799f9be63701e068b43f84ac25da0bda9cb31", + "url": "https://files.pythonhosted.org/packages/6a/81/e6be6e37e560bd91e6c23ea8a6138a04fd057b08cf63d3c5055c98e81c1d/asyncpg-0.31.0-cp314-cp314t-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "9110df111cabc2ed81aad2f35394a00cadf4f2e0635603db6ebbd0fc896f46a4", - "url": "https://files.pythonhosted.org/packages/67/e4/ab3ca38f628f53f0fd28d3ff20edff1c975dd1cb22482e0061916b4b9a74/asyncpg-0.30.0-cp313-cp313-musllinux_1_2_aarch64.whl" + "hash": "9322b563e2661a52e3cdbc93eed3be7748b289f792e0011cb2720d278b366ce2", + "url": "https://files.pythonhosted.org/packages/6f/de/bf1b60de3dede5c2731e6788617a512bc0ebd9693eac297ee74086f101d7/asyncpg-0.31.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" }, { "algorithm": "sha256", - "hash": "9b6fde867a74e8c76c71e2f64f80c64c0f3163e687f1763cfaf21633ec24ec33", - "url": "https://files.pythonhosted.org/packages/8e/6d/a4f31bf358ce8491d2a31bfe0d7bcf25269e80481e49de4d8616c4295a34/asyncpg-0.30.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + "hash": "3b1fbcb0e396a5ca435a8826a87e5c2c2cc0c8c68eb6fadf82168056b0e53a8c", + "url": "https://files.pythonhosted.org/packages/7d/aa/7d75ede780033141c51d83577ea23236ba7d3a23593929b32b49db8ed36e/asyncpg-0.31.0-cp314-cp314t-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "46973045b567972128a27d40001124fbc821c87a6cade040cfcd4fa8a30bcdc4", - "url": "https://files.pythonhosted.org/packages/96/19/139227a6e67f407b9c386cb594d9628c6c78c9024f26df87c912fabd4368/asyncpg-0.30.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + "hash": "e009abc333464ff18b8f6fd146addffd9aaf63e79aa3bb40ab7a4c332d0c5e9e", + "url": "https://files.pythonhosted.org/packages/7e/06/2e3d4d7608b0b2b3adbee0d0bd6a2d29ca0fc4d8a78f8277df04e2d1fd7b/asyncpg-0.31.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "334dec28cf20d7f5bb9e45b39546ddf247f8042a690bff9b9573d00086e69cb5", + "url": "https://files.pythonhosted.org/packages/82/4b/1d0a2b33b3102d210439338e1beea616a6122267c0df459ff0265cd5807a/asyncpg-0.31.0-cp314-cp314-macosx_11_0_arm64.whl" + }, + { + "algorithm": "sha256", + "hash": "18c83b03bc0d1b23e6230f5bf8d4f217dc9bc08644ce0502a9d91dc9e634a9c7", + "url": "https://files.pythonhosted.org/packages/a6/45/6009040da85a1648dd5bc75b3b0a062081c483e75a1a29041ae63a0bf0dc/asyncpg-0.31.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "ba5f8886e850882ff2c2ace5732300e99193823e8107e2c53ef01c1ebfa1e85d", + "url": "https://files.pythonhosted.org/packages/bf/e9/73eb8a6789e927816f4705291be21f2225687bfa97321e40cd23055e903a/asyncpg-0.31.0-cp314-cp314-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "bdb957706da132e982cc6856bb2f7b740603472b54c3ebc77fe60ea3e57e1bd2", + "url": "https://files.pythonhosted.org/packages/ce/fe/b9dfe349b83b9dee28cc42360d2c86b2cdce4cb551a2c2d27e156bcac84d/asyncpg-0.31.0-cp314-cp314t-macosx_10_15_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "c989386c83940bfbd787180f2b1519415e2d3d6277a70d9d0f0145ac73500735", + "url": "https://files.pythonhosted.org/packages/fe/cc/d18065ce2380d80b1bcce927c24a2642efd38918e33fd724bc4bca904877/asyncpg-0.31.0.tar.gz" } ], "project_name": "asyncpg", "requires_dists": [ - "Sphinx~=8.1.3; extra == \"docs\"", - "async-timeout>=4.0.3; python_version < \"3.11.0\"", - "distro~=1.9.0; extra == \"test\"", - "flake8-pyi~=24.1.0; extra == \"test\"", - "flake8~=6.1; extra == \"test\"", + "async_timeout>=4.0.3; python_version < \"3.11.0\"", "gssapi; platform_system != \"Windows\" and extra == \"gssauth\"", - "gssapi; platform_system == \"Linux\" and extra == \"test\"", - "k5test; platform_system == \"Linux\" and extra == \"test\"", - "mypy~=1.8.0; extra == \"test\"", - "sphinx-rtd-theme>=1.2.2; extra == \"docs\"", - "sspilib; platform_system == \"Windows\" and extra == \"gssauth\"", - "sspilib; platform_system == \"Windows\" and extra == \"test\"", - "uvloop>=0.15.3; (platform_system != \"Windows\" and python_version < \"3.14.0\") and extra == \"test\"" + "sspilib; platform_system == \"Windows\" and extra == \"gssauth\"" ], - "requires_python": ">=3.8.0", - "version": "0.30.0" + "requires_python": ">=3.9.0", + "version": "0.31.0" }, { "artifacts": [ @@ -1084,98 +1206,178 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "807261df60a8b1ccd13e6599c779014a362ae4e795f5c59747f60208daddd96d", - "url": "https://files.pythonhosted.org/packages/5d/ab/a6c0da5c2cf86600f74402a72b06dfe365e1a1d30783b1bbeec460fd57d1/bcrypt-4.2.1-cp39-abi3-musllinux_1_2_x86_64.whl" + "hash": "61afc381250c3182d9078551e3ac3a41da14154fbff647ddf52a769f588c4172", + "url": "https://files.pythonhosted.org/packages/df/d2/36a086dee1473b14276cd6ea7f61aef3b2648710b5d7f1c9e032c29b859f/bcrypt-5.0.0-cp39-abi3-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "7f4c94dec1b5ab5d522750cb059bb9409ea8872d4494fd152b53cca99f1ddd8c", + "url": "https://files.pythonhosted.org/packages/06/83/1570edddd150f572dbe9fc00f6203a89fc7d4226821f67328a85c330f239/bcrypt-5.0.0-cp314-cp314t-musllinux_1_2_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "2b732e7d388fa22d48920baa267ba5d97cca38070b69c0e2d37087b381c681fd", + "url": "https://files.pythonhosted.org/packages/0b/7e/d4e47d2df1641a36d1212e5c0514f5291e1a956a7749f1e595c07a972038/bcrypt-5.0.0-cp38-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl" + }, + { + "algorithm": "sha256", + "hash": "0c8e093ea2532601a6f686edbc2c6b2ec24131ff5c52f7610dd64fa4553b5464", + "url": "https://files.pythonhosted.org/packages/0f/c3/0ae57a68be2039287ec28bc463b82e4b8dc23f9d12c0be331f4782e19108/bcrypt-5.0.0-cp38-abi3-manylinux_2_28_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "d79e5c65dcc9af213594d6f7f1fa2c98ad3fc10431e7aa53c176b441943efbdd", + "url": "https://files.pythonhosted.org/packages/17/72/c344825e3b83c5389a369c8a8e58ffe1480b8a699f46c127c34580c4666b/bcrypt-5.0.0-cp38-abi3-manylinux_2_28_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "f8429e1c410b4073944f03bd778a9e066e7fad723564a52ff91841d278dfc822", + "url": "https://files.pythonhosted.org/packages/24/b4/11f8a31d8b67cca3371e046db49baa7c0594d71eb40ac8121e2fc0888db0/bcrypt-5.0.0-cp39-abi3-manylinux_2_28_x86_64.whl" }, { "algorithm": "sha256", - "hash": "8ad2f4528cbf0febe80e5a3a57d7a74e6635e41af1ea5675282a33d769fba413", - "url": "https://files.pythonhosted.org/packages/4a/57/23b46933206daf5384b5397d9878746d2249fe9d45efaa8e1467c87d3048/bcrypt-4.2.1-cp39-abi3-macosx_10_12_universal2.whl" + "hash": "3ca8a166b1140436e058298a34d88032ab62f15aae1c598580333dc21d27ef10", + "url": "https://files.pythonhosted.org/packages/25/ae/479f81d3f4594456a01ea2f05b132a519eff9ab5768a70430fa1132384b1/bcrypt-5.0.0-cp39-abi3-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "b7703ede632dc945ed1172d6f24e9f30f27b1b1a067f32f68bf169c5f08d0425", - "url": "https://files.pythonhosted.org/packages/4e/ef/f2cb7a0f7e1ed800a604f8ab256fb0afcf03c1540ad94ff771ce31e794aa/bcrypt-4.2.1-cp37-abi3-musllinux_1_1_aarch64.whl" + "hash": "7f277a4b3390ab4bebe597800a90da0edae882c6196d3038a73adf446c4f969f", + "url": "https://files.pythonhosted.org/packages/27/d7/1ff22703ec6d4f90e62f1a5654b8867ef96bafb8e8102c2288333e1a6ca6/bcrypt-5.0.0-cp314-cp314t-manylinux_2_28_x86_64.whl" }, { "algorithm": "sha256", - "hash": "533e7f3bcf2f07caee7ad98124fab7499cb3333ba2274f7a36cf1daee7409d99", - "url": "https://files.pythonhosted.org/packages/50/68/f2e3959014b4d8874c747e6e171d46d3e63a3a39aaca8417a8d837eda0a8/bcrypt-4.2.1-cp39-abi3-manylinux_2_28_aarch64.whl" + "hash": "a28bc05039bdf3289d757f49d616ab3efe8cf40d8e8001ccdd621cd4f98f4fc9", + "url": "https://files.pythonhosted.org/packages/33/fc/5b145673c4b8d01018307b5c2c1fc87a6f5a436f0ad56607aee389de8ee3/bcrypt-5.0.0-cp314-cp314t-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl" }, { "algorithm": "sha256", - "hash": "6765386e3ab87f569b276988742039baab087b2cdb01e809d74e74503c2faafe", - "url": "https://files.pythonhosted.org/packages/56/8c/dd696962612e4cd83c40a9e6b3db77bfe65a830f4b9af44098708584686c/bcrypt-4.2.1.tar.gz" + "hash": "f0ce778135f60799d89c9693b9b398819d15f1921ba15fe719acb3178215a7db", + "url": "https://files.pythonhosted.org/packages/36/c4/ed00ed32f1040f7990dac7115f82273e3c03da1e1a1587a778d8cea496d8/bcrypt-5.0.0-cp39-abi3-manylinux_2_28_aarch64.whl" }, { "algorithm": "sha256", - "hash": "f85b1ffa09240c89aa2e1ae9f3b1c687104f7b2b9d2098da4e923f1b7082d331", - "url": "https://files.pythonhosted.org/packages/5c/72/916e14fa12d2b1d1fc6c26ea195337419da6dd23d0bf53ac61ef3739e5c5/bcrypt-4.2.1-cp39-abi3-musllinux_1_1_x86_64.whl" + "hash": "560ddb6ec730386e7b3b26b8b4c88197aaed924430e7b74666a586ac997249ef", + "url": "https://files.pythonhosted.org/packages/3b/71/427945e6ead72ccffe77894b2655b695ccf14ae1866cd977e185d606dd2f/bcrypt-5.0.0-cp38-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" }, { "algorithm": "sha256", - "hash": "b1ee315739bc8387aa36ff127afc99120ee452924e0df517a8f3e4c0187a0f5f", - "url": "https://files.pythonhosted.org/packages/6a/be/e7c6e0fd6087ee8fc6d77d8d9e817e9339d879737509019b9a9012a1d96f/bcrypt-4.2.1-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + "hash": "89042e61b5e808b67daf24a434d89bab164d4de1746b37a8d173b6b14f3db9ff", + "url": "https://files.pythonhosted.org/packages/43/0a/405c753f6158e0f3f14b00b462d8bca31296f7ecfc8fc8bc7919c0c7d73a/bcrypt-5.0.0-cp38-abi3-manylinux_2_34_x86_64.whl" }, { "algorithm": "sha256", - "hash": "041fa0155c9004eb98a232d54da05c0b41d4b8e66b6fc3cb71b4b3f6144ba837", - "url": "https://files.pythonhosted.org/packages/6e/5a/ee107961e84c41af2ac201d0460f962b6622ff391255ffd46429e9e09dc1/bcrypt-4.2.1-cp39-abi3-musllinux_1_1_aarch64.whl" + "hash": "5b1589f4839a0899c146e8892efe320c0fa096568abd9b95593efac50a87cb75", + "url": "https://files.pythonhosted.org/packages/45/2b/77424511adb11e6a99e3a00dcc7745034bee89036ad7d7e255a7e47be7d8/bcrypt-5.0.0-cp38-abi3-manylinux_2_34_aarch64.whl" }, { "algorithm": "sha256", - "hash": "cde78d385d5e93ece5479a0a87f73cd6fa26b171c786a884f955e165032b262c", - "url": "https://files.pythonhosted.org/packages/77/7f/b43622999f5d4de06237a195ac5501ac83516adf571b907228cd14bac8fe/bcrypt-4.2.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + "hash": "c2388ca94ffee269b6038d48747f4ce8df0ffbea43f31abfa18ac72f0218effb", + "url": "https://files.pythonhosted.org/packages/45/b6/4c1205dde5e464ea3bd88e8742e19f899c16fa8916fb8510a851fae985b5/bcrypt-5.0.0-cp38-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" }, { "algorithm": "sha256", - "hash": "aaa2e285be097050dba798d537b6efd9b698aa88eef52ec98d23dcd6d7cf6fea", - "url": "https://files.pythonhosted.org/packages/8e/ab/b8710a3d6231c587e575ead0b1c45bb99f5454f9f579c9d7312c17b069cc/bcrypt-4.2.1-cp37-abi3-manylinux_2_28_aarch64.whl" + "hash": "a5393eae5722bcef046a990b84dff02b954904c36a194f6cfc817d7dca6c6f0b", + "url": "https://files.pythonhosted.org/packages/51/8c/e0db387c79ab4931fc89827d37608c31cc57b6edc08ccd2386139028dc0d/bcrypt-5.0.0-cp314-cp314t-manylinux_2_34_x86_64.whl" }, { "algorithm": "sha256", - "hash": "c6f5fa3775966cca251848d4d5393ab016b3afed251163c1436fefdec3b02c84", - "url": "https://files.pythonhosted.org/packages/97/92/3dc76d8bfa23300591eec248e950f85bd78eb608c96bd4747ce4cc06acdb/bcrypt-4.2.1-cp39-abi3-musllinux_1_2_aarch64.whl" + "hash": "3cf67a804fc66fc217e6914a5635000259fbbbb12e78a99488e4d5ba445a71eb", + "url": "https://files.pythonhosted.org/packages/55/ab/a0727a4547e383e2e22a630e0f908113db37904f58719dc48d4622139b5c/bcrypt-5.0.0-cp38-abi3-musllinux_1_2_x86_64.whl" }, { "algorithm": "sha256", - "hash": "04e56e3fe8308a88b77e0afd20bec516f74aecf391cdd6e374f15cbed32783d6", - "url": "https://files.pythonhosted.org/packages/98/bc/9d501ee9d754f63d4b1086b64756c284facc3696de9b556c146279a124a5/bcrypt-4.2.1-cp37-abi3-musllinux_1_2_aarch64.whl" + "hash": "0c418ca99fd47e9c59a301744d63328f17798b5947b0f791e9af3c1c499c2d0a", + "url": "https://files.pythonhosted.org/packages/5d/ba/2af136406e1c3839aea9ecadc2f6be2bcd1eff255bd451dd39bcf302c47a/bcrypt-5.0.0-cp39-abi3-macosx_10_12_universal2.whl" }, { "algorithm": "sha256", - "hash": "76d3e352b32f4eeb34703370e370997065d28a561e4a18afe4fef07249cb4396", - "url": "https://files.pythonhosted.org/packages/9d/e5/2fd1ea6395358ffdfd4afe370d5b52f71408f618f781772a48971ef3b92b/bcrypt-4.2.1-cp37-abi3-manylinux_2_28_x86_64.whl" + "hash": "5feebf85a9cefda32966d8171f5db7e3ba964b77fdfe31919622256f80f9cf42", + "url": "https://files.pythonhosted.org/packages/5f/85/e4fbfc46f14f47b0d20493669a625da5827d07e8a88ee460af6cd9768b44/bcrypt-5.0.0-cp39-abi3-musllinux_1_1_x86_64.whl" }, { "algorithm": "sha256", - "hash": "cfdf3d7530c790432046c40cda41dfee8c83e29482e6a604f8930b9930e94139", - "url": "https://files.pythonhosted.org/packages/a1/25/2ec4ce5740abc43182bfc064b9acbbf5a493991246985e8b2bfe231ead64/bcrypt-4.2.1-cp37-abi3-musllinux_1_2_x86_64.whl" + "hash": "e3cf5b2560c7b5a142286f69bde914494b6d8f901aaa71e453078388a50881c4", + "url": "https://files.pythonhosted.org/packages/62/83/b3efc285d4aadc1fa83db385ec64dcfa1707e890eb42f03b127d66ac1b7b/bcrypt-5.0.0-cp38-abi3-musllinux_1_1_aarch64.whl" }, { "algorithm": "sha256", - "hash": "1340411a0894b7d3ef562fb233e4b6ed58add185228650942bdc885362f32c17", - "url": "https://files.pythonhosted.org/packages/bc/ca/e17b08c523adb93d5f07a226b2bd45a7c6e96b359e31c1e99f9db58cb8c3/bcrypt-4.2.1-cp37-abi3-macosx_10_12_universal2.whl" + "hash": "48f753100931605686f74e27a7b49238122aa761a9aefe9373265b8b7aa43ea4", + "url": "https://files.pythonhosted.org/packages/67/49/dd074d831f00e589537e07a0725cf0e220d1f0d5d8e85ad5bbff251c45aa/bcrypt-5.0.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" }, { "algorithm": "sha256", - "hash": "8dbd0747208912b1e4ce730c6725cb56c07ac734b3629b60d4398f082ea718ad", - "url": "https://files.pythonhosted.org/packages/d6/53/ac084b7d985aee1a5f2b086d501f550862596dbf73220663b8c17427e7f2/bcrypt-4.2.1-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + "hash": "fc746432b951e92b58317af8e0ca746efe93e66555f1b40888865ef5bf56446b", + "url": "https://files.pythonhosted.org/packages/84/29/6237f151fbfe295fe3e074ecc6d44228faa1e842a81f6d34a02937ee1736/bcrypt-5.0.0-cp38-abi3-macosx_10_12_universal2.whl" }, { "algorithm": "sha256", - "hash": "687cf30e6681eeda39548a93ce9bfbb300e48b4d445a43db4298d2474d2a1e54", - "url": "https://files.pythonhosted.org/packages/d6/c3/4b4bad4da852924427c651589d464ad1aa624f94dd904ddda8493b0a35e5/bcrypt-4.2.1-cp39-abi3-manylinux_2_28_x86_64.whl" + "hash": "db99dca3b1fdc3db87d7c57eac0c82281242d1eabf19dcb8a6b10eb29a2e72d1", + "url": "https://files.pythonhosted.org/packages/89/48/44590e3fc158620f680a978aafe8f87a4c4320da81ed11552f0323aa9a57/bcrypt-5.0.0-cp39-abi3-musllinux_1_1_aarch64.whl" }, { "algorithm": "sha256", - "hash": "89df2aea2c43be1e1fa066df5f86c8ce822ab70a30e4c210968669565c0f4685", - "url": "https://files.pythonhosted.org/packages/de/cb/578b0023c6a5ca16a177b9044ba6bd6032277bd3ef020fb863eccd22e49b/bcrypt-4.2.1-cp37-abi3-musllinux_1_1_x86_64.whl" + "hash": "f632fd56fc4e61564f78b46a2269153122db34988e78b6be8b32d28507b7eaeb", + "url": "https://files.pythonhosted.org/packages/95/7d/47ee337dacecde6d234890fe929936cb03ebc4c3a7460854bbd9c97780b8/bcrypt-5.0.0-cp38-abi3-musllinux_1_1_x86_64.whl" }, { "algorithm": "sha256", - "hash": "909faa1027900f2252a9ca5dfebd25fc0ef1417943824783d1c8418dd7d6df4a", - "url": "https://files.pythonhosted.org/packages/fd/28/3ea8a39ddd4938b6c6b6136816d72ba5e659e2d82b53d843c8c53455ac4d/bcrypt-4.2.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + "hash": "744d3c6b164caa658adcb72cb8cc9ad9b4b75c7db507ab4bc2480474a51989da", + "url": "https://files.pythonhosted.org/packages/aa/e7/d7dba133e02abcda3b52087a7eea8c0d4f64d3e593b4fffc10c31b7061f3/bcrypt-5.0.0-cp314-cp314t-manylinux_2_28_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "edfcdcedd0d0f05850c52ba3127b1fce70b9f89e0fe5ff16517df7e81fa3cbb8", + "url": "https://files.pythonhosted.org/packages/ac/31/79f11865f8078e192847d2cb526e3fa27c200933c982c5b2869720fa5fce/bcrypt-5.0.0-cp39-abi3-manylinux_2_34_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "ddb4e1500f6efdd402218ffe34d040a1196c072e07929b9820f363a1fd1f4191", + "url": "https://files.pythonhosted.org/packages/ac/ee/2f4985dbad090ace5ad1f7dd8ff94477fe089b5fab2040bd784a3d5f187b/bcrypt-5.0.0-cp39-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "79cfa161eda8d2ddf29acad370356b47f02387153b11d46042e93a0a95127493", + "url": "https://files.pythonhosted.org/packages/c8/88/815b6d558a1e4d40ece04a2f84865b0fef233513bd85fd0e40c294272d62/bcrypt-5.0.0-cp314-cp314t-manylinux_2_34_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "0cae4cb350934dfd74c020525eeae0a5f79257e8a201c0c176f4b84fdbf2a4b4", + "url": "https://files.pythonhosted.org/packages/c9/f2/ea64e51a65e56ae7a8a4ec236c2bfbdd4b23008abd50ac33fbb2d1d15424/bcrypt-5.0.0-cp314-cp314t-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "f748f7c2d6fd375cc93d3fba7ef4a9e3a092421b8dbf34d8d4dc06be9492dfdd", + "url": "https://files.pythonhosted.org/packages/d4/36/3329e2518d70ad8e2e5817d5a4cac6bba05a47767ec416c7d020a965f408/bcrypt-5.0.0.tar.gz" + }, + { + "algorithm": "sha256", + "hash": "611f0a17aa4a25a69362dcc299fda5c8a3d4f160e2abb3831041feb77393a14a", + "url": "https://files.pythonhosted.org/packages/d4/8d/5e43d9584b3b3591a6f9b68f755a4da879a59712981ef5ad2a0ac1379f7a/bcrypt-5.0.0-cp39-abi3-manylinux_2_34_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "801cad5ccb6b87d1b430f183269b94c24f248dddbbc5c1f78b6ed231743e001c", + "url": "https://files.pythonhosted.org/packages/d6/3a/43d494dfb728f55f4e1cf8fd435d50c16a2d75493225b54c8d06122523c6/bcrypt-5.0.0-cp38-abi3-musllinux_1_2_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "7aeef54b60ceddb6f30ee3db090351ecf0d40ec6e2abf41430997407a46d2254", + "url": "https://files.pythonhosted.org/packages/e4/6e/b77ade812672d15cf50842e167eead80ac3514f3beacac8902915417f8b7/bcrypt-5.0.0-cp39-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "a71f70ee269671460b37a449f5ff26982a6f2ba493b3eabdd687b4bf35f875ac", + "url": "https://files.pythonhosted.org/packages/e7/c4/fa6e16145e145e87f1fa351bbd54b429354fd72145cd3d4e0c5157cf4c70/bcrypt-5.0.0-cp39-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl" + }, + { + "algorithm": "sha256", + "hash": "f70aadb7a809305226daedf75d90379c397b094755a710d7014b8b117df1ebbf", + "url": "https://files.pythonhosted.org/packages/f5/91/50ccba088b8c474545b034a1424d05195d9fcbaaf802ab8bfe2be5a4e0d7/bcrypt-5.0.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "4870a52610537037adb382444fefd3706d96d663ac44cbb2f37e3919dca3d7ef", + "url": "https://files.pythonhosted.org/packages/f8/14/c18006f91816606a4abe294ccc5d1e6f0e42304df5a33710e9e8e95416e1/bcrypt-5.0.0-cp314-cp314t-macosx_10_12_universal2.whl" } ], "project_name": "bcrypt", @@ -1183,31 +1385,34 @@ "mypy; extra == \"typecheck\"", "pytest!=3.3.0,>=3.2.1; extra == \"tests\"" ], - "requires_python": ">=3.7", - "version": "4.2.1" + "requires_python": ">=3.8", + "version": "5.0.0" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "a1fed52d708a1aa26dfb8d3eaecf6f4714bff590e728baeefcb44f2c16c8de82", - "url": "https://files.pythonhosted.org/packages/11/b7/a19b55c4cd0b5ca5009ca11d3634994758a1a446976b8e7afa25e719613c/blessed-1.22.0-py2.py3-none-any.whl" + "hash": "e52b9f778b9e10c30b3f17f6b5f5d2208d1e9b53b270f1d94fc61a243fc4708f", + "url": "https://files.pythonhosted.org/packages/7c/2c/e9b6dd824fb6e76dbd39a308fc6f497320afd455373aac8518ca3eba7948/blessed-1.25.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "1818efb7c10015478286f21a412fcdd31a3d8b94a18f6d926e733827da7a844b", - "url": "https://files.pythonhosted.org/packages/7c/51/a72df7730aa34a94bc43cebecb7b63ffa42f019868637dbeb45e0620d26e/blessed-1.22.0.tar.gz" + "hash": "606aebfea69f85915c7ca6a96eb028e0031d30feccc5688e13fd5cec8277b28d", + "url": "https://files.pythonhosted.org/packages/33/cd/eed8b82f1fabcb817d84b24d0780b86600b5c3df7ec4f890bcbb2371b0ad/blessed-1.25.0.tar.gz" } ], "project_name": "blessed", "requires_dists": [ - "backports.functools-lru-cache>=1.2.1; python_version < \"3.2\"", + "Pillow; extra == \"docs\"", + "Sphinx>3; extra == \"docs\"", "jinxed>=1.1.0; platform_system == \"Windows\"", - "ordereddict==1.1; python_version < \"2.7\"", + "sphinx-paramlinks; extra == \"docs\"", + "sphinx_rtd_theme; extra == \"docs\"", + "sphinxcontrib-manpage; extra == \"docs\"", "wcwidth>=0.1.4" ], - "requires_python": ">=2.7", - "version": "1.22.0" + "requires_python": ">=3.7", + "version": "1.25.0" }, { "artifacts": [ @@ -1353,71 +1558,106 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "0f212c2744a9bb6de0c56639a6f68afe01ecd92d91f14ae897c4fe7bbeeef0de", - "url": "https://files.pythonhosted.org/packages/e4/37/af0d2ef3967ac0d6113837b44a4f0bfe1328c2b9763bd5b1744520e5cfed/certifi-2025.10.5-py3-none-any.whl" + "hash": "97de8790030bbd5c2d96b7ec782fc2f7820ef8dba6db909ccf95449f2d062d4b", + "url": "https://files.pythonhosted.org/packages/70/7d/9bc192684cea499815ff478dfcdc13835ddf401365057044fb721ec6bddb/certifi-2025.11.12-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "47c09d31ccf2acf0be3f701ea53595ee7e0b8fa08801c6624be771df09ae7b43", - "url": "https://files.pythonhosted.org/packages/4c/5b/b6ce21586237c77ce67d01dc5507039d444b630dd76611bbca2d8e5dcd91/certifi-2025.10.5.tar.gz" + "hash": "d8ab5478f2ecd78af242878415affce761ca6bc54a22a27e026d7c25357c3316", + "url": "https://files.pythonhosted.org/packages/a2/8c/58f469717fa48465e4a50c014a0400602d3c437d7c0c468e17ada824da3a/certifi-2025.11.12.tar.gz" } ], "project_name": "certifi", "requires_dists": [], "requires_python": ">=3.7", - "version": "2025.10.5" + "version": "2025.11.12" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "6d50360be4546678fc1b79ffe7a66265e28667840010348dd69a314145807a1b", - "url": "https://files.pythonhosted.org/packages/36/54/0362578dd2c9e557a28ac77698ed67323ed5b9775ca9d3fe73fe191bb5d8/cffi-2.0.0-cp313-cp313-musllinux_1_2_x86_64.whl" + "hash": "6c6c373cfc5c83a975506110d17457138c8c63016b563cc9ed6e056a82f13ce4", + "url": "https://files.pythonhosted.org/packages/e1/5e/b666bacbbc60fbf415ba9988324a132c9a7a0448a9a8f125074671c0f2c3/cffi-2.0.0-cp314-cp314t-musllinux_1_2_x86_64.whl" }, { "algorithm": "sha256", - "hash": "45d5e886156860dc35862657e1494b9bae8dfa63bf56796f2fb56e1679fc0bca", - "url": "https://files.pythonhosted.org/packages/4a/d2/a6c0296814556c68ee32009d9c2ad4f85f2707cdecfd7727951ec228005d/cffi-2.0.0-cp313-cp313-macosx_11_0_arm64.whl" + "hash": "7553fb2090d71822f02c629afe6042c299edf91ba1bf94951165613553984512", + "url": "https://files.pythonhosted.org/packages/25/8e/342a504ff018a2825d395d44d63a767dd8ebc927ebda557fecdaca3ac33a/cffi-2.0.0-cp314-cp314t-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "00bdf7acc5f795150faa6957054fbbca2439db2f775ce831222b66f192f03beb", - "url": "https://files.pythonhosted.org/packages/4b/8d/a0a47a0c9e413a658623d014e91e74a50cdd2c423f7ccfd44086ef767f90/cffi-2.0.0-cp313-cp313-macosx_10_13_x86_64.whl" + "hash": "737fe7d37e1a1bffe70bd5754ea763a62a066dc5913ca57e957824b72a85e205", + "url": "https://files.pythonhosted.org/packages/2b/0f/1f177e3683aead2bb00f7679a16451d302c436b5cbf2505f0ea8146ef59e/cffi-2.0.0-cp314-cp314-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "d9b29c1f0ae438d5ee9acb31cadee00a58c46cc9c0b2f9038c6b0b3470877a8c", - "url": "https://files.pythonhosted.org/packages/50/e1/a969e687fcf9ea58e6e2a928ad5e2dd88cc12f6f0ab477e9971f2309b57c/cffi-2.0.0-cp313-cp313-musllinux_1_2_aarch64.whl" + "hash": "7a66c7204d8869299919db4d5069a82f1561581af12b11b3c9f48c584eb8743d", + "url": "https://files.pythonhosted.org/packages/2c/ea/5f76bce7cf6fcd0ab1a1058b5af899bfbef198bea4d5686da88471ea0336/cffi-2.0.0-cp314-cp314t-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "c8d3b5532fc71b7a77c09192b4a5a200ea992702734a2e9279a37f2478236f26", - "url": "https://files.pythonhosted.org/packages/98/df/0a1755e750013a2081e863e7cd37e0cdd02664372c754e5560099eb7aa44/cffi-2.0.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" + "hash": "9a67fc9e8eb39039280526379fb3a70023d77caec1852002b4da7e8b270c4dd9", + "url": "https://files.pythonhosted.org/packages/3e/61/c768e4d548bfa607abcda77423448df8c471f25dbe64fb2ef6d555eae006/cffi-2.0.0-cp314-cp314t-macosx_10_13_x86_64.whl" }, { "algorithm": "sha256", - "hash": "d48a880098c96020b02d5a1f7d9251308510ce8858940e6fa99ece33f610838b", - "url": "https://files.pythonhosted.org/packages/a9/f5/a2c23eb03b61a0b8747f211eb716446c826ad66818ddc7810cc2cc19b3f2/cffi-2.0.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" + "hash": "afb8db5439b81cf9c9d0c80404b60c3cc9c3add93e114dcae767f1477cb53775", + "url": "https://files.pythonhosted.org/packages/47/d9/d83e293854571c877a92da46fdec39158f8d7e68da75bf73581225d28e90/cffi-2.0.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" }, { "algorithm": "sha256", - "hash": "07b271772c100085dd28b74fa0cd81c8fb1a3ba18b21e03d7c27f3436a10606b", - "url": "https://files.pythonhosted.org/packages/b0/1e/d22cc63332bd59b06481ceaac49d6c507598642e2230f201649058a7e704/cffi-2.0.0-cp313-cp313-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl" + "hash": "c654de545946e0db659b3400168c9ad31b5d29593291482c43e3564effbcee13", + "url": "https://files.pythonhosted.org/packages/59/dd/27e9fa567a23931c838c6b02d0764611c62290062a6d4e8ff7863daf9730/cffi-2.0.0-cp314-cp314-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "dd4f05f54a52fb558f1ba9f528228066954fee3ebe629fc1660d874d040ae5a3", - "url": "https://files.pythonhosted.org/packages/cb/1e/a5a1bd6f1fb30f22573f76533de12a00bf274abcdc55c8edab639078abb6/cffi-2.0.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.whl" + "hash": "fc33c5141b55ed366cfaad382df24fe7dcbc686de5be719b207bb248e3053dc5", + "url": "https://files.pythonhosted.org/packages/92/c4/3ce07396253a83250ee98564f8d7e9789fab8e58858f35d07a9a2c78de9f/cffi-2.0.0-cp314-cp314-macosx_10_13_x86_64.whl" }, { "algorithm": "sha256", - "hash": "44d1b5909021139fe36001ae048dbdde8214afa20200eda0f64c068cac5d5529", - "url": "https://files.pythonhosted.org/packages/eb/56/b1ba7935a17738ae8453301356628e8147c79dbb825bcbc73dc7401f9846/cffi-2.0.0.tar.gz" + "hash": "12873ca6cb9b0f0d3a0da705d6086fe911591737a59f28b7936bdfed27c0d47c", + "url": "https://files.pythonhosted.org/packages/b4/89/76799151d9c2d2d1ead63c2429da9ea9d7aac304603de0c6e8764e6e8e70/cffi-2.0.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl" + }, + { + "algorithm": "sha256", + "hash": "d9b97165e8aed9272a6bb17c01e3cc5871a594a446ebedc996e2397a1c1ea8ef", + "url": "https://files.pythonhosted.org/packages/bb/dd/3465b14bb9e24ee24cb88c9e3730f6de63111fffe513492bf8c808a3547e/cffi-2.0.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.whl" + }, + { + "algorithm": "sha256", + "hash": "7cc09976e8b56f8cebd752f7113ad07752461f48a58cbba644139015ac24954c", + "url": "https://files.pythonhosted.org/packages/be/b4/c56878d0d1755cf9caa54ba71e5d049479c52f9e4afc230f06822162ab2f/cffi-2.0.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" }, { "algorithm": "sha256", - "hash": "f93fd8e5c8c0a4aa1f424d6173f14a892044054871c771f8566e4008eaa359d2", - "url": "https://files.pythonhosted.org/packages/f2/7f/e6647792fc5850d634695bc0e6ab4111ae88e89981d35ac269956605feba/cffi-2.0.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl" + "hash": "38100abb9d1b1435bc4cc340bb4489635dc2f0da7456590877030c9b3d40b0c1", + "url": "https://files.pythonhosted.org/packages/c6/0f/cafacebd4b040e3119dcb32fed8bdef8dfe94da653155f9d0b9dc660166e/cffi-2.0.0-cp314-cp314-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "28a3a209b96630bca57cce802da70c266eb08c6e97e5afd61a75611ee6c64592", + "url": "https://files.pythonhosted.org/packages/d0/44/681604464ed9541673e486521497406fadcc15b5217c3e326b061696899a/cffi-2.0.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "24b6f81f1983e6df8db3adc38562c83f7d4a0c36162885ec7f7b77c7dcbec97b", + "url": "https://files.pythonhosted.org/packages/d6/43/0e822876f87ea8a4ef95442c3d766a06a51fc5298823f884ef87aaad168c/cffi-2.0.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "b1e74d11748e7e98e2f426ab176d4ed720a64412b6a15054378afdb71e0f37dc", + "url": "https://files.pythonhosted.org/packages/d8/19/3c435d727b368ca475fb8742ab97c9cb13a0de600ce86f62eab7fa3eea60/cffi-2.0.0-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.whl" + }, + { + "algorithm": "sha256", + "hash": "92b68146a71df78564e4ef48af17551a5ddd142e5190cdf2c5624d0c3ff5b2e8", + "url": "https://files.pythonhosted.org/packages/e0/0d/eb704606dfe8033e7128df5e90fee946bbcb64a04fcdaa97321309004000/cffi-2.0.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl" + }, + { + "algorithm": "sha256", + "hash": "44d1b5909021139fe36001ae048dbdde8214afa20200eda0f64c068cac5d5529", + "url": "https://files.pythonhosted.org/packages/eb/56/b1ba7935a17738ae8453301356628e8147c79dbb825bcbc73dc7401f9846/cffi-2.0.0.tar.gz" } ], "project_name": "cffi", @@ -1436,73 +1676,73 @@ }, { "algorithm": "sha256", - "hash": "94537985111c35f28720e43603b8e7b43a6ecfb2ce1d3058bbe955b73404e21a", - "url": "https://files.pythonhosted.org/packages/13/69/33ddede1939fdd074bce5434295f38fae7136463422fe4fd3e0e89b98062/charset_normalizer-3.4.4.tar.gz" + "hash": "8af65f14dc14a79b924524b1e7fffe304517b2bff5a58bf64f30b98bbc5079eb", + "url": "https://files.pythonhosted.org/packages/10/9a/97c8d48ef10d6cd4fcead2415523221624bf58bcf68a802721a6bc807c8f/charset_normalizer-3.4.4-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" }, { "algorithm": "sha256", - "hash": "bc7637e2f80d8530ee4a78e878bce464f70087ce73cf7c1caf142416923b98f1", - "url": "https://files.pythonhosted.org/packages/75/1e/5ff781ddf5260e387d6419959ee89ef13878229732732ee73cdae01800f2/charset_normalizer-3.4.4-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" + "hash": "74664978bb272435107de04e36db5a9735e78232b85b77d45cfb38f758efd33e", + "url": "https://files.pythonhosted.org/packages/10/bf/979224a919a1b606c82bd2c5fa49b5c6d5727aa47b4312bb27b1734f53cd/charset_normalizer-3.4.4-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl" }, { "algorithm": "sha256", - "hash": "9a26f18905b8dd5d685d6d07b0cdf98a79f3c7a918906af7cc143ea2e164c8bc", - "url": "https://files.pythonhosted.org/packages/7a/10/f882167cd207fbdd743e55534d5d9620e095089d176d55cb22d5322f2afd/charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_x86_64.whl" + "hash": "94537985111c35f28720e43603b8e7b43a6ecfb2ce1d3058bbe955b73404e21a", + "url": "https://files.pythonhosted.org/packages/13/69/33ddede1939fdd074bce5434295f38fae7136463422fe4fd3e0e89b98062/charset_normalizer-3.4.4.tar.gz" }, { "algorithm": "sha256", - "hash": "6b39f987ae8ccdf0d2642338faf2abb1862340facc796048b604ef14919e55ed", - "url": "https://files.pythonhosted.org/packages/7d/62/73a6d7450829655a35bb88a88fca7d736f9882a27eacdca2c6d505b57e2e/charset_normalizer-3.4.4-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" + "hash": "cb6254dc36b47a990e59e1068afacdcd02958bdcce30bb50cc1700a8b9d624a6", + "url": "https://files.pythonhosted.org/packages/16/85/276033dcbcc369eb176594de22728541a925b2632f9716428c851b149e83/charset_normalizer-3.4.4-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" }, { "algorithm": "sha256", - "hash": "3162d5d8ce1bb98dd51af660f2121c55d0fa541b46dff7bb9b9f86ea1d87de72", - "url": "https://files.pythonhosted.org/packages/89/c5/adb8c8b3d6625bef6d88b251bbb0d95f8205831b987631ab0c8bb5d937c2/charset_normalizer-3.4.4-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl" + "hash": "da3326d9e65ef63a817ecbcc0df6e94463713b754fe293eaa03da99befb9a5bd", + "url": "https://files.pythonhosted.org/packages/2a/35/7051599bd493e62411d6ede36fd5af83a38f37c4767b92884df7301db25d/charset_normalizer-3.4.4-cp314-cp314-macosx_10_13_universal2.whl" }, { "algorithm": "sha256", - "hash": "81d5eb2a312700f4ecaa977a8235b634ce853200e828fbadf3a9c50bab278328", - "url": "https://files.pythonhosted.org/packages/91/ed/9706e4070682d1cc219050b6048bfd293ccf67b3d4f5a4f39207453d4b99/charset_normalizer-3.4.4-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" + "hash": "47cc91b2f4dd2833fddaedd2893006b0106129d4b94fdb6af1f4ce5a9965577c", + "url": "https://files.pythonhosted.org/packages/60/bb/2186cb2f2bbaea6338cad15ce23a67f9b0672929744381e28b0592676824/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_armv7l.whl" }, { "algorithm": "sha256", - "hash": "e1f185f86a6f3403aa2420e815904c67b2f9ebc443f045edd0de921108345794", - "url": "https://files.pythonhosted.org/packages/97/45/4b3a1239bbacd321068ea6e7ac28875b03ab8bc0aa0966452db17cd36714/charset_normalizer-3.4.4-cp313-cp313-macosx_10_13_universal2.whl" + "hash": "d1f13550535ad8cff21b8d757a3257963e951d96e20ec82ab44bc64aeb62a191", + "url": "https://files.pythonhosted.org/packages/67/ed/331d6b249259ee71ddea93f6f2f0a56cfebd46938bde6fcc6f7b9a3d0e09/charset_normalizer-3.4.4-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" }, { "algorithm": "sha256", - "hash": "5bd2293095d766545ec1a8f612559f6b40abc0eb18bb2f5d1171872d34036ede", - "url": "https://files.pythonhosted.org/packages/d5/0d/031f0d95e4972901a2f6f09ef055751805ff541511dc1252ba3ca1f80cf5/charset_normalizer-3.4.4-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" + "hash": "ecaae4149d99b1c9e7b88bb03e3221956f68fd6d50be2ef061b2381b61d20838", + "url": "https://files.pythonhosted.org/packages/67/ff/f6b948ca32e4f2a4576aa129d8bed61f2e0543bf9f5f2b7fc3758ed005c9/charset_normalizer-3.4.4-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" }, { "algorithm": "sha256", - "hash": "c0463276121fdee9c49b98908b3a89c39be45d86d1dbaa22957e38f6321d4ce3", - "url": "https://files.pythonhosted.org/packages/d7/24/e2aa1f18c8f15c4c0e932d9287b8609dd30ad56dbe41d926bd846e22fb8d/charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_riscv64.whl" + "hash": "99ae2cffebb06e6c22bdc25801d7b30f503cc87dbd283479e7b606f70aff57ec", + "url": "https://files.pythonhosted.org/packages/76/be/4d3ee471e8145d12795ab655ece37baed0929462a86e72372fd25859047c/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_x86_64.whl" }, { "algorithm": "sha256", - "hash": "f8bf04158c6b607d747e93949aa60618b61312fe647a6369f88ce2ff16043490", - "url": "https://files.pythonhosted.org/packages/d7/57/71be810965493d3510a6ca79b90c19e48696fb1ff964da319334b12677f0/charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_aarch64.whl" + "hash": "82004af6c302b5d3ab2cfc4cc5f29db16123b1a8417f2e25f9066f91d4411090", + "url": "https://files.pythonhosted.org/packages/7d/a5/bf6f13b772fbb2a90360eb620d52ed8f796f3c5caee8398c3b2eb7b1c60d/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "362d61fd13843997c1c446760ef36f240cf81d3ebf74ac62652aebaf7838561e", - "url": "https://files.pythonhosted.org/packages/e4/5b/1e6160c7739aad1e2df054300cc618b06bf784a7a164b0f238360721ab86/charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_s390x.whl" + "hash": "c8ae8a0f02f57a6e61203a31428fa1d677cbe50c93622b4149d5c0f319c1d19e", + "url": "https://files.pythonhosted.org/packages/9e/f2/6a2a1f722b6aba37050e626530a46a68f74e63683947a8acff92569f979a/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "554af85e960429cf30784dd47447d5125aaa3b99a6f0683589dbd27e2f45da44", - "url": "https://files.pythonhosted.org/packages/e5/d5/c3d057a78c181d007014feb7e9f2e65905a6c4ef182c0ddf0de2924edd65/charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_armv7l.whl" + "hash": "799a7a5e4fb2d5898c60b640fd4981d6a25f1c11790935a44ce38c54e985f828", + "url": "https://files.pythonhosted.org/packages/a5/42/90c1f7b9341eef50c8a1cb3f098ac43b0508413f33affd762855f67a410e/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_s390x.whl" }, { "algorithm": "sha256", - "hash": "74018750915ee7ad843a774364e13a3db91682f26142baddf775342c3f5b1133", - "url": "https://files.pythonhosted.org/packages/e6/8c/d0406294828d4976f275ffbe66f00266c4b3136b7506941d87c00cab5272/charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_ppc64le.whl" + "hash": "752944c7ffbfdd10c074dc58ec2d5a8a4cd9493b314d367c14d24c17684ddd14", + "url": "https://files.pythonhosted.org/packages/ba/33/0ad65587441fc730dc7bd90e9716b30b4702dc7b617e6ba4997dc8651495/charset_normalizer-3.4.4-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "a8a8b89589086a25749f471e6a900d3f662d1d3b6e2e59dcecf787b1cc3a1894", - "url": "https://files.pythonhosted.org/packages/f5/83/6ab5883f57c9c801ce5e5677242328aa45592be8a00644310a008d04f922/charset_normalizer-3.4.4-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" + "hash": "2b7d8f6c26245217bd2ad053761201e9f9680f8ce52f0fcd8d0755aeae5b2152", + "url": "https://files.pythonhosted.org/packages/df/c5/d1be898bf0dc3ef9030c3825e5d3b83f2c528d207d246cbabe245966808d/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_riscv64.whl" } ], "project_name": "charset-normalizer", @@ -1574,128 +1814,108 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "3b51b8ca4f1c6453d8829e1eb7299499ca7f313900dd4d89a24b8b87c0a780d4", - "url": "https://files.pythonhosted.org/packages/cd/c7/f65027c2810e14c3e7268353b1681932b87e5a48e65505d8cc17c99e36ae/cryptography-46.0.3-cp38-abi3-musllinux_1_2_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "c0a7bb1a68a5d3471880e264621346c48665b3bf1c3759d682fc0864c540bd9e", - "url": "https://files.pythonhosted.org/packages/00/de/d8e26b1a855f19d9994a19c702fa2e93b0456beccbcfe437eda00e0701f2/cryptography-46.0.3-cp311-abi3-manylinux_2_34_ppc64le.whl" - }, - { - "algorithm": "sha256", - "hash": "b02cf04496f6576afffef5ddd04a0cb7d49cf6be16a9059d793a30b035f6b6ac", - "url": "https://files.pythonhosted.org/packages/14/e5/fc82d72a58d41c393697aa18c9abe5ae1214ff6f2a5c18ac470f92777895/cryptography-46.0.3-cp38-abi3-manylinux_2_34_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "0abf1ffd6e57c67e92af68330d05760b7b7efb243aab8377e583284dbab72c71", - "url": "https://files.pythonhosted.org/packages/15/8d/03cd48b20a573adfff7652b76271078e3045b9f49387920e7f1f631d125e/cryptography-46.0.3-cp311-abi3-musllinux_1_2_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "09859af8466b69bc3c27bdf4f5d84a665e0f7ab5088412e9e2ec49758eca5cbc", - "url": "https://files.pythonhosted.org/packages/1c/67/38769ca6b65f07461eb200e85fc1639b438bdc667be02cf7f2cd6a64601c/cryptography-46.0.3-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" + "hash": "6866df152b581f9429020320e5eb9794c8780e90f7ccb021940d7f50ee00ae0b", + "url": "https://files.pythonhosted.org/packages/c4/f5/3599e48c5464580b73b236aafb20973b953cd2e7b44c7c2533de1d888446/cryptography-44.0.3-cp39-abi3-musllinux_1_2_x86_64.whl" }, { "algorithm": "sha256", - "hash": "109d4ddfadf17e8e7779c39f9b18111a09efb969a301a31e987416a0191ed93a", - "url": "https://files.pythonhosted.org/packages/1d/42/9c391dd801d6cf0d561b5890549d4b27bafcc53b39c31a817e69d87c625b/cryptography-46.0.3-cp311-abi3-macosx_10_9_universal2.whl" + "hash": "3f07943aa4d7dad689e3bb1638ddc4944cc5e0921e3c227486daae0e31a05e54", + "url": "https://files.pythonhosted.org/packages/01/44/eb6522db7d9f84e8833ba3bf63313f8e257729cf3a8917379473fcfd6601/cryptography-44.0.3-cp39-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl" }, { "algorithm": "sha256", - "hash": "5ecfccd2329e37e9b7112a888e76d9feca2347f12f37918facbb893d7bb88ee8", - "url": "https://files.pythonhosted.org/packages/25/d5/16e41afbfa450cde85a3b7ec599bebefaef16b5c6ba4ec49a3532336ed72/cryptography-46.0.3-cp311-abi3-manylinux_2_28_ppc64le.whl" + "hash": "962bc30480a08d133e631e8dfd4783ab71cc9e33d5d7c1e192f0b7c06397bb88", + "url": "https://files.pythonhosted.org/packages/08/53/c776d80e9d26441bb3868457909b4e74dd9ccabd182e10b2b0ae7a07e265/cryptography-44.0.3-cp37-abi3-macosx_10_9_universal2.whl" }, { "algorithm": "sha256", - "hash": "15ab9b093e8f09daab0f2159bb7e47532596075139dd74365da52ecc9cb46c5d", - "url": "https://files.pythonhosted.org/packages/26/42/fa8389d4478368743e24e61eea78846a0006caffaf72ea24a15159215a14/cryptography-46.0.3-cp38-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" + "hash": "ab0b005721cc0039e885ac3503825661bd9810b15d4f374e473f8c89b7d5460c", + "url": "https://files.pythonhosted.org/packages/1b/50/457f6911d36432a8811c3ab8bd5a6090e8d18ce655c22820994913dd06ea/cryptography-44.0.3-cp39-abi3-manylinux_2_34_aarch64.whl" }, { "algorithm": "sha256", - "hash": "4b7387121ac7d15e550f5cb4a43aef2559ed759c35df7336c402bb8275ac9683", - "url": "https://files.pythonhosted.org/packages/27/32/b68d27471372737054cbd34c84981f9edbc24fe67ca225d389799614e27f/cryptography-46.0.3-cp38-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" + "hash": "25cd194c39fa5a0aa4169125ee27d1172097857b27109a45fadc59653ec06f44", + "url": "https://files.pythonhosted.org/packages/1d/aa/330c13655f1af398fc154089295cf259252f0ba5df93b4bc9d9c7d7f843e/cryptography-44.0.3-cp37-abi3-musllinux_1_2_x86_64.whl" }, { "algorithm": "sha256", - "hash": "ef639cb3372f69ec44915fafcd6698b6cc78fbe0c2ea41be867f6ed612811963", - "url": "https://files.pythonhosted.org/packages/3d/39/8e71f3930e40f6877737d6f69248cf74d4e34b886a3967d32f919cc50d3b/cryptography-46.0.3-cp38-abi3-musllinux_1_2_aarch64.whl" + "hash": "157f1f3b8d941c2bd8f3ffee0af9b049c9665c39d3da9db2dc338feca5e98a43", + "url": "https://files.pythonhosted.org/packages/25/50/c0dfb9d87ae88ccc01aad8eb93e23cfbcea6a6a106a9b63a7b14c1f93c75/cryptography-44.0.3-cp37-abi3-manylinux_2_28_x86_64.whl" }, { "algorithm": "sha256", - "hash": "6eae65d4c3d33da080cff9c4ab1f711b15c1d9760809dad6ea763f3812d254cb", - "url": "https://files.pythonhosted.org/packages/4b/0a/863a3604112174c8624a2ac3c038662d9e59970c7f926acdcfaed8d61142/cryptography-46.0.3-cp311-abi3-manylinux_2_28_aarch64.whl" + "hash": "5639c2b16764c6f76eedf722dbad9a0914960d3489c0cc38694ddf9464f1bb2f", + "url": "https://files.pythonhosted.org/packages/34/a3/ad08e0bcc34ad436013458d7528e83ac29910943cea42ad7dd4141a27bbb/cryptography-44.0.3-cp39-abi3-macosx_10_9_universal2.whl" }, { "algorithm": "sha256", - "hash": "01ca9ff2885f3acc98c29f1860552e37f6d7c7d013d7334ff2a9de43a449315d", - "url": "https://files.pythonhosted.org/packages/5c/49/498c86566a1d80e978b42f0d702795f69887005548c041636df6ae1ca64c/cryptography-46.0.3-cp311-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" + "hash": "3bb0847e6363c037df8f6ede57d88eaf3410ca2267fb12275370a76f85786a6f", + "url": "https://files.pythonhosted.org/packages/35/6e/dca39d553075980ccb631955c47b93d87d27f3596da8d48b1ae81463d915/cryptography-44.0.3-cp39-abi3-manylinux_2_34_x86_64.whl" }, { "algorithm": "sha256", - "hash": "46acf53b40ea38f9c6c229599a4a13f0d46a6c3fa9ef19fc1a124d62e338dfa0", - "url": "https://files.pythonhosted.org/packages/5f/eb/f483db0ec5ac040824f269e93dd2bd8a21ecd1027e77ad7bdf6914f2fd80/cryptography-46.0.3-cp38-abi3-manylinux_2_28_aarch64.whl" + "hash": "af653022a0c25ef2e3ffb2c673a50e5a0d02fecc41608f4954176f1933b12359", + "url": "https://files.pythonhosted.org/packages/42/b2/7d31f2af5591d217d71d37d044ef5412945a8a8e98d5a2a8ae4fd9cd4489/cryptography-44.0.3-cp37-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl" }, { "algorithm": "sha256", - "hash": "e5bf0ed4490068a2e72ac03d786693adeb909981cc596425d09032d372bcc849", - "url": "https://files.pythonhosted.org/packages/64/02/b73a533f6b64a69f3cd3872acb6ebc12aef924d8d103133bb3ea750dc703/cryptography-46.0.3-cp311-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl" + "hash": "fe19d8bc5536a91a24a8133328880a41831b6c5df54599a8417b62fe015d3053", + "url": "https://files.pythonhosted.org/packages/53/d6/1411ab4d6108ab167d06254c5be517681f1e331f90edf1379895bcb87020/cryptography-44.0.3.tar.gz" }, { "algorithm": "sha256", - "hash": "36e627112085bb3b81b19fed209c05ce2a52ee8b15d161b7c643a7d5a88491f3", - "url": "https://files.pythonhosted.org/packages/6b/8f/9adb86b93330e0df8b3dcf03eae67c33ba89958fc2e03862ef1ac2b42465/cryptography-46.0.3-cp38-abi3-manylinux_2_28_ppc64le.whl" + "hash": "c6cd67722619e4d55fdb42ead64ed8843d64638e9c07f4011163e46bc512cf01", + "url": "https://files.pythonhosted.org/packages/66/c9/55c6b8794a74da652690c898cb43906310a3e4e4f6ee0b5f8b3b3e70c441/cryptography-44.0.3-cp37-abi3-manylinux_2_34_aarch64.whl" }, { "algorithm": "sha256", - "hash": "71e842ec9bc7abf543b47cf86b9a743baa95f4677d22baa4c7d5c69e49e9bc04", - "url": "https://files.pythonhosted.org/packages/78/06/5663ed35438d0b09056973994f1aec467492b33bd31da36e468b01ec1097/cryptography-46.0.3-cp38-abi3-manylinux_2_34_ppc64le.whl" + "hash": "cb90f60e03d563ca2445099edf605c16ed1d5b15182d21831f58460c48bffb93", + "url": "https://files.pythonhosted.org/packages/68/fb/d61a4defd0d6cee20b1b8a1ea8f5e25007e26aeb413ca53835f0cae2bcd1/cryptography-44.0.3-cp39-abi3-manylinux_2_28_x86_64.whl" }, { "algorithm": "sha256", - "hash": "549e234ff32571b1f4076ac269fcce7a808d3bf98b76c8dd560e42dbc66d7d91", - "url": "https://files.pythonhosted.org/packages/78/f6/50736d40d97e8483172f1bb6e698895b92a223dba513b0ca6f06b2365339/cryptography-46.0.3-cp311-abi3-manylinux_2_34_aarch64.whl" + "hash": "4ffc61e8f3bf5b60346d89cd3d37231019c17a081208dfbbd6e1605ba03fa137", + "url": "https://files.pythonhosted.org/packages/6a/06/af2cf8d56ef87c77319e9086601bef621bedf40f6f59069e1b6d1ec498c5/cryptography-44.0.3-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" }, { "algorithm": "sha256", - "hash": "10b01676fc208c3e6feeb25a8b83d81767e8059e1fe86e1dc62d10a3018fa926", - "url": "https://files.pythonhosted.org/packages/8f/29/798fc4ec461a1c9e9f735f2fc58741b0daae30688f41b2497dcbc9ed1355/cryptography-46.0.3-cp311-abi3-manylinux_2_34_x86_64.whl" + "hash": "7d5fe7195c27c32a64955740b949070f21cba664604291c298518d2e255931d2", + "url": "https://files.pythonhosted.org/packages/73/96/025cb26fc351d8c7d3a1c44e20cf9a01e9f7cf740353c9c7a17072e4b264/cryptography-44.0.3-cp39-abi3-manylinux_2_28_aarch64.whl" }, { "algorithm": "sha256", - "hash": "a8b17438104fed022ce745b362294d9ce35b4c2e45c1d958ad4a4b019285f4a1", - "url": "https://files.pythonhosted.org/packages/9f/33/c00162f49c0e2fe8064a62cb92b93e50c74a72bc370ab92f86112b33ff62/cryptography-46.0.3.tar.gz" + "hash": "b0cc66c74c797e1db750aaa842ad5b8b78e14805a9b5d1348dc603612d3e3ff5", + "url": "https://files.pythonhosted.org/packages/9b/9d/d1f2fe681eabc682067c66a74addd46c887ebacf39038ba01f8860338d3d/cryptography-44.0.3-cp39-abi3-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "a2c0cd47381a3229c403062f764160d57d4d175e022c1df84e168c6251a22eec", - "url": "https://files.pythonhosted.org/packages/c9/56/e7e69b427c3878352c2fb9b450bd0e19ed552753491d39d7d0a2f5226d41/cryptography-46.0.3-cp311-abi3-manylinux_2_28_x86_64.whl" + "hash": "58968d331425a6f9eedcee087f77fd3c927c88f55368f43ff7e0a19891f2642c", + "url": "https://files.pythonhosted.org/packages/ae/01/80de3bec64627207d030f47bf3536889efee8913cd363e78ca9a09b13c8e/cryptography-44.0.3-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" }, { "algorithm": "sha256", - "hash": "1000713389b75c449a6e979ffc7dcc8ac90b437048766cef052d4d30b8220971", - "url": "https://files.pythonhosted.org/packages/d1/a0/5fa77988289c34bdb9f913f5606ecc9ada1adb5ae870bd0d1054a7021cc4/cryptography-46.0.3-cp38-abi3-manylinux_2_28_x86_64.whl" + "hash": "f3ffef566ac88f75967d7abd852ed5f182da252d23fac11b4766da3957766759", + "url": "https://files.pythonhosted.org/packages/b1/f0/7491d44bba8d28b464a5bc8cc709f25a51e3eac54c0a4444cf2473a57c37/cryptography-44.0.3-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" }, { "algorithm": "sha256", - "hash": "a04bee9ab6a4da801eb9b51f1b708a1b5b5c9eb48c03f74198464c66f0d344ac", - "url": "https://files.pythonhosted.org/packages/fa/b1/ebacbfe53317d55cf33165bda24c86523497a6881f339f9aae5c2e13e57b/cryptography-46.0.3-cp311-abi3-musllinux_1_2_x86_64.whl" + "hash": "b424563394c369a804ecbee9b06dfb34997f19d00b3518e39f83a5642618397d", + "url": "https://files.pythonhosted.org/packages/b6/f7/7cb5488c682ca59a02a32ec5f975074084db4c983f849d47b7b67cc8697a/cryptography-44.0.3-cp37-abi3-manylinux_2_34_x86_64.whl" }, { "algorithm": "sha256", - "hash": "402b58fc32614f00980b66d6e56a5b4118e6cb362ae8f3fda141ba4689bd4506", - "url": "https://files.pythonhosted.org/packages/fc/59/873633f3f2dcd8a053b8dd1d38f783043b5fce589c0f6988bf55ef57e43e/cryptography-46.0.3-cp38-abi3-manylinux_2_34_x86_64.whl" + "hash": "e28d62e59a4dbd1d22e747f57d4f00c459af22181f0b2f787ea83f5a876d7c76", + "url": "https://files.pythonhosted.org/packages/bd/48/bb16b7541d207a19d9ae8b541c70037a05e473ddc72ccb1386524d4f023c/cryptography-44.0.3-cp37-abi3-manylinux_2_28_aarch64.whl" }, { "algorithm": "sha256", - "hash": "cb3d760a6117f621261d662bccc8ef5bc32ca673e037c83fbe565324f5c46936", - "url": "https://files.pythonhosted.org/packages/fd/23/45fe7f376a7df8daf6da3556603b36f53475a99ce4faacb6ba2cf3d82021/cryptography-46.0.3-cp38-abi3-macosx_10_9_universal2.whl" + "hash": "c91fc8e8fd78af553f98bc7f2a1d8db977334e4eea302a4bfd75b9461c2d8904", + "url": "https://files.pythonhosted.org/packages/d2/0b/2f789a8403ae089b0b121f8f54f4a3e5228df756e2146efdf4a09a3d5083/cryptography-44.0.3-cp37-abi3-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "10ca84c4668d066a9878890047f03546f3ae0a6b8b39b697457b7757aaf18dbc", - "url": "https://files.pythonhosted.org/packages/fd/cf/da9502c4e1912cb1da3807ea3618a6829bee8207456fbbeebc361ec38ba3/cryptography-46.0.3-cp38-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl" + "hash": "192ed30fac1728f7587c6f4613c29c584abdc565d7417c13904708db10206645", + "url": "https://files.pythonhosted.org/packages/f7/c8/e5c5d0e1364d3346a5747cdcd7ecbb23ca87e6dea4f942a44e88be349f06/cryptography-44.0.3-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" } ], "project_name": "cryptography", @@ -1703,13 +1923,13 @@ "bcrypt>=3.1.5; extra == \"ssh\"", "build>=1.0.0; extra == \"sdist\"", "certifi>=2024; extra == \"test\"", - "cffi>=1.14; python_full_version == \"3.8.*\" and platform_python_implementation != \"PyPy\"", - "cffi>=2.0.0; python_full_version >= \"3.9\" and platform_python_implementation != \"PyPy\"", - "check-sdist; extra == \"pep8test\"", + "cffi>=1.12; platform_python_implementation != \"PyPy\"", + "check-sdist; python_version >= \"3.8\" and extra == \"pep8test\"", "click>=8.0.1; extra == \"pep8test\"", - "cryptography-vectors==46.0.3; extra == \"test\"", - "mypy>=1.14; extra == \"pep8test\"", - "nox[uv]>=2024.4.15; extra == \"nox\"", + "cryptography-vectors==44.0.3; extra == \"test\"", + "mypy>=1.4; extra == \"pep8test\"", + "nox>=2024.4.15; extra == \"nox\"", + "nox[uv]>=2024.3.2; python_version >= \"3.8\" and extra == \"nox\"", "pretend>=0.7; extra == \"test\"", "pyenchant>=3; extra == \"docstest\"", "pytest-benchmark>=4.0; extra == \"test\"", @@ -1718,15 +1938,13 @@ "pytest-xdist>=3.5.0; extra == \"test\"", "pytest>=7.4.0; extra == \"test\"", "readme-renderer>=30.0; extra == \"docstest\"", - "ruff>=0.11.11; extra == \"pep8test\"", - "sphinx-inline-tabs; extra == \"docs\"", - "sphinx-rtd-theme>=3.0.0; extra == \"docs\"", + "ruff>=0.3.6; extra == \"pep8test\"", + "sphinx-rtd-theme>=3.0.0; python_version >= \"3.8\" and extra == \"docs\"", "sphinx>=5.3.0; extra == \"docs\"", - "sphinxcontrib-spelling>=7.3.1; extra == \"docstest\"", - "typing-extensions>=4.13.2; python_full_version < \"3.11\"" + "sphinxcontrib-spelling>=7.3.1; extra == \"docstest\"" ], - "requires_python": "!=3.9.0,!=3.9.1,>=3.8", - "version": "46.0.3" + "requires_python": "!=3.9.0,!=3.9.1,>=3.7", + "version": "44.0.3" }, { "artifacts": [ @@ -1762,31 +1980,6 @@ "requires_python": ">=3.6", "version": "0.5.9" }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "bd5011788200372a32418f888e326a09ff80d0214bd961147cfed01b5c018eec", - "url": "https://files.pythonhosted.org/packages/6e/c6/ac0b6c1e2d138f1002bcf799d330bd6d85084fece321e662a14223794041/Deprecated-1.2.18-py2.py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "422b6f6d859da6f2ef57857761bfb392480502a64c3028ca9bbe86085d72115d", - "url": "https://files.pythonhosted.org/packages/98/97/06afe62762c9a8a86af0cfb7bfdab22a43ad17138b07af5b1a58442690a2/deprecated-1.2.18.tar.gz" - } - ], - "project_name": "deprecated", - "requires_dists": [ - "PyTest-Cov; extra == \"dev\"", - "PyTest; extra == \"dev\"", - "bump2version<1; extra == \"dev\"", - "setuptools; python_version >= \"3.12\" and extra == \"dev\"", - "tox; extra == \"dev\"", - "wrapt<2,>=1.10" - ], - "requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7", - "version": "1.2.18" - }, { "artifacts": [ { @@ -1920,25 +2113,10 @@ }, { "artifacts": [ - { - "algorithm": "sha256", - "hash": "e10e972639606206892aef94953fb023e4bb1a4fa68143396e49f4d0da31a13a", - "url": "https://files.pythonhosted.org/packages/46/32/6b0a21ddd58c6da6dd1c2fedd9c23fa717cc0ca204a6ca5329c8123374b9/etcd_client_py-0.4.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "26845fbf2bbdee9283df60f58938e8f8ea111e3cce4bb9737154ccd526a01813", - "url": "https://files.pythonhosted.org/packages/25/3c/ec281bc41637d163471f491dc04367799cf6e75e86526ff486b8a997d44c/etcd_client_py-0.4.1-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl" - }, { "algorithm": "sha256", "hash": "3909bd4857274e2ffa37aabc6d4a7e49dc2f903ef657dbf141555887b707129e", "url": "https://files.pythonhosted.org/packages/c7/75/4034fbbdcb9b670e7add878a208484b9aceafea7dc55c4964fd5e0eb67a1/etcd_client_py-0.4.1.tar.gz" - }, - { - "algorithm": "sha256", - "hash": "cdbf59cc758692595ae2f4a592bf75108ddb5d61fa7a5440ba089bbbe766dbe9", - "url": "https://files.pythonhosted.org/packages/fa/91/c67993ae03b54db1f4f308a7cabdf765371a2cbdc2b7e94fa3ea28065c37/etcd_client_py-0.4.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" } ], "project_name": "etcd-client-py", @@ -1994,138 +2172,138 @@ }, { "algorithm": "sha256", - "hash": "21900c48ae04d13d416f0e1e0c4d81f7931f73a9dfa0b7a8746fb2fe7dd970ed", - "url": "https://files.pythonhosted.org/packages/03/a8/9ea226fbefad669f11b52e864c55f0bd57d3c8d7eb07e9f2e9a0b39502e1/frozenlist-1.8.0-cp313-cp313-musllinux_1_2_x86_64.whl" + "hash": "2dc43a022e555de94c3b68a4ef0b11c4f747d12c024a520c7101709a2144fb37", + "url": "https://files.pythonhosted.org/packages/05/23/6bde59eb55abd407d34f77d39a5126fb7b4f109a3f611d3929f14b700c66/frozenlist-1.8.0-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl" }, { "algorithm": "sha256", - "hash": "f21f00a91358803399890ab167098c131ec2ddd5f8f5fd5fe9c9f2c6fcd91e40", - "url": "https://files.pythonhosted.org/packages/0c/ab/6e5080ee374f875296c4243c381bbdef97a9ac39c6e3ce1d5f7d42cb78d6/frozenlist-1.8.0-cp313-cp313-macosx_11_0_arm64.whl" + "hash": "4314debad13beb564b708b4a496020e5306c7333fa9a3ab90374169a20ffab30", + "url": "https://files.pythonhosted.org/packages/11/99/ae3a33d5befd41ac0ca2cc7fd3aa707c9c324de2e89db0e0f45db9a64c26/frozenlist-1.8.0-cp314-cp314-musllinux_1_2_s390x.whl" }, { "algorithm": "sha256", - "hash": "4e0c11f2cc6717e0a741f84a527c52616140741cd812a50422f83dc31749fb52", - "url": "https://files.pythonhosted.org/packages/1e/bb/a6d12b7ba4c3337667d0e421f7181c82dda448ce4e7ad7ecd249a16fa806/frozenlist-1.8.0-cp313-cp313t-macosx_11_0_arm64.whl" + "hash": "92db2bf818d5cc8d9c1f1fc56b897662e24ea5adb36ad1f1d82875bd64e03c24", + "url": "https://files.pythonhosted.org/packages/2d/14/aa36d5f85a89679a85a1d44cd7a6657e0b1c75f61e7cad987b203d2daca8/frozenlist-1.8.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" }, { "algorithm": "sha256", - "hash": "ec3cc8c5d4084591b4237c0a272cc4f50a5b03396a47d9caaf76f5d7b38a4f11", - "url": "https://files.pythonhosted.org/packages/1f/96/cb85ec608464472e82ad37a17f844889c36100eed57bea094518bf270692/frozenlist-1.8.0-cp313-cp313-musllinux_1_2_aarch64.whl" + "hash": "3ede829ed8d842f6cd48fc7081d7a41001a56f1f38603f9d49bf3020d59a31ad", + "url": "https://files.pythonhosted.org/packages/2d/f5/c831fac6cc817d26fd54c7eaccd04ef7e0288806943f7cc5bbf69f3ac1f0/frozenlist-1.8.0.tar.gz" }, { "algorithm": "sha256", - "hash": "8d92f1a84bb12d9e56f818b3a746f3efba93c1b63c8387a73dde655e1e42282a", - "url": "https://files.pythonhosted.org/packages/2d/40/0832c31a37d60f60ed79e9dfb5a92e1e2af4f40a16a29abcc7992af9edff/frozenlist-1.8.0-cp313-cp313-macosx_10_13_universal2.whl" + "hash": "168c0969a329b416119507ba30b9ea13688fafffac1b7822802537569a1cb0ef", + "url": "https://files.pythonhosted.org/packages/30/de/2c22ab3eb2a8af6d69dc799e48455813bab3690c760de58e1bf43b36da3e/frozenlist-1.8.0-cp314-cp314t-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "3ede829ed8d842f6cd48fc7081d7a41001a56f1f38603f9d49bf3020d59a31ad", - "url": "https://files.pythonhosted.org/packages/2d/f5/c831fac6cc817d26fd54c7eaccd04ef7e0288806943f7cc5bbf69f3ac1f0/frozenlist-1.8.0.tar.gz" + "hash": "778a11b15673f6f1df23d9586f83c4846c471a8af693a22e066508b77d201ec8", + "url": "https://files.pythonhosted.org/packages/3a/3b/d9b1e0b0eed36e70477ffb8360c49c85c8ca8ef9700a4e6711f39a6e8b45/frozenlist-1.8.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" }, { "algorithm": "sha256", - "hash": "96153e77a591c8adc2ee805756c61f59fef4cf4073a9275ee86fe8cba41241f7", - "url": "https://files.pythonhosted.org/packages/30/ba/b0b3de23f40bc55a7057bd38434e25c34fa48e17f20ee273bbde5e0650f3/frozenlist-1.8.0-cp313-cp313-macosx_10_13_x86_64.whl" + "hash": "28bd570e8e189d7f7b001966435f9dac6718324b5be2990ac496cf1ea9ddb7fe", + "url": "https://files.pythonhosted.org/packages/59/f7/970141a6a8dbd7f556d94977858cfb36fa9b66e0892c6dd780d2219d8cd8/frozenlist-1.8.0-cp314-cp314t-musllinux_1_2_armv7l.whl" }, { "algorithm": "sha256", - "hash": "eaa352d7047a31d87dafcacbabe89df0aa506abb5b1b85a2fb91bc3faa02d822", - "url": "https://files.pythonhosted.org/packages/40/76/c202df58e3acdf12969a7895fd6f3bc016c642e6726aa63bd3025e0fc71c/frozenlist-1.8.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" + "hash": "154e55ec0655291b5dd1b8731c637ecdb50975a2ae70c606d100750a540082f7", + "url": "https://files.pythonhosted.org/packages/5f/85/07bf3f5d0fb5414aee5f47d33c6f5c77bfe49aac680bfece33d4fdf6a246/frozenlist-1.8.0-cp314-cp314-musllinux_1_2_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "517279f58009d0b1f2e7c1b130b377a349405da3f7621ed6bfae50b10adf20c1", - "url": "https://files.pythonhosted.org/packages/5d/6f/4ae69c550e4cee66b57887daeebe006fe985917c01d0fff9caab9883f6d0/frozenlist-1.8.0-cp313-cp313-musllinux_1_2_armv7l.whl" + "hash": "39ecbc32f1390387d2aa4f5a995e465e9e2f79ba3adcac92d68e3e0afae6657c", + "url": "https://files.pythonhosted.org/packages/62/1c/3d8622e60d0b767a5510d1d3cf21065b9db874696a51ea6d7a43180a259c/frozenlist-1.8.0-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl" }, { "algorithm": "sha256", - "hash": "db1e72ede2d0d7ccb213f218df6a078a9c09a7de257c2fe8fcef16d5925230b1", - "url": "https://files.pythonhosted.org/packages/7a/58/afd56de246cf11780a40a2c28dc7cbabbf06337cc8ddb1c780a2d97e88d8/frozenlist-1.8.0-cp313-cp313-musllinux_1_2_ppc64le.whl" + "hash": "2f05983daecab868a31e1da44462873306d3cbfd76d1f0b5b69c473d21dbb128", + "url": "https://files.pythonhosted.org/packages/62/c3/f57a5c8c70cd1ead3d5d5f776f89d33110b1addae0ab010ad774d9a44fb9/frozenlist-1.8.0-cp314-cp314-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "50066c3997d0091c411a66e710f4e11752251e6d2d73d70d8d5d4c76442a199d", - "url": "https://files.pythonhosted.org/packages/7c/ce/3934758637d8f8a88d11f0585d6495ef54b2044ed6ec84492a91fa3b27aa/frozenlist-1.8.0-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" + "hash": "33f48f51a446114bc5d251fb2954ab0164d5be02ad3382abcbfe07e2531d650f", + "url": "https://files.pythonhosted.org/packages/6c/52/232476fe9cb64f0742f3fde2b7d26c1dac18b6d62071c74d4ded55e0ef94/frozenlist-1.8.0-cp314-cp314-musllinux_1_2_armv7l.whl" }, { "algorithm": "sha256", - "hash": "f6292f1de555ffcc675941d65fffffb0a5bcd992905015f85d0592201793e0e5", - "url": "https://files.pythonhosted.org/packages/7e/eb/4c7eefc718ff72f9b6c4893291abaae5fbc0c82226a32dcd8ef4f7a5dbef/frozenlist-1.8.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" + "hash": "119fb2a1bd47307e899c2fac7f28e85b9a543864df47aa7ec9d3c1b4545f096f", + "url": "https://files.pythonhosted.org/packages/8e/e8/a1185e236ec66c20afd72399522f142c3724c785789255202d27ae992818/frozenlist-1.8.0-cp314-cp314-macosx_10_13_x86_64.whl" }, { "algorithm": "sha256", - "hash": "cf253e0e1c3ceb4aaff6df637ce033ff6535fb8c70a764a8f46aafd3d6ab798e", - "url": "https://files.pythonhosted.org/packages/9f/d0/2366d3c4ecdc2fd391e0afa6e11500bfba0ea772764d631bbf82f0136c9d/frozenlist-1.8.0-cp313-cp313t-musllinux_1_2_ppc64le.whl" + "hash": "974b28cf63cc99dfb2188d8d222bc6843656188164848c4f679e63dae4b0708e", + "url": "https://files.pythonhosted.org/packages/96/52/abddd34ca99be142f354398700536c5bd315880ed0a213812bc491cff5e4/frozenlist-1.8.0-cp314-cp314t-musllinux_1_2_x86_64.whl" }, { "algorithm": "sha256", - "hash": "032efa2674356903cd0261c4317a561a6850f3ac864a63fc1583147fb05a79b0", - "url": "https://files.pythonhosted.org/packages/b8/94/daff920e82c1b70e3618a2ac39fbc01ae3e2ff6124e80739ce5d71c9b920/frozenlist-1.8.0-cp313-cp313t-musllinux_1_2_s390x.whl" + "hash": "4970ece02dbc8c3a92fcc5228e36a3e933a01a999f7094ff7c23fbd2beeaa67c", + "url": "https://files.pythonhosted.org/packages/a1/93/72b1736d68f03fda5fdf0f2180fb6caaae3894f1b854d006ac61ecc727ee/frozenlist-1.8.0-cp314-cp314-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "b3210649ee28062ea6099cfda39e147fa1bc039583c8ee4481cb7811e2448c51", - "url": "https://files.pythonhosted.org/packages/bc/71/d1fed0ffe2c2ccd70b43714c6cab0f4188f09f8a67a7914a6b46ee30f274/frozenlist-1.8.0-cp313-cp313t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl" + "hash": "33139dc858c580ea50e7e60a1b0ea003efa1fd42e6ec7fdbad78fff65fad2fd2", + "url": "https://files.pythonhosted.org/packages/a4/89/5b057c799de4838b6c69aa82b79705f2027615e01be996d2486a69ca99c4/frozenlist-1.8.0-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" }, { "algorithm": "sha256", - "hash": "29548f9b5b5e3460ce7378144c3010363d8035cea44bc0bf02d57f5a685e084e", - "url": "https://files.pythonhosted.org/packages/c2/4e/e5c02187cf704224f8b21bee886f3d713ca379535f16893233b9d672ea71/frozenlist-1.8.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" + "hash": "cba69cb73723c3f329622e34bdbf5ce1f80c21c290ff04256cff1cd3c2036ed2", + "url": "https://files.pythonhosted.org/packages/a7/b2/fabede9fafd976b991e9f1b9c8c873ed86f202889b864756f240ce6dd855/frozenlist-1.8.0-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl" }, { "algorithm": "sha256", - "hash": "581ef5194c48035a7de2aefc72ac6539823bb71508189e5de01d60c9dcd5fa65", - "url": "https://files.pythonhosted.org/packages/c9/1f/fb1685a7b009d89f9bf78a42d94461bc06581f6e718c39344754a5d9bada/frozenlist-1.8.0-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" + "hash": "eab8145831a0d56ec9c4139b6c3e594c7a83c2c8be25d5bcf2d86136a532287a", + "url": "https://files.pythonhosted.org/packages/ac/83/dca6dc53bf657d371fbc88ddeb21b79891e747189c5de990b9dfff2ccba1/frozenlist-1.8.0-cp314-cp314t-musllinux_1_2_s390x.whl" }, { "algorithm": "sha256", - "hash": "5500ef82073f599ac84d888e3a8c1f77ac831183244bfd7f11eaa0289fb30714", - "url": "https://files.pythonhosted.org/packages/ca/ec/c5c618767bcdf66e88945ec0157d7f6c4a1322f1473392319b7a2501ded7/frozenlist-1.8.0-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" + "hash": "073f8bf8becba60aa931eb3bc420b217bb7d5b8f4750e6f8b3be7f3da85d38b7", + "url": "https://files.pythonhosted.org/packages/b2/60/b1d2da22f4970e7a155f0adde9b1435712ece01b3cd45ba63702aea33938/frozenlist-1.8.0-cp314-cp314-musllinux_1_2_x86_64.whl" }, { "algorithm": "sha256", - "hash": "b4dec9482a65c54a5044486847b8a66bf10c9cb4926d42927ec4e8fd5db7fed8", - "url": "https://files.pythonhosted.org/packages/cb/36/cdfaf6ed42e2644740d4a10452d8e97fa1c062e2a8006e4b09f1b5fd7d63/frozenlist-1.8.0-cp313-cp313-musllinux_1_2_s390x.whl" + "hash": "2c5dcbbc55383e5883246d11fd179782a9d07a986c40f49abe89ddf865913930", + "url": "https://files.pythonhosted.org/packages/ba/7d/b7282a445956506fa11da8c2db7d276adcbf2b17d8bb8407a47685263f90/frozenlist-1.8.0-cp314-cp314t-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "e25ac20a2ef37e91c1b39938b591457666a0fa835c7783c3a8f33ea42870db94", - "url": "https://files.pythonhosted.org/packages/d2/5c/3bbfaa920dfab09e76946a5d2833a7cbdf7b9b4a91c714666ac4855b88b4/frozenlist-1.8.0-cp313-cp313t-macosx_10_13_universal2.whl" + "hash": "d3bb933317c52d7ea5004a1c442eef86f426886fba134ef8cf4226ea6ee1821d", + "url": "https://files.pythonhosted.org/packages/c0/c7/43200656ecc4e02d3f8bc248df68256cd9572b3f0017f0a0c4e93440ae23/frozenlist-1.8.0-cp314-cp314t-macosx_10_13_universal2.whl" }, { "algorithm": "sha256", - "hash": "07cdca25a91a4386d2e76ad992916a85038a9b97561bf7a3fd12d5d9ce31870c", - "url": "https://files.pythonhosted.org/packages/d2/d6/f03961ef72166cec1687e84e8925838442b615bd0b8854b54923ce5b7b8a/frozenlist-1.8.0-cp313-cp313t-macosx_10_13_x86_64.whl" + "hash": "b2a095d45c5d46e5e79ba1e5b9cb787f541a8dee0433836cea4b96a2c439dcd8", + "url": "https://files.pythonhosted.org/packages/c1/15/ca1adae83a719f82df9116d66f5bb28bb95557b3951903d39135620ef157/frozenlist-1.8.0-cp314-cp314t-musllinux_1_2_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "fb30f9626572a76dfe4293c7194a09fb1fe93ba94c7d4f720dfae3b646b45027", - "url": "https://files.pythonhosted.org/packages/d5/4e/e4691508f9477ce67da2015d8c00acd751e6287739123113a9fca6f1604e/frozenlist-1.8.0-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl" + "hash": "8009897cdef112072f93a0efdce29cd819e717fd2f649ee3016efd3cd885a7ed", + "url": "https://files.pythonhosted.org/packages/d1/29/55c5f0689b9c0fb765055629f472c0de484dcaf0acee2f7707266ae3583c/frozenlist-1.8.0-cp314-cp314t-macosx_10_13_x86_64.whl" }, { "algorithm": "sha256", - "hash": "eefdba20de0d938cec6a89bd4d70f346a03108a19b9df4248d3cf0d88f1b0f51", - "url": "https://files.pythonhosted.org/packages/dc/48/c7b163063d55a83772b268e6d1affb960771b0e203b632cfe09522d67ea5/frozenlist-1.8.0-cp313-cp313t-musllinux_1_2_armv7l.whl" + "hash": "cb89a7f2de3602cfed448095bab3f178399646ab7c61454315089787df07733a", + "url": "https://files.pythonhosted.org/packages/d2/3f/22cff331bfad7a8afa616289000ba793347fcd7bc275f3b28ecea2a27909/frozenlist-1.8.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "6da155091429aeba16851ecb10a9104a108bcd32f6c1642867eadaee401c1c41", - "url": "https://files.pythonhosted.org/packages/e3/20/bba307ab4235a09fdcd3cc5508dbabd17c4634a1af4b96e0f69bfe551ebd/frozenlist-1.8.0-cp313-cp313t-musllinux_1_2_x86_64.whl" + "hash": "0325024fe97f94c41c08872db482cf8ac4800d80e79222c6b0b7b162d5b13686", + "url": "https://files.pythonhosted.org/packages/dc/94/be719d2766c1138148564a3960fc2c06eb688da592bdc25adcf856101be7/frozenlist-1.8.0-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl" }, { "algorithm": "sha256", - "hash": "3ef2d026f16a2b1866e1d86fc4e1291e1ed8a387b2c333809419a2f8b3a77b82", - "url": "https://files.pythonhosted.org/packages/e6/3b/b991fe1612703f7e0d05c0cf734c1b77aaf7c7d321df4572e8d36e7048c8/frozenlist-1.8.0-cp313-cp313t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl" + "hash": "97260ff46b207a82a7567b581ab4190bd4dfa09f4db8a8b49d1a958f6aa4940e", + "url": "https://files.pythonhosted.org/packages/e4/09/6712b6c5465f083f52f50cf74167b92d4ea2f50e46a9eea0523d658454ae/frozenlist-1.8.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "03ae967b4e297f58f8c774c7eabcce57fe3c2434817d4385c50661845a058121", - "url": "https://files.pythonhosted.org/packages/f9/c0/8746afb90f17b73ca5979c7a3958116e105ff796e718575175319b5bb4ce/frozenlist-1.8.0-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl" + "hash": "cee686f1f4cadeb2136007ddedd0aaf928ab95216e7691c63e50a8ec066336d0", + "url": "https://files.pythonhosted.org/packages/f1/c8/85da824b7e7b9b6e7f7705b2ecaf9591ba6f79c1177f324c2735e41d36a2/frozenlist-1.8.0-cp314-cp314-macosx_10_13_universal2.whl" }, { "algorithm": "sha256", - "hash": "5c1c8e78426e59b3f8005e9b19f6ff46e5845895adbde20ece9218319eca6506", - "url": "https://files.pythonhosted.org/packages/fc/4f/a7e4d0d467298f42de4b41cbc7ddaf19d3cfeabaf9ff97c20c6c7ee409f9/frozenlist-1.8.0-cp313-cp313t-musllinux_1_2_aarch64.whl" + "hash": "54b2077180eb7f83dd52c40b2750d0a9f175e06a42e3213ce047219de902717a", + "url": "https://files.pythonhosted.org/packages/f8/d4/cd065cdcf21550b54f3ce6a22e143ac9e4836ca42a0de1022da8498eac89/frozenlist-1.8.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" } ], "project_name": "frozenlist", @@ -2137,13 +2315,13 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "530dc2a2af60a414a832059574df4a6e10cce927f6f4a78209390fe38955cfb7", - "url": "https://files.pythonhosted.org/packages/47/71/70db47e4f6ce3e5c37a607355f80da8860a33226be640226ac52cb05ef2e/fsspec-2025.9.0-py3-none-any.whl" + "hash": "8bf1fe301b7d8acfa6e8571e3b1c3d158f909666642431cc78a1b7b4dbc5ec5b", + "url": "https://files.pythonhosted.org/packages/51/c7/b64cae5dba3a1b138d7123ec36bb5ccd39d39939f18454407e5468f4763f/fsspec-2025.12.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "19fd429483d25d28b65ec68f9f4adc16c17ea2c7c7bf54ec61360d478fb19c19", - "url": "https://files.pythonhosted.org/packages/de/e0/bab50af11c2d75c9c4a2a26a5254573c0bd97cea152254401510950486fa/fsspec-2025.9.0.tar.gz" + "hash": "c505de011584597b1060ff778bb664c1bc022e87921b0e4f10cc9c44f9635973", + "url": "https://files.pythonhosted.org/packages/b6/27/954057b0d1f53f086f681755207dda6de6c660ce133c829158e8e8fe7895/fsspec-2025.12.0.tar.gz" } ], "project_name": "fsspec", @@ -2250,20 +2428,20 @@ "zarr; extra == \"test-full\"", "zstandard; python_version < \"3.14\" and extra == \"test-full\"" ], - "requires_python": ">=3.9", - "version": "2025.9.0" + "requires_python": ">=3.10", + "version": "2025.12.0" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "754843be95575b9a19c604a848a41be03f7f2afd8c019f716dc1f51ee41c639d", - "url": "https://files.pythonhosted.org/packages/be/a4/7319a2a8add4cc352be9e3efeff5e2aacee917c85ca2fa1647e29089983c/google_auth-2.41.1-py2.py3-none-any.whl" + "hash": "af628ba6fa493f75c7e9dbe9373d148ca9f4399b5ea29976519e0a3848eddd16", + "url": "https://files.pythonhosted.org/packages/6f/d1/385110a9ae86d91cc14c5282c61fe9f4dc41c0b9f7d423c6ad77038c4448/google_auth-2.43.0-py2.py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "b76b7b1f9e61f0cb7e88870d14f6a94aeef248959ef6992670efee37709cbfd2", - "url": "https://files.pythonhosted.org/packages/a8/af/5129ce5b2f9688d2fa49b463e544972a7c82b0fdb50980dafee92e121d9f/google_auth-2.41.1.tar.gz" + "hash": "88228eee5fc21b62a1b5fe773ca15e67778cb07dc8363adcb4a8827b52d81483", + "url": "https://files.pythonhosted.org/packages/ff/ef/66d14cf0e01b08d2d51ffc3c20410c4e134a1548fc246a6081eae585a4fe/google_auth-2.43.0.tar.gz" } ], "project_name": "google-auth", @@ -2311,19 +2489,19 @@ "urllib3; extra == \"urllib3\"" ], "requires_python": ">=3.7", - "version": "2.41.1" + "version": "2.43.0" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "b8bfcca8c25a2bb253e0e0b0adaf8c00773e5e6af6fd92397576680b807e0fd8", - "url": "https://files.pythonhosted.org/packages/86/f1/62a193f0227cf15a920390abe675f386dec35f7ae3ffe6da582d3ade42c7/googleapis_common_protos-1.70.0-py3-none-any.whl" + "hash": "4299c5a82d5ae1a9702ada957347726b167f9f8d1fc352477702a1e851ff4038", + "url": "https://files.pythonhosted.org/packages/c4/ab/09169d5a4612a5f92490806649ac8d41e3ec9129c636754575b3553f4ea4/googleapis_common_protos-1.72.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "0e1b44e0ea153e6594f9f394fef15193a68aaaea2d843f83e2742717ca753257", - "url": "https://files.pythonhosted.org/packages/39/24/33db22342cf4a2ea27c9955e6713140fedd51e8b141b5ce5260897020f1a/googleapis_common_protos-1.70.0.tar.gz" + "hash": "e55a601c1b32b52d7a3e65f43563e2aa61bcd737998ee672ac9b951cd49319f5", + "url": "https://files.pythonhosted.org/packages/e5/7b/adfd75544c415c487b33061fe7ae526165241c1ea133f9a9125a56b39fd8/googleapis_common_protos-1.72.0.tar.gz" } ], "project_name": "googleapis-common-protos", @@ -2332,7 +2510,7 @@ "protobuf!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<7.0.0,>=3.20.2" ], "requires_python": ">=3.7", - "version": "1.70.0" + "version": "1.72.0" }, { "artifacts": [ @@ -2431,21 +2609,21 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "78b016718c161a6fb20a7d97bbf107f331cd1afe53e45566c59f776ed7f0b45f", - "url": "https://files.pythonhosted.org/packages/ae/4f/7297663840621022bc73c22d7d9d80dbc78b4db6297f764b545cd5dd462d/graphql_core-3.2.6-py3-none-any.whl" + "hash": "17fc8f3ca4a42913d8e24d9ac9f08deddf0a0b2483076575757f6c412ead2ec0", + "url": "https://files.pythonhosted.org/packages/0a/14/933037032608787fb92e365883ad6a741c235e0ff992865ec5d904a38f1e/graphql_core-3.2.7-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "c08eec22f9e40f0bd61d805907e3b3b1b9a320bc606e23dc145eebca07c8fbab", - "url": "https://files.pythonhosted.org/packages/c4/16/7574029da84834349b60ed71614d66ca3afe46e9bf9c7b9562102acb7d4f/graphql_core-3.2.6.tar.gz" + "hash": "27b6904bdd3b43f2a0556dad5d579bdfdeab1f38e8e8788e555bdcb586a6f62c", + "url": "https://files.pythonhosted.org/packages/ac/9b/037a640a2983b09aed4a823f9cf1729e6d780b0671f854efa4727a7affbe/graphql_core-3.2.7.tar.gz" } ], "project_name": "graphql-core", "requires_dists": [ - "typing-extensions<5,>=4; python_version < \"3.10\"" + "typing-extensions<5,>=4.7; python_version < \"3.10\"" ], - "requires_python": "<4,>=3.6", - "version": "3.2.6" + "requires_python": "<4,>=3.7", + "version": "3.2.7" }, { "artifacts": [ @@ -2495,48 +2673,78 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "d25c5091190f2dc0eaa3f950252122edbbadbb682aa7b1ef2f8af0f8c0afefae", - "url": "https://files.pythonhosted.org/packages/a2/15/0d5e4e1a66fab130d98168fe984c509249c833c1a3c16806b90f253ce7b9/greenlet-3.2.4-cp313-cp313-musllinux_1_1_x86_64.whl" + "hash": "6c10513330af5b8ae16f023e8ddbfb486ab355d04467c4679c5cfe4659975dd9", + "url": "https://files.pythonhosted.org/packages/4f/dc/041be1dff9f23dac5f48a43323cd0789cb798342011c19a248d9c9335536/greenlet-3.3.0-cp314-cp314t-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "d9125050fcf24554e69c4cacb086b87b3b55dc395a8b3ebe6487b045b2614388", + "url": "https://files.pythonhosted.org/packages/30/cf/cc81cb030b40e738d6e69502ccbd0dd1bced0588e958f9e757945de24404/greenlet-3.3.0-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "d198d2d977460358c3b3a4dc844f875d1adb33817f0613f663a656f463764ccc", + "url": "https://files.pythonhosted.org/packages/42/1b/83d110a37044b92423084d52d5d5a3b3a73cafb51b547e6d7366ff62eff1/greenlet-3.3.0-cp314-cp314-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "0a5d554d0712ba1de0a6c94c640f7aeba3f85b3a6e1f2899c11c2c0428da9365", + "url": "https://files.pythonhosted.org/packages/44/06/dac639ae1a50f5969d82d2e3dd9767d30d6dbdbab0e1a54010c8fe90263c/greenlet-3.3.0-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "ac0549373982b36d5fd5d30beb8a7a33ee541ff98d2b502714a09f1169f31b55", + "url": "https://files.pythonhosted.org/packages/4b/d2/91465d39164eaa0085177f61983d80ffe746c5a1860f009811d498e7259c/greenlet-3.3.0-cp314-cp314-musllinux_1_2_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "3c6e9b9c1527a78520357de498b0e709fb9e2f49c3a513afd5a249007261911b", + "url": "https://files.pythonhosted.org/packages/57/b9/f8025d71a6085c441a7eaff0fd928bbb275a6633773667023d19179fe815/greenlet-3.3.0-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "2662433acbca297c9153a4023fe2161c8dcfdcc91f10433171cf7e7d94ba2221", + "url": "https://files.pythonhosted.org/packages/69/cc/1e4bae2e45ca2fa55299f4e85854606a78ecc37fead20d69322f96000504/greenlet-3.3.0-cp314-cp314t-manylinux_2_24_s390x.manylinux_2_28_s390x.whl" }, { "algorithm": "sha256", - "hash": "0dca0d95ff849f9a364385f36ab49f50065d76964944638be9691e1832e9f86d", - "url": "https://files.pythonhosted.org/packages/03/b8/704d753a5a45507a7aab61f18db9509302ed3d0a27ac7e0359ec2905b1a6/greenlet-3.2.4.tar.gz" + "hash": "dcd2bdbd444ff340e8d6bdf54d2f206ccddbb3ccfdcd3c25bf4afaa7b8f0cf45", + "url": "https://files.pythonhosted.org/packages/93/79/d2c70cae6e823fac36c3bbc9077962105052b7ef81db2f01ec3b9bf17e2b/greenlet-3.3.0-cp314-cp314-manylinux_2_24_s390x.manylinux_2_28_s390x.whl" }, { "algorithm": "sha256", - "hash": "1a921e542453fe531144e91e1feedf12e07351b1cf6c9e8a3325ea600a715a31", - "url": "https://files.pythonhosted.org/packages/49/e8/58c7f85958bda41dafea50497cbd59738c5c43dbbea5ee83d651234398f4/greenlet-3.2.4-cp313-cp313-macosx_11_0_universal2.whl" + "hash": "87e63ccfa13c0a0f6234ed0add552af24cc67dd886731f2261e46e241608bee3", + "url": "https://files.pythonhosted.org/packages/9c/ea/1020037b5ecfe95ca7df8d8549959baceb8186031da83d5ecceff8b08cd2/greenlet-3.3.0-cp314-cp314t-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "cd3c8e693bff0fff6ba55f140bf390fa92c994083f838fece0f63be121334945", - "url": "https://files.pythonhosted.org/packages/62/dd/b9f59862e9e257a16e4e610480cfffd29e3fae018a68c2332090b53aac3d/greenlet-3.2.4-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" + "hash": "d6ed6f85fae6cdfdb9ce04c9bf7a08d666cfcfb914e7d006f44f840b46741931", + "url": "https://files.pythonhosted.org/packages/a0/66/bd6317bc5932accf351fc19f177ffba53712a202f9df10587da8df257c7e/greenlet-3.3.0-cp314-cp314t-macosx_11_0_universal2.whl" }, { "algorithm": "sha256", - "hash": "d76383238584e9711e20ebe14db6c88ddcedc1829a9ad31a584389463b5aa504", - "url": "https://files.pythonhosted.org/packages/7f/3b/3a3328a788d4a473889a2d403199932be55b1b0060f4ddd96ee7cdfcad10/greenlet-3.2.4-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" + "hash": "5773edda4dc00e173820722711d043799d3adb4f01731f40619e07ea2750b955", + "url": "https://files.pythonhosted.org/packages/b8/14/bab308fc2c1b5228c3224ec2bf928ce2e4d21d8046c161e44a2012b5203e/greenlet-3.3.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl" }, { "algorithm": "sha256", - "hash": "00fadb3fedccc447f517ee0d3fd8fe49eae949e1cd0f6a611818f4f6fb7dc83b", - "url": "https://files.pythonhosted.org/packages/b8/19/06b6cf5d604e2c382a6f31cafafd6f33d5dea706f4db7bdab184bad2b21d/greenlet-3.2.4-cp313-cp313-musllinux_1_1_aarch64.whl" + "hash": "a82bb225a4e9e4d653dd2fb7b8b2d36e4fb25bc0165422a11e48b88e9e6f78fb", + "url": "https://files.pythonhosted.org/packages/c7/e5/40dbda2736893e3e53d25838e0f19a2b417dfc122b9989c91918db30b5d3/greenlet-3.3.0.tar.gz" }, { "algorithm": "sha256", - "hash": "23768528f2911bcd7e475210822ffb5254ed10d71f4028387e5a99b4c6699671", - "url": "https://files.pythonhosted.org/packages/ee/43/3cecdc0349359e1a527cbf2e3e28e5f8f06d3343aaf82ca13437a9aa290f/greenlet-3.2.4-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl" + "hash": "60c2ef0f578afb3c8d92ea07ad327f9a062547137afe91f38408f08aacab667f", + "url": "https://files.pythonhosted.org/packages/d7/7c/f0a6d0ede2c7bf092d00bc83ad5bafb7e6ec9b4aab2fbdfa6f134dc73327/greenlet-3.3.0-cp314-cp314-macosx_11_0_universal2.whl" }, { "algorithm": "sha256", - "hash": "c5111ccdc9c88f423426df3fd1811bfc40ed66264d35aa373420a34377efc98a", - "url": "https://files.pythonhosted.org/packages/f2/d6/6adde57d1345a8d0f14d31e4ab9c23cfe8e2cd39c3baf7674b4b0338d266/greenlet-3.2.4-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.whl" + "hash": "3a898b1e9c5f7307ebbde4102908e6cbfcb9ea16284a3abe15cab996bee8b9b3", + "url": "https://files.pythonhosted.org/packages/e0/94/0fb76fe6c5369fba9bf98529ada6f4c3a1adf19e406a47332245ef0eb357/greenlet-3.3.0-cp314-cp314-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "710638eb93b1fa52823aa91bf75326f9ecdfd5e0466f00789246a5280f4ba0fc", - "url": "https://files.pythonhosted.org/packages/f7/0b/bc13f787394920b23073ca3b6c4a7a21396301ed75a655bcb47196b50e6e/greenlet-3.2.4-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl" + "hash": "286d093f95ec98fdd92fcb955003b8a3d054b4e2cab3e2707a5039e7b50520fd", + "url": "https://files.pythonhosted.org/packages/f6/c7/876a8c7a7485d5d6b5c6821201d542ef28be645aa024cfe1145b35c120c1/greenlet-3.3.0-cp314-cp314t-musllinux_1_2_aarch64.whl" } ], "project_name": "greenlet", @@ -2547,101 +2755,131 @@ "psutil; extra == \"test\"", "setuptools; extra == \"test\"" ], - "requires_python": ">=3.9", - "version": "3.2.4" + "requires_python": ">=3.10", + "version": "3.3.0" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "5cebe13088b9254f6e615bcf1da9131d46cfa4e88039454aca9cb65f639bd3bc", - "url": "https://files.pythonhosted.org/packages/8c/7e/bb80b1bba03c12158f9254762cdf5cced4a9bc2e8ed51ed335915a5a06ef/grpcio-1.75.1-cp313-cp313-musllinux_1_2_x86_64.whl" + "hash": "1c9b93f79f48b03ada57ea24725d83a30284a012ec27eab2cf7e50a550cbbbcc", + "url": "https://files.pythonhosted.org/packages/4a/45/122df922d05655f63930cf42c9e3f72ba20aadb26c100ee105cad4ce4257/grpcio-1.76.0-cp314-cp314-musllinux_1_2_x86_64.whl" }, { "algorithm": "sha256", - "hash": "9f82ff474103e26351dacfe8d50214e7c9322960d8d07ba7fa1d05ff981c8b2d", - "url": "https://files.pythonhosted.org/packages/06/43/073363bf63826ba8077c335d797a8d026f129dc0912b69c42feaf8f0cd26/grpcio-1.75.1-cp313-cp313-manylinux2014_i686.manylinux_2_17_i686.whl" + "hash": "479496325ce554792dba6548fae3df31a72cef7bad71ca2e12b0e58f9b336bfc", + "url": "https://files.pythonhosted.org/packages/0f/55/dba05d3fcc151ce6e81327541d2cc8394f442f6b350fead67401661bf041/grpcio-1.76.0-cp314-cp314-musllinux_1_2_i686.whl" }, { "algorithm": "sha256", - "hash": "3bed22e750d91d53d9e31e0af35a7b0b51367e974e14a4ff229db5b207647884", - "url": "https://files.pythonhosted.org/packages/46/74/bac4ab9f7722164afdf263ae31ba97b8174c667153510322a5eba4194c32/grpcio-1.75.1-cp313-cp313-linux_armv7l.whl" + "hash": "2229ae655ec4e8999599469559e97630185fdd53ae1e8997d147b7c9b2b72cba", + "url": "https://files.pythonhosted.org/packages/43/28/40a5be3f9a86949b83e7d6a2ad6011d993cbe9b6bd27bea881f61c7788b6/grpcio-1.76.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" }, { "algorithm": "sha256", - "hash": "664eecc3abe6d916fa6cf8dd6b778e62fb264a70f3430a3180995bf2da935446", - "url": "https://files.pythonhosted.org/packages/6b/27/1d08824f1d573fcb1fa35ede40d6020e68a04391709939e1c6f4193b445f/grpcio-1.75.1-cp313-cp313-musllinux_1_2_aarch64.whl" + "hash": "fd5ef5932f6475c436c4a55e4336ebbe47bd3272be04964a03d316bbf4afbcbc", + "url": "https://files.pythonhosted.org/packages/4b/1c/de55d868ed7a8bd6acc6b1d6ddc4aa36d07a9f31d33c912c804adb1b971b/grpcio-1.76.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" }, { "algorithm": "sha256", - "hash": "3e81d89ece99b9ace23a6916880baca613c03a799925afb2857887efa8b1b3d2", - "url": "https://files.pythonhosted.org/packages/9d/f7/8963848164c7604efb3a3e6ee457fdb3a469653e19002bd24742473254f8/grpcio-1.75.1.tar.gz" + "hash": "490fa6d203992c47c7b9e4a9d39003a0c2bcc1c9aa3c058730884bbbb0ee9f09", + "url": "https://files.pythonhosted.org/packages/4b/a9/1be18e6055b64467440208a8559afac243c66a8b904213af6f392dc2212f/grpcio-1.76.0-cp314-cp314-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "5b8f381eadcd6ecaa143a21e9e80a26424c76a0a9b3d546febe6648f3a36a5ac", - "url": "https://files.pythonhosted.org/packages/a6/52/d0483cfa667cddaa294e3ab88fd2c2a6e9dc1a1928c0e5911e2e54bd5b50/grpcio-1.75.1-cp313-cp313-macosx_11_0_universal2.whl" + "hash": "b331680e46239e090f5b3cead313cc772f6caa7d0fc8de349337563125361a4a", + "url": "https://files.pythonhosted.org/packages/59/64/99e44c02b5adb0ad13ab3adc89cb33cb54bfa90c74770f2607eea629b86f/grpcio-1.76.0-cp314-cp314-manylinux2014_i686.manylinux_2_17_i686.whl" }, { "algorithm": "sha256", - "hash": "0ee119f4f88d9f75414217823d21d75bfe0e6ed40135b0cbbfc6376bc9f7757d", - "url": "https://files.pythonhosted.org/packages/c2/6f/076ac0df6c359117676cacfa8a377e2abcecec6a6599a15a672d331f6680/grpcio-1.75.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" + "hash": "06c3d6b076e7b593905d04fdba6a0525711b3466f43b3400266f04ff735de0cd", + "url": "https://files.pythonhosted.org/packages/9c/f5/a4531f7fb8b4e2a60b94e39d5d924469b7a6988176b3422487be61fe2998/grpcio-1.76.0-cp314-cp314-macosx_11_0_universal2.whl" }, { "algorithm": "sha256", - "hash": "c32193fa08b2fbebf08fe08e84f8a0aad32d87c3ad42999c65e9449871b1c66e", - "url": "https://files.pythonhosted.org/packages/c6/98/98594cf97b8713feb06a8cb04eeef60b4757e3e2fb91aa0d9161da769843/grpcio-1.75.1-cp313-cp313-musllinux_1_2_i686.whl" + "hash": "ff8a59ea85a1f2191a0ffcc61298c571bc566332f82e5f5be1b83c9d8e668a62", + "url": "https://files.pythonhosted.org/packages/b4/46/39adac80de49d678e6e073b70204091e76631e03e94928b9ea4ecf0f6e0e/grpcio-1.76.0-cp314-cp314-linux_armv7l.whl" }, { "algorithm": "sha256", - "hash": "5bf4001d3293e3414d0cf99ff9b1139106e57c3a66dfff0c5f60b2a6286ec133", - "url": "https://files.pythonhosted.org/packages/cf/e4/d1954dce2972e32384db6a30273275e8c8ea5a44b80347f9055589333b3f/grpcio-1.75.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" + "hash": "7be78388d6da1a25c0d5ec506523db58b18be22d9c37d8d3a32c08be4987bd73", + "url": "https://files.pythonhosted.org/packages/b6/e0/318c1ce3ae5a17894d5791e87aea147587c9e702f24122cc7a5c8bbaeeb1/grpcio-1.76.0.tar.gz" } ], "project_name": "grpcio", "requires_dists": [ - "grpcio-tools>=1.75.1; extra == \"protobuf\"", + "grpcio-tools>=1.76.0; extra == \"protobuf\"", "typing-extensions~=4.12" ], "requires_python": ">=3.9", - "version": "1.75.1" + "version": "1.76.0" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "f900481cf6e362a6c549c61ff77468bd59d6dd082f3170a36acfef2eb6a6793f", - "url": "https://files.pythonhosted.org/packages/2c/3d/ab7109e607ed321afaa690f557a9ada6d6d164ec852fd6bf9979665dc3d6/hf_xet-1.1.10-cp37-abi3-musllinux_1_2_x86_64.whl" + "hash": "a55558084c16b09b5ed32ab9ed38421e2d87cf3f1f89815764d1177081b99865", + "url": "https://files.pythonhosted.org/packages/92/68/89ac4e5b12a9ff6286a12174c8538a5930e2ed662091dd2572bbe0a18c8a/hf_xet-1.2.0-cp37-abi3-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "4c1428c9ae73ec0939410ec73023c4f842927f39db09b063b9482dac5a3bb737", + "url": "https://files.pythonhosted.org/packages/0b/dd/7ac658d54b9fb7999a0ccb07ad863b413cbaf5cf172f48ebcd9497ec7263/hf_xet-1.2.0-cp37-abi3-musllinux_1_2_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "29c8fc913a529ec0a91867ce3d119ac1aac966e098cf49501800c870328cc090", + "url": "https://files.pythonhosted.org/packages/21/90/b7fe5ff6f2b7b8cbdf1bd56145f863c90a5807d9758a549bf3d916aa4dec/hf_xet-1.2.0-cp314-cp314t-manylinux_2_28_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "d06fa97c8562fb3ee7a378dd9b51e343bc5bc8190254202c9771029152f5e08c", + "url": "https://files.pythonhosted.org/packages/46/92/3f7ec4a1b6a65bf45b059b6d4a5d38988f63e193056de2f420137e3c3244/hf_xet-1.2.0-cp37-abi3-manylinux_2_28_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "a8c27070ca547293b6890c4bf389f713f80e8c478631432962bb7f4bc0bd7d7f", + "url": "https://files.pythonhosted.org/packages/5e/6e/0f11bacf08a67f7fb5ee09740f2ca54163863b07b70d579356e9222ce5d8/hf_xet-1.2.0.tar.gz" }, { "algorithm": "sha256", - "hash": "eae7c1fc8a664e54753ffc235e11427ca61f4b0477d757cc4eb9ae374b69f09c", - "url": "https://files.pythonhosted.org/packages/01/a7/0b2e242b918cc30e1f91980f3c4b026ff2eedaf1e2ad96933bca164b2869/hf_xet-1.1.10-cp37-abi3-manylinux_2_28_aarch64.whl" + "hash": "2a212e842647b02eb6a911187dc878e79c4aa0aa397e88dd3b26761676e8c1f8", + "url": "https://files.pythonhosted.org/packages/6e/1d/a641a88b69994f9371bd347f1dd35e5d1e2e2460a2e350c8d5165fc62005/hf_xet-1.2.0-cp314-cp314t-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "6b6bceb6361c80c1cc42b5a7b4e3efd90e64630bcf11224dcac50ef30a47e435", - "url": "https://files.pythonhosted.org/packages/15/07/86397573efefff941e100367bbda0b21496ffcdb34db7ab51912994c32a2/hf_xet-1.1.10-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + "hash": "66e159cbfcfbb29f920db2c09ed8b660eb894640d284f102ada929b6e3dc410a", + "url": "https://files.pythonhosted.org/packages/6f/cb/73f276f0a7ce46cc6a6ec7d6c7d61cbfe5f2e107123d9bbd0193c355f106/hf_xet-1.2.0-cp314-cp314t-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "71081925383b66b24eedff3013f8e6bbd41215c3338be4b94ba75fd75b21513b", - "url": "https://files.pythonhosted.org/packages/31/f9/6215f948ac8f17566ee27af6430ea72045e0418ce757260248b483f4183b/hf_xet-1.1.10-cp37-abi3-macosx_11_0_arm64.whl" + "hash": "27df617a076420d8845bea087f59303da8be17ed7ec0cd7ee3b9b9f579dff0e4", + "url": "https://files.pythonhosted.org/packages/7f/8c/c5becfa53234299bc2210ba314eaaae36c2875e0045809b82e40a9544f0c/hf_xet-1.2.0-cp37-abi3-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "0a0005fd08f002180f7a12d4e13b22be277725bc23ed0529f8add5c7a6309c06", - "url": "https://files.pythonhosted.org/packages/4a/25/3e32ab61cc7145b11eee9d745988e2f0f4fafda81b25980eebf97d8cff15/hf_xet-1.1.10-cp37-abi3-musllinux_1_2_aarch64.whl" + "hash": "46740d4ac024a7ca9b22bebf77460ff43332868b661186a8e46c227fdae01848", + "url": "https://files.pythonhosted.org/packages/96/2d/22338486473df5923a9ab7107d375dbef9173c338ebef5098ef593d2b560/hf_xet-1.2.0-cp37-abi3-macosx_10_12_x86_64.whl" }, { "algorithm": "sha256", - "hash": "408aef343800a2102374a883f283ff29068055c111f003ff840733d3b715bb97", - "url": "https://files.pythonhosted.org/packages/74/31/feeddfce1748c4a233ec1aa5b7396161c07ae1aa9b7bdbc9a72c3c7dd768/hf_xet-1.1.10.tar.gz" + "hash": "3651fd5bfe0281951b988c0facbe726aa5e347b103a675f49a3fa8144c7968fd", + "url": "https://files.pythonhosted.org/packages/9a/92/cf3ab0b652b082e66876d08da57fcc6fa2f0e6c70dfbbafbd470bb73eb47/hf_xet-1.2.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" }, { "algorithm": "sha256", - "hash": "686083aca1a6669bc85c21c0563551cbcdaa5cf7876a91f3d074a030b577231d", - "url": "https://files.pythonhosted.org/packages/f7/a2/343e6d05de96908366bdc0081f2d8607d61200be2ac802769c4284cc65bd/hf_xet-1.1.10-cp37-abi3-macosx_10_12_x86_64.whl" + "hash": "9c91d5ae931510107f148874e9e2de8a16052b6f1b3ca3c1b12f15ccb491390f", + "url": "https://files.pythonhosted.org/packages/b8/1e/d642a12caa78171f4be64f7cd9c40e3ca5279d055d0873188a58c0f5fbb9/hf_xet-1.2.0-cp314-cp314t-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "30e06daccb3a7d4c065f34fc26c14c74f4653069bb2b194e7f18f17cbe9939c0", + "url": "https://files.pythonhosted.org/packages/df/e0/e5e9bba7d15f0318955f7ec3f4af13f92e773fbb368c0b8008a5acbcb12f/hf_xet-1.2.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "10bfab528b968c70e062607f663e21e34e2bba349e8038db546646875495179e", + "url": "https://files.pythonhosted.org/packages/e2/51/f7e2caae42f80af886db414d4e9885fac959330509089f97cccb339c6b87/hf_xet-1.2.0-cp314-cp314t-macosx_10_12_x86_64.whl" } ], "project_name": "hf-xet", @@ -2649,34 +2887,44 @@ "pytest; extra == \"tests\"" ], "requires_python": ">=3.8", - "version": "1.1.10" + "version": "1.2.0" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "2cbf71a121996ffac82436b6153290815b746afb010cac19b3290a1644381b07", - "url": "https://files.pythonhosted.org/packages/f1/9a/7c98f7bb76bdb4a6a6003cf8209721f083e65d2eed2b514f4a5514bda665/hiredis-3.3.0-cp313-cp313-musllinux_1_2_x86_64.whl" + "hash": "8e8a4b8540581dcd1b2b25827a54cfd538e0afeaa1a0e3ca87ad7126965981cc", + "url": "https://files.pythonhosted.org/packages/bc/1f/fb7375467e9adaa371cd617c2984fefe44bdce73add4c70b8dd8cab1b33a/hiredis-3.3.0-cp314-cp314t-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "8f88f4f2aceb73329ece86a1cb0794fdbc8e6d614cb5ca2d1023c9b7eb432db8", + "url": "https://files.pythonhosted.org/packages/08/a3/0c69fdde3f4155b9f7acc64ccffde46f312781469260061b3bbaa487fd34/hiredis-3.3.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" }, { "algorithm": "sha256", - "hash": "69079fb0f0ebb61ba63340b9c4bce9388ad016092ca157e5772eb2818209d930", - "url": "https://files.pythonhosted.org/packages/0e/d2/aaf9f8edab06fbf5b766e0cae3996324297c0516a91eb2ca3bd1959a0308/hiredis-3.3.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" + "hash": "087e2ef3206361281b1a658b5b4263572b6ba99465253e827796964208680459", + "url": "https://files.pythonhosted.org/packages/20/6b/02bb8af810ea04247334ab7148acff7a61c08a8832830c6703f464be83a9/hiredis-3.3.0-cp314-cp314-musllinux_1_2_x86_64.whl" }, { "algorithm": "sha256", - "hash": "ba063fdf1eff6377a0c409609cbe890389aefddfec109c2d20fcc19cfdafe9da", - "url": "https://files.pythonhosted.org/packages/11/60/896e03267670570f19f61dc65a2137fcb2b06e83ab0911d58eeec9f3cb88/hiredis-3.3.0-cp313-cp313-musllinux_1_2_ppc64le.whl" + "hash": "a1a67530da714954ed50579f4fe1ab0ddbac9c43643b1721c2cb226a50dde263", + "url": "https://files.pythonhosted.org/packages/27/6c/6751b698060cdd1b2d8427702cff367c9ed7a1705bcf3792eb5b896f149b/hiredis-3.3.0-cp314-cp314t-macosx_10_15_x86_64.whl" }, { "algorithm": "sha256", - "hash": "85b9baf98050e8f43c2826ab46aaf775090d608217baf7af7882596aef74e7f9", - "url": "https://files.pythonhosted.org/packages/3e/d6/7f05c08ee74d41613be466935688068e07f7b6c55266784b5ace7b35b766/hiredis-3.3.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" + "hash": "334a3f1d14c253bb092e187736c3384203bd486b244e726319bbb3f7dffa4a20", + "url": "https://files.pythonhosted.org/packages/28/d3/eae43d9609c5d9a6effef0586ee47e13a0d84b44264b688d97a75cd17ee5/hiredis-3.3.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" }, { "algorithm": "sha256", - "hash": "b0fb4bea72fe45ff13e93ddd1352b43ff0749f9866263b5cca759a4c960c776f", - "url": "https://files.pythonhosted.org/packages/4a/c5/b7dde5ec390dabd1cabe7b364a509c66d4e26de783b0b64cf1618f7149fc/hiredis-3.3.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" + "hash": "c9e96f63dbc489fc86f69951e9f83dadb9582271f64f6822c47dcffa6fac7e4a", + "url": "https://files.pythonhosted.org/packages/4a/ac/ad13a714e27883a2e4113c980c94caf46b801b810de5622c40f8d3e8335f/hiredis-3.3.0-cp314-cp314-musllinux_1_2_ppc64le.whl" + }, + { + "algorithm": "sha256", + "hash": "54b14211fbd5930fc696f6fcd1f1f364c660970d61af065a80e48a1fa5464dd6", + "url": "https://files.pythonhosted.org/packages/4b/dc/c46eace64eb047a5b31acd5e4b0dc6d2f0390a4a3f6d507442d9efa570ad/hiredis-3.3.0-cp314-cp314-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", @@ -2685,33 +2933,78 @@ }, { "algorithm": "sha256", - "hash": "45d14f745fc177bc05fc24bdf20e2b515e9a068d3d4cce90a0fb78d04c9c9d9a", - "url": "https://files.pythonhosted.org/packages/68/13/02880458e02bbfcedcaabb8f7510f9dda1c89d7c1921b1bb28c22bb38cbf/hiredis-3.3.0-cp313-cp313-musllinux_1_2_aarch64.whl" + "hash": "550f4d1538822fc75ebf8cf63adc396b23d4958bdbbad424521f2c0e3dfcb169", + "url": "https://files.pythonhosted.org/packages/68/7a/ad5da4d7bc241e57c5b0c4fe95aa75d1f2116e6e6c51577394d773216e01/hiredis-3.3.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "9ef1dfb0d2c92c3701655e2927e6bbe10c499aba632c7ea57b6392516df3864b", + "url": "https://files.pythonhosted.org/packages/89/8a/488de5469e3d0921a1c425045bf00e983d48b2111a90e47cf5769eaa536c/hiredis-3.3.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" + }, + { + "algorithm": "sha256", + "hash": "55d8c18fe9a05496c5c04e6eccc695169d89bf358dff964bcad95696958ec05f", + "url": "https://files.pythonhosted.org/packages/96/54/e436312feb97601f70f8b39263b8da5ac4a5d18305ebdfb08ad7621f6119/hiredis-3.3.0-cp314-cp314t-musllinux_1_2_ppc64le.whl" + }, + { + "algorithm": "sha256", + "hash": "2f855c678230aed6fc29b962ce1cc67e5858a785ef3a3fd6b15dece0487a2e60", + "url": "https://files.pythonhosted.org/packages/a2/9b/4210f4ebfb3ab4ada964b8de08190f54cbac147198fb463cd3c111cc13e0/hiredis-3.3.0-cp314-cp314-macosx_10_15_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "f7f80442a32ce51ee5d89aeb5a84ee56189a0e0e875f1a57bbf8d462555ae48f", + "url": "https://files.pythonhosted.org/packages/a7/b6/d7e6c17da032665a954a89c1e6ee3bd12cb51cd78c37527842b03519981d/hiredis-3.3.0-cp314-cp314t-macosx_10_15_universal2.whl" + }, + { + "algorithm": "sha256", + "hash": "c135bda87211f7af9e2fd4e046ab433c576cd17b69e639a0f5bb2eed5e0e71a9", + "url": "https://files.pythonhosted.org/packages/aa/b3/b948ee76a6b2bc7e45249861646f91f29704f743b52565cf64cee9c4658b/hiredis-3.3.0-cp314-cp314-macosx_10_15_universal2.whl" + }, + { + "algorithm": "sha256", + "hash": "4059c78a930cbb33c391452ccce75b137d6f89e2eebf6273d75dafc5c2143c03", + "url": "https://files.pythonhosted.org/packages/b3/7a/e38bfd7d04c05036b4ccc6f42b86b1032185cf6ae426e112a97551fece14/hiredis-3.3.0-cp314-cp314-macosx_11_0_arm64.whl" + }, + { + "algorithm": "sha256", + "hash": "c290da6bc2a57e854c7da9956cd65013483ede935677e84560da3b848f253596", + "url": "https://files.pythonhosted.org/packages/b5/59/8493edc3eb9ae0dbea2b2230c2041a52bc03e390b02ffa3ac0bca2af9aea/hiredis-3.3.0-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" + }, + { + "algorithm": "sha256", + "hash": "e799b79f3150083e9702fc37e6243c0bd47a443d6eae3f3077b0b3f510d6a145", + "url": "https://files.pythonhosted.org/packages/be/0a/547c29c06e8c9c337d0df3eec39da0cf1aad701daf8a9658dd37f25aca66/hiredis-3.3.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "106e99885d46684d62ab3ec1d6b01573cc0e0083ac295b11aaa56870b536c7ec", + "url": "https://files.pythonhosted.org/packages/c2/38/268fabd85b225271fe1ba82cb4a484fcc1bf922493ff2c74b400f1a6f339/hiredis-3.3.0-cp314-cp314-musllinux_1_2_s390x.whl" }, { "algorithm": "sha256", - "hash": "b7048b4ec0d5dddc8ddd03da603de0c4b43ef2540bf6e4c54f47d23e3480a4fa", - "url": "https://files.pythonhosted.org/packages/6d/39/2b789ebadd1548ccb04a2c18fbc123746ad1a7e248b7f3f3cac618ca10a6/hiredis-3.3.0-cp313-cp313-macosx_10_15_universal2.whl" + "hash": "fd137b147235447b3d067ec952c5b9b95ca54b71837e1b38dbb2ec03b89f24fc", + "url": "https://files.pythonhosted.org/packages/c3/fd/34d664554880b27741ab2916d66207357563b1639e2648685f4c84cfb755/hiredis-3.3.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "e5f86ce5a779319c15567b79e0be806e8e92c18bb2ea9153e136312fafa4b7d6", - "url": "https://files.pythonhosted.org/packages/85/74/4066d9c1093be744158ede277f2a0a4e4cd0fefeaa525c79e2876e9e5c72/hiredis-3.3.0-cp313-cp313-macosx_10_15_x86_64.whl" + "hash": "616868352e47ab355559adca30f4f3859f9db895b4e7bc71e2323409a2add751", + "url": "https://files.pythonhosted.org/packages/ce/8e/20a5cf2c83c7a7e08c76b9abab113f99f71cd57468a9c7909737ce6e9bf8/hiredis-3.3.0-cp314-cp314t-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "c17f77b79031ea4b0967d30255d2ae6e7df0603ee2426ad3274067f406938236", - "url": "https://files.pythonhosted.org/packages/8d/1e/93ded8b9b484519b211fc71746a231af98c98928e3ebebb9086ed20bb1ad/hiredis-3.3.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" + "hash": "1bbc6b8a88bbe331e3ebf6685452cebca6dfe6d38a6d4efc5651d7e363ba28bd", + "url": "https://files.pythonhosted.org/packages/e4/a3/51e6e6afaef2990986d685ca6e254ffbd191f1635a59b2d06c9e5d10c8a2/hiredis-3.3.0-cp314-cp314t-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "1799cc66353ad066bfdd410135c951959da9f16bcb757c845aab2f21fc4ef099", - "url": "https://files.pythonhosted.org/packages/f1/90/a1d4bd0cdcf251fda72ac0bd932f547b48ad3420f89bb2ef91bf6a494534/hiredis-3.3.0-cp313-cp313-musllinux_1_2_s390x.whl" + "hash": "4ddc79afa76b805d364e202a754666cb3c4d9c85153cbfed522871ff55827838", + "url": "https://files.pythonhosted.org/packages/ed/a3/88e66030d066337c6c0f883a912c6d4b2d6d7173490fbbc113a6cbe414ff/hiredis-3.3.0-cp314-cp314t-musllinux_1_2_s390x.whl" }, { "algorithm": "sha256", - "hash": "fbdb97a942e66016fff034df48a7a184e2b7dc69f14c4acd20772e156f20d04b", - "url": "https://files.pythonhosted.org/packages/fa/3f/f9e0f6d632f399d95b3635703e1558ffaa2de3aea4cfcbc2d7832606ba43/hiredis-3.3.0-cp313-cp313-macosx_11_0_arm64.whl" + "hash": "fd8c438d9e1728f0085bf9b3c9484d19ec31f41002311464e75b69550c32ffa8", + "url": "https://files.pythonhosted.org/packages/f0/de/8c9a653922057b32fb1e2546ecd43ef44c9aa1a7cf460c87cae507eb2bc7/hiredis-3.3.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" } ], "project_name": "hiredis", @@ -2952,13 +3245,13 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "02a89390c1e15fdfdc0d7c6b25cb3e62650d0494005c97d6f148bf5b9787525e", - "url": "https://files.pythonhosted.org/packages/79/9d/0fb148dc4d6fa4a7dd1d8378168d9b4cd8d4560a6fbf6f0121c5fc34eb68/importlib_metadata-8.6.1-py3-none-any.whl" + "hash": "e5dd1551894c77868a30651cef00984d50e1002d06942a7101d34870c5f02afd", + "url": "https://files.pythonhosted.org/packages/20/b0/36bd937216ec521246249be3bf9855081de4c5e06a0c9b4219dbeda50373/importlib_metadata-8.7.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "310b41d755445d74569f993ccfc22838295d9fe005425094fad953d7f15c8580", - "url": "https://files.pythonhosted.org/packages/33/08/c1395a292bb23fd03bdf572a1357c5a733d3eecbab877641ceacab23db6e/importlib_metadata-8.6.1.tar.gz" + "hash": "d13b81ad223b890aa16c5471f2ac3056cf76c5f10f82d6f9292f0b415f389000", + "url": "https://files.pythonhosted.org/packages/76/66/650a33bd90f786193e4de4b3ad86ea60b53c89b669a5c7be931fac31cdb0/importlib_metadata-8.7.0.tar.gz" } ], "project_name": "importlib-metadata", @@ -2986,7 +3279,7 @@ "zipp>=3.20" ], "requires_python": ">=3.9", - "version": "8.6.1" + "version": "8.7.0" }, { "artifacts": [ @@ -3089,42 +3382,42 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "e8a19cc986cc45905ac3362915f410f3af85424b4c0905e94fa5f2cb08e8f23f", - "url": "https://files.pythonhosted.org/packages/11/85/b0394e0b6fcccd2c1eeefc230978a6f8cb0c5df1e4cd3e7625735a0d7d1e/jupyter_client-8.6.3-py3-none-any.whl" + "hash": "3671a94fd25e62f5f2f554f5e95389c2294d89822378a5f2dd24353e1494a9e0", + "url": "https://files.pythonhosted.org/packages/bb/f5/fddaec430367be9d62a7ed125530e133bfd4a1c0350fe221149ee0f2b526/jupyter_client-8.7.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "35b3a0947c4a6e9d589eb97d7d4cd5e90f910ee73101611f01283732bd6d9419", - "url": "https://files.pythonhosted.org/packages/71/22/bf9f12fdaeae18019a468b68952a60fe6dbab5d67cd2a103cac7659b41ca/jupyter_client-8.6.3.tar.gz" + "hash": "3357212d9cbe01209e59190f67a3a7e1f387a4f4e88d1e0433ad84d7b262531d", + "url": "https://files.pythonhosted.org/packages/a6/27/d10de45e8ad4ce872372c4a3a37b7b35b6b064f6f023a5c14ffcced4d59d/jupyter_client-8.7.0.tar.gz" } ], "project_name": "jupyter-client", "requires_dists": [ + "anyio; extra == \"test\"", "coverage; extra == \"test\"", - "importlib-metadata>=4.8.3; python_version < \"3.10\"", "ipykernel; extra == \"docs\"", "ipykernel>=6.14; extra == \"test\"", - "jupyter-core!=5.0.*,>=4.12", + "jupyter-core>=5.1", "mypy; extra == \"test\"", "myst-parser; extra == \"docs\"", "paramiko; sys_platform == \"win32\" and extra == \"test\"", "pre-commit; extra == \"test\"", "pydata-sphinx-theme; extra == \"docs\"", "pytest-cov; extra == \"test\"", - "pytest-jupyter[client]>=0.4.1; extra == \"test\"", + "pytest-jupyter[client]>=0.6.2; extra == \"test\"", "pytest-timeout; extra == \"test\"", - "pytest<8.2.0; extra == \"test\"", + "pytest; extra == \"test\"", "python-dateutil>=2.8.2", - "pyzmq>=23.0", + "pyzmq>=25.0", "sphinx-autodoc-typehints; extra == \"docs\"", "sphinx>=4; extra == \"docs\"", "sphinxcontrib-github-alt; extra == \"docs\"", "sphinxcontrib-spelling; extra == \"docs\"", - "tornado>=6.2", + "tornado>=6.4.1", "traitlets>=5.3" ], - "requires_python": ">=3.8", - "version": "8.6.3" + "requires_python": ">=3.10", + "version": "8.7.0" }, { "artifacts": [ @@ -3363,88 +3656,88 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "8f71bc33915be5186016f675cd83a1e08523649b0e33efdb898db577ef5bb009", - "url": "https://files.pythonhosted.org/packages/98/c5/c03c7f4125180fc215220c035beac6b9cb684bc7a067c84fc69414d315f5/markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_x86_64.whl" + "hash": "5678211cb9333a6468fb8d8be0305520aa073f50d17f089b5b4b477ea6e67fdc", + "url": "https://files.pythonhosted.org/packages/14/c7/ca723101509b518797fedc2fdf79ba57f886b4aca8a7d31857ba3ee8281f/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_x86_64.whl" }, { "algorithm": "sha256", - "hash": "133a43e73a802c5562be9bbcd03d090aa5a1fe899db609c29e8c8d815c5f6de6", - "url": "https://files.pythonhosted.org/packages/00/07/575a68c754943058c78f30db02ee03a64b3c638586fba6a6dd56830b30a3/markupsafe-3.0.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" + "hash": "f190daf01f13c72eac4efd5c430a8de82489d9cff23c364c3ea822545032993e", + "url": "https://files.pythonhosted.org/packages/22/44/a0681611106e0b2921b3033fc19bc53323e0b50bc70cffdd19f7d679bb66/markupsafe-3.0.3-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" }, { "algorithm": "sha256", - "hash": "e1cf1972137e83c5d4c136c43ced9ac51d0e124706ee1c8aa8532c1287fa8795", - "url": "https://files.pythonhosted.org/packages/38/2f/907b9c7bbba283e68f20259574b13d005c121a0fa4c175f9bed27c4597ff/markupsafe-3.0.3-cp313-cp313-macosx_10_13_x86_64.whl" + "hash": "f3e98bb3798ead92273dc0e5fd0f31ade220f59a266ffd8a4f6065e0a3ce0523", + "url": "https://files.pythonhosted.org/packages/26/6a/4bf6d0c97c4920f1597cc14dd720705eca0bf7c787aebc6bb4d1bead5388/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_riscv64.whl" }, { "algorithm": "sha256", - "hash": "b8512a91625c9b3da6f127803b166b629725e68af71f8184ae7e7d54686a56d6", - "url": "https://files.pythonhosted.org/packages/4b/30/6f2fce1f1f205fc9323255b216ca8a235b15860c34b6798f810f05828e32/markupsafe-3.0.3-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" + "hash": "eaa9599de571d72e2daf60164784109f19978b327a3910d3e9de8c97b5b70cfe", + "url": "https://files.pythonhosted.org/packages/33/8a/8e42d4838cd89b7dde187011e97fe6c3af66d8c044997d2183fbd6d31352/markupsafe-3.0.3-cp314-cp314-macosx_10_13_x86_64.whl" }, { "algorithm": "sha256", - "hash": "9b79b7a16f7fedff2495d684f2b59b0457c3b493778c9eed31111be64d58279f", - "url": "https://files.pythonhosted.org/packages/58/47/4a0ccea4ab9f5dcb6f79c0236d954acb382202721e704223a8aafa38b5c8/markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_aarch64.whl" + "hash": "1353ef0c1b138e1907ae78e2f6c63ff67501122006b0f9abad68fda5f4ffc6ab", + "url": "https://files.pythonhosted.org/packages/3c/f0/57689aa4076e1b43b15fdfa646b04653969d50cf30c32a102762be2485da/markupsafe-3.0.3-cp314-cp314t-macosx_10_13_x86_64.whl" }, { "algorithm": "sha256", - "hash": "12c63dfb4a98206f045aa9563db46507995f7ef6d83b2f68eda65c307c6829eb", - "url": "https://files.pythonhosted.org/packages/6a/70/3780e9b72180b6fecb83a4814d84c3bf4b4ae4bf0b19c27196104149734c/markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_riscv64.whl" + "hash": "457a69a9577064c05a97c41f4e65148652db078a3a509039e64d3467b9e7ef97", + "url": "https://files.pythonhosted.org/packages/41/3c/a36c2450754618e62008bf7435ccb0f88053e07592e6028a34776213d877/markupsafe-3.0.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" }, { "algorithm": "sha256", - "hash": "722695808f4b6457b320fdc131280796bdceb04ab50fe1795cd540799ebe1698", - "url": "https://files.pythonhosted.org/packages/7e/99/7690b6d4034fffd95959cbe0c02de8deb3098cc577c67bb6a24fe5d7caa7/markupsafe-3.0.3.tar.gz" + "hash": "fed51ac40f757d41b7c48425901843666a6677e3e8eb0abcff09e4ba6e664f50", + "url": "https://files.pythonhosted.org/packages/50/09/c419f6f5a92e5fadde27efd190eca90f05e1261b10dbd8cbcb39cd8ea1dc/markupsafe-3.0.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" }, { "algorithm": "sha256", - "hash": "509fa21c6deb7a7a273d629cf5ec029bc209d1a51178615ddf718f5918992ab9", - "url": "https://files.pythonhosted.org/packages/7f/71/544260864f893f18b6827315b988c146b559391e6e7e8f7252839b1b846a/markupsafe-3.0.3-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" + "hash": "e56b7d45a839a697b5eb268c82a71bd8c7f6c94d6fd50c3d577fa39a9f1409f5", + "url": "https://files.pythonhosted.org/packages/5f/57/1b0b3f100259dc9fffe780cfb60d4be71375510e435efec3d116b6436d43/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "8709b08f4a89aa7586de0aadc8da56180242ee0ada3999749b183aa23df95025", - "url": "https://files.pythonhosted.org/packages/96/ec/2102e881fe9d25fc16cb4b25d5f5cde50970967ffa5dddafdb771237062d/markupsafe-3.0.3-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" + "hash": "0eb9ff8191e8498cca014656ae6b8d61f39da5f95b488805da4bb029cccbfbaf", + "url": "https://files.pythonhosted.org/packages/7d/33/45b24e4f44195b26521bc6f1a82197118f74df348556594bd2262bda1038/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_riscv64.whl" }, { "algorithm": "sha256", - "hash": "3524b778fe5cfb3452a09d31e7b5adefeea8c5be1d43c4f810ba09f2ceb29d37", - "url": "https://files.pythonhosted.org/packages/99/9e/e412117548182ce2148bdeacdda3bb494260c0b0184360fe0d56389b523b/markupsafe-3.0.3-cp313-cp313t-macosx_11_0_arm64.whl" + "hash": "722695808f4b6457b320fdc131280796bdceb04ab50fe1795cd540799ebe1698", + "url": "https://files.pythonhosted.org/packages/7e/99/7690b6d4034fffd95959cbe0c02de8deb3098cc577c67bb6a24fe5d7caa7/markupsafe-3.0.3.tar.gz" }, { "algorithm": "sha256", - "hash": "116bb52f642a37c115f517494ea5feb03889e04df47eeff5b130b1808ce7c219", - "url": "https://files.pythonhosted.org/packages/9c/d9/5f7756922cdd676869eca1c4e3c0cd0df60ed30199ffd775e319089cb3ed/markupsafe-3.0.3-cp313-cp313-macosx_11_0_arm64.whl" + "hash": "1085e7fbddd3be5f89cc898938f42c0b3c711fdcb37d75221de2666af647c175", + "url": "https://files.pythonhosted.org/packages/89/c3/2e67a7ca217c6912985ec766c6393b636fb0c2344443ff9d91404dc4c79f/markupsafe-3.0.3-cp314-cp314t-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "ccfcd093f13f0f0b7fdd0f198b90053bf7b2f02a3927a30e63f3ccc9df56b676", - "url": "https://files.pythonhosted.org/packages/a9/21/9b05698b46f218fc0e118e1f8168395c65c8a2c750ae2bab54fc4bd4e0e8/markupsafe-3.0.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" + "hash": "ec15a59cf5af7be74194f7ab02d0f59a62bdcf1a537677ce67a2537c9b87fcda", + "url": "https://files.pythonhosted.org/packages/9a/a7/591f592afdc734f47db08a75793a55d7fbcc6902a723ae4cfbab61010cc5/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "8485f406a96febb5140bfeca44a73e3ce5116b2501ac54fe953e488fb1d03b12", - "url": "https://files.pythonhosted.org/packages/b5/99/16a5eb2d140087ebd97180d95249b00a03aa87e29cc224056274f2e45fd6/markupsafe-3.0.3-cp313-cp313-musllinux_1_2_x86_64.whl" + "hash": "c47a551199eb8eb2121d4f0f15ae0f923d31350ab9280078d1e5f12b249e0026", + "url": "https://files.pythonhosted.org/packages/b5/64/7660f8a4a8e53c924d0fa05dc3a55c9cee10bbd82b11c5afb27d44b096ce/markupsafe-3.0.3-cp314-cp314-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "4e885a3d1efa2eadc93c894a21770e4bc67899e3543680313b09f139e149ab19", - "url": "https://files.pythonhosted.org/packages/bc/e6/fa0ffcda717ef64a5108eaa7b4f5ed28d56122c9a6d70ab8b72f9f715c80/markupsafe-3.0.3-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" + "hash": "e8afc3f2ccfa24215f8cb28dcf43f0113ac3c37c2f0f0806d8c70e4228c5cf4d", + "url": "https://files.pythonhosted.org/packages/bc/20/b7fdf89a8456b099837cd1dc21974632a02a999ec9bf7ca3e490aacd98e7/markupsafe-3.0.3-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" }, { "algorithm": "sha256", - "hash": "a4afe79fb3de0b7097d81da19090f4df4f8d3a2b3adaa8764138aac2e44f3af1", - "url": "https://files.pythonhosted.org/packages/c2/28/b50fc2f74d1ad761af2f5dcce7492648b983d00a65b8c0e0cb457c82ebbe/markupsafe-3.0.3-cp313-cp313-musllinux_1_2_aarch64.whl" + "hash": "f34c41761022dd093b4b6896d4810782ffbabe30f2d443ff5f083e0cbbb8c737", + "url": "https://files.pythonhosted.org/packages/da/ef/e648bfd021127bef5fa12e1720ffed0c6cbb8310c8d9bea7266337ff06de/markupsafe-3.0.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" }, { "algorithm": "sha256", - "hash": "218551f6df4868a8d527e3062d0fb968682fe92054e89978594c28e642c43a73", - "url": "https://files.pythonhosted.org/packages/e4/d7/e05cd7efe43a88a17a37b3ae96e79a19e846f3f456fe79c57ca61356ef01/markupsafe-3.0.3-cp313-cp313t-macosx_10_13_x86_64.whl" + "hash": "1b52b4fb9df4eb9ae465f8d0c228a00624de2334f216f178a995ccdcf82c4634", + "url": "https://files.pythonhosted.org/packages/f0/00/be561dce4e6ca66b15276e184ce4b8aec61fe83662cce2f7d72bd3249d28/markupsafe-3.0.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" }, { "algorithm": "sha256", - "hash": "795e7751525cae078558e679d646ae45574b47ed6e7771863fcc079a6171a0fc", - "url": "https://files.pythonhosted.org/packages/ed/76/104b2aa106a208da8b17a2fb72e033a5a9d7073c68f7e508b94916ed47a9/markupsafe-3.0.3-cp313-cp313-musllinux_1_2_riscv64.whl" + "hash": "2713baf880df847f2bece4230d4d094280f4e67b1e813eec43b4c0e144a34ffe", + "url": "https://files.pythonhosted.org/packages/ff/0e/53dfaca23a69fbfbbf17a4b64072090e70717344c52eaaaa9c5ddff1e5f0/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_x86_64.whl" } ], "project_name": "markupsafe", @@ -3552,38 +3845,68 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "63f0a8d5d9d179648e7e336f8a185e8f4a1b70f28ec62476e193c024aa992313", - "url": "https://files.pythonhosted.org/packages/a6/d4/7adf788b3bb1652131bdd086434ec4e337c46fc8df9809a8d0887aebd400/memray-1.17.2-cp313-cp313-musllinux_1_1_x86_64.whl" + "hash": "6a193cc20bbe60eccee8c9b4d9eb78ccd69a3248f0291d5d1a7fdda62aa19b53", + "url": "https://files.pythonhosted.org/packages/ab/45/4bf72fff0070f1760e0ead5fc78b50e2bef35be702cb7c3cd5b33aa776d5/memray-1.19.1-cp314-cp314t-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "265812e729c90a9240d6a23dfa89d8bea11cb67d37a1411f7a690948584ff024", + "url": "https://files.pythonhosted.org/packages/15/77/9a0e205fd77ceabd2ce2359cb6b27e7e7e36cb9fc74ee1361643246b8307/memray-1.19.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "e4b33fa1b6e8619e589882b44e6bdce0ad51d8bea2dd24f7afae6efcfcd8ffa8", + "url": "https://files.pythonhosted.org/packages/1e/fc/93a97315d3d321243b60fe70366db1b7846e4b5911e7ebda7e118522e5c1/memray-1.19.1-cp314-cp314-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "c48461e7a8ba0b12ae740316e41564e18db2533ebeb1a093b2c8232d9c7c2653", + "url": "https://files.pythonhosted.org/packages/34/0c/8de8faa01bf8fcf8938d845d93026310b8c3ee4cbb2402382a92898533d5/memray-1.19.1-cp314-cp314-manylinux2014_i686.manylinux_2_17_i686.whl" + }, + { + "algorithm": "sha256", + "hash": "7fcf306eae2c00144920b01913f42fa7f235af7a80fa3226ab124672a5cb1d8f", + "url": "https://files.pythonhosted.org/packages/36/18/5df5995a7b142e12ab194f4b2fd1473efd51f4f622dfe47f3c013c3c11f7/memray-1.19.1.tar.gz" + }, + { + "algorithm": "sha256", + "hash": "334754a0ad5664a703516307772a4555ffdc616586168b28efd31e8862a6cdb1", + "url": "https://files.pythonhosted.org/packages/37/28/c1a1fc6bdd2cf3f5241623c54ac66525b30c9c7bb16e2ad70046d9bd8db7/memray-1.19.1-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl" }, { "algorithm": "sha256", - "hash": "aa655a28d10958a6a4feb98f123e4d7bbf156a7fef79edebbfca6198509aada2", - "url": "https://files.pythonhosted.org/packages/39/36/5ccb56f1a8f39e24025c2b8203b68980607810731735a33b14b5db3823f4/memray-1.17.2-cp313-cp313-macosx_10_14_x86_64.whl" + "hash": "2fe3886eef669017810782ce63b1cdf8a426f07a27ea6a9f73d9dc3e5c448b0b", + "url": "https://files.pythonhosted.org/packages/51/f5/13f1ce7a88d4437eb2b4a24c7b7cead1fedf9284e5381b86e4630a3ce044/memray-1.19.1-cp314-cp314t-manylinux2014_i686.manylinux_2_17_i686.whl" }, { "algorithm": "sha256", - "hash": "e816e7157b4e2e17ec3fa08fa59a058a5ba264dddd35e04e44862e7800db07f3", - "url": "https://files.pythonhosted.org/packages/75/30/62b2da40ef34afefe0df91a9d098bcaed46e9848d8e74c8742a11684d325/memray-1.17.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + "hash": "9fa0d8d8df8a0cad97e934dcd1cb698af00ffb10cd79277907c2cf97212f0bd9", + "url": "https://files.pythonhosted.org/packages/52/3f/473fb7935f4f34834da63a59f659201b917cd1386decbccf7c8e9bfd74cc/memray-1.19.1-cp314-cp314t-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "b7d9c90ab17629a0b38851fd004c5301de0f3c4668a88986da22dd016c4416cd", - "url": "https://files.pythonhosted.org/packages/a5/b2/1f74ee01af4c7eedf94ad12e48e40f96ef522141d5c2efaf7282a971c256/memray-1.17.2-cp313-cp313-macosx_11_0_arm64.whl" + "hash": "e905d04e337e1482af988f349b1062ec330408bf1d8e5b0cfe8c0c7b47959692", + "url": "https://files.pythonhosted.org/packages/ad/3c/e5154059614a181fd13ed4106b4a69a811da35a2dabf2be1642c640977c9/memray-1.19.1-cp314-cp314t-macosx_10_14_x86_64.whl" }, { "algorithm": "sha256", - "hash": "48fe99afa391bdc67f2415b968b31c1ace5d045a0af91312a8e24cfa4ff577c6", - "url": "https://files.pythonhosted.org/packages/a6/74/9f5fb772cdb7b203ece295dc429507a28e0ecda9fef6c3dc2fdf02c7f1cd/memray-1.17.2-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl" + "hash": "f7238113251d325da2d405b067ec180842b93a7fb10ff06fb3f7c261225b33ae", + "url": "https://files.pythonhosted.org/packages/bf/0a/a23f7b893915bfb1536963d5923ec048f10c70ec83c2ba31843d357be4c5/memray-1.19.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" }, { "algorithm": "sha256", - "hash": "e871af5a88006f9c0d16cb234e9d18244ffeb28f5c8aa17bd6babc8418fdda1d", - "url": "https://files.pythonhosted.org/packages/b9/69/06c3b2776c90257354176d6a3caf3c4a74f2d2920c96c456b149109a6456/memray-1.17.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + "hash": "b202f1d96211d73712f5db8281c437dcbbd9cc91e520ca44b8406466b9672624", + "url": "https://files.pythonhosted.org/packages/c8/74/29f3f3f07b2e5a208d9f9bf3fee2374a5f155ff82c4b124b69b8ee246cc7/memray-1.19.1-cp314-cp314-macosx_10_14_x86_64.whl" }, { "algorithm": "sha256", - "hash": "eb75c075874a6eccddf361513d9d4a9223dd940580c6370a6ba5339bae5d0ba2", - "url": "https://files.pythonhosted.org/packages/df/40/66e6ae86c0a22b8b998779fa8d6c0ab9ee63f0943198adcf714934286cbf/memray-1.17.2.tar.gz" + "hash": "808eb35fa012fa8e25582e3c9b76d9f0471e87776c7cd86e6c149da34fed22ed", + "url": "https://files.pythonhosted.org/packages/e3/ea/58049103b757f8cdf6bff78eb24317d781f28bc44a5fe38887efe1937ac8/memray-1.19.1-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "f1a99cbb0b413a945e07529e521c7441cb46e4d5e6868dd810cbdaa80af0b74c", + "url": "https://files.pythonhosted.org/packages/f6/81/e96753df56e5369b8e123fa62f291aac1ca7d34b8368c2cf7a11e91e2a0e/memray-1.19.1-cp314-cp314-macosx_11_0_arm64.whl" } ], "project_name": "memray", @@ -3622,8 +3945,8 @@ "pytest; extra == \"dev\"", "pytest; extra == \"test\"", "rich>=11.2.0", - "setuptools; python_version >= \"3.12\" and extra == \"dev\"", - "setuptools; python_version >= \"3.12\" and extra == \"test\"", + "setuptools; extra == \"dev\"", + "setuptools; extra == \"test\"", "sphinx-argparse; extra == \"dev\"", "sphinx-argparse; extra == \"docs\"", "sphinx; extra == \"dev\"", @@ -3636,19 +3959,19 @@ "typing_extensions; python_version < \"3.8.0\"" ], "requires_python": ">=3.7.0", - "version": "1.17.2" + "version": "1.19.1" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "f23a6edbff8d0bc4b5c1a61b2628a01c5a3342aefc613ff9c276012e6321108f", - "url": "https://files.pythonhosted.org/packages/7d/ae/f32695da4f93de50dd7075100dab8cf689a9d96270f58ce6f940fd044a3e/minio-7.2.18-py3-none-any.whl" + "hash": "eb33dd2fb80e04c3726a76b13241c6be3c4c46f8d81e1d58e757786f6501897e", + "url": "https://files.pythonhosted.org/packages/3e/9a/b697530a882588a84db616580f2ba5d1d515c815e11c30d219145afeec87/minio-7.2.20-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "173402a5716099159c5659f9de75be204ebe248557b9f1cc9cf45aa70e9d3024", - "url": "https://files.pythonhosted.org/packages/71/99/1ad8733fa3f2fa82726e470f8c321e17f9321083b234ab45ad6b59d80d9f/minio-7.2.18.tar.gz" + "hash": "95898b7a023fbbfde375985aa77e2cd6a0762268db79cf886f002a9ea8e68598", + "url": "https://files.pythonhosted.org/packages/40/df/6dfc6540f96a74125a11653cce717603fd5b7d0001a8e847b3e54e72d238/minio-7.2.20.tar.gz" } ], "project_name": "minio", @@ -3660,7 +3983,7 @@ "urllib3" ], "requires_python": ">=3.9", - "version": "7.2.18" + "version": "7.2.20" }, { "artifacts": [ @@ -3684,13 +4007,38 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "5928604de9b032bc17f5099496417f113c45bc6bc21b5c6920caf34b3c428794", - "url": "https://files.pythonhosted.org/packages/28/ce/698c1eff75626e4124b4d78e21cca0b4cc90043afb80a507626ea354ab52/msgpack-1.1.2-cp313-cp313-musllinux_1_2_x86_64.whl" + "hash": "d62ce1f483f355f61adb5433ebfd8868c5f078d1a52d042b0a998682b4fa8c27", + "url": "https://files.pythonhosted.org/packages/da/28/6951f7fb67bc0a4e184a6b38ab71a92d9ba58080b27a77d3e2fb0be5998f/msgpack-1.1.2-cp314-cp314t-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "897c478140877e5307760b0ea66e0932738879e7aa68144d9b78ea4c8302a84a", + "url": "https://files.pythonhosted.org/packages/16/67/93f80545eb1792b61a217fa7f06d5e5cb9e0055bed867f43e2b8e012e137/msgpack-1.1.2-cp314-cp314t-macosx_10_13_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "6c15b7d74c939ebe620dd8e559384be806204d73b4f9356320632d783d1f7939", + "url": "https://files.pythonhosted.org/packages/1b/9f/38ff9e57a2eade7bf9dfee5eae17f39fc0e998658050279cbb14d97d36d9/msgpack-1.1.2-cp314-cp314-macosx_11_0_arm64.whl" + }, + { + "algorithm": "sha256", + "hash": "e23ce8d5f7aa6ea6d2a2b326b4ba46c985dbb204523759984430db7114f8aa00", + "url": "https://files.pythonhosted.org/packages/22/71/201105712d0a2ff07b7873ed3c220292fb2ea5120603c00c4b634bcdafb3/msgpack-1.1.2-cp314-cp314-macosx_10_13_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "f2cb069d8b981abc72b41aea1c580ce92d57c673ec61af4c500153a626cb9e20", + "url": "https://files.pythonhosted.org/packages/24/a4/e98ccdb56dc4e98c929a3f150de1799831c0a800583cde9fa022fa90602d/msgpack-1.1.2-cp314-cp314t-musllinux_1_2_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "180759d89a057eab503cf62eeec0aa61c4ea1200dee709f3a8e9397dbb3b6931", + "url": "https://files.pythonhosted.org/packages/2f/40/dc34d1a8d5f1e51fc64640b62b191684da52ca469da9cd74e84936ffa4a6/msgpack-1.1.2-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" }, { "algorithm": "sha256", - "hash": "fffee09044073e69f2bad787071aeec727183e7580443dfeb8556cbf1978d162", - "url": "https://files.pythonhosted.org/packages/38/f8/4398c46863b093252fe67368b44edc6c13b17f4e6b0e4929dbf0bdb13f23/msgpack-1.1.2-cp313-cp313-musllinux_1_2_aarch64.whl" + "hash": "04fb995247a6e83830b62f0b07bf36540c213f6eac8e851166d8d86d83cbd014", + "url": "https://files.pythonhosted.org/packages/3b/ef/2b92e286366500a09a67e03496ee8b8ba00562797a52f3c117aa2b29514b/msgpack-1.1.2-cp314-cp314-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", @@ -3699,23 +4047,28 @@ }, { "algorithm": "sha256", - "hash": "fac4be746328f90caa3cd4bc67e6fe36ca2bf61d5c6eb6d895b6527e3f05071e", - "url": "https://files.pythonhosted.org/packages/5d/ba/459f18c16f2b3fc1a1ca871f72f07d70c07bf768ad0a507a698b8052ac58/msgpack-1.1.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" + "hash": "8e22ab046fa7ede9e36eeb4cfad44d46450f37bb05d5ec482b02868f451c95e2", + "url": "https://files.pythonhosted.org/packages/78/90/e0ea7990abea5764e4655b8177aa7c63cdfa89945b6e7641055800f6c16b/msgpack-1.1.2-cp314-cp314-musllinux_1_2_x86_64.whl" }, { "algorithm": "sha256", - "hash": "4efd7b5979ccb539c221a4c4e16aac1a533efc97f3b759bb5a5ac9f6d10383bf", - "url": "https://files.pythonhosted.org/packages/6b/31/b46518ecc604d7edf3a4f94cb3bf021fc62aa301f0cb849936968164ef23/msgpack-1.1.2-cp313-cp313-macosx_10_13_x86_64.whl" + "hash": "a668204fa43e6d02f89dbe79a30b0d67238d9ec4c5bd8a940fc3a004a47b721b", + "url": "https://files.pythonhosted.org/packages/87/1c/33c8a24959cf193966ef11a6f6a2995a65eb066bd681fd085afd519a57ce/msgpack-1.1.2-cp314-cp314t-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "42eefe2c3e2af97ed470eec850facbe1b5ad1d6eacdbadc42ec98e7dcf68b4b7", - "url": "https://files.pythonhosted.org/packages/92/dc/c385f38f2c2433333345a82926c6bfa5ecfff3ef787201614317b58dd8be/msgpack-1.1.2-cp313-cp313-macosx_11_0_arm64.whl" + "hash": "99e2cb7b9031568a2a5c73aa077180f93dd2e95b4f8d3b8e14a73ae94a9e667e", + "url": "https://files.pythonhosted.org/packages/8e/a9/3536e385167b88c2cc8f4424c49e28d49a6fc35206d4a8060f136e71f94c/msgpack-1.1.2-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" }, { "algorithm": "sha256", - "hash": "1fdf7d83102bf09e7ce3357de96c59b627395352a4024f6e2458501f158bf999", - "url": "https://files.pythonhosted.org/packages/d3/68/93180dce57f684a61a88a45ed13047558ded2be46f03acb8dec6d7c513af/msgpack-1.1.2-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" + "hash": "70c5a7a9fea7f036b716191c29047374c10721c389c21e9ffafad04df8c52c90", + "url": "https://files.pythonhosted.org/packages/c1/47/5c74ecb4cc277cf09f64e913947871682ffa82b3b93c8dad68083112f412/msgpack-1.1.2-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "5559d03930d3aa0f3aacb4c42c776af1a2ace2611871c84a75afe436695e6245", + "url": "https://files.pythonhosted.org/packages/fc/6b/62e85ff7193663fbea5c0254ef32f0c77134b4059f8da89b958beb7696f3/msgpack-1.1.2-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" } ], "project_name": "msgpack", @@ -3727,163 +4080,163 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "27d8f8e125c07cb954e54d75d04905a9bba8a439c1d84aca94949d4d03d8601c", - "url": "https://files.pythonhosted.org/packages/fd/69/b547032297c7e63ba2af494edba695d781af8a0c6e89e4d06cf848b21d80/multidict-6.6.4-py3-none-any.whl" + "hash": "394fc5c42a333c9ffc3e421a4c85e08580d990e08b99f6bf35b4132114c5dcb3", + "url": "https://files.pythonhosted.org/packages/b7/da/7d22601b625e241d4f23ef1ebff8acfc60da633c9e7e7922e24d10f592b3/multidict-6.7.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "7dd57515bebffd8ebd714d101d4c434063322e4fe24042e90ced41f18b6d3395", - "url": "https://files.pythonhosted.org/packages/00/44/3faa416f89b2d5d76e9d447296a81521e1c832ad6e40b92f990697b43192/multidict-6.6.4-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" + "hash": "716133f7d1d946a4e1b91b1756b23c088881e70ff180c24e864c26192ad7534a", + "url": "https://files.pythonhosted.org/packages/00/a3/67f18315100f64c269f46e6c0319fa87ba68f0f64f2b8e7fd7c72b913a0b/multidict-6.7.0-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" }, { "algorithm": "sha256", - "hash": "967af5f238ebc2eb1da4e77af5492219fbd9b4b812347da39a7b5f5c72c0fa45", - "url": "https://files.pythonhosted.org/packages/05/5f/77c03b89af0fcb16f018f668207768191fb9dcfb5e3361a5e706a11db2c9/multidict-6.6.4-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" + "hash": "31bae522710064b5cbeddaf2e9f32b1abab70ac6ac91d42572502299e9953128", + "url": "https://files.pythonhosted.org/packages/02/68/6b086fef8a3f1a8541b9236c594f0c9245617c29841f2e0395d979485cde/multidict-6.7.0-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl" }, { "algorithm": "sha256", - "hash": "dadf95aa862714ea468a49ad1e09fe00fcc9ec67d122f6596a8d40caf6cec7d0", - "url": "https://files.pythonhosted.org/packages/06/78/6b7c0f020f9aa0acf66d0ab4eb9f08375bac9a50ff5e3edb1c4ccd59eafc/multidict-6.6.4-cp313-cp313t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl" + "hash": "7a0222514e8e4c514660e182d5156a415c13ef0aabbd71682fc714e327b95e99", + "url": "https://files.pythonhosted.org/packages/02/a5/eeb3f43ab45878f1895118c3ef157a480db58ede3f248e29b5354139c2c9/multidict-6.7.0-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl" }, { "algorithm": "sha256", - "hash": "467fe64138cfac771f0e949b938c2e1ada2b5af22f39692aa9258715e9ea613a", - "url": "https://files.pythonhosted.org/packages/13/b5/29ec78057d377b195ac2c5248c773703a6b602e132a763e20ec0457e7440/multidict-6.6.4-cp313-cp313-musllinux_1_2_x86_64.whl" + "hash": "a6ef16328011d3f468e7ebc326f24c1445f001ca1dec335b2f8e66bed3006394", + "url": "https://files.pythonhosted.org/packages/09/86/ac39399e5cb9d0c2ac8ef6e10a768e4d3bc933ac808d49c41f9dc23337eb/multidict-6.7.0-cp314-cp314t-musllinux_1_2_i686.whl" }, { "algorithm": "sha256", - "hash": "024ce601f92d780ca1617ad4be5ac15b501cc2414970ffa2bb2bbc2bd5a68fa5", - "url": "https://files.pythonhosted.org/packages/17/38/58b27fed927c07035abc02befacab42491e7388ca105e087e6e0215ead64/multidict-6.6.4-cp313-cp313-musllinux_1_2_aarch64.whl" + "hash": "27e0b36c2d388dc7b6ced3406671b401e84ad7eb0656b8f3a2f46ed0ce483718", + "url": "https://files.pythonhosted.org/packages/13/8a/18e031eca251c8df76daf0288e6790561806e439f5ce99a170b4af30676b/multidict-6.7.0-cp314-cp314t-macosx_10_13_x86_64.whl" }, { "algorithm": "sha256", - "hash": "7f683a551e92bdb7fac545b9c6f9fa2aebdeefa61d607510b3533286fcab67f5", - "url": "https://files.pythonhosted.org/packages/1f/b5/e0571bc13cda277db7e6e8a532791d4403dacc9850006cb66d2556e649c0/multidict-6.6.4-cp313-cp313t-musllinux_1_2_aarch64.whl" + "hash": "b8512bac933afc3e45fb2b18da8e59b78d4f408399a960339598374d4ae3b56b", + "url": "https://files.pythonhosted.org/packages/14/2c/f069cab5b51d175a1a2cb4ccdf7a2c2dabd58aa5bd933fa036a8d15e2404/multidict-6.7.0-cp314-cp314-macosx_10_13_x86_64.whl" }, { "algorithm": "sha256", - "hash": "0e0558693063c75f3d952abf645c78f3c5dfdd825a41d8c4d8156fc0b0da6e7e", - "url": "https://files.pythonhosted.org/packages/25/1a/be8e369dfcd260d2070a67e65dd3990dd635cbd735b98da31e00ea84cd4e/multidict-6.6.4-cp313-cp313t-macosx_10_13_x86_64.whl" + "hash": "4a0df7ff02397bb63e2fd22af2c87dfa39e8c7f12947bc524dbdc528282c7e34", + "url": "https://files.pythonhosted.org/packages/15/ee/f524093232007cd7a75c1d132df70f235cfd590a7c9eaccd7ff422ef4ae8/multidict-6.7.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" }, { "algorithm": "sha256", - "hash": "3f8e2384cb83ebd23fd07e9eada8ba64afc4c759cd94817433ab8c81ee4b403f", - "url": "https://files.pythonhosted.org/packages/26/5a/dd4ade298674b2f9a7b06a32c94ffbc0497354df8285f27317c66433ce3b/multidict-6.6.4-cp313-cp313t-macosx_11_0_arm64.whl" + "hash": "171b73bd4ee683d307599b66793ac80981b06f069b62eea1c9e29c9241aa66b0", + "url": "https://files.pythonhosted.org/packages/16/9d/a2dac7009125d3540c2f54e194829ea18ac53716c61b655d8ed300120b0f/multidict-6.7.0-cp314-cp314t-musllinux_1_2_x86_64.whl" }, { "algorithm": "sha256", - "hash": "a506a77ddee1efcca81ecbeae27ade3e09cdf21a8ae854d766c2bb4f14053f92", - "url": "https://files.pythonhosted.org/packages/37/3d/7b1e10d774a6df5175ecd3c92bff069e77bed9ec2a927fdd4ff5fe182f67/multidict-6.6.4-cp313-cp313t-musllinux_1_2_x86_64.whl" + "hash": "05047ada7a2fde2631a0ed706f1fd68b169a681dfe5e4cf0f8e4cb6618bbc2cd", + "url": "https://files.pythonhosted.org/packages/1e/39/6566210c83f8a261575f18e7144736059f0c460b362e96e9cf797a24b8e7/multidict-6.7.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "37b7187197da6af3ee0b044dbc9625afd0c885f2800815b228a0e70f9a7f473d", - "url": "https://files.pythonhosted.org/packages/38/ea/6c98add069b4878c1d66428a5f5149ddb6d32b1f9836a826ac764b9940be/multidict-6.6.4-cp313-cp313t-musllinux_1_2_ppc64le.whl" + "hash": "9fe04da3f79387f450fd0061d4dd2e45a72749d31bf634aecc9e27f24fdc4b3f", + "url": "https://files.pythonhosted.org/packages/1e/cc/48d02ac22b30fa247f7dad82866e4b1015431092f4ba6ebc7e77596e0b18/multidict-6.7.0-cp314-cp314-musllinux_1_2_x86_64.whl" }, { "algorithm": "sha256", - "hash": "e1b93790ed0bc26feb72e2f08299691ceb6da5e9e14a0d13cc74f1869af327a0", - "url": "https://files.pythonhosted.org/packages/3a/09/8fe02d204473e14c0af3affd50af9078839dfca1742f025cca765435d6b4/multidict-6.6.4-cp313-cp313t-musllinux_1_2_s390x.whl" + "hash": "28b37063541b897fd6a318007373930a75ca6d6ac7c940dbe14731ffdd8d498e", + "url": "https://files.pythonhosted.org/packages/23/b4/38881a960458f25b89e9f4a4fdcb02ac101cfa710190db6e5528841e67de/multidict-6.7.0-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl" }, { "algorithm": "sha256", - "hash": "f46a6e8597f9bd71b31cc708195d42b634c8527fecbcf93febf1052cacc1f16e", - "url": "https://files.pythonhosted.org/packages/3a/5d/e1db626f64f60008320aab00fbe4f23fc3300d75892a3381275b3d284580/multidict-6.6.4-cp313-cp313-macosx_10_13_universal2.whl" + "hash": "e011555abada53f1578d63389610ac8a5400fc70ce71156b0aa30d326f1a5064", + "url": "https://files.pythonhosted.org/packages/2a/5f/8de95f629fc22a7769ade8b41028e3e5a822c1f8904f618d175945a81ad3/multidict-6.7.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" }, { "algorithm": "sha256", - "hash": "22e38b2bc176c5eb9c0a0e379f9d188ae4cd8b28c0f53b52bce7ab0a9e534657", - "url": "https://files.pythonhosted.org/packages/4c/aa/8b6f548d839b6c13887253af4e29c939af22a18591bfb5d0ee6f1931dae8/multidict-6.6.4-cp313-cp313-macosx_10_13_x86_64.whl" + "hash": "5aa873cbc8e593d361ae65c68f85faadd755c3295ea2c12040ee146802f23b38", + "url": "https://files.pythonhosted.org/packages/3d/b6/fed5ac6b8563ec72df6cb1ea8dac6d17f0a4a1f65045f66b6d3bf1497c02/multidict-6.7.0-cp314-cp314t-musllinux_1_2_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "6c84378acd4f37d1b507dfa0d459b449e2321b3ba5f2338f9b085cf7a7ba95eb", - "url": "https://files.pythonhosted.org/packages/64/94/0a8e63e36c049b571c9ae41ee301ada29c3fee9643d9c2548d7d558a1d99/multidict-6.6.4-cp313-cp313t-macosx_10_13_universal2.whl" + "hash": "2a7baa46a22e77f0988e3b23d4ede5513ebec1929e34ee9495be535662c0dfe2", + "url": "https://files.pythonhosted.org/packages/40/71/5e6701277470a87d234e433fb0a3a7deaf3bcd92566e421e7ae9776319de/multidict-6.7.0-cp314-cp314t-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "d2d4e4787672911b48350df02ed3fa3fffdc2f2e8ca06dd6afdf34189b76a9dd", - "url": "https://files.pythonhosted.org/packages/69/7f/0652e6ed47ab288e3756ea9c0df8b14950781184d4bd7883f4d87dd41245/multidict-6.6.4.tar.gz" + "hash": "79dcf9e477bc65414ebfea98ffd013cb39552b5ecd62908752e0e413d6d06e38", + "url": "https://files.pythonhosted.org/packages/42/e2/64bb41266427af6642b6b128e8774ed84c11b80a90702c13ac0a86bb10cc/multidict-6.7.0-cp314-cp314-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "497a2954adc25c08daff36f795077f63ad33e13f19bfff7736e72c785391534f", - "url": "https://files.pythonhosted.org/packages/80/e5/5e22c5bf96a64bdd43518b1834c6d95a4922cc2066b7d8e467dae9b6cee6/multidict-6.6.4-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" + "hash": "08d4379f9744d8f78d98c8673c06e202ffa88296f009c71bbafe8a6bf847d01f", + "url": "https://files.pythonhosted.org/packages/49/6d/23faeb0868adba613b817d0e69c5f15531b24d462af8012c4f6de4fa8dc3/multidict-6.7.0-cp314-cp314-musllinux_1_2_s390x.whl" }, { "algorithm": "sha256", - "hash": "f996b87b420995a9174b2a7c1a8daf7db4750be6848b03eb5e639674f7963773", - "url": "https://files.pythonhosted.org/packages/89/db/98aa28bc7e071bfba611ac2ae803c24e96dd3a452b4118c587d3d872c64c/multidict-6.6.4-cp313-cp313t-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl" + "hash": "44b546bd3eb645fd26fb949e43c02a25a2e632e2ca21a35e2e132c8105dc8599", + "url": "https://files.pythonhosted.org/packages/65/92/bc1f8bd0853d8669300f732c801974dfc3702c3eeadae2f60cef54dc69d7/multidict-6.7.0-cp314-cp314t-musllinux_1_2_armv7l.whl" }, { "algorithm": "sha256", - "hash": "580b643b7fd2c295d83cad90d78419081f53fd532d1f1eb67ceb7060f61cff0d", - "url": "https://files.pythonhosted.org/packages/a9/9d/28802e8f9121a6a0804fa009debf4e753d0a59969ea9f70be5f5fdfcb18f/multidict-6.6.4-cp313-cp313t-musllinux_1_2_i686.whl" + "hash": "2397ab4daaf2698eb51a76721e98db21ce4f52339e535725de03ea962b5a3202", + "url": "https://files.pythonhosted.org/packages/6a/1e/76d02f8270b97269d7e3dbd45644b1785bda457b474315f8cf999525a193/multidict-6.7.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "87a32d20759dc52a9e850fe1061b6e41ab28e2998d44168a8a341b99ded1dba0", - "url": "https://files.pythonhosted.org/packages/ad/86/90e20b5771d6805a119e483fd3d1e8393e745a11511aebca41f0da38c3e2/multidict-6.6.4-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl" + "hash": "3d7b6ccce016e29df4b7ca819659f516f0bc7a4b3efa3bb2012ba06431b044f9", + "url": "https://files.pythonhosted.org/packages/6b/8d/b954d8c0dc132b68f760aefd45870978deec6818897389dace00fcde32ff/multidict-6.7.0-cp314-cp314t-musllinux_1_2_s390x.whl" }, { "algorithm": "sha256", - "hash": "190766dac95aab54cae5b152a56520fd99298f32a1266d66d27fdd1b5ac00f4e", - "url": "https://files.pythonhosted.org/packages/b8/1a/ac2216b61c7f116edab6dc3378cca6c70dc019c9a457ff0d754067c58b20/multidict-6.6.4-cp313-cp313-musllinux_1_2_i686.whl" + "hash": "8891681594162635948a636c9fe0ff21746aeb3dd5463f6e25d9bea3a8a39ca1", + "url": "https://files.pythonhosted.org/packages/76/0b/c28a70ecb58963847c2a8efe334904cd254812b10e535aefb3bcce513918/multidict-6.7.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" }, { "algorithm": "sha256", - "hash": "ad8850921d3a8d8ff6fbef790e773cecfc260bbfa0566998980d3fa8f520bc4a", - "url": "https://files.pythonhosted.org/packages/bf/b4/aa4c5c379b11895083d50021e229e90c408d7d875471cb3abf721e4670d6/multidict-6.6.4-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" + "hash": "c6e99d9a65ca282e578dfea819cfa9c0a62b2499d8677392e09feaf305e9e6f5", + "url": "https://files.pythonhosted.org/packages/80/1e/5492c365f222f907de1039b91f922b93fa4f764c713ee858d235495d8f50/multidict-6.7.0.tar.gz" }, { "algorithm": "sha256", - "hash": "ae9408439537c5afdca05edd128a63f56a62680f4b3c234301055d7a2000220f", - "url": "https://files.pythonhosted.org/packages/c4/1c/8a10c1c25b23156e63b12165a929d8eb49a6ed769fdbefb06e6f07c1e50d/multidict-6.6.4-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" + "hash": "c1dcc7524066fa918c6a27d61444d4ee7900ec635779058571f70d042d86ed63", + "url": "https://files.pythonhosted.org/packages/8b/40/cd499bd0dbc5f1136726db3153042a735fffd0d77268e2ee20d5f33c010f/multidict-6.7.0-cp314-cp314t-macosx_10_13_universal2.whl" }, { "algorithm": "sha256", - "hash": "59e8d40ab1f5a8597abcef00d04845155a5693b5da00d2c93dbe88f2050f2812", - "url": "https://files.pythonhosted.org/packages/c5/65/d1f84fe08ac44a5fc7391cbc20a7cedc433ea616b266284413fd86062f8c/multidict-6.6.4-cp313-cp313-musllinux_1_2_s390x.whl" + "hash": "b6234e14f9314731ec45c42fc4554b88133ad53a09092cc48a88e771c125dadb", + "url": "https://files.pythonhosted.org/packages/8d/01/476d38fc73a212843f43c852b0eee266b6971f0e28329c2184a8df90c376/multidict-6.7.0-cp314-cp314-musllinux_1_2_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "cc356250cffd6e78416cf5b40dc6a74f1edf3be8e834cf8862d9ed5265cf9b0e", - "url": "https://files.pythonhosted.org/packages/c7/bc/01ddda2a73dd9d167bd85d0e8ef4293836a8f82b786c63fb1a429bc3e678/multidict-6.6.4-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" + "hash": "f844a1bbf1d207dd311a56f383f7eda2d0e134921d45751842d8235e7778965d", + "url": "https://files.pythonhosted.org/packages/93/cd/06c1fa8282af1d1c46fd55c10a7930af652afdce43999501d4d68664170c/multidict-6.7.0-cp314-cp314-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "2a4c6875c37aae9794308ec43e3530e4aa0d36579ce38d89979bbf89582002bb", - "url": "https://files.pythonhosted.org/packages/cf/e9/ed750a2a9afb4f8dc6f13dc5b67b514832101b95714f1211cd42e0aafc26/multidict-6.6.4-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" + "hash": "d4393e3581e84e5645506923816b9cc81f5609a778c7e7534054091acc64d1c6", + "url": "https://files.pythonhosted.org/packages/99/ac/82cb419dd6b04ccf9e7e61befc00c77614fc8134362488b553402ecd55ce/multidict-6.7.0-cp314-cp314-musllinux_1_2_armv7l.whl" }, { "algorithm": "sha256", - "hash": "a693fc5ed9bdd1c9e898013e0da4dcc640de7963a371c0bd458e50e046bf6438", - "url": "https://files.pythonhosted.org/packages/d0/a1/dad75d23a90c29c02b5d6f3d7c10ab36c3197613be5d07ec49c7791e186c/multidict-6.6.4-cp313-cp313-musllinux_1_2_armv7l.whl" + "hash": "18706cc31dbf402a7945916dd5cddf160251b6dab8a2c5f3d6d5a55949f676b3", + "url": "https://files.pythonhosted.org/packages/b4/63/2ab26e4209773223159b83aa32721b4021ffb08102f8ac7d689c943fded1/multidict-6.7.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" }, { "algorithm": "sha256", - "hash": "34d8f2a5ffdceab9dcd97c7a016deb2308531d5f0fced2bb0c9e1df45b3363d7", - "url": "https://files.pythonhosted.org/packages/d4/79/1916af833b800d13883e452e8e0977c065c4ee3ab7a26941fbfdebc11895/multidict-6.6.4-cp313-cp313-musllinux_1_2_ppc64le.whl" + "hash": "d1bed1b467ef657f2a0ae62844a607909ef1c6889562de5e1d505f74457d0b96", + "url": "https://files.pythonhosted.org/packages/c8/2a/1cb77266afee2458d82f50da41beba02159b1d6b1f7973afc9a1cad1499b/multidict-6.7.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" }, { "algorithm": "sha256", - "hash": "49517449b58d043023720aa58e62b2f74ce9b28f740a0b5d33971149553d72aa", - "url": "https://files.pythonhosted.org/packages/dc/31/d54eb0c62516776f36fe67f84a732f97e0b0e12f98d5685bebcc6d396910/multidict-6.6.4-cp313-cp313-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl" + "hash": "ca43bdfa5d37bd6aee89d85e1d0831fb86e25541be7e9d376ead1b28974f8e5e", + "url": "https://files.pythonhosted.org/packages/dd/72/09fa7dd487f119b2eb9524946ddd36e2067c08510576d43ff68469563b3b/multidict-6.7.0-cp314-cp314t-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "52e3c8d43cdfff587ceedce9deb25e6ae77daba560b626e97a56ddcad3756879", - "url": "https://files.pythonhosted.org/packages/e7/49/484d3e6b535bc0555b52a0a26ba86e4d8d03fd5587d4936dc59ba7583221/multidict-6.6.4-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" + "hash": "3bab1e4aff7adaa34410f93b1f8e57c4b36b9af0426a76003f441ee1d3c7e842", + "url": "https://files.pythonhosted.org/packages/e2/b1/3da6934455dd4b261d4c72f897e3a5728eba81db59959f3a639245891baa/multidict-6.7.0-cp314-cp314-macosx_10_13_universal2.whl" }, { "algorithm": "sha256", - "hash": "5df8afd26f162da59e218ac0eefaa01b01b2e6cd606cffa46608f699539246da", - "url": "https://files.pythonhosted.org/packages/eb/c6/f5e97e5d99a729bc2aa58eb3ebfa9f1e56a9b517cc38c60537c81834a73f/multidict-6.6.4-cp313-cp313-macosx_11_0_arm64.whl" + "hash": "fbd18dc82d7bf274b37aa48d664534330af744e03bccf696d6f4c6042e7d19e7", + "url": "https://files.pythonhosted.org/packages/fa/f3/a0f9bf09493421bd8716a362e0cd1d244f5a6550f5beffdd6b47e885b331/multidict-6.7.0-cp314-cp314-musllinux_1_2_i686.whl" }, { "algorithm": "sha256", - "hash": "3ba5aaf600edaf2a868a391779f7a85d93bed147854925f34edd24cc70a3e141", - "url": "https://files.pythonhosted.org/packages/f3/a3/69a84b0eccb9824491f06368f5b86e72e4af54c3067c37c39099b6687109/multidict-6.6.4-cp313-cp313t-musllinux_1_2_armv7l.whl" + "hash": "7bf77f54997a9166a2f5675d1201520586439424c2511723a7312bdb4bcc034e", + "url": "https://files.pythonhosted.org/packages/fe/6a/bab00cbab6d9cfb57afe1663318f72ec28289ea03fd4e8236bb78429893a/multidict-6.7.0-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl" } ], "project_name": "multidict", @@ -3891,7 +4244,7 @@ "typing-extensions>=4.1.0; python_version < \"3.11\"" ], "requires_python": ">=3.9", - "version": "6.6.4" + "version": "6.7.0" }, { "artifacts": [ @@ -3996,335 +4349,336 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "4db83ebcf7ea93e64637ec6ee6fabee45c5cbe4abd9cf3da95c43828ddb50b83", - "url": "https://files.pythonhosted.org/packages/05/44/4c45a34def3506122ae61ad684139f0bbc4e00c39555d4f7e20e0e001c8a/opentelemetry_api-1.33.1-py3-none-any.whl" + "hash": "3c3b3ca5c5687b1b5b37e5c5027ff68eacea8675241b29f13110a8ffbb8f0459", + "url": "https://files.pythonhosted.org/packages/05/85/d831a9bc0a9e0e1a304ff3d12c1489a5fbc9bf6690a15dcbdae372bbca45/opentelemetry_api-1.39.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "1c6055fc0a2d3f23a50c7e17e16ef75ad489345fd3df1f8b8af7c0bbf8a109e8", - "url": "https://files.pythonhosted.org/packages/9a/8d/1f5a45fbcb9a7d87809d460f09dc3399e3fbd31d7f3e14888345e9d29951/opentelemetry_api-1.33.1.tar.gz" + "hash": "6130644268c5ac6bdffaf660ce878f10906b3e789f7e2daa5e169b047a2933b9", + "url": "https://files.pythonhosted.org/packages/c0/0b/e5428c009d4d9af0515b0a8371a8aaae695371af291f45e702f7969dce6b/opentelemetry_api-1.39.0.tar.gz" } ], "project_name": "opentelemetry-api", "requires_dists": [ - "deprecated>=1.2.6", - "importlib-metadata<8.7.0,>=6.0" + "importlib-metadata<8.8.0,>=6.0", + "typing-extensions>=4.5.0" ], - "requires_python": ">=3.8", - "version": "1.33.1" + "requires_python": ">=3.9", + "version": "1.39.0" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "b81c1de1ad349785e601d02715b2d29d6818aed2c809c20219f3d1f20b038c36", - "url": "https://files.pythonhosted.org/packages/09/52/9bcb17e2c29c1194a28e521b9d3f2ced09028934c3c52a8205884c94b2df/opentelemetry_exporter_otlp_proto_common-1.33.1-py3-none-any.whl" + "hash": "3d77be7c4bdf90f1a76666c934368b8abed730b5c6f0547a2ec57feb115849ac", + "url": "https://files.pythonhosted.org/packages/ef/c6/215edba62d13a3948c718b289539f70e40965bc37fc82ecd55bb0b749c1a/opentelemetry_exporter_otlp_proto_common-1.39.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "c57b3fa2d0595a21c4ed586f74f948d259d9949b58258f11edb398f246bec131", - "url": "https://files.pythonhosted.org/packages/7a/18/a1ec9dcb6713a48b4bdd10f1c1e4d5d2489d3912b80d2bcc059a9a842836/opentelemetry_exporter_otlp_proto_common-1.33.1.tar.gz" + "hash": "a135fceed1a6d767f75be65bd2845da344dd8b9258eeed6bc48509d02b184409", + "url": "https://files.pythonhosted.org/packages/11/cb/3a29ce606b10c76d413d6edd42d25a654af03e73e50696611e757d2602f3/opentelemetry_exporter_otlp_proto_common-1.39.0.tar.gz" } ], "project_name": "opentelemetry-exporter-otlp-proto-common", "requires_dists": [ - "opentelemetry-proto==1.33.1" + "opentelemetry-proto==1.39.0" ], - "requires_python": ">=3.8", - "version": "1.33.1" + "requires_python": ">=3.9", + "version": "1.39.0" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "7e8da32c7552b756e75b4f9e9c768a61eb47dee60b6550b37af541858d669ce1", - "url": "https://files.pythonhosted.org/packages/ba/ec/6047e230bb6d092c304511315b13893b1c9d9260044dd1228c9d48b6ae0e/opentelemetry_exporter_otlp_proto_grpc-1.33.1-py3-none-any.whl" + "hash": "758641278050de9bb895738f35ff8840e4a47685b7e6ef4a201fe83196ba7a05", + "url": "https://files.pythonhosted.org/packages/56/e8/d420b94ffddfd8cff85bb4aa5d98da26ce7935dc3cf3eca6b83cd39ab436/opentelemetry_exporter_otlp_proto_grpc-1.39.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "345696af8dc19785fac268c8063f3dc3d5e274c774b308c634f39d9c21955728", - "url": "https://files.pythonhosted.org/packages/d8/5f/75ef5a2a917bd0e6e7b83d3fb04c99236ee958f6352ba3019ea9109ae1a6/opentelemetry_exporter_otlp_proto_grpc-1.33.1.tar.gz" + "hash": "7e7bb3f436006836c0e0a42ac619097746ad5553ad7128a5bd4d3e727f37fc06", + "url": "https://files.pythonhosted.org/packages/7e/62/4db083ee9620da3065eeb559e9fc128f41a1d15e7c48d7c83aafbccd354c/opentelemetry_exporter_otlp_proto_grpc-1.39.0.tar.gz" } ], "project_name": "opentelemetry-exporter-otlp-proto-grpc", "requires_dists": [ - "deprecated>=1.2.6", - "googleapis-common-protos~=1.52", + "googleapis-common-protos~=1.57", "grpcio<2.0.0,>=1.63.2; python_version < \"3.13\"", "grpcio<2.0.0,>=1.66.2; python_version >= \"3.13\"", "opentelemetry-api~=1.15", - "opentelemetry-exporter-otlp-proto-common==1.33.1", - "opentelemetry-proto==1.33.1", - "opentelemetry-sdk~=1.33.1" + "opentelemetry-exporter-credential-provider-gcp>=0.59b0; extra == \"gcp-auth\"", + "opentelemetry-exporter-otlp-proto-common==1.39.0", + "opentelemetry-proto==1.39.0", + "opentelemetry-sdk~=1.39.0", + "typing-extensions>=4.6.0" ], - "requires_python": ">=3.8", - "version": "1.33.1" + "requires_python": ">=3.9", + "version": "1.39.0" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "a4ae45f4a90c78d7006c51524f57cd5aa1231aef031eae905ee34d5423f5b198", - "url": "https://files.pythonhosted.org/packages/f4/89/0790abc5d9c4fc74bd3e03cb87afe2c820b1d1a112a723c1163ef32453ee/opentelemetry_instrumentation-0.54b1-py3-none-any.whl" + "hash": "aaafa1483543a402819f1bdfb06af721c87d60dd109501f9997332862a35c76a", + "url": "https://files.pythonhosted.org/packages/5c/7b/5b5b9f8cfe727a28553acf9cd287b1d7f706f5c0a00d6e482df55b169483/opentelemetry_instrumentation-0.60b0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "7658bf2ff914b02f246ec14779b66671508125c0e4227361e56b5ebf6cef0aec", - "url": "https://files.pythonhosted.org/packages/c3/fd/5756aea3fdc5651b572d8aef7d94d22a0a36e49c8b12fcb78cb905ba8896/opentelemetry_instrumentation-0.54b1.tar.gz" + "hash": "4e9fec930f283a2677a2217754b40aaf9ef76edae40499c165bc7f1d15366a74", + "url": "https://files.pythonhosted.org/packages/55/3c/bd53dbb42eff93d18e3047c7be11224aa9966ce98ac4cc5bfb860a32c95a/opentelemetry_instrumentation-0.60b0.tar.gz" } ], "project_name": "opentelemetry-instrumentation", "requires_dists": [ "opentelemetry-api~=1.4", - "opentelemetry-semantic-conventions==0.54b1", + "opentelemetry-semantic-conventions==0.60b0", "packaging>=18.0", "wrapt<2.0.0,>=1.0.0" ], - "requires_python": ">=3.8", - "version": "0.54b1" + "requires_python": ">=3.9", + "version": "0.60b0" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "d9b53c04865e8a4c984c1330e4f1d5570bc28543833a4718cbe4265091ee0e71", - "url": "https://files.pythonhosted.org/packages/e5/de/07f25301d57bb83f29ee1eb5503871bddc132d4362ff9897c605e8c54c04/opentelemetry_instrumentation_aiohttp_client-0.54b1-py3-none-any.whl" + "hash": "d1a0b2cf1696c52b3b3dc019c714d44e358efbad226cc70cb51f444d7ee36c93", + "url": "https://files.pythonhosted.org/packages/de/f2/a53315a6278a25373de004fbf95a20dd5f20e1e4b98f5daf431367bb518c/opentelemetry_instrumentation_aiohttp_client-0.60b0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "c51c643a5587b9efce6c4cae0f5e2202a25fac69caa89643465f57d5d8ba3789", - "url": "https://files.pythonhosted.org/packages/04/fe/535efdb090543cb8e23149271c3ef27e37d3862865c52e2b2b58f7b5cb8d/opentelemetry_instrumentation_aiohttp_client-0.54b1.tar.gz" + "hash": "22ff1db43404bb67572628b45d99d284251621bfc80f772d05919e6233a88bf4", + "url": "https://files.pythonhosted.org/packages/fc/b1/97b2c06107b496a93f748c3d12ad439604bdccccdd2be05fe1ad63faa7df/opentelemetry_instrumentation_aiohttp_client-0.60b0.tar.gz" } ], "project_name": "opentelemetry-instrumentation-aiohttp-client", "requires_dists": [ "aiohttp~=3.0; extra == \"instruments\"", "opentelemetry-api~=1.12", - "opentelemetry-instrumentation==0.54b1", - "opentelemetry-semantic-conventions==0.54b1", - "opentelemetry-util-http==0.54b1", + "opentelemetry-instrumentation==0.60b0", + "opentelemetry-semantic-conventions==0.60b0", + "opentelemetry-util-http==0.60b0", "wrapt<2.0.0,>=1.0.0" ], - "requires_python": ">=3.8", - "version": "0.54b1" + "requires_python": ">=3.9", + "version": "0.60b0" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "535f25041576cf2433a072fcf8fd153b1a83a236efe4291959270ff2f5da3f80", - "url": "https://files.pythonhosted.org/packages/e6/af/f400820e423305ffa6e94617069257f6cb8194c828085dfe947f4ae0a77b/opentelemetry_instrumentation_aiohttp_server-0.54b1-py3-none-any.whl" + "hash": "113de91e82971805ba34bd3c12d11b9992d7f3d51dfdcdbfe1b7202c64aadbc8", + "url": "https://files.pythonhosted.org/packages/eb/45/3820224fa36f520cce6d539ac1f169a7f05a5210135b4ee01da5e99d7ace/opentelemetry_instrumentation_aiohttp_server-0.60b0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "6e4ab9379f64072b1d3b185d3e8a0113def2de5922dd1dc08ed395b81dce9886", - "url": "https://files.pythonhosted.org/packages/0a/c6/f443f7e33e03b184e958dd770208d0f215d00f9bf4c146ea64cf01fff312/opentelemetry_instrumentation_aiohttp_server-0.54b1.tar.gz" + "hash": "742189b3c8c4a947ea600b1bae58f04bd162b8677b5a68e4c000d8c5675af73a", + "url": "https://files.pythonhosted.org/packages/d7/a8/b4fac9a46f4eb9195eaedf7c0cbc2a3d7d663743bbd6b044b7dfefaf467d/opentelemetry_instrumentation_aiohttp_server-0.60b0.tar.gz" } ], "project_name": "opentelemetry-instrumentation-aiohttp-server", "requires_dists": [ "aiohttp~=3.0; extra == \"instruments\"", "opentelemetry-api~=1.12", - "opentelemetry-instrumentation==0.54b1", - "opentelemetry-semantic-conventions==0.54b1", - "opentelemetry-util-http==0.54b1", + "opentelemetry-instrumentation==0.60b0", + "opentelemetry-semantic-conventions==0.60b0", + "opentelemetry-util-http==0.60b0", "wrapt<2.0.0,>=1.0.0" ], - "requires_python": ">=3.8", - "version": "0.54b1" + "requires_python": ">=3.9", + "version": "0.60b0" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "01a4cec54348f13941707d857b850b0febf9d49f45d0fcf0673866e079d7357b", - "url": "https://files.pythonhosted.org/packages/96/0c/b441fb30d860f25040eaed61e89d68f4d9ee31873159ed18cbc1b92eba56/opentelemetry_instrumentation_logging-0.54b1-py3-none-any.whl" + "hash": "af75b3020911b9b6a1b4b19819a165eb131ce9bfdd313062d578fc2dc9a5cd0f", + "url": "https://files.pythonhosted.org/packages/00/89/6d4f5d8d03376637bff5b8d9e91356104a6f1ce9a34a2099bb2f4bf5e2b5/opentelemetry_instrumentation_logging-0.60b0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "893a3cbfda893b64ff71b81991894e2fd6a9267ba85bb6c251f51c0419fbe8fa", - "url": "https://files.pythonhosted.org/packages/d9/5b/88ed39f22e8c6eb4f6192ab9a62adaa115579fcbcadb3f0241ee645eea56/opentelemetry_instrumentation_logging-0.54b1.tar.gz" + "hash": "6d87840666669cbbcd53d2230c7a33476862d0bf7f1adc67a95519c6ccfc8281", + "url": "https://files.pythonhosted.org/packages/5b/8b/a1aed0b695a58a1f0bdcf90fae5e468cc0fd7de2b74b9816b17e45c38e43/opentelemetry_instrumentation_logging-0.60b0.tar.gz" } ], "project_name": "opentelemetry-instrumentation-logging", "requires_dists": [ "opentelemetry-api~=1.12", - "opentelemetry-instrumentation==0.54b1" + "opentelemetry-instrumentation==0.60b0" ], - "requires_python": ">=3.8", - "version": "0.54b1" + "requires_python": ">=3.9", + "version": "0.60b0" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "243d285d9f29663fc7ea91a7171fcc1ccbbfff43b48df0774fd64a37d98eda70", - "url": "https://files.pythonhosted.org/packages/c4/29/48609f4c875c2b6c80930073c82dd1cafd36b6782244c01394007b528960/opentelemetry_proto-1.33.1-py3-none-any.whl" + "hash": "1e086552ac79acb501485ff0ce75533f70f3382d43d0a30728eeee594f7bf818", + "url": "https://files.pythonhosted.org/packages/e3/4d/d500e1862beed68318705732d1976c390f4a72ca8009c4983ff627acff20/opentelemetry_proto-1.39.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "9627b0a5c90753bf3920c398908307063e4458b287bb890e5c1d6fa11ad50b68", - "url": "https://files.pythonhosted.org/packages/f6/dc/791f3d60a1ad8235930de23eea735ae1084be1c6f96fdadf38710662a7e5/opentelemetry_proto-1.33.1.tar.gz" + "hash": "c1fa48678ad1a1624258698e59be73f990b7fc1f39e73e16a9d08eef65dd838c", + "url": "https://files.pythonhosted.org/packages/48/b5/64d2f8c3393cd13ea2092106118f7b98461ba09333d40179a31444c6f176/opentelemetry_proto-1.39.0.tar.gz" } ], "project_name": "opentelemetry-proto", "requires_dists": [ - "protobuf<6.0,>=5.0" + "protobuf<7.0,>=5.0" ], - "requires_python": ">=3.8", - "version": "1.33.1" + "requires_python": ">=3.9", + "version": "1.39.0" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "19ea73d9a01be29cacaa5d6c8ce0adc0b7f7b4d58cc52f923e4413609f670112", - "url": "https://files.pythonhosted.org/packages/df/8e/ae2d0742041e0bd7fe0d2dcc5e7cce51dcf7d3961a26072d5b43cc8fa2a7/opentelemetry_sdk-1.33.1-py3-none-any.whl" + "hash": "90cfb07600dfc0d2de26120cebc0c8f27e69bf77cd80ef96645232372709a514", + "url": "https://files.pythonhosted.org/packages/a4/b4/2adc8bc83eb1055ecb592708efb6f0c520cc2eb68970b02b0f6ecda149cf/opentelemetry_sdk-1.39.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "85b9fcf7c3d23506fbc9692fd210b8b025a1920535feec50bd54ce203d57a531", - "url": "https://files.pythonhosted.org/packages/67/12/909b98a7d9b110cce4b28d49b2e311797cffdce180371f35eba13a72dd00/opentelemetry_sdk-1.33.1.tar.gz" + "hash": "c22204f12a0529e07aa4d985f1bca9d6b0e7b29fe7f03e923548ae52e0e15dde", + "url": "https://files.pythonhosted.org/packages/51/e3/7cd989003e7cde72e0becfe830abff0df55c69d237ee7961a541e0167833/opentelemetry_sdk-1.39.0.tar.gz" } ], "project_name": "opentelemetry-sdk", "requires_dists": [ - "opentelemetry-api==1.33.1", - "opentelemetry-semantic-conventions==0.54b1", - "typing-extensions>=3.7.4" + "opentelemetry-api==1.39.0", + "opentelemetry-semantic-conventions==0.60b0", + "typing-extensions>=4.5.0" ], - "requires_python": ">=3.8", - "version": "1.33.1" + "requires_python": ">=3.9", + "version": "1.39.0" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "29dab644a7e435b58d3a3918b58c333c92686236b30f7891d5e51f02933ca60d", - "url": "https://files.pythonhosted.org/packages/0a/80/08b1698c52ff76d96ba440bf15edc2f4bc0a279868778928e947c1004bdd/opentelemetry_semantic_conventions-0.54b1-py3-none-any.whl" + "hash": "069530852691136018087b52688857d97bba61cd641d0f8628d2d92788c4f78a", + "url": "https://files.pythonhosted.org/packages/d0/56/af0306666f91bae47db14d620775604688361f0f76a872e0005277311131/opentelemetry_semantic_conventions-0.60b0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "d1cecedae15d19bdaafca1e56b29a66aa286f50b5d08f036a145c7f3e9ef9cee", - "url": "https://files.pythonhosted.org/packages/5b/2c/d7990fc1ffc82889d466e7cd680788ace44a26789809924813b164344393/opentelemetry_semantic_conventions-0.54b1.tar.gz" + "hash": "227d7aa73cbb8a2e418029d6b6465553aa01cf7e78ec9d0bc3255c7b3ac5bf8f", + "url": "https://files.pythonhosted.org/packages/71/0e/176a7844fe4e3cb5de604212094dffaed4e18b32f1c56b5258bcbcba85c2/opentelemetry_semantic_conventions-0.60b0.tar.gz" } ], "project_name": "opentelemetry-semantic-conventions", "requires_dists": [ - "deprecated>=1.2.6", - "opentelemetry-api==1.33.1" + "opentelemetry-api==1.39.0", + "typing-extensions>=4.5.0" ], - "requires_python": ">=3.8", - "version": "0.54b1" + "requires_python": ">=3.9", + "version": "0.60b0" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "b1c91883f980344a1c3c486cffd47ae5c9c1dd7323f9cbe9fdb7cadb401c87c9", - "url": "https://files.pythonhosted.org/packages/a4/ef/c5aa08abca6894792beed4c0405e85205b35b8e73d653571c9ff13a8e34e/opentelemetry_util_http-0.54b1-py3-none-any.whl" + "hash": "4f366f1a48adb74ffa6f80aee26f96882e767e01b03cd1cfb948b6e1020341fe", + "url": "https://files.pythonhosted.org/packages/53/5d/a448862f6d10c95685ed0e703596b6bd1784074e7ad90bffdc550abb7b68/opentelemetry_util_http-0.60b0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "f0b66868c19fbaf9c9d4e11f4a7599fa15d5ea50b884967a26ccd9d72c7c9d15", - "url": "https://files.pythonhosted.org/packages/a8/9f/1d8a1d1f34b9f62f2b940b388bf07b8167a8067e70870055bd05db354e5c/opentelemetry_util_http-0.54b1.tar.gz" + "hash": "e42b7bb49bba43b6f34390327d97e5016eb1c47949ceaf37c4795472a4e3a82d", + "url": "https://files.pythonhosted.org/packages/38/0d/786a713445cf338131fef3a84fab1378e4b2ef3c3ea348eeb0c915eb804a/opentelemetry_util_http-0.60b0.tar.gz" } ], "project_name": "opentelemetry-util-http", "requires_dists": [], - "requires_python": ">=3.8", - "version": "0.54b1" + "requires_python": ">=3.9", + "version": "0.60b0" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "2d808e34ddb24fc29a4d4041dcfafbae13e129c93509b847b14432717d94b44f", - "url": "https://files.pythonhosted.org/packages/92/44/473248c3305bf782a384ed50dd8bc2d3cde1543d107138fd99b707480ca1/orjson-3.10.18-cp313-cp313-musllinux_1_2_x86_64.whl" + "hash": "bb150d529637d541e6af06bbe3d02f5498d628b7f98267ff87647584293ab439", + "url": "https://files.pythonhosted.org/packages/54/92/c6921f17d45e110892899a7a563a925b2273d929959ce2ad89e2525b885b/orjson-3.11.5-cp314-cp314-musllinux_1_2_x86_64.whl" }, { "algorithm": "sha256", - "hash": "69c34b9441b863175cc6a01f2935de994025e773f814412030f269da4f7be147", - "url": "https://files.pythonhosted.org/packages/04/f0/8aedb6574b68096f3be8f74c0b56d36fd94bcf47e6c7ed47a7bd1474aaa8/orjson-3.10.18-cp313-cp313-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl" + "hash": "82393ab47b4fe44ffd0a7659fa9cfaacc717eb617c93cde83795f14af5c2e9d5", + "url": "https://files.pythonhosted.org/packages/04/b8/333fdb27840f3bf04022d21b654a35f58e15407183aeb16f3b41aa053446/orjson-3.11.5.tar.gz" }, { "algorithm": "sha256", - "hash": "e9e86a6af31b92299b00736c89caf63816f70a4001e750bda179e15564d7a034", - "url": "https://files.pythonhosted.org/packages/13/4a/35971fd809a8896731930a80dfff0b8ff48eeb5d8b57bb4d0d525160017f/orjson-3.10.18-cp313-cp313-musllinux_1_2_aarch64.whl" + "hash": "d4be86b58e9ea262617b8ca6251a2f0d63cc132a6da4b5fcc8e0a4128782c829", + "url": "https://files.pythonhosted.org/packages/0e/87/de3223944a3e297d4707d2fe3b1ffb71437550e165eaf0ca8bbe43ccbcb1/orjson-3.11.5-cp314-cp314-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "e0da26957e77e9e55a6c2ce2e7182a36a6f6b180ab7189315cb0995ec362e049", - "url": "https://files.pythonhosted.org/packages/1e/ae/cd10883c48d912d216d541eb3db8b2433415fde67f620afe6f311f5cd2ca/orjson-3.10.18-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl" + "hash": "9df95000fbe6777bf9820ae82ab7578e8662051bb5f83d71a28992f539d2cda7", + "url": "https://files.pythonhosted.org/packages/25/d4/e96824476d361ee2edd5c6290ceb8d7edf88d81148a6ce172fc00278ca7f/orjson-3.11.5-cp314-cp314-manylinux_2_17_i686.manylinux2014_i686.whl" }, { "algorithm": "sha256", - "hash": "7592bb48a214e18cd670974f289520f12b7aed1fa0b2e2616b8ed9e069e08595", - "url": "https://files.pythonhosted.org/packages/2b/6d/f226ecfef31a1f0e7d6bf9a31a0bbaf384c7cbe3fce49cc9c2acc51f902a/orjson-3.10.18-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" + "hash": "82cd00d49d6063d2b8791da5d4f9d20539c5951f965e45ccf4e96d33505ce68f", + "url": "https://files.pythonhosted.org/packages/30/94/9eabf94f2e11c671111139edf5ec410d2f21e6feee717804f7e8872d883f/orjson-3.11.5-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" }, { "algorithm": "sha256", - "hash": "8e4b2ae732431127171b875cb2668f883e1234711d3c147ffd69fe5be51a8012", - "url": "https://files.pythonhosted.org/packages/32/cb/990a0e88498babddb74fb97855ae4fbd22a82960e9b06eab5775cac435da/orjson-3.10.18-cp313-cp313-musllinux_1_2_i686.whl" + "hash": "3fd15f9fc8c203aeceff4fda211157fad114dde66e92e24097b3647a08f4ee9e", + "url": "https://files.pythonhosted.org/packages/3d/c8/ca10f5c5322f341ea9a9f1097e140be17a88f88d1cfdd29df522970d9744/orjson-3.11.5-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" }, { "algorithm": "sha256", - "hash": "0315317601149c244cb3ecef246ef5861a64824ccbcb8018d32c66a60a84ffbc", - "url": "https://files.pythonhosted.org/packages/69/cb/a4d37a30507b7a59bdc484e4a3253c8141bf756d4e13fcc1da760a0b00cb/orjson-3.10.18-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" + "hash": "fa1863e75b92891f553b7922ce4ee10ed06db061e104f2b7815de80cdcb135ad", + "url": "https://files.pythonhosted.org/packages/51/30/cc2d69d5ce0ad9b84811cdf4a0cd5362ac27205a921da524ff42f26d65e0/orjson-3.11.5-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" }, { "algorithm": "sha256", - "hash": "bb70d489bc79b7519e5803e2cc4c72343c9dc1154258adf2f8925d0b60da7c58", - "url": "https://files.pythonhosted.org/packages/6d/4c/2bda09855c6b5f2c055034c9eda1529967b042ff8d81a05005115c4e6772/orjson-3.10.18-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + "hash": "b923c1c13fa02084eb38c9c065afd860a5cff58026813319a06949c3af5732ac", + "url": "https://files.pythonhosted.org/packages/65/30/81d5087ae74be33bcae3ff2d80f5ccaa4a8fedc6d39bf65a427a95b8977f/orjson-3.11.5-cp314-cp314-musllinux_1_2_armv7l.whl" }, { "algorithm": "sha256", - "hash": "f872bef9f042734110642b7a11937440797ace8c87527de25e0c53558b579ccc", - "url": "https://files.pythonhosted.org/packages/73/2d/371513d04143c85b681cf8f3bce743656eb5b640cb1f461dad750ac4b4d4/orjson-3.10.18-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl" + "hash": "92a8d676748fca47ade5bc3da7430ed7767afe51b2f8100e3cd65e151c0eaceb", + "url": "https://files.pythonhosted.org/packages/85/8e/9bc3423308c425c588903f2d103cfcfe2539e07a25d6522900645a6f257f/orjson-3.11.5-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "e8da3947d92123eda795b68228cafe2724815621fe35e8e320a9e9593a4bcd53", - "url": "https://files.pythonhosted.org/packages/81/0b/fea456a3ffe74e70ba30e01ec183a9b26bec4d497f61dcfce1b601059c60/orjson-3.10.18.tar.gz" + "hash": "e446a8ea0a4c366ceafc7d97067bfd55292969143b57e3c846d87fc701e797a0", + "url": "https://files.pythonhosted.org/packages/c2/60/77d7b839e317ead7bb225d55bb50f7ea75f47afc489c81199befc5435b50/orjson-3.11.5-cp314-cp314-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl" }, { "algorithm": "sha256", - "hash": "c382a5c0b5931a5fc5405053d36c1ce3fd561694738626c77ae0b1dfc0242ca1", - "url": "https://files.pythonhosted.org/packages/99/70/0fa9e6310cda98365629182486ff37a1c6578e34c33992df271a476ea1cd/orjson-3.10.18-cp313-cp313-musllinux_1_2_armv7l.whl" + "hash": "1b6bd351202b2cd987f35a13b5e16471cf4d952b42a73c391cc537974c43ef6d", + "url": "https://files.pythonhosted.org/packages/d0/6f/f6058c21e2fc1efaf918986dbc2da5cd38044f1a2d4b7b91ad17c4acf786/orjson-3.11.5-cp314-cp314-musllinux_1_2_i686.whl" }, { "algorithm": "sha256", - "hash": "1ebeda919725f9dbdb269f59bc94f861afbe2a27dce5608cdba2d92772364d1c", - "url": "https://files.pythonhosted.org/packages/bc/f7/7118f965541aeac6844fcb18d6988e111ac0d349c9b80cda53583e758908/orjson-3.10.18-cp313-cp313-macosx_15_0_arm64.whl" + "hash": "aa0f513be38b40234c77975e68805506cad5d57b3dfd8fe3baa7f4f4051e15b4", + "url": "https://files.pythonhosted.org/packages/e9/3c/b404e94e0b02a232b957c54643ce68d0268dacb67ac33ffdee24008c8b27/orjson-3.11.5-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl" }, { "algorithm": "sha256", - "hash": "5adf5f4eed520a4959d29ea80192fa626ab9a20b2ea13f8f6dc58644f6927103", - "url": "https://files.pythonhosted.org/packages/fb/d9/839637cc06eaf528dd8127b36004247bf56e064501f68df9ee6fd56a88ee/orjson-3.10.18-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + "hash": "53deb5addae9c22bbe3739298f5f2196afa881ea75944e7720681c7080909a81", + "url": "https://files.pythonhosted.org/packages/f1/aa/d4639163b400f8044cef0fb9aa51b0337be0da3a27187a20d1166e742370/orjson-3.11.5-cp314-cp314-macosx_15_0_arm64.whl" } ], "project_name": "orjson", "requires_dists": [], "requires_python": ">=3.9", - "version": "3.10.18" + "version": "3.11.5" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484", - "url": "https://files.pythonhosted.org/packages/20/12/38679034af332785aac8774540895e234f4d07f7545804097de4b666afd8/packaging-25.0-py3-none-any.whl" + "hash": "09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759", + "url": "https://files.pythonhosted.org/packages/88/ef/eb23f262cca3c0c4eb7ab1933c3b1f03d021f2c48f54763065b6f0e321be/packaging-24.2-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f", - "url": "https://files.pythonhosted.org/packages/a1/d4/1fc4078c65507b51b96ca8f8c3ba19e6a61c8253c72794544580a7b6c24d/packaging-25.0.tar.gz" + "hash": "c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f", + "url": "https://files.pythonhosted.org/packages/d0/63/68dbb6eb2de9cb10ee4c9c14a0148804425e13c4fb20d61cce69f53106da/packaging-24.2.tar.gz" } ], "project_name": "packaging", "requires_dists": [], "requires_python": ">=3.8", - "version": "25.0" + "version": "24.2" }, { "artifacts": [ @@ -4350,13 +4704,13 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "e578a81bb873cbb89a41fcc904c7ef523cc18284b7e3b3ccf06aca1403b7ebd3", - "url": "https://files.pythonhosted.org/packages/73/cb/ac7874b3e5d58441674fb70742e6c374b28b0c7cb988d37d991cde47166c/platformdirs-4.5.0-py3-none-any.whl" + "hash": "d03afa3963c806a9bed9d5125c8f4cb2fdaf74a55ab60e5d59b3fde758104d31", + "url": "https://files.pythonhosted.org/packages/cb/28/3bfe2fa5a7b9c46fe7e13c97bda14c895fb10fa2ebf1d0abb90e0cea7ee1/platformdirs-4.5.1-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "70ddccdd7c99fc5942e9fc25636a8b34d04c24b335100223152c2803e4063312", - "url": "https://files.pythonhosted.org/packages/61/33/9611380c2bdb1225fdef633e2a9610622310fed35ab11dac9620972ee088/platformdirs-4.5.0.tar.gz" + "hash": "61d5cdcc6065745cdd94f0f878977f8de9437be93de97c1c12f853c9c0cdcbda", + "url": "https://files.pythonhosted.org/packages/cf/86/0248f086a84f01b37aaec0fa567b397df1a119f73c16f6c7a9aac73ea309/platformdirs-4.5.1.tar.gz" } ], "project_name": "platformdirs", @@ -4373,7 +4727,7 @@ "sphinx>=8.2.3; extra == \"docs\"" ], "requires_python": ">=3.10", - "version": "4.5.0" + "version": "4.5.1" }, { "artifacts": [ @@ -4448,128 +4802,128 @@ }, { "algorithm": "sha256", - "hash": "a78372c932c90ee474559c5ddfffd718238e8673c340dc21fe45c5b8b54559a0", - "url": "https://files.pythonhosted.org/packages/07/0c/01f2219d39f7e53d52e5173bcb09c976609ba30209912a0680adfb8c593a/propcache-0.4.1-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" + "hash": "6f6ff873ed40292cd4969ef5310179afd5db59fdf055897e282485043fc80ad0", + "url": "https://files.pythonhosted.org/packages/01/20/b0972d902472da9bcb683fa595099911f4d2e86e5683bcc45de60dd05dc3/propcache-0.4.1-cp314-cp314t-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "473c61b39e1460d386479b9b2f337da492042447c9b685f28be4f74d3529e566", - "url": "https://files.pythonhosted.org/packages/25/9c/442a45a470a68456e710d96cacd3573ef26a1d0a60067e6a7d5e655621ed/propcache-0.4.1-cp313-cp313t-macosx_10_13_x86_64.whl" + "hash": "8e57061305815dfc910a3634dcf584f08168a8836e6999983569f51a8544cd89", + "url": "https://files.pythonhosted.org/packages/0c/b1/8f08a143b204b418285c88b83d00edbd61afbc2c6415ffafc8905da7038b/propcache-0.4.1-cp314-cp314t-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "e35b88984e7fa64aacecea39236cee32dd9bd8c55f57ba8a75cf2399553f9bd7", - "url": "https://files.pythonhosted.org/packages/2a/42/26746ab087faa77c1c68079b228810436ccd9a5ce9ac85e2b7307195fd06/propcache-0.4.1-cp313-cp313t-musllinux_1_2_s390x.whl" + "hash": "120c964da3fdc75e3731aa392527136d4ad35868cc556fd09bb6d09172d9a367", + "url": "https://files.pythonhosted.org/packages/18/ed/e7a9cfca28133386ba52278136d42209d3125db08d0a6395f0cba0c0285c/propcache-0.4.1-cp314-cp314t-musllinux_1_2_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "564d9f0d4d9509e1a870c920a89b2fec951b44bf5ba7d537a9e7c1ccec2c18af", - "url": "https://files.pythonhosted.org/packages/2d/18/cd28081658ce597898f0c4d174d4d0f3c5b6d4dc27ffafeef835c95eb359/propcache-0.4.1-cp313-cp313t-musllinux_1_2_aarch64.whl" + "hash": "005f08e6a0529984491e37d8dbc3dd86f84bd78a8ceb5fa9a021f4c48d4984be", + "url": "https://files.pythonhosted.org/packages/20/67/89800c8352489b21a8047c773067644e3897f02ecbbd610f4d46b7f08612/propcache-0.4.1-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "333ddb9031d2704a301ee3e506dc46b1fe5f294ec198ed6435ad5b6a085facfe", - "url": "https://files.pythonhosted.org/packages/2d/48/c5ac64dee5262044348d1d78a5f85dd1a57464a60d30daee946699963eb3/propcache-0.4.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" + "hash": "060b16ae65bc098da7f6d25bf359f1f31f688384858204fe5d652979e0015e5b", + "url": "https://files.pythonhosted.org/packages/27/73/033d63069b57b0812c8bd19f311faebeceb6ba31b8f32b73432d12a0b826/propcache-0.4.1-cp314-cp314-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "678ae89ebc632c5c204c794f8dab2837c5f159aeb59e6ed0539500400577298c", - "url": "https://files.pythonhosted.org/packages/30/3e/49861e90233ba36890ae0ca4c660e95df565b2cd15d4a68556ab5865974e/propcache-0.4.1-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" + "hash": "4c3c70630930447f9ef1caac7728c8ad1c56bc5015338b20fed0d08ea2480b3a", + "url": "https://files.pythonhosted.org/packages/48/c8/33cee30bd890672c63743049f3c9e4be087e6780906bfc3ec58528be59c1/propcache-0.4.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" }, { "algorithm": "sha256", - "hash": "af223b406d6d000830c6f65f1e6431783fc3f713ba3e6cc8c024d5ee96170a4b", - "url": "https://files.pythonhosted.org/packages/36/1d/fc272a63c8d3bbad6878c336c7a7dea15e8f2d23a544bda43205dfa83ada/propcache-0.4.1-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" + "hash": "c0d4b719b7da33599dfe3b22d3db1ef789210a0597bc650b7cee9c77c2be8c5c", + "url": "https://files.pythonhosted.org/packages/65/9b/03b04e7d82a5f54fb16113d839f5ea1ede58a61e90edf515f6577c66fa8f/propcache-0.4.1-cp314-cp314-macosx_10_13_x86_64.whl" }, { "algorithm": "sha256", - "hash": "ee17f18d2498f2673e432faaa71698032b0127ebf23ae5974eeaf806c279df24", - "url": "https://files.pythonhosted.org/packages/3e/ec/d8a7cd406ee1ddb705db2139f8a10a8a427100347bd698e7014351c7af09/propcache-0.4.1-cp313-cp313-musllinux_1_2_armv7l.whl" + "hash": "55c72fd6ea2da4c318e74ffdf93c4fe4e926051133657459131a95c846d16d44", + "url": "https://files.pythonhosted.org/packages/80/1e/e5889652a7c4a3846683401a48f0f2e5083ce0ec1a8a5221d8058fbd1adf/propcache-0.4.1-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" }, { "algorithm": "sha256", - "hash": "41a89040cb10bd345b3c1a873b2bf36413d48da1def52f268a055f7398514874", - "url": "https://files.pythonhosted.org/packages/4a/65/3d4b61f36af2b4eddba9def857959f1016a51066b4f1ce348e0cf7881f58/propcache-0.4.1-cp313-cp313t-musllinux_1_2_ppc64le.whl" + "hash": "c80ee5802e3fb9ea37938e7eecc307fb984837091d5fd262bb37238b1ae97641", + "url": "https://files.pythonhosted.org/packages/86/bd/47816020d337f4a746edc42fe8d53669965138f39ee117414c7d7a340cfe/propcache-0.4.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" }, { "algorithm": "sha256", - "hash": "4d3df5fa7e36b3225954fba85589da77a0fe6a53e3976de39caf04a0db4c36f1", - "url": "https://files.pythonhosted.org/packages/50/a6/4282772fd016a76d3e5c0df58380a5ea64900afd836cec2c2f662d1b9bb3/propcache-0.4.1-cp313-cp313-musllinux_1_2_aarch64.whl" + "hash": "3f7124c9d820ba5548d431afb4632301acf965db49e666aa21c305cbe8c6de12", + "url": "https://files.pythonhosted.org/packages/8e/5c/bca52d654a896f831b8256683457ceddd490ec18d9ec50e97dfd8fc726a8/propcache-0.4.1-cp314-cp314-macosx_10_13_universal2.whl" }, { "algorithm": "sha256", - "hash": "17612831fda0138059cc5546f4d12a2aacfb9e47068c06af35c400ba58ba7393", - "url": "https://files.pythonhosted.org/packages/7a/71/1f9e22eb8b8316701c2a19fa1f388c8a3185082607da8e406a803c9b954e/propcache-0.4.1-cp313-cp313t-musllinux_1_2_armv7l.whl" + "hash": "c2b5e7db5328427c57c8e8831abda175421b709672f6cfc3d630c3b7e2146393", + "url": "https://files.pythonhosted.org/packages/90/85/2431c10c8e7ddb1445c1f7c4b54d886e8ad20e3c6307e7218f05922cad67/propcache-0.4.1-cp314-cp314t-macosx_10_13_x86_64.whl" }, { "algorithm": "sha256", - "hash": "92d1935ee1f8d7442da9c0c4fa7ac20d07e94064184811b685f5c4fada64553b", - "url": "https://files.pythonhosted.org/packages/83/ce/a31bbdfc24ee0dcbba458c8175ed26089cf109a55bbe7b7640ed2470cfe9/propcache-0.4.1-cp313-cp313t-macosx_10_13_universal2.whl" + "hash": "824e908bce90fb2743bd6b59db36eb4f45cd350a39637c9f73b1c1ea66f5b75f", + "url": "https://files.pythonhosted.org/packages/99/85/9ff785d787ccf9bbb3f3106f79884a130951436f58392000231b4c737c80/propcache-0.4.1-cp314-cp314t-macosx_10_13_universal2.whl" }, { "algorithm": "sha256", - "hash": "cae65ad55793da34db5f54e4029b89d3b9b9490d8abe1b4c7ab5d4b8ec7ebf74", - "url": "https://files.pythonhosted.org/packages/89/a4/92380f7ca60f99ebae761936bc48a72a639e8a47b29050615eef757cb2a7/propcache-0.4.1-cp313-cp313-macosx_11_0_arm64.whl" + "hash": "f48107a8c637e80362555f37ecf49abe20370e557cc4ab374f04ec4423c97c3d", + "url": "https://files.pythonhosted.org/packages/9e/da/e9fc233cf63743258bff22b3dfa7ea5baef7b5bc324af47a0ad89b8ffc6f/propcache-0.4.1.tar.gz" }, { "algorithm": "sha256", - "hash": "d62cdfcfd89ccb8de04e0eda998535c406bf5e060ffd56be6c586cbcc05b3311", - "url": "https://files.pythonhosted.org/packages/8b/e8/677a0025e8a2acf07d3418a2e7ba529c9c33caf09d3c1f25513023c1db56/propcache-0.4.1-cp313-cp313-macosx_10_13_x86_64.whl" + "hash": "c9b822a577f560fbd9554812526831712c1436d2c046cedee4c3796d3543b144", + "url": "https://files.pythonhosted.org/packages/a0/87/492694f76759b15f0467a2a93ab68d32859672b646aa8a04ce4864e7932d/propcache-0.4.1-cp314-cp314-musllinux_1_2_x86_64.whl" }, { "algorithm": "sha256", - "hash": "6f8b465489f927b0df505cbe26ffbeed4d6d8a2bbc61ce90eb074ff129ef0ab1", - "url": "https://files.pythonhosted.org/packages/94/13/630690fe201f5502d2403dd3cfd451ed8858fe3c738ee88d095ad2ff407b/propcache-0.4.1-cp313-cp313t-musllinux_1_2_x86_64.whl" + "hash": "dee69d7015dc235f526fe80a9c90d65eb0039103fe565776250881731f06349f", + "url": "https://files.pythonhosted.org/packages/a9/24/ef0d5fd1a811fb5c609278d0209c9f10c35f20581fcc16f818da959fc5b4/propcache-0.4.1-cp314-cp314-musllinux_1_2_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "f48107a8c637e80362555f37ecf49abe20370e557cc4ab374f04ec4423c97c3d", - "url": "https://files.pythonhosted.org/packages/9e/da/e9fc233cf63743258bff22b3dfa7ea5baef7b5bc324af47a0ad89b8ffc6f/propcache-0.4.1.tar.gz" + "hash": "8326e144341460402713f91df60ade3c999d601e7eb5ff8f6f7862d54de0610d", + "url": "https://files.pythonhosted.org/packages/b2/f2/889ad4b2408f72fe1a4f6a19491177b30ea7bf1a0fd5f17050ca08cfc882/propcache-0.4.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" }, { "algorithm": "sha256", - "hash": "c07fda85708bc48578467e85099645167a955ba093be0a2dcba962195676e859", - "url": "https://files.pythonhosted.org/packages/b4/c1/86f846827fb969c4b78b0af79bba1d1ea2156492e1b83dea8b8a6ae27395/propcache-0.4.1-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" + "hash": "9f302f4783709a78240ebc311b793f123328716a60911d667e0c036bc5dcbded", + "url": "https://files.pythonhosted.org/packages/b2/fa/89a8ef0468d5833a23fff277b143d0573897cf75bd56670a6d28126c7d68/propcache-0.4.1-cp314-cp314-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "43eedf29202c08550aac1d14e0ee619b0430aaef78f85864c1a892294fbc28cf", - "url": "https://files.pythonhosted.org/packages/bf/df/6d9c1b6ac12b003837dde8a10231a7344512186e87b36e855bef32241942/propcache-0.4.1-cp313-cp313-macosx_10_13_universal2.whl" + "hash": "521a463429ef54143092c11a77e04056dd00636f72e8c45b70aaa3140d639726", + "url": "https://files.pythonhosted.org/packages/cf/12/96e4664c82ca2f31e1c8dff86afb867348979eb78d3cb8546a680287a1e9/propcache-0.4.1-cp314-cp314t-musllinux_1_2_armv7l.whl" }, { "algorithm": "sha256", - "hash": "fd0858c20f078a32cf55f7e81473d96dcf3b93fd2ccdb3d40fdf54b8573df3af", - "url": "https://files.pythonhosted.org/packages/c6/0c/cd762dd011a9287389a6a3eb43aa30207bde253610cca06824aeabfe9653/propcache-0.4.1-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" + "hash": "89eb3fa9524f7bec9de6e83cf3faed9d79bffa560672c118a96a171a6f55831e", + "url": "https://files.pythonhosted.org/packages/dc/89/ce24f3dc182630b4e07aa6d15f0ff4b14ed4b9955fae95a0b54c58d66c05/propcache-0.4.1-cp314-cp314-musllinux_1_2_armv7l.whl" }, { "algorithm": "sha256", - "hash": "501d20b891688eb8e7aa903021f0b72d5a55db40ffaab27edefd1027caaafa61", - "url": "https://files.pythonhosted.org/packages/d6/e3/fa846bd70f6534d647886621388f0a265254d30e3ce47e5c8e6e27dbf153/propcache-0.4.1-cp313-cp313-musllinux_1_2_s390x.whl" + "hash": "ed5a841e8bb29a55fb8159ed526b26adc5bdd7e8bd7bf793ce647cb08656cdf4", + "url": "https://files.pythonhosted.org/packages/df/f6/c5fa1357cc9748510ee55f37173eb31bfde6d94e98ccd9e6f033f2fc06e1/propcache-0.4.1-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "9a0bd56e5b100aef69bd8562b74b46254e7c8812918d3baa700c8a8009b0af66", - "url": "https://files.pythonhosted.org/packages/e2/39/8163fc6f3133fea7b5f2827e8eba2029a0277ab2c5beee6c1db7b10fc23d/propcache-0.4.1-cp313-cp313-musllinux_1_2_x86_64.whl" + "hash": "5c3310452e0d31390da9035c348633b43d7e7feb2e37be252be6da45abd1abcc", + "url": "https://files.pythonhosted.org/packages/e2/a1/b52b055c766a54ce6d9c16d9aca0cad8059acd9637cdf8aa0222f4a026ef/propcache-0.4.1-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" }, { "algorithm": "sha256", - "hash": "d472aeb4fbf9865e0c6d622d7f4d54a4e101a89715d8904282bb5f9a2f476c3f", - "url": "https://files.pythonhosted.org/packages/f1/8b/544bc867e24e1bd48f3118cecd3b05c694e160a168478fa28770f22fd094/propcache-0.4.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" + "hash": "49a2dc67c154db2c1463013594c458881a069fcf98940e61a0569016a583020a", + "url": "https://files.pythonhosted.org/packages/e2/e3/7dc89f4f21e8f99bad3d5ddb3a3389afcf9da4ac69e3deb2dcdc96e74169/propcache-0.4.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" }, { "algorithm": "sha256", - "hash": "f95393b4d66bfae908c3ca8d169d5f79cd65636ae15b5e7a4f6e67af675adb0e", - "url": "https://files.pythonhosted.org/packages/f4/04/5b4c54a103d480e978d3c8a76073502b18db0c4bc17ab91b3cb5092ad949/propcache-0.4.1-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" + "hash": "ab2943be7c652f09638800905ee1bab2c544e537edb57d527997a24c13dc1455", + "url": "https://files.pythonhosted.org/packages/e7/70/c99e9edb5d91d5ad8a49fa3c1e8285ba64f1476782fed10ab251ff413ba1/propcache-0.4.1-cp314-cp314t-musllinux_1_2_x86_64.whl" }, { "algorithm": "sha256", - "hash": "c0ef0aaafc66fbd87842a3fe3902fd889825646bc21149eafe47be6072725835", - "url": "https://files.pythonhosted.org/packages/f4/bf/b1d5e21dbc3b2e889ea4327044fb16312a736d97640fb8b6aa3f9c7b3b65/propcache-0.4.1-cp313-cp313t-macosx_11_0_arm64.whl" + "hash": "5558992a00dfd54ccbc64a32726a3357ec93825a418a401f5cc67df0ac5d9e49", + "url": "https://files.pythonhosted.org/packages/f5/02/98ec20ff5546f68d673df2f7a69e8c0d076b5abd05ca882dc7ee3a83653d/propcache-0.4.1-cp314-cp314-musllinux_1_2_s390x.whl" }, { "algorithm": "sha256", - "hash": "580e97762b950f993ae618e167e7be9256b8353c2dcd8b99ec100eb50f5286aa", - "url": "https://files.pythonhosted.org/packages/f6/6c/f38ab64af3764f431e359f8baf9e0a21013e24329e8b85d2da32e8ed07ca/propcache-0.4.1-cp313-cp313-musllinux_1_2_ppc64le.whl" + "hash": "d8f353eb14ee3441ee844ade4277d560cdd68288838673273b978e3d6d2c8f36", + "url": "https://files.pythonhosted.org/packages/f5/76/16d8bf65e8845dd62b4e2b57444ab81f07f40caa5652b8969b87ddcf2ef6/propcache-0.4.1-cp314-cp314t-musllinux_1_2_s390x.whl" } ], "project_name": "propcache", @@ -4581,66 +4935,86 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "6cf42630262c59b2d8de33954443d94b746c952b01434fc58a417fdbd2e84bd5", - "url": "https://files.pythonhosted.org/packages/7e/cc/7e77861000a0691aeea8f4566e5d3aa716f2b1dece4a24439437e41d3d25/protobuf-5.29.5-py3-none-any.whl" + "hash": "7636aad9bb01768870266de5dc009de2d1b936771b38a793f73cbbf279c91c5c", + "url": "https://files.pythonhosted.org/packages/0e/15/4f02896cc3df04fc465010a4c6a0cd89810f54617a32a70ef531ed75d61c/protobuf-6.33.2-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "56dc370c91fbb8ac85bc13582c9e373569668a290aa2e66a590c2a0d35ddb9e4", + "url": "https://files.pythonhosted.org/packages/34/44/e49ecff446afeec9d1a66d6bbf9adc21e3c7cea7803a920ca3773379d4f6/protobuf-6.33.2.tar.gz" }, { "algorithm": "sha256", - "hash": "bc1463bafd4b0929216c35f437a8e28731a2b7fe3d98bb77a600efced5a15c84", - "url": "https://files.pythonhosted.org/packages/43/29/d09e70352e4e88c9c7a198d5645d7277811448d76c23b00345670f7c8a38/protobuf-5.29.5.tar.gz" + "hash": "1f8017c48c07ec5859106533b682260ba3d7c5567b1ca1f24297ce03384d1b4f", + "url": "https://files.pythonhosted.org/packages/56/13/333b8f421738f149d4fe5e49553bc2a2ab75235486259f689b4b91f96cec/protobuf-6.33.2-cp39-abi3-manylinux2014_x86_64.whl" }, { "algorithm": "sha256", - "hash": "fa18533a299d7ab6c55a238bf8629311439995f2e7eca5caaff08663606e9015", - "url": "https://files.pythonhosted.org/packages/6c/04/98f6f8cf5b07ab1294c13f34b4e69b3722bb609c5b701d6c169828f9f8aa/protobuf-5.29.5-cp38-abi3-manylinux2014_aarch64.whl" + "hash": "b5d3b5625192214066d99b2b605f5783483575656784de223f00a8d00754fc0e", + "url": "https://files.pythonhosted.org/packages/7d/4f/f743761e41d3b2b2566748eb76bbff2b43e14d5fcab694f494a16458b05f/protobuf-6.33.2-cp39-abi3-manylinux2014_aarch64.whl" }, { "algorithm": "sha256", - "hash": "63848923da3325e1bf7e9003d680ce6e14b07e55d0473253a690c3a8b8fd6e61", - "url": "https://files.pythonhosted.org/packages/85/e4/07c80521879c2d15f321465ac24c70efe2381378c00bf5e56a0f4fbac8cd/protobuf-5.29.5-cp38-abi3-manylinux2014_x86_64.whl" + "hash": "8cd7640aee0b7828b6d03ae518b5b4806fdfc1afe8de82f79c3454f8aef29872", + "url": "https://files.pythonhosted.org/packages/b1/fa/26468d00a92824020f6f2090d827078c09c9c587e34cbfd2d0c7911221f8/protobuf-6.33.2-cp39-abi3-manylinux2014_s390x.whl" }, { "algorithm": "sha256", - "hash": "e38c5add5a311f2a6eb0340716ef9b039c1dfa428b28f25a7838ac329204a671", - "url": "https://files.pythonhosted.org/packages/dd/73/10e1661c21f139f2c6ad9b23040ff36fee624310dc28fba20d33fdae124c/protobuf-5.29.5-cp38-abi3-macosx_10_9_universal2.whl" + "hash": "d9b19771ca75935b3a4422957bc518b0cecb978b31d1dd12037b088f6bcc0e43", + "url": "https://files.pythonhosted.org/packages/b2/ca/7e485da88ba45c920fb3f50ae78de29ab925d9e54ef0de678306abfbb497/protobuf-6.33.2-cp39-abi3-macosx_10_9_universal2.whl" } ], "project_name": "protobuf", "requires_dists": [], - "requires_python": ">=3.8", - "version": "5.29.5" + "requires_python": ">=3.9", + "version": "6.33.2" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "146a704f224fb2ded2be3da5ac67fc32b9ea90c45b51676f9114a6ac45616967", - "url": "https://files.pythonhosted.org/packages/dc/af/c13d360c0adc6f6218bf9e2873480393d0f729c8dd0507d171f53061c0d3/psutil-7.1.1-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + "hash": "56d974e02ca2c8eb4812c3f76c30e28836fffc311d55d979f1465c1feeb2b68b", + "url": "https://files.pythonhosted.org/packages/e0/95/992c8816a74016eb095e73585d747e0a8ea21a061ed3689474fabb29a395/psutil-7.1.3-cp36-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" }, { "algorithm": "sha256", - "hash": "92ebc58030fb054fa0f26c3206ef01c31c29d67aee1367e3483c16665c25c8d2", - "url": "https://files.pythonhosted.org/packages/3d/3c/b56076bb35303d0733fc47b110a1c9cce081a05ae2e886575a3587c1ee76/psutil-7.1.1-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + "hash": "b403da1df4d6d43973dc004d19cee3b848e998ae3154cc8097d139b77156c353", + "url": "https://files.pythonhosted.org/packages/2e/bb/6670bded3e3236eb4287c7bcdc167e9fae6e1e9286e437f7111caed2f909/psutil-7.1.3-cp314-cp314t-macosx_10_15_x86_64.whl" }, { "algorithm": "sha256", - "hash": "8fa59d7b1f01f0337f12cd10dbd76e4312a4d3c730a4fedcbdd4e5447a8b8460", - "url": "https://files.pythonhosted.org/packages/51/30/f97f8fb1f9ecfbeae4b5ca738dcae66ab28323b5cfbc96cb5565f3754056/psutil-7.1.1-cp36-abi3-macosx_10_9_x86_64.whl" + "hash": "8f33a3702e167783a9213db10ad29650ebf383946e91bc77f28a5eb083496bc9", + "url": "https://files.pythonhosted.org/packages/41/bd/313aba97cb5bfb26916dc29cf0646cbe4dd6a89ca69e8c6edce654876d39/psutil-7.1.3-cp314-cp314t-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl" }, { "algorithm": "sha256", - "hash": "2a95104eae85d088891716db676f780c1404fc15d47fde48a46a5d61e8f5ad2c", - "url": "https://files.pythonhosted.org/packages/7b/98/b8d1f61ebf35f4dbdbaabadf9208282d8adc820562f0257e5e6e79e67bf2/psutil-7.1.1-cp36-abi3-macosx_11_0_arm64.whl" + "hash": "bc31fa00f1fbc3c3802141eede66f3a2d51d89716a194bf2cd6fc68310a19880", + "url": "https://files.pythonhosted.org/packages/68/3a/9f93cff5c025029a36d9a92fef47220ab4692ee7f2be0fba9f92813d0cb8/psutil-7.1.3-cp36-abi3-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "092b6350145007389c1cfe5716050f02030a05219d90057ea867d18fe8d372fc", - "url": "https://files.pythonhosted.org/packages/89/fc/889242351a932d6183eec5df1fc6539b6f36b6a88444f1e63f18668253aa/psutil-7.1.1.tar.gz" + "hash": "ad81425efc5e75da3f39b3e636293360ad8d0b49bed7df824c79764fb4ba9b8b", + "url": "https://files.pythonhosted.org/packages/b8/66/853d50e75a38c9a7370ddbeefabdd3d3116b9c31ef94dc92c6729bc36bec/psutil-7.1.3-cp314-cp314t-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "98629cd8567acefcc45afe2f4ba1e9290f579eacf490a917967decce4b74ee9b", - "url": "https://files.pythonhosted.org/packages/f0/4a/b8015d7357fefdfe34bc4a3db48a107bae4bad0b94fb6eb0613f09a08ada/psutil-7.1.1-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl" + "hash": "fac9cd332c67f4422504297889da5ab7e05fd11e3c4392140f7370f4208ded1f", + "url": "https://files.pythonhosted.org/packages/c2/fa/76e3c06e760927a0cfb5705eb38164254de34e9bd86db656d4dbaa228b04/psutil-7.1.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "3bb428f9f05c1225a558f53e30ccbad9930b11c3fc206836242de1091d3e7dd3", + "url": "https://files.pythonhosted.org/packages/ce/b1/5f49af514f76431ba4eea935b8ad3725cdeb397e9245ab919dbc1d1dc20f/psutil-7.1.3-cp36-abi3-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "6c86281738d77335af7aec228328e944b30930899ea760ecf33a4dba66be5e74", + "url": "https://files.pythonhosted.org/packages/e1/88/bdd0a41e5857d5d703287598cbf08dad90aed56774ea52ae071bae9071b6/psutil-7.1.3.tar.gz" + }, + { + "algorithm": "sha256", + "hash": "2bdbcd0e58ca14996a42adf3621a6244f1bb2e2e528886959c72cf1e326677ab", + "url": "https://files.pythonhosted.org/packages/ef/94/46b9154a800253e7ecff5aaacdf8ebf43db99de4a2dfa18575b02548654e/psutil-7.1.3-cp36-abi3-macosx_10_9_x86_64.whl" } ], "project_name": "psutil", @@ -4648,6 +5022,7 @@ "abi3audit; extra == \"dev\"", "black; extra == \"dev\"", "check-manifest; extra == \"dev\"", + "colorama; os_name == \"nt\" and extra == \"dev\"", "coverage; extra == \"dev\"", "packaging; extra == \"dev\"", "pylint; extra == \"dev\"", @@ -4684,7 +5059,7 @@ "wmi; (os_name == \"nt\" and platform_python_implementation != \"PyPy\") and extra == \"test\"" ], "requires_python": ">=3.6", - "version": "7.1.1" + "version": "7.1.3" }, { "artifacts": [ @@ -4726,78 +5101,128 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "29253a9207ce32b64c3ac6600edc75368f98473906e8fd1043bd6b5b1de2c14a", - "url": "https://files.pythonhosted.org/packages/47/8d/d529b5d697919ba8c11ad626e835d4039be708a35b0d22de83a269a6682c/pyasn1_modules-0.4.2-py3-none-any.whl" + "hash": "29253a9207ce32b64c3ac6600edc75368f98473906e8fd1043bd6b5b1de2c14a", + "url": "https://files.pythonhosted.org/packages/47/8d/d529b5d697919ba8c11ad626e835d4039be708a35b0d22de83a269a6682c/pyasn1_modules-0.4.2-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "677091de870a80aae844b1ca6134f54652fa2c8c5a52aa396440ac3106e941e6", + "url": "https://files.pythonhosted.org/packages/e9/e6/78ebbb10a8c8e4b61a59249394a4a594c1a7af95593dc933a349c8d00964/pyasn1_modules-0.4.2.tar.gz" + } + ], + "project_name": "pyasn1-modules", + "requires_dists": [ + "pyasn1<0.7.0,>=0.6.1" + ], + "requires_python": ">=3.8", + "version": "0.4.2" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "eddf5e520bb88b23b04ac1f28f5e9a7c77c718b8b4af3a4a7a2cc4a600f34502", + "url": "https://files.pythonhosted.org/packages/b2/9b/55d50c5acd46cbe95d0da27740a83e721d89c0ce7e42bff9891a9f29a855/pycares-4.11.0-cp314-cp314t-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "ee751409322ff10709ee867d5aea1dc8431eec7f34835f0f67afd016178da134", + "url": "https://files.pythonhosted.org/packages/0b/4b/e546eeb1d8ff6559e2e3bef31a6ea0c6e57ec826191941f83a3ce900ca89/pycares-4.11.0-cp314-cp314-manylinux_2_28_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "1732db81e348bfce19c9bf9448ba660aea03042eeeea282824da1604a5bd4dcf", + "url": "https://files.pythonhosted.org/packages/0e/f5/b4572d9ee9c26de1f8d1dc80730df756276b9243a6794fa3101bbe56613d/pycares-4.11.0-cp314-cp314-musllinux_1_2_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "702d21823996f139874aba5aa9bb786d69e93bde6e3915b99832eb4e335d31ae", + "url": "https://files.pythonhosted.org/packages/17/f2/639090376198bcaeff86562b25e1bce05a481cfb1e605f82ce62285230cd/pycares-4.11.0-cp314-cp314-musllinux_1_2_ppc64le.whl" + }, + { + "algorithm": "sha256", + "hash": "df0a17f4e677d57bca3624752bbb515316522ad1ce0de07ed9d920e6c4ee5d35", + "url": "https://files.pythonhosted.org/packages/2a/70/a723bc79bdcac60361b40184b649282ac0ab433b90e9cc0975370c2ff9c9/pycares-4.11.0-cp314-cp314-macosx_10_13_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "719f7ddff024fdacde97b926b4b26d0cc25901d5ef68bb994a581c420069936d", + "url": "https://files.pythonhosted.org/packages/32/6b/06054d977b0a9643821043b59f523f3db5e7684c4b1b4f5821994d5fa780/pycares-4.11.0-cp314-cp314-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "29daa36548c04cdcd1a78ae187a4b7b003f0b357a2f4f1f98f9863373eedc759", + "url": "https://files.pythonhosted.org/packages/33/38/49b77b9cf5dffc0b1fdd86656975c3bc1a58b79bdc883a9ef749b17a013c/pycares-4.11.0-cp314-cp314t-manylinux_2_28_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "386da2581db4ea2832629e275c061103b0be32f9391c5dfaea7f6040951950ad", + "url": "https://files.pythonhosted.org/packages/33/a2/7b9121c71cfe06a8474e221593f83a78176fae3b79e5853d2dfd13ab01cc/pycares-4.11.0-cp314-cp314t-musllinux_1_2_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "677091de870a80aae844b1ca6134f54652fa2c8c5a52aa396440ac3106e941e6", - "url": "https://files.pythonhosted.org/packages/e9/e6/78ebbb10a8c8e4b61a59249394a4a594c1a7af95593dc933a349c8d00964/pyasn1_modules-0.4.2.tar.gz" - } - ], - "project_name": "pyasn1-modules", - "requires_dists": [ - "pyasn1<0.7.0,>=0.6.1" - ], - "requires_python": ">=3.8", - "version": "0.4.2" - }, - { - "artifacts": [ + "hash": "218619b912cef7c64a339ab0e231daea10c994a05699740714dff8c428b9694a", + "url": "https://files.pythonhosted.org/packages/3a/c4/cf40773cd9c36a12cebbe1e9b6fb120f9160dc9bfe0398d81a20b6c69972/pycares-4.11.0-cp314-cp314-musllinux_1_2_s390x.whl" + }, { "algorithm": "sha256", - "hash": "a98fac4a3d4f780817016b6f00a8a2c2f41df5d25dfa8e5b1aa0d783645a6566", - "url": "https://files.pythonhosted.org/packages/55/2a/eafb235c371979e11f8998d686cbaa91df6a84a34ffe4d997dfe57c45445/pycares-4.11.0-cp313-cp313-musllinux_1_2_x86_64.whl" + "hash": "cf306f3951740d7bed36149a6d8d656a7d5432dd4bbc6af3bb6554361fc87401", + "url": "https://files.pythonhosted.org/packages/3c/23/f6d57bfb99d00a6a7363f95c8d3a930fe82a868d9de24c64c8048d66f16a/pycares-4.11.0-cp314-cp314t-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "bac55842047567ddae177fb8189b89a60633ac956d5d37260f7f71b517fd8b87", - "url": "https://files.pythonhosted.org/packages/63/11/731b565ae1e81c43dac247a248ee204628186f6df97c9927bd06c62237f8/pycares-4.11.0-cp313-cp313-manylinux_2_28_aarch64.whl" + "hash": "31b85ad00422b38f426e5733a71dfb7ee7eb65a99ea328c508d4f552b1760dc8", + "url": "https://files.pythonhosted.org/packages/3c/c8/516901e46a1a73b3a75e87a35f3a3a4fe085f1214f37d954c9d7e782bd6d/pycares-4.11.0-cp314-cp314t-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "c863d9003ca0ce7df26429007859afd2a621d3276ed9fef154a9123db9252557", - "url": "https://files.pythonhosted.org/packages/8d/ad/9d1e96486d2eb5a2672c4d9a2dd372d015b8d7a332c6ac2722c4c8e6bbbf/pycares-4.11.0.tar.gz" + "hash": "c9d839b5700542b27c1a0d359cbfad6496341e7c819c7fea63db9588857065ed", + "url": "https://files.pythonhosted.org/packages/54/fe/2f3558d298ff8db31d5c83369001ab72af3b86a0374d9b0d40dc63314187/pycares-4.11.0-cp314-cp314t-macosx_10_13_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "45d3254a694459fdb0640ef08724ca9d4b4f6ff6d7161c9b526d7d2e2111379e", + "url": "https://files.pythonhosted.org/packages/5b/07/dfe76807f637d8b80e1a59dfc4a1bceabdd0205a45b2ebf78b415ae72af3/pycares-4.11.0-cp314-cp314t-musllinux_1_2_s390x.whl" }, { "algorithm": "sha256", - "hash": "3ef1ab7abbd238bb2dbbe871c3ea39f5a7fc63547c015820c1e24d0d494a1689", - "url": "https://files.pythonhosted.org/packages/91/c2/16dbc3dc33781a3c79cbdd76dd1cda808d98ba078d9a63a725d6a1fad181/pycares-4.11.0-cp313-cp313-musllinux_1_2_ppc64le.whl" + "hash": "ffb22cee640bc12ee0e654eba74ecfb59e2e0aebc5bccc3cc7ef92f487008af7", + "url": "https://files.pythonhosted.org/packages/5c/e4/1cdc3ec9c92f8069ec18c58b016b2df7c44a088e2849f37ed457554961aa/pycares-4.11.0-cp314-cp314t-manylinux_2_28_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "ea785d1f232b42b325578f0c8a2fa348192e182cc84a1e862896076a4a2ba2a7", - "url": "https://files.pythonhosted.org/packages/a9/b7/b3a5f99d4ab776662e71d5a56e8f6ea10741230ff988d1f502a8d429236b/pycares-4.11.0-cp313-cp313-manylinux_2_28_s390x.whl" + "hash": "80752133442dc7e6dd9410cec227c49f69283c038c316a8585cca05ec32c2766", + "url": "https://files.pythonhosted.org/packages/74/23/d236fc4f134d6311e4ad6445571e8285e84a3e155be36422ff20c0fbe471/pycares-4.11.0-cp314-cp314-manylinux_2_28_aarch64.whl" }, { "algorithm": "sha256", - "hash": "7830709c23bbc43fbaefbb3dde57bdd295dc86732504b9d2e65044df8fd5e9fb", - "url": "https://files.pythonhosted.org/packages/c6/fb/9266979ba59d37deee1fd74452b2ae32a7395acafe1bee510ac023c6c9a5/pycares-4.11.0-cp313-cp313-musllinux_1_2_aarch64.whl" + "hash": "c863d9003ca0ce7df26429007859afd2a621d3276ed9fef154a9123db9252557", + "url": "https://files.pythonhosted.org/packages/8d/ad/9d1e96486d2eb5a2672c4d9a2dd372d015b8d7a332c6ac2722c4c8e6bbbf/pycares-4.11.0.tar.gz" }, { "algorithm": "sha256", - "hash": "2c296ab94d1974f8d2f76c499755a9ce31ffd4986e8898ef19b90e32525f7d84", - "url": "https://files.pythonhosted.org/packages/dc/a9/62fea7ad72ac1fed2ac9dd8e9a7379b7eb0288bf2b3ea5731642c3a6f7de/pycares-4.11.0-cp313-cp313-macosx_10_13_x86_64.whl" + "hash": "00538826d2eaf4a0e4becb0753b0ac8d652334603c445c9566c9eb273657eb4c", + "url": "https://files.pythonhosted.org/packages/9c/d5/bd8f370b97bb73e5bdd55dc2a78e18d6f49181cf77e88af0599d16f5c073/pycares-4.11.0-cp314-cp314t-manylinux_2_28_s390x.whl" }, { "algorithm": "sha256", - "hash": "aa160dc9e785212c49c12bb891e242c949758b99542946cc8e2098ef391f93b0", - "url": "https://files.pythonhosted.org/packages/ea/77/a00d962b90432993afbf3bd05da8fe42117e0d9037cd7fd428dc41094d7b/pycares-4.11.0-cp313-cp313-manylinux_2_28_x86_64.whl" + "hash": "c0eec184df42fc82e43197e073f9cc8f93b25ad2f11f230c64c2dc1c80dbc078", + "url": "https://files.pythonhosted.org/packages/a7/a9/4d7cf4d72600fd47d9518f9ce99703a3e8711fb08d2ef63d198056cdc9a9/pycares-4.11.0-cp314-cp314-manylinux_2_28_s390x.whl" }, { "algorithm": "sha256", - "hash": "e0fcd3a8bac57a0987d9b09953ba0f8703eb9dca7c77f7051d8c2ed001185be8", - "url": "https://files.pythonhosted.org/packages/f4/ac/0317d6d0d3bd7599c53b8f1db09ad04260647d2f6842018e322584791fd5/pycares-4.11.0-cp313-cp313-macosx_11_0_arm64.whl" + "hash": "cdac992206756b024b371760c55719eb5cd9d6b2cb25a8d5a04ae1b0ff426232", + "url": "https://files.pythonhosted.org/packages/ac/99/c3fba0aa575f331ebed91f87ba960ffbe0849211cdf103ab275bc0107ac6/pycares-4.11.0-cp314-cp314t-manylinux_2_28_aarch64.whl" }, { "algorithm": "sha256", - "hash": "4da2e805ed8c789b9444ef4053f6ef8040cd13b0c1ca6d3c4fe6f9369c458cb4", - "url": "https://files.pythonhosted.org/packages/f5/30/a2631fe2ffaa85475cdbff7df1d9376bc0b2a6ae77ca55d53233c937a5da/pycares-4.11.0-cp313-cp313-manylinux_2_28_ppc64le.whl" + "hash": "3b44e54cad31d3c3be5e8149ac36bc1c163ec86e0664293402f6f846fb22ad00", + "url": "https://files.pythonhosted.org/packages/d5/4e/46311ef5a384b5f0bb206851135dde8f86b3def38fdbee9e3c03475d35ae/pycares-4.11.0-cp314-cp314-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "a4060d8556c908660512d42df1f4a874e4e91b81f79e3a9090afedc7690ea5ba", - "url": "https://files.pythonhosted.org/packages/ff/75/f003905e55298a6dd5e0673a2dc11e31518a5141393b925dc05fcaba9fb4/pycares-4.11.0-cp313-cp313-musllinux_1_2_s390x.whl" + "hash": "84b0b402dd333403fdce0e204aef1ef834d839c439c0c1aa143dc7d1237bb197", + "url": "https://files.pythonhosted.org/packages/f7/92/6edd41282b3f0e3d9defaba7b05c39730d51c37c165d9d3b319349c975aa/pycares-4.11.0-cp314-cp314-manylinux_2_28_ppc64le.whl" } ], "project_name": "pycares", @@ -4834,11 +5259,6 @@ "hash": "dea827b4d55ee390dc89b2afe5927d4308a8b538ae91d9c6f7a5090f397af1aa", "url": "https://files.pythonhosted.org/packages/22/82/6edc3fc42fe9284aead511394bac167693fb2b0e0395b28b8bedaa07ef04/pycryptodome-3.23.0-cp37-abi3-musllinux_1_2_x86_64.whl" }, - { - "algorithm": "sha256", - "hash": "0011f7f00cdb74879142011f95133274741778abba114ceca229adbf8e62c3e4", - "url": "https://files.pythonhosted.org/packages/04/5d/bdb09489b63cd34a976cc9e2a8d938114f7a53a74d3dd4f125ffa49dce82/pycryptodome-3.23.0-cp313-cp313t-macosx_10_13_universal2.whl" - }, { "algorithm": "sha256", "hash": "53ecbafc2b55353edcebd64bf5da94a2a2cdf5090a6915bcca6eca6cc452585a", @@ -4849,16 +5269,6 @@ "hash": "67bd81fcbe34f43ad9422ee8fd4843c8e7198dd88dd3d40e6de42ee65fbe1490", "url": "https://files.pythonhosted.org/packages/50/52/adaf4c8c100a8c49d2bd058e5b551f73dfd8cb89eb4911e25a0c469b6b4e/pycryptodome-3.23.0-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" }, - { - "algorithm": "sha256", - "hash": "eb8f24adb74984aa0e5d07a2368ad95276cf38051fe2dc6605cbcf482e04f2a7", - "url": "https://files.pythonhosted.org/packages/54/16/0e11882deddf00f68b68dd4e8e442ddc30641f31afeb2bc25588124ac8de/pycryptodome-3.23.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "763d1d74f56f031788e5d307029caef067febf890cd1f8bf61183ae142f1a77b", - "url": "https://files.pythonhosted.org/packages/5a/6f/3af2ffedd5cfa08c631f89452c6648c4d779e7772dfc388c77c920ca6bbf/pycryptodome-3.23.0-cp313-cp313t-musllinux_1_2_i686.whl" - }, { "algorithm": "sha256", "hash": "c8987bd3307a39bc03df5c8e0e3d8be0c4c3518b7f044b0f4c15d1aa78f52575", @@ -4869,46 +5279,21 @@ "hash": "cfb5cd445280c5b0a4e6187a7ce8de5a07b5f3f897f235caa11f1f435f182843", "url": "https://files.pythonhosted.org/packages/6e/4e/a066527e079fc5002390c8acdd3aca431e6ea0a50ffd7201551175b47323/pycryptodome-3.23.0-cp37-abi3-macosx_10_9_x86_64.whl" }, - { - "algorithm": "sha256", - "hash": "9a53a4fe5cb075075d515797d6ce2f56772ea7e6a1e5e4b96cf78a14bac3d265", - "url": "https://files.pythonhosted.org/packages/6e/d9/c5261780b69ce66d8cfab25d2797bd6e82ba0241804694cd48be41add5eb/pycryptodome-3.23.0-cp313-cp313t-musllinux_1_2_aarch64.whl" - }, { "algorithm": "sha256", "hash": "447700a657182d60338bab09fdb27518f8856aecd80ae4c6bdddb67ff5da44ef", "url": "https://files.pythonhosted.org/packages/8e/a6/8452177684d5e906854776276ddd34eca30d1b1e15aa1ee9cefc289a33f5/pycryptodome-3.23.0.tar.gz" }, - { - "algorithm": "sha256", - "hash": "954af0e2bd7cea83ce72243b14e4fb518b18f0c1649b576d114973e2073b273d", - "url": "https://files.pythonhosted.org/packages/9a/dc/9060d807039ee5de6e2f260f72f3d70ac213993a804f5e67e0a73a56dd2f/pycryptodome-3.23.0-cp313-cp313t-musllinux_1_2_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "90460fc9e088ce095f9ee8356722d4f10f86e5be06e2354230a9880b9c549aae", - "url": "https://files.pythonhosted.org/packages/a7/ce/7840250ed4cc0039c433cd41715536f926d6e86ce84e904068eb3244b6a6/pycryptodome-3.23.0-cp313-cp313t-macosx_10_13_x86_64.whl" - }, { "algorithm": "sha256", "hash": "156df9667ad9f2ad26255926524e1c136d6664b741547deb0a86a9acf5ea631f", "url": "https://files.pythonhosted.org/packages/ce/ea/4fdb09f2165ce1365c9eaefef36625583371ee514db58dc9b65d3a255c4c/pycryptodome-3.23.0-cp37-abi3-musllinux_1_2_i686.whl" }, - { - "algorithm": "sha256", - "hash": "d97618c9c6684a97ef7637ba43bdf6663a2e2e77efe0f863cce97a76af396446", - "url": "https://files.pythonhosted.org/packages/d5/fc/4347fea23a3f95ffb931f383ff28b3f7b1fe868739182cb76718c0da86a1/pycryptodome-3.23.0-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" - }, { "algorithm": "sha256", "hash": "187058ab80b3281b1de11c2e6842a357a1f71b42cb1e15bce373f3d238135c27", "url": "https://files.pythonhosted.org/packages/db/6c/a1f71542c969912bb0e106f64f60a56cc1f0fabecf9396f45accbe63fa68/pycryptodome-3.23.0-cp37-abi3-macosx_10_9_universal2.whl" }, - { - "algorithm": "sha256", - "hash": "4764e64b269fc83b00f682c47443c2e6e85b18273712b98aa43bcb77f8570477", - "url": "https://files.pythonhosted.org/packages/ee/f0/991da24c55c1f688d6a3b5a11940567353f74590734ee4a64294834ae472/pycryptodome-3.23.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" - }, { "algorithm": "sha256", "hash": "aa0698f65e5b570426fc31b8162ed4603b0c2841cbb9088e2b01641e3065915b", @@ -4924,106 +5309,151 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "802a655709d49bd004c31e865ef37da30b540786a46bfce02333e0e24b5fe29a", - "url": "https://files.pythonhosted.org/packages/bd/1f/73c53fcbfb0b5a78f91176df41945ca466e71e9d9d836e5c522abda39ee7/pydantic-2.11.10-py3-none-any.whl" + "hash": "e561593fccf61e8a20fc46dfc2dfe075b8be7d0188df33f221ad1f0139180f9d", + "url": "https://files.pythonhosted.org/packages/5a/87/b70ad306ebb6f9b585f114d0ac2137d792b48be34d732d60e597c2f8465a/pydantic-2.12.5-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "dc280f0982fbda6c38fada4e476dc0a4f3aeaf9c6ad4c28df68a666ec3c61423", - "url": "https://files.pythonhosted.org/packages/ae/54/ecab642b3bed45f7d5f59b38443dcb36ef50f85af192e6ece103dbfe9587/pydantic-2.11.10.tar.gz" + "hash": "4d351024c75c0f085a9febbb665ce8c0c6ec5d30e903bdb6394b7ede26aebb49", + "url": "https://files.pythonhosted.org/packages/69/44/36f1a6e523abc58ae5f928898e4aca2e0ea509b5aa6f6f392a5d882be928/pydantic-2.12.5.tar.gz" } ], "project_name": "pydantic", "requires_dists": [ "annotated-types>=0.6.0", "email-validator>=2.0.0; extra == \"email\"", - "pydantic-core==2.33.2", - "typing-extensions>=4.12.2", - "typing-inspection>=0.4.0", + "pydantic-core==2.41.5", + "typing-extensions>=4.14.1", + "typing-inspection>=0.4.2", "tzdata; (python_version >= \"3.9\" and platform_system == \"Windows\") and extra == \"timezone\"" ], "requires_python": ">=3.9", - "version": "2.11.10" + "version": "2.12.5" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "95237e53bb015f67b63c91af7518a62a8660376a6a0db19b89acc77a4d6199f5", - "url": "https://files.pythonhosted.org/packages/f1/3d/847b6b1fed9f8ed3bb95a9ad04fbd0b212e832d4f0f50ff4d9ee5a9f15cf/pydantic_core-2.33.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + "hash": "2a5e06546e19f24c6a96a129142a75cee553cc018ffee48a460059b1185f4470", + "url": "https://files.pythonhosted.org/packages/d9/02/3c562f3a51afd4d88fff8dffb1771b30cfdfd79befd9883ee094f5b6c0d8/pydantic_core-2.41.5-cp314-cp314t-musllinux_1_1_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "a39455728aabd58ceabb03c90e12f71fd30fa69615760a075b9fec596456ccc3", + "url": "https://files.pythonhosted.org/packages/02/7a/f999a6dcbcd0e5660bc348a3991c8915ce6599f4f2c6ac22f01d7a10816c/pydantic_core-2.41.5-cp314-cp314t-musllinux_1_1_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "2782c870e99878c634505236d81e5443092fba820f0373997ff75f90f68cd553", + "url": "https://files.pythonhosted.org/packages/18/66/e9db17a9a763d72f03de903883c057b2592c09509ccfe468187f2a2eef29/pydantic_core-2.41.5-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl" + }, + { + "algorithm": "sha256", + "hash": "5cb1b2f9742240e4bb26b652a5aeb840aa4b417c7748b6f8387927bc6e45e40d", + "url": "https://files.pythonhosted.org/packages/20/25/92dc684dd8eb75a234bc1c764b4210cf2646479d54b47bf46061657292a8/pydantic_core-2.41.5-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" + }, + { + "algorithm": "sha256", + "hash": "25e1c2af0fce638d5f1988b686f3b3ea8cd7de5f244ca147c777769e798a9cd1", + "url": "https://files.pythonhosted.org/packages/23/04/e89c29e267b8060b40dca97bfc64a19b2a3cf99018167ea1677d96368273/pydantic_core-2.41.5-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "239edca560d05757817c13dc17c50766136d21f7cd0fac50295499ae24f90fdf", + "url": "https://files.pythonhosted.org/packages/3a/b1/6c990ac65e3b4c079a4fb9f5b05f5b013afa0f4ed6780a3dd236d2cbdc64/pydantic_core-2.41.5-cp314-cp314t-musllinux_1_1_armv7l.whl" + }, + { + "algorithm": "sha256", + "hash": "e56ba91f47764cc14f1daacd723e3e82d1a89d783f0f5afe9c364b8bb491ccdb", + "url": "https://files.pythonhosted.org/packages/3c/0d/f05e79471e889d74d3d88f5bd20d0ed189ad94c2423d81ff8d0000aab4ff/pydantic_core-2.41.5-cp314-cp314-musllinux_1_1_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "22f0fb8c1c583a3b6f24df2470833b40207e907b90c928cc8d3594b76f874375", + "url": "https://files.pythonhosted.org/packages/4c/d2/ef2074dc020dd6e109611a8be4449b98cd25e1b9b8a303c2f0fca2f2bcf7/pydantic_core-2.41.5-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "3006c3dd9ba34b0c094c544c6006cc79e87d8612999f1a5d43b769b89181f23c", + "url": "https://files.pythonhosted.org/packages/5a/f0/e5e6b99d4191da102f2b0eb9687aaa7f5bea5d9964071a84effc3e40f997/pydantic_core-2.41.5-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "72f6c8b11857a856bcfa48c86f5368439f74453563f951e473514579d44aa612", + "url": "https://files.pythonhosted.org/packages/71/48/36fb760642d568925953bcc8116455513d6e34c4beaa37544118c36aba6d/pydantic_core-2.41.5-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" }, { "algorithm": "sha256", - "hash": "c8e7af2f4e0194c22b5b37205bfb293d166a7344a5b0d0eaccebc376546d77d5", - "url": "https://files.pythonhosted.org/packages/04/8f/2551964ef045669801675f1cfc3b0d74147f4901c3ffa42be2ddb1f0efc4/pydantic_core-2.33.2-cp313-cp313-musllinux_1_1_aarch64.whl" + "hash": "08daa51ea16ad373ffd5e7606252cc32f07bc72b28284b6bc9c6df804816476e", + "url": "https://files.pythonhosted.org/packages/71/70/23b021c950c2addd24ec408e9ab05d59b035b39d97cdc1130e1bce647bb6/pydantic_core-2.41.5.tar.gz" }, { "algorithm": "sha256", - "hash": "5c92edd15cd58b3c2d34873597a1e20f13094f59cf88068adb18947df5455b4e", - "url": "https://files.pythonhosted.org/packages/26/bd/d9602777e77fc6dbb0c7db9ad356e9a985825547dce5ad1d30ee04903918/pydantic_core-2.33.2-cp313-cp313-musllinux_1_1_armv7l.whl" + "hash": "1d1d9764366c73f996edd17abb6d9d7649a7eb690006ab6adbda117717099b14", + "url": "https://files.pythonhosted.org/packages/74/1a/145646e5687e8d9a1e8d09acb278c8535ebe9e972e1f162ed338a622f193/pydantic_core-2.41.5-cp314-cp314-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "f517ca031dfc037a9c07e748cefd8d96235088b83b4f4ba8939105d20fa1dcd6", - "url": "https://files.pythonhosted.org/packages/3a/cc/5999d1eb705a6cefc31f0b4a90e9f7fc400539b1a1030529700cc1b51838/pydantic_core-2.33.2-cp313-cp313-macosx_11_0_arm64.whl" + "hash": "4819fa52133c9aa3c387b3328f25c1facc356491e6135b459f1de698ff64d869", + "url": "https://files.pythonhosted.org/packages/74/9b/0046701313c6ef08c0c1cf0e028c67c770a4e1275ca73131563c5f2a310a/pydantic_core-2.41.5-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "2b0a451c263b01acebe51895bfb0e1cc842a5c666efe06cdf13846c7418caa9a", - "url": "https://files.pythonhosted.org/packages/3b/2a/953581f343c7d11a304581156618c3f592435523dd9d79865903272c256a/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" + "hash": "506d766a8727beef16b7adaeb8ee6217c64fc813646b424d0804d67c16eddb66", + "url": "https://files.pythonhosted.org/packages/84/a3/15a82ac7bd97992a82257f777b3583d3e84bdb06ba6858f745daa2ec8a85/pydantic_core-2.41.5-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" }, { "algorithm": "sha256", - "hash": "65132b7b4a1c0beded5e057324b7e16e10910c106d43675d9bd87d4f38dde162", - "url": "https://files.pythonhosted.org/packages/42/db/0e950daa7e2230423ab342ae918a794964b053bec24ba8af013fc7c94846/pydantic_core-2.33.2-cp313-cp313-musllinux_1_1_x86_64.whl" + "hash": "2b761d210c9ea91feda40d25b4efe82a1707da2ef62901466a42492c028553a2", + "url": "https://files.pythonhosted.org/packages/8a/cd/6bac76ecd1b27e75a95ca3a9a559c643b3afcd2dd62086d4b7a32a18b169/pydantic_core-2.41.5-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl" }, { "algorithm": "sha256", - "hash": "1082dd3e2d7109ad8b7da48e1d4710c8d06c253cbc4a27c1cff4fbcaa97a9e3f", - "url": "https://files.pythonhosted.org/packages/46/8c/99040727b41f56616573a28771b1bfa08a3d3fe74d3d513f01251f79f172/pydantic_core-2.33.2-cp313-cp313-macosx_10_12_x86_64.whl" + "hash": "8566def80554c3faa0e65ac30ab0932b9e3a5cd7f8323764303d468e5c37595a", + "url": "https://files.pythonhosted.org/packages/92/ed/77542d0c51538e32e15afe7899d79efce4b81eee631d99850edc2f5e9349/pydantic_core-2.41.5-cp314-cp314t-macosx_10_12_x86_64.whl" }, { "algorithm": "sha256", - "hash": "04a1a413977ab517154eebb2d326da71638271477d6ad87a769102f7c2488c56", - "url": "https://files.pythonhosted.org/packages/59/a7/63ef2fed1837d1121a894d0ce88439fe3e3b3e48c7543b2a4479eb99c2bd/pydantic_core-2.33.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl" + "hash": "63510af5e38f8955b8ee5687740d6ebf7c2a0886d15a6d65c32814613681bc07", + "url": "https://files.pythonhosted.org/packages/a6/62/205a998f4327d2079326b01abee48e502ea739d174f0a89295c481a2272e/pydantic_core-2.41.5-cp314-cp314-musllinux_1_1_armv7l.whl" }, { "algorithm": "sha256", - "hash": "0a9f2c9dd19656823cb8250b0724ee9c60a82f3cdf68a080979d13092a3b0fef", - "url": "https://files.pythonhosted.org/packages/6f/5e/a0a7b8885c98889a18b6e376f344da1ef323d270b44edf8174d6bce4d622/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + "hash": "2ff4321e56e879ee8d2a879501c8e469414d948f4aba74a2d4593184eb326660", + "url": "https://files.pythonhosted.org/packages/aa/4e/2ae1aa85d6af35a39b236b1b1641de73f5a6ac4d5a7509f77b814885760c/pydantic_core-2.41.5-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" }, { "algorithm": "sha256", - "hash": "61c18fba8e5e9db3ab908620af374db0ac1baa69f0f32df4f61ae23f15e586ac", - "url": "https://files.pythonhosted.org/packages/a4/7d/e09391c2eebeab681df2b74bfe6c43422fffede8dc74187b2b0bf6fd7571/pydantic_core-2.33.2-cp313-cp313t-macosx_11_0_arm64.whl" + "hash": "b80aa5095cd3109962a298ce14110ae16b8c1aece8b72f9dafe81cf597ad80b3", + "url": "https://files.pythonhosted.org/packages/bb/3d/6913dde84d5be21e284439676168b28d8bbba5600d838b9dca99de0fad71/pydantic_core-2.41.5-cp314-cp314t-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "0fb2d542b4d66f9470e8065c5469ec676978d625a8b7a363f07d9a501a9cb36a", - "url": "https://files.pythonhosted.org/packages/aa/c3/053389835a996e18853ba107a63caae0b9deb4a276c6b472931ea9ae6e48/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl" + "hash": "d0d2568a8c11bf8225044aa94409e21da0cb09dcdafe9ecd10250b2baad531a9", + "url": "https://files.pythonhosted.org/packages/cd/13/2e215f17f0ef326fc72afe94776edb77525142c693767fc347ed6288728d/pydantic_core-2.41.5-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl" }, { "algorithm": "sha256", - "hash": "7cb8bc3605c29176e1b105350d2e6474142d7c1bd1d9327c4a9bdb46bf827acc", - "url": "https://files.pythonhosted.org/packages/ad/88/5f2260bdfae97aabf98f1778d43f69574390ad787afb646292a638c923d4/pydantic_core-2.33.2.tar.gz" + "hash": "0177272f88ab8312479336e1d777f6b124537d47f2123f89cb37e0accea97f90", + "url": "https://files.pythonhosted.org/packages/d3/9e/3ce66cebb929f3ced22be85d4c2399b8e85b622db77dad36b73c5387f8f8/pydantic_core-2.41.5-cp314-cp314-musllinux_1_1_aarch64.whl" }, { "algorithm": "sha256", - "hash": "1ea40a64d23faa25e62a70ad163571c0b342b8bf66d5fa612ac0dec4f069d916", - "url": "https://files.pythonhosted.org/packages/e6/55/f1a813904771c03a3f97f676c62cca0c0a4138654107c1b61f19c644868b/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" + "hash": "bd3d54f38609ff308209bd43acea66061494157703364ae40c951f83ba99a1a9", + "url": "https://files.pythonhosted.org/packages/e2/09/f53e0b05023d3e30357d82eb35835d0f6340ca344720a4599cd663dca599/pydantic_core-2.41.5-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl" }, { "algorithm": "sha256", - "hash": "9fdac5d6ffa1b5a83bca06ffe7583f5576555e6c8b3a91fbd25ea7780f825f7d", - "url": "https://files.pythonhosted.org/packages/eb/3c/f4abd740877a35abade05e437245b192f9d0ffb48bbbbd708df33d3cda37/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + "hash": "3f37a19d7ebcdd20b96485056ba9e8b304e27d9904d233d7b1015db320e51f0a", + "url": "https://files.pythonhosted.org/packages/ea/28/46b7c5c9635ae96ea0fbb779e271a38129df2550f763937659ee6c5dbc65/pydantic_core-2.41.5-cp314-cp314-macosx_10_12_x86_64.whl" } ], "project_name": "pydantic-core", "requires_dists": [ - "typing-extensions!=4.7.0,>=4.6.0" + "typing-extensions>=4.14.1" ], "requires_python": ">=3.9", - "version": "2.33.2" + "version": "2.41.5" }, { "artifacts": [ @@ -5129,34 +5559,34 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "872f880de3fc3a5bdc88a11b39c9710c3497a547cfa9320bc3c5e62fbf272e79", - "url": "https://files.pythonhosted.org/packages/a8/a4/20da314d277121d6534b3a980b29035dcd51e6744bd79075a6ce8fa4eb8d/pytest-8.4.2-py3-none-any.whl" + "hash": "c69214aa47deac29fad6c2a4f590b9c4a9fdb16a403176fe154b79c0b4d4d820", + "url": "https://files.pythonhosted.org/packages/30/3d/64ad57c803f1fa1e963a7946b6e0fea4a70df53c1a7fed304586539c2bac/pytest-8.3.5-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "86c0d0b93306b961d58d62a4db4879f27fe25513d4b969df351abdddb3c30e01", - "url": "https://files.pythonhosted.org/packages/a3/5c/00a0e072241553e1a7496d638deababa67c5058571567b92a7eaa258397c/pytest-8.4.2.tar.gz" + "hash": "f4efe70cc14e511565ac476b57c279e12a855b11f48f212af1080ef2263d3845", + "url": "https://files.pythonhosted.org/packages/ae/3c/c9d525a414d506893f0cd8a8d0de7706446213181570cdbd766691164e40/pytest-8.3.5.tar.gz" } ], "project_name": "pytest", "requires_dists": [ "argcomplete; extra == \"dev\"", "attrs>=19.2; extra == \"dev\"", - "colorama>=0.4; sys_platform == \"win32\"", - "exceptiongroup>=1; python_version < \"3.11\"", + "colorama; sys_platform == \"win32\"", + "exceptiongroup>=1.0.0rc8; python_version < \"3.11\"", "hypothesis>=3.56; extra == \"dev\"", - "iniconfig>=1", + "iniconfig", "mock; extra == \"dev\"", - "packaging>=20", + "packaging", "pluggy<2,>=1.5", - "pygments>=2.7.2", + "pygments>=2.7.2; extra == \"dev\"", "requests; extra == \"dev\"", "setuptools; extra == \"dev\"", "tomli>=1; python_version < \"3.11\"", "xmlschema; extra == \"dev\"" ], - "requires_python": ">=3.9", - "version": "8.4.2" + "requires_python": ">=3.8", + "version": "8.3.5" }, { "artifacts": [ @@ -5186,13 +5616,13 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "8e17ae5e46d8e7efe51ab6494dd2010f4ca8dae51652aa3c8d55acf50bfb2e99", - "url": "https://files.pythonhosted.org/packages/04/93/2fa34714b7a4ae72f2f8dad66ba17dd9a2c793220719e736dda28b7aec27/pytest_asyncio-1.2.0-py3-none-any.whl" + "hash": "611e26147c7f77640e6d0a92a38ed17c3e9848063698d5c93d5aa7aa11cebff5", + "url": "https://files.pythonhosted.org/packages/e5/35/f8b19922b6a25bc0880171a2f1a003eaeb93657475193ab516fd87cac9da/pytest_asyncio-1.3.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "c609a64a2a8768462d0c99811ddb8bd2583c33fd33cf7f21af1c142e824ffb57", - "url": "https://files.pythonhosted.org/packages/42/86/9e3c5f48f7b7b638b216e4b9e645f54d199d7abbbab7a64a13b4e12ba10f/pytest_asyncio-1.2.0.tar.gz" + "hash": "d7f52f36d231b80ee124cd216ffb19369aa168fc10095013c6b014a34d3ee9e5", + "url": "https://files.pythonhosted.org/packages/90/2c/8af215c0f776415f3590cac4f9086ccefd6fd463befeae41cd4d3f193e5a/pytest_asyncio-1.3.0.tar.gz" } ], "project_name": "pytest-asyncio", @@ -5200,13 +5630,13 @@ "backports-asyncio-runner<2,>=1.1; python_version < \"3.11\"", "coverage>=6.2; extra == \"testing\"", "hypothesis>=5.7.1; extra == \"testing\"", - "pytest<9,>=8.2", + "pytest<10,>=8.2", "sphinx-rtd-theme>=1; extra == \"docs\"", "sphinx>=5.3; extra == \"docs\"", "typing-extensions>=4.12; python_version < \"3.13\"" ], - "requires_python": ">=3.9", - "version": "1.2.0" + "requires_python": ">=3.10", + "version": "1.3.0" }, { "artifacts": [ @@ -5228,13 +5658,13 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "0a25e2eb88fe5168d535041d09a4529a188176ae608a6d249ee65abc0949630d", - "url": "https://files.pythonhosted.org/packages/5a/cc/06253936f4a7fa2e0f48dfe6d851d9c56df896a9ab09ac019d70b760619c/pytest_mock-3.15.1-py3-none-any.whl" + "hash": "178aefcd11307d874b4cd3100344e7e2d888d9791a6a1d9bfe90fbc1b74fd1d0", + "url": "https://files.pythonhosted.org/packages/b2/05/77b60e520511c53d1c1ca75f1930c7dd8e971d0c4379b7f4b3f9644685ba/pytest_mock-3.14.1-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "1849a238f6f396da19762269de72cb1814ab44416fa73a8686deac10b0d87a0f", - "url": "https://files.pythonhosted.org/packages/68/14/eb014d26be205d38ad5ad20d9a80f7d201472e08167f0bb4361e251084a9/pytest_mock-3.15.1.tar.gz" + "hash": "159e9edac4c451ce77a5cdb9fc5d1100708d2dd4ba3c3df572f14097351af80e", + "url": "https://files.pythonhosted.org/packages/71/28/67172c96ba684058a4d24ffe144d64783d2a270d0af0d9e792737bddc75c/pytest_mock-3.14.1.tar.gz" } ], "project_name": "pytest-mock", @@ -5244,8 +5674,8 @@ "pytest>=6.2.5", "tox; extra == \"dev\"" ], - "requires_python": ">=3.9", - "version": "3.15.1" + "requires_python": ">=3.8", + "version": "3.14.1" }, { "artifacts": [ @@ -5331,136 +5761,91 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "eda16858a3cab07b80edaf74336ece1f986ba330fdb8ee0d6c0d68fe82bc96be", - "url": "https://files.pythonhosted.org/packages/3d/e0/7966e1a7bfc0a45bf0a7fb6b98ea03fc9b8d84fa7f2229e9659680b69ee3/pyyaml-6.0.3-cp313-cp313-musllinux_1_2_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f", - "url": "https://files.pythonhosted.org/packages/05/8e/961c0007c59b8dd7729d542c61a4d537767a59645b82a0b521206e1e25c2/pyyaml-6.0.3.tar.gz" - }, - { - "algorithm": "sha256", - "hash": "a33284e20b78bd4a18c8c2282d549d10bc8408a2a7ff57653c0cf0b9be0afce5", - "url": "https://files.pythonhosted.org/packages/49/1e/a55ca81e949270d5d4432fbbd19dfea5321eda7c41a849d443dc92fd1ff7/pyyaml-6.0.3-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" - }, - { - "algorithm": "sha256", - "hash": "ee2922902c45ae8ccada2c5b501ab86c36525b883eff4255313a253a3160861c", - "url": "https://files.pythonhosted.org/packages/50/31/b20f376d3f810b9b2371e72ef5adb33879b25edb7a6d072cb7ca0c486398/pyyaml-6.0.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" + "hash": "16249ee61e95f858e83976573de0f5b2893b3677ba71c9dd36b9cf8be9ac6d65", + "url": "https://files.pythonhosted.org/packages/da/92/1446574745d74df0c92e6aa4a7b0b3130706a4142b2d1a5869f2eaa423c6/pyyaml-6.0.3-cp314-cp314t-musllinux_1_2_x86_64.whl" }, { "algorithm": "sha256", - "hash": "0f29edc409a6392443abf94b9cf89ce99889a1dd5376d94316ae5145dfedd5d6", - "url": "https://files.pythonhosted.org/packages/74/27/e5b8f34d02d9995b80abcef563ea1f8b56d20134d8f4e5e81733b1feceb2/pyyaml-6.0.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" + "hash": "b3bc83488de33889877a0f2543ade9f70c67d66d9ebb4ac959502e12de895788", + "url": "https://files.pythonhosted.org/packages/02/9e/e5e9b168be58564121efb3de6859c452fccde0ab093d8438905899a3a483/pyyaml-6.0.3-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" }, { "algorithm": "sha256", - "hash": "2283a07e2c21a2aa78d9c4442724ec1eb15f5e42a723b99cb3d822d48f5f7ad1", - "url": "https://files.pythonhosted.org/packages/b1/16/95309993f1d3748cd644e02e38b75d50cbc0d9561d21f390a76242ce073f/pyyaml-6.0.3-cp313-cp313-macosx_11_0_arm64.whl" - }, - { - "algorithm": "sha256", - "hash": "8da9669d359f02c0b91ccc01cac4a67f16afec0dac22c2ad09f46bee0697eba8", - "url": "https://files.pythonhosted.org/packages/d1/11/0fd08f8192109f7169db964b5707a2f1e8b745d4e239b784a5a1dd80d1db/pyyaml-6.0.3-cp313-cp313-macosx_10_13_x86_64.whl" + "hash": "d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f", + "url": "https://files.pythonhosted.org/packages/05/8e/961c0007c59b8dd7729d542c61a4d537767a59645b82a0b521206e1e25c2/pyyaml-6.0.3.tar.gz" }, { "algorithm": "sha256", - "hash": "f7057c9a337546edc7973c0d3ba84ddcdf0daa14533c2065749c9075001090e6", - "url": "https://files.pythonhosted.org/packages/f9/11/ba845c23988798f40e52ba45f34849aa8a1f2d4af4b798588010792ebad6/pyyaml-6.0.3-cp313-cp313-musllinux_1_2_aarch64.whl" - } - ], - "project_name": "pyyaml", - "requires_dists": [], - "requires_python": ">=3.8", - "version": "6.0.3" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "26a2a7451606b87f67cdeca2c2789d86f605da08b4bd616b1a9981605ca3a364", - "url": "https://files.pythonhosted.org/packages/05/4c/bf3cad0d64c3214ac881299c4562b815f05d503bccc513e3fd4fdc6f67e4/pyzmq-26.4.0-cp313-cp313t-musllinux_1_1_x86_64.whl" + "hash": "c1ff362665ae507275af2853520967820d9124984e0f7466736aea23d8611fba", + "url": "https://files.pythonhosted.org/packages/4e/78/8d08c9fb7ce09ad8c38ad533c1191cf27f7ae1effe5bb9400a46d9437fcf/pyyaml-6.0.3-cp314-cp314t-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "da8c0f5dd352136853e6a09b1b986ee5278dfddfebd30515e16eae425c872b30", - "url": "https://files.pythonhosted.org/packages/0a/27/454d34ab6a1d9772a36add22f17f6b85baf7c16e14325fa29e7202ca8ee8/pyzmq-26.4.0-cp313-cp313-musllinux_1_1_aarch64.whl" + "hash": "6adc77889b628398debc7b65c073bcb99c4a0237b248cacaf3fe8a557563ef6c", + "url": "https://files.pythonhosted.org/packages/7b/5b/3babb19104a46945cf816d047db2788bcaf8c94527a805610b0289a01c6b/pyyaml-6.0.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" }, { "algorithm": "sha256", - "hash": "1c0b5fceadbab461578daf8d1dcc918ebe7ddd2952f748cf30c7cf2de5d51101", - "url": "https://files.pythonhosted.org/packages/13/ff/bc8d21dbb9bc8705126e875438a1969c4f77e03fc8565d6901c7933a3d01/pyzmq-26.4.0-cp313-cp313-musllinux_1_1_x86_64.whl" + "hash": "02893d100e99e03eda1c8fd5c441d8c60103fd175728e23e431db1b589cf5ab3", + "url": "https://files.pythonhosted.org/packages/7c/f9/07dd09ae774e4616edf6cda684ee78f97777bdd15847253637a6f052a62f/pyyaml-6.0.3-cp314-cp314t-macosx_10_13_x86_64.whl" }, { "algorithm": "sha256", - "hash": "6332452034be001bbf3206ac59c0d2a7713de5f25bb38b06519fc6967b7cf771", - "url": "https://files.pythonhosted.org/packages/18/a6/f048826bc87528c208e90604c3bf573801e54bd91e390cbd2dfa860e82dc/pyzmq-26.4.0-cp313-cp313-manylinux_2_28_x86_64.whl" + "hash": "c458b6d084f9b935061bc36216e8a69a7e293a2f1e68bf956dcd9e6cbcd143f5", + "url": "https://files.pythonhosted.org/packages/88/f9/16491d7ed2a919954993e48aa941b200f38040928474c9e85ea9e64222c3/pyyaml-6.0.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" }, { "algorithm": "sha256", - "hash": "31be2b6de98c824c06f5574331f805707c667dc8f60cb18580b7de078479891e", - "url": "https://files.pythonhosted.org/packages/1a/cf/b36b3d7aea236087d20189bec1a87eeb2b66009731d7055e5c65f845cdba/pyzmq-26.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + "hash": "a80cb027f6b349846a3bf6d73b5e95e782175e52f22108cfa17876aaeff93702", + "url": "https://files.pythonhosted.org/packages/8b/cc/dff0684d8dc44da4d22a13f35f073d558c268780ce3c6ba1b87055bb0b87/pyyaml-6.0.3-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" }, { "algorithm": "sha256", - "hash": "902aca7eba477657c5fb81c808318460328758e8367ecdd1964b6330c73cae43", - "url": "https://files.pythonhosted.org/packages/58/29/2f06b9cabda3a6ea2c10f43e67ded3e47fc25c54822e2506dfb8325155d4/pyzmq-26.4.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + "hash": "501a031947e3a9025ed4405a168e6ef5ae3126c59f90ce0cd6f2bfc477be31b7", + "url": "https://files.pythonhosted.org/packages/92/b5/47e807c2623074914e29dabd16cbbdd4bf5e9b2db9f8090fa64411fc5382/pyyaml-6.0.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" }, { "algorithm": "sha256", - "hash": "cb45684f276f57110bb89e4300c00f1233ca631f08f5f42528a5c408a79efc4a", - "url": "https://files.pythonhosted.org/packages/5c/c7/6c03637e8d742c3b00bec4f5e4cd9d1c01b2f3694c6f140742e93ca637ed/pyzmq-26.4.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + "hash": "8d1fab6bb153a416f9aeb4b8763bc0f22a5586065f86f7664fc23339fc1c1fac", + "url": "https://files.pythonhosted.org/packages/9d/8c/f4bd7f6465179953d3ac9bc44ac1a8a3e6122cf8ada906b4f96c60172d43/pyyaml-6.0.3-cp314-cp314-macosx_10_13_x86_64.whl" }, { "algorithm": "sha256", - "hash": "93a29e882b2ba1db86ba5dd5e88e18e0ac6b627026c5cfbec9983422011b82d4", - "url": "https://files.pythonhosted.org/packages/65/c2/1fac340de9d7df71efc59d9c50fc7a635a77b103392d1842898dd023afcb/pyzmq-26.4.0-cp313-cp313t-macosx_10_15_universal2.whl" + "hash": "00c4bdeba853cc34e7dd471f16b4114f4162dc03e6b7afcc2128711f0eca823c", + "url": "https://files.pythonhosted.org/packages/b1/5e/f77dc6b9036943e285ba76b49e118d9ea929885becb0a29ba8a7c75e29fe/pyyaml-6.0.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" }, { "algorithm": "sha256", - "hash": "b30f862f6768b17040929a68432c8a8be77780317f45a353cb17e423127d250c", - "url": "https://files.pythonhosted.org/packages/6e/bc/f88b0bad0f7a7f500547d71e99f10336f2314e525d4ebf576a1ea4a1d903/pyzmq-26.4.0-cp313-cp313t-musllinux_1_1_aarch64.whl" + "hash": "34d5fcd24b8445fadc33f9cf348c1047101756fd760b4dacb5c3e99755703310", + "url": "https://files.pythonhosted.org/packages/bd/9c/4d95bb87eb2063d20db7b60faa3840c1b18025517ae857371c4dd55a6b3a/pyyaml-6.0.3-cp314-cp314-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "e5e48a830bfd152fe17fbdeaf99ac5271aa4122521bf0d275b6b24e52ef35eb6", - "url": "https://files.pythonhosted.org/packages/77/e4/dcf62bd29e5e190bd21bfccaa4f3386e01bf40d948c239239c2f1e726729/pyzmq-26.4.0-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl" + "hash": "66e1674c3ef6f541c35191caae2d429b967b99e02040f5ba928632d9a7f0f065", + "url": "https://files.pythonhosted.org/packages/ce/88/a9db1376aa2a228197c58b37302f284b5617f56a5d959fd1763fb1675ce6/pyyaml-6.0.3-cp314-cp314t-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "be37e24b13026cfedd233bcbbccd8c0bcd2fdd186216094d095f60076201538d", - "url": "https://files.pythonhosted.org/packages/7d/7e/f63af1031eb060bf02d033732b910fe48548dcfdbe9c785e9f74a6cc6ae4/pyzmq-26.4.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + "hash": "5190d403f121660ce8d1d2c1bb2ef1bd05b5f68533fc5c2ea899bd15f4399b35", + "url": "https://files.pythonhosted.org/packages/d7/ce/af88a49043cd2e265be63d083fc75b27b6ed062f5f9fd6cdc223ad62f03e/pyyaml-6.0.3-cp314-cp314-musllinux_1_2_x86_64.whl" }, { "algorithm": "sha256", - "hash": "f72073e75260cb301aad4258ad6150fa7f57c719b3f498cb91e31df16784d89b", - "url": "https://files.pythonhosted.org/packages/a5/97/a8dca65913c0f78e0545af2bb5078aebfc142ca7d91cdaffa1fbc73e5dbd/pyzmq-26.4.0-cp313-cp313t-manylinux_2_17_i686.manylinux2014_i686.whl" - }, + "hash": "7c6610def4f163542a622a73fb39f534f8c101d690126992300bf3207eab9764", + "url": "https://files.pythonhosted.org/packages/dd/3f/5989debef34dc6397317802b527dbbafb2b4760878a53d4166579111411e/pyyaml-6.0.3-cp314-cp314-musllinux_1_2_aarch64.whl" + } + ], + "project_name": "pyyaml", + "requires_dists": [], + "requires_python": ">=3.8", + "version": "6.0.3" + }, + { + "artifacts": [ { "algorithm": "sha256", "hash": "4bd13f85f80962f91a651a7356fe0472791a5f7a92f227822b5acf44795c626d", "url": "https://files.pythonhosted.org/packages/b1/11/b9213d25230ac18a71b39b3723494e57adebe36e066397b961657b3b41c1/pyzmq-26.4.0.tar.gz" - }, - { - "algorithm": "sha256", - "hash": "c43fac689880f5174d6fc864857d1247fe5cfa22b09ed058a344ca92bf5301e3", - "url": "https://files.pythonhosted.org/packages/d7/20/fb2c92542488db70f833b92893769a569458311a76474bda89dc4264bd18/pyzmq-26.4.0-cp313-cp313-macosx_10_15_universal2.whl" - }, - { - "algorithm": "sha256", - "hash": "c80fcd3504232f13617c6ab501124d373e4895424e65de8b72042333316f64a8", - "url": "https://files.pythonhosted.org/packages/d9/8c/db446a3dd9cf894406dec2e61eeffaa3c07c3abb783deaebb9812c4af6a5/pyzmq-26.4.0-cp313-cp313t-musllinux_1_1_i686.whl" - }, - { - "algorithm": "sha256", - "hash": "f4ccc1a0a2c9806dda2a2dd118a3b7b681e448f3bb354056cad44a65169f6d86", - "url": "https://files.pythonhosted.org/packages/f4/3d/7abfeab6b83ad38aa34cbd57c6fc29752c391e3954fd12848bd8d2ec0df6/pyzmq-26.4.0-cp313-cp313-musllinux_1_1_i686.whl" - }, - { - "algorithm": "sha256", - "hash": "237b283044934d26f1eeff4075f751b05d2f3ed42a257fc44386d00df6a270cf", - "url": "https://files.pythonhosted.org/packages/f6/fa/1a009ce582802a895c0d5fe9413f029c940a0a8ee828657a3bb0acffd88b/pyzmq-26.4.0-cp313-cp313t-manylinux_2_28_x86_64.whl" } ], "project_name": "pyzmq", @@ -5492,27 +5877,25 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "77929bc7f5dab9adf3acba2d3bb7d7658f1e0c2f1cafe7eb36434e751c471119", - "url": "https://files.pythonhosted.org/packages/e0/7f/21a09f8c9f5db6f5e24432f7a0f916ca386025d74e4da6d0f5164aa9a78a/redis-4.5.5-py3-none-any.whl" + "hash": "ee7e1056b9aea0f04c6c2ed59452947f34c4940ee025f5dd83e6a6418b6989e4", + "url": "https://files.pythonhosted.org/packages/3c/5f/fa26b9b2672cbe30e07d9a5bdf39cf16e3b80b42916757c5f92bca88e4ba/redis-5.2.1-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "dc87a0bdef6c8bfe1ef1e1c40be7034390c2ae02d92dcd0c7ca1729443899880", - "url": "https://files.pythonhosted.org/packages/53/30/128c5599bc3fa61488866be0228326b3e486be34480126f70e572043adf8/redis-4.5.5.tar.gz" + "hash": "16f2e22dff21d5125e8481515e386711a34cbec50f0e44413dd7d9c060a54e0f", + "url": "https://files.pythonhosted.org/packages/47/da/d283a37303a995cd36f8b92db85135153dc4f7a8e4441aa827721b442cfb/redis-5.2.1.tar.gz" } ], "project_name": "redis", "requires_dists": [ - "async-timeout>=4.0.2; python_full_version <= \"3.11.2\"", + "async-timeout>=4.0.3; python_full_version < \"3.11.3\"", "cryptography>=36.0.1; extra == \"ocsp\"", - "hiredis>=1.0.0; extra == \"hiredis\"", - "importlib-metadata>=1.0; python_version < \"3.8\"", - "pyopenssl==20.0.1; extra == \"ocsp\"", - "requests>=2.26.0; extra == \"ocsp\"", - "typing-extensions; python_version < \"3.8\"" + "hiredis>=3.0.0; extra == \"hiredis\"", + "pyopenssl==23.2.1; extra == \"ocsp\"", + "requests>=2.31.0; extra == \"ocsp\"" ], - "requires_python": ">=3.7", - "version": "4.5.5" + "requires_python": ">=3.8", + "version": "5.2.1" }, { "artifacts": [ @@ -5608,13 +5991,13 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "148f6488d698b7a5eded5ea793a025308b25eca97208181b6a026037f391f701", - "url": "https://files.pythonhosted.org/packages/d1/e5/f2a0621f1781b76a38194acae72f01e37b1941470407345b6e8653ad7640/ruamel.yaml-0.18.15-py3-none-any.whl" + "hash": "048f26d64245bae57a4f9ef6feb5b552a386830ef7a826f235ffb804c59efbba", + "url": "https://files.pythonhosted.org/packages/0f/73/bb1bc2529f852e7bf64a2dec885e89ff9f5cc7bbf6c9340eed30ff2c69c5/ruamel.yaml-0.18.16-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "dbfca74b018c4c3fba0b9cc9ee33e53c371194a9000e694995e620490fd40700", - "url": "https://files.pythonhosted.org/packages/3e/db/f3950f5e5031b618aae9f423a39bf81a55c148aecd15a34527898e752cf4/ruamel.yaml-0.18.15.tar.gz" + "hash": "a6e587512f3c998b2225d68aa1f35111c29fad14aed561a26e73fab729ec5e5a", + "url": "https://files.pythonhosted.org/packages/9f/c7/ee630b29e04a672ecfc9b63227c87fd7a37eb67c1bf30fe95376437f897c/ruamel.yaml-0.18.16.tar.gz" } ], "project_name": "ruamel-yaml", @@ -5625,60 +6008,7 @@ "ryd; extra == \"docs\"" ], "requires_python": ">=3.8", - "version": "0.18.15" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "b30110b29484adc597df6bd92a37b90e63a8c152ca8136aad100a02f8ba6d1b6", - "url": "https://files.pythonhosted.org/packages/3d/ac/3c5c2b27a183f4fda8a57c82211721c016bcb689a4a175865f7646db9f94/ruamel.yaml.clib-0.2.14-cp313-cp313-musllinux_1_2_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "ff86876889ea478b1381089e55cf9e345707b312beda4986f823e1d95e8c0f59", - "url": "https://files.pythonhosted.org/packages/19/ee/8d6146a079ad21e534b5083c9ee4a4c8bec42f79cf87594b60978286b39a/ruamel.yaml.clib-0.2.14-cp313-cp313-musllinux_1_2_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "9bd8fe07f49c170e09d76773fb86ad9135e0beee44f36e1576a201b0676d3d1d", - "url": "https://files.pythonhosted.org/packages/20/15/8a19a13d27f3bd09fa18813add8380a29115a47b553845f08802959acbce/ruamel.yaml.clib-0.2.14-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" - }, - { - "algorithm": "sha256", - "hash": "1c1acc3a0209ea9042cc3cfc0790edd2eddd431a2ec3f8283d081e4d5018571e", - "url": "https://files.pythonhosted.org/packages/5a/08/b4499234a420ef42960eeb05585df5cc7eb25ccb8c980490b079e6367050/ruamel.yaml.clib-0.2.14-cp313-cp313-manylinux2014_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "dd7546c851e59c06197a7c651335755e74aa383a835878ca86d2c650c07a2f85", - "url": "https://files.pythonhosted.org/packages/72/06/7d51f4688d6d72bb72fa74254e1593c4f5ebd0036be5b41fe39315b275e9/ruamel.yaml.clib-0.2.14-cp313-cp313-macosx_15_0_arm64.whl" - }, - { - "algorithm": "sha256", - "hash": "1f118b707eece8cf84ecbc3e3ec94d9db879d85ed608f95870d39b2d2efa5dca", - "url": "https://files.pythonhosted.org/packages/a9/f5/426b714abdc222392e68f3b8ad323930d05a214a27c7e7a0f06c69126401/ruamel.yaml.clib-0.2.14-cp313-cp313-musllinux_1_2_i686.whl" - }, - { - "algorithm": "sha256", - "hash": "2070bf0ad1540d5c77a664de07ebcc45eebd1ddcab71a7a06f26936920692beb", - "url": "https://files.pythonhosted.org/packages/b6/ba/1975a27dedf1c4c33306ee67c948121be8710b19387aada29e2f139c43ee/ruamel.yaml.clib-0.2.14-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "7e4f9da7e7549946e02a6122dcad00b7c1168513acb1f8a726b1aaf504a99d32", - "url": "https://files.pythonhosted.org/packages/d7/ae/e3811f05415594025e96000349d3400978adaed88d8f98d494352d9761ee/ruamel.yaml.clib-0.2.14-cp313-cp313-macosx_10_13_universal2.whl" - }, - { - "algorithm": "sha256", - "hash": "803f5044b13602d58ea378576dd75aa759f52116a0232608e8fdada4da33752e", - "url": "https://files.pythonhosted.org/packages/d8/e9/39ec4d4b3f91188fad1842748f67d4e749c77c37e353c4e545052ee8e893/ruamel.yaml.clib-0.2.14.tar.gz" - } - ], - "project_name": "ruamel-yaml-clib", - "requires_dists": [], - "requires_python": ">=3.9", - "version": "0.2.14" + "version": "0.18.16" }, { "artifacts": [ @@ -5725,88 +6055,88 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "5fa1953126a3b9bd47049d58c51b9dac72e78ed120459bd3aceb1bacee72357c", - "url": "https://files.pythonhosted.org/packages/dd/68/17e8aea0ed5ebc17fbf03ed2562bfab277c280e3625850c38d92a7b5fcd9/setproctitle-1.3.7-cp313-cp313t-musllinux_1_2_x86_64.whl" + "hash": "1fae595d032b30dab4d659bece20debd202229fce12b55abab978b7f30783d73", + "url": "https://files.pythonhosted.org/packages/e7/e3/54b496ac724e60e61cc3447f02690105901ca6d90da0377dffe49ff99fc7/setproctitle-1.3.7-cp314-cp314t-musllinux_1_2_x86_64.whl" }, { "algorithm": "sha256", - "hash": "de879e9c2eab637f34b1a14c4da1e030c12658cdc69ee1b3e5be81b380163ce5", - "url": "https://files.pythonhosted.org/packages/05/77/7637f7682322a7244e07c373881c7e982567e2cb1dd2f31bd31481e45500/setproctitle-1.3.7-cp313-cp313t-macosx_11_0_arm64.whl" + "hash": "6fc87caf9e323ac426910306c3e5d3205cd9f8dcac06d233fcafe9337f0928a3", + "url": "https://files.pythonhosted.org/packages/01/6d/20886c8ff2e6d85e3cabadab6aab9bb90acaf1a5cfcb04d633f8d61b2626/setproctitle-1.3.7-cp314-cp314t-macosx_10_13_universal2.whl" }, { "algorithm": "sha256", - "hash": "0b5074649797fd07c72ca1f6bff0406f4a42e1194faac03ecaab765ce605866f", - "url": "https://files.pythonhosted.org/packages/1b/62/f2c0595403cf915db031f346b0e3b2c0096050e90e0be658a64f44f4278a/setproctitle-1.3.7-cp313-cp313-musllinux_1_2_aarch64.whl" + "hash": "45e3ef48350abb49cf937d0a8ba15e42cee1e5ae13ca41a77c66d1abc27a5070", + "url": "https://files.pythonhosted.org/packages/0a/0c/fd4901db5ba4b9d9013e62f61d9c18d52290497f956745cd3e91b0d80f90/setproctitle-1.3.7-cp314-cp314t-musllinux_1_2_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "3384e682b158d569e85a51cfbde2afd1ab57ecf93ea6651fe198d0ba451196ee", - "url": "https://files.pythonhosted.org/packages/23/ae/afc141ca9631350d0a80b8f287aac79a76f26b6af28fd8bf92dae70dc2c5/setproctitle-1.3.7-cp313-cp313-macosx_11_0_arm64.whl" + "hash": "b91387cc0f02a00ac95dcd93f066242d3cca10ff9e6153de7ee07069c6f0f7c8", + "url": "https://files.pythonhosted.org/packages/15/1b/b9bee9de6c8cdcb3b3a6cb0b3e773afdb86bbbc1665a3bfa424a4294fda2/setproctitle-1.3.7-cp314-cp314-musllinux_1_2_x86_64.whl" }, { "algorithm": "sha256", - "hash": "c18246d88e227a5b16248687514f95642505000442165f4b7db354d39d0e4c29", - "url": "https://files.pythonhosted.org/packages/52/09/f366eca0973cfbac1470068d1313fa3fe3de4a594683385204ec7f1c4101/setproctitle-1.3.7-cp313-cp313t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl" + "hash": "14c7eba8d90c93b0e79c01f0bd92a37b61983c27d6d7d5a3b5defd599113d60e", + "url": "https://files.pythonhosted.org/packages/1c/1a/8836b9f28cee32859ac36c3df85aa03e1ff4598d23ea17ca2e96b5845a8f/setproctitle-1.3.7-cp314-cp314-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "a7d159e7345f343b44330cbba9194169b8590cb13dae940da47aa36a72aa9929", - "url": "https://files.pythonhosted.org/packages/52/4f/6daf66394152756664257180439d37047aa9a1cfaa5e4f5ed35e93d1dc06/setproctitle-1.3.7-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" + "hash": "96c38cdeef9036eb2724c2210e8d0b93224e709af68c435d46a4733a3675fee1", + "url": "https://files.pythonhosted.org/packages/20/92/927b7d4744aac214d149c892cb5fa6dc6f49cfa040cb2b0a844acd63dcaf/setproctitle-1.3.7-cp314-cp314t-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "c3736b2a423146b5e62230502e47e08e68282ff3b69bcfe08a322bee73407922", - "url": "https://files.pythonhosted.org/packages/5d/2f/fcedcade3b307a391b6e17c774c6261a7166aed641aee00ed2aad96c63ce/setproctitle-1.3.7-cp313-cp313-macosx_10_13_universal2.whl" + "hash": "1403d2abfd32790b6369916e2313dffbe87d6b11dca5bbd898981bcde48e7a2b", + "url": "https://files.pythonhosted.org/packages/21/9c/980b01f50d51345dd513047e3ba9e96468134b9181319093e61db1c47188/setproctitle-1.3.7-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl" }, { "algorithm": "sha256", - "hash": "7081f193dab22df2c36f9fc6d113f3793f83c27891af8fe30c64d89d9a37e152", - "url": "https://files.pythonhosted.org/packages/71/36/611fc2ed149fdea17c3677e1d0df30d8186eef9562acc248682b91312706/setproctitle-1.3.7-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" + "hash": "7f9e9e3ff135cbcc3edd2f4cf29b139f4aca040d931573102742db70ff428c17", + "url": "https://files.pythonhosted.org/packages/34/b2/6a092076324dd4dac1a6d38482bedebbff5cf34ef29f58585ec76e47bc9d/setproctitle-1.3.7-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "047138279f9463f06b858e579cc79580fbf7a04554d24e6bddf8fe5dddbe3d4c", - "url": "https://files.pythonhosted.org/packages/71/3c/cedd8eccfaf15fb73a2c20525b68c9477518917c9437737fa0fda91e378f/setproctitle-1.3.7-cp313-cp313-musllinux_1_2_x86_64.whl" + "hash": "e7c5bfe4228ea22373e3025965d1a4116097e555ee3436044f5c954a5e63ac45", + "url": "https://files.pythonhosted.org/packages/86/b4/82cd0c86e6d1c4538e1a7eb908c7517721513b801dff4ba3f98ef816a240/setproctitle-1.3.7-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" }, { "algorithm": "sha256", - "hash": "0564a936ea687cd24dffcea35903e2a20962aa6ac20e61dd3a207652401492dd", - "url": "https://files.pythonhosted.org/packages/87/ed/0a4f00315bc02510395b95eec3d4aa77c07192ee79f0baae77ea7b9603d8/setproctitle-1.3.7-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl" + "hash": "80c36c6a87ff72eabf621d0c79b66f3bdd0ecc79e873c1e9f0651ee8bf215c63", + "url": "https://files.pythonhosted.org/packages/89/c7/43ac3a98414f91d1b86a276bc2f799ad0b4b010e08497a95750d5bc42803/setproctitle-1.3.7-cp314-cp314-macosx_10_13_universal2.whl" }, { "algorithm": "sha256", - "hash": "9cc9b901ce129350637426a89cfd650066a4adc6899e47822e2478a74023ff7c", - "url": "https://files.pythonhosted.org/packages/88/a4/64e77d0671446bd5a5554387b69e1efd915274686844bea733714c828813/setproctitle-1.3.7-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" + "hash": "585edf25e54e21a94ccb0fe81ad32b9196b69ebc4fc25f81da81fb8a50cca9e4", + "url": "https://files.pythonhosted.org/packages/8a/4f/9f6b2a7417fd45673037554021c888b31247f7594ff4bd2239918c5cd6d0/setproctitle-1.3.7-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "80e177eff2d1ec172188d0d7fd9694f8e43d3aab76a6f5f929bee7bf7894e98b", - "url": "https://files.pythonhosted.org/packages/89/bc/ad9c664fe524fb4a4b2d3663661a5c63453ce851736171e454fa2cdec35c/setproctitle-1.3.7-cp313-cp313t-musllinux_1_2_aarch64.whl" + "hash": "bc2bc917691c1537d5b9bca1468437176809c7e11e5694ca79a9ca12345dcb9e", + "url": "https://files.pythonhosted.org/packages/8d/48/49393a96a2eef1ab418b17475fb92b8fcfad83d099e678751b05472e69de/setproctitle-1.3.7.tar.gz" }, { "algorithm": "sha256", - "hash": "bc2bc917691c1537d5b9bca1468437176809c7e11e5694ca79a9ca12345dcb9e", - "url": "https://files.pythonhosted.org/packages/8d/48/49393a96a2eef1ab418b17475fb92b8fcfad83d099e678751b05472e69de/setproctitle-1.3.7.tar.gz" + "hash": "6134c63853d87a4897ba7d5cc0e16abfa687f6c66fc09f262bb70d67718f2309", + "url": "https://files.pythonhosted.org/packages/9a/60/26dfc5f198715f1343b95c2f7a1c16ae9ffa45bd89ffd45a60ed258d24ea/setproctitle-1.3.7-cp314-cp314t-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "61e96febced3f61b766115381d97a21a6265a0f29188a791f6df7ed777aef698", - "url": "https://files.pythonhosted.org/packages/a0/29/10dd41cde849fb2f9b626c846b7ea30c99c81a18a5037a45cc4ba33c19a7/setproctitle-1.3.7-cp313-cp313-musllinux_1_2_ppc64le.whl" + "hash": "fcb966a6c57cf07cc9448321a08f3be6b11b7635be502669bc1d8745115d7e7f", + "url": "https://files.pythonhosted.org/packages/ab/26/8e3bb082992f19823d831f3d62a89409deb6092e72fc6940962983ffc94f/setproctitle-1.3.7-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl" }, { "algorithm": "sha256", - "hash": "23e520776c445478a67ee71b2a3c1ffdafbe1f9f677239e03d7e2cc635954e18", - "url": "https://files.pythonhosted.org/packages/ab/01/a36de7caf2d90c4c28678da1466b47495cbbad43badb4e982d8db8167ed4/setproctitle-1.3.7-cp313-cp313t-musllinux_1_2_ppc64le.whl" + "hash": "b53602371a52b91c80aaf578b5ada29d311d12b8a69c0c17fbc35b76a1fd4f2e", + "url": "https://files.pythonhosted.org/packages/cd/2c/dc258600a25e1a1f04948073826bebc55e18dbd99dc65a576277a82146fa/setproctitle-1.3.7-cp314-cp314-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "10e92915c4b3086b1586933a36faf4f92f903c5554f3c34102d18c7d3f5378e9", - "url": "https://files.pythonhosted.org/packages/e6/a4/d588d3497d4714750e3eaf269e9e8985449203d82b16b933c39bd3fc52a1/setproctitle-1.3.7-cp313-cp313t-macosx_10_13_universal2.whl" + "hash": "9e64e98077fb30b6cf98073d6c439cd91deb8ebbf8fc62d9dbf52bd38b0c6ac0", + "url": "https://files.pythonhosted.org/packages/ef/22/8fabdc24baf42defb599714799d8445fe3ae987ec425a26ec8e80ea38f8e/setproctitle-1.3.7-cp314-cp314-musllinux_1_2_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "a5d1cb3f81531f0eb40e13246b679a1bdb58762b170303463cb06ecc296f26d0", - "url": "https://files.pythonhosted.org/packages/fc/e4/adf3c4c0a2173cb7920dc9df710bcc67e9bcdbf377e243b7a962dc31a51a/setproctitle-1.3.7-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" + "hash": "46178672599b940368d769474fe13ecef1b587d58bb438ea72b9987f74c56ea5", + "url": "https://files.pythonhosted.org/packages/f1/af/ae692a20276d1159dd0cf77b0bcf92cbb954b965655eb4a69672099bb214/setproctitle-1.3.7-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" } ], "project_name": "setproctitle", @@ -5904,24 +6234,6 @@ "requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7", "version": "1.17.0" }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", - "url": "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc", - "url": "https://files.pythonhosted.org/packages/a2/87/a6771e1546d97e7e041b6ae58d80074f81b7d5121207425c964ddf5cfdbd/sniffio-1.3.1.tar.gz" - } - ], - "project_name": "sniffio", - "requires_dists": [], - "requires_python": ">=3.7", - "version": "1.3.1" - }, { "artifacts": [ { @@ -6469,19 +6781,19 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "96ae5abcb5ea1e1f1faf811a2ff8b2ce7e6d820fc42c4fcb4b332b2da485de16", - "url": "https://files.pythonhosted.org/packages/80/9c/be9d24c246ff825385b4a139409ae7e2d36ea2294f12681951a6b9f905f7/types_cachetools-6.2.0.20250827-py3-none-any.whl" + "hash": "698eb17b8f16b661b90624708b6915f33dbac2d185db499ed57e4997e7962cad", + "url": "https://files.pythonhosted.org/packages/98/2d/8d821ed80f6c2c5b427f650bf4dc25b80676ed63d03388e4b637d2557107/types_cachetools-6.2.0.20251022-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "f27febfd1b5e517e3cb1ca6daf38ad6ddb4eeb1e29bdbd81a082971ba30c0d8e", - "url": "https://files.pythonhosted.org/packages/31/f2/e14f51330093fd640fd11663863dc7dd80e5894ef9d2eb39325cc61ba3cf/types_cachetools-6.2.0.20250827.tar.gz" + "hash": "f1d3c736f0f741e89ec10f0e1b0138625023e21eb33603a930c149e0318c0cef", + "url": "https://files.pythonhosted.org/packages/3b/a8/f9bcc7f1be63af43ef0170a773e2d88817bcc7c9d8769f2228c802826efe/types_cachetools-6.2.0.20251022.tar.gz" } ], "project_name": "types-cachetools", "requires_dists": [], "requires_python": ">=3.9", - "version": "6.2.0.20250827" + "version": "6.2.0.20251022" }, { "artifacts": [ @@ -6581,19 +6893,19 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "adc31de8386d31c61bd4123112fd51e2c700c7502a001cad72a3d56ba6b463d1", - "url": "https://files.pythonhosted.org/packages/c0/99/50f30e0b648e6f583165cb2e535b0256a02a03efa4868cb2f017ad25b3d8/types_psutil-7.0.0.20251001-py3-none-any.whl" + "hash": "1be8adf7fb15b67231fc874d972c5ea602f1eaa05ddd3d72dcf9a7f2e26d35dd", + "url": "https://files.pythonhosted.org/packages/65/d8/50897a9c69621ce95cda190890115f335bafda03cd762854be0814761cb0/types_psutil-7.1.3.20251210-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "60d696200ddae28677e7d88cdebd6e960294e85adefbaafe0f6e5d0e7b4c1963", - "url": "https://files.pythonhosted.org/packages/9e/91/b020f9100b196a1f247cd12575f68dcdad94f032c1e0c42987d7632142ce/types_psutil-7.0.0.20251001.tar.gz" + "hash": "0fef0f363574d76965385e5170a0c95f88ef2c67327e4337298b3a1d35e61be4", + "url": "https://files.pythonhosted.org/packages/a0/70/b05213239cf57a6638b7e75565c495a3821406c6a52c161c376dfe407340/types_psutil-7.1.3.20251210.tar.gz" } ], "project_name": "types-psutil", "requires_dists": [], "requires_python": ">=3.9", - "version": "7.0.0.20251001" + "version": "7.1.3.20251210" }, { "artifacts": [ @@ -6620,19 +6932,19 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "b9a5232c8921cf7661b29c163ccc56055c418ab2c6eabe8f917cbcc73a4c4157", - "url": "https://files.pythonhosted.org/packages/da/af/5d24b8d49ef358468ecfdff5c556adf37f4fd28e336b96f923661a808329/types_python_dateutil-2.9.0.20251008-py3-none-any.whl" + "hash": "9cf9c1c582019753b8639a081deefd7e044b9fa36bd8217f565c6c4e36ee0624", + "url": "https://files.pythonhosted.org/packages/43/0b/56961d3ba517ed0df9b3a27bfda6514f3d01b28d499d1bce9068cfe4edd1/types_python_dateutil-2.9.0.20251115-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "c3826289c170c93ebd8360c3485311187df740166dbab9dd3b792e69f2bc1f9c", - "url": "https://files.pythonhosted.org/packages/fc/83/24ed25dd0c6277a1a170c180ad9eef5879ecc9a4745b58d7905a4588c80d/types_python_dateutil-2.9.0.20251008.tar.gz" + "hash": "8a47f2c3920f52a994056b8786309b43143faa5a64d4cbb2722d6addabdf1a58", + "url": "https://files.pythonhosted.org/packages/6a/36/06d01fb52c0d57e9ad0c237654990920fa41195e4b3d640830dabf9eeb2f/types_python_dateutil-2.9.0.20251115.tar.gz" } ], "project_name": "types-python-dateutil", "requires_dists": [], "requires_python": ">=3.9", - "version": "2.9.0.20251008" + "version": "2.9.0.20251115" }, { "artifacts": [ @@ -6871,32 +7183,37 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "e6b01673c0fa6a13e374b50871808eb3bf7046c4b125b216f6bf1cc604cff0dc", - "url": "https://files.pythonhosted.org/packages/a7/c2/fe1e52489ae3122415c51f387e221dd0773709bad6c6cdaa599e8a2c5185/urllib3-2.5.0-py3-none-any.whl" + "hash": "e67d06fe947c36a7ca39f4994b08d73922d40e6cca949907be05efa6fd75110b", + "url": "https://files.pythonhosted.org/packages/bc/56/190ceb8cb10511b730b564fb1e0293fa468363dbad26145c34928a60cb0c/urllib3-2.6.1-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "3fc47733c7e419d4bc3f6b3dc2b4f890bb743906a30d56ba4a5bfa4bbff92760", - "url": "https://files.pythonhosted.org/packages/15/22/9ee70a2574a4f4599c47dd506532914ce044817c7752a79b6a51286319bc/urllib3-2.5.0.tar.gz" + "hash": "5379eb6e1aba4088bae84f8242960017ec8d8e3decf30480b3a1abdaa9671a3f", + "url": "https://files.pythonhosted.org/packages/5e/1d/0f3a93cca1ac5e8287842ed4eebbd0f7a991315089b1a0b01c7788aa7b63/urllib3-2.6.1.tar.gz" } ], "project_name": "urllib3", "requires_dists": [ - "brotli>=1.0.9; platform_python_implementation == \"CPython\" and extra == \"brotli\"", - "brotlicffi>=0.8.0; platform_python_implementation != \"CPython\" and extra == \"brotli\"", + "backports-zstd>=1.0.0; python_version < \"3.14\" and extra == \"zstd\"", + "brotli>=1.2.0; platform_python_implementation == \"CPython\" and extra == \"brotli\"", + "brotlicffi>=1.2.0.0; platform_python_implementation != \"CPython\" and extra == \"brotli\"", "h2<5,>=4; extra == \"h2\"", - "pysocks!=1.5.7,<2.0,>=1.5.6; extra == \"socks\"", - "zstandard>=0.18.0; extra == \"zstd\"" + "pysocks!=1.5.7,<2.0,>=1.5.6; extra == \"socks\"" ], "requires_python": ">=3.9", - "version": "2.5.0" + "version": "2.6.1" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "1f38ec5e3f18c8a10ded09742f7fb8de0108796eb673f30ce7762ce1b8550cad", - "url": "https://files.pythonhosted.org/packages/f8/ba/d69adbe699b768f6b29a5eec7b47dd610bd17a69de51b251126a801369ea/uvloop-0.22.1-cp313-cp313-musllinux_1_2_x86_64.whl" + "hash": "6cde23eeda1a25c75b2e07d39970f3374105d5eafbaab2a4482be82f272d5a5e", + "url": "https://files.pythonhosted.org/packages/e4/16/c1fd27e9549f3c4baf1dc9c20c456cd2f822dbf8de9f463824b0c0357e06/uvloop-0.22.1-cp314-cp314t-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "b31dc2fccbd42adc73bc4e7cdbae4fc5086cf378979e53ca5d0301838c5682c6", + "url": "https://files.pythonhosted.org/packages/02/62/67d382dfcb25d0a98ce73c11ed1a6fba5037a1a1d533dcbb7cab033a2636/uvloop-0.22.1-cp314-cp314-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", @@ -6905,28 +7222,53 @@ }, { "algorithm": "sha256", - "hash": "0530a5fbad9c9e4ee3f2b33b148c6a64d47bbad8000ea63704fa8260f4cf728e", - "url": "https://files.pythonhosted.org/packages/15/c0/0be24758891ef825f2065cd5db8741aaddabe3e248ee6acc5e8a80f04005/uvloop-0.22.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" + "hash": "4baa86acedf1d62115c1dc6ad1e17134476688f08c6efd8a2ab076e815665c74", + "url": "https://files.pythonhosted.org/packages/0d/f8/a132124dfda0777e489ca86732e85e69afcd1ff7686647000050ba670689/uvloop-0.22.1-cp314-cp314-macosx_10_13_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "badb4d8e58ee08dad957002027830d5c3b06aea446a6a3744483c2b3b745345c", + "url": "https://files.pythonhosted.org/packages/42/38/c9b09f3271a7a723a5de69f8e237ab8e7803183131bc57c890db0b6bb872/uvloop-0.22.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "37554f70528f60cad66945b885eb01f1bb514f132d92b6eeed1c90fd54ed6289", + "url": "https://files.pythonhosted.org/packages/79/7b/b01414f31546caf0919da80ad57cbfe24c56b151d12af68cee1b04922ca8/uvloop-0.22.1-cp314-cp314t-macosx_10_13_universal2.whl" }, { "algorithm": "sha256", - "hash": "561577354eb94200d75aca23fbde86ee11be36b00e52a4eaf8f50fb0c86b7705", - "url": "https://files.pythonhosted.org/packages/89/8c/182a2a593195bfd39842ea68ebc084e20c850806117213f5a299dfc513d9/uvloop-0.22.1-cp313-cp313-macosx_10_13_universal2.whl" + "hash": "3879b88423ec7e97cd4eba2a443aa26ed4e59b45e6b76aabf13fe2f27023a142", + "url": "https://files.pythonhosted.org/packages/90/cd/b62bdeaa429758aee8de8b00ac0dd26593a9de93d302bff3d21439e9791d/uvloop-0.22.1-cp314-cp314-macosx_10_13_universal2.whl" }, { "algorithm": "sha256", - "hash": "6e2ea3d6190a2968f4a14a23019d3b16870dd2190cd69c8180f7c632d21de68d", - "url": "https://files.pythonhosted.org/packages/b7/02/654426ce265ac19e2980bfd9ea6590ca96a56f10c76e63801a2df01c0486/uvloop-0.22.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" + "hash": "daf620c2995d193449393d6c62131b3fbd40a63bf7b307a1527856ace637fe88", + "url": "https://files.pythonhosted.org/packages/97/cc/48d232f33d60e2e2e0b42f4e73455b146b76ebe216487e862700457fbf3c/uvloop-0.22.1-cp314-cp314t-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "1cdf5192ab3e674ca26da2eada35b288d2fa49fdd0f357a19f0e7c4e7d5077c8", - "url": "https://files.pythonhosted.org/packages/d2/14/e301ee96a6dc95224b6f1162cd3312f6d1217be3907b79173b06785f2fe7/uvloop-0.22.1-cp313-cp313-macosx_10_13_x86_64.whl" + "hash": "297c27d8003520596236bdb2335e6b3f649480bd09e00d1e3a99144b691d2a35", + "url": "https://files.pythonhosted.org/packages/a3/94/94af78c156f88da4b3a733773ad5ba0b164393e357cc4bd0ab2e2677a7d6/uvloop-0.22.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" }, { "algorithm": "sha256", - "hash": "bc5ef13bbc10b5335792360623cc378d52d7e62c2de64660616478c32cd0598e", - "url": "https://files.pythonhosted.org/packages/d2/53/8369e5219a5855869bcee5f4d317f6da0e2c669aecf0ef7d371e3d084449/uvloop-0.22.1-cp313-cp313-musllinux_1_2_aarch64.whl" + "hash": "c1955d5a1dd43198244d47664a5858082a3239766a839b2102a269aaff7a4e25", + "url": "https://files.pythonhosted.org/packages/b5/35/60249e9fd07b32c665192cec7af29e06c7cd96fa1d08b84f012a56a0b38e/uvloop-0.22.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "b91328c72635f6f9e0282e4a57da7470c7350ab1c9f48546c0f2866205349d21", + "url": "https://files.pythonhosted.org/packages/c1/37/945b4ca0ac27e3dc4952642d4c900edd030b3da6c9634875af6e13ae80e5/uvloop-0.22.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "b76324e2dc033a0b2f435f33eb88ff9913c156ef78e153fb210e03c13da746b3", + "url": "https://files.pythonhosted.org/packages/d4/31/0bb232318dd838cad3fa8fb0c68c8b40e1145b32025581975e18b11fab40/uvloop-0.22.1-cp314-cp314t-macosx_10_13_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "93f617675b2d03af4e72a5333ef89450dfaa5321303ede6e67ba9c9d26878079", + "url": "https://files.pythonhosted.org/packages/f0/7a/f1171b4a882a5d13c8b7576f348acfe6074d72eaf52cccef752f748d4a9f/uvloop-0.22.1-cp314-cp314-musllinux_1_2_x86_64.whl" } ], "project_name": "uvloop", @@ -6950,38 +7292,38 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "d770ec581acc59d5597e7ccaac37aee7e3b5e716a77a7fa44e2967db3a715f53", - "url": "https://files.pythonhosted.org/packages/43/be/68961b14ea133d1792ce50f6df1753848b5377c3e06a8dbe4e39188a549a/valkey_glide-2.0.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + "hash": "cca93b8011bd016e0e5d347521cb1989ddf72024e63bc2e4905e083b12099182", + "url": "https://files.pythonhosted.org/packages/6b/2c/785fc73c2139e76232e26910eda12b5fcb62cb0dae15881a9b9072f56d13/valkey_glide-2.2.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" }, { "algorithm": "sha256", - "hash": "3a23572b83877537916ba36ad0a6b2fd96581534f0bc67ef8f8498bf4dbb2b40", - "url": "https://files.pythonhosted.org/packages/20/14/a8a470679953980af7eac3ccb09638f2a76d4547116d48cbc69ae6f25080/valkey_glide-2.0.1-cp313-cp313-macosx_11_0_arm64.whl" + "hash": "f8a5ac391b855d6598de5744f88bc8de2195dbb89cff8c47eec4be1166cf3f80", + "url": "https://files.pythonhosted.org/packages/09/02/cdc70a753e11c298640d782b9ae7118c9c696cca4946a22e5ffb881ecf58/valkey_glide-2.2.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" }, { "algorithm": "sha256", - "hash": "4f9c62a88aedffd725cced7d28a9488b27e3f675d1a5294b4962624e97d346c4", - "url": "https://files.pythonhosted.org/packages/32/35/fb0401c4bc7be748d937e95213786d21d9e56767b3ad816db5bad6f92c01/valkey_glide-2.0.1.tar.gz" + "hash": "d663a60a903dbf402dbca57f8dc909bf2fb941b66f8f8cf31ba8042285cef70d", + "url": "https://files.pythonhosted.org/packages/54/54/0cad127db543be379a0ed0eae9bf097363d46730b7d0aa6bedfa828aac83/valkey_glide-2.2.1-cp314-cp314-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "943a2c4a5c38b8a6b53281201d5a4997ec454a6fdda72d27050eeb6aaef12afb", - "url": "https://files.pythonhosted.org/packages/9f/49/f168dd0c778d9f6ff1be70d5d3bad7a86928fee563de7de5f4f575eddfd8/valkey_glide-2.0.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + "hash": "5938e857ef6aa01bf6da52e3d819112d6c6e7504ef3a37aed7277991d7d733f2", + "url": "https://files.pythonhosted.org/packages/a9/df/d5709dee5bc158136e7c57a0d9057ff0276fdac7bcf04ae2a1c6eaf559f6/valkey_glide-2.2.1-cp314-cp314-macosx_10_7_x86_64.whl" }, { "algorithm": "sha256", - "hash": "c49b53011a05b5820d0c660ee5c76574183b413a54faa33cf5c01ce77164d9c8", - "url": "https://files.pythonhosted.org/packages/ed/7e/257a2e4b61ac29d5923f89bad5fe62be7b4a19e7bec78d191af3ce77aa39/valkey_glide-2.0.1-cp313-cp313-macosx_10_7_x86_64.whl" + "hash": "aff0cf5cc8c9814a680a1bc046fde1d931f9c10df7bea4cd71c9a9c1d525360f", + "url": "https://files.pythonhosted.org/packages/ea/08/546285ec298251905e848b762b5e2a87f66b8f0649f3999f4c8b94b41ce4/valkey_glide-2.2.1.tar.gz" } ], "project_name": "valkey-glide", "requires_dists": [ "anyio>=4.9.0", - "protobuf>=3.20", - "typing-extensions>=4.8.0; python_full_version < \"3.11\"" + "protobuf>=6.20", + "typing-extensions>=4.8.0; python_version < \"3.11\"" ], "requires_python": ">=3.9", - "version": "2.0.1" + "version": "2.2.1" }, { "artifacts": [ @@ -7036,28 +7378,33 @@ }, { "algorithm": "sha256", - "hash": "6fd1ad24dc235e4ab88cda009e19bf347aabb975e44fd5c2fb22a3f6e4141277", - "url": "https://files.pythonhosted.org/packages/0c/37/6faf15cfa41bf1f3dba80cd3f5ccc6622dfccb660ab26ed79f0178c7497f/wrapt-1.17.3-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl" + "hash": "cf30f6e3c077c8e6a9a7809c94551203c8843e74ba0c960f4a98cd80d4665d39", + "url": "https://files.pythonhosted.org/packages/02/a2/cd864b2a14f20d14f4c496fab97802001560f9f41554eef6df201cd7f76c/wrapt-1.17.3-cp314-cp314-macosx_10_13_universal2.whl" + }, + { + "algorithm": "sha256", + "hash": "e405adefb53a435f01efa7ccdec012c016b5a1d3f35459990afc39b6be4d5056", + "url": "https://files.pythonhosted.org/packages/25/02/78926c1efddcc7b3aa0bc3d6b33a822f7d898059f7cd9ace8c8318e559ef/wrapt-1.17.3-cp314-cp314t-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "423ed5420ad5f5529db9ce89eac09c8a2f97da18eb1c870237e84c5a5c2d60aa", - "url": "https://files.pythonhosted.org/packages/40/90/ca86701e9de1622b16e09689fc24b76f69b06bb0150990f6f4e8b0eeb576/wrapt-1.17.3-cp313-cp313-musllinux_1_2_aarch64.whl" + "hash": "5ea5eb3c0c071862997d6f3e02af1d055f381b1d25b286b9d6644b79db77657c", + "url": "https://files.pythonhosted.org/packages/2e/9e/3ad852d77c35aae7ddebdbc3b6d35ec8013af7d7dddad0ad911f3d891dae/wrapt-1.17.3-cp314-cp314-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "16ecf15d6af39246fe33e507105d67e4b81d8f8d2c6598ff7e3ca1b8a37213f7", - "url": "https://files.pythonhosted.org/packages/45/35/6a08de0f2c96dcdd7fe464d7420ddb9a7655a6561150e5fc4da9356aeaab/wrapt-1.17.3-cp313-cp313-macosx_11_0_arm64.whl" + "hash": "5d4478d72eb61c36e5b446e375bbc49ed002430d17cdec3cecb36993398e1a9e", + "url": "https://files.pythonhosted.org/packages/64/0e/f4472f2fdde2d4617975144311f8800ef73677a159be7fe61fa50997d6c0/wrapt-1.17.3-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl" }, { "algorithm": "sha256", - "hash": "54a30837587c6ee3cd1a4d1c2ec5d24e77984d44e2f34547e2323ddb4e22eb77", - "url": "https://files.pythonhosted.org/packages/4f/a9/49940b9dc6d47027dc850c116d79b4155f15c08547d04db0f07121499347/wrapt-1.17.3-cp313-cp313-macosx_10_13_x86_64.whl" + "hash": "ed7c635ae45cfbc1a7371f708727bf74690daedc49b4dba310590ca0bd28aa8a", + "url": "https://files.pythonhosted.org/packages/77/ed/dd5cf21aec36c80443c6f900449260b80e2a65cf963668eaef3b9accce36/wrapt-1.17.3-cp314-cp314t-macosx_10_13_universal2.whl" }, { "algorithm": "sha256", - "hash": "0ed61b7c2d49cee3c027372df5809a59d60cf1b6c2f81ee980a091f3afed6a2d", - "url": "https://files.pythonhosted.org/packages/78/f2/efe19ada4a38e4e15b6dff39c3e3f3f73f5decf901f66e6f72fe79623a06/wrapt-1.17.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" + "hash": "249f88ed15503f6492a71f01442abddd73856a0032ae860de6d75ca62eed8067", + "url": "https://files.pythonhosted.org/packages/8d/96/450c651cc753877ad100c7949ab4d2e2ecc4d97157e00fa8f45df682456a/wrapt-1.17.3-cp314-cp314t-macosx_10_13_x86_64.whl" }, { "algorithm": "sha256", @@ -7066,13 +7413,43 @@ }, { "algorithm": "sha256", - "hash": "a47681378a0439215912ef542c45a783484d4dd82bac412b71e59cf9c0e1cea0", - "url": "https://files.pythonhosted.org/packages/fc/f6/759ece88472157acb55fc195e5b116e06730f1b651b5b314c66291729193/wrapt-1.17.3-cp313-cp313-macosx_10_13_universal2.whl" + "hash": "281262213373b6d5e4bb4353bc36d1ba4084e6d6b5d242863721ef2bf2c2930b", + "url": "https://files.pythonhosted.org/packages/c3/f7/c983d2762bcce2326c317c26a6a1e7016f7eb039c27cdf5c4e30f4160f31/wrapt-1.17.3-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "223db574bb38637e8230eb14b185565023ab624474df94d2af18f1cdb625216f", + "url": "https://files.pythonhosted.org/packages/cc/01/9b85a99996b0a97c8a17484684f206cbb6ba73c1ce6890ac668bcf3838fb/wrapt-1.17.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "5a03a38adec8066d5a37bea22f2ba6bbf39fcdefbe2d91419ab864c3fb515454", + "url": "https://files.pythonhosted.org/packages/d1/86/2fcad95994d9b572db57632acb6f900695a648c3e063f2cd344b3f5c5a37/wrapt-1.17.3-cp314-cp314t-macosx_11_0_arm64.whl" + }, + { + "algorithm": "sha256", + "hash": "d40770d7c0fd5cbed9d84b2c3f2e156431a12c9a37dc6284060fb4bec0b7ffd4", + "url": "https://files.pythonhosted.org/packages/d3/bd/4e70162ce398462a467bc09e768bee112f1412e563620adc353de9055d33/wrapt-1.17.3-cp314-cp314-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "e228514a06843cae89621384cfe3a80418f3c04aadf8a3b14e46a7be704e4235", + "url": "https://files.pythonhosted.org/packages/d5/46/d011725b0c89e853dc44cceb738a307cde5d240d023d6d40a82d1b4e1182/wrapt-1.17.3-cp314-cp314-macosx_10_13_x86_64.whl" }, { "algorithm": "sha256", - "hash": "e01375f275f010fcbf7f643b4279896d04e571889b8a5b3f848423d91bf07050", - "url": "https://files.pythonhosted.org/packages/fd/e0/d10bd257c9a3e15cbf5523025252cc14d77468e8ed644aafb2d6f54cb95d/wrapt-1.17.3-cp313-cp313-musllinux_1_2_x86_64.whl" + "hash": "88547535b787a6c9ce4086917b6e1d291aa8ed914fdd3a838b3539dc95c12804", + "url": "https://files.pythonhosted.org/packages/dc/ee/c414501ad518ac3e6fe184753632fe5e5ecacdcf0effc23f31c1e4f7bfcf/wrapt-1.17.3-cp314-cp314t-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "373342dd05b1d07d752cecbec0c41817231f29f3a89aa8b8843f7b95992ed0c7", + "url": "https://files.pythonhosted.org/packages/df/61/515ad6caca68995da2fac7a6af97faab8f78ebe3bf4f761e1b77efbc47b5/wrapt-1.17.3-cp314-cp314-musllinux_1_2_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "dc4a8d2b25efb6681ecacad42fca8859f88092d8732b170de6a5dddd80a1c8fa", + "url": "https://files.pythonhosted.org/packages/e4/0f/f673f75d489c7f22d17fe0193e84b41540d962f75fce579cf6873167c29b/wrapt-1.17.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" } ], "project_name": "wrapt", @@ -7102,88 +7479,143 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "a727101eb27f66727576630d02985d8a065d09cd0b5fcbe38a5793f71b2a97ef", - "url": "https://files.pythonhosted.org/packages/a4/06/ae25a353e8f032322df6f30d6bb1fc329773ee48e1a80a2196ccb8d1206b/yarl-1.19.0-py3-none-any.whl" + "hash": "1380560bdba02b6b6c90de54133c81c9f2a453dee9912fe58c1dcced1edb7cff", + "url": "https://files.pythonhosted.org/packages/73/ae/b48f95715333080afb75a4504487cbe142cae1268afc482d06692d605ae6/yarl-1.22.0-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "e51ac5435758ba97ad69617e13233da53908beccc6cfcd6c34bbed8dcbede486", + "url": "https://files.pythonhosted.org/packages/03/1f/c5d94abc91557384719da10ff166b916107c1b45e4d0423a88457071dd88/yarl-1.22.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "45c2842ff0e0d1b35a6bf1cd6c690939dacb617a70827f715232b2e0494d55d1", + "url": "https://files.pythonhosted.org/packages/06/5e/a15eb13db90abd87dfbefb9760c0f3f257ac42a5cac7e75dbc23bed97a9f/yarl-1.22.0-cp314-cp314t-macosx_10_13_universal2.whl" + }, + { + "algorithm": "sha256", + "hash": "594fcab1032e2d2cc3321bb2e51271e7cd2b516c7d9aee780ece81b07ff8244b", + "url": "https://files.pythonhosted.org/packages/11/63/ff458113c5c2dac9a9719ac68ee7c947cb621432bcf28c9972b1c0e83938/yarl-1.22.0-cp314-cp314-macosx_11_0_arm64.whl" + }, + { + "algorithm": "sha256", + "hash": "d947071e6ebcf2e2bee8fce76e10faca8f7a14808ca36a910263acaacef08eca", + "url": "https://files.pythonhosted.org/packages/18/82/9665c61910d4d84f41a5bf6837597c89e665fa88aa4941080704645932a9/yarl-1.22.0-cp314-cp314t-macosx_10_13_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "0b5bcc1a9c4839e7e30b7b30dd47fe5e7e44fb7054ec29b5bb8d526aa1041093", + "url": "https://files.pythonhosted.org/packages/32/75/f8919b2eafc929567d3d8411f72bdb1a2109c01caaab4ebfa5f8ffadc15b/yarl-1.22.0-cp314-cp314t-musllinux_1_2_s390x.whl" + }, + { + "algorithm": "sha256", + "hash": "852863707010316c973162e703bddabec35e8757e67fcb8ad58829de1ebc8590", + "url": "https://files.pythonhosted.org/packages/3f/3f/08e9b826ec2e099ea6e7c69a61272f4f6da62cb5b1b63590bb80ca2e4a40/yarl-1.22.0-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl" }, { "algorithm": "sha256", - "hash": "c03607bf932aa4cfae371e2dc9ca8b76faf031f106dac6a6ff1458418140c165", - "url": "https://files.pythonhosted.org/packages/0c/ee/7278d475784d407d1990a5939722e66a0fef057046fb5f1721f0a6eb156c/yarl-1.19.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl" + "hash": "bf4a21e58b9cde0e401e683ebd00f6ed30a06d14e93f7c8fd059f8b6e8f87b6a", + "url": "https://files.pythonhosted.org/packages/43/3c/45a2b6d80195959239a7b2a8810506d4eea5487dce61c2a3393e7fc3c52e/yarl-1.22.0-cp314-cp314t-musllinux_1_2_armv7l.whl" }, { "algorithm": "sha256", - "hash": "9931343d1c1f4e77421687b6b94bbebd8a15a64ab8279adf6fbb047eff47e536", - "url": "https://files.pythonhosted.org/packages/15/ae/242546114e052a7de21a75bd7d4860266439f90bbc21c5e4dd696866d91d/yarl-1.19.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + "hash": "34b36c2c57124530884d89d50ed2c1478697ad7473efd59cfd479945c95650e4", + "url": "https://files.pythonhosted.org/packages/46/b3/e20ef504049f1a1c54a814b4b9bed96d1ac0e0610c3b4da178f87209db05/yarl-1.22.0-cp314-cp314-macosx_10_13_universal2.whl" }, { "algorithm": "sha256", - "hash": "362f5480ba527b6c26ff58cff1f229afe8b7fdd54ee5ffac2ab827c1a75fc71c", - "url": "https://files.pythonhosted.org/packages/1c/c5/102cc3b9baad1a76f9127453ad08e0f5bc9c996c18128b1e28fe03817d6c/yarl-1.19.0-cp313-cp313-musllinux_1_2_s390x.whl" + "hash": "bebf8557577d4401ba8bd9ff33906f1376c877aa78d1fe216ad01b4d6745af71", + "url": "https://files.pythonhosted.org/packages/57/63/0c6ebca57330cd313f6102b16dd57ffaf3ec4c83403dcb45dbd15c6f3ea1/yarl-1.22.0.tar.gz" }, { "algorithm": "sha256", - "hash": "70f384921c24e703d249a6ccdabeb57dd6312b568b504c69e428a8dd3e8e68ca", - "url": "https://files.pythonhosted.org/packages/20/89/3086bc8ec8d7bd505531c51056452d7ae6af906d29c427374f1170ac1938/yarl-1.19.0-cp313-cp313-musllinux_1_2_aarch64.whl" + "hash": "334b8721303e61b00019474cc103bdac3d7b1f65e91f0bfedeec2d56dfe74b53", + "url": "https://files.pythonhosted.org/packages/5d/9a/2f65743589809af4d0a6d3aa749343c4b5f4c380cc24a8e94a3c6625a808/yarl-1.22.0-cp314-cp314t-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "7a8e19fd5a6fdf19a91f2409665c7a089ffe7b9b5394ab33c0eec04cbecdd01f", - "url": "https://files.pythonhosted.org/packages/3e/7c/fbeebf875c1ededd872d6fefabd8a8526ef8aba6e9e8bcdf230d895d487b/yarl-1.19.0-cp313-cp313-macosx_11_0_arm64.whl" + "hash": "33e32a0dd0c8205efa8e83d04fc9f19313772b78522d1bdc7d9aed706bfd6138", + "url": "https://files.pythonhosted.org/packages/5f/97/aa6a143d3afba17b6465733681c70cf175af89f76ec8d9286e08437a7454/yarl-1.22.0-cp314-cp314t-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "262087a8a0d73e1d169d45c2baf968126f93c97cf403e1af23a7d5455d52721f", - "url": "https://files.pythonhosted.org/packages/46/2c/35f4347f76ea4c986e9c1f774b085f489b3a1bf1503c67a4dfc5d8e68e92/yarl-1.19.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" + "hash": "f87ac53513d22240c7d59203f25cc3beac1e574c6cd681bbfd321987b69f95fd", + "url": "https://files.pythonhosted.org/packages/67/a8/fb6b1adbe98cf1e2dd9fad71003d3a63a1bc22459c6e15f5714eb9323b93/yarl-1.22.0-cp314-cp314-musllinux_1_2_s390x.whl" }, { "algorithm": "sha256", - "hash": "087ae8f8319848c18e0d114d0f56131a9c017f29200ab1413b0137ad7c83e2ae", - "url": "https://files.pythonhosted.org/packages/6b/fb/f65b1347be8e12ac4e3e37a9bb880e6b9b604f252aaafd88e4879b1e9348/yarl-1.19.0-cp313-cp313-musllinux_1_2_ppc64le.whl" + "hash": "4792b262d585ff0dff6bcb787f8492e40698443ec982a3568c2096433660c694", + "url": "https://files.pythonhosted.org/packages/80/7c/428e5812e6b87cd00ee8e898328a62c95825bf37c7fa87f0b6bb2ad31304/yarl-1.22.0-cp314-cp314-musllinux_1_2_armv7l.whl" }, { "algorithm": "sha256", - "hash": "e66c14d162bac94973e767b24de5d7e6c5153f7305a64ff4fcba701210bcd638", - "url": "https://files.pythonhosted.org/packages/71/24/648d99c134f2e14fc01ba790ad36ab56815e00069e60a12a4af893448b83/yarl-1.19.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" + "hash": "e4b582bab49ac33c8deb97e058cd67c2c50dac0dd134874106d9c774fd272529", + "url": "https://files.pythonhosted.org/packages/86/a0/c2ab48d74599c7c84cb104ebd799c5813de252bea0f360ffc29d270c2caa/yarl-1.22.0-cp314-cp314t-musllinux_1_2_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "d27a6482ad5e05e8bafd47bf42866f8a1c0c3345abcb48d4511b3c29ecc197dc", - "url": "https://files.pythonhosted.org/packages/72/4f/3ee8de3f94baa33c0716260b0048b1fd5306f104b3efc6e1713693e7063e/yarl-1.19.0-cp313-cp313-macosx_10_13_x86_64.whl" + "hash": "c4647674b6150d2cae088fc07de2738a84b8bcedebef29802cf0b0a82ab6face", + "url": "https://files.pythonhosted.org/packages/8c/96/475509110d3f0153b43d06164cf4195c64d16999e0c7e2d8a099adcd6907/yarl-1.22.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "7908a25d33f94852b479910f9cae6cdb9e2a509894e8d5f416c8342c0253c397", - "url": "https://files.pythonhosted.org/packages/79/e2/9e092876b2156c1d386e4864e85eba541ccabf2b9dcc47da64624bad0cc9/yarl-1.19.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl" + "hash": "078a8aefd263f4d4f923a9677b942b445a2be970ca24548a8102689a3a8ab8da", + "url": "https://files.pythonhosted.org/packages/98/92/ab8d4657bd5b46a38094cfaea498f18bb70ce6b63508fd7e909bd1f93066/yarl-1.22.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" }, { "algorithm": "sha256", - "hash": "756b9ea5292a2c180d1fe782a377bc4159b3cfefaca7e41b5b0a00328ef62fa9", - "url": "https://files.pythonhosted.org/packages/a1/5b/2c9765524a70d1c51922b41c91caa30c8094a416734349166e1a3d8de055/yarl-1.19.0-cp313-cp313-musllinux_1_2_armv7l.whl" + "hash": "f3d7a87a78d46a2e3d5b72587ac14b4c16952dd0887dbb051451eceac774411e", + "url": "https://files.pythonhosted.org/packages/a7/bc/315a56aca762d44a6aaaf7ad253f04d996cb6b27bad34410f82d76ea8038/yarl-1.22.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" }, { "algorithm": "sha256", - "hash": "cbeb9c145d534c240a63b6ecc8a8dd451faeb67b3dc61d729ec197bb93e29497", - "url": "https://files.pythonhosted.org/packages/ca/f8/c4a190bcc3cd98fb428d1dd31519e58004153dc7f2acd1236ecae54e3433/yarl-1.19.0-cp313-cp313-musllinux_1_2_i686.whl" + "hash": "1e7ce67c34138a058fd092f67d07a72b8e31ff0c9236e751957465a24b28910c", + "url": "https://files.pythonhosted.org/packages/b0/ab/5b13d3e157505c43c3b43b5a776cbf7b24a02bc4cccc40314771197e3508/yarl-1.22.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" }, { "algorithm": "sha256", - "hash": "59281b9ed27bc410e0793833bcbe7fc149739d56ffa071d1e0fe70536a4f7b61", - "url": "https://files.pythonhosted.org/packages/cd/a7/222144efa2f4a47363a5fee27d8a1d24851283b5a7f628890805fe7f7a66/yarl-1.19.0-cp313-cp313-macosx_10_13_universal2.whl" + "hash": "68986a61557d37bb90d3051a45b91fa3d5c516d177dfc6dd6f2f436a07ff2b6b", + "url": "https://files.pythonhosted.org/packages/b6/2e/f4d26183c8db0bb82d491b072f3127fb8c381a6206a3a56332714b79b751/yarl-1.22.0-cp314-cp314-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "cda34ab19099c3a1685ad48fe45172536610c312b993310b5f1ca3eb83453b36", - "url": "https://files.pythonhosted.org/packages/f3/ff/b7a9c1d7df37e594b43b7a8030e228ccd4ce361eeff24a92b17fe210e57d/yarl-1.19.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + "hash": "efb07073be061c8f79d03d04139a80ba33cbd390ca8f0297aae9cce6411e4c6b", + "url": "https://files.pythonhosted.org/packages/c9/66/59db471aecfbd559a1fd48aedd954435558cd98c7d0da8b03cc6c140a32c/yarl-1.22.0-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" }, { "algorithm": "sha256", - "hash": "f408d4b4315e814e5c3668094e33d885f13c7809cbe831cbdc5b1bb8c7a448f4", - "url": "https://files.pythonhosted.org/packages/f7/ce/f5dc0439320dfe59fadab8cdd24ac324be19cf6ae4736422c7e2a510ddf3/yarl-1.19.0-cp313-cp313-musllinux_1_2_x86_64.whl" + "hash": "c0232bce2170103ec23c454e54a57008a9a72b5d1c3105dc2496750da8cfa47c", + "url": "https://files.pythonhosted.org/packages/cf/72/6a85bba382f22cf78add705d8c3731748397d986e197e53ecc7835e76de7/yarl-1.22.0-cp314-cp314t-musllinux_1_2_x86_64.whl" }, { "algorithm": "sha256", - "hash": "01e02bb80ae0dbed44273c304095295106e1d9470460e773268a27d11e594892", - "url": "https://files.pythonhosted.org/packages/fc/4d/8a8f57caccce49573e567744926f88c6ab3ca0b47a257806d1cf88584c5f/yarl-1.19.0.tar.gz" + "hash": "22b029f2881599e2f1b06f8f1db2ee63bd309e2293ba2d566e008ba12778b8da", + "url": "https://files.pythonhosted.org/packages/d9/f9/3aa2c0e480fb73e872ae2814c43bc1e734740bb0d54e8cb2a95925f98131/yarl-1.22.0-cp314-cp314-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "131a085a53bfe839a477c0845acf21efc77457ba2bcf5899618136d64f3303a2", + "url": "https://files.pythonhosted.org/packages/e3/9f/90360108e3b32bd76789088e99538febfea24a102380ae73827f62073543/yarl-1.22.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" + }, + { + "algorithm": "sha256", + "hash": "0dd9a702591ca2e543631c2a017e4a547e38a5c0f29eece37d9097e04a7ac683", + "url": "https://files.pythonhosted.org/packages/e4/04/3532d990fdbab02e5ede063676b5c4260e7f3abea2151099c2aa745acc4c/yarl-1.22.0-cp314-cp314-macosx_10_13_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "ebd4549b108d732dba1d4ace67614b9545b21ece30937a63a65dd34efa19732d", + "url": "https://files.pythonhosted.org/packages/ec/2a/249405fd26776f8b13c067378ef4d7dd49c9098d1b6457cdd152a99e96a9/yarl-1.22.0-cp314-cp314-musllinux_1_2_ppc64le.whl" + }, + { + "algorithm": "sha256", + "hash": "bca03b91c323036913993ff5c738d0842fc9c60c4648e5c8d98331526df89784", + "url": "https://files.pythonhosted.org/packages/f5/e7/d8c5a7752fef68205296201f8ec2bf718f5c805a7a7e9880576c67600658/yarl-1.22.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "d77e1b2c6d04711478cb1c4ab90db07f1609ccf06a287d5607fcd90dc9863acf", + "url": "https://files.pythonhosted.org/packages/fb/76/242a5ef4677615cf95330cfc1b4610e78184400699bdda0acb897ef5e49a/yarl-1.22.0-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl" } ], "project_name": "yarl", @@ -7193,7 +7625,7 @@ "propcache>=0.2.1" ], "requires_python": ">=3.9", - "version": "1.19.0" + "version": "1.22.0" }, { "artifacts": [ @@ -7251,6 +7683,7 @@ "version": "1.1.8" } ], + "marker": null, "platform_tag": null } ], @@ -7258,8 +7691,8 @@ "only_wheels": [], "overridden": [], "path_mappings": {}, - "pex_version": "2.50.4", - "pip_version": "25.2", + "pex_version": "2.74.1", + "pip_version": "25.3", "prefer_older_binary": false, "requirements": [ "Jinja2~=3.1.6", @@ -7268,36 +7701,36 @@ "SQLAlchemy[postgresql_asyncpg]~=1.4.54", "aioboto3~=15.0.0", "aiodataloader~=0.4.2", - "aiodns==3.2", + "aiodns~=3.2", "aiodocker==0.24.0", "aiofiles~=24.1.0", "aiohttp_cors~=0.8.1", "aiohttp_jinja2~=1.6", - "aiohttp_sse>=2.2", - "aiohttp~=3.12.15", + "aiohttp_sse~=2.2", + "aiohttp~=3.13.0", "aiomonitor~=0.7.0", - "aioresponses>=0.7.3", + "aioresponses~=0.7.8", "aiosqlite~=0.21.0", "aiotools~=2.2.3", "aiotusclient~=0.1.4", "alembic~=1.13.2", "appdirs~=1.4.4", "async_timeout~=4.0", - "asyncpg>=0.29.0", - "asynctest>=0.13.0", - "asyncudp>=0.11", - "attrs>=25.3", + "asyncpg~=0.31.0", + "asynctest~=0.13.0", + "asyncudp~=0.11", + "attrs~=25.3", "backend.ai-krunner-alpine==5.4.0", "backend.ai-krunner-static-gnu==4.4.0", - "bcrypt~=4.2.0", + "bcrypt~=5.0.0", "boto3~=1.35", "cachetools~=5.5.0", "callosum~=1.0.3", "cattrs~=24.1.1", "click~=8.1.7", - "colorama>=0.4.6", + "colorama~=0.4.6", "coloredlogs~=15.0", - "cryptography>=44.0.2", + "cryptography~=44.0.2", "dataclasses-json~=0.5.7", "etcd-client-py~=0.4.1", "faker~=24.7.1", @@ -7306,54 +7739,54 @@ "graphql-core~=3.2.6", "graphql-relay~=3.2.0", "graypy==2.1.0", - "hiredis>=3.0.0", + "hiredis~=3.3.0", "huggingface-hub~=0.34.3", - "humanize>=3.1.0", + "humanize~=4.11", "ifaddr~=0.2", "inquirer~=3.3.0", "janus~=2.0", - "jupyter-client>=8.6", + "jupyter-client~=8.6", "kubernetes-asyncio~=33.3.0", "kubernetes~=33.1.0", "lark~=1.1.5", - "memray~=1.17.2", + "memray~=1.19.0", "more-itertools~=10.5.0", - "msgpack~=1.1.0", - "multidict~=6.6.4", + "msgpack~=1.1.2", + "multidict~=6.7.0", "namedlist~=1.8", "networkx~=3.3.0", - "opentelemetry-api~=1.33.1", - "opentelemetry-exporter-otlp-proto-grpc~=1.33.1", - "opentelemetry-instrumentation-aiohttp-client~=0.54b1", - "opentelemetry-instrumentation-aiohttp-server~=0.54b1", - "opentelemetry-instrumentation-logging~=0.54b1", - "opentelemetry-sdk~=1.33.1", - "orjson~=3.10.16", - "packaging>=24.1", + "opentelemetry-api~=1.39.0", + "opentelemetry-exporter-otlp-proto-grpc~=1.39.0", + "opentelemetry-instrumentation-aiohttp-client~=0.60b0", + "opentelemetry-instrumentation-aiohttp-server~=0.60b0", + "opentelemetry-instrumentation-logging~=0.60b0", + "opentelemetry-sdk~=1.39.0", + "orjson~=3.11.0", + "packaging~=24.2", "pexpect~=4.8", "prometheus-client~=0.21.1", "psutil~=7.0", - "pycryptodome>=3.20.0", - "pydantic[email]~=2.11.3", + "pycryptodome~=3.21", + "pydantic[email]~=2.12.0", "pyhumps~=3.8.0", "pyroscope-io~=0.8.8", "pytest-aiohttp~=1.1.0", - "pytest-dependency>=0.6.0", - "pytest-mock>=3.14.0", - "pytest>=8.3.3", - "python-dateutil>=2.9", + "pytest-dependency~=0.6.0", + "pytest-mock~=3.14.0", + "pytest~=8.3.3", + "python-dateutil~=2.9", "python-dotenv~=0.20.0", "python-json-logger~=3.2.0", "pyzmq~=26.4", - "redis[hiredis]==4.5.5", + "redis[hiredis]~=5.2.0", "rich~=13.6", "ruamel.yaml~=0.18.10", - "setproctitle~=1.3.5", + "setproctitle~=1.3.7", "setuptools~=80.0.0", "strawberry-graphql~=0.278.0", "tabulate~=0.8.9", "temporenc~=0.1.0", - "tenacity>=9.0", + "tenacity~=9.0", "testcontainers[minio,postgres,redis]~=4.8.1", "textual~=0.79.1", "tomli-w~=1.2.0", @@ -7380,12 +7813,12 @@ "types-tqdm", "typing_extensions~=4.11", "uvloop~=0.22.1; sys_platform != \"Windows\"", - "valkey-glide~=2.0.1", - "yarl~=1.19.0", + "valkey-glide~=2.2.1", + "yarl~=1.22.0", "zipstream-new~=1.1.8" ], "requires_python": [ - "==3.13.7" + "CPython==3.14.1" ], "resolver_version": "pip-2020-resolver", "style": "universal", diff --git a/requirements.txt b/requirements.txt index b394a3e4d48..177c184d740 100644 --- a/requirements.txt +++ b/requirements.txt @@ -51,12 +51,12 @@ multidict~=6.7.0 namedlist~=1.8 networkx~=3.3.0 orjson~=3.11.0 -opentelemetry-api~=1.33.1 -opentelemetry-sdk~=1.33.1 -opentelemetry-exporter-otlp-proto-grpc~=1.33.1 -opentelemetry-instrumentation-aiohttp-client~=0.54b1 -opentelemetry-instrumentation-aiohttp-server~=0.54b1 -opentelemetry-instrumentation-logging~=0.54b1 +opentelemetry-api~=1.39.0 +opentelemetry-sdk~=1.39.0 +opentelemetry-exporter-otlp-proto-grpc~=1.39.0 +opentelemetry-instrumentation-aiohttp-client~=0.60b0 +opentelemetry-instrumentation-aiohttp-server~=0.60b0 +opentelemetry-instrumentation-logging~=0.60b0 pexpect~=4.8 prometheus-client~=0.21.1 psutil~=7.0 @@ -94,7 +94,7 @@ typeguard~=4.3 typing_extensions~=4.11 textual~=0.79.1 uvloop~=0.22.1; sys_platform != "Windows" -valkey-glide~=2.2.0 +valkey-glide~=2.2.1 yarl~=1.22.0 zipstream-new~=1.1.8 From 8aa7fe21c609e186e6dda1676050914a44456789 Mon Sep 17 00:00:00 2001 From: Joongi Kim Date: Wed, 10 Dec 2025 15:02:16 +0900 Subject: [PATCH 08/24] deps: Sync pydantic version of the mypy tool resolve and the main requirements --- tools/mypy-requirements.txt | 2 +- tools/mypy.lock | 151 +++++++++++++++++++++++++++++++----- 2 files changed, 133 insertions(+), 20 deletions(-) diff --git a/tools/mypy-requirements.txt b/tools/mypy-requirements.txt index 392ca34000d..9c81e9f75a6 100644 --- a/tools/mypy-requirements.txt +++ b/tools/mypy-requirements.txt @@ -1,3 +1,3 @@ mypy==1.18.2 -pydantic~=2.11.3 +pydantic~=2.12.0 strawberry-graphql~=0.278.0 diff --git a/tools/mypy.lock b/tools/mypy.lock index d94f2fe61ac..03d7647a6e1 100644 --- a/tools/mypy.lock +++ b/tools/mypy.lock @@ -4,19 +4,21 @@ // // --- BEGIN PANTS LOCKFILE METADATA: DO NOT EDIT OR REMOVE --- // { -// "version": 3, +// "version": 4, // "valid_for_interpreter_constraints": [ // "CPython==3.14.1" // ], // "generated_with_requirements": [ // "mypy==1.18.2", -// "pydantic~=2.11.3", +// "pydantic~=2.12.0", // "strawberry-graphql~=0.278.0" // ], // "manylinux": "manylinux2014", // "requirement_constraints": [], // "only_binary": [], -// "no_binary": [] +// "no_binary": [], +// "excludes": [], +// "overrides": [] // } // --- END PANTS LOCKFILE METADATA --- @@ -202,41 +204,151 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "802a655709d49bd004c31e865ef37da30b540786a46bfce02333e0e24b5fe29a", - "url": "https://files.pythonhosted.org/packages/bd/1f/73c53fcbfb0b5a78f91176df41945ca466e71e9d9d836e5c522abda39ee7/pydantic-2.11.10-py3-none-any.whl" + "hash": "e561593fccf61e8a20fc46dfc2dfe075b8be7d0188df33f221ad1f0139180f9d", + "url": "https://files.pythonhosted.org/packages/5a/87/b70ad306ebb6f9b585f114d0ac2137d792b48be34d732d60e597c2f8465a/pydantic-2.12.5-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "dc280f0982fbda6c38fada4e476dc0a4f3aeaf9c6ad4c28df68a666ec3c61423", - "url": "https://files.pythonhosted.org/packages/ae/54/ecab642b3bed45f7d5f59b38443dcb36ef50f85af192e6ece103dbfe9587/pydantic-2.11.10.tar.gz" + "hash": "4d351024c75c0f085a9febbb665ce8c0c6ec5d30e903bdb6394b7ede26aebb49", + "url": "https://files.pythonhosted.org/packages/69/44/36f1a6e523abc58ae5f928898e4aca2e0ea509b5aa6f6f392a5d882be928/pydantic-2.12.5.tar.gz" } ], "project_name": "pydantic", "requires_dists": [ "annotated-types>=0.6.0", "email-validator>=2.0.0; extra == \"email\"", - "pydantic-core==2.33.2", - "typing-extensions>=4.12.2", - "typing-inspection>=0.4.0", + "pydantic-core==2.41.5", + "typing-extensions>=4.14.1", + "typing-inspection>=0.4.2", "tzdata; (python_version >= \"3.9\" and platform_system == \"Windows\") and extra == \"timezone\"" ], "requires_python": ">=3.9", - "version": "2.11.10" + "version": "2.12.5" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "7cb8bc3605c29176e1b105350d2e6474142d7c1bd1d9327c4a9bdb46bf827acc", - "url": "https://files.pythonhosted.org/packages/ad/88/5f2260bdfae97aabf98f1778d43f69574390ad787afb646292a638c923d4/pydantic_core-2.33.2.tar.gz" + "hash": "2a5e06546e19f24c6a96a129142a75cee553cc018ffee48a460059b1185f4470", + "url": "https://files.pythonhosted.org/packages/d9/02/3c562f3a51afd4d88fff8dffb1771b30cfdfd79befd9883ee094f5b6c0d8/pydantic_core-2.41.5-cp314-cp314t-musllinux_1_1_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "a39455728aabd58ceabb03c90e12f71fd30fa69615760a075b9fec596456ccc3", + "url": "https://files.pythonhosted.org/packages/02/7a/f999a6dcbcd0e5660bc348a3991c8915ce6599f4f2c6ac22f01d7a10816c/pydantic_core-2.41.5-cp314-cp314t-musllinux_1_1_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "2782c870e99878c634505236d81e5443092fba820f0373997ff75f90f68cd553", + "url": "https://files.pythonhosted.org/packages/18/66/e9db17a9a763d72f03de903883c057b2592c09509ccfe468187f2a2eef29/pydantic_core-2.41.5-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl" + }, + { + "algorithm": "sha256", + "hash": "5cb1b2f9742240e4bb26b652a5aeb840aa4b417c7748b6f8387927bc6e45e40d", + "url": "https://files.pythonhosted.org/packages/20/25/92dc684dd8eb75a234bc1c764b4210cf2646479d54b47bf46061657292a8/pydantic_core-2.41.5-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" + }, + { + "algorithm": "sha256", + "hash": "25e1c2af0fce638d5f1988b686f3b3ea8cd7de5f244ca147c777769e798a9cd1", + "url": "https://files.pythonhosted.org/packages/23/04/e89c29e267b8060b40dca97bfc64a19b2a3cf99018167ea1677d96368273/pydantic_core-2.41.5-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "239edca560d05757817c13dc17c50766136d21f7cd0fac50295499ae24f90fdf", + "url": "https://files.pythonhosted.org/packages/3a/b1/6c990ac65e3b4c079a4fb9f5b05f5b013afa0f4ed6780a3dd236d2cbdc64/pydantic_core-2.41.5-cp314-cp314t-musllinux_1_1_armv7l.whl" + }, + { + "algorithm": "sha256", + "hash": "e56ba91f47764cc14f1daacd723e3e82d1a89d783f0f5afe9c364b8bb491ccdb", + "url": "https://files.pythonhosted.org/packages/3c/0d/f05e79471e889d74d3d88f5bd20d0ed189ad94c2423d81ff8d0000aab4ff/pydantic_core-2.41.5-cp314-cp314-musllinux_1_1_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "22f0fb8c1c583a3b6f24df2470833b40207e907b90c928cc8d3594b76f874375", + "url": "https://files.pythonhosted.org/packages/4c/d2/ef2074dc020dd6e109611a8be4449b98cd25e1b9b8a303c2f0fca2f2bcf7/pydantic_core-2.41.5-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "3006c3dd9ba34b0c094c544c6006cc79e87d8612999f1a5d43b769b89181f23c", + "url": "https://files.pythonhosted.org/packages/5a/f0/e5e6b99d4191da102f2b0eb9687aaa7f5bea5d9964071a84effc3e40f997/pydantic_core-2.41.5-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "72f6c8b11857a856bcfa48c86f5368439f74453563f951e473514579d44aa612", + "url": "https://files.pythonhosted.org/packages/71/48/36fb760642d568925953bcc8116455513d6e34c4beaa37544118c36aba6d/pydantic_core-2.41.5-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" + }, + { + "algorithm": "sha256", + "hash": "08daa51ea16ad373ffd5e7606252cc32f07bc72b28284b6bc9c6df804816476e", + "url": "https://files.pythonhosted.org/packages/71/70/23b021c950c2addd24ec408e9ab05d59b035b39d97cdc1130e1bce647bb6/pydantic_core-2.41.5.tar.gz" + }, + { + "algorithm": "sha256", + "hash": "1d1d9764366c73f996edd17abb6d9d7649a7eb690006ab6adbda117717099b14", + "url": "https://files.pythonhosted.org/packages/74/1a/145646e5687e8d9a1e8d09acb278c8535ebe9e972e1f162ed338a622f193/pydantic_core-2.41.5-cp314-cp314-macosx_11_0_arm64.whl" + }, + { + "algorithm": "sha256", + "hash": "4819fa52133c9aa3c387b3328f25c1facc356491e6135b459f1de698ff64d869", + "url": "https://files.pythonhosted.org/packages/74/9b/0046701313c6ef08c0c1cf0e028c67c770a4e1275ca73131563c5f2a310a/pydantic_core-2.41.5-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" + }, + { + "algorithm": "sha256", + "hash": "506d766a8727beef16b7adaeb8ee6217c64fc813646b424d0804d67c16eddb66", + "url": "https://files.pythonhosted.org/packages/84/a3/15a82ac7bd97992a82257f777b3583d3e84bdb06ba6858f745daa2ec8a85/pydantic_core-2.41.5-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" + }, + { + "algorithm": "sha256", + "hash": "2b761d210c9ea91feda40d25b4efe82a1707da2ef62901466a42492c028553a2", + "url": "https://files.pythonhosted.org/packages/8a/cd/6bac76ecd1b27e75a95ca3a9a559c643b3afcd2dd62086d4b7a32a18b169/pydantic_core-2.41.5-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl" + }, + { + "algorithm": "sha256", + "hash": "8566def80554c3faa0e65ac30ab0932b9e3a5cd7f8323764303d468e5c37595a", + "url": "https://files.pythonhosted.org/packages/92/ed/77542d0c51538e32e15afe7899d79efce4b81eee631d99850edc2f5e9349/pydantic_core-2.41.5-cp314-cp314t-macosx_10_12_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "63510af5e38f8955b8ee5687740d6ebf7c2a0886d15a6d65c32814613681bc07", + "url": "https://files.pythonhosted.org/packages/a6/62/205a998f4327d2079326b01abee48e502ea739d174f0a89295c481a2272e/pydantic_core-2.41.5-cp314-cp314-musllinux_1_1_armv7l.whl" + }, + { + "algorithm": "sha256", + "hash": "2ff4321e56e879ee8d2a879501c8e469414d948f4aba74a2d4593184eb326660", + "url": "https://files.pythonhosted.org/packages/aa/4e/2ae1aa85d6af35a39b236b1b1641de73f5a6ac4d5a7509f77b814885760c/pydantic_core-2.41.5-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "b80aa5095cd3109962a298ce14110ae16b8c1aece8b72f9dafe81cf597ad80b3", + "url": "https://files.pythonhosted.org/packages/bb/3d/6913dde84d5be21e284439676168b28d8bbba5600d838b9dca99de0fad71/pydantic_core-2.41.5-cp314-cp314t-macosx_11_0_arm64.whl" + }, + { + "algorithm": "sha256", + "hash": "d0d2568a8c11bf8225044aa94409e21da0cb09dcdafe9ecd10250b2baad531a9", + "url": "https://files.pythonhosted.org/packages/cd/13/2e215f17f0ef326fc72afe94776edb77525142c693767fc347ed6288728d/pydantic_core-2.41.5-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl" + }, + { + "algorithm": "sha256", + "hash": "0177272f88ab8312479336e1d777f6b124537d47f2123f89cb37e0accea97f90", + "url": "https://files.pythonhosted.org/packages/d3/9e/3ce66cebb929f3ced22be85d4c2399b8e85b622db77dad36b73c5387f8f8/pydantic_core-2.41.5-cp314-cp314-musllinux_1_1_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "bd3d54f38609ff308209bd43acea66061494157703364ae40c951f83ba99a1a9", + "url": "https://files.pythonhosted.org/packages/e2/09/f53e0b05023d3e30357d82eb35835d0f6340ca344720a4599cd663dca599/pydantic_core-2.41.5-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl" + }, + { + "algorithm": "sha256", + "hash": "3f37a19d7ebcdd20b96485056ba9e8b304e27d9904d233d7b1015db320e51f0a", + "url": "https://files.pythonhosted.org/packages/ea/28/46b7c5c9635ae96ea0fbb779e271a38129df2550f763937659ee6c5dbc65/pydantic_core-2.41.5-cp314-cp314-macosx_10_12_x86_64.whl" } ], "project_name": "pydantic-core", "requires_dists": [ - "typing-extensions!=4.7.0,>=4.6.0" + "typing-extensions>=4.14.1" ], "requires_python": ">=3.9", - "version": "2.33.2" + "version": "2.41.5" }, { "artifacts": [ @@ -371,6 +483,7 @@ "version": "0.4.2" } ], + "marker": null, "platform_tag": null } ], @@ -378,16 +491,16 @@ "only_wheels": [], "overridden": [], "path_mappings": {}, - "pex_version": "2.50.4", - "pip_version": "25.2", + "pex_version": "2.74.1", + "pip_version": "25.3", "prefer_older_binary": false, "requirements": [ "mypy==1.18.2", - "pydantic~=2.11.3", + "pydantic~=2.12.0", "strawberry-graphql~=0.278.0" ], "requires_python": [ - "==3.14.1" + "CPython==3.14.1" ], "resolver_version": "pip-2020-resolver", "style": "universal", From 01a64a7a28f2eaaf6851f4ca348fbcaa68d8c6ab Mon Sep 17 00:00:00 2001 From: Joongi Kim Date: Wed, 10 Dec 2025 15:24:30 +0900 Subject: [PATCH 09/24] deps: Change target Python version to 3.14.2 --- README.md | 4 +- pants.toml | 2 +- pyproject.toml | 6 +- python.lock | 118 ++++++++++++++++++++++++------------ requirements.txt | 5 +- tools/black.lock | 15 +++-- tools/mypy-requirements.txt | 2 +- tools/mypy.lock | 32 +++++----- tools/setuptools.lock | 15 +++-- tools/towncrier.lock | 15 +++-- 10 files changed, 134 insertions(+), 80 deletions(-) diff --git a/README.md b/README.md index 288acdd7cd4..a3c4fb8e1fb 100644 --- a/README.md +++ b/README.md @@ -22,8 +22,8 @@ Requirements ### Python & Build Tools -- **Python**: 3.14.x (main branch requires CPython 3.14.1) -- **Pantsbuild**: 2.27.x +- **Python**: 3.14.x (main branch requires CPython 3.14.2) +- **Pantsbuild**: 2.29.x - See [full version compatibility table](src/ai/backend/README.md#development-setup) ### Infrastructure diff --git a/pants.toml b/pants.toml index 44626b3e5de..b15d3b61460 100644 --- a/pants.toml +++ b/pants.toml @@ -53,7 +53,7 @@ enable_resolves = true # * Let other developers do: # - Run `pants export` again # - Update their local IDE/editor's interpreter path configurations -interpreter_constraints = ["CPython==3.14.1"] +interpreter_constraints = ["CPython==3.14.2"] interpreter_versions_universe = ["3.11", "3.12", "3.13", "3.14"] tailor_pex_binary_targets = false pip_version = "25.3" diff --git a/pyproject.toml b/pyproject.toml index ca5abbeca2b..301d4cd7d0c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,5 +1,5 @@ [project] -requires-python = "~=3.14.1" +requires-python = "~=3.14.2" name = "backend.ai" dynamic = ["version"] @@ -117,7 +117,7 @@ follow_untyped_imports = false mypy_path = "stubs:src:tools/pants-plugins" namespace_packages = true explicit_package_bases = true -python_executable = "dist/export/python/virtualenvs/python-default/3.14.1/bin/python" +python_executable = "dist/export/python/virtualenvs/python-default/3.14.2/bin/python" disable_error_code = ["typeddict-unknown-key"] [tool.pyright] @@ -134,7 +134,7 @@ exclude = [ "src/ai/backend/web/static", ] venvPath = "dist/export/python/virtualenvs/python-default" -venv = "3.14.1" +venv = "3.14.2" typeCheckingMode = "standard" [tool.pydantic-mypy] diff --git a/python.lock b/python.lock index 58ea7c5c16e..ecf6c2347a4 100644 --- a/python.lock +++ b/python.lock @@ -6,7 +6,7 @@ // { // "version": 4, // "valid_for_interpreter_constraints": [ -// "CPython==3.14.1" +// "CPython==3.14.2" // ], // "generated_with_requirements": [ // "Jinja2~=3.1.6", @@ -68,7 +68,7 @@ // "msgpack~=1.1.2", // "multidict~=6.7.0", // "namedlist~=1.8", -// "networkx~=3.3.0", +// "networkx~=3.6.1", // "opentelemetry-api~=1.39.0", // "opentelemetry-exporter-otlp-proto-grpc~=1.39.0", // "opentelemetry-instrumentation-aiohttp-client~=0.60b0", @@ -97,7 +97,8 @@ // "ruamel.yaml~=0.18.10", // "setproctitle~=1.3.7", // "setuptools~=80.0.0", -// "strawberry-graphql~=0.278.0", +// "sniffio~=1.3.1", +// "strawberry-graphql~=0.287.2", // "tabulate~=0.8.9", // "temporenc~=0.1.0", // "tenacity~=9.0", @@ -4286,41 +4287,57 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "28575580c6ebdaf4505b22c6256a2b9de86b316dc63ba9e93abde3d78dfdbcf2", - "url": "https://files.pythonhosted.org/packages/38/e9/5f72929373e1a0e8d142a130f3f97e6ff920070f87f91c4e13e40e0fba5a/networkx-3.3-py3-none-any.whl" + "hash": "d47fbf302e7d9cbbb9e2555a0d267983d2aa476bac30e90dfbe5669bd57f3762", + "url": "https://files.pythonhosted.org/packages/9e/c9/b2622292ea83fbb4ec318f5b9ab867d0a28ab43c5717bb85b0a5f6b3b0a4/networkx-3.6.1-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "0c127d8b2f4865f59ae9cb8aafcd60b5c70f3241ebd66f7defad7c4ab90126c9", - "url": "https://files.pythonhosted.org/packages/04/e6/b164f94c869d6b2c605b5128b7b0cfe912795a87fc90e78533920001f3ec/networkx-3.3.tar.gz" + "hash": "26b7c357accc0c8cde558ad486283728b65b6a95d85ee1cd66bafab4c8168509", + "url": "https://files.pythonhosted.org/packages/6a/51/63fe664f3908c97be9d2e4f1158eb633317598cfa6e1fc14af5383f17512/networkx-3.6.1.tar.gz" } ], "project_name": "networkx", "requires_dists": [ - "changelist==0.5; extra == \"developer\"", + "asv; extra == \"benchmarking\"", + "build>=0.10; extra == \"release\"", + "cairocffi>=1.7; extra == \"example\"", + "changelist==0.5; extra == \"release\"", + "contextily>=1.6; extra == \"example\"", + "igraph>=0.11; extra == \"example\"", + "intersphinx-registry; extra == \"doc\"", + "iplotx>=0.9.0; extra == \"example\"", "lxml>=4.6; extra == \"extra\"", - "matplotlib>=3.6; extra == \"default\"", - "mypy>=1.1; extra == \"developer\"", - "myst-nb>=1.0; extra == \"doc\"", - "numpy>=1.23; extra == \"default\"", - "numpydoc>=1.7; extra == \"doc\"", - "pandas>=1.4; extra == \"default\"", - "pillow>=9.4; extra == \"doc\"", - "pre-commit>=3.2; extra == \"developer\"", - "pydata-sphinx-theme>=0.14; extra == \"doc\"", - "pydot>=2.0; extra == \"extra\"", - "pygraphviz>=1.12; extra == \"extra\"", + "matplotlib>=3.8; extra == \"default\"", + "momepy>=0.7.2; extra == \"example\"", + "mypy>=1.15; extra == \"developer\"", + "myst-nb>=1.1; extra == \"doc\"", + "numpy>=1.25; extra == \"default\"", + "numpydoc>=1.8.0; extra == \"doc\"", + "osmnx>=2.0.0; extra == \"example\"", + "pandas>=2.0; extra == \"default\"", + "pillow>=10; extra == \"doc\"", + "pre-commit>=4.1; extra == \"developer\"", + "pydata-sphinx-theme>=0.16; extra == \"doc\"", + "pydot>=3.0.1; extra == \"extra\"", + "pygraphviz>=1.14; extra == \"extra\"", "pytest-cov>=4.0; extra == \"test\"", + "pytest-mpl; extra == \"test-extras\"", + "pytest-randomly; extra == \"test-extras\"", + "pytest-xdist>=3.0; extra == \"test\"", "pytest>=7.2; extra == \"test\"", - "rtoml; extra == \"developer\"", - "scipy!=1.11.0,!=1.11.1,>=1.9; extra == \"default\"", - "sphinx-gallery>=0.14; extra == \"doc\"", - "sphinx>=7; extra == \"doc\"", + "scikit-learn>=1.5; extra == \"example\"", + "scipy>=1.11.2; extra == \"default\"", + "seaborn>=0.13; extra == \"example\"", + "sphinx-gallery>=0.18; extra == \"doc\"", + "sphinx>=8.0; extra == \"doc\"", "sympy>=1.10; extra == \"extra\"", - "texext>=0.6.7; extra == \"doc\"" + "texext>=0.6.7; extra == \"doc\"", + "twine>=4.0; extra == \"release\"", + "virtualenv; extra == \"benchmarking\"", + "wheel>=0.40; extra == \"release\"" ], - "requires_python": ">=3.10", - "version": "3.3" + "requires_python": "!=3.14.1,>=3.11", + "version": "3.6.1" }, { "artifacts": [ @@ -6234,6 +6251,24 @@ "requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7", "version": "1.17.0" }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", + "url": "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc", + "url": "https://files.pythonhosted.org/packages/a2/87/a6771e1546d97e7e041b6ae58d80074f81b7d5121207425c964ddf5cfdbd/sniffio-1.3.1.tar.gz" + } + ], + "project_name": "sniffio", + "requires_dists": [], + "requires_python": ">=3.7", + "version": "1.3.1" + }, { "artifacts": [ { @@ -6289,13 +6324,13 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "8b91566e34bbfaa4a5e576369333e15982eaceac17c44e262200319d7e87a1cf", - "url": "https://files.pythonhosted.org/packages/50/fd/a04e880ea1f25bd3e6a3a94dd2585880d49852e966fba33e9ea982d8932c/strawberry_graphql-0.278.1-py3-none-any.whl" + "hash": "ca1e1593d34bbbeac85d5c699bea97e08324c2ef25bc5c98d3bedae60c19705e", + "url": "https://files.pythonhosted.org/packages/ff/2a/9d0e2a2c6fcf3d108a9be4f3b2f3f6bcf5cdf9b576b344127e0a50d953c5/strawberry_graphql-0.287.2-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "ac32e96eb2ea6a67738eefca8226d712e11706b80491e293f3e743455e9c301b", - "url": "https://files.pythonhosted.org/packages/cd/be/800e268d2a92241414ed89f2f2cc68ebcb01b6f4d0bcb2b1d09c1a6f2c75/strawberry_graphql-0.278.1.tar.gz" + "hash": "7d61f03fc44317ba427d78bce6ba0ec8092ffa90ebd41392011641d3908ccb33", + "url": "https://files.pythonhosted.org/packages/95/00/833f60b0398c1c379c7ab06688d55815039b6a02f90c979efe4155ffb5e5/strawberry_graphql-0.287.2.tar.gz" } ], "project_name": "strawberry-graphql", @@ -6319,10 +6354,11 @@ "packaging>=23", "pydantic>1.6.1; extra == \"pydantic\"", "pygments<3.0,>=2.3; extra == \"cli\"", - "pygments<3.0,>=2.3; extra == \"debug-server\"", + "pygments>=2.3; extra == \"debug-server\"", "pyinstrument>=4.0.0; extra == \"pyinstrument\"", - "python-dateutil<3.0,>=2.7", + "python-dateutil>=2.7", "python-multipart>=0.0.7; extra == \"asgi\"", + "python-multipart>=0.0.7; extra == \"cli\"", "python-multipart>=0.0.7; extra == \"debug-server\"", "python-multipart>=0.0.7; extra == \"fastapi\"", "quart>=0.19.3; extra == \"quart\"", @@ -6331,15 +6367,18 @@ "rich>=12.0.0; extra == \"debug-server\"", "sanic>=20.12.2; extra == \"sanic\"", "starlette>=0.18.0; extra == \"asgi\"", + "starlette>=0.18.0; extra == \"cli\"", "starlette>=0.18.0; extra == \"debug-server\"", - "typer>=0.7.0; extra == \"cli\"", - "typer>=0.7.0; extra == \"debug-server\"", + "typer>=0.12.4; extra == \"cli\"", + "typer>=0.12.4; extra == \"debug-server\"", "typing-extensions>=4.5.0", + "uvicorn>=0.11.6; extra == \"cli\"", "uvicorn>=0.11.6; extra == \"debug-server\"", + "websockets<16,>=15.0.1; extra == \"cli\"", "websockets<16,>=15.0.1; extra == \"debug-server\"" ], - "requires_python": "<4.0,>=3.9", - "version": "0.278.1" + "requires_python": "<4.0,>=3.10", + "version": "0.287.2" }, { "artifacts": [ @@ -7754,7 +7793,7 @@ "msgpack~=1.1.2", "multidict~=6.7.0", "namedlist~=1.8", - "networkx~=3.3.0", + "networkx~=3.6.1", "opentelemetry-api~=1.39.0", "opentelemetry-exporter-otlp-proto-grpc~=1.39.0", "opentelemetry-instrumentation-aiohttp-client~=0.60b0", @@ -7783,7 +7822,8 @@ "ruamel.yaml~=0.18.10", "setproctitle~=1.3.7", "setuptools~=80.0.0", - "strawberry-graphql~=0.278.0", + "sniffio~=1.3.1", + "strawberry-graphql~=0.287.2", "tabulate~=0.8.9", "temporenc~=0.1.0", "tenacity~=9.0", @@ -7818,7 +7858,7 @@ "zipstream-new~=1.1.8" ], "requires_python": [ - "CPython==3.14.1" + "CPython==3.14.2" ], "resolver_version": "pip-2020-resolver", "style": "universal", diff --git a/requirements.txt b/requirements.txt index 177c184d740..8f56ea94ab5 100644 --- a/requirements.txt +++ b/requirements.txt @@ -49,7 +49,7 @@ more-itertools~=10.5.0 msgpack~=1.1.2 multidict~=6.7.0 namedlist~=1.8 -networkx~=3.3.0 +networkx~=3.6.1 orjson~=3.11.0 opentelemetry-api~=1.39.0 opentelemetry-sdk~=1.39.0 @@ -79,7 +79,8 @@ ruamel.yaml~=0.18.10 SQLAlchemy[postgresql_asyncpg]~=1.4.54 setproctitle~=1.3.7 setuptools~=80.0.0 -strawberry-graphql~=0.278.0 +sniffio~=1.3.1 +strawberry-graphql~=0.287.2 tabulate~=0.8.9 temporenc~=0.1.0 tenacity~=9.0 diff --git a/tools/black.lock b/tools/black.lock index f9d146a053c..933eaf2c517 100644 --- a/tools/black.lock +++ b/tools/black.lock @@ -4,9 +4,9 @@ // // --- BEGIN PANTS LOCKFILE METADATA: DO NOT EDIT OR REMOVE --- // { -// "version": 3, +// "version": 4, // "valid_for_interpreter_constraints": [ -// "CPython==3.14.1" +// "CPython==3.14.2" // ], // "generated_with_requirements": [ // "black~=24.8" @@ -14,7 +14,9 @@ // "manylinux": "manylinux2014", // "requirement_constraints": [], // "only_binary": [], -// "no_binary": [] +// "no_binary": [], +// "excludes": [], +// "overrides": [] // } // --- END PANTS LOCKFILE METADATA --- @@ -164,6 +166,7 @@ "version": "4.5.1" } ], + "marker": null, "platform_tag": null } ], @@ -171,14 +174,14 @@ "only_wheels": [], "overridden": [], "path_mappings": {}, - "pex_version": "2.50.4", - "pip_version": "25.2", + "pex_version": "2.74.1", + "pip_version": "25.3", "prefer_older_binary": false, "requirements": [ "black~=24.8" ], "requires_python": [ - "==3.14.1" + "CPython==3.14.2" ], "resolver_version": "pip-2020-resolver", "style": "universal", diff --git a/tools/mypy-requirements.txt b/tools/mypy-requirements.txt index 9c81e9f75a6..80f43cb43f6 100644 --- a/tools/mypy-requirements.txt +++ b/tools/mypy-requirements.txt @@ -1,3 +1,3 @@ mypy==1.18.2 pydantic~=2.12.0 -strawberry-graphql~=0.278.0 +strawberry-graphql~=0.287.2 diff --git a/tools/mypy.lock b/tools/mypy.lock index 03d7647a6e1..be55e60f917 100644 --- a/tools/mypy.lock +++ b/tools/mypy.lock @@ -6,12 +6,12 @@ // { // "version": 4, // "valid_for_interpreter_constraints": [ -// "CPython==3.14.1" +// "CPython==3.14.2" // ], // "generated_with_requirements": [ // "mypy==1.18.2", // "pydantic~=2.12.0", -// "strawberry-graphql~=0.278.0" +// "strawberry-graphql~=0.287.2" // ], // "manylinux": "manylinux2014", // "requirement_constraints": [], @@ -392,13 +392,13 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "8b91566e34bbfaa4a5e576369333e15982eaceac17c44e262200319d7e87a1cf", - "url": "https://files.pythonhosted.org/packages/50/fd/a04e880ea1f25bd3e6a3a94dd2585880d49852e966fba33e9ea982d8932c/strawberry_graphql-0.278.1-py3-none-any.whl" + "hash": "ca1e1593d34bbbeac85d5c699bea97e08324c2ef25bc5c98d3bedae60c19705e", + "url": "https://files.pythonhosted.org/packages/ff/2a/9d0e2a2c6fcf3d108a9be4f3b2f3f6bcf5cdf9b576b344127e0a50d953c5/strawberry_graphql-0.287.2-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "ac32e96eb2ea6a67738eefca8226d712e11706b80491e293f3e743455e9c301b", - "url": "https://files.pythonhosted.org/packages/cd/be/800e268d2a92241414ed89f2f2cc68ebcb01b6f4d0bcb2b1d09c1a6f2c75/strawberry_graphql-0.278.1.tar.gz" + "hash": "7d61f03fc44317ba427d78bce6ba0ec8092ffa90ebd41392011641d3908ccb33", + "url": "https://files.pythonhosted.org/packages/95/00/833f60b0398c1c379c7ab06688d55815039b6a02f90c979efe4155ffb5e5/strawberry_graphql-0.287.2.tar.gz" } ], "project_name": "strawberry-graphql", @@ -422,10 +422,11 @@ "packaging>=23", "pydantic>1.6.1; extra == \"pydantic\"", "pygments<3.0,>=2.3; extra == \"cli\"", - "pygments<3.0,>=2.3; extra == \"debug-server\"", + "pygments>=2.3; extra == \"debug-server\"", "pyinstrument>=4.0.0; extra == \"pyinstrument\"", - "python-dateutil<3.0,>=2.7", + "python-dateutil>=2.7", "python-multipart>=0.0.7; extra == \"asgi\"", + "python-multipart>=0.0.7; extra == \"cli\"", "python-multipart>=0.0.7; extra == \"debug-server\"", "python-multipart>=0.0.7; extra == \"fastapi\"", "quart>=0.19.3; extra == \"quart\"", @@ -434,15 +435,18 @@ "rich>=12.0.0; extra == \"debug-server\"", "sanic>=20.12.2; extra == \"sanic\"", "starlette>=0.18.0; extra == \"asgi\"", + "starlette>=0.18.0; extra == \"cli\"", "starlette>=0.18.0; extra == \"debug-server\"", - "typer>=0.7.0; extra == \"cli\"", - "typer>=0.7.0; extra == \"debug-server\"", + "typer>=0.12.4; extra == \"cli\"", + "typer>=0.12.4; extra == \"debug-server\"", "typing-extensions>=4.5.0", + "uvicorn>=0.11.6; extra == \"cli\"", "uvicorn>=0.11.6; extra == \"debug-server\"", + "websockets<16,>=15.0.1; extra == \"cli\"", "websockets<16,>=15.0.1; extra == \"debug-server\"" ], - "requires_python": "<4.0,>=3.9", - "version": "0.278.1" + "requires_python": "<4.0,>=3.10", + "version": "0.287.2" }, { "artifacts": [ @@ -497,10 +501,10 @@ "requirements": [ "mypy==1.18.2", "pydantic~=2.12.0", - "strawberry-graphql~=0.278.0" + "strawberry-graphql~=0.287.2" ], "requires_python": [ - "CPython==3.14.1" + "CPython==3.14.2" ], "resolver_version": "pip-2020-resolver", "style": "universal", diff --git a/tools/setuptools.lock b/tools/setuptools.lock index f6760fe6f32..44a90773882 100644 --- a/tools/setuptools.lock +++ b/tools/setuptools.lock @@ -4,9 +4,9 @@ // // --- BEGIN PANTS LOCKFILE METADATA: DO NOT EDIT OR REMOVE --- // { -// "version": 3, +// "version": 4, // "valid_for_interpreter_constraints": [ -// "CPython==3.14.1" +// "CPython==3.14.2" // ], // "generated_with_requirements": [ // "setuptools~=80.0.0", @@ -15,7 +15,9 @@ // "manylinux": "manylinux2014", // "requirement_constraints": [], // "only_binary": [], -// "no_binary": [] +// "no_binary": [], +// "excludes": [], +// "overrides": [] // } // --- END PANTS LOCKFILE METADATA --- @@ -122,6 +124,7 @@ "version": "0.44.0" } ], + "marker": null, "platform_tag": null } ], @@ -129,15 +132,15 @@ "only_wheels": [], "overridden": [], "path_mappings": {}, - "pex_version": "2.50.4", - "pip_version": "25.2", + "pex_version": "2.74.1", + "pip_version": "25.3", "prefer_older_binary": false, "requirements": [ "setuptools~=80.0.0", "wheel~=0.44.0" ], "requires_python": [ - "==3.14.1" + "CPython==3.14.2" ], "resolver_version": "pip-2020-resolver", "style": "universal", diff --git a/tools/towncrier.lock b/tools/towncrier.lock index 7776d7580d5..83e649cc51f 100644 --- a/tools/towncrier.lock +++ b/tools/towncrier.lock @@ -4,9 +4,9 @@ // // --- BEGIN PANTS LOCKFILE METADATA: DO NOT EDIT OR REMOVE --- // { -// "version": 3, +// "version": 4, // "valid_for_interpreter_constraints": [ -// "CPython==3.14.1" +// "CPython==3.14.2" // ], // "generated_with_requirements": [ // "towncrier~=24.8" @@ -14,7 +14,9 @@ // "manylinux": "manylinux2014", // "requirement_constraints": [], // "only_binary": [], -// "no_binary": [] +// "no_binary": [], +// "excludes": [], +// "overrides": [] // } // --- END PANTS LOCKFILE METADATA --- @@ -193,6 +195,7 @@ "version": "24.8.0" } ], + "marker": null, "platform_tag": null } ], @@ -200,14 +203,14 @@ "only_wheels": [], "overridden": [], "path_mappings": {}, - "pex_version": "2.50.4", - "pip_version": "25.2", + "pex_version": "2.74.1", + "pip_version": "25.3", "prefer_older_binary": false, "requirements": [ "towncrier~=24.8" ], "requires_python": [ - "==3.14.1" + "CPython==3.14.2" ], "resolver_version": "pip-2020-resolver", "style": "universal", From fff19b5a846bd8345739f6943675e207661157fb Mon Sep 17 00:00:00 2001 From: Joongi Kim Date: Wed, 10 Dec 2025 15:33:28 +0900 Subject: [PATCH 10/24] doc: Update mentions in docs --- docs/install/install-from-package/os-preparation.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/install/install-from-package/os-preparation.rst b/docs/install/install-from-package/os-preparation.rst index bd95b899e80..75f5b43d431 100644 --- a/docs/install/install-from-package/os-preparation.rst +++ b/docs/install/install-from-package/os-preparation.rst @@ -133,10 +133,10 @@ For example, .. code-block:: console - $ curl -L "https://github.com/astral-sh/python-build-standalone/releases/download/20241219/cpython-3.13.3+20250409-x86_64-unknown-linux-gnu-install_only.tar.gz" > cpython-3.13.3+20250409-x86_64-unknown-linux-gnu-install_only.tar.gz - $ tar -xf "cpython-3.13.3+20241219-x86_64-unknown-linux-gnu-install_only.tar.gz" + $ curl -L "https://github.com/astral-sh/python-build-standalone/releases/download/20251209/cpython-3.14.2+20251209-x86_64-unknown-linux-gnu-install_only.tar.gz" > cpython-3.14.2+20251209-x86_64-unknown-linux-gnu-install_only.tar.gz + $ tar -xf "cpython-3.14.2+20251209-x86_64-unknown-linux-gnu-install_only.tar.gz" $ mkdir -p "/home/bai/.static-python/versions" - $ mv python "/home/bai/.static-python/versions/3.13.3" + $ mv python "/home/bai/.static-python/versions/3.14.2" Then, you can create multiple virtual environments per service. To create a virtual environment for Backend.AI Manager and activate it, for example, you may run: From 2e713c5872e412803cd76b7ee48828b93fa6b195 Mon Sep 17 00:00:00 2001 From: Joongi Kim Date: Wed, 10 Dec 2025 15:33:41 +0900 Subject: [PATCH 11/24] chore: Upgrade mypy to 1.19 --- tools/mypy-requirements.txt | 2 +- tools/mypy.lock | 128 +++++++++++++++++++++++++++++++----- 2 files changed, 112 insertions(+), 18 deletions(-) diff --git a/tools/mypy-requirements.txt b/tools/mypy-requirements.txt index 80f43cb43f6..79d4fced84a 100644 --- a/tools/mypy-requirements.txt +++ b/tools/mypy-requirements.txt @@ -1,3 +1,3 @@ -mypy==1.18.2 +mypy==1.19.0 pydantic~=2.12.0 strawberry-graphql~=0.287.2 diff --git a/tools/mypy.lock b/tools/mypy.lock index be55e60f917..d019988f31d 100644 --- a/tools/mypy.lock +++ b/tools/mypy.lock @@ -9,7 +9,7 @@ // "CPython==3.14.2" // ], // "generated_with_requirements": [ -// "mypy==1.18.2", +// "mypy==1.19.0", // "pydantic~=2.12.0", // "strawberry-graphql~=0.287.2" // ], @@ -97,42 +97,136 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "22a1748707dd62b58d2ae53562ffc4d7f8bcc727e8ac7cbc69c053ddc874d47e", - "url": "https://files.pythonhosted.org/packages/87/e3/be76d87158ebafa0309946c4a73831974d4d6ab4f4ef40c3b53a385a66fd/mypy-1.18.2-py3-none-any.whl" + "hash": "5460d99ed30f043595bbdc888f542bad2caeb6226b01c33cda3ae444e8f82d42", + "url": "https://files.pythonhosted.org/packages/fc/0b/0708b886ac760e64d6fbe7e16024e4be3ad1a3629d19489a97e9cf4c3431/librt-0.7.3-cp314-cp314t-musllinux_1_2_x86_64.whl" }, { "algorithm": "sha256", - "hash": "8795a039bab805ff0c1dfdb8cd3344642c2b99b8e439d057aba30850b8d3423d", - "url": "https://files.pythonhosted.org/packages/50/df/2cffbf25737bdb236f60c973edf62e3e7b4ee1c25b6878629e88e2cde967/mypy-1.18.2-cp314-cp314-macosx_11_0_arm64.whl" + "hash": "9f0e0927efe87cd42ad600628e595a1a0aa1c64f6d0b55f7e6059079a428641a", + "url": "https://files.pythonhosted.org/packages/1d/35/fed6348915f96b7323241de97f26e2af481e95183b34991df12fd5ce31b1/librt-0.7.3-cp314-cp314t-macosx_10_13_x86_64.whl" }, { "algorithm": "sha256", - "hash": "62f0e1e988ad41c2a110edde6c398383a889d95b36b3e60bcf155f5164c4fdce", - "url": "https://files.pythonhosted.org/packages/5a/0c/7d5300883da16f0063ae53996358758b2a2df2a09c72a5061fa79a1f5006/mypy-1.18.2-cp314-cp314-macosx_10_13_x86_64.whl" + "hash": "8ccadf260bb46a61b9c7e89e2218f6efea9f3eeaaab4e3d1f58571890e54858e", + "url": "https://files.pythonhosted.org/packages/1d/f5/73c5093c22c31fbeaebc25168837f05ebfd8bf26ce00855ef97a5308f36f/librt-0.7.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" }, { "algorithm": "sha256", - "hash": "d924eef3795cc89fecf6bedc6ed32b33ac13e8321344f6ddbf8ee89f706c05cb", - "url": "https://files.pythonhosted.org/packages/5b/11/040983fad5132d85914c874a2836252bbc57832065548885b5bb5b0d4359/mypy-1.18.2-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" + "hash": "59cb0470612d21fa1efddfa0dd710756b50d9c7fb6c1236bbf8ef8529331dc70", + "url": "https://files.pythonhosted.org/packages/36/2e/021765c1be85ee23ffd5b5b968bb4cba7526a4db2a0fc27dcafbdfc32da7/librt-0.7.3-cp314-cp314t-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "6ca1e64b24a700ab5ce10133f7ccd956a04715463d30498e64ea8715236f9c9c", - "url": "https://files.pythonhosted.org/packages/be/50/34059de13dd269227fb4a03be1faee6e2a4b04a2051c82ac0a0b5a773c9a/mypy-1.18.2-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" + "hash": "11ad45122bbed42cfc8b0597450660126ef28fd2d9ae1a219bc5af8406f95678", + "url": "https://files.pythonhosted.org/packages/3b/e0/741704edabbfae2c852fedc1b40d9ed5a783c70ed3ed8e4fe98f84b25d13/librt-0.7.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" }, { "algorithm": "sha256", - "hash": "06a398102a5f203d7477b2923dda3634c36727fa5c237d8f859ef90c42a9924b", - "url": "https://files.pythonhosted.org/packages/c0/77/8f0d0001ffad290cef2f7f216f96c814866248a0b92a722365ed54648e7e/mypy-1.18.2.tar.gz" + "hash": "120dd21d46ff875e849f1aae19346223cf15656be489242fe884036b23d39e93", + "url": "https://files.pythonhosted.org/packages/3e/ae/c6ecc7bb97134a71b5241e8855d39964c0e5f4d96558f0d60593892806d2/librt-0.7.3-cp314-cp314-macosx_10_13_x86_64.whl" }, { "algorithm": "sha256", - "hash": "20c02215a080e3a2be3aa50506c67242df1c151eaba0dcbc1e4e557922a26075", - "url": "https://files.pythonhosted.org/packages/e9/ba/89b2901dd77414dd7a8c8729985832a5735053be15b744c18e4586e506ef/mypy-1.18.2-cp314-cp314-musllinux_1_2_x86_64.whl" + "hash": "d86f94743a11873317094326456b23f8a5788bad9161fd2f0e52088c33564620", + "url": "https://files.pythonhosted.org/packages/4f/32/704f80bcf9979c68d4357c46f2af788fbf9d5edda9e7de5786ed2255e911/librt-0.7.3-cp314-cp314-musllinux_1_2_i686.whl" + }, + { + "algorithm": "sha256", + "hash": "7af7785f5edd1f418da09a8cdb9ec84b0213e23d597413e06525340bcce1ea4f", + "url": "https://files.pythonhosted.org/packages/77/3f/c081f8455ab1d7f4a10dbe58463ff97119272ff32494f21839c3b9029c2c/librt-0.7.3-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl" + }, + { + "algorithm": "sha256", + "hash": "1fe603877e1865b5fd047a5e40379509a4a60204aa7aa0f72b16f7a41c3f0712", + "url": "https://files.pythonhosted.org/packages/77/f0/9923656e42da4fd18c594bd08cf6d7e152d4158f8b808e210d967f0dcceb/librt-0.7.3-cp314-cp314t-musllinux_1_2_i686.whl" + }, + { + "algorithm": "sha256", + "hash": "d9883b2d819ce83f87ba82a746c81d14ada78784db431e57cc9719179847376e", + "url": "https://files.pythonhosted.org/packages/78/b8/d5f17d4afe16612a4a94abfded94c16c5a033f183074fb130dfe56fc1a42/librt-0.7.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "93b2a1f325fefa1482516ced160c8c7b4b8d53226763fa6c93d151fa25164207", + "url": "https://files.pythonhosted.org/packages/8e/87/397417a386190b70f5bf26fcedbaa1515f19dce33366e2684c6b7ee83086/librt-0.7.3-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl" + }, + { + "algorithm": "sha256", + "hash": "020c6db391268bcc8ce75105cb572df8cb659a43fd347366aaa407c366e5117a", + "url": "https://files.pythonhosted.org/packages/9a/f2/045383ccc83e3fea4fba1b761796584bc26817b6b2efb6b8a6731431d16f/librt-0.7.3-cp314-cp314t-macosx_11_0_arm64.whl" + }, + { + "algorithm": "sha256", + "hash": "3ec50cf65235ff5c02c5b747748d9222e564ad48597122a361269dd3aa808798", + "url": "https://files.pythonhosted.org/packages/b3/d9/6f3d3fcf5e5543ed8a60cc70fa7d50508ed60b8a10e9af6d2058159ab54e/librt-0.7.3.tar.gz" + }, + { + "algorithm": "sha256", + "hash": "f3d4801db8354436fd3936531e7f0e4feb411f62433a6b6cb32bb416e20b529f", + "url": "https://files.pythonhosted.org/packages/c9/37/7338f85b80e8a17525d941211451199845093ca242b32efbf01df8531e72/librt-0.7.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "1617bea5ab31266e152871208502ee943cb349c224846928a1173c864261375e", + "url": "https://files.pythonhosted.org/packages/cf/bc/2cc0cb0ab787b39aa5c7645cd792433c875982bdf12dccca558b89624594/librt-0.7.3-cp314-cp314-macosx_11_0_arm64.whl" + }, + { + "algorithm": "sha256", + "hash": "6b4e7bff1d76dd2b46443078519dc75df1b5e01562345f0bb740cea5266d8218", + "url": "https://files.pythonhosted.org/packages/f4/d1/0a82129d6ba242f3be9af34815be089f35051bc79619f5c27d2c449ecef6/librt-0.7.3-cp314-cp314-musllinux_1_2_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "754a0d09997095ad764ccef050dd5bf26cbf457aab9effcba5890dad081d879e", + "url": "https://files.pythonhosted.org/packages/f7/6d/4355cfa0fae0c062ba72f541d13db5bc575770125a7ad3d4f46f4109d305/librt-0.7.3-cp314-cp314-musllinux_1_2_x86_64.whl" + } + ], + "project_name": "librt", + "requires_dists": [], + "requires_python": ">=3.9", + "version": "0.7.3" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "0c01c99d626380752e527d5ce8e69ffbba2046eb8a060db0329690849cf9b6f9", + "url": "https://files.pythonhosted.org/packages/09/0e/fe228ed5aeab470c6f4eb82481837fadb642a5aa95cc8215fd2214822c10/mypy-1.19.0-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "8f44f2ae3c58421ee05fe609160343c25f70e3967f6e32792b5a78006a9d850f", + "url": "https://files.pythonhosted.org/packages/11/9f/c39e89a3e319c1d9c734dedec1183b2cc3aefbab066ec611619002abb932/mypy-1.19.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "a18d8abdda14035c5718acb748faec09571432811af129bf0d9e7b2d6699bf18", + "url": "https://files.pythonhosted.org/packages/35/31/871a9531f09e78e8d145032355890384f8a5b38c95a2c7732d226b93242e/mypy-1.19.0-cp314-cp314-macosx_11_0_arm64.whl" + }, + { + "algorithm": "sha256", + "hash": "f75e60aca3723a23511948539b0d7ed514dda194bc3755eae0bfc7a6b4887aa7", + "url": "https://files.pythonhosted.org/packages/58/b8/af221910dd40eeefa2077a59107e611550167b9994693fc5926a0b0f87c0/mypy-1.19.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "63ea6a00e4bd6822adbfc75b02ab3653a17c02c4347f5bb0cf1d5b9df3a05835", + "url": "https://files.pythonhosted.org/packages/97/6d/ffaf5f01f5e284d9033de1267e6c1b8f3783f2cf784465378a86122e884b/mypy-1.19.0-cp314-cp314-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "f2e36bed3c6d9b5f35d28b63ca4b727cb0228e480826ffc8953d1892ddc8999d", + "url": "https://files.pythonhosted.org/packages/b0/f4/7751f32f56916f7f8c229fe902cbdba3e4dd3f3ea9e8b872be97e7fc546d/mypy-1.19.0-cp314-cp314-macosx_10_15_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "f6b874ca77f733222641e5c46e4711648c4037ea13646fd0cdc814c2eaec2528", + "url": "https://files.pythonhosted.org/packages/f9/b5/b58cdc25fadd424552804bf410855d52324183112aa004f0732c5f6324cf/mypy-1.19.0.tar.gz" } ], "project_name": "mypy", "requires_dists": [ + "librt>=0.6.2", "lxml; extra == \"reports\"", "mypy_extensions>=1.0.0", "orjson; extra == \"faster-cache\"", @@ -144,7 +238,7 @@ "typing_extensions>=4.6.0" ], "requires_python": ">=3.9", - "version": "1.18.2" + "version": "1.19.0" }, { "artifacts": [ @@ -499,7 +593,7 @@ "pip_version": "25.3", "prefer_older_binary": false, "requirements": [ - "mypy==1.18.2", + "mypy==1.19.0", "pydantic~=2.12.0", "strawberry-graphql~=0.287.2" ], From 3cb49bd510e70c685394d9a594ada5b4150b50b6 Mon Sep 17 00:00:00 2001 From: Joongi Kim Date: Wed, 10 Dec 2025 15:40:15 +0900 Subject: [PATCH 12/24] fix: Type errors --- src/ai/backend/agent/docker/kernel.py | 2 +- src/ai/backend/common/identity.py | 5 +++-- src/ai/backend/manager/api/gql/schema.py | 2 +- tests/agent/test_config_validation.py | 2 +- 4 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/ai/backend/agent/docker/kernel.py b/src/ai/backend/agent/docker/kernel.py index 834a419a189..75300ce1a40 100644 --- a/src/ai/backend/agent/docker/kernel.py +++ b/src/ai/backend/agent/docker/kernel.py @@ -233,7 +233,7 @@ def _write_chunks( docker_info = await docker.system.info() docker_version = docker_info["ServerVersion"] major, _, patch = docker_version.split(".", maxsplit=2) - config = None + config: dict[str, Any] | None = None if (int(major) == 23 and int(patch) < 8) or ( int(major) == 24 and int(patch) < 1 ): diff --git a/src/ai/backend/common/identity.py b/src/ai/backend/common/identity.py index 2e8c7f81567..44b9ff137fe 100644 --- a/src/ai/backend/common/identity.py +++ b/src/ai/backend/common/identity.py @@ -8,9 +8,8 @@ import os import socket import uuid +from ipaddress import IPv4Network, IPv6Network, ip_address from ipaddress import _BaseAddress as BaseIPAddress -from ipaddress import _BaseNetwork as BaseIPNetwork -from ipaddress import ip_address from pathlib import Path, PosixPath from typing import Awaitable, Callable, Iterable, Optional @@ -32,6 +31,8 @@ "get_wsl_version", ) +type BaseIPNetwork = IPv4Network | IPv6Network + log = logging.getLogger(__spec__.name) diff --git a/src/ai/backend/manager/api/gql/schema.py b/src/ai/backend/manager/api/gql/schema.py index 500a36adc6c..97fa9d9d994 100644 --- a/src/ai/backend/manager/api/gql/schema.py +++ b/src/ai/backend/manager/api/gql/schema.py @@ -232,5 +232,5 @@ def as_str(self) -> str: mutation=Mutation, subscription=Subscription, config=StrawberryConfig(auto_camel_case=True), - enable_federation_2=True, + federation_version="2.11", ) diff --git a/tests/agent/test_config_validation.py b/tests/agent/test_config_validation.py index c00bac7ea4b..067dc3dbcb0 100644 --- a/tests/agent/test_config_validation.py +++ b/tests/agent/test_config_validation.py @@ -403,7 +403,7 @@ def __call__( ) -> RawConfigT: ... @pytest.fixture - def make_raw_config() -> MakeRawConfig: + def make_raw_config(self) -> MakeRawConfig: def _make( scratch_type: ScratchType = ScratchType.HOSTDIR, sandbox_type: ContainerSandboxType | None = None, From 1fe245fed8d47b13b3f1a126798ac34f1d48f749 Mon Sep 17 00:00:00 2001 From: Joongi Kim Date: Wed, 10 Dec 2025 16:11:38 +0900 Subject: [PATCH 13/24] chore: Update ruff version (0.14.0 -> 0.14.8) - Add scripts/fetch-ruff-version.py to fetch and print the ruff version table for use in pants.toml --- pants.toml | 10 ++-- scripts/fetch-ruff-version.py | 98 +++++++++++++++++++++++++++++++++++ 2 files changed, 103 insertions(+), 5 deletions(-) create mode 100644 scripts/fetch-ruff-version.py diff --git a/pants.toml b/pants.toml index b15d3b61460..91d54d99eb4 100644 --- a/pants.toml +++ b/pants.toml @@ -105,13 +105,13 @@ known_versions = [ install_from_resolve = "black" [ruff] -version = "0.14.0" +version = "0.14.8" # take tar.gz files and their checksums from the GitHub release (darwin and linux-musl) known_versions = [ - "0.14.0|macos_arm64|0b7c193d5c45eda02226720eb75239fabeca995d5a0eb3830fd2973caa3030ec|12364514", - "0.14.0|macos_x86_64|880ae046b435eb306cd557a7481eed6da463b85f283ba1f2c1e2ad7c139ed6c5|13149751", - "0.14.0|linux_arm64|34a25398f03e7d32a4ec406c5c841c6e183fa0a96fbdd40b7e7eec1f177b360e|12465179", - "0.14.0|linux_x86_64|ed6d1b8407a1d228dc332fb19057e86e04a6cd3c2beacdb324ad6ff2a3f9071b|13647531", + "0.14.8|macos_arm64|4efc019832a6b9225f650ee256d31b2e875021cae662963d533c78b5cf865f52|12262293", + "0.14.8|macos_x86_64|c53af0ba3cbc5e9e8f7768d28a7ff2d0795843e39302891093227bc6df343e94|13284305", + "0.14.8|linux_arm64|0b3464f54fa56f514c29e92bcf05867b914ad6c246e2ddbe4cce5c0700f2a3d9|12604548", + "0.14.8|linux_x86_64|0f5496a3d2413b3cb85bbf9e4a6f95b5db127ac10989ecb3d8c0c0a0a74a892b|13826546", ] [pytest] diff --git a/scripts/fetch-ruff-version.py b/scripts/fetch-ruff-version.py new file mode 100644 index 00000000000..a555a85542f --- /dev/null +++ b/scripts/fetch-ruff-version.py @@ -0,0 +1,98 @@ +# /// script +# requires-python = ">=3.12" +# dependencies = [ +# "httpx", +# ] +# /// +""" +Fetch Ruff release information and generate pants.toml known_versions entries. + +Usage: + uv run scripts/fetch-ruff-version.py 0.14.8 +""" +from __future__ import annotations + +import argparse +import sys + +import httpx + +# Mapping from Ruff release asset names to pants platform names +PLATFORM_MAPPING = { + "aarch64-apple-darwin": "macos_arm64", + "x86_64-apple-darwin": "macos_x86_64", + "aarch64-unknown-linux-musl": "linux_arm64", + "x86_64-unknown-linux-musl": "linux_x86_64", +} + +BASE_URL = "https://github.com/astral-sh/ruff/releases/download" + + +def fetch_asset_info(version: str, ruff_platform: str) -> tuple[str, int]: + """Fetch SHA256 checksum and file size for a specific asset.""" + tarball_url = f"{BASE_URL}/{version}/ruff-{ruff_platform}.tar.gz" + checksum_url = f"{tarball_url}.sha256" + + with httpx.Client(follow_redirects=True, timeout=30.0) as client: + # Fetch checksum + checksum_response = client.get(checksum_url) + checksum_response.raise_for_status() + # The .sha256 file contains: "checksum filename" or just "checksum" + checksum_text = checksum_response.text.strip() + sha256 = checksum_text.split()[0] + + # Fetch file size via HEAD request + head_response = client.head(tarball_url) + head_response.raise_for_status() + size = int(head_response.headers["content-length"]) + + return sha256, size + + +def main() -> int: + parser = argparse.ArgumentParser( + description="Fetch Ruff release info and generate pants.toml known_versions entries" + ) + parser.add_argument( + "version", + help="Ruff version number (e.g., 0.14.8)", + ) + args = parser.parse_args() + + version = args.version + + print(f"Fetching release info for Ruff {version}...", file=sys.stderr) + print(file=sys.stderr) + + entries: list[str] = [] + + for ruff_platform, pants_platform in PLATFORM_MAPPING.items(): + try: + sha256, size = fetch_asset_info(version, ruff_platform) + entry = f' "{version}|{pants_platform}|{sha256}|{size}",' + entries.append(entry) + print(f" {pants_platform}: OK", file=sys.stderr) + except httpx.HTTPStatusError as e: + print( + f" {pants_platform}: FAILED ({e.response.status_code})", + file=sys.stderr, + ) + return 1 + except Exception as e: + print(f" {pants_platform}: ERROR ({e})", file=sys.stderr) + return 1 + + print(file=sys.stderr) + print("Copy the following to pants.toml [ruff] section:", file=sys.stderr) + print(file=sys.stderr) + + print("known_versions = [") + for entry in entries: + print(entry) + print("]") + + return 0 + + +if __name__ == "__main__": + sys.exit(main()) From 9541470a1cb78c6484fb420acdec36a0289dba76 Mon Sep 17 00:00:00 2001 From: Joongi Kim Date: Wed, 10 Dec 2025 16:41:05 +0900 Subject: [PATCH 14/24] chore: Update Python versions in pyscript.sh, python.sh and build-macro.py for SCIE builds --- scripts/pyscript.sh | 2 +- scripts/python.sh | 2 +- tools/build-macros.py | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/scripts/pyscript.sh b/scripts/pyscript.sh index f2fe67c267f..909388d73ff 100755 --- a/scripts/pyscript.sh +++ b/scripts/pyscript.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash set -euo pipefail -PYVER="3.13.7" +PYVER="3.14.2" if ! command -v uv >/dev/null 2>&1; then curl -LsSf https://astral.sh/uv/install.sh | sh if [ $SHELL = "/bin/fish" ]; then diff --git a/scripts/python.sh b/scripts/python.sh index dd06e452a1c..e70fea38c49 100755 --- a/scripts/python.sh +++ b/scripts/python.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash set -euo pipefail -PYVER="3.13.7" +PYVER="3.14.2" if ! command -v uv >/dev/null 2>&1; then curl -LsSf https://astral.sh/uv/install.sh | sh if [ $SHELL = "/bin/fish" ]; then diff --git a/tools/build-macros.py b/tools/build-macros.py index b133ee242b9..555aeca9824 100644 --- a/tools/build-macros.py +++ b/tools/build-macros.py @@ -33,8 +33,8 @@ def common_scie_config(build_style, *, entry_point="ai.backend.cli.__main__"): return { "extra_build_args": [ f"--scie={build_style}", - "--scie-python-version=3.13.7", - "--scie-pbs-release=20250818", + "--scie-python-version=3.14.2", + "--scie-pbs-release=20251209", "--scie-pbs-stripped", # WARNING: PEX 2.18 or later offers `--scie-name-style` and `--scie-only` option, but we # should NOT use them because Pants expects the PEX subprocess to generate the output file From 9c42f914193fea4e190eb08467bdb7396812324b Mon Sep 17 00:00:00 2001 From: Joongi Kim Date: Wed, 10 Dec 2025 16:49:42 +0900 Subject: [PATCH 15/24] chore: Ensure Python 3.13 syntax compatibility when formatting/linting - In Python 3.14, we can remove parenthesis around multiple exception types without "as" expressions. Ruff applies this rule by default if its target version is recognized as 3.14. --- pyproject.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/pyproject.toml b/pyproject.toml index 301d4cd7d0c..d5795228a60 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -78,6 +78,7 @@ asyncio_mode = "auto" asyncio_default_fixture_loop_scope = "function" [tool.ruff] +target-version = "py313" # keep Python 3.13 compatibility for backports line-length = 100 src = ["src"] From a74b78b906712aa68169afe7aea2a36a6b00fa06 Mon Sep 17 00:00:00 2001 From: Joongi Kim Date: Thu, 8 Jan 2026 21:58:13 +0900 Subject: [PATCH 16/24] chore: Regenerate black lockfile (resolving merge conflict) --- tools/black.lock | 34 +++++++++++++--------------------- 1 file changed, 13 insertions(+), 21 deletions(-) diff --git a/tools/black.lock b/tools/black.lock index 6122b8279f6..da9c4d31b1f 100644 --- a/tools/black.lock +++ b/tools/black.lock @@ -122,25 +122,30 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08", - "url": "https://files.pythonhosted.org/packages/cc/20/ff623b09d963f88bfde16306a54e12ee5ea43e9b597108672ff3a408aad6/pathspec-0.12.1-py3-none-any.whl" + "hash": "62f8558917908d237d399b9b338ef455a814801a4688bc41074b25feefd93472", + "url": "https://files.pythonhosted.org/packages/78/6b/14fc9049d78435fd29e82846c777bd7ed9c470013dc8d0260fff3ff1c11e/pathspec-1.0.2-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712", - "url": "https://files.pythonhosted.org/packages/ca/bc/f35b8446f4531a7cb215605d100cd88b7ac6f44ab3fc94870c120ab3adbf/pathspec-0.12.1.tar.gz" + "hash": "fa32b1eb775ed9ba8d599b22c5f906dc098113989da2c00bf8b210078ca7fb92", + "url": "https://files.pythonhosted.org/packages/41/b9/6eb731b52f132181a9144bbe77ff82117f6b2d2fbfba49aaab2c014c4760/pathspec-1.0.2.tar.gz" } ], "project_name": "pathspec", - "requires_dists": [], - "requires_python": ">=3.8", - "version": "0.12.1" + "requires_dists": [ + "google-re2>=1.1; extra == \"re2\"", + "hyperscan>=0.7; extra == \"hyperscan\"", + "pytest>=9; extra == \"tests\"", + "typing-extensions>=4.15; extra == \"tests\"", + "typing-extensions>=4; extra == \"optional\"" + ], + "requires_python": ">=3.9", + "version": "1.0.2" }, { "artifacts": [ { "algorithm": "sha256", -<<<<<<< HEAD "hash": "d03afa3963c806a9bed9d5125c8f4cb2fdaf74a55ab60e5d59b3fde758104d31", "url": "https://files.pythonhosted.org/packages/cb/28/3bfe2fa5a7b9c46fe7e13c97bda14c895fb10fa2ebf1d0abb90e0cea7ee1/platformdirs-4.5.1-py3-none-any.whl" }, @@ -148,15 +153,6 @@ "algorithm": "sha256", "hash": "61d5cdcc6065745cdd94f0f878977f8de9437be93de97c1c12f853c9c0cdcbda", "url": "https://files.pythonhosted.org/packages/cf/86/0248f086a84f01b37aaec0fa567b397df1a119f73c16f6c7a9aac73ea309/platformdirs-4.5.1.tar.gz" -======= - "hash": "e578a81bb873cbb89a41fcc904c7ef523cc18284b7e3b3ccf06aca1403b7ebd3", - "url": "https://files.pythonhosted.org/packages/73/cb/ac7874b3e5d58441674fb70742e6c374b28b0c7cb988d37d991cde47166c/platformdirs-4.5.0-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "70ddccdd7c99fc5942e9fc25636a8b34d04c24b335100223152c2803e4063312", - "url": "https://files.pythonhosted.org/packages/61/33/9611380c2bdb1225fdef633e2a9610622310fed35ab11dac9620972ee088/platformdirs-4.5.0.tar.gz" ->>>>>>> main } ], "project_name": "platformdirs", @@ -173,11 +169,7 @@ "sphinx>=8.2.3; extra == \"docs\"" ], "requires_python": ">=3.10", -<<<<<<< HEAD "version": "4.5.1" -======= - "version": "4.5.0" ->>>>>>> main } ], "marker": null, From 30d376099e9ef7f443b1fd1a8b3ef46e1f7cb41f Mon Sep 17 00:00:00 2001 From: Joongi Kim Date: Thu, 8 Jan 2026 22:22:02 +0900 Subject: [PATCH 17/24] fix: Type error induced by aiohttp 3.13.3's breaking public API change --- python.lock | 27 ++++++++++--------- requirements.txt | 2 +- .../manager/services/session/service.py | 2 +- 3 files changed, 16 insertions(+), 15 deletions(-) diff --git a/python.lock b/python.lock index 52cb13bfdb5..6cbde46bc30 100644 --- a/python.lock +++ b/python.lock @@ -21,7 +21,7 @@ // "aiohttp_cors~=0.8.1", // "aiohttp_jinja2~=1.6", // "aiohttp_sse~=2.2", -// "aiohttp~=3.13.0", +// "aiohttp~=3.13.3", // "aiomonitor~=0.7.0", // "aioresponses~=0.7.8", // "aiosqlite~=0.21.0", @@ -7590,13 +7590,13 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "ec21cddfe7724fc7cb4ba4bea7aa8e2ef36f607a4bab81aa6ce42a13dc3f03dd", - "url": "https://files.pythonhosted.org/packages/6d/b9/4095b668ea3678bf6a0af005527f39de12fb026516fb3df17495a733b7f8/urllib3-2.6.2-py3-none-any.whl" + "hash": "bf272323e553dfb2e87d9bfd225ca7b0f467b919d7bbd355436d3fd37cb0acd4", + "url": "https://files.pythonhosted.org/packages/39/08/aaaad47bc4e9dc8c725e68f9d04865dbcb2052843ff09c97b08904852d84/urllib3-2.6.3-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "016f9c98bb7e98085cb2b4b17b87d2c702975664e4f060c6532e64d1c1a5e797", - "url": "https://files.pythonhosted.org/packages/1e/24/a2a2ed9addd907787d7aa0355ba36a6cadf1768b934c652ea78acbd59dcd/urllib3-2.6.2.tar.gz" + "hash": "1b62b6884944a57dbe321509ab94fd4d3b307075e0c2eae991ac71ee15ad38ed", + "url": "https://files.pythonhosted.org/packages/c7/24/5f1b3bdffd70275f6661c76461e25f024d5a38a46f04aaca912426a2b1d3/urllib3-2.6.3.tar.gz" } ], "project_name": "urllib3", @@ -7608,7 +7608,7 @@ "pysocks!=1.5.7,<2.0,>=1.5.6; extra == \"socks\"" ], "requires_python": ">=3.9", - "version": "2.6.2" + "version": "2.6.3" }, { "artifacts": [ @@ -7737,13 +7737,13 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "c21c9cede36c9753eeade68ba7d523529f228a403463376cf821eaae2b650f1b", - "url": "https://files.pythonhosted.org/packages/79/0c/c05523fa3181fdf0c9c52a6ba91a23fbf3246cc095f26f6516f9c60e6771/virtualenv-20.35.4-py3-none-any.whl" + "hash": "e7ded577f3af534fd0886d4ca03277f5542053bedb98a70a989d3c22cfa5c9ac", + "url": "https://files.pythonhosted.org/packages/eb/6a/0af36875e0023a1f2d0b66b4051721fc26740e947696922df1665b75e5d3/virtualenv-20.36.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "643d3914d73d3eeb0c552cbb12d7e82adf0e504dbf86a3182f8771a153a1971c", - "url": "https://files.pythonhosted.org/packages/20/28/e6f1a6f655d620846bd9df527390ecc26b3805a0c5989048c210e22c5ca9/virtualenv-20.35.4.tar.gz" + "hash": "a3601f540b515a7983508113f14e78993841adc3d83710fa70f0ac50f43b23ed", + "url": "https://files.pythonhosted.org/packages/78/49/87e23d8f742f10f965bce5d6b285fc88a4f436b11daf6b6225d4d66f8492/virtualenv-20.36.0.tar.gz" } ], "project_name": "virtualenv", @@ -7752,7 +7752,8 @@ "coverage-enable-subprocess>=1; extra == \"test\"", "coverage>=7.2.7; extra == \"test\"", "distlib<1,>=0.3.7", - "filelock<4,>=3.12.2", + "filelock<4,>=3.16.1; python_version < \"3.10\"", + "filelock<4,>=3.20.1; python_version >= \"3.10\"", "flaky>=3.7; extra == \"test\"", "furo>=2023.7.26; extra == \"docs\"", "importlib-metadata>=6.6; python_version < \"3.8\"", @@ -7774,7 +7775,7 @@ "typing-extensions>=4.13.2; python_version < \"3.11\"" ], "requires_python": ">=3.8", - "version": "20.35.4" + "version": "20.36.0" }, { "artifacts": [ @@ -8158,7 +8159,7 @@ "aiohttp_cors~=0.8.1", "aiohttp_jinja2~=1.6", "aiohttp_sse~=2.2", - "aiohttp~=3.13.0", + "aiohttp~=3.13.3", "aiomonitor~=0.7.0", "aioresponses~=0.7.8", "aiosqlite~=0.21.0", diff --git a/requirements.txt b/requirements.txt index 1bf3dd4e0f1..9c70a782dab 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,7 +2,7 @@ aioboto3~=15.0.0 aiodataloader~=0.4.2 aiodocker==0.24.0 aiofiles~=24.1.0 -aiohttp~=3.13.0 +aiohttp~=3.13.3 aiohttp_cors~=0.8.1 aiohttp_jinja2~=1.6 aiohttp_sse~=2.2 diff --git a/src/ai/backend/manager/services/session/service.py b/src/ai/backend/manager/services/session/service.py index ae383beea09..a2303b33809 100644 --- a/src/ai/backend/manager/services/session/service.py +++ b/src/ai/backend/manager/services/session/service.py @@ -1376,7 +1376,7 @@ async def upload_files(self, action: UploadFilesAction) -> UploadFilesActionResu raise InvalidAPIParameters("Too large file") chunks.append(chunk) recv_size += chunk_size - data = file.decode(b"".join(chunks)) + data = await file.decode(b"".join(chunks)) log.debug("received file: {0} ({1:,} bytes)", file_name, recv_size) ts.create_task(self._agent_registry.upload_file(session, file_name, data)) From b612ac27d08764eb955e5c239fa1875eefe96847 Mon Sep 17 00:00:00 2001 From: Jeongseok Kang Date: Wed, 1 Apr 2026 06:25:26 +0000 Subject: [PATCH 18/24] chore: update api schema dump Co-authored-by: octodog --- docs/manager/graphql-reference/supergraph.graphql | 13 +++++++++++-- docs/manager/graphql-reference/v2-schema.graphql | 2 +- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/docs/manager/graphql-reference/supergraph.graphql b/docs/manager/graphql-reference/supergraph.graphql index 68d8ddc9444..5a31503b288 100644 --- a/docs/manager/graphql-reference/supergraph.graphql +++ b/docs/manager/graphql-reference/supergraph.graphql @@ -1,6 +1,6 @@ schema @link(url: "https://specs.apollo.dev/link/v1.0") - @link(url: "https://specs.apollo.dev/join/v0.4", for: EXECUTION) + @link(url: "https://specs.apollo.dev/join/v0.5", for: EXECUTION) { query: Query mutation: Mutation @@ -11,7 +11,7 @@ directive @join__directive(graphs: [join__Graph!], name: String!, args: join__Di directive @join__enumValue(graph: join__Graph!) repeatable on ENUM_VALUE -directive @join__field(graph: join__Graph, requires: join__FieldSet, provides: join__FieldSet, type: String, external: Boolean, override: String, usedOverridden: Boolean, overrideLabel: String) repeatable on FIELD_DEFINITION | INPUT_FIELD_DEFINITION +directive @join__field(graph: join__Graph, requires: join__FieldSet, provides: join__FieldSet, type: String, external: Boolean, override: String, usedOverridden: Boolean, overrideLabel: String, contextArguments: [join__ContextArgument!]) repeatable on FIELD_DEFINITION | INPUT_FIELD_DEFINITION directive @join__graph(name: String!, url: String!) on ENUM_VALUE @@ -6421,10 +6421,19 @@ interface Item id: ID } +input join__ContextArgument { + name: String! + type: String! + context: String! + selection: join__FieldValue! +} + scalar join__DirectiveArguments scalar join__FieldSet +scalar join__FieldValue + enum join__Graph { GRAPHENE @join__graph(name: "graphene", url: "http://host.docker.internal:8091/admin/gql") STRAWBERRY @join__graph(name: "strawberry", url: "http://host.docker.internal:8091/admin/gql/strawberry") diff --git a/docs/manager/graphql-reference/v2-schema.graphql b/docs/manager/graphql-reference/v2-schema.graphql index e82cf416405..7213b51134e 100644 --- a/docs/manager/graphql-reference/v2-schema.graphql +++ b/docs/manager/graphql-reference/v2-schema.graphql @@ -1,6 +1,6 @@ directive @oneOf on INPUT_OBJECT -schema @link(url: "https://specs.apollo.dev/federation/v2.7", import: ["@external", "@key", "@shareable"]) { +schema @link(url: "https://specs.apollo.dev/federation/v2.11", import: ["@external", "@key", "@shareable"]) { query: Query mutation: Mutation subscription: Subscription From fa633730d710e0e7387c80fd755b0b9bdeb03374 Mon Sep 17 00:00:00 2001 From: Jeongseok Kang Date: Wed, 1 Apr 2026 15:27:27 +0900 Subject: [PATCH 19/24] doc: add changelog fragment for Python 3.14.3 upgrade Co-Authored-By: Claude Opus 4.6 (1M context) --- changes/7199.enhance.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 changes/7199.enhance.md diff --git a/changes/7199.enhance.md b/changes/7199.enhance.md new file mode 100644 index 00000000000..1c540ab14f2 --- /dev/null +++ b/changes/7199.enhance.md @@ -0,0 +1 @@ +Upgrade the base CPython version from 3.13.7 to 3.14.3 with updated dependencies and tooling (BA-3306) From 2621cef1753c0b7ae324c44bf74eaa8bf7745b07 Mon Sep 17 00:00:00 2001 From: Jeongseok Kang Date: Wed, 1 Apr 2026 16:18:49 +0900 Subject: [PATCH 20/24] fix: resolve mypy 1.19 type errors for Python 3.14 upgrade - Disable `untyped-decorator` error code globally in mypy config (mypy 1.19 split this from `misc`, causing hundreds of new errors from click/strawberry decorators) - Remove now-unused `# type: ignore[misc]` comments from 88 files where they only suppressed the old `untyped-decorator` subset - Fix unreachable statement in agent.py (pre-existing, surfaced by transitive dependency check) Co-Authored-By: Claude Opus 4.6 (1M context) --- pyproject.toml | 2 +- src/ai/backend/agent/agent.py | 4 +- src/ai/backend/agent/docker/agent.py | 2 +- src/ai/backend/common/distributed.py | 2 +- src/ai/backend/common/events/dispatcher.py | 4 +- .../backend/manager/api/gql/agent/resolver.py | 4 +- src/ai/backend/manager/api/gql/agent/types.py | 8 +-- src/ai/backend/manager/api/gql/app_config.py | 20 +++---- .../manager/api/gql/artifact/resolver.py | 36 ++++++------- .../backend/manager/api/gql/artifact/types.py | 4 +- .../manager/api/gql/artifact_registry.py | 2 +- .../api/gql/audit_log/resolver/query.py | 2 +- .../manager/api/gql/audit_log/types/node.py | 2 +- .../manager/api/gql/background_task.py | 2 +- .../container_registry/resolver/mutation.py | 6 +-- .../gql/container_registry/resolver/query.py | 2 +- .../gql/deployment/resolver/access_token.py | 2 +- .../gql/deployment/resolver/auto_scaling.py | 6 +-- .../api/gql/deployment/resolver/deployment.py | 14 ++--- .../api/gql/deployment/resolver/policy.py | 2 +- .../api/gql/deployment/resolver/replica.py | 6 +-- .../api/gql/deployment/resolver/revision.py | 12 ++--- .../deployment/resolver/revision_preset.py | 10 ++-- .../api/gql/deployment/resolver/route.py | 6 +-- .../api/gql/deployment/types/deployment.py | 16 +++--- .../api/gql/deployment/types/replica.py | 4 +- .../api/gql/deployment/types/revision.py | 8 +-- .../manager/api/gql/deployment/types/route.py | 6 +-- .../api/gql/domain_v2/resolver/mutation.py | 8 +-- .../api/gql/domain_v2/resolver/query.py | 6 +-- .../manager/api/gql/domain_v2/types/node.py | 10 ++-- .../api/gql/fair_share/resolver/domain.py | 20 +++---- .../api/gql/fair_share/resolver/project.py | 20 +++---- .../api/gql/fair_share/resolver/user.py | 20 +++---- .../api/gql/fair_share/types/common.py | 2 +- .../api/gql/fair_share/types/domain.py | 4 +- .../api/gql/fair_share/types/project.py | 6 +-- .../manager/api/gql/fair_share/types/user.py | 8 +-- .../manager/api/gql/huggingface_registry.py | 12 ++--- .../backend/manager/api/gql/image/resolver.py | 12 ++--- src/ai/backend/manager/api/gql/image/types.py | 4 +- .../manager/api/gql/kernel/resolver/kernel.py | 6 +-- .../backend/manager/api/gql/kernel/types.py | 14 ++--- .../api/gql/keypair/resolver/mutation.py | 14 ++--- .../manager/api/gql/keypair/resolver/query.py | 6 +-- .../api/gql/login_history/resolver/query.py | 4 +- .../api/gql/login_session/resolver/query.py | 8 +-- .../manager/api/gql/model_card/resolver.py | 10 ++-- .../manager/api/gql/notification/resolver.py | 52 +++++++++---------- .../backend/manager/api/gql/object_storage.py | 18 +++---- .../api/gql/project_v2/resolver/mutation.py | 10 ++-- .../api/gql/project_v2/resolver/query.py | 8 +-- .../manager/api/gql/project_v2/types/node.py | 10 ++-- .../resolver/mutation.py | 6 +-- .../prometheus_query_preset/resolver/query.py | 6 +-- .../manager/api/gql/rbac/resolver/entity.py | 2 +- .../api/gql/rbac/resolver/permission.py | 12 ++--- .../manager/api/gql/rbac/resolver/role.py | 24 ++++----- .../manager/api/gql/rbac/types/entity.py | 2 +- .../manager/api/gql/rbac/types/permission.py | 4 +- .../manager/api/gql/rbac/types/role.py | 8 +-- .../manager/api/gql/reservoir_registry.py | 14 ++--- .../api/gql/resource_allocation/resolver.py | 14 ++--- .../api/gql/resource_group/resolver.py | 32 ++++++------ .../manager/api/gql/resource_group/types.py | 4 +- .../resource_policy_v2/resolver/mutation.py | 18 +++---- .../gql/resource_policy_v2/resolver/query.py | 16 +++--- .../api/gql/resource_preset/resolver.py | 10 ++-- .../manager/api/gql/resource_slot/resolver.py | 4 +- .../resource_usage/resolver/domain_usage.py | 6 +-- .../resource_usage/resolver/project_usage.py | 6 +-- .../gql/resource_usage/resolver/user_usage.py | 6 +-- .../gql/resource_usage/types/domain_usage.py | 6 +-- .../gql/resource_usage/types/project_usage.py | 6 +-- .../gql/resource_usage/types/user_usage.py | 4 +- .../api/gql/runtime_variant/resolver.py | 10 ++-- .../gql/runtime_variant_preset/resolver.py | 10 ++-- src/ai/backend/manager/api/gql/scheduler.py | 4 +- .../api/gql/scheduling_history/resolver.py | 18 +++---- .../api/gql/service_catalog/resolver.py | 2 +- .../api/gql/session/resolver/session.py | 8 +-- .../backend/manager/api/gql/session/types.py | 12 ++--- .../manager/api/gql/storage_namespace.py | 6 +-- .../manager/api/gql/user/resolver/mutation.py | 20 +++---- .../manager/api/gql/user/resolver/query.py | 12 ++--- .../manager/api/gql/user/types/node.py | 8 +-- src/ai/backend/manager/api/gql/vfolder.py | 2 +- .../api/gql/vfolder_v2/resolver/query.py | 4 +- .../api/gql/vfolder_v2/types/nested.py | 6 +-- src/ai/backend/manager/api/gql/vfs_storage.py | 12 ++--- 90 files changed, 414 insertions(+), 416 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 9d148a5a308..34978ff4a54 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -330,7 +330,7 @@ mypy_path = "stubs:src" namespace_packages = true explicit_package_bases = true python_executable = "dist/export/python/virtualenvs/python-default/3.14.3/bin/python" -disable_error_code = ["typeddict-unknown-key", "import-untyped"] +disable_error_code = ["typeddict-unknown-key", "import-untyped", "untyped-decorator"] enable_error_code = ["possibly-undefined"] warn_unreachable = true diff --git a/src/ai/backend/agent/agent.py b/src/ai/backend/agent/agent.py index 9e0e4f7653d..baf8bea928f 100644 --- a/src/ai/backend/agent/agent.py +++ b/src/ai/backend/agent/agent.py @@ -2832,9 +2832,7 @@ async def create_kernel( exposed_ports = [2000, 2001] service_ports: list[ServicePort] = [] port_map: dict[str, ServicePort] = {} - preopen_ports = ctx.kernel_config.get("preopen_ports") - if preopen_ports is None: - preopen_ports = [] + preopen_ports = ctx.kernel_config.get("preopen_ports") or [] service_ports.append({ "name": "sshd", diff --git a/src/ai/backend/agent/docker/agent.py b/src/ai/backend/agent/docker/agent.py index fb911342e9b..4fdcd303b77 100644 --- a/src/ai/backend/agent/docker/agent.py +++ b/src/ai/backend/agent/docker/agent.py @@ -2182,7 +2182,7 @@ async def destroy_local_network(self, network_name: str) -> None: else: raise - @preserve_termination_log # type: ignore[misc] + @preserve_termination_log async def monitor_docker_events(self) -> None: async def handle_action_start( session_id: SessionId, kernel_id: KernelId, evdata: Mapping[str, Any] diff --git a/src/ai/backend/common/distributed.py b/src/ai/backend/common/distributed.py index 237aa3a8d3f..9013f24ad39 100644 --- a/src/ai/backend/common/distributed.py +++ b/src/ai/backend/common/distributed.py @@ -42,7 +42,7 @@ def __init__( self.initial_delay = initial_delay self.task_name = task_name - @preserve_termination_log # type: ignore[misc] + @preserve_termination_log async def generate_tick(self) -> None: try: await asyncio.sleep(self.initial_delay) diff --git a/src/ai/backend/common/events/dispatcher.py b/src/ai/backend/common/events/dispatcher.py index 5975cfafbe4..884549a4210 100644 --- a/src/ai/backend/common/events/dispatcher.py +++ b/src/ai/backend/common/events/dispatcher.py @@ -609,7 +609,7 @@ async def dispatch_subscribers( ) await asyncio.sleep(0) - @preserve_termination_log # type: ignore[misc] + @preserve_termination_log async def _consume_loop(self) -> None: async for msg in self._msg_queue.consume_queue(): # type: ignore if self._closed: @@ -637,7 +637,7 @@ async def _consume_loop(self) -> None: # Do not raise the exception to avoid stopping the loop. # The exception will be handled by the task group. - @preserve_termination_log # type: ignore[misc] + @preserve_termination_log async def _subscribe_loop(self) -> None: async for msg in self._msg_queue.subscribe_queue(): # type: ignore if self._closed: diff --git a/src/ai/backend/manager/api/gql/agent/resolver.py b/src/ai/backend/manager/api/gql/agent/resolver.py index f091f8889b1..2dd429556e2 100644 --- a/src/ai/backend/manager/api/gql/agent/resolver.py +++ b/src/ai/backend/manager/api/gql/agent/resolver.py @@ -23,7 +23,7 @@ @gql_root_field( BackendAIGQLMeta(added_version="25.15.0", description="Get aggregate agent resource statistics") -) # type: ignore[misc] +) async def agent_stats(info: Info[StrawberryGQLContext]) -> AgentStatsGQL | None: total = await info.context.adapters.agent.get_total_resources() resource = AgentResourceGQL( @@ -38,7 +38,7 @@ async def agent_stats(info: Info[StrawberryGQLContext]) -> AgentStatsGQL | None: BackendAIGQLMeta( added_version="26.1.0", description="List agents with filtering and pagination" ) -) # type: ignore[misc] +) async def agents_v2( info: Info[StrawberryGQLContext], filter: AgentFilterGQL | None = None, diff --git a/src/ai/backend/manager/api/gql/agent/types.py b/src/ai/backend/manager/api/gql/agent/types.py index 935e941fea2..478f506210b 100644 --- a/src/ai/backend/manager/api/gql/agent/types.py +++ b/src/ai/backend/manager/api/gql/agent/types.py @@ -286,7 +286,7 @@ class AgentV2GQL(PydanticNodeMixin[AgentNode]): BackendAIGQLMeta( added_version="26.1.0", description="Load the container count for this agent." ) - ) # type: ignore[misc] + ) async def container_count( self, info: Info[StrawberryGQLContext], @@ -301,7 +301,7 @@ async def container_count( added_version="26.2.0", description="List of kernels running on this agent with pagination support.", ) - ) # type: ignore[misc] + ) async def kernels( self, info: Info[StrawberryGQLContext], @@ -362,7 +362,7 @@ async def kernels( added_version="26.3.0", description="List of sessions running on this agent with pagination support.", ) - ) # type: ignore[misc] + ) async def sessions( self, info: Info[StrawberryGQLContext], @@ -425,7 +425,7 @@ async def sessions( added_version="26.3.0", description="Per-slot resource capacity and usage for this agent.", ) - ) # type: ignore[misc] + ) async def resource_slots( self, info: Info[StrawberryGQLContext], diff --git a/src/ai/backend/manager/api/gql/app_config.py b/src/ai/backend/manager/api/gql/app_config.py index 59bebc1c5a0..9c0ef9102ce 100644 --- a/src/ai/backend/manager/api/gql/app_config.py +++ b/src/ai/backend/manager/api/gql/app_config.py @@ -177,7 +177,7 @@ class DeleteUserConfigPayload: added_version="26.2.0", description="Retrieve domain-level app configuration (admin only). Returns only the configuration set specifically for the domain, without merging. This query is useful for checking what values are configured at the domain level when you want to modify domain or user configurations separately. For actual configuration values to be applied, use mergedAppConfig instead.", ) -) # type: ignore[misc] +) async def admin_domain_app_config( domain_name: str, info: Info[StrawberryGQLContext], @@ -196,7 +196,7 @@ async def admin_domain_app_config( description="Retrieve domain-level app configuration. Returns only the configuration set specifically for the domain, without merging. This query is useful for checking what values are configured at the domain level when you want to modify domain or user configurations separately. For actual configuration values to be applied, use mergedAppConfig instead. Requires admin privileges.", ), deprecation_reason="Use admin_domain_app_config instead. This API will be removed after v26.3.0. See BEP-1041 for migration guide.", -) # type: ignore[misc] +) async def domain_app_config( domain_name: str, info: Info[StrawberryGQLContext], @@ -217,7 +217,7 @@ async def domain_app_config( added_version="25.16.0", description="Retrieve user-level app configuration. Returns only the configuration set specifically for the user, without merging with domain config. This query is useful for checking what values are configured at the user level when you want to modify domain or user configurations separately. For actual configuration values to be applied, use mergedAppConfig instead. If user_id is not provided, returns the current user's configuration. Users can only access their own configuration, but admins can access any user's configuration.", ) -) # type: ignore[misc] +) async def user_app_config( info: Info[StrawberryGQLContext], user_id: ID | None = None, @@ -244,7 +244,7 @@ async def user_app_config( added_version="25.16.0", description="Retrieve merged app configuration for the current user. The result combines domain-level and user-level configurations, where user settings override domain settings for the same keys. This query should be used when working with user app configurations to get the actual configuration values that will be applied.", ) -) # type: ignore[misc] +) async def merged_app_config( info: Info[StrawberryGQLContext], ) -> AppConfig: @@ -263,7 +263,7 @@ async def merged_app_config( description="Create or update domain-level app configuration (admin only). The provided extra_config object will completely replace the existing configuration; existing keys not present in the new extra_config will be removed. All users in this domain will be affected by these settings when their configurations are merged, unless they have user-level configurations that override specific keys", ), name="adminUpsertDomainAppConfig", -) # type: ignore[misc] +) async def admin_upsert_domain_app_config( input: UpsertDomainConfigInput, info: Info[StrawberryGQLContext], @@ -283,7 +283,7 @@ async def admin_upsert_domain_app_config( ), name="upsertDomainAppConfig", deprecation_reason="Use admin_upsert_domain_app_config instead. This API will be removed after v26.3.0. See BEP-1041 for migration guide.", -) # type: ignore[misc] +) async def upsert_domain_app_config( input: UpsertDomainConfigInput, info: Info[StrawberryGQLContext], @@ -305,7 +305,7 @@ async def upsert_domain_app_config( description="Create or update user-level app configuration. The provided extra_config object will completely replace the existing configuration; existing keys not present in the new extra_config will be removed. These settings will override domain-level settings when configurations are merged for this user. If user_id is not provided, the current user's configuration will be updated. Users can only modify their own configuration, but admins can modify any user's configuration", ), name="upsertUserAppConfig", -) # type: ignore[misc] +) async def upsert_user_app_config( input: UpsertUserConfigInput, info: Info[StrawberryGQLContext], @@ -333,7 +333,7 @@ async def upsert_user_app_config( description="Delete domain-level app configuration (admin only). All users in this domain may be affected by this deletion. After deletion, users will only receive their user-level configurations when configurations are merged, with no domain-level defaults", ), name="adminDeleteDomainAppConfig", -) # type: ignore[misc] +) async def admin_delete_domain_app_config( input: DeleteDomainConfigInput, info: Info[StrawberryGQLContext], @@ -351,7 +351,7 @@ async def admin_delete_domain_app_config( ), name="deleteDomainAppConfig", deprecation_reason="Use admin_delete_domain_app_config instead. This API will be removed after v26.3.0. See BEP-1041 for migration guide.", -) # type: ignore[misc] +) async def delete_domain_app_config( input: DeleteDomainConfigInput, info: Info[StrawberryGQLContext], @@ -371,7 +371,7 @@ async def delete_domain_app_config( description="Delete user-level app configuration. After deletion, the user will still receive domain-level configuration values when configurations are merged, as domain settings remain unaffected. If user_id is not provided, the current user's configuration will be deleted. Users can only delete their own configuration, but admins can delete any user's configuration", ), name="deleteUserAppConfig", -) # type: ignore[misc] +) async def delete_user_app_config( input: DeleteUserConfigInput, info: Info[StrawberryGQLContext], diff --git a/src/ai/backend/manager/api/gql/artifact/resolver.py b/src/ai/backend/manager/api/gql/artifact/resolver.py index f4b6af55a11..bdf96b3ace6 100644 --- a/src/ai/backend/manager/api/gql/artifact/resolver.py +++ b/src/ai/backend/manager/api/gql/artifact/resolver.py @@ -84,7 +84,7 @@ added_version="25.14.0", description="Query artifacts with optional filtering, ordering, and pagination. Returns artifacts that are available in the system, discovered through scanning external registries like HuggingFace or Reservoir. By default, only shows ALIVE (non-deleted) artifacts. Use filters to narrow down results by type, name, registry, or availability. Supports cursor-based pagination for efficient browsing of large datasets.", ) -) # type: ignore[misc] +) async def artifacts( info: Info[StrawberryGQLContext], filter: ArtifactFilter | None = None, @@ -143,7 +143,7 @@ async def artifacts( added_version="25.14.0", description="Retrieve a specific artifact by its ID. Returns detailed information about the artifact including its metadata, registry information, and availability status.", ) -) # type: ignore[misc] +) async def artifact(id: ID, info: Info[StrawberryGQLContext]) -> Artifact | None: artifact_id = UUID(id) artifact_node = await info.context.adapters.artifact.get(artifact_id) @@ -166,7 +166,7 @@ async def artifact(id: ID, info: Info[StrawberryGQLContext]) -> Artifact | None: added_version="25.14.0", description="Query artifact revisions with optional filtering, ordering, and pagination. Returns specific versions/revisions of artifacts. Each revision represents a specific version of an artifact with its own status, file data, and metadata. Use filters to find revisions by status, version, or artifact ID. Supports cursor-based pagination for efficient browsing.", ) -) # type: ignore[misc] +) async def artifact_revisions( info: Info[StrawberryGQLContext], filter: ArtifactRevisionFilter | None = None, @@ -218,7 +218,7 @@ async def artifact_revisions( added_version="25.14.0", description="Retrieve a specific artifact revision by its ID. Returns detailed information about the revision including its status, version, file size, and README content.", ) -) # type: ignore[misc] +) async def artifact_revision(id: ID, info: Info[StrawberryGQLContext]) -> ArtifactRevision | None: revision_node = await info.context.adapters.artifact.get_revision(UUID(id)) return make_artifact_revision_from_node(revision_node) @@ -229,7 +229,7 @@ async def artifact_revision(id: ID, info: Info[StrawberryGQLContext]) -> Artifac added_version="25.14.0", description="Scan external registries to discover available artifacts. Searches HuggingFace or Reservoir registries for artifacts matching the specified criteria and registers them in the system with SCANNED status. The artifacts become available for import but are not downloaded until explicitly imported. This is the first step in the artifact workflow: Scan → Import → Use", ) -) # type: ignore[misc] +) async def scan_artifacts( input: ScanArtifactsInput, info: Info[StrawberryGQLContext] ) -> ScanArtifactsPayload: @@ -265,7 +265,7 @@ async def scan_artifacts( added_version="25.14.0", description="Import scanned artifact revisions from external registries. Downloads the actual files for the specified artifact revisions, transitioning them from SCANNED → PULLING → VERIFYING → AVAILABLE status. Returns background tasks that can be monitored for import progress. Once AVAILABLE, artifacts can be used by users in their sessions", ) -) # type: ignore[misc] +) async def import_artifacts( input: ImportArtifactsInput, info: Info[StrawberryGQLContext] ) -> ImportArtifactsPayload: @@ -316,7 +316,7 @@ async def import_artifacts( added_version="25.15.0", description="Triggers artifact scanning on a remote reservoir registry. This mutation instructs a reservoir-type registry to initiate a scan of artifacts from its associated remote reservoir registry source. The scan process will discover and catalog artifacts available in the remote reservoir, making them accessible through the local reservoir registry. Requirements: - The delegator registry must be of type 'reservoir' - The delegator reservoir registry must have a valid remote registry configuration", ) -) # type: ignore[misc] +) async def delegate_scan_artifacts( input: DelegateScanArtifactsInput, info: Info[StrawberryGQLContext] ) -> DelegateScanArtifactsPayload: @@ -355,7 +355,7 @@ async def delegate_scan_artifacts( added_version="25.15.0", description="Trigger import of artifact revisions from a remote reservoir registry. This mutation instructs a reservoir-type registry to import specific artifact revisions that were previously discovered during a scan from its remote registry. Note that this operation does not import the artifacts directly into the local registry, but only into the delegator reservoir's storage. Requirements: - The delegator registry must be of type 'reservoir' - The delegator registry must have a valid remote registry configuration", ) -) # type: ignore[misc] +) async def delegate_import_artifacts( input: DelegateImportArtifactsInput, info: Info[StrawberryGQLContext] ) -> DelegateImportArtifactsPayload: @@ -413,7 +413,7 @@ async def delegate_import_artifacts( added_version="25.14.0", description="Update artifact metadata properties. Modifies artifact metadata such as readonly status and description. This operation does not affect the actual artifact files or revisions", ) -) # type: ignore[misc] +) async def update_artifact( input: UpdateArtifactInput, info: Info[StrawberryGQLContext] ) -> UpdateArtifactPayload: @@ -445,7 +445,7 @@ async def update_artifact( added_version="25.14.0", description="Clean up stored artifact revision data to free storage space. Removes the downloaded files for the specified artifact revisions and transitions them back to SCANNED status. The metadata remains, allowing the artifacts to be re-imported later if needed. Use this operation to manage storage usage by removing unused artifacts", ) -) # type: ignore[misc] +) async def cleanup_artifact_revisions( input: CleanupArtifactRevisionsInput, info: Info[StrawberryGQLContext] ) -> CleanupArtifactRevisionsPayload: @@ -480,7 +480,7 @@ async def cleanup_artifact_revisions( added_version="25.15.0", description="Soft-delete artifacts from the system. Marks artifacts as deleted without permanently removing them. Deleted artifacts can be restored using the restore_artifacts mutation", ) -) # type: ignore[misc] +) async def delete_artifacts( input: DeleteArtifactsInput, info: Info[StrawberryGQLContext] ) -> DeleteArtifactsPayload: @@ -507,7 +507,7 @@ async def delete_artifacts( added_version="25.15.0", description="Restore previously deleted artifacts. Reverses the soft-delete operation, making the artifacts available again for use in the system", ) -) # type: ignore[misc] +) async def restore_artifacts( input: RestoreArtifactsInput, info: Info[StrawberryGQLContext] ) -> RestoreArtifactsPayload: @@ -535,7 +535,7 @@ async def restore_artifacts( added_version="25.14.0", description="Cancel an in-progress artifact import operation. Stops the download process for the specified artifact revision and reverts its status back to SCANNED. The partially downloaded data is cleaned up", ) -) # type: ignore[misc] +) async def cancel_import_artifact( input: CancelArtifactInput, info: Info[StrawberryGQLContext] ) -> CancelImportArtifactPayload: @@ -555,7 +555,7 @@ async def cancel_import_artifact( added_version="25.14.0", description="Approve an artifact revision for general use. Admin-only operation to approve artifact revisions, typically used in environments with approval workflows for artifact deployment", ) -) # type: ignore[misc] +) async def approve_artifact_revision( input: ApproveArtifactInput, info: Info[StrawberryGQLContext] ) -> ApproveArtifactPayload: @@ -570,7 +570,7 @@ async def approve_artifact_revision( added_version="25.14.0", description="Reject an artifact revision, preventing its use. Admin-only operation to reject artifact revisions, typically used in environments with approval workflows for artifact deployment", ) -) # type: ignore[misc] +) async def reject_artifact_revision( input: RejectArtifactInput, info: Info[StrawberryGQLContext] ) -> RejectArtifactPayload: @@ -585,7 +585,7 @@ async def reject_artifact_revision( added_version="25.14.0", description="Perform detailed scanning of specific models. Unlike the general scan_artifacts operation, this performs immediate detailed scanning of specified models including README content and file sizes. Returns artifact revisions with complete metadata ready for use", ) -) # type: ignore[misc] +) async def scan_artifact_models( input: ScanArtifactModelsInput, info: Info[StrawberryGQLContext] ) -> ScanArtifactModelsPayload: @@ -619,7 +619,7 @@ async def scan_artifact_models( # Subscriptions -@gql_subscription( # type: ignore[misc] +@gql_subscription( BackendAIGQLMeta( added_version="25.14.0", description=( @@ -637,7 +637,7 @@ async def artifact_status_changed( yield # type: ignore[unreachable] # Makes this an async generator -@gql_subscription( # type: ignore[misc] +@gql_subscription( BackendAIGQLMeta( added_version="25.14.0", description=( diff --git a/src/ai/backend/manager/api/gql/artifact/types.py b/src/ai/backend/manager/api/gql/artifact/types.py index 781444d7fa9..ae9e0f5745b 100644 --- a/src/ai/backend/manager/api/gql/artifact/types.py +++ b/src/ai/backend/manager/api/gql/artifact/types.py @@ -646,7 +646,7 @@ class Artifact(PydanticNodeMixin[ArtifactGQLNode]): updated_at: datetime availability: ArtifactAvailability - @gql_field(description="The revisions of this entity.") # type: ignore[misc] + @gql_field(description="The revisions of this entity.") async def revisions( self, info: Info[StrawberryGQLContext], @@ -761,7 +761,7 @@ async def resolve_nodes( # type: ignore[override] # Strawberry Node uses Await ]) return cast(list[Self | None], results) - @gql_field(description="The artifact of this entity.") # type: ignore[misc] + @gql_field(description="The artifact of this entity.") async def artifact(self, info: Info[StrawberryGQLContext]) -> Artifact: revision_node = await info.context.adapters.artifact.get_revision(uuid.UUID(self.id)) artifact_node = await info.context.adapters.artifact.get(revision_node.artifact_id) diff --git a/src/ai/backend/manager/api/gql/artifact_registry.py b/src/ai/backend/manager/api/gql/artifact_registry.py index 2a075030b58..f7a7ee38d3d 100644 --- a/src/ai/backend/manager/api/gql/artifact_registry.py +++ b/src/ai/backend/manager/api/gql/artifact_registry.py @@ -50,7 +50,7 @@ class ArtifactRegistry: added_version="25.14.0", description="Get the default artifact registry for a given artifact type", ) -) # type: ignore[misc] +) async def default_artifact_registry( artifact_type: ArtifactType, info: Info[StrawberryGQLContext] ) -> ArtifactRegistry | None: diff --git a/src/ai/backend/manager/api/gql/audit_log/resolver/query.py b/src/ai/backend/manager/api/gql/audit_log/resolver/query.py index bdeb3811528..b256473f3d2 100644 --- a/src/ai/backend/manager/api/gql/audit_log/resolver/query.py +++ b/src/ai/backend/manager/api/gql/audit_log/resolver/query.py @@ -25,7 +25,7 @@ added_version="26.3.0", description="Query audit logs with pagination and filtering. (admin only)", ) -) # type: ignore[misc] +) async def admin_audit_logs_v2( info: Info[StrawberryGQLContext], filter: AuditLogFilterGQL | None = None, diff --git a/src/ai/backend/manager/api/gql/audit_log/types/node.py b/src/ai/backend/manager/api/gql/audit_log/types/node.py index 719b444327f..b09922e5d70 100644 --- a/src/ai/backend/manager/api/gql/audit_log/types/node.py +++ b/src/ai/backend/manager/api/gql/audit_log/types/node.py @@ -65,7 +65,7 @@ class AuditLogV2GQL(PydanticNodeMixin[AuditLogNode]): @gql_field( description="The user who triggered this audit log entry, resolved from triggered_by UUID." - ) # type: ignore[misc] + ) async def user( self, info: Info[StrawberryGQLContext], diff --git a/src/ai/backend/manager/api/gql/background_task.py b/src/ai/backend/manager/api/gql/background_task.py index 9cc641df436..5bc38f7d638 100644 --- a/src/ai/backend/manager/api/gql/background_task.py +++ b/src/ai/backend/manager/api/gql/background_task.py @@ -135,7 +135,7 @@ def from_already_done_event( return cls.from_pydantic(dto) # type: ignore[attr-defined, no-any-return] -@gql_subscription( # type: ignore[misc] +@gql_subscription( BackendAIGQLMeta( added_version=NEXT_RELEASE_VERSION, description=( diff --git a/src/ai/backend/manager/api/gql/container_registry/resolver/mutation.py b/src/ai/backend/manager/api/gql/container_registry/resolver/mutation.py index 88cdb7c6f81..f3d36ec2d9d 100644 --- a/src/ai/backend/manager/api/gql/container_registry/resolver/mutation.py +++ b/src/ai/backend/manager/api/gql/container_registry/resolver/mutation.py @@ -28,7 +28,7 @@ added_version=NEXT_RELEASE_VERSION, description="Create a new container registry (admin only).", ) -) # type: ignore[misc] +) async def admin_create_container_registry_v2( info: Info[StrawberryGQLContext], input: CreateContainerRegistryInputGQL, @@ -43,7 +43,7 @@ async def admin_create_container_registry_v2( added_version=NEXT_RELEASE_VERSION, description="Update a container registry (admin only).", ) -) # type: ignore[misc] +) async def admin_update_container_registry_v2( info: Info[StrawberryGQLContext], input: UpdateContainerRegistryInputGQL, @@ -58,7 +58,7 @@ async def admin_update_container_registry_v2( added_version=NEXT_RELEASE_VERSION, description="Delete a container registry (admin only).", ) -) # type: ignore[misc] +) async def admin_delete_container_registry_v2( info: Info[StrawberryGQLContext], id: str, diff --git a/src/ai/backend/manager/api/gql/container_registry/resolver/query.py b/src/ai/backend/manager/api/gql/container_registry/resolver/query.py index 2d2c886ef48..04e8ef2a8fb 100644 --- a/src/ai/backend/manager/api/gql/container_registry/resolver/query.py +++ b/src/ai/backend/manager/api/gql/container_registry/resolver/query.py @@ -32,7 +32,7 @@ added_version=NEXT_RELEASE_VERSION, description="List container registries with filtering, ordering, and pagination (admin only).", ) -) # type: ignore[misc] +) async def admin_container_registries_v2( info: Info[StrawberryGQLContext], filter: ContainerRegistryV2Filter | None = None, diff --git a/src/ai/backend/manager/api/gql/deployment/resolver/access_token.py b/src/ai/backend/manager/api/gql/deployment/resolver/access_token.py index d4dc438463c..e8524cd499a 100644 --- a/src/ai/backend/manager/api/gql/deployment/resolver/access_token.py +++ b/src/ai/backend/manager/api/gql/deployment/resolver/access_token.py @@ -18,7 +18,7 @@ # Mutation resolvers -@gql_mutation(BackendAIGQLMeta(added_version="25.16.0", description="Create access token.")) # type: ignore[misc] +@gql_mutation(BackendAIGQLMeta(added_version="25.16.0", description="Create access token.")) async def create_access_token( input: CreateAccessTokenInput, info: Info[StrawberryGQLContext] ) -> CreateAccessTokenPayload: diff --git a/src/ai/backend/manager/api/gql/deployment/resolver/auto_scaling.py b/src/ai/backend/manager/api/gql/deployment/resolver/auto_scaling.py index 1c50126af1a..3512c9e56be 100644 --- a/src/ai/backend/manager/api/gql/deployment/resolver/auto_scaling.py +++ b/src/ai/backend/manager/api/gql/deployment/resolver/auto_scaling.py @@ -22,7 +22,7 @@ # Mutation resolvers -@gql_mutation(BackendAIGQLMeta(added_version="25.16.0", description="Create auto scaling rule.")) # type: ignore[misc] +@gql_mutation(BackendAIGQLMeta(added_version="25.16.0", description="Create auto scaling rule.")) async def create_auto_scaling_rule( input: CreateAutoScalingRuleInput, info: Info[StrawberryGQLContext] ) -> CreateAutoScalingRulePayload: @@ -31,7 +31,7 @@ async def create_auto_scaling_rule( return CreateAutoScalingRulePayload(rule=AutoScalingRule.from_pydantic(payload.rule)) -@gql_mutation(BackendAIGQLMeta(added_version="25.16.0", description="Update auto scaling rule.")) # type: ignore[misc] +@gql_mutation(BackendAIGQLMeta(added_version="25.16.0", description="Update auto scaling rule.")) async def update_auto_scaling_rule( input: UpdateAutoScalingRuleInput, info: Info[StrawberryGQLContext] ) -> UpdateAutoScalingRulePayload: @@ -40,7 +40,7 @@ async def update_auto_scaling_rule( return UpdateAutoScalingRulePayload(rule=AutoScalingRule.from_pydantic(payload.rule)) -@gql_mutation(BackendAIGQLMeta(added_version="25.16.0", description="Delete auto scaling rule.")) # type: ignore[misc] +@gql_mutation(BackendAIGQLMeta(added_version="25.16.0", description="Delete auto scaling rule.")) async def delete_auto_scaling_rule( input: DeleteAutoScalingRuleInput, info: Info[StrawberryGQLContext] ) -> DeleteAutoScalingRulePayload: diff --git a/src/ai/backend/manager/api/gql/deployment/resolver/deployment.py b/src/ai/backend/manager/api/gql/deployment/resolver/deployment.py index 453ecd366ef..d83ca3726f6 100644 --- a/src/ai/backend/manager/api/gql/deployment/resolver/deployment.py +++ b/src/ai/backend/manager/api/gql/deployment/resolver/deployment.py @@ -44,7 +44,7 @@ added_version="25.16.0", description="List deployments with optional filtering and pagination (admin, all deployments).", ) -) # type: ignore[misc] +) async def deployments( info: Info[StrawberryGQLContext], filter: DeploymentFilter | None = None, @@ -87,7 +87,7 @@ async def deployments( @gql_root_field( BackendAIGQLMeta(added_version="25.16.0", description="Get a specific deployment by ID.") -) # type: ignore[misc] +) async def deployment(id: ID, info: Info[StrawberryGQLContext]) -> ModelDeployment | None: """Get a specific deployment by ID.""" _, deployment_id = resolve_global_id(id) @@ -98,7 +98,7 @@ async def deployment(id: ID, info: Info[StrawberryGQLContext]) -> ModelDeploymen # Mutation resolvers -@gql_mutation(BackendAIGQLMeta(added_version="25.16.0", description="Create model deployment.")) # type: ignore[misc] +@gql_mutation(BackendAIGQLMeta(added_version="25.16.0", description="Create model deployment.")) async def create_model_deployment( input: CreateDeploymentInput, info: Info[StrawberryGQLContext] ) -> CreateDeploymentPayload: @@ -110,7 +110,7 @@ async def create_model_deployment( return CreateDeploymentPayload(deployment=ModelDeployment.from_pydantic(payload.deployment)) -@gql_mutation(BackendAIGQLMeta(added_version="25.16.0", description="Update model deployment.")) # type: ignore[misc] +@gql_mutation(BackendAIGQLMeta(added_version="25.16.0", description="Update model deployment.")) async def update_model_deployment( input: UpdateDeploymentInput, info: Info[StrawberryGQLContext] ) -> UpdateDeploymentPayload: @@ -119,7 +119,7 @@ async def update_model_deployment( return UpdateDeploymentPayload(deployment=ModelDeployment.from_pydantic(payload.deployment)) -@gql_mutation(BackendAIGQLMeta(added_version="25.16.0", description="Delete model deployment.")) # type: ignore[misc] +@gql_mutation(BackendAIGQLMeta(added_version="25.16.0", description="Delete model deployment.")) async def delete_model_deployment( input: DeleteDeploymentInput, info: Info[StrawberryGQLContext] ) -> DeleteDeploymentPayload: @@ -133,7 +133,7 @@ async def delete_model_deployment( added_version="25.16.0", description="Force syncs up-to-date replica information. In normal situations this will be automatically handled by Backend.AI schedulers.", ) -) # type: ignore[misc] +) async def sync_replicas( input: SyncReplicaInput, info: Info[StrawberryGQLContext] ) -> SyncReplicaPayload: @@ -146,7 +146,7 @@ async def sync_replicas( @gql_subscription( BackendAIGQLMeta(added_version="25.16.0", description="Subscribe to deployment status changes.") -) # type: ignore[misc] +) async def deployment_status_changed( info: Info[StrawberryGQLContext], ) -> AsyncGenerator[DeploymentStatusChangedPayload, None]: diff --git a/src/ai/backend/manager/api/gql/deployment/resolver/policy.py b/src/ai/backend/manager/api/gql/deployment/resolver/policy.py index 3ccb904728c..0bc75db49ff 100644 --- a/src/ai/backend/manager/api/gql/deployment/resolver/policy.py +++ b/src/ai/backend/manager/api/gql/deployment/resolver/policy.py @@ -23,7 +23,7 @@ added_version=NEXT_RELEASE_VERSION, description="Create or update the deployment policy for a given deployment (upsert semantics). If the deployment already has a policy, it is replaced entirely with the new configuration", ) -) # type: ignore[misc] +) async def update_deployment_policy( input: UpdateDeploymentPolicyInputGQL, info: Info[StrawberryGQLContext], diff --git a/src/ai/backend/manager/api/gql/deployment/resolver/replica.py b/src/ai/backend/manager/api/gql/deployment/resolver/replica.py index b6209a39449..6c9928c8d35 100644 --- a/src/ai/backend/manager/api/gql/deployment/resolver/replica.py +++ b/src/ai/backend/manager/api/gql/deployment/resolver/replica.py @@ -33,7 +33,7 @@ added_version="25.16.0", description="List replicas with optional filtering and pagination (admin, all deployments).", ) -) # type: ignore[misc] +) async def replicas( info: Info[StrawberryGQLContext], filter: ReplicaFilter | None = None, @@ -76,7 +76,7 @@ async def replicas( @gql_root_field( BackendAIGQLMeta(added_version="25.16.0", description="Get a specific replica by ID.") -) # type: ignore[misc] +) async def replica(id: ID, info: Info[StrawberryGQLContext]) -> ModelReplica | None: """Get a specific replica by ID.""" _, replica_id = resolve_global_id(id) @@ -91,7 +91,7 @@ async def replica(id: ID, info: Info[StrawberryGQLContext]) -> ModelReplica | No @gql_subscription( BackendAIGQLMeta(added_version="25.16.0", description="Subscribe to replica status changes.") -) # type: ignore[misc] +) async def replica_status_changed( revision_id: ID, ) -> AsyncGenerator[ReplicaStatusChangedPayload, None]: diff --git a/src/ai/backend/manager/api/gql/deployment/resolver/revision.py b/src/ai/backend/manager/api/gql/deployment/resolver/revision.py index a9afcd1a459..3068f4662e3 100644 --- a/src/ai/backend/manager/api/gql/deployment/resolver/revision.py +++ b/src/ai/backend/manager/api/gql/deployment/resolver/revision.py @@ -44,7 +44,7 @@ added_version="25.16.0", description="List revisions with optional filtering and pagination (admin, all deployments).", ) -) # type: ignore[misc] +) async def revisions( info: Info[StrawberryGQLContext], filter: ModelRevisionFilter | None = None, @@ -87,7 +87,7 @@ async def revisions( @gql_root_field( BackendAIGQLMeta(added_version="25.16.0", description="Get a specific revision by ID.") -) # type: ignore[misc] +) async def revision(id: ID, info: Info[StrawberryGQLContext]) -> ModelRevision | None: """Get a specific revision by ID.""" _, revision_id = resolve_global_id(id) @@ -99,7 +99,7 @@ async def revision(id: ID, info: Info[StrawberryGQLContext]) -> ModelRevision | BackendAIGQLMeta( added_version="25.16.0", description="Get JSON Schema for inference runtime configuration" ) -) # type: ignore[misc] +) async def inference_runtime_config(name: str) -> JSON: match name.lower(): case "vllm": @@ -121,7 +121,7 @@ async def inference_runtime_config(name: str) -> JSON: added_version="25.16.0", description="Get configuration JSON Schemas for all inference runtimes.", ) -) # type: ignore[misc] +) async def inference_runtime_configs(info: Info[StrawberryGQLContext]) -> JSON: return { "vllm": VLLMRuntimeConfig.to_json_schema(), @@ -134,7 +134,7 @@ async def inference_runtime_configs(info: Info[StrawberryGQLContext]) -> JSON: # Mutation resolvers -@gql_mutation(BackendAIGQLMeta(added_version="25.16.0", description="Add model revision.")) # type: ignore[misc] +@gql_mutation(BackendAIGQLMeta(added_version="25.16.0", description="Add model revision.")) async def add_model_revision( input: AddRevisionInput, info: Info[StrawberryGQLContext] ) -> AddRevisionPayload: @@ -148,7 +148,7 @@ async def add_model_revision( added_version="25.19.0", description="Activate a specific revision to be the current revision", ) -) # type: ignore[misc] +) async def activate_deployment_revision( input: ActivateRevisionInputGQL, info: Info[StrawberryGQLContext, None], diff --git a/src/ai/backend/manager/api/gql/deployment/resolver/revision_preset.py b/src/ai/backend/manager/api/gql/deployment/resolver/revision_preset.py index cb632ede87d..635e6572708 100644 --- a/src/ai/backend/manager/api/gql/deployment/resolver/revision_preset.py +++ b/src/ai/backend/manager/api/gql/deployment/resolver/revision_preset.py @@ -38,7 +38,7 @@ added_version=NEXT_RELEASE_VERSION, description="Search deployment revision presets.", ) -) # type: ignore[misc] +) async def deployment_revision_presets( info: Info[StrawberryGQLContext], filter: DeploymentRevisionPresetFilterGQL | None = None, @@ -95,7 +95,7 @@ async def deployment_revision_presets( added_version=NEXT_RELEASE_VERSION, description="Get a single deployment revision preset by ID.", ) -) # type: ignore[misc] +) async def deployment_revision_preset( info: Info[StrawberryGQLContext], id: UUID, @@ -109,7 +109,7 @@ async def deployment_revision_preset( added_version=NEXT_RELEASE_VERSION, description="Create a deployment revision preset.", ) -) # type: ignore[misc] +) async def create_deployment_revision_preset( info: Info[StrawberryGQLContext], input: CreateDeploymentRevisionPresetInputGQL, @@ -124,7 +124,7 @@ async def create_deployment_revision_preset( added_version=NEXT_RELEASE_VERSION, description="Update a deployment revision preset.", ) -) # type: ignore[misc] +) async def update_deployment_revision_preset( info: Info[StrawberryGQLContext], input: UpdateDeploymentRevisionPresetInputGQL, @@ -139,7 +139,7 @@ async def update_deployment_revision_preset( added_version=NEXT_RELEASE_VERSION, description="Delete a deployment revision preset.", ) -) # type: ignore[misc] +) async def delete_deployment_revision_preset( info: Info[StrawberryGQLContext], id: UUID, diff --git a/src/ai/backend/manager/api/gql/deployment/resolver/route.py b/src/ai/backend/manager/api/gql/deployment/resolver/route.py index ec7dee1214e..c308adcc888 100644 --- a/src/ai/backend/manager/api/gql/deployment/resolver/route.py +++ b/src/ai/backend/manager/api/gql/deployment/resolver/route.py @@ -59,7 +59,7 @@ def _route_filter_to_dto(filter: RouteFilter) -> RouteFilterDTO: BackendAIGQLMeta( added_version="25.19.0", description="List routes for a deployment with optional filters." ) -) # type: ignore[misc] +) async def routes( info: Info[StrawberryGQLContext], deployment_id: ID, @@ -105,7 +105,7 @@ async def routes( @gql_root_field( BackendAIGQLMeta(added_version="25.19.0", description="Get a specific route by ID.") -) # type: ignore[misc] +) async def route(id: ID, info: Info[StrawberryGQLContext]) -> Route | None: """Get a specific route by ID.""" _, route_id = resolve_global_id(id) @@ -117,7 +117,7 @@ async def route(id: ID, info: Info[StrawberryGQLContext]) -> Route | None: @gql_mutation( BackendAIGQLMeta(added_version="25.19.0", description="Update the traffic status of a route") -) # type: ignore[misc] +) async def update_route_traffic_status( input: UpdateRouteTrafficStatusInputGQL, info: Info[StrawberryGQLContext], diff --git a/src/ai/backend/manager/api/gql/deployment/types/deployment.py b/src/ai/backend/manager/api/gql/deployment/types/deployment.py index 9d449365cd7..c84de292de8 100644 --- a/src/ai/backend/manager/api/gql/deployment/types/deployment.py +++ b/src/ai/backend/manager/api/gql/deployment/types/deployment.py @@ -190,14 +190,14 @@ class ModelDeploymentMetadata: created_at: datetime updated_at: datetime - @gql_field(description="The project of this entity.") # type: ignore[misc] + @gql_field(description="The project of this entity.") async def project(self, info: Info[StrawberryGQLContext]) -> Project: project_global_id = to_global_id( GroupNode, UUID(str(self.project_id)), is_target_graphene_object=True ) return Project(id=ID(project_global_id)) - @gql_field(description="The domain of this entity.") # type: ignore[misc] + @gql_field(description="The domain of this entity.") async def domain(self, info: Info[StrawberryGQLContext]) -> Domain: domain_global_id = to_global_id( DomainNode, self.domain_name, is_target_graphene_object=True @@ -234,7 +234,7 @@ class ModelDeployment(PydanticNodeMixin[DeploymentNodeDTO]): replica_state: ReplicaState created_user_id: ID - @gql_field(description="The created user of this entity.") # type: ignore[misc] + @gql_field(description="The created user of this entity.") async def created_user(self, info: Info[StrawberryGQLContext]) -> User: user_global_id = to_global_id( UserNode, UUID(str(self.created_user_id)), is_target_graphene_object=True @@ -243,7 +243,7 @@ async def created_user(self, info: Info[StrawberryGQLContext]) -> User: @gql_added_field( BackendAIGQLMeta(added_version="25.19.0", description="Deployment policy configuration.") - ) # type: ignore[misc] + ) async def deployment_policy( self, info: Info[StrawberryGQLContext] ) -> DeploymentPolicyGQL | None: @@ -255,7 +255,7 @@ async def deployment_policy( return None return policy_data - @gql_field(description="The revision history of this entity.") # type: ignore[misc] + @gql_field(description="The revision history of this entity.") async def revision_history( self, info: Info[StrawberryGQLContext], @@ -296,7 +296,7 @@ async def revision_history( ), ) - @gql_field(description="The replicas of this entity.") # type: ignore[misc] + @gql_field(description="The replicas of this entity.") async def replicas( self, info: Info[StrawberryGQLContext], @@ -337,7 +337,7 @@ async def replicas( ), ) - @gql_field(description="The auto scaling rules of this entity.") # type: ignore[misc] + @gql_field(description="The auto scaling rules of this entity.") async def auto_scaling_rules( self, info: Info[StrawberryGQLContext], @@ -380,7 +380,7 @@ async def auto_scaling_rules( ), ) - @gql_field(description="The access tokens of this entity.") # type: ignore[misc] + @gql_field(description="The access tokens of this entity.") async def access_tokens( self, info: Info[StrawberryGQLContext], diff --git a/src/ai/backend/manager/api/gql/deployment/types/replica.py b/src/ai/backend/manager/api/gql/deployment/types/replica.py index 99d35abf0f6..506abc4ea38 100644 --- a/src/ai/backend/manager/api/gql/deployment/types/replica.py +++ b/src/ai/backend/manager/api/gql/deployment/types/replica.py @@ -176,14 +176,14 @@ class ModelReplica(PydanticNodeMixin[ReplicaNodeDTO]): @gql_field( description="The session ID associated with the replica. This can be null right after replica creation." - ) # type: ignore[misc] + ) async def session(self, info: Info[StrawberryGQLContext]) -> Session: session_global_id = to_global_id( ComputeSessionNode, UUID(str(self.session_id)), is_target_graphene_object=True ) return Session(id=ID(session_global_id)) - @gql_field(description="The revision of this entity.") # type: ignore[misc] + @gql_field(description="The revision of this entity.") async def revision(self, info: Info[StrawberryGQLContext]) -> ModelRevision: """Resolve revision by ID.""" node = await info.context.adapters.deployment.get_revision(UUID(str(self.revision_id))) diff --git a/src/ai/backend/manager/api/gql/deployment/types/revision.py b/src/ai/backend/manager/api/gql/deployment/types/revision.py index 93b489f8e5a..a5b7b756501 100644 --- a/src/ai/backend/manager/api/gql/deployment/types/revision.py +++ b/src/ai/backend/manager/api/gql/deployment/types/revision.py @@ -210,7 +210,7 @@ class ResourceConfig: default=None, ) - @gql_field(description="The resource group of this entity.") # type: ignore[misc] + @gql_field(description="The resource group of this entity.") def resource_group(self) -> ResourceGroup: """Resolves the federated ResourceGroup.""" global_id = to_global_id( @@ -255,7 +255,7 @@ class ModelMountConfig: description="Path to the model definition file within the mounted folder." ) - @gql_field(description="The vfolder of this entity.") # type: ignore[misc] + @gql_field(description="The vfolder of this entity.") async def vfolder(self, info: Info[StrawberryGQLContext]) -> VFolder: vfolder_global_id = to_global_id( VirtualFolderNode, UUID(str(self.vfolder_id)), is_target_graphene_object=True @@ -276,7 +276,7 @@ class ExtraVFolderMountInfoGQL: description="Mount destination path inside the container.", default=None ) - @gql_field(description="The vfolder of this entity.") # type: ignore[misc] + @gql_field(description="The vfolder of this entity.") async def vfolder(self, info: Info[StrawberryGQLContext]) -> VFolder: vfolder_global_id = to_global_id( VirtualFolderNode, UUID(str(self.vfolder_id)), is_target_graphene_object=True @@ -436,7 +436,7 @@ class ModelRevision(PydanticNodeMixin[RevisionNodeDTO]): ) created_at: datetime = gql_field(description="Timestamp when the revision was created.") - @gql_field(description="The image of this entity.") # type: ignore[misc] + @gql_field(description="The image of this entity.") async def image(self, info: Info[StrawberryGQLContext]) -> Image: image_global_id = to_global_id( ImageNode, UUID(str(self.image_id)), is_target_graphene_object=True diff --git a/src/ai/backend/manager/api/gql/deployment/types/route.py b/src/ai/backend/manager/api/gql/deployment/types/route.py index 1b3b2b7dfea..53178d7b2b0 100644 --- a/src/ai/backend/manager/api/gql/deployment/types/route.py +++ b/src/ai/backend/manager/api/gql/deployment/types/route.py @@ -102,7 +102,7 @@ class Route(PydanticNodeMixin[RouteNodeDTO]): created_at: datetime | None = gql_field(description="The timestamp when the route was created.") error_data: JSON | None = gql_field(description="Error data if the route is in a failed state.") - @gql_field(description="The deployment this route belongs to.") # type: ignore[misc] + @gql_field(description="The deployment this route belongs to.") async def deployment( self, info: Info[StrawberryGQLContext] ) -> Annotated[ModelDeployment, strawberry.lazy(".deployment")]: @@ -115,7 +115,7 @@ async def deployment( @gql_field( description="The session associated with the route. Can be null if the route is still provisioning." - ) # type: ignore[misc] + ) async def session(self, info: Info[StrawberryGQLContext]) -> ID | None: """Return session global ID if available.""" if self.session_id is None: @@ -125,7 +125,7 @@ async def session(self, info: Info[StrawberryGQLContext]) -> ID | None: ) return ID(session_global_id) - @gql_field(description="The revision associated with the route.") # type: ignore[misc] + @gql_field(description="The revision associated with the route.") async def revision( self, info: Info[StrawberryGQLContext] ) -> Annotated[ModelRevision, strawberry.lazy(".revision")] | None: diff --git a/src/ai/backend/manager/api/gql/domain_v2/resolver/mutation.py b/src/ai/backend/manager/api/gql/domain_v2/resolver/mutation.py index 2546c6f7da3..1ddd30ef743 100644 --- a/src/ai/backend/manager/api/gql/domain_v2/resolver/mutation.py +++ b/src/ai/backend/manager/api/gql/domain_v2/resolver/mutation.py @@ -40,7 +40,7 @@ def _get_user_info() -> UserInfo: added_version=NEXT_RELEASE_VERSION, description="Create a new domain (admin only). Requires superadmin privileges.", ) -) # type: ignore[misc] +) async def admin_create_domain_v2( info: Info[StrawberryGQLContext], input: CreateDomainInputGQL, @@ -57,7 +57,7 @@ async def admin_create_domain_v2( added_version=NEXT_RELEASE_VERSION, description="Update a domain (admin only). Requires superadmin privileges. Only provided fields will be updated.", ) -) # type: ignore[misc] +) async def admin_update_domain_v2( info: Info[StrawberryGQLContext], domain_name: str, @@ -77,7 +77,7 @@ async def admin_update_domain_v2( added_version=NEXT_RELEASE_VERSION, description="Soft-delete a domain (admin only). Requires superadmin privileges.", ) -) # type: ignore[misc] +) async def admin_delete_domain_v2( info: Info[StrawberryGQLContext], domain_name: str, @@ -96,7 +96,7 @@ async def admin_delete_domain_v2( added_version=NEXT_RELEASE_VERSION, description="Permanently purge a domain and all associated data (admin only). Requires superadmin privileges.", ) -) # type: ignore[misc] +) async def admin_purge_domain_v2( info: Info[StrawberryGQLContext], domain_name: str, diff --git a/src/ai/backend/manager/api/gql/domain_v2/resolver/query.py b/src/ai/backend/manager/api/gql/domain_v2/resolver/query.py index 59d80680960..8a82e68543a 100644 --- a/src/ai/backend/manager/api/gql/domain_v2/resolver/query.py +++ b/src/ai/backend/manager/api/gql/domain_v2/resolver/query.py @@ -28,7 +28,7 @@ added_version="26.2.0", description="Get a single domain by name. Returns an error if domain is not found.", ) -) # type: ignore[misc] +) async def domain_v2( info: Info[StrawberryGQLContext], domain_name: str, @@ -42,7 +42,7 @@ async def domain_v2( added_version="26.2.0", description="List all domains with filtering and pagination (admin only). Requires superadmin privileges.", ) -) # type: ignore[misc] +) async def admin_domains_v2( info: Info[StrawberryGQLContext], filter: DomainV2Filter | None = None, @@ -85,7 +85,7 @@ async def admin_domains_v2( BackendAIGQLMeta( added_version="26.2.0", description="List domains within resource group scope." ) -) # type: ignore[misc] +) async def rg_domains_v2( info: Info[StrawberryGQLContext], scope: ResourceGroupDomainScope, diff --git a/src/ai/backend/manager/api/gql/domain_v2/types/node.py b/src/ai/backend/manager/api/gql/domain_v2/types/node.py index ceb260b5eb8..d7a4fb2425e 100644 --- a/src/ai/backend/manager/api/gql/domain_v2/types/node.py +++ b/src/ai/backend/manager/api/gql/domain_v2/types/node.py @@ -97,7 +97,7 @@ class DomainV2GQL(PydanticNodeMixin[DomainNode]): @gql_field( description="Fair share record for this domain in the specified resource group. Returns the scheduling priority configuration for this domain. Always returns an object, even if no explicit configuration exists (in which case default values are used)." - ) # type: ignore[misc] + ) async def fair_share( self, info: Info, @@ -119,7 +119,7 @@ async def fair_share( added_version="26.4.0", description="Active resource usage overview for this domain. Returns the currently occupied resource slots and the number of active sessions.", ) - ) # type: ignore[misc] + ) async def active_resource_overview( self, info: Info, @@ -129,7 +129,7 @@ async def active_resource_overview( @gql_field( description="Usage buckets for this domain, filtered by resource group. Returns aggregated resource usage statistics over time." - ) # type: ignore[misc] + ) async def usage_buckets( self, info: Info, @@ -187,7 +187,7 @@ async def usage_buckets( count=payload.total_count, ) - @gql_field(description="Projects belonging to this domain.") # type: ignore[misc] + @gql_field(description="Projects belonging to this domain.") async def projects( self, info: Info, @@ -250,7 +250,7 @@ async def projects( count=payload.total_count, ) - @gql_field(description="Users belonging to this domain.") # type: ignore[misc] + @gql_field(description="Users belonging to this domain.") async def users( self, info: Info, diff --git a/src/ai/backend/manager/api/gql/fair_share/resolver/domain.py b/src/ai/backend/manager/api/gql/fair_share/resolver/domain.py index 7fa5e6c7d53..07e3db8a752 100644 --- a/src/ai/backend/manager/api/gql/fair_share/resolver/domain.py +++ b/src/ai/backend/manager/api/gql/fair_share/resolver/domain.py @@ -37,7 +37,7 @@ @gql_root_field( BackendAIGQLMeta(added_version="26.2.0", description="Get domain fair share data (admin only).") -) # type: ignore[misc] +) async def admin_domain_fair_share( info: Info[StrawberryGQLContext], resource_group_name: str, @@ -54,7 +54,7 @@ async def admin_domain_fair_share( @gql_root_field( BackendAIGQLMeta(added_version="26.2.0", description="List domain fair shares (admin only).") -) # type: ignore[misc] +) async def admin_domain_fair_shares( info: Info[StrawberryGQLContext], filter: DomainFairShareFilter | None = None, @@ -108,7 +108,7 @@ async def admin_domain_fair_shares( added_version="26.2.0", description="Get domain fair share data within resource group scope.", ) -) # type: ignore[misc] +) async def rg_domain_fair_share( info: Info[StrawberryGQLContext], scope: ResourceGroupDomainScope, @@ -125,7 +125,7 @@ async def rg_domain_fair_share( BackendAIGQLMeta( added_version="26.2.0", description="List domain fair shares within resource group scope." ) -) # type: ignore[misc] +) async def rg_domain_fair_shares( info: Info[StrawberryGQLContext], scope: ResourceGroupDomainScope, @@ -179,7 +179,7 @@ async def rg_domain_fair_shares( added_version="26.1.0", description="Get domain fair share data (superadmin only)." ), deprecation_reason="Use admin_domain_fair_share instead. This API will be removed after v26.3.0. See BEP-1041 for migration guide.", -) # type: ignore[misc] +) async def domain_fair_share( info: Info[StrawberryGQLContext], resource_group_name: str, @@ -201,7 +201,7 @@ async def domain_fair_share( added_version="26.1.0", description="List domain fair shares (superadmin only)." ), deprecation_reason="Use admin_domain_fair_shares instead. This API will be removed after v26.3.0. See BEP-1041 for migration guide.", -) # type: ignore[misc] +) async def domain_fair_shares( info: Info[StrawberryGQLContext], filter: DomainFairShareFilter | None = None, @@ -257,7 +257,7 @@ async def domain_fair_shares( added_version="26.2.0", description="Upsert domain fair share weight (admin only). Creates a new record if it doesn't exist, or updates the weight if it does", ) -) # type: ignore[misc] +) async def admin_upsert_domain_fair_share_weight( info: Info[StrawberryGQLContext], input: UpsertDomainFairShareWeightInput, @@ -276,7 +276,7 @@ async def admin_upsert_domain_fair_share_weight( added_version="26.2.0", description="Bulk upsert domain fair share weights (admin only). Creates new records if they don't exist, or updates weights if they do", ) -) # type: ignore[misc] +) async def admin_bulk_upsert_domain_fair_share_weight( info: Info[StrawberryGQLContext], input: BulkUpsertDomainFairShareWeightInput, @@ -297,7 +297,7 @@ async def admin_bulk_upsert_domain_fair_share_weight( description="Upsert domain fair share weight (superadmin only). Creates a new record if it doesn't exist, or updates the weight if it does", ), deprecation_reason="Use admin_upsert_domain_fair_share_weight instead. This API will be removed after v26.3.0. See BEP-1041 for migration guide.", -) # type: ignore[misc] +) async def upsert_domain_fair_share_weight( info: Info[StrawberryGQLContext], input: UpsertDomainFairShareWeightInput, @@ -319,7 +319,7 @@ async def upsert_domain_fair_share_weight( description="Bulk upsert domain fair share weights (superadmin only). Creates new records if they don't exist, or updates weights if they do", ), deprecation_reason="Use admin_bulk_upsert_domain_fair_share_weight instead. This API will be removed after v26.3.0. See BEP-1041 for migration guide.", -) # type: ignore[misc] +) async def bulk_upsert_domain_fair_share_weight( info: Info[StrawberryGQLContext], input: BulkUpsertDomainFairShareWeightInput, diff --git a/src/ai/backend/manager/api/gql/fair_share/resolver/project.py b/src/ai/backend/manager/api/gql/fair_share/resolver/project.py index 5f34cf3715c..46f498c8435 100644 --- a/src/ai/backend/manager/api/gql/fair_share/resolver/project.py +++ b/src/ai/backend/manager/api/gql/fair_share/resolver/project.py @@ -41,7 +41,7 @@ BackendAIGQLMeta( added_version="26.2.0", description="Get project fair share data (admin only)." ) -) # type: ignore[misc] +) async def admin_project_fair_share( info: Info[StrawberryGQLContext], resource_group_name: str, @@ -58,7 +58,7 @@ async def admin_project_fair_share( @gql_root_field( BackendAIGQLMeta(added_version="26.2.0", description="List project fair shares (admin only).") -) # type: ignore[misc] +) async def admin_project_fair_shares( info: Info[StrawberryGQLContext], filter: ProjectFairShareFilter | None = None, @@ -112,7 +112,7 @@ async def admin_project_fair_shares( added_version="26.2.0", description="Get project fair share data within resource group scope.", ) -) # type: ignore[misc] +) async def rg_project_fair_share( info: Info[StrawberryGQLContext], scope: ResourceGroupProjectScope, @@ -129,7 +129,7 @@ async def rg_project_fair_share( BackendAIGQLMeta( added_version="26.2.0", description="List project fair shares within resource group scope." ) -) # type: ignore[misc] +) async def rg_project_fair_shares( info: Info[StrawberryGQLContext], scope: ResourceGroupProjectScope, @@ -184,7 +184,7 @@ async def rg_project_fair_shares( added_version="26.1.0", description="Get project fair share data (superadmin only)." ), deprecation_reason="Use admin_project_fair_share instead. This API will be removed after v26.3.0. See BEP-1041 for migration guide.", -) # type: ignore[misc] +) async def project_fair_share( info: Info[StrawberryGQLContext], resource_group_name: str, @@ -206,7 +206,7 @@ async def project_fair_share( added_version="26.1.0", description="List project fair shares (superadmin only)." ), deprecation_reason="Use admin_project_fair_shares instead. This API will be removed after v26.3.0. See BEP-1041 for migration guide.", -) # type: ignore[misc] +) async def project_fair_shares( info: Info[StrawberryGQLContext], filter: ProjectFairShareFilter | None = None, @@ -262,7 +262,7 @@ async def project_fair_shares( added_version="26.2.0", description="Upsert project fair share weight (admin only). Creates a new record if it doesn't exist, or updates the weight if it does", ) -) # type: ignore[misc] +) async def admin_upsert_project_fair_share_weight( info: Info[StrawberryGQLContext], input: UpsertProjectFairShareWeightInput, @@ -281,7 +281,7 @@ async def admin_upsert_project_fair_share_weight( added_version="26.2.0", description="Bulk upsert project fair share weights (admin only). Creates new records if they don't exist, or updates weights if they do", ) -) # type: ignore[misc] +) async def admin_bulk_upsert_project_fair_share_weight( info: Info[StrawberryGQLContext], input: BulkUpsertProjectFairShareWeightInput, @@ -302,7 +302,7 @@ async def admin_bulk_upsert_project_fair_share_weight( description="Upsert project fair share weight (superadmin only). Creates a new record if it doesn't exist, or updates the weight if it does", ), deprecation_reason="Use admin_upsert_project_fair_share_weight instead. This API will be removed after v26.3.0. See BEP-1041 for migration guide.", -) # type: ignore[misc] +) async def upsert_project_fair_share_weight( info: Info[StrawberryGQLContext], input: UpsertProjectFairShareWeightInput, @@ -324,7 +324,7 @@ async def upsert_project_fair_share_weight( description="Bulk upsert project fair share weights (superadmin only). Creates new records if they don't exist, or updates weights if they do", ), deprecation_reason="Use admin_bulk_upsert_project_fair_share_weight instead. This API will be removed after v26.3.0. See BEP-1041 for migration guide.", -) # type: ignore[misc] +) async def bulk_upsert_project_fair_share_weight( info: Info[StrawberryGQLContext], input: BulkUpsertProjectFairShareWeightInput, diff --git a/src/ai/backend/manager/api/gql/fair_share/resolver/user.py b/src/ai/backend/manager/api/gql/fair_share/resolver/user.py index 77df4345015..32b953fe03f 100644 --- a/src/ai/backend/manager/api/gql/fair_share/resolver/user.py +++ b/src/ai/backend/manager/api/gql/fair_share/resolver/user.py @@ -39,7 +39,7 @@ @gql_root_field( BackendAIGQLMeta(added_version="26.2.0", description="Get user fair share data (admin only).") -) # type: ignore[misc] +) async def admin_user_fair_share( info: Info[StrawberryGQLContext], resource_group_name: str, @@ -61,7 +61,7 @@ async def admin_user_fair_share( @gql_root_field( BackendAIGQLMeta(added_version="26.2.0", description="List user fair shares (admin only).") -) # type: ignore[misc] +) async def admin_user_fair_shares( info: Info[StrawberryGQLContext], filter: UserFairShareFilter | None = None, @@ -114,7 +114,7 @@ async def admin_user_fair_shares( BackendAIGQLMeta( added_version="26.2.0", description="Get user fair share data within resource group scope." ) -) # type: ignore[misc] +) async def rg_user_fair_share( info: Info[StrawberryGQLContext], scope: ResourceGroupUserScope, @@ -135,7 +135,7 @@ async def rg_user_fair_share( BackendAIGQLMeta( added_version="26.2.0", description="List user fair shares within resource group scope." ) -) # type: ignore[misc] +) async def rg_user_fair_shares( info: Info[StrawberryGQLContext], scope: ResourceGroupUserScope, @@ -191,7 +191,7 @@ async def rg_user_fair_shares( added_version="26.1.0", description="Get user fair share data (superadmin only)." ), deprecation_reason="Use admin_user_fair_share instead. This API will be removed after v26.3.0. See BEP-1041 for migration guide.", -) # type: ignore[misc] +) async def user_fair_share( info: Info[StrawberryGQLContext], resource_group_name: str, @@ -218,7 +218,7 @@ async def user_fair_share( added_version="26.1.0", description="List user fair shares (superadmin only)." ), deprecation_reason="Use admin_user_fair_shares instead. This API will be removed after v26.3.0. See BEP-1041 for migration guide.", -) # type: ignore[misc] +) async def user_fair_shares( info: Info[StrawberryGQLContext], filter: UserFairShareFilter | None = None, @@ -274,7 +274,7 @@ async def user_fair_shares( added_version="26.2.0", description="Upsert user fair share weight (admin only). Creates a new record if it doesn't exist, or updates the weight if it does", ) -) # type: ignore[misc] +) async def admin_upsert_user_fair_share_weight( info: Info[StrawberryGQLContext], input: UpsertUserFairShareWeightInput, @@ -293,7 +293,7 @@ async def admin_upsert_user_fair_share_weight( added_version="26.2.0", description="Bulk upsert user fair share weights (admin only). Creates new records if they don't exist, or updates weights if they do", ) -) # type: ignore[misc] +) async def admin_bulk_upsert_user_fair_share_weight( info: Info[StrawberryGQLContext], input: BulkUpsertUserFairShareWeightInput, @@ -314,7 +314,7 @@ async def admin_bulk_upsert_user_fair_share_weight( description="Upsert user fair share weight (superadmin only). Creates a new record if it doesn't exist, or updates the weight if it does", ), deprecation_reason="Use admin_upsert_user_fair_share_weight instead. This API will be removed after v26.3.0. See BEP-1041 for migration guide.", -) # type: ignore[misc] +) async def upsert_user_fair_share_weight( info: Info[StrawberryGQLContext], input: UpsertUserFairShareWeightInput, @@ -336,7 +336,7 @@ async def upsert_user_fair_share_weight( description="Bulk upsert user fair share weights (superadmin only). Creates new records if they don't exist, or updates weights if they do", ), deprecation_reason="Use admin_bulk_upsert_user_fair_share_weight instead. This API will be removed after v26.3.0. See BEP-1041 for migration guide.", -) # type: ignore[misc] +) async def bulk_upsert_user_fair_share_weight( info: Info[StrawberryGQLContext], input: BulkUpsertUserFairShareWeightInput, diff --git a/src/ai/backend/manager/api/gql/fair_share/types/common.py b/src/ai/backend/manager/api/gql/fair_share/types/common.py index cea0a111aad..3441fcfd2ce 100644 --- a/src/ai/backend/manager/api/gql/fair_share/types/common.py +++ b/src/ai/backend/manager/api/gql/fair_share/types/common.py @@ -157,7 +157,7 @@ class FairShareCalculationSnapshotGQL(PydanticOutputMixin[FairShareCalculationSn added_version="26.2.0", description="Average daily decayed resource usage during the lookback period. Calculated as total_decayed_usage divided by lookback duration in days. For each resource type, this represents the average decayed amount consumed per day. Units match the resource type (e.g., CPU cores, memory bytes).", ) - ) # type: ignore[misc] + ) def average_daily_decayed_usage(self) -> ResourceSlotGQL: from ai.backend.manager.api.gql.resource_usage.types.common_calculations import ( calculate_average_daily_usage, diff --git a/src/ai/backend/manager/api/gql/fair_share/types/domain.py b/src/ai/backend/manager/api/gql/fair_share/types/domain.py index f6e94a6e214..873f91fd6f1 100644 --- a/src/ai/backend/manager/api/gql/fair_share/types/domain.py +++ b/src/ai/backend/manager/api/gql/fair_share/types/domain.py @@ -94,7 +94,7 @@ class DomainFairShareGQL(PydanticNodeMixin[DomainFairShareNode]): added_version="26.2.0", description="The domain entity associated with this fair share record.", ) - ) # type: ignore[misc] + ) async def domain( self, info: Info[StrawberryGQLContext], @@ -112,7 +112,7 @@ async def domain( added_version="26.2.0", description="The resource group associated with this fair share record.", ) - ) # type: ignore[misc] + ) async def resource_group( self, info: Info[StrawberryGQLContext], diff --git a/src/ai/backend/manager/api/gql/fair_share/types/project.py b/src/ai/backend/manager/api/gql/fair_share/types/project.py index ad30b688437..7285a5a3562 100644 --- a/src/ai/backend/manager/api/gql/fair_share/types/project.py +++ b/src/ai/backend/manager/api/gql/fair_share/types/project.py @@ -98,7 +98,7 @@ class ProjectFairShareGQL(PydanticNodeMixin[ProjectFairShareNode]): added_version="26.2.0", description="The project entity associated with this fair share record.", ) - ) # type: ignore[misc] + ) async def project( self, info: Info[StrawberryGQLContext], @@ -119,7 +119,7 @@ async def project( added_version="26.2.0", description="The domain entity associated with this fair share record.", ) - ) # type: ignore[misc] + ) async def domain( self, info: Info[StrawberryGQLContext], @@ -137,7 +137,7 @@ async def domain( added_version="26.2.0", description="The resource group associated with this fair share record.", ) - ) # type: ignore[misc] + ) async def resource_group( self, info: Info[StrawberryGQLContext], diff --git a/src/ai/backend/manager/api/gql/fair_share/types/user.py b/src/ai/backend/manager/api/gql/fair_share/types/user.py index 7696cbf670f..1a7cad002b2 100644 --- a/src/ai/backend/manager/api/gql/fair_share/types/user.py +++ b/src/ai/backend/manager/api/gql/fair_share/types/user.py @@ -97,7 +97,7 @@ class UserFairShareGQL(PydanticNodeMixin[UserFairShareNode]): added_version="26.2.0", description="The user entity associated with this fair share record.", ) - ) # type: ignore[misc] + ) async def user( self, info: Info[StrawberryGQLContext], @@ -118,7 +118,7 @@ async def user( added_version="26.2.0", description="The domain entity associated with this fair share record.", ) - ) # type: ignore[misc] + ) async def domain( self, info: Info[StrawberryGQLContext], @@ -136,7 +136,7 @@ async def domain( added_version="26.2.0", description="The project entity associated with this fair share record.", ) - ) # type: ignore[misc] + ) async def project( self, info: Info[StrawberryGQLContext], @@ -157,7 +157,7 @@ async def project( added_version="26.2.0", description="The resource group associated with this fair share record.", ) - ) # type: ignore[misc] + ) async def resource_group( self, info: Info[StrawberryGQLContext], diff --git a/src/ai/backend/manager/api/gql/huggingface_registry.py b/src/ai/backend/manager/api/gql/huggingface_registry.py index c850beaba73..02373f3e32c 100644 --- a/src/ai/backend/manager/api/gql/huggingface_registry.py +++ b/src/ai/backend/manager/api/gql/huggingface_registry.py @@ -92,14 +92,14 @@ async def load_by_id( ), ) class HuggingFaceRegistryConnection(Connection[HuggingFaceRegistry]): - @gql_field(description="The count of this entity.") # type: ignore[misc] + @gql_field(description="The count of this entity.") def count(self) -> int: return len(self.edges) @gql_root_field( BackendAIGQLMeta(added_version="25.14.0", description="Get a HuggingFace registry by ID") -) # type: ignore[misc] +) async def huggingface_registry( id: ID, info: Info[StrawberryGQLContext] ) -> HuggingFaceRegistry | None: @@ -109,7 +109,7 @@ async def huggingface_registry( @gql_root_field( BackendAIGQLMeta(added_version="25.14.0", description="List all HuggingFace registries") -) # type: ignore[misc] +) async def huggingface_registries( info: Info[StrawberryGQLContext], before: str | None = None, @@ -203,7 +203,7 @@ class DeleteHuggingFaceRegistryPayload(PydanticOutputMixin[DeleteHuggingFaceRegi id: ID -@gql_mutation(BackendAIGQLMeta(added_version="25.14.0", description="Create huggingface registry.")) # type: ignore[misc] +@gql_mutation(BackendAIGQLMeta(added_version="25.14.0", description="Create huggingface registry.")) async def create_huggingface_registry( input: CreateHuggingFaceRegistryInput, info: Info[StrawberryGQLContext] ) -> CreateHuggingFaceRegistryPayload: @@ -213,7 +213,7 @@ async def create_huggingface_registry( ) -@gql_mutation(BackendAIGQLMeta(added_version="25.14.0", description="Update huggingface registry.")) # type: ignore[misc] +@gql_mutation(BackendAIGQLMeta(added_version="25.14.0", description="Update huggingface registry.")) async def update_huggingface_registry( input: UpdateHuggingFaceRegistryInput, info: Info[StrawberryGQLContext] ) -> UpdateHuggingFaceRegistryPayload: @@ -223,7 +223,7 @@ async def update_huggingface_registry( ) -@gql_mutation(BackendAIGQLMeta(added_version="25.14.0", description="Delete huggingface registry.")) # type: ignore[misc] +@gql_mutation(BackendAIGQLMeta(added_version="25.14.0", description="Delete huggingface registry.")) async def delete_huggingface_registry( input: DeleteHuggingFaceRegistryInput, info: Info[StrawberryGQLContext] ) -> DeleteHuggingFaceRegistryPayload: diff --git a/src/ai/backend/manager/api/gql/image/resolver.py b/src/ai/backend/manager/api/gql/image/resolver.py index 683f3364075..b88d9188f88 100644 --- a/src/ai/backend/manager/api/gql/image/resolver.py +++ b/src/ai/backend/manager/api/gql/image/resolver.py @@ -48,7 +48,7 @@ added_version="26.2.0", description="Query images with optional filtering, ordering, and pagination (admin only). Returns container images available in the system. Images are container specifications that define runtime environments for compute sessions. Use filters to narrow down results by status, name, or architecture. Supports both cursor-based and offset-based pagination.", ) -) # type: ignore[misc] +) async def admin_images_v2( info: Info[StrawberryGQLContext], filter: ImageV2FilterGQL | None = None, @@ -96,7 +96,7 @@ async def admin_images_v2( added_version="26.2.0", description="Retrieve a specific image by its ID. Returns detailed information about the image including its identity, metadata, resource requirements, and permission settings.", ) -) # type: ignore[misc] +) async def image_v2(id: ID, info: Info[StrawberryGQLContext]) -> ImageV2GQL | None: image_data = await info.context.data_loaders.image_loader.load(ImageID(UUID(id))) if image_data is None: @@ -109,7 +109,7 @@ async def image_v2(id: ID, info: Info[StrawberryGQLContext]) -> ImageV2GQL | Non added_version="26.2.0", description="Query images within a specific container registry with optional filtering, ordering, and pagination. Returns container images that belong to the specified registry. Use filters to narrow down results by status, name, or architecture. Supports both cursor-based and offset-based pagination.", ) -) # type: ignore[misc] +) async def container_registry_images_v2( info: Info[StrawberryGQLContext], scope: ContainerRegistryScopeGQL, @@ -160,7 +160,7 @@ async def container_registry_images_v2( added_version="26.2.0", description="Query image aliases with optional filtering, ordering, and pagination. Returns image aliases that provide alternative names for container images. Use filters to search by alias string. Supports both cursor-based and offset-based pagination.", ) -) # type: ignore[misc] +) async def admin_image_aliases( info: Info[StrawberryGQLContext], filter: ImageV2AliasFilterGQL | None = None, @@ -208,7 +208,7 @@ async def admin_image_aliases( added_version="26.2.0", description="Retrieve a specific image alias by its ID. Returns the alias information including the alias string.", ) -) # type: ignore[misc] +) async def image_alias(id: ID, info: Info[StrawberryGQLContext]) -> ImageV2AliasGQL | None: alias_data = await info.context.data_loaders.image_alias_loader.load(uuid.UUID(id)) if alias_data is None: @@ -221,7 +221,7 @@ async def image_alias(id: ID, info: Info[StrawberryGQLContext]) -> ImageV2AliasG added_version="26.2.0", description="Query image aliases within a specific image with optional filtering, ordering, and pagination. Returns image aliases that belong to the specified image. Supports both cursor-based and offset-based pagination.", ) -) # type: ignore[misc] +) async def image_scoped_aliases( info: Info[StrawberryGQLContext], scope: ImageV2ScopeGQL, diff --git a/src/ai/backend/manager/api/gql/image/types.py b/src/ai/backend/manager/api/gql/image/types.py index 680ad3130e5..1432991cf7b 100644 --- a/src/ai/backend/manager/api/gql/image/types.py +++ b/src/ai/backend/manager/api/gql/image/types.py @@ -284,14 +284,14 @@ class ImageV2GQL(PydanticNodeMixin[ImageNode]): added_version="26.3.0", description="Timestamp of the most recent session created with this image. Returns null if the image has never been used.", ) - ) # type: ignore[misc] + ) def last_used(self) -> datetime | None: """Get the timestamp of the most recent session created with this image.""" return self.metadata.last_used_at @gql_added_field( BackendAIGQLMeta(added_version="26.2.0", description="Aliases for this image.") - ) # type: ignore[misc] + ) async def aliases( self, info: Info[StrawberryGQLContext], diff --git a/src/ai/backend/manager/api/gql/kernel/resolver/kernel.py b/src/ai/backend/manager/api/gql/kernel/resolver/kernel.py index c254d4f51ba..b1a241b35d4 100644 --- a/src/ai/backend/manager/api/gql/kernel/resolver/kernel.py +++ b/src/ai/backend/manager/api/gql/kernel/resolver/kernel.py @@ -26,7 +26,7 @@ @gql_root_field( BackendAIGQLMeta(added_version="26.2.0", description="Query a single kernel by ID.") -) # type: ignore[misc] +) async def kernel_v2( info: Info[StrawberryGQLContext], id: UUID, @@ -42,7 +42,7 @@ async def kernel_v2( added_version="26.2.0", description="Query kernels with pagination and filtering. (admin only)", ) -) # type: ignore[misc] +) async def admin_kernels_v2( info: Info[StrawberryGQLContext], filter: KernelV2FilterGQL | None = None, @@ -83,7 +83,7 @@ async def admin_kernels_v2( @gql_root_field( BackendAIGQLMeta(added_version="26.2.0", description="Query kernels within a specific session.") -) # type: ignore[misc] +) async def session_kernels_v2( info: Info[StrawberryGQLContext], scope: SessionScope, diff --git a/src/ai/backend/manager/api/gql/kernel/types.py b/src/ai/backend/manager/api/gql/kernel/types.py index 09c81a67158..3c6be390559 100644 --- a/src/ai/backend/manager/api/gql/kernel/types.py +++ b/src/ai/backend/manager/api/gql/kernel/types.py @@ -318,7 +318,7 @@ class KernelV2GQL(PydanticNodeMixin[KernelNode]): @gql_added_field( BackendAIGQLMeta(added_version="26.2.0", description="The agent running this kernel.") - ) # type: ignore[misc] + ) async def agent(self, info: Info[StrawberryGQLContext]) -> AgentV2GQL | None: if self.resource.agent_id is None: return None @@ -331,7 +331,7 @@ async def agent(self, info: Info[StrawberryGQLContext]) -> AgentV2GQL | None: @gql_added_field( BackendAIGQLMeta(added_version="26.2.0", description="The user who owns this kernel.") - ) # type: ignore[misc] + ) async def user(self, info: Info[StrawberryGQLContext]) -> UserV2GQL | None: if self.user_info.user_id is None: return None @@ -342,7 +342,7 @@ async def user(self, info: Info[StrawberryGQLContext]) -> UserV2GQL | None: @gql_added_field( BackendAIGQLMeta(added_version="26.2.0", description="The project this kernel belongs to.") - ) # type: ignore[misc] + ) async def project(self, info: Info[StrawberryGQLContext]) -> ProjectV2GQL | None: if self.user_info.group_id is None: return None @@ -353,7 +353,7 @@ async def project(self, info: Info[StrawberryGQLContext]) -> ProjectV2GQL | None @gql_added_field( BackendAIGQLMeta(added_version="26.2.0", description="The domain this kernel belongs to.") - ) # type: ignore[misc] + ) async def domain(self, info: Info[StrawberryGQLContext]) -> DomainV2GQL | None: if self.user_info.domain_name is None: return None @@ -363,7 +363,7 @@ async def domain(self, info: Info[StrawberryGQLContext]) -> DomainV2GQL | None: BackendAIGQLMeta( added_version="26.2.0", description="The resource group this kernel is assigned to." ) - ) # type: ignore[misc] + ) async def resource_group(self, info: Info[StrawberryGQLContext]) -> ResourceGroupGQL | None: if self.resource.resource_group_name is None: return None @@ -376,7 +376,7 @@ async def resource_group(self, info: Info[StrawberryGQLContext]) -> ResourceGrou @gql_added_field( BackendAIGQLMeta(added_version="26.3.0", description="The session this kernel belongs to.") - ) # type: ignore[misc] + ) async def session( self, ) -> ( @@ -392,7 +392,7 @@ async def session( BackendAIGQLMeta( added_version="26.3.0", description="Per-slot resource allocation for this kernel." ) - ) # type: ignore[misc] + ) async def resource_allocations( self, info: Info[StrawberryGQLContext], diff --git a/src/ai/backend/manager/api/gql/keypair/resolver/mutation.py b/src/ai/backend/manager/api/gql/keypair/resolver/mutation.py index dea2c441e5c..02e7f4d679d 100644 --- a/src/ai/backend/manager/api/gql/keypair/resolver/mutation.py +++ b/src/ai/backend/manager/api/gql/keypair/resolver/mutation.py @@ -43,7 +43,7 @@ def _get_current_user_id() -> UUID: added_version=NEXT_RELEASE_VERSION, description="Issue a new keypair for the current user. Settings (resource_policy, rate_limit, is_admin) are inherited from the main keypair. The secret_key is only returned at creation time.", ) -) # type: ignore[misc] +) async def issue_my_keypair( info: Info[StrawberryGQLContext], ) -> IssueMyKeypairPayloadGQL: @@ -57,7 +57,7 @@ async def issue_my_keypair( added_version=NEXT_RELEASE_VERSION, description="Revoke a keypair owned by the current user. The main access key cannot be revoked — switch it first.", ) -) # type: ignore[misc] +) async def revoke_my_keypair( info: Info[StrawberryGQLContext], input: RevokeMyKeypairInputGQL, @@ -72,7 +72,7 @@ async def revoke_my_keypair( added_version=NEXT_RELEASE_VERSION, description="Update a keypair owned by the current user (e.g. toggle active state). The keypair must be owned by the current user.", ) -) # type: ignore[misc] +) async def update_my_keypair( info: Info[StrawberryGQLContext], input: UpdateMyKeypairInputGQL, @@ -89,7 +89,7 @@ async def update_my_keypair( added_version=NEXT_RELEASE_VERSION, description="Switch the main access key for the current user. The target keypair must be active and owned by the user.", ) -) # type: ignore[misc] +) async def switch_my_main_access_key( info: Info[StrawberryGQLContext], input: SwitchMyMainAccessKeyInputGQL, @@ -107,7 +107,7 @@ async def switch_my_main_access_key( added_version=NEXT_RELEASE_VERSION, description="Admin creates a keypair for a specified user. The secret_key is only returned at creation time.", ) -) # type: ignore[misc] +) async def admin_create_keypair_v2( info: Info[StrawberryGQLContext], input: AdminCreateKeypairInputGQL, @@ -122,7 +122,7 @@ async def admin_create_keypair_v2( added_version=NEXT_RELEASE_VERSION, description="Admin updates a keypair (e.g. toggle active state, change resource policy).", ) -) # type: ignore[misc] +) async def admin_update_keypair_v2( info: Info[StrawberryGQLContext], input: AdminUpdateKeypairInputGQL, @@ -137,7 +137,7 @@ async def admin_update_keypair_v2( added_version=NEXT_RELEASE_VERSION, description="Admin deletes a keypair by access key. Cannot delete a main access key.", ) -) # type: ignore[misc] +) async def admin_delete_keypair_v2( info: Info[StrawberryGQLContext], access_key: str, diff --git a/src/ai/backend/manager/api/gql/keypair/resolver/query.py b/src/ai/backend/manager/api/gql/keypair/resolver/query.py index 2368f8e143a..3ac2e3a3a58 100644 --- a/src/ai/backend/manager/api/gql/keypair/resolver/query.py +++ b/src/ai/backend/manager/api/gql/keypair/resolver/query.py @@ -26,7 +26,7 @@ added_version=NEXT_RELEASE_VERSION, description="List keypairs owned by the current authenticated user. Supports filtering, ordering, and both cursor-based and offset-based pagination.", ) -) # type: ignore[misc] +) async def my_keypairs( info: Info[StrawberryGQLContext], filter: KeypairFilterGQL | None = None, @@ -69,7 +69,7 @@ async def my_keypairs( added_version=NEXT_RELEASE_VERSION, description="List all keypairs with filtering and pagination (admin only). Requires superadmin privileges.", ) -) # type: ignore[misc] +) async def admin_keypairs_v2( info: Info[StrawberryGQLContext], filter: KeypairFilterGQL | None = None, @@ -113,7 +113,7 @@ async def admin_keypairs_v2( added_version=NEXT_RELEASE_VERSION, description="Get a single keypair by access key (admin only). Requires superadmin privileges.", ) -) # type: ignore[misc] +) async def admin_keypair_v2( info: Info[StrawberryGQLContext], access_key: str, diff --git a/src/ai/backend/manager/api/gql/login_history/resolver/query.py b/src/ai/backend/manager/api/gql/login_history/resolver/query.py index 8dc011c4edf..a9005d3f57f 100644 --- a/src/ai/backend/manager/api/gql/login_history/resolver/query.py +++ b/src/ai/backend/manager/api/gql/login_history/resolver/query.py @@ -31,7 +31,7 @@ added_version=NEXT_RELEASE_VERSION, description="Query login history with pagination and filtering. (admin only)", ) -) # type: ignore[misc] +) async def admin_login_history_v2( info: Info[StrawberryGQLContext], filter: LoginHistoryFilterGQL | None = None, @@ -75,7 +75,7 @@ async def admin_login_history_v2( added_version=NEXT_RELEASE_VERSION, description="Query login history of the current user with pagination and filtering.", ) -) # type: ignore[misc] +) async def my_login_history_v2( info: Info[StrawberryGQLContext], filter: LoginHistoryFilterGQL | None = None, diff --git a/src/ai/backend/manager/api/gql/login_session/resolver/query.py b/src/ai/backend/manager/api/gql/login_session/resolver/query.py index b6b0a372bdc..d2c82a6bbf6 100644 --- a/src/ai/backend/manager/api/gql/login_session/resolver/query.py +++ b/src/ai/backend/manager/api/gql/login_session/resolver/query.py @@ -37,7 +37,7 @@ added_version=NEXT_RELEASE_VERSION, description="Query login sessions with pagination and filtering. (admin only)", ) -) # type: ignore[misc] +) async def admin_login_sessions_v2( info: Info[StrawberryGQLContext], filter: LoginSessionFilterGQL | None = None, @@ -81,7 +81,7 @@ async def admin_login_sessions_v2( added_version=NEXT_RELEASE_VERSION, description="Query login sessions of the current user with pagination and filtering.", ) -) # type: ignore[misc] +) async def my_login_sessions_v2( info: Info[StrawberryGQLContext], filter: LoginSessionFilterGQL | None = None, @@ -124,7 +124,7 @@ async def my_login_sessions_v2( added_version=NEXT_RELEASE_VERSION, description="Revoke a login session. (admin only)", ) -) # type: ignore[misc] +) async def admin_revoke_login_session( info: Info[StrawberryGQLContext], session_id: UUID, @@ -141,7 +141,7 @@ async def admin_revoke_login_session( added_version=NEXT_RELEASE_VERSION, description="Revoke a login session owned by the current user.", ) -) # type: ignore[misc] +) async def my_revoke_login_session( info: Info[StrawberryGQLContext], session_id: UUID, diff --git a/src/ai/backend/manager/api/gql/model_card/resolver.py b/src/ai/backend/manager/api/gql/model_card/resolver.py index ccad935d26d..84d5951f5d9 100644 --- a/src/ai/backend/manager/api/gql/model_card/resolver.py +++ b/src/ai/backend/manager/api/gql/model_card/resolver.py @@ -35,7 +35,7 @@ added_version=NEXT_RELEASE_VERSION, description="Search model cards.", ) -) # type: ignore[misc] +) async def model_cards_v2( info: Info[StrawberryGQLContext], filter: ModelCardFilterGQL | None = None, @@ -94,7 +94,7 @@ async def model_cards_v2( added_version=NEXT_RELEASE_VERSION, description="Get a single model card by ID.", ) -) # type: ignore[misc] +) async def model_card_v2( info: Info[StrawberryGQLContext], id: UUID, @@ -108,7 +108,7 @@ async def model_card_v2( added_version=NEXT_RELEASE_VERSION, description="Create a model card (admin only).", ) -) # type: ignore[misc] +) async def admin_create_model_card_v2( info: Info[StrawberryGQLContext], input: CreateModelCardInputGQL, @@ -124,7 +124,7 @@ async def admin_create_model_card_v2( added_version=NEXT_RELEASE_VERSION, description="Update a model card (admin only).", ) -) # type: ignore[misc] +) async def admin_update_model_card_v2( info: Info[StrawberryGQLContext], input: UpdateModelCardInputGQL, @@ -140,7 +140,7 @@ async def admin_update_model_card_v2( added_version=NEXT_RELEASE_VERSION, description="Delete a model card (admin only).", ) -) # type: ignore[misc] +) async def admin_delete_model_card_v2( info: Info[StrawberryGQLContext], id: UUID, diff --git a/src/ai/backend/manager/api/gql/notification/resolver.py b/src/ai/backend/manager/api/gql/notification/resolver.py index c28c1709378..dcf3c3534fb 100644 --- a/src/ai/backend/manager/api/gql/notification/resolver.py +++ b/src/ai/backend/manager/api/gql/notification/resolver.py @@ -90,7 +90,7 @@ def __init__(self, *args: Any, count: int, **kwargs: Any) -> None: added_version=NEXT_RELEASE_VERSION, description="Get a notification channel by ID (admin only)", ) -) # type: ignore[misc] +) async def admin_notification_channel( id: ID, info: Info[StrawberryGQLContext] ) -> NotificationChannel | None: @@ -104,7 +104,7 @@ async def admin_notification_channel( added_version=NEXT_RELEASE_VERSION, description="Get a notification channel by ID" ), deprecation_reason="Use admin_notification_channel instead. This API will be removed after v26.3.0. See BEP-1041 for migration guide.", -) # type: ignore[misc] +) async def notification_channel( id: ID, info: Info[StrawberryGQLContext] ) -> NotificationChannel | None: @@ -116,7 +116,7 @@ async def notification_channel( BackendAIGQLMeta( added_version=NEXT_RELEASE_VERSION, description="List notification channels (admin only)" ) -) # type: ignore[misc] +) async def admin_notification_channels( info: Info[StrawberryGQLContext], filter: NotificationChannelFilter | None = None, @@ -165,7 +165,7 @@ async def admin_notification_channels( @gql_root_field( BackendAIGQLMeta(added_version=NEXT_RELEASE_VERSION, description="List notification channels"), deprecation_reason="Use admin_notification_channels instead. This API will be removed after v26.3.0. See BEP-1041 for migration guide.", -) # type: ignore[misc] +) async def notification_channels( info: Info[StrawberryGQLContext], filter: NotificationChannelFilter | None = None, @@ -213,7 +213,7 @@ async def notification_channels( BackendAIGQLMeta( added_version=NEXT_RELEASE_VERSION, description="Get a notification rule by ID (admin only)" ) -) # type: ignore[misc] +) async def admin_notification_rule( id: ID, info: Info[StrawberryGQLContext] ) -> NotificationRule | None: @@ -227,7 +227,7 @@ async def admin_notification_rule( added_version=NEXT_RELEASE_VERSION, description="Get a notification rule by ID" ), deprecation_reason="Use admin_notification_rule instead. This API will be removed after v26.3.0. See BEP-1041 for migration guide.", -) # type: ignore[misc] +) async def notification_rule(id: ID, info: Info[StrawberryGQLContext]) -> NotificationRule | None: result = await info.context.adapters.notification.get_rule(uuid.UUID(id)) return NotificationRule.from_pydantic(result.item) @@ -237,7 +237,7 @@ async def notification_rule(id: ID, info: Info[StrawberryGQLContext]) -> Notific BackendAIGQLMeta( added_version=NEXT_RELEASE_VERSION, description="List notification rules (admin only)" ) -) # type: ignore[misc] +) async def admin_notification_rules( info: Info[StrawberryGQLContext], filter: NotificationRuleFilter | None = None, @@ -284,7 +284,7 @@ async def admin_notification_rules( @gql_root_field( BackendAIGQLMeta(added_version=NEXT_RELEASE_VERSION, description="List notification rules"), deprecation_reason="Use admin_notification_rules instead. This API will be removed after v26.3.0. See BEP-1041 for migration guide.", -) # type: ignore[misc] +) async def notification_rules( info: Info[StrawberryGQLContext], filter: NotificationRuleFilter | None = None, @@ -330,7 +330,7 @@ async def notification_rules( BackendAIGQLMeta( added_version=NEXT_RELEASE_VERSION, description="List available notification rule types" ) -) # type: ignore[misc] +) async def notification_rule_types() -> list[NotificationRuleTypeGQL] | None: """Return all available notification rule types.""" return list(NotificationRuleTypeGQL) @@ -341,7 +341,7 @@ async def notification_rule_types() -> list[NotificationRuleTypeGQL] | None: added_version=NEXT_RELEASE_VERSION, description="Get JSON schema for a notification rule type's message format", ) -) # type: ignore[misc] +) async def notification_rule_type_schema( rule_type: NotificationRuleTypeGQL, ) -> strawberry.scalars.JSON: @@ -360,7 +360,7 @@ async def notification_rule_type_schema( added_version=NEXT_RELEASE_VERSION, description="Create a new notification channel (admin only)", ) -) # type: ignore[misc] +) async def admin_create_notification_channel( input: CreateNotificationChannelInput, info: Info[StrawberryGQLContext] ) -> CreateNotificationChannelPayload: @@ -379,7 +379,7 @@ async def admin_create_notification_channel( added_version=NEXT_RELEASE_VERSION, description="Create a new notification channel" ), deprecation_reason="Use admin_create_notification_channel instead. This API will be removed after v26.3.0. See BEP-1041 for migration guide.", -) # type: ignore[misc] +) async def create_notification_channel( input: CreateNotificationChannelInput, info: Info[StrawberryGQLContext] ) -> CreateNotificationChannelPayload: @@ -396,7 +396,7 @@ async def create_notification_channel( BackendAIGQLMeta( added_version=NEXT_RELEASE_VERSION, description="Update a notification channel (admin only)" ) -) # type: ignore[misc] +) async def admin_update_notification_channel( input: UpdateNotificationChannelInput, info: Info[StrawberryGQLContext] ) -> UpdateNotificationChannelPayload: @@ -413,7 +413,7 @@ async def admin_update_notification_channel( added_version=NEXT_RELEASE_VERSION, description="Update a notification channel" ), deprecation_reason="Use admin_update_notification_channel instead. This API will be removed after v26.3.0. See BEP-1041 for migration guide.", -) # type: ignore[misc] +) async def update_notification_channel( input: UpdateNotificationChannelInput, info: Info[StrawberryGQLContext] ) -> UpdateNotificationChannelPayload: @@ -428,7 +428,7 @@ async def update_notification_channel( BackendAIGQLMeta( added_version=NEXT_RELEASE_VERSION, description="Delete a notification channel (admin only)" ) -) # type: ignore[misc] +) async def admin_delete_notification_channel( input: DeleteNotificationChannelInput, info: Info[StrawberryGQLContext] ) -> DeleteNotificationChannelPayload: @@ -442,7 +442,7 @@ async def admin_delete_notification_channel( added_version=NEXT_RELEASE_VERSION, description="Delete a notification channel" ), deprecation_reason="Use admin_delete_notification_channel instead. This API will be removed after v26.3.0. See BEP-1041 for migration guide.", -) # type: ignore[misc] +) async def delete_notification_channel( input: DeleteNotificationChannelInput, info: Info[StrawberryGQLContext] ) -> DeleteNotificationChannelPayload: @@ -455,7 +455,7 @@ async def delete_notification_channel( added_version=NEXT_RELEASE_VERSION, description="Create a new notification rule (admin only)", ) -) # type: ignore[misc] +) async def admin_create_notification_rule( input: CreateNotificationRuleInput, info: Info[StrawberryGQLContext] ) -> CreateNotificationRulePayload: @@ -472,7 +472,7 @@ async def admin_create_notification_rule( added_version=NEXT_RELEASE_VERSION, description="Create a new notification rule" ), deprecation_reason="Use admin_create_notification_rule instead. This API will be removed after v26.3.0. See BEP-1041 for migration guide.", -) # type: ignore[misc] +) async def create_notification_rule( input: CreateNotificationRuleInput, info: Info[StrawberryGQLContext] ) -> CreateNotificationRulePayload: @@ -487,7 +487,7 @@ async def create_notification_rule( BackendAIGQLMeta( added_version=NEXT_RELEASE_VERSION, description="Update a notification rule (admin only)" ) -) # type: ignore[misc] +) async def admin_update_notification_rule( input: UpdateNotificationRuleInput, info: Info[StrawberryGQLContext] ) -> UpdateNotificationRulePayload: @@ -500,7 +500,7 @@ async def admin_update_notification_rule( @gql_mutation( BackendAIGQLMeta(added_version=NEXT_RELEASE_VERSION, description="Update a notification rule"), deprecation_reason="Use admin_update_notification_rule instead. This API will be removed after v26.3.0. See BEP-1041 for migration guide.", -) # type: ignore[misc] +) async def update_notification_rule( input: UpdateNotificationRuleInput, info: Info[StrawberryGQLContext] ) -> UpdateNotificationRulePayload: @@ -513,7 +513,7 @@ async def update_notification_rule( BackendAIGQLMeta( added_version=NEXT_RELEASE_VERSION, description="Delete a notification rule (admin only)" ) -) # type: ignore[misc] +) async def admin_delete_notification_rule( input: DeleteNotificationRuleInput, info: Info[StrawberryGQLContext] ) -> DeleteNotificationRulePayload: @@ -525,7 +525,7 @@ async def admin_delete_notification_rule( @gql_mutation( BackendAIGQLMeta(added_version=NEXT_RELEASE_VERSION, description="Delete a notification rule"), deprecation_reason="Use admin_delete_notification_rule instead. This API will be removed after v26.3.0. See BEP-1041 for migration guide.", -) # type: ignore[misc] +) async def delete_notification_rule( input: DeleteNotificationRuleInput, info: Info[StrawberryGQLContext] ) -> DeleteNotificationRulePayload: @@ -538,7 +538,7 @@ async def delete_notification_rule( added_version=NEXT_RELEASE_VERSION, description="Validate a notification channel (admin only)", ) -) # type: ignore[misc] +) async def admin_validate_notification_channel( input: ValidateNotificationChannelInput, info: Info[StrawberryGQLContext] ) -> ValidateNotificationChannelPayload: @@ -552,7 +552,7 @@ async def admin_validate_notification_channel( added_version=NEXT_RELEASE_VERSION, description="Validate a notification channel" ), deprecation_reason="Use admin_validate_notification_channel instead. This API will be removed after v26.3.0. See BEP-1041 for migration guide.", -) # type: ignore[misc] +) async def validate_notification_channel( input: ValidateNotificationChannelInput, info: Info[StrawberryGQLContext] ) -> ValidateNotificationChannelPayload: @@ -564,7 +564,7 @@ async def validate_notification_channel( BackendAIGQLMeta( added_version=NEXT_RELEASE_VERSION, description="Validate a notification rule (admin only)" ) -) # type: ignore[misc] +) async def admin_validate_notification_rule( input: ValidateNotificationRuleInput, info: Info[StrawberryGQLContext] ) -> ValidateNotificationRulePayload: @@ -578,7 +578,7 @@ async def admin_validate_notification_rule( added_version=NEXT_RELEASE_VERSION, description="Validate a notification rule" ), deprecation_reason="Use admin_validate_notification_rule instead. This API will be removed after v26.3.0. See BEP-1041 for migration guide.", -) # type: ignore[misc] +) async def validate_notification_rule( input: ValidateNotificationRuleInput, info: Info[StrawberryGQLContext] ) -> ValidateNotificationRulePayload: diff --git a/src/ai/backend/manager/api/gql/object_storage.py b/src/ai/backend/manager/api/gql/object_storage.py index 7f5047970f5..44a774228a2 100644 --- a/src/ai/backend/manager/api/gql/object_storage.py +++ b/src/ai/backend/manager/api/gql/object_storage.py @@ -93,7 +93,7 @@ async def resolve_nodes( # type: ignore[override] # Strawberry Node uses Await ]) return cast(list[Self | None], results) - @gql_field(description="The namespaces of this entity.") # type: ignore[misc] + @gql_field(description="The namespaces of this entity.") async def namespaces( self, info: Info[StrawberryGQLContext], @@ -130,20 +130,20 @@ async def namespaces( ), ) class ObjectStorageConnection(Connection[ObjectStorage]): - @gql_field(description="The count of this entity.") # type: ignore[misc] + @gql_field(description="The count of this entity.") def count(self) -> int: return len(self.edges) @gql_root_field( BackendAIGQLMeta(added_version="25.14.0", description="Get an object storage by ID") -) # type: ignore[misc] +) async def object_storage(id: ID, info: Info[StrawberryGQLContext]) -> ObjectStorage | None: node = await info.context.adapters.object_storage.get(uuid.UUID(id)) return ObjectStorage.from_pydantic(node, extra={"region": node.region or ""}) -@gql_root_field(BackendAIGQLMeta(added_version="25.14.0", description="List all object storages")) # type: ignore[misc] +@gql_root_field(BackendAIGQLMeta(added_version="25.14.0", description="List all object storages")) async def object_storages( info: Info[StrawberryGQLContext], before: str | None = None, @@ -293,7 +293,7 @@ class GetPresignedUploadURLPayload: fields: strawberry.auto -@gql_mutation(BackendAIGQLMeta(added_version="25.14.0", description="Create an object storage.")) # type: ignore[misc] +@gql_mutation(BackendAIGQLMeta(added_version="25.14.0", description="Create an object storage.")) async def create_object_storage( input: CreateObjectStorageInput, info: Info[StrawberryGQLContext] ) -> CreateObjectStoragePayload: @@ -305,7 +305,7 @@ async def create_object_storage( ) -@gql_mutation(BackendAIGQLMeta(added_version="25.14.0", description="Update an object storage.")) # type: ignore[misc] +@gql_mutation(BackendAIGQLMeta(added_version="25.14.0", description="Update an object storage.")) async def update_object_storage( input: UpdateObjectStorageInput, info: Info[StrawberryGQLContext] ) -> UpdateObjectStoragePayload: @@ -317,7 +317,7 @@ async def update_object_storage( ) -@gql_mutation(BackendAIGQLMeta(added_version="25.14.0", description="Delete an object storage.")) # type: ignore[misc] +@gql_mutation(BackendAIGQLMeta(added_version="25.14.0", description="Delete an object storage.")) async def delete_object_storage( input: DeleteObjectStorageInput, info: Info[StrawberryGQLContext] ) -> DeleteObjectStoragePayload: @@ -328,7 +328,7 @@ async def delete_object_storage( @gql_mutation( BackendAIGQLMeta(added_version="25.14.0", description="Get a presigned download URL.") -) # type: ignore[misc] +) async def get_presigned_download_url( input: GetPresignedDownloadURLInput, info: Info[StrawberryGQLContext] ) -> GetPresignedDownloadURLPayload: @@ -341,7 +341,7 @@ async def get_presigned_download_url( return GetPresignedDownloadURLPayload(presigned_url=result.presigned_url) -@gql_mutation(BackendAIGQLMeta(added_version="25.14.0", description="Get a presigned upload URL.")) # type: ignore[misc] +@gql_mutation(BackendAIGQLMeta(added_version="25.14.0", description="Get a presigned upload URL.")) async def get_presigned_upload_url( input: GetPresignedUploadURLInput, info: Info[StrawberryGQLContext] ) -> GetPresignedUploadURLPayload: diff --git a/src/ai/backend/manager/api/gql/project_v2/resolver/mutation.py b/src/ai/backend/manager/api/gql/project_v2/resolver/mutation.py index 594dd812303..bf8c39ea9b6 100644 --- a/src/ai/backend/manager/api/gql/project_v2/resolver/mutation.py +++ b/src/ai/backend/manager/api/gql/project_v2/resolver/mutation.py @@ -30,7 +30,7 @@ added_version=NEXT_RELEASE_VERSION, description="Create a new project (admin only). Requires superadmin privileges.", ) -) # type: ignore[misc] +) async def admin_create_project_v2( info: Info[StrawberryGQLContext], input: CreateProjectInputGQL, @@ -47,7 +47,7 @@ async def admin_create_project_v2( added_version=NEXT_RELEASE_VERSION, description="Update a project (admin only). Requires superadmin privileges. Only provided fields will be updated.", ) -) # type: ignore[misc] +) async def admin_update_project_v2( info: Info[StrawberryGQLContext], project_id: UUID, @@ -65,7 +65,7 @@ async def admin_update_project_v2( added_version=NEXT_RELEASE_VERSION, description="Soft-delete a project (admin only). Requires superadmin privileges.", ) -) # type: ignore[misc] +) async def admin_delete_project_v2( info: Info[StrawberryGQLContext], project_id: UUID, @@ -82,7 +82,7 @@ async def admin_delete_project_v2( added_version=NEXT_RELEASE_VERSION, description="Permanently purge a project and all associated data (admin only). Requires superadmin privileges.", ) -) # type: ignore[misc] +) async def admin_purge_project_v2( info: Info[StrawberryGQLContext], project_id: UUID, @@ -99,7 +99,7 @@ async def admin_purge_project_v2( added_version=NEXT_RELEASE_VERSION, description="Unassign users from a project. RBAC validates project admin permission.", ) -) # type: ignore[misc] +) async def unassign_users_from_project_v2( info: Info[StrawberryGQLContext], project_id: UUID, diff --git a/src/ai/backend/manager/api/gql/project_v2/resolver/query.py b/src/ai/backend/manager/api/gql/project_v2/resolver/query.py index 059f1eb48a3..9af310289a5 100644 --- a/src/ai/backend/manager/api/gql/project_v2/resolver/query.py +++ b/src/ai/backend/manager/api/gql/project_v2/resolver/query.py @@ -31,7 +31,7 @@ added_version="26.2.0", description="Get a single project by ID. Returns an error if project is not found.", ) -) # type: ignore[misc] +) async def project_v2( info: Info[StrawberryGQLContext], project_id: UUID, @@ -46,7 +46,7 @@ async def project_v2( added_version="26.2.0", description="List all projects with filtering and pagination (admin only). Requires superadmin privileges.", ) -) # type: ignore[misc] +) async def admin_projects_v2( info: Info[StrawberryGQLContext], filter: ProjectV2Filter | None = None, @@ -91,7 +91,7 @@ async def admin_projects_v2( added_version="26.2.0", description="List projects within a specific domain. Requires domain admin privileges or higher.", ) -) # type: ignore[misc] +) async def domain_projects_v2( info: Info[StrawberryGQLContext], scope: DomainProjectScope, @@ -140,7 +140,7 @@ async def domain_projects_v2( added_version="26.2.0", description="Get the domain that a project belongs to. Returns an error if project or domain is not found.", ) -) # type: ignore[misc] +) async def project_domain_v2( info: Info[StrawberryGQLContext], project_id: UUID, diff --git a/src/ai/backend/manager/api/gql/project_v2/types/node.py b/src/ai/backend/manager/api/gql/project_v2/types/node.py index 74d28f58fd8..9bfded88855 100644 --- a/src/ai/backend/manager/api/gql/project_v2/types/node.py +++ b/src/ai/backend/manager/api/gql/project_v2/types/node.py @@ -104,7 +104,7 @@ class ProjectV2GQL(PydanticNodeMixin[ProjectNode]): @gql_field( description="Fair share record for this project in the specified resource group. Returns the scheduling priority configuration for this project. Always returns an object, even if no explicit configuration exists (in which case default values are used)." - ) # type: ignore[misc] + ) async def fair_share( self, info: Info, @@ -126,7 +126,7 @@ async def fair_share( added_version="26.4.0", description="Active resource usage overview for this project. Returns the currently occupied resource slots and the number of active sessions.", ) - ) # type: ignore[misc] + ) async def active_resource_overview( self, info: Info, @@ -138,7 +138,7 @@ async def active_resource_overview( @gql_field( description="Usage buckets for this project, filtered by resource group. Returns aggregated resource usage statistics over time." - ) # type: ignore[misc] + ) async def usage_buckets( self, info: Info, @@ -194,7 +194,7 @@ async def usage_buckets( count=payload.total_count, ) - @gql_field(description="The domain this project belongs to.") # type: ignore[misc] + @gql_field(description="The domain this project belongs to.") async def domain( self, info: Info, @@ -211,7 +211,7 @@ async def domain( raise DomainNotFound(self.organization.domain_name) return domain - @gql_field(description="Users who are members of this project.") # type: ignore[misc] + @gql_field(description="Users who are members of this project.") async def users( self, info: Info, diff --git a/src/ai/backend/manager/api/gql/prometheus_query_preset/resolver/mutation.py b/src/ai/backend/manager/api/gql/prometheus_query_preset/resolver/mutation.py index 5e899e36451..9ac43d088d8 100644 --- a/src/ai/backend/manager/api/gql/prometheus_query_preset/resolver/mutation.py +++ b/src/ai/backend/manager/api/gql/prometheus_query_preset/resolver/mutation.py @@ -34,7 +34,7 @@ BackendAIGQLMeta( added_version="26.3.0", description="Create a new query definition (admin only)" ) -) # type: ignore[misc] +) async def admin_create_prometheus_query_preset( info: Info[StrawberryGQLContext], input: CreateQueryDefinitionInput, @@ -50,7 +50,7 @@ async def admin_create_prometheus_query_preset( BackendAIGQLMeta( added_version="26.3.0", description="Modify an existing query definition (admin only)." ) -) # type: ignore[misc] +) async def admin_modify_prometheus_query_preset( info: Info[StrawberryGQLContext], id: ID, @@ -67,7 +67,7 @@ async def admin_modify_prometheus_query_preset( @gql_mutation( BackendAIGQLMeta(added_version="26.3.0", description="Delete a query definition (admin only)") -) # type: ignore[misc] +) async def admin_delete_prometheus_query_preset( info: Info[StrawberryGQLContext], id: ID, diff --git a/src/ai/backend/manager/api/gql/prometheus_query_preset/resolver/query.py b/src/ai/backend/manager/api/gql/prometheus_query_preset/resolver/query.py index 5bf8d050de3..0ba13f008be 100644 --- a/src/ai/backend/manager/api/gql/prometheus_query_preset/resolver/query.py +++ b/src/ai/backend/manager/api/gql/prometheus_query_preset/resolver/query.py @@ -33,7 +33,7 @@ BackendAIGQLMeta( added_version="26.3.0", description="Get a single query definition by ID (admin only)." ) -) # type: ignore[misc] +) async def admin_prometheus_query_preset( info: Info[StrawberryGQLContext], id: ID, @@ -50,7 +50,7 @@ async def admin_prometheus_query_preset( added_version="26.3.0", description="List query definitions with filtering and pagination (admin only).", ) -) # type: ignore[misc] +) async def admin_prometheus_query_presets( info: Info[StrawberryGQLContext], filter: QueryDefinitionFilter | None = None, @@ -92,7 +92,7 @@ async def admin_prometheus_query_presets( added_version="26.3.0", description="Execute a query definition by ID and return the result (admin only).", ) -) # type: ignore[misc] +) async def admin_prometheus_query_preset_result( info: Info[StrawberryGQLContext], id: ID, diff --git a/src/ai/backend/manager/api/gql/rbac/resolver/entity.py b/src/ai/backend/manager/api/gql/rbac/resolver/entity.py index 8161814b14f..d651a1e8348 100644 --- a/src/ai/backend/manager/api/gql/rbac/resolver/entity.py +++ b/src/ai/backend/manager/api/gql/rbac/resolver/entity.py @@ -26,7 +26,7 @@ added_version="26.3.0", description="Search entity associations (admin only). Optionally filter by entity_type and entity_id.", ) -) # type: ignore[misc] +) async def admin_entities( info: Info[StrawberryGQLContext], filter: EntityFilter | None = None, diff --git a/src/ai/backend/manager/api/gql/rbac/resolver/permission.py b/src/ai/backend/manager/api/gql/rbac/resolver/permission.py index fcac81899ef..20a31381751 100644 --- a/src/ai/backend/manager/api/gql/rbac/resolver/permission.py +++ b/src/ai/backend/manager/api/gql/rbac/resolver/permission.py @@ -45,7 +45,7 @@ added_version="26.3.0", description="List scoped permissions with filtering and pagination (admin only).", ) -) # type: ignore[misc] +) async def admin_permissions( info: Info[StrawberryGQLContext], filter: PermissionFilter | None = None, @@ -93,7 +93,7 @@ async def admin_permissions( BackendAIGQLMeta( added_version="26.3.0", description="List valid RBAC scope-entity type combinations." ) -) # type: ignore[misc] +) async def rbac_scope_entity_combinations( info: Info[StrawberryGQLContext], ) -> list[ScopeEntityCombinationGQL]: @@ -114,7 +114,7 @@ async def rbac_scope_entity_combinations( added_version=NEXT_RELEASE_VERSION, description="List valid RBAC entity-operation combinations.", ) -) # type: ignore[misc] +) async def rbac_entity_operation_combinations( info: Info[StrawberryGQLContext], ) -> list[EntityOperationCombinationGQL]: @@ -144,7 +144,7 @@ async def rbac_entity_operation_combinations( @gql_mutation( BackendAIGQLMeta(added_version="26.3.0", description="Create a scoped permission (admin only).") -) # type: ignore[misc] +) async def admin_create_permission( info: Info[StrawberryGQLContext], input: CreatePermissionInput, @@ -156,7 +156,7 @@ async def admin_create_permission( @gql_mutation( BackendAIGQLMeta(added_version="26.3.0", description="Update a scoped permission (admin only).") -) # type: ignore[misc] +) async def admin_update_permission( info: Info[StrawberryGQLContext], input: UpdatePermissionInput, @@ -168,7 +168,7 @@ async def admin_update_permission( @gql_mutation( BackendAIGQLMeta(added_version="26.3.0", description="Delete a scoped permission (admin only).") -) # type: ignore[misc] +) async def admin_delete_permission( info: Info[StrawberryGQLContext], input: DeletePermissionInput, diff --git a/src/ai/backend/manager/api/gql/rbac/resolver/role.py b/src/ai/backend/manager/api/gql/rbac/resolver/role.py index f1d7a4bedcc..9ca356a437b 100644 --- a/src/ai/backend/manager/api/gql/rbac/resolver/role.py +++ b/src/ai/backend/manager/api/gql/rbac/resolver/role.py @@ -50,7 +50,7 @@ @gql_root_field( BackendAIGQLMeta(added_version="26.3.0", description="Get a single role by ID (admin only).") -) # type: ignore[misc] +) async def admin_role( info: Info[StrawberryGQLContext], id: uuid.UUID, @@ -64,7 +64,7 @@ async def admin_role( BackendAIGQLMeta( added_version="26.3.0", description="List roles with filtering and pagination (admin only)." ) -) # type: ignore[misc] +) async def admin_roles( info: Info[StrawberryGQLContext], filter: RoleFilter | None = None, @@ -110,7 +110,7 @@ async def admin_roles( added_version="26.3.0", description="List role assignments with filtering and pagination (admin only).", ) -) # type: ignore[misc] +) async def admin_role_assignments( info: Info[StrawberryGQLContext], filter: RoleAssignmentFilter | None = None, @@ -158,7 +158,7 @@ async def admin_role_assignments( BackendAIGQLMeta( added_version="26.3.0", description="List roles assigned to the current authenticated user." ) -) # type: ignore[misc] +) async def my_roles( info: Info[StrawberryGQLContext], filter: RoleAssignmentFilter | None = None, @@ -213,7 +213,7 @@ async def my_roles( @gql_mutation( BackendAIGQLMeta(added_version="26.3.0", description="Create a new role (admin only).") -) # type: ignore[misc] +) async def admin_create_role( info: Info[StrawberryGQLContext], input: CreateRoleInput, @@ -225,7 +225,7 @@ async def admin_create_role( @gql_mutation( BackendAIGQLMeta(added_version="26.3.0", description="Update an existing role (admin only).") -) # type: ignore[misc] +) async def admin_update_role( info: Info[StrawberryGQLContext], input: UpdateRoleInput, @@ -237,7 +237,7 @@ async def admin_update_role( @gql_mutation( BackendAIGQLMeta(added_version="26.3.0", description="Soft-delete a role (admin only).") -) # type: ignore[misc] +) async def admin_delete_role( info: Info[StrawberryGQLContext], input: DeleteRoleInput, @@ -249,7 +249,7 @@ async def admin_delete_role( @gql_mutation( BackendAIGQLMeta(added_version="26.3.0", description="Permanently remove a role (admin only).") -) # type: ignore[misc] +) async def admin_purge_role( info: Info[StrawberryGQLContext], input: PurgeRoleInput, @@ -261,7 +261,7 @@ async def admin_purge_role( @gql_mutation( BackendAIGQLMeta(added_version="26.3.0", description="Assign a role to a user (admin only).") -) # type: ignore[misc] +) async def admin_assign_role( info: Info[StrawberryGQLContext], input: AssignRoleInput, @@ -273,7 +273,7 @@ async def admin_assign_role( @gql_mutation( BackendAIGQLMeta(added_version="26.3.0", description="Revoke a role from a user (admin only).") -) # type: ignore[misc] +) async def admin_revoke_role( info: Info[StrawberryGQLContext], input: RevokeRoleInput, @@ -287,7 +287,7 @@ async def admin_revoke_role( BackendAIGQLMeta( added_version="26.3.0", description="Bulk assign a role to multiple users (admin only)." ) -) # type: ignore[misc] +) async def admin_bulk_assign_role( info: Info[StrawberryGQLContext], input: BulkAssignRoleInputGQL, @@ -301,7 +301,7 @@ async def admin_bulk_assign_role( BackendAIGQLMeta( added_version="26.3.0", description="Bulk revoke a role from multiple users (admin only)." ) -) # type: ignore[misc] +) async def admin_bulk_revoke_role( info: Info[StrawberryGQLContext], input: BulkRevokeRoleInputGQL, diff --git a/src/ai/backend/manager/api/gql/rbac/types/entity.py b/src/ai/backend/manager/api/gql/rbac/types/entity.py index 327c905dcb4..1d8292eb56a 100644 --- a/src/ai/backend/manager/api/gql/rbac/types/entity.py +++ b/src/ai/backend/manager/api/gql/rbac/types/entity.py @@ -63,7 +63,7 @@ class EntityRefGQL(PydanticNodeMixin[AssociationScopesEntitiesNode]): entity_id: str registered_at: datetime - @gql_field(description="The resolved entity object.") # type: ignore[misc] + @gql_field(description="The resolved entity object.") async def entity( self, *, diff --git a/src/ai/backend/manager/api/gql/rbac/types/permission.py b/src/ai/backend/manager/api/gql/rbac/types/permission.py index 674f6bde548..4ed1d2a1121 100644 --- a/src/ai/backend/manager/api/gql/rbac/types/permission.py +++ b/src/ai/backend/manager/api/gql/rbac/types/permission.py @@ -121,7 +121,7 @@ async def resolve_nodes( # type: ignore[override] ]) return cast(list[Self | None], results) - @gql_field(description="The role this permission belongs to.") # type: ignore[misc] + @gql_field(description="The role this permission belongs to.") async def role( self, info: Info[StrawberryGQLContext] ) -> ( @@ -134,7 +134,7 @@ async def role( # DataLoader already returns RoleGQL | None via from_pydantic conversion return await info.context.data_loaders.role_loader.load(self.role_id) - @gql_field(description="The scope this permission applies to.") # type: ignore[misc] + @gql_field(description="The scope this permission applies to.") async def scope( self, *, diff --git a/src/ai/backend/manager/api/gql/rbac/types/role.py b/src/ai/backend/manager/api/gql/rbac/types/role.py index c66181de6b8..750e2e28cad 100644 --- a/src/ai/backend/manager/api/gql/rbac/types/role.py +++ b/src/ai/backend/manager/api/gql/rbac/types/role.py @@ -165,7 +165,7 @@ async def resolve_nodes( # type: ignore[override] BackendAIGQLMeta( added_version="26.3.0", description="Permissions associated with this role." ) - ) # type: ignore[misc] + ) async def permissions( self, info: Info[StrawberryGQLContext], @@ -245,7 +245,7 @@ async def permissions( @gql_added_field( BackendAIGQLMeta(added_version="26.3.0", description="Users assigned to this role.") - ) # type: ignore[misc] + ) async def users( self, info: Info[StrawberryGQLContext], @@ -332,12 +332,12 @@ async def resolve_nodes( # type: ignore[override] ]) return cast(list[Self | None], results) - @gql_field(description="The assigned role.") # type: ignore[misc] + @gql_field(description="The assigned role.") async def role(self, info: Info[StrawberryGQLContext]) -> RoleGQL | None: # DataLoader already returns RoleGQL | None via from_pydantic conversion return await info.context.data_loaders.role_loader.load(self.role_id) - @gql_field(description="The assigned user.") # type: ignore[misc] + @gql_field(description="The assigned user.") async def user( self, info: Info[StrawberryGQLContext] ) -> ( diff --git a/src/ai/backend/manager/api/gql/reservoir_registry.py b/src/ai/backend/manager/api/gql/reservoir_registry.py index 31f753bb48e..3f5f2b1e9bd 100644 --- a/src/ai/backend/manager/api/gql/reservoir_registry.py +++ b/src/ai/backend/manager/api/gql/reservoir_registry.py @@ -81,7 +81,7 @@ async def load_by_id( nodes = await ctx.adapters.reservoir_registry.get_many(list(reservoir_ids)) return [ReservoirRegistry.from_pydantic(node) for node in nodes] - @gql_field(description="The remote artifact registries of this entity.") # type: ignore[misc] + @gql_field(description="The remote artifact registries of this entity.") @classmethod async def remote_artifact_registries( cls, ctx: strawberry.Info[StrawberryGQLContext] @@ -99,14 +99,14 @@ async def remote_artifact_registries( ), ) class ReservoirRegistryConnection(Connection[ReservoirRegistry]): - @gql_field(description="The count of this entity.") # type: ignore[misc] + @gql_field(description="The count of this entity.") def count(self) -> int: return len(self.edges) @gql_root_field( BackendAIGQLMeta(added_version="25.14.0", description="Get a reservoir registry by ID") -) # type: ignore[misc] +) async def reservoir_registry(id: ID, info: Info[StrawberryGQLContext]) -> ReservoirRegistry | None: node = await info.context.adapters.reservoir_registry.get(uuid.UUID(id)) return ReservoirRegistry.from_pydantic(node) @@ -114,7 +114,7 @@ async def reservoir_registry(id: ID, info: Info[StrawberryGQLContext]) -> Reserv @gql_root_field( BackendAIGQLMeta(added_version="25.14.0", description="List all reservoir registries") -) # type: ignore[misc] +) async def reservoir_registries( info: Info[StrawberryGQLContext], before: str | None = None, @@ -212,7 +212,7 @@ class DeleteReservoirRegistryPayload(PydanticOutputMixin[DeleteReservoirRegistry id: ID -@gql_mutation(BackendAIGQLMeta(added_version="25.14.0", description="Create reservoir registry.")) # type: ignore[misc] +@gql_mutation(BackendAIGQLMeta(added_version="25.14.0", description="Create reservoir registry.")) async def create_reservoir_registry( input: CreateReservoirRegistryInput, info: Info[StrawberryGQLContext] ) -> CreateReservoirRegistryPayload: @@ -222,7 +222,7 @@ async def create_reservoir_registry( ) -@gql_mutation(BackendAIGQLMeta(added_version="25.14.0", description="Update reservoir registry.")) # type: ignore[misc] +@gql_mutation(BackendAIGQLMeta(added_version="25.14.0", description="Update reservoir registry.")) async def update_reservoir_registry( input: UpdateReservoirRegistryInput, info: Info[StrawberryGQLContext] ) -> UpdateReservoirRegistryPayload: @@ -232,7 +232,7 @@ async def update_reservoir_registry( ) -@gql_mutation(BackendAIGQLMeta(added_version="25.14.0", description="Delete reservoir registry.")) # type: ignore[misc] +@gql_mutation(BackendAIGQLMeta(added_version="25.14.0", description="Delete reservoir registry.")) async def delete_reservoir_registry( input: DeleteReservoirRegistryInput, info: Info[StrawberryGQLContext] ) -> DeleteReservoirRegistryPayload: diff --git a/src/ai/backend/manager/api/gql/resource_allocation/resolver.py b/src/ai/backend/manager/api/gql/resource_allocation/resolver.py index 2f28a3fdeea..55b33cbea81 100644 --- a/src/ai/backend/manager/api/gql/resource_allocation/resolver.py +++ b/src/ai/backend/manager/api/gql/resource_allocation/resolver.py @@ -32,7 +32,7 @@ added_version=NEXT_RELEASE_VERSION, description="Get my keypair resource allocation (current user).", ) -) # type: ignore[misc] +) async def my_keypair_resource_allocation_v2( info: Info[StrawberryGQLContext], ) -> KeypairResourceAllocationPayloadGQL: @@ -45,7 +45,7 @@ async def my_keypair_resource_allocation_v2( added_version=NEXT_RELEASE_VERSION, description="Get project resource allocation (project usage).", ) -) # type: ignore[misc] +) async def project_resource_allocation_v2( info: Info[StrawberryGQLContext], project_id: UUID, @@ -61,7 +61,7 @@ async def project_resource_allocation_v2( added_version=NEXT_RELEASE_VERSION, description="Get domain resource allocation (admin only).", ) -) # type: ignore[misc] +) async def admin_domain_resource_allocation_v2( info: Info[StrawberryGQLContext], domain_name: str, @@ -78,7 +78,7 @@ async def admin_domain_resource_allocation_v2( added_version=NEXT_RELEASE_VERSION, description="Get resource group resource allocation.", ) -) # type: ignore[misc] +) async def resource_group_resource_allocation_v2( info: Info[StrawberryGQLContext], resource_group_name: str, @@ -94,7 +94,7 @@ async def resource_group_resource_allocation_v2( added_version=NEXT_RELEASE_VERSION, description="Get effective resource allocation for the current user.", ) -) # type: ignore[misc] +) async def effective_resource_allocation_v2( info: Info[StrawberryGQLContext], input: EffectiveResourceAllocationInputGQL, @@ -110,7 +110,7 @@ async def effective_resource_allocation_v2( added_version=NEXT_RELEASE_VERSION, description="Get effective resource allocation for a specific user (admin only).", ) -) # type: ignore[misc] +) async def admin_effective_resource_allocation_v2( info: Info[StrawberryGQLContext], input: AdminEffectiveResourceAllocationInputGQL, @@ -127,7 +127,7 @@ async def admin_effective_resource_allocation_v2( added_version=NEXT_RELEASE_VERSION, description="Check which resource presets are available for session creation.", ) -) # type: ignore[misc] +) async def check_preset_availability_v2( info: Info[StrawberryGQLContext], input: CheckPresetAvailabilityInputGQL, diff --git a/src/ai/backend/manager/api/gql/resource_group/resolver.py b/src/ai/backend/manager/api/gql/resource_group/resolver.py index d4dfffe9c61..e82c1c7b546 100644 --- a/src/ai/backend/manager/api/gql/resource_group/resolver.py +++ b/src/ai/backend/manager/api/gql/resource_group/resolver.py @@ -65,7 +65,7 @@ def __init__(self, *args: Any, count: int, **kwargs: Any) -> None: @gql_root_field( BackendAIGQLMeta(added_version="26.2.0", description="List resource groups (admin only)") -) # type: ignore[misc] +) async def admin_resource_groups( info: Info[StrawberryGQLContext], filter: ResourceGroupFilterGQL | None = None, @@ -113,7 +113,7 @@ async def admin_resource_groups( @gql_root_field( BackendAIGQLMeta(added_version="26.2.0", description="List resource groups"), deprecation_reason="Use admin_resource_groups instead. This API will be removed after v26.3.0. See BEP-1041 for migration guide.", -) # type: ignore[misc] +) async def resource_groups( info: Info[StrawberryGQLContext], filter: ResourceGroupFilterGQL | None = None, @@ -164,7 +164,7 @@ async def resource_groups( added_version="26.2.0", description="Update fair share configuration for a resource group (admin only). Only provided fields are updated; others retain their existing values. Resource weights are validated against capacity - only resource types available in the scaling group's capacity can be specified.", ) -) # type: ignore[misc] +) async def admin_update_resource_group_fair_share_spec( info: Info[StrawberryGQLContext], input: UpdateResourceGroupFairShareSpecInput, @@ -187,7 +187,7 @@ async def admin_update_resource_group_fair_share_spec( "Use admin_update_resource_group_fair_share_spec instead. " "This API will be removed after v26.3.0. See BEP-1041 for migration guide." ), -) # type: ignore[misc] +) async def update_resource_group_fair_share_spec( info: Info[StrawberryGQLContext], input: UpdateResourceGroupFairShareSpecInput, @@ -204,7 +204,7 @@ async def update_resource_group_fair_share_spec( added_version="26.2.0", description="Update resource group configuration (admin only). Only provided fields are updated; others retain their existing values. Supports all configuration fields except fair_share (use separate mutation).", ) -) # type: ignore[misc] +) async def admin_update_resource_group( info: Info[StrawberryGQLContext], input: UpdateResourceGroupInput, @@ -223,7 +223,7 @@ async def admin_update_resource_group( added_version=NEXT_RELEASE_VERSION, description="Get a single resource group by name (admin only).", ) -) # type: ignore[misc] +) async def admin_resource_group_v2( info: Info[StrawberryGQLContext], name: str, @@ -238,7 +238,7 @@ async def admin_resource_group_v2( added_version=NEXT_RELEASE_VERSION, description="Create a new resource group (admin only).", ) -) # type: ignore[misc] +) async def admin_create_resource_group_v2( info: Info[StrawberryGQLContext], input: CreateResourceGroupInputGQL, @@ -253,7 +253,7 @@ async def admin_create_resource_group_v2( added_version=NEXT_RELEASE_VERSION, description="Delete a resource group (admin only).", ) -) # type: ignore[misc] +) async def admin_delete_resource_group_v2( info: Info[StrawberryGQLContext], name: str, @@ -272,7 +272,7 @@ async def admin_delete_resource_group_v2( added_version=NEXT_RELEASE_VERSION, description="Get allowed resource groups for a domain (admin only).", ) -) # type: ignore[misc] +) async def admin_allowed_resource_groups_for_domain_v2( info: Info[StrawberryGQLContext], domain_name: str, @@ -289,7 +289,7 @@ async def admin_allowed_resource_groups_for_domain_v2( added_version=NEXT_RELEASE_VERSION, description="Get allowed resource groups for a project (admin only).", ) -) # type: ignore[misc] +) async def admin_allowed_resource_groups_for_project_v2( info: Info[StrawberryGQLContext], project_id: UUID, @@ -306,7 +306,7 @@ async def admin_allowed_resource_groups_for_project_v2( added_version=NEXT_RELEASE_VERSION, description="Get allowed domains for a resource group (admin only).", ) -) # type: ignore[misc] +) async def admin_allowed_domains_for_resource_group_v2( info: Info[StrawberryGQLContext], resource_group_name: str, @@ -323,7 +323,7 @@ async def admin_allowed_domains_for_resource_group_v2( added_version=NEXT_RELEASE_VERSION, description="Get allowed projects for a resource group (admin only).", ) -) # type: ignore[misc] +) async def admin_allowed_projects_for_resource_group_v2( info: Info[StrawberryGQLContext], resource_group_name: str, @@ -343,7 +343,7 @@ async def admin_allowed_projects_for_resource_group_v2( added_version=NEXT_RELEASE_VERSION, description="Update allowed resource groups for a domain (admin only).", ) -) # type: ignore[misc] +) async def admin_update_allowed_resource_groups_for_domain_v2( info: Info[StrawberryGQLContext], input: UpdateAllowedResourceGroupsForDomainInputGQL, @@ -360,7 +360,7 @@ async def admin_update_allowed_resource_groups_for_domain_v2( added_version=NEXT_RELEASE_VERSION, description="Update allowed resource groups for a project (admin only).", ) -) # type: ignore[misc] +) async def admin_update_allowed_resource_groups_for_project_v2( info: Info[StrawberryGQLContext], input: UpdateAllowedResourceGroupsForProjectInputGQL, @@ -377,7 +377,7 @@ async def admin_update_allowed_resource_groups_for_project_v2( added_version=NEXT_RELEASE_VERSION, description="Update allowed domains for a resource group (admin only).", ) -) # type: ignore[misc] +) async def admin_update_allowed_domains_for_resource_group_v2( info: Info[StrawberryGQLContext], input: UpdateAllowedDomainsForResourceGroupInputGQL, @@ -394,7 +394,7 @@ async def admin_update_allowed_domains_for_resource_group_v2( added_version=NEXT_RELEASE_VERSION, description="Update allowed projects for a resource group (admin only).", ) -) # type: ignore[misc] +) async def admin_update_allowed_projects_for_resource_group_v2( info: Info[StrawberryGQLContext], input: UpdateAllowedProjectsForResourceGroupInputGQL, diff --git a/src/ai/backend/manager/api/gql/resource_group/types.py b/src/ai/backend/manager/api/gql/resource_group/types.py index 467b8780481..b0369e84a9a 100644 --- a/src/ai/backend/manager/api/gql/resource_group/types.py +++ b/src/ai/backend/manager/api/gql/resource_group/types.py @@ -341,7 +341,7 @@ async def resolve_nodes( # type: ignore[override] # Strawberry Node uses Await added_version="26.1.0", description="Fair share calculation configuration for this resource group. Defines decay parameters and resource weights for fair share factor computation. Resource weights are merged with capacity and include default indicators.", ) - ) # type: ignore[misc] + ) async def fair_share_spec( self, info: Info[StrawberryGQLContext, None] ) -> FairShareScalingGroupSpecGQL: @@ -355,7 +355,7 @@ async def fair_share_spec( added_version="26.1.0", description="Resource usage information for this resource group. Provides aggregated metrics for capacity, used, and free resources. This is a lazy-loaded field that queries agent and kernel data on demand.", ) - ) # type: ignore[misc] + ) async def resource_info(self, info: Info[StrawberryGQLContext, None]) -> ResourceInfoGQL: """Get resource information for this resource group.""" ctx = info.context diff --git a/src/ai/backend/manager/api/gql/resource_policy_v2/resolver/mutation.py b/src/ai/backend/manager/api/gql/resource_policy_v2/resolver/mutation.py index 689a93764ea..5e1cedc6da4 100644 --- a/src/ai/backend/manager/api/gql/resource_policy_v2/resolver/mutation.py +++ b/src/ai/backend/manager/api/gql/resource_policy_v2/resolver/mutation.py @@ -42,7 +42,7 @@ added_version=NEXT_RELEASE_VERSION, description="Create a new keypair resource policy (admin only).", ) -) # type: ignore[misc] +) async def admin_create_keypair_resource_policy_v2( info: Info[StrawberryGQLContext], input: CreateKeypairResourcePolicyInputGQL, @@ -59,7 +59,7 @@ async def admin_create_keypair_resource_policy_v2( added_version=NEXT_RELEASE_VERSION, description="Update a keypair resource policy (admin only). Only provided fields will be updated.", ) -) # type: ignore[misc] +) async def admin_update_keypair_resource_policy_v2( info: Info[StrawberryGQLContext], name: str, @@ -77,7 +77,7 @@ async def admin_update_keypair_resource_policy_v2( added_version=NEXT_RELEASE_VERSION, description="Delete a keypair resource policy (admin only).", ) -) # type: ignore[misc] +) async def admin_delete_keypair_resource_policy_v2( info: Info[StrawberryGQLContext], name: str, @@ -97,7 +97,7 @@ async def admin_delete_keypair_resource_policy_v2( added_version=NEXT_RELEASE_VERSION, description="Create a new user resource policy (admin only).", ) -) # type: ignore[misc] +) async def admin_create_user_resource_policy_v2( info: Info[StrawberryGQLContext], input: CreateUserResourcePolicyInputGQL, @@ -114,7 +114,7 @@ async def admin_create_user_resource_policy_v2( added_version=NEXT_RELEASE_VERSION, description="Update a user resource policy (admin only). Only provided fields will be updated.", ) -) # type: ignore[misc] +) async def admin_update_user_resource_policy_v2( info: Info[StrawberryGQLContext], name: str, @@ -132,7 +132,7 @@ async def admin_update_user_resource_policy_v2( added_version=NEXT_RELEASE_VERSION, description="Delete a user resource policy (admin only).", ) -) # type: ignore[misc] +) async def admin_delete_user_resource_policy_v2( info: Info[StrawberryGQLContext], name: str, @@ -152,7 +152,7 @@ async def admin_delete_user_resource_policy_v2( added_version=NEXT_RELEASE_VERSION, description="Create a new project resource policy (admin only).", ) -) # type: ignore[misc] +) async def admin_create_project_resource_policy_v2( info: Info[StrawberryGQLContext], input: CreateProjectResourcePolicyInputGQL, @@ -169,7 +169,7 @@ async def admin_create_project_resource_policy_v2( added_version=NEXT_RELEASE_VERSION, description="Update a project resource policy (admin only). Only provided fields will be updated.", ) -) # type: ignore[misc] +) async def admin_update_project_resource_policy_v2( info: Info[StrawberryGQLContext], name: str, @@ -187,7 +187,7 @@ async def admin_update_project_resource_policy_v2( added_version=NEXT_RELEASE_VERSION, description="Delete a project resource policy (admin only).", ) -) # type: ignore[misc] +) async def admin_delete_project_resource_policy_v2( info: Info[StrawberryGQLContext], name: str, diff --git a/src/ai/backend/manager/api/gql/resource_policy_v2/resolver/query.py b/src/ai/backend/manager/api/gql/resource_policy_v2/resolver/query.py index 60f3b4bbcf1..3d1d13be14c 100644 --- a/src/ai/backend/manager/api/gql/resource_policy_v2/resolver/query.py +++ b/src/ai/backend/manager/api/gql/resource_policy_v2/resolver/query.py @@ -44,7 +44,7 @@ added_version=NEXT_RELEASE_VERSION, description="Get a single keypair resource policy by name (admin only).", ) -) # type: ignore[misc] +) async def admin_keypair_resource_policy_v2( info: Info[StrawberryGQLContext], name: str, @@ -59,7 +59,7 @@ async def admin_keypair_resource_policy_v2( added_version=NEXT_RELEASE_VERSION, description="List all keypair resource policies with pagination (admin only).", ) -) # type: ignore[misc] +) async def admin_keypair_resource_policies_v2( info: Info[StrawberryGQLContext], filter: KeypairResourcePolicyV2Filter | None = None, @@ -103,7 +103,7 @@ async def admin_keypair_resource_policies_v2( added_version=NEXT_RELEASE_VERSION, description="Get the current user's keypair resource policy.", ) -) # type: ignore[misc] +) async def my_keypair_resource_policy_v2( info: Info[StrawberryGQLContext], ) -> KeypairResourcePolicyV2GQL | None: @@ -119,7 +119,7 @@ async def my_keypair_resource_policy_v2( added_version=NEXT_RELEASE_VERSION, description="Get a single user resource policy by name (admin only).", ) -) # type: ignore[misc] +) async def admin_user_resource_policy_v2( info: Info[StrawberryGQLContext], name: str, @@ -134,7 +134,7 @@ async def admin_user_resource_policy_v2( added_version=NEXT_RELEASE_VERSION, description="List all user resource policies with pagination (admin only).", ) -) # type: ignore[misc] +) async def admin_user_resource_policies_v2( info: Info[StrawberryGQLContext], filter: UserResourcePolicyV2Filter | None = None, @@ -178,7 +178,7 @@ async def admin_user_resource_policies_v2( added_version=NEXT_RELEASE_VERSION, description="Get the current user's user resource policy.", ) -) # type: ignore[misc] +) async def my_user_resource_policy_v2( info: Info[StrawberryGQLContext], ) -> UserResourcePolicyV2GQL | None: @@ -194,7 +194,7 @@ async def my_user_resource_policy_v2( added_version=NEXT_RELEASE_VERSION, description="Get a single project resource policy by name (admin only).", ) -) # type: ignore[misc] +) async def admin_project_resource_policy_v2( info: Info[StrawberryGQLContext], name: str, @@ -209,7 +209,7 @@ async def admin_project_resource_policy_v2( added_version=NEXT_RELEASE_VERSION, description="List all project resource policies with pagination (admin only).", ) -) # type: ignore[misc] +) async def admin_project_resource_policies_v2( info: Info[StrawberryGQLContext], filter: ProjectResourcePolicyV2Filter | None = None, diff --git a/src/ai/backend/manager/api/gql/resource_preset/resolver.py b/src/ai/backend/manager/api/gql/resource_preset/resolver.py index a530b8c46f0..a3babeaca86 100644 --- a/src/ai/backend/manager/api/gql/resource_preset/resolver.py +++ b/src/ai/backend/manager/api/gql/resource_preset/resolver.py @@ -43,7 +43,7 @@ added_version=NEXT_RELEASE_VERSION, description="List resource presets (admin only).", ) -) # type: ignore[misc] +) async def admin_resource_presets_v2( info: Info[StrawberryGQLContext], filter: ResourcePresetFilterGQL | None = None, @@ -93,7 +93,7 @@ async def admin_resource_presets_v2( added_version=NEXT_RELEASE_VERSION, description="Get a single resource preset by ID (admin only).", ) -) # type: ignore[misc] +) async def admin_resource_preset_v2( info: Info[StrawberryGQLContext], id: UUID, @@ -111,7 +111,7 @@ async def admin_resource_preset_v2( added_version=NEXT_RELEASE_VERSION, description="Create a new resource preset (admin only).", ) -) # type: ignore[misc] +) async def admin_create_resource_preset_v2( info: Info[StrawberryGQLContext], input: CreateResourcePresetInputGQL, @@ -136,7 +136,7 @@ async def admin_create_resource_preset_v2( added_version=NEXT_RELEASE_VERSION, description="Update a resource preset (admin only).", ) -) # type: ignore[misc] +) async def admin_update_resource_preset_v2( info: Info[StrawberryGQLContext], input: UpdateResourcePresetInputGQL, @@ -153,7 +153,7 @@ async def admin_update_resource_preset_v2( added_version=NEXT_RELEASE_VERSION, description="Delete a resource preset (admin only).", ) -) # type: ignore[misc] +) async def admin_delete_resource_preset_v2( info: Info[StrawberryGQLContext], id: UUID, diff --git a/src/ai/backend/manager/api/gql/resource_slot/resolver.py b/src/ai/backend/manager/api/gql/resource_slot/resolver.py index 7e6da31e044..e31e88a25e9 100644 --- a/src/ai/backend/manager/api/gql/resource_slot/resolver.py +++ b/src/ai/backend/manager/api/gql/resource_slot/resolver.py @@ -29,7 +29,7 @@ added_version="26.3.0", description="Returns a single resource slot type by slot_name, or null.", ) -) # type: ignore[misc] +) async def resource_slot_type( info: Info[StrawberryGQLContext], slot_name: str, @@ -43,7 +43,7 @@ async def resource_slot_type( added_version="26.3.0", description="Returns resource slot types with pagination and filtering.", ) -) # type: ignore[misc] +) async def resource_slot_types( info: Info[StrawberryGQLContext], filter: ResourceSlotTypeFilterGQL | None = None, diff --git a/src/ai/backend/manager/api/gql/resource_usage/resolver/domain_usage.py b/src/ai/backend/manager/api/gql/resource_usage/resolver/domain_usage.py index 7ad01dd098a..86842d6c71d 100644 --- a/src/ai/backend/manager/api/gql/resource_usage/resolver/domain_usage.py +++ b/src/ai/backend/manager/api/gql/resource_usage/resolver/domain_usage.py @@ -27,7 +27,7 @@ @gql_root_field( BackendAIGQLMeta(added_version="26.2.0", description="List domain usage buckets (admin only).") -) # type: ignore[misc] +) async def admin_domain_usage_buckets( info: Info[StrawberryGQLContext], filter: DomainUsageBucketFilter | None = None, @@ -74,7 +74,7 @@ async def admin_domain_usage_buckets( added_version="26.2.0", description="List domain usage buckets within resource group scope. This API is not yet implemented.", ) -) # type: ignore[misc] +) async def rg_domain_usage_buckets( info: Info[StrawberryGQLContext], scope: ResourceGroupDomainScope, @@ -99,7 +99,7 @@ async def rg_domain_usage_buckets( added_version="26.1.0", description="List domain usage buckets (superadmin only)." ), deprecation_reason="Use admin_domain_usage_buckets instead. This API will be removed after v26.3.0. See BEP-1041 for migration guide.", -) # type: ignore[misc] +) async def domain_usage_buckets( info: Info[StrawberryGQLContext], filter: DomainUsageBucketFilter | None = None, diff --git a/src/ai/backend/manager/api/gql/resource_usage/resolver/project_usage.py b/src/ai/backend/manager/api/gql/resource_usage/resolver/project_usage.py index 3a675006566..0b363b8c3bf 100644 --- a/src/ai/backend/manager/api/gql/resource_usage/resolver/project_usage.py +++ b/src/ai/backend/manager/api/gql/resource_usage/resolver/project_usage.py @@ -27,7 +27,7 @@ @gql_root_field( BackendAIGQLMeta(added_version="26.2.0", description="List project usage buckets (admin only).") -) # type: ignore[misc] +) async def admin_project_usage_buckets( info: Info[StrawberryGQLContext], filter: ProjectUsageBucketFilter | None = None, @@ -76,7 +76,7 @@ async def admin_project_usage_buckets( added_version="26.2.0", description="List project usage buckets within resource group scope. This API is not yet implemented.", ) -) # type: ignore[misc] +) async def rg_project_usage_buckets( info: Info[StrawberryGQLContext], scope: ResourceGroupProjectScope, @@ -101,7 +101,7 @@ async def rg_project_usage_buckets( added_version="26.1.0", description="List project usage buckets (superadmin only)." ), deprecation_reason="Use admin_project_usage_buckets instead. This API will be removed after v26.3.0. See BEP-1041 for migration guide.", -) # type: ignore[misc] +) async def project_usage_buckets( info: Info[StrawberryGQLContext], filter: ProjectUsageBucketFilter | None = None, diff --git a/src/ai/backend/manager/api/gql/resource_usage/resolver/user_usage.py b/src/ai/backend/manager/api/gql/resource_usage/resolver/user_usage.py index 0317d20ed45..ac43a96539c 100644 --- a/src/ai/backend/manager/api/gql/resource_usage/resolver/user_usage.py +++ b/src/ai/backend/manager/api/gql/resource_usage/resolver/user_usage.py @@ -27,7 +27,7 @@ @gql_root_field( BackendAIGQLMeta(added_version="26.2.0", description="List user usage buckets (admin only).") -) # type: ignore[misc] +) async def admin_user_usage_buckets( info: Info[StrawberryGQLContext], filter: UserUsageBucketFilter | None = None, @@ -74,7 +74,7 @@ async def admin_user_usage_buckets( added_version="26.2.0", description="List user usage buckets within resource group scope. This API is not yet implemented.", ) -) # type: ignore[misc] +) async def rg_user_usage_buckets( info: Info[StrawberryGQLContext], scope: ResourceGroupUserScope, @@ -99,7 +99,7 @@ async def rg_user_usage_buckets( added_version="26.1.0", description="List user usage buckets (superadmin only)." ), deprecation_reason="Use admin_user_usage_buckets instead. This API will be removed after v26.3.0. See BEP-1041 for migration guide.", -) # type: ignore[misc] +) async def user_usage_buckets( info: Info[StrawberryGQLContext], filter: UserUsageBucketFilter | None = None, diff --git a/src/ai/backend/manager/api/gql/resource_usage/types/domain_usage.py b/src/ai/backend/manager/api/gql/resource_usage/types/domain_usage.py index b024af41e58..cb1da6d7d83 100644 --- a/src/ai/backend/manager/api/gql/resource_usage/types/domain_usage.py +++ b/src/ai/backend/manager/api/gql/resource_usage/types/domain_usage.py @@ -84,7 +84,7 @@ class DomainUsageBucketGQL(PydanticNodeMixin[DomainUsageBucketNode]): added_version="26.2.0", description="Average daily resource usage during this period. Calculated as resource_usage divided by bucket duration in days. For each resource type, this represents the average amount consumed per day. Units match the resource type (e.g., CPU cores, memory bytes).", ) - ) # type: ignore[misc] + ) def average_daily_usage(self) -> ResourceSlotGQL: return calculate_average_daily_usage( self.resource_usage, @@ -97,7 +97,7 @@ def average_daily_usage(self) -> ResourceSlotGQL: added_version="26.2.0", description="Usage ratio against total available capacity for each resource. Calculated as resource_usage divided by capacity_snapshot. Represents the fraction of total capacity consumed (resource-seconds / resource). The result is in seconds, where 86400 means full utilization for one day. Values can exceed this if usage exceeds capacity.", ) - ) # type: ignore[misc] + ) def usage_capacity_ratio(self) -> ResourceSlotGQL: return calculate_usage_capacity_ratio( self.resource_usage, @@ -109,7 +109,7 @@ def usage_capacity_ratio(self) -> ResourceSlotGQL: added_version="26.1.0", description="Project usage buckets belonging to this domain. Returns paginated project-level usage history for all projects in this domain within the same scaling group.", ) - ) # type: ignore[misc] + ) async def project_usage_buckets( self, info: Info[StrawberryGQLContext], diff --git a/src/ai/backend/manager/api/gql/resource_usage/types/project_usage.py b/src/ai/backend/manager/api/gql/resource_usage/types/project_usage.py index dba6593e65c..b4a48c9d4f1 100644 --- a/src/ai/backend/manager/api/gql/resource_usage/types/project_usage.py +++ b/src/ai/backend/manager/api/gql/resource_usage/types/project_usage.py @@ -88,7 +88,7 @@ class ProjectUsageBucketGQL(PydanticNodeMixin[ProjectUsageBucketNode]): added_version="26.2.0", description="Average daily resource usage during this period. Calculated as resource_usage divided by bucket duration in days. For each resource type, this represents the average amount consumed per day. Units match the resource type (e.g., CPU cores, memory bytes).", ) - ) # type: ignore[misc] + ) def average_daily_usage(self) -> ResourceSlotGQL: return calculate_average_daily_usage( self.resource_usage, @@ -101,7 +101,7 @@ def average_daily_usage(self) -> ResourceSlotGQL: added_version="26.2.0", description="Usage ratio against total available capacity for each resource. Calculated as resource_usage divided by capacity_snapshot. Represents the fraction of total capacity consumed (resource-seconds / resource). The result is in seconds, where 86400 means full utilization for one day. Values can exceed this if usage exceeds capacity.", ) - ) # type: ignore[misc] + ) def usage_capacity_ratio(self) -> ResourceSlotGQL: return calculate_usage_capacity_ratio( self.resource_usage, @@ -113,7 +113,7 @@ def usage_capacity_ratio(self) -> ResourceSlotGQL: added_version="26.1.0", description="User usage buckets belonging to this project. Returns paginated user-level usage history for all users in this project within the same scaling group.", ) - ) # type: ignore[misc] + ) async def user_usage_buckets( self, info: Info[StrawberryGQLContext], diff --git a/src/ai/backend/manager/api/gql/resource_usage/types/user_usage.py b/src/ai/backend/manager/api/gql/resource_usage/types/user_usage.py index 0749bb1eb91..1511566ef82 100644 --- a/src/ai/backend/manager/api/gql/resource_usage/types/user_usage.py +++ b/src/ai/backend/manager/api/gql/resource_usage/types/user_usage.py @@ -76,7 +76,7 @@ class UserUsageBucketGQL(PydanticNodeMixin[UserUsageBucketNode]): added_version="26.2.0", description="Average daily resource usage during this period. Calculated as resource_usage divided by bucket duration in days. For each resource type, this represents the average amount consumed per day. Units match the resource type (e.g., CPU cores, memory bytes).", ) - ) # type: ignore[misc] + ) def average_daily_usage(self) -> ResourceSlotGQL: return calculate_average_daily_usage( self.resource_usage, @@ -89,7 +89,7 @@ def average_daily_usage(self) -> ResourceSlotGQL: added_version="26.2.0", description="Usage ratio against total available capacity for each resource. Calculated as resource_usage divided by capacity_snapshot. Represents the fraction of total capacity consumed (resource-seconds / resource). The result is in seconds, where 86400 means full utilization for one day. Values can exceed this if usage exceeds capacity.", ) - ) # type: ignore[misc] + ) def usage_capacity_ratio(self) -> ResourceSlotGQL: return calculate_usage_capacity_ratio( self.resource_usage, diff --git a/src/ai/backend/manager/api/gql/runtime_variant/resolver.py b/src/ai/backend/manager/api/gql/runtime_variant/resolver.py index d4355398b40..2d3dc5f2ad9 100644 --- a/src/ai/backend/manager/api/gql/runtime_variant/resolver.py +++ b/src/ai/backend/manager/api/gql/runtime_variant/resolver.py @@ -35,7 +35,7 @@ added_version=NEXT_RELEASE_VERSION, description="Search runtime variants.", ) -) # type: ignore[misc] +) async def runtime_variants( info: Info[StrawberryGQLContext], filter: RuntimeVariantFilterGQL | None = None, @@ -94,7 +94,7 @@ async def runtime_variants( added_version=NEXT_RELEASE_VERSION, description="Get a single runtime variant by ID.", ) -) # type: ignore[misc] +) async def runtime_variant( info: Info[StrawberryGQLContext], id: UUID, @@ -108,7 +108,7 @@ async def runtime_variant( added_version=NEXT_RELEASE_VERSION, description="Create a new runtime variant (superadmin only).", ) -) # type: ignore[misc] +) async def admin_create_runtime_variant( info: Info[StrawberryGQLContext], input: CreateRuntimeVariantInputGQL, @@ -124,7 +124,7 @@ async def admin_create_runtime_variant( added_version=NEXT_RELEASE_VERSION, description="Update a runtime variant (superadmin only).", ) -) # type: ignore[misc] +) async def admin_update_runtime_variant( info: Info[StrawberryGQLContext], input: UpdateRuntimeVariantInputGQL, @@ -140,7 +140,7 @@ async def admin_update_runtime_variant( added_version=NEXT_RELEASE_VERSION, description="Delete a runtime variant (superadmin only).", ) -) # type: ignore[misc] +) async def admin_delete_runtime_variant( info: Info[StrawberryGQLContext], id: UUID, diff --git a/src/ai/backend/manager/api/gql/runtime_variant_preset/resolver.py b/src/ai/backend/manager/api/gql/runtime_variant_preset/resolver.py index c4ebc0c441d..a4d1517e5c0 100644 --- a/src/ai/backend/manager/api/gql/runtime_variant_preset/resolver.py +++ b/src/ai/backend/manager/api/gql/runtime_variant_preset/resolver.py @@ -37,7 +37,7 @@ added_version=NEXT_RELEASE_VERSION, description="Search runtime variant presets.", ) -) # type: ignore[misc] +) async def runtime_variant_presets( info: Info[StrawberryGQLContext], filter: RuntimeVariantPresetFilterGQL | None = None, @@ -96,7 +96,7 @@ async def runtime_variant_presets( added_version=NEXT_RELEASE_VERSION, description="Get a single runtime variant preset by ID.", ) -) # type: ignore[misc] +) async def runtime_variant_preset( info: Info[StrawberryGQLContext], id: UUID, @@ -110,7 +110,7 @@ async def runtime_variant_preset( added_version=NEXT_RELEASE_VERSION, description="Create a runtime variant preset (superadmin only).", ) -) # type: ignore[misc] +) async def admin_create_runtime_variant_preset( info: Info[StrawberryGQLContext], input: CreateRuntimeVariantPresetInputGQL, @@ -126,7 +126,7 @@ async def admin_create_runtime_variant_preset( added_version=NEXT_RELEASE_VERSION, description="Update a runtime variant preset (superadmin only).", ) -) # type: ignore[misc] +) async def admin_update_runtime_variant_preset( info: Info[StrawberryGQLContext], input: UpdateRuntimeVariantPresetInputGQL, @@ -142,7 +142,7 @@ async def admin_update_runtime_variant_preset( added_version=NEXT_RELEASE_VERSION, description="Delete a runtime variant preset (superadmin only).", ) -) # type: ignore[misc] +) async def admin_delete_runtime_variant_preset( info: Info[StrawberryGQLContext], id: UUID, diff --git a/src/ai/backend/manager/api/gql/scheduler.py b/src/ai/backend/manager/api/gql/scheduler.py index b37b40cdbf9..33beee4add4 100644 --- a/src/ai/backend/manager/api/gql/scheduler.py +++ b/src/ai/backend/manager/api/gql/scheduler.py @@ -79,7 +79,7 @@ class SchedulingBroadcastEventPayloadGQL: @gql_field( description="The session ID associated with the replica. This can be null right after replica creation." - ) # type: ignore[misc] + ) async def session(self, info: Info[StrawberryGQLContext]) -> Session: session_global_id = to_global_id( ComputeSessionNode, self.session_id, is_target_graphene_object=True @@ -87,7 +87,7 @@ async def session(self, info: Info[StrawberryGQLContext]) -> Session: return Session(id=strawberry.ID(session_global_id)) -@gql_subscription( # type: ignore[misc] +@gql_subscription( BackendAIGQLMeta( added_version="25.15.0", description=( diff --git a/src/ai/backend/manager/api/gql/scheduling_history/resolver.py b/src/ai/backend/manager/api/gql/scheduling_history/resolver.py index 0563859714b..72fa0a459a9 100644 --- a/src/ai/backend/manager/api/gql/scheduling_history/resolver.py +++ b/src/ai/backend/manager/api/gql/scheduling_history/resolver.py @@ -93,7 +93,7 @@ def __init__(self, *args: Any, count: int, **kwargs: Any) -> None: added_version=NEXT_RELEASE_VERSION, description="List session scheduling history (admin only)", ) -) # type: ignore[misc] +) async def admin_session_scheduling_histories( info: Info[StrawberryGQLContext], filter: SessionSchedulingHistoryFilter | None = None, @@ -141,7 +141,7 @@ async def admin_session_scheduling_histories( description="List session scheduling history (superadmin only)", ), deprecation_reason="Use admin_session_scheduling_histories instead. This API will be removed after v26.3.0. See BEP-1041 for migration guide.", -) # type: ignore[misc] +) async def session_scheduling_histories( info: Info[StrawberryGQLContext], filter: SessionSchedulingHistoryFilter | None = None, @@ -189,7 +189,7 @@ async def session_scheduling_histories( BackendAIGQLMeta( added_version=NEXT_RELEASE_VERSION, description="List deployment history (admin only)" ) -) # type: ignore[misc] +) async def admin_deployment_histories( info: Info[StrawberryGQLContext], filter: DeploymentHistoryFilter | None = None, @@ -233,7 +233,7 @@ async def admin_deployment_histories( added_version=NEXT_RELEASE_VERSION, description="List deployment history (superadmin only)" ), deprecation_reason="Use admin_deployment_histories instead. This API will be removed after v26.3.0. See BEP-1041 for migration guide.", -) # type: ignore[misc] +) async def deployment_histories( info: Info[StrawberryGQLContext], filter: DeploymentHistoryFilter | None = None, @@ -278,7 +278,7 @@ async def deployment_histories( BackendAIGQLMeta( added_version=NEXT_RELEASE_VERSION, description="List route history (admin only)" ) -) # type: ignore[misc] +) async def admin_route_histories( info: Info[StrawberryGQLContext], filter: RouteHistoryFilter | None = None, @@ -322,7 +322,7 @@ async def admin_route_histories( added_version=NEXT_RELEASE_VERSION, description="List route history (superadmin only)" ), deprecation_reason="Use admin_route_histories instead. This API will be removed after v26.3.0. See BEP-1041 for migration guide.", -) # type: ignore[misc] +) async def route_histories( info: Info[StrawberryGQLContext], filter: RouteHistoryFilter | None = None, @@ -370,7 +370,7 @@ async def route_histories( BackendAIGQLMeta( added_version="26.2.0", description="Get scheduling history for a specific session." ) -) # type: ignore[misc] +) async def session_scoped_scheduling_histories( info: Info[StrawberryGQLContext], scope: SessionScope, @@ -418,7 +418,7 @@ async def session_scoped_scheduling_histories( BackendAIGQLMeta( added_version="26.2.0", description="Get scheduling history for a specific deployment." ) -) # type: ignore[misc] +) async def deployment_scoped_scheduling_histories( info: Info[StrawberryGQLContext], scope: DeploymentScope, @@ -463,7 +463,7 @@ async def deployment_scoped_scheduling_histories( BackendAIGQLMeta( added_version="26.2.0", description="Get scheduling history for a specific route." ) -) # type: ignore[misc] +) async def route_scoped_scheduling_histories( info: Info[StrawberryGQLContext], scope: RouteScope, diff --git a/src/ai/backend/manager/api/gql/service_catalog/resolver.py b/src/ai/backend/manager/api/gql/service_catalog/resolver.py index 8061c03aac3..fe67a1441fc 100644 --- a/src/ai/backend/manager/api/gql/service_catalog/resolver.py +++ b/src/ai/backend/manager/api/gql/service_catalog/resolver.py @@ -23,7 +23,7 @@ BackendAIGQLMeta( added_version="26.3.0", description="Query service catalog entries. Admin only." ) -) # type: ignore[misc] +) async def admin_service_catalogs( info: Info[StrawberryGQLContext], filter: ServiceCatalogFilterGQL | None = None, diff --git a/src/ai/backend/manager/api/gql/session/resolver/session.py b/src/ai/backend/manager/api/gql/session/resolver/session.py index 767cfacc9aa..2a48d49c7d5 100644 --- a/src/ai/backend/manager/api/gql/session/resolver/session.py +++ b/src/ai/backend/manager/api/gql/session/resolver/session.py @@ -38,7 +38,7 @@ added_version="26.3.0", description="Query sessions with pagination and filtering. (admin only)", ) -) # type: ignore[misc] +) async def admin_sessions_v2( info: Info[StrawberryGQLContext], filter: SessionV2FilterGQL | None = None, @@ -82,7 +82,7 @@ async def admin_sessions_v2( added_version=NEXT_RELEASE_VERSION, description="List sessions within a specific project. Requires project membership or higher privileges.", ) -) # type: ignore[misc] +) async def project_sessions_v2( info: Info[StrawberryGQLContext], scope: ProjectSessionScopeGQL, @@ -129,7 +129,7 @@ async def project_sessions_v2( added_version=NEXT_RELEASE_VERSION, description="Enqueue a new compute session.", ), -) # type: ignore[misc] +) async def enqueue_session( input: EnqueueSessionInputGQL, info: Info[StrawberryGQLContext], @@ -157,7 +157,7 @@ async def enqueue_session( added_version=NEXT_RELEASE_VERSION, description="Terminate sessions within a project scope.", ), -) # type: ignore[misc] +) async def terminate_project_sessions_v2( info: Info[StrawberryGQLContext], scope: ProjectSessionScopeGQL, diff --git a/src/ai/backend/manager/api/gql/session/types.py b/src/ai/backend/manager/api/gql/session/types.py index d4ddcd417f5..f85e9a4af8d 100644 --- a/src/ai/backend/manager/api/gql/session/types.py +++ b/src/ai/backend/manager/api/gql/session/types.py @@ -320,13 +320,13 @@ class SessionV2GQL(PydanticNodeMixin[SessionNode]): @gql_added_field( BackendAIGQLMeta(added_version="26.3.0", description="The domain this session belongs to.") - ) # type: ignore[misc] + ) async def domain(self, info: Info[StrawberryGQLContext]) -> DomainV2GQL | None: return await info.context.data_loaders.domain_loader.load(self.domain_name) @gql_added_field( BackendAIGQLMeta(added_version="26.3.0", description="The user who owns this session.") - ) # type: ignore[misc] + ) async def user(self, info: Info[StrawberryGQLContext]) -> UserV2GQL | None: user_data = await info.context.data_loaders.user_loader.load(UUID(str(self.user_id))) if user_data is None: @@ -335,7 +335,7 @@ async def user(self, info: Info[StrawberryGQLContext]) -> UserV2GQL | None: @gql_added_field( BackendAIGQLMeta(added_version="26.3.0", description="The project this session belongs to.") - ) # type: ignore[misc] + ) async def project(self, info: Info[StrawberryGQLContext]) -> ProjectV2GQL | None: project_data = await info.context.data_loaders.project_loader.load( UUID(str(self.project_id)) @@ -348,7 +348,7 @@ async def project(self, info: Info[StrawberryGQLContext]) -> ProjectV2GQL | None BackendAIGQLMeta( added_version="26.3.0", description="The resource group this session is assigned to." ) - ) # type: ignore[misc] + ) async def resource_group(self, info: Info[StrawberryGQLContext]) -> ResourceGroupGQL | None: if self.resource.resource_group_name is None: return None @@ -364,7 +364,7 @@ async def resource_group(self, info: Info[StrawberryGQLContext]) -> ResourceGrou added_version="26.3.0", description="The images used by this session. Multiple images are possible in multi-kernel (cluster) sessions.", ) - ) # type: ignore[misc] + ) async def images(self) -> ImageV2ConnectionGQL: raise NotImplementedError @@ -372,7 +372,7 @@ async def images(self) -> ImageV2ConnectionGQL: BackendAIGQLMeta( added_version="26.3.0", description="The kernels belonging to this session." ) - ) # type: ignore[misc] + ) async def kernels(self, info: Info[StrawberryGQLContext]) -> KernelV2ConnectionGQL: user = current_user() if user is None: diff --git a/src/ai/backend/manager/api/gql/storage_namespace.py b/src/ai/backend/manager/api/gql/storage_namespace.py index 77c6f5ae17c..b8c53a561f2 100644 --- a/src/ai/backend/manager/api/gql/storage_namespace.py +++ b/src/ai/backend/manager/api/gql/storage_namespace.py @@ -77,7 +77,7 @@ async def resolve_nodes( # type: ignore[override] # Strawberry Node uses Await ), ) class StorageNamespaceConnection(Connection[StorageNamespace]): - @gql_field(description="The count of this entity.") # type: ignore[misc] + @gql_field(description="The count of this entity.") def count(self) -> int: return len(self.edges) @@ -132,7 +132,7 @@ class UnregisterStorageNamespacePayload: BackendAIGQLMeta( added_version="25.15.0", description="Registers a new namespace within a storage" ) -) # type: ignore[misc] +) async def register_storage_namespace( input: RegisterStorageNamespaceInput, info: Info[StrawberryGQLContext] ) -> RegisterStorageNamespacePayload: @@ -144,7 +144,7 @@ async def register_storage_namespace( BackendAIGQLMeta( added_version="25.15.0", description="Unregisters an existing namespace from a storage" ) -) # type: ignore[misc] +) async def unregister_storage_namespace( input: UnregisterStorageNamespaceInput, info: Info[StrawberryGQLContext] ) -> UnregisterStorageNamespacePayload: diff --git a/src/ai/backend/manager/api/gql/user/resolver/mutation.py b/src/ai/backend/manager/api/gql/user/resolver/mutation.py index 73f360061b3..bf50cc576f9 100644 --- a/src/ai/backend/manager/api/gql/user/resolver/mutation.py +++ b/src/ai/backend/manager/api/gql/user/resolver/mutation.py @@ -67,7 +67,7 @@ added_version="26.2.0", description="Create a new user (admin only). Requires superadmin privileges. Automatically creates a default keypair for the user", ) -) # type: ignore[misc] +) async def admin_create_user_v2( info: Info[StrawberryGQLContext], input: CreateUserInputGQL, @@ -95,7 +95,7 @@ async def admin_create_user_v2( added_version="26.2.0", description="Create multiple users in bulk (admin only). Requires superadmin privileges. Each user has individual specifications", ) -) # type: ignore[misc] +) async def admin_bulk_create_users_v2( info: Info[StrawberryGQLContext], input: BulkCreateUserV2InputGQL, @@ -160,7 +160,7 @@ async def admin_bulk_create_users_v2( added_version="26.3.0", description="Update a user's information (admin only). Requires superadmin privileges. Only provided fields will be updated", ) -) # type: ignore[misc] +) async def admin_update_user_v2( info: Info[StrawberryGQLContext], user_id: UUID, @@ -190,7 +190,7 @@ async def admin_update_user_v2( added_version="26.3.0", description="Update multiple users in bulk (admin only). Requires superadmin privileges. Each user has individual update specifications", ) -) # type: ignore[misc] +) async def admin_bulk_update_users_v2( info: Info[StrawberryGQLContext], input: BulkUpdateUserV2InputGQL, @@ -319,7 +319,7 @@ async def admin_bulk_update_users_v2( added_version="26.2.0", description="Update the current user's information. Users can only update their own profile. Some fields may be restricted based on user role", ) -) # type: ignore[misc] +) async def update_user_v2( info: Info[StrawberryGQLContext], input: UpdateUserV2InputGQL, @@ -352,7 +352,7 @@ async def update_user_v2( added_version="26.2.0", description="Soft-delete a user (admin only). Requires superadmin privileges. Sets the user status to DELETED but preserves data", ) -) # type: ignore[misc] +) async def admin_delete_user_v2( info: Info[StrawberryGQLContext], user_id: UUID, @@ -380,7 +380,7 @@ async def admin_delete_user_v2( added_version="26.2.0", description="Soft-delete multiple users (admin only). Requires superadmin privileges. Sets user status to DELETED but preserves data", ) -) # type: ignore[misc] +) async def admin_delete_users_v2( info: Info[StrawberryGQLContext], input: DeleteUsersInputGQL, @@ -413,7 +413,7 @@ async def admin_delete_users_v2( added_version="26.2.0", description="Permanently delete a user and all associated data (admin only). Requires superadmin privileges. This action is IRREVERSIBLE. All user data, sessions, and resources will be deleted", ) -) # type: ignore[misc] +) async def admin_purge_user_v2( info: Info[StrawberryGQLContext], input: PurgeUserInputGQL, @@ -453,7 +453,7 @@ async def admin_purge_user_v2( added_version="26.3.0", description="Permanently delete multiple users in bulk (admin only). Requires superadmin privileges. This action is IRREVERSIBLE. All user data will be deleted", ) -) # type: ignore[misc] +) async def admin_bulk_purge_users_v2( info: Info[StrawberryGQLContext], input: BulkPurgeUsersV2InputGQL, @@ -513,7 +513,7 @@ async def admin_bulk_purge_users_v2( added_version="26.4.0", description="Update the current user's allowed client IP list. Set allowed_client_ip to null to remove all IP restrictions. When force is false, the operation fails if the current request IP would be excluded by the new allowlist (lockout prevention)", ) -) # type: ignore[misc] +) async def update_my_allowed_client_ip( info: Info[StrawberryGQLContext], input: UpdateMyAllowedClientIPInputGQL, diff --git a/src/ai/backend/manager/api/gql/user/resolver/query.py b/src/ai/backend/manager/api/gql/user/resolver/query.py index 1714c95ffe9..aed2cab9850 100644 --- a/src/ai/backend/manager/api/gql/user/resolver/query.py +++ b/src/ai/backend/manager/api/gql/user/resolver/query.py @@ -39,7 +39,7 @@ added_version="26.2.0", description="Get a single user by UUID (admin only). Requires superadmin privileges. Returns an error if user is not found.", ) -) # type: ignore[misc] +) async def admin_user_v2( info: Info[StrawberryGQLContext], user_id: UUID, @@ -54,7 +54,7 @@ async def admin_user_v2( added_version="26.2.0", description="List all users with filtering and pagination (admin only). Requires superadmin privileges.", ) -) # type: ignore[misc] +) async def admin_users_v2( info: Info[StrawberryGQLContext], filter: UserFilterGQL | None = None, @@ -98,7 +98,7 @@ async def admin_users_v2( added_version="26.2.0", description="List users within a specific domain. Requires domain admin privileges or higher.", ) -) # type: ignore[misc] +) async def domain_users_v2( info: Info[StrawberryGQLContext], scope: DomainUserScopeGQL, @@ -143,7 +143,7 @@ async def domain_users_v2( added_version="26.2.0", description="List users within a specific project. Requires project membership or higher privileges.", ) -) # type: ignore[misc] +) async def project_users_v2( info: Info[StrawberryGQLContext], scope: ProjectUserScopeGQL, @@ -188,7 +188,7 @@ async def project_users_v2( added_version="26.2.0", description="Get the current authenticated user's information. Returns the user associated with the current session. Returns an error if not authenticated.", ) -) # type: ignore[misc] +) async def my_user_v2( info: Info[StrawberryGQLContext], ) -> UserV2GQL | None: @@ -207,7 +207,7 @@ async def my_user_v2( added_version=NEXT_RELEASE_VERSION, description="Get the current client's IP address as seen by the server. Useful for configuring IP allowlists.", ) -) # type: ignore[misc] +) async def my_client_ip( info: Info[StrawberryGQLContext], ) -> MyClientIpGQL: diff --git a/src/ai/backend/manager/api/gql/user/types/node.py b/src/ai/backend/manager/api/gql/user/types/node.py index 7465be3c626..93e5d3dc52f 100644 --- a/src/ai/backend/manager/api/gql/user/types/node.py +++ b/src/ai/backend/manager/api/gql/user/types/node.py @@ -111,7 +111,7 @@ class UserV2GQL(PydanticNodeMixin[UserNode]): @gql_field( description="Fair share record for this user in the specified resource group and project. Returns the scheduling priority configuration for this user. Always returns an object, even if no explicit configuration exists (in which case default values are used)." - ) # type: ignore[misc] + ) async def fair_share( self, info: Info, @@ -134,7 +134,7 @@ async def fair_share( @gql_field( description="Usage buckets for this user, filtered by resource group and project. Returns aggregated resource usage statistics over time." - ) # type: ignore[misc] + ) async def usage_buckets( self, info: Info, @@ -193,7 +193,7 @@ async def usage_buckets( count=payload.total_count, ) - @gql_field(description="The domain this user belongs to.") # type: ignore[misc] + @gql_field(description="The domain this user belongs to.") async def domain( self, info: Info, @@ -211,7 +211,7 @@ async def domain( ) return domain - @gql_field(description="Projects this user is a member of.") # type: ignore[misc] + @gql_field(description="Projects this user is a member of.") async def projects( self, info: Info, diff --git a/src/ai/backend/manager/api/gql/vfolder.py b/src/ai/backend/manager/api/gql/vfolder.py index 8a199df3b28..010f6e10a84 100644 --- a/src/ai/backend/manager/api/gql/vfolder.py +++ b/src/ai/backend/manager/api/gql/vfolder.py @@ -45,7 +45,7 @@ class ExtraVFolderMount(PydanticNodeMixin[Any]): mount_destination: str vfolder_id: ID - @gql_field(description="The vfolder of this entity.") # type: ignore[misc] + @gql_field(description="The vfolder of this entity.") async def vfolder(self, info: Info[StrawberryGQLContext]) -> VFolder: vfolder_global_id = AsyncNode.to_global_id("VirtualFolderNode", str(self.vfolder_id)) return VFolder(id=ID(vfolder_global_id)) diff --git a/src/ai/backend/manager/api/gql/vfolder_v2/resolver/query.py b/src/ai/backend/manager/api/gql/vfolder_v2/resolver/query.py index 2b8520e8220..b872ba9ca9b 100644 --- a/src/ai/backend/manager/api/gql/vfolder_v2/resolver/query.py +++ b/src/ai/backend/manager/api/gql/vfolder_v2/resolver/query.py @@ -29,7 +29,7 @@ added_version=NEXT_RELEASE_VERSION, description="List virtual folders within a specific project.", ) -) # type: ignore[misc] +) async def project_vfolders( info: Info[StrawberryGQLContext], project_id: UUID, @@ -75,7 +75,7 @@ async def project_vfolders( added_version=NEXT_RELEASE_VERSION, description="Search virtual folders accessible to the current user with pagination and filtering.", ) -) # type: ignore[misc] +) async def my_vfolders( info: Info[StrawberryGQLContext], filter: VFolderFilterGQL | None = None, diff --git a/src/ai/backend/manager/api/gql/vfolder_v2/types/nested.py b/src/ai/backend/manager/api/gql/vfolder_v2/types/nested.py index 35f9988aa23..81e9008e6d7 100644 --- a/src/ai/backend/manager/api/gql/vfolder_v2/types/nested.py +++ b/src/ai/backend/manager/api/gql/vfolder_v2/types/nested.py @@ -115,7 +115,7 @@ class VFolderOwnershipInfoGQL: description="Email of the user who originally created this virtual folder.", ) - @gql_field(description="The user who owns this virtual folder. Null for project-owned folders.") # type: ignore[misc] + @gql_field(description="The user who owns this virtual folder. Null for project-owned folders.") async def user( self, info: Info[StrawberryGQLContext], @@ -131,7 +131,7 @@ async def user( @gql_field( description="The project that owns this virtual folder. Null for user-owned folders." - ) # type: ignore[misc] + ) async def project( self, info: Info[StrawberryGQLContext], @@ -145,7 +145,7 @@ async def project( # Defer to data loader when wired; stub returns None for now. return None - @gql_field(description="The user who originally created this virtual folder.") # type: ignore[misc] + @gql_field(description="The user who originally created this virtual folder.") async def creator( self, info: Info[StrawberryGQLContext], diff --git a/src/ai/backend/manager/api/gql/vfs_storage.py b/src/ai/backend/manager/api/gql/vfs_storage.py index db226472103..c8c56dc4320 100644 --- a/src/ai/backend/manager/api/gql/vfs_storage.py +++ b/src/ai/backend/manager/api/gql/vfs_storage.py @@ -85,18 +85,18 @@ async def resolve_nodes( # type: ignore[override] # Strawberry Node uses Await ), ) class VFSStorageConnection(Connection[VFSStorage]): - @gql_field(description="The count of this entity.") # type: ignore[misc] + @gql_field(description="The count of this entity.") def count(self) -> int: return len(self.edges) -@gql_root_field(BackendAIGQLMeta(added_version="25.16.0", description="Get a VFS storage by ID")) # type: ignore[misc] +@gql_root_field(BackendAIGQLMeta(added_version="25.16.0", description="Get a VFS storage by ID")) async def vfs_storage(id: ID, info: Info[StrawberryGQLContext]) -> VFSStorage | None: node = await info.context.adapters.vfs_storage.get(uuid.UUID(id)) return VFSStorage.from_pydantic(node) -@gql_root_field(BackendAIGQLMeta(added_version="25.16.0", description="List all VFS storages")) # type: ignore[misc] +@gql_root_field(BackendAIGQLMeta(added_version="25.16.0", description="List all VFS storages")) async def vfs_storages( info: Info[StrawberryGQLContext], before: str | None = None, @@ -187,7 +187,7 @@ class DeleteVFSStoragePayload(PydanticOutputMixin[DeleteVFSStoragePayloadDTO]): @gql_mutation( BackendAIGQLMeta(added_version="25.16.0", description="Create a new VFS storage"), name="createVFSStorage", -) # type: ignore[misc] +) async def create_vfs_storage( input: CreateVFSStorageInput, info: Info[StrawberryGQLContext] ) -> CreateVFSStoragePayload: @@ -198,7 +198,7 @@ async def create_vfs_storage( @gql_mutation( BackendAIGQLMeta(added_version="25.16.0", description="Update an existing VFS storage"), name="updateVFSStorage", -) # type: ignore[misc] +) async def update_vfs_storage( input: UpdateVFSStorageInput, info: Info[StrawberryGQLContext] ) -> UpdateVFSStoragePayload: @@ -209,7 +209,7 @@ async def update_vfs_storage( @gql_mutation( BackendAIGQLMeta(added_version="25.16.0", description="Delete a VFS storage"), name="deleteVFSStorage", -) # type: ignore[misc] +) async def delete_vfs_storage( input: DeleteVFSStorageInput, info: Info[StrawberryGQLContext] ) -> DeleteVFSStoragePayload: From 298cf90518a50c56eac5e63e2d33c5b8a83afc12 Mon Sep 17 00:00:00 2001 From: Jeongseok Kang Date: Wed, 1 Apr 2026 16:36:34 +0900 Subject: [PATCH 21/24] fix: use explicit imports for sqlalchemy.ext.asyncio MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replace `sa.ext.asyncio.AsyncConnection` and `sa.ext.asyncio.create_async_engine` with direct imports — mypy cannot resolve attribute access on `sa.ext` subpackage. Co-Authored-By: Claude Opus 4.6 (1M context) --- .../manager/repositories/auth/db_source/db_source.py | 7 ++++--- tests/unit/manager/health/test_database.py | 5 +++-- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/ai/backend/manager/repositories/auth/db_source/db_source.py b/src/ai/backend/manager/repositories/auth/db_source/db_source.py index b1fa22001cb..7377664714d 100644 --- a/src/ai/backend/manager/repositories/auth/db_source/db_source.py +++ b/src/ai/backend/manager/repositories/auth/db_source/db_source.py @@ -9,6 +9,7 @@ from uuid import UUID import sqlalchemy as sa +from sqlalchemy.ext.asyncio import AsyncConnection from sqlalchemy.orm import joinedload, selectinload from ai.backend.common.exception import BackendAIError, UserNotFound @@ -317,7 +318,7 @@ async def fetch_user_uuid_by_email(self, email: str, domain_name: str) -> UUID | async def _check_password( self, - conn: sa.ext.asyncio.AsyncConnection, + conn: AsyncConnection, row: sa.Row[Any], target_password_info: PasswordInfo, ) -> None: @@ -332,7 +333,7 @@ async def _check_password( async def _migrate_password_hash( self, - conn: sa.ext.asyncio.AsyncConnection, + conn: AsyncConnection, row: sa.Row[Any], domain_name: str, email: str, @@ -349,7 +350,7 @@ async def _migrate_password_hash( async def _record_login_history( self, - conn: sa.ext.asyncio.AsyncConnection, + conn: AsyncConnection, user_id: UUID, domain_name: str, result: LoginAttemptResult, diff --git a/tests/unit/manager/health/test_database.py b/tests/unit/manager/health/test_database.py index 804dc23cce3..653c87983f0 100644 --- a/tests/unit/manager/health/test_database.py +++ b/tests/unit/manager/health/test_database.py @@ -4,6 +4,7 @@ import pytest import sqlalchemy as sa +from sqlalchemy.ext.asyncio import create_async_engine from ai.backend.common.health_checker.types import CID_POSTGRES from ai.backend.common.typed_validators import HostPortPair @@ -49,7 +50,7 @@ async def test_success( async def test_timeout_property(self) -> None: """Test that timeout property returns the correct value.""" # Create a dummy engine (won't be used for actual connection) - dummy_engine = sa.ext.asyncio.create_async_engine( + dummy_engine = create_async_engine( "postgresql+asyncpg://invalid:invalid@localhost:99999/invalid", echo=False, ) @@ -84,7 +85,7 @@ async def test_multiple_checks( async def test_invalid_connection(self) -> None: """Test health check failure with invalid database connection.""" # Create engine with invalid connection string - invalid_engine = sa.ext.asyncio.create_async_engine( + invalid_engine = create_async_engine( "postgresql+asyncpg://invalid:invalid@localhost:99999/invalid", echo=False, ) From 1f59c0aa9c39d95b05e633c1bdf5d870b49f744e Mon Sep 17 00:00:00 2001 From: Jeongseok Kang Date: Wed, 1 Apr 2026 17:01:40 +0900 Subject: [PATCH 22/24] fix: remove unused sqlalchemy import in test_database.py Co-Authored-By: Claude Opus 4.6 (1M context) --- tests/unit/manager/health/test_database.py | 1 - 1 file changed, 1 deletion(-) diff --git a/tests/unit/manager/health/test_database.py b/tests/unit/manager/health/test_database.py index 653c87983f0..01a7ba63648 100644 --- a/tests/unit/manager/health/test_database.py +++ b/tests/unit/manager/health/test_database.py @@ -3,7 +3,6 @@ from collections.abc import AsyncIterator import pytest -import sqlalchemy as sa from sqlalchemy.ext.asyncio import create_async_engine from ai.backend.common.health_checker.types import CID_POSTGRES From 2a0e4895c2b5d385fe5a3b80be84465c1ff3635c Mon Sep 17 00:00:00 2001 From: Jeongseok Kang Date: Wed, 1 Apr 2026 17:53:18 +0900 Subject: [PATCH 23/24] fix: use minor version in uv helper scripts for broader compatibility Use `PYVER="3.14"` instead of `PYVER="3.14.3"` in pyscript.sh and python.sh so that uv can resolve to the best available 3.14.x interpreter even when its download registry doesn't have the exact patch version yet. Co-Authored-By: Claude Opus 4.6 (1M context) --- scripts/pyscript.sh | 2 +- scripts/python.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/pyscript.sh b/scripts/pyscript.sh index d1f1dbb702e..319cc9356c7 100755 --- a/scripts/pyscript.sh +++ b/scripts/pyscript.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash set -euo pipefail -PYVER="3.14.3" +PYVER="3.14" if ! command -v uv >/dev/null 2>&1; then curl -LsSf https://astral.sh/uv/install.sh | sh if [ $SHELL = "/bin/fish" ]; then diff --git a/scripts/python.sh b/scripts/python.sh index 50992b855ab..be0b637c2e6 100755 --- a/scripts/python.sh +++ b/scripts/python.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash set -euo pipefail -PYVER="3.14.3" +PYVER="3.14" if ! command -v uv >/dev/null 2>&1; then curl -LsSf https://astral.sh/uv/install.sh | sh if [ $SHELL = "/bin/fish" ]; then From 05171e3a2211142a402f63ca8b781eeb7ac08dd3 Mon Sep 17 00:00:00 2001 From: Jeongseok Kang Date: Wed, 1 Apr 2026 18:03:20 +0900 Subject: [PATCH 24/24] doc: update Pantsbuild version references to 2.29.x Align README version table and "Current main branch" section with the actual pants_version = "2.29.0" in pants.toml. Co-Authored-By: Claude Opus 4.6 (1M context) --- src/ai/backend/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ai/backend/README.md b/src/ai/backend/README.md index ee15b243693..4b37b89cc6f 100644 --- a/src/ai/backend/README.md +++ b/src/ai/backend/README.md @@ -277,7 +277,7 @@ Backend.AI requires specific Python and Pantsbuild versions for each release: | Backend.AI Version | Python Version | Pantsbuild Version | |:------------------|:--------------|:-------------------| -| 25.06.x ~ (main) | 3.14.x | 2.27.x | +| 25.06.x ~ (main) | 3.14.x | 2.29.x | | 24.03.x ~ 25.05.x | 3.12.x | 2.21.x | | 23.03.x / 23.09.x | 3.11.x | 2.19.x | | 22.03.x / 22.09.x | 3.10.x | - | @@ -285,7 +285,7 @@ Backend.AI requires specific Python and Pantsbuild versions for each release: **Current main branch**: - Python: CPython 3.14.3 -- Pantsbuild: 2.27.0 +- Pantsbuild: 2.29.0 - Versions defined in `pants.toml` ### Build System