diff --git a/README.md b/README.md index b4c961bbb53..c045845c765 100644 --- a/README.md +++ b/README.md @@ -22,8 +22,8 @@ Requirements ### Python & Build Tools -- **Python**: 3.13.x (main branch requires CPython 3.13.7) -- **Pantsbuild**: 2.27.x +- **Python**: 3.14.x (main branch requires CPython 3.14.3) +- **Pantsbuild**: 2.29.x - See [full version compatibility table](src/ai/backend/README.md#development-setup) ### Infrastructure 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) diff --git a/docs/dev/daily-workflows.rst b/docs/dev/daily-workflows.rst index a3b32987078..b0cba6635b0 100644 --- a/docs/dev/daily-workflows.rst +++ b/docs/dev/daily-workflows.rst @@ -215,7 +215,7 @@ For example, the Ruff executable is exported as ``dist/export/bin/ruff``. Other tools that require Python virtualenv (e.g., Mypy) are still exported as virtualenvs. For Pantsbuild 2.23 or older, the tool binaries are exported as regular Python virtualenvs like -``dist/export/python/virtualenvs/ruff/3.13.7/bin/ruff``. +``dist/export/python/virtualenvs/ruff/3.14.3/bin/ruff``. Currently we have the following Python tools to configure in this way: @@ -279,7 +279,7 @@ Set the following keys in the workspace settings to configure Python tools: * - Setting ID - Example value * - ``mypy-type-checker.interpreter`` - - ``["/abs/path/to/dist/export/python/virtualenvs/mypy/3.13.7/bin/python"]`` (use the absolute path) + - ``["/abs/path/to/dist/export/python/virtualenvs/mypy/3.14.3/bin/python"]`` (use the absolute path) * - ``mypy-type-checker.importStrategy`` - ``"fromEnvironment"`` * - ``ruff.path`` @@ -313,7 +313,7 @@ Then put the followings in ``.vimrc`` (or ``.nvimrc`` for NeoVim) in the build r .. code-block:: vim let s:cwd = getcwd() - let g:ale_python_mypy_executable = s:cwd . '/dist/export/python/virtualenvs/mypy/3.13.7/bin/mypy' + let g:ale_python_mypy_executable = s:cwd . '/dist/export/python/virtualenvs/mypy/3.14.3/bin/mypy' let g:ale_python_ruff_executable = s:cwd . '/dist/export/bin/ruff' let g:ale_linters = { "python": ['ruff', 'mypy'] } let g:ale_fixers = {'python': ['ruff']} @@ -330,10 +330,10 @@ as basedpyright shares most configurations with pyright). { "coc.preferences.formatOnType": true, "coc.preferences.formatOnSaveFiletypes": ["python"], - "python.pythonPath": "dist/export/python/virtualenvs/python-default/3.13.7/bin/python", - "python.analysis.extraPaths": ["dist/export/python/virtualenvs/pytest/3.13.7/lib/python3.13/site-packages"], + "python.pythonPath": "dist/export/python/virtualenvs/python-default/3.14.3/bin/python", + "python.analysis.extraPaths": ["dist/export/python/virtualenvs/pytest/3.14.3/lib/python3.14/site-packages"], "python.linting.mypyEnabled": true, - "python.linting.mypyPath": "dist/export/python/virtualenvs/mypy/3.13.7/bin/mypy", + "python.linting.mypyPath": "dist/export/python/virtualenvs/mypy/3.14.3/bin/mypy", "python.linting.ruffEnabled": true, "python.linting.ruffPath": "dist/export/bin/ruff", "python.formatting.provider": "ruff", @@ -345,10 +345,10 @@ as basedpyright shares most configurations with pyright). { "coc.preferences.formatOnType": true, "coc.preferences.formatOnSaveFiletypes": ["python"], - "python.pythonPath": "dist/export/python/virtualenvs/python-default/3.13.7/bin/python", - "python.analysis.extraPaths": ["dist/export/python/virtualenvs/pytest/3.13.7/lib/python3.13/site-packages"], + "python.pythonPath": "dist/export/python/virtualenvs/python-default/3.14.3/bin/python", + "python.analysis.extraPaths": ["dist/export/python/virtualenvs/pytest/3.14.3/lib/python3.14/site-packages"], "python.linting.mypyEnabled": true, - "python.linting.mypyPath": "dist/export/python/virtualenvs/mypy/3.13.7/bin/mypy", + "python.linting.mypyPath": "dist/export/python/virtualenvs/mypy/3.14.3/bin/mypy", "python.linting.ruffEnabled": false, // delegate to coc-ruff "python.formatting.provider": "none", // delegate to coc-ruff "pyright.organizeimports.provider": "none", // delegate to coc-ruff @@ -725,7 +725,7 @@ Making a new release line, e.g., using ``set noeol`` in Vim. This is also configured in ``./editorconfig``) -* Run ``LOCKSET=towncrier/3.13.7 ./py -m towncrier`` to auto-generate the changelog. +* Run ``LOCKSET=towncrier/3.14.3 ./py -m towncrier`` to auto-generate the changelog. - You may append ``--draft`` to see a preview of the changelog update without actually modifying the filesystem. diff --git a/docs/install/install-from-package/os-preparation.rst b/docs/install/install-from-package/os-preparation.rst index bd95b899e80..4f97125a377 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/20260325/cpython-3.14.3+20260325-x86_64-unknown-linux-gnu-install_only.tar.gz" > cpython-3.14.3+20260325-x86_64-unknown-linux-gnu-install_only.tar.gz + $ tar -xf "cpython-3.14.3+20260325-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.3" 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: @@ -145,7 +145,7 @@ virtual environment for Backend.AI Manager and activate it, for example, you may $ mkdir "${HOME}/manager" $ cd "${HOME}/manager" - $ ~/.static-python/versions/3.13.3/bin/python3 -m venv .venv + $ ~/.static-python/versions/3.14.3/bin/python3 -m venv .venv $ source .venv/bin/activate $ pip install -U pip setuptools wheel diff --git a/docs/manager/graphql-reference/supergraph.graphql b/docs/manager/graphql-reference/supergraph.graphql index cc4a657ab58..1e053ad6b06 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 @@ -7011,10 +7011,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 fe3f6353660..88e97ee8246 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 diff --git a/pants.toml b/pants.toml index c2a345b9700..14b0b89f2ca 100644 --- a/pants.toml +++ b/pants.toml @@ -56,7 +56,8 @@ 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.3"] +interpreter_versions_universe = ["3.11", "3.12", "3.13", "3.14"] tailor_pex_binary_targets = false pip_version = "25.3" @@ -107,13 +108,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/pyproject.toml b/pyproject.toml index f120e44b814..34978ff4a54 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,5 +1,5 @@ [project] -requires-python = "~=3.13.7" +requires-python = "~=3.14.3" name = "backend.ai" dynamic = ["version"] @@ -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"] @@ -328,8 +329,8 @@ strict = true mypy_path = "stubs:src" namespace_packages = true explicit_package_bases = true -python_executable = "dist/export/python/virtualenvs/python-default/3.13.7/bin/python" -disable_error_code = ["typeddict-unknown-key", "import-untyped"] +python_executable = "dist/export/python/virtualenvs/python-default/3.14.3/bin/python" +disable_error_code = ["typeddict-unknown-key", "import-untyped", "untyped-decorator"] enable_error_code = ["possibly-undefined"] warn_unreachable = true @@ -381,7 +382,7 @@ module = [ ignore_errors = true [tool.pyright] -pythonVersion = "3.13" +pythonVersion = "3.14" extraPaths = ["src"] include = [ "src", @@ -395,7 +396,7 @@ exclude = [ "src/ai/backend/web/static", ] venvPath = "dist/export/python/virtualenvs/python-default" -venv = "3.13.7" +venv = "3.14.3" typeCheckingMode = "standard" reportMatchNotExhaustive = "error" diff --git a/python-kernel.lock b/python-kernel.lock index ac1853463e7..93394d1fdbc 100644 --- a/python-kernel.lock +++ b/python-kernel.lock @@ -6,7 +6,7 @@ // { // "version": 4, // "valid_for_interpreter_constraints": [ -// "CPython==3.13.7" +// "CPython==3.14.3" // ], // "generated_with_requirements": [ // "attrs~=23.2", @@ -83,53 +83,88 @@ "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": "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": "f93fd8e5c8c0a4aa1f424d6173f14a892044054871c771f8566e4008eaa359d2", - "url": "https://files.pythonhosted.org/packages/f2/7f/e6647792fc5850d634695bc0e6ab4111ae88e89981d35ac269956605feba/cffi-2.0.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl" + "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", @@ -234,13 +269,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": "fffee09044073e69f2bad787071aeec727183e7580443dfeb8556cbf1978d162", - "url": "https://files.pythonhosted.org/packages/38/f8/4398c46863b093252fe67368b44edc6c13b17f4e6b0e4929dbf0bdb13f23/msgpack-1.1.2-cp313-cp313-musllinux_1_2_aarch64.whl" + "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": "04fb995247a6e83830b62f0b07bf36540c213f6eac8e851166d8d86d83cbd014", + "url": "https://files.pythonhosted.org/packages/3b/ef/2b92e286366500a09a67e03496ee8b8ba00562797a52f3c117aa2b29514b/msgpack-1.1.2-cp314-cp314-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", @@ -249,23 +309,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", @@ -277,48 +342,37 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "d03afa3963c806a9bed9d5125c8f4cb2fdaf74a55ab60e5d59b3fde758104d31", - "url": "https://files.pythonhosted.org/packages/cb/28/3bfe2fa5a7b9c46fe7e13c97bda14c895fb10fa2ebf1d0abb90e0cea7ee1/platformdirs-4.5.1-py3-none-any.whl" + "hash": "68a9a4619a666ea6439f2ff250c12a853cd1cbd5158d258bd824a7df6be2f868", + "url": "https://files.pythonhosted.org/packages/63/d7/97f7e3a6abb67d8080dd406fd4df842c2be0efaf712d1c899c32a075027c/platformdirs-4.9.4-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "61d5cdcc6065745cdd94f0f878977f8de9437be93de97c1c12f853c9c0cdcbda", - "url": "https://files.pythonhosted.org/packages/cf/86/0248f086a84f01b37aaec0fa567b397df1a119f73c16f6c7a9aac73ea309/platformdirs-4.5.1.tar.gz" + "hash": "1ec356301b7dc906d83f371c8f487070e99d3ccf9e501686456394622a01a934", + "url": "https://files.pythonhosted.org/packages/19/56/8d4c30c8a1d07013911a8fdbd8f89440ef9f08d07a1b50ab8ca8be5a20f9/platformdirs-4.9.4.tar.gz" } ], "project_name": "platformdirs", - "requires_dists": [ - "appdirs==1.4.4; extra == \"test\"", - "covdefaults>=2.3; extra == \"test\"", - "furo>=2025.9.25; extra == \"docs\"", - "mypy>=1.18.2; extra == \"type\"", - "proselint>=0.14; 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_dists": [], "requires_python": ">=3.10", - "version": "4.5.1" + "version": "4.9.4" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "e5c6e8d3fbad53479cab09ac03729e0a9faf2bee3db8208a550daf5af81a5934", - "url": "https://files.pythonhosted.org/packages/a0/e3/59cd50310fc9b59512193629e1984c1f95e5c8ae6e5d8c69532ccc65a7fe/pycparser-2.23-py3-none-any.whl" + "hash": "b727414169a36b7d524c1c3e31839a521725078d7b2ff038656844266160a992", + "url": "https://files.pythonhosted.org/packages/0c/c3/44f3fbbfa403ea2a7c779186dc20772604442dde72947e7d01069cbe98e3/pycparser-3.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "78816d4f24add8f10a06d6f05b4d424ad9e96cfebf68a4ddc99c65c0720d00c2", - "url": "https://files.pythonhosted.org/packages/fe/cf/d2d3b9f5699fb1e4615c8e32ff220203e43b248e1dfcc6736ad9057731ca/pycparser-2.23.tar.gz" + "hash": "600f49d217304a5902ac3c37e1281c9fe94e4d0489de643a9504c5cdfdfc6b29", + "url": "https://files.pythonhosted.org/packages/1b/7d/92392ff7815c21062bea51aa7b87d45576f649f16458d78b7cf94b9ab2e6/pycparser-3.0.tar.gz" } ], "project_name": "pycparser", "requires_dists": [], - "requires_python": ">=3.8", - "version": "2.23" + "requires_python": ">=3.10", + "version": "3.0" }, { "artifacts": [ @@ -342,90 +396,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", @@ -439,88 +413,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", @@ -552,54 +526,44 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "6076d5dda368c9328ff41ab5d9dd3608e695e8225d1cd0fd1e006f05da3635a8", - "url": "https://files.pythonhosted.org/packages/10/c7/bc96917f06cbee182d44735d4ecde9c432e25b84f4c2086143013e7b9e52/tornado-6.5.4-cp39-abi3-musllinux_1_2_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "9c86b1643b33a4cd415f8d0fe53045f913bf07b4a3ef646b735a6a86047dda84", - "url": "https://files.pythonhosted.org/packages/27/07/2273972f69ca63dbc139694a3fc4684edec3ea3f9efabf77ed32483b875c/tornado-6.5.4-cp39-abi3-musllinux_1_2_aarch64.whl" + "hash": "36abed1754faeb80fbd6e64db2758091e1320f6bba74a4cf8c09cd18ccce8aca", + "url": "https://files.pythonhosted.org/packages/82/9e/656ee4cec0398b1d18d0f1eb6372c41c6b889722641d84948351ae19556d/tornado-6.5.5-cp39-abi3-musllinux_1_2_x86_64.whl" }, { "algorithm": "sha256", - "hash": "a22fa9047405d03260b483980635f0b041989d8bcc9a313f8fe18b411d84b1d7", - "url": "https://files.pythonhosted.org/packages/37/1d/0a336abf618272d53f62ebe274f712e213f5a03c0b2339575430b8362ef2/tornado-6.5.4.tar.gz" + "hash": "435319e9e340276428bbdb4e7fa732c2d399386d1de5686cb331ec8eee754f07", + "url": "https://files.pythonhosted.org/packages/34/01/74e034a30ef59afb4097ef8659515e96a39d910b712a89af76f5e4e1f93c/tornado-6.5.5-cp39-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" }, { "algorithm": "sha256", - "hash": "e5fb5e04efa54cf0baabdd10061eb4148e0be137166146fff835745f59ab9f7f", - "url": "https://files.pythonhosted.org/packages/50/d4/e51d52047e7eb9a582da59f32125d17c0482d065afd5d3bc435ff2120dc5/tornado-6.5.4-cp39-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + "hash": "487dc9cc380e29f58c7ab88f9e27cdeef04b2140862e5076a66fb6bb68bb1bfa", + "url": "https://files.pythonhosted.org/packages/59/8c/77f5097695f4dd8255ecbd08b2a1ed8ba8b953d337804dd7080f199e12bf/tornado-6.5.5-cp39-abi3-macosx_10_9_universal2.whl" }, { "algorithm": "sha256", - "hash": "50ff0a58b0dc97939d29da29cd624da010e7f804746621c78d14b80238669335", - "url": "https://files.pythonhosted.org/packages/8e/9d/1a3338e0bd30ada6ad4356c13a0a6c35fbc859063fa7eddb309183364ac1/tornado-6.5.4-cp39-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" + "hash": "65a7f1d46d4bb41df1ac99f5fcb685fb25c7e61613742d5108b010975a9a6521", + "url": "https://files.pythonhosted.org/packages/ab/5e/7625b76cd10f98f1516c36ce0346de62061156352353ef2da44e5c21523c/tornado-6.5.5-cp39-abi3-macosx_10_9_x86_64.whl" }, { "algorithm": "sha256", - "hash": "d6241c1a16b1c9e4cc28148b1cda97dd1c6cb4fb7068ac1bedc610768dff0ba9", - "url": "https://files.pythonhosted.org/packages/ab/a9/e94a9d5224107d7ce3cc1fab8d5dc97f5ea351ccc6322ee4fb661da94e35/tornado-6.5.4-cp39-abi3-macosx_10_9_universal2.whl" + "hash": "e74c92e8e65086b338fd56333fb9a68b9f6f2fe7ad532645a290a464bcf46be5", + "url": "https://files.pythonhosted.org/packages/b2/04/7b5705d5b3c0fab088f434f9c83edac1573830ca49ccf29fb83bf7178eec/tornado-6.5.5-cp39-abi3-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl" }, { "algorithm": "sha256", - "hash": "d1cf66105dc6acb5af613c054955b8137e34a03698aa53272dbda4afe252be17", - "url": "https://files.pythonhosted.org/packages/ba/b5/206f82d51e1bfa940ba366a8d2f83904b15942c45a78dd978b599870ab44/tornado-6.5.4-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + "hash": "3f54aa540bdbfee7b9eb268ead60e7d199de5021facd276819c193c0fb28ea4e", + "url": "https://files.pythonhosted.org/packages/be/00/fe9e02c5a96429fce1a1d15a517f5d8444f9c412e0bb9eadfbe3b0fc55bf/tornado-6.5.5-cp39-abi3-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "6eb82872335a53dd063a4f10917b3efd28270b56a33db69009606a0312660a6f", - "url": "https://files.pythonhosted.org/packages/d1/83/41c52e47502bf7260044413b6770d1a48dda2f0246f95ee1384a3cd9c44a/tornado-6.5.4-cp39-abi3-musllinux_1_2_i686.whl" - }, - { - "algorithm": "sha256", - "hash": "2d50f63dda1d2cac3ae1fa23d254e16b5e38153758470e9956cbc3d813d40843", - "url": "https://files.pythonhosted.org/packages/db/7e/f7b8d8c4453f305a51f80dbb49014257bb7d28ccb4bbb8dd328ea995ecad/tornado-6.5.4-cp39-abi3-macosx_10_9_x86_64.whl" + "hash": "192b8f3ea91bd7f1f50c06955416ed76c6b72f96779b962f07f911b91e8d30e9", + "url": "https://files.pythonhosted.org/packages/f8/f1/3173dfa4a18db4a9b03e5d55325559dab51ee653763bb8745a75af491286/tornado-6.5.5.tar.gz" } ], "project_name": "tornado", "requires_dists": [], "requires_python": ">=3.9", - "version": "6.5.4" + "version": "6.5.5" }, { "artifacts": [ @@ -633,26 +597,31 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "9cf9c1c582019753b8639a081deefd7e044b9fa36bd8217f565c6c4e36ee0624", - "url": "https://files.pythonhosted.org/packages/43/0b/56961d3ba517ed0df9b3a27bfda6514f3d01b28d499d1bce9068cfe4edd1/types_python_dateutil-2.9.0.20251115-py3-none-any.whl" + "hash": "a23a50a07f6eb87e729d4cb0c2eb511c81761eeb3f505db2c1413be94aae8335", + "url": "https://files.pythonhosted.org/packages/92/c1/b661838b97453e699a215451f2e22cee750eaaf4ea4619b34bdaf01221a4/types_python_dateutil-2.9.0.20260323-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "8a47f2c3920f52a994056b8786309b43143faa5a64d4cbb2722d6addabdf1a58", - "url": "https://files.pythonhosted.org/packages/6a/36/06d01fb52c0d57e9ad0c237654990920fa41195e4b3d640830dabf9eeb2f/types_python_dateutil-2.9.0.20251115.tar.gz" + "hash": "a107aef5841db41ace381dbbbd7e4945220fc940f7a72172a0be5a92d9ab7164", + "url": "https://files.pythonhosted.org/packages/e9/02/f72df9ef5ffc4f959b83cb80c8aa03eb8718a43e563ecd99ccffe265fa89/types_python_dateutil-2.9.0.20260323.tar.gz" } ], "project_name": "types-python-dateutil", "requires_dists": [], - "requires_python": ">=3.9", - "version": "2.9.0.20251115" + "requires_python": ">=3.10", + "version": "2.9.0.20260323" }, { "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", @@ -661,28 +630,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": "3879b88423ec7e97cd4eba2a443aa26ed4e59b45e6b76aabf13fe2f27023a142", + "url": "https://files.pythonhosted.org/packages/90/cd/b62bdeaa429758aee8de8b00ac0dd26593a9de93d302bff3d21439e9791d/uvloop-0.22.1-cp314-cp314-macosx_10_13_universal2.whl" + }, + { + "algorithm": "sha256", + "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": "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": "561577354eb94200d75aca23fbde86ee11be36b00e52a4eaf8f50fb0c86b7705", - "url": "https://files.pythonhosted.org/packages/89/8c/182a2a593195bfd39842ea68ebc084e20c850806117213f5a299dfc513d9/uvloop-0.22.1-cp313-cp313-macosx_10_13_universal2.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": "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": "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": "1cdf5192ab3e674ca26da2eada35b288d2fa49fdd0f357a19f0e7c4e7d5077c8", - "url": "https://files.pythonhosted.org/packages/d2/14/e301ee96a6dc95224b6f1162cd3312f6d1217be3907b79173b06785f2fe7/uvloop-0.22.1-cp313-cp313-macosx_10_13_x86_64.whl" + "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": "bc5ef13bbc10b5335792360623cc378d52d7e62c2de64660616478c32cd0598e", - "url": "https://files.pythonhosted.org/packages/d2/53/8369e5219a5855869bcee5f4d317f6da0e2c669aecf0ef7d371e3d084449/uvloop-0.22.1-cp313-cp313-musllinux_1_2_aarch64.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", @@ -725,7 +719,7 @@ "uvloop~=0.19" ], "requires_python": [ - "CPython==3.13.7" + "CPython==3.14.3" ], "resolver_version": "pip-2020-resolver", "style": "universal", diff --git a/python.lock b/python.lock index 1ca7c1ad0e3..0f7a3e5d4b7 100644 --- a/python.lock +++ b/python.lock @@ -6,7 +6,7 @@ // { // "version": 4, // "valid_for_interpreter_constraints": [ -// "CPython==3.13.7" +// "CPython==3.14.3" // ], // "generated_with_requirements": [ // "Jinja2~=3.1.6", @@ -15,38 +15,38 @@ // "SQLAlchemy[postgresql_asyncpg]~=2.0.45", // "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_remotes~=1.3.0", -// "aiohttp_sse>=2.2", +// "aiohttp_sse~=2.2", // "aiohttp~=3.13.3", // "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", -// "authlib>=1.3.2", +// "asyncpg~=0.31.0", +// "asynctest~=0.13.0", +// "asyncudp~=0.11", +// "authlib~=1.3.2", +// "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.5.1", // "faker~=24.7.1", @@ -56,57 +56,58 @@ // "graphql-relay~=3.2.0", // "graypy==2.1.0", // "habana-pyhlml~=1.22.1.6", -// "hiredis>=3.0.0", -// "httpx>=0.27.0", +// "hiredis~=3.3.0", +// "httpx~=0.27.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", +// "networkx~=3.6.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.10.16", -// "packaging>=24.1", +// "orjson~=3.11.0", +// "packaging~=24.2", // "pexpect~=4.8", // "prometheus-client~=0.21.1", // "psutil~=7.0", // "pycares~=4.11.0", // "pycryptodome>=3.20.0", -// "pydantic[email]~=2.11.3", +// "pydantic[email]~=2.12.0", // "pyhumps~=3.8.0", // "pyotp~=2.9.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~=8.3.3", +// "python-dateutil~=2.9", // "python-dotenv~=0.20.0", // "python-json-logger~=3.2.0", // "pyzmq~=26.4", // "redis[hiredis]~=7.1.0", // "rich~=13.6", // "ruamel.yaml~=0.18.10", -// "setproctitle~=1.3.5", +// "setproctitle~=1.3.7", // "setuptools~=80.0.0", -// "strawberry-graphql~=0.314.0", +// "sniffio~=1.3.1", +// "strawberry-graphql~=0.287.2", // "tabulate~=0.8.9", // "temporenc~=0.1.0", -// "tenacity>=9.0", +// "tenacity~=9.0", // "testcontainers[minio,postgres,redis]~=4.13.3", // "textual~=0.79.1", // "tomli-w~=1.2.0", @@ -135,7 +136,7 @@ // "typing_extensions~=4.11", // "uvloop~=0.22.1; sys_platform != \"Windows\"", // "valkey-glide~=2.2.2", -// "yarl~=1.19.0", +// "yarl~=1.22.0", // "zipstream-new~=1.1.8" // ], // "manylinux": "manylinux2014", @@ -270,21 +271,21 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "e443c0c27b07da3174a109fd9e736d69058d808f144d3c9d56dbd1776964c5f5", - "url": "https://files.pythonhosted.org/packages/15/14/13c65b1bd59f7e707e0cc0964fbab45c003f90292ed267d159eeeeaa2224/aiodns-3.2.0-py3-none-any.whl" + "hash": "46233ccad25f2037903828c5d05b64590eaa756e51d12b4a5616e2defcbc98c7", + "url": "https://files.pythonhosted.org/packages/09/e3/9f777774ebe8f664bcd564f9de3936490a16effa82a969372161c9b0fb21/aiodns-3.6.1-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "62869b23409349c21b072883ec8998316b234c9a9e36675756e8e317e8768f72", - "url": "https://files.pythonhosted.org/packages/e7/84/41a6a2765abc124563f5380e76b9b24118977729e25a84112f8dfb2b33dc/aiodns-3.2.0.tar.gz" + "hash": "b0e9ce98718a5b8f7ca8cd16fc393163374bc2412236b91f6c851d066e3324b6", + "url": "https://files.pythonhosted.org/packages/85/2f/9d1ee4f937addda60220f47925dac6c6b3782f6851fd578987284a8d2491/aiodns-3.6.1.tar.gz" } ], "project_name": "aiodns", "requires_dists": [ - "pycares>=4.0.0" + "pycares<5,>=4.9.0" ], - "requires_python": null, - "version": "3.2.0" + "requires_python": ">=3.9", + "version": "3.6.1" }, { "artifacts": [ @@ -366,28 +367,78 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "2d6d44a5b48132053c2f6cd5c8cb14bc67e99a63594e336b0f2af81e94d5530c", - "url": "https://files.pythonhosted.org/packages/01/a4/62f05a0a98d88af59d93b7fcac564e5f18f513cb7471696ac286db970d6a/aiohttp-3.13.5-cp313-cp313-musllinux_1_2_x86_64.whl" + "hash": "3b13560160d07e047a93f23aaa30718606493036253d5430887514715b67c9d9", + "url": "https://files.pythonhosted.org/packages/78/b7/15fb7a9d52e112a25b621c67b69c167805cb1f2ab8f1708a5c490d1b52fe/aiohttp-3.13.5-cp314-cp314t-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "fee86b7c4bd29bdaf0d53d14739b08a106fdda809ca5fe032a15f52fae5fe254", + "url": "https://files.pythonhosted.org/packages/04/fb/377aead2e0a3ba5f09b7624f702a964bdf4f08b5b6728a9799830c80041e/aiohttp-3.13.5-cp314-cp314t-macosx_10_13_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "ecc26751323224cf8186efcf7fbcbc30f4e1d8c7970659daf25ad995e4032a56", + "url": "https://files.pythonhosted.org/packages/0a/33/a8362cb15cf16a3af7e86ed11962d5cd7d59b449202dc576cdc731310bde/aiohttp-3.13.5-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "2994be9f6e51046c4f864598fd9abeb4fba6e88f0b2152422c9666dcd4aea9c6", + "url": "https://files.pythonhosted.org/packages/0b/63/fb8d0ad63a0b8a99be97deac8c04dacf0785721c158bdf23d679a87aa99e/aiohttp-3.13.5-cp314-cp314t-musllinux_1_2_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "999802d5fa0389f58decd24b537c54aa63c01c3219ce17d1214cbda3c2b22d2d", - "url": "https://files.pythonhosted.org/packages/0b/93/4ca8ee2ef5236e2707e0fd5fecb10ce214aee1ff4ab307af9c558bda3b37/aiohttp-3.13.5-cp313-cp313-musllinux_1_2_riscv64.whl" + "hash": "0494a01ca9584eea1e5fbd6d748e61ecff218c51b576ee1999c23db7066417d8", + "url": "https://files.pythonhosted.org/packages/0e/b4/57712dfc6f1542f067daa81eb61da282fab3e6f1966fca25db06c4fc62d5/aiohttp-3.13.5-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" }, { "algorithm": "sha256", - "hash": "57653eac22c6a4c13eb22ecf4d673d64a12f266e72785ab1c8b8e5940d0e8090", - "url": "https://files.pythonhosted.org/packages/3b/86/b7c870053e36a94e8951b803cb5b909bfbc9b90ca941527f5fcafbf6b0fa/aiohttp-3.13.5-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" + "hash": "7e5dc4311bd5ac493886c63cbf76ab579dbe4641268e7c74e48e774c74b6f2be", + "url": "https://files.pythonhosted.org/packages/13/fe/8a2efd7626dbe6049b2ef8ace18ffda8a4dfcbe1bcff3ac30c0c7575c20b/aiohttp-3.13.5-cp314-cp314-macosx_10_13_x86_64.whl" }, { "algorithm": "sha256", - "hash": "4bb6bf5811620003614076bdc807ef3b5e38244f9d25ca5fe888eaccea2a9832", - "url": "https://files.pythonhosted.org/packages/57/00/4b7b70223deaebd9bb85984d01a764b0d7bd6526fcdc73cca83bcbe7243e/aiohttp-3.13.5-cp313-cp313-macosx_10_13_x86_64.whl" + "hash": "a8aca50daa9493e9e13c0f566201a9006f080e7c50e5e90d0b06f53146a54500", + "url": "https://files.pythonhosted.org/packages/17/d6/fd518d668a09fd5a3319ae5e984d4d80b9a4b3df4e21c52f02251ef5a32e/aiohttp-3.13.5-cp314-cp314t-musllinux_1_2_s390x.whl" }, { "algorithm": "sha256", - "hash": "ec707059ee75732b1ba130ed5f9580fe10ff75180c812bc267ded039db5128c6", - "url": "https://files.pythonhosted.org/packages/57/ae/76177b15f18c5f5d094f19901d284025db28eccc5ae374d1d254181d33f4/aiohttp-3.13.5-cp313-cp313-musllinux_1_2_s390x.whl" + "hash": "c564dd5f09ddc9d8f2c2d0a301cd30a79a2cc1b46dd1a73bef8f0038863d016b", + "url": "https://files.pythonhosted.org/packages/20/a5/f671e5cbec1c21d044ff3078223f949748f3a7f86b14e34a365d74a5d21f/aiohttp-3.13.5-cp314-cp314t-musllinux_1_2_armv7l.whl" + }, + { + "algorithm": "sha256", + "hash": "0f7a18f258d124cd678c5fe072fe4432a4d5232b0657fca7c1847f599233c83a", + "url": "https://files.pythonhosted.org/packages/23/73/bcee1c2b79bc275e964d1446c55c54441a461938e70267c86afaae6fba27/aiohttp-3.13.5-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" + }, + { + "algorithm": "sha256", + "hash": "6cf81fe010b8c17b09495cbd15c1d35afbc8fb405c0c9cf4738e5ae3af1d65be", + "url": "https://files.pythonhosted.org/packages/25/3c/734c878fb43ec083d8e31bf029daae1beafeae582d1b35da234739e82ee7/aiohttp-3.13.5-cp314-cp314t-musllinux_1_2_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "6f1cbf0c7926d315c3c26c2da41fd2b5d2fe01ac0e157b78caefc51a782196cf", + "url": "https://files.pythonhosted.org/packages/33/b9/cd6fe579bed34a906d3d783fe60f2fa297ef55b27bb4538438ee49d4dc41/aiohttp-3.13.5-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" + }, + { + "algorithm": "sha256", + "hash": "10a75acfcf794edf9d8db50e5a7ec5fc818b2a8d3f591ce93bc7b1210df016d2", + "url": "https://files.pythonhosted.org/packages/45/0c/c091ac5c3a17114bd76cbf85d674650969ddf93387876cf67f754204bd77/aiohttp-3.13.5-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl" + }, + { + "algorithm": "sha256", + "hash": "157826e2fa245d2ef46c83ea8a5faf77ca19355d278d425c29fda0beb3318037", + "url": "https://files.pythonhosted.org/packages/59/0c/bfed7f30662fcf12206481c2aac57dedee43fe1c49275e85b3a1e1742294/aiohttp-3.13.5-cp314-cp314t-musllinux_1_2_riscv64.whl" + }, + { + "algorithm": "sha256", + "hash": "eb4639f32fd4a9904ab8fb45bf3383ba71137f3d9d4ba25b3b3f3109977c5b8c", + "url": "https://files.pythonhosted.org/packages/5d/ce/46572759afc859e867a5bc8ec3487315869013f59281ce61764f76d879de/aiohttp-3.13.5-cp314-cp314-macosx_10_13_universal2.whl" + }, + { + "algorithm": "sha256", + "hash": "898703aa2667e3c5ca4c54ca36cd73f58b7a38ef87a5606414799ebce4d3fd3a", + "url": "https://files.pythonhosted.org/packages/66/1d/f31ec3f1013723b3babe3609e7f119c2c2fb6ef33da90061a705ef3e1bc8/aiohttp-3.13.5-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" }, { "algorithm": "sha256", @@ -396,53 +447,78 @@ }, { "algorithm": "sha256", - "hash": "a5029cc80718bbd545123cd8fe5d15025eccaaaace5d0eeec6bd556ad6163d61", - "url": "https://files.pythonhosted.org/packages/78/e9/d76bf503005709e390122d34e15256b88f7008e246c4bdbe915cd4f1adce/aiohttp-3.13.5-cp313-cp313-macosx_10_13_universal2.whl" + "hash": "1efb06900858bb618ff5cee184ae2de5828896c448403d51fb633f09e109be0a", + "url": "https://files.pythonhosted.org/packages/79/11/c27d9332ee20d68dd164dc12a6ecdef2e2e35ecc97ed6cf0d2442844624b/aiohttp-3.13.5-cp314-cp314t-macosx_10_13_universal2.whl" + }, + { + "algorithm": "sha256", + "hash": "8cf20a8d6868cb15a73cab329ffc07291ba8c22b1b88176026106ae39aa6df0f", + "url": "https://files.pythonhosted.org/packages/79/b3/ca078f9f2fa9563c36fb8ef89053ea2bb146d6f792c5104574d49d8acb63/aiohttp-3.13.5-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "fceedde51fbd67ee2bcc8c0b33d0126cc8b51ef3bbde2f86662bd6d5a6f10ec5", + "url": "https://files.pythonhosted.org/packages/8a/66/9d308ed71e3f2491be1acb8769d96c6f0c47d92099f3bc9119cada27b357/aiohttp-3.13.5-cp314-cp314-musllinux_1_2_riscv64.whl" + }, + { + "algorithm": "sha256", + "hash": "756c3c304d394977519824449600adaf2be0ccee76d206ee339c5e76b70ded25", + "url": "https://files.pythonhosted.org/packages/9b/91/cc8cc78a111826c54743d88651e1687008133c37e5ee615fee9b57990fac/aiohttp-3.13.5-cp314-cp314-macosx_11_0_arm64.whl" + }, + { + "algorithm": "sha256", + "hash": "330f5da04c987f1d5bdb8ae189137c77139f36bd1cb23779ca1a354a4b027800", + "url": "https://files.pythonhosted.org/packages/b7/e3/a7ad633ca1ca497b852233a3cce6906a56c3225fb6d9217b5e5e60b7419d/aiohttp-3.13.5-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl" }, { "algorithm": "sha256", - "hash": "676e5651705ad5d8a70aeb8eb6936c436d8ebbd56e63436cb7dd9bb36d2a9a46", - "url": "https://files.pythonhosted.org/packages/98/fc/bfb437a99a2fcebd6b6eaec609571954de2ed424f01c352f4b5504371dd3/aiohttp-3.13.5-cp313-cp313-musllinux_1_2_armv7l.whl" + "hash": "20058e23909b9e65f9da62b396b77dfa95965cbe840f8def6e572538b1d32e36", + "url": "https://files.pythonhosted.org/packages/bb/a6/aa109a33671f7a5d3bd78b46da9d852797c5e665bfda7d6b373f56bff2ec/aiohttp-3.13.5-cp314-cp314t-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "a84792f8631bf5a94e52d9cc881c0b824ab42717165a5579c760b830d9392ac9", - "url": "https://files.pythonhosted.org/packages/9c/f5/0fb20fb49f8efdcdce6cd8127604ad2c503e754a8f139f5e02b01626523f/aiohttp-3.13.5-cp313-cp313-macosx_11_0_arm64.whl" + "hash": "241a94f7de7c0c3b616627aaad530fe2cb620084a8b144d3be7b6ecfe95bae3b", + "url": "https://files.pythonhosted.org/packages/bd/c9/989f4034fb46841208de7aeeac2c6d8300745ab4f28c42f629ba77c2d916/aiohttp-3.13.5-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" }, { "algorithm": "sha256", - "hash": "e5e5f7debc7a57af53fdf5c5009f9391d9f4c12867049d509bf7bb164a6e295b", - "url": "https://files.pythonhosted.org/packages/b5/e5/4e161f84f98d80c03a238671b4136e6530453d65262867d989bbe78244d0/aiohttp-3.13.5-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl" + "hash": "53fc049ed6390d05423ba33103ded7281fe897cf97878f369a527070bd95795b", + "url": "https://files.pythonhosted.org/packages/c0/3f/2c1e2f5144cefa889c8afd5cf431994c32f3b29da9961698ff4e3811b79a/aiohttp-3.13.5-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" }, { "algorithm": "sha256", - "hash": "c719f65bebcdf6716f10e9eff80d27567f7892d8988c06de12bbbd39307c6e3a", - "url": "https://files.pythonhosted.org/packages/d4/56/ea11a9f01518bd5a2a2fcee869d248c4b8a0cfa0bb13401574fa31adf4d4/aiohttp-3.13.5-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" + "hash": "20ae0ff08b1f2c8788d6fb85afcb798654ae6ba0b747575f8562de738078457b", + "url": "https://files.pythonhosted.org/packages/c1/2b/cce5b0ffe0de99c83e5e36d8f828e4161e415660a9f3e58339d07cce3006/aiohttp-3.13.5-cp314-cp314-musllinux_1_2_x86_64.whl" }, { "algorithm": "sha256", - "hash": "9b16c653d38eb1a611cc898c41e76859ca27f119d25b53c12875fd0474ae31a8", - "url": "https://files.pythonhosted.org/packages/e4/b6/c8534862126191a034f68153194c389addc285a0f1347d85096d349bbc15/aiohttp-3.13.5-cp313-cp313-musllinux_1_2_ppc64le.whl" + "hash": "6e27ea05d184afac78aabbac667450c75e54e35f62238d44463131bd3f96753d", + "url": "https://files.pythonhosted.org/packages/c3/20/1e9e6650dfc436340116b7aa89ff8cb2bbdf0abc11dfaceaad8f74273a10/aiohttp-3.13.5-cp314-cp314-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "d97f93fdae594d886c5a866636397e2bcab146fd7a132fd6bb9ce182224452f8", - "url": "https://files.pythonhosted.org/packages/eb/40/333ca27fb74b0383f17c90570c748f7582501507307350a79d9f9f3c6eb1/aiohttp-3.13.5-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" + "hash": "df6104c009713d3a89621096f3e3e88cc323fd269dbd7c20afe18535094320be", + "url": "https://files.pythonhosted.org/packages/c7/ef/720e639df03004fee2d869f771799d8c23046dec47d5b81e396c7cda583a/aiohttp-3.13.5-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" }, { "algorithm": "sha256", - "hash": "7becdf835feff2f4f335d7477f121af787e3504b48b449ff737afb35869ba7bb", - "url": "https://files.pythonhosted.org/packages/ec/a6/9b3e91eb8ae791cce4ee736da02211c85c6f835f1bdfac0594a8a3b7018c/aiohttp-3.13.5-cp313-cp313-musllinux_1_2_aarch64.whl" + "hash": "c974fb66180e58709b6fc402846f13791240d180b74de81d23913abe48e96d94", + "url": "https://files.pythonhosted.org/packages/ce/75/ee1fd286ca7dc599d824b5651dad7b3be7ff8d9a7e7b3fe9820d9180f7db/aiohttp-3.13.5-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" }, { "algorithm": "sha256", - "hash": "3df334e39d4c2f899a914f1dba283c1aadc311790733f705182998c6f7cae665", - "url": "https://files.pythonhosted.org/packages/f0/d2/e2f77eef1acb7111405433c707dc735e63f67a56e176e72e9e7a2cd3f493/aiohttp-3.13.5-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" + "hash": "a79a6d399cef33a11b6f004c67bb07741d91f2be01b8d712d52c75711b1e07c7", + "url": "https://files.pythonhosted.org/packages/d8/40/8ebc6658d48ea630ac7903912fe0dd4e262f0e16825aa4c833c56c9f1f56/aiohttp-3.13.5-cp314-cp314-musllinux_1_2_armv7l.whl" }, { "algorithm": "sha256", - "hash": "fe6970addfea9e5e081401bcbadf865d2b6da045472f58af08427e108d618540", - "url": "https://files.pythonhosted.org/packages/fb/56/3f653d7f53c89669301ec9e42c95233e2a0c0a6dd051269e6e678db4fdb0/aiohttp-3.13.5-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" + "hash": "c632ce9c0b534fbe25b52c974515ed674937c5b99f549a92127c85f771a78772", + "url": "https://files.pythonhosted.org/packages/d8/78/ea0ae5ec8ba7a5c10bdd6e318f1ba5e76fcde17db8275188772afc7917a4/aiohttp-3.13.5-cp314-cp314-musllinux_1_2_ppc64le.whl" + }, + { + "algorithm": "sha256", + "hash": "f92995dfec9420bb69ae629abf422e516923ba79ba4403bc750d94fb4a6c68c1", + "url": "https://files.pythonhosted.org/packages/da/a6/6cc25ed8dfc6e00c90f5c6d126a98e2cf28957ad06fa1036bd34b6f24a2c/aiohttp-3.13.5-cp314-cp314-musllinux_1_2_s390x.whl" } ], "project_name": "aiohttp", @@ -868,21 +944,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", @@ -892,6 +993,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", @@ -946,33 +1057,63 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "22bc525ebbdc24d1261ecbf6f504998244d4e3be1721784b5f64664d61fbe602", - "url": "https://files.pythonhosted.org/packages/50/dc/8487df0f69bd398a61e1792b3cba0e47477f214eff085ba0efa7eac9ce87/asyncpg-0.31.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": "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": "19857a358fc811d82227449b7ca40afb46e75b33eb8897240c3839dd8b744218", + "url": "https://files.pythonhosted.org/packages/46/78/fc3ade003e22d8bd53aaf8f75f4be48f0b460fa73738f0391b9c856a9147/asyncpg-0.31.0-cp314-cp314-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "bef056aa502ee34204c161c72ca1f3c274917596877f825968368b2c33f585f4", - "url": "https://files.pythonhosted.org/packages/12/c6/8c9d076f73f07f995013c791e018a1cd5f31823c2a3187fc8581706aa00f/asyncpg-0.31.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.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": "54a64f91839ba59008eccf7aad2e93d6e3de688d796f35803235ea1c4898ae1e", - "url": "https://files.pythonhosted.org/packages/1b/71/157d611c791a5e2d0423f09f027bd499935f0906e0c2a416ce712ba51ef3/asyncpg-0.31.0-cp313-cp313-macosx_11_0_arm64.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": "c0e0822b1038dc7253b337b0f3f676cadc4ac31b126c5d42691c39691962e403", - "url": "https://files.pythonhosted.org/packages/2e/fc/9e3486fb2bbe69d4a867c0b76d68542650a7ff1574ca40e84c3111bb0c6e/asyncpg-0.31.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_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": "c204fab1b91e08b0f47e90a75d1b3c62174dab21f670ad6c5d0f243a228f015b", - "url": "https://files.pythonhosted.org/packages/95/11/97b5c2af72a5d0b9bc3fa30cd4b9ce22284a9a943a150fdc768763caf035/asyncpg-0.31.0-cp313-cp313-macosx_10_13_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": "0bfbcc5b7ffcd9b75ab1558f00db2ae07db9c80637ad1b2469c43df79d7a5ae2", - "url": "https://files.pythonhosted.org/packages/ae/3b/60683a0baf50fbc546499cfb53132cb6835b92b529a05f6a81471ab60d0c/asyncpg-0.31.0-cp313-cp313-musllinux_1_2_aarch64.whl" + "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", @@ -1029,19 +1170,19 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "c647aa4a12dfbad9333ca4e71fe62ddc36f4e63b2d260a37a8b83d2f043ac309", - "url": "https://files.pythonhosted.org/packages/64/b4/17d4b0b2a2dc85a6df63d1157e028ed19f90d4cd97c36717afef2bc2f395/attrs-26.1.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": "d03ceb89cb322a8fd706d4fb91940737b6642aa36998fe130a9bc96c985eff32", - "url": "https://files.pythonhosted.org/packages/9a/8e/82a0fe20a541c03148528be8cac2408564a6c9a0cc7e9171802bc1d26985/attrs-26.1.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": [], "requires_python": ">=3.9", - "version": "26.1.0" + "version": "25.4.0" }, { "artifacts": [ @@ -1113,98 +1254,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": "8ad2f4528cbf0febe80e5a3a57d7a74e6635e41af1ea5675282a33d769fba413", - "url": "https://files.pythonhosted.org/packages/4a/57/23b46933206daf5384b5397d9878746d2249fe9d45efaa8e1467c87d3048/bcrypt-4.2.1-cp39-abi3-macosx_10_12_universal2.whl" + "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": "b7703ede632dc945ed1172d6f24e9f30f27b1b1a067f32f68bf169c5f08d0425", - "url": "https://files.pythonhosted.org/packages/4e/ef/f2cb7a0f7e1ed800a604f8ab256fb0afcf03c1540ad94ff771ce31e794aa/bcrypt-4.2.1-cp37-abi3-musllinux_1_1_aarch64.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": "533e7f3bcf2f07caee7ad98124fab7499cb3333ba2274f7a36cf1daee7409d99", - "url": "https://files.pythonhosted.org/packages/50/68/f2e3959014b4d8874c747e6e171d46d3e63a3a39aaca8417a8d837eda0a8/bcrypt-4.2.1-cp39-abi3-manylinux_2_28_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": "6765386e3ab87f569b276988742039baab087b2cdb01e809d74e74503c2faafe", - "url": "https://files.pythonhosted.org/packages/56/8c/dd696962612e4cd83c40a9e6b3db77bfe65a830f4b9af44098708584686c/bcrypt-4.2.1.tar.gz" + "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": "f85b1ffa09240c89aa2e1ae9f3b1c687104f7b2b9d2098da4e923f1b7082d331", - "url": "https://files.pythonhosted.org/packages/5c/72/916e14fa12d2b1d1fc6c26ea195337419da6dd23d0bf53ac61ef3739e5c5/bcrypt-4.2.1-cp39-abi3-musllinux_1_1_x86_64.whl" + "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": "b1ee315739bc8387aa36ff127afc99120ee452924e0df517a8f3e4c0187a0f5f", - "url": "https://files.pythonhosted.org/packages/6a/be/e7c6e0fd6087ee8fc6d77d8d9e817e9339d879737509019b9a9012a1d96f/bcrypt-4.2.1-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.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": "041fa0155c9004eb98a232d54da05c0b41d4b8e66b6fc3cb71b4b3f6144ba837", - "url": "https://files.pythonhosted.org/packages/6e/5a/ee107961e84c41af2ac201d0460f962b6622ff391255ffd46429e9e09dc1/bcrypt-4.2.1-cp39-abi3-musllinux_1_1_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": "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": "5b1589f4839a0899c146e8892efe320c0fa096568abd9b95593efac50a87cb75", + "url": "https://files.pythonhosted.org/packages/45/2b/77424511adb11e6a99e3a00dcc7745034bee89036ad7d7e255a7e47be7d8/bcrypt-5.0.0-cp38-abi3-manylinux_2_34_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": "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": "c6f5fa3775966cca251848d4d5393ab016b3afed251163c1436fefdec3b02c84", - "url": "https://files.pythonhosted.org/packages/97/92/3dc76d8bfa23300591eec248e950f85bd78eb608c96bd4747ce4cc06acdb/bcrypt-4.2.1-cp39-abi3-musllinux_1_2_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": "04e56e3fe8308a88b77e0afd20bec516f74aecf391cdd6e374f15cbed32783d6", - "url": "https://files.pythonhosted.org/packages/98/bc/9d501ee9d754f63d4b1086b64756c284facc3696de9b556c146279a124a5/bcrypt-4.2.1-cp37-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": "76d3e352b32f4eeb34703370e370997065d28a561e4a18afe4fef07249cb4396", - "url": "https://files.pythonhosted.org/packages/9d/e5/2fd1ea6395358ffdfd4afe370d5b52f71408f618f781772a48971ef3b92b/bcrypt-4.2.1-cp37-abi3-manylinux_2_28_x86_64.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": "cfdf3d7530c790432046c40cda41dfee8c83e29482e6a604f8930b9930e94139", - "url": "https://files.pythonhosted.org/packages/a1/25/2ec4ce5740abc43182bfc064b9acbbf5a493991246985e8b2bfe231ead64/bcrypt-4.2.1-cp37-abi3-musllinux_1_2_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": "1340411a0894b7d3ef562fb233e4b6ed58add185228650942bdc885362f32c17", - "url": "https://files.pythonhosted.org/packages/bc/ca/e17b08c523adb93d5f07a226b2bd45a7c6e96b359e31c1e99f9db58cb8c3/bcrypt-4.2.1-cp37-abi3-macosx_10_12_universal2.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": "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": "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": "687cf30e6681eeda39548a93ce9bfbb300e48b4d445a43db4298d2474d2a1e54", - "url": "https://files.pythonhosted.org/packages/d6/c3/4b4bad4da852924427c651589d464ad1aa624f94dd904ddda8493b0a35e5/bcrypt-4.2.1-cp39-abi3-manylinux_2_28_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": "89df2aea2c43be1e1fa066df5f86c8ce822ab70a30e4c210968669565c0f4685", - "url": "https://files.pythonhosted.org/packages/de/cb/578b0023c6a5ca16a177b9044ba6bd6032277bd3ef020fb863eccd22e49b/bcrypt-4.2.1-cp37-abi3-musllinux_1_1_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": "909faa1027900f2252a9ca5dfebd25fc0ef1417943824783d1c8418dd7d6df4a", - "url": "https://files.pythonhosted.org/packages/fd/28/3ea8a39ddd4938b6c6b6136816d72ba5e659e2d82b53d843c8c53455ac4d/bcrypt-4.2.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.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": "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", @@ -1212,8 +1433,8 @@ "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": [ @@ -1403,53 +1624,88 @@ "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": "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": "f93fd8e5c8c0a4aa1f424d6173f14a892044054871c771f8566e4008eaa359d2", - "url": "https://files.pythonhosted.org/packages/f2/7f/e6647792fc5850d634695bc0e6ab4111ae88e89981d35ac269956605feba/cffi-2.0.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl" + "hash": "44d1b5909021139fe36001ae048dbdde8214afa20200eda0f64c068cac5d5529", + "url": "https://files.pythonhosted.org/packages/eb/56/b1ba7935a17738ae8453301356628e8147c79dbb825bcbc73dc7401f9846/cffi-2.0.0.tar.gz" } ], "project_name": "cffi", @@ -1484,21 +1740,86 @@ "hash": "3dce51d0f5e7951f8bb4900c257dad282f49190fdbebecd4ba99bcc41fef404d", "url": "https://files.pythonhosted.org/packages/db/8f/61959034484a4a7c527811f4721e75d02d653a35afb0b6054474d8185d4c/charset_normalizer-3.4.7-py3-none-any.whl" }, + { + "algorithm": "sha256", + "hash": "b3694e3f87f8ac7ce279d4355645b3c878d24d1424581b46282f24b92f5a4ae2", + "url": "https://files.pythonhosted.org/packages/00/50/dcfbb72a5138bbefdc3332e8d81a23494bf67998b4b100703fd15fa52d81/charset_normalizer-3.4.6-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" + }, + { + "algorithm": "sha256", + "hash": "5d11595abf8dd942a77883a39d81433739b287b6aa71620f15164f8096221b30", + "url": "https://files.pythonhosted.org/packages/03/b3/d79a9a191bb75f5aa81f3aaaa387ef29ce7cb7a9e5074ba8ea095cc073c2/charset_normalizer-3.4.6-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" + }, + { + "algorithm": "sha256", + "hash": "79090741d842f564b1b2827c0b82d846405b744d31e84f18d7a7b41c20e473ff", + "url": "https://files.pythonhosted.org/packages/05/34/c531bc6ac4c21da9ddfddb3107be2287188b3ea4b53b70fc58f2a77ac8d8/charset_normalizer-3.4.6-cp314-cp314t-musllinux_1_2_armv7l.whl" + }, + { + "algorithm": "sha256", + "hash": "f5ea69428fa1b49573eef0cc44a1d43bebd45ad0c611eb7d7eac760c7ae771bc", + "url": "https://files.pythonhosted.org/packages/06/b6/fae511ca98aac69ecc35cde828b0a3d146325dd03d99655ad38fc2cc3293/charset_normalizer-3.4.6-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "ca0276464d148c72defa8bb4390cce01b4a0e425f3b50d1435aa6d7a18107602", + "url": "https://files.pythonhosted.org/packages/0e/c5/0b6898950627af7d6103a449b22320372c24c6feda91aa24e201a478d161/charset_normalizer-3.4.6-cp314-cp314t-musllinux_1_2_s390x.whl" + }, + { + "algorithm": "sha256", + "hash": "9cc6e6d9e571d2f863fa77700701dae73ed5f78881efc8b3f9a4398772ff53e8", + "url": "https://files.pythonhosted.org/packages/25/6f/ffe1e1259f384594063ea1869bfb6be5cdb8bc81020fc36c3636bc8302a1/charset_normalizer-3.4.6-cp314-cp314-macosx_10_15_universal2.whl" + }, { "algorithm": "sha256", "hash": "0ea948db76d31190bf08bd371623927ee1339d5f2a0b4b1b4a4439a65298703c", "url": "https://files.pythonhosted.org/packages/2e/4e/b7f84e617b4854ade48a1b7915c8ccfadeba444d2a18c291f696e37f0d3b/charset_normalizer-3.4.7-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" }, + { + "algorithm": "sha256", + "hash": "ad8faf8df23f0378c6d527d8b0b15ea4a2e23c89376877c598c4870d1b2c7866", + "url": "https://files.pythonhosted.org/packages/31/93/8878be7569f87b14f1d52032946131bcb6ebbd8af3e20446bc04053dc3f1/charset_normalizer-3.4.6-cp314-cp314t-macosx_10_15_universal2.whl" + }, + { + "algorithm": "sha256", + "hash": "22c6f0c2fbc31e76c3b8a86fba1a56eda6166e238c29cdd3d14befdb4a4e4815", + "url": "https://files.pythonhosted.org/packages/48/15/e35e0590af254f7df984de1323640ef375df5761f615b6225ba8deb9799a/charset_normalizer-3.4.6-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" + }, + { + "algorithm": "sha256", + "hash": "06a7e86163334edfc5d20fe104db92fcd666e5a5df0977cb5680a506fe26cc8e", + "url": "https://files.pythonhosted.org/packages/54/57/64caf6e1bf07274a1e0b7c160a55ee9e8c9ec32c46846ce59b9c333f7008/charset_normalizer-3.4.6-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" + }, + { + "algorithm": "sha256", + "hash": "ef5960d965e67165d75b7c7ffc60a83ec5abfc5c11b764ec13ea54fbef8b4421", + "url": "https://files.pythonhosted.org/packages/56/60/09bb6c13a8c1016c2ed5c6a6488e4ffef506461aa5161662bd7636936fb1/charset_normalizer-3.4.6-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "7edbed096e4a4798710ed6bc75dcaa2a21b68b6c356553ac4823c3658d53743a", + "url": "https://files.pythonhosted.org/packages/5e/bd/f736f7b9cc5e93a18b794a50346bb16fbfd6b37f99e8f306f7951d27c17c/charset_normalizer-3.4.6-cp314-cp314-musllinux_1_2_aarch64.whl" + }, { "algorithm": "sha256", "hash": "64f02c6841d7d83f832cd97ccf8eb8a906d06eb95d5276069175c696b024b60a", "url": "https://files.pythonhosted.org/packages/6a/9f/130394f9bbe06f4f63e22641d32fc9b202b7e251c9aef4db044324dac493/charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_x86_64.whl" }, + { + "algorithm": "sha256", + "hash": "0e901eb1049fdb80f5bd11ed5ea1e498ec423102f7a9b9e4645d5b8204ff2815", + "url": "https://files.pythonhosted.org/packages/6e/79/94a010ff81e3aec7c293eb82c28f930918e517bc144c9906a060844462eb/charset_normalizer-3.4.6-cp314-cp314-musllinux_1_2_x86_64.whl" + }, { "algorithm": "sha256", "hash": "7804338df6fcc08105c7745f1502ba68d900f45fd770d5bdd5288ddccb8a42d8", "url": "https://files.pythonhosted.org/packages/6f/a5/a581c13798546a7fd557c82614a5c65a13df2157e9ad6373166d2a3e645d/charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_aarch64.whl" }, + { + "algorithm": "sha256", + "hash": "7bda6eebafd42133efdca535b04ccb338ab29467b3f7bf79569883676fc628db", + "url": "https://files.pythonhosted.org/packages/76/7e/bc8911719f7084f72fd545f647601ea3532363927f807d296a8c88a62c0d/charset_normalizer-3.4.6-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" + }, { "algorithm": "sha256", "hash": "3dedcc22d73ec993f42055eff4fcfed9318d1eeb9a6606c55892a26964964e48", @@ -1539,6 +1860,71 @@ "hash": "f495a1652cf3fbab2eb0639776dad966c2fb874d79d87ca07f9d5f059b8bd215", "url": "https://files.pythonhosted.org/packages/e3/7c/fc890655786e423f02556e0216d4b8c6bcb6bdfa890160dc66bf52dee468/charset_normalizer-3.4.7-cp313-cp313-manylinux_2_31_armv7l.whl" }, + { + "algorithm": "sha256", + "hash": "197c1a244a274bb016dd8b79204850144ef77fe81c5b797dc389327adb552407", + "url": "https://files.pythonhosted.org/packages/7d/25/c4bba773bef442cbdc06111d40daa3de5050a676fa26e85090fc54dd12f0/charset_normalizer-3.4.6-cp314-cp314t-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "419a9d91bd238052642a51938af8ac05da5b3343becde08d5cdeab9046df9ee1", + "url": "https://files.pythonhosted.org/packages/83/43/99f1b5dad345accb322c80c7821071554f791a95ee50c1c90041c157ae99/charset_normalizer-3.4.6-cp314-cp314-musllinux_1_2_riscv64.whl" + }, + { + "algorithm": "sha256", + "hash": "5273b9f0b5835ff0350c0828faea623c68bfa65b792720c453e22b25cc72930f", + "url": "https://files.pythonhosted.org/packages/87/9a/62c2cb6a531483b55dddff1a68b3d891a8b498f3ca555fbcf2978e804d9d/charset_normalizer-3.4.6-cp314-cp314-musllinux_1_2_s390x.whl" + }, + { + "algorithm": "sha256", + "hash": "7f9019c9cb613f084481bd6a100b12e1547cf2efe362d873c2e31e4035a6fa43", + "url": "https://files.pythonhosted.org/packages/9d/ba/2cc9e3e7dfdf7760a6ed8da7446d22536f3d0ce114ac63dee2a5a3599e62/charset_normalizer-3.4.6-cp314-cp314-musllinux_1_2_armv7l.whl" + }, + { + "algorithm": "sha256", + "hash": "58c948d0d086229efc484fe2f30c2d382c86720f55cd9bc33591774348ad44e0", + "url": "https://files.pythonhosted.org/packages/9e/cb/5be49b5f776e5613be07298c80e1b02a2d900f7a7de807230595c85a8b2e/charset_normalizer-3.4.6-cp314-cp314-musllinux_1_2_ppc64le.whl" + }, + { + "algorithm": "sha256", + "hash": "e1f6e2f00a6b8edb562826e4632e26d063ac10307e80f7461f7de3ad8ef3f077", + "url": "https://files.pythonhosted.org/packages/aa/cb/9ff5a25b9273ef160861b41f6937f86fae18b0792fe0a8e75e06acb08f1d/charset_normalizer-3.4.6-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" + }, + { + "algorithm": "sha256", + "hash": "4be9f4830ba8741527693848403e2c457c16e499100963ec711b1c6f2049b7c7", + "url": "https://files.pythonhosted.org/packages/b5/38/16baa0affb957b3d880e5ac2144caf3f9d7de7bc4a91842e447fbb5e8b67/charset_normalizer-3.4.6-cp314-cp314t-musllinux_1_2_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "fcce033e4021347d80ed9c66dcf1e7b1546319834b74445f561d2e2221de5659", + "url": "https://files.pythonhosted.org/packages/ba/f6/cd782923d112d296294dea4bcc7af5a7ae0f86ab79f8fefbda5526b6cfc0/charset_normalizer-3.4.6-cp314-cp314t-musllinux_1_2_riscv64.whl" + }, + { + "algorithm": "sha256", + "hash": "7504e9b7dc05f99a9bbb4525c67a2c155073b44d720470a148b34166a69c054e", + "url": "https://files.pythonhosted.org/packages/cd/24/afff630feb571a13f07c8539fbb502d2ab494019492aaffc78ef41f1d1d0/charset_normalizer-3.4.6-cp314-cp314t-manylinux_2_31_armv7l.whl" + }, + { + "algorithm": "sha256", + "hash": "bbc8c8650c6e51041ad1be191742b8b421d05bbd3410f43fa2a00c8db87678e8", + "url": "https://files.pythonhosted.org/packages/e2/40/c430b969d41dda0c465aa36cc7c2c068afb67177bef50905ac371b28ccc7/charset_normalizer-3.4.6-cp314-cp314-manylinux_2_31_armv7l.whl" + }, + { + "algorithm": "sha256", + "hash": "172985e4ff804a7ad08eebec0a1640ece87ba5041d565fff23c8f99c1f389484", + "url": "https://files.pythonhosted.org/packages/e5/17/d1399ecdaf7e0498c327433e7eefdd862b41236a7e484355b8e0e5ebd64b/charset_normalizer-3.4.6-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" + }, + { + "algorithm": "sha256", + "hash": "87725cfb1a4f1f8c2fc9890ae2f42094120f4b44db9360be5d99a4c6b0e03a9e", + "url": "https://files.pythonhosted.org/packages/fa/73/a5a1e9ca5f234519c1953608a03fe109c306b97fdfb25f09182babad51a7/charset_normalizer-3.4.6-cp314-cp314t-musllinux_1_2_ppc64le.whl" + }, + { + "algorithm": "sha256", + "hash": "95b52c68d64c1878818687a473a10547b3292e82b6f6fe483808fb1468e2f52f", + "url": "https://files.pythonhosted.org/packages/fc/97/440635fc093b8d7347502a377031f9605a1039c958f3cd18dcacffb37743/charset_normalizer-3.4.6-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" + }, { "algorithm": "sha256", "hash": "f59099f9b66f0d7145115e6f80dd8b1d847176df89b234a5a6b3f00437aa0832", @@ -1644,128 +2030,108 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "6617f67b1606dfd9fe4dbfa354a9508d4a6d37afe30306fe6c101b7ce3274b72", - "url": "https://files.pythonhosted.org/packages/44/46/466269e833f1c4718d6cd496ffe20c56c9c8d013486ff66b4f69c302a68d/cryptography-46.0.6-cp38-abi3-musllinux_1_2_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "760997a4b950ff00d418398ad73fbc91aa2894b5c1db7ccb45b4f68b42a63b3c", - "url": "https://files.pythonhosted.org/packages/01/59/562be1e653accee4fdad92c7a2e88fced26b3fdfce144047519bbebc299e/cryptography-46.0.6-cp311-abi3-manylinux_2_31_armv7l.whl" - }, - { - "algorithm": "sha256", - "hash": "02fad249cb0e090b574e30b276a3da6a149e04ee2f049725b1f69e7b8351ec70", - "url": "https://files.pythonhosted.org/packages/01/b3/0796998056a66d1973fd52ee89dc1bb3b6581960a91ad4ac705f182d398f/cryptography-46.0.6-cp38-abi3-manylinux_2_31_armv7l.whl" - }, - { - "algorithm": "sha256", - "hash": "9a693028b9cbe51b5a1136232ee8f2bc242e4e19d456ded3fa7c86e43c713b4a", - "url": "https://files.pythonhosted.org/packages/19/69/732a736d12c2631e140be2348b4ad3d226302df63ef64d30dfdb8db7ad1c/cryptography-46.0.6-cp311-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.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": "2b417edbe8877cda9022dde3a008e2deb50be9c407eef034aeeb3a8b11d9db3c", - "url": "https://files.pythonhosted.org/packages/1d/5c/f6c3596a1430cec6f949085f0e1a970638d76f81c3ea56d93d564d04c340/cryptography-46.0.6-cp311-abi3-musllinux_1_2_aarch64.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": "8927ccfbe967c7df312ade694f987e7e9e22b2425976ddbf28271d7e58845290", - "url": "https://files.pythonhosted.org/packages/2f/97/daba0f5d2dc6d855e2dcb70733c812558a7977a55dd4a6722756628c44d1/cryptography-46.0.6-cp38-abi3-manylinux_2_28_aarch64.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": "22259338084d6ae497a19bae5d4c66b7ca1387d3264d1c2c0e72d9e9b6a77b97", - "url": "https://files.pythonhosted.org/packages/34/71/1ea5a7352ae516d5512d17babe7e1b87d9db5150b21f794b1377eac1edc0/cryptography-46.0.6-cp311-abi3-manylinux_2_28_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": "64235194bad039a10bb6d2d930ab3323baaec67e2ce36215fd0952fad0930ca8", - "url": "https://files.pythonhosted.org/packages/47/23/9285e15e3bc57325b0a72e592921983a701efc1ee8f91c06c5f0235d86d9/cryptography-46.0.6-cp311-abi3-macosx_10_9_universal2.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": "639301950939d844a9e1c4464d7e07f902fe9a7f6b215bb0d4f28584729935d8", - "url": "https://files.pythonhosted.org/packages/49/b3/dc27efd8dcc4bff583b3f01d4a3943cd8b5821777a58b3a6a5f054d61b79/cryptography-46.0.6-cp38-abi3-manylinux2014_aarch64.manylinux_2_17_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": "d9528b535a6c4f8ff37847144b8986a9a143585f0540fbcb1a98115b543aa463", - "url": "https://files.pythonhosted.org/packages/5b/ba/d5e27f8d68c24951b0a484924a84c7cdaed7502bac9f18601cd357f8b1d2/cryptography-46.0.6-cp311-abi3-manylinux_2_28_ppc64le.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": "26031f1e5ca62fcb9d1fcb34b2b60b390d1aacaa15dc8b895a9ed00968b97b30", - "url": "https://files.pythonhosted.org/packages/60/f8/e61f8f13950ab6195b31913b42d39f0f9afc7d93f76710f299b5ec286ae6/cryptography-46.0.6-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.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": "380343e0653b1c9d7e1f55b52aaa2dbb2fdf2730088d48c43ca1c7c0abb7cc2f", - "url": "https://files.pythonhosted.org/packages/7e/c9/9f9cea13ee2dbde070424e0c4f621c091a91ffcc504ffea5e74f0e1daeff/cryptography-46.0.6-cp311-abi3-musllinux_1_2_x86_64.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": "b12c6b1e1651e42ab5de8b1e00dc3b6354fdfd778e7fa60541ddacc27cd21410", - "url": "https://files.pythonhosted.org/packages/89/06/fe1fce39a37ac452e58d04b43b0855261dac320a2ebf8f5260dd55b201a9/cryptography-46.0.6-cp38-abi3-manylinux_2_28_ppc64le.whl" + "hash": "fe19d8bc5536a91a24a8133328880a41831b6c5df54599a8417b62fe015d3053", + "url": "https://files.pythonhosted.org/packages/53/d6/1411ab4d6108ab167d06254c5be517681f1e331f90edf1379895bcb87020/cryptography-44.0.3.tar.gz" }, { "algorithm": "sha256", - "hash": "341359d6c9e68834e204ceaf25936dffeafea3829ab80e9503860dcc4f4dac58", - "url": "https://files.pythonhosted.org/packages/8b/65/5bf43286d566f8171917cae23ac6add941654ccf085d739195a4eacf1674/cryptography-46.0.6-cp38-abi3-manylinux_2_34_x86_64.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": "27550628a518c5c6c903d84f637fbecf287f6cb9ced3804838a1295dc1fd0759", - "url": "https://files.pythonhosted.org/packages/a4/ba/04b1bd4218cbc58dc90ce967106d51582371b898690f3ae0402876cc4f34/cryptography-46.0.6.tar.gz" + "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": "12cae594e9473bca1a7aceb90536060643128bb274fcea0fc459ab90f7d1ae7a", - "url": "https://files.pythonhosted.org/packages/c4/cc/f330e982852403da79008552de9906804568ae9230da8432f7496ce02b71/cryptography-46.0.6-cp38-abi3-macosx_10_9_universal2.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": "7e6142674f2a9291463e5e150090b95a8519b2fb6e6aaec8917dd8d094ce750d", - "url": "https://files.pythonhosted.org/packages/c5/3d/db200af5a4ffd08918cd55c08399dc6c9c50b0bc72c00a3246e099d3a849/cryptography-46.0.6-cp38-abi3-manylinux_2_34_aarch64.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": "67177e8a9f421aa2d3a170c3e56eca4e0128883cf52a071a7cbf53297f18b175", - "url": "https://files.pythonhosted.org/packages/d4/12/123be7292674abf76b21ac1fc0e1af50661f0e5b8f0ec8285faac18eb99e/cryptography-46.0.6-cp311-abi3-manylinux_2_28_aarch64.whl" + "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": "3dfa6567f2e9e4c5dceb8ccb5a708158a2a871052fa75c8b78cb0977063f1507", - "url": "https://files.pythonhosted.org/packages/d6/8b/b1ebfeb788bf4624d36e45ed2662b8bd43a05ff62157093c1539c1288a18/cryptography-46.0.6-cp311-abi3-manylinux_2_34_aarch64.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": "456b3215172aeefb9284550b162801d62f5f264a081049a3e94307fe20792cfa", - "url": "https://files.pythonhosted.org/packages/d7/18/61acfd5b414309d74ee838be321c636fe71815436f53c9f0334bf19064fa/cryptography-46.0.6-cp38-abi3-manylinux_2_34_ppc64le.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": "cdcd3edcbc5d55757e5f5f3d330dd00007ae463a7e7aa5bf132d1f22a4b62b19", - "url": "https://files.pythonhosted.org/packages/dd/52/a005f8eabdb28df57c20f84c44d397a755782d6ff6d455f05baa2785bd91/cryptography-46.0.6-cp311-abi3-manylinux_2_34_ppc64le.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": "9a9c42a2723999a710445bc0d974e345c32adfd8d2fac6d8a251fa829ad31cfb", - "url": "https://files.pythonhosted.org/packages/e0/25/7e49c0fa7205cf3597e525d156a6bce5b5c9de1fd7e8cb01120e459f205a/cryptography-46.0.6-cp38-abi3-musllinux_1_2_aarch64.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": "ed3775295fb91f70b4027aeba878d79b3e55c0b3e97eaa4de71f8f23a9f2eb77", - "url": "https://files.pythonhosted.org/packages/e6/05/e8d0e6eb4f0d83365b3cb0e00eb3c484f7348db0266652ccd84632a3d58d/cryptography-46.0.6-cp38-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.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": "d4e4aadb7fc1f88687f47ca20bb7227981b03afaae69287029da08096853b738", - "url": "https://files.pythonhosted.org/packages/ec/4d/8e7d7245c79c617d08724e2efa397737715ca0ec830ecb3c91e547302555/cryptography-46.0.6-cp311-abi3-manylinux_2_34_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "063b67749f338ca9c5a0b7fe438a52c25f9526b851e24e6c9310e7195aad3b4d", - "url": "https://files.pythonhosted.org/packages/ff/8a/b14f3101fe9c3592603339eb5d94046c3ce5f7fc76d6512a2d40efd9724e/cryptography-46.0.6-cp38-abi3-manylinux_2_28_x86_64.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", @@ -1773,13 +2139,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.6; 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\"", @@ -1788,15 +2154,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.6" + "requires_python": "!=3.9.0,!=3.9.1,>=3.7", + "version": "44.0.3" }, { "artifacts": [ @@ -2107,23 +2471,38 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "63d245dcecdf845aa76b4da4f73d00919f07eb35788e683ee4f809e188c53375", - "url": "https://files.pythonhosted.org/packages/3f/6c/e6b2cf73127561e9c9bae8a41c017be346deeb54d0f8128109c2581beae6/etcd_client_py-0.5.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + "hash": "700a5e7decc1e610c5f199952b1d5fb5c14632a9d33a0642c55d20d687a20f57", + "url": "https://files.pythonhosted.org/packages/33/f1/722209166948cad28666eb405c039061e3d243e5f49f117631d1f61239c3/etcd_client_py-0.5.1-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" }, { "algorithm": "sha256", - "hash": "c8bc311f225147e3260c6416d4c66146dd291e5af5c6b8120d0b410cce89a8d1", - "url": "https://files.pythonhosted.org/packages/a2/d1/6aad26b2f0581db64650f640c0d7968bbe25cc6a2fc35f7d66d4c0347f6b/etcd_client_py-0.5.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + "hash": "285e8735dc1d6562ac28d97f2f893b1324473bcd10eeef2fe9e34165fd94f133", + "url": "https://files.pythonhosted.org/packages/1d/03/fcddc60c758acb030169ce6f5a9366bfffc52dc43809b95895ad3ec21c65/etcd_client_py-0.5.1-cp314-cp314-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl" }, { "algorithm": "sha256", - "hash": "dee52d29cd2d441ecebbc84b80c3c08370b0b5859dc5b165bf9133bd209e2565", - "url": "https://files.pythonhosted.org/packages/ab/92/2f21e778b884729d412613713d33eda98c644fbfb03bca4bb0ded94298ec/etcd_client_py-0.5.1-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl" + "hash": "d6a4bfa04b8f95e88f67797df536959b3e6e0f386b57fea499eda48baf6d86a0", + "url": "https://files.pythonhosted.org/packages/aa/4f/3b45ff283a34e4c3a14944bdfaa026a1cab605928fecb703a6516824ff5a/etcd_client_py-0.5.1-cp314-cp314t-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl" }, { "algorithm": "sha256", "hash": "7809b1adfa58c0e84cbaac166c7e76ce5987558426acaa8651075dd2315a9212", "url": "https://files.pythonhosted.org/packages/bb/d2/c79d349cd668a24a3647b17db2396c59393ba6b368279abbe1169ba39bc7/etcd_client_py-0.5.1.tar.gz" + }, + { + "algorithm": "sha256", + "hash": "8a8fe3810519f2ffe768f1c4e66c0ed131fbfe2baa26eb9954e077dace80c98d", + "url": "https://files.pythonhosted.org/packages/d9/91/3c985cece1a15f09621a11f62a35c95a7be4d4c005890fd46e053004d7e9/etcd_client_py-0.5.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "343f8cdf7838837b5d46f4d2937a061ca00850884bdb2d02adbed9e951de858c", + "url": "https://files.pythonhosted.org/packages/ef/46/0dceb5fd907e77fa4c80add21f96a08985266161d80c82e2a2f51fc986ae/etcd_client_py-0.5.1-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "0ed46ecda5c03ee2a9d02b71d356b17dc9f952a39421a737b74641a811a8ed48", + "url": "https://files.pythonhosted.org/packages/ef/e8/151f535656d41fed4a6d3c6ab5ba8d010dca11cf738289c2a1523ab6a58d/etcd_client_py-0.5.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" } ], "project_name": "etcd-client-py", @@ -2187,138 +2566,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", @@ -2501,13 +2880,13 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "702216f78610bb510e3f12ac3cafd281b7ac45cc5d86e90ad87e4d301a3426b5", - "url": "https://files.pythonhosted.org/packages/b6/b0/be5d3329badb9230b765de6eea66b73abd5944bdeb5afb3562ddcd80ae84/googleapis_common_protos-1.74.0-py3-none-any.whl" + "hash": "e51f09eb0a43a8602f5a915870972e6b4a394088415c79d79605a46d8e826ee8", + "url": "https://files.pythonhosted.org/packages/dc/82/fcb6520612bec0c39b973a6c0954b6a0d948aadfe8f7e9487f60ceb8bfa6/googleapis_common_protos-1.73.1-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "57971e4eeeba6aad1163c1f0fc88543f965bb49129b8bb55b2b7b26ecab084f1", - "url": "https://files.pythonhosted.org/packages/20/18/a746c8344152d368a5aac738d4c857012f2c5d1fd2eac7e17b647a7861bd/googleapis_common_protos-1.74.0.tar.gz" + "hash": "13114f0e9d2391756a0194c3a8131974ed7bffb06086569ba193364af59163b6", + "url": "https://files.pythonhosted.org/packages/a1/c0/4a54c386282c13449eca8bbe2ddb518181dc113e78d240458a68856b4d69/googleapis_common_protos-1.73.1.tar.gz" } ], "project_name": "googleapis-common-protos", @@ -2516,7 +2895,7 @@ "protobuf<8.0.0,>=4.25.8" ], "requires_python": ">=3.9", - "version": "1.74.0" + "version": "1.73.1" }, { "artifacts": [ @@ -2679,33 +3058,38 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "1a9172f5bf6bd88e6ba5a84e0a68afeac9dc7b6b412b245dd64f52d83c81e55b", - "url": "https://files.pythonhosted.org/packages/d9/c4/2570fc07f34a39f2caf0bf9f24b0a1a0a47bc2e8e465b2c2424821389dfc/greenlet-3.3.2-cp313-cp313-musllinux_1_2_x86_64.whl" + "hash": "20154044d9085151bc309e7689d6f7ba10027f8f5a8c0676ad398b951913d89e", + "url": "https://files.pythonhosted.org/packages/6f/e1/50ee92a5db521de8f35075b5eff060dd43d39ebd46c2181a2042f7070385/greenlet-3.3.2-cp314-cp314t-musllinux_1_2_x86_64.whl" }, { "algorithm": "sha256", - "hash": "64970c33a50551c7c50491671265d8954046cb6e8e2999aacdd60e439b70418a", - "url": "https://files.pythonhosted.org/packages/0a/03/996c2d1689d486a6e199cb0f1cf9e4aa940c500e01bdf201299d7d61fa69/greenlet-3.3.2-cp313-cp313-musllinux_1_2_aarch64.whl" + "hash": "94ad81f0fd3c0c0681a018a976e5c2bd2ca2d9d94895f23e7bb1af4e8af4e2d5", + "url": "https://files.pythonhosted.org/packages/0a/23/b90b60a4aabb4cec0796e55f25ffbfb579a907c3898cd2905c8918acaa16/greenlet-3.3.2-cp314-cp314-musllinux_1_2_x86_64.whl" }, { "algorithm": "sha256", - "hash": "ab0c7e7901a00bc0a7284907273dc165b32e0d109a6713babd04471327ff7986", - "url": "https://files.pythonhosted.org/packages/49/8d/9771d03e7a8b1ee456511961e1b97a6d77ae1dea4a34a5b98eee706689d3/greenlet-3.3.2-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl" + "hash": "8d1658d7291f9859beed69a776c10822a0a799bc4bfe1bd4272bb60e62507dab", + "url": "https://files.pythonhosted.org/packages/3f/ae/8bffcbd373b57a5992cd077cbe8858fff39110480a9d50697091faea6f39/greenlet-3.3.2-cp314-cp314-macosx_11_0_universal2.whl" }, { "algorithm": "sha256", - "hash": "d248d8c23c67d2291ffd47af766e2a3aa9fa1c6703155c099feb11f526c63a92", - "url": "https://files.pythonhosted.org/packages/59/0e/4223c2bbb63cd5c97f28ffb2a8aee71bdfb30b323c35d409450f51b91e3e/greenlet-3.3.2-cp313-cp313-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl" + "hash": "8e4ab3cfb02993c8cc248ea73d7dae6cec0253e9afa311c9b37e603ca9fad2ce", + "url": "https://files.pythonhosted.org/packages/48/cf/56832f0c8255d27f6c35d41b5ec91168d74ec721d85f01a12131eec6b93c/greenlet-3.3.2-cp314-cp314-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "b6997d360a4e6a4e936c0f9625b1c20416b8a0ea18a8e19cabbefc712e7397ab", - "url": "https://files.pythonhosted.org/packages/7a/34/259b28ea7a2a0c904b11cd36c79b8cef8019b26ee5dbe24e73b469dea347/greenlet-3.3.2-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl" + "hash": "8b466dff7a4ffda6ca975979bab80bdadde979e29fc947ac3be4451428d8b0e4", + "url": "https://files.pythonhosted.org/packages/5e/0d/93894161d307c6ea237a43988f27eba0947b360b99ac5239ad3fe09f0b47/greenlet-3.3.2-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl" }, { "algorithm": "sha256", - "hash": "ccd21bb86944ca9be6d967cf7691e658e43417782bce90b5d2faeda0ff78a7dd", - "url": "https://files.pythonhosted.org/packages/94/2b/4d012a69759ac9d77210b8bfb128bc621125f5b20fc398bce3940d036b1c/greenlet-3.3.2-cp313-cp313-manylinux_2_24_s390x.manylinux_2_28_s390x.whl" + "hash": "b26b0f4428b871a751968285a1ac9648944cea09807177ac639b030bddebcea4", + "url": "https://files.pythonhosted.org/packages/8e/30/3a09155fbf728673a1dea713572d2d31159f824a37c22da82127056c44e4/greenlet-3.3.2-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "e26e72bec7ab387ac80caa7496e0f908ff954f31065b0ffc1f8ecb1338b11b54", + "url": "https://files.pythonhosted.org/packages/98/6d/8f2ef704e614bcf58ed43cfb8d87afa1c285e98194ab2cfad351bf04f81e/greenlet-3.3.2-cp314-cp314t-macosx_11_0_universal2.whl" }, { "algorithm": "sha256", @@ -2714,8 +3098,38 @@ }, { "algorithm": "sha256", - "hash": "aa6ac98bdfd716a749b84d4034486863fd81c3abde9aa3cf8eff9127981a4ae4", - "url": "https://files.pythonhosted.org/packages/ac/48/f8b875fa7dea7dd9b33245e37f065af59df6a25af2f9561efa8d822fde51/greenlet-3.3.2-cp313-cp313-macosx_11_0_universal2.whl" + "hash": "c2e47408e8ce1c6f1ceea0dffcdf6ebb85cc09e55c7af407c99f1112016e45e9", + "url": "https://files.pythonhosted.org/packages/b3/de/dd7589b3f2b8372069ab3e4763ea5329940fc7ad9dcd3e272a37516d7c9b/greenlet-3.3.2-cp314-cp314-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl" + }, + { + "algorithm": "sha256", + "hash": "e3cb43ce200f59483eb82949bf1835a99cf43d7571e900d7c8d5c62cdf25d2f9", + "url": "https://files.pythonhosted.org/packages/cd/ac/85804f74f1ccea31ba518dcc8ee6f14c79f73fe36fa1beba38930806df09/greenlet-3.3.2-cp314-cp314-manylinux_2_24_s390x.manylinux_2_28_s390x.whl" + }, + { + "algorithm": "sha256", + "hash": "59b3e2c40f6706b05a9cd299c836c6aa2378cabe25d021acd80f13abf81181cf", + "url": "https://files.pythonhosted.org/packages/d1/67/8197b7e7e602150938049d8e7f30de1660cfb87e4c8ee349b42b67bdb2e1/greenlet-3.3.2-cp314-cp314t-manylinux_2_24_s390x.manylinux_2_28_s390x.whl" + }, + { + "algorithm": "sha256", + "hash": "18cb1b7337bca281915b3c5d5ae19f4e76d35e1df80f4ad3c1a7be91fadf1082", + "url": "https://files.pythonhosted.org/packages/d1/c0/45f93f348fa49abf32ac8439938726c480bd96b2a3c6f4d949ec0124b69f/greenlet-3.3.2-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "63d10328839d1973e5ba35e98cccbca71b232b14051fd957b6f8b6e8e80d0506", + "url": "https://files.pythonhosted.org/packages/d2/d8/09bfa816572a4d83bccd6750df1926f79158b1c36c5f73786e26dbe4ee38/greenlet-3.3.2-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "1fb39a11ee2e4d94be9a76671482be9398560955c9e568550de0224e41104727", + "url": "https://files.pythonhosted.org/packages/f3/fd/d05a4b7acd0154ed758797f0a43b4c0962a843bedfe980115e842c5b2d08/greenlet-3.3.2-cp314-cp314t-musllinux_1_2_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "b8bddc5b73c9720bea487b3bffdb1840fe4e3656fba3bd40aa1489e9f37877ff", + "url": "https://files.pythonhosted.org/packages/f5/2c/d2d506ebd8abcb57386ec4f7ba20f4030cbe56eae541bc6fd6ef399c0b41/greenlet-3.3.2-cp314-cp314t-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl" } ], "project_name": "greenlet", @@ -2733,48 +3147,48 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "8eb613f02d34721f1acf3626dfdb3545bd3c8505b0e52bf8b5710a28d02e8aa7", - "url": "https://files.pythonhosted.org/packages/10/bb/dd06f4c24c01db9cf11341b547d0a016b2c90ed7dbbb086a5710df7dd1d7/grpcio-1.80.0-cp313-cp313-musllinux_1_2_x86_64.whl" + "hash": "31b9ac4ad1aa28ffee5503821fafd09e4da0a261ce1c1281c6c8da0423c83b6e", + "url": "https://files.pythonhosted.org/packages/f5/68/67f4947ed55d2e69f2cc199ab9fd85e0a0034d813bbeef84df6d2ba4d4b7/grpcio-1.80.0-cp314-cp314-musllinux_1_2_x86_64.whl" }, { "algorithm": "sha256", - "hash": "92d787312e613754d4d8b9ca6d3297e69994a7912a32fa38c4c4e01c272974b0", - "url": "https://files.pythonhosted.org/packages/04/19/21a9806eb8240e174fd1ab0cd5b9aa948bb0e05c2f2f55f9d5d7405e6d08/grpcio-1.80.0-cp313-cp313-macosx_11_0_universal2.whl" + "hash": "f14b618fc30de822681ee986cfdcc2d9327229dc4c98aed16896761cacd468b9", + "url": "https://files.pythonhosted.org/packages/04/82/983aabaad82ba26113caceeb9091706a0696b25da004fe3defb5b346e15b/grpcio-1.80.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" }, { "algorithm": "sha256", - "hash": "8ac393b58aa16991a2f1144ec578084d544038c12242da3a215966b512904d0f", - "url": "https://files.pythonhosted.org/packages/18/3a/23347d35f76f639e807fb7a36fad3068aed100996849a33809591f26eca6/grpcio-1.80.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" + "hash": "a1dc80fe55685b4a543555e6eef975303b36c8db1023b1599b094b92aa77965f", + "url": "https://files.pythonhosted.org/packages/06/21/0fdd77e84720b08843c371a2efa6f2e19dbebf56adc72df73d891f5506f0/grpcio-1.80.0-cp314-cp314-musllinux_1_2_i686.whl" }, { "algorithm": "sha256", - "hash": "e9e408fc016dffd20661f0126c53d8a31c2821b5c13c5d67a0f5ed5de93319ad", - "url": "https://files.pythonhosted.org/packages/2f/3a/7c3c25789e3f069e581dc342e03613c5b1cb012c4e8c7d9d5cf960a75856/grpcio-1.80.0-cp313-cp313-linux_armv7l.whl" + "hash": "4ed39fbdcf9b87370f6e8df4e39ca7b38b3e5e9d1b0013c7b6be9639d6578d14", + "url": "https://files.pythonhosted.org/packages/07/d7/031666ef155aa0bf399ed7e19439656c38bbd143779ae0861b038ce82abd/grpcio-1.80.0-cp314-cp314-manylinux2014_i686.manylinux_2_17_i686.whl" }, { "algorithm": "sha256", - "hash": "2bea16af2750fd0a899bf1abd9022244418b55d1f37da2202249ba4ba673838d", - "url": "https://files.pythonhosted.org/packages/44/83/3b20ff58d0c3b7f6caaa3af9a4174d4023701df40a3f39f7f1c8e7c48f9d/grpcio-1.80.0-cp313-cp313-musllinux_1_2_aarch64.whl" + "hash": "d8e11f167935b3eb089ac9038e1a063e6d7dbe995c0bb4a661e614583352e76f", + "url": "https://files.pythonhosted.org/packages/69/10/9cef5d9650c72625a699c549940f0abb3c4bfdb5ed45a5ce431f92f31806/grpcio-1.80.0-cp314-cp314-macosx_11_0_universal2.whl" }, { "algorithm": "sha256", - "hash": "ba0db34f7e1d803a878284cd70e4c63cb6ae2510ba51937bf8f45ba997cefcf7", - "url": "https://files.pythonhosted.org/packages/47/45/55c507599c5520416de5eefecc927d6a0d7af55e91cfffb2e410607e5744/grpcio-1.80.0-cp313-cp313-musllinux_1_2_i686.whl" + "hash": "448c884b668b868562b1bda833c5fce6272d26e1926ec46747cda05741d302c1", + "url": "https://files.pythonhosted.org/packages/93/3d/f6558e9c6296cb4227faa5c43c54a34c68d32654b829f53288313d16a86e/grpcio-1.80.0-cp314-cp314-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "873ff5d17d68992ef6605330127425d2fc4e77e612fa3c3e0ed4e668685e3140", - "url": "https://files.pythonhosted.org/packages/9b/e2/da1506ecea1f34a5e365964644b35edef53803052b763ca214ba3870c856/grpcio-1.80.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" + "hash": "29aca15edd0688c22ba01d7cc01cb000d72b2033f4a3c72a81a19b56fd143257", + "url": "https://files.pythonhosted.org/packages/b7/48/af6173dbca4454f4637a4678b67f52ca7e0c1ed7d5894d89d434fecede05/grpcio-1.80.0.tar.gz" }, { "algorithm": "sha256", - "hash": "29aca15edd0688c22ba01d7cc01cb000d72b2033f4a3c72a81a19b56fd143257", - "url": "https://files.pythonhosted.org/packages/b7/48/af6173dbca4454f4637a4678b67f52ca7e0c1ed7d5894d89d434fecede05/grpcio-1.80.0.tar.gz" + "hash": "3d4147a97c8344d065d01bbf8b6acec2cf86fb0400d40696c8bdad34a64ffc0e", + "url": "https://files.pythonhosted.org/packages/c5/6d/e65307ce20f5a09244ba9e9d8476e99fb039de7154f37fb85f26978b59c3/grpcio-1.80.0-cp314-cp314-linux_armv7l.whl" }, { "algorithm": "sha256", - "hash": "68e5851ac4b9afe07e7f84483803ad167852570d65326b34d54ca560bfa53fb6", - "url": "https://files.pythonhosted.org/packages/ff/40/96e07ecb604a6a67ae6ab151e3e35b132875d98bc68ec65f3e5ab3e781d7/grpcio-1.80.0-cp313-cp313-manylinux2014_i686.manylinux_2_17_i686.whl" + "hash": "2dcc70e9f0ba987526e8e8603a610fb4f460e42899e74e7a518bf3c68fe1bf05", + "url": "https://files.pythonhosted.org/packages/e8/43/f437a78f7f4f1d311804189e8f11fb311a01049b2e08557c1068d470cb2e/grpcio-1.80.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" } ], "project_name": "grpcio", @@ -2830,13 +3244,8 @@ }, { "algorithm": "sha256", - "hash": "2815a49a7a59f3e2edf0cf113ae88e8cb2ca2a221bf353fb60c609584f4884d4", - "url": "https://files.pythonhosted.org/packages/1b/c4/39d6e136cbeea9ca5a23aad4b33024319222adbdc059ebcda5fc7d9d5ff4/hf_xet-1.4.3-cp313-cp313t-musllinux_1_2_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "bee693ada985e7045997f05f081d0e12c4c08bd7626dc397f8a7c487e6c04f7f", - "url": "https://files.pythonhosted.org/packages/2b/d2/8bee5996b699262edb87dbb54118d287c0e1b2fc78af7cdc41857ba5e3c4/hf_xet-1.4.3-cp313-cp313t-macosx_11_0_arm64.whl" + "hash": "c5b48db1ee344a805a1b9bd2cda9b6b65fe77ed3787bd6e87ad5521141d317cd", + "url": "https://files.pythonhosted.org/packages/51/56/ea62552fe53db652a9099eda600b032d75554d0e86c12a73824bfedef88b/hf_xet-1.4.3-cp314-cp314t-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", @@ -2850,18 +3259,18 @@ }, { "algorithm": "sha256", - "hash": "987f09cfe418237812896a6736b81b1af02a3a6dcb4b4944425c4c4fca7a7cf8", - "url": "https://files.pythonhosted.org/packages/64/44/9eb6d21e5c34c63e5e399803a6932fa983cabdf47c0ecbcfe7ea97684b8c/hf_xet-1.4.3-cp313-cp313t-manylinux_2_28_aarch64.whl" + "hash": "22bdc1f5fb8b15bf2831440b91d1c9bbceeb7e10c81a12e8d75889996a5c9da8", + "url": "https://files.pythonhosted.org/packages/7d/f5/bc1456d4638061bea997e6d2db60a1a613d7b200e0755965ec312dc1ef79/hf_xet-1.4.3-cp314-cp314t-musllinux_1_2_x86_64.whl" }, { "algorithm": "sha256", - "hash": "7551659ba4f1e1074e9623996f28c3873682530aee0a846b7f2f066239228144", - "url": "https://files.pythonhosted.org/packages/72/43/724d307b34e353da0abd476e02f72f735cdd2bc86082dee1b32ea0bfee1d/hf_xet-1.4.3-cp313-cp313t-macosx_10_12_x86_64.whl" + "hash": "d0da85329eaf196e03e90b84c2d0aca53bd4573d097a75f99609e80775f98025", + "url": "https://files.pythonhosted.org/packages/ac/9f/9c23e4a447b8f83120798f9279d0297a4d1360bdbf59ef49ebec78fe2545/hf_xet-1.4.3-cp37-abi3-macosx_10_12_x86_64.whl" }, { "algorithm": "sha256", - "hash": "d0da85329eaf196e03e90b84c2d0aca53bd4573d097a75f99609e80775f98025", - "url": "https://files.pythonhosted.org/packages/ac/9f/9c23e4a447b8f83120798f9279d0297a4d1360bdbf59ef49ebec78fe2545/hf_xet-1.4.3-cp37-abi3-macosx_10_12_x86_64.whl" + "hash": "1feb0f3abeacee143367c326a128a2e2b60868ec12a36c225afb1d6c5a05e6d2", + "url": "https://files.pythonhosted.org/packages/b5/9c/defb6cb1de28bccb7bd8d95f6e60f72a3d3fa4cb3d0329c26fb9a488bfe7/hf_xet-1.4.3-cp314-cp314t-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", @@ -2870,8 +3279,13 @@ }, { "algorithm": "sha256", - "hash": "21644b404bb0100fe3857892f752c4d09642586fd988e61501c95bbf44b393a3", - "url": "https://files.pythonhosted.org/packages/c3/a1/e993d09cbe251196fb60812b09a58901c468127b7259d2bf0f68bf6088eb/hf_xet-1.4.3-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" + "hash": "8b301fc150290ca90b4fccd079829b84bb4786747584ae08b94b4577d82fb791", + "url": "https://files.pythonhosted.org/packages/c1/bd/8d001191893178ff8e826e46ad5299446e62b93cd164e17b0ffea08832ec/hf_xet-1.4.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "d972fbe95ddc0d3c0fc49b31a8a69f47db35c1e3699bf316421705741aab6653", + "url": "https://files.pythonhosted.org/packages/ce/48/6790b402803250e9936435613d3a78b9aaeee7973439f0918848dde58309/hf_xet-1.4.3-cp314-cp314t-manylinux_2_28_aarch64.whl" }, { "algorithm": "sha256", @@ -2880,8 +3294,8 @@ }, { "algorithm": "sha256", - "hash": "60cf7fc43a99da0a853345cf86d23738c03983ee5249613a6305d3e57a5dca74", - "url": "https://files.pythonhosted.org/packages/ea/7b/8ad6f16fdb82f5f7284a34b5ec48645bd575bdcd2f6f0d1644775909c486/hf_xet-1.4.3-cp313-cp313t-musllinux_1_2_aarch64.whl" + "hash": "5251d5ece3a81815bae9abab41cf7ddb7bcb8f56411bce0827f4a3071c92fdc6", + "url": "https://files.pythonhosted.org/packages/ec/36/3e8f85ca9fe09b8de2b2e10c63b3b3353d7dda88a0b3d426dffbe7b8313b/hf_xet-1.4.3-cp314-cp314t-macosx_10_12_x86_64.whl" } ], "project_name": "hf-xet", @@ -2895,33 +3309,58 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "6d1434d0bcc1b3ef048bae53f26456405c08aeed9827e65b24094f5f3a6793f1", - "url": "https://files.pythonhosted.org/packages/a2/e1/fda8325f51d06877e8e92500b15d4aff3855b4c3c91dbd9636a82e4591f2/hiredis-3.3.1-cp313-cp313-musllinux_1_2_x86_64.whl" + "hash": "a110d19881ca78a88583d3b07231e7c6864864f5f1f3491b638863ea45fa8708", + "url": "https://files.pythonhosted.org/packages/b7/3a/4fe39a169115434f911abff08ff485b9b6201c168500e112b3f6a8110c0a/hiredis-3.3.1-cp314-cp314t-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "ce334915f5d31048f76a42c607bf26687cf045eb1bc852b7340f09729c6a64fc", + "url": "https://files.pythonhosted.org/packages/02/09/f4314cf096552568b5ea785ceb60c424771f4d35a76c410ad39d258f74bc/hiredis-3.3.1-cp314-cp314-musllinux_1_2_s390x.whl" + }, + { + "algorithm": "sha256", + "hash": "439f9a5cc8f9519ce208a24cdebfa0440fef26aa682a40ba2c92acb10a53f5e0", + "url": "https://files.pythonhosted.org/packages/03/72/0450d6b449da58120c5497346eb707738f8f67b9e60c28a8ef90133fc81f/hiredis-3.3.1-cp314-cp314-macosx_10_15_universal2.whl" + }, + { + "algorithm": "sha256", + "hash": "8887bf0f31e4b550bd988c8863b527b6587d200653e9375cd91eea2b944b7424", + "url": "https://files.pythonhosted.org/packages/0d/bb/b5f4f98e44626e2446cd8a52ce6cb1fc1c99786b6e2db3bf09cea97b90cd/hiredis-3.3.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "027ce4fabfeff5af5b9869d5524770877f9061d118bc36b85703ae3faf5aad8e", + "url": "https://files.pythonhosted.org/packages/0f/8f/5be4344e542aa8d349a03d05486c59d9ca26f69c749d11e114bf34b84d50/hiredis-3.3.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "3724f0e58c6ff76fd683429945491de71324ab1bc0ad943a8d68cb0932d24075", + "url": "https://files.pythonhosted.org/packages/22/c0/0be33a29bcd463e6cbb0282515dd4d0cdfe33c30c7afc6d4d8c460e23266/hiredis-3.3.1-cp314-cp314-macosx_10_15_x86_64.whl" }, { "algorithm": "sha256", - "hash": "eddeb9a153795cf6e615f9f3cef66a1d573ff3b6ee16df2b10d1d1c2f2baeaa8", - "url": "https://files.pythonhosted.org/packages/03/05/843005d68403a3805309075efc6638360a3ababa6cb4545163bf80c8e7f7/hiredis-3.3.1-cp313-cp313-musllinux_1_2_aarch64.whl" + "hash": "dcea8c3f53674ae68e44b12e853b844a1d315250ca6677b11ec0c06aff85e86c", + "url": "https://files.pythonhosted.org/packages/41/a2/29e230226ec2a31f13f8a832fbafe366e263f3b090553ebe49bb4581a7bd/hiredis-3.3.1-cp314-cp314t-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "2b96da7e365d6488d2a75266a662cbe3cc14b28c23dd9b0c9aa04b5bc5c20192", - "url": "https://files.pythonhosted.org/packages/06/14/75b2deb62a61fc75a41ce1a6a781fe239133bbc88fef404d32a148ad152a/hiredis-3.3.1-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" + "hash": "9bfdeff778d3f7ff449ca5922ab773899e7d31e26a576028b06a5e9cf0ed8c34", + "url": "https://files.pythonhosted.org/packages/4d/f5/ae10fff82d0f291e90c41bf10a5d6543a96aae00cccede01bf2b6f7e178d/hiredis-3.3.1-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" }, { "algorithm": "sha256", - "hash": "09f5e510f637f2c72d2a79fb3ad05f7b6211e057e367ca5c4f97bb3d8c9d71f4", - "url": "https://files.pythonhosted.org/packages/6a/a4/6ab925177f289830008dbe1488a9858675e2e234f48c9c1653bd4d0eaddc/hiredis-3.3.1-cp313-cp313-macosx_11_0_arm64.whl" + "hash": "29fe35e3c6fe03204e75c86514f452591957a1e06b05d86e10d795455b71c355", + "url": "https://files.pythonhosted.org/packages/62/f2/f999854bfaf3bcbee0f797f24706c182ecfaca825f6a582f6281a6aa97e0/hiredis-3.3.1-cp314-cp314-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "52d5641027d6731bc7b5e7d126a5158a99784a9f8c6de3d97ca89aca4969e9f8", - "url": "https://files.pythonhosted.org/packages/7e/8c/8e03dcbfde8e2ca3f880fce06ad0877b3f098ed5fdfb17cf3b821a32323a/hiredis-3.3.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" + "hash": "0b5ff2f643f4b452b0597b7fe6aa35d398cb31d8806801acfafb1558610ea2aa", + "url": "https://files.pythonhosted.org/packages/89/2e/bf241707ad86b9f3ebfbc7ab89e19d5ec243ff92ca77644a383622e8740b/hiredis-3.3.1-cp314-cp314t-musllinux_1_2_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "b4fe7f38aa8956fcc1cea270e62601e0e11066aff78e384be70fd283d30293b6", - "url": "https://files.pythonhosted.org/packages/94/06/618d509cc454912028f71995f3dd6eb54606f0aa8163ff79c5b7ec1f2bda/hiredis-3.3.1-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" + "hash": "de94b409f49eb6a588ebdd5872e826caec417cd77c17af0fb94f2128427f1a2a", + "url": "https://files.pythonhosted.org/packages/93/ae/d3752a8f03a1fca43d402389d2a2d234d3db54c4d1f07f26c1041ca3c5de/hiredis-3.3.1-cp314-cp314t-macosx_10_15_x86_64.whl" }, { "algorithm": "sha256", @@ -2930,28 +3369,58 @@ }, { "algorithm": "sha256", - "hash": "f19ee7dc1ef8a6497570d91fa4057ba910ad98297a50b8c44ff37589f7c89d17", - "url": "https://files.pythonhosted.org/packages/9b/45/198be960a7443d6eb5045751e929480929c0defbca316ce1a47d15187330/hiredis-3.3.1-cp313-cp313-macosx_10_15_x86_64.whl" + "hash": "79cd03e7ff550c17758a7520bf437c156d3d4c8bb74214deeafa69cda49c85a4", + "url": "https://files.pythonhosted.org/packages/9f/76/e32c868a2fa23cd82bacaffd38649d938173244a0e717ec1c0c76874dbdd/hiredis-3.3.1-cp314-cp314t-macosx_11_0_arm64.whl" + }, + { + "algorithm": "sha256", + "hash": "2afc675b831f7552da41116fffffca4340f387dc03f56d6ec0c7895ab0b59a10", + "url": "https://files.pythonhosted.org/packages/ac/9a/1ddf9ea236a292963146cbaf6722abeb9d503ca47d821267bb8b3b81c4f7/hiredis-3.3.1-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" + }, + { + "algorithm": "sha256", + "hash": "ee11fd431f83d8a5b29d370b9d79a814d3218d30113bdcd44657e9bdf715fc92", + "url": "https://files.pythonhosted.org/packages/b1/2e/3f56e438efc8fc27ed4a3dbad58c0280061466473ec35d8f86c90c841a84/hiredis-3.3.1-cp314-cp314-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "6ffa7ba2e2da1f806f3181b9730b3e87ba9dbfec884806725d4584055ba3faa6", + "url": "https://files.pythonhosted.org/packages/c9/f6/d687d36a74ce6cf448826cf2e8edfc1eb37cc965308f74eb696aa97c69df/hiredis-3.3.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "3586c8a5f56d34b9dddaaa9e76905f31933cac267251006adf86ec0eef7d0400", + "url": "https://files.pythonhosted.org/packages/d0/c1/b39170d8bcccd01febd45af4ac6b43ff38e134a868e2ec167a82a036fb35/hiredis-3.3.1-cp314-cp314t-musllinux_1_2_s390x.whl" + }, + { + "algorithm": "sha256", + "hash": "4106201cd052d9eabe3cb7b5a24b0fe37307792bda4fcb3cf6ddd72f697828e8", + "url": "https://files.pythonhosted.org/packages/d4/b8/e070a1dbf8a1bbb8814baa0b00836fbe3f10c7af8e11f942cc739c64e062/hiredis-3.3.1-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" + }, + { + "algorithm": "sha256", + "hash": "ee37fe8cf081b72dea72f96a0ee604f492ec02252eb77dc26ff6eec3f997b580", + "url": "https://files.pythonhosted.org/packages/db/ac/f520dc0066a62a15aa920c7dd0a2028c213f4862d5f901409ae92ee5d785/hiredis-3.3.1-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "264ee7e9cb6c30dc78da4ecf71d74cf14ca122817c665d838eda8b4384bce1b0", - "url": "https://files.pythonhosted.org/packages/c6/47/e1cdccc559b98e548bcff0868c3938d375663418c0adca465895ee1f72e7/hiredis-3.3.1-cp313-cp313-musllinux_1_2_s390x.whl" + "hash": "907f7b5501a534030738f0f27459a612d2266fd0507b007bb8f3e6de08167920", + "url": "https://files.pythonhosted.org/packages/dd/5a/94f9a505b2ff5376d4a05fb279b69d89bafa7219dd33f6944026e3e56f80/hiredis-3.3.1-cp314-cp314t-macosx_10_15_universal2.whl" }, { "algorithm": "sha256", - "hash": "afe3c3863f16704fb5d7c2c6ff56aaf9e054f6d269f7b4c9074c5476178d1aba", - "url": "https://files.pythonhosted.org/packages/d8/4b/c7f4d6d6643622f296395269e24b02c69d4ac72822f052b8cae16fa3af03/hiredis-3.3.1-cp313-cp313-macosx_10_15_universal2.whl" + "hash": "1ac7697365dbe45109273b34227fee6826b276ead9a4a007e0877e1d3f0fcf21", + "url": "https://files.pythonhosted.org/packages/ef/93/73a77b54ba94e82f76d02563c588d8a062513062675f483a033a43015f2c/hiredis-3.3.1-cp314-cp314-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "011a9071c3df4885cac7f58a2623feac6c8e2ad30e6ba93c55195af05ce61ff5", - "url": "https://files.pythonhosted.org/packages/f5/23/abe2476244fd792f5108009ec0ae666eaa5b2165ca19f2e86638d8324ac9/hiredis-3.3.1-cp313-cp313-musllinux_1_2_ppc64le.whl" + "hash": "d42f3a13290f89191568fc113d95a3d2c8759cdd8c3672f021d8b7436f909e75", + "url": "https://files.pythonhosted.org/packages/f2/c8/cd9ab90fec3a301d864d8ab6167aea387add8e2287969d89cbcd45d6b0e0/hiredis-3.3.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" }, { "algorithm": "sha256", - "hash": "1b46e96b50dad03495447860510daebd2c96fd44ed25ba8ccb03e9f89eaa9d34", - "url": "https://files.pythonhosted.org/packages/fe/c8/a0ddbb9e9c27fcb0022f7b7e93abc75727cb634c6a5273ca5171033dac78/hiredis-3.3.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" + "hash": "2b6da6e07359107c653a809b3cff2d9ccaeedbafe33c6f16434aef6f53ce4a2b", + "url": "https://files.pythonhosted.org/packages/f3/c2/1b2dcbe5dc53a46a8cb05bed67d190a7e30bad2ad1f727ebe154dfeededd/hiredis-3.3.1-cp314-cp314-musllinux_1_2_ppc64le.whl" } ], "project_name": "hiredis", @@ -3660,88 +4129,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", @@ -3849,38 +4318,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": "8033b78232555bb1856b3298bef2898ec8b334d3d465c1822c665206d1fa910a", + "url": "https://files.pythonhosted.org/packages/45/0e/083e00fe74e576b463e7b00e4214b8962f27bd70c5c77e494c0211a77342/memray-1.19.2-cp314-cp314t-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "907470e2684568eb91a993ae69a08b1430494c8f2f6ef489b4b78519d9dae3d0", + "url": "https://files.pythonhosted.org/packages/3b/c6/2f02475e85ccd32fa306736986f1f77f99365066ecdc859f5078148ebc40/memray-1.19.2-cp314-cp314-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "cf951dae8d27d502fbc549f6784460a70cce05b1e71bf5446d8692a74051f14f", + "url": "https://files.pythonhosted.org/packages/4a/f0/3adad59ebed6841c2f88b43c9b90cc9c03ff086129a8aef3cff23c92d6ac/memray-1.19.2-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "124138f35fea36c434256c417f1b8cb32f78769f208530c1e56bf2c2b7654120", + "url": "https://files.pythonhosted.org/packages/76/12/01bb32188c011e6d802469e04c1d7c8054eb8300164e2269c830f5b26a8e/memray-1.19.2-cp314-cp314t-macosx_10_15_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "b6a43db4c1466446a905a77944813253231ac0269f758c6c6bc03ceb1821c1b6", + "url": "https://files.pythonhosted.org/packages/9f/02/9e4a68bdd5ebc9079f97bdf287cc0ccc51c18e9edc205de7d41648315809/memray-1.19.2-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "edb7a3c2a9e97fb409b352f6c316598c7c0c3c22732e73704d25b9eb75ae2f2d", + "url": "https://files.pythonhosted.org/packages/a5/5c/30aca63f4b88dca79ba679675200938652c816edee34c12565d2f17ea936/memray-1.19.2-cp314-cp314t-manylinux2014_i686.manylinux_2_17_i686.whl" + }, + { + "algorithm": "sha256", + "hash": "a7630865fbf3823aa2d1a6f7536f7aec88cf8ccf5b2498aad44adbc733f6bd2e", + "url": "https://files.pythonhosted.org/packages/d4/00/2c342b1472f9f03018bb88c80760cdfa6979404d63c4300c607fd0562607/memray-1.19.2-cp314-cp314-manylinux2014_i686.manylinux_2_17_i686.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": "95b6c02ca7f8555b5bee1c54c50cbbcf2033e07ebca95dade2ac3a27bb36b320", + "url": "https://files.pythonhosted.org/packages/e1/78/73ee3d0ebee3c38fbb2d51766854d2932beec6481063532a6019bf340a2d/memray-1.19.2-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.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": "410377c0eae8d544421f74b919a18e119279fe1a2fa5ff381404b55aeb4c6514", + "url": "https://files.pythonhosted.org/packages/e1/f4/3d8205b9f46657d26d54d1e644f27d09955b737189354a01907d8a08c7e2/memray-1.19.2-cp314-cp314-macosx_10_15_x86_64.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": "240192dc98ff0b3501055521bfd73566d339808b11bd5af10865afe6ae18abef", + "url": "https://files.pythonhosted.org/packages/e5/e0/d9b59f8be00f27440f60b95da5db6515a1c44c481651b8d2fa8f3468fc35/memray-1.19.2-cp314-cp314t-macosx_11_0_arm64.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": "680cb90ac4564d140673ac9d8b7a7e07a8405bd1fb8f933da22616f93124ca84", + "url": "https://files.pythonhosted.org/packages/e9/db/56ff21f47be261ab781105b233d1851d3f2fcdd4f08ebf689f6d6fd84f0d/memray-1.19.2.tar.gz" }, { "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": "a53dc4032581ed075fcb62a4acc0ced14fb90a8269159d4e53dfac7af269c255", + "url": "https://files.pythonhosted.org/packages/fb/07/7a342801317eff410a8267b55cb7514e156ee1f574e690852eb240bbe9fd/memray-1.19.2-cp314-cp314-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "eb75c075874a6eccddf361513d9d4a9223dd940580c6370a6ba5339bae5d0ba2", - "url": "https://files.pythonhosted.org/packages/df/40/66e6ae86c0a22b8b998779fa8d6c0ab9ee63f0943198adcf714934286cbf/memray-1.17.2.tar.gz" + "hash": "c23e2b4be22a23cf5cae08854549e3460869a36c5f4bedc739b646ac97da4a60", + "url": "https://files.pythonhosted.org/packages/fe/ae/2cf960526c9b1f6d46977fc70e11de29ca6b9eafeeb42d1cec7d3bcb056a/memray-1.19.2-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" } ], "project_name": "memray", @@ -3919,8 +4418,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\"", @@ -3933,7 +4432,7 @@ "typing_extensions; python_version < \"3.8.0\"" ], "requires_python": ">=3.7.0", - "version": "1.17.2" + "version": "1.19.2" }, { "artifacts": [ @@ -3981,13 +4480,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", @@ -3996,23 +4520,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": "a668204fa43e6d02f89dbe79a30b0d67238d9ec4c5bd8a940fc3a004a47b721b", + "url": "https://files.pythonhosted.org/packages/87/1c/33c8a24959cf193966ef11a6f6a2995a65eb066bd681fd085afd519a57ce/msgpack-1.1.2-cp314-cp314t-macosx_11_0_arm64.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": "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": "42eefe2c3e2af97ed470eec850facbe1b5ad1d6eacdbadc42ec98e7dcf68b4b7", - "url": "https://files.pythonhosted.org/packages/92/dc/c385f38f2c2433333345a82926c6bfa5ecfff3ef787201614317b58dd8be/msgpack-1.1.2-cp313-cp313-macosx_11_0_arm64.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": "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": "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", @@ -4024,163 +4553,163 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "27d8f8e125c07cb954e54d75d04905a9bba8a439c1d84aca94949d4d03d8601c", - "url": "https://files.pythonhosted.org/packages/fd/69/b547032297c7e63ba2af494edba695d781af8a0c6e89e4d06cf848b21d80/multidict-6.6.4-py3-none-any.whl" + "hash": "55d97cc6dae627efa6a6e548885712d4864b81110ac76fa4e534c03819fa4a56", + "url": "https://files.pythonhosted.org/packages/81/08/7036c080d7117f28a4af526d794aab6a84463126db031b007717c1a6676e/multidict-6.7.1-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": "a0543217a6a017692aa6ae5cc39adb75e587af0f3a82288b1492eb73dd6cc2a4", + "url": "https://files.pythonhosted.org/packages/07/d0/c0a72000243756e8f5a277b6b514fa005f2c73d481b7d9e47cd4568aa2e4/multidict-6.7.1-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.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": "ec6652a1bee61c53a3e5776b6049172c53b6aaba34f18c9ad04f82712bac623d", + "url": "https://files.pythonhosted.org/packages/1a/c2/c2d94cbe6ac1753f3fc980da97b3d930efe1da3af3c9f5125354436c073d/multidict-6.7.1.tar.gz" }, { "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": "1e3a8bb24342a8201d178c3b4984c26ba81a577c80d4d525727427460a50c22d", + "url": "https://files.pythonhosted.org/packages/24/bb/2c0c2287963f4259c85e8bcbba9182ced8d7fca65c780c38e99e61629d11/multidict-6.7.1-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.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": "2e1425e2f99ec5bd36c15a01b690a1a2456209c5deed58f95469ffb46039ccbb", + "url": "https://files.pythonhosted.org/packages/35/48/e58cd31f6c7d5102f2a4bf89f96b9cf7e00b6c6f3d04ecc44417c00a5a3c/multidict-6.7.1-cp314-cp314-musllinux_1_2_armv7l.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": "14525a5f61d7d0c94b368a42cff4c9a4e7ba2d52e2672a7b23d84dc86fb02b0c", + "url": "https://files.pythonhosted.org/packages/37/e8/5284c53310dcdc99ce5d66563f6e5773531a9b9fe9ec7a615e9bc306b05f/multidict-6.7.1-cp314-cp314t-macosx_11_0_arm64.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": "b4938326284c4f1224178a560987b6cf8b4d38458b113d9b8c1db1a836e640a2", + "url": "https://files.pythonhosted.org/packages/41/5f/604ae839e64a4a6efc80db94465348d3b328ee955e37acb24badbcd24d83/multidict-6.7.1-cp314-cp314t-musllinux_1_2_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": "7a7e590ff876a3eaf1c02a4dfe0724b6e69a9e9de6d8f556816f29c496046e59", + "url": "https://files.pythonhosted.org/packages/41/75/4ad0973179361cdf3a113905e6e088173198349131be2b390f9fa4da5fc6/multidict-6.7.1-cp314-cp314t-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": "fa263a02f4f2dd2d11a7b1bb4362aa7cb1049f84a9235d31adf63f30143469a0", + "url": "https://files.pythonhosted.org/packages/48/5a/d5a99e3acbca0e29c5d9cba8f92ceb15dce78bab963b308ae692981e3a5d/multidict-6.7.1-cp314-cp314-musllinux_1_2_aarch64.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": "283ddac99f7ac25a4acadbf004cb5ae34480bbeb063520f70ce397b281859362", + "url": "https://files.pythonhosted.org/packages/4b/25/8167187f62ae3cbd52da7893f58cb036b47ea3fb67138787c76800158982/multidict-6.7.1-cp314-cp314-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": "93b1818e4a6e0930454f0f2af7dfce69307ca03cdcfb3739bf4d91241967b6c1", + "url": "https://files.pythonhosted.org/packages/4d/c1/11f664f14d525e4a1b5327a82d4de61a1db604ab34c6603bb3c2cc63ad34/multidict-6.7.1-cp314-cp314-musllinux_1_2_s390x.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": "233b398c29d3f1b9676b4b6f75c518a06fcb2ea0b925119fb2c1bc35c05e1601", + "url": "https://files.pythonhosted.org/packages/64/f2/6e1107d226278c876c783056b7db43d800bb64c6131cec9c8dfb6903698e/multidict-6.7.1-cp314-cp314-musllinux_1_2_ppc64le.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": "c0abd12629b0af3cf590982c0b413b1e7395cd4ec026f30986818ab95bfaa94a", + "url": "https://files.pythonhosted.org/packages/7a/68/53b5494738d83558d87c3c71a486504d8373421c3e0dbb6d0db48ad42ee0/multidict-6.7.1-cp314-cp314t-macosx_10_15_x86_64.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": "e628ef0e6859ffd8273c69412a2465c4be4a9517d07261b33334b5ec6f3c7489", + "url": "https://files.pythonhosted.org/packages/7e/a9/a50d2669e506dad33cfc45b5d574a205587b7b8a5f426f2fbb2e90882588/multidict-6.7.1-cp314-cp314t-musllinux_1_2_aarch64.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": "6b10359683bd8806a200fd2909e7c8ca3a7b24ec1d8132e483d58e791d881048", + "url": "https://files.pythonhosted.org/packages/8b/13/78f7275e73fa17b24c9a51b0bd9d73ba64bb32d0ed51b02a746eb876abe7/multidict-6.7.1-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl" }, { "algorithm": "sha256", - "hash": "d2d4e4787672911b48350df02ed3fa3fffdc2f2e8ca06dd6afdf34189b76a9dd", - "url": "https://files.pythonhosted.org/packages/69/7f/0652e6ed47ab288e3756ea9c0df8b14950781184d4bd7883f4d87dd41245/multidict-6.6.4.tar.gz" + "hash": "8f333ec9c5eb1b7105e3b84b53141e66ca05a19a605368c55450b6ba208cb9ee", + "url": "https://files.pythonhosted.org/packages/91/cc/db74228a8be41884a567e88a62fd589a913708fcf180d029898c17a9a371/multidict-6.7.1-cp314-cp314-macosx_10_15_universal2.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": "497394b3239fc6f0e13a78a3e1b61296e72bf1c5f94b4c4eb80b265c37a131cd", + "url": "https://files.pythonhosted.org/packages/94/33/1cd210229559cb90b6786c30676bb0c58249ff42f942765f88793b41fdce/multidict-6.7.1-cp314-cp314-musllinux_1_2_i686.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": "b26684587228afed0d50cf804cc71062cc9c1cdf55051c4c6345d372947b268c", + "url": "https://files.pythonhosted.org/packages/a1/29/fdc6a43c203890dc2ae9249971ecd0c41deaedfe00d25cb6564b2edd99eb/multidict-6.7.1-cp314-cp314t-musllinux_1_2_ppc64le.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": "538cec1e18c067d0e6103aa9a74f9e832904c957adc260e61cd9d8cf0c3b3d37", + "url": "https://files.pythonhosted.org/packages/a1/e7/69a3a83b7b030cf283fb06ce074a05a02322359783424d7edf0f15fe5022/multidict-6.7.1-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.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": "9004d8386d133b7e6135679424c91b0b854d2d164af6ea3f289f8f2761064609", + "url": "https://files.pythonhosted.org/packages/a2/76/b9669547afa5a1a25cd93eaca91c0da1c095b06b6d2d8ec25b713588d3a1/multidict-6.7.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.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": "97231140a50f5d447d3164f994b86a0bed7cd016e2682f8650d6a9158e14fd31", + "url": "https://files.pythonhosted.org/packages/a7/f9/44d4b3064c65079d2467888794dea218d1601898ac50222ab8a9a8094460/multidict-6.7.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.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": "9f9af11306994335398293f9958071019e3ab95e9a707dc1383a35613f6abcb9", + "url": "https://files.pythonhosted.org/packages/a9/14/a153a06101323e4cf086ecee3faadba52ff71633d471f9685c42e3736163/multidict-6.7.1-cp314-cp314t-musllinux_1_2_s390x.whl" }, { "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": "f99fe611c312b3c1c0ace793f92464d8cd263cc3b26b5721950d977b006b6c4d", + "url": "https://files.pythonhosted.org/packages/c0/6b/f69da15289e384ecf2a68837ec8b5ad8c33e973aa18b266f50fe55f24b8c/multidict-6.7.1-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.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": "5fa6a95dfee63893d80a34758cd0e0c118a30b8dcb46372bf75106c591b77889", + "url": "https://files.pythonhosted.org/packages/c3/9c/095bb28b5da139bd41fb9a5d5caff412584f377914bd8787c2aa98717130/multidict-6.7.1-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.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": "841189848ba629c3552035a6a7f5bf3b02eb304e9fea7492ca220a8eda6b0e5c", + "url": "https://files.pythonhosted.org/packages/c5/bb/1609558ad8b456b4827d3c5a5b775c93b87878fd3117ed3db3423dfbce1b/multidict-6.7.1-cp314-cp314t-musllinux_1_2_armv7l.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": "a407f13c188f804c759fc6a9f88286a565c242a76b27626594c133b82883b5c2", + "url": "https://files.pythonhosted.org/packages/d5/22/492f2246bb5b534abd44804292e81eeaf835388901f0c574bac4eeec73c5/multidict-6.7.1-cp314-cp314-macosx_10_15_x86_64.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": "ce1bbd7d780bb5a0da032e095c951f7014d6b0a205f8318308140f1a6aba159e", + "url": "https://files.pythonhosted.org/packages/d8/59/6f61039d2aa9261871e03ab9dc058a550d240f25859b05b67fd70f80d4b3/multidict-6.7.1-cp314-cp314t-musllinux_1_2_i686.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": "0458c978acd8e6ea53c81eefaddbbee9c6c5e591f41b3f5e8e194780fe026581", + "url": "https://files.pythonhosted.org/packages/e0/6d/f9293baa6146ba9507e360ea0292b6422b016907c393e2f63fc40ab7b7b5/multidict-6.7.1-cp314-cp314t-macosx_10_15_universal2.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": "f33dc2a3abe9249ea5d8360f969ec7f4142e7ac45ee7014d8f8d5acddf178b7b", + "url": "https://files.pythonhosted.org/packages/e1/9f/75a9ac888121d0c5bbd4ecf4eead45668b1766f6baabfb3b7f66a410e231/multidict-6.7.1-cp314-cp314-musllinux_1_2_x86_64.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": "17307b22c217b4cf05033dabefe68255a534d637c6c9b0cc8382718f87be4262", + "url": "https://files.pythonhosted.org/packages/e4/fc/6800d0e5b3875568b4083ecf5f310dcf91d86d52573160834fb4bfcf5e4f/multidict-6.7.1-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.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": "0e161ddf326db5577c3a4cc2d8648f81456e8a20d40415541587a71620d7a7d1", + "url": "https://files.pythonhosted.org/packages/f1/4f/733c48f270565d78b4544f2baddc2fb2a245e5a8640254b12c36ac7ac68e/multidict-6.7.1-cp314-cp314-macosx_11_0_arm64.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": "7eee46ccb30ff48a1e35bb818cc90846c6be2b68240e42a78599166722cea709", + "url": "https://files.pythonhosted.org/packages/fe/3b/8ec5074bcfc450fe84273713b4b0a0dd47c0249358f5d82eb8104ffe2520/multidict-6.7.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" } ], "project_name": "multidict", @@ -4188,7 +4717,7 @@ "typing-extensions>=4.1.0; python_version < \"3.11\"" ], "requires_python": ">=3.9", - "version": "6.6.4" + "version": "6.7.1" }, { "artifacts": [ @@ -4230,41 +4759,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": [ @@ -4555,92 +5100,92 @@ "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": "cdbc8c9c02463fef4d3c53a9ba3336d05496ec8e1f1c53326a1e4acc11f5c600", + "url": "https://files.pythonhosted.org/packages/64/e6/9214f017b5db85e84e68602792f742e5dc5249e963503d1b356bee611e01/orjson-3.11.8-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": "5774c1fdcc98b2259800b683b19599c133baeb11d60033e2095fd9d4667b82db", + "url": "https://files.pythonhosted.org/packages/19/30/2a645fc9286b928675e43fa2a3a16fb7b6764aa78cc719dc82141e00f30b/orjson-3.11.8-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" }, { "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": "883206d55b1bd5f5679ad5e6ddd3d1a5e3cac5190482927fdb8c78fb699193b5", + "url": "https://files.pythonhosted.org/packages/3b/e4/66d4f30a90de45e2f0cbd9623588e8ae71eef7679dbe2ae954ed6d66a41f/orjson-3.11.8-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_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": "c2bdf7b2facc80b5e34f48a2d557727d5c5c57a8a450de122ae81fa26a81c1bc", + "url": "https://files.pythonhosted.org/packages/4e/31/dbfbefec9df060d34ef4962cd0afcb6fa7a9ec65884cb78f04a7859526c3/orjson-3.11.8-cp314-cp314-musllinux_1_2_armv7l.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": "fa72e71977bff96567b0f500fc5bfd2fdf915f34052c782a4c6ebbdaa97aa858", + "url": "https://files.pythonhosted.org/packages/52/c8/90d4b4c60c84d62068d0cf9e4d8f0a4e05e76971d133ac0c60d818d4db20/orjson-3.11.8-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.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": "14f7b8fcb35ef403b42fa5ecfa4ed032332a91f3dc7368fbce4184d59e1eae0d", + "url": "https://files.pythonhosted.org/packages/6c/8c/ddbbfd6ba59453c8fc7fe1d0e5983895864e264c37481b2a791db635f046/orjson-3.11.8-cp314-cp314-musllinux_1_2_aarch64.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": "ec795530a73c269a55130498842aaa762e4a939f6ce481a7e986eeaa790e9da4", + "url": "https://files.pythonhosted.org/packages/6d/35/b01910c3d6b85dc882442afe5060cbf719c7d1fc85749294beda23d17873/orjson-3.11.8-cp314-cp314-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.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": "ccd7ba1b0605813a0715171d39ec4c314cb97a9c85893c2c5c0c3a3729df38bf", + "url": "https://files.pythonhosted.org/packages/87/cf/f74e9ae9803d4ab46b163494adba636c6d7ea955af5cc23b8aaa94cfd528/orjson-3.11.8-cp314-cp314-musllinux_1_2_i686.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": "7679bc2f01bb0d219758f1a5f87bb7c8a81c0a186824a393b366876b4948e14f", + "url": "https://files.pythonhosted.org/packages/8d/c7/ea9e08d1f0ba981adffb629811148b44774d935171e7b3d780ae43c4c254/orjson-3.11.8-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" }, { "algorithm": "sha256", - "hash": "e8da3947d92123eda795b68228cafe2724815621fe35e8e320a9e9593a4bcd53", - "url": "https://files.pythonhosted.org/packages/81/0b/fea456a3ffe74e70ba30e01ec183a9b26bec4d497f61dcfce1b601059c60/orjson-3.10.18.tar.gz" + "hash": "96163d9cdc5a202703e9ad1b9ae757d5f0ca62f4fa0cc93d1f27b0e180cc404e", + "url": "https://files.pythonhosted.org/packages/9d/1b/2024d06792d0779f9dbc51531b61c24f76c75b9f4ce05e6f3377a1814cea/orjson-3.11.8.tar.gz" }, { "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": "14439063aebcb92401c11afc68ee4e407258d2752e62d748b6942dad20d2a70d", + "url": "https://files.pythonhosted.org/packages/b3/ea/eff3d9bfe47e9bc6969c9181c58d9f71237f923f9c86a2d2f490cd898c82/orjson-3.11.8-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.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": "c492a0e011c0f9066e9ceaa896fbc5b068c54d365fea5f3444b697ee01bc8625", + "url": "https://files.pythonhosted.org/packages/c2/56/c9ec97bd11240abef39b9e5d99a15462809c45f677420fd148a6c5e6295e/orjson-3.11.8-cp314-cp314-macosx_15_0_arm64.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": "8ac7381c83dd3d4a6347e6635950aa448f54e7b8406a27c7ecb4a37e9f1ae08b", + "url": "https://files.pythonhosted.org/packages/db/44/77b9a86d84a28d52ba3316d77737f6514e17118119ade3f91b639e859029/orjson-3.11.8-cp314-cp314-manylinux_2_17_i686.manylinux2014_i686.whl" } ], "project_name": "orjson", "requires_dists": [], - "requires_python": ">=3.9", - "version": "3.10.18" + "requires_python": ">=3.10", + "version": "3.11.8" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "b36f1fef9334a5588b4166f8bcd26a14e521f2b55e6b9de3aaa80d3ff7a37529", - "url": "https://files.pythonhosted.org/packages/b7/b9/c538f279a4e237a006a2c98387d081e9eb060d203d8ed34467cc0f0b9b53/packaging-26.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": "00243ae351a257117b6a241061796684b084ed1c516a08c48a3f7e147a9d80b4", - "url": "https://files.pythonhosted.org/packages/65/ee/299d360cdc32edc7d2cf530f3accf79c4fca01e96ffc950d8a52213bd8e4/packaging-26.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": "26.0" + "version": "24.2" }, { "artifacts": [ @@ -4777,128 +5322,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", @@ -4953,24 +5498,29 @@ }, { "algorithm": "sha256", - "hash": "1a571f2330c966c62aeda00dd24620425d4b0cc86881c89861fbc04549e5dc63", - "url": "https://files.pythonhosted.org/packages/37/d6/246513fbf9fa174af531f28412297dd05241d97a75911ac8febefa1a53c6/psutil-7.2.2-cp313-cp313t-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl" + "hash": "e452c464a02e7dc7822a05d25db4cde564444a67e58539a00f929c51eddda0cf", + "url": "https://files.pythonhosted.org/packages/57/49/0a41cefd10cb7505cdc04dab3eacf24c0c2cb158a998b8c7b1d27ee2c1f5/psutil-7.2.2-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" }, { "algorithm": "sha256", - "hash": "2edccc433cbfa046b980b0df0171cd25bcaeb3a68fe9022db0979e7aa74a826b", - "url": "https://files.pythonhosted.org/packages/51/08/510cbdb69c25a96f4ae523f733cdc963ae654904e8db864c07585ef99875/psutil-7.2.2-cp313-cp313t-macosx_10_13_x86_64.whl" + "hash": "b0726cecd84f9474419d67252add4ac0cd9811b04d61123054b9fb6f57df6e9e", + "url": "https://files.pythonhosted.org/packages/63/65/37648c0c158dc222aba51c089eb3bdfa238e621674dc42d48706e639204f/psutil-7.2.2-cp36-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" }, { "algorithm": "sha256", - "hash": "b0726cecd84f9474419d67252add4ac0cd9811b04d61123054b9fb6f57df6e9e", - "url": "https://files.pythonhosted.org/packages/63/65/37648c0c158dc222aba51c089eb3bdfa238e621674dc42d48706e639204f/psutil-7.2.2-cp36-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" + "hash": "7b6d09433a10592ce39b13d7be5a54fbac1d1228ed29abc880fb23df7cb694c9", + "url": "https://files.pythonhosted.org/packages/7b/64/665248b557a236d3fa9efc378d60d95ef56dd0a490c2cd37dafc7660d4a9/psutil-7.2.2-cp314-cp314t-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", "hash": "1a7b04c10f32cc88ab39cbf606e117fd74721c831c98a27dc04578deb0c16979", "url": "https://files.pythonhosted.org/packages/80/c4/f5af4c1ca8c1eeb2e92ccca14ce8effdeec651d5ab6053c589b074eda6e1/psutil-7.2.2-cp36-abi3-macosx_11_0_arm64.whl" }, + { + "algorithm": "sha256", + "hash": "eed63d3b4d62449571547b60578c5b2c4bcccc5387148db46e0c2313dad0ee00", + "url": "https://files.pythonhosted.org/packages/81/69/ef179ab5ca24f32acc1dac0c247fd6a13b501fd5534dbae0e05a1c48b66d/psutil-7.2.2-cp314-cp314t-macosx_10_15_x86_64.whl" + }, { "algorithm": "sha256", "hash": "fd04ef36b4a6d599bbdb225dd1d3f51e00105f6d48a28f006da7f9822f2606d8", @@ -4988,13 +5538,8 @@ }, { "algorithm": "sha256", - "hash": "917e891983ca3c1887b4ef36447b1e0873e70c933afc831c6b6da078ba474312", - "url": "https://files.pythonhosted.org/packages/b8/b5/9182c9af3836cca61696dabe4fd1304e17bc56cb62f17439e1154f225dd3/psutil-7.2.2-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "e78c8603dcd9a04c7364f1a3e670cea95d51ee865e4efb3556a3a63adef958ea", - "url": "https://files.pythonhosted.org/packages/d6/f5/97baea3fe7a5a9af7436301f85490905379b1c6f2dd51fe3ecf24b4c5fbf/psutil-7.2.2-cp313-cp313t-macosx_11_0_arm64.whl" + "hash": "1fa4ecf83bcdf6e6c8f4449aff98eefb5d0604bf88cb883d7da3d8d2d909546a", + "url": "https://files.pythonhosted.org/packages/d5/2e/e6782744700d6759ebce3043dcfa661fb61e2fb752b91cdeae9af12c2178/psutil-7.2.2-cp314-cp314t-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl" }, { "algorithm": "sha256", @@ -5106,58 +5651,108 @@ "artifacts": [ { "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": "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": "bac55842047567ddae177fb8189b89a60633ac956d5d37260f7f71b517fd8b87", - "url": "https://files.pythonhosted.org/packages/63/11/731b565ae1e81c43dac247a248ee204628186f6df97c9927bd06c62237f8/pycares-4.11.0-cp313-cp313-manylinux_2_28_aarch64.whl" + "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": "c863d9003ca0ce7df26429007859afd2a621d3276ed9fef154a9123db9252557", - "url": "https://files.pythonhosted.org/packages/8d/ad/9d1e96486d2eb5a2672c4d9a2dd372d015b8d7a332c6ac2722c4c8e6bbbf/pycares-4.11.0.tar.gz" + "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": "218619b912cef7c64a339ab0e231daea10c994a05699740714dff8c428b9694a", + "url": "https://files.pythonhosted.org/packages/3a/c4/cf40773cd9c36a12cebbe1e9b6fb120f9160dc9bfe0398d81a20b6c69972/pycares-4.11.0-cp314-cp314-musllinux_1_2_s390x.whl" + }, + { + "algorithm": "sha256", + "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": "31b85ad00422b38f426e5733a71dfb7ee7eb65a99ea328c508d4f552b1760dc8", + "url": "https://files.pythonhosted.org/packages/3c/c8/516901e46a1a73b3a75e87a35f3a3a4fe085f1214f37d954c9d7e782bd6d/pycares-4.11.0-cp314-cp314t-macosx_11_0_arm64.whl" + }, + { + "algorithm": "sha256", + "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": "3ef1ab7abbd238bb2dbbe871c3ea39f5a7fc63547c015820c1e24d0d494a1689", - "url": "https://files.pythonhosted.org/packages/91/c2/16dbc3dc33781a3c79cbdd76dd1cda808d98ba078d9a63a725d6a1fad181/pycares-4.11.0-cp313-cp313-musllinux_1_2_ppc64le.whl" + "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": "ea785d1f232b42b325578f0c8a2fa348192e182cc84a1e862896076a4a2ba2a7", - "url": "https://files.pythonhosted.org/packages/a9/b7/b3a5f99d4ab776662e71d5a56e8f6ea10741230ff988d1f502a8d429236b/pycares-4.11.0-cp313-cp313-manylinux_2_28_s390x.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": "7830709c23bbc43fbaefbb3dde57bdd295dc86732504b9d2e65044df8fd5e9fb", - "url": "https://files.pythonhosted.org/packages/c6/fb/9266979ba59d37deee1fd74452b2ae32a7395acafe1bee510ac023c6c9a5/pycares-4.11.0-cp313-cp313-musllinux_1_2_aarch64.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": "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", @@ -5194,11 +5789,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", @@ -5209,16 +5799,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", @@ -5229,46 +5809,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", @@ -5284,106 +5839,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": "c8e7af2f4e0194c22b5b37205bfb293d166a7344a5b0d0eaccebc376546d77d5", - "url": "https://files.pythonhosted.org/packages/04/8f/2551964ef045669801675f1cfc3b0d74147f4901c3ffa42be2ddb1f0efc4/pydantic_core-2.33.2-cp313-cp313-musllinux_1_1_aarch64.whl" + "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": "5c92edd15cd58b3c2d34873597a1e20f13094f59cf88068adb18947df5455b4e", - "url": "https://files.pythonhosted.org/packages/26/bd/d9602777e77fc6dbb0c7db9ad356e9a985825547dce5ad1d30ee04903918/pydantic_core-2.33.2-cp313-cp313-musllinux_1_1_armv7l.whl" + "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": "f517ca031dfc037a9c07e748cefd8d96235088b83b4f4ba8939105d20fa1dcd6", - "url": "https://files.pythonhosted.org/packages/3a/cc/5999d1eb705a6cefc31f0b4a90e9f7fc400539b1a1030529700cc1b51838/pydantic_core-2.33.2-cp313-cp313-macosx_11_0_arm64.whl" + "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": "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": "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": "65132b7b4a1c0beded5e057324b7e16e10910c106d43675d9bd87d4f38dde162", - "url": "https://files.pythonhosted.org/packages/42/db/0e950daa7e2230423ab342ae918a794964b053bec24ba8af013fc7c94846/pydantic_core-2.33.2-cp313-cp313-musllinux_1_1_x86_64.whl" + "hash": "08daa51ea16ad373ffd5e7606252cc32f07bc72b28284b6bc9c6df804816476e", + "url": "https://files.pythonhosted.org/packages/71/70/23b021c950c2addd24ec408e9ab05d59b035b39d97cdc1130e1bce647bb6/pydantic_core-2.41.5.tar.gz" }, { "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": "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": "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": "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": "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": "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": "61c18fba8e5e9db3ab908620af374db0ac1baa69f0f32df4f61ae23f15e586ac", - "url": "https://files.pythonhosted.org/packages/a4/7d/e09391c2eebeab681df2b74bfe6c43422fffede8dc74187b2b0bf6fd7571/pydantic_core-2.33.2-cp313-cp313t-macosx_11_0_arm64.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": "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": "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": "7cb8bc3605c29176e1b105350d2e6474142d7c1bd1d9327c4a9bdb46bf827acc", - "url": "https://files.pythonhosted.org/packages/ad/88/5f2260bdfae97aabf98f1778d43f69574390ad787afb646292a638c923d4/pydantic_core-2.33.2.tar.gz" + "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": "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": "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": "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": "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": [ @@ -5530,34 +6130,34 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "2c5efc453d45394fdd706ade797c0a81091eccd1d6e4bccfcd476e2b8e0ab5d9", - "url": "https://files.pythonhosted.org/packages/d4/24/a372aaf5c9b7208e7112038812994107bc65a84cd00e0354a88c2c77a617/pytest-9.0.3-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": "b86ada508af81d19edeb213c681b1d48246c1a91d304c6c81a427674c17eb91c", - "url": "https://files.pythonhosted.org/packages/7d/0d/549bd94f1a0a402dc8cf64563a117c0f3765662e2e668477624baeec44d5/pytest-9.0.3.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.0.1", + "iniconfig", "mock; extra == \"dev\"", - "packaging>=22", + "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.10", - "version": "9.0.3" + "requires_python": ">=3.8", + "version": "8.3.5" }, { "artifacts": [ @@ -5672,13 +6272,13 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "e1ae95d9af875e78f15e19aed0c6137ab1bb49c200f21f5061786490c9585c7a", - "url": "https://files.pythonhosted.org/packages/d8/db/795879cc3ddfe338599bddea6388cc5100b088db0a4caf6e6c1af1c27e04/python_discovery-1.2.2-py3-none-any.whl" + "hash": "b6a957b24c1cd79252484d3566d1b49527581d46e789aaf43181005e56201502", + "url": "https://files.pythonhosted.org/packages/67/0f/019d3949a40280f6193b62bc010177d4ce702d0fce424322286488569cd3/python_discovery-1.2.1-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "876e9c57139eb757cb5878cbdd9ae5379e5d96266c99ef731119e04fffe533bb", - "url": "https://files.pythonhosted.org/packages/de/ef/3bae0e537cfe91e8431efcba4434463d2c5a65f5a89edd47c6cf2f03c55f/python_discovery-1.2.2.tar.gz" + "hash": "180c4d114bff1c32462537eac5d6a332b768242b76b69c0259c7d14b1b680c9e", + "url": "https://files.pythonhosted.org/packages/b9/88/815e53084c5079a59df912825a279f41dd2e0df82281770eadc732f5352c/python_discovery-1.2.1.tar.gz" } ], "project_name": "python-discovery", @@ -5696,7 +6296,7 @@ "sphinxcontrib-mermaid>=2; extra == \"docs\"" ], "requires_python": ">=3.8", - "version": "1.2.2" + "version": "1.2.1" }, { "artifacts": [ @@ -5762,136 +6362,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" - }, - { - "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": "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": "2283a07e2c21a2aa78d9c4442724ec1eb15f5e42a723b99cb3d822d48f5f7ad1", - "url": "https://files.pythonhosted.org/packages/b1/16/95309993f1d3748cd644e02e38b75d50cbc0d9561d21f390a76242ce073f/pyyaml-6.0.3-cp313-cp313-macosx_11_0_arm64.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": "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", @@ -5905,19 +6460,19 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "92daf7e42c52b0787e6c75d01ecfb9a94f4ceff3764958b570c1dddedd47b200", - "url": "https://files.pythonhosted.org/packages/3d/ca/36133653e00939922dd1416f4c56177361289172a30563fcb9552c9ccde4/readchar-4.2.2-py3-none-any.whl" + "hash": "a769305cd3994bb5fa2764aa4073452dc105a4ec39068ffe6efd3c20c60acc77", + "url": "https://files.pythonhosted.org/packages/a9/10/e4b1e0e5b6b6745c8098c275b69bc9d73e9542d5c7da4f137542b499ed44/readchar-4.2.1-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "e3b270fe16fc90c50ac79107700330a133dd4c63d22939f5b03b4f24564d5dd8", - "url": "https://files.pythonhosted.org/packages/ed/49/a10341024c45bed95d13197ec9ef0f4e2fd10b5ca6e7f8d7684d18082398/readchar-4.2.2.tar.gz" + "hash": "91ce3faf07688de14d800592951e5575e9c7a3213738ed01d394dcc949b79adb", + "url": "https://files.pythonhosted.org/packages/dd/f8/8657b8cbb4ebeabfbdf991ac40eca8a1d1bd012011bd44ad1ed10f5cb494/readchar-4.2.1.tar.gz" } ], "project_name": "readchar", "requires_dists": [], "requires_python": ">=3.8", - "version": "4.2.2" + "version": "4.2.1" }, { "artifacts": [ @@ -6042,48 +6597,48 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "fd4c928ddf6bce586285daa6d90680b9c291cfd045fc40aad34e445d57b1bf51", - "url": "https://files.pythonhosted.org/packages/07/1e/99660f5a30fceb58494598e7d15df883a07292346ef5696f0c0ae5dee8c6/ruamel_yaml_clib-0.2.15-cp313-cp313-musllinux_1_2_x86_64.whl" + "hash": "542d77b72786a35563f97069b9379ce762944e67055bea293480f7734b2c7e5e", + "url": "https://files.pythonhosted.org/packages/b9/17/4e01a602693b572149f92c983c1f25bd608df02c3f5cf50fd1f94e124a59/ruamel_yaml_clib-0.2.15-cp314-cp314-musllinux_1_2_x86_64.whl" }, { "algorithm": "sha256", - "hash": "331fb180858dd8534f0e61aa243b944f25e73a4dae9962bd44c46d1761126bbf", - "url": "https://files.pythonhosted.org/packages/0c/5c/5964fcd1fd9acc53b7a3a5d9a05ea4f95ead9495d980003a557deb9769c7/ruamel_yaml_clib-0.2.15-cp313-cp313-musllinux_1_2_i686.whl" + "hash": "753faf20b3a5906faf1fc50e4ddb8c074cb9b251e00b14c18b28492f933ac8ef", + "url": "https://files.pythonhosted.org/packages/3e/bd/ab8459c8bb759c14a146990bf07f632c1cbec0910d4853feeee4be2ab8bb/ruamel_yaml_clib-0.2.15-cp314-cp314-macosx_10_15_x86_64.whl" }, { "algorithm": "sha256", - "hash": "4dcec721fddbb62e60c2801ba08c87010bd6b700054a09998c4d09c08147b8fb", - "url": "https://files.pythonhosted.org/packages/17/5e/2f970ce4c573dc30c2f95825f2691c96d55560268ddc67603dc6ea2dd08e/ruamel_yaml_clib-0.2.15-cp313-cp313-macosx_10_13_x86_64.whl" + "hash": "713cd68af9dfbe0bb588e144a61aad8dcc00ef92a82d2e87183ca662d242f524", + "url": "https://files.pythonhosted.org/packages/5b/87/822d95874216922e1120afb9d3fafa795a18fdd0c444f5c4c382f6dac761/ruamel_yaml_clib-0.2.15-cp314-cp314-musllinux_1_2_i686.whl" }, { "algorithm": "sha256", - "hash": "3eb199178b08956e5be6288ee0b05b2fb0b5c1f309725ad25d9c6ea7e27f962a", - "url": "https://files.pythonhosted.org/packages/ce/bb/6ef5abfa43b48dd55c30d53e997f8f978722f02add61efba31380d73e42e/ruamel_yaml_clib-0.2.15-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" + "hash": "480894aee0b29752560a9de46c0e5f84a82602f2bc5c6cde8db9a345319acfdf", + "url": "https://files.pythonhosted.org/packages/69/f2/c4cec0a30f1955510fde498aac451d2e52b24afdbcb00204d3a951b772c3/ruamel_yaml_clib-0.2.15-cp314-cp314-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "65f48245279f9bb301d1276f9679b82e4c080a1ae25e679f682ac62446fac471", - "url": "https://files.pythonhosted.org/packages/d6/03/a1baa5b94f71383913f21b96172fb3a2eb5576a4637729adbf7cd9f797f8/ruamel_yaml_clib-0.2.15-cp313-cp313-macosx_11_0_arm64.whl" + "hash": "7e74ea87307303ba91073b63e67f2c667e93f05a8c63079ee5b7a5c8d0d7b043", + "url": "https://files.pythonhosted.org/packages/6a/1d/70dbda370bd0e1a92942754c873bd28f513da6198127d1736fa98bb2a16f/ruamel_yaml_clib-0.2.15-cp314-cp314-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "46895c17ead5e22bea5e576f1db7e41cb273e8d062c04a6a49013d9f60996c25", - "url": "https://files.pythonhosted.org/packages/dc/19/40d676802390f85784235a05788fd28940923382e3f8b943d25febbb98b7/ruamel_yaml_clib-0.2.15-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl" + "hash": "bfd309b316228acecfa30670c3887dcedf9b7a44ea39e2101e75d2654522acd4", + "url": "https://files.pythonhosted.org/packages/75/08/e365ee305367559f57ba6179d836ecc3d31c7d3fdff2a40ebf6c32823a1f/ruamel_yaml_clib-0.2.15-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" }, { "algorithm": "sha256", - "hash": "ab0df0648d86a7ecbd9c632e8f8d6b21bb21b5fc9d9e095c796cacf32a728d2d", - "url": "https://files.pythonhosted.org/packages/de/4b/e98086e88f76c00c88a6bcf15eae27a1454f661a9eb72b111e6bbb69024d/ruamel_yaml_clib-0.2.15-cp313-cp313-musllinux_1_2_aarch64.whl" + "hash": "4d3b58ab2454b4747442ac76fab66739c72b1e2bb9bd173d7694b9f9dbc9c000", + "url": "https://files.pythonhosted.org/packages/82/c7/2480d062281385a2ea4f7cc9476712446e0c548cd74090bff92b4b49e898/ruamel_yaml_clib-0.2.15-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl" }, { "algorithm": "sha256", - "hash": "46e4cc8c43ef6a94885f72512094e482114a8a706d3c555a34ed4b0d20200600", - "url": "https://files.pythonhosted.org/packages/ea/97/60fda20e2fb54b83a61ae14648b0817c8f5d84a3821e40bfbdae1437026a/ruamel_yaml_clib-0.2.15.tar.gz" + "hash": "2812ff359ec1f30129b62372e5f22a52936fac13d5d21e70373dbca5d64bb97c", + "url": "https://files.pythonhosted.org/packages/a1/5c/8b56b08db91e569d0a4fbfa3e492ed2026081bdd7e892f63ba1c88a2f548/ruamel_yaml_clib-0.2.15-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" }, { "algorithm": "sha256", - "hash": "4d1032919280ebc04a80e4fb1e93f7a738129857eaec9448310e638c8bccefcf", - "url": "https://files.pythonhosted.org/packages/ff/5d/e4f84c9c448613e12bd62e90b23aa127ea4c46b697f3d760acc32cb94f25/ruamel_yaml_clib-0.2.15-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" + "hash": "46e4cc8c43ef6a94885f72512094e482114a8a706d3c555a34ed4b0d20200600", + "url": "https://files.pythonhosted.org/packages/ea/97/60fda20e2fb54b83a61ae14648b0817c8f5d84a3821e40bfbdae1437026a/ruamel_yaml_clib-0.2.15.tar.gz" } ], "project_name": "ruamel-yaml-clib", @@ -6136,88 +6691,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", @@ -6337,58 +6892,58 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "ec44cfa7ef1a728e88ad41674de50f6db8cfdb3e2af84af86e0041aaf02d43d0", - "url": "https://files.pythonhosted.org/packages/e5/30/8519fdde58a7bdf155b714359791ad1dc018b47d60269d5d160d311fdc36/sqlalchemy-2.0.49-py3-none-any.whl" + "hash": "a66fe406437dd65cacd96a72689a3aaaecaebbcd62d81c5ac1c0fdbeac835096", + "url": "https://files.pythonhosted.org/packages/46/2c/9664130905f03db57961b8980b05cab624afd114bf2be2576628a9f22da4/sqlalchemy-2.0.48-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "d15950a57a210e36dd4cec1aac22787e2a4d57ba9318233e2ef8b2daf9ff2d5f", - "url": "https://files.pythonhosted.org/packages/09/45/461788f35e0364a8da7bda51a1fe1b09762d0c32f12f63727998d85a873b/sqlalchemy-2.0.49.tar.gz" + "hash": "5ca74f37f3369b45e1f6b7b06afb182af1fd5dde009e4ffd831830d98cbe5fe7", + "url": "https://files.pythonhosted.org/packages/1f/73/b4a9737255583b5fa858e0bb8e116eb94b88c910164ed2ed719147bde3de/sqlalchemy-2.0.48.tar.gz" }, { "algorithm": "sha256", - "hash": "24bd94bb301ec672d8f0623eba9226cc90d775d25a0c92b5f8e4965d7f3a1518", - "url": "https://files.pythonhosted.org/packages/28/4b/52a0cb2687a9cd1648252bb257be5a1ba2c2ded20ba695c65756a55a15a4/sqlalchemy-2.0.49-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" + "hash": "288937433bd44e3990e7da2402fabc44a3c6c25d3704da066b85b89a85474ae0", + "url": "https://files.pythonhosted.org/packages/2a/ca/ece73c81a918add0965b76b868b7b5359e068380b90ef1656ee995940c02/sqlalchemy-2.0.48-cp314-cp314-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "22d8798819f86720bc646ab015baff5ea4c971d68121cb36e2ebc2ee43ead2b7", - "url": "https://files.pythonhosted.org/packages/88/50/a6af0ff9dc954b43a65ca9b5367334e45d99684c90a3d3413fc19a02d43c/sqlalchemy-2.0.49-cp313-cp313-musllinux_1_2_aarch64.whl" + "hash": "49b7bddc1eebf011ea5ab722fdbe67a401caa34a350d278cc7733c0e88fecb1f", + "url": "https://files.pythonhosted.org/packages/6c/1c/b3abdf0f402aa3f60f0df6ea53d92a162b458fca2321d8f1f00278506402/sqlalchemy-2.0.48-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" }, { "algorithm": "sha256", - "hash": "a51d3db74ba489266ef55c7a4534eb0b8db9a326553df481c11e5d7660c8364d", - "url": "https://files.pythonhosted.org/packages/8c/d8/fda95459204877eed0458550d6c7c64c98cc50c2d8d618026737de9ed41a/sqlalchemy-2.0.49-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" + "hash": "5aee45fd2c6c0f2b9cdddf48c48535e7471e42d6fb81adfde801da0bd5b93241", + "url": "https://files.pythonhosted.org/packages/83/e3/69d8711b3f2c5135e9cde5f063bc1605860f0b2c53086d40c04017eb1f77/sqlalchemy-2.0.48-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" }, { "algorithm": "sha256", - "hash": "8e20e511dc15265fb433571391ba313e10dd8ea7e509d51686a51313b4ac01a2", - "url": "https://files.pythonhosted.org/packages/a2/bc/3494270da80811d08bcfa247404292428c4fe16294932bce5593f215cad9/sqlalchemy-2.0.49-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" + "hash": "8183dc57ae7d9edc1346e007e840a9f3d6aa7b7f165203a99e16f447150140d2", + "url": "https://files.pythonhosted.org/packages/88/11/fbaf1ae91fa4ee43f4fe79661cead6358644824419c26adb004941bdce7c/sqlalchemy-2.0.48-cp314-cp314-musllinux_1_2_x86_64.whl" }, { "algorithm": "sha256", - "hash": "46796877b47034b559a593d7e4b549aba151dae73f9e78212a3478161c12ab08", - "url": "https://files.pythonhosted.org/packages/a5/3d/ce71cfa82c50a373fd2148b3c870be05027155ce791dc9a5dcf439790b8b/sqlalchemy-2.0.49-cp313-cp313t-musllinux_1_2_x86_64.whl" + "hash": "7a936f1bb23d370b7c8cc079d5fce4c7d18da87a33c6744e51a93b0f9e97e9b3", + "url": "https://files.pythonhosted.org/packages/cd/7d/5936c7a03a0b0cb0fa0cc425998821c6029756b0855a8f7ee70fba1de955/sqlalchemy-2.0.48-cp314-cp314t-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "df2d441bacf97022e81ad047e1597552eb3f83ca8a8f1a1fdd43cd7fe3898120", - "url": "https://files.pythonhosted.org/packages/ae/81/81755f50eb2478eaf2049728491d4ea4f416c1eb013338682173259efa09/sqlalchemy-2.0.49-cp313-cp313-macosx_11_0_arm64.whl" + "hash": "426c5ca86415d9b8945c7073597e10de9644802e2ff502b8e1f11a7a2642856b", + "url": "https://files.pythonhosted.org/packages/f2/5e/327428a034407651a048f5e624361adf3f9fbac9d0fa98e981e9c6ff2f5e/sqlalchemy-2.0.48-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" }, { "algorithm": "sha256", - "hash": "9b1c058c171b739e7c330760044803099c7fff11511e3ab3573e5327116a9c33", - "url": "https://files.pythonhosted.org/packages/bc/d1/5f6bdad8de0bf546fc74370939621396515e0cdb9067402d6ba1b8afbe9a/sqlalchemy-2.0.49-cp313-cp313-musllinux_1_2_x86_64.whl" + "hash": "e004aa9248e8cb0a5f9b96d003ca7c1c0a5da8decd1066e7b53f59eb8ce7c62b", + "url": "https://files.pythonhosted.org/packages/f4/33/cea7dfc31b52904efe3dcdc169eb4514078887dff1f5ae28a7f4c5d54b3c/sqlalchemy-2.0.48-cp314-cp314t-musllinux_1_2_x86_64.whl" }, { "algorithm": "sha256", - "hash": "47604cb2159f8bbd5a1ab48a714557156320f20871ee64d550d8bf2683d980d3", - "url": "https://files.pythonhosted.org/packages/cd/f5/038741f5e747a5f6ea3e72487211579d8cbea5eb9827a9cbd61d0108c4bd/sqlalchemy-2.0.49-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" + "hash": "e2d0d88686e3d35a76f3e15a34e8c12d73fc94c1dea1cd55782e695cc14086dd", + "url": "https://files.pythonhosted.org/packages/f7/b3/f437eaa1cf028bb3c927172c7272366393e73ccd104dcf5b6963f4ab5318/sqlalchemy-2.0.48-cp314-cp314-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "55250fe61d6ebfd6934a272ee16ef1244e0f16b7af6cd18ab5b1fc9f08631db0", - "url": "https://files.pythonhosted.org/packages/ff/0a/2aac8b78ac6487240cf7afef8f203ca783e8796002dc0cf65c4ee99ff8bb/sqlalchemy-2.0.49-cp313-cp313t-musllinux_1_2_aarch64.whl" + "hash": "7cddca31edf8b0653090cbb54562ca027c421c58ddde2c0685f49ff56a1690e0", + "url": "https://files.pythonhosted.org/packages/f8/4f/a7cce98facca73c149ea4578981594aaa5fd841e956834931de503359336/sqlalchemy-2.0.48-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" } ], "project_name": "sqlalchemy", @@ -6427,60 +6982,67 @@ "typing_extensions!=3.10.0.1; extra == \"aiosqlite\"" ], "requires_python": ">=3.7", - "version": "2.0.49" + "version": "2.0.48" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "6b0414ce8a6203e7859c22259576d38ea7b2232722062015c037708764730f18", - "url": "https://files.pythonhosted.org/packages/c7/c5/d83b781641370855805548a733907c974810f664904fe837c2987a362f2c/strawberry_graphql-0.314.0-py3-none-any.whl" + "hash": "9d3c977dfc5e3c26d0d7e9b0f55c4edea4794a678a381f76f7969a3c4872e91f", + "url": "https://files.pythonhosted.org/packages/17/4c/13f465c48e90591c3caeb14a9f1bd295d58a936def49ff70756ef4c48d38/strawberry_graphql-0.287.4-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "9748d4e68c92bafde87bf6b27db520a44000f1c575c74e1632a0b38b9a13484e", - "url": "https://files.pythonhosted.org/packages/cb/28/593ed0722f99d74d8ab6edcfb93b9719360b8ae535aecb39b83c4aabbe2a/strawberry_graphql-0.314.0.tar.gz" + "hash": "206eef74acc581fe0edda88f58da50d70b60ceff79ba5b39853ea624a54485f8", + "url": "https://files.pythonhosted.org/packages/60/46/f4b927d53738f858a4bf31c7e588bc61c384959993dd2c207308cd5ef900/strawberry_graphql-0.287.4.tar.gz" } ], "project_name": "strawberry-graphql", "requires_dists": [ + "Django>=3.2; extra == \"django\"", "aiohttp<4,>=3.7.4.post0; extra == \"aiohttp\"", - "asgiref>=3.2; extra == \"channels\"", - "asgiref>=3.2; extra == \"django\"", - "chalice>=1.22; extra == \"chalice\"", + "asgiref<4.0,>=3.2; extra == \"channels\"", + "asgiref<4.0,>=3.2; extra == \"django\"", + "chalice<2.0,>=1.22; extra == \"chalice\"", "channels>=3.0.5; extra == \"channels\"", "cross-web>=0.4.0", - "django>=3.2; extra == \"django\"", "fastapi>=0.65.2; extra == \"fastapi\"", "flask>=1.1; extra == \"flask\"", "graphql-core<3.4.0,>=3.2.0", "libcst; extra == \"cli\"", "libcst; extra == \"debug\"", - "litestar>=2; python_full_version >= \"3.10\" and python_full_version < \"4\" and extra == \"litestar\"", + "libcst; extra == \"debug-server\"", + "litestar>=2; python_version ~= \"3.10\" and extra == \"litestar\"", "opentelemetry-api<2; extra == \"opentelemetry\"", "opentelemetry-sdk<2; extra == \"opentelemetry\"", "packaging>=23", - "protobuf>=3.20; extra == \"apollo-federation\"", "pydantic>1.6.1; extra == \"pydantic\"", - "pygments>=2.3; extra == \"cli\"", + "pygments<3.0,>=2.3; extra == \"cli\"", + "pygments>=2.3; extra == \"debug-server\"", "pyinstrument>=4.0.0; extra == \"pyinstrument\"", "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\"", "rich>=12.0.0; extra == \"cli\"", "rich>=12.0.0; extra == \"debug\"", + "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.12.4; extra == \"cli\"", + "typer>=0.12.4; extra == \"debug-server\"", "typing-extensions>=4.5.0", "uvicorn>=0.11.6; extra == \"cli\"", - "websockets<16,>=15.0.1; 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.10", - "version": "0.314.0" + "version": "0.287.4" }, { "artifacts": [ @@ -7411,8 +7973,13 @@ "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", @@ -7421,28 +7988,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": "3879b88423ec7e97cd4eba2a443aa26ed4e59b45e6b76aabf13fe2f27023a142", + "url": "https://files.pythonhosted.org/packages/90/cd/b62bdeaa429758aee8de8b00ac0dd26593a9de93d302bff3d21439e9791d/uvloop-0.22.1-cp314-cp314-macosx_10_13_universal2.whl" + }, + { + "algorithm": "sha256", + "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": "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": "561577354eb94200d75aca23fbde86ee11be36b00e52a4eaf8f50fb0c86b7705", - "url": "https://files.pythonhosted.org/packages/89/8c/182a2a593195bfd39842ea68ebc084e20c850806117213f5a299dfc513d9/uvloop-0.22.1-cp313-cp313-macosx_10_13_universal2.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": "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": "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": "1cdf5192ab3e674ca26da2eada35b288d2fa49fdd0f357a19f0e7c4e7d5077c8", - "url": "https://files.pythonhosted.org/packages/d2/14/e301ee96a6dc95224b6f1162cd3312f6d1217be3907b79173b06785f2fe7/uvloop-0.22.1-cp313-cp313-macosx_10_13_x86_64.whl" + "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": "bc5ef13bbc10b5335792360623cc378d52d7e62c2de64660616478c32cd0598e", - "url": "https://files.pythonhosted.org/packages/d2/53/8369e5219a5855869bcee5f4d317f6da0e2c669aecf0ef7d371e3d084449/uvloop-0.22.1-cp313-cp313-musllinux_1_2_aarch64.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", @@ -7466,13 +8058,13 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "841d36e0b91aa341086a8f48f34cb9a2cb92fbcf6fa9f020266634523d4b4deb", - "url": "https://files.pythonhosted.org/packages/e5/d3/39b7239af2f5b46fcbcc67b6f15c4502091b5ef3a0959b20fa22fb841fde/valkey_glide-2.2.9-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + "hash": "03ef71856883dc33cc2f3e5dd05796e2051587055193385879362942f875b71a", + "url": "https://files.pythonhosted.org/packages/6b/ac/f9f8710dd02065893f7847361a0e3eb449c52d59ee83e3bf8a58140a8331/valkey_glide-2.2.9-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" }, { "algorithm": "sha256", - "hash": "4009b95fd789f15297b803ee9710ed781c6dd2710a7244512927befdca22e337", - "url": "https://files.pythonhosted.org/packages/0b/69/b41ffa2b63d537528f21dcfd9a68bfbb106fbe789225829d64a3b6df110a/valkey_glide-2.2.9-cp313-cp313-macosx_10_7_x86_64.whl" + "hash": "a31ca92e039b28ed2fa0f07fe7eec707f0ffbf91973d6ebce5b62c227f9d2f42", + "url": "https://files.pythonhosted.org/packages/03/be/9238016174d177d5eb9840bb425fd6a8e93ff02fc6e40a9295270410a8a2/valkey_glide-2.2.9-cp314-cp314-macosx_10_7_x86_64.whl" }, { "algorithm": "sha256", @@ -7481,13 +8073,13 @@ }, { "algorithm": "sha256", - "hash": "c12437fcf047cc0aa05b420a1c08bab9bc5a6ab90a73737a3a321f94550458bf", - "url": "https://files.pythonhosted.org/packages/75/22/cf2d32649da98994a63419ff3a0a9a7fdbae66392526a38e1108ee68fbcb/valkey_glide-2.2.9-cp313-cp313-macosx_11_0_arm64.whl" + "hash": "f47bb345221d6e1feb7c7b3666989e3a4bf7c6a95520839c18ba378c8933b7a0", + "url": "https://files.pythonhosted.org/packages/26/b0/9dc695bb738fe5629a08c4f62c84208f4227aaa820bbfb6221bf93efe56c/valkey_glide-2.2.9-cp314-cp314-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "da29b9f8069059abde391f5af3a2fdce672a545badc2b421f5bb6b1cabcce27e", - "url": "https://files.pythonhosted.org/packages/bd/32/b5d24191280eb680ddb7c6a996086492dacad9618543bc6c4a32776ade3b/valkey_glide-2.2.9-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + "hash": "b2fa577cadc4ec88a1f4344c0e765b3b86b1c147ca4158d0c56604c7f2fe4d99", + "url": "https://files.pythonhosted.org/packages/bd/67/a20c13ccd75d4989d7badc1b6e39e91a5524d821b7066abe9047f9cd9983/valkey_glide-2.2.9-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" } ], "project_name": "valkey-glide", @@ -7579,28 +8171,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", @@ -7609,13 +8206,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": "e01375f275f010fcbf7f643b4279896d04e571889b8a5b3f848423d91bf07050", - "url": "https://files.pythonhosted.org/packages/fd/e0/d10bd257c9a3e15cbf5523025252cc14d77468e8ed644aafb2d6f54cb95d/wrapt-1.17.3-cp313-cp313-musllinux_1_2_x86_64.whl" + "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": "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", @@ -7645,88 +8272,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": "bf4a21e58b9cde0e401e683ebd00f6ed30a06d14e93f7c8fd059f8b6e8f87b6a", + "url": "https://files.pythonhosted.org/packages/43/3c/45a2b6d80195959239a7b2a8810506d4eea5487dce61c2a3393e7fc3c52e/yarl-1.22.0-cp314-cp314t-musllinux_1_2_armv7l.whl" + }, + { + "algorithm": "sha256", + "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": "bebf8557577d4401ba8bd9ff33906f1376c877aa78d1fe216ad01b4d6745af71", + "url": "https://files.pythonhosted.org/packages/57/63/0c6ebca57330cd313f6102b16dd57ffaf3ec4c83403dcb45dbd15c6f3ea1/yarl-1.22.0.tar.gz" + }, + { + "algorithm": "sha256", + "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": "33e32a0dd0c8205efa8e83d04fc9f19313772b78522d1bdc7d9aed706bfd6138", + "url": "https://files.pythonhosted.org/packages/5f/97/aa6a143d3afba17b6465733681c70cf175af89f76ec8d9286e08437a7454/yarl-1.22.0-cp314-cp314t-musllinux_1_2_aarch64.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": "f87ac53513d22240c7d59203f25cc3beac1e574c6cd681bbfd321987b69f95fd", + "url": "https://files.pythonhosted.org/packages/67/a8/fb6b1adbe98cf1e2dd9fad71003d3a63a1bc22459c6e15f5714eb9323b93/yarl-1.22.0-cp314-cp314-musllinux_1_2_s390x.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": "4792b262d585ff0dff6bcb787f8492e40698443ec982a3568c2096433660c694", + "url": "https://files.pythonhosted.org/packages/80/7c/428e5812e6b87cd00ee8e898328a62c95825bf37c7fa87f0b6bb2ad31304/yarl-1.22.0-cp314-cp314-musllinux_1_2_armv7l.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": "e4b582bab49ac33c8deb97e058cd67c2c50dac0dd134874106d9c774fd272529", + "url": "https://files.pythonhosted.org/packages/86/a0/c2ab48d74599c7c84cb104ebd799c5813de252bea0f360ffc29d270c2caa/yarl-1.22.0-cp314-cp314t-musllinux_1_2_ppc64le.whl" }, { "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": "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": "7a8e19fd5a6fdf19a91f2409665c7a089ffe7b9b5394ab33c0eec04cbecdd01f", - "url": "https://files.pythonhosted.org/packages/3e/7c/fbeebf875c1ededd872d6fefabd8a8526ef8aba6e9e8bcdf230d895d487b/yarl-1.19.0-cp313-cp313-macosx_11_0_arm64.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": "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": "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": "087ae8f8319848c18e0d114d0f56131a9c017f29200ab1413b0137ad7c83e2ae", - "url": "https://files.pythonhosted.org/packages/6b/fb/f65b1347be8e12ac4e3e37a9bb880e6b9b604f252aaafd88e4879b1e9348/yarl-1.19.0-cp313-cp313-musllinux_1_2_ppc64le.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": "e66c14d162bac94973e767b24de5d7e6c5153f7305a64ff4fcba701210bcd638", - "url": "https://files.pythonhosted.org/packages/71/24/648d99c134f2e14fc01ba790ad36ab56815e00069e60a12a4af893448b83/yarl-1.19.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.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": "d27a6482ad5e05e8bafd47bf42866f8a1c0c3345abcb48d4511b3c29ecc197dc", - "url": "https://files.pythonhosted.org/packages/72/4f/3ee8de3f94baa33c0716260b0048b1fd5306f104b3efc6e1713693e7063e/yarl-1.19.0-cp313-cp313-macosx_10_13_x86_64.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": "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": "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": "756b9ea5292a2c180d1fe782a377bc4159b3cfefaca7e41b5b0a00328ef62fa9", - "url": "https://files.pythonhosted.org/packages/a1/5b/2c9765524a70d1c51922b41c91caa30c8094a416734349166e1a3d8de055/yarl-1.19.0-cp313-cp313-musllinux_1_2_armv7l.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": "cbeb9c145d534c240a63b6ecc8a8dd451faeb67b3dc61d729ec197bb93e29497", - "url": "https://files.pythonhosted.org/packages/ca/f8/c4a190bcc3cd98fb428d1dd31519e58004153dc7f2acd1236ecae54e3433/yarl-1.19.0-cp313-cp313-musllinux_1_2_i686.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": "59281b9ed27bc410e0793833bcbe7fc149739d56ffa071d1e0fe70536a4f7b61", - "url": "https://files.pythonhosted.org/packages/cd/a7/222144efa2f4a47363a5fee27d8a1d24851283b5a7f628890805fe7f7a66/yarl-1.19.0-cp313-cp313-macosx_10_13_universal2.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": "cda34ab19099c3a1685ad48fe45172536610c312b993310b5f1ca3eb83453b36", - "url": "https://files.pythonhosted.org/packages/f3/ff/b7a9c1d7df37e594b43b7a8030e228ccd4ce361eeff24a92b17fe210e57d/yarl-1.19.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.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": "f408d4b4315e814e5c3668094e33d885f13c7809cbe831cbdc5b1bb8c7a448f4", - "url": "https://files.pythonhosted.org/packages/f7/ce/f5dc0439320dfe59fadab8cdd24ac324be19cf6ae4736422c7e2a510ddf3/yarl-1.19.0-cp313-cp313-musllinux_1_2_x86_64.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": "01e02bb80ae0dbed44273c304095295106e1d9470460e773268a27d11e594892", - "url": "https://files.pythonhosted.org/packages/fc/4d/8a8f57caccce49573e567744926f88c6ab3ca0b47a257806d1cf88584c5f/yarl-1.19.0.tar.gz" + "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", @@ -7736,7 +8418,7 @@ "propcache>=0.2.1" ], "requires_python": ">=3.9", - "version": "1.19.0" + "version": "1.22.0" }, { "artifacts": [ @@ -7812,38 +8494,38 @@ "SQLAlchemy[postgresql_asyncpg]~=2.0.45", "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_remotes~=1.3.0", - "aiohttp_sse>=2.2", + "aiohttp_sse~=2.2", "aiohttp~=3.13.3", "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", - "authlib>=1.3.2", + "asyncpg~=0.31.0", + "asynctest~=0.13.0", + "asyncudp~=0.11", + "authlib~=1.3.2", + "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.5.1", "faker~=24.7.1", @@ -7853,57 +8535,58 @@ "graphql-relay~=3.2.0", "graypy==2.1.0", "habana-pyhlml~=1.22.1.6", - "hiredis>=3.0.0", - "httpx>=0.27.0", + "hiredis~=3.3.0", + "httpx~=0.27.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", + "networkx~=3.6.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.10.16", - "packaging>=24.1", + "orjson~=3.11.0", + "packaging~=24.2", "pexpect~=4.8", "prometheus-client~=0.21.1", "psutil~=7.0", "pycares~=4.11.0", "pycryptodome>=3.20.0", - "pydantic[email]~=2.11.3", + "pydantic[email]~=2.12.0", "pyhumps~=3.8.0", "pyotp~=2.9.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~=8.3.3", + "python-dateutil~=2.9", "python-dotenv~=0.20.0", "python-json-logger~=3.2.0", "pyzmq~=26.4", "redis[hiredis]~=7.1.0", "rich~=13.6", "ruamel.yaml~=0.18.10", - "setproctitle~=1.3.5", + "setproctitle~=1.3.7", "setuptools~=80.0.0", - "strawberry-graphql~=0.314.0", + "sniffio~=1.3.1", + "strawberry-graphql~=0.287.2", "tabulate~=0.8.9", "temporenc~=0.1.0", - "tenacity>=9.0", + "tenacity~=9.0", "testcontainers[minio,postgres,redis]~=4.13.3", "textual~=0.79.1", "tomli-w~=1.2.0", @@ -7932,11 +8615,11 @@ "typing_extensions~=4.11", "uvloop~=0.22.1; sys_platform != \"Windows\"", "valkey-glide~=2.2.2", - "yarl~=1.19.0", + "yarl~=1.22.0", "zipstream-new~=1.1.8" ], "requires_python": [ - "CPython==3.13.7" + "CPython==3.14.3" ], "resolver_version": "pip-2020-resolver", "style": "universal", diff --git a/requirements.txt b/requirements.txt index 2a3e21fab96..9a99b62e6cc 100644 --- a/requirements.txt +++ b/requirements.txt @@ -6,30 +6,30 @@ aiohttp~=3.13.3 aiohttp_cors~=0.8.1 aiohttp_remotes~=1.3.0 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 -authlib>=1.3.2 -attrs>=25.3 -bcrypt~=4.2.0 +asyncpg~=0.31.0 +asynctest~=0.13.0 +asyncudp~=0.11 +authlib~=1.3.2 +attrs~=25.3 +bcrypt~=5.0.0 boto3~=1.35 cachetools~=5.5.0 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 @@ -37,23 +37,23 @@ graphene-federation~=3.2.0 graphql-core~=3.2.6 graphql-relay~=3.2.0 graypy==2.1.0 -httpx>=0.27.0 -humanize>=3.1.0 +httpx~=0.27.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 -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 +networkx~=3.6.1 +orjson~=3.11.0 opentelemetry-api~=1.39.0 opentelemetry-sdk~=1.39.0 opentelemetry-exporter-otlp-proto-grpc~=1.39.0 @@ -63,32 +63,34 @@ opentelemetry-instrumentation-logging~=0.60b0 pexpect~=4.8 prometheus-client~=0.21.1 psutil~=7.0 +pycryptodome~=3.21 pycares~=4.11.0 pycryptodome>=3.20.0 habana-pyhlml~=1.22.1.6 pyhumps~=3.8.0 pyotp~=2.9.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.11.3 -packaging>=24.1 -hiredis>=3.0.0 +pydantic[email]~=2.12.0 +packaging~=24.2 +hiredis~=3.3.0 huggingface-hub~=0.34.3 redis[hiredis]~=7.1.0 rich~=13.6 ruamel.yaml~=0.18.10 SQLAlchemy[postgresql_asyncpg]~=2.0.45 -setproctitle~=1.3.5 +setproctitle~=1.3.7 setuptools~=80.0.0 -strawberry-graphql~=0.314.0 +sniffio~=1.3.1 +strawberry-graphql~=0.287.2 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 @@ -102,11 +104,11 @@ typing_extensions~=4.11 textual~=0.79.1 uvloop~=0.22.1; sys_platform != "Windows" valkey-glide~=2.2.2 -yarl~=1.19.0 +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 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()) diff --git a/scripts/pyscript.sh b/scripts/pyscript.sh index f2fe67c267f..319cc9356c7 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" 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..be0b637c2e6 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" 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/src/ai/backend/README.md b/src/ai/backend/README.md index 7e7a5712c2c..4b37b89cc6f 100644 --- a/src/ai/backend/README.md +++ b/src/ai/backend/README.md @@ -277,15 +277,15 @@ Backend.AI requires specific Python and Pantsbuild versions for each release: | Backend.AI Version | Python Version | Pantsbuild Version | |:------------------|:--------------|:-------------------| -| 25.06.x ~ (main) | 3.13.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 | - | | 21.03.x / 21.09.x | 3.8.x | - | **Current main branch**: -- Python: CPython 3.13.7 -- Pantsbuild: 2.27.0 +- Python: CPython 3.14.3 +- Pantsbuild: 2.29.0 - Versions defined in `pants.toml` ### Build System diff --git a/src/ai/backend/agent/agent.py b/src/ai/backend/agent/agent.py index 0b7fad476c3..7a458c2fd8a 100644 --- a/src/ai/backend/agent/agent.py +++ b/src/ai/backend/agent/agent.py @@ -2829,9 +2829,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/agent/docker/kernel.py b/src/ai/backend/agent/docker/kernel.py index 6b2d96e1419..398b2a0c56a 100644 --- a/src/ai/backend/agent/docker/kernel.py +++ b/src/ai/backend/agent/docker/kernel.py @@ -229,7 +229,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/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/common/identity.py b/src/ai/backend/common/identity.py index d28d13d0197..3c07334bd0f 100644 --- a/src/ai/backend/common/identity.py +++ b/src/ai/backend/common/identity.py @@ -11,11 +11,9 @@ import socket import uuid from collections.abc import Awaitable, Callable, Iterable +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 Any import aiodns import aiohttp @@ -36,6 +34,8 @@ "get_wsl_version", ) +type BaseIPNetwork = IPv4Network | IPv6Network + log = logging.getLogger(__spec__.name) @@ -148,7 +148,7 @@ async def detect_cloud() -> CloudProvider | None: return None -def fetch_local_ipaddrs(cidr: BaseIPNetwork[Any]) -> Iterable[BaseIPAddress]: +def fetch_local_ipaddrs(cidr: BaseIPNetwork) -> Iterable[BaseIPAddress]: proto = socket.AF_INET if cidr.version == 4 else socket.AF_INET6 for adapter in ifaddr.get_adapters(): if not adapter.ips: @@ -215,7 +215,7 @@ def get_wsl_version() -> int: _defined: bool = False get_instance_id: Callable[[], Awaitable[str]] -get_instance_ip: Callable[[BaseIPNetwork[Any] | None], Awaitable[str]] +get_instance_ip: Callable[[BaseIPNetwork | None], Awaitable[str]] get_instance_type: Callable[[], Awaitable[str]] get_instance_region: Callable[[], Awaitable[str]] @@ -240,7 +240,7 @@ async def _get_instance_id() -> str: _metadata_prefix + "instance-id", lambda: f"i-{socket.gethostname()}" ) - async def _get_instance_ip(_subnet_hint: BaseIPNetwork[Any] | None = None) -> str: + async def _get_instance_ip(_subnet_hint: BaseIPNetwork | None = None) -> str: return await curl(_metadata_prefix + "local-ipv4", "127.0.0.1") async def _get_instance_type() -> str: @@ -280,7 +280,7 @@ async def _get_instance_id() -> str: vm_id_hash = base64.b32encode(vm_id.bytes[-5:]).decode().lower() return f"i-{vm_name}-{vm_id_hash}" - async def _get_instance_ip(_subnet_hint: BaseIPNetwork[Any] | None = None) -> str: + async def _get_instance_ip(_subnet_hint: BaseIPNetwork | None = None) -> str: data = await curl( _metadata_prefix, None, @@ -354,7 +354,7 @@ async def _get_instance_id() -> str: vm_id_hash = base64.b32encode(vm_id_int.to_bytes(8, "big")[-5:]).decode().lower() return f"i-{vm_name}-{vm_id_hash}" - async def _get_instance_ip(_subnet_hint: BaseIPNetwork[Any] | None = None) -> str: + async def _get_instance_ip(_subnet_hint: BaseIPNetwork | None = None) -> str: return await curl( _metadata_prefix + "instance/network-interfaces/0/ip", "127.0.0.1", @@ -383,7 +383,7 @@ async def _get_instance_region() -> str: async def _get_instance_id() -> str: return f"i-{socket.gethostname()}" - async def _get_instance_ip(_subnet_hint: BaseIPNetwork[Any] | None = None) -> str: + async def _get_instance_ip(_subnet_hint: BaseIPNetwork | None = None) -> str: if _subnet_hint is not None and _subnet_hint.prefixlen > 0: local_ipaddrs = [*fetch_local_ipaddrs(_subnet_hint)] if local_ipaddrs: diff --git a/src/ai/backend/install/README.md b/src/ai/backend/install/README.md index 3684683f62b..2debee9621a 100644 --- a/src/ai/backend/install/README.md +++ b/src/ai/backend/install/README.md @@ -19,7 +19,7 @@ First, install the textual-dev package in the `python-default` venv. Open two terminal sessions. In the first one, run: ```shell -dist/export/python/virtualenvs/python-default/3.13.3/bin/textual console +dist/export/python/virtualenvs/python-default/3.14.3/bin/textual console ``` > **Warning** diff --git a/src/ai/backend/manager/api/gql/agent/resolver.py b/src/ai/backend/manager/api/gql/agent/resolver.py index 1a9cf55a952..1595dbaf88b 100644 --- a/src/ai/backend/manager/api/gql/agent/resolver.py +++ b/src/ai/backend/manager/api/gql/agent/resolver.py @@ -27,7 +27,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( @@ -42,7 +42,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 5494bc04521..5af0b97e7ec 100644 --- a/src/ai/backend/manager/api/gql/app_config.py +++ b/src/ai/backend/manager/api/gql/app_config.py @@ -179,7 +179,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], @@ -198,7 +198,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], @@ -219,7 +219,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, @@ -246,7 +246,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: @@ -265,7 +265,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], @@ -285,7 +285,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], @@ -307,7 +307,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], @@ -335,7 +335,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], @@ -353,7 +353,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], @@ -373,7 +373,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 d589e77b3f1..4d1871340ba 100644 --- a/src/ai/backend/manager/api/gql/background_task.py +++ b/src/ai/backend/manager/api/gql/background_task.py @@ -132,7 +132,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 c55df22a438..3457aa975d2 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 @@ -20,7 +20,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 0ace67f5fb0..e2ca472a943 100644 --- a/src/ai/backend/manager/api/gql/deployment/resolver/deployment.py +++ b/src/ai/backend/manager/api/gql/deployment/resolver/deployment.py @@ -46,7 +46,7 @@ added_version="25.16.0", description="List all deployments (superadmin only).", ) -) # type: ignore[misc] +) async def admin_deployments( info: Info[StrawberryGQLContext], filter: DeploymentFilter | None = None, @@ -184,7 +184,7 @@ async def my_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) @@ -195,7 +195,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: @@ -207,7 +207,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: @@ -216,7 +216,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: @@ -230,7 +230,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: @@ -243,7 +243,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 5be9d49cced..49f8b47961c 100644 --- a/src/ai/backend/manager/api/gql/deployment/resolver/revision.py +++ b/src/ai/backend/manager/api/gql/deployment/resolver/revision.py @@ -45,7 +45,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, @@ -88,7 +88,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) @@ -100,7 +100,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": @@ -125,7 +125,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 cast( JSON, @@ -141,7 +141,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: @@ -155,7 +155,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 0a1d7e2dbfb..63313c86c4c 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 @@ -39,7 +39,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, @@ -96,7 +96,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, @@ -110,7 +110,7 @@ async def deployment_revision_preset( added_version=NEXT_RELEASE_VERSION, description="Create a deployment revision preset (admin only).", ) -) # type: ignore[misc] +) async def admin_create_deployment_revision_preset( info: Info[StrawberryGQLContext], input: CreateDeploymentRevisionPresetInputGQL, @@ -126,7 +126,7 @@ async def admin_create_deployment_revision_preset( added_version=NEXT_RELEASE_VERSION, description="Update a deployment revision preset (admin only).", ) -) # type: ignore[misc] +) async def admin_update_deployment_revision_preset( info: Info[StrawberryGQLContext], input: UpdateDeploymentRevisionPresetInputGQL, @@ -142,7 +142,7 @@ async def admin_update_deployment_revision_preset( added_version=NEXT_RELEASE_VERSION, description="Delete a deployment revision preset (admin only).", ) -) # type: ignore[misc] +) async def admin_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 b3aad45574f..50059ab3c2f 100644 --- a/src/ai/backend/manager/api/gql/deployment/resolver/route.py +++ b/src/ai/backend/manager/api/gql/deployment/resolver/route.py @@ -40,7 +40,7 @@ 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, @@ -86,7 +86,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) @@ -98,7 +98,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 c664d117469..4edb6b18247 100644 --- a/src/ai/backend/manager/api/gql/deployment/types/deployment.py +++ b/src/ai/backend/manager/api/gql/deployment/types/deployment.py @@ -193,14 +193,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 @@ -237,7 +237,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 @@ -246,7 +246,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: @@ -258,7 +258,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], @@ -299,7 +299,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], @@ -340,7 +340,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], @@ -383,7 +383,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 a64c7bc2733..b4663c7c524 100644 --- a/src/ai/backend/manager/api/gql/deployment/types/replica.py +++ b/src/ai/backend/manager/api/gql/deployment/types/replica.py @@ -175,14 +175,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 2e0082c2eeb..e18c4f614c3 100644 --- a/src/ai/backend/manager/api/gql/deployment/types/revision.py +++ b/src/ai/backend/manager/api/gql/deployment/types/revision.py @@ -211,7 +211,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( @@ -256,7 +256,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 @@ -277,7 +277,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 @@ -437,7 +437,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 eb7f0af7a48..7dd7d03b1c5 100644 --- a/src/ai/backend/manager/api/gql/deployment/types/route.py +++ b/src/ai/backend/manager/api/gql/deployment/types/route.py @@ -116,7 +116,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")]: @@ -129,7 +129,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: @@ -139,7 +139,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 f1e4f3970b0..bdd4f2a1198 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 6cced165a37..f8395cc8887 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, @@ -202,7 +202,7 @@ class DeleteHuggingFaceRegistryPayload(PydanticOutputMixin[DeleteHuggingFaceRegi id: UUID = gql_field(description="ID of the deleted HuggingFace registry") -@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: @@ -212,7 +212,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: @@ -222,7 +222,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 dcebd307767..becba2b4208 100644 --- a/src/ai/backend/manager/api/gql/keypair/resolver/mutation.py +++ b/src/ai/backend/manager/api/gql/keypair/resolver/mutation.py @@ -46,7 +46,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: @@ -60,7 +60,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, @@ -75,7 +75,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, @@ -92,7 +92,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, @@ -110,7 +110,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, @@ -125,7 +125,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, @@ -140,7 +140,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 cf23ac6516d..fca86847779 100644 --- a/src/ai/backend/manager/api/gql/keypair/resolver/query.py +++ b/src/ai/backend/manager/api/gql/keypair/resolver/query.py @@ -27,7 +27,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, @@ -70,7 +70,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, @@ -114,7 +114,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 9d02e5c79c5..c26c2dc6247 100644 --- a/src/ai/backend/manager/api/gql/model_card/resolver.py +++ b/src/ai/backend/manager/api/gql/model_card/resolver.py @@ -57,7 +57,7 @@ added_version=NEXT_RELEASE_VERSION, description="Search all model cards (superadmin only).", ) -) # type: ignore[misc] +) async def admin_model_cards_v2( info: Info[StrawberryGQLContext], filter: ModelCardFilterGQL | None = None, @@ -103,7 +103,7 @@ async def project_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, @@ -117,7 +117,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, @@ -133,7 +133,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, @@ -149,7 +149,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 7a2a568e874..515f7d63b53 100644 --- a/src/ai/backend/manager/api/gql/notification/resolver.py +++ b/src/ai/backend/manager/api/gql/notification/resolver.py @@ -91,7 +91,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: @@ -105,7 +105,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: @@ -117,7 +117,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, @@ -166,7 +166,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, @@ -214,7 +214,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: @@ -228,7 +228,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) @@ -238,7 +238,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, @@ -285,7 +285,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, @@ -331,7 +331,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) @@ -342,7 +342,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: @@ -361,7 +361,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: @@ -380,7 +380,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: @@ -397,7 +397,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: @@ -414,7 +414,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: @@ -429,7 +429,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: @@ -443,7 +443,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: @@ -456,7 +456,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: @@ -473,7 +473,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: @@ -488,7 +488,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: @@ -501,7 +501,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: @@ -514,7 +514,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: @@ -526,7 +526,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: @@ -539,7 +539,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: @@ -553,7 +553,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: @@ -565,7 +565,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: @@ -579,7 +579,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 cff80d70d6a..b731f737ebe 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(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, @@ -292,7 +292,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: @@ -304,7 +304,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: @@ -316,7 +316,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: @@ -327,7 +327,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: @@ -340,7 +340,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 e3338641410..6def6e8dc29 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 10aa2c37886..702c7874705 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 1a12fd1a094..0eac85a10e3 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 @@ -34,7 +34,7 @@ added_version=NEXT_RELEASE_VERSION, description="Get a single prometheus query preset by ID. Available to any authenticated user since presets are a shared catalog of metric query templates.", ) -) # type: ignore[misc] +) async def prometheus_query_preset( info: Info[StrawberryGQLContext], id: ID, @@ -50,7 +50,7 @@ async def prometheus_query_preset( added_version=NEXT_RELEASE_VERSION, description="List prometheus query presets with filtering and pagination. Available to any authenticated user since presets are a shared catalog of metric query templates.", ) -) # type: ignore[misc] +) async def prometheus_query_presets( info: Info[StrawberryGQLContext], filter: QueryDefinitionFilter | None = None, @@ -90,7 +90,7 @@ async def prometheus_query_presets( added_version=NEXT_RELEASE_VERSION, description="Execute a prometheus query preset by ID and return the result. Available to any authenticated user; the underlying preset query is the same regardless of who runs it.", ) -) # type: ignore[misc] +) async def 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 aaa20efa060..ade0cb1ca47 100644 --- a/src/ai/backend/manager/api/gql/rbac/resolver/permission.py +++ b/src/ai/backend/manager/api/gql/rbac/resolver/permission.py @@ -46,7 +46,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, @@ -94,7 +94,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]: @@ -115,7 +115,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]: @@ -158,7 +158,7 @@ async def rbac_permission_matrix( @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, @@ -170,7 +170,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, @@ -182,7 +182,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 5531b0da15a..63303e911cf 100644 --- a/src/ai/backend/manager/api/gql/rbac/resolver/role.py +++ b/src/ai/backend/manager/api/gql/rbac/resolver/role.py @@ -53,7 +53,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, @@ -67,7 +67,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, @@ -113,7 +113,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, @@ -161,7 +161,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, @@ -263,7 +263,7 @@ async def project_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, @@ -275,7 +275,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, @@ -287,7 +287,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, @@ -299,7 +299,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, @@ -311,7 +311,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, @@ -323,7 +323,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, @@ -337,7 +337,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, @@ -351,7 +351,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 aa511e40875..ea1a3663c76 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 940794ab4e2..68f43867f47 100644 --- a/src/ai/backend/manager/api/gql/rbac/types/permission.py +++ b/src/ai/backend/manager/api/gql/rbac/types/permission.py @@ -114,7 +114,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] ) -> ( @@ -127,7 +127,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 a698650a83a..bbd224bb0c0 100644 --- a/src/ai/backend/manager/api/gql/rbac/types/role.py +++ b/src/ai/backend/manager/api/gql/rbac/types/role.py @@ -173,7 +173,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], @@ -253,7 +253,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], @@ -411,12 +411,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 038d67b8fdb..9dff6bd48e8 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(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, @@ -211,7 +211,7 @@ class DeleteReservoirRegistryPayload(PydanticOutputMixin[DeleteReservoirRegistry id: UUID = gql_field(description="ID of the deleted Reservoir registry") -@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: @@ -221,7 +221,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: @@ -231,7 +231,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 cfa2d5ffe03..0f69ad85b27 100644 --- a/src/ai/backend/manager/api/gql/runtime_variant/resolver.py +++ b/src/ai/backend/manager/api/gql/runtime_variant/resolver.py @@ -37,7 +37,7 @@ added_version=NEXT_RELEASE_VERSION, description="Search runtime variants.", ) -) # type: ignore[misc] +) async def runtime_variants( info: Info[StrawberryGQLContext], filter: RuntimeVariantFilterGQL | None = None, @@ -96,7 +96,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, @@ -110,7 +110,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, @@ -126,7 +126,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, @@ -142,7 +142,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 5990242a8c2..1db26b3dc52 100644 --- a/src/ai/backend/manager/api/gql/scheduler.py +++ b/src/ai/backend/manager/api/gql/scheduler.py @@ -76,7 +76,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 @@ -84,7 +84,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/schema.py b/src/ai/backend/manager/api/gql/schema.py index e9bfa5e4cfd..c04b5bb1194 100644 --- a/src/ai/backend/manager/api/gql/schema.py +++ b/src/ai/backend/manager/api/gql/schema.py @@ -868,7 +868,7 @@ def as_str(self) -> str: mutation=Mutation, subscription=Subscription, config=StrawberryConfig(auto_camel_case=True), - federation_version="2.7", + federation_version="2.11", extensions=[ GQLLoggingExtension, GQLMetricExtension, 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 bfbcefca931..48de2993a2c 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 8151037fe7f..312f6699bd5 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 @@ -90,7 +90,7 @@ async def vfolder_v2( 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, @@ -136,7 +136,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 572eea10956..74a5df16a94 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 1ba3cb3457c..420b83b973d 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(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, @@ -186,7 +186,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: @@ -197,7 +197,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: @@ -208,7 +208,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: 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 26de7862e3e..0b960269bc6 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 @@ -333,7 +334,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: @@ -348,7 +349,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, @@ -365,7 +366,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/agent/test_config_validation.py b/tests/unit/agent/test_config_validation.py index 5ce8bbb203e..1099a9d3f74 100644 --- a/tests/unit/agent/test_config_validation.py +++ b/tests/unit/agent/test_config_validation.py @@ -400,7 +400,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, diff --git a/tests/unit/manager/health/test_database.py b/tests/unit/manager/health/test_database.py index 804dc23cce3..01a7ba63648 100644 --- a/tests/unit/manager/health/test_database.py +++ b/tests/unit/manager/health/test_database.py @@ -3,7 +3,7 @@ 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 ai.backend.common.typed_validators import HostPortPair @@ -49,7 +49,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 +84,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, ) diff --git a/tools/black.lock b/tools/black.lock index f7960d1e794..5f06215fb0d 100644 --- a/tools/black.lock +++ b/tools/black.lock @@ -6,7 +6,7 @@ // { // "version": 4, // "valid_for_interpreter_constraints": [ -// "CPython==3.13.7" +// "CPython==3.14.3" // ], // "generated_with_requirements": [ // "black~=24.8" @@ -38,21 +38,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", @@ -119,31 +104,31 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484", - "url": "https://files.pythonhosted.org/packages/20/12/38679034af332785aac8774540895e234f4d07f7545804097de4b666afd8/packaging-25.0-py3-none-any.whl" + "hash": "b36f1fef9334a5588b4166f8bcd26a14e521f2b55e6b9de3aaa80d3ff7a37529", + "url": "https://files.pythonhosted.org/packages/b7/b9/c538f279a4e237a006a2c98387d081e9eb060d203d8ed34467cc0f0b9b53/packaging-26.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f", - "url": "https://files.pythonhosted.org/packages/a1/d4/1fc4078c65507b51b96ca8f8c3ba19e6a61c8253c72794544580a7b6c24d/packaging-25.0.tar.gz" + "hash": "00243ae351a257117b6a241061796684b084ed1c516a08c48a3f7e147a9d80b4", + "url": "https://files.pythonhosted.org/packages/65/ee/299d360cdc32edc7d2cf530f3accf79c4fca01e96ffc950d8a52213bd8e4/packaging-26.0.tar.gz" } ], "project_name": "packaging", "requires_dists": [], "requires_python": ">=3.8", - "version": "25.0" + "version": "26.0" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "62f8558917908d237d399b9b338ef455a814801a4688bc41074b25feefd93472", - "url": "https://files.pythonhosted.org/packages/78/6b/14fc9049d78435fd29e82846c777bd7ed9c470013dc8d0260fff3ff1c11e/pathspec-1.0.2-py3-none-any.whl" + "hash": "fb6ae2fd4e7c921a165808a552060e722767cfa526f99ca5156ed2ce45a5c723", + "url": "https://files.pythonhosted.org/packages/ef/3c/2c197d226f9ea224a9ab8d197933f9da0ae0aac5b6e0f884e2b8d9c8e9f7/pathspec-1.0.4-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "fa32b1eb775ed9ba8d599b22c5f906dc098113989da2c00bf8b210078ca7fb92", - "url": "https://files.pythonhosted.org/packages/41/b9/6eb731b52f132181a9144bbe77ff82117f6b2d2fbfba49aaab2c014c4760/pathspec-1.0.2.tar.gz" + "hash": "0210e2ae8a21a9137c0d470578cb0e595af87edaa6ebf12ff176f14a02e0e645", + "url": "https://files.pythonhosted.org/packages/fa/36/e27608899f9b8d4dff0617b2d9ab17ca5608956ca44461ac14ac48b44015/pathspec-1.0.4.tar.gz" } ], "project_name": "pathspec", @@ -155,36 +140,25 @@ "typing-extensions>=4; extra == \"optional\"" ], "requires_python": ">=3.9", - "version": "1.0.2" + "version": "1.0.4" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "d03afa3963c806a9bed9d5125c8f4cb2fdaf74a55ab60e5d59b3fde758104d31", - "url": "https://files.pythonhosted.org/packages/cb/28/3bfe2fa5a7b9c46fe7e13c97bda14c895fb10fa2ebf1d0abb90e0cea7ee1/platformdirs-4.5.1-py3-none-any.whl" + "hash": "68a9a4619a666ea6439f2ff250c12a853cd1cbd5158d258bd824a7df6be2f868", + "url": "https://files.pythonhosted.org/packages/63/d7/97f7e3a6abb67d8080dd406fd4df842c2be0efaf712d1c899c32a075027c/platformdirs-4.9.4-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "61d5cdcc6065745cdd94f0f878977f8de9437be93de97c1c12f853c9c0cdcbda", - "url": "https://files.pythonhosted.org/packages/cf/86/0248f086a84f01b37aaec0fa567b397df1a119f73c16f6c7a9aac73ea309/platformdirs-4.5.1.tar.gz" + "hash": "1ec356301b7dc906d83f371c8f487070e99d3ccf9e501686456394622a01a934", + "url": "https://files.pythonhosted.org/packages/19/56/8d4c30c8a1d07013911a8fdbd8f89440ef9f08d07a1b50ab8ca8be5a20f9/platformdirs-4.9.4.tar.gz" } ], "project_name": "platformdirs", - "requires_dists": [ - "appdirs==1.4.4; extra == \"test\"", - "covdefaults>=2.3; extra == \"test\"", - "furo>=2025.9.25; extra == \"docs\"", - "mypy>=1.18.2; extra == \"type\"", - "proselint>=0.14; 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_dists": [], "requires_python": ">=3.10", - "version": "4.5.1" + "version": "4.9.4" } ], "marker": null, @@ -202,7 +176,7 @@ "black~=24.8" ], "requires_python": [ - "CPython==3.13.7" + "CPython==3.14.3" ], "resolver_version": "pip-2020-resolver", "style": "universal", diff --git a/tools/build-macros.py b/tools/build-macros.py index 5a1afab4a05..8ba2b5879a1 100644 --- a/tools/build-macros.py +++ b/tools/build-macros.py @@ -35,8 +35,8 @@ def common_scie_config( return { "extra_build_args": [ f"--scie={build_style}", - "--scie-python-version=3.13.7", - "--scie-pbs-release=20250818", + "--scie-python-version=3.14.3", + "--scie-pbs-release=20260325", "--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 diff --git a/tools/mypy-requirements.txt b/tools/mypy-requirements.txt index 331d07720fb..b745b1ffa1b 100644 --- a/tools/mypy-requirements.txt +++ b/tools/mypy-requirements.txt @@ -1,3 +1,3 @@ -mypy==1.18.2 -pydantic~=2.11.3 -strawberry-graphql~=0.314.0 +mypy==1.19.1 +pydantic~=2.12.0 +strawberry-graphql~=0.287.2 diff --git a/tools/mypy.lock b/tools/mypy.lock index 0d12530df13..635c27b48e4 100644 --- a/tools/mypy.lock +++ b/tools/mypy.lock @@ -6,12 +6,12 @@ // { // "version": 4, // "valid_for_interpreter_constraints": [ -// "CPython==3.13.7" +// "CPython==3.14.3" // ], // "generated_with_requirements": [ -// "mypy==1.18.2", -// "pydantic~=2.11.3", -// "strawberry-graphql~=0.314.0" +// "mypy==1.19.1", +// "pydantic~=2.12.0", +// "strawberry-graphql~=0.287.2" // ], // "manylinux": "manylinux2014", // "requirement_constraints": [], @@ -97,42 +97,156 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "22a1748707dd62b58d2ae53562ffc4d7f8bcc727e8ac7cbc69c053ddc874d47e", - "url": "https://files.pythonhosted.org/packages/87/e3/be76d87158ebafa0309946c4a73831974d4d6ab4f4ef40c3b53a385a66fd/mypy-1.18.2-py3-none-any.whl" + "hash": "cc3656283d11540ab0ea01978378e73e10002145117055e03722417aeab30994", + "url": "https://files.pythonhosted.org/packages/2b/39/191d3d28abc26c9099b19852e6c99f7f6d400b82fa5a4e80291bd3803e19/librt-0.8.1-cp314-cp314t-musllinux_1_2_x86_64.whl" }, { "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": "228c2409c079f8c11fb2e5d7b277077f694cb93443eb760e00b3b83cb8b3176c", + "url": "https://files.pythonhosted.org/packages/1b/18/25e991cd5640c9fb0f8d91b18797b29066b792f17bf8493da183bf5caabe/librt-0.8.1-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": "4c8dfa264b9193c4ee19113c985c95f876fae5e51f731494fc4e0cf594990ba7", + "url": "https://files.pythonhosted.org/packages/1e/8c/5b093d08a13946034fed57619742f790faf77058558b14ca36a6e331161e/librt-0.8.1-cp314-cp314-musllinux_1_2_aarch64.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": "2eb345e8b33fb748227409c9f1233d4df354d6e54091f0e8fc53acdb2ffedeb7", + "url": "https://files.pythonhosted.org/packages/4c/28/10605366ee599ed34223ac2bf66404c6fb59399f47108215d16d5ad751a8/librt-0.8.1-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.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": "1d3a7da44baf692f0c6aeb5b2a09c5e6fc7a703bca9ffa337ddd2e2da53f7732", + "url": "https://files.pythonhosted.org/packages/4e/8a/91fab8e4fd2a24930a17188c7af5380eb27b203d72101c9cc000dbdfd95a/librt-0.8.1-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" }, { "algorithm": "sha256", - "hash": "06a398102a5f203d7477b2923dda3634c36727fa5c237d8f859ef90c42a9924b", - "url": "https://files.pythonhosted.org/packages/c0/77/8f0d0001ffad290cef2f7f216f96c814866248a0b92a722365ed54648e7e/mypy-1.18.2.tar.gz" + "hash": "be46a14693955b3bd96014ccbdb8339ee8c9346fbe11c1b78901b55125f14c73", + "url": "https://files.pythonhosted.org/packages/56/9c/b4b0c54d84da4a94b37bd44151e46d5e583c9534c7e02250b961b1b6d8a8/librt-0.8.1.tar.gz" }, { "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": "172d57ec04346b047ca6af181e1ea4858086c80bdf455f61994c4aa6fc3f866c", + "url": "https://files.pythonhosted.org/packages/59/18/5dd0d3b87b8ff9c061849fbdb347758d1f724b9a82241aa908e0ec54ccd0/librt-0.8.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "10c42e1f6fd06733ef65ae7bebce2872bcafd8d6e6b0a08fe0a05a23b044fb14", + "url": "https://files.pythonhosted.org/packages/6d/ff/7e01f2dda84a8f5d280637a2e5827210a8acca9a567a54507ef1c75b342d/librt-0.8.1-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" + }, + { + "algorithm": "sha256", + "hash": "e96baa6820280077a78244b2e06e416480ed859bbd8e5d641cf5742919d8beb4", + "url": "https://files.pythonhosted.org/packages/82/30/07627de23036640c952cce0c1fe78972e77d7d2f8fd54fa5ef4554ff4a56/librt-0.8.1-cp314-cp314t-musllinux_1_2_i686.whl" + }, + { + "algorithm": "sha256", + "hash": "785ae29c1f5c6e7c2cde2c7c0e148147f4503da3abc5d44d482068da5322fd9e", + "url": "https://files.pythonhosted.org/packages/89/1b/7bdf3e49349c134b25db816e4a3db6b94a47ac69d7d46b1e682c2c4949be/librt-0.8.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "7aae78ab5e3206181780e56912d1b9bb9f90a7249ce12f0e8bf531d0462dd0fc", + "url": "https://files.pythonhosted.org/packages/a4/36/46820d03f058cfb5a9de5940640ba03165ed8aded69e0733c417bb04df34/librt-0.8.1-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl" + }, + { + "algorithm": "sha256", + "hash": "9be2f15e53ce4e83cc08adc29b26fb5978db62ef2a366fbdf716c8a6c8901040", + "url": "https://files.pythonhosted.org/packages/af/8d/16ed8fd452dafae9c48d17a6bc1ee3e818fd40ef718d149a8eff2c9f4ea2/librt-0.8.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "5fc48998000cbc39ec0d5311312dda93ecf92b39aaf184c5e817d5d440b29624", + "url": "https://files.pythonhosted.org/packages/b9/e0/c45a098843fc7c07e18a7f8a24ca8496aecbf7bdcd54980c6ca1aaa79a8e/librt-0.8.1-cp314-cp314t-musllinux_1_2_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "6cfa7fe54fd4d1f47130017351a959fe5804bda7a0bc7e07a2cdbc3fdd28d34f", + "url": "https://files.pythonhosted.org/packages/c9/6a/907ef6800f7bca71b525a05f1839b21f708c09043b1c6aa77b6b827b3996/librt-0.8.1-cp314-cp314-macosx_10_13_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "6b1977c4ea97ce5eb7755a78fae68d87e4102e4aaf54985e8b56806849cc06a3", + "url": "https://files.pythonhosted.org/packages/d1/96/ef04902aad1424fd7299b62d1890e803e6ab4018c3044dca5922319c4b97/librt-0.8.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "2c74a2da57a094bd48d03fa5d196da83d2815678385d2978657499063709abe1", + "url": "https://files.pythonhosted.org/packages/d2/0e/9b23a87e37baf00311c3efe6b48d6b6c168c29902dfc3f04c338372fd7db/librt-0.8.1-cp314-cp314t-macosx_10_13_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "01170b6729a438f0dedc4a26ed342e3dc4f02d1000b4b19f980e1877f0c297e6", + "url": "https://files.pythonhosted.org/packages/d3/cc/86b0b3b151d40920ad45a94ce0171dec1aebba8a9d72bb3fa00c73ab25dd/librt-0.8.1-cp314-cp314-musllinux_1_2_i686.whl" + }, + { + "algorithm": "sha256", + "hash": "a355d99c4c0d8e5b770313b8b247411ed40949ca44e33e46a4789b9293a907ee", + "url": "https://files.pythonhosted.org/packages/db/9a/859c41e5a4f1c84200a7d2b92f586aa27133c8243b6cac9926f6e54d01b9/librt-0.8.1-cp314-cp314t-macosx_11_0_arm64.whl" + }, + { + "algorithm": "sha256", + "hash": "190b109bb69592a3401fe1ffdea41a2e73370ace2ffdc4a0e8e2b39cdea81b78", + "url": "https://files.pythonhosted.org/packages/f5/f2/0b9279bea735c734d69344ecfe056c1ba211694a72df10f568745c899c76/librt-0.8.1-cp314-cp314-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "31362dbfe297b23590530007062c32c6f6176f6099646bb2c95ab1b00a57c382", + "url": "https://files.pythonhosted.org/packages/fb/c1/55bfe1ee3542eba055616f9098eaf6eddb966efb0ca0f44eaa4aba327307/librt-0.8.1-cp314-cp314t-musllinux_1_2_riscv64.whl" + }, + { + "algorithm": "sha256", + "hash": "7b02679a0d783bdae30d443025b94465d8c3dc512f32f5b5031f93f57ac32071", + "url": "https://files.pythonhosted.org/packages/fc/be/8588164a46edf1e69858d952654e216a9a91174688eeefb9efbb38a9c799/librt-0.8.1-cp314-cp314-musllinux_1_2_riscv64.whl" + } + ], + "project_name": "librt", + "requires_dists": [], + "requires_python": ">=3.9", + "version": "0.8.1" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "f1235f5ea01b7db5468d53ece6aaddf1ad0b88d9e7462b86ef96fe04995d7247", + "url": "https://files.pythonhosted.org/packages/8d/f4/4ce9a05ce5ded1de3ec1c1d96cf9f9504a04e54ce0ed55cfa38619a32b8d/mypy-1.19.1-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "21761006a7f497cb0d4de3d8ef4ca70532256688b0523eee02baf9eec895e27b", + "url": "https://files.pythonhosted.org/packages/0a/c6/bdd60774a0dbfb05122e3e925f2e9e846c009e479dcec4821dad881f5b52/mypy-1.19.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "28902ee51f12e0f19e1e16fbe2f8f06b6637f482c459dd393efddd0ec7f82045", + "url": "https://files.pythonhosted.org/packages/32/2a/66ba933fe6c76bd40d1fe916a83f04fed253152f451a877520b3c4a5e41e/mypy-1.19.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "804bd67b8054a85447c8954215a906d6eff9cabeabe493fb6334b24f4bfff718", + "url": "https://files.pythonhosted.org/packages/94/28/52785ab7bfa165f87fcbb61547a93f98bb20e7f82f90f165a1f69bce7b3d/mypy-1.19.1-cp314-cp314-macosx_11_0_arm64.whl" + }, + { + "algorithm": "sha256", + "hash": "06e6170bd5836770e8104c8fdd58e5e725cfeb309f0a6c681a811f557e97eac1", + "url": "https://files.pythonhosted.org/packages/de/eb/b83e75f4c820c4247a58580ef86fcd35165028f191e7e1ba57128c52782d/mypy-1.19.1-cp314-cp314-macosx_10_15_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "481daf36a4c443332e2ae9c137dfee878fcea781a2e3f895d54bd3002a900957", + "url": "https://files.pythonhosted.org/packages/e3/da/5055c63e377c5c2418760411fd6a63ee2b96cf95397259038756c042574f/mypy-1.19.1-cp314-cp314-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "19d88bb05303fe63f71dd2c6270daca27cb9401c4ca8255fe50d1d920e0eb9ba", + "url": "https://files.pythonhosted.org/packages/f5/db/4efed9504bc01309ab9c2da7e352cc223569f05478012b5d9ece38fd44d2/mypy-1.19.1.tar.gz" } ], "project_name": "mypy", "requires_dists": [ + "librt>=0.6.2; platform_python_implementation != \"PyPy\"", "lxml; extra == \"reports\"", "mypy_extensions>=1.0.0", "orjson; extra == \"faster-cache\"", @@ -144,7 +258,7 @@ "typing_extensions>=4.6.0" ], "requires_python": ">=3.9", - "version": "1.18.2" + "version": "1.19.1" }, { "artifacts": [ @@ -210,106 +324,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": [ @@ -353,54 +512,61 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "6b0414ce8a6203e7859c22259576d38ea7b2232722062015c037708764730f18", - "url": "https://files.pythonhosted.org/packages/c7/c5/d83b781641370855805548a733907c974810f664904fe837c2987a362f2c/strawberry_graphql-0.314.0-py3-none-any.whl" + "hash": "9d3c977dfc5e3c26d0d7e9b0f55c4edea4794a678a381f76f7969a3c4872e91f", + "url": "https://files.pythonhosted.org/packages/17/4c/13f465c48e90591c3caeb14a9f1bd295d58a936def49ff70756ef4c48d38/strawberry_graphql-0.287.4-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "9748d4e68c92bafde87bf6b27db520a44000f1c575c74e1632a0b38b9a13484e", - "url": "https://files.pythonhosted.org/packages/cb/28/593ed0722f99d74d8ab6edcfb93b9719360b8ae535aecb39b83c4aabbe2a/strawberry_graphql-0.314.0.tar.gz" + "hash": "206eef74acc581fe0edda88f58da50d70b60ceff79ba5b39853ea624a54485f8", + "url": "https://files.pythonhosted.org/packages/60/46/f4b927d53738f858a4bf31c7e588bc61c384959993dd2c207308cd5ef900/strawberry_graphql-0.287.4.tar.gz" } ], "project_name": "strawberry-graphql", "requires_dists": [ + "Django>=3.2; extra == \"django\"", "aiohttp<4,>=3.7.4.post0; extra == \"aiohttp\"", - "asgiref>=3.2; extra == \"channels\"", - "asgiref>=3.2; extra == \"django\"", - "chalice>=1.22; extra == \"chalice\"", + "asgiref<4.0,>=3.2; extra == \"channels\"", + "asgiref<4.0,>=3.2; extra == \"django\"", + "chalice<2.0,>=1.22; extra == \"chalice\"", "channels>=3.0.5; extra == \"channels\"", "cross-web>=0.4.0", - "django>=3.2; extra == \"django\"", "fastapi>=0.65.2; extra == \"fastapi\"", "flask>=1.1; extra == \"flask\"", "graphql-core<3.4.0,>=3.2.0", "libcst; extra == \"cli\"", "libcst; extra == \"debug\"", - "litestar>=2; python_full_version >= \"3.10\" and python_full_version < \"4\" and extra == \"litestar\"", + "libcst; extra == \"debug-server\"", + "litestar>=2; python_version ~= \"3.10\" and extra == \"litestar\"", "opentelemetry-api<2; extra == \"opentelemetry\"", "opentelemetry-sdk<2; extra == \"opentelemetry\"", "packaging>=23", - "protobuf>=3.20; extra == \"apollo-federation\"", "pydantic>1.6.1; extra == \"pydantic\"", - "pygments>=2.3; extra == \"cli\"", + "pygments<3.0,>=2.3; extra == \"cli\"", + "pygments>=2.3; extra == \"debug-server\"", "pyinstrument>=4.0.0; extra == \"pyinstrument\"", "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\"", "rich>=12.0.0; extra == \"cli\"", "rich>=12.0.0; extra == \"debug\"", + "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.12.4; extra == \"cli\"", + "typer>=0.12.4; extra == \"debug-server\"", "typing-extensions>=4.5.0", "uvicorn>=0.11.6; extra == \"cli\"", - "websockets<16,>=15.0.1; 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.10", - "version": "0.314.0" + "version": "0.287.4" }, { "artifacts": [ @@ -453,12 +619,12 @@ "pip_version": "25.3", "prefer_older_binary": false, "requirements": [ - "mypy==1.18.2", - "pydantic~=2.11.3", - "strawberry-graphql~=0.314.0" + "mypy==1.19.1", + "pydantic~=2.12.0", + "strawberry-graphql~=0.287.2" ], "requires_python": [ - "CPython==3.13.7" + "CPython==3.14.3" ], "resolver_version": "pip-2020-resolver", "style": "universal", diff --git a/tools/pytest.lock b/tools/pytest.lock index 44dc99f6e1d..bfe11f8f3f0 100644 --- a/tools/pytest.lock +++ b/tools/pytest.lock @@ -6,7 +6,7 @@ // { // "version": 4, // "valid_for_interpreter_constraints": [ -// "CPython==3.13.7" +// "CPython==3.14.3" // ], // "generated_with_requirements": [ // "aioresponses>=0.7.6", @@ -61,83 +61,158 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "8057c98e0c8472d8846b9c79f56766bcc57e3e8ac7bfd510482332366c56c591", - "url": "https://files.pythonhosted.org/packages/e8/35/4a3daeb8b9fab49240d21c04d50732313295e4bd813a465d840236dd0ce1/aiohttp-3.13.3-cp313-cp313-musllinux_1_2_x86_64.whl" + "hash": "3b13560160d07e047a93f23aaa30718606493036253d5430887514715b67c9d9", + "url": "https://files.pythonhosted.org/packages/78/b7/15fb7a9d52e112a25b621c67b69c167805cb1f2ab8f1708a5c490d1b52fe/aiohttp-3.13.5-cp314-cp314t-musllinux_1_2_x86_64.whl" }, { "algorithm": "sha256", - "hash": "fc290605db2a917f6e81b0e1e0796469871f5af381ce15c604a3c5c7e51cb730", - "url": "https://files.pythonhosted.org/packages/04/98/3d21dde21889b17ca2eea54fdcff21b27b93f45b7bb94ca029c31ab59dc3/aiohttp-3.13.3-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" + "hash": "fee86b7c4bd29bdaf0d53d14739b08a106fdda809ca5fe032a15f52fae5fe254", + "url": "https://files.pythonhosted.org/packages/04/fb/377aead2e0a3ba5f09b7624f702a964bdf4f08b5b6728a9799830c80041e/aiohttp-3.13.5-cp314-cp314t-macosx_10_13_x86_64.whl" }, { "algorithm": "sha256", - "hash": "425c126c0dc43861e22cb1c14ba4c8e45d09516d0a3ae0a3f7494b79f5f233a3", - "url": "https://files.pythonhosted.org/packages/17/f8/8dd2cf6112a5a76f81f81a5130c57ca829d101ad583ce57f889179accdda/aiohttp-3.13.3-cp313-cp313-macosx_11_0_arm64.whl" + "hash": "ecc26751323224cf8186efcf7fbcbc30f4e1d8c7970659daf25ad995e4032a56", + "url": "https://files.pythonhosted.org/packages/0a/33/a8362cb15cf16a3af7e86ed11962d5cd7d59b449202dc576cdc731310bde/aiohttp-3.13.5-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" }, { "algorithm": "sha256", - "hash": "87b9aab6d6ed88235aa2970294f496ff1a1f9adcd724d800e9b952395a80ffd9", - "url": "https://files.pythonhosted.org/packages/32/08/de43984c74ed1fca5c014808963cc83cb00d7bb06af228f132d33862ca76/aiohttp-3.13.3-cp313-cp313-macosx_10_13_x86_64.whl" + "hash": "2994be9f6e51046c4f864598fd9abeb4fba6e88f0b2152422c9666dcd4aea9c6", + "url": "https://files.pythonhosted.org/packages/0b/63/fb8d0ad63a0b8a99be97deac8c04dacf0785721c158bdf23d679a87aa99e/aiohttp-3.13.5-cp314-cp314t-musllinux_1_2_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "3d9908a48eb7416dc1f4524e69f1d32e5d90e3981e4e37eb0aa1cd18f9cfa2a4", - "url": "https://files.pythonhosted.org/packages/3f/8c/714d53bd8b5a4560667f7bbbb06b20c2382f9c7847d198370ec6526af39c/aiohttp-3.13.3-cp313-cp313-musllinux_1_2_ppc64le.whl" + "hash": "0494a01ca9584eea1e5fbd6d748e61ecff218c51b576ee1999c23db7066417d8", + "url": "https://files.pythonhosted.org/packages/0e/b4/57712dfc6f1542f067daa81eb61da282fab3e6f1966fca25db06c4fc62d5/aiohttp-3.13.5-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" }, { "algorithm": "sha256", - "hash": "a949eee43d3782f2daae4f4a2819b2cb9b0c5d3b7f7a927067cc84dafdbb9f88", - "url": "https://files.pythonhosted.org/packages/50/42/32cf8e7704ceb4481406eb87161349abb46a57fee3f008ba9cb610968646/aiohttp-3.13.3.tar.gz" + "hash": "7e5dc4311bd5ac493886c63cbf76ab579dbe4641268e7c74e48e774c74b6f2be", + "url": "https://files.pythonhosted.org/packages/13/fe/8a2efd7626dbe6049b2ef8ace18ffda8a4dfcbe1bcff3ac30c0c7575c20b/aiohttp-3.13.5-cp314-cp314-macosx_10_13_x86_64.whl" }, { "algorithm": "sha256", - "hash": "7f9120f7093c2a32d9647abcaf21e6ad275b4fbec5b55969f978b1a97c7c86bf", - "url": "https://files.pythonhosted.org/packages/6d/40/a46b03ca03936f832bc7eaa47cfbb1ad012ba1be4790122ee4f4f8cba074/aiohttp-3.13.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" + "hash": "a8aca50daa9493e9e13c0f566201a9006f080e7c50e5e90d0b06f53146a54500", + "url": "https://files.pythonhosted.org/packages/17/d6/fd518d668a09fd5a3319ae5e984d4d80b9a4b3df4e21c52f02251ef5a32e/aiohttp-3.13.5-cp314-cp314t-musllinux_1_2_s390x.whl" }, { "algorithm": "sha256", - "hash": "6de499a1a44e7de70735d0b39f67c8f25eb3d91eb3103be99ca0fa882cdd987d", - "url": "https://files.pythonhosted.org/packages/71/b6/cefa4cbc00d315d68973b671cf105b21a609c12b82d52e5d0c9ae61d2a09/aiohttp-3.13.3-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" + "hash": "c564dd5f09ddc9d8f2c2d0a301cd30a79a2cc1b46dd1a73bef8f0038863d016b", + "url": "https://files.pythonhosted.org/packages/20/a5/f671e5cbec1c21d044ff3078223f949748f3a7f86b14e34a365d74a5d21f/aiohttp-3.13.5-cp314-cp314t-musllinux_1_2_armv7l.whl" }, { "algorithm": "sha256", - "hash": "f76c1e3fe7d7c8afad7ed193f89a292e1999608170dcc9751a7462a87dfd5bc0", - "url": "https://files.pythonhosted.org/packages/7c/24/75d274228acf35ceeb2850b8ce04de9dd7355ff7a0b49d607ee60c29c518/aiohttp-3.13.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" + "hash": "0f7a18f258d124cd678c5fe072fe4432a4d5232b0657fca7c1847f599233c83a", + "url": "https://files.pythonhosted.org/packages/23/73/bcee1c2b79bc275e964d1446c55c54441a461938e70267c86afaae6fba27/aiohttp-3.13.5-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "2712039939ec963c237286113c68dbad80a82a4281543f3abf766d9d73228998", - "url": "https://files.pythonhosted.org/packages/7d/79/e2176f46d2e963facea939f5be2d26368ce543622be6f00a12844d3c991f/aiohttp-3.13.3-cp313-cp313-musllinux_1_2_riscv64.whl" + "hash": "6cf81fe010b8c17b09495cbd15c1d35afbc8fb405c0c9cf4738e5ae3af1d65be", + "url": "https://files.pythonhosted.org/packages/25/3c/734c878fb43ec083d8e31bf029daae1beafeae582d1b35da234739e82ee7/aiohttp-3.13.5-cp314-cp314t-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "5dff64413671b0d3e7d5918ea490bdccb97a4ad29b3f311ed423200b2203e01c", - "url": "https://files.pythonhosted.org/packages/97/8a/12ca489246ca1faaf5432844adbfce7ff2cc4997733e0af120869345643a/aiohttp-3.13.3-cp313-cp313-macosx_10_13_universal2.whl" + "hash": "6f1cbf0c7926d315c3c26c2da41fd2b5d2fe01ac0e157b78caefc51a782196cf", + "url": "https://files.pythonhosted.org/packages/33/b9/cd6fe579bed34a906d3d783fe60f2fa297ef55b27bb4538438ee49d4dc41/aiohttp-3.13.5-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "4021b51936308aeea0367b8f006dc999ca02bc118a0cc78c303f50a2ff6afb91", - "url": "https://files.pythonhosted.org/packages/9e/84/da0c3ab1192eaf64782b03971ab4055b475d0db07b17eff925e8c93b3aa5/aiohttp-3.13.3-cp313-cp313-musllinux_1_2_aarch64.whl" + "hash": "10a75acfcf794edf9d8db50e5a7ec5fc818b2a8d3f591ce93bc7b1210df016d2", + "url": "https://files.pythonhosted.org/packages/45/0c/c091ac5c3a17114bd76cbf85d674650969ddf93387876cf67f754204bd77/aiohttp-3.13.5-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl" }, { "algorithm": "sha256", - "hash": "7bfdc049127717581866fa4708791220970ce291c23e28ccf3922c700740fdc0", - "url": "https://files.pythonhosted.org/packages/ab/6a/28ed4dea1759916090587d1fe57087b03e6c784a642b85ef48217b0277ae/aiohttp-3.13.3-cp313-cp313-musllinux_1_2_s390x.whl" + "hash": "157826e2fa245d2ef46c83ea8a5faf77ca19355d278d425c29fda0beb3318037", + "url": "https://files.pythonhosted.org/packages/59/0c/bfed7f30662fcf12206481c2aac57dedee43fe1c49275e85b3a1e1742294/aiohttp-3.13.5-cp314-cp314t-musllinux_1_2_riscv64.whl" }, { "algorithm": "sha256", - "hash": "697753042d57f4bf7122cab985bf15d0cef23c770864580f5af4f52023a56bd6", - "url": "https://files.pythonhosted.org/packages/f7/7e/917fe18e3607af92657e4285498f500dca797ff8c918bd7d90b05abf6c2a/aiohttp-3.13.3-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl" + "hash": "eb4639f32fd4a9904ab8fb45bf3383ba71137f3d9d4ba25b3b3f3109977c5b8c", + "url": "https://files.pythonhosted.org/packages/5d/ce/46572759afc859e867a5bc8ec3487315869013f59281ce61764f76d879de/aiohttp-3.13.5-cp314-cp314-macosx_10_13_universal2.whl" }, { "algorithm": "sha256", - "hash": "37239e9f9a7ea9ac5bf6b92b0260b01f8a22281996da609206a84df860bc1261", - "url": "https://files.pythonhosted.org/packages/fb/e3/e06ee07b45e59e6d81498b591fc589629be1553abb2a82ce33efe2a7b068/aiohttp-3.13.3-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" + "hash": "898703aa2667e3c5ca4c54ca36cd73f58b7a38ef87a5606414799ebce4d3fd3a", + "url": "https://files.pythonhosted.org/packages/66/1d/f31ec3f1013723b3babe3609e7f119c2c2fb6ef33da90061a705ef3e1bc8/aiohttp-3.13.5-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" }, { "algorithm": "sha256", - "hash": "49a03727c1bba9a97d3e93c9f93ca03a57300f484b6e935463099841261195d3", - "url": "https://files.pythonhosted.org/packages/ff/0f/5802ada182f575afa02cbd0ec5180d7e13a402afb7c2c03a9aa5e5d49060/aiohttp-3.13.3-cp313-cp313-musllinux_1_2_armv7l.whl" + "hash": "9d98cc980ecc96be6eb4c1994ce35d28d8b1f5e5208a23b421187d1209dbb7d1", + "url": "https://files.pythonhosted.org/packages/77/9a/152096d4808df8e4268befa55fba462f440f14beab85e8ad9bf990516918/aiohttp-3.13.5.tar.gz" + }, + { + "algorithm": "sha256", + "hash": "1efb06900858bb618ff5cee184ae2de5828896c448403d51fb633f09e109be0a", + "url": "https://files.pythonhosted.org/packages/79/11/c27d9332ee20d68dd164dc12a6ecdef2e2e35ecc97ed6cf0d2442844624b/aiohttp-3.13.5-cp314-cp314t-macosx_10_13_universal2.whl" + }, + { + "algorithm": "sha256", + "hash": "8cf20a8d6868cb15a73cab329ffc07291ba8c22b1b88176026106ae39aa6df0f", + "url": "https://files.pythonhosted.org/packages/79/b3/ca078f9f2fa9563c36fb8ef89053ea2bb146d6f792c5104574d49d8acb63/aiohttp-3.13.5-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "fceedde51fbd67ee2bcc8c0b33d0126cc8b51ef3bbde2f86662bd6d5a6f10ec5", + "url": "https://files.pythonhosted.org/packages/8a/66/9d308ed71e3f2491be1acb8769d96c6f0c47d92099f3bc9119cada27b357/aiohttp-3.13.5-cp314-cp314-musllinux_1_2_riscv64.whl" + }, + { + "algorithm": "sha256", + "hash": "756c3c304d394977519824449600adaf2be0ccee76d206ee339c5e76b70ded25", + "url": "https://files.pythonhosted.org/packages/9b/91/cc8cc78a111826c54743d88651e1687008133c37e5ee615fee9b57990fac/aiohttp-3.13.5-cp314-cp314-macosx_11_0_arm64.whl" + }, + { + "algorithm": "sha256", + "hash": "330f5da04c987f1d5bdb8ae189137c77139f36bd1cb23779ca1a354a4b027800", + "url": "https://files.pythonhosted.org/packages/b7/e3/a7ad633ca1ca497b852233a3cce6906a56c3225fb6d9217b5e5e60b7419d/aiohttp-3.13.5-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl" + }, + { + "algorithm": "sha256", + "hash": "20058e23909b9e65f9da62b396b77dfa95965cbe840f8def6e572538b1d32e36", + "url": "https://files.pythonhosted.org/packages/bb/a6/aa109a33671f7a5d3bd78b46da9d852797c5e665bfda7d6b373f56bff2ec/aiohttp-3.13.5-cp314-cp314t-macosx_11_0_arm64.whl" + }, + { + "algorithm": "sha256", + "hash": "241a94f7de7c0c3b616627aaad530fe2cb620084a8b144d3be7b6ecfe95bae3b", + "url": "https://files.pythonhosted.org/packages/bd/c9/989f4034fb46841208de7aeeac2c6d8300745ab4f28c42f629ba77c2d916/aiohttp-3.13.5-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "53fc049ed6390d05423ba33103ded7281fe897cf97878f369a527070bd95795b", + "url": "https://files.pythonhosted.org/packages/c0/3f/2c1e2f5144cefa889c8afd5cf431994c32f3b29da9961698ff4e3811b79a/aiohttp-3.13.5-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" + }, + { + "algorithm": "sha256", + "hash": "20ae0ff08b1f2c8788d6fb85afcb798654ae6ba0b747575f8562de738078457b", + "url": "https://files.pythonhosted.org/packages/c1/2b/cce5b0ffe0de99c83e5e36d8f828e4161e415660a9f3e58339d07cce3006/aiohttp-3.13.5-cp314-cp314-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "6e27ea05d184afac78aabbac667450c75e54e35f62238d44463131bd3f96753d", + "url": "https://files.pythonhosted.org/packages/c3/20/1e9e6650dfc436340116b7aa89ff8cb2bbdf0abc11dfaceaad8f74273a10/aiohttp-3.13.5-cp314-cp314-musllinux_1_2_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "df6104c009713d3a89621096f3e3e88cc323fd269dbd7c20afe18535094320be", + "url": "https://files.pythonhosted.org/packages/c7/ef/720e639df03004fee2d869f771799d8c23046dec47d5b81e396c7cda583a/aiohttp-3.13.5-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" + }, + { + "algorithm": "sha256", + "hash": "c974fb66180e58709b6fc402846f13791240d180b74de81d23913abe48e96d94", + "url": "https://files.pythonhosted.org/packages/ce/75/ee1fd286ca7dc599d824b5651dad7b3be7ff8d9a7e7b3fe9820d9180f7db/aiohttp-3.13.5-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" + }, + { + "algorithm": "sha256", + "hash": "a79a6d399cef33a11b6f004c67bb07741d91f2be01b8d712d52c75711b1e07c7", + "url": "https://files.pythonhosted.org/packages/d8/40/8ebc6658d48ea630ac7903912fe0dd4e262f0e16825aa4c833c56c9f1f56/aiohttp-3.13.5-cp314-cp314-musllinux_1_2_armv7l.whl" + }, + { + "algorithm": "sha256", + "hash": "c632ce9c0b534fbe25b52c974515ed674937c5b99f549a92127c85f771a78772", + "url": "https://files.pythonhosted.org/packages/d8/78/ea0ae5ec8ba7a5c10bdd6e318f1ba5e76fcde17db8275188772afc7917a4/aiohttp-3.13.5-cp314-cp314-musllinux_1_2_ppc64le.whl" + }, + { + "algorithm": "sha256", + "hash": "f92995dfec9420bb69ae629abf422e516923ba79ba4403bc750d94fb4a6c68c1", + "url": "https://files.pythonhosted.org/packages/da/a6/6cc25ed8dfc6e00c90f5c6d126a98e2cf28957ad06fa1036bd34b6f24a2c/aiohttp-3.13.5-cp314-cp314-musllinux_1_2_s390x.whl" } ], "project_name": "aiohttp", @@ -156,7 +231,7 @@ "yarl<2.0,>=1.17.0" ], "requires_python": ">=3.9", - "version": "3.13.3" + "version": "3.13.5" }, { "artifacts": [ @@ -204,131 +279,151 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "adcf7e2a1fb3b36ac48d97835bb6d8ade15b8dcce26aba8bf1d14847b57a3373", - "url": "https://files.pythonhosted.org/packages/3a/2a/7cc015f5b9f5db42b7d48157e23356022889fc354a2813c15934b7cb5c0e/attrs-25.4.0-py3-none-any.whl" + "hash": "c647aa4a12dfbad9333ca4e71fe62ddc36f4e63b2d260a37a8b83d2f043ac309", + "url": "https://files.pythonhosted.org/packages/64/b4/17d4b0b2a2dc85a6df63d1157e028ed19f90d4cd97c36717afef2bc2f395/attrs-26.1.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "16d5969b87f0859ef33a48b35d55ac1be6e42ae49d5e853b597db70c35c57e11", - "url": "https://files.pythonhosted.org/packages/6b/5c/685e6633917e101e5dcb62b9dd76946cbb57c26e133bae9e0cd36033c0a9/attrs-25.4.0.tar.gz" + "hash": "d03ceb89cb322a8fd706d4fb91940737b6642aa36998fe130a9bc96c985eff32", + "url": "https://files.pythonhosted.org/packages/9a/8e/82a0fe20a541c03148528be8cac2408564a6c9a0cc7e9171802bc1d26985/attrs-26.1.0.tar.gz" } ], "project_name": "attrs", "requires_dists": [], "requires_python": ">=3.9", - "version": "25.4.0" + "version": "26.1.0" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "2016745cb3ba554469d02819d78958b571792bb68e31302610e898f80dd3a573", - "url": "https://files.pythonhosted.org/packages/cc/48/d9f421cb8da5afaa1a64570d9989e00fb7955e6acddc5a12979f7666ef60/coverage-7.13.1-py3-none-any.whl" + "hash": "34b02417cf070e173989b3db962f7ed56d2f644307b2cf9d5a0f258e13084a61", + "url": "https://files.pythonhosted.org/packages/9e/ee/a4cf96b8ce1e566ed238f0659ac2d3f007ed1d14b181bcb684e19561a69a/coverage-7.13.5-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "8fdf453a942c3e4d99bd80088141c4c6960bb232c409d9c3558e2dbaa3998562", + "url": "https://files.pythonhosted.org/packages/06/3b/0351f1bd566e6e4dd39e978efe7958bde1d32f879e85589de147654f57bb/coverage-7.13.5-cp314-cp314t-musllinux_1_2_i686.whl" + }, + { + "algorithm": "sha256", + "hash": "cff784eef7f0b8f6cb28804fbddcfa99f89efe4cc35fb5627e3ac58f91ed3ac0", + "url": "https://files.pythonhosted.org/packages/1c/93/25e6917c90ec1c9a56b0b26f6cad6408e5f13bb6b35d484a0d75c9cf000d/coverage-7.13.5-cp314-cp314-musllinux_1_2_riscv64.whl" + }, + { + "algorithm": "sha256", + "hash": "6c36ddb64ed9d7e496028d1d00dfec3e428e0aabf4006583bb1839958d280510", + "url": "https://files.pythonhosted.org/packages/22/e5/06b1f88f42a5a99df42ce61208bdec3bddb3d261412874280a19796fc09c/coverage-7.13.5-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "e301d30dd7e95ae068671d746ba8c34e945a82682e62918e41b2679acd2051a0", + "url": "https://files.pythonhosted.org/packages/3b/c4/b5fd1d4b7bf8d0e75d997afd3925c59ba629fc8616f1b3aae7605132e256/coverage-7.13.5-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" }, { "algorithm": "sha256", - "hash": "fa3edde1aa8807de1d05934982416cb3ec46d1d4d91e280bcce7cca01c507992", - "url": "https://files.pythonhosted.org/packages/12/da/91a52516e9d5aea87d32d1523f9cdcf7a35a3b298e6be05d6509ba3cfab2/coverage-7.13.1-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl" + "hash": "8769751c10f339021e2638cd354e13adeac54004d1941119b2c96fe5276d45ea", + "url": "https://files.pythonhosted.org/packages/3d/16/d5ae91455541d1a78bc90abf495be600588aff8f6db5c8b0dae739fa39c9/coverage-7.13.5-cp314-cp314t-musllinux_1_2_riscv64.whl" }, { "algorithm": "sha256", - "hash": "0d2c11f3ea4db66b5cbded23b20185c35066892c67d80ec4be4bab257b9ad1e0", - "url": "https://files.pythonhosted.org/packages/1a/b1/29896492b0b1a047604d35d6fa804f12818fa30cdad660763a5f3159e158/coverage-7.13.1-cp313-cp313t-musllinux_1_2_i686.whl" + "hash": "cec2d83125531bd153175354055cdb7a09987af08a9430bd173c937c6d0fba2a", + "url": "https://files.pythonhosted.org/packages/48/11/07f413dba62db21fb3fad5d0de013a50e073cc4e2dc4306e770360f6dfc8/coverage-7.13.5-cp314-cp314t-musllinux_1_2_x86_64.whl" }, { "algorithm": "sha256", - "hash": "bb3f6562e89bad0110afbe64e485aac2462efdce6232cdec7862a095dc3412f6", - "url": "https://files.pythonhosted.org/packages/1f/af/ebf91e3e1a2473d523e87e87fd8581e0aa08741b96265730e2d79ce78d8d/coverage-7.13.1-cp313-cp313t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl" + "hash": "32ca0c0114c9834a43f045a87dcebd69d108d8ffb666957ea65aa132f50332e2", + "url": "https://files.pythonhosted.org/packages/5d/ce/796a2a2f4017f554d7810f5c573449b35b1e46788424a548d4d19201b222/coverage-7.13.5-cp314-cp314t-musllinux_1_2_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "b7593fe7eb5feaa3fbb461ac79aac9f9fc0387a5ca8080b0c6fe2ca27b091afd", - "url": "https://files.pythonhosted.org/packages/23/f9/e92df5e07f3fc8d4c7f9a0f146ef75446bf870351cd37b788cf5897f8079/coverage-7.13.1.tar.gz" + "hash": "10a0c37f0b646eaff7cce1874c31d1f1ccb297688d4c747291f4f4c70741cc8b", + "url": "https://files.pythonhosted.org/packages/60/5b/4a168591057b3668c2428bff25dd3ebc21b629d666d90bcdfa0217940e84/coverage-7.13.5-cp314-cp314t-macosx_10_15_x86_64.whl" }, { "algorithm": "sha256", - "hash": "1dcb645d7e34dcbcc96cd7c132b1fc55c39263ca62eb961c064eb3928997363b", - "url": "https://files.pythonhosted.org/packages/32/33/7cbfe2bdc6e2f03d6b240d23dc45fdaf3fd270aaf2d640be77b7f16989ab/coverage-7.13.1-cp313-cp313-macosx_11_0_arm64.whl" + "hash": "e808af52a0513762df4d945ea164a24b37f2f518cbe97e03deaa0ee66139b4d6", + "url": "https://files.pythonhosted.org/packages/61/77/50e8d3d85cc0b7ebe09f30f151d670e302c7ff4a1bf6243f71dd8b0981fa/coverage-7.13.5-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "f80e2bb21bfab56ed7405c2d79d34b5dc0bc96c2c1d2a067b643a09fb756c43a", - "url": "https://files.pythonhosted.org/packages/47/79/c85e378eaa239e2edec0c5523f71542c7793fe3340954eafb0bc3904d32d/coverage-7.13.1-cp313-cp313t-macosx_11_0_arm64.whl" + "hash": "bd3a2fbc1c6cccb3c5106140d87cc6a8715110373ef42b63cf5aea29df8c217a", + "url": "https://files.pythonhosted.org/packages/6a/6c/1f1917b01eb647c2f2adc9962bd66c79eb978951cab61bdc1acab3290c07/coverage-7.13.5-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl" }, { "algorithm": "sha256", - "hash": "3fc6a169517ca0d7ca6846c3c5392ef2b9e38896f61d615cb75b9e7134d4ee1e", - "url": "https://files.pythonhosted.org/packages/48/f2/971de1238a62e6f0a4128d37adadc8bb882ee96afbe03ff1570291754629/coverage-7.13.1-cp313-cp313t-musllinux_1_2_riscv64.whl" + "hash": "777c4d1eff1b67876139d24288aaf1817f6c03d6bae9c5cc8d27b83bcfe38fe3", + "url": "https://files.pythonhosted.org/packages/7a/5e/31484d62cbd0eabd3412e30d74386ece4a0837d4f6c3040a653878bfc019/coverage-7.13.5-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" }, { "algorithm": "sha256", - "hash": "3d42df8201e00384736f0df9be2ced39324c3907607d17d50d50116c989d84cd", - "url": "https://files.pythonhosted.org/packages/59/f6/efdabdb4929487baeb7cb2a9f7dac457d9356f6ad1b255be283d58b16316/coverage-7.13.1-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl" + "hash": "380e8e9084d8eb38db3a9176a1a4f3c0082c3806fa0dc882d1d87abc3c789247", + "url": "https://files.pythonhosted.org/packages/80/28/2a148a51e5907e504fa7b85490277734e6771d8844ebcc48764a15e28155/coverage-7.13.5-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" }, { "algorithm": "sha256", - "hash": "0403f647055de2609be776965108447deb8e384fe4a553c119e3ff6bfbab4784", - "url": "https://files.pythonhosted.org/packages/69/c8/a8994f5fece06db7c4a97c8fc1973684e178599b42e66280dded0524ef00/coverage-7.13.1-cp313-cp313-musllinux_1_2_x86_64.whl" + "hash": "c9136ff29c3a91e25b1d1552b5308e53a1e0653a23e53b6366d7c2dcbbaf8a16", + "url": "https://files.pythonhosted.org/packages/8a/fb/616d95d3adb88b9803b275580bdeee8bd1b69a886d057652521f83d7322f/coverage-7.13.5-cp314-cp314-musllinux_1_2_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "d10a2ed46386e850bb3de503a54f9fe8192e5917fcbb143bfef653a9355e9a53", - "url": "https://files.pythonhosted.org/packages/6a/fc/0474efcbb590ff8628830e9aaec5f1831594874360e3251f1fdec31d07a3/coverage-7.13.1-cp313-cp313t-musllinux_1_2_x86_64.whl" + "hash": "fbabfaceaeb587e16f7008f7795cd80d20ec548dc7f94fbb0d4ec2e038ce563f", + "url": "https://files.pythonhosted.org/packages/8e/77/39703f0d1d4b478bfd30191d3c14f53caf596fac00efb3f8f6ee23646439/coverage-7.13.5-cp314-cp314-macosx_10_15_x86_64.whl" }, { "algorithm": "sha256", - "hash": "67170979de0dacac3f3097d02b0ad188d8edcea44ccc44aaa0550af49150c7dc", - "url": "https://files.pythonhosted.org/packages/70/52/f2be52cc445ff75ea8397948c96c1b4ee14f7f9086ea62fc929c5ae7b717/coverage-7.13.1-cp313-cp313t-macosx_10_13_x86_64.whl" + "hash": "e1c85e0b6c05c592ea6d8768a66a254bfb3874b53774b12d4c89c481eb78cb90", + "url": "https://files.pythonhosted.org/packages/9c/20/d326174c55af36f74eac6ae781612d9492f060ce8244b570bb9d50d9d609/coverage-7.13.5-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "9edd0e01a343766add6817bc448408858ba6b489039eaaa2018474e4001651a4", - "url": "https://files.pythonhosted.org/packages/75/38/f1ea837e3dc1231e086db1638947e00d264e7e8c41aa8ecacf6e1e0c05f4/coverage-7.13.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" + "hash": "c81f6515c4c40141f83f502b07bbfa5c240ba25bbe73da7b33f1e5b6120ff179", + "url": "https://files.pythonhosted.org/packages/9d/e0/70553e3000e345daff267cec284ce4cbf3fc141b6da229ac52775b5428f1/coverage-7.13.5.tar.gz" }, { "algorithm": "sha256", - "hash": "985b7836931d033570b94c94713c6dba5f9d3ff26045f72c3e5dbc5fe3361e5a", - "url": "https://files.pythonhosted.org/packages/7f/43/f4f16b881aaa34954ba446318dea6b9ed5405dd725dd8daac2358eda869a/coverage-7.13.1-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" + "hash": "0b67af5492adb31940ee418a5a655c28e48165da5afab8c7fa6fd72a142f8740", + "url": "https://files.pythonhosted.org/packages/9e/ea/879c83cb5d61aa2a35fb80e72715e92672daef8191b84911a643f533840c/coverage-7.13.5-cp314-cp314-musllinux_1_2_i686.whl" }, { "algorithm": "sha256", - "hash": "ffed1e4980889765c84a5d1a566159e363b71d6b6fbaf0bebc9d3c30bc016766", - "url": "https://files.pythonhosted.org/packages/84/34/8cba7f00078bd468ea914134e0144263194ce849ec3baad187ffb6203d1c/coverage-7.13.1-cp313-cp313-musllinux_1_2_aarch64.whl" + "hash": "750db93a81e3e5a9831b534be7b1229df848b2e125a604fe6651e48aa070e5f9", + "url": "https://files.pythonhosted.org/packages/d6/fe/2a924b3055a5e7e4512655a9d4609781b0d62334fa0140c3e742926834e2/coverage-7.13.5-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl" }, { "algorithm": "sha256", - "hash": "8842af7f175078456b8b17f1b73a0d16a65dcbdc653ecefeb00a56b3c8c298c4", - "url": "https://files.pythonhosted.org/packages/8c/a4/cffac66c7652d84ee4ac52d3ccb94c015687d3b513f9db04bfcac2ac800d/coverage-7.13.1-cp313-cp313-musllinux_1_2_i686.whl" + "hash": "9ddb4f4a5479f2539644be484da179b653273bca1a323947d48ab107b3ed1f29", + "url": "https://files.pythonhosted.org/packages/d7/0d/c8928f2bd518c45990fe1a2ab8db42e914ef9b726c975facc4282578c3eb/coverage-7.13.5-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl" }, { "algorithm": "sha256", - "hash": "a4d240d260a1aed814790bbe1f10a5ff31ce6c21bc78f0da4a1e8268d6c80dbd", - "url": "https://files.pythonhosted.org/packages/9b/26/ef2adb1e22674913b89f0fe7490ecadcef4a71fa96f5ced90c60ec358789/coverage-7.13.1-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" + "hash": "9bb2a28101a443669a423b665939381084412b81c3f8c0fcfbac57f4e30b5b8e", + "url": "https://files.pythonhosted.org/packages/e2/3e/51dff36d99ae14639a133d9b164d63e628532e2974d8b1edb99dd1ebc733/coverage-7.13.5-cp314-cp314-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "cb237bfd0ef4d5eb6a19e29f9e528ac67ac3be932ea6b44fb6cc09b9f3ecff78", - "url": "https://files.pythonhosted.org/packages/a3/a4/e98e689347a1ff1a7f67932ab535cef82eb5e78f32a9e4132e114bbb3a0a/coverage-7.13.1-cp313-cp313-macosx_10_13_x86_64.whl" + "hash": "6697e29b93707167687543480a40f0db8f356e86d9f67ddf2e37e2dfd91a9dab", + "url": "https://files.pythonhosted.org/packages/e9/d8/49a72d6de146eebb0b7e48cc0f4bc2c0dd858e3d4790ab2b39a2872b62bd/coverage-7.13.5-cp314-cp314t-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "77545b5dcda13b70f872c3b5974ac64c21d05e65b1590b441c8560115dc3a0d1", - "url": "https://files.pythonhosted.org/packages/c4/8b/fb2423526d446596624ac7fde12ea4262e66f86f5120114c3cfd0bb2befa/coverage-7.13.1-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" + "hash": "d8a7a2049c14f413163e2bdabd37e41179b1d1ccb10ffc6ccc4b7a718429c607", + "url": "https://files.pythonhosted.org/packages/ef/ae/4ae35bbd9a0af9d820362751f0766582833c211224b38665c0f8de3d487f/coverage-7.13.5-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" }, { "algorithm": "sha256", - "hash": "d2287ac9360dec3837bfdad969963a5d073a09a85d898bd86bea82aa8876ef3c", - "url": "https://files.pythonhosted.org/packages/ce/7d/f0f59b3404caf662e7b5346247883887687c074ce67ba453ea08c612b1d5/coverage-7.13.1-cp313-cp313t-musllinux_1_2_aarch64.whl" + "hash": "b5db73ba3c41c7008037fa731ad5459fc3944cb7452fc0aa9f822ad3533c583c", + "url": "https://files.pythonhosted.org/packages/f5/21/1fd5c4dbfe4a58b6b99649125635df46decdfd4a784c3cd6d410d303e370/coverage-7.13.5-cp314-cp314t-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "ccd7a6fca48ca9c131d9b0a2972a581e28b13416fc313fb98b6d24a03ce9a398", - "url": "https://files.pythonhosted.org/packages/f4/78/9a64d462263dde416f3c0067efade7b52b52796f489b1037a95b0dc389c9/coverage-7.13.1-cp313-cp313-musllinux_1_2_riscv64.whl" + "hash": "800bc829053c80d240a687ceeb927a94fd108bbdc68dfbe505d0d75ab578a882", + "url": "https://files.pythonhosted.org/packages/f8/66/6ea21f910e92d69ef0b1c3346ea5922a51bad4446c9126db2ae96ee24c4c/coverage-7.13.5-cp314-cp314-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "f83351e0f7dcdb14d7326c3d8d8c4e915fa685cbfdc6281f9470d97a04e9dfe4", - "url": "https://files.pythonhosted.org/packages/fe/9b/b1ade8bfb653c0bbce2d6d6e90cc6c254cbb99b7248531cc76253cb4da6d/coverage-7.13.1-cp313-cp313t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl" + "hash": "68a4953be99b17ac3c23b6efbc8a38330d99680c9458927491d18700ef23ded0", + "url": "https://files.pythonhosted.org/packages/fc/7b/dc1776b0464145a929deed214aef9fb1493f159b59ff3c7eeeedf91eddd0/coverage-7.13.5-cp314-cp314-musllinux_1_2_x86_64.whl" } ], "project_name": "coverage", @@ -336,7 +431,7 @@ "tomli; python_full_version <= \"3.11.0a6\" and extra == \"toml\"" ], "requires_python": ">=3.10", - "version": "7.13.1" + "version": "7.13.5" }, { "artifacts": [ @@ -347,138 +442,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", @@ -531,163 +626,163 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "394fc5c42a333c9ffc3e421a4c85e08580d990e08b99f6bf35b4132114c5dcb3", - "url": "https://files.pythonhosted.org/packages/b7/da/7d22601b625e241d4f23ef1ebff8acfc60da633c9e7e7922e24d10f592b3/multidict-6.7.0-py3-none-any.whl" + "hash": "55d97cc6dae627efa6a6e548885712d4864b81110ac76fa4e534c03819fa4a56", + "url": "https://files.pythonhosted.org/packages/81/08/7036c080d7117f28a4af526d794aab6a84463126db031b007717c1a6676e/multidict-6.7.1-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "7516c579652f6a6be0e266aec0acd0db80829ca305c3d771ed898538804c2036", - "url": "https://files.pythonhosted.org/packages/06/c9/11ea263ad0df7dfabcad404feb3c0dd40b131bc7f232d5537f2fb1356951/multidict-6.7.0-cp313-cp313-musllinux_1_2_aarch64.whl" + "hash": "a0543217a6a017692aa6ae5cc39adb75e587af0f3a82288b1492eb73dd6cc2a4", + "url": "https://files.pythonhosted.org/packages/07/d0/c0a72000243756e8f5a277b6b514fa005f2c73d481b7d9e47cd4568aa2e4/multidict-6.7.1-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "b3bc26a951007b1057a1c543af845f1c7e3e71cc240ed1ace7bf4484aa99196e", - "url": "https://files.pythonhosted.org/packages/15/fe/ad407bb9e818c2b31383f6131ca19ea7e35ce93cf1310fce69f12e89de75/multidict-6.7.0-cp313-cp313-musllinux_1_2_i686.whl" + "hash": "ec6652a1bee61c53a3e5776b6049172c53b6aaba34f18c9ad04f82712bac623d", + "url": "https://files.pythonhosted.org/packages/1a/c2/c2d94cbe6ac1753f3fc980da97b3d930efe1da3af3c9f5125354436c073d/multidict-6.7.1.tar.gz" }, { "algorithm": "sha256", - "hash": "9fb0211dfc3b51efea2f349ec92c114d7754dd62c01f81c3e32b765b70c45c9b", - "url": "https://files.pythonhosted.org/packages/20/33/9228d76339f1ba51e3efef7da3ebd91964d3006217aae13211653193c3ff/multidict-6.7.0-cp313-cp313t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl" + "hash": "1e3a8bb24342a8201d178c3b4984c26ba81a577c80d4d525727427460a50c22d", + "url": "https://files.pythonhosted.org/packages/24/bb/2c0c2287963f4259c85e8bcbba9182ced8d7fca65c780c38e99e61629d11/multidict-6.7.1-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl" }, { "algorithm": "sha256", - "hash": "e93a0617cd16998784bf4414c7e40f17a35d2350e5c6f0bd900d3a8e02bd3762", - "url": "https://files.pythonhosted.org/packages/26/64/d5416038dbda1488daf16b676e4dbfd9674dde10a0cc8f4fc2b502d8125d/multidict-6.7.0-cp313-cp313t-musllinux_1_2_s390x.whl" + "hash": "2e1425e2f99ec5bd36c15a01b690a1a2456209c5deed58f95469ffb46039ccbb", + "url": "https://files.pythonhosted.org/packages/35/48/e58cd31f6c7d5102f2a4bf89f96b9cf7e00b6c6f3d04ecc44417c00a5a3c/multidict-6.7.1-cp314-cp314-musllinux_1_2_armv7l.whl" }, { "algorithm": "sha256", - "hash": "040f393368e63fb0f3330e70c26bfd336656bed925e5cbe17c9da839a6ab13ec", - "url": "https://files.pythonhosted.org/packages/41/88/d714b86ee2c17d6e09850c70c9d310abac3d808ab49dfa16b43aba9d53fd/multidict-6.7.0-cp313-cp313-musllinux_1_2_armv7l.whl" + "hash": "14525a5f61d7d0c94b368a42cff4c9a4e7ba2d52e2672a7b23d84dc86fb02b0c", + "url": "https://files.pythonhosted.org/packages/37/e8/5284c53310dcdc99ce5d66563f6e5773531a9b9fe9ec7a615e9bc306b05f/multidict-6.7.1-cp314-cp314t-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "749a72584761531d2b9467cfbdfd29487ee21124c304c4b6cb760d8777b27f9c", - "url": "https://files.pythonhosted.org/packages/46/d1/908f896224290350721597a61a69cd19b89ad8ee0ae1f38b3f5cd12ea2ac/multidict-6.7.0-cp313-cp313t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl" + "hash": "b4938326284c4f1224178a560987b6cf8b4d38458b113d9b8c1db1a836e640a2", + "url": "https://files.pythonhosted.org/packages/41/5f/604ae839e64a4a6efc80db94465348d3b328ee955e37acb24badbcd24d83/multidict-6.7.1-cp314-cp314t-musllinux_1_2_x86_64.whl" }, { "algorithm": "sha256", - "hash": "3b29b980d0ddbecb736735ee5bef69bb2ddca56eff603c86f3f29a1128299b4f", - "url": "https://files.pythonhosted.org/packages/50/cc/5f93e99427248c09da95b62d64b25748a5f5c98c7c2ab09825a1d6af0e15/multidict-6.7.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" + "hash": "7a7e590ff876a3eaf1c02a4dfe0724b6e69a9e9de6d8f556816f29c496046e59", + "url": "https://files.pythonhosted.org/packages/41/75/4ad0973179361cdf3a113905e6e088173198349131be2b390f9fa4da5fc6/multidict-6.7.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" }, { "algorithm": "sha256", - "hash": "4ef089f985b8c194d341eb2c24ae6e7408c9a0e2e5658699c92f497437d88c3c", - "url": "https://files.pythonhosted.org/packages/54/0a/4349d540d4a883863191be6eb9a928846d4ec0ea007d3dcd36323bb058ac/multidict-6.7.0-cp313-cp313t-musllinux_1_2_ppc64le.whl" + "hash": "fa263a02f4f2dd2d11a7b1bb4362aa7cb1049f84a9235d31adf63f30143469a0", + "url": "https://files.pythonhosted.org/packages/48/5a/d5a99e3acbca0e29c5d9cba8f92ceb15dce78bab963b308ae692981e3a5d/multidict-6.7.1-cp314-cp314-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "07f5594ac6d084cbb5de2df218d78baf55ef150b91f0ff8a21cc7a2e3a5a58eb", - "url": "https://files.pythonhosted.org/packages/55/5c/3fa2d07c84df4e302060f555bbf539310980362236ad49f50eeb0a1c1eb9/multidict-6.7.0-cp313-cp313t-macosx_10_13_x86_64.whl" + "hash": "283ddac99f7ac25a4acadbf004cb5ae34480bbeb063520f70ce397b281859362", + "url": "https://files.pythonhosted.org/packages/4b/25/8167187f62ae3cbd52da7893f58cb036b47ea3fb67138787c76800158982/multidict-6.7.1-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "a60a4d75718a5efa473ebd5ab685786ba0c67b8381f781d1be14da49f1a2dc60", - "url": "https://files.pythonhosted.org/packages/5d/cc/84e0585f805cbeaa9cbdaa95f9a3d6aed745b9d25700623ac89a6ecff400/multidict-6.7.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" + "hash": "93b1818e4a6e0930454f0f2af7dfce69307ca03cdcfb3739bf4d91241967b6c1", + "url": "https://files.pythonhosted.org/packages/4d/c1/11f664f14d525e4a1b5327a82d4de61a1db604ab34c6603bb3c2cc63ad34/multidict-6.7.1-cp314-cp314-musllinux_1_2_s390x.whl" }, { "algorithm": "sha256", - "hash": "2090d3718829d1e484706a2f525e50c892237b2bf9b17a79b059cb98cddc2f10", - "url": "https://files.pythonhosted.org/packages/61/1a/982913957cb90406c8c94f53001abd9eafc271cb3e70ff6371590bec478e/multidict-6.7.0-cp313-cp313t-musllinux_1_2_armv7l.whl" + "hash": "233b398c29d3f1b9676b4b6f75c518a06fcb2ea0b925119fb2c1bc35c05e1601", + "url": "https://files.pythonhosted.org/packages/64/f2/6e1107d226278c876c783056b7db43d800bb64c6131cec9c8dfb6903698e/multidict-6.7.1-cp314-cp314-musllinux_1_2_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "cd240939f71c64bd658f186330603aac1a9a81bf6273f523fca63673cb7378a8", - "url": "https://files.pythonhosted.org/packages/75/3f/e2639e80325af0b6c6febdf8e57cc07043ff15f57fa1ef808f4ccb5ac4cd/multidict-6.7.0-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl" + "hash": "c0abd12629b0af3cf590982c0b413b1e7395cd4ec026f30986818ab95bfaa94a", + "url": "https://files.pythonhosted.org/packages/7a/68/53b5494738d83558d87c3c71a486504d8373421c3e0dbb6d0db48ad42ee0/multidict-6.7.1-cp314-cp314t-macosx_10_15_x86_64.whl" }, { "algorithm": "sha256", - "hash": "c6e99d9a65ca282e578dfea819cfa9c0a62b2499d8677392e09feaf305e9e6f5", - "url": "https://files.pythonhosted.org/packages/80/1e/5492c365f222f907de1039b91f922b93fa4f764c713ee858d235495d8f50/multidict-6.7.0.tar.gz" + "hash": "e628ef0e6859ffd8273c69412a2465c4be4a9517d07261b33334b5ec6f3c7489", + "url": "https://files.pythonhosted.org/packages/7e/a9/a50d2669e506dad33cfc45b5d574a205587b7b8a5f426f2fbb2e90882588/multidict-6.7.1-cp314-cp314t-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "7b022717c748dd1992a83e219587aabe45980d88969f01b316e78683e6285f64", - "url": "https://files.pythonhosted.org/packages/8c/a4/a89abdb0229e533fb925e7c6e5c40201c2873efebc9abaf14046a4536ee6/multidict-6.7.0-cp313-cp313-musllinux_1_2_ppc64le.whl" + "hash": "6b10359683bd8806a200fd2909e7c8ca3a7b24ec1d8132e483d58e791d881048", + "url": "https://files.pythonhosted.org/packages/8b/13/78f7275e73fa17b24c9a51b0bd9d73ba64bb32d0ed51b02a746eb876abe7/multidict-6.7.1-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl" }, { "algorithm": "sha256", - "hash": "9600082733859f00d79dee64effc7aef1beb26adb297416a4ad2116fd61374bd", - "url": "https://files.pythonhosted.org/packages/8d/aa/0e2b27bd88b40a4fb8dc53dd74eecac70edaa4c1dd0707eb2164da3675b3/multidict-6.7.0-cp313-cp313-musllinux_1_2_s390x.whl" + "hash": "8f333ec9c5eb1b7105e3b84b53141e66ca05a19a605368c55450b6ba208cb9ee", + "url": "https://files.pythonhosted.org/packages/91/cc/db74228a8be41884a567e88a62fd589a913708fcf180d029898c17a9a371/multidict-6.7.1-cp314-cp314-macosx_10_15_universal2.whl" }, { "algorithm": "sha256", - "hash": "654030da3197d927f05a536a66186070e98765aa5142794c9904555d3a9d8fb5", - "url": "https://files.pythonhosted.org/packages/8f/31/b2491b5fe167ca044c6eb4b8f2c9f3b8a00b24c432c365358eadac5d7625/multidict-6.7.0-cp313-cp313t-musllinux_1_2_aarch64.whl" + "hash": "497394b3239fc6f0e13a78a3e1b61296e72bf1c5f94b4c4eb80b265c37a131cd", + "url": "https://files.pythonhosted.org/packages/94/33/1cd210229559cb90b6786c30676bb0c58249ff42f942765f88793b41fdce/multidict-6.7.1-cp314-cp314-musllinux_1_2_i686.whl" }, { "algorithm": "sha256", - "hash": "7ef6b61cad77091056ce0e7ce69814ef72afacb150b7ac6a3e9470def2198159", - "url": "https://files.pythonhosted.org/packages/91/1c/eb97db117a1ebe46d457a3d235a7b9d2e6dcab174f42d1b67663dd9e5371/multidict-6.7.0-cp313-cp313-macosx_10_13_x86_64.whl" + "hash": "b26684587228afed0d50cf804cc71062cc9c1cdf55051c4c6345d372947b268c", + "url": "https://files.pythonhosted.org/packages/a1/29/fdc6a43c203890dc2ae9249971ecd0c41deaedfe00d25cb6564b2edd99eb/multidict-6.7.1-cp314-cp314t-musllinux_1_2_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "f0feece2ef8ebc42ed9e2e8c78fc4aa3cf455733b507c09ef7406364c94376c6", - "url": "https://files.pythonhosted.org/packages/9f/8c/8290c50d14e49f35e0bd4abc25e1bc7711149ca9588ab7d04f886cdf03d9/multidict-6.7.0-cp313-cp313t-musllinux_1_2_x86_64.whl" + "hash": "538cec1e18c067d0e6103aa9a74f9e832904c957adc260e61cd9d8cf0c3b3d37", + "url": "https://files.pythonhosted.org/packages/a1/e7/69a3a83b7b030cf283fb06ce074a05a02322359783424d7edf0f15fe5022/multidict-6.7.1-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" }, { "algorithm": "sha256", - "hash": "6b4c3d199f953acd5b446bf7c0de1fe25d94e09e79086f8dc2f48a11a129cdf1", - "url": "https://files.pythonhosted.org/packages/ab/67/8604288bbd68680eee0ab568fdcb56171d8b23a01bcd5cb0c8fedf6e5d99/multidict-6.7.0-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" + "hash": "9004d8386d133b7e6135679424c91b0b854d2d164af6ea3f289f8f2761064609", + "url": "https://files.pythonhosted.org/packages/a2/76/b9669547afa5a1a25cd93eaca91c0da1c095b06b6d2d8ec25b713588d3a1/multidict-6.7.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" }, { "algorithm": "sha256", - "hash": "53a42d364f323275126aff81fb67c5ca1b7a04fda0546245730a55c8c5f24bc4", - "url": "https://files.pythonhosted.org/packages/b0/9c/ac851c107c92289acbbf5cfb485694084690c1b17e555f44952c26ddc5bd/multidict-6.7.0-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl" + "hash": "97231140a50f5d447d3164f994b86a0bed7cd016e2682f8650d6a9158e14fd31", + "url": "https://files.pythonhosted.org/packages/a7/f9/44d4b3064c65079d2467888794dea218d1601898ac50222ab8a9a8094460/multidict-6.7.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" }, { "algorithm": "sha256", - "hash": "d1d964afecdf3a8288789df2f5751dc0a8261138c3768d9af117ed384e538fad", - "url": "https://files.pythonhosted.org/packages/b6/b1/8d1a965e6637fc33de3c0d8f414485c2b7e4af00f42cab3d84e7b955c222/multidict-6.7.0-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" + "hash": "9f9af11306994335398293f9958071019e3ab95e9a707dc1383a35613f6abcb9", + "url": "https://files.pythonhosted.org/packages/a9/14/a153a06101323e4cf086ecee3faadba52ff71633d471f9685c42e3736163/multidict-6.7.1-cp314-cp314t-musllinux_1_2_s390x.whl" }, { "algorithm": "sha256", - "hash": "caf53b15b1b7df9fbd0709aa01409000a2b4dd03a5f6f5cc548183c7c8f8b63c", - "url": "https://files.pythonhosted.org/packages/ba/0c/06b5a8adbdeedada6f4fb8d8f193d44a347223b11939b42953eeb6530b6b/multidict-6.7.0-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" + "hash": "f99fe611c312b3c1c0ace793f92464d8cd263cc3b26b5721950d977b006b6c4d", + "url": "https://files.pythonhosted.org/packages/c0/6b/f69da15289e384ecf2a68837ec8b5ad8c33e973aa18b266f50fe55f24b8c/multidict-6.7.1-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" }, { "algorithm": "sha256", - "hash": "2d2cfeec3f6f45651b3d408c4acec0ebf3daa9bc8a112a084206f5db5d05b754", - "url": "https://files.pythonhosted.org/packages/be/c0/21435d804c1a1cf7a2608593f4d19bca5bcbd7a81a70b253fdd1c12af9c0/multidict-6.7.0-cp313-cp313t-musllinux_1_2_i686.whl" + "hash": "5fa6a95dfee63893d80a34758cd0e0c118a30b8dcb46372bf75106c591b77889", + "url": "https://files.pythonhosted.org/packages/c3/9c/095bb28b5da139bd41fb9a5d5caff412584f377914bd8787c2aa98717130/multidict-6.7.1-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl" }, { "algorithm": "sha256", - "hash": "9ff96e8815eecacc6645da76c413eb3b3d34cfca256c70b16b286a687d013c32", - "url": "https://files.pythonhosted.org/packages/c6/2d/f0b184fa88d6630aa267680bdb8623fb69cb0d024b8c6f0d23f9a0f406d3/multidict-6.7.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" + "hash": "841189848ba629c3552035a6a7f5bf3b02eb304e9fea7492ca220a8eda6b0e5c", + "url": "https://files.pythonhosted.org/packages/c5/bb/1609558ad8b456b4827d3c5a5b775c93b87878fd3117ed3db3423dfbce1b/multidict-6.7.1-cp314-cp314t-musllinux_1_2_armv7l.whl" }, { "algorithm": "sha256", - "hash": "94218fcec4d72bc61df51c198d098ce2b378e0ccbac41ddbed5ef44092913288", - "url": "https://files.pythonhosted.org/packages/d0/8e/0c67b7120d5d5f6d874ed85a085f9dc770a7f9d8813e80f44a9fec820bb7/multidict-6.7.0-cp313-cp313-musllinux_1_2_x86_64.whl" + "hash": "a407f13c188f804c759fc6a9f88286a565c242a76b27626594c133b82883b5c2", + "url": "https://files.pythonhosted.org/packages/d5/22/492f2246bb5b534abd44804292e81eeaf835388901f0c574bac4eeec73c5/multidict-6.7.1-cp314-cp314-macosx_10_15_x86_64.whl" }, { "algorithm": "sha256", - "hash": "bee7c0588aa0076ce77c0ea5d19a68d76ad81fcd9fe8501003b9a24f9d4000f6", - "url": "https://files.pythonhosted.org/packages/d2/86/33272a544eeb36d66e4d9a920602d1a2f57d4ebea4ef3cdfe5a912574c95/multidict-6.7.0-cp313-cp313-macosx_10_13_universal2.whl" + "hash": "ce1bbd7d780bb5a0da032e095c951f7014d6b0a205f8318308140f1a6aba159e", + "url": "https://files.pythonhosted.org/packages/d8/59/6f61039d2aa9261871e03ab9dc058a550d240f25859b05b67fd70f80d4b3/multidict-6.7.1-cp314-cp314t-musllinux_1_2_i686.whl" }, { "algorithm": "sha256", - "hash": "ad9ce259f50abd98a1ca0aa6e490b58c316a0fce0617f609723e40804add2c00", - "url": "https://files.pythonhosted.org/packages/e8/68/7b3a5170a382a340147337b300b9eb25a9ddb573bcdfff19c0fa3f31ffba/multidict-6.7.0-cp313-cp313t-macosx_10_13_universal2.whl" + "hash": "0458c978acd8e6ea53c81eefaddbbee9c6c5e591f41b3f5e8e194780fe026581", + "url": "https://files.pythonhosted.org/packages/e0/6d/f9293baa6146ba9507e360ea0292b6422b016907c393e2f63fc40ab7b7b5/multidict-6.7.1-cp314-cp314t-macosx_10_15_universal2.whl" }, { "algorithm": "sha256", - "hash": "f8a93b1c0ed2d04b97a5e9336fd2d33371b9a6e29ab7dd6503d63407c20ffbaf", - "url": "https://files.pythonhosted.org/packages/ec/0c/2ec1d883ceb79c6f7f6d7ad90c919c898f5d1c6ea96d322751420211e072/multidict-6.7.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" + "hash": "f33dc2a3abe9249ea5d8360f969ec7f4142e7ac45ee7014d8f8d5acddf178b7b", + "url": "https://files.pythonhosted.org/packages/e1/9f/75a9ac888121d0c5bbd4ecf4eead45668b1766f6baabfb3b7f66a410e231/multidict-6.7.1-cp314-cp314-musllinux_1_2_x86_64.whl" }, { "algorithm": "sha256", - "hash": "9c0359b1ec12b1d6849c59f9d319610b7f20ef990a6d454ab151aa0e3b9f78ca", - "url": "https://files.pythonhosted.org/packages/f1/d8/6c3442322e41fb1dd4de8bd67bfd11cd72352ac131f6368315617de752f1/multidict-6.7.0-cp313-cp313-macosx_11_0_arm64.whl" + "hash": "17307b22c217b4cf05033dabefe68255a534d637c6c9b0cc8382718f87be4262", + "url": "https://files.pythonhosted.org/packages/e4/fc/6800d0e5b3875568b4083ecf5f310dcf91d86d52573160834fb4bfcf5e4f/multidict-6.7.1-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl" }, { "algorithm": "sha256", - "hash": "a027ec240fe73a8d6281872690b988eed307cd7d91b23998ff35ff577ca688b5", - "url": "https://files.pythonhosted.org/packages/f8/2d/25d9b566d10cab1c42b3b9e5b11ef79c9111eaf4463b8c257a3bd89e0ead/multidict-6.7.0-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" + "hash": "0e161ddf326db5577c3a4cc2d8648f81456e8a20d40415541587a71620d7a7d1", + "url": "https://files.pythonhosted.org/packages/f1/4f/733c48f270565d78b4544f2baddc2fb2a245e5a8640254b12c36ac7ac68e/multidict-6.7.1-cp314-cp314-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "0591b48acf279821a579282444814a2d8d0af624ae0bc600aa4d1b920b6e924b", - "url": "https://files.pythonhosted.org/packages/fc/56/67212d33239797f9bd91962bb899d72bb0f4c35a8652dcdb8ed049bef878/multidict-6.7.0-cp313-cp313t-macosx_11_0_arm64.whl" + "hash": "7eee46ccb30ff48a1e35bb818cc90846c6be2b68240e42a78599166722cea709", + "url": "https://files.pythonhosted.org/packages/fe/3b/8ec5074bcfc450fe84273713b4b0a0dd47c0249358f5d82eb8104ffe2520/multidict-6.7.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" } ], "project_name": "multidict", @@ -695,25 +790,25 @@ "typing-extensions>=4.1.0; python_version < \"3.11\"" ], "requires_python": ">=3.9", - "version": "6.7.0" + "version": "6.7.1" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484", - "url": "https://files.pythonhosted.org/packages/20/12/38679034af332785aac8774540895e234f4d07f7545804097de4b666afd8/packaging-25.0-py3-none-any.whl" + "hash": "b36f1fef9334a5588b4166f8bcd26a14e521f2b55e6b9de3aaa80d3ff7a37529", + "url": "https://files.pythonhosted.org/packages/b7/b9/c538f279a4e237a006a2c98387d081e9eb060d203d8ed34467cc0f0b9b53/packaging-26.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f", - "url": "https://files.pythonhosted.org/packages/a1/d4/1fc4078c65507b51b96ca8f8c3ba19e6a61c8253c72794544580a7b6c24d/packaging-25.0.tar.gz" + "hash": "00243ae351a257117b6a241061796684b084ed1c516a08c48a3f7e147a9d80b4", + "url": "https://files.pythonhosted.org/packages/65/ee/299d360cdc32edc7d2cf530f3accf79c4fca01e96ffc950d8a52213bd8e4/packaging-26.0.tar.gz" } ], "project_name": "packaging", "requires_dists": [], "requires_python": ">=3.8", - "version": "25.0" + "version": "26.0" }, { "artifacts": [ @@ -748,128 +843,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", @@ -964,13 +1059,13 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "3b8e9558b16cc1479da72058bdecf8073661c7f57f7d3c5f22a1c23507f2d861", - "url": "https://files.pythonhosted.org/packages/ee/49/1377b49de7d0c1ce41292161ea0f721913fa8722c19fb9c1e3aa0367eecb/pytest_cov-7.0.0-py3-none-any.whl" + "hash": "a0461110b7865f9a271aa1b51e516c9a95de9d696734a2f71e3e78f46e1d4678", + "url": "https://files.pythonhosted.org/packages/9d/7a/d968e294073affff457b041c2be9868a40c1c71f4a35fcc1e45e5493067b/pytest_cov-7.1.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "33c97eda2e049a0c5298e91f519302a1334c26ac65c1a483d6206fd458361af1", - "url": "https://files.pythonhosted.org/packages/5e/f7/c933acc76f5208b3b00089573cf6a2bc26dc80a8aece8f52bb7d6b1855ca/pytest_cov-7.0.0.tar.gz" + "hash": "30674f2b5f6351aa09702a9c8c364f6a01c27aae0c1366ae8016160d1efc56b2", + "url": "https://files.pythonhosted.org/packages/b1/51/a849f96e117386044471c8ec2bd6cfebacda285da9525c9106aeb28da671/pytest_cov-7.1.0.tar.gz" } ], "project_name": "pytest-cov", @@ -983,7 +1078,7 @@ "virtualenv; extra == \"testing\"" ], "requires_python": ">=3.9", - "version": "7.0.0" + "version": "7.1.0" }, { "artifacts": [ @@ -1009,8 +1104,8 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "934b0e6a39d95995062c193f7eaeed8a8ffa06ff1bcef4b62b0dc74a708bacc1", - "url": "https://files.pythonhosted.org/packages/7e/3b/317cc04e77d707d338540ca67b619df8f247f3f4c9f40e67bf5ea503ad94/pytest-dependency-0.6.0.tar.gz" + "hash": "246c24d2a5fc743a942cec4408853640e56a05ba58d46e5b213a1d4b738a2464", + "url": "https://files.pythonhosted.org/packages/c2/ea/84509533e0f6477960b8a9179d240d93c909c6543e4dd8209932026d7815/pytest_dependency-0.6.1.tar.gz" } ], "project_name": "pytest-dependency", @@ -1019,7 +1114,7 @@ "setuptools" ], "requires_python": ">=3.4", - "version": "0.6.0" + "version": "0.6.1" }, { "artifacts": [ @@ -1068,13 +1163,13 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "062d34222ad13e0cc312a4c02d73f059e86a4acbfbdea8f8f76b28c99f306922", - "url": "https://files.pythonhosted.org/packages/a3/dc/17031897dae0efacfea57dfd3a82fdd2a2aeb58e0ff71b77b87e44edc772/setuptools-80.9.0-py3-none-any.whl" + "hash": "a59e362652f08dcd477c78bb6e7bd9d80a7995bc73ce773050228a348ce2e5bb", + "url": "https://files.pythonhosted.org/packages/9d/76/f789f7a86709c6b087c5a2f52f911838cad707cc613162401badc665acfe/setuptools-82.0.1-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "f36b47402ecde768dbfafc46e8e4207b4360c654f1f3bb84475f0a28628fb19c", - "url": "https://files.pythonhosted.org/packages/18/5d/3bf57dcd21979b887f014ea83c24ae194cfcd12b9e0fda66b957c69d1fca/setuptools-80.9.0.tar.gz" + "hash": "7d872682c5d01cfde07da7bccc7b65469d3dca203318515ada1de5eda35efbf9", + "url": "https://files.pythonhosted.org/packages/4f/db/cfac1baf10650ab4d1c111714410d2fbb77ac5a616db26775db562c8fab2/setuptools-82.0.1.tar.gz" } ], "project_name": "setuptools", @@ -1096,11 +1191,10 @@ "jaraco.tidelift>=1.4; extra == \"doc\"", "more_itertools; extra == \"core\"", "more_itertools>=8.8; extra == \"core\"", - "mypy==1.14.*; extra == \"type\"", + "mypy==1.18.*; extra == \"type\"", "packaging>=24.2; extra == \"core\"", "packaging>=24.2; extra == \"test\"", "pip>=19.1; extra == \"test\"", - "platformdirs>=4.2.2; extra == \"core\"", "pygments-github-lexers==0.0.5; extra == \"doc\"", "pyproject-hooks!=1.1; extra == \"doc\"", "pyproject-hooks!=1.1; extra == \"test\"", @@ -1116,7 +1210,7 @@ "pytest-timeout; extra == \"test\"", "pytest-xdist>=3; extra == \"test\"", "rst.linker>=1.9; extra == \"doc\"", - "ruff>=0.8.0; sys_platform != \"cygwin\" and extra == \"check\"", + "ruff>=0.13.0; sys_platform != \"cygwin\" and extra == \"check\"", "sphinx-favicon; extra == \"doc\"", "sphinx-inline-tabs; extra == \"doc\"", "sphinx-lint; extra == \"doc\"", @@ -1132,149 +1226,169 @@ "wheel>=0.44.0; extra == \"test\"" ], "requires_python": ">=3.9", - "version": "80.9.0" + "version": "82.0.1" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "1380560bdba02b6b6c90de54133c81c9f2a453dee9912fe58c1dcced1edb7cff", - "url": "https://files.pythonhosted.org/packages/73/ae/b48f95715333080afb75a4504487cbe142cae1268afc482d06692d605ae6/yarl-1.22.0-py3-none-any.whl" + "hash": "a2df6afe50dea8ae15fa34c9f824a3ee958d785fd5d089063d960bae1daa0a3f", + "url": "https://files.pythonhosted.org/packages/69/68/c8739671f5699c7dc470580a4f821ef37c32c4cb0b047ce223a7f115757f/yarl-1.23.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "01e73b85a5434f89fc4fe27dcda2aff08ddf35e4d47bbbea3bdcd25321af538a", - "url": "https://files.pythonhosted.org/packages/01/88/04d98af0b47e0ef42597b9b28863b9060bb515524da0a65d5f4db160b2d5/yarl-1.22.0-cp313-cp313-macosx_10_13_x86_64.whl" + "hash": "3650dc2480f94f7116c364096bc84b1d602f44224ef7d5c7208425915c0475dd", + "url": "https://files.pythonhosted.org/packages/0a/e6/5c744a9b54f4e8007ad35bce96fbc9218338e84812d36f3390cea616881a/yarl-1.23.0-cp314-cp314-musllinux_1_2_riscv64.whl" }, { "algorithm": "sha256", - "hash": "bec03d0d388060058f5d291a813f21c011041938a441c593374da6077fe21b1b", - "url": "https://files.pythonhosted.org/packages/11/c9/cd8538dc2e7727095e0c1d867bad1e40c98f37763e6d995c1939f5fdc7b1/yarl-1.22.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" + "hash": "bd654fad46d8d9e823afbb4f87c79160b5a374ed1ff5bde24e542e6ba8f41434", + "url": "https://files.pythonhosted.org/packages/0a/ff/7196790538f31debe3341283b5b0707e7feb947620fc5e8236ef28d44f72/yarl-1.23.0-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl" }, { "algorithm": "sha256", - "hash": "22965c2af250d20c873cdbee8ff958fb809940aeb2e74ba5f20aaf6b7ac8c70c", - "url": "https://files.pythonhosted.org/packages/18/91/3274b215fd8442a03975ce6bee5fe6aa57a8326b29b9d3d56234a1dca244/yarl-1.22.0-cp313-cp313-macosx_11_0_arm64.whl" + "hash": "f40e782d49630ad384db66d4d8b73ff4f1b8955dc12e26b09a3e3af064b3b9d6", + "url": "https://files.pythonhosted.org/packages/0c/23/e3bfc188d0b400f025bc49d99793d02c9abe15752138dcc27e4eaf0c4a9e/yarl-1.23.0-cp314-cp314-musllinux_1_2_s390x.whl" }, { "algorithm": "sha256", - "hash": "6c5010a52015e7c70f86eb967db0f37f3c8bd503a695a49f8d45700144667708", - "url": "https://files.pythonhosted.org/packages/46/96/f3941a46af7d5d0f0498f86d71275696800ddcdd20426298e572b19b91ff/yarl-1.22.0-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" + "hash": "394906945aa8b19fc14a61cf69743a868bb8c465efe85eee687109cc540b98f4", + "url": "https://files.pythonhosted.org/packages/0c/f1/dab7ac5e7306fb79c0190766a3c00b4cb8d09a1f390ded68c85a5934faf5/yarl-1.23.0-cp314-cp314t-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "3b7c88eeef021579d600e50363e0b6ee4f7f6f728cd3486b9d0f3ee7b946398d", - "url": "https://files.pythonhosted.org/packages/49/36/99ca3122201b382a3cf7cc937b95235b0ac944f7e9f2d5331d50821ed352/yarl-1.22.0-cp313-cp313t-musllinux_1_2_aarch64.whl" + "hash": "c7f8dc16c498ff06497c015642333219871effba93e4a2e8604a06264aca5c5c", + "url": "https://files.pythonhosted.org/packages/18/6a/530e16aebce27c5937920f3431c628a29a4b6b430fab3fd1c117b26ff3f6/yarl-1.23.0-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" }, { "algorithm": "sha256", - "hash": "de6b9a04c606978fdfe72666fa216ffcf2d1a9f6a381058d4378f8d7b1e5de62", - "url": "https://files.pythonhosted.org/packages/4b/b8/4c0e9e9f597074b208d18cef227d83aac36184bfbc6eab204ea55783dbc5/yarl-1.22.0-cp313-cp313t-musllinux_1_2_x86_64.whl" + "hash": "d38c1e8231722c4ce40d7593f28d92b5fc72f3e9774fe73d7e800ec32299f63a", + "url": "https://files.pythonhosted.org/packages/19/90/d56967f61a29d8498efb7afb651e0b2b422a1e9b47b0ab5f4e40a19b699b/yarl-1.23.0-cp314-cp314t-musllinux_1_2_armv7l.whl" }, { "algorithm": "sha256", - "hash": "2ca6fd72a8cd803be290d42f2dec5cdcd5299eeb93c2d929bf060ad9efaf5de0", - "url": "https://files.pythonhosted.org/packages/50/b2/375b933c93a54bff7fc041e1a6ad2c0f6f733ffb0c6e642ce56ee3b39970/yarl-1.22.0-cp313-cp313t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl" + "hash": "2803ed8b21ca47a43da80a6fd1ed3019d30061f7061daa35ac54f63933409412", + "url": "https://files.pythonhosted.org/packages/19/ff/33009a39d3ccf4b94d7d7880dfe17fb5816c5a4fe0096d9b56abceea9ac7/yarl-1.23.0-cp314-cp314t-macosx_10_15_x86_64.whl" }, { "algorithm": "sha256", - "hash": "bebf8557577d4401ba8bd9ff33906f1376c877aa78d1fe216ad01b4d6745af71", - "url": "https://files.pythonhosted.org/packages/57/63/0c6ebca57330cd313f6102b16dd57ffaf3ec4c83403dcb45dbd15c6f3ea1/yarl-1.22.0.tar.gz" + "hash": "53b1ea6ca88ebd4420379c330aea57e258408dd0df9af0992e5de2078dc9f5d5", + "url": "https://files.pythonhosted.org/packages/23/6e/beb1beec874a72f23815c1434518bfc4ed2175065173fb138c3705f658d4/yarl-1.23.0.tar.gz" }, { "algorithm": "sha256", - "hash": "b4f15793aa49793ec8d1c708ab7f9eded1aa72edc5174cae703651555ed1b601", - "url": "https://files.pythonhosted.org/packages/61/3a/caf4e25036db0f2da4ca22a353dfeb3c9d3c95d2761ebe9b14df8fc16eb0/yarl-1.22.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" + "hash": "23f371bd662cf44a7630d4d113101eafc0cfa7518a2760d20760b26021454719", + "url": "https://files.pythonhosted.org/packages/24/f9/e8242b68362bffe6fb536c8db5076861466fc780f0f1b479fc4ffbebb128/yarl-1.23.0-cp314-cp314-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "47d8a5c446df1c4db9d21b49619ffdba90e77c89ec6e283f453856c74b50b9e3", - "url": "https://files.pythonhosted.org/packages/65/47/76594ae8eab26210b4867be6f49129861ad33da1f1ebdf7051e98492bf62/yarl-1.22.0-cp313-cp313t-macosx_10_13_x86_64.whl" + "hash": "e09fd068c2e169a7070d83d3bde728a4d48de0549f975290be3c108c02e499b4", + "url": "https://files.pythonhosted.org/packages/28/ec/5498c4e3a6d5f1003beb23405671c2eb9cdbf3067d1c80f15eeafe301010/yarl-1.23.0-cp314-cp314t-musllinux_1_2_x86_64.whl" }, { "algorithm": "sha256", - "hash": "ca1f59c4e1ab6e72f0a23c13fca5430f889634166be85dbf1013683e49e3278e", - "url": "https://files.pythonhosted.org/packages/66/50/bfc2a29a1d78644c5a7220ce2f304f38248dc94124a326794e677634b6cf/yarl-1.22.0-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" + "hash": "041b1a4cefacf65840b4e295c6985f334ba83c30607441ae3cf206a0eed1a2e4", + "url": "https://files.pythonhosted.org/packages/2d/86/ed7a73ab85ef00e8bb70b0cb5421d8a2a625b81a333941a469a6f4022828/yarl-1.23.0-cp314-cp314t-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "e5542339dcf2747135c5c85f68680353d5cb9ffd741c0f2e8d832d054d41f35a", - "url": "https://files.pythonhosted.org/packages/6e/9e/51a77ac7516e8e7803b06e01f74e78649c24ee1021eca3d6a739cb6ea49c/yarl-1.22.0-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl" + "hash": "85610b4f27f69984932a7abbe52703688de3724d9f72bceb1cca667deff27474", + "url": "https://files.pythonhosted.org/packages/39/54/bc2b45559f86543d163b6e294417a107bb87557609007c007ad889afec18/yarl-1.23.0-cp314-cp314-macosx_10_15_x86_64.whl" }, { "algorithm": "sha256", - "hash": "5a3bf7f62a289fa90f1990422dc8dff5a458469ea71d1624585ec3a4c8d6960f", - "url": "https://files.pythonhosted.org/packages/81/c8/06e1d69295792ba54d556f06686cbd6a7ce39c22307100e3fb4a2c0b0a1d/yarl-1.22.0-cp313-cp313t-musllinux_1_2_s390x.whl" + "hash": "1c57676bdedc94cd3bc37724cf6f8cd2779f02f6aba48de45feca073e714fe52", + "url": "https://files.pythonhosted.org/packages/42/2b/fef67d616931055bf3d6764885990a3ac647d68734a2d6a9e1d13de437a2/yarl-1.23.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" }, { "algorithm": "sha256", - "hash": "f4afb5c34f2c6fecdcc182dfcfc6af6cccf1aa923eed4d6a12e9d96904e1a0d8", - "url": "https://files.pythonhosted.org/packages/85/b4/47328bf996acd01a4c16ef9dcd2f59c969f495073616586f78cd5f2efb99/yarl-1.22.0-cp313-cp313t-musllinux_1_2_armv7l.whl" + "hash": "a82836cab5f197a0514235aaf7ffccdc886ccdaa2324bc0aafdd4ae898103039", + "url": "https://files.pythonhosted.org/packages/51/8a/882c0e7bc8277eb895b31bce0138f51a1ba551fc2e1ec6753ffc1e7c1377/yarl-1.23.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" }, { "algorithm": "sha256", - "hash": "719ae08b6972befcba4310e49edb1161a88cdd331e3a694b84466bd938a6ab10", - "url": "https://files.pythonhosted.org/packages/88/fc/6908f062a2f77b5f9f6d69cecb1747260831ff206adcbc5b510aff88df91/yarl-1.22.0-cp313-cp313t-macosx_10_13_universal2.whl" + "hash": "d53834e23c015ee83a99377db6e5e37d8484f333edb03bd15b4bc312cc7254fb", + "url": "https://files.pythonhosted.org/packages/72/00/8b8f76909259f56647adb1011d7ed8b321bcf97e464515c65016a47ecdf0/yarl-1.23.0-cp314-cp314t-musllinux_1_2_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "b0748275abb8c1e1e09301ee3cf90c8a99678a4e92e4373705f2a2570d581273", - "url": "https://files.pythonhosted.org/packages/a1/b9/ab437b261702ced75122ed78a876a6dec0a1b0f5e17a4ac7a9a2482d8abe/yarl-1.22.0-cp313-cp313-musllinux_1_2_aarch64.whl" + "hash": "50f9d8d531dfb767c565f348f33dd5139a6c43f5cbdf3f67da40d54241df93f6", + "url": "https://files.pythonhosted.org/packages/72/32/0abe4a76d59adf2081dcb0397168553ece4616ada1c54d1c49d8936c74f8/yarl-1.23.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" }, { "algorithm": "sha256", - "hash": "139718f35149ff544caba20fce6e8a2f71f1e39b92c700d8438a0b1d2a631a02", - "url": "https://files.pythonhosted.org/packages/aa/7f/59ec509abf90eda5048b0bc3e2d7b5099dffdb3e6b127019895ab9d5ef44/yarl-1.22.0-cp313-cp313-musllinux_1_2_s390x.whl" + "hash": "94f8575fbdf81749008d980c17796097e645574a3b8c28ee313931068dad14fe", + "url": "https://files.pythonhosted.org/packages/72/42/f0505f949a90b3f8b7a363d6cbdf398f6e6c58946d85c6d3a3bc70595b26/yarl-1.23.0-cp314-cp314-musllinux_1_2_x86_64.whl" }, { "algorithm": "sha256", - "hash": "cfebc0ac8333520d2d0423cbbe43ae43c8838862ddb898f5ca68565e395516e9", - "url": "https://files.pythonhosted.org/packages/ab/ce/05e9828a49271ba6b5b038b15b3934e996980dd78abdfeb52a04cfb9467e/yarl-1.22.0-cp313-cp313t-macosx_11_0_arm64.whl" + "hash": "a31de1613658308efdb21ada98cbc86a97c181aa050ba22a808120bb5be3ab94", + "url": "https://files.pythonhosted.org/packages/76/40/cc22d1d7714b717fde2006fad2ced5efe5580606cb059ae42117542122f3/yarl-1.23.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "47fdb18187e2a4e18fda2c25c05d8251a9e4a521edaed757fef033e7d8498d9a", - "url": "https://files.pythonhosted.org/packages/b2/9d/8e1ae6d1d008a9567877b08f0ce4077a29974c04c062dabdb923ed98e6fe/yarl-1.22.0-cp313-cp313-musllinux_1_2_armv7l.whl" + "hash": "5ee586fb17ff8f90c91cf73c6108a434b02d69925f44f5f8e0d7f2f260607eae", + "url": "https://files.pythonhosted.org/packages/88/08/93749219179a45e27b036e03260fda05190b911de8e18225c294ac95bbc9/yarl-1.23.0-cp314-cp314-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "9d7672ecf7557476642c88497c2f8d8542f8e36596e928e9bcba0e42e1e7d71f", - "url": "https://files.pythonhosted.org/packages/c1/42/8b27c83bb875cd89448e42cd627e0fb971fa1675c9ec546393d18826cb50/yarl-1.22.0-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" + "hash": "fb1e8b8d66c278b21d13b0a7ca22c41dd757a7c209c6b12c313e445c31dd3b28", + "url": "https://files.pythonhosted.org/packages/8f/0d/476c38e85ddb4c6ec6b20b815bdd779aa386a013f3d8b85516feee55c8dc/yarl-1.23.0-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" }, { "algorithm": "sha256", - "hash": "59c189e3e99a59cf8d83cbb31d4db02d66cda5a1a4374e8a012b51255341abf5", - "url": "https://files.pythonhosted.org/packages/c2/ad/b77d7b3f14a4283bffb8e92c6026496f6de49751c2f97d4352242bba3990/yarl-1.22.0-cp313-cp313t-musllinux_1_2_ppc64le.whl" + "hash": "21d1b7305a71a15b4794b5ff22e8eef96ff4a6d7f9657155e5aa419444b28912", + "url": "https://files.pythonhosted.org/packages/90/98/b85a038d65d1b92c3903ab89444f48d3cee490a883477b716d7a24b1a78c/yarl-1.23.0-cp314-cp314-macosx_10_15_universal2.whl" }, { "algorithm": "sha256", - "hash": "c7044802eec4524fde550afc28edda0dd5784c4c45f0be151a2d3ba017daca7d", - "url": "https://files.pythonhosted.org/packages/ca/5a/09b7be3905962f145b73beb468cdd53db8aa171cf18c80400a54c5b82846/yarl-1.22.0-cp313-cp313-musllinux_1_2_ppc64le.whl" + "hash": "71d006bee8397a4a89f469b8deb22469fe7508132d3c17fa6ed871e79832691c", + "url": "https://files.pythonhosted.org/packages/aa/b1/08e95f3caee1fad6e65017b9f26c1d79877b502622d60e517de01e72f95d/yarl-1.23.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" }, { "algorithm": "sha256", - "hash": "4398557cbf484207df000309235979c79c4356518fd5c99158c7d38203c4da4f", - "url": "https://files.pythonhosted.org/packages/d1/c5/7dffad5e4f2265b29c9d7ec869c369e4223166e4f9206fc2243ee9eea727/yarl-1.22.0-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" + "hash": "2e27c8841126e017dd2a054a95771569e6070b9ee1b133366d8b31beb5018a41", + "url": "https://files.pythonhosted.org/packages/ac/e2/cab11b126fb7d440281b7df8e9ddbe4851e70a4dde47a202b6642586b8d9/yarl-1.23.0-cp314-cp314t-musllinux_1_2_riscv64.whl" }, { "algorithm": "sha256", - "hash": "5c401e05ad47a75869c3ab3e35137f8468b846770587e70d71e11de797d113df", - "url": "https://files.pythonhosted.org/packages/d4/f8/33b92454789dde8407f156c00303e9a891f1f51a0330b0fad7c909f87692/yarl-1.22.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" + "hash": "575aa4405a656e61a540f4a80eaa5260f2a38fff7bfdc4b5f611840d76e9e277", + "url": "https://files.pythonhosted.org/packages/b7/35/7b30f4810fba112f60f5a43237545867504e15b1c7647a785fbaf588fac2/yarl-1.23.0-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" }, { "algorithm": "sha256", - "hash": "243dda95d901c733f5b59214d28b0120893d91777cb8aa043e6ef059d3cddfe2", - "url": "https://files.pythonhosted.org/packages/d9/9a/c5db84ea024f76838220280f732970aa4ee154015d7f5c1bfb60a267af6f/yarl-1.22.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" + "hash": "62694e275c93d54f7ccedcfef57d42761b2aad5234b6be1f3e3026cae4001cd4", + "url": "https://files.pythonhosted.org/packages/c0/cc/6409f9018864a6aa186c61175b977131f373f1988e198e031236916e87e4/yarl-1.23.0-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl" }, { "algorithm": "sha256", - "hash": "e1b51bebd221006d3d2f95fbe124b22b247136647ae5dcc8c7acafba66e5ee67", - "url": "https://files.pythonhosted.org/packages/e5/84/891158426bc8036bfdfd862fabd0e0fa25df4176ec793e447f4b85cf1be4/yarl-1.22.0-cp313-cp313-musllinux_1_2_x86_64.whl" + "hash": "682bae25f0a0dd23a056739f23a134db9f52a63e2afd6bfb37ddc76292bbd723", + "url": "https://files.pythonhosted.org/packages/c1/56/25d58c3eddde825890a5fe6aa1866228377354a3c39262235234ab5f616b/yarl-1.23.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "8dee9c25c74997f6a750cd317b8ca63545169c098faee42c84aa5e506c819b53", - "url": "https://files.pythonhosted.org/packages/ea/f3/d67de7260456ee105dc1d162d43a019ecad6b91e2f51809d6cddaa56690e/yarl-1.22.0-cp313-cp313-macosx_10_13_universal2.whl" + "hash": "76855800ac56f878847a09ce6dba727c93ca2d89c9e9d63002d26b916810b0a2", + "url": "https://files.pythonhosted.org/packages/c2/9b/2c893e16bfc50e6b2edf76c1a9eb6cb0c744346197e74c65e99ad8d634d0/yarl-1.23.0-cp314-cp314t-musllinux_1_2_s390x.whl" + }, + { + "algorithm": "sha256", + "hash": "17235362f580149742739cc3828b80e24029d08cbb9c4bda0242c7b5bc610a8e", + "url": "https://files.pythonhosted.org/packages/d9/cf/ea424a004969f5d81a362110a6ac1496d79efdc6d50c2c4b2e3ea0fc2519/yarl-1.23.0-cp314-cp314-musllinux_1_2_armv7l.whl" + }, + { + "algorithm": "sha256", + "hash": "9a18d6f9359e45722c064c97464ec883eb0e0366d33eda61cb19a244bf222679", + "url": "https://files.pythonhosted.org/packages/dd/8d/d2fad34b1c08aa161b74394183daa7d800141aaaee207317e82c790b418d/yarl-1.23.0-cp314-cp314t-macosx_10_15_universal2.whl" + }, + { + "algorithm": "sha256", + "hash": "0793e2bd0cf14234983bbb371591e6bea9e876ddf6896cdcc93450996b0b5c85", + "url": "https://files.pythonhosted.org/packages/e2/b7/14341481fe568e2b0408bcf1484c652accafe06a0ade9387b5d3fd9df446/yarl-1.23.0-cp314-cp314-musllinux_1_2_ppc64le.whl" + }, + { + "algorithm": "sha256", + "hash": "c4a80f77dc1acaaa61f0934176fccca7096d9b1ff08c8ba9cddf5ae034a24319", + "url": "https://files.pythonhosted.org/packages/ea/d8/d1cb2378c81dd729e98c716582b1ccb08357e8488e4c24714658cc6630e8/yarl-1.23.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" } ], "project_name": "yarl", @@ -1283,8 +1397,8 @@ "multidict>=4.0", "propcache>=0.2.1" ], - "requires_python": ">=3.9", - "version": "1.22.0" + "requires_python": ">=3.10", + "version": "1.23.0" } ], "marker": null, @@ -1310,7 +1424,7 @@ "pytest~=8.3.3" ], "requires_python": [ - "CPython==3.13.7" + "CPython==3.14.3" ], "resolver_version": "pip-2020-resolver", "style": "universal", diff --git a/tools/setuptools.lock b/tools/setuptools.lock index f1e288943d0..50f6327c751 100644 --- a/tools/setuptools.lock +++ b/tools/setuptools.lock @@ -6,7 +6,7 @@ // { // "version": 4, // "valid_for_interpreter_constraints": [ -// "CPython==3.13.7" +// "CPython==3.14.3" // ], // "generated_with_requirements": [ // "setuptools~=80.0.0", @@ -159,7 +159,7 @@ "wheel~=0.46.2" ], "requires_python": [ - "CPython==3.13.7" + "CPython==3.14.3" ], "resolver_version": "pip-2020-resolver", "style": "universal", diff --git a/tools/towncrier.lock b/tools/towncrier.lock index cc37e6a7344..65781ddcb1c 100644 --- a/tools/towncrier.lock +++ b/tools/towncrier.lock @@ -6,7 +6,7 @@ // { // "version": 4, // "valid_for_interpreter_constraints": [ -// "CPython==3.13.7" +// "CPython==3.14.3" // ], // "generated_with_requirements": [ // "towncrier~=24.8" @@ -76,88 +76,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", @@ -210,7 +210,7 @@ "towncrier~=24.8" ], "requires_python": [ - "CPython==3.13.7" + "CPython==3.14.3" ], "resolver_version": "pip-2020-resolver", "style": "universal",