From df51a392f4c10b6964e07187b5c6b7eb1ba21c26 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bern=C3=A1t=20G=C3=A1bor?= Date: Tue, 20 Oct 2026 11:09:43 -0700 Subject: [PATCH 01/39] =?UTF-8?q?=F0=9F=91=B7=20ci(news):=20validate=20bot?= =?UTF-8?q?=20fragments?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/check.yaml | 5 +++-- .github/workflows/label-maintenance-pr.yaml | 16 ++++++++++++++++ 2 files changed, 19 insertions(+), 2 deletions(-) create mode 100644 .github/workflows/label-maintenance-pr.yaml diff --git a/.github/workflows/check.yaml b/.github/workflows/check.yaml index 3fc7062..080d75f 100644 --- a/.github/workflows/check.yaml +++ b/.github/workflows/check.yaml @@ -74,7 +74,7 @@ jobs: UV_PYTHON_PREFERENCE: only-managed changelog: - if: github.event_name == 'pull_request' && !contains(github.event.pull_request.labels.*.name, 'skip news') + if: github.event_name == 'pull_request' runs-on: ubuntu-26.04 steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 @@ -85,7 +85,8 @@ jobs: with: python-version: "3.15" enable-cache: false - - run: uvx towncrier check --compare-with "origin/${GITHUB_BASE_REF}" + - run: uv tool install towncrier + - uses: tox-dev/github-workflows/validate-news@84255555371c47578577079d168a4654fc749166 gate: name: Required checks pass diff --git a/.github/workflows/label-maintenance-pr.yaml b/.github/workflows/label-maintenance-pr.yaml new file mode 100644 index 0000000..6aa7343 --- /dev/null +++ b/.github/workflows/label-maintenance-pr.yaml @@ -0,0 +1,16 @@ +name: Label maintenance PRs +on: + pull_request_target: # zizmor: ignore[dangerous-triggers] Reads PR metadata without checkout or PR code. + types: [opened, reopened, synchronize] +permissions: + contents: read + issues: write + pull-requests: read +jobs: + label: + runs-on: ubuntu-26.04 + steps: + - uses: tox-dev/github-workflows/label-bot-news@84255555371c47578577079d168a4654fc749166 + with: + fragments: docs/changelog.d + extension: rst From 161c21b15cf51373aa8bb480624fd97b34901d49 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bern=C3=A1t=20G=C3=A1bor?= Date: Tue, 20 Oct 2026 11:52:29 -0700 Subject: [PATCH 02/39] =?UTF-8?q?=F0=9F=94=A7=20build(deps):=20lock=20all?= =?UTF-8?q?=20project=20groups?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/check.yaml | 2 +- .github/workflows/label-maintenance-pr.yaml | 2 +- pylock.toml | 7774 +++++++++++++++++++ 3 files changed, 7776 insertions(+), 2 deletions(-) create mode 100644 pylock.toml diff --git a/.github/workflows/check.yaml b/.github/workflows/check.yaml index 080d75f..e4b6af4 100644 --- a/.github/workflows/check.yaml +++ b/.github/workflows/check.yaml @@ -86,7 +86,7 @@ jobs: python-version: "3.15" enable-cache: false - run: uv tool install towncrier - - uses: tox-dev/github-workflows/validate-news@84255555371c47578577079d168a4654fc749166 + - uses: tox-dev/github-workflows/validate-news@65ca97430da17d7c6f3cf636c0fd16dc3474481e gate: name: Required checks pass diff --git a/.github/workflows/label-maintenance-pr.yaml b/.github/workflows/label-maintenance-pr.yaml index 6aa7343..244d021 100644 --- a/.github/workflows/label-maintenance-pr.yaml +++ b/.github/workflows/label-maintenance-pr.yaml @@ -10,7 +10,7 @@ jobs: label: runs-on: ubuntu-26.04 steps: - - uses: tox-dev/github-workflows/label-bot-news@84255555371c47578577079d168a4654fc749166 + - uses: tox-dev/github-workflows/label-bot-news@65ca97430da17d7c6f3cf636c0fd16dc3474481e with: fragments: docs/changelog.d extension: rst diff --git a/pylock.toml b/pylock.toml new file mode 100644 index 0000000..f1137a4 --- /dev/null +++ b/pylock.toml @@ -0,0 +1,7774 @@ +lock-version = "1.0" +created-by = "release-creator (uv)" +requires-python = ">=3.11" +extras = [] +dependency-groups = [ + "project-runtime", + "dev", + "test", + "type", + "docs", + "lint", + "pkg-meta", +] +default-groups = [] + +[[packages]] +name = "accessible-pygments" +version = "0.0.5" +index = "https://pypi.org/simple" +marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"type\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/bc/c1/bbac6a50d02774f91572938964c582fff4270eee73ab822a4aeea4d8b11b/accessible_pygments-0.0.5.tar.gz" +upload-time = 2024-05-10 11:23:10+00:00 +size = 1377899 + +[packages.sdist.hashes] +sha256 = "40918d3e6a2b619ad424cb91e556bd3bd8865443d9f22f1dcdf79e33c8046872" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/8d/3f/95338030883d8c8b91223b4e21744b04d11b161a3ef117295d8241f50ab4/accessible_pygments-0.0.5-py3-none-any.whl" +upload-time = 2024-05-10 11:23:08+00:00 +size = 1395903 + +[packages.wheels.hashes] +sha256 = "88ae3211e68a1d0b011504b2ffc1691feafce124b845bd072ab6f9f66f34d4b7" + +[[packages]] +name = "alabaster" +version = "1.0.0" +index = "https://pypi.org/simple" +marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"type\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/a6/f8/d9c74d0daf3f742840fd818d69cfae176fa332022fd44e3469487d5a9420/alabaster-1.0.0.tar.gz" +upload-time = 2024-07-26 18:15:03+00:00 +size = 24210 + +[packages.sdist.hashes] +sha256 = "c00dca57bca26fa62a6d7d0a9fcce65f3e026e9bfe33e9c538fd3fbb2144fd9e" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/7e/b3/6b4067be973ae96ba0d615946e314c5ae35f9f993eca561b356540bb0c2b/alabaster-1.0.0-py3-none-any.whl" +upload-time = 2024-07-26 18:15:02+00:00 +size = 13929 + +[packages.wheels.hashes] +sha256 = "fc6786402dc3fcb2de3cabd5fe455a2db534b371124f1f21de8731783dec828b" + +[[packages]] +name = "annotated-types" +version = "0.8.0" +index = "https://pypi.org/simple" +marker = "\"dev\" in dependency_groups or \"pkg-meta\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/5f/56/a8120250d128bed162cd73c76d45f6ef9991f3e068f62a8ee060afa3104a/annotated_types-0.8.0.tar.gz" +upload-time = 2026-07-23 20:16:13+00:00 +size = 15893 + +[packages.sdist.hashes] +sha256 = "13b2beaad985e05e2d6407ee4c4f35590b11f8d693a258a561055cac8f64cab7" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/99/91/8acff4f5e50511b911bbccb72b8628a49c68ce14148cd9f6431094859a90/annotated_types-0.8.0-py3-none-any.whl" +upload-time = 2026-07-23 20:16:12+00:00 +size = 13427 + +[packages.wheels.hashes] +sha256 = "f072f4d804ea359e4eaf198b1af7a8b0943881a87f31bb764f8bf219bb9419e0" + +[[packages]] +name = "attrs" +version = "26.1.0" +index = "https://pypi.org/simple" +marker = "\"dev\" in dependency_groups or \"pkg-meta\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/9a/8e/82a0fe20a541c03148528be8cac2408564a6c9a0cc7e9171802bc1d26985/attrs-26.1.0.tar.gz" +upload-time = 2026-03-19 14:22:25+00:00 +size = 952055 + +[packages.sdist.hashes] +sha256 = "d03ceb89cb322a8fd706d4fb91940737b6642aa36998fe130a9bc96c985eff32" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/64/b4/17d4b0b2a2dc85a6df63d1157e028ed19f90d4cd97c36717afef2bc2f395/attrs-26.1.0-py3-none-any.whl" +upload-time = 2026-03-19 14:22:23+00:00 +size = 67548 + +[packages.wheels.hashes] +sha256 = "c647aa4a12dfbad9333ca4e71fe62ddc36f4e63b2d260a37a8b83d2f043ac309" + +[[packages]] +name = "babel" +version = "2.18.0" +index = "https://pypi.org/simple" +marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"type\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/7d/b2/51899539b6ceeeb420d40ed3cd4b7a40519404f9baf3d4ac99dc413a834b/babel-2.18.0.tar.gz" +upload-time = 2026-02-01 12:30:56+00:00 +size = 9959554 + +[packages.sdist.hashes] +sha256 = "b80b99a14bd085fcacfa15c9165f651fbb3406e66cc603abf11c5750937c992d" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/77/f5/21d2de20e8b8b0408f0681956ca2c69f1320a3848ac50e6e7f39c6159675/babel-2.18.0-py3-none-any.whl" +upload-time = 2026-02-01 12:30:53+00:00 +size = 10196845 + +[packages.wheels.hashes] +sha256 = "e2b422b277c2b9a9630c1d7903c2a00d0830c409c59ac8cae9081c92f1aeba35" + +[[packages]] +name = "backports-tarfile" +version = "1.2.0" +index = "https://pypi.org/simple" +marker = "(\"dev\" in dependency_groups and (python_full_version < '3.12' and platform_machine != 'ppc64le' and platform_machine != 's390x')) or (\"pkg-meta\" in dependency_groups and (python_full_version < '3.12' and platform_machine != 'ppc64le' and platform_machine != 's390x'))" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/86/72/cd9b395f25e290e633655a100af28cb253e4393396264a98bd5f5951d50f/backports_tarfile-1.2.0.tar.gz" +upload-time = 2024-05-28 17:01:54+00:00 +size = 86406 + +[packages.sdist.hashes] +sha256 = "d75e02c268746e1b8144c278978b6e98e85de6ad16f8e4b0844a154557eca991" + +[[packages.wheels]] +name = "backports_tarfile-1.2.0-py3-none-any.whl" +url = "https://files.pythonhosted.org/packages/b9/fa/123043af240e49752f1c4bd24da5053b6bd00cad78c2be53c0d1e8b975bc/backports.tarfile-1.2.0-py3-none-any.whl" +upload-time = 2024-05-28 17:01:53+00:00 +size = 30181 + +[packages.wheels.hashes] +sha256 = "77e284d754527b01fb1e6fa8a1afe577858ebe4e9dad8919e34c862cb399bc34" + +[[packages]] +name = "beautifulsoup4" +version = "4.15.0" +index = "https://pypi.org/simple" +marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"type\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/43/65/318323f98dbee45d42dff61d8f047181bc6f2268a9068cfad035a46be5af/beautifulsoup4-4.15.0.tar.gz" +upload-time = 2026-06-07 16:44:20+00:00 +size = 632571 + +[packages.sdist.hashes] +sha256 = "288e3ca7d54b06f2ac191970bc275c1939cb46d450b255bf6718b04aa37ab4f7" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/88/c6/92fcd42f1ba33e1184263f25bfabf3d27c383410470f169e4b8163bf9c17/beautifulsoup4-4.15.0-py3-none-any.whl" +upload-time = 2026-06-07 16:44:21+00:00 +size = 109924 + +[packages.wheels.hashes] +sha256 = "d6f88de62e1d4e38ecb1077eb9724cd0eff29d2a08ca16a401e9b9e93f117cf9" + +[[packages]] +name = "certifi" +version = "2026.10.19" +index = "https://pypi.org/simple" +marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"pkg-meta\" in dependency_groups or \"type\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/a6/bd/1436c50cc46699de0230fbaacc1d1de7bfec413176099949e9d5112e88f2/certifi-2026.10.19.tar.gz" +upload-time = 2026-10-20 02:24:16+00:00 +size = 137598 + +[packages.sdist.hashes] +sha256 = "035c1e85572b141bf1c3a3eff0e33a8eb74917522f2559075ff8d2fea780a1ae" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/c4/51/29046e48f693c54e5b7412216d447a1d8362c9653148d98c02cdf65fa733/certifi-2026.10.19-py3-none-any.whl" +upload-time = 2026-10-20 02:24:15+00:00 +size = 136464 + +[packages.wheels.hashes] +sha256 = "42d35340cc5b9ba78e818ddbff0c5b1c2b779de448a340fd1b989f5fa8670e1b" + +[[packages]] +name = "cffi" +version = "2.1.1" +index = "https://pypi.org/simple" +marker = "(\"dev\" in dependency_groups and (platform_machine != 'ppc64le' and platform_machine != 's390x' and platform_python_implementation != 'PyPy' and sys_platform == 'linux')) or (\"pkg-meta\" in dependency_groups and (platform_machine != 'ppc64le' and platform_machine != 's390x' and platform_python_implementation != 'PyPy' and sys_platform == 'linux'))" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/9e/ef/008a1939e372c06329a3fce4279c02f328488f3526744906eeec3da7ad5f/cffi-2.1.1.tar.gz" +upload-time = 2026-08-03 21:21:18+00:00 +size = 530807 + +[packages.sdist.hashes] +sha256 = "dd31f52ea1086513bb9df30f8fcee9b8918323ae067a3d5b78bc826a000712be" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/ad/5a/4707a0dc1f203f5dde5a907b0d4e3c25d71120241048bd5bc6f1bb9d4e71/cffi-2.1.1-cp311-cp311-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl" +upload-time = 2026-08-03 21:19:31+00:00 +size = 211805 + +[packages.wheels.hashes] +sha256 = "154852545011f779917b11c78db2358d095da62a9a172b78ad0a583ee5adc0d0" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/ad/66/c19feabb28485b6e0bbaaafa90837a1ef5d302e90f2178bd33f17a49879b/cffi-2.1.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" +upload-time = 2026-08-03 21:19:32+00:00 +size = 218716 + +[packages.wheels.hashes] +sha256 = "3311ed60d36f83378794e1009ac6258bafbf81f7888b4caa7b35a521e3f95813" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/f7/a4/4399daaf8f7dfee9d7c3327fdb0426ee041cc63edc358b93911ceb2bfc7a/cffi-2.1.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" +upload-time = 2026-08-03 21:19:36+00:00 +size = 217807 + +[packages.wheels.hashes] +sha256 = "34e261f78cb6ceaaa36f42f2613f4380d94d9c759a9c73c769ee6e0247364632" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/28/f7/dabe6da2466ecbd82dc62e7342dc6b1065dad990c06f00f0ede9ebf2a0ed/cffi-2.1.1-cp311-cp311-musllinux_1_2_aarch64.whl" +upload-time = 2026-08-03 21:19:37+00:00 +size = 221252 + +[packages.wheels.hashes] +sha256 = "7225e4514edb64eb6740324353e0da0711954fd8d7da4576755b1c6e09b697cd" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/ce/87/616202d8e51342c07d2534c510111c4cc37201775ce8f60802c9335d1edd/cffi-2.1.1-cp311-cp311-musllinux_1_2_i686.whl" +upload-time = 2026-08-03 21:19:38+00:00 +size = 214214 + +[packages.wheels.hashes] +sha256 = "df913725b79db7bcf03448f36b7bf8815363417d5b58deecf9305e3e30f0f21a" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/b4/c6/ab025d75d2c26c19b087c0124e75ee31cb65032f4fe345d356d8c507ab97/cffi-2.1.1-cp311-cp311-musllinux_1_2_x86_64.whl" +upload-time = 2026-08-03 21:19:39+00:00 +size = 219408 + +[packages.wheels.hashes] +sha256 = "f5cfbc5fe74540d335175b656c725d74d90e3730c626d92575eea35029d9afaa" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/56/e6/8941622732edec876dd17d0453dce07317ae96db34f2ec1436c9d3785986/cffi-2.1.1-cp312-cp312-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl" +upload-time = 2026-08-03 21:19:47+00:00 +size = 214799 + +[packages.wheels.hashes] +sha256 = "811bd1e21d32de12efca32393a0ab3f5133b54fce9bd44b8bd77ab07da14bf6a" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/44/de/f98430906df1545ffde0d543dd124a7a439bc2cd32b36b9c53f805df7333/cffi-2.1.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" +upload-time = 2026-08-03 21:19:48+00:00 +size = 222389 + +[packages.wheels.hashes] +sha256 = "68e62fe11f30d5ca8289242866f0a5291402d8529ca2178ab8afc5c9694ae890" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/b1/db/dceb9dd5b231e1da801793f8acc9f3c52a7e1afe40bb1aae37e02b0faad5/cffi-2.1.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" +upload-time = 2026-08-03 21:19:52+00:00 +size = 221822 + +[packages.wheels.hashes] +sha256 = "c1453022f490d2459a11819d83ad1d586e9ff65a12ac3e705ffebd46d3685dcf" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/a0/d2/6cd24ae3be000a634109c247d1475d62e5616d0dc78c82770942ec384248/cffi-2.1.1-cp312-cp312-musllinux_1_2_aarch64.whl" +upload-time = 2026-08-03 21:19:53+00:00 +size = 225232 + +[packages.wheels.hashes] +sha256 = "208f941bb9d18e768138677f0a6d2ce01f590df56043dda1df1535ac57c88517" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/cb/52/3fa190537004dd7f0ab860a6dc7c0175b8667f68d1e618a46f5498d30250/cffi-2.1.1-cp312-cp312-musllinux_1_2_x86_64.whl" +upload-time = 2026-08-03 21:19:54+00:00 +size = 223597 + +[packages.wheels.hashes] +sha256 = "210019b6c7cf07f081b4c54635c8cf744377001350e29cc0f81c4377b4797735" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/9d/f4/035513d4117049066b4779dc3b7c0c0fdad175fa13731c9f4003f1cd1478/cffi-2.1.1-cp313-cp313-ios_13_0_arm64_iphoneos.whl" +upload-time = 2026-08-03 21:19:59+00:00 +size = 194248 + +[packages.wheels.hashes] +sha256 = "b5bdfd1c873d4e093aabc0ca84c4ca6dbc4f752afb5c86f146d9742580c9da2e" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/76/af/2aeb4dbb5fc41a04161ae9ff1518de7cec08e164f44a8ce6a4cf7fd2cd1d/cffi-2.1.1-cp313-cp313-ios_13_0_arm64_iphonesimulator.whl" +upload-time = 2026-08-03 21:20:00+00:00 +size = 196908 + +[packages.wheels.hashes] +sha256 = "31348097ff5bbe827ccc41795d4dd099d9f0625e7def00ee653c137a490c2a6c" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/43/1f/1c3d90d91811c8f86ced9ed637956c54bfe5b79ca98fe976d7f8c8979f6b/cffi-2.1.1-cp313-cp313-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl" +upload-time = 2026-08-03 21:20:04+00:00 +size = 214722 + +[packages.wheels.hashes] +sha256 = "6a8dddef476fab96d066d578fc88526767b836ab5ab21754e1d5bf3879c31c7c" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/37/6f/3b5ce4c3b2192d250f04908f2bfd91ef34552ec8f7716a5d4abdb8d67bb2/cffi-2.1.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" +upload-time = 2026-08-03 21:20:05+00:00 +size = 222369 + +[packages.wheels.hashes] +sha256 = "f16c709686a78c727bbbf059f92b0bf41c6fc60deec706d2dc19f529175a6125" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/95/95/86342356ff5953b3fb06f7ef7c5bee212d45e770abc7218d451b9148313c/cffi-2.1.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" +upload-time = 2026-08-03 21:20:09+00:00 +size = 221824 + +[packages.wheels.hashes] +sha256 = "a931079504ecc49efed7744c476a5c343a92fabf66dec2db95edb1b2fdc770e2" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/eb/ff/7b3429ff53aafe931ed8a5fc69f481bbef7ba6de87ddcbb63d08f483f613/cffi-2.1.1-cp313-cp313-musllinux_1_2_aarch64.whl" +upload-time = 2026-08-03 21:20:10+00:00 +size = 225148 + +[packages.wheels.hashes] +sha256 = "a2d7755bef5a12ed488f4ef1f1b69ee9191d7396083b755a5d2295f6edb4768b" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/34/34/a95870b9221e09cf4f2ce3178b1a210abdfe63a1bd357da940418d7b8d15/cffi-2.1.1-cp313-cp313-musllinux_1_2_x86_64.whl" +upload-time = 2026-08-03 21:20:12+00:00 +size = 223564 + +[packages.wheels.hashes] +sha256 = "e0bcb7e0f677f543555d2adff3bf19c05f66cdb4796e5ff602442ab2fe3c4ef7" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/d3/7b/d6bbf82b8b96e7391438898c42f5bd96dd02030fd5b64937d248220003e2/cffi-2.1.1-cp314-cp314-ios_13_0_arm64_iphoneos.whl" +upload-time = 2026-08-03 21:20:17+00:00 +size = 194064 + +[packages.wheels.hashes] +sha256 = "7dbb61fe3a7699468030f71bbe5f8a0e326a151daa91beb11a6fc1f980c55e1c" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/94/e6/bcc91b283be94735e268487a054004f0aa19947b6348fa367db53230abc8/cffi-2.1.1-cp314-cp314-ios_13_0_arm64_iphonesimulator.whl" +upload-time = 2026-08-03 21:20:18+00:00 +size = 196720 + +[packages.wheels.hashes] +sha256 = "f24fb43132a4c6b4cb4eb029492919b2db645be6808d738f244fd146c03c32cb" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/67/b8/b42132ca113dc567d37684437b46ca1dafc885902b02a110a02d5b511857/cffi-2.1.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" +upload-time = 2026-08-03 21:20:22+00:00 +size = 222328 + +[packages.wheels.hashes] +sha256 = "58acb8ab8e295e6c5ea12f888cbb13cf21511ef2a3303a23f4325c29d17fe5c1" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/e9/02/4e7d553a7ac4b4238b38b3c1b80d486e9d4436f8d2acbf87a0997fe3f402/cffi-2.1.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" +upload-time = 2026-08-03 21:20:25+00:00 +size = 221525 + +[packages.wheels.hashes] +sha256 = "b0431303acaea1089ad4b3e9ce4e6518193def1118d4073ca848635ee4ea2e96" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/82/1d/a4aaf9babd75acb4d5f223bff71533bee748dd770a382619a798960ee9ba/cffi-2.1.1-cp314-cp314-musllinux_1_2_aarch64.whl" +upload-time = 2026-08-03 21:20:26+00:00 +size = 225053 + +[packages.wheels.hashes] +sha256 = "64faea20f4e2613363a1a9b9c7dd73058f3ecd00133a511e72ad7c511658f527" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/81/10/5dc0e7bdd18e22107054288283380fc97a06ae3f1656a106908d666a3c88/cffi-2.1.1-cp314-cp314-musllinux_1_2_x86_64.whl" +upload-time = 2026-08-03 21:20:28+00:00 +size = 223213 + +[packages.wheels.hashes] +sha256 = "5c58fe613dc5e5336357eff555824a314d8e43282600435c8d1cb6a7a2fedd13" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/2a/9c/92934c3bea9f785b23eba304538c0b4d37a2a96d2431eb3a1bc87a11aa19/cffi-2.1.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" +upload-time = 2026-08-03 21:20:32+00:00 +size = 223864 + +[packages.wheels.hashes] +sha256 = "49cbc70e6542d4ccccb936558d1064a8012541e78f821f955cff24e357776c94" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/9a/95/eff5f0cee78d2eabc7eebffec40d3fc1876b5f3c95582e018bb4b99601f2/cffi-2.1.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" +upload-time = 2026-08-03 21:20:36+00:00 +size = 223803 + +[packages.wheels.hashes] +sha256 = "51b31d1c98274844cfd7838ce00bfc27c7423a4dc00fc0772fc3331c2cc90676" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/fa/01/579d39fb8bef00a335a23d83757b44feb24cd6345a2c451b64cb67b9c362/cffi-2.1.1-cp314-cp314t-musllinux_1_2_aarch64.whl" +upload-time = 2026-08-03 21:20:37+00:00 +size = 226763 + +[packages.wheels.hashes] +sha256 = "5e7cecbaadb83884793e05828cee59b210b24583b9c7425d0ba6a754fe22eb4e" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/8d/b0/0b44f47c60b01b57b6e2bbd92343f13a85a1d93bc46ccf6e47e244acd99c/cffi-2.1.1-cp314-cp314t-musllinux_1_2_x86_64.whl" +upload-time = 2026-08-03 21:20:38+00:00 +size = 225688 + +[packages.wheels.hashes] +sha256 = "25792eac27877609e7bb06d42ff88278a6624fff2ba9bbb523c09616b117e80f" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/c1/8f/9ebe220eab48a093d1a5a5e339ab0dc7316eef3bb04d63c42f0251b61f50/cffi-2.1.1-cp315-cp315-ios_13_0_arm64_iphoneos.whl" +upload-time = 2026-08-03 21:20:48+00:00 +size = 194043 + +[packages.wheels.hashes] +sha256 = "dddad92b554513a31f272570678ba307fb9f618f05e3d4a5eacafff9eae03e1d" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/ff/69/844bad3ece306c4782c2ecb93597035b6690d48704b803914c199da1e8b3/cffi-2.1.1-cp315-cp315-ios_13_0_arm64_iphonesimulator.whl" +upload-time = 2026-08-03 21:20:49+00:00 +size = 196737 + +[packages.wheels.hashes] +sha256 = "da0e573f9f97159390c89d9f1a9e41908b66d408cc5b58d08cf3847d844c531b" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/e2/31/9e1313b0a6e30e91b3b3d3fff51ae99c857c07738e3afcce1f7334e1b7ab/cffi-2.1.1-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" +upload-time = 2026-08-03 21:20:53+00:00 +size = 222271 + +[packages.wheels.hashes] +sha256 = "507a24c282e0f42f8ed737cf048572cbf580468da5555764a8331735e9c736b6" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/44/16/29e6d01b388bef055ecd6ca8244b3f4d336bd09e92d5d892187b9601084e/cffi-2.1.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" +upload-time = 2026-08-03 21:20:57+00:00 +size = 221630 + +[packages.wheels.hashes] +sha256 = "aeae0e330c9f6acd681f647d46cefd30c29f93e3392882e792e82080c9691399" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/a4/18/fa7f1f6857d5eb88a4ca99ffcbfb7c387a287ccc154c64a73e86314745d7/cffi-2.1.1-cp315-cp315-musllinux_1_2_aarch64.whl" +upload-time = 2026-08-03 21:20:58+00:00 +size = 225134 + +[packages.wheels.hashes] +sha256 = "42a494cee34437f05546455144f2b5d9ac09b1face62bcfce597d2e521066688" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/e0/9f/e8e3dfa04a1b4c241f8c91faacad872b4d4efd051d49764ad4e2fd4b9fea/cffi-2.1.1-cp315-cp315-musllinux_1_2_x86_64.whl" +upload-time = 2026-08-03 21:20:59+00:00 +size = 223197 + +[packages.wheels.hashes] +sha256 = "cc572dace3f60ef98d7b12ff411d20f5362feb31a0439eab0085bbfd349982d7" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/53/b2/6187f46f2912276a3ae284076109cc5c8680482f11f766ccf26db4a86427/cffi-2.1.1-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" +upload-time = 2026-08-03 21:21:03+00:00 +size = 223779 + +[packages.wheels.hashes] +sha256 = "937c0052c05a31ca1daf18de3158eed4dbfcb9cc107adbea227728d647be701e" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/52/86/2976131c639aead931c5bee5aba67e4b09fbeb8018b6f282f70803f923a7/cffi-2.1.1-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" +upload-time = 2026-08-03 21:21:07+00:00 +size = 223835 + +[packages.wheels.hashes] +sha256 = "363e05fa78e15116c3c32c210ee36884fd6b9afa6d440e47112c3bd511d64cb6" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/ac/0c/33a7aeab2f9c76918c52e084beb39c570db3588133412929e8ec06fab90b/cffi-2.1.1-cp315-cp315t-musllinux_1_2_aarch64.whl" +upload-time = 2026-08-03 21:21:08+00:00 +size = 226705 + +[packages.wheels.hashes] +sha256 = "770de9db11e84213beec501cfcaa013b019820ca881e03344dea5844f7876d94" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/e3/26/2cde30fdde421130bfc18f70395731a6e6b2053c6a1978a5258ff04e72fa/cffi-2.1.1-cp315-cp315t-musllinux_1_2_x86_64.whl" +upload-time = 2026-08-03 21:21:09+00:00 +size = 225539 + +[packages.wheels.hashes] +sha256 = "7da0c5eff80f0197f3b3d1232ec5a682a9325f4ae9016a78f5f5ca35f9ced1f5" + +[[packages]] +name = "cfgv" +version = "3.5.0" +index = "https://pypi.org/simple" +marker = "\"dev\" in dependency_groups or \"lint\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/4e/b5/721b8799b04bf9afe054a3899c6cf4e880fcf8563cc71c15610242490a0c/cfgv-3.5.0.tar.gz" +upload-time = 2025-11-19 20:55:51+00:00 +size = 7334 + +[packages.sdist.hashes] +sha256 = "d5b1034354820651caa73ede66a6294d6e95c1b00acc5e9b098e917404669132" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/db/3c/33bac158f8ab7f89b2e59426d5fe2e4f63f7ed25df84c036890172b412b5/cfgv-3.5.0-py2.py3-none-any.whl" +upload-time = 2025-11-19 20:55:50+00:00 +size = 7445 + +[packages.wheels.hashes] +sha256 = "a8dc6b26ad22ff227d2634a65cb388215ce6cc96bbcc5cfde7641ae87e8dacc0" + +[[packages]] +name = "charset-normalizer" +version = "3.5.2" +index = "https://pypi.org/simple" +marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"pkg-meta\" in dependency_groups or \"type\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/33/1c/f41d4e74c28ab327ff3acd36053f7ea506c55872d7a90b0fa71aa3ab0c89/charset_normalizer-3.5.2.tar.gz" +upload-time = 2026-09-30 04:39:23+00:00 +size = 172659 + +[packages.sdist.hashes] +sha256 = "39de2a259fc954455c57274dc94c79d5842774e1247a016aff30bc0efed0f4ef" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/22/67/6a0b94a7960d5e1b5eacd2fb529f3fccc47db4644f7f0a7cfdcfc3be578a/charset_normalizer-3.5.2-cp311-cp311-macosx_10_9_universal2.whl" +upload-time = 2026-09-30 04:35:06+00:00 +size = 370642 + +[packages.wheels.hashes] +sha256 = "3d21b8b13c7592db2ac5e544a6d83187b995257472b0c9e8351b6d507ae37ed6" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/fb/94/01009e13b94041599004edf32e56e382c24e570f60f79bab8efe45cfe1eb/charset_normalizer-3.5.2-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" +upload-time = 2026-09-30 04:35:08+00:00 +size = 259280 + +[packages.wheels.hashes] +sha256 = "d760fe2a4d7c3b226cb9026d6a842868d52a7901bd98420e1baf14e80da85cf5" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/66/85/3b5358f60a13210f0b67d3755c168ef758701b021e655d88d4da28554467/charset_normalizer-3.5.2-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl" +upload-time = 2026-09-30 04:35:10+00:00 +size = 245335 + +[packages.wheels.hashes] +sha256 = "c9790464842f85f437dbbb54417eda1e0e6bfc52dd8d22d6fd1c994b73b2dc74" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/74/75/77c1c479b09ecd751d1e767b251ea5c14d4d50ff757bf404afab2692f600/charset_normalizer-3.5.2-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" +upload-time = 2026-09-30 04:35:11+00:00 +size = 291707 + +[packages.wheels.hashes] +sha256 = "4685902cf26edf013ed7a3da0f426ebba7a00ebb9541386d835afbf002c11cab" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/0b/0d/363f78cacb70f58f15f4b083961bbd9d292f335d3f5c66fc4f1cfe69cb90/charset_normalizer-3.5.2-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" +upload-time = 2026-09-30 04:35:13+00:00 +size = 286747 + +[packages.wheels.hashes] +sha256 = "4495c5002a7b28557e7e222e77e0b661183e432b7d6d2e788101e3f240e05b8c" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/e4/ed/cf505d3011ffceb12c2067a7a5d3cfe92b875d4d44bb0ff0d69375e2c184/charset_normalizer-3.5.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" +upload-time = 2026-09-30 04:35:14+00:00 +size = 269972 + +[packages.wheels.hashes] +sha256 = "211d5a3eb6af8f513b8d4ca19a8c1b7accab1b5f0d3175f9826b03c1a920dc1f" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/15/d8/f0a93a431d170e7ca681d4f6650fee3de934d18560e474e7267eb4b0f987/charset_normalizer-3.5.2-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" +upload-time = 2026-09-30 04:35:16+00:00 +size = 269339 + +[packages.wheels.hashes] +sha256 = "ef4fcbf3327382cd4c9f540babd61248208af7b93eec4de397b4d5f58a09e288" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/86/bd/9b2bd1c5b7af02462c9752d33994834ff972a96b4c483eefde9e594488e2/charset_normalizer-3.5.2-cp311-cp311-musllinux_1_2_aarch64.whl" +upload-time = 2026-09-30 04:35:17+00:00 +size = 261683 + +[packages.wheels.hashes] +sha256 = "bd16aabe4a02a297c23417aa17ac6299dbd8c49f673bcd645b4929b11f5a4400" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/76/a5/cac540ab0fd61f3fec88ad3dbb64509e71424593d73cfdfff5ab3e4db279/charset_normalizer-3.5.2-cp311-cp311-musllinux_1_2_armv7l.whl" +upload-time = 2026-09-30 04:35:18+00:00 +size = 248143 + +[packages.wheels.hashes] +sha256 = "fb9e68df06293761f9fe66ade60a9bc6d0f5e42b8acf2939a9158af86ab0e5bd" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/71/7a/ff467301deef2089fad87f72df9e000a26a78fec7acbb18e1999371b8369/charset_normalizer-3.5.2-cp311-cp311-musllinux_1_2_ppc64le.whl" +upload-time = 2026-09-30 04:35:20+00:00 +size = 292358 + +[packages.wheels.hashes] +sha256 = "59f63901b0031c3136cf64704dcb21de0bbae62ce2c9529bc39d27665463de37" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/ad/77/22d7e785d1e210afc2e2f58600dd1799d17a35665faf84383f002826c5f8/charset_normalizer-3.5.2-cp311-cp311-musllinux_1_2_riscv64.whl" +upload-time = 2026-09-30 04:35:21+00:00 +size = 268766 + +[packages.wheels.hashes] +sha256 = "304d5463e65a35d7bb0850550e0780395395f6fcf452f04db7d5ca7cecc425ac" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/ae/91/e8e946267f1c2d9e2bd651726e2fbd2addf02c4d36cea5069e32ca9d7bb5/charset_normalizer-3.5.2-cp311-cp311-musllinux_1_2_s390x.whl" +upload-time = 2026-09-30 04:35:23+00:00 +size = 287432 + +[packages.wheels.hashes] +sha256 = "9cf9b1a857e25c4baceeb3624e92a56df3668f398c4acba74e174d81fb4d1d3a" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/4e/88/7561d8a88d555e7df6623abe7c0070b4baf47549b9408783a2ae0a1a6cf7/charset_normalizer-3.5.2-cp311-cp311-musllinux_1_2_x86_64.whl" +upload-time = 2026-09-30 04:35:24+00:00 +size = 272470 + +[packages.wheels.hashes] +sha256 = "114e4d0c92d618409ed82a99e22b5c5e768fe995f2973f78265f4524f49d4640" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/35/7e/578c702301ec036f01455f30744a08d2b42f6ab35b9b2d4bf8cae0ef2a80/charset_normalizer-3.5.2-cp311-cp311-win32.whl" +upload-time = 2026-09-30 04:35:26+00:00 +size = 186688 + +[packages.wheels.hashes] +sha256 = "2625388c6c754520c37abaf3b41eb34d1cc4a373f457898f08606c8e362b891d" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/e8/fc/fdf8cf52ff21cd5bf158f20978991cf985325842f74283eb6df26c8a39d8/charset_normalizer-3.5.2-cp311-cp311-win_amd64.whl" +upload-time = 2026-09-30 04:35:27+00:00 +size = 214932 + +[packages.wheels.hashes] +sha256 = "87e50a3e7cb90af586b6c5faf23e302a970415ac73bd7bd90a515a04b427ef96" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/97/66/3e45a506d8110b632541faf9a9470185aa9878f1ed44020f31346c1c5e5b/charset_normalizer-3.5.2-cp311-cp311-win_arm64.whl" +upload-time = 2026-09-30 04:35:29+00:00 +size = 202828 + +[packages.wheels.hashes] +sha256 = "254eb48b9fa5ee9898a3c445825a1f340fe53712a098904b39b0bddba8ea3cb1" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/e7/c8/693809898870237d82785a03f3b2b58fe4c9f14669f84a7d4e623c92a59e/charset_normalizer-3.5.2-cp312-cp312-macosx_10_13_universal2.whl" +upload-time = 2026-09-30 04:35:30+00:00 +size = 367780 + +[packages.wheels.hashes] +sha256 = "ed2a239c0ea213acc1908150a3037257083c7c083128f1a4cec2ec4b97dca491" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/c9/87/2fea8c13dc24b3ca9c6f803a5b2dfdeae73eb4f9e12c7885ed908ff0433c/charset_normalizer-3.5.2-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" +upload-time = 2026-09-30 04:35:32+00:00 +size = 246730 + +[packages.wheels.hashes] +sha256 = "b91363207bd9dc966a691e959bb47f64b30f7ac4b072be9968b366982f7db77c" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/a8/9e/09efac30b937722f46d3110ba30b875b24b2e3a266ed746cc4e376a94d80/charset_normalizer-3.5.2-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl" +upload-time = 2026-09-30 04:35:33+00:00 +size = 237707 + +[packages.wheels.hashes] +sha256 = "38a873987f3be698494da8b2e3085e29da02da7b633dce73e79c699a113d7bf0" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/9e/18/70d76670b13686237863a379928d60bd10e021f17d243ab3d7014c4a5f4e/charset_normalizer-3.5.2-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" +upload-time = 2026-09-30 04:35:35+00:00 +size = 273050 + +[packages.wheels.hashes] +sha256 = "355ad8011081dec5412240c087a9a0c9d4d5039f3ed11a3f13e18c2b29b56c51" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/54/e2/77a8b09d5adc013ed07b95b01b8b8fa5441c4e810e83ee7e4aae2fa4d91a/charset_normalizer-3.5.2-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" +upload-time = 2026-09-30 04:35:36+00:00 +size = 270345 + +[packages.wheels.hashes] +sha256 = "ee21e28f0430bd6dc9086c6e525d5e818a44a5ad19720c8a0ef766792f3eb5e5" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/7f/c5/38806a25ab5e65fc178f39affeda20858efafede2fce1ffc2556cfc9fe73/charset_normalizer-3.5.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" +upload-time = 2026-09-30 04:35:37+00:00 +size = 257601 + +[packages.wheels.hashes] +sha256 = "3d31298449090ab8d47b7b1b2a555ff73cac7ed438a08b7ac160980c7ebed649" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/ae/8d/213565184708fdb263ae55e2c04ee1ff748129dd65d48ed0e3502da9c85a/charset_normalizer-3.5.2-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" +upload-time = 2026-09-30 04:35:39+00:00 +size = 252222 + +[packages.wheels.hashes] +sha256 = "5cde776b7cc66e4f6c99612cea4aa7269aa65863f7a15841b2c264f103822f4e" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/7e/24/76d2cefc25472531e4c5c7dfff68865eb1c39b78482f0fdc15b46f047830/charset_normalizer-3.5.2-cp312-cp312-musllinux_1_2_aarch64.whl" +upload-time = 2026-09-30 04:35:41+00:00 +size = 248482 + +[packages.wheels.hashes] +sha256 = "ae4f5fea5b8b8ccff88238cc8569303e5ee95efae67fa62922a311397a71f346" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/7d/dc/65a801b66ab4c197e22c433ab25e7ac24324ac6f45a2269aca42cce309bf/charset_normalizer-3.5.2-cp312-cp312-musllinux_1_2_armv7l.whl" +upload-time = 2026-09-30 04:35:42+00:00 +size = 241206 + +[packages.wheels.hashes] +sha256 = "f7d486c83842422badd511868fd8a9a20e9407ace71564b6af47ce7e60a336c1" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/a7/95/ca9b5eabde673002c6f1e7ada1b223916fe18f6d661da7aabd4d643718f1/charset_normalizer-3.5.2-cp312-cp312-musllinux_1_2_ppc64le.whl" +upload-time = 2026-09-30 04:35:44+00:00 +size = 273190 + +[packages.wheels.hashes] +sha256 = "11a4d68a6ecda3292cb1e50239e111543ba5d709bb62a6b4ea1afcfa729d8875" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/2d/8b/803b4d2a3f6e1740f63f1e87b04d14b42f3d4fdfe6ed7d4db2d34102b14f/charset_normalizer-3.5.2-cp312-cp312-musllinux_1_2_riscv64.whl" +upload-time = 2026-09-30 04:35:45+00:00 +size = 253527 + +[packages.wheels.hashes] +sha256 = "d6734d2ef8a50fbf8445c139477da401f50d62a0606bf00e20ec6d87773fefb1" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/a9/55/93c0e5dbd085ae0471346026abbe7e0db9ea2d6fea74e51f0b5a46f233a7/charset_normalizer-3.5.2-cp312-cp312-musllinux_1_2_s390x.whl" +upload-time = 2026-09-30 04:35:47+00:00 +size = 271285 + +[packages.wheels.hashes] +sha256 = "a815775b6c38d4e0ff7bcffbeba67feded90202bb6a226b8dd35f1c855217413" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/95/69/0dbd0e0b9b16cfa816cdfcb3e2e3854a1f680dc07fb1245ea125e7448060/charset_normalizer-3.5.2-cp312-cp312-musllinux_1_2_x86_64.whl" +upload-time = 2026-09-30 04:35:48+00:00 +size = 260010 + +[packages.wheels.hashes] +sha256 = "23851fb4e1b85ed3f6c2a27b777cdfe2e19fb5b38429a8faf38c7542b7665869" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/58/9d/e7b88e7b1bf403590c3b573277b5e1e488c68c7a6fbacca310a2c324e90c/charset_normalizer-3.5.2-cp312-cp312-win32.whl" +upload-time = 2026-09-30 04:35:50+00:00 +size = 184125 + +[packages.wheels.hashes] +sha256 = "db19d07e2e0129e974a0e65d0064fc222a446cd5122c2fd4184d2af9fc734a9e" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/eb/e6/e6e083884cbcfd49c64865af05027fe7011be7b2d9179524f099a1b611f3/charset_normalizer-3.5.2-cp312-cp312-win_amd64.whl" +upload-time = 2026-09-30 04:35:52+00:00 +size = 207486 + +[packages.wheels.hashes] +sha256 = "780fbe7cab297b81dad9fb8dc5eb003c0468ffb0d9e5f65068c53a34661a96bc" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/c4/e3/017aea0911ada7405a825c7d937eb3a13009664e2f5b38e8c4bbf2abf894/charset_normalizer-3.5.2-cp312-cp312-win_arm64.whl" +upload-time = 2026-09-30 04:35:53+00:00 +size = 196734 + +[packages.wheels.hashes] +sha256 = "e2af3aad578aa6bd1384bcf4750fc285e5a9de53f40b7d41e5a0bf748edeb2b3" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/c5/34/68292d68512768591aaff07c59bb53ee31341c87759433a859c4641a50c2/charset_normalizer-3.5.2-cp313-cp313-android_24_arm64_v8a.whl" +upload-time = 2026-09-30 04:35:55+00:00 +size = 225946 + +[packages.wheels.hashes] +sha256 = "ed905975ab14056a2e5eb1c376cb2e1ebc5396baf84163939c518556fccde9f5" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/e3/80/bee0b01b90ccd5322ae1d0abb33fab1bd95b7c2eadaf02aeccf22e04ee83/charset_normalizer-3.5.2-cp313-cp313-android_24_x86_64.whl" +upload-time = 2026-09-30 04:35:56+00:00 +size = 238619 + +[packages.wheels.hashes] +sha256 = "a66c3bc5ab1f0ff2164fc9965ddd611ff0802173f4b9d24554c563f6ab7e1d6e" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/78/6e/60ce52a85a7fd631ae8482ae6d74521014ca2f255892679484dc04d7ef56/charset_normalizer-3.5.2-cp313-cp313-ios_13_0_arm64_iphoneos.whl" +upload-time = 2026-09-30 04:35:58+00:00 +size = 206701 + +[packages.wheels.hashes] +sha256 = "d2374b62878abb00cd8309b32af6c0b715cd02dec0ca74ef12e5069bdc64144a" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/36/8c/71aafad23f971afc84c2b295bc0c560739ce1dac558aad9fec22e39f3639/charset_normalizer-3.5.2-cp313-cp313-ios_13_0_arm64_iphonesimulator.whl" +upload-time = 2026-09-30 04:36:00+00:00 +size = 210506 + +[packages.wheels.hashes] +sha256 = "d376bbd28b3a8999db1a103b3b388aee6f1ddeb3e51bc2172993efdcd86e064d" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/91/da/3c5a7798c046df7d2d68ad653cf5b6c5a8bfee225055a843c6f2f42aac1a/charset_normalizer-3.5.2-cp313-cp313-macosx_10_13_universal2.whl" +upload-time = 2026-09-30 04:36:01+00:00 +size = 366626 + +[packages.wheels.hashes] +sha256 = "6045373d5a89a5ec71afde535db987ca28e76dfa276c2d4c818265b375d4b055" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/e1/16/710ac3de2ee354e2bd1a9c94efe45a2d27b5c6ad39b2d6a905be2c094b6c/charset_normalizer-3.5.2-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" +upload-time = 2026-09-30 04:36:03+00:00 +size = 244624 + +[packages.wheels.hashes] +sha256 = "849df64e889b2e17230d58410a03dba311a65b163508fd33679b2b737d4b7858" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/d6/39/45c7439f5b63d24f7d5b2a1d760f34af7628782d7144b4cc8ded45c2d4bc/charset_normalizer-3.5.2-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl" +upload-time = 2026-09-30 04:36:04+00:00 +size = 235731 + +[packages.wheels.hashes] +sha256 = "15c44f7edfd477b06f517a5cc317fc1707edb9de2c865f43d4b6513907473234" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/4d/34/38f3154785ce92e9f56eb226f4d35bdfae6b008480dd055f58837a89c810/charset_normalizer-3.5.2-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" +upload-time = 2026-09-30 04:36:06+00:00 +size = 270352 + +[packages.wheels.hashes] +sha256 = "a89012d6d5476ee112d20d998570ed58df2260a852afb1758809cd6900411d21" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/04/f3/859f74e7babc977705026b30593b3be04049632a522fb7000f83c033d747/charset_normalizer-3.5.2-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" +upload-time = 2026-09-30 04:36:07+00:00 +size = 267393 + +[packages.wheels.hashes] +sha256 = "0c951d5e6dd9c2ff60609476752bee49da4206adde960ebc247766937f72e718" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/4b/85/41d27f234b82e47c167a5f6c0f62501dc0c640585ff4aba79e08a390336a/charset_normalizer-3.5.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" +upload-time = 2026-09-30 04:36:09+00:00 +size = 254660 + +[packages.wheels.hashes] +sha256 = "7218e8f32b0956cfcd048fd42d9d5779809745ca1d86113ca56f66e7ae1549c4" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/58/ca/5d1a997587febe5b26d8daffe363b5c1a091cece19828eec6502fd09c5ef/charset_normalizer-3.5.2-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" +upload-time = 2026-09-30 04:36:10+00:00 +size = 249996 + +[packages.wheels.hashes] +sha256 = "a19a731138fc27d5682277d3b9df22855cea1239bce7fcec5f78f42ef2d1f3c3" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/b3/1f/d1e78246f7ed60c8c8d606b4ac27f66ce49cc3e95f24893ccbeba9f77302/charset_normalizer-3.5.2-cp313-cp313-musllinux_1_2_aarch64.whl" +upload-time = 2026-09-30 04:36:12+00:00 +size = 247028 + +[packages.wheels.hashes] +sha256 = "62603db9a7caa0802eaa28c1c46fecd7b3a263a774069c24c3c28c302448721c" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/8e/37/eba316edd4f0c4d3a5d945924c4eeeae59abac4056aa815d8a4268f863a2/charset_normalizer-3.5.2-cp313-cp313-musllinux_1_2_armv7l.whl" +upload-time = 2026-09-30 04:36:13+00:00 +size = 240562 + +[packages.wheels.hashes] +sha256 = "b6856554c4f44d79fc2307d5768854310a8f0096e501c75637542c82292b0429" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/c8/8e/aaa037d40ca9ef045977f1a661048b1aa33f223adfce3452fe9be9f79d14/charset_normalizer-3.5.2-cp313-cp313-musllinux_1_2_ppc64le.whl" +upload-time = 2026-09-30 04:36:15+00:00 +size = 271699 + +[packages.wheels.hashes] +sha256 = "1bc0baf5ef96b6ede57d47f4b8fe4d9d84019c3bfcbeb20a41edc6a6ee341f1f" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/26/19/1c1c9f75974adf523b87f34b8a2adc5a435cd65916812bcbd0dfa45f9a29/charset_normalizer-3.5.2-cp313-cp313-musllinux_1_2_riscv64.whl" +upload-time = 2026-09-30 04:36:16+00:00 +size = 252030 + +[packages.wheels.hashes] +sha256 = "56bc200a365efb37383b7852e4cc5898d3b2da5987289b543956cf8cad71018a" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/bc/90/0660ef18e18df0a4d2a1a0edff7dfbba42d4e50ef2425557a5bb7051f77b/charset_normalizer-3.5.2-cp313-cp313-musllinux_1_2_s390x.whl" +upload-time = 2026-09-30 04:36:18+00:00 +size = 268565 + +[packages.wheels.hashes] +sha256 = "2c9ad19a6cfcd5ea5c0d41161d22f9df1dcc277e9bef2751391334546a314c00" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/79/ba/57adc269824e8658f1a0f97a9e514c247445a9632b3419b97e0ba37f16dc/charset_normalizer-3.5.2-cp313-cp313-musllinux_1_2_x86_64.whl" +upload-time = 2026-09-30 04:36:19+00:00 +size = 257627 + +[packages.wheels.hashes] +sha256 = "e243bd13217235fc7290c621941c3f5cc8b66e4872495be821d7436ba2fb838d" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/9a/85/33abd4315c052d3d4f54c92b1ee49bfbc0dc7115a981e462a793b6d2ab87/charset_normalizer-3.5.2-cp313-cp313-pyemscripten_2025_0_wasm32.whl" +upload-time = 2026-09-30 04:36:21+00:00 +size = 143407 + +[packages.wheels.hashes] +sha256 = "a090bb2c68df85450502e3e20d665e3a5af9c65a84d6508ed477badd49166fd3" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/4f/de/6435e18d1aaa5d910b896d551411c96af1f42a0c56c29afc2016c61ccc2e/charset_normalizer-3.5.2-cp313-cp313-win32.whl" +upload-time = 2026-09-30 04:36:22+00:00 +size = 183207 + +[packages.wheels.hashes] +sha256 = "2b7b3bbfb4fe8ef40600792d762fbaa9057559f9d3fad209525b7a22b99e91fd" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/9c/76/b8ec57f4e9ee3253541abf95e4a462c0175fe8032dcd070f1f2421240942/charset_normalizer-3.5.2-cp313-cp313-win_amd64.whl" +upload-time = 2026-09-30 04:36:24+00:00 +size = 206489 + +[packages.wheels.hashes] +sha256 = "78456a747de8dc58360ffa581f30a002baf5aa28cb262536545e91f113ed7639" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/3e/60/c647c6ae47480221e875ea5d743ff94946f7416e3c69415ab772928e8d32/charset_normalizer-3.5.2-cp313-cp313-win_arm64.whl" +upload-time = 2026-09-30 04:36:25+00:00 +size = 195501 + +[packages.wheels.hashes] +sha256 = "11912e4bb14baae7c5d8791aa55ba0a3a03ec6729073307b0f57270abaa713d3" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/58/ca/7aa91362a2f77ac8e9e28a9b902a74f7d0e11a851ef0d27a74308da8cd90/charset_normalizer-3.5.2-cp314-cp314-android_24_arm64_v8a.whl" +upload-time = 2026-09-30 04:36:27+00:00 +size = 226010 + +[packages.wheels.hashes] +sha256 = "1afb975bd5d68d5ce9f6b6d44fdf2f7e34b895a35e95708a7a91b20a3b51d187" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/a8/cf/ac8878d0322cf88a1aad4c7b147db32ca0bd806eb0060957b2e31486dbe6/charset_normalizer-3.5.2-cp314-cp314-android_24_x86_64.whl" +upload-time = 2026-09-30 04:36:29+00:00 +size = 239266 + +[packages.wheels.hashes] +sha256 = "bbbfc8e28816f19d7c0f1816664980c0a9875d01b27cdf8eedddb639d9e108ad" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/c9/6d/9a08d7e0b29b7208e2c6c01dc56c8e0520e7c7beadbbfb024b58fd69c8a5/charset_normalizer-3.5.2-cp314-cp314-ios_13_0_arm64_iphoneos.whl" +upload-time = 2026-09-30 04:36:30+00:00 +size = 206783 + +[packages.wheels.hashes] +sha256 = "7967d08cf06dee78443b874f98c98036f624f3a4e73e11f9f64f5be4d25393cf" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/82/44/b0aa350280e6ff5a5492d17cf10460dd39d5ee848f872f7ba2df10607f60/charset_normalizer-3.5.2-cp314-cp314-ios_13_0_arm64_iphonesimulator.whl" +upload-time = 2026-09-30 04:36:32+00:00 +size = 210449 + +[packages.wheels.hashes] +sha256 = "4c2b5031f63e331e3839b40aed2dd6f191e9c07edbde303e7876846ea1946995" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/7c/8a/40db9aa9f5907bb0e6f8b6d64064bf8852fb33d4b813ff9414911df7647c/charset_normalizer-3.5.2-cp314-cp314-macosx_10_15_universal2.whl" +upload-time = 2026-09-30 04:36:34+00:00 +size = 367815 + +[packages.wheels.hashes] +sha256 = "fcff63213e8e6e47770541a4607175404f47cbb3ebea7b6058cc82d524a0e424" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/7f/72/9c5e7707b57c8ddfa9ddf7b0b1d009d7fbab9e9e887d5b721060f37e307d/charset_normalizer-3.5.2-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" +upload-time = 2026-09-30 04:36:35+00:00 +size = 247095 + +[packages.wheels.hashes] +sha256 = "8d86d6fc60743dc916eb79e2eb1ec4818e21e427731543af40a3021851174a13" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/83/09/71e453691e927de4ddf792770cfaab3f49d494e222f66ea5e404bbd5e39c/charset_normalizer-3.5.2-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl" +upload-time = 2026-09-30 04:36:37+00:00 +size = 233942 + +[packages.wheels.hashes] +sha256 = "7a881931aa470808df94a8c380eed2bbbc76cd9dc622310f99665658c821eb6d" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/9f/86/85c84e4da8b27dd409577d9437926ff581c5f9d3c66038dc68c1a526de51/charset_normalizer-3.5.2-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" +upload-time = 2026-09-30 04:36:38+00:00 +size = 273762 + +[packages.wheels.hashes] +sha256 = "8024d00c3faf3fc0c16e07a69f4405e8eac7cc0ab15f65fe6cf43827c4cf72b4" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/92/08/564955a4b5f2ccb410ab480bbe8c6a18063ff27f2d35458731c4a5335df9/charset_normalizer-3.5.2-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" +upload-time = 2026-09-30 04:36:40+00:00 +size = 269514 + +[packages.wheels.hashes] +sha256 = "4d48f2d08b9de5864e2c8744d4461b862fb149a18274abc8b698c45975573438" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/18/24/bad3ac4271589df29cf5ce2f5ae490518a5739358052bd0d61209e6fea54/charset_normalizer-3.5.2-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" +upload-time = 2026-09-30 04:36:42+00:00 +size = 255056 + +[packages.wheels.hashes] +sha256 = "34276fd796040bf0993ab33a369aa572e6979c7aab225a88893667ad8eac8f7a" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/d6/3e/350d89ad49916b86554d6f5f2d03ec1152148f87e5ff735106c6a03b1a36/charset_normalizer-3.5.2-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" +upload-time = 2026-09-30 04:36:43+00:00 +size = 251311 + +[packages.wheels.hashes] +sha256 = "0521c5665880b33d603717defa76c094048900010897909952397feb3039da56" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/56/5b/4970a2d154df502e133402906dd04e3ae7cada7b3011283c88d0479a2585/charset_normalizer-3.5.2-cp314-cp314-musllinux_1_2_aarch64.whl" +upload-time = 2026-09-30 04:36:45+00:00 +size = 250190 + +[packages.wheels.hashes] +sha256 = "eff0ac9dbe711a4aee69bf04a83896aa9b85f19641264053a9f6d48573abb7dd" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/88/8c/f1a91bddc8fb47c2889e29ea7ea49a194eb0d9868675d786806519c00d76/charset_normalizer-3.5.2-cp314-cp314-musllinux_1_2_armv7l.whl" +upload-time = 2026-09-30 04:36:46+00:00 +size = 237098 + +[packages.wheels.hashes] +sha256 = "1503bccbeb36d5527790c3930327704c39af22de3112f1b1666a9f3ce15ee204" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/24/0e/bb5dace3cc7e79068425386a6589c19b5a2ab5fefc2a46abea6919683332/charset_normalizer-3.5.2-cp314-cp314-musllinux_1_2_ppc64le.whl" +upload-time = 2026-09-30 04:36:48+00:00 +size = 274228 + +[packages.wheels.hashes] +sha256 = "52aa6992700996af31f375de0c6bacd402b0097fe40b53c426b9f51a90ebabc7" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/9d/79/b849ad523017ea9f5a45581bbebed91439e0cf42fd2860a6f64e358eb5a6/charset_normalizer-3.5.2-cp314-cp314-musllinux_1_2_riscv64.whl" +upload-time = 2026-09-30 04:36:50+00:00 +size = 252401 + +[packages.wheels.hashes] +sha256 = "e09a3942ecbdee5cce73ea9d42da82b81b72ac1bf031ce069b93b5adf4eac8cd" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/89/8c/75469d690cf47200bce8f6cad7655724fc23148e147abfc5ce78b5f65863/charset_normalizer-3.5.2-cp314-cp314-musllinux_1_2_s390x.whl" +upload-time = 2026-09-30 04:36:51+00:00 +size = 271846 + +[packages.wheels.hashes] +sha256 = "c7c9ab723cde841fefb34efbad91e87f00a674b1fe1cd0784fde742bf2c154dc" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/26/cd/6d52d3c7437cdcf2e310ce9f28f282e733d4ef60ed19105d1819c356255f/charset_normalizer-3.5.2-cp314-cp314-musllinux_1_2_x86_64.whl" +upload-time = 2026-09-30 04:36:53+00:00 +size = 258151 + +[packages.wheels.hashes] +sha256 = "ddc7dacc8ece3a182e7f15cb862d1fd616b46d076cb1ae9dd232b2c38b655874" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/f7/4c/070b38bdb5f49a70199fce923ec0726a49536a63ab262abbfcaaf351110b/charset_normalizer-3.5.2-cp314-cp314-pyemscripten_2026_0_wasm32.whl" +upload-time = 2026-09-30 04:36:54+00:00 +size = 143570 + +[packages.wheels.hashes] +sha256 = "ee43c17b173d46a3212baa6ead3ae258eeabdae48c263a01ccf0218c366dd655" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/81/84/9ebfc8ed6c8c4fcd8e726ff6bf220cc8deb3966e31dce9be8dd8aa017e64/charset_normalizer-3.5.2-cp314-cp314-win32.whl" +upload-time = 2026-09-30 04:36:56+00:00 +size = 186412 + +[packages.wheels.hashes] +sha256 = "4f87960d57feabfb618e4e0af6e7371645fa26a277860739d6e5d6e0012c92f0" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/d1/78/5ed86f743d4bc350db307e7636419a0a5ee1d91806d30c7f667bd5c80dae/charset_normalizer-3.5.2-cp314-cp314-win_amd64.whl" +upload-time = 2026-09-30 04:36:58+00:00 +size = 210965 + +[packages.wheels.hashes] +sha256 = "e4e81e09c1578b8df602e3db08b0b3ea0a6947ad612f52bf8dc5ea8d47691f0c" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/53/94/a3a7698e9b1a395e1eb99ccd9a324be9347973bff4e72db2a06496d7cd27/charset_normalizer-3.5.2-cp314-cp314-win_arm64.whl" +upload-time = 2026-09-30 04:36:59+00:00 +size = 200406 + +[packages.wheels.hashes] +sha256 = "80d02b6f04e92601a081dd97b23d3128033098bff5d35d392ddcc0476ea11253" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/c1/48/c5dd00d5ef7791f02666de250a5bb6071e29b7e133cf4b835800b6d3bc27/charset_normalizer-3.5.2-cp314-cp314t-macosx_10_15_universal2.whl" +upload-time = 2026-09-30 04:37:01+00:00 +size = 396871 + +[packages.wheels.hashes] +sha256 = "dca9ab98072a5a54ebacebdc45f53e645336b320c667410b061be1ca588ae709" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/12/c8/8379554b42e8368161d898476686947a0fdbd3e8865170d7909dcabfdee8/charset_normalizer-3.5.2-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" +upload-time = 2026-09-30 04:37:03+00:00 +size = 249711 + +[packages.wheels.hashes] +sha256 = "f0aa869112ef88429ae17820d99c3dd9504c9e9c671d3c246f3d7442cb051084" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/4a/eb/2ddb1035d17320caa9f41682935123a9a250277b261c3efc86b2d2a21343/charset_normalizer-3.5.2-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl" +upload-time = 2026-09-30 04:37:04+00:00 +size = 231146 + +[packages.wheels.hashes] +sha256 = "c0afc6800ba57ccc350374c5bd6150419915d95ce93cdbab2d783d75eaf30ecb" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/4a/24/2ecb4bde104322cd7859d6594fcfa74649f8d90b3221c9feecbef149875b/charset_normalizer-3.5.2-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" +upload-time = 2026-09-30 04:37:06+00:00 +size = 271552 + +[packages.wheels.hashes] +sha256 = "7dcd882da75ef9adf94903b1e3b9419e8aa8fb4c7396822b834b9ef7fb96954f" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/3f/98/9d5f6ebc3aee9fef5d30b4aff11fb2ab7a1222b4064f8ef2c7c87cde217a/charset_normalizer-3.5.2-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" +upload-time = 2026-09-30 04:37:07+00:00 +size = 269810 + +[packages.wheels.hashes] +sha256 = "2e06a3a98f916dd41d27f3105e02e7a40181c98c94b9158733d03a6f80506c09" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/09/e1/a3b06a10461b1b7628853c934c644e03bc28e42767116afb52f19a56519b/charset_normalizer-3.5.2-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" +upload-time = 2026-09-30 04:37:09+00:00 +size = 259845 + +[packages.wheels.hashes] +sha256 = "6bd128f206a7752ae1f2ab6c61bf8a24ba28913a10df8b14c2637b973ff97a80" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/fd/d3/6f561f74a296cf27d61775a1dc665ad13f3bff6a798810ca05907f37a7c4/charset_normalizer-3.5.2-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" +upload-time = 2026-09-30 04:37:11+00:00 +size = 252825 + +[packages.wheels.hashes] +sha256 = "c8f3d67aeaf55f017982b73683f0e7342ba2f6635a78f69ce89ebb26aa411e5c" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/26/9f/69e13ca3b18f43e0eafcd34c04a45b732ae22a43b54a5fc9e119103356eb/charset_normalizer-3.5.2-cp314-cp314t-musllinux_1_2_aarch64.whl" +upload-time = 2026-09-30 04:37:12+00:00 +size = 252659 + +[packages.wheels.hashes] +sha256 = "fe9753dfee015c570d73df76f899f18444d41388bffcde097deba51c4fadbb9f" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/73/a9/ace29806a0dae18939919c76ba526472d83214afa101105fabff2cf30625/charset_normalizer-3.5.2-cp314-cp314t-musllinux_1_2_armv7l.whl" +upload-time = 2026-09-30 04:37:14+00:00 +size = 238819 + +[packages.wheels.hashes] +sha256 = "92888bb3187c5ba50500b00b3b310c9f2c651709d28036077680cb5255450a03" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/f8/c1/6116d52a2e3311ec80f21f5fb5e17b27405f10b9608af8f6e69516841a1b/charset_normalizer-3.5.2-cp314-cp314t-musllinux_1_2_ppc64le.whl" +upload-time = 2026-09-30 04:37:16+00:00 +size = 272973 + +[packages.wheels.hashes] +sha256 = "d008d90a7f2471519aef0c90dfbe73b3e6e4d5e66ac48e19154c17e89e98b604" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/19/aa/9955c7e93bba10a9c7e8f7a5031b7ced66f3a1883a55c00712b8d5850ff3/charset_normalizer-3.5.2-cp314-cp314t-musllinux_1_2_riscv64.whl" +upload-time = 2026-09-30 04:37:18+00:00 +size = 253692 + +[packages.wheels.hashes] +sha256 = "31f3930700408d211f13378ccbe1c40845d8da54bd0681fac3a9b5aae81c7aa8" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/bb/33/2a6ae7fdc1b10cb581cef91addd8cdfc5f40d50abb5702309369d5834579/charset_normalizer-3.5.2-cp314-cp314t-musllinux_1_2_s390x.whl" +upload-time = 2026-09-30 04:37:19+00:00 +size = 268757 + +[packages.wheels.hashes] +sha256 = "2a925889534b3748302dae5dead07cc13480de1dac3aea80a941b729b471ef93" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/a2/22/80992720a0282cd39bba1db35868e6b9c22f41281160143a836544bc1d8a/charset_normalizer-3.5.2-cp314-cp314t-musllinux_1_2_x86_64.whl" +upload-time = 2026-09-30 04:37:21+00:00 +size = 262220 + +[packages.wheels.hashes] +sha256 = "f5ec61164adcec446f8969a3358ec3f9b26bbda3b9213e5586d219afa8df2915" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/92/9f/181fd07e1bffea1d95cd80c84ac537354f50699c22cfc4d3c02b6fc16208/charset_normalizer-3.5.2-cp314-cp314t-win32.whl" +upload-time = 2026-09-30 04:37:23+00:00 +size = 197797 + +[packages.wheels.hashes] +sha256 = "598a11a2c7ebaa5334bf698bf29568c9c390abac6a154d8170fedecd1cea38c5" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/49/1c/25d8415ec1c4f2f41f1680435e4c87cfb378ff2f677d950946f2a45d0632/charset_normalizer-3.5.2-cp314-cp314t-win_amd64.whl" +upload-time = 2026-09-30 04:37:24+00:00 +size = 222765 + +[packages.wheels.hashes] +sha256 = "7fdde2c9fd9e3eca40631e024664cf2584272cc8f96308cbe5fdfc930f51d8bc" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/3e/b4/46b48f013dadfc0d0d33b375438e31bdf5a989dc68389c6bf627054d4df9/charset_normalizer-3.5.2-cp314-cp314t-win_arm64.whl" +upload-time = 2026-09-30 04:37:26+00:00 +size = 210985 + +[packages.wheels.hashes] +sha256 = "d1befeed746d247c81127bb14de9dc3d30edb6e5976d34f83f86ed262b1d9105" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/ca/e9/34e597dee616d0b8ee4b34d29399e85c2204ade174157a48505d42baa4ff/charset_normalizer-3.5.2-cp315-cp315-macosx_10_15_universal2.whl" +upload-time = 2026-09-30 04:37:28+00:00 +size = 367676 + +[packages.wheels.hashes] +sha256 = "87475fabc8d9996fd9c27debb395e642e8c838d78a00b6e932227a0e06b81e26" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/60/9f/a5d1c91c0263745e2cd344c5a4415d787c575501ab1d449f1148ac6b495d/charset_normalizer-3.5.2-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" +upload-time = 2026-09-30 04:37:30+00:00 +size = 248414 + +[packages.wheels.hashes] +sha256 = "9409a8bf35cf78353942504b24a57de3d75b708997a1e4bd8db71ac8633ce364" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/26/79/e697f77464748a3ee3cf490c83d592459400d4898380d66c38366b03080c/charset_normalizer-3.5.2-cp315-cp315-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl" +upload-time = 2026-09-30 04:37:31+00:00 +size = 244775 + +[packages.wheels.hashes] +sha256 = "498dc3188ca05a68231ac3fdbfc7f57eb67e1343c30e0fea17f8218c1599b253" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/ca/87/3d42a42e18ea066e2513936fd678a00696e77878b5ae04528976abdbcb83/charset_normalizer-3.5.2-cp315-cp315-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" +upload-time = 2026-09-30 04:37:33+00:00 +size = 273877 + +[packages.wheels.hashes] +sha256 = "e242bb1c5e76e97dfa9e7f209a71e93a01d7f19ffdd5cfbb2e2d55b4f08f8ab0" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/c3/76/8a28136f3938ba9836f84280ce0c4d61ed1cf15a036b2034900c62634162/charset_normalizer-3.5.2-cp315-cp315-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" +upload-time = 2026-09-30 04:37:35+00:00 +size = 269455 + +[packages.wheels.hashes] +sha256 = "def79fa35ef0cef8d2accec024f4fdc7ead3012ff02f5215c783f39f03ef8cfc" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/a0/a1/4fbf5d0f0f1b2a080474c1cf9a2f12c4c6531bb0e8ba591055e846d2b4e9/charset_normalizer-3.5.2-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" +upload-time = 2026-09-30 04:37:37+00:00 +size = 257336 + +[packages.wheels.hashes] +sha256 = "3df041de8887954562c9b261cba85ca0e9ded74048daf125f45edcfaa4832229" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/ba/a2/8b50aa320adb880ad579518e6f718f24944804b42a88b83d267d5d444125/charset_normalizer-3.5.2-cp315-cp315-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" +upload-time = 2026-09-30 04:37:39+00:00 +size = 257584 + +[packages.wheels.hashes] +sha256 = "04851f73ae72b8413dddadb16a49dfee95263553741fd42d546f7d66907e6be5" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/a5/57/50e3fed84e175f40349bd0da7a4fce94c87f0378f52d74f511d89e0bdc20/charset_normalizer-3.5.2-cp315-cp315-musllinux_1_2_aarch64.whl" +upload-time = 2026-09-30 04:37:41+00:00 +size = 251854 + +[packages.wheels.hashes] +sha256 = "183b88127acdb4fabe59d951ab424faf1af7b63cdbb5f776186c1ea2ffcaed98" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/d6/54/f7fbb3493c9f49091213b9c2d6dd65800696f1ce1a3f196a4205f50417b1/charset_normalizer-3.5.2-cp315-cp315-musllinux_1_2_armv7l.whl" +upload-time = 2026-09-30 04:37:42+00:00 +size = 248767 + +[packages.wheels.hashes] +sha256 = "16fa0eccf81304b79c5cd87f9271c3b85dd9dd99245e4422ae9c0dd45e0f99d3" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/d9/37/b3a6385acc5a1e45b39ae9c90bfb9cf838a09b9dd37ef2740ab4c6b4a2eb/charset_normalizer-3.5.2-cp315-cp315-musllinux_1_2_ppc64le.whl" +upload-time = 2026-09-30 04:37:44+00:00 +size = 274479 + +[packages.wheels.hashes] +sha256 = "7441d755b7ab94f8d4eb3e43ec05482d760842fd263d003a99102d742cd835e2" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/89/44/809913e2cfd279e635a9294fdbbfb1b1dc62a8189d473d561f649fce98d8/charset_normalizer-3.5.2-cp315-cp315-musllinux_1_2_riscv64.whl" +upload-time = 2026-09-30 04:37:46+00:00 +size = 258310 + +[packages.wheels.hashes] +sha256 = "ca403d7e4798f525fdfc78e258820419cbbd0f0ecbab9de7840e3c017cf6b8cf" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/af/a2/f28400ab13359d91bd39179df8e149376b9bf36588e739a3a4f9de2b84b2/charset_normalizer-3.5.2-cp315-cp315-musllinux_1_2_s390x.whl" +upload-time = 2026-09-30 04:37:48+00:00 +size = 271100 + +[packages.wheels.hashes] +sha256 = "df29a0a7107f7011e77f4eebdddec4c7331e24d787a0b21a46d63bdf7445da95" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/e9/89/9bab37955edf0adb3b66f8a3a6617d9f2f487e0d56f295a6a286cb640aa6/charset_normalizer-3.5.2-cp315-cp315-musllinux_1_2_x86_64.whl" +upload-time = 2026-09-30 04:37:50+00:00 +size = 259936 + +[packages.wheels.hashes] +sha256 = "f3c96f633825733f735c5a9cf21d21a257d8e1edf0b1cee0a064b9c424ca0f7d" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/23/b5/4459e08d45a679f903d50fea08bc52cfa728cca4d7bd02c757b5e5abda2e/charset_normalizer-3.5.2-cp315-cp315-win32.whl" +upload-time = 2026-09-30 04:37:51+00:00 +size = 186301 + +[packages.wheels.hashes] +sha256 = "281cb91036248400f4cc957495cccd44c275c2e0c5854f7e45ac5cf7dc193847" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/98/e8/55d5fd3935b4bce6da4fe0df61898e8c82653e317e677bd58aceb9c60f13/charset_normalizer-3.5.2-cp315-cp315-win_amd64.whl" +upload-time = 2026-09-30 04:37:53+00:00 +size = 210858 + +[packages.wheels.hashes] +sha256 = "89b53f3cda69831909888e0494f4fa0bcd3537e3e138dabeb620bd6ad946bae8" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/a9/5b/974423c2fd8e524c7a7f64318c1e02240ef954912fa2b4d70344107b9c68/charset_normalizer-3.5.2-cp315-cp315-win_arm64.whl" +upload-time = 2026-09-30 04:37:55+00:00 +size = 200309 + +[packages.wheels.hashes] +sha256 = "6be488a102b8cf28d0391d8c4ba7748938ae28b78ad901f8585520fca33ead1a" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/ee/f9/00ee0195db1013d8f7c416fd770fbeb560bb46eb2e36b054d05cb56f6cfa/charset_normalizer-3.5.2-cp315-cp315t-macosx_10_15_universal2.whl" +upload-time = 2026-09-30 04:37:56+00:00 +size = 395343 + +[packages.wheels.hashes] +sha256 = "915563965d418f986e7e145accc592eae9e1a1be3566ff98a05d7a9ec42a76e1" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/04/3a/c00b50e94c964cf934c7899cd47c97952fc11dad71cc5884b3c61795b09b/charset_normalizer-3.5.2-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" +upload-time = 2026-09-30 04:37:58+00:00 +size = 250114 + +[packages.wheels.hashes] +sha256 = "65cd72beeeca9d3aaea1201e5923859f308f952f9c71de93f06063c79f0f7a3b" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/50/27/d102dc880bbcffd0479ab64dfc1fb96777a854355a55e2bda72a71efadcb/charset_normalizer-3.5.2-cp315-cp315t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl" +upload-time = 2026-09-30 04:38:00+00:00 +size = 239997 + +[packages.wheels.hashes] +sha256 = "b7fd005a73d9e657273b7a10dc71a9e03c8fb9ee6999798d6918ce095b81ac7f" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/a5/4a/bf7ef45794dd293fab5f98a9309817977fbb845b9998f171b8cc5d8437a3/charset_normalizer-3.5.2-cp315-cp315t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" +upload-time = 2026-09-30 04:38:02+00:00 +size = 272313 + +[packages.wheels.hashes] +sha256 = "e54da4baf05720032d527874d40b65fa4d7e5c6c6a43d0c3adbeffcaf275a2b3" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/e8/ee/008a2837737991474c5754bb3191010007663860979701990982a502cbaf/charset_normalizer-3.5.2-cp315-cp315t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" +upload-time = 2026-09-30 04:38:04+00:00 +size = 269986 + +[packages.wheels.hashes] +sha256 = "124fbf1a8ff966d87ae05bb8bd45a71f966055ed8bba320d0c7cf450bc5f4d0e" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/93/ad/bd74a283940dc910c5b14f8e4f80a248082bc9c0fcbe1f54530cb6d9cc5e/charset_normalizer-3.5.2-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" +upload-time = 2026-09-30 04:38:06+00:00 +size = 260202 + +[packages.wheels.hashes] +sha256 = "28b4f0d66fb834ff90f28209ac7bce77868c45d8c93e26f906709d9b7c2e1af9" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/8a/7b/ed341c66f69f688723501fac752be3d63c7159ca0d0d4174fc611e5710bb/charset_normalizer-3.5.2-cp315-cp315t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" +upload-time = 2026-09-30 04:38:08+00:00 +size = 259083 + +[packages.wheels.hashes] +sha256 = "58ca3755ee7ff7f59b57789ec9833c9de9ea275405cdd240eda1f193112e398a" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/cc/9d/e41588b777965e5031a43128a1e96173ebb35ac75fc53ec3b517e7c21cd4/charset_normalizer-3.5.2-cp315-cp315t-musllinux_1_2_aarch64.whl" +upload-time = 2026-09-30 04:38:10+00:00 +size = 253081 + +[packages.wheels.hashes] +sha256 = "443eae2bf318abeaf6f15d785138f71fd6de770e99a92158b8b814265e079115" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/81/35/b761eb6d8c1eb218b9b42b9b4d5ac902afdc399fb6dac6f9a9aac7bda589/charset_normalizer-3.5.2-cp315-cp315t-musllinux_1_2_armv7l.whl" +upload-time = 2026-09-30 04:38:12+00:00 +size = 248712 + +[packages.wheels.hashes] +sha256 = "58f361dcbab699cf8f42db3f47c8e7fd1036f138c23a5d08de9fde5f425a730c" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/4d/2c/147169a041b747759f37405c0a97157e8e92de967968373101ff14915cba/charset_normalizer-3.5.2-cp315-cp315t-musllinux_1_2_ppc64le.whl" +upload-time = 2026-09-30 04:38:14+00:00 +size = 274176 + +[packages.wheels.hashes] +sha256 = "1b4cbc7c3491ccb4aa17fcd8165649d01cf39f76de1696da8631b5f71b85401d" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/f0/2d/0ff8db0d373ba8538db686db11cd7e8912031490b9e4f383b41912e8d594/charset_normalizer-3.5.2-cp315-cp315t-musllinux_1_2_riscv64.whl" +upload-time = 2026-09-30 04:38:15+00:00 +size = 259413 + +[packages.wheels.hashes] +sha256 = "ba0b1d2620edf869789c3879223f52bf2afc5d31b3cb47cc57b3a12c05e2aa9d" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/8a/8e/b4a085fb47c9d3a7e43576a4784fdd8fe23f907514a972de8086edaf7a48/charset_normalizer-3.5.2-cp315-cp315t-musllinux_1_2_s390x.whl" +upload-time = 2026-09-30 04:38:17+00:00 +size = 269434 + +[packages.wheels.hashes] +sha256 = "5e2b6b57e9733d39f0c9fd3185efa6b8e29652c4cd8fe94180272cf6ed9a78c4" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/83/1c/d8d8d7322a7c3eecdf3237a4a419cf41d2eaad8e006ce7dfdd9d4c8fa2eb/charset_normalizer-3.5.2-cp315-cp315t-musllinux_1_2_x86_64.whl" +upload-time = 2026-09-30 04:38:19+00:00 +size = 262716 + +[packages.wheels.hashes] +sha256 = "51cf45226a9b588d0d2b4880c62d686934b63ab0bd79ca23ab0e9762eb27441b" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/a0/16/0e4c6ba9b44e97a2da150e52d331e8f9c968b21b358fbffa6c856cebcd89/charset_normalizer-3.5.2-cp315-cp315t-win32.whl" +upload-time = 2026-09-30 04:38:21+00:00 +size = 197159 + +[packages.wheels.hashes] +sha256 = "5fb29fb8cd1a46c27a1bf9613ad5ec2599310d46b4025d9556404a6b6a292800" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/be/33/e90bc2b1374f7f36ef106f56620de5a783907e19ca857efe2277e31cac3e/charset_normalizer-3.5.2-cp315-cp315t-win_amd64.whl" +upload-time = 2026-09-30 04:38:22+00:00 +size = 221322 + +[packages.wheels.hashes] +sha256 = "a192e2c40070d92c3ccf777e3a5c4ff515573cd2bb7ed0c537fdadbbec5bbf21" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/66/89/dfa6dcb08c200b7830ab56439e8c1890f2971d51aafbb3937894a2e7fcfc/charset_normalizer-3.5.2-cp315-cp315t-win_arm64.whl" +upload-time = 2026-09-30 04:38:24+00:00 +size = 209192 + +[packages.wheels.hashes] +sha256 = "749e97e1b32313717a565abbe321bc2190bc8b35f1a67e4cdbc7c56c8d8ffe58" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/8c/ab/176fbfd5b64939c55d652366aa5b9ef1d767af207a3aa6ebeb0d226c484d/charset_normalizer-3.5.2-cp37-abi3-macosx_10_9_universal2.whl" +upload-time = 2026-09-30 04:38:26+00:00 +size = 331815 + +[packages.wheels.hashes] +sha256 = "4275811936e2f06feff5e598fb42a1b7ae852da8e39605211892b56b81a34efd" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/7e/84/371eac6b30bdbcbf2d632a1a01809103459216fcaae61b8b8d922c1bfb8a/charset_normalizer-3.5.2-cp37-abi3-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl" +upload-time = 2026-09-30 04:38:28+00:00 +size = 253276 + +[packages.wheels.hashes] +sha256 = "1c50fe28bbc2ced33386f298650d91218076c05420e6cbd790b913adc41659e7" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/43/6f/c4fbae58febff71709c51bc7e18fdfa55341dc382704740f9f0cbf03817b/charset_normalizer-3.5.2-cp37-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" +upload-time = 2026-09-30 04:38:29+00:00 +size = 241239 + +[packages.wheels.hashes] +sha256 = "d19fbd981a488e22cd04883659ca6b08f50b5974f9fd7c95655ef6a043e5893f" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/61/71/458c3f42164a07d0c5210798e9e704b39e540a6793b05aba67f3a35243a9/charset_normalizer-3.5.2-cp37-abi3-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl" +upload-time = 2026-09-30 04:38:31+00:00 +size = 231121 + +[packages.wheels.hashes] +sha256 = "0fed1d06615f022ee3b13caf5e8b180cfea32bb2c5aded8a9d44277afc040f93" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/09/54/ab9e89367076f6331bb6c65c4bf14a5361fa5191cb6561bf534f18504e1b/charset_normalizer-3.5.2-cp37-abi3-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" +upload-time = 2026-09-30 04:38:33+00:00 +size = 260350 + +[packages.wheels.hashes] +sha256 = "838dcc90063569a0448120554591a1d6c4a4ffe11babf048908793154ab86ade" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/7c/c1/061431ecc688d9d76602502cb57cc01e691e682c18f1beb45f9673b5bbd2/charset_normalizer-3.5.2-cp37-abi3-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" +upload-time = 2026-09-30 04:38:34+00:00 +size = 255430 + +[packages.wheels.hashes] +sha256 = "2ce45c6627b22c47e390bc91a41c3d13032192e699fa0bea96e9671b373d69b0" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/8d/1f/20c8949f0676f7ab811abdeb7f4d7f1cbc6e61ff20bef08b44edeb092bc8/charset_normalizer-3.5.2-cp37-abi3-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" +upload-time = 2026-09-30 04:38:36+00:00 +size = 250612 + +[packages.wheels.hashes] +sha256 = "0774bf9bf620249fee3e0b8b9fd3065de213be30f3aa94ce2494b3b638949e26" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/2b/9e/46f2fa4c431fc98c4ae76a8cb5bdca54e0341e3cfc3fcfd8e82740250818/charset_normalizer-3.5.2-cp37-abi3-musllinux_1_2_aarch64.whl" +upload-time = 2026-09-30 04:38:38+00:00 +size = 242083 + +[packages.wheels.hashes] +sha256 = "1db38f4c5496827c1a501846d64d14c3b80c7e6714e406cd7dc36a9899fa1011" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/bd/39/559be29a0c0f086e0bba6922babd38916cc5e0b58ced4de13ee01ea05508/charset_normalizer-3.5.2-cp37-abi3-musllinux_1_2_armv7l.whl" +upload-time = 2026-09-30 04:38:39+00:00 +size = 232738 + +[packages.wheels.hashes] +sha256 = "304d8e4d493af723536393eee0c689eb7813f4a474c8b479dee63f1fdd98f621" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/ff/6c/387b0e4f756a282831c1d9fc6aeb6c51ca4507ca202767c8de15ce9b12e2/charset_normalizer-3.5.2-cp37-abi3-musllinux_1_2_ppc64le.whl" +upload-time = 2026-09-30 04:38:41+00:00 +size = 260703 + +[packages.wheels.hashes] +sha256 = "9b7f416ff0978e2f2249330527f0ad6fa02f4932e6199692d3b52da2048c19e4" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/96/92/1fdf015f09ef449f50d3ac4b67c90887c9c318b727daa95cc4f866e6521d/charset_normalizer-3.5.2-cp37-abi3-musllinux_1_2_riscv64.whl" +upload-time = 2026-09-30 04:38:42+00:00 +size = 247622 + +[packages.wheels.hashes] +sha256 = "01077390b03f7988f11d700a2194e69b119741a86b1a638b1db88891e3eced8e" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/dc/3c/8e7b8a5671ad5d433669fb2a76f1a0164df2d9b1718b0206bc2a16d840cc/charset_normalizer-3.5.2-cp37-abi3-musllinux_1_2_s390x.whl" +upload-time = 2026-09-30 04:38:44+00:00 +size = 257500 + +[packages.wheels.hashes] +sha256 = "7e841fb9010836c992c9f12fcbd43a831de93a5f726fc1ccd8ca1d0268c5014c" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/b4/f0/45b579df5cabc1d5d53ea1cc35e8437d3ca768c0acccc7041517cb6fbb32/charset_normalizer-3.5.2-cp37-abi3-musllinux_1_2_x86_64.whl" +upload-time = 2026-09-30 04:38:46+00:00 +size = 255100 + +[packages.wheels.hashes] +sha256 = "9cae88599c7219005d879f98e5ed53341e9a122af585e1091200358a3003d2a0" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/31/68/fdec18a343f5fb3f310588dd478b09ac4799e0b187dbade3a8cd776f03ef/charset_normalizer-3.5.2-cp37-abi3-win32.whl" +upload-time = 2026-09-30 04:38:47+00:00 +size = 174499 + +[packages.wheels.hashes] +sha256 = "01b0c0d2262a9e28e8484a278c7e1b5d650e3ac8cf2683d2967e25899f208bdf" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/9d/8a/b618149cc5207943a0242068d7a27897f56a62947b5a039085f2a22029f8/charset_normalizer-3.5.2-cp37-abi3-win_amd64.whl" +upload-time = 2026-09-30 04:38:49+00:00 +size = 200092 + +[packages.wheels.hashes] +sha256 = "9f56f72050826f63dcee7a7f55b0a77168cb3bfc553fd405e7f8f9ece75a4036" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/03/cf/4c66866fa9e2b1c78e3c911516d1de497a677b7ac60f1eceda74ce777ca3/charset_normalizer-3.5.2-cp37-abi3-win_arm64.whl" +upload-time = 2026-09-30 04:38:51+00:00 +size = 294363 + +[packages.wheels.hashes] +sha256 = "40ab6bffa02ae10a0581e6c198be7d2d8ca5c2a0c64e4ed3465d766df457573e" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/fc/ad/d07d7862a62ffa6d79d68074d14823243dd235a77c45262acbf6adeb28bf/charset_normalizer-3.5.2-py3-none-any.whl" +upload-time = 2026-09-30 04:39:21+00:00 +size = 68872 + +[packages.wheels.hashes] +sha256 = "b6b751274acb69d77b3323d6b7dbaa3c7fdfc1eb829b7eb61d262f32e1af9685" + +[[packages]] +name = "check-wheel-contents" +version = "0.6.3" +index = "https://pypi.org/simple" +marker = "\"dev\" in dependency_groups or \"pkg-meta\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/95/37/2b9e0d38c2f668791ffe8b97711185c364d91c027e47f189c371c2348d18/check_wheel_contents-0.6.3.tar.gz" +upload-time = 2025-08-02 14:01:45+00:00 +size = 586023 + +[packages.sdist.hashes] +sha256 = "10e6939e2fe4e6ce1edf2ff6ec6157808677e80782e78021ae139dd88473a442" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/be/05/f39fde9f31ef80b285ef5822fad4ddabf73fec62a1f02c5beb4b2f328972/check_wheel_contents-0.6.3-py3-none-any.whl" +upload-time = 2025-08-02 14:01:43+00:00 +size = 27541 + +[packages.wheels.hashes] +sha256 = "5ae39c8c434b972f0740d04610759168590713175aab584b012b1b84f6771874" + +[[packages]] +name = "click" +version = "8.5.0" +index = "https://pypi.org/simple" +marker = "\"dev\" in dependency_groups or \"pkg-meta\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/c7/0e/7fa0ef50764b67090eca4114772a2abf8b6148198475e54c660b97caeee6/click-8.5.0.tar.gz" +upload-time = 2026-08-26 13:33:14+00:00 +size = 382235 + +[packages.sdist.hashes] +sha256 = "ba0d2089de75ea0310e2dde03160e6ca10009947fb95a182f9b54021bb272e34" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/58/50/6c0d534c5f134586a8e1ba4e330569e32f057e33372ae556463212fb4cd3/click-8.5.0-py3-none-any.whl" +upload-time = 2026-08-26 13:33:12+00:00 +size = 125251 + +[packages.wheels.hashes] +sha256 = "255bc9599cf7748b4b1a446ccc735421bd08a2ae529a8b88597d3de5664ee360" + +[[packages]] +name = "colorama" +version = "0.4.6" +index = "https://pypi.org/simple" +marker = "(\"dev\" in dependency_groups and (sys_platform == 'win32')) or (\"docs\" in dependency_groups and (sys_platform == 'win32')) or (\"test\" in dependency_groups and (sys_platform == 'win32')) or (\"type\" in dependency_groups and (sys_platform == 'win32'))" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz" +upload-time = 2022-10-25 02:36:22+00:00 +size = 27697 + +[packages.sdist.hashes] +sha256 = "08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl" +upload-time = 2022-10-25 02:36:20+00:00 +size = 25335 + +[packages.wheels.hashes] +sha256 = "4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6" + +[[packages]] +name = "covdefaults" +version = "2.3.0" +index = "https://pypi.org/simple" +marker = "\"dev\" in dependency_groups or \"test\" in dependency_groups or \"type\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/44/ee/9a6f2611f72e4c5657ae5542a510cf4164d2c673687c0ea73bb1cbd85b4d/covdefaults-2.3.0.tar.gz" +upload-time = 2023-03-05 16:43:34+00:00 +size = 4835 + +[packages.sdist.hashes] +sha256 = "4e99f679f12d792bc62e5510fa3eb59546ed47bd569e36e4fddc4081c9c3ebf7" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/76/4c/823bc951445aa97e5a1b7e337690db3abf85212c8d138e170922e7916ac8/covdefaults-2.3.0-py2.py3-none-any.whl" +upload-time = 2023-03-05 16:43:33+00:00 +size = 5144 + +[packages.wheels.hashes] +sha256 = "2832961f6ffcfe4b57c338bc3418a3526f495c26fb9c54565409c5532f7c41be" + +[[packages]] +name = "coverage" +version = "7.16.2" +index = "https://pypi.org/simple" +marker = "\"dev\" in dependency_groups or \"test\" in dependency_groups or \"type\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/2f/55/d1eaf3e73781174340a00dc1ba2aee8a65f82fadb18e2797b192b6b3925b/coverage-7.16.2.tar.gz" +upload-time = 2026-09-27 12:29:01+00:00 +size = 971999 + +[packages.sdist.hashes] +sha256 = "ca64d9f1f384f151b9511bec01126072acd2f313439f8ed015a22d8790aab6fa" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/58/fa/ce3baf63d85b730398d92a7162f486f3a5e4e2cc3382a02488b3943725ba/coverage-7.16.2-cp311-cp311-macosx_10_9_x86_64.whl" +upload-time = 2026-09-27 12:25:54+00:00 +size = 223797 + +[packages.wheels.hashes] +sha256 = "732d950e51f3ba4fb6209c73250f3e8924fefca42953ee04a9e65d8c02414d7d" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/7a/57/9ba29c2aac7f756d479f03d45762120060f0f988788001001bf36e0e6fca/coverage-7.16.2-cp311-cp311-macosx_11_0_arm64.whl" +upload-time = 2026-09-27 12:25:56+00:00 +size = 224303 + +[packages.wheels.hashes] +sha256 = "5dca0bb66b4c3d624ba047887bf70270030c150692d543cb501293dc38a9f4b5" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/5d/7b/0d6d60906dca7d28cc1e3fce12a9861801c4fbb6cbf220ad78cd059c9467/coverage-7.16.2-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl" +upload-time = 2026-09-27 12:25:57+00:00 +size = 254715 + +[packages.wheels.hashes] +sha256 = "af2a2a8c7c74de0559e0c368d94c8def9e16c58faaee33a0bf081057c4227e3b" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/cd/b8/9198b865679379fb165c689c64f6e11105ef380f6bd1c7673e83f73d9f5c/coverage-7.16.2-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl" +upload-time = 2026-09-27 12:25:59+00:00 +size = 256627 + +[packages.wheels.hashes] +sha256 = "db5f8394e17f877a625b257f2ba0ce8e728a499c2c1579ad66220272cd3df510" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/98/79/9521462cb6072fe394701bc8974b74afd576c9c9355156c7844e1a86a42b/coverage-7.16.2-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" +upload-time = 2026-09-27 12:26:00+00:00 +size = 258724 + +[packages.wheels.hashes] +sha256 = "5b3146d2317c75f70df2509066d979dadd941f7021cdf9b5db4bcd8568258e25" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/a6/76/8d7d5d633db9fe0f3182fedc731bf09f9bcf2366055735152504ad614677/coverage-7.16.2-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" +upload-time = 2026-09-27 12:26:02+00:00 +size = 260692 + +[packages.wheels.hashes] +sha256 = "9e1d0ced76318bab499693ff25f64faa343415187cb2e4d7befdfdd391a1cf6a" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/4e/a7/76cb09c89ba46d74d37428bf93251fc14fb0bbe9e05cc2a5ef61773d318a/coverage-7.16.2-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" +upload-time = 2026-09-27 12:26:03+00:00 +size = 254800 + +[packages.wheels.hashes] +sha256 = "af98ad5ed9d6daaca956201e00bb429a7eb2b080426686f70a20353e0f9839f5" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/72/b6/2351c1979aaeb5b4a8091a75b90ca997ad60de36e181ddba267cf61dac97/coverage-7.16.2-cp311-cp311-musllinux_1_2_aarch64.whl" +upload-time = 2026-09-27 12:26:04+00:00 +size = 256423 + +[packages.wheels.hashes] +sha256 = "1d56e4d21c56d2046447733f8b118409597db48c01efe898ee9ac24e858ec2d6" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/0f/f4/ad9a4f8b5cb2d494fa9452b546fe742ed2f9d3847cc14c05e36279a3e649/coverage-7.16.2-cp311-cp311-musllinux_1_2_i686.whl" +upload-time = 2026-09-27 12:26:06+00:00 +size = 254487 + +[packages.wheels.hashes] +sha256 = "1d5d0e3b660506fb84f995814e3118a21efdc0c8eb80127da1be627d90093c17" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/6c/1f/a520470472f3e8b01169bf42162b1470c9ba992230432f62ca36269bf3a0/coverage-7.16.2-cp311-cp311-musllinux_1_2_ppc64le.whl" +upload-time = 2026-09-27 12:26:07+00:00 +size = 258259 + +[packages.wheels.hashes] +sha256 = "17228fbca0f22976f797be94e975dcd237799c657d49551c7de1e0654d1202e9" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/09/d2/ff26d5938274745855fa61cfcba0245c88ccc10d98d2cbd96064f16cd5a7/coverage-7.16.2-cp311-cp311-musllinux_1_2_riscv64.whl" +upload-time = 2026-09-27 12:26:08+00:00 +size = 254216 + +[packages.wheels.hashes] +sha256 = "bc0b0ac781d489304b741269857f1f8338b7a26b1b89c06c0344658001ec0035" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/a4/1d/5d832d3b06785d9f53267e4f2724a9f60c312eee6ebed9063a461d0d3b45/coverage-7.16.2-cp311-cp311-musllinux_1_2_x86_64.whl" +upload-time = 2026-09-27 12:26:10+00:00 +size = 255125 + +[packages.wheels.hashes] +sha256 = "bf1bd822ec4e387ed245bed0d71151582cf7be9e5309bc4145eefe36083d5878" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/55/4d/1d33edbc2fcf7d99e384e393e712aa5a2ebbbd8409825357815982207976/coverage-7.16.2-cp311-cp311-win32.whl" +upload-time = 2026-09-27 12:26:11+00:00 +size = 225898 + +[packages.wheels.hashes] +sha256 = "7ed238d227e23cc300c3d464babdaf9f6ddc740aa1b15a77ae96136e6a7c4516" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/6f/7c/676df4882118756c4f8f560c954eddb93e166d84dda8c5f0b6a829689bde/coverage-7.16.2-cp311-cp311-win_amd64.whl" +upload-time = 2026-09-27 12:26:13+00:00 +size = 226369 + +[packages.wheels.hashes] +sha256 = "a90700f743e29aa3d75a6ff5f01953176a889c00e526194bc4d281731b88d99d" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/7a/0e/a457f4a461b3c5610d845137fdd45fa465e011a64c25af440518ab1f4e41/coverage-7.16.2-cp311-cp311-win_arm64.whl" +upload-time = 2026-09-27 12:26:15+00:00 +size = 226344 + +[packages.wheels.hashes] +sha256 = "a336eec40e3520d369b8a6cdabb4f596e69a8b42927ca074aa1452fed943238a" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/5e/2c/f8296c63c5d542f3d21aed685e56b7031a419037d155bb3382fc0940d249/coverage-7.16.2-cp312-cp312-macosx_10_13_x86_64.whl" +upload-time = 2026-09-27 12:26:16+00:00 +size = 223969 + +[packages.wheels.hashes] +sha256 = "218d742afca2b5ad5ca759e93eddedfbcc6eadf8322f080dcefc40b7bd4e2d48" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/90/23/6f3dcb1423a0d43216e402ea1746e4a7c7c44f38896b97dd573790f56a40/coverage-7.16.2-cp312-cp312-macosx_11_0_arm64.whl" +upload-time = 2026-09-27 12:26:18+00:00 +size = 224328 + +[packages.wheels.hashes] +sha256 = "a9a638be322a8d76a41cdb17781c7f82aaee6a66493d8ffb7e2c09ee22423d99" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/ac/7d/8f3b6dc920e3fc6732f7678785a2091db439f186afbec30dbf2214d9b1f7/coverage-7.16.2-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl" +upload-time = 2026-09-27 12:26:19+00:00 +size = 255832 + +[packages.wheels.hashes] +sha256 = "724bd0f1e81856b35e59fc98cf7b4e544a3cb662e4e0864dca73d4326ee9d808" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/d1/36/6c45f15be4eca4ac1062c6a55a323286494c99726a7e58951fe85967ac08/coverage-7.16.2-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl" +upload-time = 2026-09-27 12:26:21+00:00 +size = 258571 + +[packages.wheels.hashes] +sha256 = "5375ebd99038021b35e99dc88255022912c06565d316212f4a576e4b08d30f5d" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/34/fb/b54cbeba3ad89082c2e441278681859e538322cc34b84b2af7ebff00080f/coverage-7.16.2-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" +upload-time = 2026-09-27 12:26:22+00:00 +size = 259680 + +[packages.wheels.hashes] +sha256 = "7a076277ca9f5750cc230f0f578ebd2620cec60255b25707361699fef6fb465c" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/6e/a2/0dc65ec3d61930e1e4c2e371763b15eb4290896eb343a12d5d3091308116/coverage-7.16.2-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" +upload-time = 2026-09-27 12:26:24+00:00 +size = 261945 + +[packages.wheels.hashes] +sha256 = "58d4a54c6ea672afef66d49be922a2c69826c5ae1a42a9cd94f0c9c2bacdf800" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/d6/93/5fad7a61f2c14e08e98946fc31c1c7ffc1195061bf3fdc351db3be77a863/coverage-7.16.2-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" +upload-time = 2026-09-27 12:26:25+00:00 +size = 256191 + +[packages.wheels.hashes] +sha256 = "0dcbcfcc059117284c603ff8cb61a65872512882f84a8cf0339241f7f7c2f148" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/2d/47/74e5de9227b939ece9f64e729645ddc4296bea10dbfa98721c1333c8be2e/coverage-7.16.2-cp312-cp312-musllinux_1_2_aarch64.whl" +upload-time = 2026-09-27 12:26:27+00:00 +size = 257610 + +[packages.wheels.hashes] +sha256 = "afdf43b72ef3876c1fe66423b91466e37877c9e81e8cec70542b7e8525b9d1b7" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/13/fe/2cf28d40b43645d1b72388fe3ee7f7c747533a6a9557bb8c24a7ae74fe1a/coverage-7.16.2-cp312-cp312-musllinux_1_2_i686.whl" +upload-time = 2026-09-27 12:26:28+00:00 +size = 255757 + +[packages.wheels.hashes] +sha256 = "9acc7f7ec4a1b5f89bd929fde5b8a714f6fafdc6cc18725413d510aa082b47ad" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/d7/3d/7c149fd99fc8bbc39c80db5e688d1d39fd040be2ecb78b8335a51a55b9c0/coverage-7.16.2-cp312-cp312-musllinux_1_2_ppc64le.whl" +upload-time = 2026-09-27 12:26:30+00:00 +size = 259822 + +[packages.wheels.hashes] +sha256 = "80d3f7b48d43ee8fc5e8707a8adb43d743a5a1a85256c25a24f9d6d0e2238fa6" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/e6/3f/b283fce09d5995e227bd8e513358dd7471bedc0f78abc85a925ebdb0a2f6/coverage-7.16.2-cp312-cp312-musllinux_1_2_riscv64.whl" +upload-time = 2026-09-27 12:26:32+00:00 +size = 255325 + +[packages.wheels.hashes] +sha256 = "126d1af8804d7224421fe991ff65d3ce649081560df7a98b1a5ffff07f9923bd" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/bf/91/f3325edf0c4223fb1fe1532b8dbef2a1d2f729459a9a7d1a44d073bae534/coverage-7.16.2-cp312-cp312-musllinux_1_2_x86_64.whl" +upload-time = 2026-09-27 12:26:33+00:00 +size = 257191 + +[packages.wheels.hashes] +sha256 = "c19cd6d025c1673f22afcd22c7df8a662d779e05d8e3fa6820c22afb895b0206" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/c4/89/21eb5e83ecf2eed523c4eb3d65ae513cd082c8fd1b6deb34c4cb6c332f97/coverage-7.16.2-cp312-cp312-win32.whl" +upload-time = 2026-09-27 12:26:35+00:00 +size = 226034 + +[packages.wheels.hashes] +sha256 = "152877cdc8a07264882cfcd503ba56a3ef6cba56a70e8c70f6eb8ffd7384789a" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/db/de/e3ad6d864c0833624b4f1f9b53f9e58e116c945e5e965c3f1e172c5e84cd/coverage-7.16.2-cp312-cp312-win_amd64.whl" +upload-time = 2026-09-27 12:26:36+00:00 +size = 226569 + +[packages.wheels.hashes] +sha256 = "e6c52d3307824ff93b39efd99e4185d557db40bd841452abfb32e5d9151ca162" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/3e/c1/bccc58ebe5489cc70628f635c1932fd371f5d7da850dbcf960f95f4c4afc/coverage-7.16.2-cp312-cp312-win_arm64.whl" +upload-time = 2026-09-27 12:26:38+00:00 +size = 226372 + +[packages.wheels.hashes] +sha256 = "a678c0b6b22086ec2427359d22e37445d4a792f5fdbbc744112c7dade65cad02" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/f0/f6/8eb4f220ef24f84fb27d852d4f9bf83e0c73ec1a4a08dd9a87e3f4529739/coverage-7.16.2-cp313-cp313-macosx_10_13_x86_64.whl" +upload-time = 2026-09-27 12:26:40+00:00 +size = 223993 + +[packages.wheels.hashes] +sha256 = "1a37c6e478cf687e1aa30a593d19c92c02fad9d122b51ab73f51b8dc7a0c0fc9" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/40/23/d4bbaf0c154e0b0c2b5264890dbf6ef098dcb50ec8f2469be9490d191660/coverage-7.16.2-cp313-cp313-macosx_11_0_arm64.whl" +upload-time = 2026-09-27 12:26:41+00:00 +size = 224368 + +[packages.wheels.hashes] +sha256 = "0993d0e90858c03943d3cb152e068a20dd4707924deec84dd2230261baae3b1b" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/7f/48/fc1e88fd571ec5cb38150b7f89f7696ca1bdf9920e01432febb69774cc85/coverage-7.16.2-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl" +upload-time = 2026-09-27 12:26:43+00:00 +size = 255358 + +[packages.wheels.hashes] +sha256 = "bb2fc905bbf4e6b7f40806ea79e31515abf6349594cdf0adf27c4215f0463204" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/1d/56/6785397d07c29c8e70fbb9a07e97d062b43c21ffc5f12385917847f09f63/coverage-7.16.2-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl" +upload-time = 2026-09-27 12:26:45+00:00 +size = 257955 + +[packages.wheels.hashes] +sha256 = "4358b9c8c0125b460407f3017c6cce8156e904b32772c5630d27112f52bdbfe5" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/27/3b/c8cdd07721e5f99abd81cea970d971997f99bf158c0b85f51bd284179c8b/coverage-7.16.2-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" +upload-time = 2026-09-27 12:26:47+00:00 +size = 259183 + +[packages.wheels.hashes] +sha256 = "1f15254427c9b33eedac4f198eaf9e356eb4f6214551afb43da6194a2c088ad7" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/9b/11/606b192fe43d32574ec6238549d48de588fdcc18485682a5ec0a8ac357f2/coverage-7.16.2-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" +upload-time = 2026-09-27 12:26:49+00:00 +size = 261325 + +[packages.wheels.hashes] +sha256 = "9a75a4704ff640e46170042eec1f984385a121227c505d5a16ad8e495f452541" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/67/90/eea481f8b0305ceeb33f081a5f47e298391dbd1b589de0c4b3b3aa50d3f2/coverage-7.16.2-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" +upload-time = 2026-09-27 12:26:50+00:00 +size = 255531 + +[packages.wheels.hashes] +sha256 = "14253fc7bb15749b849795a06f5d3b6d8bc3fb8a4b5ddc341faf7a89dce205fc" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/6b/be/dedbf9aea1457b120c27ac10b8fc2a357f37fa2b54c3e7286d42980a0a2a/coverage-7.16.2-cp313-cp313-musllinux_1_2_aarch64.whl" +upload-time = 2026-09-27 12:26:52+00:00 +size = 257329 + +[packages.wheels.hashes] +sha256 = "921415102a90637fcc2e3f169f61dad7699ecf690e8639fc21b813acbedc0967" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/fa/cb/b25c19d5bb2bd0f2e4e27fe8e2ffcae80c7a91ae181c0dc749ed60e9b1a4/coverage-7.16.2-cp313-cp313-musllinux_1_2_i686.whl" +upload-time = 2026-09-27 12:26:53+00:00 +size = 255294 + +[packages.wheels.hashes] +sha256 = "cce2bc991293f15cc4084ca116827b5900c5f34e1a54dfe83f10ab5c43162eb7" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/5f/a2/892c5c5f4ad44b7b2ca009aee705191f3f268f15052244f2f9e3539b2e35/coverage-7.16.2-cp313-cp313-musllinux_1_2_ppc64le.whl" +upload-time = 2026-09-27 12:26:55+00:00 +size = 259444 + +[packages.wheels.hashes] +sha256 = "e1fa594c887365b69745f25a416806e61085dd07b94c9eae68a6e20730629b23" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/ed/99/a562537deba0a3e370182ae71c149be796c39d8087365f17a09188f27145/coverage-7.16.2-cp313-cp313-musllinux_1_2_riscv64.whl" +upload-time = 2026-09-27 12:26:56+00:00 +size = 255111 + +[packages.wheels.hashes] +sha256 = "11e597173af1dc33d5f8a7332ada544199269a223af1ee1770ddd5e245ad0fe8" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/2d/20/854ec68641a9b3362ff068a32dfa41637299761617ef253791dbade6fc76/coverage-7.16.2-cp313-cp313-musllinux_1_2_x86_64.whl" +upload-time = 2026-09-27 12:26:58+00:00 +size = 256882 + +[packages.wheels.hashes] +sha256 = "3e7f99698ba3a7d13988bdd984b7ebf13af4dbe2166dc8502eef90d77603b0a4" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/db/0d/748e4518b0ac0f9ff2687c248a6e5f8c0737306e709372632a2556f84443/coverage-7.16.2-cp313-cp313-win32.whl" +upload-time = 2026-09-27 12:26:59+00:00 +size = 226045 + +[packages.wheels.hashes] +sha256 = "f80bd9f9633eafc73d0a913ba2645c96ba58bba1befc30590f7c0fbfde59d865" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/31/fa/6e46edba66a183fe4d99d4bb52c173287e9b8dddabe0888d24cb8210e580/coverage-7.16.2-cp313-cp313-win_amd64.whl" +upload-time = 2026-09-27 12:27:01+00:00 +size = 226581 + +[packages.wheels.hashes] +sha256 = "8be099e979fc42559328a21828281b4578304191ae46ed4e80a407048a82eee6" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/1b/d9/9ef6845367600b336ff75d000444a0d32497d6972c833141bd39356abf68/coverage-7.16.2-cp313-cp313-win_arm64.whl" +upload-time = 2026-09-27 12:27:03+00:00 +size = 226409 + +[packages.wheels.hashes] +sha256 = "28ff850182a67d117990fa2ce5ea1032836d8c9630dae867e8bdd3bff4533b79" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/59/4c/577fc0803dab4155dcf808faffbdd7b159256781c0874a8586e17b81b149/coverage-7.16.2-cp314-cp314-macosx_10_15_x86_64.whl" +upload-time = 2026-09-27 12:27:05+00:00 +size = 224138 + +[packages.wheels.hashes] +sha256 = "4ee546b9e4872ffa194bf07ac87bfa1202ebb824d0795dc1ef22f175545ca90a" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/75/9e/e3785ba3ecba2bd11efc74bfe2801ca4b78c4480b15a375648d809a59da3/coverage-7.16.2-cp314-cp314-macosx_11_0_arm64.whl" +upload-time = 2026-09-27 12:27:06+00:00 +size = 224445 + +[packages.wheels.hashes] +sha256 = "a2fac6895eb299a2e52d7bbb8fb3903502b9da8d3f5309ceb16ec40c646b58ee" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/f0/d0/963ff22d3fd27117da3b8cc442f5bdc91196f783321e1a8ff0ec43476772/coverage-7.16.2-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl" +upload-time = 2026-09-27 12:27:08+00:00 +size = 256112 + +[packages.wheels.hashes] +sha256 = "57ff3783f99d75a1e81dd56a9737eb5665e6736a5d93258ba596b6dcad8fd05b" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/a8/d4/a306940c81c6ae759e82fff27d20b7fdc6896e422b821f51313cce212b6c/coverage-7.16.2-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl" +upload-time = 2026-09-27 12:27:09+00:00 +size = 258727 + +[packages.wheels.hashes] +sha256 = "35f37886699cb9abd29958247d718628d5bc6f39e623dff66a09e546c42a7e03" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/b9/a3/d3d99d93b02517087aa05bc0cf2d04d372956b849e5443e059079901429b/coverage-7.16.2-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" +upload-time = 2026-09-27 12:27:11+00:00 +size = 259909 + +[packages.wheels.hashes] +sha256 = "0fd7a86fdda7cb6d616d178654bd0ad6bc0f3f33c2e478aa598500a1a9e34eda" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/08/44/39dd599181726758dd185ae4dc0c0ab3aeabf7ca70e68e145060feeaaa16/coverage-7.16.2-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" +upload-time = 2026-09-27 12:27:13+00:00 +size = 262481 + +[packages.wheels.hashes] +sha256 = "ac0f3b379c94acc2f7dce5f5f0b24d44fa1cc6a509717ef83dfee07450c2117c" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/99/e8/91ee43f6ded411460c359d7e1aebde4d6fd8f00a2e5394182d9d212eb23c/coverage-7.16.2-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" +upload-time = 2026-09-27 12:27:14+00:00 +size = 256012 + +[packages.wheels.hashes] +sha256 = "7d0732c83746bc24123c581a85d9dd96b70ddb538c9076020aa1a041790361e9" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/11/8c/e9499ddc33197bd7eabcb1118ca81756fc874457b324e2b479a4804b2ad2/coverage-7.16.2-cp314-cp314-musllinux_1_2_aarch64.whl" +upload-time = 2026-09-27 12:27:16+00:00 +size = 257898 + +[packages.wheels.hashes] +sha256 = "7b451c68218c150f616bc9649783ec8de76a59792c759b43aa0c9c0466a465e4" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/5f/6e/c081cb5991a0afba99f9c4ad6c74a5fce9513a38ddc64e3e6680c6fed9af/coverage-7.16.2-cp314-cp314-musllinux_1_2_i686.whl" +upload-time = 2026-09-27 12:27:18+00:00 +size = 255938 + +[packages.wheels.hashes] +sha256 = "a56ac4fa5a75c7e182e8f62600cfb4aff43c5ed7356a034f3557659c3bec1d90" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/b2/42/1c3d819e8f9b6eb01c2fe90874d67a8882adb9507e0bbb09361ed131ea89/coverage-7.16.2-cp314-cp314-musllinux_1_2_ppc64le.whl" +upload-time = 2026-09-27 12:27:19+00:00 +size = 260368 + +[packages.wheels.hashes] +sha256 = "4cc4f73aa3fabc36e32046d6cd2971405948d8a903636508a3d3b2f9128b3a95" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/19/4f/d70eac07901fd587b6ab05e659b52afe13959992aa5113bf6cce059cc572/coverage-7.16.2-cp314-cp314-musllinux_1_2_riscv64.whl" +upload-time = 2026-09-27 12:27:21+00:00 +size = 255620 + +[packages.wheels.hashes] +sha256 = "723dcdab91357159b722935b500ee8abc0a66c8c432e1e9fabf4cc7598952de8" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/34/5e/6d87af88317d3d9a9b18a9ca1bc1673eb516917f296e579d0d4a55cb3490/coverage-7.16.2-cp314-cp314-musllinux_1_2_x86_64.whl" +upload-time = 2026-09-27 12:27:23+00:00 +size = 257521 + +[packages.wheels.hashes] +sha256 = "5397e21a90dde0e9c6896b77ded8f0be26b66f8b22b33aed41f6043ed95d55e6" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/79/bb/90c2641170d2fa1a6757b3f8450ba2740197317b0ddd749e9604b914e886/coverage-7.16.2-cp314-cp314-win32.whl" +upload-time = 2026-09-27 12:27:25+00:00 +size = 226248 + +[packages.wheels.hashes] +sha256 = "848893e1d361448c113dc2f0913503522a6f7be231d0e38333d2a22d9698a011" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/30/08/d8d0478bb02c8eb0ae20a496fc80c40fcf4d3450bd184300d682ba2d28a6/coverage-7.16.2-cp314-cp314-win_amd64.whl" +upload-time = 2026-09-27 12:27:26+00:00 +size = 226732 + +[packages.wheels.hashes] +sha256 = "5a27b731c171e43dc8b5f32b76a5051dde2ec9b9366c87028f08a7088ebc2c7b" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/32/3f/0001da22155b0a8ce063ec0f7e64ecbe17b373f306e7a74435f6d6accb72/coverage-7.16.2-cp314-cp314-win_arm64.whl" +upload-time = 2026-09-27 12:27:28+00:00 +size = 226645 + +[packages.wheels.hashes] +sha256 = "1c569a9fd25505f1cd6bea90588818f90373ce90e2632e2cacf19ddbd6e14fdb" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/d7/85/6d8813aff9b8b8586691a9d33c43c5604f7227622574da7cdc3d91a86861/coverage-7.16.2-cp314-cp314t-macosx_10_15_x86_64.whl" +upload-time = 2026-09-27 12:27:30+00:00 +size = 224871 + +[packages.wheels.hashes] +sha256 = "d93db87adb6b1c1b408dce4763314b55d76a9f589e96783a84ac9e7689e48bdf" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/5c/70/444f3a4981ac2cda40fdcf4cc9b56a4e1a33c222abeb33e51ed3e3eb2a6b/coverage-7.16.2-cp314-cp314t-macosx_11_0_arm64.whl" +upload-time = 2026-09-27 12:27:32+00:00 +size = 225123 + +[packages.wheels.hashes] +sha256 = "aa62c85046473959c13ba9edca9dc90a77d5c1095b1ba313556314d77fe5b036" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/d0/c1/980681cd7b33eb66ac835044116ef0a92e11fcc7bdd866cc89d10b1130b9/coverage-7.16.2-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl" +upload-time = 2026-09-27 12:27:34+00:00 +size = 265049 + +[packages.wheels.hashes] +sha256 = "db76506aa5416081f3e8974ae0f7965c58ada0bb0ef7339ac86099588dbb20d3" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/b2/e3/87679875c33bb2191f0f05544a1cc9adcc940fe0c35443a10f2df753dde5/coverage-7.16.2-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl" +upload-time = 2026-09-27 12:27:36+00:00 +size = 267717 + +[packages.wheels.hashes] +sha256 = "a0f2285329dac10ab08f79cb11f5692c497018e6c7c511f95e6fd63a70b8f831" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/76/64/5d372776d6eb523d4e93bafba2253f96984e3b18261c4cc56a50863c6d0d/coverage-7.16.2-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" +upload-time = 2026-09-27 12:27:37+00:00 +size = 270047 + +[packages.wheels.hashes] +sha256 = "382d3346d56b0eec1b793d53a4c88799c8053f516aa3a8d7c44315696954bacf" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/be/c1/44082ff0cbf9f97d0043f57970a71204097ec7ba606361a9fd2065393669/coverage-7.16.2-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" +upload-time = 2026-09-27 12:27:39+00:00 +size = 271360 + +[packages.wheels.hashes] +sha256 = "648352b94507179d82637292e7ae8802508d95f78e2f00a705a50b6c48011681" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/b8/17/9a215efe25b5e0ecc87c89dbe525c4a87d14d87c8c0c7316ef140a5f6f3e/coverage-7.16.2-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" +upload-time = 2026-09-27 12:27:42+00:00 +size = 264736 + +[packages.wheels.hashes] +sha256 = "fb2bde05838fffae1a1bf75e5d411a6cac3e4e9bb97e6640fed8cd47888b33f0" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/a2/da/7f0a31af8e448107d4d32844bd684757f51ea907bc0c68c8fd537b2123ff/coverage-7.16.2-cp314-cp314t-musllinux_1_2_aarch64.whl" +upload-time = 2026-09-27 12:27:43+00:00 +size = 267600 + +[packages.wheels.hashes] +sha256 = "6a75180829efb8ae62b4aded25be6ddca1c888d138d2d82e21d93bfbd88f41cb" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/dd/a4/3bfecbd3366b775bacdcb3330394d356cf384b5d8f5b2146ac4b14b252b5/coverage-7.16.2-cp314-cp314t-musllinux_1_2_i686.whl" +upload-time = 2026-09-27 12:27:45+00:00 +size = 264767 + +[packages.wheels.hashes] +sha256 = "99704f73721e23859112072d522076e11c31744fc96b5652e5dd2018aa4359f7" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/b8/3f/5d62163732d87e4a0c4710a0eab30f0fd6a2d480112abe2029f014fe8c9d/coverage-7.16.2-cp314-cp314t-musllinux_1_2_ppc64le.whl" +upload-time = 2026-09-27 12:27:47+00:00 +size = 269026 + +[packages.wheels.hashes] +sha256 = "29309ccc86b7f33df7db12813c299f215bbbc470ed6292d0bedd63ffae1ebf64" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/49/4d/8e4579f225426535085a9be371cc75e3b026d058d679b80affbdfb4c3ef0/coverage-7.16.2-cp314-cp314t-musllinux_1_2_riscv64.whl" +upload-time = 2026-09-27 12:27:49+00:00 +size = 264147 + +[packages.wheels.hashes] +sha256 = "30c1b65d529e46569899fadca59e4a87c1faf2886923f1307ba61e654d4f3c20" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/d1/36/ef1f77e2c3f7bb03c2b13b9a2006f88700fdd75535ef158d70049f425c1c/coverage-7.16.2-cp314-cp314t-musllinux_1_2_x86_64.whl" +upload-time = 2026-09-27 12:27:51+00:00 +size = 266376 + +[packages.wheels.hashes] +sha256 = "dcf4bc2aab4e16b1c4c0c2005918f23a7dd5d7821ddae82caed9e3342dc2fcce" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/be/79/0cb2bf4428830dec971c718c2c841a039c084415c99e67281f5a72841aab/coverage-7.16.2-cp314-cp314t-win32.whl" +upload-time = 2026-09-27 12:27:53+00:00 +size = 226585 + +[packages.wheels.hashes] +sha256 = "a9cd3de0a5bfe7b0e21ee10e1a14e3d61bf52efc88217ab1d95d6ace6970bd46" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/3c/f9/da17121c16667fd84998e972200ae226a41540f6ea4795776c6d99e8976f/coverage-7.16.2-cp314-cp314t-win_amd64.whl" +upload-time = 2026-09-27 12:27:55+00:00 +size = 227378 + +[packages.wheels.hashes] +sha256 = "611a44e5229a59d7483ce830160e1a0e85f700562c7a5651c7c63fb8f4eb528c" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/74/89/01179c62d1b7e6e33bd5001566b02d7f778cf33d3ec1e81e94ca170c517f/coverage-7.16.2-cp314-cp314t-win_arm64.whl" +upload-time = 2026-09-27 12:27:57+00:00 +size = 227064 + +[packages.wheels.hashes] +sha256 = "22957cef43ce038641de78ba995de7568d2d6a37c6ddbf7fa0fd7d1ae2344d91" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/4c/57/52935003c3f627ba6e5203d7179aad32448c10899663a30336aba8e81a2c/coverage-7.16.2-cp315-cp315-macosx_10_15_x86_64.whl" +upload-time = 2026-09-27 12:27:59+00:00 +size = 224140 + +[packages.wheels.hashes] +sha256 = "414c26dfdb96aac2d570a54e03008f001e32eb2d413705365503648c6bd361d8" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/31/38/df472520f3e626524d7e2fc9d6da0afe7895a2f1489d36b48af8ca40bb41/coverage-7.16.2-cp315-cp315-macosx_11_0_arm64.whl" +upload-time = 2026-09-27 12:28:01+00:00 +size = 224449 + +[packages.wheels.hashes] +sha256 = "00d3eb96e9988c45f50cccd1f1496571ac5c1f91386ac02c4d55516eeda19a24" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/0c/aa/3be084d5b82e63ccdad4ed751e4acbae294673573e30481d29f8b7402eec/coverage-7.16.2-cp315-cp315-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl" +upload-time = 2026-09-27 12:28:03+00:00 +size = 256060 + +[packages.wheels.hashes] +sha256 = "4dbbd1155ca46e6e0b6b89d204428c56ef6a459af21333f365d135a2820e5a09" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/de/29/48fca82a7ebf7ff7b2e35019cc9537e7f65e4d2aa1215cc5a8792c989251/coverage-7.16.2-cp315-cp315-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl" +upload-time = 2026-09-27 12:28:05+00:00 +size = 259106 + +[packages.wheels.hashes] +sha256 = "8fc15cc8d0d06e873c00ef18e1372d605f9aaf3de27d8c24e50782e75bc8b843" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/06/3d/b2d5986f2dd53fe201aa1be2e4ab204fa1aed5101e67c0dbbb419b850aee/coverage-7.16.2-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" +upload-time = 2026-09-27 12:28:06+00:00 +size = 260674 + +[packages.wheels.hashes] +sha256 = "9c6afdd69218202bc1758c9a14b86b8cf1084f37ed2ca143e567a103772b16d1" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/ce/7e/b50160be3506ead12e6480d14279af7f0f17627694300a2d1fd2c42d2ff5/coverage-7.16.2-cp315-cp315-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" +upload-time = 2026-09-27 12:28:08+00:00 +size = 263139 + +[packages.wheels.hashes] +sha256 = "aba5c63b7afdc749cc9eae943d5b868cba2b261a176378fa1c5a30bc8bc89982" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/14/5e/7c805ac9a32606de1399bd7e9bd375aa2f973dc61b12680d9e6403c2e891/coverage-7.16.2-cp315-cp315-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" +upload-time = 2026-09-27 12:28:10+00:00 +size = 256591 + +[packages.wheels.hashes] +sha256 = "9174f0af24e5eff248b9dbfe76ec5275a3d19d37edbc2810543f12cf97347a34" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/ab/9e/76f1ed129a2daf658a3ea17122824cf2e3b91fea0460d8d3664fc5a61018/coverage-7.16.2-cp315-cp315-musllinux_1_2_aarch64.whl" +upload-time = 2026-09-27 12:28:12+00:00 +size = 258708 + +[packages.wheels.hashes] +sha256 = "80e9fdb4c3d926b6ba721d4bf7435bdb869c3527ae7803290361d0ab73db13b6" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/5a/b7/8d62e75f48b527619239a65294f842d4b7fd02a0839d43ae1de80184e2df/coverage-7.16.2-cp315-cp315-musllinux_1_2_i686.whl" +upload-time = 2026-09-27 12:28:14+00:00 +size = 256562 + +[packages.wheels.hashes] +sha256 = "7b3bce4a0d05401d70b7d0d5ca783e686bc9d30e81dbd7d980d532609bf809e4" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/b8/8d/0a15f95c3afb78e947c52644786ba4bc9de259905687dd720d5e6fae2e76/coverage-7.16.2-cp315-cp315-musllinux_1_2_ppc64le.whl" +upload-time = 2026-09-27 12:28:17+00:00 +size = 261077 + +[packages.wheels.hashes] +sha256 = "44f21e407b278efdfc1ee5e481e00518bd1d500310a30a5fbf2bcbedfef4aaf0" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/25/00/88389987305a47d732866c07c8a500000ab574df9505e3114ac69c8d027f/coverage-7.16.2-cp315-cp315-musllinux_1_2_riscv64.whl" +upload-time = 2026-09-27 12:28:19+00:00 +size = 256034 + +[packages.wheels.hashes] +sha256 = "59c3926585e1cd1f2190f4b2ac9014de1bbeaf0d5d0587b0dc6b0aa90d17896a" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/92/02/34d079d4952ad461bde037d353f9a6e037a7edc45fe0f9ee8781ff73f028/coverage-7.16.2-cp315-cp315-musllinux_1_2_x86_64.whl" +upload-time = 2026-09-27 12:28:21+00:00 +size = 258034 + +[packages.wheels.hashes] +sha256 = "066429634299e14dd2d511e1e85f8f9cecc500781f6b41907c0dd6f1baea7e63" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/f6/d8/3e59a62879285b464ec1b10fd824fbc1af9ce66e842cd39974f80a0becc4/coverage-7.16.2-cp315-cp315-win32.whl" +upload-time = 2026-09-27 12:28:23+00:00 +size = 226252 + +[packages.wheels.hashes] +sha256 = "893ea9cf86cb8d2546812ac93d973aaf2ee1fb45110a873b014214fd23e3725e" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/f4/e1/128026e1b2836e9ad6b219207ba9edf1c5e0088a7869e23088aee7fbbe7a/coverage-7.16.2-cp315-cp315-win_amd64.whl" +upload-time = 2026-09-27 12:28:25+00:00 +size = 226728 + +[packages.wheels.hashes] +sha256 = "01c6908bc613b420c26c818fe948e1b97dfd041a53c98b01c63bd8321f5c9aae" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/a8/f4/c9fa8e7cf525ca7748ac52b0ee89331d13fe09808e45c679830708782e90/coverage-7.16.2-cp315-cp315-win_arm64.whl" +upload-time = 2026-09-27 12:28:27+00:00 +size = 226648 + +[packages.wheels.hashes] +sha256 = "967d72c835d7a8cf0af99ec813a2d06e3db6df706402f1fe85b31b437645f495" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/a2/13/e96b045447a856666f36f9c653e2a80bdaa732aaaf72412b19aa2c26a473/coverage-7.16.2-cp315-cp315t-macosx_10_15_x86_64.whl" +upload-time = 2026-09-27 12:28:29+00:00 +size = 224858 + +[packages.wheels.hashes] +sha256 = "98d9c97f51b334b0adce7b964442a9af33c1a00c6ac856984cc5dc8d18f81c75" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/23/90/087f6ad1bd3df059632ca3407a4e6552ed1053ee35354de0a771acf35423/coverage-7.16.2-cp315-cp315t-macosx_11_0_arm64.whl" +upload-time = 2026-09-27 12:28:31+00:00 +size = 225139 + +[packages.wheels.hashes] +sha256 = "3e861f1071dcc2fec1e88bef0920f6b1eaa66a143555b4f8ab79ba2b0f30ef55" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/7e/8e/285dcef0184358044e7cbcd810a1bdc9566bc620f54702d605477155df4a/coverage-7.16.2-cp315-cp315t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl" +upload-time = 2026-09-27 12:28:33+00:00 +size = 265090 + +[packages.wheels.hashes] +sha256 = "fb9d92ecfe2d5b494367c67f7446f8b75b68d8d0c8cf3bc3e6997478be25d9e2" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/06/b2/cc83f3a6e5789a4e89059c69555bc641c2efcde568405a1c06fc702951ab/coverage-7.16.2-cp315-cp315t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl" +upload-time = 2026-09-27 12:28:35+00:00 +size = 268254 + +[packages.wheels.hashes] +sha256 = "eb57acff4a74246ae513c142d4b36e18c389c3aed8661914a53f7cd0071031b2" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/ac/41/f548c19530f5d66ac6e3c92bbcbc49da7261de3a458b9f3e54a3efb1a0b2/coverage-7.16.2-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" +upload-time = 2026-09-27 12:28:36+00:00 +size = 270695 + +[packages.wheels.hashes] +sha256 = "444889f7f66b74e4455c0a97e0e166dd41177f1dca8c0239a47cff25e05ba7e1" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/94/61/4dc27cf82ef96434d2874110ad0cc10ea4621025705dc5049862bd3bd181/coverage-7.16.2-cp315-cp315t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" +upload-time = 2026-09-27 12:28:38+00:00 +size = 271853 + +[packages.wheels.hashes] +sha256 = "a740ea6f083c6db7b926534d159508f80ba275ab35e722522de0d18d0f56e55f" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/38/29/bf8072b1b8bd5f2de8b21460a404460b1a2b97e80a9464c78ec0271f6199/coverage-7.16.2-cp315-cp315t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" +upload-time = 2026-09-27 12:28:40+00:00 +size = 265644 + +[packages.wheels.hashes] +sha256 = "8e209591f7c41ae4a9171335cf6156afda0b21de73b02f73f5aa95b2d5fbb08d" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/7c/2f/0aecb8721be5cdeb8afd9d6d9f6b463f074e4d8d37f00f4c42442522709f/coverage-7.16.2-cp315-cp315t-musllinux_1_2_aarch64.whl" +upload-time = 2026-09-27 12:28:42+00:00 +size = 268530 + +[packages.wheels.hashes] +sha256 = "396bb16e04ce04efbb3df91456ae4e3da918e69ecdf67fb711b0a0fdf35ccce0" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/ab/0b/92b4b7628268ee711249958e68fc0328779bd3d9a7ab4715379465aedb84/coverage-7.16.2-cp315-cp315t-musllinux_1_2_i686.whl" +upload-time = 2026-09-27 12:28:44+00:00 +size = 265154 + +[packages.wheels.hashes] +sha256 = "9cdf19874e0d247f32f03609200370343c3c7aa260b191d8c2bb251d36198283" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/7b/d9/41c95c1ab29b3dcd357cd1227181d1c98185632aca41ce670ce671b23a43/coverage-7.16.2-cp315-cp315t-musllinux_1_2_ppc64le.whl" +upload-time = 2026-09-27 12:28:46+00:00 +size = 269799 + +[packages.wheels.hashes] +sha256 = "fd3d72233eb8b48acc94fa57d44e2d32ce8e7abed02882ccb6d855ccc4ed33ec" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/80/07/ebeb259aa5362b033a137b86d7274ff4b109d59be8cc9913889b783bf75a/coverage-7.16.2-cp315-cp315t-musllinux_1_2_riscv64.whl" +upload-time = 2026-09-27 12:28:48+00:00 +size = 265196 + +[packages.wheels.hashes] +sha256 = "bb4ffe96aa663cee727659db5a2afeb38c95f8677b747d447b90d6d4874ea2c5" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/b2/18/8437620f90d023680a072eee02f968055f3658bbfb7d386d0ea34cfb7f30/coverage-7.16.2-cp315-cp315t-musllinux_1_2_x86_64.whl" +upload-time = 2026-09-27 12:28:51+00:00 +size = 267266 + +[packages.wheels.hashes] +sha256 = "dba2edfb054f6d4a08df9d1637c39a5aa3865bca6617c13c86be21e45658a59c" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/28/6c/f08e8ee4293e6434035424180bef4d45e028e8ecc006c61bf9453e74405e/coverage-7.16.2-cp315-cp315t-win32.whl" +upload-time = 2026-09-27 12:28:53+00:00 +size = 226583 + +[packages.wheels.hashes] +sha256 = "251aed777c47c77aba047096d4542889db089227655711dfc2b9c54ef0e15e35" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/f7/fd/3f939c2847f4a72c20cff8b1ac33da78ea91a2d38d9b43336e60db719103/coverage-7.16.2-cp315-cp315t-win_amd64.whl" +upload-time = 2026-09-27 12:28:55+00:00 +size = 227374 + +[packages.wheels.hashes] +sha256 = "2aca0bdfa9e91621d5b09d815357bf63def4fc0e9cb66da67bf2cf93f3b1a6f5" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/5a/35/b98cdc354c952402132e675a87f2cc3227fb68f959c84aaa491fbe15933d/coverage-7.16.2-cp315-cp315t-win_arm64.whl" +upload-time = 2026-09-27 12:28:57+00:00 +size = 227064 + +[packages.wheels.hashes] +sha256 = "b88841e654f09732804809e435b3e005a929ffd9998b872b7b213957b8759cb8" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/3f/0c/7a64e1ac90541a8edf50daef0914848011fb057a5bf55284a4811e21939a/coverage-7.16.2-py3-none-any.whl" +upload-time = 2026-09-27 12:28:59+00:00 +size = 215754 + +[packages.wheels.hashes] +sha256 = "11d28e9123a9156cb405d8d27b44256c9a58fb5decc2073a8f17862057e3aa0f" + +[[packages]] +name = "cryptography" +version = "50.0.2" +index = "https://pypi.org/simple" +marker = "(\"dev\" in dependency_groups and (platform_machine != 'ppc64le' and platform_machine != 's390x' and sys_platform == 'linux')) or (\"pkg-meta\" in dependency_groups and (platform_machine != 'ppc64le' and platform_machine != 's390x' and sys_platform == 'linux'))" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/9d/af/182eb91b0df3fe75c4d9f26fe70684569566745f6ba7e5c9c73a862c5252/cryptography-50.0.2.tar.gz" +upload-time = 2026-09-30 15:30:04+00:00 +size = 880623 + +[packages.sdist.hashes] +sha256 = "7b46165bb56eb4704e2eaaf86f3c940d19154535d9b0ca7d6d590b04060e00d5" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/d9/69/c9bd862c3bf43d6399c433caf002df16e2dffd4be49bdf515cda38038711/cryptography-50.0.2-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" +upload-time = 2026-09-30 14:43:47+00:00 +size = 4731146 + +[packages.wheels.hashes] +sha256 = "79def8d059362e7831389ed3be0ecdf58a89386e1271e35dd9f5af84e81bffd0" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/21/69/64cef1f702bf6657e0cc186ed1a2891d50d29fb41586b254e1c07adea261/cryptography-50.0.2-cp311-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" +upload-time = 2026-09-30 14:43:49+00:00 +size = 4719841 + +[packages.wheels.hashes] +sha256 = "630ebfea3bf689d075f82316324ff7433dc447fe6bc1bfc76524b74b4a9567d2" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/38/6b/61a3f8d8c5e1e49a6cddccafc4015cc1c0021360ab0acb4080e7a423644a/cryptography-50.0.2-cp311-abi3-manylinux_2_28_aarch64.whl" +upload-time = 2026-09-30 14:43:50+00:00 +size = 4738340 + +[packages.wheels.hashes] +sha256 = "f9f6143a8c75945eb960d9eb98905a441394abfa24afaae239d514ffb2586480" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/1a/f1/b474e930c4d910328780e3940da76f5aa5cbc48ce1fc14e44d239d9ea9db/cryptography-50.0.2-cp311-abi3-manylinux_2_28_x86_64.whl" +upload-time = 2026-09-30 14:43:55+00:00 +size = 4753050 + +[packages.wheels.hashes] +sha256 = "4061c0079120205fb760c58acab6443e217307dcf05e3702cf970e0689972856" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/7c/52/9af10e80ac16b0fcc2123f9cbd5e7afbd0fd5075bb7a607c592258a39cda/cryptography-50.0.2-cp311-abi3-manylinux_2_31_armv7l.whl" +upload-time = 2026-09-30 14:43:57+00:00 +size = 4376724 + +[packages.wheels.hashes] +sha256 = "ac9ed99d81760c62fe89d5f0815cdfa1ba9a35141cf30f1c2d044f04b4803d2e" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/71/37/6202e488cc1eb625ea110c292c6bda92823176e023f427d8d5660ce8d632/cryptography-50.0.2-cp311-abi3-manylinux_2_34_aarch64.whl" +upload-time = 2026-09-30 14:43:59+00:00 +size = 4737859 + +[packages.wheels.hashes] +sha256 = "87e9ce85beb6b328ba370cc6e6aea483c92617b4c95b1d33a49297eb662bfb04" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/d3/69/2c833a049475e0a3444e94c7d0aca0aa51d166374a449b09e92ac98138de/cryptography-50.0.2-cp311-abi3-manylinux_2_34_x86_64.whl" +upload-time = 2026-09-30 14:44:04+00:00 +size = 4752576 + +[packages.wheels.hashes] +sha256 = "9dab55f57c74c3cad24c323bacbbd04be4705ba6eb0d92e920b1fc4837ed5079" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/6c/5d/906970b83bbfc1f5bbfb677a143c181f2801f23b6a7204a3b47c42c97e65/cryptography-50.0.2-cp311-abi3-musllinux_1_2_aarch64.whl" +upload-time = 2026-09-30 14:44:06+00:00 +size = 4870819 + +[packages.wheels.hashes] +sha256 = "25784ce8b9621c90c643efb9e1e2162ab3b0224cae446ad5e70e7fcb1ce18b51" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/68/e3/f2298d3bb55e0c4a91841ec4d01b3f020ba8c5fbf15ccdcc6dcf03f97025/cryptography-50.0.2-cp311-abi3-musllinux_1_2_x86_64.whl" +upload-time = 2026-09-30 14:44:09+00:00 +size = 5030152 + +[packages.wheels.hashes] +sha256 = "85d0d9a31b9098e98534226d5686b47264b95e62ce459dc2e62fdfc809f9fe93" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/19/8e/aa1fc533d4546b127b45de8aa024eb5933d23eff9debfe25931e56861095/cryptography-50.0.2-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" +upload-time = 2026-09-30 14:44:15+00:00 +size = 4710431 + +[packages.wheels.hashes] +sha256 = "0ecbc5652bdb6fc9eaf89a7d196e20941adfe812f43bc4ca05d9150496821047" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/6a/64/72bc3f75176e7e406b748a3e3830432b8c51297b38368713df04dc04898a/cryptography-50.0.2-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" +upload-time = 2026-09-30 14:44:17+00:00 +size = 4694824 + +[packages.wheels.hashes] +sha256 = "ab50ee449bf968271e820086f10a33d101dd060370abc10bcd22279be2656539" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/4e/c6/62c77550edfa5ca3f14bf44a1e6739b9fa09d6e998a11d97ed8213bccc98/cryptography-50.0.2-cp314-cp314t-manylinux_2_28_aarch64.whl" +upload-time = 2026-09-30 14:44:19+00:00 +size = 4716967 + +[packages.wheels.hashes] +sha256 = "a9f7355e6fab51f6c369b86fb7571cffa05edee2c2121e0380a37fb9ac1cd5c1" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/aa/9a/6f2f0304d634ceafdeaf23e84537336664ac419b5d07611675c2ad3f6b7a/cryptography-50.0.2-cp314-cp314t-manylinux_2_28_x86_64.whl" +upload-time = 2026-09-30 14:44:24+00:00 +size = 4727698 + +[packages.wheels.hashes] +sha256 = "241449bf940a5d27309bd317e6f9a2af6932113818bb2b8f5c59ddc7ef16da18" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/1d/de/66bcf9244d118663b2e1aaded8990f4640e3d7b7411870a5765f252074d2/cryptography-50.0.2-cp314-cp314t-manylinux_2_31_armv7l.whl" +upload-time = 2026-09-30 14:44:26+00:00 +size = 4354821 + +[packages.wheels.hashes] +sha256 = "d8947001be83df1394050758ce0e745dd74fb134eef0a4b5124208dfc3a68c37" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/bd/e6/db28a28c7b6c676addce89136de3d8db49ea825a8c863472e36e42ead4ad/cryptography-50.0.2-cp314-cp314t-manylinux_2_34_aarch64.whl" +upload-time = 2026-09-30 14:44:28+00:00 +size = 4716748 + +[packages.wheels.hashes] +sha256 = "4a20ce1e5cb4284a86692fdcba7cb8754185c6b2e5c56fcef3751cf451d3cdc2" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/6c/01/03263395f74d50b071e9e66daace3f8bef80493e5d410726f2ba8554736b/cryptography-50.0.2-cp314-cp314t-manylinux_2_34_x86_64.whl" +upload-time = 2026-09-30 14:44:32+00:00 +size = 4727268 + +[packages.wheels.hashes] +sha256 = "828d49b0ff5a0e3975865571c5d91dbbdd0d38d8289b249a163e9425413a5e05" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/eb/94/2bfe8f29ec0cc9c0d99359c4161adf32858e4934b72c6d100d2ac0bbe962/cryptography-50.0.2-cp314-cp314t-musllinux_1_2_aarch64.whl" +upload-time = 2026-09-30 14:44:34+00:00 +size = 4849503 + +[packages.wheels.hashes] +sha256 = "deb9fde5c60e437ee4821bc9bc39ff31b42135c27e1dc61ef0a629389c1de62e" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/54/44/e80651ecbf0e42b62e2bb5f5768916e07eea72e1297338956a61df361f88/cryptography-50.0.2-cp314-cp314t-musllinux_1_2_x86_64.whl" +upload-time = 2026-09-30 14:44:37+00:00 +size = 5004057 + +[packages.wheels.hashes] +sha256 = "8c71ba2cd31fc93748c38e1b613200ff1c2665cbfd5341fe3a61cfde35a1430e" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/8c/75/32ac2a56243d778805c16ca6a32b8f74fb757df7e28d7ecb560afafb59cf/cryptography-50.0.2-cp315-abi3.abi3t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" +upload-time = 2026-09-30 14:44:43+00:00 +size = 4956267 + +[packages.wheels.hashes] +sha256 = "d370b8d1dfcdf7130178137f6fbee6140774a1acc6cacefc4b42643ec11d0a3a" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/aa/a4/2c8d734e43d97f0842ee9f1b7b4bfb3d0cf5e19edebf43c2afe6675c2320/cryptography-50.0.2-cp315-abi3.abi3t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" +upload-time = 2026-09-30 14:44:45+00:00 +size = 4966465 + +[packages.wheels.hashes] +sha256 = "f2f9bd7f90c64fe89253f0a2c05e3c4856072660429ce8831b4235bf29403a67" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/c2/58/ee288c829a6f41f6235ae9dd33d82fd19b45442b65b4c8a3da36963d9f7a/cryptography-50.0.2-cp315-abi3.abi3t-manylinux_2_28_aarch64.whl" +upload-time = 2026-09-30 14:44:48+00:00 +size = 4959356 + +[packages.wheels.hashes] +sha256 = "e275096ea1e60cc595cda2836fd4a6c725d1125108b868be17f53684d164e2cc" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/02/a8/8df951850d6b31d2a00218f19e2b3f999523437ed7a819df7fa427942fca/cryptography-50.0.2-cp315-abi3.abi3t-manylinux_2_28_x86_64.whl" +upload-time = 2026-09-30 14:44:53+00:00 +size = 5001199 + +[packages.wheels.hashes] +sha256 = "58a0c478eeca76fe5e07993c5a0703def34a6dc6a0cda4f5564639b33112ffe7" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/8b/f9/36b3022218ce75b7cdf068fb95f809f9bd0d820e4955ef43b90c255cc7ac/cryptography-50.0.2-cp315-abi3.abi3t-manylinux_2_31_armv7l.whl" +upload-time = 2026-09-30 14:44:55+00:00 +size = 4629333 + +[packages.wheels.hashes] +sha256 = "d38cdff612d06fa6a32840d5e1b1f7a27cee4a349aa9085d94a67789d6bfd408" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/8c/72/20f99a219f6af47cdd1cbd978c243b92d71496e168a746138af44ded4f29/cryptography-50.0.2-cp315-abi3.abi3t-manylinux_2_34_aarch64.whl" +upload-time = 2026-09-30 14:44:59+00:00 +size = 4958822 + +[packages.wheels.hashes] +sha256 = "fdd28f912fccfec1846a94e2e1e8f9b0012f557f0c46fe4f3eb0d7a87afcf90b" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/24/95/83378121ef3eaaaf71d4b781577ff794acb39b9e1b87a3f156898c8497ed/cryptography-50.0.2-cp315-abi3.abi3t-manylinux_2_34_x86_64.whl" +upload-time = 2026-09-30 14:45:05+00:00 +size = 5000859 + +[packages.wheels.hashes] +sha256 = "e105ab60406787da31fccc883fc0f733af1efd78f0136a4599692c4083a73d0c" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/22/f7/70fd7ae4d1dbfa7ba29b02e1b9068771519a86027756510b700ce81086a8/cryptography-50.0.2-cp315-abi3.abi3t-musllinux_1_2_aarch64.whl" +upload-time = 2026-09-30 15:29:15+00:00 +size = 5092151 + +[packages.wheels.hashes] +sha256 = "6f8700550aa1474a91e5dc07049c46f98b423b5b1ddd0483e0b51362eeeaf5be" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/d4/be/688367b74de86984bd58d8efacfc7c9e68b89a6a22ced0fb4f38db50254a/cryptography-50.0.2-cp315-abi3.abi3t-musllinux_1_2_x86_64.whl" +upload-time = 2026-09-30 15:29:18+00:00 +size = 5286120 + +[packages.wheels.hashes] +sha256 = "c71be1cbfa5cd9a41ee452acf1eccd82b2c05950358b106ec8ceb83411d1a020" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/d5/8d/6d585339bedf85d45044c85d8412dac53f2bb6f918e8b7777efba1787844/cryptography-50.0.2-cp39-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" +upload-time = 2026-09-30 15:29:24+00:00 +size = 4756166 + +[packages.wheels.hashes] +sha256 = "c5e67125c7dca78d199ec4e116aa93dbb83494808ecbb8211a2cb09b1bf41dbd" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/bf/f1/1c1f6874e8550cfddd4b688ceb38cefb6ed15ceed224d56f133f3d88c214/cryptography-50.0.2-cp39-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" +upload-time = 2026-09-30 15:29:26+00:00 +size = 4749145 + +[packages.wheels.hashes] +sha256 = "ee247f5c245c9a2fe7c8e2214e295918838e44e00a45a6718451e4004219e767" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/c1/63/61b15dc1a8de03fe0adbe3fd7608b3ad5c73bf50993bbcb1faaa930afe33/cryptography-50.0.2-cp39-abi3-manylinux_2_28_aarch64.whl" +upload-time = 2026-09-30 15:29:28+00:00 +size = 4763638 + +[packages.wheels.hashes] +sha256 = "dfe9763530994147d9af1def057a5b9658b00e8f8fe8743d144d1e0911c2e454" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/4f/87/ef344a9e616871f2519c22d6afcda79ddd5d35e9592d95eb6e677608d055/cryptography-50.0.2-cp39-abi3-manylinux_2_28_x86_64.whl" +upload-time = 2026-09-30 15:29:32+00:00 +size = 4781387 + +[packages.wheels.hashes] +sha256 = "f21e8a22c8605750c7af886bab299a363721264061b4ac0a30efb73cfd58efc5" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/90/5b/f2fdb13cd0b96f6f932c8627bb292a45f11c64d21620a8e120aee9a3b848/cryptography-50.0.2-cp39-abi3-manylinux_2_31_armv7l.whl" +upload-time = 2026-09-30 15:29:34+00:00 +size = 4403790 + +[packages.wheels.hashes] +sha256 = "9c8402a82ea0dc4ceeab793db05f0fafa8ca139ca34fcde5df0f596103c74107" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/bc/ce/7e4f662b1e3c393513569e402cfc85ac7da0bd3d5435e122a3140219eb2d/cryptography-50.0.2-cp39-abi3-manylinux_2_34_aarch64.whl" +upload-time = 2026-09-30 15:29:36+00:00 +size = 4764319 + +[packages.wheels.hashes] +sha256 = "0ddc924c04591c2811ca024d62ecad4f7f6f08af8939c211438f48a16bd23602" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/40/cf/6b5c8e2fd9202d98988ab7cb5cc5c991704c4ad55f492ff408e4969f83f1/cryptography-50.0.2-cp39-abi3-manylinux_2_34_x86_64.whl" +upload-time = 2026-09-30 15:29:41+00:00 +size = 4780973 + +[packages.wheels.hashes] +sha256 = "1981f1db4630889b9ef7803fadef12b056f428cb6b85c27ba57b774793b6093c" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/10/bf/8d6ebc7dded797bd0f0160d52188021211f011a2b164ef0ae1dac4587465/cryptography-50.0.2-cp39-abi3-musllinux_1_2_aarch64.whl" +upload-time = 2026-09-30 15:29:43+00:00 +size = 4897738 + +[packages.wheels.hashes] +sha256 = "7a8701d6b584d76e909e3d305b7d126b41439876a5aaf76cddc67fc230eafa2e" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/d4/aa/f3f6e0de7e6253b8baa8b2d8fb9d50924fa75cee3d4624bd4bc1208ee923/cryptography-50.0.2-cp39-abi3-musllinux_1_2_x86_64.whl" +upload-time = 2026-09-30 15:29:44+00:00 +size = 5058280 + +[packages.wheels.hashes] +sha256 = "ce47f66801c20ec6c6632453bb5960fe38939e9306970b48b3a5a26de7745d94" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/1d/7a/f08d34ce09d60f89ebd391e2ebc6ba2b995e6dd7552f41820f8085f94e53/cryptography-50.0.2-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl" +upload-time = 2026-09-30 15:29:48+00:00 +size = 4716035 + +[packages.wheels.hashes] +sha256 = "92e665960f25fcdc73725b9cec7a3824f279ba97a98653afe9ffac2e43668f67" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/45/67/e18fb65592451a2acb76e9f2fbe14e0f47a8318b4c5430f1633851d03daa/cryptography-50.0.2-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl" +upload-time = 2026-09-30 15:29:50+00:00 +size = 4726917 + +[packages.wheels.hashes] +sha256 = "eef4c2f3423810b3070ab391f85436d2f8bbfcb286ac15cbc73190b3563b1f1a" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/83/28/38fdce17e60f6b825e69fc3b7f75e70a6612759980704697e1de4cbfaf6e/cryptography-50.0.2-pp311-pypy311_pp73-manylinux_2_34_aarch64.whl" +upload-time = 2026-09-30 15:29:52+00:00 +size = 4715341 + +[packages.wheels.hashes] +sha256 = "7c6d0330c472d96f6a6afe24d80dfdf15176c33096f0a4397ae4c60f3dd3be48" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/b6/b1/d9121a717e0f893c64bd6ca7702614778d7df2a5c309128a002421788516/cryptography-50.0.2-pp311-pypy311_pp73-manylinux_2_34_x86_64.whl" +upload-time = 2026-09-30 15:29:54+00:00 +size = 4726322 + +[packages.wheels.hashes] +sha256 = "1ba34f04897fcdaa73f74145c25f3ec146fbd56593853e88adc2e811303c5f42" + +[[packages]] +name = "distlib" +version = "0.4.4" +index = "https://pypi.org/simple" +marker = "\"dev\" in dependency_groups or \"lint\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/68/bc/d36966de7304047a1001a7559fbf266c464bb5d8cc85464536ef8c9bcc32/distlib-0.4.4.tar.gz" +upload-time = 2026-10-16 13:56:34+00:00 +size = 621304 + +[packages.sdist.hashes] +sha256 = "ca4175b4ac7f71223cc30ed7248c45d2b38c2439d8ee6e498ab67ed63cf3508d" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/c1/2b/238f02a4927fa2e27aa995371d240a468b52e42eae44a678434aff736b38/distlib-0.4.4-py2.py3-none-any.whl" +upload-time = 2026-10-16 13:56:32+00:00 +size = 472099 + +[packages.wheels.hashes] +sha256 = "cf09d55b1e85a89576b036aeb71550bfd68320f3f21761ca329eadadad918638" + +[[packages]] +name = "docutils" +version = "0.22.4" +index = "https://pypi.org/simple" +marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"pkg-meta\" in dependency_groups or \"type\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/ae/b6/03bb70946330e88ffec97aefd3ea75ba575cb2e762061e0e62a213befee8/docutils-0.22.4.tar.gz" +upload-time = 2025-12-18 19:00:26+00:00 +size = 2291750 + +[packages.sdist.hashes] +sha256 = "4db53b1fde9abecbb74d91230d32ab626d94f6badfc575d6db9194a49df29968" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/02/10/5da547df7a391dcde17f59520a231527b8571e6f46fc8efb02ccb370ab12/docutils-0.22.4-py3-none-any.whl" +upload-time = 2025-12-18 19:00:18+00:00 +size = 633196 + +[packages.wheels.hashes] +sha256 = "d0013f540772d1420576855455d050a2180186c91c15779301ac2ccb3eeb68de" + +[[packages]] +name = "filelock" +version = "4.2.4" +index = "https://pypi.org/simple" +marker = "\"dev\" in dependency_groups or \"lint\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/d8/28/3893324bcadf8f89b1616637468d766af3f625008c0735bf704fdfa86617/filelock-4.2.4.tar.gz" +upload-time = 2026-10-19 01:57:51+00:00 +size = 652444 + +[packages.sdist.hashes] +sha256 = "c6d8663535e1650ee430507b4ffbac7b464dd64b7647ea0112a9f406499d163d" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/e0/1b/5e74289a1878e666bb4b65fe5805a04cafcac2aa5f519ef1ead67ef91c56/filelock-4.2.4-py3-none-any.whl" +upload-time = 2026-10-19 01:57:49+00:00 +size = 162475 + +[packages.wheels.hashes] +sha256 = "301241438c57936ef93f4243a94f2559022268bfcf9b375a9a72eb0f8db8358e" + +[[packages]] +name = "furo" +version = "2025.12.19" +index = "https://pypi.org/simple" +marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"type\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/ec/20/5f5ad4da6a5a27c80f2ed2ee9aee3f9e36c66e56e21c00fde467b2f8f88f/furo-2025.12.19.tar.gz" +upload-time = 2025-12-19 17:34:40+00:00 +size = 1661473 + +[packages.sdist.hashes] +sha256 = "188d1f942037d8b37cd3985b955839fea62baa1730087dc29d157677c857e2a7" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/f4/b2/50e9b292b5cac13e9e81272c7171301abc753a60460d21505b606e15cf21/furo-2025.12.19-py3-none-any.whl" +upload-time = 2025-12-19 17:34:38+00:00 +size = 339262 + +[packages.wheels.hashes] +sha256 = "bb0ead5309f9500130665a26bee87693c41ce4dbdff864dbfb6b0dae4673d24f" + +[[packages]] +name = "id" +version = "1.6.1" +index = "https://pypi.org/simple" +marker = "\"dev\" in dependency_groups or \"pkg-meta\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/6d/04/c2156091427636080787aac190019dc64096e56a23b7364d3c1764ee3a06/id-1.6.1.tar.gz" +upload-time = 2026-02-04 16:19:41+00:00 +size = 18088 + +[packages.sdist.hashes] +sha256 = "d0732d624fb46fd4e7bc4e5152f00214450953b9e772c182c1c22964def1a069" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/42/77/de194443bf38daed9452139e960c632b0ef9f9a5dd9ce605fdf18ca9f1b1/id-1.6.1-py3-none-any.whl" +upload-time = 2026-02-04 16:19:40+00:00 +size = 14689 + +[packages.wheels.hashes] +sha256 = "f5ec41ed2629a508f5d0988eda142e190c9c6da971100612c4de9ad9f9b237ca" + +[[packages]] +name = "identify" +version = "2.6.20" +index = "https://pypi.org/simple" +marker = "\"dev\" in dependency_groups or \"lint\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/53/35/d70c0006c7cee65999ea94a6273e60b2094f600a3d8b71b04318253fc643/identify-2.6.20.tar.gz" +upload-time = 2026-09-26 20:29:07+00:00 +size = 99681 + +[packages.sdist.hashes] +sha256 = "ad729860a923858d26917c2f4fb0a1d83d27a75b1e090c06440c573f048f3285" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/fa/70/fffc9613501877c0a10a1ef73a165e6ded3e53f6e7502227fef56d973933/identify-2.6.20-py2.py3-none-any.whl" +upload-time = 2026-09-26 20:29:06+00:00 +size = 99506 + +[packages.wheels.hashes] +sha256 = "6a16b69b93187244e0548cbfd25b3e4a6f9a7a2ad784625c3bec2b8d27b81aaa" + +[[packages]] +name = "idna" +version = "3.20" +index = "https://pypi.org/simple" +marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"pkg-meta\" in dependency_groups or \"type\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/f5/08/8eea9d4b8302028f3abb2c0813953f7aec26d33b7a8960ed760e65ff29fa/idna-3.20.tar.gz" +upload-time = 2026-09-17 14:11:04+00:00 +size = 216463 + +[packages.sdist.hashes] +sha256 = "a7db850025b95ded1eae8a46181a1a6c56c92c96f0e2b005d9ff8dc0210cab44" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/58/a2/bb081bab032533a855d44de1d56f8e8426114ff1ba5d1f07a438a0a654f8/idna-3.20-py3-none-any.whl" +upload-time = 2026-09-17 14:11:03+00:00 +size = 69583 + +[packages.wheels.hashes] +sha256 = "ab7ae7122974553370f0bdb919e1a960b2cd1bc1ef0276416d896db81c14582c" + +[[packages]] +name = "imagesize" +version = "2.0.1" +index = "https://pypi.org/simple" +marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"type\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/fb/5e/513ff06670c84e7b9887c1fdf61b2d42b4f574a831f2f1d2222023049d8a/imagesize-2.0.1.tar.gz" +upload-time = 2026-08-24 12:35:19+00:00 +size = 1883774 + +[packages.sdist.hashes] +sha256 = "b2ba6a4dea487a7ebcd53248d3476aca449d30db12a2dde5e0c5ca9624fd77e5" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/01/f9/575c8d760eae1fc99651b7cc5efd96ad5379ca4d6b53750b0fb4fe983f34/imagesize-2.0.1-py3-none-any.whl" +upload-time = 2026-08-24 12:35:12+00:00 +size = 14794 + +[packages.wheels.hashes] +sha256 = "ea0c9a0384df69ed86a943a15cde37d0360b82491b3910dc2215e202e62b5b02" + +[[packages]] +name = "importlib-metadata" +version = "9.0.1" +index = "https://pypi.org/simple" +marker = "(\"dev\" in dependency_groups and (python_full_version < '3.12' and platform_machine != 'ppc64le' and platform_machine != 's390x')) or (\"pkg-meta\" in dependency_groups and (python_full_version < '3.12' and platform_machine != 'ppc64le' and platform_machine != 's390x'))" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/6f/7e/1e7e8dc30634b93ebb3d58a3dea569ad146e656218d3960ab04f62047b29/importlib_metadata-9.0.1.tar.gz" +upload-time = 2026-08-28 15:30:34+00:00 +size = 59124 + +[packages.sdist.hashes] +sha256 = "ab830580bc0ef3db61ce8fae716389e5462b67e033018bab6d8f80ef17172f99" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/b3/55/ecca97ae19075f1fac62def77731e7f535e6c1fb8f92ff08160c5e6dade8/importlib_metadata-9.0.1-py3-none-any.whl" +upload-time = 2026-08-28 15:30:33+00:00 +size = 27920 + +[packages.wheels.hashes] +sha256 = "bba5600596a7e21f3eef53281cf28d6a5195634d2f2b78ff9501a3272c6eaab0" + +[[packages]] +name = "iniconfig" +version = "2.3.1" +index = "https://pypi.org/simple" +marker = "\"dev\" in dependency_groups or \"test\" in dependency_groups or \"type\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/01/e1/2069291243c926a2ff1cd706c7f3eeb9b62144bf60f77c9fb9ff2fb26bd3/iniconfig-2.3.1.tar.gz" +upload-time = 2026-10-06 22:48:38+00:00 +size = 21209 + +[packages.sdist.hashes] +sha256 = "67f4b9c50da0dedf52af349e7749a80a9057a5031199791b906c3bb3ae878960" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/56/43/4ca9e49d27a1fcf6bece6f6aec0ea46bb9112489b93d4b688fb415457bdb/iniconfig-2.3.1-py3-none-any.whl" +upload-time = 2026-10-06 22:48:36+00:00 +size = 7552 + +[packages.wheels.hashes] +sha256 = "9121e2c1fdb355232495be3194c8dfe87ccc2d5dee45947b78e68f499790d7a7" + +[[packages]] +name = "jaraco-classes" +version = "3.4.0" +index = "https://pypi.org/simple" +marker = "(\"dev\" in dependency_groups and (platform_machine != 'ppc64le' and platform_machine != 's390x')) or (\"pkg-meta\" in dependency_groups and (platform_machine != 'ppc64le' and platform_machine != 's390x'))" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/06/c0/ed4a27bc5571b99e3cff68f8a9fa5b56ff7df1c2251cc715a652ddd26402/jaraco.classes-3.4.0.tar.gz" +upload-time = 2024-03-31 07:27:36+00:00 +size = 11780 + +[packages.sdist.hashes] +sha256 = "47a024b51d0239c0dd8c8540c6c7f484be3b8fcf0b2d85c13825780d3b3f3acd" + +[[packages.wheels]] +name = "jaraco_classes-3.4.0-py3-none-any.whl" +url = "https://files.pythonhosted.org/packages/7f/66/b15ce62552d84bbfcec9a4873ab79d993a1dd4edb922cbfccae192bd5b5f/jaraco.classes-3.4.0-py3-none-any.whl" +upload-time = 2024-03-31 07:27:34+00:00 +size = 6777 + +[packages.wheels.hashes] +sha256 = "f662826b6bed8cace05e7ff873ce0f9283b5c924470fe664fff1c2f00f581790" + +[[packages]] +name = "jaraco-context" +version = "6.1.2" +index = "https://pypi.org/simple" +marker = "(\"dev\" in dependency_groups and (platform_machine != 'ppc64le' and platform_machine != 's390x')) or (\"pkg-meta\" in dependency_groups and (platform_machine != 'ppc64le' and platform_machine != 's390x'))" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/af/50/4763cd07e722bb6285316d390a164bc7e479db9d90daa769f22578f698b4/jaraco_context-6.1.2.tar.gz" +upload-time = 2026-03-20 22:13:33+00:00 +size = 16801 + +[packages.sdist.hashes] +sha256 = "f1a6c9d391e661cc5b8d39861ff077a7dc24dc23833ccee564b234b81c82dfe3" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/f2/58/bc8954bda5fcda97bd7c19be11b85f91973d67a706ed4a3aec33e7de22db/jaraco_context-6.1.2-py3-none-any.whl" +upload-time = 2026-03-20 22:13:32+00:00 +size = 7871 + +[packages.wheels.hashes] +sha256 = "bf8150b79a2d5d91ae48629d8b427a8f7ba0e1097dd6202a9059f29a36379535" + +[[packages]] +name = "jaraco-functools" +version = "4.6.0" +index = "https://pypi.org/simple" +marker = "(\"dev\" in dependency_groups and (platform_machine != 'ppc64le' and platform_machine != 's390x')) or (\"pkg-meta\" in dependency_groups and (platform_machine != 'ppc64le' and platform_machine != 's390x'))" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/6c/1f/c23395957d41ccf27c4e535c3d334c4051e5395b3752057ba4cbaec35c56/jaraco_functools-4.6.0.tar.gz" +upload-time = 2026-07-14 01:28:02+00:00 +size = 20837 + +[packages.sdist.hashes] +sha256 = "880c577ec9720b3a052d5bc611fb9f2269b3d87902ef42440df443b88e443280" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/02/36/ecc85bc96c273dc8a11273ed4782272975e6338d4a3e9228621175edf0e3/jaraco_functools-4.6.0-py3-none-any.whl" +upload-time = 2026-07-14 01:28:01+00:00 +size = 11677 + +[packages.wheels.hashes] +sha256 = "99e3dc0060c5cbe8fcd1cdb36258e2a65ca40f1566b2033b12abb1bb44dd3c30" + +[[packages]] +name = "jeepney" +version = "0.9.0" +index = "https://pypi.org/simple" +marker = "(\"dev\" in dependency_groups and (platform_machine != 'ppc64le' and platform_machine != 's390x' and sys_platform == 'linux')) or (\"pkg-meta\" in dependency_groups and (platform_machine != 'ppc64le' and platform_machine != 's390x' and sys_platform == 'linux'))" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/7b/6f/357efd7602486741aa73ffc0617fb310a29b588ed0fd69c2399acbb85b0c/jeepney-0.9.0.tar.gz" +upload-time = 2025-02-27 18:51:01+00:00 +size = 106758 + +[packages.sdist.hashes] +sha256 = "cf0e9e845622b81e4a28df94c40345400256ec608d0e55bb8a3feaa9163f5732" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/b2/a3/e137168c9c44d18eff0376253da9f1e9234d0239e0ee230d2fee6cea8e55/jeepney-0.9.0-py3-none-any.whl" +upload-time = 2025-02-27 18:51:00+00:00 +size = 49010 + +[packages.wheels.hashes] +sha256 = "97e5714520c16fc0a45695e5365a2e11b81ea79bba796e26f9f1d178cb182683" + +[[packages]] +name = "jinja2" +version = "3.1.6" +index = "https://pypi.org/simple" +marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"type\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/df/bf/f7da0350254c0ed7c72f3e33cef02e048281fec7ecec5f032d4aac52226b/jinja2-3.1.6.tar.gz" +upload-time = 2025-03-05 20:05:02+00:00 +size = 245115 + +[packages.sdist.hashes] +sha256 = "0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl" +upload-time = 2025-03-05 20:05:00+00:00 +size = 134899 + +[packages.wheels.hashes] +sha256 = "85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67" + +[[packages]] +name = "keyring" +version = "25.7.0" +index = "https://pypi.org/simple" +marker = "(\"dev\" in dependency_groups and (platform_machine != 'ppc64le' and platform_machine != 's390x')) or (\"pkg-meta\" in dependency_groups and (platform_machine != 'ppc64le' and platform_machine != 's390x'))" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/43/4b/674af6ef2f97d56f0ab5153bf0bfa28ccb6c3ed4d1babf4305449668807b/keyring-25.7.0.tar.gz" +upload-time = 2025-11-16 16:26:09+00:00 +size = 63516 + +[packages.sdist.hashes] +sha256 = "fe01bd85eb3f8fb3dd0405defdeac9a5b4f6f0439edbb3149577f244a2e8245b" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/81/db/e655086b7f3a705df045bf0933bdd9c2f79bb3c97bfef1384598bb79a217/keyring-25.7.0-py3-none-any.whl" +upload-time = 2025-11-16 16:26:08+00:00 +size = 39160 + +[packages.wheels.hashes] +sha256 = "be4a0b195f149690c166e850609a477c532ddbfbaed96a404d4e43f8d5e2689f" + +[[packages]] +name = "markdown-it-py" +version = "4.2.0" +index = "https://pypi.org/simple" +marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"pkg-meta\" in dependency_groups or \"type\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/06/ff/7841249c247aa650a76b9ee4bbaeae59370dc8bfd2f6c01f3630c35eb134/markdown_it_py-4.2.0.tar.gz" +upload-time = 2026-05-07 12:08:28+00:00 +size = 82454 + +[packages.sdist.hashes] +sha256 = "04a21681d6fbb623de53f6f364d352309d4094dd4194040a10fd51833e418d49" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/b3/81/4da04ced5a082363ecfa159c010d200ecbd959ae410c10c0264a38cac0f5/markdown_it_py-4.2.0-py3-none-any.whl" +upload-time = 2026-05-07 12:08:27+00:00 +size = 91687 + +[packages.wheels.hashes] +sha256 = "9f7ebbcd14fe59494226453aed97c1070d83f8d24b6fc3a3bcf9a38092641c4a" + +[[packages]] +name = "markupsafe" +version = "3.0.4" +index = "https://pypi.org/simple" +marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"type\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/38/9b/e422a865e1d5d57d0e509b4e0bf1c1a70a7f6382c29a5aa428df994c8bc8/markupsafe-3.0.4.tar.gz" +upload-time = 2026-10-02 23:07:22+00:00 +size = 153777 + +[packages.sdist.hashes] +sha256 = "2e9ad7dd851bf45fab9f75cbff4cb493fee9979e8d8c7c9c3ee119022518edd6" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/32/55/18dbb4778b30ada5ce071608503cc3edc9e14e13d868c17a6d178fc30f7a/markupsafe-3.0.4-cp311-cp311-macosx_10_9_x86_64.whl" +upload-time = 2026-10-02 23:04:36+00:00 +size = 11520 + +[packages.wheels.hashes] +sha256 = "9e25feb9e330b63edb0278a0acdf85e50d0cb0fbf49c3084abbe4e24ae195346" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/6c/14/0b05f79b4733e264a18d08fe08fa1df7347630ff32a6cb82180d9dccec55/markupsafe-3.0.4-cp311-cp311-macosx_11_0_arm64.whl" +upload-time = 2026-10-02 23:04:37+00:00 +size = 12063 + +[packages.wheels.hashes] +sha256 = "7d3391b2188d18737cb2fa147028b1096236eaa7e156446c650a489fa2cadc91" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/ca/3a/63ba10b6c1463216b3e4df669a9f0e5a3b0c3071557d2e8229e3968c79fb/markupsafe-3.0.4-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" +upload-time = 2026-10-02 23:04:38+00:00 +size = 24321 + +[packages.wheels.hashes] +sha256 = "849dd2bb0e5e4ab2b71c7191726a4a8d5aa8a610daa584728cbee0b710ddc4ef" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/1a/2e/5f015261b76ad633d187ef6f388b413aedd64a8773c4df59e530a0be5525/markupsafe-3.0.4-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl" +upload-time = 2026-10-02 23:04:39+00:00 +size = 28845 + +[packages.wheels.hashes] +sha256 = "befb4158af32106b9a93db8d6d1d1cbbd418c0d5aca0cabb7b1780abf0c89169" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/33/cf/26e594b26be40c2f1fec63ccf8a8b99d0335a5b2cbe84835c7d82a994375/markupsafe-3.0.4-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" +upload-time = 2026-10-02 23:04:40+00:00 +size = 24701 + +[packages.wheels.hashes] +sha256 = "71f88e749ea29f67f21f3b36433c1dc54c7729ed2a6d9e2da2e0d9e0d7b224eb" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/81/a5/a513b76c139a3915b43404324e55c0b7979ae4f0d39eb6f075b0282e90a8/markupsafe-3.0.4-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" +upload-time = 2026-10-02 23:04:41+00:00 +size = 22961 + +[packages.wheels.hashes] +sha256 = "6da83a088f8ef93b2d483a8232a4dbf4d69d3d8496b568a03c56becac43e1808" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/46/cf/4c66192c100b4542bcbe392ae06696b670f66927be3ac38a213234778ff9/markupsafe-3.0.4-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" +upload-time = 2026-10-02 23:04:42+00:00 +size = 21920 + +[packages.wheels.hashes] +sha256 = "8f0fac8b13d14bb06c68195f849371924ae53dd7b1c00fed24650f704383b692" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/cb/17/ac3662678bfbad649893117ada2ba44dc30bf56884e84f13154a792b10f1/markupsafe-3.0.4-cp311-cp311-musllinux_1_2_aarch64.whl" +upload-time = 2026-10-02 23:04:43+00:00 +size = 23726 + +[packages.wheels.hashes] +sha256 = "4a7cdc2a420ca01058182da4253329764d4bfa055564d1eced90e6ba1e8b1d3d" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/f7/af/fe47cee339180a69ebca3c57fb3483d0f5cbd1e8337d1871fb1d9c1aebee/markupsafe-3.0.4-cp311-cp311-musllinux_1_2_armv7l.whl" +upload-time = 2026-10-02 23:04:44+00:00 +size = 22539 + +[packages.wheels.hashes] +sha256 = "83b3944fea42a8400edf92fd1770fb8d0d4f7de651353bd2d8525a92dba69a21" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/12/32/d55440ba140442800e02d799c9cb5ab597bf6ebdb1177b5ea39a11f797bd/markupsafe-3.0.4-cp311-cp311-musllinux_1_2_ppc64le.whl" +upload-time = 2026-10-02 23:04:45+00:00 +size = 23963 + +[packages.wheels.hashes] +sha256 = "8138eb83940ec7299024d92d4dee45f601b9e6c5ffde9d25f4e35e326203c707" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/50/9d/9c86042cb364c2ad4c971e6d1247929effd25f714cd7ee11b05e6316445b/markupsafe-3.0.4-cp311-cp311-musllinux_1_2_riscv64.whl" +upload-time = 2026-10-02 23:04:46+00:00 +size = 21506 + +[packages.wheels.hashes] +sha256 = "811d02d5122171c1941357efd8f9bf4ffe907b7f0a1a4e729a880e4be3f46e3e" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/75/ef/5b824f03ba40c3b3652b6272d083d2fc4fcdd440de519a3a39ba2c3e7262/markupsafe-3.0.4-cp311-cp311-musllinux_1_2_x86_64.whl" +upload-time = 2026-10-02 23:04:47+00:00 +size = 22955 + +[packages.wheels.hashes] +sha256 = "50b5bedc9ed8a94fc8857a42ef4f84a81ea88f8d4f05dc8705fb23ee6d8dcca7" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/1e/e8/44cfcb5ea40e5e43cec7793ef90704ed0c475280839076c4345757eb8e59/markupsafe-3.0.4-cp311-cp311-win32.whl" +upload-time = 2026-10-02 23:04:48+00:00 +size = 14094 + +[packages.wheels.hashes] +sha256 = "2e5a7cd7fdd14fcb1ae5d7d8bf23d24fbd1daefd1fbca2580132e1ea75f098b5" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/91/89/f2b509f7bf79352e40117824c1070dbeafd4df67031d3fa98165a3134228/markupsafe-3.0.4-cp311-cp311-win_amd64.whl" +upload-time = 2026-10-02 23:04:49+00:00 +size = 14328 + +[packages.wheels.hashes] +sha256 = "fdb4ca07ab75ffadab4a8b135ad59cdbb3156b99310f3d565370da74a15d6bd3" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/2b/5a/ccf22672a0f64dc682306e288f0dabcb06c7a201f3bb6e6cbf86d9e8ad03/markupsafe-3.0.4-cp311-cp311-win_arm64.whl" +upload-time = 2026-10-02 23:04:50+00:00 +size = 14188 + +[packages.wheels.hashes] +sha256 = "569d65055d367e3dcdf30c3f41119467b73d9ee9faf332bdf40402644f5ac08e" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/81/09/4c59d56b8461ae8eb0d8ba34bb25b7e618547044679d58a82ef9b2479fc1/markupsafe-3.0.4-cp312-cp312-macosx_10_13_x86_64.whl" +upload-time = 2026-10-02 23:04:51+00:00 +size = 11658 + +[packages.wheels.hashes] +sha256 = "61631e08084be9e21a8967ec3139c7616ed7c5e9368e05c86d1b39562c8a57b6" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/a2/f0/d6613774d86fbf6d145751d43c59875e47a6f9f17daee0aef173bd36d90e/markupsafe-3.0.4-cp312-cp312-macosx_11_0_arm64.whl" +upload-time = 2026-10-02 23:04:52+00:00 +size = 12050 + +[packages.wheels.hashes] +sha256 = "0930db9bdc62d22944e10b066448bb65dc9abe9112880c7cab8da54db4284d5f" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/0d/f2/8f18e0b806eb13c1f8d07d917a720831ead54253a6dec011fbc78098a6f8/markupsafe-3.0.4-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" +upload-time = 2026-10-02 23:04:53+00:00 +size = 24363 + +[packages.wheels.hashes] +sha256 = "6a45c3d514f2436064db00d7fc8778d888f0236ebfed649b53d13a59e69ad51b" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/60/ce/fa07dbe8a5675558fa36dea033e19995bc783de2dec5f540ccb9030b06aa/markupsafe-3.0.4-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl" +upload-time = 2026-10-02 23:04:54+00:00 +size = 28525 + +[packages.wheels.hashes] +sha256 = "1e1451fab512d1bcc3dc26988ec1edb0b82c2db909132872cd9356070a6b63df" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/85/40/be87c01f3868ec217f8a2015089d71c22c8c5a75324822e5ed1cdd87210d/markupsafe-3.0.4-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" +upload-time = 2026-10-02 23:04:56+00:00 +size = 24733 + +[packages.wheels.hashes] +sha256 = "bd3ce56ae2cbae3ba82b683bc425cd7e48d2ed8b10f3e818186b6f5646d9271c" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/4f/a7/aeedb5140afa41fc74c225e9184ab96723a6e873b6ee1c9fede7283456d8/markupsafe-3.0.4-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" +upload-time = 2026-10-02 23:04:57+00:00 +size = 22985 + +[packages.wheels.hashes] +sha256 = "8e124f974786f831d6043728e38296969d3579db8896fe004682f5758e613581" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/c3/fc/e91352bb08c6a59da3ef0909d457bf95a5f5908fbf151b30a06d9dbcfbb4/markupsafe-3.0.4-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" +upload-time = 2026-10-02 23:04:58+00:00 +size = 22001 + +[packages.wheels.hashes] +sha256 = "c02e8f18bdedba082cef725942ac823b9b60656db07f7e265cb31618dfd00d77" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/5d/f8/bffee5e7d2a3deb59748a797650a48af7e672025cf641a79344a771ad106/markupsafe-3.0.4-cp312-cp312-musllinux_1_2_aarch64.whl" +upload-time = 2026-10-02 23:04:59+00:00 +size = 23793 + +[packages.wheels.hashes] +sha256 = "9f098115c247e11d138ab83a28fa0323c77015007ea2df73ba5fd714dfefd67c" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/ed/59/b853d6628ecb4d658e1d637224846d5e9bb4adf4f8df97f3be9f29dce2ec/markupsafe-3.0.4-cp312-cp312-musllinux_1_2_armv7l.whl" +upload-time = 2026-10-02 23:05:00+00:00 +size = 22640 + +[packages.wheels.hashes] +sha256 = "d5f93ebbeb8032d47e349328ec8662d973d9b05a70b3c35df1f91fe419b84749" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/09/b2/1506df394f0f075797c418d0301498f49e43be194e3ffcb49e6fe6ccf022/markupsafe-3.0.4-cp312-cp312-musllinux_1_2_ppc64le.whl" +upload-time = 2026-10-02 23:05:01+00:00 +size = 24074 + +[packages.wheels.hashes] +sha256 = "64511c54db4e4987aef4c41923235927428729e8174c5dba488429be70a998ed" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/c7/81/5ed69cda630ac69ef60d06c09ba5a7f84ff66a2e28cf986fd5614ab3c6e6/markupsafe-3.0.4-cp312-cp312-musllinux_1_2_riscv64.whl" +upload-time = 2026-10-02 23:05:03+00:00 +size = 21563 + +[packages.wheels.hashes] +sha256 = "e1a622f13970d81f95d0c72f9dc090dce9085fccfa4c9f2174377ee32bd15786" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/0c/fe/fb1e79be0fea60aa32602ebefc9c35a82bb42b4df157285ab7dfec12341a/markupsafe-3.0.4-cp312-cp312-musllinux_1_2_x86_64.whl" +upload-time = 2026-10-02 23:05:04+00:00 +size = 23048 + +[packages.wheels.hashes] +sha256 = "c9a7f43c0b202b334cc9184af09bb8f21d3a209e038efaf106936fb69e6b026e" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/c8/52/7632a53360671a9b750cdbabaf9cdd89f18b42248b8e4cb42c0b0296e459/markupsafe-3.0.4-cp312-cp312-win32.whl" +upload-time = 2026-10-02 23:05:05+00:00 +size = 14108 + +[packages.wheels.hashes] +sha256 = "f0ec3b750b59375eab5b0fb2b9254810c00a3375be6d789899f1055a1d556237" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/3f/bf/62495e180b7000aaf30000fff849e933f74264638057176cf46852500adc/markupsafe-3.0.4-cp312-cp312-win_amd64.whl" +upload-time = 2026-10-02 23:05:06+00:00 +size = 14303 + +[packages.wheels.hashes] +sha256 = "11935df9bf455ed0c04eb87bcd720f02b1fe5e02128a9430f23aed6f93336fc7" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/c5/8e/4c24208776a65878d656996945aacfbfe010d3720d1a98fc0eb8491fc03b/markupsafe-3.0.4-cp312-cp312-win_arm64.whl" +upload-time = 2026-10-02 23:05:07+00:00 +size = 14174 + +[packages.wheels.hashes] +sha256 = "a4bbd2d87dd233b9fc5812160c3d0ffbe42edc22a26ce0469f58479ede633fe9" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/6d/18/4bc5ba32499e87bb2b0ef5b3a9bb9c00a131fa961ddf0be548cb550f548b/markupsafe-3.0.4-cp313-cp313-android_24_arm64_v8a.whl" +upload-time = 2026-10-02 23:05:08+00:00 +size = 12786 + +[packages.wheels.hashes] +sha256 = "de8b364c423ef0a4bad9069657d617f9a5d2b2062457a89b1fa16ee199c399c1" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/4e/6f/17f0c099bf25f3e31e63cc19244d9f6af861a9a4ab778c203997903cfdd0/markupsafe-3.0.4-cp313-cp313-android_24_x86_64.whl" +upload-time = 2026-10-02 23:05:09+00:00 +size = 12510 + +[packages.wheels.hashes] +sha256 = "34bdde374c5932765d7dc685c4a1d191a3207852d67e8e0a9eb6ea85156181f1" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/11/af/1a141081b905036ee904ec4bd945e1f70b4e1b32d33c4e59e8cf1d58b247/markupsafe-3.0.4-cp313-cp313-ios_13_0_arm64_iphoneos.whl" +upload-time = 2026-10-02 23:05:10+00:00 +size = 11583 + +[packages.wheels.hashes] +sha256 = "6bd9e1788e15bfcf6a9082de42e30387e7b85d211ab21e57a939bb8cfaaf8d96" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/e7/0a/a89385ae590232622a03e091805cff12f24fabe6c11e0e8bae096cece81c/markupsafe-3.0.4-cp313-cp313-ios_13_0_arm64_iphonesimulator.whl" +upload-time = 2026-10-02 23:05:11+00:00 +size = 11801 + +[packages.wheels.hashes] +sha256 = "5066b244f576f91afc8ee3ba029a89f99d39c79b1853fe9d39bea9f0afbec148" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/ed/85/ea548dc013962eb73653124bc595635fbf9e0fa41d1f181a967ccb784dfb/markupsafe-3.0.4-cp313-cp313-ios_13_0_x86_64_iphonesimulator.whl" +upload-time = 2026-10-02 23:05:12+00:00 +size = 11443 + +[packages.wheels.hashes] +sha256 = "7a83aa6e4805df46fed18e989d3d16f86ef60cb50bbc8d9ce3a6be89165fbf6e" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/cc/72/15f2e5ec9cf2eb00d5cdfe968d94e4156a7bd7303832c3f3b2c403a36839/markupsafe-3.0.4-cp313-cp313-macosx_10_13_x86_64.whl" +upload-time = 2026-10-02 23:05:13+00:00 +size = 11665 + +[packages.wheels.hashes] +sha256 = "2d1b7d9308288661f56672b1b157d75fc536714d3638487bbea17b6318a78248" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/ca/e0/4030bea613677e333c8a2c901fd405055f657f9d06acba5b7357984b6ef7/markupsafe-3.0.4-cp313-cp313-macosx_11_0_arm64.whl" +upload-time = 2026-10-02 23:05:14+00:00 +size = 12061 + +[packages.wheels.hashes] +sha256 = "73e77980c7207854f00fc4e71fb1626868d5740ab4012623d55c7a99ad122a72" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/f3/a5/28b76a7449eb702966b88bef599e2360b411fbb3afeee8fe560939be06ec/markupsafe-3.0.4-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" +upload-time = 2026-10-02 23:05:15+00:00 +size = 24395 + +[packages.wheels.hashes] +sha256 = "7018d4af1cd272e847aa5917983ab5e83e4f6579f9dbfecd4a79c0ca80b144c2" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/07/6c/21232811afc3a063b5e934b1ae2efda52f46154ec382f585149c020e61fe/markupsafe-3.0.4-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl" +upload-time = 2026-10-02 23:05:16+00:00 +size = 27183 + +[packages.wheels.hashes] +sha256 = "c90d5b3d4e944e065a301d741b3c1d784f6bd1f503aa68b4967e32b2ba313d85" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/14/38/6ccdfa5b59049cb36fb80cbc80aee9cf1fc9bb77d1335ad435f2070b08cf/markupsafe-3.0.4-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" +upload-time = 2026-10-02 23:05:18+00:00 +size = 24772 + +[packages.wheels.hashes] +sha256 = "18a801868a884f216e784d7d14db2a4077143ce7610440aee2ce8f734e7cfcde" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/63/e0/cec6865dfe88cb48fedd4b20aed6af5158e41092adcbf3e028bcc6ec2108/markupsafe-3.0.4-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" +upload-time = 2026-10-02 23:05:19+00:00 +size = 23017 + +[packages.wheels.hashes] +sha256 = "434139499bb20b502ed3baa1f169e618f924a97e7a777fea1a49446d80106cf6" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/ee/76/6ed4940bb7648a9aac457c14f870cfdd5105f139a0fb1f29cd61fafa47d1/markupsafe-3.0.4-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" +upload-time = 2026-10-02 23:05:20+00:00 +size = 22036 + +[packages.wheels.hashes] +sha256 = "9e227f3dbe6bde7491cf0a9965d00b88c6b1a4a95d11480ddf88bb96d397c19f" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/a1/4f/ed476226d4fe46a09090a36025bf319296810028df55eb12f1253b540f3a/markupsafe-3.0.4-cp313-cp313-musllinux_1_2_aarch64.whl" +upload-time = 2026-10-02 23:05:21+00:00 +size = 23786 + +[packages.wheels.hashes] +sha256 = "b8cd1f918b26fd7b1832ece557cc18f2d8747309ff8b3f0ef9d4250c5ad67a39" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/9a/35/66ff30450e35ef5fba9ebc930c9411747e537fd9447b65e44f5007e2b84d/markupsafe-3.0.4-cp313-cp313-musllinux_1_2_armv7l.whl" +upload-time = 2026-10-02 23:05:22+00:00 +size = 22672 + +[packages.wheels.hashes] +sha256 = "a5fcffb37e602b0b3c1638a97746b9b96125caa9bcf6fa41d337a9261de231ee" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/32/0b/72f45ce4b4efcbca4b80cf1b06703eff0be8d37e82abb78f66c85a7ead1e/markupsafe-3.0.4-cp313-cp313-musllinux_1_2_ppc64le.whl" +upload-time = 2026-10-02 23:05:24+00:00 +size = 24107 + +[packages.wheels.hashes] +sha256 = "5989cb26b2e1efc6a42216a9f6b5ee495ce5ace2e5b352a9af489976b32d1ee2" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/d2/03/71776e5fdcba04614b384cc102e8a4198208579d896fd1394cb7cb9aa900/markupsafe-3.0.4-cp313-cp313-musllinux_1_2_riscv64.whl" +upload-time = 2026-10-02 23:05:25+00:00 +size = 21615 + +[packages.wheels.hashes] +sha256 = "add96447a86d205ab616665d53b2950ee81083757f56e6ea833c8b2917646b46" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/ab/5f/801ce02a02e7aee0f784b1ec7843026178f6adeb9c93ac67eb1992a9a84d/markupsafe-3.0.4-cp313-cp313-musllinux_1_2_x86_64.whl" +upload-time = 2026-10-02 23:05:26+00:00 +size = 23076 + +[packages.wheels.hashes] +sha256 = "2628d3a8cb648ecebb3c5d6b0a1052d400e4d8b7ac0fb786be8d285b50040d17" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/4a/85/c43776625428f3bb4a61e8633940400e3efe6409e3c6f5bff26de5e45618/markupsafe-3.0.4-cp313-cp313-win32.whl" +upload-time = 2026-10-02 23:05:27+00:00 +size = 14118 + +[packages.wheels.hashes] +sha256 = "672d207103e6b16ca098611b0f9efad6bc00afd47c03d6ef62186495ca677dc0" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/6f/36/163da64de88a13db79214ef75fa041be7fa13bdb42261cf5b7484de14bfb/markupsafe-3.0.4-cp313-cp313-win_amd64.whl" +upload-time = 2026-10-02 23:05:28+00:00 +size = 14313 + +[packages.wheels.hashes] +sha256 = "1f1f9477e174582b0a1b583d60b66e1f2cf5d3fe12cee985e4aedf44766600e5" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/9f/a8/9b662783ffaa1149221432a923cee562f78b9cbbb8baa3df9b3753e63e1e/markupsafe-3.0.4-cp313-cp313-win_arm64.whl" +upload-time = 2026-10-02 23:05:29+00:00 +size = 14189 + +[packages.wheels.hashes] +sha256 = "06de8ef6331f6e822c28d577dc8bf43fe398800477c49498f38fc38b67ff33fc" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/5c/c3/a944f3b0df22bd129e96915b9f4e98d2eeca6516687d7618304a966c3c74/markupsafe-3.0.4-cp314-cp314-android_24_arm64_v8a.whl" +upload-time = 2026-10-02 23:05:30+00:00 +size = 12787 + +[packages.wheels.hashes] +sha256 = "4ed644d75aa94a2baf7ec3a96eaa160ea58c742eb9d27c6506053c5c40fc84ed" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/d4/d6/a44863f69d88b6c7e27889108f70d47aed259edf89d5df3c5fca1eac87d6/markupsafe-3.0.4-cp314-cp314-android_24_x86_64.whl" +upload-time = 2026-10-02 23:05:32+00:00 +size = 12525 + +[packages.wheels.hashes] +sha256 = "6d2a9efe686f9de00d0d1ea32a4a5a86d558a2277501bd78d964214eab625e59" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/17/8f/168ba80e532dd6a93f96f8f706f1ad41d7990b6e1aeedc1cc0d211a33497/markupsafe-3.0.4-cp314-cp314-ios_13_0_arm64_iphoneos.whl" +upload-time = 2026-10-02 23:05:33+00:00 +size = 11589 + +[packages.wheels.hashes] +sha256 = "8781a792a070cf2bd1b86d3aa943894115faaba6e88122a7bf32d62072742453" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/32/b3/aa2c95a574d3af39403a469b295886eb9b6d448da568cbebb5a2cbfdc2e5/markupsafe-3.0.4-cp314-cp314-ios_13_0_arm64_iphonesimulator.whl" +upload-time = 2026-10-02 23:05:34+00:00 +size = 11801 + +[packages.wheels.hashes] +sha256 = "971a3bbb75d97ae4e2e8f7d4834236f86f85f0c85e04ab2e191db1123b04f80b" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/60/d0/34b810107d83840e768bf485de795893ebbae35b26ab061b487adfa0a692/markupsafe-3.0.4-cp314-cp314-ios_13_0_x86_64_iphonesimulator.whl" +upload-time = 2026-10-02 23:05:35+00:00 +size = 11447 + +[packages.wheels.hashes] +sha256 = "8909c2f1c6dd65e054ac4b573a91c8384d1492281e55d82d159d653f7a13adf6" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/6c/ab/2f8488f0f817a39fca068d2b17daf446bf5cdb3eae28c3720af534d873b4/markupsafe-3.0.4-cp314-cp314-macosx_10_15_x86_64.whl" +upload-time = 2026-10-02 23:05:36+00:00 +size = 11722 + +[packages.wheels.hashes] +sha256 = "4cf3468d5ec187ffffcaca8e61929a37448f215dafc1386a12c750a72fe53634" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/ad/40/e2d117b048d47282ade906fbfd92814cbee5647afc13fda88a3406039372/markupsafe-3.0.4-cp314-cp314-macosx_11_0_arm64.whl" +upload-time = 2026-10-02 23:05:37+00:00 +size = 12061 + +[packages.wheels.hashes] +sha256 = "52704c5d36eb6dda8866493decd61111fff86244c9b1ad225ca01b9e91e5970f" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/9a/a8/73a81135e85ba66217f5af7facb03bbb386807e1a729ab64532e4c802652/markupsafe-3.0.4-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" +upload-time = 2026-10-02 23:05:38+00:00 +size = 24434 + +[packages.wheels.hashes] +sha256 = "1caa2fa5a6184fb233153b35f654e6687bd555476f6170f29d8ee9be1a8b0af9" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/ac/ca/fa9216dd01efee2dfdacafe7df32b4d0170fbac694b0c258a193d6e53999/markupsafe-3.0.4-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl" +upload-time = 2026-10-02 23:05:39+00:00 +size = 27183 + +[packages.wheels.hashes] +sha256 = "387d8cd30e69b3f0a72877b9ae717033396404e19095b17fe89753a981fda44f" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/fa/4e/a469509e538d37af51103b17b073126973f2b1cbf197ff32c7ddf025cfe5/markupsafe-3.0.4-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" +upload-time = 2026-10-02 23:05:40+00:00 +size = 24813 + +[packages.wheels.hashes] +sha256 = "051417f74bcaaefa316276e0ff723f541616ca51043d070da00249d9bddd3e3c" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/8f/db/d7282caf7ab03af44d5d6fdbaa019b35c7d7f1c90588b839c07cba640d6a/markupsafe-3.0.4-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" +upload-time = 2026-10-02 23:05:41+00:00 +size = 23049 + +[packages.wheels.hashes] +sha256 = "a8e9f292fcda89b324f2f5c91d13f1424a153e40fc2756f38ee23b15835ff300" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/30/f3/b6a425206e6964efda6acee544d0eb01d1501784d0b8e2dcc74986f33b17/markupsafe-3.0.4-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" +upload-time = 2026-10-02 23:05:43+00:00 +size = 22088 + +[packages.wheels.hashes] +sha256 = "df1ae86ff54725a01fa1a0510b914ca53a161b7050be74f6204e24aded5971d0" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/ea/8a/84d3582fc1f0d5bd466cdf2eebf175e172158a6e70701aacec1de1b35430/markupsafe-3.0.4-cp314-cp314-musllinux_1_2_aarch64.whl" +upload-time = 2026-10-02 23:05:44+00:00 +size = 23846 + +[packages.wheels.hashes] +sha256 = "8965520ac587c94a4ac48b729be3d8b8de00af39699b17585dfb599babe77977" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/1c/65/db101cce51b7ba4864ac491a9859d297dd1adf0e55b103fee9db9c47c527/markupsafe-3.0.4-cp314-cp314-musllinux_1_2_armv7l.whl" +upload-time = 2026-10-02 23:05:45+00:00 +size = 22674 + +[packages.wheels.hashes] +sha256 = "340cbb1957ba99929cbf19a75626d36ba1ae21d1730b287d1cf7f824a20c4fc7" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/e0/49/ddee9813d71db0c7a5c9d97c832125e6758a0c844777f1cf076569bb0e22/markupsafe-3.0.4-cp314-cp314-musllinux_1_2_ppc64le.whl" +upload-time = 2026-10-02 23:05:46+00:00 +size = 24104 + +[packages.wheels.hashes] +sha256 = "3a93d9616ddecfb393727a0041a562cf0b15a244e20f2bd25efc7949be4c4f17" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/aa/0e/7d8518d726726870a2399d69fd30d0fa36c5e57a2132c336b58d7c491073/markupsafe-3.0.4-cp314-cp314-musllinux_1_2_riscv64.whl" +upload-time = 2026-10-02 23:05:47+00:00 +size = 21637 + +[packages.wheels.hashes] +sha256 = "d2e56fd3b00222722abfb3f5f0759ddbae4b90811b5ad4343c64030ad1bde70c" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/b4/b0/b505e8a361ba557dbf3b3aa7331ea39b00d2022a26e925ff8463b9714bb3/markupsafe-3.0.4-cp314-cp314-musllinux_1_2_x86_64.whl" +upload-time = 2026-10-02 23:05:48+00:00 +size = 23081 + +[packages.wheels.hashes] +sha256 = "0d9c47709875fdb321452056622e930c52afbc07a7d780762fbb8b4d91ce6fa4" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/1c/ea/9cc3cea873f980c75cbdb6f4277ce30ee955de38be0b3d02f14c108e0698/markupsafe-3.0.4-cp314-cp314-win32.whl" +upload-time = 2026-10-02 23:05:49+00:00 +size = 14272 + +[packages.wheels.hashes] +sha256 = "38fc55594dab834470b6733dead2ee9e3f657fb0608c769dcafa0ba5ab52f45c" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/80/f0/5792ff768a410f93ee3f84fc19345295ffc352d2c936b424cb37e514714c/markupsafe-3.0.4-cp314-cp314-win_amd64.whl" +upload-time = 2026-10-02 23:05:50+00:00 +size = 14501 + +[packages.wheels.hashes] +sha256 = "c1bc67752d5f21013cfe430df4062441714eab79f65a6a05e01505957e9c35fe" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/5f/cf/3d074a8edffcc6899355232ff2543ae8d929733239596423b7db79698bc9/markupsafe-3.0.4-cp314-cp314-win_arm64.whl" +upload-time = 2026-10-02 23:05:51+00:00 +size = 14364 + +[packages.wheels.hashes] +sha256 = "7e1636da3d8dfc220b6dd10264db5f2b165e4888c4518594898fbe381049af8a" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/d9/31/87ce42159aae2163cf3bbbd0c44bc87780510eecab1ea3859099aed95dcb/markupsafe-3.0.4-cp314-cp314t-macosx_10_15_x86_64.whl" +upload-time = 2026-10-02 23:05:52+00:00 +size = 11759 + +[packages.wheels.hashes] +sha256 = "805c8b84534fa10891890f0e4be39f3a99e94615d93e8836bf9fa1fdca2feeb2" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/5f/53/b047207eeb7752e960aca3eb1df5fb7eefa7dd4c62ac49bb156456c8a702/markupsafe-3.0.4-cp314-cp314t-macosx_11_0_arm64.whl" +upload-time = 2026-10-02 23:05:54+00:00 +size = 12096 + +[packages.wheels.hashes] +sha256 = "fa95848c929b6a75f6848d3c9793e59db365ee436776e57db835cdbfa79ba977" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/ee/51/4326c88a13c7b755657d44b4bb986f8c3d9843ecba7e22d98661d87f9a57/markupsafe-3.0.4-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" +upload-time = 2026-10-02 23:05:55+00:00 +size = 25699 + +[packages.wheels.hashes] +sha256 = "e916035e3e9930cbdfdd10abf48861340221857f45509565898e012263f7b289" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/f2/bb/990581b7474bfcf2cf34bed6ba5ea23bd87adb9d671213d68e88620e7a6b/markupsafe-3.0.4-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl" +upload-time = 2026-10-02 23:05:56+00:00 +size = 27804 + +[packages.wheels.hashes] +sha256 = "b4d12837e0203bbace818ff4a7461afdcd78bcd782351cea148139180d7bcffe" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/6b/89/89491878c28e8291f5aa2fffe2c2d57230d10ae366d55dd810b840513d78/markupsafe-3.0.4-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" +upload-time = 2026-10-02 23:05:57+00:00 +size = 25912 + +[packages.wheels.hashes] +sha256 = "5086f9975abb1ab531ee6afca1761e4b59a19b446f3f6522ed776963228cfe5a" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/30/77/680998b54efdea06fc114565cd739b6d059f826a0279219b218dfa750d29/markupsafe-3.0.4-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" +upload-time = 2026-10-02 23:05:58+00:00 +size = 23623 + +[packages.wheels.hashes] +sha256 = "b4a635a0487774f841cb1fb62e907e7195cc95bc761e053184b8acc3ceb20733" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/ae/75/2709f5ac5de9467b40b10e2bb8f89cc63dfb74582e09aa734b1124a217de/markupsafe-3.0.4-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" +upload-time = 2026-10-02 23:05:59+00:00 +size = 23301 + +[packages.wheels.hashes] +sha256 = "cb96e6e088d6cf71c1ea977510948320234824cf226e32f6f6e044f7a9c82b34" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/a0/c8/39eadc6c5b14c9c7679bfb98f4d4c6a97863b5beb91839aca4d2d6e16e55/markupsafe-3.0.4-cp314-cp314t-musllinux_1_2_aarch64.whl" +upload-time = 2026-10-02 23:06:01+00:00 +size = 24950 + +[packages.wheels.hashes] +sha256 = "8b5d563170ff8ba3181caa967c99a3c804d1dedb702c7cb93a6a7c32247da978" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/1a/5e/01037f8a43e8ccb0bffb4fbdc5212db05bf080fdd7286cd392332d58128a/markupsafe-3.0.4-cp314-cp314t-musllinux_1_2_armv7l.whl" +upload-time = 2026-10-02 23:06:02+00:00 +size = 23330 + +[packages.wheels.hashes] +sha256 = "396ec4e65cc889f69786b3b89478b471cee5a3bcf468b9d9bb03e1a30fb291fc" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/d4/f4/23e83ce0596bb0cbe670502d31df8f757bbd01a392aa486fa3b40d1ed399/markupsafe-3.0.4-cp314-cp314t-musllinux_1_2_ppc64le.whl" +upload-time = 2026-10-02 23:06:03+00:00 +size = 25239 + +[packages.wheels.hashes] +sha256 = "15ba9e28640feef770374b116a6f019c21f52404aeabe516aa7f800587b98cfc" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/88/5b/3708897368073cc683d524750474f41a77d2986152c380dcc55b20fdf340/markupsafe-3.0.4-cp314-cp314t-musllinux_1_2_riscv64.whl" +upload-time = 2026-10-02 23:06:04+00:00 +size = 22767 + +[packages.wheels.hashes] +sha256 = "d920abdfa61279ba1a2ef9484aab07bf03331f8c08a10120fa332353d06e6932" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/c6/61/ebda1307864b409e6b3115757a3d4a09cca46cfb6cc65191b5de226b424b/markupsafe-3.0.4-cp314-cp314t-musllinux_1_2_x86_64.whl" +upload-time = 2026-10-02 23:06:05+00:00 +size = 23668 + +[packages.wheels.hashes] +sha256 = "a9f54054101545a9a9cccefddf54316aa6e4491611fcbef9e91b3b6bebec04f6" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/09/15/98075cceac3b5ba0dbb8e4762a847be967d2befc349a2cf2d0ac77f62c9d/markupsafe-3.0.4-cp314-cp314t-win32.whl" +upload-time = 2026-10-02 23:06:07+00:00 +size = 14301 + +[packages.wheels.hashes] +sha256 = "12a606a492de952afcb43b59a14aaaaad120e708d3663dd0fdf2d738d427a691" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/0b/a3/768b560fcc4156685cb563d922b217810cfa7bc135773367f62f1f9d2078/markupsafe-3.0.4-cp314-cp314t-win_amd64.whl" +upload-time = 2026-10-02 23:06:08+00:00 +size = 14526 + +[packages.wheels.hashes] +sha256 = "a18f38cafc329bac5e3c2b96c765b4c96d3d103421ed22ab7988c1e3fce27464" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/93/63/da554b4c97a6b0ea3229ca7fe8cbfb620be81613d517f482e85958550537/markupsafe-3.0.4-cp314-cp314t-win_arm64.whl" +upload-time = 2026-10-02 23:06:09+00:00 +size = 14421 + +[packages.wheels.hashes] +sha256 = "eba154571c16e032112afac0dc2dfe9e63c2ceb7aedd07bb7eecf2ce26d4dd4c" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/a9/30/54d11c8ca027114898cab97421fb39e4ffd9ddf47cdbc44df2ec76722da9/markupsafe-3.0.4-cp315-cp315-android_24_arm64_v8a.whl" +upload-time = 2026-10-02 23:06:10+00:00 +size = 12791 + +[packages.wheels.hashes] +sha256 = "737c9c3981998eba27f11786f84fddcbabc74068b72a4a1f454ea02094b57b65" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/10/6d/97c913e253a14bd3cd0e15a5c56d13203b823fa7ee32498342896a072dc4/markupsafe-3.0.4-cp315-cp315-android_24_x86_64.whl" +upload-time = 2026-10-02 23:06:11+00:00 +size = 12527 + +[packages.wheels.hashes] +sha256 = "489505b03f692c3f376394e49194fa7a7f9e8558d6e293a7056a0032b0c38163" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/26/f9/b86d032042a4d597d9e1997f0e5f63a3eedaf11258e0a05760b0a0a826ea/markupsafe-3.0.4-cp315-cp315-ios_13_0_arm64_iphoneos.whl" +upload-time = 2026-10-02 23:06:13+00:00 +size = 11602 + +[packages.wheels.hashes] +sha256 = "077293e425f28ec737dbcad442a71752e28f8ae27cde3d68acd1fb212091cd92" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/f2/dc/73c14c1eedf0ac5fa3292ba43435e6c49d2c2050f33cebde541f8f4807f1/markupsafe-3.0.4-cp315-cp315-ios_13_0_arm64_iphonesimulator.whl" +upload-time = 2026-10-02 23:06:14+00:00 +size = 11817 + +[packages.wheels.hashes] +sha256 = "9348cbb300d224fe3b89793262cb093504d4ae927004468463f745188a193e4a" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/8f/69/2c2fcaa5fcee22d72c7819c0d536fd181c74a688e6143845419579cd2863/markupsafe-3.0.4-cp315-cp315-ios_13_0_x86_64_iphonesimulator.whl" +upload-time = 2026-10-02 23:06:15+00:00 +size = 11446 + +[packages.wheels.hashes] +sha256 = "b807e598953730f82e4eae3bd30f6a122cf6b31c398c6b504c0e04c13c170429" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/88/54/9e5ec76c62e6e2834d5a93623018c943e8b3bb41d663e3fd4c03303b9b85/markupsafe-3.0.4-cp315-cp315-macosx_10_15_x86_64.whl" +upload-time = 2026-10-02 23:06:16+00:00 +size = 11719 + +[packages.wheels.hashes] +sha256 = "799c39bdf5e2f1292fedd3009f7b3c9e760f10b2420cb9638d56920840ff6db8" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/96/24/3ec292b44064c16229e064d770b2625bd8ea941aa61f44905a9fa44942c0/markupsafe-3.0.4-cp315-cp315-macosx_11_0_arm64.whl" +upload-time = 2026-10-02 23:06:17+00:00 +size = 12075 + +[packages.wheels.hashes] +sha256 = "ae9dcb8fbe244cb82f8a6458b455b927a03685e383d9bacf1ea5ce180b96dc97" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/aa/85/b64fdb1f304848518742136983c24e96d967bfb59a0ea160e92736901ab0/markupsafe-3.0.4-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" +upload-time = 2026-10-02 23:06:18+00:00 +size = 24656 + +[packages.wheels.hashes] +sha256 = "4bced6e2a6dba6a28f7dd3c6ce14df1b2dd495923f16ea484cad03decd463b2b" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/9c/18/23997d4c65b355da6390d61cd56e0ab3befd6ba8dda25cb40c602bd0fa6b/markupsafe-3.0.4-cp315-cp315-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl" +upload-time = 2026-10-02 23:06:20+00:00 +size = 27737 + +[packages.wheels.hashes] +sha256 = "3882fb412298575bae3b9c46868251f15cc69307359f87bb1b382e53d6e5a2c9" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/d4/36/35998dead3c6af88c38265a56e58100211f036234ab88eb2283fd4cbce44/markupsafe-3.0.4-cp315-cp315-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" +upload-time = 2026-10-02 23:06:21+00:00 +size = 25003 + +[packages.wheels.hashes] +sha256 = "04e7902ba80ee4bac1d50a549606527a1dcf0476cd81403db41099d3b60ec653" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/82/96/ef49135ce260db4ca4a12b119ed468449cd248db6b1468e2112b546d7a2e/markupsafe-3.0.4-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" +upload-time = 2026-10-02 23:06:22+00:00 +size = 23111 + +[packages.wheels.hashes] +sha256 = "925f929d6b59a8b3f8b8c6ac363cd0af7eecc81efb3071770b3c6717c450a369" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/50/7d/83126e338bd88c17a220668235368ad719fd4638e426739858cbb8508f77/markupsafe-3.0.4-cp315-cp315-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" +upload-time = 2026-10-02 23:06:23+00:00 +size = 22403 + +[packages.wheels.hashes] +sha256 = "f68edfc67aabac33708941f26f22a7b8e9f81429bc0cf249fcf7d66b23af8d19" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/83/dd/daf7e420de23c8206c365204e7b85e1251d8e19d34196a56336f316e5ed2/markupsafe-3.0.4-cp315-cp315-musllinux_1_2_aarch64.whl" +upload-time = 2026-10-02 23:06:25+00:00 +size = 24083 + +[packages.wheels.hashes] +sha256 = "e5c802729725bd07e2bc3ab7b76dc7e0bbfc53129d8f1eb1c002c24cf774717e" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/19/3c/11eecdc06bc44ad5570350085b572ebf049e8f9a38d1ece6d76640b739cd/markupsafe-3.0.4-cp315-cp315-musllinux_1_2_armv7l.whl" +upload-time = 2026-10-02 23:06:26+00:00 +size = 22931 + +[packages.wheels.hashes] +sha256 = "55ffd6ce583d97dc71dc92e930324c8c0d25aea7e3ade6ae54ef77cedb096811" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/0d/9e/ac0fd77f2a726e56ecc3ca0235d095feace1358d1b822406c2a2ef26a4dc/markupsafe-3.0.4-cp315-cp315-musllinux_1_2_ppc64le.whl" +upload-time = 2026-10-02 23:06:27+00:00 +size = 24299 + +[packages.wheels.hashes] +sha256 = "2cb3dd71fc6be918ad4264346a8ed69485f9b7ed7bf35495d8e22807cd6b8bea" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/d7/09/c6bd842ad58ff5b3bc76eeed7e9a42a6f11adc5d090ec697b72c9672731e/markupsafe-3.0.4-cp315-cp315-musllinux_1_2_riscv64.whl" +upload-time = 2026-10-02 23:06:29+00:00 +size = 21948 + +[packages.wheels.hashes] +sha256 = "94f5407f7bc64fa6463906b896f9904beeeb7dd8dc116ee8e9056c8714ff9916" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/a3/46/82f586711fed61e86faa1ee1bc317d68cd45a10c8bdbe3f7d1fdf9026ad8/markupsafe-3.0.4-cp315-cp315-musllinux_1_2_x86_64.whl" +upload-time = 2026-10-02 23:06:30+00:00 +size = 23150 + +[packages.wheels.hashes] +sha256 = "2dad610540cb2e6272855c178f08ae9a1c7ac258a7fb71660553a5f104b42741" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/19/2d/2dfdce99318abbfa26925195fbc17db188c46a1ec6457be121b6f9cfeb42/markupsafe-3.0.4-cp315-cp315-win32.whl" +upload-time = 2026-10-02 23:06:31+00:00 +size = 14269 + +[packages.wheels.hashes] +sha256 = "03470d1a8268e692ecf79ecd565593e59d44219377a7ead61f1f1b94c1f7ff6b" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/5b/ec/6000fd82e8791e58fcd0456ec20f098957e2b03d5ed02eb73241a577c0ba/markupsafe-3.0.4-cp315-cp315-win_amd64.whl" +upload-time = 2026-10-02 23:06:33+00:00 +size = 14496 + +[packages.wheels.hashes] +sha256 = "d882a373d8093c2941e01291b7ced96e9cbe4781da9a7751ca7e6c70385e5214" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/bc/66/e73bd5016421d5d6e2fb6de7dd609f9de020942ac8c626526bd8c6eeaf82/markupsafe-3.0.4-cp315-cp315-win_arm64.whl" +upload-time = 2026-10-02 23:06:34+00:00 +size = 14361 + +[packages.wheels.hashes] +sha256 = "353bd63081912ab8cfa6a0c7d185934cdf8426f04c618bba6bc4b394f2069b67" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/90/df/cb8c3dc98d313a951df2f8968f44e4cb5643df6d3cab749a530ce2f7d972/markupsafe-3.0.4-cp315-cp315t-macosx_10_15_x86_64.whl" +upload-time = 2026-10-02 23:06:35+00:00 +size = 11760 + +[packages.wheels.hashes] +sha256 = "c61750fadcd119d0825bcb7d7d675dd264dcc89cc05292aab5be68ebdbb374ad" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/d6/bb/4af9b3ca0753d654ac75f9531d5bd741bb77ca6e696f36807c475ffc099a/markupsafe-3.0.4-cp315-cp315t-macosx_11_0_arm64.whl" +upload-time = 2026-10-02 23:06:37+00:00 +size = 12108 + +[packages.wheels.hashes] +sha256 = "1c0df495a977d10460a94941799c72d5b5ab03d3858d949b55b5a66c8f371c99" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/3f/d4/b56429313aee5fd59b079c3df5615299959e25e7113eb6d8caadbdd7d38a/markupsafe-3.0.4-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" +upload-time = 2026-10-02 23:06:38+00:00 +size = 25762 + +[packages.wheels.hashes] +sha256 = "02fa4acbc6a3fc5c693c34d4dd8c1130b7fe99cc915181b0ddd6f72aeb296002" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/65/f5/34c181e891aa4f7d59c918584672e0c5eb7fffe76c1387d1246008bf4081/markupsafe-3.0.4-cp315-cp315t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl" +upload-time = 2026-10-02 23:06:39+00:00 +size = 28400 + +[packages.wheels.hashes] +sha256 = "05295589e619b9bed252a86b532b8e27350abc372d18ba89b59375325e91ec1e" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/ce/b5/ad14694fd0ac9a5ce30bc6498f2999378f418583dd1679cca5a1b512957e/markupsafe-3.0.4-cp315-cp315t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" +upload-time = 2026-10-02 23:06:41+00:00 +size = 25946 + +[packages.wheels.hashes] +sha256 = "be6cb0c799abb0e2ba3e618e6d28ddddf7e485f6c2ce938dfa237daf3905072c" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/d6/a8/26b606445387d0ceb1eb1f21840094b84e4e3c3c3983d80d10b89823b490/markupsafe-3.0.4-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" +upload-time = 2026-10-02 23:06:42+00:00 +size = 23634 + +[packages.wheels.hashes] +sha256 = "26e9867520db70d37f7fb421a7f0d8adb40171011fb84ce869afa1a83370dfa8" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/39/a2/b8814de672f1f0094d498bf646f2fec9d6356b503d28ef500b71c5095377/markupsafe-3.0.4-cp315-cp315t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" +upload-time = 2026-10-02 23:06:44+00:00 +size = 23488 + +[packages.wheels.hashes] +sha256 = "f03460ff076f70ab595bb45a0205ccea1971443575b6920c52e755dec2b3fbfe" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/db/c7/287223376fb73335a3cc5d6eb22c6ab01358cf33945a9c39c06b9dac3f4b/markupsafe-3.0.4-cp315-cp315t-musllinux_1_2_aarch64.whl" +upload-time = 2026-10-02 23:06:45+00:00 +size = 25037 + +[packages.wheels.hashes] +sha256 = "436e3ffc6310d3c41878c601db29098102fe5d8a467c49da4a4125254e0980f2" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/f9/29/4df8355e313426d19e62ba33e0253c009ca12a0894ee77d67fa67255361c/markupsafe-3.0.4-cp315-cp315t-musllinux_1_2_armv7l.whl" +upload-time = 2026-10-02 23:06:47+00:00 +size = 23543 + +[packages.wheels.hashes] +sha256 = "4e2c4809c14559aa7ef426f27fb35afbb38104c349a903bf8f3600456764bb38" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/71/e5/8377731e8495668dcc768f645e717df18318c841edaf023a99395f6da9b4/markupsafe-3.0.4-cp315-cp315t-musllinux_1_2_ppc64le.whl" +upload-time = 2026-10-02 23:06:48+00:00 +size = 25282 + +[packages.wheels.hashes] +sha256 = "da2af0d7aebfc2074080d72efa6ab8317c62481ef1f896f65d9999c1c01f4494" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/ed/5f/373456e37ceb1478d657d6fe769cbe0a39f0a8dfc1548eeb19c471eefdd9/markupsafe-3.0.4-cp315-cp315t-musllinux_1_2_riscv64.whl" +upload-time = 2026-10-02 23:06:50+00:00 +size = 22993 + +[packages.wheels.hashes] +sha256 = "aa2c838cc024642cc04c6854232f32b43e5e22833dd11119c1766c7873b8370d" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/d7/93/2cbd5628435afb6f541bbaced4bce0c2edac4b09a142e6e928b8b0da9858/markupsafe-3.0.4-cp315-cp315t-musllinux_1_2_x86_64.whl" +upload-time = 2026-10-02 23:06:51+00:00 +size = 23712 + +[packages.wheels.hashes] +sha256 = "b91cc9d336957239ff200f30097e6fea2dc6d6fb3c81e853eaa09eac904fd894" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/81/99/157e10966b033b363aeda5263e82596ee232a0b1d082fdbf90aa417ff083/markupsafe-3.0.4-cp315-cp315t-win32.whl" +upload-time = 2026-10-02 23:06:53+00:00 +size = 14300 + +[packages.wheels.hashes] +sha256 = "e49fb0d1ce92cfa0cb198cc5b1b11cdf9d0638658e2a2db2687e39db7c87fc78" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/33/05/55884815414c9706a23deca150b72c25a62109e65b0b6ce232077802c719/markupsafe-3.0.4-cp315-cp315t-win_amd64.whl" +upload-time = 2026-10-02 23:06:54+00:00 +size = 14522 + +[packages.wheels.hashes] +sha256 = "4f6e0852a0283b1b1fd776eeb7b766a5f440b3e2bd31ab51af3b400585f3965c" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/92/f9/ecbde7149e95b8a0f18e16d5d747f7dc06049d5da2e4f77f6f5e4a1f46a8/markupsafe-3.0.4-cp315-cp315t-win_arm64.whl" +upload-time = 2026-10-02 23:06:56+00:00 +size = 14417 + +[packages.wheels.hashes] +sha256 = "39dbacefc411633db5b4378b066a9aca70a3d7e2922c9e578d825f844026eeba" + +[[packages]] +name = "mdurl" +version = "0.1.2" +index = "https://pypi.org/simple" +marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"pkg-meta\" in dependency_groups or \"type\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz" +upload-time = 2022-08-14 12:40:10+00:00 +size = 8729 + +[packages.sdist.hashes] +sha256 = "bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/b3/38/89ba8ad64ae25be8de66a6d463314cf1eb366222074cfda9ee839c56a4b4/mdurl-0.1.2-py3-none-any.whl" +upload-time = 2022-08-14 12:40:09+00:00 +size = 9979 + +[packages.wheels.hashes] +sha256 = "84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8" + +[[packages]] +name = "more-itertools" +version = "11.2.1" +index = "https://pypi.org/simple" +marker = "(\"dev\" in dependency_groups and (platform_machine != 'ppc64le' and platform_machine != 's390x')) or (\"pkg-meta\" in dependency_groups and (platform_machine != 'ppc64le' and platform_machine != 's390x'))" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/52/b8/c63995bebbb9ac9c059350e0fb8c82c2420c85aeca7d34e40aecf3df9281/more_itertools-11.2.1.tar.gz" +upload-time = 2026-10-14 18:50:30+00:00 +size = 154133 + +[packages.sdist.hashes] +sha256 = "cbf08fd0af284dc69718b9b76a8e6203df624d70209ea511e4219d350c856f63" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/5d/57/3c4b1c6f2e0cc29ba023802458ea3d2a996f87085559e4a5f2192d549532/more_itertools-11.2.1-py3-none-any.whl" +upload-time = 2026-10-14 18:50:29+00:00 +size = 74405 + +[packages.wheels.hashes] +sha256 = "35a7377edd1dd6608dcb2cdf534ded55ea32d49448875ad042cd3f879fb1ded0" + +[[packages]] +name = "nh3" +version = "0.3.7" +index = "https://pypi.org/simple" +marker = "\"dev\" in dependency_groups or \"pkg-meta\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/18/2f/022b27146d52d24b1b353b003359134788ecbcd6fcdf6283adbd57c0fbc8/nh3-0.3.7.tar.gz" +upload-time = 2026-08-23 14:26:30+00:00 +size = 25662 + +[packages.sdist.hashes] +sha256 = "71860d01c16f4d8c72e334e0674beb2b0899dbd0bf760de18932ef4390303848" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/ce/88/b594f0e86856b37e182fb663283da419eea6424972506e640e890885467f/nh3-0.3.7-cp314-cp314t-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl" +upload-time = 2026-08-23 14:25:55+00:00 +size = 1471147 + +[packages.wheels.hashes] +sha256 = "91a4dab4e94d9fc54b9f67b1adfb23e81fab7ab43f33c3b8c97be9aa38f789ba" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/1e/60/847a21339f095c4d4c655af31fa2d18b174585bcc210709facacc7ce205c/nh3-0.3.7-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" +upload-time = 2026-08-23 14:25:56+00:00 +size = 820463 + +[packages.wheels.hashes] +sha256 = "eae64328e46a25785535afcb6885b6f182ecaf5ee8c88f8c075422db8aacc65b" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/7b/7f/1a103e00aaf5e59f2dee4c2709aac609bb2d4bb74fddaf0dcfade11ed87b/nh3-0.3.7-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl" +upload-time = 2026-08-23 14:25:58+00:00 +size = 861456 + +[packages.wheels.hashes] +sha256 = "4968fe8d2db97c6f047659bf46a449fd8ec377f44ebf3e0a1b96c0d3a333ae32" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/d8/4a/e9c436089a0c80b928011ead0efd156aa7639a19b6064ef58dcedcab8369/nh3-0.3.7-cp314-cp314t-musllinux_1_2_aarch64.whl" +upload-time = 2026-08-23 14:25:59+00:00 +size = 1023930 + +[packages.wheels.hashes] +sha256 = "be53a4825585f701955cb9baf49f478f56eb81e20294329fe4bc689dd5dd81fa" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/04/5c/aa1468e3e281e78d2b3b7d762ccba59f681af355e971dbd255d5903f7b86/nh3-0.3.7-cp314-cp314t-musllinux_1_2_armv7l.whl" +upload-time = 2026-08-23 14:26:00+00:00 +size = 1102614 + +[packages.wheels.hashes] +sha256 = "94fd6e59553fbb9ffd8ba71bbd5a54e3126ba01799a097ae30d5341d750bc6ac" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/6a/9f/57d186d9d3dd38905dc12dddb3484406cdf6aa0b1ce33639a2d277d4ee1c/nh3-0.3.7-cp314-cp314t-musllinux_1_2_i686.whl" +upload-time = 2026-08-23 14:26:02+00:00 +size = 1059915 + +[packages.wheels.hashes] +sha256 = "18f4278ecd157d43cb35acd5aae9f35cfa79f546b4922bd86536adc0f6312102" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/6b/53/097a5ad0b34b15d67a472ef849165a54209fa5fbd3e639801c6fe439ba28/nh3-0.3.7-cp314-cp314t-musllinux_1_2_x86_64.whl" +upload-time = 2026-08-23 14:26:03+00:00 +size = 1047402 + +[packages.wheels.hashes] +sha256 = "808def0c8c07843e6e50dc84f532457bfa2cfd17417b219a5d9e7c773709331a" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/9a/a7/c57a2c70534418310889a65ccfac3525e62f0bc0a8613225903403755ce7/nh3-0.3.7-cp314-cp314t-win32.whl" +upload-time = 2026-08-23 14:26:05+00:00 +size = 619895 + +[packages.wheels.hashes] +sha256 = "874b7d67a067bd29a59223f6270fc30da4edd8e6d87fd219fc93bcbaa662c946" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/e6/b7/efda1d0a611d940bdfde6893bde1ea6b7b7d48c31273aea48e35b822fd58/nh3-0.3.7-cp314-cp314t-win_amd64.whl" +upload-time = 2026-08-23 14:26:06+00:00 +size = 633456 + +[packages.wheels.hashes] +sha256 = "614dac4a4c36ad084e78447d16fe898dedd762e354a7ab9cda2984e82f67883d" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/1d/18/3ab564595cb88196f50d26e163ed0fd2acc731ab26ac615df91981885887/nh3-0.3.7-cp314-cp314t-win_arm64.whl" +upload-time = 2026-08-23 14:26:07+00:00 +size = 611003 + +[packages.wheels.hashes] +sha256 = "157ec1eb7a62f3d9a7badb8d82d89aa810e3e24e097eedfa481a25d0c8a99877" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/94/0d/c257754bf57f829f307aa226bbe136d3a1356b5a0d08324c7b6bd2a8aacd/nh3-0.3.7-cp38-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl" +upload-time = 2026-08-23 14:26:09+00:00 +size = 1493959 + +[packages.wheels.hashes] +sha256 = "6c3aa50eb26e9228238271db9f983cbc3b006dfbfeca2d4dc34c33ddc6ac5ea5" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/07/42/a687e7091928806e514f89fa2666f25ec9bfe0a902fc4402b25e51ce408b/nh3-0.3.7-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" +upload-time = 2026-08-23 14:26:10+00:00 +size = 859615 + +[packages.wheels.hashes] +sha256 = "f266d3f1b3647449923a8e406524632220dd5d8b647078dfe45b885d33d10479" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/85/05/b0e6bef633549a23347d5462aa288fcc42381e7918482062ca3cb456242a/nh3-0.3.7-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" +upload-time = 2026-08-23 14:26:12+00:00 +size = 839872 + +[packages.wheels.hashes] +sha256 = "e8fd1ab205258b29254f72db377d99e2c96aa7653ef3b015ccab0420b094b506" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/17/40/2a0921d45b20828708bcb56887e47dcf8cae13818de5bf9a01308d348712/nh3-0.3.7-cp38-abi3-manylinux_2_17_ppc64.manylinux2014_ppc64.whl" +upload-time = 2026-08-23 14:26:13+00:00 +size = 1091325 + +[packages.wheels.hashes] +sha256 = "19f288c938ec6eef1f5d2c6cab47838e71fef8097e1c1233802be5a6230ba086" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/e4/d1/9d70e0e418a48280ec0ddc6c1b08b4b1136ebcc31a1625e57ff5c665fa51/nh3-0.3.7-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" +upload-time = 2026-08-23 14:26:14+00:00 +size = 1042482 + +[packages.wheels.hashes] +sha256 = "de2b2aab32ea303405debefdcfc58043d3e635fa3f67b9eb140d2b0e0c0d2563" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/93/a7/02dd159d4e71f98607d8d4249cddb7561e77be1a8e4dec77d76e1b68fc99/nh3-0.3.7-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl" +upload-time = 2026-08-23 14:26:16+00:00 +size = 946868 + +[packages.wheels.hashes] +sha256 = "9b7279d43323a25225df23576af6594a16693f61431170848b8b2ac21ad4f174" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/a6/ed/c5510c615dce55b6fcc364aa1838142f938beed64f5e4927490dfcaf4405/nh3-0.3.7-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" +upload-time = 2026-08-23 14:26:17+00:00 +size = 832161 + +[packages.wheels.hashes] +sha256 = "70f5ac8626e899a4bab0ef74ca2f5bd602f49c7b739e6e5026b4afc6d63dac42" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/7b/e3/3212c1a5b5745245d7f18885207bbddb34c56075f34dd682bd539aad55cc/nh3-0.3.7-cp38-abi3-manylinux_2_31_riscv64.whl" +upload-time = 2026-08-23 14:26:18+00:00 +size = 849791 + +[packages.wheels.hashes] +sha256 = "5ffdfcb9a686ffb12765376bcfb6b5b55728516d3c0ee317d29982381ded3df8" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/20/64/9e36594efad6c290de4240d02cb2bd80c339a4ab1c4de66e599ffa6d9d81/nh3-0.3.7-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.whl" +upload-time = 2026-08-23 14:26:19+00:00 +size = 875473 + +[packages.wheels.hashes] +sha256 = "bc42bb1193c1e28a1e74c2cabaca178e118a7103e8832699fef8a2b3e2496493" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/00/0c/1a8985fd43fea5530c0ac890b6f0b423770ee72f111b70b7a77f2dec243a/nh3-0.3.7-cp38-abi3-musllinux_1_2_aarch64.whl" +upload-time = 2026-08-23 14:26:21+00:00 +size = 1036463 + +[packages.wheels.hashes] +sha256 = "d56e76bd3cadb09b6b0cef364850811663734b348a25f5f587a2819c495367bd" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/b2/5d/891e533b716cf00df76ad0ba6485dcfd14d59a6430a3cc99057c4c04004e/nh3-0.3.7-cp38-abi3-musllinux_1_2_armv7l.whl" +upload-time = 2026-08-23 14:26:22+00:00 +size = 1116029 + +[packages.wheels.hashes] +sha256 = "fd4a70efb45d5372174f718878eb7a35c12677626a63b2f103b23b833457dcac" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/42/e5/ae8c0782fce74fb6fcf7234bb3d4017f37ce181b4f9d29369eab21c50a04/nh3-0.3.7-cp38-abi3-musllinux_1_2_i686.whl" +upload-time = 2026-08-23 14:26:24+00:00 +size = 1076589 + +[packages.wheels.hashes] +sha256 = "15f5fbf090f5c88d61c820e1fc1fceecb6520cca9fe85649c06b57ef9dc9ff62" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/26/a4/c3423351e8d864ad756e85e15f0c01433361f14d34e4ed156482c0518f2a/nh3-0.3.7-cp38-abi3-musllinux_1_2_x86_64.whl" +upload-time = 2026-08-23 14:26:25+00:00 +size = 1058871 + +[packages.wheels.hashes] +sha256 = "6698a822132beedab80f131c08d8d0ac5a178ddeb488d02ca4b67716ecfac7af" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/4b/6a/478f153f1d7c0baaa3d1e8bb5fdcee3a6235f90fe44ea969a9d4e2b8c47a/nh3-0.3.7-cp38-abi3-win32.whl" +upload-time = 2026-08-23 14:26:26+00:00 +size = 630729 + +[packages.wheels.hashes] +sha256 = "6e4280115d44c3b278eef712a86748c1a723105cd79feec46952383117ab4e59" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/b4/b9/34433ccb1f0fe6968dabbb7d4bf5721c6221878ef07832748c06655a6a80/nh3-0.3.7-cp38-abi3-win_amd64.whl" +upload-time = 2026-08-23 14:26:28+00:00 +size = 644462 + +[packages.wheels.hashes] +sha256 = "618e3059caf41ccdf5dcccb3fa9df4cf6e4efe23d1382a8bbfca272a8a4f8bfc" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/f9/70/e140dffff6e808dc6343598df76e7e2407fd0f581de3524c75fba2e0cf24/nh3-0.3.7-cp38-abi3-win_arm64.whl" +upload-time = 2026-08-23 14:26:29+00:00 +size = 621867 + +[packages.wheels.hashes] +sha256 = "f04b7d333b27f13ca439da3cf1c75c2fba34f104969f6ce4ac8e7079699c2f4a" + +[[packages]] +name = "nodeenv" +version = "1.11.0" +index = "https://pypi.org/simple" +marker = "\"dev\" in dependency_groups or \"lint\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/9a/8e/105de02c1322cfada6d9710d9146ef8026419d433c9d08359a2d35805811/nodeenv-1.11.0.tar.gz" +upload-time = 2026-09-26 11:29:21+00:00 +size = 99301 + +[packages.sdist.hashes] +sha256 = "3ce8fe5b71d16e8af7039ca65257354100bc772965d6bc549070649e53b1b146" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/54/c8/12811c9b48fde162bb72b6f2e78fada9a247a09d7bb5be2050a5d099c77b/nodeenv-1.11.0-py2.py3-none-any.whl" +upload-time = 2026-09-26 11:29:19+00:00 +size = 34277 + +[packages.wheels.hashes] +sha256 = "edaa16e6c14d7cf395d75d4bbd5a26390f4dc06501a33b4e76282b02cc688a25" + +[[packages]] +name = "packaging" +version = "26.3" +index = "https://pypi.org/simple" +marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"lint\" in dependency_groups or \"pkg-meta\" in dependency_groups or \"project-runtime\" in dependency_groups or \"test\" in dependency_groups or \"type\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/7d/fa/3944b40b07da9ce895c0e6303a5ab7d53da063554f534556b134a54d6093/packaging-26.3.tar.gz" +upload-time = 2026-08-04 18:15:28+00:00 +size = 313412 + +[packages.sdist.hashes] +sha256 = "94edc256424af38762eb31306eed28beb9f0efc50a8837492c9d6fd6004aed79" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/63/34/ba1c580383c9eada3711951fef0795c80b829a078d72188184bcab9dd527/packaging-26.3-py3-none-any.whl" +upload-time = 2026-08-04 18:15:27+00:00 +size = 129956 + +[packages.wheels.hashes] +sha256 = "d7193f7c8e4e93f444fde0262bf90af30e16fa0ad0ad44cb553c87339b23cd1c" + +[[packages]] +name = "platformdirs" +version = "4.13.5" +index = "https://pypi.org/simple" +marker = "\"dev\" in dependency_groups or \"lint\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/58/e6/d0abbb256b44e6a05748c6942511ff67db8dbb068de0c35b24bf1b395b09/platformdirs-4.13.5.tar.gz" +upload-time = 2026-10-19 01:02:11+00:00 +size = 62362 + +[packages.sdist.hashes] +sha256 = "05831adf87d392760f4b5c3a0a95579ab5a10b18b9b9bd43680dcb47544788a0" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/6c/8a/1d8cb3842909dc193a73835adedf412e32e18f8ffd59f43983949622fe6f/platformdirs-4.13.5-py3-none-any.whl" +upload-time = 2026-10-19 01:02:10+00:00 +size = 32779 + +[packages.wheels.hashes] +sha256 = "53d3ec4280b815c1e0b02edad7f9ee8fda1ba9c0865dd9c2e6e63849ce82fc1e" + +[[packages]] +name = "pluggy" +version = "1.7.0" +index = "https://pypi.org/simple" +marker = "\"dev\" in dependency_groups or \"test\" in dependency_groups or \"type\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/bf/db/7fc19e6f2dc92a966727031389fc2e08b558f0f25eb7403c1119ad4713cd/pluggy-1.7.0.tar.gz" +upload-time = 2026-10-15 09:50:58+00:00 +size = 123304 + +[packages.sdist.hashes] +sha256 = "d1eaa46ebb595891b860ab086b4d09c8588af65ebd4361b8e8f4bb8920b90ba8" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/40/9e/2b38731e0fc536806f16490e1a12d7f0dc2a1235aa8cc07bcc75416a7daa/pluggy-1.7.0-py3-none-any.whl" +upload-time = 2026-10-15 09:50:56+00:00 +size = 27082 + +[packages.wheels.hashes] +sha256 = "7dd7b0d8832ba3cb632c306926ded123429211b83641b35dc5c41ad2d34f9bec" + +[[packages]] +name = "pre-commit" +version = "4.7.0" +index = "https://pypi.org/simple" +marker = "\"dev\" in dependency_groups or \"lint\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/3a/c3/6965c2690ddce885ec75121572d065a5b94c5a5d8d3e657927ecda9fd715/pre_commit-4.7.0.tar.gz" +upload-time = 2026-10-12 20:45:40+00:00 +size = 198120 + +[packages.sdist.hashes] +sha256 = "1f3deee12b914c8fa184bd2b5953391c2e4f36763e403d4a23dc9983fa7c6e86" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/eb/83/ce0a196e4f7b20b11ce3aa1fc72fb973f64b7628d51c1b8aebad37fb7f81/pre_commit-4.7.0-py2.py3-none-any.whl" +upload-time = 2026-10-12 20:45:38+00:00 +size = 226261 + +[packages.wheels.hashes] +sha256 = "2e229038ad3656081b70c27913157e4b636ef306f643f024a8a8e3f0f7b2f877" + +[[packages]] +name = "pre-commit-uv" +version = "4.4.0" +index = "https://pypi.org/simple" +marker = "\"dev\" in dependency_groups or \"lint\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/95/3c/65ca92a8343efcf16107824d01c4664bb9a2b2e8b7fb4efc954375e56c26/pre_commit_uv-4.4.0.tar.gz" +upload-time = 2026-10-11 00:27:45+00:00 +size = 7591 + +[packages.sdist.hashes] +sha256 = "8e1b91485fdaba0673fc0f81229cab364c00fb6193b5fe0bcee2862b1a4ce1d4" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/29/fa/d5fe0626ce7a70510e6fbf2c6a9f6da4f1cbc42b86542ada1eae0eea6b55/pre_commit_uv-4.4.0-py3-none-any.whl" +upload-time = 2026-10-11 00:27:44+00:00 +size = 6209 + +[packages.wheels.hashes] +sha256 = "9012b09950a50efdcfb03b95355e1f65c14f9a5cb425d12c6bf2c6d6807617d7" + +[[packages]] +name = "pycparser" +version = "3.11" +index = "https://pypi.org/simple" +marker = "(\"dev\" in dependency_groups and (implementation_name != 'PyPy' and platform_machine != 'ppc64le' and platform_machine != 's390x' and platform_python_implementation != 'PyPy' and sys_platform == 'linux')) or (\"pkg-meta\" in dependency_groups and (implementation_name != 'PyPy' and platform_machine != 'ppc64le' and platform_machine != 's390x' and platform_python_implementation != 'PyPy' and sys_platform == 'linux'))" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/da/a8/c5fdbeee588bb8ada9458774f43adf1bdd30bd59157055142183e769a024/pycparser-3.11.tar.gz" +upload-time = 2026-10-09 12:56:59+00:00 +size = 113796 + +[packages.sdist.hashes] +sha256 = "d875f09c3507d00e1aba0eecc6dcadc1352f30fff09dc6bff2f1c2935e97c2bc" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/90/11/0e6f11117525ff0eec40ebac3d313376f102df93ca44ad9e893ee85e4f89/pycparser-3.11-py3-none-any.whl" +upload-time = 2026-10-09 12:56:58+00:00 +size = 51178 + +[packages.wheels.hashes] +sha256 = "51d5a8ba2be0bbe440b99d2112604c95bbbc3c2748a64260186c541e1729cd80" + +[[packages]] +name = "pydantic" +version = "2.14.1" +index = "https://pypi.org/simple" +marker = "\"dev\" in dependency_groups or \"pkg-meta\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/7c/0b/8e10b2e693af8ec54346a14caf36221334775975a747c9ceaa3f8371d96d/pydantic-2.14.1.tar.gz" +upload-time = 2026-10-11 18:37:55+00:00 +size = 900362 + +[packages.sdist.hashes] +sha256 = "94f478203dd03404682a1ada216965651dd74b1d2d5ffd62e00e0837caab5c26" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/35/ea/a56b9fe5066f3537b7882f77e9c5dfb26d8c2eefdaed9b5fc73d57b4dc22/pydantic-2.14.1-py3-none-any.whl" +upload-time = 2026-10-11 18:37:53+00:00 +size = 488106 + +[packages.wheels.hashes] +sha256 = "9195d967ec791692a04438115466764fb8b9a27b31f14a760437694f40d6b454" + +[[packages]] +name = "pydantic-core" +version = "2.50.1" +index = "https://pypi.org/simple" +marker = "\"dev\" in dependency_groups or \"pkg-meta\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/a6/24/af4ec4be49fbc810f35b0bdcacc3d433b56bbfa469fd3bfd4ae116cd9bf1/pydantic_core-2.50.1.tar.gz" +upload-time = 2026-10-11 18:35:44+00:00 +size = 513515 + +[packages.sdist.hashes] +sha256 = "e50d7b94baac6c7d09927fa5ca5800a0c7ee5015c7fcff65beb3a1931b5a6e09" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/45/1b/ca81811da3d2aea724fb3c4ba6b83f50ab8f210576306ccd601973142d35/pydantic_core-2.50.1-cp311-cp311-macosx_10_12_x86_64.whl" +upload-time = 2026-10-11 18:31:58+00:00 +size = 2152145 + +[packages.wheels.hashes] +sha256 = "c531166c42ea7bdfecc8c50049581f05dd1993b09cc7c52bb36a14e96deaec7d" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/59/20/938ef7e0541af0a314e2f9d63848dbd1656ba2ebfe5ca0469f7ebee00d5e/pydantic_core-2.50.1-cp311-cp311-macosx_11_0_arm64.whl" +upload-time = 2026-10-11 18:31:59+00:00 +size = 2045761 + +[packages.wheels.hashes] +sha256 = "b6d0c2183008c188e19f4906d426b293bdc4f67ab17df8e180fe16cda208fa71" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/2f/4b/456497fe2affa18f49b226e89bde31e8a204751ee343dd9beaac5438123e/pydantic_core-2.50.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" +upload-time = 2026-10-11 18:32:01+00:00 +size = 2049557 + +[packages.wheels.hashes] +sha256 = "94be440c03fede26969a5ce75468e0e6a9927a1b46d9b679ee8adc1b057b0350" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/a5/9d/cd5dfe13928f55e236dff3a1bee06721d318ca6c955d9ca993b0a5d09f39/pydantic_core-2.50.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" +upload-time = 2026-10-11 18:32:02+00:00 +size = 2188153 + +[packages.wheels.hashes] +sha256 = "36c426eac0af8d1529ff8467e612b933346caec1fdc0d774f78f67a1a11e16c1" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/fb/8d/d0b25bc484f8d9136ea76ece69e0b2d24ab370cc2e7bbd1b79e61723b763/pydantic_core-2.50.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" +upload-time = 2026-10-11 18:32:03+00:00 +size = 2388308 + +[packages.wheels.hashes] +sha256 = "028e2f212273d4a39b1ec1e0de8166b1165a65fc0f1111452a9d94fc7c625c63" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/c5/64/6513cac7c9f78492abafa01d57a69de1d246bf3085fd7b0330bf14b025b3/pydantic_core-2.50.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl" +upload-time = 2026-10-11 18:32:05+00:00 +size = 2431187 + +[packages.wheels.hashes] +sha256 = "e6f0cc1bb9900dc558960894adeb30b0c083366fc1d69b856209fb2ca5c36fe5" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/ed/60/7f2ae89c37e69a3dc0da9ff57b0388c285542c688d05f36767770429de85/pydantic_core-2.50.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" +upload-time = 2026-10-11 18:32:06+00:00 +size = 2157623 + +[packages.wheels.hashes] +sha256 = "8812592c85d0edf423f10eadcef42716d71e8219085ad9e85b775057b7306133" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/87/02/e3a71373b85a7973099b9a229a4302c7792262717e0b4997e41c01f7dd16/pydantic_core-2.50.1-cp311-cp311-manylinux_2_31_riscv64.whl" +upload-time = 2026-10-11 18:32:07+00:00 +size = 2254539 + +[packages.wheels.hashes] +sha256 = "bbce99252ba3167b2b6277f1829d5bf4b43b754524bddf7f944707c3db7d2253" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/3f/d5/5b620aaf40dc631d911565b64d49d3fa8422027c046a7a96dc4e4921ae98/pydantic_core-2.50.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl" +upload-time = 2026-10-11 18:32:09+00:00 +size = 2267344 + +[packages.wheels.hashes] +sha256 = "476f6ed8e43cd1e0b460920e23571700872b284e77331cb30c4faf459cf48a4b" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/e0/48/f46baf4580d8a56ca4782aa65842e16d3cf39736b29fcce8e9c0521b3422/pydantic_core-2.50.1-cp311-cp311-musllinux_1_1_aarch64.whl" +upload-time = 2026-10-11 18:32:10+00:00 +size = 2300877 + +[packages.wheels.hashes] +sha256 = "2cbd1b75b09e976ed0d6b6ca297675632ca35df86130088457cdc60ef36970ae" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/2b/9d/e7d28505e6092c1fe075838a4f793ccbe6dd676e44ab16175815ee06cfe0/pydantic_core-2.50.1-cp311-cp311-musllinux_1_1_armv7l.whl" +upload-time = 2026-10-11 18:32:12+00:00 +size = 2464270 + +[packages.wheels.hashes] +sha256 = "5958c72adb417c39b12ac87525ac60b0d73315fcdc59e21f44ee4a5e2512c9ef" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/22/b1/3bf63b82efd93ebc9968f9c12fc46037a28bcb452c88e4688f33e5ff7dca/pydantic_core-2.50.1-cp311-cp311-musllinux_1_1_x86_64.whl" +upload-time = 2026-10-11 18:32:13+00:00 +size = 2478653 + +[packages.wheels.hashes] +sha256 = "d8f9e8a6c4ab04b78d61f78627370d834eb004b2869dcb28cfffa647b4ea1980" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/28/17/26d1e4b9c2ba6a92b7dc75bbcb99ef44456b7e3af1bced868403667ea7d3/pydantic_core-2.50.1-cp311-cp311-win32.whl" +upload-time = 2026-10-11 18:32:15+00:00 +size = 2120246 + +[packages.wheels.hashes] +sha256 = "4be846f55c9477f5f3ddde8f2ce941137e16862a56d018ed885d422bb6ae02f2" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/24/65/3e875e7991eaecd4d70686293ff0d8a99aa8f93dc295e6a21c3d702912fb/pydantic_core-2.50.1-cp311-cp311-win_amd64.whl" +upload-time = 2026-10-11 18:32:17+00:00 +size = 2176332 + +[packages.wheels.hashes] +sha256 = "0048b6dddc8ef4b64fccaad878bd143b0c3882ea9936279dc11d613f6b7dd1bc" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/ab/5c/58dbd17c61f209d91c70f549eb7a3bbec7023e89ea12dead091462d6d658/pydantic_core-2.50.1-cp311-cp311-win_arm64.whl" +upload-time = 2026-10-11 18:32:18+00:00 +size = 2182471 + +[packages.wheels.hashes] +sha256 = "6a733778df2f7087ec1100ed0b41533e4f3001976e99570fa34f57c66e7f8e3e" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/ee/94/101b49a6c63f99586755690696eae14532772587d9e39e93f7b8d28a49da/pydantic_core-2.50.1-cp312-cp312-macosx_10_12_x86_64.whl" +upload-time = 2026-10-11 18:32:20+00:00 +size = 2222428 + +[packages.wheels.hashes] +sha256 = "704075d10b74f2f3c6e15407c696d88701df35fc8953f434a431add0d0074db0" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/db/a3/f8b1b39349c33037c73d7a1b794c9c29d8f07d5bd2b74399c1375a529cc6/pydantic_core-2.50.1-cp312-cp312-macosx_11_0_arm64.whl" +upload-time = 2026-10-11 18:32:21+00:00 +size = 2025779 + +[packages.wheels.hashes] +sha256 = "e8e1d6ce820aa23317e8209a86bd65a540973c12dc7552b48a4f6c8e9926815e" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/d2/2d/862a7d115305cc621358e51ba13f296e0ffdf4fbd984be9f63bc7862730b/pydantic_core-2.50.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" +upload-time = 2026-10-11 18:32:23+00:00 +size = 2048429 + +[packages.wheels.hashes] +sha256 = "c18db21573bd2c6489f9a544b7499f0df2853958c568e5e783536ee1f690af41" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/c0/7d/fed95d18bf2b5abe2d5ab2bbec4184bfc22b6805994a33ccdae8edffd25a/pydantic_core-2.50.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" +upload-time = 2026-10-11 18:32:24+00:00 +size = 2173274 + +[packages.wheels.hashes] +sha256 = "cb57f304525a5e3c13333b772bf9a473f36326e9c821b2e8e1b2fd36f80ae2c3" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/93/1e/c6f22ceac65dc3d291ff79bea0eb74cbd1de8b128f01fee48af03bcea1e1/pydantic_core-2.50.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" +upload-time = 2026-10-11 18:32:26+00:00 +size = 2360403 + +[packages.wheels.hashes] +sha256 = "a27c09d86600f1bf2fe3f37e1ae697faf3143931c09322cd799da94deee923b5" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/2c/97/190b5b6bfe4c72f265feb657913eb30749193927a5ad7b83cfa7866a25a2/pydantic_core-2.50.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl" +upload-time = 2026-10-11 18:32:27+00:00 +size = 2439799 + +[packages.wheels.hashes] +sha256 = "46b3301d3b5c886f77de7546e47274a5842c622ea2020b8c6524c6b66913b4a6" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/90/24/48cd98388e4ac2c08d0800af36d15413db15e20387f1038123a2c86cb2f6/pydantic_core-2.50.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" +upload-time = 2026-10-11 18:32:29+00:00 +size = 2160157 + +[packages.wheels.hashes] +sha256 = "93ba4e9d8210d941c200431a56b2c0400b131865947903937ed3ec5404307d2e" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/00/86/d909133d0b9979ed14c20f110f21124a0e346caf071bd66ac5af3009062b/pydantic_core-2.50.1-cp312-cp312-manylinux_2_31_riscv64.whl" +upload-time = 2026-10-11 18:32:31+00:00 +size = 2229523 + +[packages.wheels.hashes] +sha256 = "e5faeaee74a57d32b3ab3aebad2e348f06d3ba946fc5d28c1728455f00a3d13a" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/90/31/4b43f08131b2098e73a852fd932063385f3103b33839fd9d1abdb89e673d/pydantic_core-2.50.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl" +upload-time = 2026-10-11 18:32:32+00:00 +size = 2242700 + +[packages.wheels.hashes] +sha256 = "a3cda0e538208e5d722bbf3698b24f19c0a7d05bc8d5f8a7f9b121ea7fa243d9" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/88/77/de39658569dc7a4c293d110a89629f61145e7538f00d1e4280c28debefd3/pydantic_core-2.50.1-cp312-cp312-musllinux_1_1_aarch64.whl" +upload-time = 2026-10-11 18:32:34+00:00 +size = 2278452 + +[packages.wheels.hashes] +sha256 = "57f51b31ff826e2859120cf4737c5a758a48d96f3e97da40ccee1796d58078ff" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/46/bd/1eeb9e4e791e81210ef9096f58080b32ba15b5b13c108d50aaa3f8ce9f73/pydantic_core-2.50.1-cp312-cp312-musllinux_1_1_armv7l.whl" +upload-time = 2026-10-11 18:32:35+00:00 +size = 2450098 + +[packages.wheels.hashes] +sha256 = "8daa7ee75245d43ad7d747e5c9ecc1b1d06552f72b14887e9276f787d57375f4" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/1c/e6/b2accfdff17e5a88d6358536702146de00f9339adaa4d5bbe1ee93cb4832/pydantic_core-2.50.1-cp312-cp312-musllinux_1_1_x86_64.whl" +upload-time = 2026-10-11 18:32:37+00:00 +size = 2476839 + +[packages.wheels.hashes] +sha256 = "acbf31f37c53a5ac0c34706c80b4f5107ba20b05fdd3816124bf236ef0c57dd2" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/3b/7e/c8a83eb5d2cd42c2e13507150fb777b1edea5a018adc9cbf2858a1d08285/pydantic_core-2.50.1-cp312-cp312-win32.whl" +upload-time = 2026-10-11 18:32:38+00:00 +size = 2101425 + +[packages.wheels.hashes] +sha256 = "45b11cac094aa25725581d9304eee93c9028516b9ea80dd9e175e13a5a2c840e" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/c5/17/8bbd530b8659e9d963f5b16f6cb8e159f4cd174b4d6304e48969ab12dba8/pydantic_core-2.50.1-cp312-cp312-win_amd64.whl" +upload-time = 2026-10-11 18:32:40+00:00 +size = 2172522 + +[packages.wheels.hashes] +sha256 = "132529c83901437ff642f585216831bf5fd7a91df66829907e155192ead62498" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/af/9f/a79d690b127e4e3cff143d031538ab9aa715f6b2fbeecbd07cd6f2bf9fb7/pydantic_core-2.50.1-cp312-cp312-win_arm64.whl" +upload-time = 2026-10-11 18:32:41+00:00 +size = 2161366 + +[packages.wheels.hashes] +sha256 = "4e834f6a8e4ff772dcc34f58ef5504147a3ea5b0f4eeb13b0f8eb2ca75ac57f1" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/ae/57/0e237d7091d2cd44a35d243b7344227f90440166860469cd036afc23a04d/pydantic_core-2.50.1-cp313-cp313-macosx_10_12_x86_64.whl" +upload-time = 2026-10-11 18:32:43+00:00 +size = 2222774 + +[packages.wheels.hashes] +sha256 = "d5e062c01286d861fd6a1c4ff6e063547b3e713067f2df033c0ff97ac2ca006b" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/f7/b9/c720e56858d4e1539503297ed37063e0c08e0f3541c41b777f6a800f75fa/pydantic_core-2.50.1-cp313-cp313-macosx_11_0_arm64.whl" +upload-time = 2026-10-11 18:32:44+00:00 +size = 2024738 + +[packages.wheels.hashes] +sha256 = "0c003c3b7f49debb893d2d85ae099ac5959c9839e2f330fadb1fcdf7a6594482" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/4d/b8/fbfc25875219cc060e613170ff10e850c6d8924beb4910da57c2ee3ba1d2/pydantic_core-2.50.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" +upload-time = 2026-10-11 18:32:46+00:00 +size = 2047049 + +[packages.wheels.hashes] +sha256 = "409e0ea40ec30d9158f33574fd758e689f6045a0f2596701828c27816ca9687d" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/d7/43/34210124d504c553688f2f04b48500b131237528ac545b445e0d6d30e0d5/pydantic_core-2.50.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" +upload-time = 2026-10-11 18:32:47+00:00 +size = 2173415 + +[packages.wheels.hashes] +sha256 = "131059670f1d2444269b8585cb888963994871932447c08b39ac6a51fcfef658" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/65/cf/6e178e8fdc11da5965bef980983bf46326a42f436871dd51ba0a57f39df1/pydantic_core-2.50.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" +upload-time = 2026-10-11 18:32:49+00:00 +size = 2361719 + +[packages.wheels.hashes] +sha256 = "6dbcbee53bf17196a7f745aa9bf5a9603953a1e365b1f020be3207c676a3e7c4" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/11/14/bd5169d356aa91bf777e28ba0b281c192d286d03c2812c9c9db023a2f00e/pydantic_core-2.50.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl" +upload-time = 2026-10-11 18:32:51+00:00 +size = 2439803 + +[packages.wheels.hashes] +sha256 = "325c23f3e35cfbf0fe3486fa5f7260d1e45885173002d30a28ca019994124255" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/1c/bc/d79d000e5203ebef39af839f2ce77a777fcad6e08ad26af9a2fcd114ffc8/pydantic_core-2.50.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" +upload-time = 2026-10-11 18:32:52+00:00 +size = 2158402 + +[packages.wheels.hashes] +sha256 = "17e722e156d0444ecaefbe640bdb60928752bf2013e2b7a11cdb099aaae19bec" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/1b/a5/4902cb5fd599422c130bd3124ab31ee8b771199bd56662702eed07d3fec7/pydantic_core-2.50.1-cp313-cp313-manylinux_2_31_riscv64.whl" +upload-time = 2026-10-11 18:32:54+00:00 +size = 2229755 + +[packages.wheels.hashes] +sha256 = "aa8224f10880d9bf1b5993988ba153d42a8b4f3f4f511f93b1f09c93ff613c72" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/1a/f5/c1481f8669f6060d89110c9b1374173fc8767ca276b84f4870bd8acd5e3f/pydantic_core-2.50.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl" +upload-time = 2026-10-11 18:32:55+00:00 +size = 2242303 + +[packages.wheels.hashes] +sha256 = "41bc8237121bd8dc8d888dfd6279fc166ffc88c1f1bf3a8bf00869680533ca4c" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/04/f9/77fc3c7653ba9b6e42049e17e96b25388187d4a7c274ab1cb07f58ac8419/pydantic_core-2.50.1-cp313-cp313-musllinux_1_1_aarch64.whl" +upload-time = 2026-10-11 18:32:57+00:00 +size = 2278345 + +[packages.wheels.hashes] +sha256 = "45c6266d071c241f2a168d45bf8c54344f0effce35e7e6b73afdec11f3687568" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/95/9b/0579c5d12e7f2b16b27e6782427987341fcce07b0725e02ddb0b74add0c4/pydantic_core-2.50.1-cp313-cp313-musllinux_1_1_armv7l.whl" +upload-time = 2026-10-11 18:32:58+00:00 +size = 2449947 + +[packages.wheels.hashes] +sha256 = "1deeacb112d14d3f4fcb16b165f7dbaf76c70ba6e82f37ba042bdab51970a0b8" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/a8/ac/1b677db91eba54cc5922f4de6edc46ba45c2bd712dfdc0130382d158e214/pydantic_core-2.50.1-cp313-cp313-musllinux_1_1_x86_64.whl" +upload-time = 2026-10-11 18:33:00+00:00 +size = 2476889 + +[packages.wheels.hashes] +sha256 = "1c96fd793b73d1b92e65570132505498fe7b21eaef73cdf74e67e5dfba7ac9e4" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/4d/2a/3a9f6624ee3ea9ccba5249dde11418bb4c35780a7a92608f8768bd3fea39/pydantic_core-2.50.1-cp313-cp313-win32.whl" +upload-time = 2026-10-11 18:33:02+00:00 +size = 2101118 + +[packages.wheels.hashes] +sha256 = "06ead20d39ffd6f2f6f2a8f8a6de67ff8bb1b4f14a8a30e058502514ee2ac685" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/2d/1f/323f78ddd9d9938aac420c1abb4e8ba799fc8bdab0acc67c0593b837c979/pydantic_core-2.50.1-cp313-cp313-win_amd64.whl" +upload-time = 2026-10-11 18:33:03+00:00 +size = 2170840 + +[packages.wheels.hashes] +sha256 = "7816e98acc08119dc0f340ab167048ecc54126316330c1f0caf7c6756c88e28f" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/cb/09/8497c52a739ae425c3ac2f7f56414cbc711c67d374346174f40fe2062644/pydantic_core-2.50.1-cp313-cp313-win_arm64.whl" +upload-time = 2026-10-11 18:33:05+00:00 +size = 2161633 + +[packages.wheels.hashes] +sha256 = "c17799a62c142d61b8a3c51752a7cbc87fe2ad4ccfab10e628a77b405075c662" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/49/33/28b96e81677153715e3eafb9f26663a80841e859fde282a380359b0d3fa1/pydantic_core-2.50.1-cp314-cp314-macosx_10_12_x86_64.whl" +upload-time = 2026-10-11 18:33:07+00:00 +size = 2224428 + +[packages.wheels.hashes] +sha256 = "1cf41f1ae3fa155cf167a72689ad044bcc1e3c97e064123677149bdfb5dafc4a" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/94/40/15c06410c9b7b8da5805d27b64e09bd3f900e986728106db2689dbc51513/pydantic_core-2.50.1-cp314-cp314-macosx_11_0_arm64.whl" +upload-time = 2026-10-11 18:33:08+00:00 +size = 2023740 + +[packages.wheels.hashes] +sha256 = "4df197990c15b5a37c5a277d131d9f2c67de6133f2e5dafd80d9bba4b99f46f9" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/a1/4e/5eb629f6efc2a27e421d789dd4bfacbb5f6d09c80c28b13d1e87d73163d5/pydantic_core-2.50.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" +upload-time = 2026-10-11 18:33:10+00:00 +size = 2049435 + +[packages.wheels.hashes] +sha256 = "0036473f5583e6a60e50b8b21651511564277a3f05cc5dab8cf579f552cd5f6c" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/ba/8e/f195aebec49ad12318876ac2368c197a7939f5d52f8e156d2238ef8a4588/pydantic_core-2.50.1-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" +upload-time = 2026-10-11 18:33:12+00:00 +size = 2172975 + +[packages.wheels.hashes] +sha256 = "992c3514ec891fa7858099183e4d64e6bd5a5d4ff452fae29df22faa77a006bb" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/e0/f5/7ad9fb83010cd5ea0948409db105676ed779c4e709e2d3d89b9fe2558794/pydantic_core-2.50.1-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" +upload-time = 2026-10-11 18:33:14+00:00 +size = 2364197 + +[packages.wheels.hashes] +sha256 = "739dc730e6be3bd5ec2f4ab5cfc7eb047cc45fc1497b3bafec74ff2ed07df597" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/ca/fb/bf0aab3e78301d202b82a0322ec968cd703b11fc0623fde9a28708936f62/pydantic_core-2.50.1-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl" +upload-time = 2026-10-11 18:33:15+00:00 +size = 2444259 + +[packages.wheels.hashes] +sha256 = "32fad3a91e51b6d2039c572db04a5a873260b399f6bd62c3552671fa7a4a2899" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/45/35/38f6d6564fae57d9b12e5676dfa947e0e7d5c46dbeaa7eb3352261d6d299/pydantic_core-2.50.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" +upload-time = 2026-10-11 18:33:17+00:00 +size = 2159857 + +[packages.wheels.hashes] +sha256 = "42b54c2c90ad348b5e3a85e03e715d572c1fde357ef104cdfe3b03b697a404ea" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/65/a0/fb0a3ca10f139dcf765b2d312d10cf0f65c57c59993229d00ad12b14ceff/pydantic_core-2.50.1-cp314-cp314-manylinux_2_31_riscv64.whl" +upload-time = 2026-10-11 18:33:19+00:00 +size = 2233954 + +[packages.wheels.hashes] +sha256 = "2df1ff41884de2bc4b307bafd7c40a691094fad2ff8e767e5b45a319257bcf4e" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/8c/6a/e63842252702aa4ec6e6b7178ca85e541a77459076592c23ebe2d9840b33/pydantic_core-2.50.1-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl" +upload-time = 2026-10-11 18:33:21+00:00 +size = 2243876 + +[packages.wheels.hashes] +sha256 = "fe90228920fd8ff2be62622b6bb8a2b11acd65046d50c6b130614b5879605a20" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/39/25/5991cf8318b37e0dfab47b87541619a1df8501a793cba0d978846cba37a7/pydantic_core-2.50.1-cp314-cp314-musllinux_1_1_aarch64.whl" +upload-time = 2026-10-11 18:33:23+00:00 +size = 2277908 + +[packages.wheels.hashes] +sha256 = "844b869f118e22a41a091bdcedda8a71bc1b0f62c38d1a0c3211cece47e1d8fc" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/a7/3e/3ee8baaa6cc25a6961c69168cf9ff0f002d56f4e0d541ad6724c18fb61f3/pydantic_core-2.50.1-cp314-cp314-musllinux_1_1_armv7l.whl" +upload-time = 2026-10-11 18:33:24+00:00 +size = 2449285 + +[packages.wheels.hashes] +sha256 = "2eb75304506894a281d346220a4f7481a1b8729577c5ed2a05395991966a8396" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/c0/c7/acbec6deac13fe697a80c275a9b6661db62c4d323bac8a47347b1f39c7cd/pydantic_core-2.50.1-cp314-cp314-musllinux_1_1_x86_64.whl" +upload-time = 2026-10-11 18:33:26+00:00 +size = 2479013 + +[packages.wheels.hashes] +sha256 = "6b20a4bffabdad0db2927ac034ae3b8a681b1f7a0182f3e60b479ad2fde21ebb" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/10/08/21a3f237b264389f6219d053ee78fc1b5c2fd402c1b1cb2b6cb8b85f9834/pydantic_core-2.50.1-cp314-cp314-pyemscripten_2026_0_wasm32.whl" +upload-time = 2026-10-11 18:33:28+00:00 +size = 1484400 + +[packages.wheels.hashes] +sha256 = "99ba9bc2b8062ea0c326a990f7f00e6530c23579de66dd246e72c4cafef950a5" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/09/ce/077a6d262d12ef09108377ac0717f029f420d773ace63cafd6143af75568/pydantic_core-2.50.1-cp314-cp314-win32.whl" +upload-time = 2026-10-11 18:33:30+00:00 +size = 2103222 + +[packages.wheels.hashes] +sha256 = "cf356f70551d40374eaffb1aa63f1eb6d2006681cbd7a9faea173ce0f4dd7cd2" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/14/4c/350a2415209c43d670eb71d3c040f332c04a30583d39e311b05c7ac15762/pydantic_core-2.50.1-cp314-cp314-win_amd64.whl" +upload-time = 2026-10-11 18:33:32+00:00 +size = 2171586 + +[packages.wheels.hashes] +sha256 = "d32f3acc081cc3923386d88f422cde8892335e95f034e0104bb4cf9310d9915f" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/bf/92/9bea6ca96580a0902fed366f064f0829e404f41889b34543279a1162b888/pydantic_core-2.50.1-cp314-cp314-win_arm64.whl" +upload-time = 2026-10-11 18:33:33+00:00 +size = 2155773 + +[packages.wheels.hashes] +sha256 = "bed5163e03b98bc1fa2eb05d74c63d9c5c95d8ed6254985481640fbf5e237dea" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/86/8c/f121f073cf32bdd5cba7e6230b1ce0ac845b0cf43e44dd597d95af272db2/pydantic_core-2.50.1-cp314-cp314t-macosx_10_12_x86_64.whl" +upload-time = 2026-10-11 18:33:35+00:00 +size = 2234017 + +[packages.wheels.hashes] +sha256 = "9572c1369e9c9da2d64a7b7992c786d90ff295abc93964cfe3125e4290768070" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/a4/69/2bb2bcd6146cffe98d760a46c42ae71efd5151d9b2f9c9bf6619a3b32083/pydantic_core-2.50.1-cp314-cp314t-macosx_11_0_arm64.whl" +upload-time = 2026-10-11 18:33:37+00:00 +size = 2001016 + +[packages.wheels.hashes] +sha256 = "2005207aafe1231315718bf6ed5d064a7300fb4772754af35ee72fc68159492e" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/20/b3/fbf854c7d07ec114260c26e9e2071a4381740f9ae09641dbfcbdf2a18c45/pydantic_core-2.50.1-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" +upload-time = 2026-10-11 18:33:39+00:00 +size = 2023015 + +[packages.wheels.hashes] +sha256 = "64f6047f62a6c5ae08d0a6afb035667aa2d97c3d20d69762e034c5ea144d92a5" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/65/20/6de55b2f92cdb614b745c6e9ced639fc4fd7e1e77604825a88bdece6fcbd/pydantic_core-2.50.1-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" +upload-time = 2026-10-11 18:33:41+00:00 +size = 2192543 + +[packages.wheels.hashes] +sha256 = "1ef800dd7d85bcdadf4c3076e4c94e43939493558a3b69a1ea830c706d4617bb" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/0c/d9/19e91c94bd5c405945ce2f15526808aea37e162c253160de8ed7bf70b406/pydantic_core-2.50.1-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" +upload-time = 2026-10-11 18:33:43+00:00 +size = 2388704 + +[packages.wheels.hashes] +sha256 = "b0135bcdcaa0f23573f286e4cb5e0fd2962700964ed13df085b85f2b97aeab9e" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/b6/bc/2e24c8415eae1a25ee5a5484946a917123bad2e9d01689a759236928175a/pydantic_core-2.50.1-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl" +upload-time = 2026-10-11 18:33:44+00:00 +size = 2464118 + +[packages.wheels.hashes] +sha256 = "0b3a6f334c6a2345ca15318ff894502a90012536404b37c844a976c76c846e0b" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/bd/1f/945b8053cb061c64e102bcaf7bfb9ed740c0bd4349f9bb978a7d4ddff4ab/pydantic_core-2.50.1-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" +upload-time = 2026-10-11 18:33:46+00:00 +size = 2150142 + +[packages.wheels.hashes] +sha256 = "06e01fbbfdb9be777b316a71b6c49efaf4a08b615d0a98d678cda3023f79d019" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/2b/78/96a3e50bf0d64aaae781107eb9335b7529d05a85793ed6e7241c4cd1d931/pydantic_core-2.50.1-cp314-cp314t-manylinux_2_31_riscv64.whl" +upload-time = 2026-10-11 18:33:48+00:00 +size = 2245577 + +[packages.wheels.hashes] +sha256 = "a29a061fec0b4e2d714f277e70a3a18125ecff803f2fea6eade2f2e53711d112" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/7a/5d/a6038a0322232758a6ebfa709f4ca14a60bf5b93940cd0b345056a557da4/pydantic_core-2.50.1-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl" +upload-time = 2026-10-11 18:33:50+00:00 +size = 2263728 + +[packages.wheels.hashes] +sha256 = "f5187624823423e1d1b82b1072ac41dc837389e18d3d0572cc19bbee46cd550a" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/0d/4b/76ded3333a457a9344c4f2d63f2d82d0101654b05178fa4ddfe7d3627674/pydantic_core-2.50.1-cp314-cp314t-musllinux_1_1_aarch64.whl" +upload-time = 2026-10-11 18:33:52+00:00 +size = 2293630 + +[packages.wheels.hashes] +sha256 = "3e46a9eb0a0901dd6275e6b06ac3a464885ef350ec4121fe486869de8053e4bb" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/a9/00/9eca378335c9c1b72bc779bf6e4c2a82ce784f14ec48a0e87102c9870e05/pydantic_core-2.50.1-cp314-cp314t-musllinux_1_1_armv7l.whl" +upload-time = 2026-10-11 18:33:54+00:00 +size = 2468048 + +[packages.wheels.hashes] +sha256 = "756d669f04e62ec4148ecfe22be6a4484d9b1181a6ef32e205ebfd200540858b" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/35/ca/e3832e9cf93651251de43c8c5c029ed680a3c1a0a1b17ee26c81bed08cbd/pydantic_core-2.50.1-cp314-cp314t-musllinux_1_1_x86_64.whl" +upload-time = 2026-10-11 18:33:55+00:00 +size = 2512159 + +[packages.wheels.hashes] +sha256 = "c516cc5367ca3448995d42cb994bf3f4c9002d2a7c22eac9622551269ad1b807" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/4b/f2/773469b5a10a39116a2cb17edaf6d722f017dd8da07161b371465311c542/pydantic_core-2.50.1-cp314-cp314t-win32.whl" +upload-time = 2026-10-11 18:33:58+00:00 +size = 2098406 + +[packages.wheels.hashes] +sha256 = "9d1bed94af6a63835461f3cf7502058eb166c58c4778e11d0f433cfb1bd69e19" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/ee/42/0bb74f8f25204b259b11ab7c12dc7f180893b6bd706118b385147fb6efd5/pydantic_core-2.50.1-cp314-cp314t-win_amd64.whl" +upload-time = 2026-10-11 18:33:59+00:00 +size = 2148481 + +[packages.wheels.hashes] +sha256 = "c8dce1f1e0e5358b682a6ad3fa5e31b31d4560997b8e61417e9217c8d60f8a0c" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/47/0d/d801646c9679a4e630e15cf521d4108b93854b42a6e6e02391bd4c6b1095/pydantic_core-2.50.1-cp314-cp314t-win_arm64.whl" +upload-time = 2026-10-11 18:34:01+00:00 +size = 2174972 + +[packages.wheels.hashes] +sha256 = "ceff0acc940be2715bd6ad17b24c0e5304abf44f6efd0f81ee8499e640f9dc86" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/b2/84/23984b763d8862a02a13d27a44b6e8169428fd85ecfed88f54c29108604d/pydantic_core-2.50.1-cp315-cp315-macosx_10_12_x86_64.whl" +upload-time = 2026-10-11 18:34:04+00:00 +size = 2224599 + +[packages.wheels.hashes] +sha256 = "8a6791afa2245e6c6b180122d105941644f5bd410bb18623b408808cc41a3102" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/4d/90/a63cf8586abc1d1a3f6d9b18f0224789ebf003851f092ebda3c7c863fd32/pydantic_core-2.50.1-cp315-cp315-macosx_11_0_arm64.whl" +upload-time = 2026-10-11 18:34:05+00:00 +size = 2024191 + +[packages.wheels.hashes] +sha256 = "84f34323a61a365b4e9295de6028474754829aaddd59c7bf1a040e7487ef8f3c" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/a6/6a/f34bff9808ffb4907fbf5f5040457d253cacf2da7fce9efbc99ca1b1a44d/pydantic_core-2.50.1-cp315-cp315-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" +upload-time = 2026-10-11 18:34:07+00:00 +size = 2048252 + +[packages.wheels.hashes] +sha256 = "23edad659e8dbd8ca7e4e877fe6c81573abbdf215bd25a68b53e1272f58b80c7" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/b2/54/13f419bf1eb59852003818e25935aaf175687d978f4c4bca70e08fe40a3b/pydantic_core-2.50.1-cp315-cp315-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" +upload-time = 2026-10-11 18:34:09+00:00 +size = 2173376 + +[packages.wheels.hashes] +sha256 = "3a5fce22f1e87d181e924e12da7d81cfe031fb3881a5ddf26ad28f141756ca43" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/6d/6c/b5a34d24cd0c81669d8f8339d74e6815abcf2f8fb48ab4b49b84c09be1d5/pydantic_core-2.50.1-cp315-cp315-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" +upload-time = 2026-10-11 18:34:11+00:00 +size = 2364559 + +[packages.wheels.hashes] +sha256 = "c73622ef819328873b53109ee4f77ceb598bffedd02daf916102be3228866b78" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/eb/8d/d64d6216a8df365082665927ff923f183056f9049fee08e9777c9ac05296/pydantic_core-2.50.1-cp315-cp315-manylinux_2_17_s390x.manylinux2014_s390x.whl" +upload-time = 2026-10-11 18:34:13+00:00 +size = 2444697 + +[packages.wheels.hashes] +sha256 = "ce8c25ca38cc0e3d7753ba180808de2c0c8cb24eae0df64491e40921454e9831" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/b8/0d/1b1149f60a00ea21ba5f70e28acbd40feb4598af414f80f53c921fac07c9/pydantic_core-2.50.1-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" +upload-time = 2026-10-11 18:34:15+00:00 +size = 2159961 + +[packages.wheels.hashes] +sha256 = "7689580e72a642ab5ec64d5f55b2e33636fa43b4ebe63c0c2c965ef307c7d1aa" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/1e/35/f236549299dcc78e71e945495d7ec67e78d20844d0999c60601685003031/pydantic_core-2.50.1-cp315-cp315-manylinux_2_31_riscv64.whl" +upload-time = 2026-10-11 18:34:17+00:00 +size = 2234581 + +[packages.wheels.hashes] +sha256 = "d5c0e32fdbce7f1e8ef4d11f655694bf5f4175c757a9f1dc2be09b8864e5bcf5" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/6a/85/26901a490522b7f75ef9bb9a7afb73e5bb550f0e1cb5b99a0069183e2eb9/pydantic_core-2.50.1-cp315-cp315-manylinux_2_5_i686.manylinux1_i686.whl" +upload-time = 2026-10-11 18:34:19+00:00 +size = 2244090 + +[packages.wheels.hashes] +sha256 = "40f523349960fa30f3ea51404308ff50f9997a90df639590f47a057c1f32b415" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/ca/2c/481bcfc70ceeb77a778ca6e5b705fe592cb64735c108157f81b7dd9c280e/pydantic_core-2.50.1-cp315-cp315-musllinux_1_1_aarch64.whl" +upload-time = 2026-10-11 18:34:21+00:00 +size = 2277948 + +[packages.wheels.hashes] +sha256 = "d4193206b6587047437f6f11d7e776df23e1c1e23af2a54d9347275614791e10" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/24/eb/f1e09333faa7ba447cde967310f758430cc7c5e987bdab5228816c70030d/pydantic_core-2.50.1-cp315-cp315-musllinux_1_1_armv7l.whl" +upload-time = 2026-10-11 18:34:23+00:00 +size = 2449688 + +[packages.wheels.hashes] +sha256 = "84bc765b282a9d5b7fe0348b8648904f25a6a04b2139da52b1dd30c8ac3a2c8f" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/d1/b3/036bde636db8f76d92996e81aefc75678ab5cec4a07eea1ad0c72a893fc3/pydantic_core-2.50.1-cp315-cp315-musllinux_1_1_x86_64.whl" +upload-time = 2026-10-11 18:34:25+00:00 +size = 2479286 + +[packages.wheels.hashes] +sha256 = "ed1e728b39a383c81035b2459cfcb35d99dfb01f7d6ebe3a913bc1cc5b81e459" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/d0/a3/07f018294ee18d144afeb6df1a47d9e92960f014be45c5ed13519fa5af95/pydantic_core-2.50.1-cp315-cp315-win32.whl" +upload-time = 2026-10-11 18:34:27+00:00 +size = 2103683 + +[packages.wheels.hashes] +sha256 = "bc94f474417604bd383d2cd445d071b07dd55fedceed3ce33407bf1fcc107290" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/5f/98/f9bd7e1f9b6709f155acb9ef826d9c3884fe925f811fd8e55b9b52280bad/pydantic_core-2.50.1-cp315-cp315-win_amd64.whl" +upload-time = 2026-10-11 18:34:29+00:00 +size = 2171681 + +[packages.wheels.hashes] +sha256 = "983a662de2571cb2502fc8ff47b6770b03d025d2eb314c92f77b3f07c74720ed" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/10/87/4bb3e1e7f385c076ab5af4d6dd0571b22042cd8207eb810d5b9fef15ae31/pydantic_core-2.50.1-cp315-cp315-win_arm64.whl" +upload-time = 2026-10-11 18:34:31+00:00 +size = 2156251 + +[packages.wheels.hashes] +sha256 = "94845ff54dc5193f228cab81b2662a04bfbb892e95bdc15edf7399000ce57d54" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/47/47/83643225b08f2aef6c8cc4bbe6e3f79c5e139c4364a6e450d0f399d87774/pydantic_core-2.50.1-cp315-cp315t-macosx_10_12_x86_64.whl" +upload-time = 2026-10-11 18:34:33+00:00 +size = 2234363 + +[packages.wheels.hashes] +sha256 = "4a53d13cdfbedbfa87f08b83c1a0a5efcc767d785a4b41934fa9cb672670493a" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/5e/66/127ca649ba2f2462039dc1e694c6c01e00a3689f023a617364d3507e6d97/pydantic_core-2.50.1-cp315-cp315t-macosx_11_0_arm64.whl" +upload-time = 2026-10-11 18:34:36+00:00 +size = 2000972 + +[packages.wheels.hashes] +sha256 = "efbecf43d321f7b9281441f1f213f7c21c66988b0e06c2730ba13ed47a46bb08" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/5e/4f/e421e0a5d653b1203b090b2e48745976988d7338a647940704b5b9c2b399/pydantic_core-2.50.1-cp315-cp315t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" +upload-time = 2026-10-11 18:34:37+00:00 +size = 2022925 + +[packages.wheels.hashes] +sha256 = "bc1f08f68dac9f9e83845a8039880aba2ab553eb9b2259c3243a313182c253fe" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/d5/4e/ea5568e2491e1a71100f15ae8c2d01ef52db42a184a2d4e716bc79e5eb8f/pydantic_core-2.50.1-cp315-cp315t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" +upload-time = 2026-10-11 18:34:39+00:00 +size = 2192867 + +[packages.wheels.hashes] +sha256 = "5dfe41f232befddb9c4377f6cfc702b51595e2d78ed082672adf8758d2c4619f" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/ae/5e/3b8c3a35acbe219909ada5defad5d7d9fed845fb2b37bd5ec518f453c119/pydantic_core-2.50.1-cp315-cp315t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" +upload-time = 2026-10-11 18:34:42+00:00 +size = 2388687 + +[packages.wheels.hashes] +sha256 = "adc06d218a1cadfd2ec4628424d7d79ce4eba69c2965e7e7b55106f0da5208c8" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/b6/aa/7889b4e515f91a2e8c0ae6b5081fec0feb30c4398d1434e14793c60f173a/pydantic_core-2.50.1-cp315-cp315t-manylinux_2_17_s390x.manylinux2014_s390x.whl" +upload-time = 2026-10-11 18:34:44+00:00 +size = 2464415 + +[packages.wheels.hashes] +sha256 = "2cf91809d0721ab81592ba67bea7694821679c10b1a2e3c3460082b286c1918a" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/08/78/93449e628eb8a6fdcce3eff9043081179d1bc7ce6f1bff32dc5006f41e00/pydantic_core-2.50.1-cp315-cp315t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" +upload-time = 2026-10-11 18:34:46+00:00 +size = 2150823 + +[packages.wheels.hashes] +sha256 = "23923ab9292c40da026330b1ecf4dc2618c8e86e0422e5d1fbf50d94d64ca4f8" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/f4/f1/72c5bc129fceb0d00f05dc1e67f518c1728de1928c55f81fc13d7690de39/pydantic_core-2.50.1-cp315-cp315t-manylinux_2_31_riscv64.whl" +upload-time = 2026-10-11 18:34:48+00:00 +size = 2245806 + +[packages.wheels.hashes] +sha256 = "f3377c8c2b3ce898423c5e5dd94c7982e30aa7717a7e6ab2470b9de364963709" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/28/2a/922a0e78f3aa6ab837b59f88190233fb8dad546c17995fde9bb3ed3b9b49/pydantic_core-2.50.1-cp315-cp315t-manylinux_2_5_i686.manylinux1_i686.whl" +upload-time = 2026-10-11 18:34:50+00:00 +size = 2264160 + +[packages.wheels.hashes] +sha256 = "455a773617b5913bf5c20d0692e5787b119e52c4d40ea644ca31f5758fd31be2" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/52/a8/0f1449e3e1b20941c9372faa18e7b6a092e30cdfa841902473f7989532ac/pydantic_core-2.50.1-cp315-cp315t-musllinux_1_1_aarch64.whl" +upload-time = 2026-10-11 18:34:52+00:00 +size = 2294031 + +[packages.wheels.hashes] +sha256 = "1a9006395dece0e32e704c315eff8a00bede494f6108546cfc5539c89fef4f9a" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/d1/d0/1031f492857de70355fb16524bbb03efce5fd34c93ed4a1ec60be07e0d4b/pydantic_core-2.50.1-cp315-cp315t-musllinux_1_1_armv7l.whl" +upload-time = 2026-10-11 18:34:54+00:00 +size = 2468423 + +[packages.wheels.hashes] +sha256 = "d2d82aa62521c55ddfb000ae70f88cdd8de974078f6024e821dfe5addd0c818f" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/46/52/269ffffa645b8e47906395a39cf9db1151ae9fa4bcd7f47b960bc31baf37/pydantic_core-2.50.1-cp315-cp315t-musllinux_1_1_x86_64.whl" +upload-time = 2026-10-11 18:34:57+00:00 +size = 2512598 + +[packages.wheels.hashes] +sha256 = "009634b83993777ddcd69cad0ffcace43dabde692109528e35f0fde91e386a8b" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/31/5c/e47e28281f20326ff6f3c31d626f0a83e615d2d94ba41bb0ad6ec237184a/pydantic_core-2.50.1-cp315-cp315t-win32.whl" +upload-time = 2026-10-11 18:34:59+00:00 +size = 2098535 + +[packages.wheels.hashes] +sha256 = "3fde4fdc6487a58d944ca87cf5adc95d5f266e872c19599f5f4c0a8a1b1f9f9f" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/03/ad/759e181e69c1b472c60b2049e5f61d5da1deefdd5ce1df4bb2ebcf771f25/pydantic_core-2.50.1-cp315-cp315t-win_amd64.whl" +upload-time = 2026-10-11 18:35:01+00:00 +size = 2148645 + +[packages.wheels.hashes] +sha256 = "1c8632d4ac04e6f91128fca584b3a8a507d81604c24eeaaad00d4be42765c32b" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/6d/56/8a702c27e5be9f47e5f19d8669227424290e4c024e7c370279cbaf244b4e/pydantic_core-2.50.1-cp315-cp315t-win_arm64.whl" +upload-time = 2026-10-11 18:35:04+00:00 +size = 2175297 + +[packages.wheels.hashes] +sha256 = "c3ede305158e75510be50869b319550ab072008c13d64d4ab1e094fb286b6f44" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/e7/73/a23a327237d9bb985298ce47702e196f995ce850224c12c70886bd66bb5c/pydantic_core-2.50.1-graalpy311-graalpy242_311_native-macosx_10_12_x86_64.whl" +upload-time = 2026-10-11 18:35:06+00:00 +size = 2162560 + +[packages.wheels.hashes] +sha256 = "062e891facce5ca296a1c37098e5e466780457f86413894b399f0cf22934f769" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/df/b2/33b37b5e82408f402a5e82649a43e7c95cd5dab7beaeef2c35cedbfd18f2/pydantic_core-2.50.1-graalpy311-graalpy242_311_native-macosx_11_0_arm64.whl" +upload-time = 2026-10-11 18:35:08+00:00 +size = 2075250 + +[packages.wheels.hashes] +sha256 = "49c2cbb2397fe4d0987e84606e691af6cb87bc0ee1bd3e7b737f7e10b4c142f9" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/04/62/c7d5b9249466ccab90f3ce4790c2399dbfb8172ae9e74a7753dd295fe65a/pydantic_core-2.50.1-graalpy311-graalpy242_311_native-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" +upload-time = 2026-10-11 18:35:10+00:00 +size = 2107891 + +[packages.wheels.hashes] +sha256 = "9e4472072de0137ee0d8e72d6620e85939c271d2f90f6bbb4b15c24638b79f92" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/d4/7e/28d29bc1657195933147f772dee0558d9e0f045bbc11db7f992f40c37bb5/pydantic_core-2.50.1-graalpy311-graalpy242_311_native-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" +upload-time = 2026-10-11 18:35:13+00:00 +size = 2268026 + +[packages.wheels.hashes] +sha256 = "6ed4f3cef55164b026fefb41341b7754cc6b624c75dfe7142d2ecceb5ad21c87" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/a5/09/1bcf160f3cd6333e2a76982fae5963e5032de0bcaaba38464223dc266bfe/pydantic_core-2.50.1-graalpy312-graalpy250_312_native-macosx_10_12_x86_64.whl" +upload-time = 2026-10-11 18:35:15+00:00 +size = 2217070 + +[packages.wheels.hashes] +sha256 = "76e2e83fa6ec8cdc972d438dafc2522b3a47bee4ec0ae668b29cfb1977ab5242" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/3d/81/f02de95eec7794dfc7a5bc69a834f0e834b31b3009014ce6de903855f775/pydantic_core-2.50.1-graalpy312-graalpy250_312_native-macosx_11_0_arm64.whl" +upload-time = 2026-10-11 18:35:18+00:00 +size = 2039027 + +[packages.wheels.hashes] +sha256 = "a51eee75939cf811ac09b278745a6cee7dc873ccfbc8b9af3cc88fe4b7ce25b5" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/4d/16/227746ed3771d9bf2304568b55134849ece34e13b38b1d76de763015c77f/pydantic_core-2.50.1-graalpy312-graalpy250_312_native-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" +upload-time = 2026-10-11 18:35:20+00:00 +size = 2109009 + +[packages.wheels.hashes] +sha256 = "ae28183297fb0d2b8dc46a1f01d51f5e45825fc5afe76a835a6cb7fb34821295" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/e5/b9/7664d1592a0e5a74903f357cd5b28ceb7336f3473256c5a4e8c8432f1881/pydantic_core-2.50.1-graalpy312-graalpy250_312_native-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" +upload-time = 2026-10-11 18:35:22+00:00 +size = 2269883 + +[packages.wheels.hashes] +sha256 = "88e492e8b9d0312e7dc13667c30222abf284dc3b79b5302b3607b41a5784ce61" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/bd/35/002a378302ff91d2a7f149bc8d22363faf581ba40ac39d0123444315a32d/pydantic_core-2.50.1-pp311-pypy311_pp73-macosx_10_12_x86_64.whl" +upload-time = 2026-10-11 18:35:24+00:00 +size = 2154076 + +[packages.wheels.hashes] +sha256 = "7456d699b13954e9c0164dcb267250a10ae0dfb03e6e26d6796ab0d46e189c84" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/4b/5c/7a034330082c00f3c9795052bd9b161aaaf6e1951e897ac00a094823ef7e/pydantic_core-2.50.1-pp311-pypy311_pp73-macosx_11_0_arm64.whl" +upload-time = 2026-10-11 18:35:27+00:00 +size = 2085850 + +[packages.wheels.hashes] +sha256 = "b0d955195bbbe489ad343fcc956eacea9357b79cb22192c66cacdefcbc14b32f" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/57/fa/d5b44a7d3d4eceed6ef8713a0003af56fefde6ec75915513bcdd5d730cd9/pydantic_core-2.50.1-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" +upload-time = 2026-10-11 18:35:29+00:00 +size = 2259754 + +[packages.wheels.hashes] +sha256 = "f2c634642694e6a0dad2ab1d375589fa671fd442edd5caf7d9737b8f6ca22906" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/b6/88/e01dd37301710bd8b3b2daf34ec9e2a6e83a333130831c0d468b0292a48c/pydantic_core-2.50.1-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl" +upload-time = 2026-10-11 18:35:32+00:00 +size = 2268712 + +[packages.wheels.hashes] +sha256 = "ee6db2fbed51a7991302e8fac498cd67e336246026d0dfa84cf5166ce1412760" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/3e/43/5bb80d4a4d2b2d84612a30205662cc521a20d209c94abc079ea48b4e0df2/pydantic_core-2.50.1-pp311-pypy311_pp73-musllinux_1_1_aarch64.whl" +upload-time = 2026-10-11 18:35:35+00:00 +size = 2305049 + +[packages.wheels.hashes] +sha256 = "79490e33c4c0fcb933bbbcfc3a62184d8803b99f535863dfbb925e1bcb6945ad" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/e8/7b/e3ef76b269cfe4a5bd3bdcf5d7124cf05e5a8909d443b91639307116bdae/pydantic_core-2.50.1-pp311-pypy311_pp73-musllinux_1_1_armv7l.whl" +upload-time = 2026-10-11 18:35:37+00:00 +size = 2466001 + +[packages.wheels.hashes] +sha256 = "48569b0ade9edfbe065cad1d700175546592aebbb42f02adcebcc26e75b896fe" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/8f/7a/ea0947aadc1d9f72d4be00d2e19939611ec17363bcb5e6eb9ec7d8221c34/pydantic_core-2.50.1-pp311-pypy311_pp73-musllinux_1_1_x86_64.whl" +upload-time = 2026-10-11 18:35:40+00:00 +size = 2481777 + +[packages.wheels.hashes] +sha256 = "5f3cae32fc46121f787cb2486de9cf95a8bf72aec5cc78f64c606fa1735a6ef5" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/24/f3/d15bc0b1fb0c4f1e07b3326ffb7489f7ae70da2b56a0884d22641b0eb47c/pydantic_core-2.50.1-pp311-pypy311_pp73-win_amd64.whl" +upload-time = 2026-10-11 18:35:42+00:00 +size = 2336787 + +[packages.wheels.hashes] +sha256 = "7f476456ac2bb0d937f75191494a09c83a30765fea4f70f3b404942fe25f6cdf" + +[[packages]] +name = "pygments" +version = "2.21.0" +index = "https://pypi.org/simple" +marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"pkg-meta\" in dependency_groups or \"test\" in dependency_groups or \"type\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/49/2e/ced460408999b33da6b31b0021b0f37d329e202d4169aeb164493778f25b/pygments-2.21.0.tar.gz" +upload-time = 2026-08-17 08:02:48+00:00 +size = 5005329 + +[packages.sdist.hashes] +sha256 = "610ca751c9bc2492b38eb9a38a7fbc93edbbb2d7182edaf34e66ae493dee5c8c" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/71/46/17f022dd3e953bf20a04a028a21ec746d942f8d2af30fa0f124fa0e6a684/pygments-2.21.0-py3-none-any.whl" +upload-time = 2026-08-17 08:02:44+00:00 +size = 1250147 + +[packages.wheels.hashes] +sha256 = "2363c69b61c4a97c838da3b130dcd6468f4848992b21a82f2a63ec34377137d9" + +[[packages]] +name = "pytest" +version = "9.1.1" +index = "https://pypi.org/simple" +marker = "\"dev\" in dependency_groups or \"test\" in dependency_groups or \"type\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/e4/47/b9efed96c114afcfa3c9d3fe98a76a1d14c74a9e266d397cf6eb64be5e01/pytest-9.1.1.tar.gz" +upload-time = 2026-06-19 10:58:32+00:00 +size = 1636369 + +[packages.sdist.hashes] +sha256 = "1088fbde8f2b49d95a549a195707afa7a76a3ce9bcadc26b6d71f0ffda5fe313" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/24/25/1de2678b631f5a49215c6c96fff41ba892b0a34df68d6d80292b1b48aa7f/pytest-9.1.1-py3-none-any.whl" +upload-time = 2026-06-19 10:58:31+00:00 +size = 386536 + +[packages.wheels.hashes] +sha256 = "37a86b45efb9a47a61a36449063e8e18d0cab3161329fc099eb21783169c4f0c" + +[[packages]] +name = "pytest-cov" +version = "7.1.0" +index = "https://pypi.org/simple" +marker = "\"dev\" in dependency_groups or \"test\" in dependency_groups or \"type\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/b1/51/a849f96e117386044471c8ec2bd6cfebacda285da9525c9106aeb28da671/pytest_cov-7.1.0.tar.gz" +upload-time = 2026-03-21 20:11:16+00:00 +size = 55592 + +[packages.sdist.hashes] +sha256 = "30674f2b5f6351aa09702a9c8c364f6a01c27aae0c1366ae8016160d1efc56b2" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/9d/7a/d968e294073affff457b041c2be9868a40c1c71f4a35fcc1e45e5493067b/pytest_cov-7.1.0-py3-none-any.whl" +upload-time = 2026-03-21 20:11:14+00:00 +size = 22876 + +[packages.wheels.hashes] +sha256 = "a0461110b7865f9a271aa1b51e516c9a95de9d696734a2f71e3e78f46e1d4678" + +[[packages]] +name = "pytest-mock" +version = "3.17.0" +index = "https://pypi.org/simple" +marker = "\"dev\" in dependency_groups or \"test\" in dependency_groups or \"type\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/97/c2/28b9f5b955ff2bcd4727a6f768e2ca9b586cd7c37b95ea5f7b9b873ac7b3/pytest_mock-3.17.0.tar.gz" +upload-time = 2026-10-17 16:21:42+00:00 +size = 43064 + +[packages.sdist.hashes] +sha256 = "e36576e0985e01027e999891e7a966c67822d40c89ef1b4c8b6e22737e3590b4" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/e8/ea/47fbdc8f37410956fd445720e927589b1e2a47772c5f28109f0ce2fa26d9/pytest_mock-3.17.0-py3-none-any.whl" +upload-time = 2026-10-17 16:21:41+00:00 +size = 11248 + +[packages.wheels.hashes] +sha256 = "1b82aa4b37137248bd687055e109723debeb07b489de1565297dc9589c5f2d6b" + +[[packages]] +name = "python-discovery" +version = "1.6.4" +index = "https://pypi.org/simple" +marker = "\"dev\" in dependency_groups or \"lint\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/f3/ee/cf608372c88ce2c136ee13c69ab6f667dbc0d0c1176af188b4ddc8853e66/python_discovery-1.6.4.tar.gz" +upload-time = 2026-10-19 01:45:14+00:00 +size = 89883 + +[packages.sdist.hashes] +sha256 = "bc70d31f0ec5de11eda13d4d64c16e24b3506a65984684f2b6c98cb83b2ea9df" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/60/91/1aa70d3dfcab0dbcf88a2cbc3bce7f7c69562287a90216e617eaa4937e25/python_discovery-1.6.4-py3-none-any.whl" +upload-time = 2026-10-19 01:45:13+00:00 +size = 39385 + +[packages.wheels.hashes] +sha256 = "530179cc51a1816d512b15635b3dc931295ae12efb183783ad31190a5d425d2b" + +[[packages]] +name = "pywin32-ctypes" +version = "0.2.3" +index = "https://pypi.org/simple" +marker = "(\"dev\" in dependency_groups and (platform_machine != 'ppc64le' and platform_machine != 's390x' and sys_platform == 'win32')) or (\"pkg-meta\" in dependency_groups and (platform_machine != 'ppc64le' and platform_machine != 's390x' and sys_platform == 'win32'))" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/85/9f/01a1a99704853cb63f253eea009390c88e7131c67e66a0a02099a8c917cb/pywin32-ctypes-0.2.3.tar.gz" +upload-time = 2024-08-14 10:15:34+00:00 +size = 29471 + +[packages.sdist.hashes] +sha256 = "d162dc04946d704503b2edc4d55f3dba5c1d539ead017afa00142c38b9885755" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/de/3d/8161f7711c017e01ac9f008dfddd9410dff3674334c233bde66e7ba65bbf/pywin32_ctypes-0.2.3-py3-none-any.whl" +upload-time = 2024-08-14 10:15:33+00:00 +size = 30756 + +[packages.wheels.hashes] +sha256 = "8a1513379d709975552d202d942d9837758905c8d01eb82b8bcc30918929e7b8" + +[[packages]] +name = "pyyaml" +version = "6.0.3" +index = "https://pypi.org/simple" +marker = "\"dev\" in dependency_groups or \"lint\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/05/8e/961c0007c59b8dd7729d542c61a4d537767a59645b82a0b521206e1e25c2/pyyaml-6.0.3.tar.gz" +upload-time = 2025-09-25 21:33:16+00:00 +size = 130960 + +[packages.sdist.hashes] +sha256 = "d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/6d/16/a95b6757765b7b031c9374925bb718d55e0a9ba8a1b6a12d25962ea44347/pyyaml-6.0.3-cp311-cp311-macosx_10_13_x86_64.whl" +upload-time = 2025-09-25 21:31:58+00:00 +size = 185826 + +[packages.wheels.hashes] +sha256 = "44edc647873928551a01e7a563d7452ccdebee747728c1080d881d68af7b997e" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/16/19/13de8e4377ed53079ee996e1ab0a9c33ec2faf808a4647b7b4c0d46dd239/pyyaml-6.0.3-cp311-cp311-macosx_11_0_arm64.whl" +upload-time = 2025-09-25 21:32:00+00:00 +size = 175577 + +[packages.wheels.hashes] +sha256 = "652cb6edd41e718550aad172851962662ff2681490a8a711af6a4d288dd96824" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/0c/62/d2eb46264d4b157dae1275b573017abec435397aa59cbcdab6fc978a8af4/pyyaml-6.0.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" +upload-time = 2025-09-25 21:32:01+00:00 +size = 775556 + +[packages.wheels.hashes] +sha256 = "10892704fc220243f5305762e276552a0395f7beb4dbf9b14ec8fd43b57f126c" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/10/cb/16c3f2cf3266edd25aaa00d6c4350381c8b012ed6f5276675b9eba8d9ff4/pyyaml-6.0.3-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" +upload-time = 2025-09-25 21:32:03+00:00 +size = 882114 + +[packages.wheels.hashes] +sha256 = "850774a7879607d3a6f50d36d04f00ee69e7fc816450e5f7e58d7f17f1ae5c00" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/71/60/917329f640924b18ff085ab889a11c763e0b573da888e8404ff486657602/pyyaml-6.0.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" +upload-time = 2025-09-25 21:32:04+00:00 +size = 806638 + +[packages.wheels.hashes] +sha256 = "b8bb0864c5a28024fac8a632c443c87c5aa6f215c0b126c449ae1a150412f31d" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/dd/6f/529b0f316a9fd167281a6c3826b5583e6192dba792dd55e3203d3f8e655a/pyyaml-6.0.3-cp311-cp311-musllinux_1_2_aarch64.whl" +upload-time = 2025-09-25 21:32:06+00:00 +size = 767463 + +[packages.wheels.hashes] +sha256 = "1d37d57ad971609cf3c53ba6a7e365e40660e3be0e5175fa9f2365a379d6095a" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/f2/6a/b627b4e0c1dd03718543519ffb2f1deea4a1e6d42fbab8021936a4d22589/pyyaml-6.0.3-cp311-cp311-musllinux_1_2_x86_64.whl" +upload-time = 2025-09-25 21:32:07+00:00 +size = 794986 + +[packages.wheels.hashes] +sha256 = "37503bfbfc9d2c40b344d06b2199cf0e96e97957ab1c1b546fd4f87e53e5d3e4" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/45/91/47a6e1c42d9ee337c4839208f30d9f09caa9f720ec7582917b264defc875/pyyaml-6.0.3-cp311-cp311-win32.whl" +upload-time = 2025-09-25 21:32:08+00:00 +size = 142543 + +[packages.wheels.hashes] +sha256 = "8098f252adfa6c80ab48096053f512f2321f0b998f98150cea9bd23d83e1467b" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/da/e3/ea007450a105ae919a72393cb06f122f288ef60bba2dc64b26e2646fa315/pyyaml-6.0.3-cp311-cp311-win_amd64.whl" +upload-time = 2025-09-25 21:32:09+00:00 +size = 158763 + +[packages.wheels.hashes] +sha256 = "9f3bfb4965eb874431221a3ff3fdcddc7e74e3b07799e0e84ca4a0f867d449bf" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/d1/33/422b98d2195232ca1826284a76852ad5a86fe23e31b009c9886b2d0fb8b2/pyyaml-6.0.3-cp312-cp312-macosx_10_13_x86_64.whl" +upload-time = 2025-09-25 21:32:11+00:00 +size = 182063 + +[packages.wheels.hashes] +sha256 = "7f047e29dcae44602496db43be01ad42fc6f1cc0d8cd6c83d342306c32270196" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/89/a0/6cf41a19a1f2f3feab0e9c0b74134aa2ce6849093d5517a0c550fe37a648/pyyaml-6.0.3-cp312-cp312-macosx_11_0_arm64.whl" +upload-time = 2025-09-25 21:32:12+00:00 +size = 173973 + +[packages.wheels.hashes] +sha256 = "fc09d0aa354569bc501d4e787133afc08552722d3ab34836a80547331bb5d4a0" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/ed/23/7a778b6bd0b9a8039df8b1b1d80e2e2ad78aa04171592c8a5c43a56a6af4/pyyaml-6.0.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" +upload-time = 2025-09-25 21:32:13+00:00 +size = 775116 + +[packages.wheels.hashes] +sha256 = "9149cad251584d5fb4981be1ecde53a1ca46c891a79788c0df828d2f166bda28" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/65/30/d7353c338e12baef4ecc1b09e877c1970bd3382789c159b4f89d6a70dc09/pyyaml-6.0.3-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" +upload-time = 2025-09-25 21:32:15+00:00 +size = 844011 + +[packages.wheels.hashes] +sha256 = "5fdec68f91a0c6739b380c83b951e2c72ac0197ace422360e6d5a959d8d97b2c" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/8b/9d/b3589d3877982d4f2329302ef98a8026e7f4443c765c46cfecc8858c6b4b/pyyaml-6.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" +upload-time = 2025-09-25 21:32:16+00:00 +size = 807870 + +[packages.wheels.hashes] +sha256 = "ba1cc08a7ccde2d2ec775841541641e4548226580ab850948cbfda66a1befcdc" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/05/c0/b3be26a015601b822b97d9149ff8cb5ead58c66f981e04fedf4e762f4bd4/pyyaml-6.0.3-cp312-cp312-musllinux_1_2_aarch64.whl" +upload-time = 2025-09-25 21:32:17+00:00 +size = 761089 + +[packages.wheels.hashes] +sha256 = "8dc52c23056b9ddd46818a57b78404882310fb473d63f17b07d5c40421e47f8e" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/be/8e/98435a21d1d4b46590d5459a22d88128103f8da4c2d4cb8f14f2a96504e1/pyyaml-6.0.3-cp312-cp312-musllinux_1_2_x86_64.whl" +upload-time = 2025-09-25 21:32:18+00:00 +size = 790181 + +[packages.wheels.hashes] +sha256 = "41715c910c881bc081f1e8872880d3c650acf13dfa8214bad49ed4cede7c34ea" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/74/93/7baea19427dcfbe1e5a372d81473250b379f04b1bd3c4c5ff825e2327202/pyyaml-6.0.3-cp312-cp312-win32.whl" +upload-time = 2025-09-25 21:32:20+00:00 +size = 137658 + +[packages.wheels.hashes] +sha256 = "96b533f0e99f6579b3d4d4995707cf36df9100d67e0c8303a0c55b27b5f99bc5" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/86/bf/899e81e4cce32febab4fb42bb97dcdf66bc135272882d1987881a4b519e9/pyyaml-6.0.3-cp312-cp312-win_amd64.whl" +upload-time = 2025-09-25 21:32:21+00:00 +size = 154003 + +[packages.wheels.hashes] +sha256 = "5fcd34e47f6e0b794d17de1b4ff496c00986e1c83f7ab2fb8fcfe9616ff7477b" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/1a/08/67bd04656199bbb51dbed1439b7f27601dfb576fb864099c7ef0c3e55531/pyyaml-6.0.3-cp312-cp312-win_arm64.whl" +upload-time = 2025-09-25 21:32:22+00:00 +size = 140344 + +[packages.wheels.hashes] +sha256 = "64386e5e707d03a7e172c0701abfb7e10f0fb753ee1d773128192742712a98fd" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/d1/11/0fd08f8192109f7169db964b5707a2f1e8b745d4e239b784a5a1dd80d1db/pyyaml-6.0.3-cp313-cp313-macosx_10_13_x86_64.whl" +upload-time = 2025-09-25 21:32:23+00:00 +size = 181669 + +[packages.wheels.hashes] +sha256 = "8da9669d359f02c0b91ccc01cac4a67f16afec0dac22c2ad09f46bee0697eba8" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/b1/16/95309993f1d3748cd644e02e38b75d50cbc0d9561d21f390a76242ce073f/pyyaml-6.0.3-cp313-cp313-macosx_11_0_arm64.whl" +upload-time = 2025-09-25 21:32:25+00:00 +size = 173252 + +[packages.wheels.hashes] +sha256 = "2283a07e2c21a2aa78d9c4442724ec1eb15f5e42a723b99cb3d822d48f5f7ad1" + +[[packages.wheels]] +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" +upload-time = 2025-09-25 21:32:26+00:00 +size = 767081 + +[packages.wheels.hashes] +sha256 = "ee2922902c45ae8ccada2c5b501ab86c36525b883eff4255313a253a3160861c" + +[[packages.wheels]] +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" +upload-time = 2025-09-25 21:32:27+00:00 +size = 841159 + +[packages.wheels.hashes] +sha256 = "a33284e20b78bd4a18c8c2282d549d10bc8408a2a7ff57653c0cf0b9be0afce5" + +[[packages.wheels]] +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" +upload-time = 2025-09-25 21:32:28+00:00 +size = 801626 + +[packages.wheels.hashes] +sha256 = "0f29edc409a6392443abf94b9cf89ce99889a1dd5376d94316ae5145dfedd5d6" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/f9/11/ba845c23988798f40e52ba45f34849aa8a1f2d4af4b798588010792ebad6/pyyaml-6.0.3-cp313-cp313-musllinux_1_2_aarch64.whl" +upload-time = 2025-09-25 21:32:30+00:00 +size = 753613 + +[packages.wheels.hashes] +sha256 = "f7057c9a337546edc7973c0d3ba84ddcdf0daa14533c2065749c9075001090e6" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/3d/e0/7966e1a7bfc0a45bf0a7fb6b98ea03fc9b8d84fa7f2229e9659680b69ee3/pyyaml-6.0.3-cp313-cp313-musllinux_1_2_x86_64.whl" +upload-time = 2025-09-25 21:32:31+00:00 +size = 794115 + +[packages.wheels.hashes] +sha256 = "eda16858a3cab07b80edaf74336ece1f986ba330fdb8ee0d6c0d68fe82bc96be" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/de/94/980b50a6531b3019e45ddeada0626d45fa85cbe22300844a7983285bed3b/pyyaml-6.0.3-cp313-cp313-win32.whl" +upload-time = 2025-09-25 21:32:32+00:00 +size = 137427 + +[packages.wheels.hashes] +sha256 = "d0eae10f8159e8fdad514efdc92d74fd8d682c933a6dd088030f3834bc8e6b26" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/97/c9/39d5b874e8b28845e4ec2202b5da735d0199dbe5b8fb85f91398814a9a46/pyyaml-6.0.3-cp313-cp313-win_amd64.whl" +upload-time = 2025-09-25 21:32:33+00:00 +size = 154090 + +[packages.wheels.hashes] +sha256 = "79005a0d97d5ddabfeeea4cf676af11e647e41d81c9a7722a193022accdb6b7c" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/73/e8/2bdf3ca2090f68bb3d75b44da7bbc71843b19c9f2b9cb9b0f4ab7a5a4329/pyyaml-6.0.3-cp313-cp313-win_arm64.whl" +upload-time = 2025-09-25 21:32:34+00:00 +size = 140246 + +[packages.wheels.hashes] +sha256 = "5498cd1645aa724a7c71c8f378eb29ebe23da2fc0d7a08071d89469bf1d2defb" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/9d/8c/f4bd7f6465179953d3ac9bc44ac1a8a3e6122cf8ada906b4f96c60172d43/pyyaml-6.0.3-cp314-cp314-macosx_10_13_x86_64.whl" +upload-time = 2025-09-25 21:32:35+00:00 +size = 181814 + +[packages.wheels.hashes] +sha256 = "8d1fab6bb153a416f9aeb4b8763bc0f22a5586065f86f7664fc23339fc1c1fac" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/bd/9c/4d95bb87eb2063d20db7b60faa3840c1b18025517ae857371c4dd55a6b3a/pyyaml-6.0.3-cp314-cp314-macosx_11_0_arm64.whl" +upload-time = 2025-09-25 21:32:36+00:00 +size = 173809 + +[packages.wheels.hashes] +sha256 = "34d5fcd24b8445fadc33f9cf348c1047101756fd760b4dacb5c3e99755703310" + +[[packages.wheels]] +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" +upload-time = 2025-09-25 21:32:37+00:00 +size = 766454 + +[packages.wheels.hashes] +sha256 = "501a031947e3a9025ed4405a168e6ef5ae3126c59f90ce0cd6f2bfc477be31b7" + +[[packages.wheels]] +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" +upload-time = 2025-09-25 21:32:39+00:00 +size = 836355 + +[packages.wheels.hashes] +sha256 = "b3bc83488de33889877a0f2543ade9f70c67d66d9ebb4ac959502e12de895788" + +[[packages.wheels]] +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" +upload-time = 2025-09-25 21:32:40+00:00 +size = 794175 + +[packages.wheels.hashes] +sha256 = "c458b6d084f9b935061bc36216e8a69a7e293a2f1e68bf956dcd9e6cbcd143f5" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/dd/3f/5989debef34dc6397317802b527dbbafb2b4760878a53d4166579111411e/pyyaml-6.0.3-cp314-cp314-musllinux_1_2_aarch64.whl" +upload-time = 2025-09-25 21:32:42+00:00 +size = 755228 + +[packages.wheels.hashes] +sha256 = "7c6610def4f163542a622a73fb39f534f8c101d690126992300bf3207eab9764" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/d7/ce/af88a49043cd2e265be63d083fc75b27b6ed062f5f9fd6cdc223ad62f03e/pyyaml-6.0.3-cp314-cp314-musllinux_1_2_x86_64.whl" +upload-time = 2025-09-25 21:32:43+00:00 +size = 789194 + +[packages.wheels.hashes] +sha256 = "5190d403f121660ce8d1d2c1bb2ef1bd05b5f68533fc5c2ea899bd15f4399b35" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/23/20/bb6982b26a40bb43951265ba29d4c246ef0ff59c9fdcdf0ed04e0687de4d/pyyaml-6.0.3-cp314-cp314-win_amd64.whl" +upload-time = 2025-09-25 21:32:57+00:00 +size = 156429 + +[packages.wheels.hashes] +sha256 = "4a2e8cebe2ff6ab7d1050ecd59c25d4c8bd7e6f400f5f82b96557ac0abafd0ac" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/f4/f4/a4541072bb9422c8a883ab55255f918fa378ecf083f5b85e87fc2b4eda1b/pyyaml-6.0.3-cp314-cp314-win_arm64.whl" +upload-time = 2025-09-25 21:32:59+00:00 +size = 143912 + +[packages.wheels.hashes] +sha256 = "93dda82c9c22deb0a405ea4dc5f2d0cda384168e466364dec6255b293923b2f3" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/7c/f9/07dd09ae774e4616edf6cda684ee78f97777bdd15847253637a6f052a62f/pyyaml-6.0.3-cp314-cp314t-macosx_10_13_x86_64.whl" +upload-time = 2025-09-25 21:32:44+00:00 +size = 189108 + +[packages.wheels.hashes] +sha256 = "02893d100e99e03eda1c8fd5c441d8c60103fd175728e23e431db1b589cf5ab3" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/4e/78/8d08c9fb7ce09ad8c38ad533c1191cf27f7ae1effe5bb9400a46d9437fcf/pyyaml-6.0.3-cp314-cp314t-macosx_11_0_arm64.whl" +upload-time = 2025-09-25 21:32:45+00:00 +size = 183641 + +[packages.wheels.hashes] +sha256 = "c1ff362665ae507275af2853520967820d9124984e0f7466736aea23d8611fba" + +[[packages.wheels]] +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" +upload-time = 2025-09-25 21:32:48+00:00 +size = 831901 + +[packages.wheels.hashes] +sha256 = "6adc77889b628398debc7b65c073bcb99c4a0237b248cacaf3fe8a557563ef6c" + +[[packages.wheels]] +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" +upload-time = 2025-09-25 21:32:50+00:00 +size = 861132 + +[packages.wheels.hashes] +sha256 = "a80cb027f6b349846a3bf6d73b5e95e782175e52f22108cfa17876aaeff93702" + +[[packages.wheels]] +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" +upload-time = 2025-09-25 21:32:51+00:00 +size = 839261 + +[packages.wheels.hashes] +sha256 = "00c4bdeba853cc34e7dd471f16b4114f4162dc03e6b7afcc2128711f0eca823c" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/ce/88/a9db1376aa2a228197c58b37302f284b5617f56a5d959fd1763fb1675ce6/pyyaml-6.0.3-cp314-cp314t-musllinux_1_2_aarch64.whl" +upload-time = 2025-09-25 21:32:52+00:00 +size = 805272 + +[packages.wheels.hashes] +sha256 = "66e1674c3ef6f541c35191caae2d429b967b99e02040f5ba928632d9a7f0f065" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/da/92/1446574745d74df0c92e6aa4a7b0b3130706a4142b2d1a5869f2eaa423c6/pyyaml-6.0.3-cp314-cp314t-musllinux_1_2_x86_64.whl" +upload-time = 2025-09-25 21:32:54+00:00 +size = 829923 + +[packages.wheels.hashes] +sha256 = "16249ee61e95f858e83976573de0f5b2893b3677ba71c9dd36b9cf8be9ac6d65" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/f0/7a/1c7270340330e575b92f397352af856a8c06f230aa3e76f86b39d01b416a/pyyaml-6.0.3-cp314-cp314t-win_amd64.whl" +upload-time = 2025-09-25 21:32:55+00:00 +size = 174062 + +[packages.wheels.hashes] +sha256 = "4ad1906908f2f5ae4e5a8ddfce73c320c2a1429ec52eafd27138b7f1cbe341c9" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/f1/12/de94a39c2ef588c7e6455cfbe7343d3b2dc9d6b6b2f40c4c6565744c873d/pyyaml-6.0.3-cp314-cp314t-win_arm64.whl" +upload-time = 2025-09-25 21:32:56+00:00 +size = 149341 + +[packages.wheels.hashes] +sha256 = "ebc55a14a21cb14062aa4162f906cd962b28e2e9ea38f9b4391244cd8de4ae0b" + +[[packages]] +name = "readme-renderer" +version = "46.0" +index = "https://pypi.org/simple" +marker = "\"dev\" in dependency_groups or \"pkg-meta\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/25/d7/9309494fad74ee831d4546f69325b5519f37c6dfb2d9ba495db8c6d4f4ca/readme_renderer-46.0.tar.gz" +upload-time = 2026-08-28 15:18:32+00:00 +size = 38382 + +[packages.sdist.hashes] +sha256 = "af3e964914f6310a33ff67b72a4bdd940bed8d7c3bdecd2d14f40edf284bfe90" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/4b/72/ac5ca81fe9121fcaa9d828d21017cba00a16a98e4ea5fb60c878f93dda4f/readme_renderer-46.0-py3-none-any.whl" +upload-time = 2026-08-28 15:18:31+00:00 +size = 14239 + +[packages.wheels.hashes] +sha256 = "d0dae1f74bb273b534770cb4cccb6bb78735540afdb03c2146f4e19dcd412560" + +[[packages]] +name = "requests" +version = "2.34.2" +index = "https://pypi.org/simple" +marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"pkg-meta\" in dependency_groups or \"type\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/ac/c3/e2a2b89f2d3e2179abd6d00ebd70bff6273f37fb3e0cc209f48b39d00cbf/requests-2.34.2.tar.gz" +upload-time = 2026-05-14 19:25:27+00:00 +size = 142856 + +[packages.sdist.hashes] +sha256 = "f288924cae4e29463698d6d60bc6a4da69c89185ad1e0bcc4104f584e960b9ed" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/a0/f4/c67b0b3f1b9245e8d266f0f112c500d50e5b4e83cb6f3b71b6528104182a/requests-2.34.2-py3-none-any.whl" +upload-time = 2026-05-14 19:25:26+00:00 +size = 73075 + +[packages.wheels.hashes] +sha256 = "2a0d60c172f83ac6ab31e4554906c0f3b3588d37b5cb939b1c061f4907e278e0" + +[[packages]] +name = "requests-toolbelt" +version = "1.0.0" +index = "https://pypi.org/simple" +marker = "\"dev\" in dependency_groups or \"pkg-meta\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/f3/61/d7545dafb7ac2230c70d38d31cbfe4cc64f7144dc41f6e4e4b78ecd9f5bb/requests-toolbelt-1.0.0.tar.gz" +upload-time = 2023-05-01 04:11:33+00:00 +size = 206888 + +[packages.sdist.hashes] +sha256 = "7681a0a3d047012b5bdc0ee37d7f8f07ebe76ab08caeccfc3921ce23c88d5bc6" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/3f/51/d4db610ef29373b879047326cbf6fa98b6c1969d6f6dc423279de2b1be2c/requests_toolbelt-1.0.0-py2.py3-none-any.whl" +upload-time = 2023-05-01 04:11:28+00:00 +size = 54481 + +[packages.wheels.hashes] +sha256 = "cccfdd665f0a24fcf4726e690f65639d272bb0637b9b92dfd91a5568ccf6bd06" + +[[packages]] +name = "rfc3986" +version = "2.0.0" +index = "https://pypi.org/simple" +marker = "\"dev\" in dependency_groups or \"pkg-meta\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/85/40/1520d68bfa07ab5a6f065a186815fb6610c86fe957bc065754e47f7b0840/rfc3986-2.0.0.tar.gz" +upload-time = 2022-01-10 00:52:30+00:00 +size = 49026 + +[packages.sdist.hashes] +sha256 = "97aacf9dbd4bfd829baad6e6309fa6573aaf1be3f6fa735c8ab05e46cecb261c" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/ff/9a/9afaade874b2fa6c752c36f1548f718b5b83af81ed9b76628329dab81c1b/rfc3986-2.0.0-py2.py3-none-any.whl" +upload-time = 2022-01-10 00:52:29+00:00 +size = 31326 + +[packages.wheels.hashes] +sha256 = "50b1502b60e289cb37883f3dfd34532b8873c7de9f49bb546641ce9cbd256ebd" + +[[packages]] +name = "rich" +version = "15.0.0" +index = "https://pypi.org/simple" +marker = "\"dev\" in dependency_groups or \"pkg-meta\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/c0/8f/0722ca900cc807c13a6a0c696dacf35430f72e0ec571c4275d2371fca3e9/rich-15.0.0.tar.gz" +upload-time = 2026-04-12 08:24:00+00:00 +size = 230680 + +[packages.sdist.hashes] +sha256 = "edd07a4824c6b40189fb7ac9bc4c52536e9780fbbfbddf6f1e2502c31b068c36" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/82/3b/64d4899d73f91ba49a8c18a8ff3f0ea8f1c1d75481760df8c68ef5235bf5/rich-15.0.0-py3-none-any.whl" +upload-time = 2026-04-12 08:24:02+00:00 +size = 310654 + +[packages.wheels.hashes] +sha256 = "33bd4ef74232fb73fe9279a257718407f169c09b78a87ad3d296f548e27de0bb" + +[[packages]] +name = "roman-numerals" +version = "4.1.0" +index = "https://pypi.org/simple" +marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"type\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/ae/f9/41dc953bbeb056c17d5f7a519f50fdf010bd0553be2d630bc69d1e022703/roman_numerals-4.1.0.tar.gz" +upload-time = 2025-12-17 18:25:34+00:00 +size = 9077 + +[packages.sdist.hashes] +sha256 = "1af8b147eb1405d5839e78aeb93131690495fe9da5c91856cb33ad55a7f1e5b2" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/04/54/6f679c435d28e0a568d8e8a7c0a93a09010818634c3c3907fc98d8983770/roman_numerals-4.1.0-py3-none-any.whl" +upload-time = 2025-12-17 18:25:33+00:00 +size = 7676 + +[packages.wheels.hashes] +sha256 = "647ba99caddc2cc1e55a51e4360689115551bf4476d90e8162cf8c345fe233c7" + +[[packages]] +name = "secretstorage" +version = "3.5.0" +index = "https://pypi.org/simple" +marker = "(\"dev\" in dependency_groups and (platform_machine != 'ppc64le' and platform_machine != 's390x' and sys_platform == 'linux')) or (\"pkg-meta\" in dependency_groups and (platform_machine != 'ppc64le' and platform_machine != 's390x' and sys_platform == 'linux'))" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/1c/03/e834bcd866f2f8a49a85eaff47340affa3bfa391ee9912a952a1faa68c7b/secretstorage-3.5.0.tar.gz" +upload-time = 2025-11-23 19:02:53+00:00 +size = 19884 + +[packages.sdist.hashes] +sha256 = "f04b8e4689cbce351744d5537bf6b1329c6fc68f91fa666f60a380edddcd11be" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/b7/46/f5af3402b579fd5e11573ce652019a67074317e18c1935cc0b4ba9b35552/secretstorage-3.5.0-py3-none-any.whl" +upload-time = 2025-11-23 19:02:51+00:00 +size = 15554 + +[packages.wheels.hashes] +sha256 = "0ce65888c0725fcb2c5bc0fdb8e5438eece02c523557ea40ce0703c266248137" + +[[packages]] +name = "setuptools" +version = "84.2.0" +index = "https://pypi.org/simple" +marker = "\"dev\" in dependency_groups or \"test\" in dependency_groups or \"type\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/63/40/e2c41d00a4bfea5548c31420a74c6cf149cc0e7c36b45c4c82202ce867aa/setuptools-84.2.0.tar.gz" +upload-time = 2026-10-19 20:38:03+00:00 +size = 1227656 + +[packages.sdist.hashes] +sha256 = "6f445ca2ce864605f81e223f262b4c94ffcb9a4a63473bae0ed7be5aab0291da" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/dd/a2/2e1af99d56c8145aa69496026c7e5fd7b6ec759b500c3ad697e2062832dc/setuptools-84.2.0-py3-none-any.whl" +upload-time = 2026-10-19 20:38:01+00:00 +size = 875816 + +[packages.wheels.hashes] +sha256 = "8cc107ac7a403105dc8d6477664171f36135fab26adf8b5e0edaebc313f39b21" + +[[packages]] +name = "snowballstemmer" +version = "3.1.1" +index = "https://pypi.org/simple" +marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"type\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/43/f8/0a71edf031f03c40db17503cb8ca78a69a171254e568e7db241b0ab57ea1/snowballstemmer-3.1.1.tar.gz" +upload-time = 2026-06-03 00:56:40+00:00 +size = 123314 + +[packages.sdist.hashes] +sha256 = "e07bbc54a0d798fe6010a12398422e62a8bfbba95c394fd0956ef58cb4d3e260" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/4c/07/2ebca9b11fb9be7340a818d8d6f63feaebb146be2c4afbd6061701d6df6e/snowballstemmer-3.1.1-py3-none-any.whl" +upload-time = 2026-06-03 00:56:38+00:00 +size = 104164 + +[packages.wheels.hashes] +sha256 = "7e207fa178741da09cdee59d3ecec3827ad5f92b1fc5c9ff3755b639f71f5752" + +[[packages]] +name = "soupsieve" +version = "2.10" +index = "https://pypi.org/simple" +marker = "(\"dev\" in dependency_groups and (python_full_version < '3.11.5')) or (\"docs\" in dependency_groups and (python_full_version < '3.11.5')) or (\"type\" in dependency_groups and (python_full_version < '3.11.5'))" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/71/c3/1b817965ac12dc002d7c9cd7dfffdd7d4fbf9b45763ef2ffe7b86ee94670/soupsieve-2.10.tar.gz" +upload-time = 2026-09-24 02:36:35+00:00 +size = 124337 + +[packages.sdist.hashes] +sha256 = "49e9380d7d2905463583bafe285e818c7366a9ed7b3aee221c1ac79c905d8bc0" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/66/87/5ed59e1d0290564e2027ed066c52b059892c4637741337fc0967183c8d4d/soupsieve-2.10-py3-none-any.whl" +upload-time = 2026-09-24 02:36:33+00:00 +size = 38019 + +[packages.wheels.hashes] +sha256 = "8596eb8967d744174820280fa62b4542a2e955bfaccca73ed8a13c6eb8e9b502" + +[[packages]] +name = "soupsieve" +version = "3.0.3" +index = "https://pypi.org/simple" +marker = "(\"dev\" in dependency_groups and (python_full_version >= '3.11.5')) or (\"docs\" in dependency_groups and (python_full_version >= '3.11.5')) or (\"type\" in dependency_groups and (python_full_version >= '3.11.5'))" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/5e/77/2dcfa996b01702ab8fd0763d84098f6a640d6162a328f1c04c2697579a1a/soupsieve-3.0.3.tar.gz" +upload-time = 2026-10-12 13:21:17+00:00 +size = 115923 + +[packages.sdist.hashes] +sha256 = "7dcf6022eed0399eb9934a75e020148f7a2024c37b7dfcd3cf2c5505d69c364e" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/49/ca/f639c80449997b88aba7bc9705d25dd76cc0844f45f187862fd8f8bb18fa/soupsieve-3.0.3-py3-none-any.whl" +upload-time = 2026-10-12 13:21:16+00:00 +size = 41705 + +[packages.wheels.hashes] +sha256 = "fa30e3ba4809cb81ce1f3209f2fbe3e779fc445f0439bc147a0d7c4601743f21" + +[[packages]] +name = "sphinx" +version = "9.0.4" +index = "https://pypi.org/simple" +marker = "(\"dev\" in dependency_groups and (python_full_version < '3.12')) or (\"docs\" in dependency_groups and (python_full_version < '3.12')) or (\"type\" in dependency_groups and (python_full_version < '3.12'))" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/42/50/a8c6ccc36d5eacdfd7913ddccd15a9cee03ecafc5ee2bc40e1f168d85022/sphinx-9.0.4.tar.gz" +upload-time = 2025-12-04 07:45:27+00:00 +size = 8710502 + +[packages.sdist.hashes] +sha256 = "594ef59d042972abbc581d8baa577404abe4e6c3b04ef61bd7fc2acbd51f3fa3" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/c6/3f/4bbd76424c393caead2e1eb89777f575dee5c8653e2d4b6afd7a564f5974/sphinx-9.0.4-py3-none-any.whl" +upload-time = 2025-12-04 07:45:24+00:00 +size = 3917713 + +[packages.wheels.hashes] +sha256 = "5bebc595a5e943ea248b99c13814c1c5e10b3ece718976824ffa7959ff95fffb" + +[[packages]] +name = "sphinx" +version = "9.1.1" +index = "https://pypi.org/simple" +marker = "(\"dev\" in dependency_groups and (python_full_version >= '3.12')) or (\"docs\" in dependency_groups and (python_full_version >= '3.12')) or (\"type\" in dependency_groups and (python_full_version >= '3.12'))" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/fc/73/567727fc8c8d85bc3adc88a246e12937cfda8d565cf1d80e85bceaa61fe5/sphinx-9.1.1.tar.gz" +upload-time = 2026-10-20 00:41:13+00:00 +size = 8725638 + +[packages.sdist.hashes] +sha256 = "48b627f02908f22c601b3ba9c7b17265b4f315dd05c8bc64cd4da41183f44fbc" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/47/18/3c66ea76da7de47e716b181c35bdbfafbd5e9af0bb247b14578e9de348e9/sphinx-9.1.1-py3-none-any.whl" +upload-time = 2026-10-20 00:41:11+00:00 +size = 3923559 + +[packages.wheels.hashes] +sha256 = "f8b60013ce25017be41a509e5c2d265bc1918410061315c36b809c7f335646c0" + +[[packages]] +name = "sphinx-autodoc-typehints" +version = "3.17.2" +index = "https://pypi.org/simple" +marker = "(\"dev\" in dependency_groups and (python_full_version >= '3.12')) or (\"docs\" in dependency_groups and (python_full_version >= '3.12')) or (\"type\" in dependency_groups and (python_full_version >= '3.12'))" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/9c/fa/c967fd665cc102c90338a90292aba336f852ee6f9b3477ffe4da565edb11/sphinx_autodoc_typehints-3.17.2.tar.gz" +upload-time = 2026-10-17 18:30:30+00:00 +size = 570767 + +[packages.sdist.hashes] +sha256 = "de41ed4001f4818bb6d37c22fd10ee44a93e6c8e945c6c7e3984e28a9df87d1c" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/78/d4/8fc500ff2fafe8a6e1847abd8b1072494dc1a5f136f8e890e973db7de4eb/sphinx_autodoc_typehints-3.17.2-py3-none-any.whl" +upload-time = 2026-10-17 18:30:28+00:00 +size = 140285 + +[packages.wheels.hashes] +sha256 = "b0ad1f96503d69b63c2a1c043f12e2a727c9549e6503d4adbf2125dbf5ff50ed" + +[[packages]] +name = "sphinx-autodoc-typehints" +version = "3.6.1" +index = "https://pypi.org/simple" +marker = "(\"dev\" in dependency_groups and (python_full_version < '3.12')) or (\"docs\" in dependency_groups and (python_full_version < '3.12')) or (\"type\" in dependency_groups and (python_full_version < '3.12'))" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/1d/f6/bdd93582b2aaad2cfe9eb5695a44883c8bc44572dd3c351a947acbb13789/sphinx_autodoc_typehints-3.6.1.tar.gz" +upload-time = 2026-01-02 15:23:46+00:00 +size = 37563 + +[packages.sdist.hashes] +sha256 = "fa0b686ae1b85965116c88260e5e4b82faec3687c2e94d6a10f9b36c3743e2fe" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/dc/6a/c0360b115c81d449b3b73bf74b64ca773464d5c7b1b77bda87c5e874853b/sphinx_autodoc_typehints-3.6.1-py3-none-any.whl" +upload-time = 2026-01-02 15:23:45+00:00 +size = 20869 + +[packages.wheels.hashes] +sha256 = "dd818ba31d4c97f219a8c0fcacef280424f84a3589cedcb73003ad99c7da41ca" + +[[packages]] +name = "sphinx-basic-ng" +version = "1.0.0b2" +index = "https://pypi.org/simple" +marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"type\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/98/0b/a866924ded68efec7a1759587a4e478aec7559d8165fac8b2ad1c0e774d6/sphinx_basic_ng-1.0.0b2.tar.gz" +upload-time = 2023-07-08 18:40:54+00:00 +size = 20736 + +[packages.sdist.hashes] +sha256 = "9ec55a47c90c8c002b5960c57492ec3021f5193cb26cebc2dc4ea226848651c9" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/3c/dd/018ce05c532a22007ac58d4f45232514cd9d6dd0ee1dc374e309db830983/sphinx_basic_ng-1.0.0b2-py3-none-any.whl" +upload-time = 2023-07-08 18:40:52+00:00 +size = 22496 + +[packages.wheels.hashes] +sha256 = "eb09aedbabfb650607e9b4b68c9d240b90b1e1be221d6ad71d61c52e29f7932b" + +[[packages]] +name = "sphinx-llm" +version = "1.1.0" +index = "https://pypi.org/simple" +marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"type\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/9b/2b/2529cb0b1acb85489167904649387ea7b17e3172ac3286fc0c8af2887bc5/sphinx_llm-1.1.0.tar.gz" +upload-time = 2026-09-21 10:15:26+00:00 +size = 408770 + +[packages.sdist.hashes] +sha256 = "5f3b41c0d7888c75a6fe9f92b1a965c50ee233eaf38673c0ef3501072599c617" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/cb/06/8db70029d13ae3b5ef4dabd7496e15941f0f700b9e2f1fb77859bef97263/sphinx_llm-1.1.0-py3-none-any.whl" +upload-time = 2026-09-21 10:15:25+00:00 +size = 85878 + +[packages.wheels.hashes] +sha256 = "40cfadbfeb4483f4fd5b6c1c0b1a48152847f30febfa94fc413bbbe09c137953" + +[[packages]] +name = "sphinx-markdown-builder" +version = "0.6.11" +index = "https://pypi.org/simple" +marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"type\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/ad/13/102d7134743120db25e636ffb57a30818e95a416583dca83aadac9c5dd87/sphinx_markdown_builder-0.6.11.tar.gz" +upload-time = 2026-08-16 06:51:38+00:00 +size = 24020 + +[packages.sdist.hashes] +sha256 = "ba3bf33e0e42ff30ae686ac73957a95e6d045790dcfbaca012dd8ae01794e577" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/c9/71/06b415631c2e494c80546073b46013d1715dceb3abe30bd63b34b4e7d9ca/sphinx_markdown_builder-0.6.11-py3-none-any.whl" +upload-time = 2026-08-16 06:51:36+00:00 +size = 18088 + +[packages.wheels.hashes] +sha256 = "acfb94d6ee66c7a47da0ca0420578fa16f115812af25b8fd21755d5909aacf51" + +[[packages]] +name = "sphinxcontrib-applehelp" +version = "2.0.0" +index = "https://pypi.org/simple" +marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"type\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/ba/6e/b837e84a1a704953c62ef8776d45c3e8d759876b4a84fe14eba2859106fe/sphinxcontrib_applehelp-2.0.0.tar.gz" +upload-time = 2024-07-29 01:09:00+00:00 +size = 20053 + +[packages.sdist.hashes] +sha256 = "2f29ef331735ce958efa4734873f084941970894c6090408b079c61b2e1c06d1" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/5d/85/9ebeae2f76e9e77b952f4b274c27238156eae7979c5421fba91a28f4970d/sphinxcontrib_applehelp-2.0.0-py3-none-any.whl" +upload-time = 2024-07-29 01:08:58+00:00 +size = 119300 + +[packages.wheels.hashes] +sha256 = "4cd3f0ec4ac5dd9c17ec65e9ab272c9b867ea77425228e68ecf08d6b28ddbdb5" + +[[packages]] +name = "sphinxcontrib-devhelp" +version = "2.0.0" +index = "https://pypi.org/simple" +marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"type\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/f6/d2/5beee64d3e4e747f316bae86b55943f51e82bb86ecd325883ef65741e7da/sphinxcontrib_devhelp-2.0.0.tar.gz" +upload-time = 2024-07-29 01:09:23+00:00 +size = 12967 + +[packages.sdist.hashes] +sha256 = "411f5d96d445d1d73bb5d52133377b4248ec79db5c793ce7dbe59e074b4dd1ad" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/35/7a/987e583882f985fe4d7323774889ec58049171828b58c2217e7f79cdf44e/sphinxcontrib_devhelp-2.0.0-py3-none-any.whl" +upload-time = 2024-07-29 01:09:21+00:00 +size = 82530 + +[packages.wheels.hashes] +sha256 = "aefb8b83854e4b0998877524d1029fd3e6879210422ee3780459e28a1f03a8a2" + +[[packages]] +name = "sphinxcontrib-htmlhelp" +version = "2.1.0" +index = "https://pypi.org/simple" +marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"type\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/43/93/983afd9aa001e5201eab16b5a444ed5b9b0a7a010541e0ddfbbfd0b2470c/sphinxcontrib_htmlhelp-2.1.0.tar.gz" +upload-time = 2024-07-29 01:09:37+00:00 +size = 22617 + +[packages.sdist.hashes] +sha256 = "c9e2916ace8aad64cc13a0d233ee22317f2b9025b9cf3295249fa985cc7082e9" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/0a/7b/18a8c0bcec9182c05a0b3ec2a776bba4ead82750a55ff798e8d406dae604/sphinxcontrib_htmlhelp-2.1.0-py3-none-any.whl" +upload-time = 2024-07-29 01:09:36+00:00 +size = 98705 + +[packages.wheels.hashes] +sha256 = "166759820b47002d22914d64a075ce08f4c46818e17cfc9470a9786b759b19f8" + +[[packages]] +name = "sphinxcontrib-jsmath" +version = "2.0.0" +index = "https://pypi.org/simple" +marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"type\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/59/02/4f334c7fc3e54c51d2364575a41cd2fae6847e7f53001949f0be5f32e18b/sphinxcontrib_jsmath-2.0.0.tar.gz" +upload-time = 2026-10-20 18:22:05+00:00 +size = 14511 + +[packages.sdist.hashes] +sha256 = "551f780cf9687f9c3c74f0cf9f18aca06e0d6958853453f3803fe4d357c5b924" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/da/c2/2965c35b39587d4b7a397f65a9c7d4b942b031061e7ac1ce91782f394a0d/sphinxcontrib_jsmath-2.0.0-py3-none-any.whl" +upload-time = 2026-10-20 18:22:04+00:00 +size = 78095 + +[packages.wheels.hashes] +sha256 = "15ca92fe0eec82f0baf91a7efcc51ffacdb605924be6327683a52ebdacb6744c" + +[[packages]] +name = "sphinxcontrib-qthelp" +version = "2.0.0" +index = "https://pypi.org/simple" +marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"type\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/68/bc/9104308fc285eb3e0b31b67688235db556cd5b0ef31d96f30e45f2e51cae/sphinxcontrib_qthelp-2.0.0.tar.gz" +upload-time = 2024-07-29 01:09:56+00:00 +size = 17165 + +[packages.sdist.hashes] +sha256 = "4fe7d0ac8fc171045be623aba3e2a8f613f8682731f9153bb2e40ece16b9bbab" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/27/83/859ecdd180cacc13b1f7e857abf8582a64552ea7a061057a6c716e790fce/sphinxcontrib_qthelp-2.0.0-py3-none-any.whl" +upload-time = 2024-07-29 01:09:54+00:00 +size = 88743 + +[packages.wheels.hashes] +sha256 = "b18a828cdba941ccd6ee8445dbe72ffa3ef8cbe7505d8cd1fa0d42d3f2d5f3eb" + +[[packages]] +name = "sphinxcontrib-serializinghtml" +version = "2.0.0" +index = "https://pypi.org/simple" +marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"type\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/3b/44/6716b257b0aa6bfd51a1b31665d1c205fb12cb5ad56de752dfa15657de2f/sphinxcontrib_serializinghtml-2.0.0.tar.gz" +upload-time = 2024-07-29 01:10:09+00:00 +size = 16080 + +[packages.sdist.hashes] +sha256 = "e9d912827f872c029017a53f0ef2180b327c3f7fd23c87229f7a8e8b70031d4d" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/52/a7/d2782e4e3f77c8450f727ba74a8f12756d5ba823d81b941f1b04da9d033a/sphinxcontrib_serializinghtml-2.0.0-py3-none-any.whl" +upload-time = 2024-07-29 01:10:08+00:00 +size = 92072 + +[packages.wheels.hashes] +sha256 = "6e2cb0eef194e10c27ec0023bfeb25badbbb5868244cf5bc5bdc04e4464bf331" + +[[packages]] +name = "tabulate" +version = "0.10.0" +index = "https://pypi.org/simple" +marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"type\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/46/58/8c37dea7bbf769b20d58e7ace7e5edfe65b849442b00ffcdd56be88697c6/tabulate-0.10.0.tar.gz" +upload-time = 2026-03-04 18:55:34+00:00 +size = 91754 + +[packages.sdist.hashes] +sha256 = "e2cfde8f79420f6deeffdeda9aaec3b6bc5abce947655d17ac662b126e48a60d" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/99/55/db07de81b5c630da5cbf5c7df646580ca26dfaefa593667fc6f2fe016d2e/tabulate-0.10.0-py3-none-any.whl" +upload-time = 2026-03-04 18:55:31+00:00 +size = 39814 + +[packages.wheels.hashes] +sha256 = "f0b0622e567335c8fabaaa659f1b33bcb6ddfe2e496071b743aa113f8774f2d3" + +[[packages]] +name = "tomli" +version = "2.5.0" +index = "https://pypi.org/simple" +marker = "(\"dev\" in dependency_groups and (python_full_version <= '3.11')) or (\"test\" in dependency_groups and (python_full_version <= '3.11')) or (\"type\" in dependency_groups and (python_full_version <= '3.11'))" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/b0/78/9ad63712633ed3ab5cc1a648d863d7e7da371e9425e209555a0fe711b695/tomli-2.5.0.tar.gz" +upload-time = 2026-10-07 12:23:37+00:00 +size = 17662 + +[packages.sdist.hashes] +sha256 = "264507556cd8b8c8e7c6ee037cdf443a463f03f4c958e57195e3d369711b8ff6" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/22/a6/ab99b60ee52acd949684febabc3005d0045d0f66bebd9cdebd67372d26dd/tomli-2.5.0-cp311-cp311-macosx_10_9_x86_64.whl" +upload-time = 2026-10-07 12:22:15+00:00 +size = 163901 + +[packages.wheels.hashes] +sha256 = "c4dc1c1781f2f716de763d1e9a7b34c6a894e167e291c7c5d16c72f7a9538545" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/bc/00/ee01b7ed4579180fff07142d290257f25ba786f23f3ec6005f620933c2f5/tomli-2.5.0-cp311-cp311-macosx_11_0_arm64.whl" +upload-time = 2026-10-07 12:22:16+00:00 +size = 163756 + +[packages.wheels.hashes] +sha256 = "eff8babca5a7999bc137acbc7482a8b7e17ffca5075ab41f5d770ab408c7bfef" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/72/c2/4efebf65372f6583185f79799312109dddb61102d47e5c33dcfd1a297aca/tomli-2.5.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" +upload-time = 2026-10-07 12:22:18+00:00 +size = 268038 + +[packages.wheels.hashes] +sha256 = "86665cee9c4835b7a7f1e8ec2c719b5258d4dc782887aded5a8ae7352a96843b" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/53/07/5850468e925d898abb36038666f9c333a94d2a223e802a8ba5b6d319d23f/tomli-2.5.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" +upload-time = 2026-10-07 12:22:19+00:00 +size = 276422 + +[packages.wheels.hashes] +sha256 = "d7e369fd63331746182360977b1892bfc215476a30d61612d732425311639f56" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/b4/87/f293984cdcf83c054196d4fd3dad44fc68ae55b4b8c44bc76cef360c3150/tomli-2.5.0-cp311-cp311-musllinux_1_2_aarch64.whl" +upload-time = 2026-10-07 12:22:20+00:00 +size = 272616 + +[packages.wheels.hashes] +sha256 = "7ad1ea345759240d6463efa0ed1c704402752e49aa21476620738d74d72d8aa1" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/ce/ce/db582886b3c1219d3fec93ebd669332482e5aee7a91e0f7838d84f2d1759/tomli-2.5.0-cp311-cp311-musllinux_1_2_x86_64.whl" +upload-time = 2026-10-07 12:22:22+00:00 +size = 276593 + +[packages.wheels.hashes] +sha256 = "96243987194634bd411066ce40c952e108f86af04db533ecd8ac3ff2a85b1885" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/bf/72/7619b87dea4261fc27dd7b54c4461c129c1f7d9bb7ba3aec89c797a431b8/tomli-2.5.0-cp311-cp311-win32.whl" +upload-time = 2026-10-07 12:22:23+00:00 +size = 101830 + +[packages.wheels.hashes] +sha256 = "610b27d99f28ec5f191c7064a48f3ddb179a1fe6ca73d571483ae859f57b605e" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/1e/74/220106da34502304b6751a2a9b8a9fbca6c3fd47e737a2e2e3da7c61c9db/tomli-2.5.0-cp311-cp311-win_amd64.whl" +upload-time = 2026-10-07 12:22:24+00:00 +size = 112742 + +[packages.wheels.hashes] +sha256 = "c804ae44fe7b4bab5da295e4f980a1ff04670bca9d23fe0a4e887e08ebd741a8" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/27/99/7d9c8b41837a7773613e169504147375c157a290167aa59ad74a085f521f/tomli-2.5.0-cp311-cp311-win_arm64.whl" +upload-time = 2026-10-07 12:22:26+00:00 +size = 109332 + +[packages.wheels.hashes] +sha256 = "cfac177ebd6236003846ea339981f71457cb6eb748f23381eb257e45092e3980" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/52/ed/7baa86f87493646a594de388c7c1c40a39dd0461f7e9c0359cbeefc91fe8/tomli-2.5.0-cp312-cp312-macosx_10_13_x86_64.whl" +upload-time = 2026-10-07 12:22:27+00:00 +size = 164854 + +[packages.wheels.hashes] +sha256 = "1f4a40d03fb9f63424f0979855bdeaf44dd7696b8d59501822c10ed30ba532df" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/a5/b1/44c0341f2224397855723c7a8a39f718ea6fcbcc3dacc66e5aeca0f334e3/tomli-2.5.0-cp312-cp312-macosx_11_0_arm64.whl" +upload-time = 2026-10-07 12:22:28+00:00 +size = 164074 + +[packages.wheels.hashes] +sha256 = "9ebf8d19b17bd0daeb7b7dec81a946a439b753942fd0210d6e96c532249eea6b" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/23/04/e2d5b7d3fba47adedb23de616c16d428ea076c79a3d8e1d95d649ffe197e/tomli-2.5.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" +upload-time = 2026-10-07 12:22:29+00:00 +size = 274274 + +[packages.wheels.hashes] +sha256 = "bf0b5e8e0f68ebb494356e577c06c139161efd8d3b9050f93b39b7c26cc54ff0" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/43/90/6090e706ff27a6f89f4a40578e3324b95c3cd8c4150868aabf33a8f414c3/tomli-2.5.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" +upload-time = 2026-10-07 12:22:31+00:00 +size = 286435 + +[packages.wheels.hashes] +sha256 = "6cf74416bdc94ae458b14e37286c1073081850ac8459a00d0c5efef5d44294c6" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/0a/9e/a2c40768df16c408f22430afb0a73e9d7e5f79c950884954649d1146b74d/tomli-2.5.0-cp312-cp312-musllinux_1_2_aarch64.whl" +upload-time = 2026-10-07 12:22:32+00:00 +size = 278119 + +[packages.wheels.hashes] +sha256 = "61ea1ebe1e55a34ea8199cc8dbff398d35027b82271c8ac4802fd3a1fd5b1bcc" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/12/25/3c0cb485b98e9cfac495629b1c93c87ccf0b72fbe9d2689fd8fe62c6d5a3/tomli-2.5.0-cp312-cp312-musllinux_1_2_x86_64.whl" +upload-time = 2026-10-07 12:22:33+00:00 +size = 286177 + +[packages.wheels.hashes] +sha256 = "ed53f7e89bb04f6d9e8e7799112360b0c4d5cbff067de0814c98c37c39b920f7" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/77/8b/0144c65f0e37e51c18d04ae15c21b19431c165002d0131fe9aa8b0b8b1e8/tomli-2.5.0-cp312-cp312-win32.whl" +upload-time = 2026-10-07 12:22:34+00:00 +size = 102760 + +[packages.wheels.hashes] +sha256 = "e7ad033e27a516a233bea839cdb77b80146facb3b4f40bf02cd0cac165cdd5c2" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/de/32/5d6d8f42fc9a05fce69354e00ff256484192f5f2fc9a2165718fa0de61ec/tomli-2.5.0-cp312-cp312-win_amd64.whl" +upload-time = 2026-10-07 12:22:36+00:00 +size = 112722 + +[packages.wheels.hashes] +sha256 = "bd05de8c1698f8413dd7d869492693a0bf2211543b787ac78cd5e7536af1a6d7" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/30/65/df18032218db0fb9b769fb23c8039a051f15c811993995ea04c350273a32/tomli-2.5.0-cp312-cp312-win_arm64.whl" +upload-time = 2026-10-07 12:22:37+00:00 +size = 109534 + +[packages.wheels.hashes] +sha256 = "069435bd5480429b98c5e5afb02ab21c219b6f0064680671c6dc0d46817346ea" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/42/e5/51736d70da209350969e15aca5c5ab6e2ce1ea87a0a892a6c13aec172a86/tomli-2.5.0-cp313-cp313-macosx_10_13_x86_64.whl" +upload-time = 2026-10-07 12:22:38+00:00 +size = 163328 + +[packages.wheels.hashes] +sha256 = "943276cf269e0071948d9ff697159c1735e623c1151d88abb09b74659ef0cbea" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/ec/55/086f80dab4ab497602644274e6dea7ec5dd0b4e262e443a8ad3bb7edee2d/tomli-2.5.0-cp313-cp313-macosx_11_0_arm64.whl" +upload-time = 2026-10-07 12:22:39+00:00 +size = 162246 + +[packages.wheels.hashes] +sha256 = "463b16086865b97facd8d0b3fb4cb7c544e3f58d2a69dc3113d6db9653fdb043" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/aa/eb/3ecc94459f3635c92321f4e7bde571323fdb2267c50e19e3188a281eae3b/tomli-2.5.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" +upload-time = 2026-10-07 12:22:41+00:00 +size = 272655 + +[packages.wheels.hashes] +sha256 = "1245a6638fc4bb0a60af38a7d45413db34a13842027c77597c712c998c62fdf0" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/c0/d7/494fd1f0c37a621f1ad9975c2efadb523e8101f144ed6edb2e7fe64738f2/tomli-2.5.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" +upload-time = 2026-10-07 12:22:42+00:00 +size = 283595 + +[packages.wheels.hashes] +sha256 = "5d8bac3d603c97e6854424e5b2b5b741bdbde387e09f162fb0446812b4a8362b" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/70/51/bb8d62b1317e6640866f6949b2d5855e5300f2c99d46de1cd245570bba65/tomli-2.5.0-cp313-cp313-musllinux_1_2_aarch64.whl" +upload-time = 2026-10-07 12:22:43+00:00 +size = 276253 + +[packages.wheels.hashes] +sha256 = "21e4cae4114aba25aa0d4f85cdf486d290fb35c0954d7bba536248da64d43066" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/66/f4/f46bd7f0763cd47de2db697dca9257c6a4adfd1a93b018cc75c8190ed5a8/tomli-2.5.0-cp313-cp313-musllinux_1_2_x86_64.whl" +upload-time = 2026-10-07 12:22:44+00:00 +size = 283582 + +[packages.wheels.hashes] +sha256 = "bbaefc84548d754be821bba7c4141c4787dda182f9e77f2f87b71213529efa7b" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/ac/03/70f2bcb2923a6db37818d917e124270a7f4cfd38ea576f5aa753a91c0ef5/tomli-2.5.0-cp313-cp313-win32.whl" +upload-time = 2026-10-07 12:22:46+00:00 +size = 102628 + +[packages.wheels.hashes] +sha256 = "abdbf6313b8d9efe157edeb7ab6eae4de064b1300ad31abf73755154b30abe68" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/dc/98/d52024bb5b0ff68b4f0d276d867f634c84a67319a7e9f6b7708a37742333/tomli-2.5.0-cp313-cp313-win_amd64.whl" +upload-time = 2026-10-07 12:22:47+00:00 +size = 113301 + +[packages.wheels.hashes] +sha256 = "fd4dc129784e0c5335bd4e61dfcc4487499a013419e655cf2da1d091b7e0efdc" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/6f/f2/540db3a70572a8c23a28aba3e9c358ce0ffffbafc990905c1343aa265b31/tomli-2.5.0-cp313-cp313-win_arm64.whl" +upload-time = 2026-10-07 12:22:48+00:00 +size = 109744 + +[packages.wheels.hashes] +sha256 = "69491c143d2fe063046e0301e62a810bed338fa4d1ce0fd870c27dc1e09b0d84" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/e4/49/caf6b307766eb9567664a8707e9d6be5fcc0e8903f18781c6677a60d80c7/tomli-2.5.0-cp314-cp314-macosx_10_15_x86_64.whl" +upload-time = 2026-10-07 12:22:50+00:00 +size = 162899 + +[packages.wheels.hashes] +sha256 = "d3182ee2d887e507bd67319a0a61105d1dd33facc111329559a233b772c1a105" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/d3/c8/68cfce773a2733a49c74f99d627fb461bd990756860099eac25617889585/tomli-2.5.0-cp314-cp314-macosx_11_0_arm64.whl" +upload-time = 2026-10-07 12:22:51+00:00 +size = 162080 + +[packages.wheels.hashes] +sha256 = "521345fd1f19d45b8df87657aaa38b6f2ca3800059fadf428e7ebf479a383646" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/7e/b2/e5bb8651fdad593f670501a7d718b1a7f73f064d44dea15e04c04dfef45d/tomli-2.5.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" +upload-time = 2026-10-07 12:22:52+00:00 +size = 273380 + +[packages.wheels.hashes] +sha256 = "6e95c7614e705bfe2b04b27aa124adec59752d15813df37e2156747cab3a006b" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/8d/d2/9e2d7f8b1dfe0e2b34c245986ebd55c4c553ea4ce6c47c443b332673253f/tomli-2.5.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" +upload-time = 2026-10-07 12:22:54+00:00 +size = 283228 + +[packages.wheels.hashes] +sha256 = "7ac2027d37c3afbdf4bdd377f2676f6f1d2122a5be1f1137b49dced590b37e75" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/ba/df/ec7b876b7b1a2718bd74a3743c076fff565b04029ba33e8f61fac262739f/tomli-2.5.0-cp314-cp314-musllinux_1_2_aarch64.whl" +upload-time = 2026-10-07 12:22:55+00:00 +size = 277189 + +[packages.wheels.hashes] +sha256 = "c414be4ed9d3cac80c42e348fa5a956117d1a48227f48026e31f59cb4a7671eb" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/7d/7b/e192d9eed0b9cb80da799f4d77052297fb9a2c3cc9b19f571f56ea88add6/tomli-2.5.0-cp314-cp314-musllinux_1_2_x86_64.whl" +upload-time = 2026-10-07 12:22:56+00:00 +size = 283632 + +[packages.wheels.hashes] +sha256 = "9b03d7dc168353b4132965bde20feceabaa470e570c6f59660dfae59b1f9eeb3" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/84/50/ff94454e75461d75623e47401ed323d65c10aab8fe9033242c20cd2fdf32/tomli-2.5.0-cp314-cp314-win32.whl" +upload-time = 2026-10-07 12:22:58+00:00 +size = 103535 + +[packages.wheels.hashes] +sha256 = "6f041843c4d3a37245c0c056fd955b186bf8b1fb85690cbe40b81230891dc34b" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/54/0b/bdacf05f963bd6026ebf6eeb0beda847d1d60e03e440725c64a4e08a0afd/tomli-2.5.0-cp314-cp314-win_amd64.whl" +upload-time = 2026-10-07 12:22:59+00:00 +size = 114621 + +[packages.wheels.hashes] +sha256 = "f4b653094e18f9031102d3a1da5c729c8f222d85225b18037dac621695e46e1a" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/61/99/53f438fa6ae4f9d4ed0ddde3e7242b3bdc34b48c8f9948b72b9e9b127676/tomli-2.5.0-cp314-cp314-win_arm64.whl" +upload-time = 2026-10-07 12:23:00+00:00 +size = 111572 + +[packages.wheels.hashes] +sha256 = "3f89d10c1ff6a38d992c27fc8a4816af71a909e08a40ec66934240b1e74347c3" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/b9/20/1f88f19427d380a40e90a770e087489eaafe4aeee070ae88ed2bbec00acd/tomli-2.5.0-cp314-cp314t-macosx_10_15_x86_64.whl" +upload-time = 2026-10-07 12:23:01+00:00 +size = 171814 + +[packages.wheels.hashes] +sha256 = "e9e15b4a6c7dd6b85b5fbab29488a73f1f70de516942308daa266bf0e0aeb0d4" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/d0/56/cbe5079c9f9a54b9b3e27fc82f08f3cb36edee75561679f53d2380c801d6/tomli-2.5.0-cp314-cp314t-macosx_11_0_arm64.whl" +upload-time = 2026-10-07 12:23:03+00:00 +size = 171324 + +[packages.wheels.hashes] +sha256 = "e12bbcd32897272fb05929110362ae9ff4c1b9bb26bd9e971e71dcd3275b4c3d" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/2b/30/1d53fd3b0f1cb3ba542e345ec32c26aefdddc4e829e4f3429af8a4f27782/tomli-2.5.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" +upload-time = 2026-10-07 12:23:04+00:00 +size = 297441 + +[packages.wheels.hashes] +sha256 = "20aa36de8f2cf87237143bc1fa1aae8d6612c09118f4da21c6a684db5dd1f6f9" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/66/d9/0800acb6a111686f764c1b91ef15cc42a20a66a46013bb42220f1d2c61c1/tomli-2.5.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" +upload-time = 2026-10-07 12:23:05+00:00 +size = 307476 + +[packages.wheels.hashes] +sha256 = "22185fad8a1e622f064e78008018a0dd3323550dcb479cb7a1d296888d74024f" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/e8/63/30a8f3cd51b5bec37f04744bad0b0dc6160df84aad4f27b0e9283d66f221/tomli-2.5.0-cp314-cp314t-musllinux_1_2_aarch64.whl" +upload-time = 2026-10-07 12:23:07+00:00 +size = 296113 + +[packages.wheels.hashes] +sha256 = "984012f71908165449a951de2050d52f276bfe3aa5d5f570f63ddad814370374" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/ab/18/0b9ffc597e69c5a1e20a7823cb60d54b39a9f54e91edcb8574f022186758/tomli-2.5.0-cp314-cp314t-musllinux_1_2_x86_64.whl" +upload-time = 2026-10-07 12:23:08+00:00 +size = 307725 + +[packages.wheels.hashes] +sha256 = "f79203b3965b4000e91808aaa7c040206093f2b8bf86f455982f2274c9ccf442" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/ab/c7/18f8baae0b5607a60e8e19b4a7fedee43a8ff6458e3896dcbbadeeac9c22/tomli-2.5.0-cp314-cp314t-win32.whl" +upload-time = 2026-10-07 12:23:09+00:00 +size = 108546 + +[packages.wheels.hashes] +sha256 = "91294a9fb94a75542f6e46e4a2ae709bd8d9b51134098cae5cf3bea5478b6d03" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/72/34/4cca9739254130627bde87500b3f2b512154fe2f278efa7e2a5e10ad4bcb/tomli-2.5.0-cp314-cp314t-win_amd64.whl" +upload-time = 2026-10-07 12:23:11+00:00 +size = 117814 + +[packages.wheels.hashes] +sha256 = "f15e3e0b835a6d68b10c86bf80a3149780498d6911c93c3ffd1861d19f9200f1" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/7d/fb/afa530d47dd80a78fce43beac6bc6e00f84558eafcffbc6f37b21e80d056/tomli-2.5.0-cp314-cp314t-win_arm64.whl" +upload-time = 2026-10-07 12:23:12+00:00 +size = 115188 + +[packages.wheels.hashes] +sha256 = "6664b7ae7af7294256c53960a6103077f4914cec8ff98479c352f622c6f6b2f0" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/66/98/316fdc00f8c0939e6fe50461dd343c162d3ad51d1286eb25b7db54361d50/tomli-2.5.0-cp315-cp315-macosx_10_15_x86_64.whl" +upload-time = 2026-10-07 12:23:13+00:00 +size = 162775 + +[packages.wheels.hashes] +sha256 = "a525685c2f97da40762b8695eb7aa0af4c8344ca1905c73e4e29cb04d34607dc" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/c5/22/7b10fa5bb01c9539f53f69b619361b19350acc73657772ea7ac70ba309a8/tomli-2.5.0-cp315-cp315-macosx_11_0_arm64.whl" +upload-time = 2026-10-07 12:23:15+00:00 +size = 161406 + +[packages.wheels.hashes] +sha256 = "9dbb18c1cfb2f6517942fc9314437f66aa06d94436ffb1f06102ef3572f35276" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/9c/e7/1a069d86dfd20f1f84f71c63faed9f83c1d890bc06c27d82dc7d888fb573/tomli-2.5.0-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" +upload-time = 2026-10-07 12:23:16+00:00 +size = 273855 + +[packages.wheels.hashes] +sha256 = "752e8b1aa6a4367ef8bf6a1a1e005540f7ed055ba36d7193796812ca5404eb52" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/ae/83/d1ef43d1687d092ab9c235455c76e6e709483b346b056f086095c7c263a5/tomli-2.5.0-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" +upload-time = 2026-10-07 12:23:18+00:00 +size = 284910 + +[packages.wheels.hashes] +sha256 = "c47300f9bf791808f77d82747691c4bb09cb14bdf3060cca99b42cdc4361d5a7" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/cc/05/f4d9cf7de61822ece0c3873f30d291e324911c71a378b8bfe5ced13fd9f5/tomli-2.5.0-cp315-cp315-musllinux_1_2_aarch64.whl" +upload-time = 2026-10-07 12:23:19+00:00 +size = 277723 + +[packages.wheels.hashes] +sha256 = "19b0dd8749f4ea2f112c5fcfb3c5248390c899d7e2e173f1d91abee1fa0ff391" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/42/28/78262493141fa543151cf005760c3cb01d09fc28a11f993c05109902cb8c/tomli-2.5.0-cp315-cp315-musllinux_1_2_x86_64.whl" +upload-time = 2026-10-07 12:23:20+00:00 +size = 285115 + +[packages.wheels.hashes] +sha256 = "57b1c3b01fab802e2899bc3d168dca320e14165e2fd9fd584760fb4ca5826859" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/1a/b9/e1dab9a30bcb677b5cc5cee810609cfd64f24306a3055767dd3fda00b1e0/tomli-2.5.0-cp315-cp315-win32.whl" +upload-time = 2026-10-07 12:23:21+00:00 +size = 103475 + +[packages.wheels.hashes] +sha256 = "667e521b37a6c5ccaa044202c235b530f90177ffe2cd4a64ecc213c7dd535feb" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/4c/bd/31a3790c11d6ea95fcf5e6022ac0f8d0543c9b61120b730fc481bd43d3b4/tomli-2.5.0-cp315-cp315-win_amd64.whl" +upload-time = 2026-10-07 12:23:23+00:00 +size = 114589 + +[packages.wheels.hashes] +sha256 = "d747252933c8a65ef6bd8da0fbb7ce28a90eb6119d8cd00772cd528aa07b68d5" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/47/a2/4f6310fa699364f0e3af7ee3af88dddd9af066d33e716a0265bbe2b3ea84/tomli-2.5.0-cp315-cp315-win_arm64.whl" +upload-time = 2026-10-07 12:23:24+00:00 +size = 111493 + +[packages.wheels.hashes] +sha256 = "75dbcde8751b0a960aa3de173aa5e894d590755c6d7758b7e774c06f1dc3cbdd" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/68/14/00853f0b396d8971107ae1921bb5b322fdee1650d2f16bf06c20adb532e5/tomli-2.5.0-cp315-cp315t-macosx_10_15_x86_64.whl" +upload-time = 2026-10-07 12:23:25+00:00 +size = 171380 + +[packages.wheels.hashes] +sha256 = "2419c2a189551987b59d80e63ec355671283336f41c6b9b89462df679c7d0c57" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/89/ad/fa6949321dadee46b27363974fb197b94c911c3b0f7a5fd26d7dc18fc2a0/tomli-2.5.0-cp315-cp315t-macosx_11_0_arm64.whl" +upload-time = 2026-10-07 12:23:26+00:00 +size = 170553 + +[packages.wheels.hashes] +sha256 = "0dc598040da8d42cf20f0be588ed7004f46db12a0ac6c32e03a59dccedaaadcd" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/53/aa/3056c919eb3e084df3752b2cf5f865dcc04af0b27dba2f66d7b28af4633a/tomli-2.5.0-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" +upload-time = 2026-10-07 12:23:28+00:00 +size = 294428 + +[packages.wheels.hashes] +sha256 = "49096930c8d886c9bbdab62d2d0d17ce823ddeea522309a190b36245d5b49e01" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/96/b2/faeeb5d8769ea3832021d73e892c8391eae7b4b4f8b55a789127bd8b18a9/tomli-2.5.0-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" +upload-time = 2026-10-07 12:23:29+00:00 +size = 304909 + +[packages.wheels.hashes] +sha256 = "b8ade5023067f99fe72b88accd30d0ea05a158e9e32a11f124e731ea9695313f" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/f6/52/f094c09e73fb654b621716d019acb5d29bdfd1be01df80c281d552bda48d/tomli-2.5.0-cp315-cp315t-musllinux_1_2_aarch64.whl" +upload-time = 2026-10-07 12:23:30+00:00 +size = 293220 + +[packages.wheels.hashes] +sha256 = "b69564772b5c8f22ea5f498dff08cfa825045b4d4c4400529000bdf818aa3b2a" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/86/f5/0c30541078ca4b505ce3bd76ed931facbfec524dd018535d691d1af0a6d2/tomli-2.5.0-cp315-cp315t-musllinux_1_2_x86_64.whl" +upload-time = 2026-10-07 12:23:32+00:00 +size = 305705 + +[packages.wheels.hashes] +sha256 = "8ff3a2ca028c7eee0c777f9a092038d0a594a9fa04e215f929a22c329e2cb142" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/05/74/590e7d19d6a118fc5cc5704ff358e21d95b8573f6b9443b1519f29ca8825/tomli-2.5.0-cp315-cp315t-win32.whl" +upload-time = 2026-10-07 12:23:33+00:00 +size = 108432 + +[packages.wheels.hashes] +sha256 = "62fc1bc8eb03e3a9cadfca713d65614ed8e09d974a283295ffe3a831976b4dc5" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/1c/b8/63a75cfb27a17c38550e44025d3a6e7be64516fd8608a3b75703bf37d81b/tomli-2.5.0-cp315-cp315t-win_amd64.whl" +upload-time = 2026-10-07 12:23:34+00:00 +size = 117281 + +[packages.wheels.hashes] +sha256 = "f3fcbc57b1791fa6cbe5d8434179d51de12be1a4811469529f47f6e7487a2571" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/72/01/e8c1debb2173973372934c68fc8e46170ab60ef23ed4592dff4dec6e8993/tomli-2.5.0-cp315-cp315t-win_arm64.whl" +upload-time = 2026-10-07 12:23:35+00:00 +size = 115069 + +[packages.wheels.hashes] +sha256 = "d2ba24db8a9376921b5e87b4762b9adb0f3f1deaea68f2b8b0bb2c11efb9c3e7" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/60/3f/3e3f8fd0919249b0200c80fbc4f9a1e70be19f9883da71dfb7f8b9ab8aca/tomli-2.5.0-py3-none-any.whl" +upload-time = 2026-10-07 12:23:36+00:00 +size = 14765 + +[packages.wheels.hashes] +sha256 = "32a7b79ac57a2e83670ce329ccf675798bc5a2094783a63676866b70503f2e2b" + +[[packages]] +name = "twine" +version = "7.0.0" +index = "https://pypi.org/simple" +marker = "\"dev\" in dependency_groups or \"pkg-meta\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/92/3c/58f808a359700f39a967dffede33efeac809262c03303fa3eec6afff8f49/twine-7.0.0.tar.gz" +upload-time = 2026-07-27 15:59:00+00:00 +size = 215032 + +[packages.sdist.hashes] +sha256 = "85cdb29c518efef867360ae4acd4b0dfd61c8654a22fca08e6f8539f05022177" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/96/08/ddcdc06225eaad6de0e48e1002b06d919dbde20582d0662c7af51308e5d6/twine-7.0.0-py3-none-any.whl" +upload-time = 2026-07-27 15:58:59+00:00 +size = 43204 + +[packages.wheels.hashes] +sha256 = "b854164df26db268af05f49aa5c0344b10e27a494343ff05b1e0bad3b135f5a7" + +[[packages]] +name = "ty" +version = "0.0.24" +index = "https://pypi.org/simple" +marker = "\"dev\" in dependency_groups or \"type\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/7a/96/652a425030f95dc2c9548d9019e52502e17079e1daeefbc4036f1c0905b4/ty-0.0.24.tar.gz" +upload-time = 2026-03-19 16:55:57+00:00 +size = 5354286 + +[packages.sdist.hashes] +sha256 = "9fe42f6b98207bdaef51f71487d6d087f2cb02555ee3939884d779b2b3cc8bfc" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/da/e5/34457ee11708e734ba81ad65723af83030e484f961e281d57d1eecf08951/ty-0.0.24-py3-none-linux_armv6l.whl" +upload-time = 2026-03-19 16:55:54+00:00 +size = 10394877 + +[packages.wheels.hashes] +sha256 = "1ab4f1f61334d533a3fdf5d9772b51b1300ac5da4f3cdb0be9657a3ccb2ce3e7" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/44/81/bc9a1b1a87f43db15ab64ad781a4f999734ec3b470ad042624fa875b20e6/ty-0.0.24-py3-none-macosx_10_12_x86_64.whl" +upload-time = 2026-03-19 16:55:28+00:00 +size = 10211109 + +[packages.wheels.hashes] +sha256 = "facbf2c4aaa6985229e08f8f9bf152215eb078212f22b5c2411f35386688ab42" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/e4/63/cfc805adeaa61d63ba3ea71127efa7d97c40ba36d97ee7bd957341d05107/ty-0.0.24-py3-none-macosx_11_0_arm64.whl" +upload-time = 2026-03-19 16:55:34+00:00 +size = 9694769 + +[packages.wheels.hashes] +sha256 = "b6d2a3b6d4470c483552a31e9b368c86f154dcc964bccb5406159dc9cd362246" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/33/09/edc220726b6ec44a58900401f6b27140997ef15026b791e26b69a6e69eb5/ty-0.0.24-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" +upload-time = 2026-03-19 16:55:37+00:00 +size = 10176287 + +[packages.wheels.hashes] +sha256 = "0c94c25d0500939fd5f8f16ce41cbed5b20528702c1d649bf80300253813f0a2" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/f8/bf/cbe2227be711e65017655d8ee4d050f4c92b113fb4dc4c3bd6a19d3a86d8/ty-0.0.24-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" +upload-time = 2026-03-19 16:56:08+00:00 +size = 10214832 + +[packages.wheels.hashes] +sha256 = "89cbe7bc7df0fab02dbd8cda79b737df83f1ef7fb573b08c0ee043dc68cffb08" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/af/1d/d15803ee47e9143d10e10bd81ccc14761d08758082bda402950685f0ddfe/ty-0.0.24-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl" +upload-time = 2026-03-19 16:56:05+00:00 +size = 10709892 + +[packages.wheels.hashes] +sha256 = "db2c5d269bcc9b764850c99f457b5018a79b3ef40ecfbc03344e65effd6cf743" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/36/12/6db0d86c477147f67b9052de209421d76c3e855197b000c25fcbbe86b3a2/ty-0.0.24-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" +upload-time = 2026-03-19 16:56:02+00:00 +size = 11280872 + +[packages.wheels.hashes] +sha256 = "ba44512db5b97c3bbd59d93e11296e8548d0c9a3bdd1280de36d7ff22d351896" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/1b/fc/155fe83a97c06d33ccc9e0f428258b32df2e08a428300c715d34757f0111/ty-0.0.24-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl" +upload-time = 2026-03-19 16:55:59+00:00 +size = 11060520 + +[packages.wheels.hashes] +sha256 = "a52b7f589c3205512a9c50ba5b2b1e8c0698b72e51b8b9285c90420c06f1cae8" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/ac/f1/32c05a1c4c3c2a95c5b7361dee03a9bf1231d4ad096b161c838b45bce5a0/ty-0.0.24-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" +upload-time = 2026-03-19 16:55:25+00:00 +size = 10791455 + +[packages.wheels.hashes] +sha256 = "7981df5c709c054da4ac5d7c93f8feb8f45e69e829e4461df4d5f0988fe67d04" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/17/2c/53c1ea6bedfa4d4ab64d4de262d8f5e405ecbffefd364459c628c0310d33/ty-0.0.24-py3-none-musllinux_1_2_aarch64.whl" +upload-time = 2026-03-19 16:55:45+00:00 +size = 10156708 + +[packages.wheels.hashes] +sha256 = "b2860151ad95a00d0f0280b8fef79900d08dcd63276b57e6e5774f2c055979c5" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/45/39/7d2919cf194707169474d80720a5f3d793e983416f25e7ffcf80504c9df2/ty-0.0.24-py3-none-musllinux_1_2_armv7l.whl" +upload-time = 2026-03-19 16:55:31+00:00 +size = 10236263 + +[packages.wheels.hashes] +sha256 = "5674a1146d927ab77ff198a88e0c4505134ced342a0e7d1beb4a076a728b7496" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/cf/7f/48eac722f2fd12a5b7aae0effdcb75c46053f94b783d989e3ef0d7380082/ty-0.0.24-py3-none-musllinux_1_2_i686.whl" +upload-time = 2026-03-19 16:55:39+00:00 +size = 10402559 + +[packages.wheels.hashes] +sha256 = "438ecbf1608a9b16dd84502f3f1b23ef2ef32bbd0ab3e0ca5a82f0e0d1cd41ea" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/75/e0/8cf868b9749ce1e5166462759545964e95b02353243594062b927d8bff2a/ty-0.0.24-py3-none-musllinux_1_2_x86_64.whl" +upload-time = 2026-03-19 16:55:51+00:00 +size = 10893684 + +[packages.wheels.hashes] +sha256 = "ddeed3098dd92a83964e7aa7b41e509ba3530eb539fc4cd8322ff64a09daf1f5" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/17/9f/f54bf3be01d2c2ed731d10a5afa3324dc66f987a6ae0a4a6cbfa2323d080/ty-0.0.24-py3-none-win32.whl" +upload-time = 2026-03-19 16:56:11+00:00 +size = 9781542 + +[packages.wheels.hashes] +sha256 = "83013fb3a4764a8f8bcc6ca11ff8bdfd8c5f719fc249241cb2b8916e80778eb1" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/fb/49/c004c5cc258b10b3a145666e9a9c28ae7678bc958c8926e8078d5d769081/ty-0.0.24-py3-none-win_amd64.whl" +upload-time = 2026-03-19 16:55:42+00:00 +size = 10764801 + +[packages.wheels.hashes] +sha256 = "748a60eb6912d1cf27aaab105ffadb6f4d2e458a3fcadfbd3cf26db0d8062eeb" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/e2/59/006a074e185bfccf5e4c026015245ab4fcd2362b13a8d24cf37a277909a9/ty-0.0.24-py3-none-win_arm64.whl" +upload-time = 2026-03-19 16:55:48+00:00 +size = 10194093 + +[packages.wheels.hashes] +sha256 = "280a3d31e86d0721947238f17030c33f0911cae851d108ea9f4e3ab12a5ed01f" + +[[packages]] +name = "typing-extensions" +version = "4.16.0" +index = "https://pypi.org/simple" +marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"pkg-meta\" in dependency_groups or \"type\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/f6/cc/6253133b5bb138fc3306cebfbda2c520f545d36b5be2c7255cc528bb45d6/typing_extensions-4.16.0.tar.gz" +upload-time = 2026-07-02 08:40:05+00:00 +size = 113555 + +[packages.sdist.hashes] +sha256 = "dc983d19a509c94dba722ee6abd33940f7c05a89e243c47e907eb4db6f1a43e5" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/49/d3/b8441a820a491ddfc024b0b0cf0393375b75ea13866d9c66727e54c2fc80/typing_extensions-4.16.0-py3-none-any.whl" +upload-time = 2026-07-02 08:40:04+00:00 +size = 45571 + +[packages.wheels.hashes] +sha256 = "481caa481374e813c1b176ada14e97f1f67a4539ce9cfeb3f350d78d6370c2e8" + +[[packages]] +name = "typing-inspection" +version = "0.4.4" +index = "https://pypi.org/simple" +marker = "\"dev\" in dependency_groups or \"pkg-meta\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/a3/26/b09b8010994eccc3c09092e6b34058f36a460eea2d4c3e8b910c695975a0/typing_inspection-0.4.4.tar.gz" +upload-time = 2026-08-12 12:37:25+00:00 +size = 76928 + +[packages.sdist.hashes] +sha256 = "547274fa6b0a561ccf549cc9524b999a578e737d015d8709d021f9d0d13bea47" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/67/81/4add07e5172b7ac40d8ed5ff580409a7801a4fe26d529bdd915401dabfbe/typing_inspection-0.4.4-py3-none-any.whl" +upload-time = 2026-08-12 12:37:24+00:00 +size = 14750 + +[packages.wheels.hashes] +sha256 = "65b8397ba37ccbce054456aaccddfc91e6e3083c92824df348d96ca832f3f147" + +[[packages]] +name = "urllib3" +version = "2.8.0" +index = "https://pypi.org/simple" +marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"pkg-meta\" in dependency_groups or \"type\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/e3/05/b17359e1cefb4f909b5e40b1b90a496d987258916dbbf88e842c729f510e/urllib3-2.8.0.tar.gz" +upload-time = 2026-09-15 19:29:36+00:00 +size = 458972 + +[packages.sdist.hashes] +sha256 = "63bf2ead4c879426ebf22ef2a781eeb4aa3b4ae798a0435506f8687fd5bb9b63" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/92/9d/c4e665119135114480843e7ab388fa94d8480650450e6f8e26b70d323a4c/urllib3-2.8.0-py3-none-any.whl" +upload-time = 2026-09-15 19:29:34+00:00 +size = 135717 + +[packages.wheels.hashes] +sha256 = "0cf3cae568d36aa9576b28dfb35f11328f1cb974ca7647d9475ebb86c75ac6e3" + +[[packages]] +name = "uv" +version = "0.13.4" +index = "https://pypi.org/simple" +marker = "\"dev\" in dependency_groups or \"lint\" in dependency_groups or \"pkg-meta\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/79/55/609455d21e87430c11fe734abfced50a3bdf177b2f49d41fbb19c199cbc3/uv-0.13.4.tar.gz" +upload-time = 2026-10-20 15:12:06+00:00 +size = 7482486 + +[packages.sdist.hashes] +sha256 = "b0bff5b9a5061f7a35b1d0c1a94c19af134222c48eb7aadc42f85a038be1b248" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/2c/bd/4349da5356b17a1c0e36c8552c809925f86f6292de9b1f599f01e8e8093d/uv-0.13.4-py3-none-linux_armv6l.whl" +upload-time = 2026-10-20 15:11:02+00:00 +size = 18272390 + +[packages.wheels.hashes] +sha256 = "205a4f93e568fb24f45a2f3834f1c0a8f1adb5f396bf473c71030ed707dce048" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/21/f2/0cb77a1ae43959772f8f7873eb1f4061907fbb1694ce55c79b231f639b1d/uv-0.13.4-py3-none-macosx_10_12_x86_64.whl" +upload-time = 2026-10-20 15:11:07+00:00 +size = 17384113 + +[packages.wheels.hashes] +sha256 = "b4bbacea78c9db136cd2ec3147cbfd9ed910b4db5e1877109bd74d0e73bb2eaf" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/26/44/5a8733dd1b2e8d6f9cffd1ff6428a3e11dcc7e146a7657e32cfb8d9fb4a4/uv-0.13.4-py3-none-macosx_11_0_arm64.whl" +upload-time = 2026-10-20 15:11:10+00:00 +size = 14433723 + +[packages.wheels.hashes] +sha256 = "95f4eb2b991b53b50ec2b18ab612fca8ba1e7a75a47af0331fb8bcd21da3eb03" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/f8/39/be14f051bf34a1822d634819890a2d0cba3b69101e633fb7b9f54d7b4020/uv-0.13.4-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl" +upload-time = 2026-10-20 15:11:13+00:00 +size = 17816443 + +[packages.wheels.hashes] +sha256 = "e90ab42825587821096cb0d071e387468da38cfa22818c91f9c0b3c0453048e8" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/97/a0/5df0f8bc6367dd37b98432a7c462e2918554f6db2a71211574852b8f0727/uv-0.13.4-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.musllinux_1_1_armv7l.whl" +upload-time = 2026-10-20 15:11:16+00:00 +size = 17828025 + +[packages.wheels.hashes] +sha256 = "3a9dcb6762c3ba249d8c084315ba03839082af3ece3536cc4164ec735c351d68" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/8b/9c/2fed5357700b7c304b94214979e4efe680c3bc6e337a97eedaa372fe0947/uv-0.13.4-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" +upload-time = 2026-10-20 15:11:20+00:00 +size = 17843737 + +[packages.wheels.hashes] +sha256 = "8ae6ff2b07892379dc767c9064c2b8bbfac88e767edac7ce28e1b0f15d86abb4" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/4c/2e/ee026284f096236dc3e1abed0316f9edab65c0ea176ea0072c064e62478d/uv-0.13.4-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl" +upload-time = 2026-10-20 15:11:24+00:00 +size = 18576350 + +[packages.wheels.hashes] +sha256 = "25cc14ff4fd8335d3be2cc493a621a003fdafcb0fb1c953c905daabe4def5ab8" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/6d/f1/67fbdb649c8c5d0cb38ea74829080479b77c8631cda5d77fc1b28f027ca7/uv-0.13.4-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" +upload-time = 2026-10-20 15:11:27+00:00 +size = 19831234 + +[packages.wheels.hashes] +sha256 = "77062b02856c74697f48328d8a6583ab07e6da0a993e86c2db46f3d1da27c637" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/bd/00/7d49e3a1a3e98e5244fa38e0c964dc8de568bf3bb101257a63dc2602efed/uv-0.13.4-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl" +upload-time = 2026-10-20 15:11:31+00:00 +size = 19702886 + +[packages.wheels.hashes] +sha256 = "fb0e2028d9a8929884344afb7d91d0f65d9783f640d28aede89fca3602bedde9" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/4b/a1/de02c0913726728eca56ee258875cbba9c7b0572c63f494fd9f55c7852e3/uv-0.13.4-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" +upload-time = 2026-10-20 15:11:34+00:00 +size = 17181168 + +[packages.wheels.hashes] +sha256 = "05e4332791b4d55b6dde8695b7fa6079b26991519f44760887c5dfbd5ca4fe53" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/a8/cd/f4a3c7377674366798c56aabd0f9a1f05687c3939f5ba857a3ea6093ff84/uv-0.13.4-py3-none-manylinux_2_28_aarch64.whl" +upload-time = 2026-10-20 15:11:37+00:00 +size = 16502020 + +[packages.wheels.hashes] +sha256 = "7b3cdf868e5415631fe797b648c0d6945d38d388f23367bdd0b6332e80a1fcb0" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/f9/f4/ce79657c5a0f51b602db9a663529baafff03b9fe8cc41e09ad3f7246b88a/uv-0.13.4-py3-none-manylinux_2_31_riscv64.musllinux_1_1_riscv64.whl" +upload-time = 2026-10-20 15:11:41+00:00 +size = 18000980 + +[packages.wheels.hashes] +sha256 = "4e6b08578c920b86910897f36bb6da7229c8e7e0187976570e2a538cb28b777e" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/21/e6/7d77022d5661f8e01578bc5423bf02af408220e7e7ac5ee15eb94742c7cb/uv-0.13.4-py3-none-manylinux_2_31_riscv64.whl" +upload-time = 2026-10-20 15:11:45+00:00 +size = 18179083 + +[packages.wheels.hashes] +sha256 = "d86a5dec8ab30c70519c71ca5085c8aaf28664836cbc600951cedaa3fc678cbf" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/f4/40/1bf0324800d38009774ba087a6fbffddc76a3e5bf42c081b9298b1236fb5/uv-0.13.4-py3-none-musllinux_1_1_i686.whl" +upload-time = 2026-10-20 15:11:48+00:00 +size = 18010389 + +[packages.wheels.hashes] +sha256 = "5d89d1028c2e22977d9215cbb79cfe12559cb0c8a507a12e2f3a7e47930cf1bf" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/1e/ec/f352ca2cc3b4b6191bb4ec8cdf4bc190eed0ba8bda4c33b7fd66c5d33cec/uv-0.13.4-py3-none-musllinux_1_1_x86_64.whl" +upload-time = 2026-10-20 15:11:52+00:00 +size = 19004998 + +[packages.wheels.hashes] +sha256 = "52b5c753a7c2d5f8323a70bb4c93118988356331d0758afa6446c81f974e7196" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/9e/4f/fc05ff4292edfe785b47874ec86d3d83ca2bf735cff8a9d2170ffb66ad83/uv-0.13.4-py3-none-win32.whl" +upload-time = 2026-10-20 15:11:56+00:00 +size = 16190502 + +[packages.wheels.hashes] +sha256 = "d333f01852b817ba05612de31474739da1af7e5463d119b30a9c4331eba1f408" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/2f/b9/b526eab6c72eacc705a58378f6850fde046b28c86fed01bd42da61367c6b/uv-0.13.4-py3-none-win_amd64.whl" +upload-time = 2026-10-20 15:11:59+00:00 +size = 15331833 + +[packages.wheels.hashes] +sha256 = "b2ff80397273fff0e02c20eacae6882834c811827d6fc08f658db156fe754386" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/7c/f7/4d5fa89d3d10ff6a84e547ef6e02c45b2f2d50e66682da778acf60db63f1/uv-0.13.4-py3-none-win_arm64.whl" +upload-time = 2026-10-20 15:12:02+00:00 +size = 15690151 + +[packages.wheels.hashes] +sha256 = "deffa5a4afdb48f3e44fb26e80377d256b330ddcad0373daff4b54f6162b43a4" + +[[packages]] +name = "virtualenv" +version = "21.14.11" +index = "https://pypi.org/simple" +marker = "\"dev\" in dependency_groups or \"lint\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/7f/be/4d1d59d309db76b5808fcfd78bd5996f4e7241366691c38fc331a3136398/virtualenv-21.14.11.tar.gz" +upload-time = 2026-10-18 07:06:34+00:00 +size = 5503091 + +[packages.sdist.hashes] +sha256 = "593052d8477ea8c55a842387ce111bd08c72618f0c1133c302cafe335e570a57" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/ce/6b/d85da8982b41190eafcb9df91dff9d83fc6989e98af4b5be4c8f85510c95/virtualenv-21.14.11-py3-none-any.whl" +upload-time = 2026-10-18 07:06:32+00:00 +size = 5495268 + +[packages.wheels.hashes] +sha256 = "b319f8590a84e5de5f8f2c803ecd2237e9bc0ffa7c1e875e3169c107cecb7454" + +[[packages]] +name = "wheel-filename" +version = "1.4.2" +index = "https://pypi.org/simple" +marker = "\"dev\" in dependency_groups or \"pkg-meta\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/38/be/726dab762b770d0417e505c58e26d661aac1ec0c831e483cda4817ca2417/wheel_filename-1.4.2.tar.gz" +upload-time = 2024-12-01 13:03:16+00:00 +size = 7911 + +[packages.sdist.hashes] +sha256 = "87891c465dcbb40b40394a906f01a93214bdd51aa5d25e3a9a59cae62bc298fd" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/b4/0f/6e97a3bc38cdde32e3ec49f8c0903fe3559ec9ec9db181782f0bb4417717/wheel_filename-1.4.2-py3-none-any.whl" +upload-time = 2024-12-01 13:03:00+00:00 +size = 6195 + +[packages.wheels.hashes] +sha256 = "3fa599046443d4ca830d06e3d180cd0a675d5871af0a68daa5623318bb4d17e3" + +[[packages]] +name = "zipp" +version = "4.1.1" +index = "https://pypi.org/simple" +marker = "(\"dev\" in dependency_groups and (python_full_version < '3.12' and platform_machine != 'ppc64le' and platform_machine != 's390x')) or (\"pkg-meta\" in dependency_groups and (python_full_version < '3.12' and platform_machine != 'ppc64le' and platform_machine != 's390x'))" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/dc/23/655a1802fe8041302c959774ca7c80b53bc24737ff3ef45cb50ef11bd96c/zipp-4.1.1.tar.gz" +upload-time = 2026-10-03 17:03:03+00:00 +size = 27649 + +[packages.sdist.hashes] +sha256 = "7ebb7a44c021b29fd8dbd7cce6812d0d7b5b454521f93cc71af6ccd155aaa70b" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/b5/98/df615823cd9419131ce19fba00de53a663794369e198aade064a244b385d/zipp-4.1.1-py3-none-any.whl" +upload-time = 2026-10-03 17:03:02+00:00 +size = 10582 + +[packages.wheels.hashes] +sha256 = "8979f52d874162f485ff2981e3891f3a3317b7a3dd43ff1e1775b9304f307a9c" From 21d9fe245cd0d9a87133c38ef9c68592916d409d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bern=C3=A1t=20G=C3=A1bor?= Date: Tue, 20 Oct 2026 12:11:53 -0700 Subject: [PATCH 03/39] =?UTF-8?q?=F0=9F=94=A7=20build(docs):=20preserve=20?= =?UTF-8?q?RST=20section=20anchors?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .pre-commit-config.yaml | 9 +++++++++ docs/changelog.rst | 39 ++++++++++++++++++++++++++++++++++++--- 2 files changed, 45 insertions(+), 3 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index f8fb610..e10bc03 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -29,6 +29,15 @@ repos: - id: ruff-format - id: ruff args: ["--fix", "--unsafe-fixes", "--exit-non-zero-on-fix"] + - repo: https://github.com/LilSpazJoekp/docstrfmt + rev: v2.2.1 + hooks: + - id: docstrfmt + files: | + (?x) + ^docs/changelog[.]rst$ # Only the generated release history. + args: ["-l", "120", "--preserve-adornments"] + additional_dependencies: ["sphinx>=9.1"] - repo: https://github.com/zizmorcore/zizmor-pre-commit rev: v1.31.1 hooks: diff --git a/docs/changelog.rst b/docs/changelog.rst index 2d21afb..3f3efc7 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -5,144 +5,177 @@ Release History v1.12.0 (2026-10-18) -------------------- + - Validate in-tree backend paths and reject metadata directories that contain the project root. - Contain response serialization failures. v1.11.7 (2026-10-15) -------------------- + - Resolve dotted backend object paths. v1.11.6 (2026-10-14) -------------------- + - Resolve output directories before invoking backends. v1.11.5 (2026-10-10) -------------------- + - Require Python 3.11, default to Python 3.15, and import in-tree backends from relative roots. v1.11.4 (2026-10-07) -------------------- + - Stop hanging on undecodable backend output. v1.11.3 (2026-10-03) -------------------- + - Validate ``build-system`` value types when reading a project folder. v1.11.2 (2026-09-18) -------------------- + - Avoid pipe deadlocks when sending large backend requests. v1.11.1 (2026-09-15) -------------------- + - Remove directory symlinks in ``ensure_empty_dir``. v1.11.0 (2026-07-21) -------------------- + - Add Python 3.15 to the test matrix. v1.10.1 (2026-05-28) -------------------- + - Move development tooling to ``tox.toml``, dependency groups, and ty. v1.10.0 (2025-10-09) -------------------- + - Add Python 3.14 support and end support for Python 3.9. v1.9.1 (2025-05-12) ------------------- + - Remove ``wheel`` from the default requirements. v1.9.0 (2025-01-21) ------------------- + - Update project maintenance metadata. v1.8.0 (2024-09-18) ------------------- + - Finish dropping Python 2 support. v1.7.2 (2024-09-17) ------------------- + - Improve CI. v1.7.1 (2024-06-22) ------------------- + - Move release notes from the documentation site to GitHub Releases. v1.7.0 (2024-06-22) ------------------- + - Correct the documentation homepage URL and update build dependencies. v1.6.1 - (2023-08-29) --------------------- + - Fix :meth:`pyproject_api.Frontend.metadata_from_built` only extracts one of the dist info files. v1.6.0 - (2023-08-29) --------------------- + - Remove ``build_`` from ``prepare_metadata_for_build_`` to allow separate config parametrization and instead add :meth:`pyproject_api.Frontend.metadata_from_built` the user can call when the prepare fails. Pass ``None`` for ``metadata_directory`` for such temporary wheel builds. v1.5.4 - (2023-08-17) --------------------- + - Make sure that the order of Requires-Dist does not matter v1.5.3 - (2023-07-06) --------------------- + - Fix ``read_line`` to raise ``EOFError`` if nothing was read v1.5.2 - (2023-06-14) --------------------- + - Use ruff for linting. - Drop 2.7 test run. v1.5.1 - (2023-03-12) --------------------- + - docs: set html_last_updated_fmt to format string v1.5.0 - (2023-01-17) --------------------- -- When getting metadata from a built wheel, do not pass ``metadata_directory`` - to ``build_wheel``, which forces the backend to generate the metadata - by :user:`masenf`. - (`#47 `_) + +- When getting metadata from a built wheel, do not pass ``metadata_directory`` to ``build_wheel``, which forces the + backend to generate the metadata - by :user:`masenf`. (`#47 `_) v1.4.0 - (2023-01-04) --------------------- + - Add minimal CLI for debugging v1.3.0 - (2023-01-03) --------------------- + - Do not allow exceptions to propagate in backend v1.2.1 - (2022-12-04) --------------------- + - Fix Python 2 incompatibility on the backend - Allow skipping prepare metadata for the full build by returning None as basename v1.2.0 - (2022-12-04) --------------------- + - Expose which optional hooks are present or missing via :meth:`pyproject_api.Frontend.optional_hooks` v1.1.2 - (2022-10-30) --------------------- + - Fix editable classes not exported at root level v1.1.1 - (2022-09-10) --------------------- + - Add missed ``wheel`` as test dependency v1.1.0 - (2022-09-10) --------------------- + - PEP-660 support v1.0.0 - (2022-09-10) --------------------- + - Use hatchling as build backend - 3.11 support v0.1.1 - (2021-12-30) --------------------- + - Drop Python 3.6 support v0.1.0 - (2021-10-21) --------------------- + - first version From 13124dbb3107bd40360ddb1a057e4e9a0a345b52 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bern=C3=A1t=20G=C3=A1bor?= Date: Tue, 20 Oct 2026 13:10:36 -0700 Subject: [PATCH 04/39] =?UTF-8?q?=F0=9F=91=B7=20ci:=20share=20release=20pr?= =?UTF-8?q?eparation?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/prepare-release.yaml | 99 +- .github/workflows/release.yaml | 42 +- .github/workflows/upgrade-release-tools.yaml | 24 + CONTRIBUTING.md | 4 + docs/changelog.d/template.jinja2 | 18 + docs/changelog.rst | 332 +++- docs/conf.py | 2 + docs/contributing.rst | 25 + docs/index.rst | 1 + pylock.toml | 1876 +++++++++++++++--- pyproject.toml | 23 +- 11 files changed, 2086 insertions(+), 360 deletions(-) create mode 100644 .github/workflows/upgrade-release-tools.yaml create mode 100644 CONTRIBUTING.md create mode 100644 docs/changelog.d/template.jinja2 create mode 100644 docs/contributing.rst diff --git a/.github/workflows/prepare-release.yaml b/.github/workflows/prepare-release.yaml index 56419bc..d684f75 100644 --- a/.github/workflows/prepare-release.yaml +++ b/.github/workflows/prepare-release.yaml @@ -2,52 +2,49 @@ name: Prepare release on: workflow_dispatch: inputs: - version: - description: Version to release, without a v prefix + bump: + description: Version bump type required: true - + type: choice + options: [auto, major, minor, patch] + default: auto permissions: {} - concurrency: group: prepare-release cancel-in-progress: false - jobs: assemble: if: github.ref == 'refs/heads/main' runs-on: ubuntu-26.04 permissions: contents: read + pull-requests: read + outputs: + version: ${{ steps.prepare.outputs.version }} steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: fetch-depth: 0 persist-credentials: false - - uses: astral-sh/setup-uv@1c37ad07a6a961277cf70c0d37d6f313000f5884 # v10.3.0 + - name: Install uv + uses: astral-sh/setup-uv@1c37ad07a6a961277cf70c0d37d6f313000f5884 # v10.3.0 with: python-version: "3.15" enable-cache: false - - name: Build release patch - env: - VERSION: ${{ inputs.version }} + - name: Install locked release tools run: | set -euo pipefail - if [[ ! "$VERSION" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then - echo "::error::expected a major.minor.patch version" - exit 1 - fi - latest=$(git tag --list '[0-9]*' | sort -V | tail -n 1) - if [[ "$(printf '%s\n' "$latest" "$VERSION" | sort -V | tail -n 1)" != "$VERSION" || "$latest" == "$VERSION" ]]; then - echo "::error::$VERSION must be newer than $latest" - exit 1 - fi - if ! compgen -G 'docs/changelog.d/*.rst' > /dev/null; then - echo "::error::no changelog fragments to release" - exit 1 - fi - uvx towncrier build --yes --version "$VERSION" - git diff HEAD --binary > "$RUNNER_TEMP/release.patch" - test -s "$RUNNER_TEMP/release.patch" + uv venv --python 3.15 "$RUNNER_TEMP/release-tools" + uv pip sync --preview-features pylock --python "$RUNNER_TEMP/release-tools/bin/python" --group release pylock.toml + echo "$RUNNER_TEMP/release-tools/bin" >> "$GITHUB_PATH" + - id: prepare + uses: tox-dev/github-workflows/prepare-towncrier@65ca97430da17d7c6f3cf636c0fd16dc3474481e + with: + bump: ${{ inputs.bump }} + changelog: docs/changelog.rst + fragments: docs/changelog.d + format: rst + patch: ${{ runner.temp }}/release.patch - uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: release-patch @@ -68,23 +65,24 @@ jobs: with: name: release-patch path: ${{ runner.temp }}/release-patch - - name: Validate release patch - env: - VERSION: ${{ inputs.version }} + - uses: astral-sh/setup-uv@1c37ad07a6a961277cf70c0d37d6f313000f5884 # v10.3.0 + with: + python-version: "3.15" + enable-cache: false + - name: Install locked release tools run: | set -euo pipefail - git fetch origin main - git reset --hard origin/main - git apply --check "$RUNNER_TEMP/release-patch/release.patch" - git apply --index "$RUNNER_TEMP/release-patch/release.patch" - while IFS= read -r path; do - case "$path" in - docs/changelog.rst|docs/changelog.d/*.rst) ;; - *) echo "::error::unexpected release path: $path"; exit 1 ;; - esac - done < <(git diff --cached --name-only) - grep -Fq "v$VERSION (" docs/changelog.rst - git diff --cached --check + uv venv --python 3.15 "$RUNNER_TEMP/release-tools" + uv pip sync --preview-features pylock --python "$RUNNER_TEMP/release-tools/bin/python" --group release pylock.toml + echo "$RUNNER_TEMP/release-tools/bin" >> "$GITHUB_PATH" + - uses: tox-dev/github-workflows/validate-release-patch@65ca97430da17d7c6f3cf636c0fd16dc3474481e + with: + version: ${{ needs.assemble.outputs.version }} + changelog: docs/changelog.rst + fragments: docs/changelog.d + patch: ${{ runner.temp }}/release-patch/release.patch + expected-sha: ${{ github.sha }} + heading-prefix: "v" - id: token uses: actions/create-github-app-token@64ab729a6294000f5aa4a4bc0b73d1f32bc45510 # v3.3.0 with: @@ -93,17 +91,10 @@ jobs: owner: ${{ github.repository_owner }} repositories: ${{ github.event.repository.name }} permission-contents: write - - name: Commit and tag the release - env: - VERSION: ${{ inputs.version }} - GH_TOKEN: ${{ steps.token.outputs.token }} - APP_SLUG: ${{ steps.token.outputs.app-slug }} - run: | - set -euo pipefail - app_user_id=$(gh api "/users/${APP_SLUG}[bot]" --jq .id) - git config user.name "${APP_SLUG}[bot]" - git config user.email "${app_user_id}+${APP_SLUG}[bot]@users.noreply.github.com" - git commit -m "chore: prepare $VERSION" - git tag "$VERSION" - gh auth setup-git --hostname github.com --force - git push --atomic origin HEAD:main "refs/tags/$VERSION" + - uses: tox-dev/github-workflows/commit-and-tag@65ca97430da17d7c6f3cf636c0fd16dc3474481e + with: + version: ${{ needs.assemble.outputs.version }} + token: ${{ steps.token.outputs.token }} + app-slug: ${{ steps.token.outputs.app-slug }} + message: "chore: prepare ${{ needs.assemble.outputs.version }}" + annotated: "false" diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 18dd4c9..b8ee4a8 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -73,23 +73,43 @@ jobs: with: fetch-depth: 0 persist-credentials: false - - name: Publish GitHub Release + - uses: astral-sh/setup-uv@1c37ad07a6a961277cf70c0d37d6f313000f5884 # v10.3.0 + with: + python-version: "3.15" + enable-cache: false + - name: Install locked release tools + run: | + set -euo pipefail + uv venv --python 3.15 "$RUNNER_TEMP/release-tools" + uv pip sync --preview-features pylock --python "$RUNNER_TEMP/release-tools/bin/python" --group release pylock.toml + echo "$RUNNER_TEMP/release-tools/bin" >> "$GITHUB_PATH" + - name: Fetch contributor metadata env: GH_TOKEN: ${{ github.token }} TAG: ${{ github.ref_name }} run: | set -euo pipefail - awk -v tag="$TAG" ' - index($0, "v" tag " (") == 1 { found = 1; next } - found && /^v[0-9]+\.[0-9]+\.[0-9]+ \(/ { exit } - found && $0 !~ /^-+$/ { print } - ' docs/changelog.rst > "$RUNNER_TEMP/release-notes.md" - test -s "$RUNNER_TEMP/release-notes.md" - printf '\n[PyPI release](https://pypi.org/project/pyproject-api/%s/)\n' "$TAG" >> "$RUNNER_TEMP/release-notes.md" - previous=$(git tag --list '[0-9]*' | grep -E '^[0-9]+\.[0-9]+\.[0-9]+$' | sort -V | awk -v tag="$TAG" '$0 == tag { print previous; exit } { previous = $0 }') + previous=$(git tag --list | release-creator tags "$TAG" --previous) if [[ -n "$previous" ]]; then - printf '\n**Full Changelog**: https://github.com/%s/compare/%s...%s\n' "$GITHUB_REPOSITORY" "$previous" "$TAG" >> "$RUNNER_TEMP/release-notes.md" + gh api -X POST "repos/${GITHUB_REPOSITORY}/releases/generate-notes" \ + -f tag_name="$TAG" -f previous_tag_name="$previous" --jq .body > "$RUNNER_TEMP/generated-notes.md" else - printf '\n**Full Changelog**: https://github.com/%s/commits/%s\n' "$GITHUB_REPOSITORY" "$TAG" >> "$RUNNER_TEMP/release-notes.md" + gh api -X POST "repos/${GITHUB_REPOSITORY}/releases/generate-notes" \ + -f tag_name="$TAG" --jq .body > "$RUNNER_TEMP/generated-notes.md" fi + - uses: tox-dev/github-workflows/render-release-notes@65ca97430da17d7c6f3cf636c0fd16dc3474481e + with: + tag: ${{ github.ref_name }} + changelog: docs/changelog.rst + repository: ${{ github.repository }} + issue-role: issue + artifact-url: https://pypi.org/project/pyproject-api/${{ github.ref_name }}/ + generated-notes: ${{ runner.temp }}/generated-notes.md + output: ${{ runner.temp }}/release-notes.md + - name: Publish GitHub Release + env: + GH_TOKEN: ${{ github.token }} + TAG: ${{ github.ref_name }} + run: | + set -euo pipefail gh release create "$TAG" --verify-tag --title "$TAG" --notes-file "$RUNNER_TEMP/release-notes.md" diff --git a/.github/workflows/upgrade-release-tools.yaml b/.github/workflows/upgrade-release-tools.yaml new file mode 100644 index 0000000..a01049b --- /dev/null +++ b/.github/workflows/upgrade-release-tools.yaml @@ -0,0 +1,24 @@ +name: Upgrade release tools +on: + workflow_dispatch: + schedule: + - cron: "0 8 * * 2" +permissions: {} +concurrency: + group: upgrade-release-tools + cancel-in-progress: false +jobs: + upgrade: + uses: tox-dev/github-workflows/.github/workflows/upgrade-release-tools.yaml@65ca97430da17d7c6f3cf636c0fd16dc3474481e + permissions: + actions: write + contents: write + pull-requests: write + with: + python-version: "3.15" + check-workflow: check.yaml + commit-message: "build(deps): refresh release lock" + pull-request-title: "build(deps): refresh release tool lock" + pull-request-body: |- + Refresh the locked release tools to the latest versions allowed by the `release` dependency group. + `pylock.toml` records the exact versions used during release preparation and GitHub note rendering. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..cde22d0 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,4 @@ +# Contributing + +See the [contributing guide](https://pyproject-api.readthedocs.io/en/latest/contributing.html) for release note rules +and local checks. diff --git a/docs/changelog.d/template.jinja2 b/docs/changelog.d/template.jinja2 new file mode 100644 index 0000000..f754cfb --- /dev/null +++ b/docs/changelog.d/template.jinja2 @@ -0,0 +1,18 @@ +.. _release-{{ versiondata.version|replace('.', '-') }}: + +v{{ versiondata.version }} ({{ versiondata.date }}) +{{ "-" * ((versiondata.version + versiondata.date)|length + 4) }} + +{% for section in sections %} +{% for category in definitions if category in sections[section] and sections[section][category] %} +.. _release-{{ versiondata.version|replace('.', '-') }}-{{ definitions[category]['name']|lower|replace(' ', '-') }}: + +{{ definitions[category]['name'] }} +{{ "^" * (definitions[category]['name']|length) }} + +{% for text, values in sections[section][category].items() %} +- {{ text }}{{ ' (' ~ (values|join(', ')) ~ ')' if values|join(', ') else '' }} +{% endfor %} + +{% endfor %} +{% endfor %} diff --git a/docs/changelog.rst b/docs/changelog.rst index 3f3efc7..c1a1693 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -3,179 +3,415 @@ Release History .. towncrier release notes start +.. _release-1-12-0: + v1.12.0 (2026-10-18) -------------------- +.. _release-1-12-0-fixed: + +Fixed +^^^^^ + - Validate in-tree backend paths and reject metadata directories that contain the project root. - Contain response serialization failures. +.. _release-1-11-7: + v1.11.7 (2026-10-15) -------------------- +.. _release-1-11-7-fixed: + +Fixed +^^^^^ + - Resolve dotted backend object paths. +.. _release-1-11-6: + v1.11.6 (2026-10-14) -------------------- +.. _release-1-11-6-fixed: + +Fixed +^^^^^ + - Resolve output directories before invoking backends. +.. _release-1-11-5: + v1.11.5 (2026-10-10) -------------------- -- Require Python 3.11, default to Python 3.15, and import in-tree backends from relative roots. +.. _release-1-11-5-added: + +Added +^^^^^ + +- Require Python 3.11 or newer and default to Python 3.15. + +.. _release-1-11-5-fixed: + +Fixed +^^^^^ + +- Import in-tree backends from relative roots. + +.. _release-1-11-4: v1.11.4 (2026-10-07) -------------------- +.. _release-1-11-4-fixed: + +Fixed +^^^^^ + - Stop hanging on undecodable backend output. +.. _release-1-11-3: + v1.11.3 (2026-10-03) -------------------- +.. _release-1-11-3-fixed: + +Fixed +^^^^^ + - Validate ``build-system`` value types when reading a project folder. +.. _release-1-11-2: + v1.11.2 (2026-09-18) -------------------- +.. _release-1-11-2-fixed: + +Fixed +^^^^^ + - Avoid pipe deadlocks when sending large backend requests. +.. _release-1-11-1: + v1.11.1 (2026-09-15) -------------------- +.. _release-1-11-1-fixed: + +Fixed +^^^^^ + - Remove directory symlinks in ``ensure_empty_dir``. +.. _release-1-11-0: + v1.11.0 (2026-07-21) -------------------- -- Add Python 3.15 to the test matrix. +.. _release-1-11-0-added: + +Added +^^^^^ + +- Support Python 3.15. + +.. _release-1-10-1: v1.10.1 (2026-05-28) -------------------- -- Move development tooling to ``tox.toml``, dependency groups, and ty. +.. _release-1-10-0: v1.10.0 (2025-10-09) -------------------- -- Add Python 3.14 support and end support for Python 3.9. +.. _release-1-10-0-added: + +Added +^^^^^ + +- Support Python 3.14. +- End support for Python 3.9. + +.. _release-1-9-1: v1.9.1 (2025-05-12) ------------------- +.. _release-1-9-1-changes: + +Changes +^^^^^^^ + - Remove ``wheel`` from the default requirements. +.. _release-1-9-0: + v1.9.0 (2025-01-21) ------------------- -- Update project maintenance metadata. +.. _release-1-9-0-added: + +Added +^^^^^ + +- End support for Python 3.8. + +.. _release-1-8-0: v1.8.0 (2024-09-18) ------------------- +.. _release-1-8-0-added: + +Added +^^^^^ + - Finish dropping Python 2 support. +.. _release-1-7-2: + v1.7.2 (2024-09-17) ------------------- -- Improve CI. +.. _release-1-7-1: v1.7.1 (2024-06-22) ------------------- +.. _release-1-7-1-documentation: + +Documentation +^^^^^^^^^^^^^ + - Move release notes from the documentation site to GitHub Releases. +.. _release-1-7-0: + v1.7.0 (2024-06-22) ------------------- -- Correct the documentation homepage URL and update build dependencies. +.. _release-1-7-0-documentation: -v1.6.1 - (2023-08-29) ---------------------- +Documentation +^^^^^^^^^^^^^ + +- Correct the documentation homepage URL. + +.. _release-1-7-0-packaging: + +Packaging +^^^^^^^^^ + +- Update build dependencies. + +.. _release-1-6-1: + +v1.6.1 (2023-08-29) +------------------- + +.. _release-1-6-1-fixed: + +Fixed +^^^^^ - Fix :meth:`pyproject_api.Frontend.metadata_from_built` only extracts one of the dist info files. -v1.6.0 - (2023-08-29) ---------------------- +.. _release-1-6-0: + +v1.6.0 (2023-08-29) +------------------- + +.. _release-1-6-0-changes: + +Changes +^^^^^^^ - Remove ``build_`` from ``prepare_metadata_for_build_`` to allow separate config parametrization and instead add :meth:`pyproject_api.Frontend.metadata_from_built` the user can call when the prepare fails. Pass ``None`` for ``metadata_directory`` for such temporary wheel builds. -v1.5.4 - (2023-08-17) ---------------------- +.. _release-1-5-4: + +v1.5.4 (2023-08-17) +------------------- + +.. _release-1-5-4-fixed: + +Fixed +^^^^^ - Make sure that the order of Requires-Dist does not matter -v1.5.3 - (2023-07-06) ---------------------- +.. _release-1-5-3: + +v1.5.3 (2023-07-06) +------------------- + +.. _release-1-5-3-fixed: + +Fixed +^^^^^ - Fix ``read_line`` to raise ``EOFError`` if nothing was read -v1.5.2 - (2023-06-14) ---------------------- +.. _release-1-5-2: -- Use ruff for linting. -- Drop 2.7 test run. +v1.5.2 (2023-06-14) +------------------- -v1.5.1 - (2023-03-12) ---------------------- +.. _release-1-5-1: + +v1.5.1 (2023-03-12) +------------------- + +.. _release-1-5-1-documentation: + +Documentation +^^^^^^^^^^^^^ - docs: set html_last_updated_fmt to format string -v1.5.0 - (2023-01-17) ---------------------- +.. _release-1-5-0: + +v1.5.0 (2023-01-17) +------------------- + +.. _release-1-5-0-fixed: + +Fixed +^^^^^ - When getting metadata from a built wheel, do not pass ``metadata_directory`` to ``build_wheel``, which forces the - backend to generate the metadata - by :user:`masenf`. (`#47 `_) + backend to generate the metadata by :user:`masenf` (:issue:`47`). -v1.4.0 - (2023-01-04) ---------------------- +.. _release-1-4-0: + +v1.4.0 (2023-01-04) +------------------- + +.. _release-1-4-0-added: + +Added +^^^^^ - Add minimal CLI for debugging -v1.3.0 - (2023-01-03) ---------------------- +.. _release-1-3-0: + +v1.3.0 (2023-01-03) +------------------- + +.. _release-1-3-0-fixed: + +Fixed +^^^^^ - Do not allow exceptions to propagate in backend -v1.2.1 - (2022-12-04) ---------------------- +.. _release-1-2-1: + +v1.2.1 (2022-12-04) +------------------- + +.. _release-1-2-1-added: + +Added +^^^^^ -- Fix Python 2 incompatibility on the backend - Allow skipping prepare metadata for the full build by returning None as basename -v1.2.0 - (2022-12-04) ---------------------- +.. _release-1-2-1-fixed: + +Fixed +^^^^^ + +- Fix Python 2 incompatibility on the backend + +.. _release-1-2-0: + +v1.2.0 (2022-12-04) +------------------- + +.. _release-1-2-0-added: + +Added +^^^^^ - Expose which optional hooks are present or missing via :meth:`pyproject_api.Frontend.optional_hooks` -v1.1.2 - (2022-10-30) ---------------------- +.. _release-1-1-2: + +v1.1.2 (2022-10-30) +------------------- + +.. _release-1-1-2-fixed: + +Fixed +^^^^^ - Fix editable classes not exported at root level -v1.1.1 - (2022-09-10) ---------------------- +.. _release-1-1-1: + +v1.1.1 (2022-09-10) +------------------- + +.. _release-1-1-0: + +v1.1.0 (2022-09-10) +------------------- -- Add missed ``wheel`` as test dependency +.. _release-1-1-0-added: -v1.1.0 - (2022-09-10) ---------------------- +Added +^^^^^ - PEP-660 support -v1.0.0 - (2022-09-10) ---------------------- +.. _release-1-0-0: -- Use hatchling as build backend -- 3.11 support +v1.0.0 (2022-09-10) +------------------- + +.. _release-1-0-0-added: + +Added +^^^^^ + +- Support Python 3.11. -v0.1.1 - (2021-12-30) ---------------------- +.. _release-1-0-0-packaging: + +Packaging +^^^^^^^^^ + +- Use Hatchling as the build backend. + +.. _release-0-1-1: + +v0.1.1 (2021-12-30) +------------------- + +.. _release-0-1-1-added: + +Added +^^^^^ - Drop Python 3.6 support -v0.1.0 - (2021-10-21) ---------------------- +.. _release-0-1-0: + +v0.1.0 (2021-10-21) +------------------- + +.. _release-0-1-0-added: + +Added +^^^^^ - first version diff --git a/docs/conf.py b/docs/conf.py index c12d81b..df8d2ad 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -30,6 +30,7 @@ ] master_doc, source_suffix = "index", ".rst" exclude_patterns = ["changelog.d/*"] +autosectionlabel_maxdepth = 2 html_theme = "furo" html_title, html_last_updated_fmt = "pyproject-api docs", "%Y-%m-%dT%H:%M:%S" @@ -42,6 +43,7 @@ extlinks = { "issue": ("https://github.com/tox-dev/pyproject-api/issues/%s", "#%s"), "pull": ("https://github.com/tox-dev/pyproject-api/pull/%s", "PR #%s"), + "pr": ("https://github.com/tox-dev/pyproject-api/pull/%s", "PR #%s"), "user": ("https://github.com/%s", "@%s"), } intersphinx_mapping = { diff --git a/docs/contributing.rst b/docs/contributing.rst new file mode 100644 index 0000000..24e300d --- /dev/null +++ b/docs/contributing.rst @@ -0,0 +1,25 @@ +Contributing +============ + +Add a release note when a pull request changes the API, supported Python versions, package installation, or documented +behavior. Put each distinct change in its own ``docs/changelog.d/+short-name..rst`` file. The name need not +contain a pull request number; release preparation links it to the squash-merged pull request. + +Use ``feature`` for new behavior and Python support changes, ``change`` for changes to existing behavior, ``bugfix`` +for corrections, and ``doc`` for documentation changes users need to know about. Use ``security``, ``performance``, +``deprecation``, ``removal``, or ``packaging`` when those describe a user-facing change more precisely. The rendered +changelog calls the first four categories Added, Changes, Fixed, and Documentation. Empty categories are omitted. + +For example, a change to backend path handling can use ``docs/changelog.d/+backend-paths.bugfix.rst``: + +.. code-block:: rst + + Resolve in-tree backend paths relative to the project root. + +Keep a fragment focused on its effect for users. The release process adds the pull request link and human author +credit, so the fragment should not contain either. A maintenance-only pull request can use the ``skip news`` label; +the label can be added after the pull request opens. Bot pull requests without a fragment get that label automatically. +If a bot pull request does include a fragment, it is published without crediting the bot as an author. + +Run ``prek run --all-files`` before pushing. Release preparation runs the same hooks on the assembled changelog before +it creates a commit and tag. diff --git a/docs/index.rst b/docs/index.rst index 5a8da6d..cb707d7 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -8,4 +8,5 @@ self api + contributing changelog diff --git a/pylock.toml b/pylock.toml index f1137a4..bdde86e 100644 --- a/pylock.toml +++ b/pylock.toml @@ -10,6 +10,7 @@ dependency-groups = [ "docs", "lint", "pkg-meta", + "release", ] default-groups = [] @@ -39,7 +40,7 @@ sha256 = "88ae3211e68a1d0b011504b2ffc1691feafce124b845bd072ab6f9f66f34d4b7" name = "alabaster" version = "1.0.0" index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"type\" in dependency_groups" +marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"type\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15'))" [packages.sdist] url = "https://files.pythonhosted.org/packages/a6/f8/d9c74d0daf3f742840fd818d69cfae176fa332022fd44e3469487d5a9420/alabaster-1.0.0.tar.gz" @@ -105,7 +106,7 @@ sha256 = "c647aa4a12dfbad9333ca4e71fe62ddc36f4e63b2d260a37a8b83d2f043ac309" name = "babel" version = "2.18.0" index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"type\" in dependency_groups" +marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"type\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15'))" [packages.sdist] url = "https://files.pythonhosted.org/packages/7d/b2/51899539b6ceeeb420d40ed3cd4b7a40519404f9baf3d4ac99dc413a834b/babel-2.18.0.tar.gz" @@ -168,11 +169,193 @@ size = 109924 [packages.wheels.hashes] sha256 = "d6f88de62e1d4e38ecb1077eb9724cd0eff29d2a08ca16a401e9b9e93f117cf9" +[[packages]] +name = "black" +version = "26.10.1" +index = "https://pypi.org/simple" +marker = "(\"release\" in dependency_groups and (python_full_version >= '3.15'))" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/f8/65/a9611a6ec0a8c88d86e59385da02d68d9533f7e86a05913d20c67be54029/black-26.10.1.tar.gz" +upload-time = 2026-10-10 04:13:40+00:00 +size = 741979 + +[packages.sdist.hashes] +sha256 = "5f9f83beae62437e060dafd53d7f1fc327e3d3494f74d72ee5c2b73eb90fc4e7" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/6f/1e/c1d4f71299d45f4ff54c9c42ef9214d6b228223f196bc1bb2ee196aeaeee/black-26.10.1-cp311-cp311-macosx_10_9_x86_64.whl" +upload-time = 2026-10-10 04:18:36+00:00 +size = 2121821 + +[packages.wheels.hashes] +sha256 = "9a0219b29cd70e49f920acb7081e6ce5025c719008447c521d0200dcad93206a" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/7f/e2/43944049c0945199bbd5c8b291b85306bfd0eeccbc908bf65538a69ff1b0/black-26.10.1-cp311-cp311-macosx_11_0_arm64.whl" +upload-time = 2026-10-10 04:18:38+00:00 +size = 1961908 + +[packages.wheels.hashes] +sha256 = "7bdade400bfe24d78a7762896acc2f9a8e1a17fb0fd0536bf6b7c7097cf3eec7" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/d5/e9/9616d58f69f0e4bfa89ebe8686b6ef50f4b4f0f91237ae4c76f34dabf8aa/black-26.10.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" +upload-time = 2026-10-10 04:18:40+00:00 +size = 2019042 + +[packages.wheels.hashes] +sha256 = "ff57f63029aa1353fa8b1b0c8971fd88a6c92dc766608d2eee33ad2deb23270e" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/c5/de/0415cce69e2402a5c186cdb5462a0edd3fa44d69d1a1630e68e58daaa6a4/black-26.10.1-cp311-cp311-win_amd64.whl" +upload-time = 2026-10-10 04:18:42+00:00 +size = 1608383 + +[packages.wheels.hashes] +sha256 = "3414a0c52901964dceabd98c7c56beac0f964115a116ecedcce7247359b14017" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/a9/61/af18e716432e932f166ce9dfa419ce3f05fd5ef8c52c0510d27ae41aaa51/black-26.10.1-cp311-cp311-win_arm64.whl" +upload-time = 2026-10-10 04:18:44+00:00 +size = 1466048 + +[packages.wheels.hashes] +sha256 = "1935b32f5326028019856e18cb42b4da63db23765dc84464cec723e0de478a9b" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/f7/ca/357ccdd12e8f8429539f8f52edc153de58acba84f6670ac36c254a276691/black-26.10.1-cp312-cp312-macosx_10_13_x86_64.whl" +upload-time = 2026-10-10 04:18:45+00:00 +size = 2167369 + +[packages.wheels.hashes] +sha256 = "fe85fc4019bee59bc495c0f2a8ee76c5cd02c7015508d94a967ba2376f39a52c" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/a5/a2/4709110a7ca326ba7b4f81a669fbebc20653c79a972b0f8de4ba5b5c5e68/black-26.10.1-cp312-cp312-macosx_11_0_arm64.whl" +upload-time = 2026-10-10 04:18:48+00:00 +size = 1990732 + +[packages.wheels.hashes] +sha256 = "182f6c32be38074b16d378498c498b32cb51928178ee611485344972c35ec9c6" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/1e/96/9f8fa839c169d19c38ce6582d9449f2d7d70dabd313ac28f15a930260c1f/black-26.10.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" +upload-time = 2026-10-10 04:18:50+00:00 +size = 2065235 + +[packages.wheels.hashes] +sha256 = "b5347d760f0c02bb00dd249384cab71c3bf828b4f68d5b401eb116e0390f147d" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/2b/ee/929eaf7de6f05a3141d6df72acf9248118f49a5e48f9375be3180e9babf7/black-26.10.1-cp312-cp312-win_amd64.whl" +upload-time = 2026-10-10 04:18:51+00:00 +size = 1621579 + +[packages.wheels.hashes] +sha256 = "4d9a90516db1d99c25dbb20cc0998e0e01531dd903466c7744e56d66f864220a" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/90/3a/8b6a44abf9648b087311003b91298226c1763172cd8d223ece5b7cf8f795/black-26.10.1-cp312-cp312-win_arm64.whl" +upload-time = 2026-10-10 04:18:53+00:00 +size = 1469662 + +[packages.wheels.hashes] +sha256 = "2ffbc023a12d0c729408823b8f10514490bd0baa301d0d4e21a7240249f9507f" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/99/6b/bc0d39990bd7a71457d669639fa06acf6191bec28bafe8b8103f597cce76/black-26.10.1-cp313-cp313-macosx_10_13_x86_64.whl" +upload-time = 2026-10-10 04:18:55+00:00 +size = 2153812 + +[packages.wheels.hashes] +sha256 = "b6272cfd7e1e8e271f5b0e0207259fe2834687e5cb9b5f620b34a44db9754993" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/85/0e/cc83b88a6b1a51fc051aa4e24663918f0bf4fa9fca98552ee93a125a6780/black-26.10.1-cp313-cp313-macosx_11_0_arm64.whl" +upload-time = 2026-10-10 04:18:56+00:00 +size = 1980352 + +[packages.wheels.hashes] +sha256 = "978113a40223a6aaefc17364176a809a320e6b288683841427fff04c6d7b4130" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/7b/0f/4dd24ea0ebadbe05e293c3ea7fbebd4389f50508f714640c9b309a0849d2/black-26.10.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" +upload-time = 2026-10-10 04:18:58+00:00 +size = 2055268 + +[packages.wheels.hashes] +sha256 = "03c0ddd93bb392e71209903a691767eb366fe1a76deb9509ccbaae9e1f14bb52" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/a2/06/221f8e81891ecf5e4df9c258a11037997f1f218533ffe4fa1dc4db37f19c/black-26.10.1-cp313-cp313-win_amd64.whl" +upload-time = 2026-10-10 04:19:00+00:00 +size = 1625938 + +[packages.wheels.hashes] +sha256 = "f6dba8138cdc99061ef07b958ac082d2aa057b6961d1936f9717c350f02bab5f" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/2b/3b/763d2dd073fc1e2cbf0fe5e584fe96913bf0d14cd725d1116f4b38453adf/black-26.10.1-cp313-cp313-win_arm64.whl" +upload-time = 2026-10-10 04:19:03+00:00 +size = 1470752 + +[packages.wheels.hashes] +sha256 = "d42dd2fac7c342ae67e64ee99c9532e20b2a84e92c79ed3317fa2ef54c801d93" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/76/7b/e8d275b23f3023881c0b0d8ce3bbda0d100c79bdef87fb6518bf9e0c5040/black-26.10.1-cp314-cp314-macosx_10_15_x86_64.whl" +upload-time = 2026-10-10 04:19:04+00:00 +size = 2147731 + +[packages.wheels.hashes] +sha256 = "8375962579d537364cc0efa19b1474481915d3a793f9fc0774901814c5e5b5f4" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/ee/62/e44f86ee5fc7b893ee0ee935a79c785932da7758d2c339749d90a20ef213/black-26.10.1-cp314-cp314-macosx_11_0_arm64.whl" +upload-time = 2026-10-10 04:19:06+00:00 +size = 1981714 + +[packages.wheels.hashes] +sha256 = "d8b3a9074a680b3c5749633714e9ae3992a1e5a23343a97ad61cd9b119b444d2" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/89/2f/e12ca76edfcd037fe9e7e7635d9468d1d51255cf25a01b2f8f97a38f147d/black-26.10.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" +upload-time = 2026-10-10 04:19:08+00:00 +size = 2047807 + +[packages.wheels.hashes] +sha256 = "289282aa2e09d3162312a3be1788ff21b08e9ea9cc4a81e656024728b32428fb" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/c3/af/676d3c5cbb2ab0f17c8459b3ae8ea15ebdcc5a2f1c1c586228ec85b8897f/black-26.10.1-cp314-cp314-win_amd64.whl" +upload-time = 2026-10-10 04:19:09+00:00 +size = 1652537 + +[packages.wheels.hashes] +sha256 = "5cd88fd7b444ca51f3fc883b6f6657ea53a258b0b2eef6d9f2dfcfa17ce0e27b" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/ad/7b/860022d369fdd5fe14280b1e7109f58753c371ff91ce2311d68a056e488a/black-26.10.1-cp314-cp314-win_arm64.whl" +upload-time = 2026-10-10 04:19:11+00:00 +size = 1504226 + +[packages.wheels.hashes] +sha256 = "2520037aa62f8a1454d0811b8f5c88b444445b03a4bfba480d8d220893b64c34" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/b1/28/9dd29175c1db777e6189e2a0bb5f37101adf19c3e509b236c8920f778d0b/black-26.10.1-py3-none-any.whl" +upload-time = 2026-10-10 04:13:38+00:00 +size = 239267 + +[packages.wheels.hashes] +sha256 = "28842f9a8207cc1df6eb983a35a14c5a0dfcd603d214fe82d84bef552afd2e3a" + [[packages]] name = "certifi" version = "2026.10.19" index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"pkg-meta\" in dependency_groups or \"type\" in dependency_groups" +marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"pkg-meta\" in dependency_groups or \"type\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15'))" [packages.sdist] url = "https://files.pythonhosted.org/packages/a6/bd/1436c50cc46699de0230fbaacc1d1de7bfec413176099949e9d5112e88f2/certifi-2026.10.19.tar.gz" @@ -534,7 +717,7 @@ sha256 = "a8dc6b26ad22ff227d2634a65cb388215ce6cc96bbcc5cfde7641ae87e8dacc0" name = "charset-normalizer" version = "3.5.2" index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"pkg-meta\" in dependency_groups or \"type\" in dependency_groups" +marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"pkg-meta\" in dependency_groups or \"type\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15'))" [packages.sdist] url = "https://files.pythonhosted.org/packages/33/1c/f41d4e74c28ab327ff3acd36053f7ea506c55872d7a90b0fa71aa3ab0c89/charset_normalizer-3.5.2.tar.gz" @@ -1682,7 +1865,7 @@ sha256 = "5ae39c8c434b972f0740d04610759168590713175aab584b012b1b84f6771874" name = "click" version = "8.5.0" index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"pkg-meta\" in dependency_groups" +marker = "\"dev\" in dependency_groups or \"pkg-meta\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15'))" [packages.sdist] url = "https://files.pythonhosted.org/packages/c7/0e/7fa0ef50764b67090eca4114772a2abf8b6148198475e54c660b97caeee6/click-8.5.0.tar.gz" @@ -1704,7 +1887,7 @@ sha256 = "255bc9599cf7748b4b1a446ccc735421bd08a2ae529a8b88597d3de5664ee360" name = "colorama" version = "0.4.6" index = "https://pypi.org/simple" -marker = "(\"dev\" in dependency_groups and (sys_platform == 'win32')) or (\"docs\" in dependency_groups and (sys_platform == 'win32')) or (\"test\" in dependency_groups and (sys_platform == 'win32')) or (\"type\" in dependency_groups and (sys_platform == 'win32'))" +marker = "(\"dev\" in dependency_groups and (sys_platform == 'win32')) or (\"docs\" in dependency_groups and (sys_platform == 'win32')) or (\"release\" in dependency_groups and (python_full_version >= '3.15' and sys_platform == 'win32')) or (\"test\" in dependency_groups and (sys_platform == 'win32')) or (\"type\" in dependency_groups and (sys_platform == 'win32'))" [packages.sdist] url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz" @@ -1748,7 +1931,7 @@ sha256 = "2832961f6ffcfe4b57c338bc3418a3526f495c26fb9c54565409c5532f7c41be" name = "coverage" version = "7.16.2" index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"test\" in dependency_groups or \"type\" in dependency_groups" +marker = "\"dev\" in dependency_groups or \"test\" in dependency_groups or \"type\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15'))" [packages.sdist] url = "https://files.pythonhosted.org/packages/2f/55/d1eaf3e73781174340a00dc1ba2aee8a65f82fadb18e2797b192b6b3925b/coverage-7.16.2.tar.gz" @@ -2962,11 +3145,33 @@ size = 472099 [packages.wheels.hashes] sha256 = "cf09d55b1e85a89576b036aeb71550bfd68320f3f21761ca329eadadad918638" +[[packages]] +name = "docstrfmt" +version = "2.2.1" +index = "https://pypi.org/simple" +marker = "(\"release\" in dependency_groups and (python_full_version >= '3.15'))" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/d1/83/d25208b56d831925ef13534c110ab445a04af01c882805f88c996651d803/docstrfmt-2.2.1.tar.gz" +upload-time = 2026-08-28 18:00:17+00:00 +size = 43625 + +[packages.sdist.hashes] +sha256 = "9f35b62e746962efe32f7af27b3bf69e104a4e69827a49a9f488da770271bd0e" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/58/5b/4e0bcef7ae9bf9725bf5617b51dc03783eb777b5d35c84252b76012a1726/docstrfmt-2.2.1-py3-none-any.whl" +upload-time = 2026-08-28 18:00:15+00:00 +size = 43440 + +[packages.wheels.hashes] +sha256 = "a0a9962dbd64684b9bea2af582c631ae174d06850cd960eb37221dd6a0d6cdc4" + [[packages]] name = "docutils" version = "0.22.4" index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"pkg-meta\" in dependency_groups or \"type\" in dependency_groups" +marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"pkg-meta\" in dependency_groups or \"type\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15'))" [packages.sdist] url = "https://files.pythonhosted.org/packages/ae/b6/03bb70946330e88ffec97aefd3ea75ba575cb2e762061e0e62a213befee8/docutils-0.22.4.tar.gz" @@ -2984,6 +3189,28 @@ size = 633196 [packages.wheels.hashes] sha256 = "d0013f540772d1420576855455d050a2180186c91c15779301ac2ccb3eeb68de" +[[packages]] +name = "docutils-stubs" +version = "0.0.22" +index = "https://pypi.org/simple" +marker = "(\"release\" in dependency_groups and (python_full_version >= '3.15'))" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/31/fb/3eda037eed8b98d6b2169e4198a8f12a03a461c4d4dc44de1a7790d0f7c7/docutils-stubs-0.0.22.tar.gz" +upload-time = 2022-01-02 11:13:17+00:00 +size = 43699 + +[packages.sdist.hashes] +sha256 = "1736d9650cfc20cff8c72582806c33a5c642694e2df9e430717e7da7e73efbdf" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/59/85/10507e1011d5370b94567e4b57f93086a2476d1da73caf98dc53aa87004b/docutils_stubs-0.0.22-py3-none-any.whl" +upload-time = 2022-01-02 11:13:15+00:00 +size = 87506 + +[packages.wheels.hashes] +sha256 = "157807309de24e8c96af9a13afe207410f1fc6e5aab5d974fd6b9191f04de327" + [[packages]] name = "filelock" version = "4.2.4" @@ -3076,7 +3303,7 @@ sha256 = "6a16b69b93187244e0548cbfd25b3e4a6f9a7a2ad784625c3bec2b8d27b81aaa" name = "idna" version = "3.20" index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"pkg-meta\" in dependency_groups or \"type\" in dependency_groups" +marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"pkg-meta\" in dependency_groups or \"type\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15'))" [packages.sdist] url = "https://files.pythonhosted.org/packages/f5/08/8eea9d4b8302028f3abb2c0813953f7aec26d33b7a8960ed760e65ff29fa/idna-3.20.tar.gz" @@ -3098,7 +3325,7 @@ sha256 = "ab7ae7122974553370f0bdb919e1a960b2cd1bc1ef0276416d896db81c14582c" name = "imagesize" version = "2.0.1" index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"type\" in dependency_groups" +marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"type\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15'))" [packages.sdist] url = "https://files.pythonhosted.org/packages/fb/5e/513ff06670c84e7b9887c1fdf61b2d42b4f574a831f2f1d2222023049d8a/imagesize-2.0.1.tar.gz" @@ -3253,7 +3480,7 @@ sha256 = "97e5714520c16fc0a45695e5365a2e11b81ea79bba796e26f9f1d178cb182683" name = "jinja2" version = "3.1.6" index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"type\" in dependency_groups" +marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"type\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15'))" [packages.sdist] url = "https://files.pythonhosted.org/packages/df/bf/f7da0350254c0ed7c72f3e33cef02e048281fec7ecec5f032d4aac52226b/jinja2-3.1.6.tar.gz" @@ -3294,256 +3521,662 @@ size = 39160 sha256 = "be4a0b195f149690c166e850609a477c532ddbfbaed96a404d4e43f8d5e2689f" [[packages]] -name = "markdown-it-py" -version = "4.2.0" +name = "libcst" +version = "1.9.0" index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"pkg-meta\" in dependency_groups or \"type\" in dependency_groups" +marker = "(\"release\" in dependency_groups and (python_full_version >= '3.15'))" [packages.sdist] -url = "https://files.pythonhosted.org/packages/06/ff/7841249c247aa650a76b9ee4bbaeae59370dc8bfd2f6c01f3630c35eb134/markdown_it_py-4.2.0.tar.gz" -upload-time = 2026-05-07 12:08:28+00:00 -size = 82454 +url = "https://files.pythonhosted.org/packages/02/c0/098e5c91ff1537f00c85a6438b6cb1863d17144680cc91f47c87f104a200/libcst-1.9.0.tar.gz" +upload-time = 2026-07-29 21:28:43+00:00 +size = 914739 [packages.sdist.hashes] -sha256 = "04a21681d6fbb623de53f6f364d352309d4094dd4194040a10fd51833e418d49" +sha256 = "087b58a9afe076bb08e2d726478e1f16cb928d67ffa9092817e033c335de522a" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/b3/81/4da04ced5a082363ecfa159c010d200ecbd959ae410c10c0264a38cac0f5/markdown_it_py-4.2.0-py3-none-any.whl" -upload-time = 2026-05-07 12:08:27+00:00 -size = 91687 +url = "https://files.pythonhosted.org/packages/53/36/b45e6950878d9143f95db609432031ac688b311aa14450a8df239c648c45/libcst-1.9.0-cp311-cp311-macosx_11_0_arm64.whl" +upload-time = 2026-07-29 19:24:38+00:00 +size = 2054911 [packages.wheels.hashes] -sha256 = "9f7ebbcd14fe59494226453aed97c1070d83f8d24b6fc3a3bcf9a38092641c4a" - -[[packages]] -name = "markupsafe" -version = "3.0.4" -index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"type\" in dependency_groups" +sha256 = "3cdbafbc992b38ea005ef37e20243c4177879020c82d414789fbb7fa22d6d3a9" -[packages.sdist] -url = "https://files.pythonhosted.org/packages/38/9b/e422a865e1d5d57d0e509b4e0bf1c1a70a7f6382c29a5aa428df994c8bc8/markupsafe-3.0.4.tar.gz" -upload-time = 2026-10-02 23:07:22+00:00 -size = 153777 +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/6f/d8/1c1ae22e05fbc763dc5a4e4c3cab356166913ef19d2c2da42e6f1be5c98c/libcst-1.9.0-cp311-cp311-manylinux_2_28_aarch64.whl" +upload-time = 2026-07-29 19:24:40+00:00 +size = 2209147 -[packages.sdist.hashes] -sha256 = "2e9ad7dd851bf45fab9f75cbff4cb493fee9979e8d8c7c9c3ee119022518edd6" +[packages.wheels.hashes] +sha256 = "3f735e3acb3afc75d50803fde1598b467bf05d12d6854025df4398aebd75a14c" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/32/55/18dbb4778b30ada5ce071608503cc3edc9e14e13d868c17a6d178fc30f7a/markupsafe-3.0.4-cp311-cp311-macosx_10_9_x86_64.whl" -upload-time = 2026-10-02 23:04:36+00:00 -size = 11520 +url = "https://files.pythonhosted.org/packages/84/e1/0d5eaeac4dadd34fcd9ea154d0a6e5ce10c9fec0e02c73f807a16475b8b0/libcst-1.9.0-cp311-cp311-manylinux_2_28_x86_64.whl" +upload-time = 2026-07-29 19:24:41+00:00 +size = 2260355 [packages.wheels.hashes] -sha256 = "9e25feb9e330b63edb0278a0acdf85e50d0cb0fbf49c3084abbe4e24ae195346" +sha256 = "951f13c193e590fc88c9582a5341a130fe53ecece51043cff4bd54e25a5e022d" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/6c/14/0b05f79b4733e264a18d08fe08fa1df7347630ff32a6cb82180d9dccec55/markupsafe-3.0.4-cp311-cp311-macosx_11_0_arm64.whl" -upload-time = 2026-10-02 23:04:37+00:00 -size = 12063 +url = "https://files.pythonhosted.org/packages/71/b2/45ce33c6bca5c1961a90f2999138741daa0dc8cf6fe8b122c0ca2502632d/libcst-1.9.0-cp311-cp311-musllinux_1_2_aarch64.whl" +upload-time = 2026-07-29 19:24:42+00:00 +size = 2275659 [packages.wheels.hashes] -sha256 = "7d3391b2188d18737cb2fa147028b1096236eaa7e156446c650a489fa2cadc91" +sha256 = "bc6aa3e7f21315dbe9868c0d13ffaac309514e8c816320c5f91230fa5b21df92" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/ca/3a/63ba10b6c1463216b3e4df669a9f0e5a3b0c3071557d2e8229e3968c79fb/markupsafe-3.0.4-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" -upload-time = 2026-10-02 23:04:38+00:00 -size = 24321 +url = "https://files.pythonhosted.org/packages/bb/b1/936d2f17d93fb160579ff56ca671d26154209bbc07ea8645eb11db1f9633/libcst-1.9.0-cp311-cp311-musllinux_1_2_x86_64.whl" +upload-time = 2026-07-29 19:24:44+00:00 +size = 2383467 [packages.wheels.hashes] -sha256 = "849dd2bb0e5e4ab2b71c7191726a4a8d5aa8a610daa584728cbee0b710ddc4ef" +sha256 = "f101e0bf8638eba80694ecc3c3abb5309eb488f5271427536cb379c5c1e0ba9e" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/1a/2e/5f015261b76ad633d187ef6f388b413aedd64a8773c4df59e530a0be5525/markupsafe-3.0.4-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl" -upload-time = 2026-10-02 23:04:39+00:00 -size = 28845 +url = "https://files.pythonhosted.org/packages/e7/59/db667f15d62cb22c75b24f6b13c4151292aa1889a64ff9abce92f60d5a97/libcst-1.9.0-cp311-cp311-win_amd64.whl" +upload-time = 2026-07-29 19:24:45+00:00 +size = 2109985 [packages.wheels.hashes] -sha256 = "befb4158af32106b9a93db8d6d1d1cbbd418c0d5aca0cabb7b1780abf0c89169" +sha256 = "77d9303572cf0fbd0a2eb71aff167a4246541f43bf58b781b35b9d0bbab80ddc" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/33/cf/26e594b26be40c2f1fec63ccf8a8b99d0335a5b2cbe84835c7d82a994375/markupsafe-3.0.4-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" -upload-time = 2026-10-02 23:04:40+00:00 -size = 24701 +url = "https://files.pythonhosted.org/packages/6d/a8/99926865cd3f97c0cffc71cd38152c883b7ae666eb8327d355f01bddb33a/libcst-1.9.0-cp311-cp311-win_arm64.whl" +upload-time = 2026-07-29 19:24:47+00:00 +size = 1988559 [packages.wheels.hashes] -sha256 = "71f88e749ea29f67f21f3b36433c1dc54c7729ed2a6d9e2da2e0d9e0d7b224eb" +sha256 = "4090105fa4ad114766d0f8b34418d9a3b359bc8645da860a447e19770b5705d1" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/81/a5/a513b76c139a3915b43404324e55c0b7979ae4f0d39eb6f075b0282e90a8/markupsafe-3.0.4-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" -upload-time = 2026-10-02 23:04:41+00:00 -size = 22961 +url = "https://files.pythonhosted.org/packages/b0/bb/d22c37c33dfe18084634f5ef89f8f0749ffe7b6e0ad312722aafd86bbbdb/libcst-1.9.0-cp312-cp312-macosx_11_0_arm64.whl" +upload-time = 2026-07-29 19:24:49+00:00 +size = 2043159 [packages.wheels.hashes] -sha256 = "6da83a088f8ef93b2d483a8232a4dbf4d69d3d8496b568a03c56becac43e1808" +sha256 = "cd1a3500c41784075c4946a995d5ad89f68fa0d226b63ff3c4d78f6ea6dd23e5" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/46/cf/4c66192c100b4542bcbe392ae06696b670f66927be3ac38a213234778ff9/markupsafe-3.0.4-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" -upload-time = 2026-10-02 23:04:42+00:00 -size = 21920 +url = "https://files.pythonhosted.org/packages/10/b8/2dedef84d72e7271119217503b69ed6dc5d0b2077685e163caae669d9c70/libcst-1.9.0-cp312-cp312-manylinux_2_28_aarch64.whl" +upload-time = 2026-07-29 19:24:50+00:00 +size = 2203245 [packages.wheels.hashes] -sha256 = "8f0fac8b13d14bb06c68195f849371924ae53dd7b1c00fed24650f704383b692" +sha256 = "611cebd3bbc2014576f4dcc7b845b3c594c96ddc287a3db9b78f22eff156a7d3" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/cb/17/ac3662678bfbad649893117ada2ba44dc30bf56884e84f13154a792b10f1/markupsafe-3.0.4-cp311-cp311-musllinux_1_2_aarch64.whl" -upload-time = 2026-10-02 23:04:43+00:00 -size = 23726 +url = "https://files.pythonhosted.org/packages/e8/90/e02ac2dad647423f947bb11f8322bfdba8ccfdd380e6c7b695add2d1acd4/libcst-1.9.0-cp312-cp312-manylinux_2_28_x86_64.whl" +upload-time = 2026-07-29 19:24:52+00:00 +size = 2255388 [packages.wheels.hashes] -sha256 = "4a7cdc2a420ca01058182da4253329764d4bfa055564d1eced90e6ba1e8b1d3d" +sha256 = "8d731abe1307720ea1a52d447555e8443a6d130e0e520243c0634a58f6edbc9d" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/f7/af/fe47cee339180a69ebca3c57fb3483d0f5cbd1e8337d1871fb1d9c1aebee/markupsafe-3.0.4-cp311-cp311-musllinux_1_2_armv7l.whl" -upload-time = 2026-10-02 23:04:44+00:00 -size = 22539 +url = "https://files.pythonhosted.org/packages/13/5f/6089a51518cfd2ff40950eb26bcc36951d7b6d4f4213568aa0290265aff7/libcst-1.9.0-cp312-cp312-musllinux_1_2_aarch64.whl" +upload-time = 2026-07-29 19:24:53+00:00 +size = 2268982 [packages.wheels.hashes] -sha256 = "83b3944fea42a8400edf92fd1770fb8d0d4f7de651353bd2d8525a92dba69a21" +sha256 = "8bc5351d92ca6ac1cc32e097700e1161ad1ceaa4d9b2cca5abadb1e94576b325" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/12/32/d55440ba140442800e02d799c9cb5ab597bf6ebdb1177b5ea39a11f797bd/markupsafe-3.0.4-cp311-cp311-musllinux_1_2_ppc64le.whl" -upload-time = 2026-10-02 23:04:45+00:00 -size = 23963 +url = "https://files.pythonhosted.org/packages/ed/78/26881ec466fb70cbc129dca26ccb5a52a0061face2c5822e4b61f00f9699/libcst-1.9.0-cp312-cp312-musllinux_1_2_x86_64.whl" +upload-time = 2026-07-29 19:24:55+00:00 +size = 2378174 [packages.wheels.hashes] -sha256 = "8138eb83940ec7299024d92d4dee45f601b9e6c5ffde9d25f4e35e326203c707" +sha256 = "03165a264653bb77f6a11b412ae09c08bdb0c25864f3b8d42b816ac64b9d4b9e" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/50/9d/9c86042cb364c2ad4c971e6d1247929effd25f714cd7ee11b05e6316445b/markupsafe-3.0.4-cp311-cp311-musllinux_1_2_riscv64.whl" -upload-time = 2026-10-02 23:04:46+00:00 -size = 21506 +url = "https://files.pythonhosted.org/packages/e1/7a/a4dba5f11faf12a12ffba06d18019987851aab33b590242a602ffd4fb1bd/libcst-1.9.0-cp312-cp312-win_amd64.whl" +upload-time = 2026-07-29 19:24:56+00:00 +size = 2103462 [packages.wheels.hashes] -sha256 = "811d02d5122171c1941357efd8f9bf4ffe907b7f0a1a4e729a880e4be3f46e3e" +sha256 = "b755ed4a4bc2faee849b54820023137d60d4c199e0a0822f0ff0c1bc49e49b48" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/75/ef/5b824f03ba40c3b3652b6272d083d2fc4fcdd440de519a3a39ba2c3e7262/markupsafe-3.0.4-cp311-cp311-musllinux_1_2_x86_64.whl" -upload-time = 2026-10-02 23:04:47+00:00 -size = 22955 +url = "https://files.pythonhosted.org/packages/f5/13/57cb129093e0d6744b3c914ba6cbbdf51ed1b2c823882936c553a3a0cf1b/libcst-1.9.0-cp312-cp312-win_arm64.whl" +upload-time = 2026-07-29 19:24:58+00:00 +size = 1979825 [packages.wheels.hashes] -sha256 = "50b5bedc9ed8a94fc8857a42ef4f84a81ea88f8d4f05dc8705fb23ee6d8dcca7" +sha256 = "6e50576bad7d56459d9792cd0b0dfe5469dad13646e9a9c0a8b1ba20b269f332" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/1e/e8/44cfcb5ea40e5e43cec7793ef90704ed0c475280839076c4345757eb8e59/markupsafe-3.0.4-cp311-cp311-win32.whl" -upload-time = 2026-10-02 23:04:48+00:00 -size = 14094 +url = "https://files.pythonhosted.org/packages/f2/b1/befc0544283bb3923a928accf79ed685e5a725524bdb3491826670affc07/libcst-1.9.0-cp313-cp313-macosx_11_0_arm64.whl" +upload-time = 2026-07-29 19:24:59+00:00 +size = 2043754 [packages.wheels.hashes] -sha256 = "2e5a7cd7fdd14fcb1ae5d7d8bf23d24fbd1daefd1fbca2580132e1ea75f098b5" +sha256 = "b8b9df30f524317b097dc53065b25dda33d6a4cc3c7c8bf4fc83ca7559c58cc0" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/91/89/f2b509f7bf79352e40117824c1070dbeafd4df67031d3fa98165a3134228/markupsafe-3.0.4-cp311-cp311-win_amd64.whl" -upload-time = 2026-10-02 23:04:49+00:00 -size = 14328 +url = "https://files.pythonhosted.org/packages/45/50/fef7c172a8457c95894edf5fb04805024899cdfea41fa01b0636587b79e1/libcst-1.9.0-cp313-cp313-manylinux_2_28_aarch64.whl" +upload-time = 2026-07-29 19:25:01+00:00 +size = 2203548 [packages.wheels.hashes] -sha256 = "fdb4ca07ab75ffadab4a8b135ad59cdbb3156b99310f3d565370da74a15d6bd3" +sha256 = "e465a7bc9c2b9533eb9e06d2391f8819f811b5112919d4064c9fb8565aaafa08" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/2b/5a/ccf22672a0f64dc682306e288f0dabcb06c7a201f3bb6e6cbf86d9e8ad03/markupsafe-3.0.4-cp311-cp311-win_arm64.whl" -upload-time = 2026-10-02 23:04:50+00:00 -size = 14188 +url = "https://files.pythonhosted.org/packages/18/ff/764cd2be1fd99d774fc44039c319dc0ed1d9d9afeaa02759a05121cccd4b/libcst-1.9.0-cp313-cp313-manylinux_2_28_x86_64.whl" +upload-time = 2026-07-29 19:25:02+00:00 +size = 2255274 [packages.wheels.hashes] -sha256 = "569d65055d367e3dcdf30c3f41119467b73d9ee9faf332bdf40402644f5ac08e" +sha256 = "8504b422c95676a8c27b517e1ac01413ece91bf356865c587ca9bdcd5708a2f7" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/81/09/4c59d56b8461ae8eb0d8ba34bb25b7e618547044679d58a82ef9b2479fc1/markupsafe-3.0.4-cp312-cp312-macosx_10_13_x86_64.whl" -upload-time = 2026-10-02 23:04:51+00:00 -size = 11658 +url = "https://files.pythonhosted.org/packages/34/a7/474748a27a02fa83e3556b260d5f5236ca48164fa7beffecf3b2cad24dca/libcst-1.9.0-cp313-cp313-musllinux_1_2_aarch64.whl" +upload-time = 2026-07-29 19:25:04+00:00 +size = 2269126 [packages.wheels.hashes] -sha256 = "61631e08084be9e21a8967ec3139c7616ed7c5e9368e05c86d1b39562c8a57b6" +sha256 = "bcb9f9d4fcfe2ec7a40d2c26e03a538d5d9dc189c38551eb3f94ab661afee7c0" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/a2/f0/d6613774d86fbf6d145751d43c59875e47a6f9f17daee0aef173bd36d90e/markupsafe-3.0.4-cp312-cp312-macosx_11_0_arm64.whl" -upload-time = 2026-10-02 23:04:52+00:00 -size = 12050 +url = "https://files.pythonhosted.org/packages/8a/b7/655e45363b8cf87b91e41e060b21c89e5316c7ef36eb14a1a498b27bb71e/libcst-1.9.0-cp313-cp313-musllinux_1_2_x86_64.whl" +upload-time = 2026-07-29 19:25:06+00:00 +size = 2378602 [packages.wheels.hashes] -sha256 = "0930db9bdc62d22944e10b066448bb65dc9abe9112880c7cab8da54db4284d5f" +sha256 = "e8d671c39a431c309476099b8ec811e412503ec0f4465f6fc907cb51c70e8e6b" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/0d/f2/8f18e0b806eb13c1f8d07d917a720831ead54253a6dec011fbc78098a6f8/markupsafe-3.0.4-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" -upload-time = 2026-10-02 23:04:53+00:00 -size = 24363 +url = "https://files.pythonhosted.org/packages/db/13/6da63f0902ece43bf9d737017251ad7ad06edd9d3c4e1856450403cb4473/libcst-1.9.0-cp313-cp313-win_amd64.whl" +upload-time = 2026-07-29 19:25:07+00:00 +size = 2103486 [packages.wheels.hashes] -sha256 = "6a45c3d514f2436064db00d7fc8778d888f0236ebfed649b53d13a59e69ad51b" +sha256 = "4d382fba04077eb556a1ea4295a4482e192aa93639c5a07ba0885841965ea0c0" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/60/ce/fa07dbe8a5675558fa36dea033e19995bc783de2dec5f540ccb9030b06aa/markupsafe-3.0.4-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl" -upload-time = 2026-10-02 23:04:54+00:00 -size = 28525 +url = "https://files.pythonhosted.org/packages/fd/ff/dccb1a55e38b4e47256a97242d61d2bef5366c744faf88fb087d4fa0f995/libcst-1.9.0-cp313-cp313-win_arm64.whl" +upload-time = 2026-07-29 19:25:09+00:00 +size = 1979907 [packages.wheels.hashes] -sha256 = "1e1451fab512d1bcc3dc26988ec1edb0b82c2db909132872cd9356070a6b63df" +sha256 = "a621e261990148c1cfbe26c1798bd2375c131cf358a44a7a4659fc41c1a336e1" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/85/40/be87c01f3868ec217f8a2015089d71c22c8c5a75324822e5ed1cdd87210d/markupsafe-3.0.4-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" -upload-time = 2026-10-02 23:04:56+00:00 -size = 24733 +url = "https://files.pythonhosted.org/packages/65/2a/4943c71d90975bc59034a057dea346b365c276f308c1d31f5cf2bd85492d/libcst-1.9.0-cp314-cp314-macosx_11_0_arm64.whl" +upload-time = 2026-07-29 19:25:11+00:00 +size = 2044529 [packages.wheels.hashes] -sha256 = "bd3ce56ae2cbae3ba82b683bc425cd7e48d2ed8b10f3e818186b6f5646d9271c" +sha256 = "eccf4c57d273cdd3fe1c67b72cf9bb1bbd4547aa011824e96ccf5b7136057aa4" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/4f/a7/aeedb5140afa41fc74c225e9184ab96723a6e873b6ee1c9fede7283456d8/markupsafe-3.0.4-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" -upload-time = 2026-10-02 23:04:57+00:00 -size = 22985 +url = "https://files.pythonhosted.org/packages/be/ed/1168b98c2a0f338be3a44753647baab051feaf6167cc887bf4447f8fd920/libcst-1.9.0-cp314-cp314-manylinux_2_28_aarch64.whl" +upload-time = 2026-07-29 19:25:12+00:00 +size = 2203519 [packages.wheels.hashes] -sha256 = "8e124f974786f831d6043728e38296969d3579db8896fe004682f5758e613581" +sha256 = "32395244edfe6538e0ea2bf82051d60103d3f54861274805c4fb3745efb70a85" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/c3/fc/e91352bb08c6a59da3ef0909d457bf95a5f5908fbf151b30a06d9dbcfbb4/markupsafe-3.0.4-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" -upload-time = 2026-10-02 23:04:58+00:00 -size = 22001 +url = "https://files.pythonhosted.org/packages/25/7d/2eaa697a80f899bcf2245680bbfcc1e478eb3b3328c21d4b2880bdf00dac/libcst-1.9.0-cp314-cp314-manylinux_2_28_x86_64.whl" +upload-time = 2026-07-29 19:25:14+00:00 +size = 2255879 [packages.wheels.hashes] -sha256 = "c02e8f18bdedba082cef725942ac823b9b60656db07f7e265cb31618dfd00d77" +sha256 = "444e84c76cd035cd2fe136838c1a524d34b08216521f6f5093df8a6f6cfa5799" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/5d/f8/bffee5e7d2a3deb59748a797650a48af7e672025cf641a79344a771ad106/markupsafe-3.0.4-cp312-cp312-musllinux_1_2_aarch64.whl" -upload-time = 2026-10-02 23:04:59+00:00 -size = 23793 +url = "https://files.pythonhosted.org/packages/90/03/793b9fd96dd52d202f5f2b88d7e54f05ebed767d1bb3b32395a1817bf6ab/libcst-1.9.0-cp314-cp314-musllinux_1_2_aarch64.whl" +upload-time = 2026-07-29 19:25:15+00:00 +size = 2269807 [packages.wheels.hashes] -sha256 = "9f098115c247e11d138ab83a28fa0323c77015007ea2df73ba5fd714dfefd67c" +sha256 = "bb5d0946f2b4c6711b5d69fe4f833b364f9e7a1a2b08f88b98619dc18975099a" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/ed/59/b853d6628ecb4d658e1d637224846d5e9bb4adf4f8df97f3be9f29dce2ec/markupsafe-3.0.4-cp312-cp312-musllinux_1_2_armv7l.whl" -upload-time = 2026-10-02 23:05:00+00:00 -size = 22640 +url = "https://files.pythonhosted.org/packages/a3/f4/1bc7aaea03971c45e8a885fed9fc1c73176dbbd00b0296a3cde9529bafd6/libcst-1.9.0-cp314-cp314-musllinux_1_2_x86_64.whl" +upload-time = 2026-07-29 19:25:17+00:00 +size = 2378171 [packages.wheels.hashes] -sha256 = "d5f93ebbeb8032d47e349328ec8662d973d9b05a70b3c35df1f91fe419b84749" +sha256 = "45808c03528b3ad40b14095348a918e08d98c47b4a125d631cb78e817c0a5b16" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/09/b2/1506df394f0f075797c418d0301498f49e43be194e3ffcb49e6fe6ccf022/markupsafe-3.0.4-cp312-cp312-musllinux_1_2_ppc64le.whl" -upload-time = 2026-10-02 23:05:01+00:00 -size = 24074 +url = "https://files.pythonhosted.org/packages/8e/f7/bc49e367d2bc8817213594dd52cf6b2da2dbbda90b5382d60653999274ac/libcst-1.9.0-cp314-cp314-win_amd64.whl" +upload-time = 2026-07-29 19:25:19+00:00 +size = 2177847 [packages.wheels.hashes] -sha256 = "64511c54db4e4987aef4c41923235927428729e8174c5dba488429be70a998ed" +sha256 = "568288cdbfe3b4ca3ae4852cb0a439ff053dd54c841bc4995bf2b71238b5de40" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/c7/81/5ed69cda630ac69ef60d06c09ba5a7f84ff66a2e28cf986fd5614ab3c6e6/markupsafe-3.0.4-cp312-cp312-musllinux_1_2_riscv64.whl" -upload-time = 2026-10-02 23:05:03+00:00 -size = 21563 +url = "https://files.pythonhosted.org/packages/87/80/4d81577a22e6d535d1a3409f3a1c6903e09036f0e17fc47f92169dbc3501/libcst-1.9.0-cp314-cp314-win_arm64.whl" +upload-time = 2026-07-29 19:25:20+00:00 +size = 2058134 [packages.wheels.hashes] -sha256 = "e1a622f13970d81f95d0c72f9dc090dce9085fccfa4c9f2174377ee32bd15786" +sha256 = "107593af46945593e7825821793393262bc4fa1d3ea24c3ed487b61269bbbdf8" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/0c/fe/fb1e79be0fea60aa32602ebefc9c35a82bb42b4df157285ab7dfec12341a/markupsafe-3.0.4-cp312-cp312-musllinux_1_2_x86_64.whl" -upload-time = 2026-10-02 23:05:04+00:00 -size = 23048 +url = "https://files.pythonhosted.org/packages/d1/7f/c3f3a0e7a1a2adaa76e815e82a7814d6bfe7d49432276bba652248c68d0b/libcst-1.9.0-cp314-cp314t-macosx_11_0_arm64.whl" +upload-time = 2026-07-29 19:25:22+00:00 +size = 2036102 [packages.wheels.hashes] -sha256 = "c9a7f43c0b202b334cc9184af09bb8f21d3a209e038efaf106936fb69e6b026e" +sha256 = "f6248cb07444ab9a6733a855737a9febed8b9adca51347019348b09a3ac7dfe9" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/4e/af/2f5543255b2c7d749b966adeccc6bfb1652cf8b425afb913d0f3f025a865/libcst-1.9.0-cp314-cp314t-manylinux_2_28_aarch64.whl" +upload-time = 2026-07-29 19:25:24+00:00 +size = 2194806 + +[packages.wheels.hashes] +sha256 = "496c24e0d3240bc7da45dae543aff3f5b6509978c39262d6b84ed2fb999dded2" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/cb/5b/03f4cddce426d005e208b39ea7b2d456e667cdee0f1891360f0fc8430f20/libcst-1.9.0-cp314-cp314t-manylinux_2_28_x86_64.whl" +upload-time = 2026-07-29 19:25:25+00:00 +size = 2246762 + +[packages.wheels.hashes] +sha256 = "ea490fa8540503db5f321f0268becab46eb50f710e8cec8041e241fd66f6874f" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/d8/31/9d5fe1e43dc3dbcc74f70f3e0e73fcdd8d84effc1059d8b45974f0d0d2eb/libcst-1.9.0-cp314-cp314t-musllinux_1_2_aarch64.whl" +upload-time = 2026-07-29 19:25:26+00:00 +size = 2259633 + +[packages.wheels.hashes] +sha256 = "50ab94bb2524b419056d4003032b8c67102ac800f8d85b3c4260a01746d94dbb" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/a8/2b/6752b28d88c3a19b3bc0b9e1838443b6760d5c862b4f4b37955402659e24/libcst-1.9.0-cp314-cp314t-musllinux_1_2_x86_64.whl" +upload-time = 2026-07-29 19:25:28+00:00 +size = 2368043 + +[packages.wheels.hashes] +sha256 = "a2faaf92500d0226358125630f5aab4758e8aad3f2d70a10892ec3c700781a54" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/e2/94/775825b2637f8ab05694b6a4b3802ae6783b4e799f9b58d2400c7e2d4369/libcst-1.9.0-cp314-cp314t-win_amd64.whl" +upload-time = 2026-07-29 19:25:29+00:00 +size = 2176432 + +[packages.wheels.hashes] +sha256 = "0c7b548512db25af9c2997a95fa731bd6b6928ecbad6c0915d7482d8bb42d34f" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/fb/3d/88ad67427c6fd9db929e087912b0a540e5140e5cb77e7ca4170edaac8531/libcst-1.9.0-cp314-cp314t-win_arm64.whl" +upload-time = 2026-07-29 19:25:31+00:00 +size = 2052931 + +[packages.wheels.hashes] +sha256 = "497d5329345f1f5df84e41b0bbd00204b64a2fd30dfe3cfaeaebca633a31e877" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/39/e4/ad790b043a38b10cea13166c8dd716654ad8b227c20f12eebf6326191cd9/libcst-1.9.0-cp315-cp315-macosx_11_0_arm64.whl" +upload-time = 2026-08-11 05:54:02+00:00 +size = 2043987 + +[packages.wheels.hashes] +sha256 = "a5068bf6114f6f4d79af7a6c80a28d1deb50441150ea1db13b5458ab34bec159" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/15/6b/d3cd8275cc54ffc9817ade91442b3e6e9edd1a4518bd4e6dda13e3152dbe/libcst-1.9.0-cp315-cp315-manylinux_2_28_aarch64.whl" +upload-time = 2026-08-11 05:54:04+00:00 +size = 2204003 + +[packages.wheels.hashes] +sha256 = "7acfd18adcdd32dcf41ce676cf121002afcbe9ad2c72dc0c18d78465beedc228" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/da/62/87eddccb11d5d221d50ac4fff4b6e9b8d48c547028d01f7d0fbc5c8a1d75/libcst-1.9.0-cp315-cp315-manylinux_2_28_x86_64.whl" +upload-time = 2026-08-11 05:54:06+00:00 +size = 2256053 + +[packages.wheels.hashes] +sha256 = "86361e2b426bd1b403e52375703c8b764e226e571adcb30442510710681edbf0" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/18/53/a44126aeb9fca8b4e342e0cc803ea00ca8f6cd5712619a7897b3eba13797/libcst-1.9.0-cp315-cp315-musllinux_1_2_aarch64.whl" +upload-time = 2026-08-11 05:54:08+00:00 +size = 2270576 + +[packages.wheels.hashes] +sha256 = "8c14abe844bec8b021111b3985474e49f5af799c020e8e40dedcac87c97a40c5" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/bb/51/3af3dd44b117d66486e0ed61e43a16b7fc8cc5c372e1dd4ca0e70b888d46/libcst-1.9.0-cp315-cp315-musllinux_1_2_x86_64.whl" +upload-time = 2026-08-11 05:54:10+00:00 +size = 2378573 + +[packages.wheels.hashes] +sha256 = "8930971d2299b7006bb5d10c10038f44efb6da89d5bca2823595e31a9cdb96af" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/fc/e8/e545087d298dbf6494e84a8092f0f5dbd62eedacabd4ecd6b364367b4804/libcst-1.9.0-cp315-cp315-win_amd64.whl" +upload-time = 2026-08-11 05:54:12+00:00 +size = 2177937 + +[packages.wheels.hashes] +sha256 = "5891ce9cff815077614f509e3a23888c5ddb8081d6188e8ba1172c0ccc369022" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/84/17/93a00a8e03494a84db102dd0e3d35b8876b1084ca2c194b331a168d86eb1/libcst-1.9.0-cp315-cp315-win_arm64.whl" +upload-time = 2026-08-11 05:54:13+00:00 +size = 2058633 + +[packages.wheels.hashes] +sha256 = "1260b5d070a3324447a53a00387225a55472a62077ce01922d30a2a78cc4b138" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/d7/00/c3751b12eb81822ea0b6131d374a98bc6c024c4b9ec5f6ea8f53dc23e967/libcst-1.9.0-cp315-cp315t-macosx_11_0_arm64.whl" +upload-time = 2026-08-11 05:54:15+00:00 +size = 2036178 + +[packages.wheels.hashes] +sha256 = "02ee2dbdb5c218116f16a021350fc267a14be205b50d81c33f5d73857ab6fbf7" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/2f/12/48ff486eb5adc593f4818569e8896b74b672414ab4722a74b17e4c4cf31e/libcst-1.9.0-cp315-cp315t-manylinux_2_28_aarch64.whl" +upload-time = 2026-08-11 05:54:17+00:00 +size = 2195496 + +[packages.wheels.hashes] +sha256 = "3e5b684191a0462b2d40a73261ea7f4da6a49e7a030b7e0fceca46bebb51dfe5" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/51/18/b13a4669864d41a4801fed7b86ede1049dc9a1e1dde250a7ee1f9c3b1285/libcst-1.9.0-cp315-cp315t-manylinux_2_28_x86_64.whl" +upload-time = 2026-08-11 05:54:19+00:00 +size = 2245769 + +[packages.wheels.hashes] +sha256 = "2b150c4f298fe54eb0fe73abf71f57db74d070796140a8c206c9615b6861f01e" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/c8/c7/cf2d46744825e84afbd7228fdeeea8d23cf6c4b2074253c27efb7705c653/libcst-1.9.0-cp315-cp315t-musllinux_1_2_aarch64.whl" +upload-time = 2026-08-11 05:54:21+00:00 +size = 2260576 + +[packages.wheels.hashes] +sha256 = "50b913e37187f00a6fb88962009364e1cf1b1284aa1762304f34b52b972f2218" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/d1/4d/5433d3d62250b2e4325938db101766bcab2a006819684713bcccb6259a88/libcst-1.9.0-cp315-cp315t-musllinux_1_2_x86_64.whl" +upload-time = 2026-08-11 05:54:23+00:00 +size = 2368709 + +[packages.wheels.hashes] +sha256 = "9f92c75283030fd58fb7d6e560168a00381e0e3368ec8a026a3ec8a828a05f93" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/87/39/9f0e1690727623f99489895db0e42048a3e1e8cea0627517c593e437fd83/libcst-1.9.0-cp315-cp315t-win_amd64.whl" +upload-time = 2026-08-11 05:54:25+00:00 +size = 2177866 + +[packages.wheels.hashes] +sha256 = "4adf97bb1aff8039b0bd4991e2f838be6e4fad552821b26b71a5d1a653c2582f" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/cd/79/9dc7811883e67ea771057e8937bc536eb3e77f3635fc5a93cd85b6fe1ea8/libcst-1.9.0-cp315-cp315t-win_arm64.whl" +upload-time = 2026-08-11 05:54:26+00:00 +size = 2052908 + +[packages.wheels.hashes] +sha256 = "8f0dd08a5773d7051e105250b2a2c73d8065ea9b2d68e7e1bdc5244660e75f93" + +[[packages]] +name = "markdown-it-py" +version = "4.2.0" +index = "https://pypi.org/simple" +marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"pkg-meta\" in dependency_groups or \"type\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15'))" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/06/ff/7841249c247aa650a76b9ee4bbaeae59370dc8bfd2f6c01f3630c35eb134/markdown_it_py-4.2.0.tar.gz" +upload-time = 2026-05-07 12:08:28+00:00 +size = 82454 + +[packages.sdist.hashes] +sha256 = "04a21681d6fbb623de53f6f364d352309d4094dd4194040a10fd51833e418d49" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/b3/81/4da04ced5a082363ecfa159c010d200ecbd959ae410c10c0264a38cac0f5/markdown_it_py-4.2.0-py3-none-any.whl" +upload-time = 2026-05-07 12:08:27+00:00 +size = 91687 + +[packages.wheels.hashes] +sha256 = "9f7ebbcd14fe59494226453aed97c1070d83f8d24b6fc3a3bcf9a38092641c4a" + +[[packages]] +name = "markupsafe" +version = "3.0.4" +index = "https://pypi.org/simple" +marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"type\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15'))" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/38/9b/e422a865e1d5d57d0e509b4e0bf1c1a70a7f6382c29a5aa428df994c8bc8/markupsafe-3.0.4.tar.gz" +upload-time = 2026-10-02 23:07:22+00:00 +size = 153777 + +[packages.sdist.hashes] +sha256 = "2e9ad7dd851bf45fab9f75cbff4cb493fee9979e8d8c7c9c3ee119022518edd6" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/32/55/18dbb4778b30ada5ce071608503cc3edc9e14e13d868c17a6d178fc30f7a/markupsafe-3.0.4-cp311-cp311-macosx_10_9_x86_64.whl" +upload-time = 2026-10-02 23:04:36+00:00 +size = 11520 + +[packages.wheels.hashes] +sha256 = "9e25feb9e330b63edb0278a0acdf85e50d0cb0fbf49c3084abbe4e24ae195346" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/6c/14/0b05f79b4733e264a18d08fe08fa1df7347630ff32a6cb82180d9dccec55/markupsafe-3.0.4-cp311-cp311-macosx_11_0_arm64.whl" +upload-time = 2026-10-02 23:04:37+00:00 +size = 12063 + +[packages.wheels.hashes] +sha256 = "7d3391b2188d18737cb2fa147028b1096236eaa7e156446c650a489fa2cadc91" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/ca/3a/63ba10b6c1463216b3e4df669a9f0e5a3b0c3071557d2e8229e3968c79fb/markupsafe-3.0.4-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" +upload-time = 2026-10-02 23:04:38+00:00 +size = 24321 + +[packages.wheels.hashes] +sha256 = "849dd2bb0e5e4ab2b71c7191726a4a8d5aa8a610daa584728cbee0b710ddc4ef" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/1a/2e/5f015261b76ad633d187ef6f388b413aedd64a8773c4df59e530a0be5525/markupsafe-3.0.4-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl" +upload-time = 2026-10-02 23:04:39+00:00 +size = 28845 + +[packages.wheels.hashes] +sha256 = "befb4158af32106b9a93db8d6d1d1cbbd418c0d5aca0cabb7b1780abf0c89169" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/33/cf/26e594b26be40c2f1fec63ccf8a8b99d0335a5b2cbe84835c7d82a994375/markupsafe-3.0.4-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" +upload-time = 2026-10-02 23:04:40+00:00 +size = 24701 + +[packages.wheels.hashes] +sha256 = "71f88e749ea29f67f21f3b36433c1dc54c7729ed2a6d9e2da2e0d9e0d7b224eb" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/81/a5/a513b76c139a3915b43404324e55c0b7979ae4f0d39eb6f075b0282e90a8/markupsafe-3.0.4-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" +upload-time = 2026-10-02 23:04:41+00:00 +size = 22961 + +[packages.wheels.hashes] +sha256 = "6da83a088f8ef93b2d483a8232a4dbf4d69d3d8496b568a03c56becac43e1808" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/46/cf/4c66192c100b4542bcbe392ae06696b670f66927be3ac38a213234778ff9/markupsafe-3.0.4-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" +upload-time = 2026-10-02 23:04:42+00:00 +size = 21920 + +[packages.wheels.hashes] +sha256 = "8f0fac8b13d14bb06c68195f849371924ae53dd7b1c00fed24650f704383b692" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/cb/17/ac3662678bfbad649893117ada2ba44dc30bf56884e84f13154a792b10f1/markupsafe-3.0.4-cp311-cp311-musllinux_1_2_aarch64.whl" +upload-time = 2026-10-02 23:04:43+00:00 +size = 23726 + +[packages.wheels.hashes] +sha256 = "4a7cdc2a420ca01058182da4253329764d4bfa055564d1eced90e6ba1e8b1d3d" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/f7/af/fe47cee339180a69ebca3c57fb3483d0f5cbd1e8337d1871fb1d9c1aebee/markupsafe-3.0.4-cp311-cp311-musllinux_1_2_armv7l.whl" +upload-time = 2026-10-02 23:04:44+00:00 +size = 22539 + +[packages.wheels.hashes] +sha256 = "83b3944fea42a8400edf92fd1770fb8d0d4f7de651353bd2d8525a92dba69a21" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/12/32/d55440ba140442800e02d799c9cb5ab597bf6ebdb1177b5ea39a11f797bd/markupsafe-3.0.4-cp311-cp311-musllinux_1_2_ppc64le.whl" +upload-time = 2026-10-02 23:04:45+00:00 +size = 23963 + +[packages.wheels.hashes] +sha256 = "8138eb83940ec7299024d92d4dee45f601b9e6c5ffde9d25f4e35e326203c707" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/50/9d/9c86042cb364c2ad4c971e6d1247929effd25f714cd7ee11b05e6316445b/markupsafe-3.0.4-cp311-cp311-musllinux_1_2_riscv64.whl" +upload-time = 2026-10-02 23:04:46+00:00 +size = 21506 + +[packages.wheels.hashes] +sha256 = "811d02d5122171c1941357efd8f9bf4ffe907b7f0a1a4e729a880e4be3f46e3e" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/75/ef/5b824f03ba40c3b3652b6272d083d2fc4fcdd440de519a3a39ba2c3e7262/markupsafe-3.0.4-cp311-cp311-musllinux_1_2_x86_64.whl" +upload-time = 2026-10-02 23:04:47+00:00 +size = 22955 + +[packages.wheels.hashes] +sha256 = "50b5bedc9ed8a94fc8857a42ef4f84a81ea88f8d4f05dc8705fb23ee6d8dcca7" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/1e/e8/44cfcb5ea40e5e43cec7793ef90704ed0c475280839076c4345757eb8e59/markupsafe-3.0.4-cp311-cp311-win32.whl" +upload-time = 2026-10-02 23:04:48+00:00 +size = 14094 + +[packages.wheels.hashes] +sha256 = "2e5a7cd7fdd14fcb1ae5d7d8bf23d24fbd1daefd1fbca2580132e1ea75f098b5" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/91/89/f2b509f7bf79352e40117824c1070dbeafd4df67031d3fa98165a3134228/markupsafe-3.0.4-cp311-cp311-win_amd64.whl" +upload-time = 2026-10-02 23:04:49+00:00 +size = 14328 + +[packages.wheels.hashes] +sha256 = "fdb4ca07ab75ffadab4a8b135ad59cdbb3156b99310f3d565370da74a15d6bd3" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/2b/5a/ccf22672a0f64dc682306e288f0dabcb06c7a201f3bb6e6cbf86d9e8ad03/markupsafe-3.0.4-cp311-cp311-win_arm64.whl" +upload-time = 2026-10-02 23:04:50+00:00 +size = 14188 + +[packages.wheels.hashes] +sha256 = "569d65055d367e3dcdf30c3f41119467b73d9ee9faf332bdf40402644f5ac08e" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/81/09/4c59d56b8461ae8eb0d8ba34bb25b7e618547044679d58a82ef9b2479fc1/markupsafe-3.0.4-cp312-cp312-macosx_10_13_x86_64.whl" +upload-time = 2026-10-02 23:04:51+00:00 +size = 11658 + +[packages.wheels.hashes] +sha256 = "61631e08084be9e21a8967ec3139c7616ed7c5e9368e05c86d1b39562c8a57b6" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/a2/f0/d6613774d86fbf6d145751d43c59875e47a6f9f17daee0aef173bd36d90e/markupsafe-3.0.4-cp312-cp312-macosx_11_0_arm64.whl" +upload-time = 2026-10-02 23:04:52+00:00 +size = 12050 + +[packages.wheels.hashes] +sha256 = "0930db9bdc62d22944e10b066448bb65dc9abe9112880c7cab8da54db4284d5f" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/0d/f2/8f18e0b806eb13c1f8d07d917a720831ead54253a6dec011fbc78098a6f8/markupsafe-3.0.4-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" +upload-time = 2026-10-02 23:04:53+00:00 +size = 24363 + +[packages.wheels.hashes] +sha256 = "6a45c3d514f2436064db00d7fc8778d888f0236ebfed649b53d13a59e69ad51b" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/60/ce/fa07dbe8a5675558fa36dea033e19995bc783de2dec5f540ccb9030b06aa/markupsafe-3.0.4-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl" +upload-time = 2026-10-02 23:04:54+00:00 +size = 28525 + +[packages.wheels.hashes] +sha256 = "1e1451fab512d1bcc3dc26988ec1edb0b82c2db909132872cd9356070a6b63df" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/85/40/be87c01f3868ec217f8a2015089d71c22c8c5a75324822e5ed1cdd87210d/markupsafe-3.0.4-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" +upload-time = 2026-10-02 23:04:56+00:00 +size = 24733 + +[packages.wheels.hashes] +sha256 = "bd3ce56ae2cbae3ba82b683bc425cd7e48d2ed8b10f3e818186b6f5646d9271c" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/4f/a7/aeedb5140afa41fc74c225e9184ab96723a6e873b6ee1c9fede7283456d8/markupsafe-3.0.4-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" +upload-time = 2026-10-02 23:04:57+00:00 +size = 22985 + +[packages.wheels.hashes] +sha256 = "8e124f974786f831d6043728e38296969d3579db8896fe004682f5758e613581" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/c3/fc/e91352bb08c6a59da3ef0909d457bf95a5f5908fbf151b30a06d9dbcfbb4/markupsafe-3.0.4-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" +upload-time = 2026-10-02 23:04:58+00:00 +size = 22001 + +[packages.wheels.hashes] +sha256 = "c02e8f18bdedba082cef725942ac823b9b60656db07f7e265cb31618dfd00d77" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/5d/f8/bffee5e7d2a3deb59748a797650a48af7e672025cf641a79344a771ad106/markupsafe-3.0.4-cp312-cp312-musllinux_1_2_aarch64.whl" +upload-time = 2026-10-02 23:04:59+00:00 +size = 23793 + +[packages.wheels.hashes] +sha256 = "9f098115c247e11d138ab83a28fa0323c77015007ea2df73ba5fd714dfefd67c" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/ed/59/b853d6628ecb4d658e1d637224846d5e9bb4adf4f8df97f3be9f29dce2ec/markupsafe-3.0.4-cp312-cp312-musllinux_1_2_armv7l.whl" +upload-time = 2026-10-02 23:05:00+00:00 +size = 22640 + +[packages.wheels.hashes] +sha256 = "d5f93ebbeb8032d47e349328ec8662d973d9b05a70b3c35df1f91fe419b84749" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/09/b2/1506df394f0f075797c418d0301498f49e43be194e3ffcb49e6fe6ccf022/markupsafe-3.0.4-cp312-cp312-musllinux_1_2_ppc64le.whl" +upload-time = 2026-10-02 23:05:01+00:00 +size = 24074 + +[packages.wheels.hashes] +sha256 = "64511c54db4e4987aef4c41923235927428729e8174c5dba488429be70a998ed" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/c7/81/5ed69cda630ac69ef60d06c09ba5a7f84ff66a2e28cf986fd5614ab3c6e6/markupsafe-3.0.4-cp312-cp312-musllinux_1_2_riscv64.whl" +upload-time = 2026-10-02 23:05:03+00:00 +size = 21563 + +[packages.wheels.hashes] +sha256 = "e1a622f13970d81f95d0c72f9dc090dce9085fccfa4c9f2174377ee32bd15786" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/0c/fe/fb1e79be0fea60aa32602ebefc9c35a82bb42b4df157285ab7dfec12341a/markupsafe-3.0.4-cp312-cp312-musllinux_1_2_x86_64.whl" +upload-time = 2026-10-02 23:05:04+00:00 +size = 23048 + +[packages.wheels.hashes] +sha256 = "c9a7f43c0b202b334cc9184af09bb8f21d3a209e038efaf106936fb69e6b026e" [[packages.wheels]] url = "https://files.pythonhosted.org/packages/c8/52/7632a53360671a9b750cdbabaf9cdd89f18b42248b8e4cb42c0b0296e459/markupsafe-3.0.4-cp312-cp312-win32.whl" @@ -4274,26 +4907,92 @@ size = 14300 sha256 = "e49fb0d1ce92cfa0cb198cc5b1b11cdf9d0638658e2a2db2687e39db7c87fc78" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/33/05/55884815414c9706a23deca150b72c25a62109e65b0b6ce232077802c719/markupsafe-3.0.4-cp315-cp315t-win_amd64.whl" -upload-time = 2026-10-02 23:06:54+00:00 -size = 14522 +url = "https://files.pythonhosted.org/packages/33/05/55884815414c9706a23deca150b72c25a62109e65b0b6ce232077802c719/markupsafe-3.0.4-cp315-cp315t-win_amd64.whl" +upload-time = 2026-10-02 23:06:54+00:00 +size = 14522 + +[packages.wheels.hashes] +sha256 = "4f6e0852a0283b1b1fd776eeb7b766a5f440b3e2bd31ab51af3b400585f3965c" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/92/f9/ecbde7149e95b8a0f18e16d5d747f7dc06049d5da2e4f77f6f5e4a1f46a8/markupsafe-3.0.4-cp315-cp315t-win_arm64.whl" +upload-time = 2026-10-02 23:06:56+00:00 +size = 14417 + +[packages.wheels.hashes] +sha256 = "39dbacefc411633db5b4378b066a9aca70a3d7e2922c9e578d825f844026eeba" + +[[packages]] +name = "mdformat" +version = "1.0.0" +index = "https://pypi.org/simple" +marker = "(\"release\" in dependency_groups and (python_full_version >= '3.15'))" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/3f/05/32b5e14b192b0a8a309f32232c580aefedd9d06017cb8fe8fce34bec654c/mdformat-1.0.0.tar.gz" +upload-time = 2025-10-16 12:05:03+00:00 +size = 56953 + +[packages.sdist.hashes] +sha256 = "4954045fcae797c29f86d4ad879e43bb151fa55dbaf74ac6eaeacf1d45bb3928" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/54/9a/8fe71b95985ca7a4001effbcc58e5a07a1f2a2884203f74dcf48a3b08315/mdformat-1.0.0-py3-none-any.whl" +upload-time = 2025-10-16 12:05:02+00:00 +size = 53288 + +[packages.wheels.hashes] +sha256 = "bca015d65a1d063a02e885a91daee303057bc7829c2cd37b2075a50dbb65944b" + +[[packages]] +name = "mdformat-gfm" +version = "1.0.0" +index = "https://pypi.org/simple" +marker = "(\"release\" in dependency_groups and (python_full_version >= '3.15'))" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/56/6f/a626ebb142a290474401b67e2d61e73ce096bf7798ee22dfe6270f924b3f/mdformat_gfm-1.0.0.tar.gz" +upload-time = 2025-10-16 09:12:22+00:00 +size = 10112 + +[packages.sdist.hashes] +sha256 = "d1d49a409a6acb774ce7635c72d69178df7dce1dc8cdd10e19f78e8e57b72623" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/e6/18/6bc2189b744dd383cad03764f41f30352b1278d2205096f77a29c0b327ad/mdformat_gfm-1.0.0-py3-none-any.whl" +upload-time = 2025-10-16 09:12:21+00:00 +size = 10970 [packages.wheels.hashes] -sha256 = "4f6e0852a0283b1b1fd776eeb7b766a5f440b3e2bd31ab51af3b400585f3965c" +sha256 = "7305a50efd2a140d7c83505b58e3ac5df2b09e293f9bbe72f6c7bee8c678b005" + +[[packages]] +name = "mdit-py-plugins" +version = "0.6.1" +index = "https://pypi.org/simple" +marker = "(\"release\" in dependency_groups and (python_full_version >= '3.15'))" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/59/fc/f8d0863f8862f25602c0404d75568e89fb6b4109804645e5cdfb1be5cf56/mdit_py_plugins-0.6.1.tar.gz" +upload-time = 2026-05-13 09:03:38+00:00 +size = 56114 + +[packages.sdist.hashes] +sha256 = "a2bca0f039f39dbd35fb74ae1b5f998608c437463371f0ff7f49a19a17a114d0" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/92/f9/ecbde7149e95b8a0f18e16d5d747f7dc06049d5da2e4f77f6f5e4a1f46a8/markupsafe-3.0.4-cp315-cp315t-win_arm64.whl" -upload-time = 2026-10-02 23:06:56+00:00 -size = 14417 +url = "https://files.pythonhosted.org/packages/a5/69/6da5581c6a7fede7dc261bf4e67d6adca4196f176b43288b55b3db395b6e/mdit_py_plugins-0.6.1-py3-none-any.whl" +upload-time = 2026-05-13 09:03:37+00:00 +size = 66663 [packages.wheels.hashes] -sha256 = "39dbacefc411633db5b4378b066a9aca70a3d7e2922c9e578d825f844026eeba" +sha256 = "214c82fb2ac524472ab6a5bcab1de80f73b50443e187f401bfd77efbc7c6481d" [[packages]] name = "mdurl" version = "0.1.2" index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"pkg-meta\" in dependency_groups or \"type\" in dependency_groups" +marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"pkg-meta\" in dependency_groups or \"type\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15'))" [packages.sdist] url = "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz" @@ -4333,6 +5032,28 @@ size = 74405 [packages.wheels.hashes] sha256 = "35a7377edd1dd6608dcb2cdf534ded55ea32d49448875ad042cd3f879fb1ded0" +[[packages]] +name = "mypy-extensions" +version = "1.1.0" +index = "https://pypi.org/simple" +marker = "(\"release\" in dependency_groups and (python_full_version >= '3.15'))" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/a2/6e/371856a3fb9d31ca8dac321cda606860fa4548858c0cc45d9d1d4ca2628b/mypy_extensions-1.1.0.tar.gz" +upload-time = 2025-04-22 14:54:24+00:00 +size = 6343 + +[packages.sdist.hashes] +sha256 = "52e68efc3284861e772bbcd66823fde5ae21fd2fdb51c62a211403730b916558" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/79/7b/2c79738432f5c924bef5071f933bcc9efd0473bac3b4aa584a6f7c1c8df8/mypy_extensions-1.1.0-py3-none-any.whl" +upload-time = 2025-04-22 14:54:22+00:00 +size = 4963 + +[packages.wheels.hashes] +sha256 = "1be4cccdb0f2482337c4743e60421de3a356cd97508abadd57d47403e94f5505" + [[packages]] name = "nh3" version = "0.3.7" @@ -4581,7 +5302,7 @@ sha256 = "edaa16e6c14d7cf395d75d4bbd5a26390f4dc06501a33b4e76282b02cc688a25" name = "packaging" version = "26.3" index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"lint\" in dependency_groups or \"pkg-meta\" in dependency_groups or \"project-runtime\" in dependency_groups or \"test\" in dependency_groups or \"type\" in dependency_groups" +marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"lint\" in dependency_groups or \"pkg-meta\" in dependency_groups or \"project-runtime\" in dependency_groups or \"test\" in dependency_groups or \"type\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15'))" [packages.sdist] url = "https://files.pythonhosted.org/packages/7d/fa/3944b40b07da9ce895c0e6303a5ab7d53da063554f534556b134a54d6093/packaging-26.3.tar.gz" @@ -4599,11 +5320,33 @@ size = 129956 [packages.wheels.hashes] sha256 = "d7193f7c8e4e93f444fde0262bf90af30e16fa0ad0ad44cb553c87339b23cd1c" +[[packages]] +name = "pathspec" +version = "1.1.1" +index = "https://pypi.org/simple" +marker = "(\"release\" in dependency_groups and (python_full_version >= '3.15'))" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/5a/82/42f767fc1c1143d6fd36efb827202a2d997a375e160a71eb2888a925aac1/pathspec-1.1.1.tar.gz" +upload-time = 2026-04-27 01:46:08+00:00 +size = 135180 + +[packages.sdist.hashes] +sha256 = "17db5ecd524104a120e173814c90367a96a98d07c45b2e10c2f3919fff91bf5a" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/f1/d9/7fb5aa316bc299258e68c73ba3bddbc499654a07f151cba08f6153988714/pathspec-1.1.1-py3-none-any.whl" +upload-time = 2026-04-27 01:46:07+00:00 +size = 57328 + +[packages.wheels.hashes] +sha256 = "a00ce642f577bf7f473932318056212bc4f8bfdf53128c78bbd5af0b9b20b189" + [[packages]] name = "platformdirs" version = "4.13.5" index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"lint\" in dependency_groups" +marker = "\"dev\" in dependency_groups or \"lint\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15'))" [packages.sdist] url = "https://files.pythonhosted.org/packages/58/e6/d0abbb256b44e6a05748c6942511ff67db8dbb068de0c35b24bf1b395b09/platformdirs-4.13.5.tar.gz" @@ -4687,6 +5430,92 @@ size = 6209 [packages.wheels.hashes] sha256 = "9012b09950a50efdcfb03b95355e1f65c14f9a5cb425d12c6bf2c6d6807617d7" +[[packages]] +name = "prek" +version = "0.5.6" +index = "https://pypi.org/simple" +marker = "(\"release\" in dependency_groups and (python_full_version >= '3.15'))" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/4f/96/c4062bcaebdabfa945d07c424fb8c05d53a72d4f3fdcf255b1188abbb150/prek-0.5.6.tar.gz" +upload-time = 2026-10-19 05:46:52+00:00 +size = 579962 + +[packages.sdist.hashes] +sha256 = "87a8c19f873b96be809b4368959ed908cfa06255dba15082d0fb91173e9293bc" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/4d/1b/763b3c673e954cb59f7eb9a6ad1f75871b9d6fb82d5216db440127da0aff/prek-0.5.6-py3-none-macosx_10_12_x86_64.whl" +upload-time = 2026-10-19 05:46:34+00:00 +size = 6066432 + +[packages.wheels.hashes] +sha256 = "fd60c48d25dca3269f0f17ba8bdf7a89a7beb9cb02e00b7ca8127a0e41caa15a" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/69/c7/fd59deefb3c4018d94d2c9b736891d1cccc8651e9f264c51769931cdd4c1/prek-0.5.6-py3-none-macosx_11_0_arm64.whl" +upload-time = 2026-10-19 05:46:36+00:00 +size = 5698795 + +[packages.wheels.hashes] +sha256 = "4325b7ff03720394825b99b0696d1cc6f83999f429110c3f9381b2645a4c398f" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/62/6a/233b321c72fdbf96124b8235c250eef29b25a7a9bfacbad7740fec9f92d4/prek-0.5.6-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl" +upload-time = 2026-10-19 05:46:37+00:00 +size = 5823392 + +[packages.wheels.hashes] +sha256 = "a10d206fe05cc26c551bb986de255115d52e11306a36cdbcdcd0ab725317a5b2" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/67/87/dc12aaf396877824f54ac4483a2604213fb44061c38a4ec11892766bcb4f/prek-0.5.6-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" +upload-time = 2026-10-19 05:46:40+00:00 +size = 6283256 + +[packages.wheels.hashes] +sha256 = "b2e6b232654b16e37a554951f84af35470a4bd857af89c21e8fc87e2a475351d" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/e1/f7/04e08d2343ce1d54c5da879e2dfea7df20f3140b1b2023a937fac87fa545/prek-0.5.6-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" +upload-time = 2026-10-19 05:46:42+00:00 +size = 6165929 + +[packages.wheels.hashes] +sha256 = "aabec01beeb372bcdc48f6b339021bc33c07edf477b337fc92dc5d3b01f99150" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/61/72/727103d1ce2be13eba7948640db9ceae5c58303ab4cd2bd299da41d5ef1e/prek-0.5.6-py3-none-manylinux_2_28_aarch64.whl" +upload-time = 2026-10-19 05:46:44+00:00 +size = 5837437 + +[packages.wheels.hashes] +sha256 = "86407b8be824faa81f299fa41cf466bc811882ddf3a05ef5c578b172abaf1183" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/64/84/4e54e226023063f426d84cc0da612eaae360283a82e3d76195c75ff81bba/prek-0.5.6-py3-none-musllinux_1_1_x86_64.whl" +upload-time = 2026-10-19 05:46:46+00:00 +size = 6305234 + +[packages.wheels.hashes] +sha256 = "84215a6b8b3e8825eba924d91422df7c35e0413c134796a6821dcb917858ec8e" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/c2/3c/064a1df7c0841d0cec8351eca492fc5b9a526314cb1ddb99276a21fdcf63/prek-0.5.6-py3-none-win_amd64.whl" +upload-time = 2026-10-19 05:46:48+00:00 +size = 5709609 + +[packages.wheels.hashes] +sha256 = "e32821fb947700d322ca9d401009962bc9652e017fa232ceb27ce89168044e5b" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/e4/67/3dad56a4a998d17cbb23c4577c101dc15298a0f3e572d3c87ca148449d80/prek-0.5.6-py3-none-win_arm64.whl" +upload-time = 2026-10-19 05:46:50+00:00 +size = 5643378 + +[packages.wheels.hashes] +sha256 = "0ac40373841d087ec5efebd5b84c5c0eb5671285fdc7c2b4473096b30d0bf1e5" + [[packages]] name = "pycparser" version = "3.11" @@ -5725,7 +6554,7 @@ sha256 = "7f476456ac2bb0d937f75191494a09c83a30765fea4f70f3b404942fe25f6cdf" name = "pygments" version = "2.21.0" index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"pkg-meta\" in dependency_groups or \"test\" in dependency_groups or \"type\" in dependency_groups" +marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"pkg-meta\" in dependency_groups or \"test\" in dependency_groups or \"type\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15'))" [packages.sdist] url = "https://files.pythonhosted.org/packages/49/2e/ced460408999b33da6b31b0021b0f37d329e202d4169aeb164493778f25b/pygments-2.21.0.tar.gz" @@ -5736,100 +6565,322 @@ size = 5005329 sha256 = "610ca751c9bc2492b38eb9a38a7fbc93edbbb2d7182edaf34e66ae493dee5c8c" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/71/46/17f022dd3e953bf20a04a028a21ec746d942f8d2af30fa0f124fa0e6a684/pygments-2.21.0-py3-none-any.whl" -upload-time = 2026-08-17 08:02:44+00:00 -size = 1250147 +url = "https://files.pythonhosted.org/packages/71/46/17f022dd3e953bf20a04a028a21ec746d942f8d2af30fa0f124fa0e6a684/pygments-2.21.0-py3-none-any.whl" +upload-time = 2026-08-17 08:02:44+00:00 +size = 1250147 + +[packages.wheels.hashes] +sha256 = "2363c69b61c4a97c838da3b130dcd6468f4848992b21a82f2a63ec34377137d9" + +[[packages]] +name = "pytest" +version = "9.1.1" +index = "https://pypi.org/simple" +marker = "\"dev\" in dependency_groups or \"test\" in dependency_groups or \"type\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/e4/47/b9efed96c114afcfa3c9d3fe98a76a1d14c74a9e266d397cf6eb64be5e01/pytest-9.1.1.tar.gz" +upload-time = 2026-06-19 10:58:32+00:00 +size = 1636369 + +[packages.sdist.hashes] +sha256 = "1088fbde8f2b49d95a549a195707afa7a76a3ce9bcadc26b6d71f0ffda5fe313" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/24/25/1de2678b631f5a49215c6c96fff41ba892b0a34df68d6d80292b1b48aa7f/pytest-9.1.1-py3-none-any.whl" +upload-time = 2026-06-19 10:58:31+00:00 +size = 386536 + +[packages.wheels.hashes] +sha256 = "37a86b45efb9a47a61a36449063e8e18d0cab3161329fc099eb21783169c4f0c" + +[[packages]] +name = "pytest-cov" +version = "7.1.0" +index = "https://pypi.org/simple" +marker = "\"dev\" in dependency_groups or \"test\" in dependency_groups or \"type\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/b1/51/a849f96e117386044471c8ec2bd6cfebacda285da9525c9106aeb28da671/pytest_cov-7.1.0.tar.gz" +upload-time = 2026-03-21 20:11:16+00:00 +size = 55592 + +[packages.sdist.hashes] +sha256 = "30674f2b5f6351aa09702a9c8c364f6a01c27aae0c1366ae8016160d1efc56b2" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/9d/7a/d968e294073affff457b041c2be9868a40c1c71f4a35fcc1e45e5493067b/pytest_cov-7.1.0-py3-none-any.whl" +upload-time = 2026-03-21 20:11:14+00:00 +size = 22876 + +[packages.wheels.hashes] +sha256 = "a0461110b7865f9a271aa1b51e516c9a95de9d696734a2f71e3e78f46e1d4678" + +[[packages]] +name = "pytest-mock" +version = "3.17.0" +index = "https://pypi.org/simple" +marker = "\"dev\" in dependency_groups or \"test\" in dependency_groups or \"type\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/97/c2/28b9f5b955ff2bcd4727a6f768e2ca9b586cd7c37b95ea5f7b9b873ac7b3/pytest_mock-3.17.0.tar.gz" +upload-time = 2026-10-17 16:21:42+00:00 +size = 43064 + +[packages.sdist.hashes] +sha256 = "e36576e0985e01027e999891e7a966c67822d40c89ef1b4c8b6e22737e3590b4" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/e8/ea/47fbdc8f37410956fd445720e927589b1e2a47772c5f28109f0ce2fa26d9/pytest_mock-3.17.0-py3-none-any.whl" +upload-time = 2026-10-17 16:21:41+00:00 +size = 11248 + +[packages.wheels.hashes] +sha256 = "1b82aa4b37137248bd687055e109723debeb07b489de1565297dc9589c5f2d6b" + +[[packages]] +name = "python-discovery" +version = "1.6.4" +index = "https://pypi.org/simple" +marker = "\"dev\" in dependency_groups or \"lint\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/f3/ee/cf608372c88ce2c136ee13c69ab6f667dbc0d0c1176af188b4ddc8853e66/python_discovery-1.6.4.tar.gz" +upload-time = 2026-10-19 01:45:14+00:00 +size = 89883 + +[packages.sdist.hashes] +sha256 = "bc70d31f0ec5de11eda13d4d64c16e24b3506a65984684f2b6c98cb83b2ea9df" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/60/91/1aa70d3dfcab0dbcf88a2cbc3bce7f7c69562287a90216e617eaa4937e25/python_discovery-1.6.4-py3-none-any.whl" +upload-time = 2026-10-19 01:45:13+00:00 +size = 39385 + +[packages.wheels.hashes] +sha256 = "530179cc51a1816d512b15635b3dc931295ae12efb183783ad31190a5d425d2b" + +[[packages]] +name = "pytokens" +version = "0.4.1" +index = "https://pypi.org/simple" +marker = "(\"release\" in dependency_groups and (python_full_version >= '3.15'))" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/b6/34/b4e015b99031667a7b960f888889c5bd34ef585c85e1cb56a594b92836ac/pytokens-0.4.1.tar.gz" +upload-time = 2026-01-30 01:03:45+00:00 +size = 23015 + +[packages.sdist.hashes] +sha256 = "292052fe80923aae2260c073f822ceba21f3872ced9a68bb7953b348e561179a" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/3d/92/790ebe03f07b57e53b10884c329b9a1a308648fc083a6d4a39a10a28c8fc/pytokens-0.4.1-cp311-cp311-macosx_11_0_arm64.whl" +upload-time = 2026-01-30 01:02:57+00:00 +size = 160864 + +[packages.wheels.hashes] +sha256 = "d70e77c55ae8380c91c0c18dea05951482e263982911fc7410b1ffd1dadd3440" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/13/25/a4f555281d975bfdd1eba731450e2fe3a95870274da73fb12c40aeae7625/pytokens-0.4.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" +upload-time = 2026-01-30 01:02:59+00:00 +size = 248565 + +[packages.wheels.hashes] +sha256 = "4a58d057208cb9075c144950d789511220b07636dd2e4708d5645d24de666bdc" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/17/50/bc0394b4ad5b1601be22fa43652173d47e4c9efbf0044c62e9a59b747c56/pytokens-0.4.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" +upload-time = 2026-01-30 01:03:01+00:00 +size = 260824 + +[packages.wheels.hashes] +sha256 = "b49750419d300e2b5a3813cf229d4e5a4c728dae470bcc89867a9ad6f25a722d" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/4e/54/3e04f9d92a4be4fc6c80016bc396b923d2a6933ae94b5f557c939c460ee0/pytokens-0.4.1-cp311-cp311-musllinux_1_2_x86_64.whl" +upload-time = 2026-01-30 01:03:04+00:00 +size = 264075 + +[packages.wheels.hashes] +sha256 = "d9907d61f15bf7261d7e775bd5d7ee4d2930e04424bab1972591918497623a16" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/d1/1b/44b0326cb5470a4375f37988aea5d61b5cc52407143303015ebee94abfd6/pytokens-0.4.1-cp311-cp311-win_amd64.whl" +upload-time = 2026-01-30 01:03:05+00:00 +size = 103323 + +[packages.wheels.hashes] +sha256 = "ee44d0f85b803321710f9239f335aafe16553b39106384cef8e6de40cb4ef2f6" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/41/5d/e44573011401fb82e9d51e97f1290ceb377800fb4eed650b96f4753b499c/pytokens-0.4.1-cp312-cp312-macosx_11_0_arm64.whl" +upload-time = 2026-01-30 01:03:06+00:00 +size = 160663 + +[packages.wheels.hashes] +sha256 = "140709331e846b728475786df8aeb27d24f48cbcf7bcd449f8de75cae7a45083" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/f0/e6/5bbc3019f8e6f21d09c41f8b8654536117e5e211a85d89212d59cbdab381/pytokens-0.4.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" +upload-time = 2026-01-30 01:03:08+00:00 +size = 255626 + +[packages.wheels.hashes] +sha256 = "6d6c4268598f762bc8e91f5dbf2ab2f61f7b95bdc07953b602db879b3c8c18e1" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/bf/3c/2d5297d82286f6f3d92770289fd439956b201c0a4fc7e72efb9b2293758e/pytokens-0.4.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" +upload-time = 2026-01-30 01:03:09+00:00 +size = 269779 + +[packages.wheels.hashes] +sha256 = "24afde1f53d95348b5a0eb19488661147285ca4dd7ed752bbc3e1c6242a304d1" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/20/01/7436e9ad693cebda0551203e0bf28f7669976c60ad07d6402098208476de/pytokens-0.4.1-cp312-cp312-musllinux_1_2_x86_64.whl" +upload-time = 2026-01-30 01:03:10+00:00 +size = 268076 + +[packages.wheels.hashes] +sha256 = "5ad948d085ed6c16413eb5fec6b3e02fa00dc29a2534f088d3302c47eb59adf9" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/2e/df/533c82a3c752ba13ae7ef238b7f8cdd272cf1475f03c63ac6cf3fcfb00b6/pytokens-0.4.1-cp312-cp312-win_amd64.whl" +upload-time = 2026-01-30 01:03:12+00:00 +size = 103552 + +[packages.wheels.hashes] +sha256 = "3f901fe783e06e48e8cbdc82d631fca8f118333798193e026a50ce1b3757ea68" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/cb/dc/08b1a080372afda3cceb4f3c0a7ba2bde9d6a5241f1edb02a22a019ee147/pytokens-0.4.1-cp313-cp313-macosx_11_0_arm64.whl" +upload-time = 2026-01-30 01:03:13+00:00 +size = 160720 + +[packages.wheels.hashes] +sha256 = "8bdb9d0ce90cbf99c525e75a2fa415144fd570a1ba987380190e8b786bc6ef9b" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/64/0c/41ea22205da480837a700e395507e6a24425151dfb7ead73343d6e2d7ffe/pytokens-0.4.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" +upload-time = 2026-01-30 01:03:14+00:00 +size = 254204 + +[packages.wheels.hashes] +sha256 = "5502408cab1cb18e128570f8d598981c68a50d0cbd7c61312a90507cd3a1276f" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/e0/d2/afe5c7f8607018beb99971489dbb846508f1b8f351fcefc225fcf4b2adc0/pytokens-0.4.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" +upload-time = 2026-01-30 01:03:15+00:00 +size = 268423 + +[packages.wheels.hashes] +sha256 = "29d1d8fb1030af4d231789959f21821ab6325e463f0503a61d204343c9b355d1" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/68/d4/00ffdbd370410c04e9591da9220a68dc1693ef7499173eb3e30d06e05ed1/pytokens-0.4.1-cp313-cp313-musllinux_1_2_x86_64.whl" +upload-time = 2026-01-30 01:03:17+00:00 +size = 266859 + +[packages.wheels.hashes] +sha256 = "970b08dd6b86058b6dc07efe9e98414f5102974716232d10f32ff39701e841c4" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/a7/c9/c3161313b4ca0c601eeefabd3d3b576edaa9afdefd32da97210700e47652/pytokens-0.4.1-cp313-cp313-win_amd64.whl" +upload-time = 2026-01-30 01:03:18+00:00 +size = 103520 + +[packages.wheels.hashes] +sha256 = "9bd7d7f544d362576be74f9d5901a22f317efc20046efe2034dced238cbbfe78" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/8f/a7/b470f672e6fc5fee0a01d9e75005a0e617e162381974213a945fcd274843/pytokens-0.4.1-cp314-cp314-macosx_11_0_arm64.whl" +upload-time = 2026-01-30 01:03:19+00:00 +size = 160821 + +[packages.wheels.hashes] +sha256 = "4a14d5f5fc78ce85e426aa159489e2d5961acf0e47575e08f35584009178e321" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/80/98/e83a36fe8d170c911f864bfded690d2542bfcfacb9c649d11a9e6eb9dc41/pytokens-0.4.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" +upload-time = 2026-01-30 01:03:20+00:00 +size = 254263 + +[packages.wheels.hashes] +sha256 = "97f50fd18543be72da51dd505e2ed20d2228c74e0464e4262e4899797803d7fa" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/0f/95/70d7041273890f9f97a24234c00b746e8da86df462620194cef1d411ddeb/pytokens-0.4.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" +upload-time = 2026-01-30 01:03:21+00:00 +size = 268071 [packages.wheels.hashes] -sha256 = "2363c69b61c4a97c838da3b130dcd6468f4848992b21a82f2a63ec34377137d9" - -[[packages]] -name = "pytest" -version = "9.1.1" -index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"test\" in dependency_groups or \"type\" in dependency_groups" +sha256 = "dc74c035f9bfca0255c1af77ddd2d6ae8419012805453e4b0e7513e17904545d" -[packages.sdist] -url = "https://files.pythonhosted.org/packages/e4/47/b9efed96c114afcfa3c9d3fe98a76a1d14c74a9e266d397cf6eb64be5e01/pytest-9.1.1.tar.gz" -upload-time = 2026-06-19 10:58:32+00:00 -size = 1636369 +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/da/79/76e6d09ae19c99404656d7db9c35dfd20f2086f3eb6ecb496b5b31163bad/pytokens-0.4.1-cp314-cp314-musllinux_1_2_x86_64.whl" +upload-time = 2026-01-30 01:03:23+00:00 +size = 271716 -[packages.sdist.hashes] -sha256 = "1088fbde8f2b49d95a549a195707afa7a76a3ce9bcadc26b6d71f0ffda5fe313" +[packages.wheels.hashes] +sha256 = "f66a6bbe741bd431f6d741e617e0f39ec7257ca1f89089593479347cc4d13324" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/24/25/1de2678b631f5a49215c6c96fff41ba892b0a34df68d6d80292b1b48aa7f/pytest-9.1.1-py3-none-any.whl" -upload-time = 2026-06-19 10:58:31+00:00 -size = 386536 +url = "https://files.pythonhosted.org/packages/79/37/482e55fa1602e0a7ff012661d8c946bafdc05e480ea5a32f4f7e336d4aa9/pytokens-0.4.1-cp314-cp314-win_amd64.whl" +upload-time = 2026-01-30 01:03:24+00:00 +size = 104539 [packages.wheels.hashes] -sha256 = "37a86b45efb9a47a61a36449063e8e18d0cab3161329fc099eb21783169c4f0c" - -[[packages]] -name = "pytest-cov" -version = "7.1.0" -index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"test\" in dependency_groups or \"type\" in dependency_groups" +sha256 = "b35d7e5ad269804f6697727702da3c517bb8a5228afa450ab0fa787732055fc9" -[packages.sdist] -url = "https://files.pythonhosted.org/packages/b1/51/a849f96e117386044471c8ec2bd6cfebacda285da9525c9106aeb28da671/pytest_cov-7.1.0.tar.gz" -upload-time = 2026-03-21 20:11:16+00:00 -size = 55592 +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/30/e8/20e7db907c23f3d63b0be3b8a4fd1927f6da2395f5bcc7f72242bb963dfe/pytokens-0.4.1-cp314-cp314t-macosx_11_0_arm64.whl" +upload-time = 2026-01-30 01:03:26+00:00 +size = 168474 -[packages.sdist.hashes] -sha256 = "30674f2b5f6351aa09702a9c8c364f6a01c27aae0c1366ae8016160d1efc56b2" +[packages.wheels.hashes] +sha256 = "8fcb9ba3709ff77e77f1c7022ff11d13553f3c30299a9fe246a166903e9091eb" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/9d/7a/d968e294073affff457b041c2be9868a40c1c71f4a35fcc1e45e5493067b/pytest_cov-7.1.0-py3-none-any.whl" -upload-time = 2026-03-21 20:11:14+00:00 -size = 22876 +url = "https://files.pythonhosted.org/packages/d6/81/88a95ee9fafdd8f5f3452107748fd04c24930d500b9aba9738f3ade642cc/pytokens-0.4.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" +upload-time = 2026-01-30 01:03:27+00:00 +size = 290473 [packages.wheels.hashes] -sha256 = "a0461110b7865f9a271aa1b51e516c9a95de9d696734a2f71e3e78f46e1d4678" +sha256 = "79fc6b8699564e1f9b521582c35435f1bd32dd06822322ec44afdeba666d8cb3" -[[packages]] -name = "pytest-mock" -version = "3.17.0" -index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"test\" in dependency_groups or \"type\" in dependency_groups" - -[packages.sdist] -url = "https://files.pythonhosted.org/packages/97/c2/28b9f5b955ff2bcd4727a6f768e2ca9b586cd7c37b95ea5f7b9b873ac7b3/pytest_mock-3.17.0.tar.gz" -upload-time = 2026-10-17 16:21:42+00:00 -size = 43064 +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/cf/35/3aa899645e29b6375b4aed9f8d21df219e7c958c4c186b465e42ee0a06bf/pytokens-0.4.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" +upload-time = 2026-01-30 01:03:28+00:00 +size = 303485 -[packages.sdist.hashes] -sha256 = "e36576e0985e01027e999891e7a966c67822d40c89ef1b4c8b6e22737e3590b4" +[packages.wheels.hashes] +sha256 = "d31b97b3de0f61571a124a00ffe9a81fb9939146c122c11060725bd5aea79975" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/e8/ea/47fbdc8f37410956fd445720e927589b1e2a47772c5f28109f0ce2fa26d9/pytest_mock-3.17.0-py3-none-any.whl" -upload-time = 2026-10-17 16:21:41+00:00 -size = 11248 +url = "https://files.pythonhosted.org/packages/52/a0/07907b6ff512674d9b201859f7d212298c44933633c946703a20c25e9d81/pytokens-0.4.1-cp314-cp314t-musllinux_1_2_x86_64.whl" +upload-time = 2026-01-30 01:03:29+00:00 +size = 306698 [packages.wheels.hashes] -sha256 = "1b82aa4b37137248bd687055e109723debeb07b489de1565297dc9589c5f2d6b" - -[[packages]] -name = "python-discovery" -version = "1.6.4" -index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"lint\" in dependency_groups" +sha256 = "967cf6e3fd4adf7de8fc73cd3043754ae79c36475c1c11d514fc72cf5490094a" -[packages.sdist] -url = "https://files.pythonhosted.org/packages/f3/ee/cf608372c88ce2c136ee13c69ab6f667dbc0d0c1176af188b4ddc8853e66/python_discovery-1.6.4.tar.gz" -upload-time = 2026-10-19 01:45:14+00:00 -size = 89883 +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/39/2a/cbbf9250020a4a8dd53ba83a46c097b69e5eb49dd14e708f496f548c6612/pytokens-0.4.1-cp314-cp314t-win_amd64.whl" +upload-time = 2026-01-30 01:03:30+00:00 +size = 116287 -[packages.sdist.hashes] -sha256 = "bc70d31f0ec5de11eda13d4d64c16e24b3506a65984684f2b6c98cb83b2ea9df" +[packages.wheels.hashes] +sha256 = "584c80c24b078eec1e227079d56dc22ff755e0ba8654d8383b2c549107528918" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/60/91/1aa70d3dfcab0dbcf88a2cbc3bce7f7c69562287a90216e617eaa4937e25/python_discovery-1.6.4-py3-none-any.whl" -upload-time = 2026-10-19 01:45:13+00:00 -size = 39385 +url = "https://files.pythonhosted.org/packages/c6/78/397db326746f0a342855b81216ae1f0a32965deccfd7c830a2dbc66d2483/pytokens-0.4.1-py3-none-any.whl" +upload-time = 2026-01-30 01:03:45+00:00 +size = 13729 [packages.wheels.hashes] -sha256 = "530179cc51a1816d512b15635b3dc931295ae12efb183783ad31190a5d425d2b" +sha256 = "26cef14744a8385f35d0e095dc8b3a7583f6c953c2e3d269c7f82484bf5ad2de" [[packages]] name = "pywin32-ctypes" @@ -5857,7 +6908,7 @@ sha256 = "8a1513379d709975552d202d942d9837758905c8d01eb82b8bcc30918929e7b8" name = "pyyaml" version = "6.0.3" index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"lint\" in dependency_groups" +marker = "\"dev\" in dependency_groups or \"lint\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15'))" [packages.sdist] url = "https://files.pythonhosted.org/packages/05/8e/961c0007c59b8dd7729d542c61a4d537767a59645b82a0b521206e1e25c2/pyyaml-6.0.3.tar.gz" @@ -6265,11 +7316,22 @@ size = 14239 [packages.wheels.hashes] sha256 = "d0dae1f74bb273b534770cb4cccb6bb78735540afdb03c2146f4e19dcd412560" +[[packages]] +name = "release-creator" +version = "0.4.2.dev15+g6377ed5b4" +marker = "(\"release\" in dependency_groups and (python_full_version >= '3.15'))" + +[packages.vcs] +type = "git" +url = "https://github.com/tox-dev/release-creator" +requested-revision = "6377ed5b470b66fca2bf482ca1a73d95e611f517" +commit-id = "6377ed5b470b66fca2bf482ca1a73d95e611f517" + [[packages]] name = "requests" version = "2.34.2" index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"pkg-meta\" in dependency_groups or \"type\" in dependency_groups" +marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"pkg-meta\" in dependency_groups or \"type\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15'))" [packages.sdist] url = "https://files.pythonhosted.org/packages/ac/c3/e2a2b89f2d3e2179abd6d00ebd70bff6273f37fb3e0cc209f48b39d00cbf/requests-2.34.2.tar.gz" @@ -6353,11 +7415,33 @@ size = 310654 [packages.wheels.hashes] sha256 = "33bd4ef74232fb73fe9279a257718407f169c09b78a87ad3d296f548e27de0bb" +[[packages]] +name = "roman" +version = "5.2" +index = "https://pypi.org/simple" +marker = "(\"release\" in dependency_groups and (python_full_version >= '3.15'))" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/9c/7c/3901b35ed856329bf98e84da8e5e0b4d899ea0027eee222f1be42a24ff3f/roman-5.2.tar.gz" +upload-time = 2025-11-11 08:03:57+00:00 +size = 8185 + +[packages.sdist.hashes] +sha256 = "275fe9f46290f7d0ffaea1c33251b92b8e463ace23660508ceef522e7587cb6f" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/10/14/ea3cdd7276fcd731a9003fe4abeb6b395a38110ddff6a6a509f4ee00f741/roman-5.2-py3-none-any.whl" +upload-time = 2025-11-11 08:03:56+00:00 +size = 6041 + +[packages.wheels.hashes] +sha256 = "89d3b47400388806d06ff77ea77c79ab080bc127820dea6bf34e1f1c1b8e676e" + [[packages]] name = "roman-numerals" version = "4.1.0" index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"type\" in dependency_groups" +marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"type\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15'))" [packages.sdist] url = "https://files.pythonhosted.org/packages/ae/f9/41dc953bbeb056c17d5f7a519f50fdf010bd0553be2d630bc69d1e022703/roman_numerals-4.1.0.tar.gz" @@ -6399,31 +7483,31 @@ sha256 = "0ce65888c0725fcb2c5bc0fdb8e5438eece02c523557ea40ce0703c266248137" [[packages]] name = "setuptools" -version = "84.2.0" +version = "84.2.1" index = "https://pypi.org/simple" marker = "\"dev\" in dependency_groups or \"test\" in dependency_groups or \"type\" in dependency_groups" [packages.sdist] -url = "https://files.pythonhosted.org/packages/63/40/e2c41d00a4bfea5548c31420a74c6cf149cc0e7c36b45c4c82202ce867aa/setuptools-84.2.0.tar.gz" -upload-time = 2026-10-19 20:38:03+00:00 -size = 1227656 +url = "https://files.pythonhosted.org/packages/70/b3/c19426f783614d625699a4b247faf628ea9ab1db228674491767b417f9e1/setuptools-84.2.1.tar.gz" +upload-time = 2026-10-20 19:01:37+00:00 +size = 1230289 [packages.sdist.hashes] -sha256 = "6f445ca2ce864605f81e223f262b4c94ffcb9a4a63473bae0ed7be5aab0291da" +sha256 = "3ff8b3b5492a0aa66960f4419365a86b84e013070d4313e4d4a6894f5d64d6bc" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/dd/a2/2e1af99d56c8145aa69496026c7e5fd7b6ec759b500c3ad697e2062832dc/setuptools-84.2.0-py3-none-any.whl" -upload-time = 2026-10-19 20:38:01+00:00 -size = 875816 +url = "https://files.pythonhosted.org/packages/ef/55/6dc6d6bb953bdfc52519a0059592c52b6e3b8ad51cf8256dffceb55b0610/setuptools-84.2.1-py3-none-any.whl" +upload-time = 2026-10-20 19:01:35+00:00 +size = 876263 [packages.wheels.hashes] -sha256 = "8cc107ac7a403105dc8d6477664171f36135fab26adf8b5e0edaebc313f39b21" +sha256 = "ca140b45d5325a9478f880e351484f62fef15f336462e449ca0c03c873d589c2" [[packages]] name = "snowballstemmer" version = "3.1.1" index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"type\" in dependency_groups" +marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"type\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15'))" [packages.sdist] url = "https://files.pythonhosted.org/packages/43/f8/0a71edf031f03c40db17503cb8ca78a69a171254e568e7db241b0ab57ea1/snowballstemmer-3.1.1.tar.gz" @@ -6511,7 +7595,7 @@ sha256 = "5bebc595a5e943ea248b99c13814c1c5e10b3ece718976824ffa7959ff95fffb" name = "sphinx" version = "9.1.1" index = "https://pypi.org/simple" -marker = "(\"dev\" in dependency_groups and (python_full_version >= '3.12')) or (\"docs\" in dependency_groups and (python_full_version >= '3.12')) or (\"type\" in dependency_groups and (python_full_version >= '3.12'))" +marker = "(\"dev\" in dependency_groups and (python_full_version >= '3.12')) or (\"docs\" in dependency_groups and (python_full_version >= '3.12')) or (\"release\" in dependency_groups and (python_full_version >= '3.15')) or (\"type\" in dependency_groups and (python_full_version >= '3.12'))" [packages.sdist] url = "https://files.pythonhosted.org/packages/fc/73/567727fc8c8d85bc3adc88a246e12937cfda8d565cf1d80e85bceaa61fe5/sphinx-9.1.1.tar.gz" @@ -6643,7 +7727,7 @@ sha256 = "acfb94d6ee66c7a47da0ca0420578fa16f115812af25b8fd21755d5909aacf51" name = "sphinxcontrib-applehelp" version = "2.0.0" index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"type\" in dependency_groups" +marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"type\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15'))" [packages.sdist] url = "https://files.pythonhosted.org/packages/ba/6e/b837e84a1a704953c62ef8776d45c3e8d759876b4a84fe14eba2859106fe/sphinxcontrib_applehelp-2.0.0.tar.gz" @@ -6665,7 +7749,7 @@ sha256 = "4cd3f0ec4ac5dd9c17ec65e9ab272c9b867ea77425228e68ecf08d6b28ddbdb5" name = "sphinxcontrib-devhelp" version = "2.0.0" index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"type\" in dependency_groups" +marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"type\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15'))" [packages.sdist] url = "https://files.pythonhosted.org/packages/f6/d2/5beee64d3e4e747f316bae86b55943f51e82bb86ecd325883ef65741e7da/sphinxcontrib_devhelp-2.0.0.tar.gz" @@ -6687,7 +7771,7 @@ sha256 = "aefb8b83854e4b0998877524d1029fd3e6879210422ee3780459e28a1f03a8a2" name = "sphinxcontrib-htmlhelp" version = "2.1.0" index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"type\" in dependency_groups" +marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"type\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15'))" [packages.sdist] url = "https://files.pythonhosted.org/packages/43/93/983afd9aa001e5201eab16b5a444ed5b9b0a7a010541e0ddfbbfd0b2470c/sphinxcontrib_htmlhelp-2.1.0.tar.gz" @@ -6709,7 +7793,7 @@ sha256 = "166759820b47002d22914d64a075ce08f4c46818e17cfc9470a9786b759b19f8" name = "sphinxcontrib-jsmath" version = "2.0.0" index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"type\" in dependency_groups" +marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"type\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15'))" [packages.sdist] url = "https://files.pythonhosted.org/packages/59/02/4f334c7fc3e54c51d2364575a41cd2fae6847e7f53001949f0be5f32e18b/sphinxcontrib_jsmath-2.0.0.tar.gz" @@ -6731,7 +7815,7 @@ sha256 = "15ca92fe0eec82f0baf91a7efcc51ffacdb605924be6327683a52ebdacb6744c" name = "sphinxcontrib-qthelp" version = "2.0.0" index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"type\" in dependency_groups" +marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"type\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15'))" [packages.sdist] url = "https://files.pythonhosted.org/packages/68/bc/9104308fc285eb3e0b31b67688235db556cd5b0ef31d96f30e45f2e51cae/sphinxcontrib_qthelp-2.0.0.tar.gz" @@ -6753,7 +7837,7 @@ sha256 = "b18a828cdba941ccd6ee8445dbe72ffa3ef8cbe7505d8cd1fa0d42d3f2d5f3eb" name = "sphinxcontrib-serializinghtml" version = "2.0.0" index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"type\" in dependency_groups" +marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"type\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15'))" [packages.sdist] url = "https://files.pythonhosted.org/packages/3b/44/6716b257b0aa6bfd51a1b31665d1c205fb12cb5ad56de752dfa15657de2f/sphinxcontrib_serializinghtml-2.0.0.tar.gz" @@ -6775,7 +7859,7 @@ sha256 = "6e2cb0eef194e10c27ec0023bfeb25badbbb5868244cf5bc5bdc04e4464bf331" name = "tabulate" version = "0.10.0" index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"type\" in dependency_groups" +marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"type\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15'))" [packages.sdist] url = "https://files.pythonhosted.org/packages/46/58/8c37dea7bbf769b20d58e7ace7e5edfe65b849442b00ffcdd56be88697c6/tabulate-0.10.0.tar.gz" @@ -7319,6 +8403,50 @@ size = 14765 [packages.wheels.hashes] sha256 = "32a7b79ac57a2e83670ce329ccf675798bc5a2094783a63676866b70503f2e2b" +[[packages]] +name = "tomli-w" +version = "1.2.0" +index = "https://pypi.org/simple" +marker = "(\"release\" in dependency_groups and (python_full_version >= '3.15'))" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/19/75/241269d1da26b624c0d5e110e8149093c759b7a286138f4efd61a60e75fe/tomli_w-1.2.0.tar.gz" +upload-time = 2025-01-15 12:07:24+00:00 +size = 7184 + +[packages.sdist.hashes] +sha256 = "2dd14fac5a47c27be9cd4c976af5a12d87fb1f0b4512f81d69cce3b35ae25021" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/c7/18/c86eb8e0202e32dd3df50d43d7ff9854f8e0603945ff398974c1d91ac1ef/tomli_w-1.2.0-py3-none-any.whl" +upload-time = 2025-01-15 12:07:22+00:00 +size = 6675 + +[packages.wheels.hashes] +sha256 = "188306098d013b691fcadc011abd66727d3c414c571bb01b1a174ba8c983cf90" + +[[packages]] +name = "towncrier" +version = "26.9.0" +index = "https://pypi.org/simple" +marker = "(\"release\" in dependency_groups and (python_full_version >= '3.15'))" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/92/d4/e85ce614bf45b1a7fe13b82cc687819c2eaac5a1dd94b84834322095fd98/towncrier-26.9.0.tar.gz" +upload-time = 2026-09-04 12:57:25+00:00 +size = 79338 + +[packages.sdist.hashes] +sha256 = "ace9031631c718cc0709107b8755e6e31350eb8acdc877af43df3177addb9a55" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/82/88/f9340b545dafa64de053798e760515a2736fbb60092cf9aa6b146ccf3ede/towncrier-26.9.0-py3-none-any.whl" +upload-time = 2026-09-04 12:57:23+00:00 +size = 67030 + +[packages.wheels.hashes] +sha256 = "ae4d223e6aadaff98d29b7f09e58d9c9ccf4cd3b455a2d2e0486d432cd8bf660" + [[packages]] name = "twine" version = "7.0.0" @@ -7483,6 +8611,28 @@ size = 10194093 [packages.wheels.hashes] sha256 = "280a3d31e86d0721947238f17030c33f0911cae851d108ea9f4e3ab12a5ed01f" +[[packages]] +name = "types-docutils" +version = "0.22.3.20260724" +index = "https://pypi.org/simple" +marker = "(\"release\" in dependency_groups and (python_full_version >= '3.15'))" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/e5/8f/30e02b59a9aad81eacd3d02fab5365257e89fde56e7acf44a4128f5f80aa/types_docutils-0.22.3.20260724.tar.gz" +upload-time = 2026-07-24 04:58:36+00:00 +size = 57883 + +[packages.sdist.hashes] +sha256 = "0223ce87f9b8331a5a3a7c7832e828033d289da6b878a0dcfbc74c30ec58850e" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/13/1a/898fbb98680dbd5eb7ac8e9cbaf39cf234d329a45d89d04faaf33d7d8008/types_docutils-0.22.3.20260724-py3-none-any.whl" +upload-time = 2026-07-24 04:58:35+00:00 +size = 91986 + +[packages.wheels.hashes] +sha256 = "45e2fe584608671aa648784c4f805d08a36cd69eb2bd542e60522140c46dc89c" + [[packages]] name = "typing-extensions" version = "4.16.0" @@ -7531,7 +8681,7 @@ sha256 = "65b8397ba37ccbce054456aaccddfc91e6e3083c92824df348d96ca832f3f147" name = "urllib3" version = "2.8.0" index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"pkg-meta\" in dependency_groups or \"type\" in dependency_groups" +marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"pkg-meta\" in dependency_groups or \"type\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15'))" [packages.sdist] url = "https://files.pythonhosted.org/packages/e3/05/b17359e1cefb4f909b5e40b1b90a496d987258916dbbf88e842c729f510e/urllib3-2.8.0.tar.gz" @@ -7729,6 +8879,244 @@ size = 5495268 [packages.wheels.hashes] sha256 = "b319f8590a84e5de5f8f2c803ecd2237e9bc0ffa7c1e875e3169c107cecb7454" +[[packages]] +name = "wcwidth" +version = "0.9.3" +index = "https://pypi.org/simple" +marker = "(\"release\" in dependency_groups and (python_full_version >= '3.15'))" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/69/4a/82d61476a1ccc20d43d0805724c5de4baa4971131a8db1816705ef53fe16/wcwidth-0.9.3.tar.gz" +upload-time = 2026-10-20 16:02:43+00:00 +size = 956320 + +[packages.sdist.hashes] +sha256 = "dfe7cfbd4cb59db9fe0931bd6091ab4a95b3acc5d56bfb50fa9fef0ccba5dc5c" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/5c/6d/eec61b5edeb88e3ea2a714184eade38335722c4246d94be567977fc20caa/wcwidth-0.9.3-cp310-abi3-macosx_10_9_x86_64.whl" +upload-time = 2026-10-20 16:02:02+00:00 +size = 605400 + +[packages.wheels.hashes] +sha256 = "3b119ef60177a92b4f298b80e98464c2922a1fba3ed77fe9a2bcb69edf1b9af4" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/8b/3c/714eba03905a23a46277cc96d3db8da6bd22d2cc0d09a4dead60a2bd1757/wcwidth-0.9.3-cp310-abi3-macosx_11_0_arm64.whl" +upload-time = 2026-10-20 16:02:07+00:00 +size = 610124 + +[packages.wheels.hashes] +sha256 = "aab90ab489850f87633922c3064f6d0442d8f6ae5407a62f82bdb1f424179c05" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/90/ad/8566e7cc712bea55eab0bb6d19581b7c727a58fcdd55f02365b309aaaccd/wcwidth-0.9.3-cp310-abi3-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl" +upload-time = 2026-10-20 16:02:17+00:00 +size = 762700 + +[packages.wheels.hashes] +sha256 = "9e1cbe18c18d152e1e68e4e2561dab6c2bc988f8fd337a1fb2e1e0809c3fa568" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/ea/7a/4e26574d032a1709bb1fd7d95d406b7b8f87363c60305a101e6e2d9285f5/wcwidth-0.9.3-cp310-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" +upload-time = 2026-10-20 16:02:11+00:00 +size = 771850 + +[packages.wheels.hashes] +sha256 = "c12abd75ffcbad417e7770a6feb82413c102ccce5c435068c39a82e2218b00b3" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/b8/d6/48dad66d577417ef8594000506fa8619d45d7282e20b4cdc916fcc68f95a/wcwidth-0.9.3-cp310-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" +upload-time = 2026-10-20 16:02:19+00:00 +size = 770047 + +[packages.wheels.hashes] +sha256 = "9ab8bfee107e08de09e15f9f6afb9fe0f64c8d64fd296d0d8557bafe71ea3f93" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/3f/61/5f1e02e588d289837d5312478cc9f0e7bca93f4c8a77807741f79fb6a31c/wcwidth-0.9.3-cp310-abi3-musllinux_1_2_aarch64.whl" +upload-time = 2026-10-20 16:02:12+00:00 +size = 782210 + +[packages.wheels.hashes] +sha256 = "2f875a4c9e62df2ecfa70d99b24c551f2245609858e179c3a40e74631b2d08a4" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/e9/11/0da2720cba3f917148448c9bf73f3079d71f918308ee9e4d737a0b7acfd8/wcwidth-0.9.3-cp310-abi3-musllinux_1_2_i686.whl" +upload-time = 2026-10-20 16:02:20+00:00 +size = 783172 + +[packages.wheels.hashes] +sha256 = "70a2ca239b85a219324968993c76c117fe423d4e1a7c9d860c999c66192f2570" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/f2/f6/b79407036ca4543bf708a6d4ca561f78620dc1e5443e685e094480c37753/wcwidth-0.9.3-cp310-abi3-musllinux_1_2_x86_64.whl" +upload-time = 2026-10-20 16:02:22+00:00 +size = 784806 + +[packages.wheels.hashes] +sha256 = "537ea00b6792bb243cd09582322c54dbc848879e5d34ea4c5fee0147529685ab" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/3c/86/ada6c2244b08a86c871d42f7cd85b5226515b5f3fa7e604d1e6e45590275/wcwidth-0.9.3-cp310-abi3-win32.whl" +upload-time = 2026-10-20 16:02:34+00:00 +size = 593154 + +[packages.wheels.hashes] +sha256 = "f2f943c4ef14e9baba730740265f4e5bf5fc8473550e36cd92828cd5663561a6" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/5b/6e/46363d972b2b9f002fbfc3bf8e9ab0ff89f139c935a5f21d22016e7a2018/wcwidth-0.9.3-cp310-abi3-win_amd64.whl" +upload-time = 2026-10-20 16:02:35+00:00 +size = 597685 + +[packages.wheels.hashes] +sha256 = "569a0cdb826d3097b6dbacfaa45aa0002d72a2ba6fa8a63251ea43ac4dd7b6a4" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/69/3d/5583cac85e233514c3906d5476b6a74160bc4dc82729dabef3485dbf3d52/wcwidth-0.9.3-cp310-abi3-win_arm64.whl" +upload-time = 2026-10-20 16:02:30+00:00 +size = 598774 + +[packages.wheels.hashes] +sha256 = "80557db1f77148b78e1b3c2a9cc4ebc4feabef42aaf69a555565057031c32367" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/91/b2/53e0838babc6b87505b9504ce62b72c79403642f88d3e568e05d0ef04825/wcwidth-0.9.3-cp314-cp314t-macosx_10_15_x86_64.whl" +upload-time = 2026-10-20 16:02:04+00:00 +size = 606640 + +[packages.wheels.hashes] +sha256 = "6f3e855d3a09af8b7b6d56e76bc270681032f8a37d527a8d5707a441958e3730" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/f0/fb/27c94facff5c4a39b954a41fac20c238647f0aad32452d0d9e33fc05e852/wcwidth-0.9.3-cp314-cp314t-macosx_11_0_arm64.whl" +upload-time = 2026-10-20 16:02:08+00:00 +size = 610956 + +[packages.wheels.hashes] +sha256 = "c1bbc8ebf133422cadfefea95a9f89d6c9e9a1ae19930bef7862a9b59b20bbad" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/38/61/38e6236356d25966d34636ef6f49ee83a66513e051c4a3b1e19c8b9ec806/wcwidth-0.9.3-cp314-cp314t-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl" +upload-time = 2026-10-20 16:02:23+00:00 +size = 775967 + +[packages.wheels.hashes] +sha256 = "7a95d8c784cbccbbcb808eaadfd156cd282b2bdd95e89b32505e3443381ce61d" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/7b/87/c8f9295cd14a058dc27be0360fcc5ec70ce71b0d2e6a018871f585f23126/wcwidth-0.9.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" +upload-time = 2026-10-20 16:02:14+00:00 +size = 787147 + +[packages.wheels.hashes] +sha256 = "a44acbb23b525070a0b8c343dd7cab7a4020aff73b38804f7a66d6a66e16e3fc" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/c6/c0/238c135e283b1b0e16fef8b082d432dda1fe7e568d6dd85d5c7fc5e83859/wcwidth-0.9.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" +upload-time = 2026-10-20 16:02:25+00:00 +size = 784548 + +[packages.wheels.hashes] +sha256 = "a7c0405a3bf3c564e481d6b2d55c99cc231bb68cf8f4a0995944bbce5ebf1a5d" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/a1/ed/33e3080fe32f6f8f86334b2c5adde243b9a3a3a46cef97694dbed73b9dc4/wcwidth-0.9.3-cp314-cp314t-win32.whl" +upload-time = 2026-10-20 16:02:37+00:00 +size = 600761 + +[packages.wheels.hashes] +sha256 = "457f986e4867111cb037ccbf0d97ae100b1ecad030d43a020e7207f1e29649d5" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/27/62/6684a59147c1f86d58d0138f3109f506a6761b815dcb3d86b74d9af3a723/wcwidth-0.9.3-cp314-cp314t-win_amd64.whl" +upload-time = 2026-10-20 16:02:38+00:00 +size = 605316 + +[packages.wheels.hashes] +sha256 = "f11789e520ade8017fa93b01a4b8985571bb433eaefc2f857b57e36875e2e1d8" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/94/24/3ebcfd772d273e43e28447dd1946d88b8625db57b6a23496ea4eb9e1dbb7/wcwidth-0.9.3-cp314-cp314t-win_arm64.whl" +upload-time = 2026-10-20 16:02:31+00:00 +size = 606392 + +[packages.wheels.hashes] +sha256 = "eef39f3260991d8767189d296f0116fa4b45ad9c3a9a16d5af9187fb66b27564" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/76/fe/f90b9444bbc2d566634f91756bd11c2bd39d50c2c9077551711b10d8d03f/wcwidth-0.9.3-cp315-cp315t-macosx_10_15_x86_64.whl" +upload-time = 2026-10-20 16:02:05+00:00 +size = 606655 + +[packages.wheels.hashes] +sha256 = "52a13869704d43a4add59c68ebc892198e53063883114783bf0b7457e250e3f4" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/ab/63/edffb23938f4e27c28400c7d8d5a8715381d77f5db96bf80cf5dd6687f88/wcwidth-0.9.3-cp315-cp315t-macosx_11_0_arm64.whl" +upload-time = 2026-10-20 16:02:10+00:00 +size = 611217 + +[packages.wheels.hashes] +sha256 = "9470169fcb4e5340269175ebb3642dd5bfc8f82da8c86f29fc1fefc6c2b9bc1b" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/f9/e6/0e4b5c81c238fac47eb66902f058a39ccdeacd7b2c5ab0c559066f203262/wcwidth-0.9.3-cp315-cp315t-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl" +upload-time = 2026-10-20 16:02:27+00:00 +size = 778155 + +[packages.wheels.hashes] +sha256 = "c4531d93344441a7948e665854f0c40e3a8342ee106436d1531efa7a9fa7641e" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/f2/16/745439326544b2a6d65facbdf8462ee9d31e09c64830a764d2526c6c80d6/wcwidth-0.9.3-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" +upload-time = 2026-10-20 16:02:15+00:00 +size = 786757 + +[packages.wheels.hashes] +sha256 = "658dcbce546e7f28ee361f88e4a8e591dd56f46bff6084e11b4ad8310ed99946" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/08/a4/47193dc9902c30e187d81feaa7a5bc2672c41fe07093ca1ce5381395b85c/wcwidth-0.9.3-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" +upload-time = 2026-10-20 16:02:28+00:00 +size = 785088 + +[packages.wheels.hashes] +sha256 = "e9362be098c43d076aa43754face3cc0180fa81cea9ba304240b15490f2617e8" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/11/6a/9727002b938c28ab4456fc43ba31a3159ebff040021ce8dbd70e904c7cc9/wcwidth-0.9.3-cp315-cp315t-win32.whl" +upload-time = 2026-10-20 16:02:39+00:00 +size = 600787 + +[packages.wheels.hashes] +sha256 = "16d09df90b3a8f799ea14c726a41d9b906c3104f95f46d158e1ebe45cf4d547b" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/7c/db/0e24c2ff1e82cf298dd40a29e022da31b79be2589f0b8d865488e49140e1/wcwidth-0.9.3-cp315-cp315t-win_amd64.whl" +upload-time = 2026-10-20 16:02:41+00:00 +size = 605298 + +[packages.wheels.hashes] +sha256 = "3e3e31d6c17d6da3051f7eb854d5e4bebdc52a08a7a52adc2da6f15af51304e8" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/84/71/b470bd1dec14cbe6cee0c2e142787a8d99ac01711d5a1b533dda90754b48/wcwidth-0.9.3-cp315-cp315t-win_arm64.whl" +upload-time = 2026-10-20 16:02:32+00:00 +size = 606346 + +[packages.wheels.hashes] +sha256 = "5d3b0b6c37f40e8d8298941ec373a426a892bb9a514328abcc9226cdc60ae6eb" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/bf/12/e10aad98050389ef674c9f69409e38ae086c2104912644e1f9143b394301/wcwidth-0.9.3-py3-none-any.whl" +upload-time = 2026-10-20 16:02:00+00:00 +size = 301629 + +[packages.wheels.hashes] +sha256 = "e3c9069c54a2da0bf4f6c7e65a735cb1da0f47601a15cb5fef7e4b6ffca4cf60" + [[packages]] name = "wheel-filename" version = "1.4.2" diff --git a/pyproject.toml b/pyproject.toml index 9bfb9f7..7ff8ff1 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -86,11 +86,20 @@ pkg-meta = [ "twine>=7", "uv>=0.12.22", ] +release = [ + "docstrfmt>=2.2.1", + "prek>=0.5", + "release-creator @ git+https://github.com/tox-dev/release-creator@6377ed5b470b66fca2bf482ca1a73d95e611f517", + "towncrier>=26.9", +] [tool.hatch] version.source = "vcs" build.hooks.vcs.version-file = "src/pyproject_api/_version.py" +[tool.uv] +dependency-groups.release = { requires-python = ">=3.15" } + [tool.ruff] line-length = 120 format.preview = true @@ -171,9 +180,17 @@ html.skip_covered = false name = "pyproject-api" directory = "docs/changelog.d" filename = "docs/changelog.rst" -title_format = "v{version} ({project_date})" +template = "docs/changelog.d/template.jinja2" +title_format = false +issue_format = "" type = [ - { directory = "feature", name = "Features", showcontent = true }, - { directory = "bugfix", name = "Bug fixes", showcontent = true }, + { directory = "feature", name = "Added", showcontent = true }, + { directory = "change", name = "Changes", showcontent = true }, + { directory = "bugfix", name = "Fixed", showcontent = true }, { directory = "doc", name = "Documentation", showcontent = true }, + { directory = "security", name = "Security", showcontent = true }, + { directory = "performance", name = "Performance", showcontent = true }, + { directory = "deprecation", name = "Deprecated", showcontent = true }, + { directory = "removal", name = "Removed", showcontent = true }, + { directory = "packaging", name = "Packaging", showcontent = true }, ] From aad56db94245945480c7a1ff10f84b5b51d745bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bern=C3=A1t=20G=C3=A1bor?= Date: Tue, 20 Oct 2026 13:48:46 -0700 Subject: [PATCH 05/39] =?UTF-8?q?=F0=9F=94=A7=20chore:=20ignore=20uv=20loc?= =?UTF-8?q?k=20files?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index bf68524..5e78336 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ dist *.egg-info .tox /.*_cache +/uv.lock From 401f2bfdf7b240a72259f1314d74dfe7fdc2f2bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bern=C3=A1t=20G=C3=A1bor?= Date: Tue, 20 Oct 2026 13:56:17 -0700 Subject: [PATCH 06/39] =?UTF-8?q?=F0=9F=94=A7=20build(readme):=20render=20?= =?UTF-8?q?PyPI=20description?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pyproject.toml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 7ff8ff1..945ebe8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,7 @@ [build-system] build-backend = "hatchling.build" requires = [ + "hatch-fancy-pypi-readme>=25.1", "hatch-vcs>=0.5", "hatchling>=1.32.4", ] @@ -8,8 +9,6 @@ requires = [ [project] name = "pyproject-api" description = "API to interact with the python pyproject.toml based projects" -readme.content-type = "text/markdown" -readme.file = "README.md" keywords = [ "environments", "isolated", @@ -43,6 +42,7 @@ classifiers = [ "Topic :: Utilities", ] dynamic = [ + "readme", "version", ] dependencies = [ @@ -95,6 +95,8 @@ release = [ [tool.hatch] version.source = "vcs" +metadata.hooks.fancy-pypi-readme.content-type = "text/markdown" +metadata.hooks.fancy-pypi-readme.fragments = [ { path = "README.md" } ] build.hooks.vcs.version-file = "src/pyproject_api/_version.py" [tool.uv] From cbf3bcc460a983ca9cd3d8c39e2e75be33011506 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bern=C3=A1t=20G=C3=A1bor?= Date: Tue, 20 Oct 2026 14:48:33 -0700 Subject: [PATCH 07/39] =?UTF-8?q?=F0=9F=90=9B=20fix(meta):=20correct=20pac?= =?UTF-8?q?kage=20metadata?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pyproject.toml | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 945ebe8..185cb85 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -8,12 +8,12 @@ requires = [ [project] name = "pyproject-api" +import-names = [ "pyproject_api" ] description = "API to interact with the python pyproject.toml based projects" keywords = [ - "environments", - "isolated", - "testing", - "virtual", + "build-system", + "metadata", + "pyproject", ] license = "MIT" maintainers = [ @@ -25,9 +25,7 @@ authors = [ requires-python = ">=3.11" classifiers = [ "Development Status :: 5 - Production/Stable", - "Framework :: tox", "Intended Audience :: Developers", - "License :: OSI Approved :: MIT License", "Operating System :: MacOS :: MacOS X", "Operating System :: Microsoft :: Windows", "Operating System :: POSIX", @@ -38,7 +36,6 @@ classifiers = [ "Programming Language :: Python :: 3.14", "Programming Language :: Python :: 3.15", "Topic :: Software Development :: Libraries", - "Topic :: Software Development :: Testing", "Topic :: Utilities", ] dynamic = [ @@ -48,7 +45,7 @@ dynamic = [ dependencies = [ "packaging>=26.3", ] -urls.Changelog = "https://pyproject-api.readthedocs.io/en/latest/changelog.html" +urls.Changelog = "https://github.com/tox-dev/pyproject-api/blob/main/docs/changelog.rst" urls.Homepage = "https://pyproject-api.readthedocs.io" urls.Source = "https://github.com/tox-dev/pyproject-api" urls.Tracker = "https://github.com/tox-dev/pyproject-api/issues" From 7d8c3f5405cdc418ce7fb4fc9ab1f1412fc84ad5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bern=C3=A1t=20G=C3=A1bor?= Date: Tue, 20 Oct 2026 19:50:24 -0700 Subject: [PATCH 08/39] =?UTF-8?q?=F0=9F=91=B7=20ci:=20refresh=20shared=20r?= =?UTF-8?q?elease=20actions?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/check.yaml | 2 +- .github/workflows/label-maintenance-pr.yaml | 2 +- .github/workflows/prepare-release.yaml | 7 +++---- .github/workflows/release.yaml | 2 +- .github/workflows/upgrade-release-tools.yaml | 2 +- 5 files changed, 7 insertions(+), 8 deletions(-) diff --git a/.github/workflows/check.yaml b/.github/workflows/check.yaml index e4b6af4..0a536b1 100644 --- a/.github/workflows/check.yaml +++ b/.github/workflows/check.yaml @@ -86,7 +86,7 @@ jobs: python-version: "3.15" enable-cache: false - run: uv tool install towncrier - - uses: tox-dev/github-workflows/validate-news@65ca97430da17d7c6f3cf636c0fd16dc3474481e + - uses: tox-dev/github-workflows/validate-news@144f8e68b7d4c7c44e32258b1305e4402bc4e392 gate: name: Required checks pass diff --git a/.github/workflows/label-maintenance-pr.yaml b/.github/workflows/label-maintenance-pr.yaml index 244d021..d1272b7 100644 --- a/.github/workflows/label-maintenance-pr.yaml +++ b/.github/workflows/label-maintenance-pr.yaml @@ -10,7 +10,7 @@ jobs: label: runs-on: ubuntu-26.04 steps: - - uses: tox-dev/github-workflows/label-bot-news@65ca97430da17d7c6f3cf636c0fd16dc3474481e + - uses: tox-dev/github-workflows/label-bot-news@144f8e68b7d4c7c44e32258b1305e4402bc4e392 with: fragments: docs/changelog.d extension: rst diff --git a/.github/workflows/prepare-release.yaml b/.github/workflows/prepare-release.yaml index d684f75..1815348 100644 --- a/.github/workflows/prepare-release.yaml +++ b/.github/workflows/prepare-release.yaml @@ -38,7 +38,7 @@ jobs: uv pip sync --preview-features pylock --python "$RUNNER_TEMP/release-tools/bin/python" --group release pylock.toml echo "$RUNNER_TEMP/release-tools/bin" >> "$GITHUB_PATH" - id: prepare - uses: tox-dev/github-workflows/prepare-towncrier@65ca97430da17d7c6f3cf636c0fd16dc3474481e + uses: tox-dev/github-workflows/prepare-towncrier@144f8e68b7d4c7c44e32258b1305e4402bc4e392 with: bump: ${{ inputs.bump }} changelog: docs/changelog.rst @@ -75,14 +75,13 @@ jobs: uv venv --python 3.15 "$RUNNER_TEMP/release-tools" uv pip sync --preview-features pylock --python "$RUNNER_TEMP/release-tools/bin/python" --group release pylock.toml echo "$RUNNER_TEMP/release-tools/bin" >> "$GITHUB_PATH" - - uses: tox-dev/github-workflows/validate-release-patch@65ca97430da17d7c6f3cf636c0fd16dc3474481e + - uses: tox-dev/github-workflows/validate-release-patch@144f8e68b7d4c7c44e32258b1305e4402bc4e392 with: version: ${{ needs.assemble.outputs.version }} changelog: docs/changelog.rst fragments: docs/changelog.d patch: ${{ runner.temp }}/release-patch/release.patch expected-sha: ${{ github.sha }} - heading-prefix: "v" - id: token uses: actions/create-github-app-token@64ab729a6294000f5aa4a4bc0b73d1f32bc45510 # v3.3.0 with: @@ -91,7 +90,7 @@ jobs: owner: ${{ github.repository_owner }} repositories: ${{ github.event.repository.name }} permission-contents: write - - uses: tox-dev/github-workflows/commit-and-tag@65ca97430da17d7c6f3cf636c0fd16dc3474481e + - uses: tox-dev/github-workflows/commit-and-tag@144f8e68b7d4c7c44e32258b1305e4402bc4e392 with: version: ${{ needs.assemble.outputs.version }} token: ${{ steps.token.outputs.token }} diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index b8ee4a8..1d9eafd 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -97,7 +97,7 @@ jobs: gh api -X POST "repos/${GITHUB_REPOSITORY}/releases/generate-notes" \ -f tag_name="$TAG" --jq .body > "$RUNNER_TEMP/generated-notes.md" fi - - uses: tox-dev/github-workflows/render-release-notes@65ca97430da17d7c6f3cf636c0fd16dc3474481e + - uses: tox-dev/github-workflows/render-release-notes@144f8e68b7d4c7c44e32258b1305e4402bc4e392 with: tag: ${{ github.ref_name }} changelog: docs/changelog.rst diff --git a/.github/workflows/upgrade-release-tools.yaml b/.github/workflows/upgrade-release-tools.yaml index a01049b..1fe2b34 100644 --- a/.github/workflows/upgrade-release-tools.yaml +++ b/.github/workflows/upgrade-release-tools.yaml @@ -9,7 +9,7 @@ concurrency: cancel-in-progress: false jobs: upgrade: - uses: tox-dev/github-workflows/.github/workflows/upgrade-release-tools.yaml@65ca97430da17d7c6f3cf636c0fd16dc3474481e + uses: tox-dev/github-workflows/.github/workflows/upgrade-release-tools.yaml@144f8e68b7d4c7c44e32258b1305e4402bc4e392 permissions: actions: write contents: write From a9ce470a0960390bda9358cb08c062751a001bd3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bern=C3=A1t=20G=C3=A1bor?= Date: Tue, 20 Oct 2026 21:03:22 -0700 Subject: [PATCH 09/39] =?UTF-8?q?=F0=9F=91=B7=20ci:=20scope=20bot=20label?= =?UTF-8?q?=20token=20to=20job?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/label-maintenance-pr.yaml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/label-maintenance-pr.yaml b/.github/workflows/label-maintenance-pr.yaml index d1272b7..915bd59 100644 --- a/.github/workflows/label-maintenance-pr.yaml +++ b/.github/workflows/label-maintenance-pr.yaml @@ -2,13 +2,14 @@ name: Label maintenance PRs on: pull_request_target: # zizmor: ignore[dangerous-triggers] Reads PR metadata without checkout or PR code. types: [opened, reopened, synchronize] -permissions: - contents: read - issues: write - pull-requests: read +permissions: {} jobs: label: runs-on: ubuntu-26.04 + permissions: + contents: read + issues: write + pull-requests: read steps: - uses: tox-dev/github-workflows/label-bot-news@144f8e68b7d4c7c44e32258b1305e4402bc4e392 with: From 519cfff146e2e1f170e40c25bfc2e0924b5ec36b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bern=C3=A1t=20G=C3=A1bor?= Date: Tue, 20 Oct 2026 21:29:52 -0700 Subject: [PATCH 10/39] =?UTF-8?q?=F0=9F=91=B7=20ci:=20isolate=20release=20?= =?UTF-8?q?App=20key=20from=20tools?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/prepare-release.yaml | 40 ++++++++++++++++++++++---- 1 file changed, 35 insertions(+), 5 deletions(-) diff --git a/.github/workflows/prepare-release.yaml b/.github/workflows/prepare-release.yaml index 1815348..aa41342 100644 --- a/.github/workflows/prepare-release.yaml +++ b/.github/workflows/prepare-release.yaml @@ -38,7 +38,7 @@ jobs: uv pip sync --preview-features pylock --python "$RUNNER_TEMP/release-tools/bin/python" --group release pylock.toml echo "$RUNNER_TEMP/release-tools/bin" >> "$GITHUB_PATH" - id: prepare - uses: tox-dev/github-workflows/prepare-towncrier@144f8e68b7d4c7c44e32258b1305e4402bc4e392 + uses: tox-dev/github-workflows/prepare-towncrier@c72de07ce576af07b6abe0f1edfc999c288e743e with: bump: ${{ inputs.bump }} changelog: docs/changelog.rst @@ -50,12 +50,13 @@ jobs: name: release-patch path: ${{ runner.temp }}/release.patch if-no-files-found: error - push: + validate: needs: assemble runs-on: ubuntu-26.04 - environment: release-auth permissions: contents: read + outputs: + patch-sha: ${{ steps.digest.outputs.sha }} steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: @@ -75,13 +76,42 @@ jobs: uv venv --python 3.15 "$RUNNER_TEMP/release-tools" uv pip sync --preview-features pylock --python "$RUNNER_TEMP/release-tools/bin/python" --group release pylock.toml echo "$RUNNER_TEMP/release-tools/bin" >> "$GITHUB_PATH" - - uses: tox-dev/github-workflows/validate-release-patch@144f8e68b7d4c7c44e32258b1305e4402bc4e392 + - uses: tox-dev/github-workflows/validate-release-patch@c72de07ce576af07b6abe0f1edfc999c288e743e + with: + version: ${{ needs.assemble.outputs.version }} + changelog: docs/changelog.rst + fragments: docs/changelog.d + patch: ${{ runner.temp }}/release-patch/release.patch + expected-sha: ${{ github.sha }} + - name: Record validated patch digest + id: digest + run: | + read -r patch_sha _ < <(sha256sum "$RUNNER_TEMP/release-patch/release.patch") + echo "sha=$patch_sha" >>"$GITHUB_OUTPUT" + push: + needs: [assemble, validate] + runs-on: ubuntu-26.04 + environment: release-auth + permissions: + contents: read + steps: + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + with: + fetch-depth: 0 + persist-credentials: false + - uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8.0.2 + with: + name: release-patch + path: ${{ runner.temp }}/release-patch + - uses: tox-dev/github-workflows/validate-release-patch@c72de07ce576af07b6abe0f1edfc999c288e743e with: version: ${{ needs.assemble.outputs.version }} changelog: docs/changelog.rst fragments: docs/changelog.d patch: ${{ runner.temp }}/release-patch/release.patch expected-sha: ${{ github.sha }} + expected-patch-sha: ${{ needs.validate.outputs.patch-sha }} + checks: "false" - id: token uses: actions/create-github-app-token@64ab729a6294000f5aa4a4bc0b73d1f32bc45510 # v3.3.0 with: @@ -90,7 +120,7 @@ jobs: owner: ${{ github.repository_owner }} repositories: ${{ github.event.repository.name }} permission-contents: write - - uses: tox-dev/github-workflows/commit-and-tag@144f8e68b7d4c7c44e32258b1305e4402bc4e392 + - uses: tox-dev/github-workflows/commit-and-tag@c72de07ce576af07b6abe0f1edfc999c288e743e with: version: ${{ needs.assemble.outputs.version }} token: ${{ steps.token.outputs.token }} From 8875c2708a1c61040683e4ba5b30548d7cb9b748 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bern=C3=A1t=20G=C3=A1bor?= Date: Tue, 20 Oct 2026 23:48:49 -0700 Subject: [PATCH 11/39] docs: restore tagged release notes --- docs/changelog.rst | 131 +++++++++++++++++++++++++++--------------- docs/contributing.rst | 7 ++- 2 files changed, 90 insertions(+), 48 deletions(-) diff --git a/docs/changelog.rst b/docs/changelog.rst index c1a1693..5bb5e53 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -13,8 +13,16 @@ v1.12.0 (2026-10-18) Fixed ^^^^^ -- Validate in-tree backend paths and reject metadata directories that contain the project root. -- Contain response serialization failures. +- Validate in-tree backend paths (:pull:`320`) by :user:`blouirts123`. +- Reject metadata directories that contain the project root (:pull:`323`) by :user:`edsonsims`. +- Contain response serialization failures (:pull:`322`) by :user:`AryanRG`. + +.. _release-1-12-0-documentation: + +Documentation +^^^^^^^^^^^^^ + +- Correct the frontend construction example (:pull:`321`) by :user:`travisfortney`. .. _release-1-11-7: @@ -26,7 +34,7 @@ v1.11.7 (2026-10-15) Fixed ^^^^^ -- Resolve dotted backend object paths. +- Resolve dotted backend object paths (:pull:`319`) by :user:`gaborbernat`. .. _release-1-11-6: @@ -38,7 +46,7 @@ v1.11.6 (2026-10-14) Fixed ^^^^^ -- Resolve output directories before invoking backends. +- Resolve output directories before invoking backends (:pull:`316`) by :user:`harbinresearcher`. .. _release-1-11-5: @@ -50,14 +58,21 @@ v1.11.5 (2026-10-10) Added ^^^^^ -- Require Python 3.11 or newer and default to Python 3.15. +- Require Python 3.11 or newer (:pull:`312`) by :user:`gaborbernat`. + +.. _release-1-11-5-changes: + +Changes +^^^^^^^ + +- Use Python 3.15 by default (:pull:`312`) by :user:`gaborbernat`. .. _release-1-11-5-fixed: Fixed ^^^^^ -- Import in-tree backends from relative roots. +- Import in-tree backends from relative roots (:pull:`313`) by :user:`ac1982`. .. _release-1-11-4: @@ -69,7 +84,7 @@ v1.11.4 (2026-10-07) Fixed ^^^^^ -- Stop hanging on undecodable backend output. +- Stop hanging on undecodable backend output (:pull:`311`) by :user:`xiehuanyi`. .. _release-1-11-3: @@ -81,7 +96,14 @@ v1.11.3 (2026-10-03) Fixed ^^^^^ -- Validate ``build-system`` value types when reading a project folder. +- Validate ``build-system`` value types when reading a project folder (:pull:`309`) by :user:`pasmud`. + +.. _release-1-11-3-documentation: + +Documentation +^^^^^^^^^^^^^ + +- Correct build result streams and dependency descriptions (:pull:`303`) by :user:`agammann`. .. _release-1-11-2: @@ -93,7 +115,7 @@ v1.11.2 (2026-09-18) Fixed ^^^^^ -- Avoid pipe deadlocks when sending large backend requests. +- Avoid pipe deadlocks when sending large backend requests (:pull:`302`) by :user:`caamer20`. .. _release-1-11-1: @@ -105,7 +127,15 @@ v1.11.1 (2026-09-15) Fixed ^^^^^ -- Remove directory symlinks in ``ensure_empty_dir``. +- Remove directory symlinks in ``ensure_empty_dir`` (:pull:`300`) by :user:`Str0k`. + +.. _release-1-11-1-documentation: + +Documentation +^^^^^^^^^^^^^ + +- Fix the documentation links in the PyPI project description (:pull:`291`) by :user:`webknjaz`. +- Publish ``llms.txt`` from the documentation build (:pull:`292`) by :user:`gaborbernat`. .. _release-1-11-0: @@ -117,7 +147,7 @@ v1.11.0 (2026-07-21) Added ^^^^^ -- Support Python 3.15. +- Support Python 3.15 (:pull:`282`) by :user:`gaborbernat`. .. _release-1-10-1: @@ -134,8 +164,8 @@ v1.10.0 (2025-10-09) Added ^^^^^ -- Support Python 3.14. -- End support for Python 3.9. +- Support Python 3.14 (:pull:`216`) by :user:`gaborbernat`. +- End support for Python 3.9 (:pull:`216`) by :user:`gaborbernat`. .. _release-1-9-1: @@ -147,7 +177,7 @@ v1.9.1 (2025-05-12) Changes ^^^^^^^ -- Remove ``wheel`` from the default requirements. +- Remove ``wheel`` from the default requirements (:pull:`192`) by :user:`gaborbernat`. .. _release-1-9-0: @@ -159,7 +189,7 @@ v1.9.0 (2025-01-21) Added ^^^^^ -- End support for Python 3.8. +- End declared support for Python 3.8. .. _release-1-8-0: @@ -171,7 +201,7 @@ v1.8.0 (2024-09-18) Added ^^^^^ -- Finish dropping Python 2 support. +- Remove backend compatibility with Python 3.8 and older (:pull:`154`) by :user:`kloczek`. .. _release-1-7-2: @@ -188,7 +218,7 @@ v1.7.1 (2024-06-22) Documentation ^^^^^^^^^^^^^ -- Move release notes from the documentation site to GitHub Releases. +- Move release notes from the documentation site to GitHub Releases (:pull:`141`) by :user:`gaborbernat`. .. _release-1-7-0: @@ -200,14 +230,7 @@ v1.7.0 (2024-06-22) Documentation ^^^^^^^^^^^^^ -- Correct the documentation homepage URL. - -.. _release-1-7-0-packaging: - -Packaging -^^^^^^^^^ - -- Update build dependencies. +- Correct the documentation homepage URL (:pull:`116`) by :user:`bernardcooke53`. .. _release-1-6-1: @@ -219,7 +242,8 @@ v1.6.1 (2023-08-29) Fixed ^^^^^ -- Fix :meth:`pyproject_api.Frontend.metadata_from_built` only extracts one of the dist info files. +- Extract every dist-info file in :meth:`pyproject_api.Frontend.metadata_from_built` (:pull:`100`) by + :user:`gaborbernat`. .. _release-1-6-0: @@ -231,9 +255,11 @@ v1.6.0 (2023-08-29) Changes ^^^^^^^ -- Remove ``build_`` from ``prepare_metadata_for_build_`` to allow separate config - parametrization and instead add :meth:`pyproject_api.Frontend.metadata_from_built` the user can call when the prepare - fails. Pass ``None`` for ``metadata_directory`` for such temporary wheel builds. +- Separate the build and metadata preparation configuration for wheels and editable installs (:pull:`99`) by + :user:`gaborbernat`. +- Add :meth:`pyproject_api.Frontend.metadata_from_built` for metadata preparation failures (:pull:`99`) by + :user:`gaborbernat`. +- Pass ``None`` for ``metadata_directory`` when building a temporary wheel (:pull:`99`) by :user:`gaborbernat`. .. _release-1-5-4: @@ -245,7 +271,7 @@ v1.5.4 (2023-08-17) Fixed ^^^^^ -- Make sure that the order of Requires-Dist does not matter +- Ignore the order of ``Requires-Dist`` metadata entries (:pull:`95`) by :user:`frenzymadness`. .. _release-1-5-3: @@ -257,13 +283,20 @@ v1.5.3 (2023-07-06) Fixed ^^^^^ -- Fix ``read_line`` to raise ``EOFError`` if nothing was read +- Raise ``EOFError`` when ``read_line`` cannot read anything (:pull:`86`) by :user:`sk1p`. .. _release-1-5-2: v1.5.2 (2023-06-14) ------------------- +.. _release-1-5-2-added: + +Added +^^^^^ + +- Support Python 3.12 (:pull:`74`) by :user:`gaborbernat`. + .. _release-1-5-1: v1.5.1 (2023-03-12) @@ -274,7 +307,7 @@ v1.5.1 (2023-03-12) Documentation ^^^^^^^^^^^^^ -- docs: set html_last_updated_fmt to format string +- Show the last updated date in the documentation (:pull:`54`) by :user:`paravoid`. .. _release-1-5-0: @@ -286,8 +319,8 @@ v1.5.0 (2023-01-17) Fixed ^^^^^ -- When getting metadata from a built wheel, do not pass ``metadata_directory`` to ``build_wheel``, which forces the - backend to generate the metadata by :user:`masenf` (:issue:`47`). +- Omit ``metadata_directory`` when building a wheel to get metadata, so the backend generates it (:pull:`48`, + :issue:`47`) by :user:`masenf`. .. _release-1-4-0: @@ -299,7 +332,7 @@ v1.4.0 (2023-01-04) Added ^^^^^ -- Add minimal CLI for debugging +- Add a minimal CLI for debugging (:pull:`42`) by :user:`stephenfin`. .. _release-1-3-0: @@ -311,7 +344,7 @@ v1.3.0 (2023-01-03) Fixed ^^^^^ -- Do not allow exceptions to propagate in backend +- Contain exceptions from backend hooks (:pull:`40`) by :user:`stephenfin`. .. _release-1-2-1: @@ -323,14 +356,14 @@ v1.2.1 (2022-12-04) Added ^^^^^ -- Allow skipping prepare metadata for the full build by returning None as basename +- Allow skipping metadata preparation for a full build by returning ``None`` as the basename by :user:`gaborbernat`. .. _release-1-2-1-fixed: Fixed ^^^^^ -- Fix Python 2 incompatibility on the backend +- Fix Python 2 compatibility in the backend by :user:`gaborbernat`. .. _release-1-2-0: @@ -342,19 +375,27 @@ v1.2.0 (2022-12-04) Added ^^^^^ -- Expose which optional hooks are present or missing via :meth:`pyproject_api.Frontend.optional_hooks` +- Expose which optional hooks are present or missing via :meth:`pyproject_api.Frontend.optional_hooks` by + :user:`gaborbernat`. .. _release-1-1-2: v1.1.2 (2022-10-30) ------------------- +.. _release-1-1-2-documentation: + +Documentation +^^^^^^^^^^^^^ + +- Restore the project documentation and API index by :user:`gaborbernat`. + .. _release-1-1-2-fixed: Fixed ^^^^^ -- Fix editable classes not exported at root level +- Export editable classes from the package root by :user:`gaborbernat`. .. _release-1-1-1: @@ -371,7 +412,7 @@ v1.1.0 (2022-09-10) Added ^^^^^ -- PEP-660 support +- Support editable installs under PEP 660 (:pull:`21`) by :user:`gaborbernat`. .. _release-1-0-0: @@ -383,14 +424,14 @@ v1.0.0 (2022-09-10) Added ^^^^^ -- Support Python 3.11. +- Support Python 3.11 by :user:`gaborbernat`. .. _release-1-0-0-packaging: Packaging ^^^^^^^^^ -- Use Hatchling as the build backend. +- Use Hatchling as the build backend by :user:`gaborbernat`. .. _release-0-1-1: @@ -402,7 +443,7 @@ v0.1.1 (2021-12-30) Added ^^^^^ -- Drop Python 3.6 support +- End support for Python 3.6 by :user:`gaborbernat`. .. _release-0-1-0: @@ -414,4 +455,4 @@ v0.1.0 (2021-10-21) Added ^^^^^ -- first version +- Publish the initial pyproject-api release by :user:`gaborbernat`. diff --git a/docs/contributing.rst b/docs/contributing.rst index 24e300d..6643c6e 100644 --- a/docs/contributing.rst +++ b/docs/contributing.rst @@ -6,9 +6,10 @@ behavior. Put each distinct change in its own ``docs/changelog.d/+short-name. Date: Tue, 20 Oct 2026 23:48:49 -0700 Subject: [PATCH 12/39] ci: isolate release writes --- .github/dependabot.yaml | 12 ++ .github/workflows/check.yaml | 28 ++-- .github/workflows/label-maintenance-pr.yaml | 2 +- .github/workflows/prepare-release.yaml | 129 ++-------------- .github/workflows/release.yaml | 143 +++++++++++------ .github/workflows/upgrade-release-tools.yaml | 2 +- .pre-commit-config.yaml | 18 +-- pylock.toml | 154 ++++++++++++------- pyproject.toml | 3 +- 9 files changed, 247 insertions(+), 244 deletions(-) diff --git a/.github/dependabot.yaml b/.github/dependabot.yaml index fccacae..01add2f 100644 --- a/.github/dependabot.yaml +++ b/.github/dependabot.yaml @@ -15,3 +15,15 @@ updates: - "*" cooldown: default-days: 7 + - package-ecosystem: "pre-commit" + directory: "/" + labels: + - dependencies + - skip news + schedule: + interval: "weekly" + day: "tuesday" + cooldown: + default-days: 7 + allow: + - dependency-name: sphinx diff --git a/.github/workflows/check.yaml b/.github/workflows/check.yaml index 0a536b1..947fcd0 100644 --- a/.github/workflows/check.yaml +++ b/.github/workflows/check.yaml @@ -35,12 +35,12 @@ jobs: - pkg_meta os: - ubuntu-26.04 - - windows-latest - - macos-latest + - windows-2025-vs2026 + - macos-26 exclude: - - { os: macos-latest, env: "type" } - - { os: macos-latest, env: "dev" } - - { os: macos-latest, env: "pkg_meta" } + - { os: macos-26, env: "type" } + - { os: macos-26, env: "dev" } + - { os: macos-26, env: "pkg_meta" } steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: @@ -56,7 +56,7 @@ jobs: - name: Add .local/bin to Windows PATH if: runner.os == 'Windows' shell: bash - run: echo "$USERPROFILE/.local/bin" >> $GITHUB_PATH + run: echo "$USERPROFILE/.local/bin" >>"$GITHUB_PATH" - name: Install tox run: uv tool install --python-preference only-managed --python 3.15 tox --with tox-uv - name: Install Python @@ -85,8 +85,13 @@ jobs: with: python-version: "3.15" enable-cache: false - - run: uv tool install towncrier - - uses: tox-dev/github-workflows/validate-news@144f8e68b7d4c7c44e32258b1305e4402bc4e392 + - name: Install locked release tools + run: | + set -euo pipefail + uv venv --python 3.15 "$RUNNER_TEMP/release-tools" + uv pip sync --preview-features pylock --python "$RUNNER_TEMP/release-tools/bin/python" --group release pylock.toml + echo "$RUNNER_TEMP/release-tools/bin" >>"$GITHUB_PATH" + - uses: tox-dev/github-workflows/validate-news@5e11f2254a4dcb7102747d312ad7db48a2e9b0cb gate: name: Required checks pass @@ -96,11 +101,12 @@ jobs: steps: - env: NEEDS_JSON: ${{ toJSON(needs) }} + EVENT_NAME: ${{ github.event_name }} run: | - jq -e ' + jq -e --arg event "$EVENT_NAME" ' all( to_entries[]; .value.result == "success" or - (.key == "changelog" and .value.result == "skipped") + (.key == "changelog" and .value.result == "skipped" and $event != "pull_request") ) - ' <<< "$NEEDS_JSON" + ' <<<"$NEEDS_JSON" diff --git a/.github/workflows/label-maintenance-pr.yaml b/.github/workflows/label-maintenance-pr.yaml index 915bd59..190af26 100644 --- a/.github/workflows/label-maintenance-pr.yaml +++ b/.github/workflows/label-maintenance-pr.yaml @@ -11,7 +11,7 @@ jobs: issues: write pull-requests: read steps: - - uses: tox-dev/github-workflows/label-bot-news@144f8e68b7d4c7c44e32258b1305e4402bc4e392 + - uses: tox-dev/github-workflows/label-bot-news@5e11f2254a4dcb7102747d312ad7db48a2e9b0cb with: fragments: docs/changelog.d extension: rst diff --git a/.github/workflows/prepare-release.yaml b/.github/workflows/prepare-release.yaml index aa41342..128e62b 100644 --- a/.github/workflows/prepare-release.yaml +++ b/.github/workflows/prepare-release.yaml @@ -3,127 +3,24 @@ on: workflow_dispatch: inputs: bump: - description: Version bump type + description: Version bump strategy required: true type: choice - options: [auto, major, minor, patch] + options: + - auto + - major + - minor + - patch default: auto permissions: {} -concurrency: - group: prepare-release - cancel-in-progress: false jobs: - assemble: - if: github.ref == 'refs/heads/main' - runs-on: ubuntu-26.04 + prepare: + uses: tox-dev/github-workflows/.github/workflows/prepare-towncrier-release.yaml@5e11f2254a4dcb7102747d312ad7db48a2e9b0cb permissions: contents: read pull-requests: read - outputs: - version: ${{ steps.prepare.outputs.version }} - steps: - - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - with: - fetch-depth: 0 - persist-credentials: false - - name: Install uv - uses: astral-sh/setup-uv@1c37ad07a6a961277cf70c0d37d6f313000f5884 # v10.3.0 - with: - python-version: "3.15" - enable-cache: false - - name: Install locked release tools - run: | - set -euo pipefail - uv venv --python 3.15 "$RUNNER_TEMP/release-tools" - uv pip sync --preview-features pylock --python "$RUNNER_TEMP/release-tools/bin/python" --group release pylock.toml - echo "$RUNNER_TEMP/release-tools/bin" >> "$GITHUB_PATH" - - id: prepare - uses: tox-dev/github-workflows/prepare-towncrier@c72de07ce576af07b6abe0f1edfc999c288e743e - with: - bump: ${{ inputs.bump }} - changelog: docs/changelog.rst - fragments: docs/changelog.d - format: rst - patch: ${{ runner.temp }}/release.patch - - uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 - with: - name: release-patch - path: ${{ runner.temp }}/release.patch - if-no-files-found: error - validate: - needs: assemble - runs-on: ubuntu-26.04 - permissions: - contents: read - outputs: - patch-sha: ${{ steps.digest.outputs.sha }} - steps: - - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - with: - fetch-depth: 0 - persist-credentials: false - - uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8.0.2 - with: - name: release-patch - path: ${{ runner.temp }}/release-patch - - uses: astral-sh/setup-uv@1c37ad07a6a961277cf70c0d37d6f313000f5884 # v10.3.0 - with: - python-version: "3.15" - enable-cache: false - - name: Install locked release tools - run: | - set -euo pipefail - uv venv --python 3.15 "$RUNNER_TEMP/release-tools" - uv pip sync --preview-features pylock --python "$RUNNER_TEMP/release-tools/bin/python" --group release pylock.toml - echo "$RUNNER_TEMP/release-tools/bin" >> "$GITHUB_PATH" - - uses: tox-dev/github-workflows/validate-release-patch@c72de07ce576af07b6abe0f1edfc999c288e743e - with: - version: ${{ needs.assemble.outputs.version }} - changelog: docs/changelog.rst - fragments: docs/changelog.d - patch: ${{ runner.temp }}/release-patch/release.patch - expected-sha: ${{ github.sha }} - - name: Record validated patch digest - id: digest - run: | - read -r patch_sha _ < <(sha256sum "$RUNNER_TEMP/release-patch/release.patch") - echo "sha=$patch_sha" >>"$GITHUB_OUTPUT" - push: - needs: [assemble, validate] - runs-on: ubuntu-26.04 - environment: release-auth - permissions: - contents: read - steps: - - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - with: - fetch-depth: 0 - persist-credentials: false - - uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8.0.2 - with: - name: release-patch - path: ${{ runner.temp }}/release-patch - - uses: tox-dev/github-workflows/validate-release-patch@c72de07ce576af07b6abe0f1edfc999c288e743e - with: - version: ${{ needs.assemble.outputs.version }} - changelog: docs/changelog.rst - fragments: docs/changelog.d - patch: ${{ runner.temp }}/release-patch/release.patch - expected-sha: ${{ github.sha }} - expected-patch-sha: ${{ needs.validate.outputs.patch-sha }} - checks: "false" - - id: token - uses: actions/create-github-app-token@64ab729a6294000f5aa4a4bc0b73d1f32bc45510 # v3.3.0 - with: - client-id: ${{ vars.RELEASE_APP_CLIENT_ID }} - private-key: ${{ secrets.RELEASE_APP_PRIVATE_KEY }} - owner: ${{ github.repository_owner }} - repositories: ${{ github.event.repository.name }} - permission-contents: write - - uses: tox-dev/github-workflows/commit-and-tag@c72de07ce576af07b6abe0f1edfc999c288e743e - with: - version: ${{ needs.assemble.outputs.version }} - token: ${{ steps.token.outputs.token }} - app-slug: ${{ steps.token.outputs.app-slug }} - message: "chore: prepare ${{ needs.assemble.outputs.version }}" - annotated: "false" + with: + bump: ${{ inputs.bump }} + changelog: docs/changelog.rst + fragments: docs/changelog.d + format: rst diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 1d9eafd..2497308 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -2,51 +2,24 @@ name: Release to PyPI on: push: tags: ["*"] - permissions: contents: read - env: dists-artifact-name: python-package-distributions - jobs: build: - runs-on: ubuntu-26.04 - steps: - - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - with: - fetch-depth: 0 - persist-credentials: false - - name: Require a changelog section for the tag - env: - TAG: ${{ github.ref_name }} - run: | - if [[ ! "$TAG" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then - echo "::error::unexpected release tag $TAG" - exit 1 - fi - if ! grep -qF "v$TAG (" docs/changelog.rst; then - echo "::error::docs/changelog.rst has no section for $TAG" - exit 1 - fi - - name: Install the latest version of uv - uses: astral-sh/setup-uv@1c37ad07a6a961277cf70c0d37d6f313000f5884 # v10.3.0 - with: - python-version: "3.15" - enable-cache: false - cache-dependency-glob: "pyproject.toml" - github-token: ${{ secrets.GITHUB_TOKEN }} - - name: Build package - run: uv build --python 3.15 --python-preference only-managed --sdist --wheel . --out-dir dist - - name: Store the distribution packages - uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 - with: - name: ${{ env.dists-artifact-name }} - path: dist/* - + uses: tox-dev/github-workflows/.github/workflows/validate-python-release.yaml@5e11f2254a4dcb7102747d312ad7db48a2e9b0cb + permissions: + contents: read + with: + changelog: docs/changelog.rst + fragments: docs/changelog.d + format: rst + artifact-base-url: https://pypi.org/project/pyproject-api/ release: needs: - build + - github-notes runs-on: ubuntu-26.04 environment: name: release @@ -63,11 +36,13 @@ jobs: uses: pypa/gh-action-pypi-publish@dc37677b2e1c63e2034f94d8a5b11f265b73ba33 # v1.14.2 with: attestations: true - github-release: - needs: release + previous-tag: + needs: build runs-on: ubuntu-26.04 permissions: - contents: write + contents: read + outputs: + tag: ${{ steps.previous.outputs.tag }} steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: @@ -81,35 +56,103 @@ jobs: run: | set -euo pipefail uv venv --python 3.15 "$RUNNER_TEMP/release-tools" - uv pip sync --preview-features pylock --python "$RUNNER_TEMP/release-tools/bin/python" --group release pylock.toml - echo "$RUNNER_TEMP/release-tools/bin" >> "$GITHUB_PATH" + uv pip sync \ + --preview-features pylock \ + --python "$RUNNER_TEMP/release-tools/bin/python" \ + --group release \ + pylock.toml + echo "$RUNNER_TEMP/release-tools/bin" >>"$GITHUB_PATH" + - name: Select previous tag + id: previous + env: + TAG: ${{ github.ref_name }} + run: | + previous=$(git tag --list | release-creator tags "$TAG" --previous) + echo "tag=$previous" >>"$GITHUB_OUTPUT" + contributor-metadata: + needs: previous-tag + runs-on: ubuntu-26.04 + permissions: + contents: write + steps: - name: Fetch contributor metadata env: GH_TOKEN: ${{ github.token }} TAG: ${{ github.ref_name }} + PREVIOUS: ${{ needs.previous-tag.outputs.tag }} run: | set -euo pipefail - previous=$(git tag --list | release-creator tags "$TAG" --previous) - if [[ -n "$previous" ]]; then + if [[ -n "$PREVIOUS" ]]; then gh api -X POST "repos/${GITHUB_REPOSITORY}/releases/generate-notes" \ - -f tag_name="$TAG" -f previous_tag_name="$previous" --jq .body > "$RUNNER_TEMP/generated-notes.md" + -f tag_name="$TAG" \ + -f previous_tag_name="$PREVIOUS" \ + --jq .body >"$RUNNER_TEMP/generated-notes.md" else gh api -X POST "repos/${GITHUB_REPOSITORY}/releases/generate-notes" \ - -f tag_name="$TAG" --jq .body > "$RUNNER_TEMP/generated-notes.md" + -f tag_name="$TAG" \ + --jq .body >"$RUNNER_TEMP/generated-notes.md" fi - - uses: tox-dev/github-workflows/render-release-notes@144f8e68b7d4c7c44e32258b1305e4402bc4e392 + - uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 + with: + name: contributor-metadata + path: ${{ runner.temp }}/generated-notes.md + if-no-files-found: error + retention-days: 1 + github-notes: + needs: contributor-metadata + runs-on: ubuntu-26.04 + permissions: + contents: read + steps: + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + with: + fetch-depth: 0 + persist-credentials: false + - uses: astral-sh/setup-uv@1c37ad07a6a961277cf70c0d37d6f313000f5884 # v10.3.0 + with: + python-version: "3.15" + enable-cache: false + - name: Install locked release tools + run: | + set -euo pipefail + uv venv --python 3.15 "$RUNNER_TEMP/release-tools" + uv pip sync \ + --preview-features pylock \ + --python "$RUNNER_TEMP/release-tools/bin/python" \ + --group release \ + pylock.toml + echo "$RUNNER_TEMP/release-tools/bin" >>"$GITHUB_PATH" + - uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8.0.2 + with: + name: contributor-metadata + path: ${{ runner.temp }}/contributor-metadata + - uses: tox-dev/github-workflows/render-release-notes@5e11f2254a4dcb7102747d312ad7db48a2e9b0cb with: tag: ${{ github.ref_name }} changelog: docs/changelog.rst repository: ${{ github.repository }} issue-role: issue artifact-url: https://pypi.org/project/pyproject-api/${{ github.ref_name }}/ - generated-notes: ${{ runner.temp }}/generated-notes.md + generated-notes: ${{ runner.temp }}/contributor-metadata/generated-notes.md output: ${{ runner.temp }}/release-notes.md + - uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 + with: + name: github-release-notes + path: ${{ runner.temp }}/release-notes.md + if-no-files-found: error + retention-days: 1 + github-release: + needs: [release, github-notes] + runs-on: ubuntu-26.04 + permissions: + contents: write + steps: + - uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8.0.2 + with: + name: github-release-notes + path: ${{ runner.temp }}/github-release-notes - name: Publish GitHub Release env: GH_TOKEN: ${{ github.token }} TAG: ${{ github.ref_name }} - run: | - set -euo pipefail - gh release create "$TAG" --verify-tag --title "$TAG" --notes-file "$RUNNER_TEMP/release-notes.md" + run: gh release create "$TAG" --verify-tag --title "$TAG" --notes-file "$RUNNER_TEMP/github-release-notes/release-notes.md" diff --git a/.github/workflows/upgrade-release-tools.yaml b/.github/workflows/upgrade-release-tools.yaml index 1fe2b34..cbc4515 100644 --- a/.github/workflows/upgrade-release-tools.yaml +++ b/.github/workflows/upgrade-release-tools.yaml @@ -9,7 +9,7 @@ concurrency: cancel-in-progress: false jobs: upgrade: - uses: tox-dev/github-workflows/.github/workflows/upgrade-release-tools.yaml@144f8e68b7d4c7c44e32258b1305e4402bc4e392 + uses: tox-dev/github-workflows/.github/workflows/upgrade-release-tools.yaml@5e11f2254a4dcb7102747d312ad7db48a2e9b0cb permissions: actions: write contents: write diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index e10bc03..a0925e0 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -2,44 +2,44 @@ default_language_version: python: python3.15 repos: - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v6.0.0 + rev: 3e8a8703264a2f4a69428a0aa4dcb512790b2c8c # frozen: v6.0.0 hooks: - id: end-of-file-fixer - id: trailing-whitespace - repo: https://github.com/python-jsonschema/check-jsonschema - rev: 0.38.2 + rev: 0494aa7fa1314e98913a41227d8f0a515b2c1049 # frozen: 0.38.2 hooks: - id: check-github-workflows args: [ "--verbose" ] - repo: https://github.com/codespell-project/codespell - rev: v2.4.3 + rev: 57b21406f092110c18776e39b0bda50d37c945c8 # frozen: v2.4.3 hooks: - id: codespell - repo: https://github.com/tox-dev/tox-toml-fmt - rev: "v1.11.1" + rev: "5125f601c3e134347288c3d42f3b34298b7cf1be" # frozen: v1.11.1 hooks: - id: tox-toml-fmt - repo: https://github.com/tox-dev/pyproject-fmt - rev: "v2.30.3" + rev: "50e0f3aee9dc5747a5f173f79a7417403c18dda6" # frozen: v2.30.3 hooks: - id: pyproject-fmt - repo: https://github.com/astral-sh/ruff-pre-commit - rev: "v0.17.1" + rev: "38bfb07c0c64c304f47eb52090f8288150c77730" # frozen: v0.17.1 hooks: - id: ruff-format - id: ruff args: ["--fix", "--unsafe-fixes", "--exit-non-zero-on-fix"] - repo: https://github.com/LilSpazJoekp/docstrfmt - rev: v2.2.1 + rev: c1813841673cdcd6cf602dde1edb78a5d5e45235 # frozen: v2.2.1 hooks: - id: docstrfmt files: | (?x) ^docs/changelog[.]rst$ # Only the generated release history. args: ["-l", "120", "--preserve-adornments"] - additional_dependencies: ["sphinx>=9.1"] + additional_dependencies: ["sphinx==9.2.0"] - repo: https://github.com/zizmorcore/zizmor-pre-commit - rev: v1.31.1 + rev: c92afdf2c6ca336aaa8f39e2bd8d48f62dbd8e1f # frozen: v1.31.1 hooks: - id: zizmor - repo: meta diff --git a/pylock.toml b/pylock.toml index bdde86e..aeeb6fa 100644 --- a/pylock.toml +++ b/pylock.toml @@ -3171,7 +3171,7 @@ sha256 = "a0a9962dbd64684b9bea2af582c631ae174d06850cd960eb37221dd6a0d6cdc4" name = "docutils" version = "0.22.4" index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"pkg-meta\" in dependency_groups or \"type\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15'))" +marker = "(\"dev\" in dependency_groups and (python_full_version < '3.13')) or (\"docs\" in dependency_groups and (python_full_version < '3.13')) or (\"pkg-meta\" in dependency_groups and (python_full_version < '3.13')) or (\"type\" in dependency_groups and (python_full_version < '3.13'))" [packages.sdist] url = "https://files.pythonhosted.org/packages/ae/b6/03bb70946330e88ffec97aefd3ea75ba575cb2e762061e0e62a213befee8/docutils-0.22.4.tar.gz" @@ -3189,6 +3189,28 @@ size = 633196 [packages.wheels.hashes] sha256 = "d0013f540772d1420576855455d050a2180186c91c15779301ac2ccb3eeb68de" +[[packages]] +name = "docutils" +version = "0.23" +index = "https://pypi.org/simple" +marker = "(\"dev\" in dependency_groups and (python_full_version >= '3.13')) or (\"docs\" in dependency_groups and (python_full_version >= '3.13')) or (\"pkg-meta\" in dependency_groups and (python_full_version >= '3.13')) or (\"release\" in dependency_groups and (python_full_version >= '3.15')) or (\"type\" in dependency_groups and (python_full_version >= '3.13'))" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/39/a4/5180d9afc57e8fca05601dd652bdff19604c218814037fe90ffc7625a50a/docutils-0.23.tar.gz" +upload-time = 2026-05-27 17:41:06+00:00 +size = 2303823 + +[packages.sdist.hashes] +sha256 = "746f5060322511280a1e50eb76846ed6bf2342984b2ac04dc42caa1a8d78799e" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/32/91/30151a39f7570f448ed84529390628a651d7f27c87d73c9b887f8189695e/docutils-0.23-py3-none-any.whl" +upload-time = 2026-05-27 17:40:58+00:00 +size = 634701 + +[packages.wheels.hashes] +sha256 = "25d013af9bf23bc1c7b2b093dff4208166c53a94786c9e447808335ef1185fea" + [[packages]] name = "docutils-stubs" version = "0.0.22" @@ -5432,89 +5454,89 @@ sha256 = "9012b09950a50efdcfb03b95355e1f65c14f9a5cb425d12c6bf2c6d6807617d7" [[packages]] name = "prek" -version = "0.5.6" +version = "0.5.7" index = "https://pypi.org/simple" marker = "(\"release\" in dependency_groups and (python_full_version >= '3.15'))" [packages.sdist] -url = "https://files.pythonhosted.org/packages/4f/96/c4062bcaebdabfa945d07c424fb8c05d53a72d4f3fdcf255b1188abbb150/prek-0.5.6.tar.gz" -upload-time = 2026-10-19 05:46:52+00:00 -size = 579962 +url = "https://files.pythonhosted.org/packages/e0/0c/985c6f0fe1671e639fb97bf5a60f3945369f26d4ccf5a8a1b063d357e6da/prek-0.5.7.tar.gz" +upload-time = 2026-10-21 00:46:48+00:00 +size = 580753 [packages.sdist.hashes] -sha256 = "87a8c19f873b96be809b4368959ed908cfa06255dba15082d0fb91173e9293bc" +sha256 = "91049700f0f13b4575deb44045dd6dd51f7c4a70c53ec5d452b09925962e3b35" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/4d/1b/763b3c673e954cb59f7eb9a6ad1f75871b9d6fb82d5216db440127da0aff/prek-0.5.6-py3-none-macosx_10_12_x86_64.whl" -upload-time = 2026-10-19 05:46:34+00:00 -size = 6066432 +url = "https://files.pythonhosted.org/packages/0c/36/56c107d100cabfb7e7c7f2e62d363052c77c3fcf664707b66ef9e3b865a4/prek-0.5.7-py3-none-macosx_10_12_x86_64.whl" +upload-time = 2026-10-21 00:46:31+00:00 +size = 6062121 [packages.wheels.hashes] -sha256 = "fd60c48d25dca3269f0f17ba8bdf7a89a7beb9cb02e00b7ca8127a0e41caa15a" +sha256 = "621835811891d11d3feb5ca47102ca97973c5b4e6fbd1b35b1293d412d29d9cc" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/69/c7/fd59deefb3c4018d94d2c9b736891d1cccc8651e9f264c51769931cdd4c1/prek-0.5.6-py3-none-macosx_11_0_arm64.whl" -upload-time = 2026-10-19 05:46:36+00:00 -size = 5698795 +url = "https://files.pythonhosted.org/packages/51/59/1868e2d6b3581eb9f327cb7db4270c4f38e80c5b175517e439e106eac704/prek-0.5.7-py3-none-macosx_11_0_arm64.whl" +upload-time = 2026-10-21 00:46:34+00:00 +size = 5686422 [packages.wheels.hashes] -sha256 = "4325b7ff03720394825b99b0696d1cc6f83999f429110c3f9381b2645a4c398f" +sha256 = "ef10cf46c0660b011fc067b7ce20dc78f2c44b6f905bf8dc49402353f67283b1" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/62/6a/233b321c72fdbf96124b8235c250eef29b25a7a9bfacbad7740fec9f92d4/prek-0.5.6-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl" -upload-time = 2026-10-19 05:46:37+00:00 -size = 5823392 +url = "https://files.pythonhosted.org/packages/7f/e3/90901432ee7ca288b46872552ca8f658b2262cf56d9af3c1eb0416f206da/prek-0.5.7-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl" +upload-time = 2026-10-21 00:46:35+00:00 +size = 5817816 [packages.wheels.hashes] -sha256 = "a10d206fe05cc26c551bb986de255115d52e11306a36cdbcdcd0ab725317a5b2" +sha256 = "b38075f9363066d72d1cd887b5a260ec938516fea9ea44def53e592ee75090d5" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/67/87/dc12aaf396877824f54ac4483a2604213fb44061c38a4ec11892766bcb4f/prek-0.5.6-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" -upload-time = 2026-10-19 05:46:40+00:00 -size = 6283256 +url = "https://files.pythonhosted.org/packages/b5/d1/f8e24b15906e433850a2c8409ae3a9270724b2a5d4a71b8c4eadafeb201b/prek-0.5.7-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" +upload-time = 2026-10-21 00:46:37+00:00 +size = 6276177 [packages.wheels.hashes] -sha256 = "b2e6b232654b16e37a554951f84af35470a4bd857af89c21e8fc87e2a475351d" +sha256 = "6a8f7734931c4b6a5f2efca121fabed7979408df233ce6d9b043f4148873021c" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/e1/f7/04e08d2343ce1d54c5da879e2dfea7df20f3140b1b2023a937fac87fa545/prek-0.5.6-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" -upload-time = 2026-10-19 05:46:42+00:00 -size = 6165929 +url = "https://files.pythonhosted.org/packages/4b/15/c83456872211706839ff326474aa9f2d870eef7ee5ec2c436446519779d2/prek-0.5.7-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" +upload-time = 2026-10-21 00:46:39+00:00 +size = 6140221 [packages.wheels.hashes] -sha256 = "aabec01beeb372bcdc48f6b339021bc33c07edf477b337fc92dc5d3b01f99150" +sha256 = "c139c494fb1d9826688f8107d1514fa2a58f8f4a0f0527b68e7970fa50a8b723" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/61/72/727103d1ce2be13eba7948640db9ceae5c58303ab4cd2bd299da41d5ef1e/prek-0.5.6-py3-none-manylinux_2_28_aarch64.whl" -upload-time = 2026-10-19 05:46:44+00:00 -size = 5837437 +url = "https://files.pythonhosted.org/packages/cb/b5/996b05447d4c2a4399947a7c5c910b2cd2c544b3074c11153ae3e21b4112/prek-0.5.7-py3-none-manylinux_2_28_aarch64.whl" +upload-time = 2026-10-21 00:46:41+00:00 +size = 5812638 [packages.wheels.hashes] -sha256 = "86407b8be824faa81f299fa41cf466bc811882ddf3a05ef5c578b172abaf1183" +sha256 = "e86139ab5662124818dc1957854d8281f635414016e545ab72e63365c995824b" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/64/84/4e54e226023063f426d84cc0da612eaae360283a82e3d76195c75ff81bba/prek-0.5.6-py3-none-musllinux_1_1_x86_64.whl" -upload-time = 2026-10-19 05:46:46+00:00 -size = 6305234 +url = "https://files.pythonhosted.org/packages/83/e5/60e0e76cd6819d75026b3a8147ddbd2b3fcab27c02236bce8b3a559e0e64/prek-0.5.7-py3-none-musllinux_1_1_x86_64.whl" +upload-time = 2026-10-21 00:46:42+00:00 +size = 6298681 [packages.wheels.hashes] -sha256 = "84215a6b8b3e8825eba924d91422df7c35e0413c134796a6821dcb917858ec8e" +sha256 = "94bd6a93ccf8ebb1d30b822161515e3e31ea916ce7411febe8ceb5f607eb840d" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/c2/3c/064a1df7c0841d0cec8351eca492fc5b9a526314cb1ddb99276a21fdcf63/prek-0.5.6-py3-none-win_amd64.whl" -upload-time = 2026-10-19 05:46:48+00:00 -size = 5709609 +url = "https://files.pythonhosted.org/packages/54/97/e14b12e7d8fbdb468581d778fb892c855fbca325d4344cc535c12e2851a5/prek-0.5.7-py3-none-win_amd64.whl" +upload-time = 2026-10-21 00:46:44+00:00 +size = 5692294 [packages.wheels.hashes] -sha256 = "e32821fb947700d322ca9d401009962bc9652e017fa232ceb27ce89168044e5b" +sha256 = "fa69837b6d1d2b6be5fe7fe4cd27fd5606f2155e784fec55ee7df7ed9f9bf211" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/e4/67/3dad56a4a998d17cbb23c4577c101dc15298a0f3e572d3c87ca148449d80/prek-0.5.6-py3-none-win_arm64.whl" -upload-time = 2026-10-19 05:46:50+00:00 -size = 5643378 +url = "https://files.pythonhosted.org/packages/bf/28/9dc15c0644cc6019c16c5cdd44e5004b641f5e910488f830e80dfdd11042/prek-0.5.7-py3-none-win_arm64.whl" +upload-time = 2026-10-21 00:46:46+00:00 +size = 5626111 [packages.wheels.hashes] -sha256 = "0ac40373841d087ec5efebd5b84c5c0eb5671285fdc7c2b4473096b30d0bf1e5" +sha256 = "239ccb081e3766d83a6a9a5ebee1d5cbb7986fc8e4f230e785423d409cff95e3" [[packages]] name = "pycparser" @@ -7318,14 +7340,14 @@ sha256 = "d0dae1f74bb273b534770cb4cccb6bb78735540afdb03c2146f4e19dcd412560" [[packages]] name = "release-creator" -version = "0.4.2.dev15+g6377ed5b4" +version = "0.4.2.dev23+gcf1d89453" marker = "(\"release\" in dependency_groups and (python_full_version >= '3.15'))" [packages.vcs] type = "git" url = "https://github.com/tox-dev/release-creator" -requested-revision = "6377ed5b470b66fca2bf482ca1a73d95e611f517" -commit-id = "6377ed5b470b66fca2bf482ca1a73d95e611f517" +requested-revision = "cf1d89453fc88887e5cf924f6bc1b83157d3a6ac" +commit-id = "cf1d89453fc88887e5cf924f6bc1b83157d3a6ac" [[packages]] name = "requests" @@ -7595,7 +7617,7 @@ sha256 = "5bebc595a5e943ea248b99c13814c1c5e10b3ece718976824ffa7959ff95fffb" name = "sphinx" version = "9.1.1" index = "https://pypi.org/simple" -marker = "(\"dev\" in dependency_groups and (python_full_version >= '3.12')) or (\"docs\" in dependency_groups and (python_full_version >= '3.12')) or (\"release\" in dependency_groups and (python_full_version >= '3.15')) or (\"type\" in dependency_groups and (python_full_version >= '3.12'))" +marker = "(\"dev\" in dependency_groups and (python_full_version == '3.12.*')) or (\"docs\" in dependency_groups and (python_full_version == '3.12.*')) or (\"type\" in dependency_groups and (python_full_version == '3.12.*'))" [packages.sdist] url = "https://files.pythonhosted.org/packages/fc/73/567727fc8c8d85bc3adc88a246e12937cfda8d565cf1d80e85bceaa61fe5/sphinx-9.1.1.tar.gz" @@ -7613,6 +7635,28 @@ size = 3923559 [packages.wheels.hashes] sha256 = "f8b60013ce25017be41a509e5c2d265bc1918410061315c36b809c7f335646c0" +[[packages]] +name = "sphinx" +version = "9.2.0" +index = "https://pypi.org/simple" +marker = "(\"dev\" in dependency_groups and (python_full_version >= '3.13')) or (\"docs\" in dependency_groups and (python_full_version >= '3.13')) or (\"release\" in dependency_groups and (python_full_version >= '3.15')) or (\"type\" in dependency_groups and (python_full_version >= '3.13'))" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/64/d4/413466f0be8b1cb0e3e43893a148b96d7462d0923d82b4166b21afc5f30c/sphinx-9.2.0.tar.gz" +upload-time = 2026-10-21 00:05:15+00:00 +size = 8782438 + +[packages.sdist.hashes] +sha256 = "90470459f3cab15d9dfed146c71cf77694b0445df17b2e0e69059cb9f7fc9ee4" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/c4/28/a0c50761cd215b7042f4bc617a6bc5c0cd7be62f75bc908e169e28a4d21e/sphinx-9.2.0-py3-none-any.whl" +upload-time = 2026-10-21 00:05:12+00:00 +size = 3925388 + +[packages.wheels.hashes] +sha256 = "4c3ec13b612712c0d3ce4cbdd9e3eb91e68577e07a8e31f32f21cf178453578c" + [[packages]] name = "sphinx-autodoc-typehints" version = "3.17.2" @@ -8859,25 +8903,25 @@ sha256 = "deffa5a4afdb48f3e44fb26e80377d256b330ddcad0373daff4b54f6162b43a4" [[packages]] name = "virtualenv" -version = "21.14.11" +version = "21.14.12" index = "https://pypi.org/simple" marker = "\"dev\" in dependency_groups or \"lint\" in dependency_groups" [packages.sdist] -url = "https://files.pythonhosted.org/packages/7f/be/4d1d59d309db76b5808fcfd78bd5996f4e7241366691c38fc331a3136398/virtualenv-21.14.11.tar.gz" -upload-time = 2026-10-18 07:06:34+00:00 -size = 5503091 +url = "https://files.pythonhosted.org/packages/c9/2c/1a69b3346931e9a7db9cc00cc0fa847c843a85fa7cf52a598f57261c68df/virtualenv-21.14.12.tar.gz" +upload-time = 2026-10-21 01:58:51+00:00 +size = 5562800 [packages.sdist.hashes] -sha256 = "593052d8477ea8c55a842387ce111bd08c72618f0c1133c302cafe335e570a57" +sha256 = "bbcfb78e36c22ad70c6917c4aecb5e63477d3c138e9f88c946f320e31859c76a" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/ce/6b/d85da8982b41190eafcb9df91dff9d83fc6989e98af4b5be4c8f85510c95/virtualenv-21.14.11-py3-none-any.whl" -upload-time = 2026-10-18 07:06:32+00:00 -size = 5495268 +url = "https://files.pythonhosted.org/packages/a0/92/f3b8af2d36ddec4dc61dc25655dc010e419ff456cb4ca0e720c8112f1047/virtualenv-21.14.12-py3-none-any.whl" +upload-time = 2026-10-21 01:58:48+00:00 +size = 5556824 [packages.wheels.hashes] -sha256 = "b319f8590a84e5de5f8f2c803ecd2237e9bc0ffa7c1e875e3169c107cecb7454" +sha256 = "7820aeaef23f1f59a96458edfc7f9d3deac937155718de15f1c9a64471e15551" [[packages]] name = "wcwidth" diff --git a/pyproject.toml b/pyproject.toml index 185cb85..83ec1ad 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -86,7 +86,7 @@ pkg-meta = [ release = [ "docstrfmt>=2.2.1", "prek>=0.5", - "release-creator @ git+https://github.com/tox-dev/release-creator@6377ed5b470b66fca2bf482ca1a73d95e611f517", + "release-creator @ git+https://github.com/tox-dev/release-creator@cf1d89453fc88887e5cf924f6bc1b83157d3a6ac", "towncrier>=26.9", ] @@ -187,6 +187,7 @@ type = [ { directory = "change", name = "Changes", showcontent = true }, { directory = "bugfix", name = "Fixed", showcontent = true }, { directory = "doc", name = "Documentation", showcontent = true }, + { directory = "breaking", name = "Breaking changes", showcontent = true }, { directory = "security", name = "Security", showcontent = true }, { directory = "performance", name = "Performance", showcontent = true }, { directory = "deprecation", name = "Deprecated", showcontent = true }, From 4b9b321c3adb81820c3abc83304601763382a370 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bern=C3=A1t=20G=C3=A1bor?= Date: Wed, 21 Oct 2026 06:07:21 -0700 Subject: [PATCH 13/39] =?UTF-8?q?=F0=9F=90=9B=20fix(release):=20target=20r?= =?UTF-8?q?epository=20explicitly?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/release.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 2497308..a557b3f 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -154,5 +154,6 @@ jobs: - name: Publish GitHub Release env: GH_TOKEN: ${{ github.token }} + GH_REPO: ${{ github.repository }} TAG: ${{ github.ref_name }} run: gh release create "$TAG" --verify-tag --title "$TAG" --notes-file "$RUNNER_TEMP/github-release-notes/release-notes.md" From 1adbb778428cacb6b2a8909b9d438e02aaeac440 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bern=C3=A1t=20G=C3=A1bor?= Date: Wed, 21 Oct 2026 07:01:10 -0700 Subject: [PATCH 14/39] =?UTF-8?q?=F0=9F=93=9D=20docs:=20show=20draft=20rel?= =?UTF-8?q?ease=20entries?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/changelog.d/template.jinja2 | 5 + docs/changelog.rst | 2 + docs/conf.py | 5 + pylock.toml | 1010 ++++++++++++++++++------------ pyproject.toml | 1 + 5 files changed, 623 insertions(+), 400 deletions(-) diff --git a/docs/changelog.d/template.jinja2 b/docs/changelog.d/template.jinja2 index f754cfb..0298461 100644 --- a/docs/changelog.d/template.jinja2 +++ b/docs/changelog.d/template.jinja2 @@ -1,7 +1,12 @@ .. _release-{{ versiondata.version|replace('.', '-') }}: +{% if versiondata.version == 'Draft' %} +Draft +----- +{% else %} v{{ versiondata.version }} ({{ versiondata.date }}) {{ "-" * ((versiondata.version + versiondata.date)|length + 4) }} +{% endif %} {% for section in sections %} {% for category in definitions if category in sections[section] and sections[section][category] %} diff --git a/docs/changelog.rst b/docs/changelog.rst index 5bb5e53..98286ac 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -1,6 +1,8 @@ Release History =============== +.. towncrier-draft-entries:: Draft + .. towncrier release notes start .. _release-1-12-0: diff --git a/docs/conf.py b/docs/conf.py index df8d2ad..35f6ba3 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -2,6 +2,7 @@ from __future__ import annotations import os +from pathlib import Path from typing import TYPE_CHECKING from sphinx.domains.python import PythonDomain @@ -27,10 +28,14 @@ "sphinx_autodoc_typehints", "sphinx.ext.viewcode", "sphinx.ext.intersphinx", + "sphinxcontrib.towncrier.ext", ] master_doc, source_suffix = "index", ".rst" exclude_patterns = ["changelog.d/*"] autosectionlabel_maxdepth = 2 +towncrier_draft_autoversion_mode = "draft" +towncrier_draft_include_empty = True +towncrier_draft_working_directory = Path(__file__).parent.parent html_theme = "furo" html_title, html_last_updated_fmt = "pyproject-api docs", "%Y-%m-%dT%H:%M:%S" diff --git a/pylock.toml b/pylock.toml index aeeb6fa..1c4c16b 100644 --- a/pylock.toml +++ b/pylock.toml @@ -11,6 +11,7 @@ dependency-groups = [ "lint", "pkg-meta", "release", + "build", ] default-groups = [] @@ -353,25 +354,25 @@ sha256 = "28842f9a8207cc1df6eb983a35a14c5a0dfcd603d214fe82d84bef552afd2e3a" [[packages]] name = "certifi" -version = "2026.10.19" +version = "2026.7.22" index = "https://pypi.org/simple" marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"pkg-meta\" in dependency_groups or \"type\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15'))" [packages.sdist] -url = "https://files.pythonhosted.org/packages/a6/bd/1436c50cc46699de0230fbaacc1d1de7bfec413176099949e9d5112e88f2/certifi-2026.10.19.tar.gz" -upload-time = 2026-10-20 02:24:16+00:00 -size = 137598 +url = "https://files.pythonhosted.org/packages/a3/c2/24167ea9858356b47a87a50d39908bfdb72ceeefe0041586e704e5376b3a/certifi-2026.7.22.tar.gz" +upload-time = 2026-07-22 03:35:12+00:00 +size = 138112 [packages.sdist.hashes] -sha256 = "035c1e85572b141bf1c3a3eff0e33a8eb74917522f2559075ff8d2fea780a1ae" +sha256 = "741e2c3b351ddf169a738da9f2c048608ff7f2c5cc02f1ebc6b118bb090d5d55" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/c4/51/29046e48f693c54e5b7412216d447a1d8362c9653148d98c02cdf65fa733/certifi-2026.10.19-py3-none-any.whl" -upload-time = 2026-10-20 02:24:15+00:00 -size = 136464 +url = "https://files.pythonhosted.org/packages/0b/a7/71ac2cff56fec219ed242bb11b8efb69fcc4bec75db06fb7bfe35de520e6/certifi-2026.7.22-py3-none-any.whl" +upload-time = 2026-07-22 03:35:11+00:00 +size = 136983 [packages.wheels.hashes] -sha256 = "42d35340cc5b9ba78e818ddbff0c5b1c2b779de448a340fd1b989f5fa8670e1b" +sha256 = "62f22742b58a1a33014a2b6b706588a8d7e2a88ae7bd1a6ebe8c992928483775" [[packages]] name = "cffi" @@ -1865,7 +1866,7 @@ sha256 = "5ae39c8c434b972f0740d04610759168590713175aab584b012b1b84f6771874" name = "click" version = "8.5.0" index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"pkg-meta\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15'))" +marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"pkg-meta\" in dependency_groups or \"type\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15'))" [packages.sdist] url = "https://files.pythonhosted.org/packages/c7/0e/7fa0ef50764b67090eca4114772a2abf8b6148198475e54c660b97caeee6/click-8.5.0.tar.gz" @@ -3125,25 +3126,25 @@ sha256 = "1ba34f04897fcdaa73f74145c25f3ec146fbd56593853e88adc2e811303c5f42" [[packages]] name = "distlib" -version = "0.4.4" +version = "0.4.3" index = "https://pypi.org/simple" marker = "\"dev\" in dependency_groups or \"lint\" in dependency_groups" [packages.sdist] -url = "https://files.pythonhosted.org/packages/68/bc/d36966de7304047a1001a7559fbf266c464bb5d8cc85464536ef8c9bcc32/distlib-0.4.4.tar.gz" -upload-time = 2026-10-16 13:56:34+00:00 -size = 621304 +url = "https://files.pythonhosted.org/packages/c9/02/bd72be9134d25ed783ecbbc38a539ffaefbf90c78418c7fb7229600dbac7/distlib-0.4.3.tar.gz" +upload-time = 2026-06-12 08:04:52+00:00 +size = 615141 [packages.sdist.hashes] -sha256 = "ca4175b4ac7f71223cc30ed7248c45d2b38c2439d8ee6e498ab67ed63cf3508d" +sha256 = "f152097224a0ae24be5a0f6bae1b9359af82133bce63f98a95f86cae1aede9ed" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/c1/2b/238f02a4927fa2e27aa995371d240a468b52e42eae44a678434aff736b38/distlib-0.4.4-py2.py3-none-any.whl" -upload-time = 2026-10-16 13:56:32+00:00 -size = 472099 +url = "https://files.pythonhosted.org/packages/02/08/9c41fb51ab5b43eb21674aff13df270e8ba6c4b29c8624e328dc7a9482af/distlib-0.4.3-py2.py3-none-any.whl" +upload-time = 2026-06-12 08:04:50+00:00 +size = 470628 [packages.wheels.hashes] -sha256 = "cf09d55b1e85a89576b036aeb71550bfd68320f3f21761ca329eadadad918638" +sha256 = "4b0ce306c966eb73bc3a7b6abad017c556dadd92c44701562cd528ac7fde4d5b" [[packages]] name = "docstrfmt" @@ -3171,7 +3172,7 @@ sha256 = "a0a9962dbd64684b9bea2af582c631ae174d06850cd960eb37221dd6a0d6cdc4" name = "docutils" version = "0.22.4" index = "https://pypi.org/simple" -marker = "(\"dev\" in dependency_groups and (python_full_version < '3.13')) or (\"docs\" in dependency_groups and (python_full_version < '3.13')) or (\"pkg-meta\" in dependency_groups and (python_full_version < '3.13')) or (\"type\" in dependency_groups and (python_full_version < '3.13'))" +marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"pkg-meta\" in dependency_groups or \"type\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15'))" [packages.sdist] url = "https://files.pythonhosted.org/packages/ae/b6/03bb70946330e88ffec97aefd3ea75ba575cb2e762061e0e62a213befee8/docutils-0.22.4.tar.gz" @@ -3189,28 +3190,6 @@ size = 633196 [packages.wheels.hashes] sha256 = "d0013f540772d1420576855455d050a2180186c91c15779301ac2ccb3eeb68de" -[[packages]] -name = "docutils" -version = "0.23" -index = "https://pypi.org/simple" -marker = "(\"dev\" in dependency_groups and (python_full_version >= '3.13')) or (\"docs\" in dependency_groups and (python_full_version >= '3.13')) or (\"pkg-meta\" in dependency_groups and (python_full_version >= '3.13')) or (\"release\" in dependency_groups and (python_full_version >= '3.15')) or (\"type\" in dependency_groups and (python_full_version >= '3.13'))" - -[packages.sdist] -url = "https://files.pythonhosted.org/packages/39/a4/5180d9afc57e8fca05601dd652bdff19604c218814037fe90ffc7625a50a/docutils-0.23.tar.gz" -upload-time = 2026-05-27 17:41:06+00:00 -size = 2303823 - -[packages.sdist.hashes] -sha256 = "746f5060322511280a1e50eb76846ed6bf2342984b2ac04dc42caa1a8d78799e" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/32/91/30151a39f7570f448ed84529390628a651d7f27c87d73c9b887f8189695e/docutils-0.23-py3-none-any.whl" -upload-time = 2026-05-27 17:40:58+00:00 -size = 634701 - -[packages.wheels.hashes] -sha256 = "25d013af9bf23bc1c7b2b093dff4208166c53a94786c9e447808335ef1185fea" - [[packages]] name = "docutils-stubs" version = "0.0.22" @@ -3235,25 +3214,25 @@ sha256 = "157807309de24e8c96af9a13afe207410f1fc6e5aab5d974fd6b9191f04de327" [[packages]] name = "filelock" -version = "4.2.4" +version = "4.1.1" index = "https://pypi.org/simple" marker = "\"dev\" in dependency_groups or \"lint\" in dependency_groups" [packages.sdist] -url = "https://files.pythonhosted.org/packages/d8/28/3893324bcadf8f89b1616637468d766af3f625008c0735bf704fdfa86617/filelock-4.2.4.tar.gz" -upload-time = 2026-10-19 01:57:51+00:00 -size = 652444 +url = "https://files.pythonhosted.org/packages/35/c8/1d457d9150ff948f2ce6ada7715e0eeebbe5d3b58a45271a1e222474bcd3/filelock-4.1.1.tar.gz" +upload-time = 2026-10-11 16:11:54+00:00 +size = 563430 [packages.sdist.hashes] -sha256 = "c6d8663535e1650ee430507b4ffbac7b464dd64b7647ea0112a9f406499d163d" +sha256 = "7ba0927482c5a814b0a7f391d029ccdb8010f576f0a74c0dcde1811e8bc4c1b6" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/e0/1b/5e74289a1878e666bb4b65fe5805a04cafcac2aa5f519ef1ead67ef91c56/filelock-4.2.4-py3-none-any.whl" -upload-time = 2026-10-19 01:57:49+00:00 -size = 162475 +url = "https://files.pythonhosted.org/packages/d7/8b/f837f52905395ba4510fe61f753c24833fb0a9c76e21267bb9f828b664a9/filelock-4.1.1-py3-none-any.whl" +upload-time = 2026-10-11 16:11:52+00:00 +size = 132460 [packages.wheels.hashes] -sha256 = "301241438c57936ef93f4243a94f2559022268bfcf9b375a9a72eb0f8db8358e" +sha256 = "3f4a557945a7b0f95efeb1f432267affe5d45ac8ddde2aed1b97ebb62382c089" [[packages]] name = "furo" @@ -3277,6 +3256,69 @@ size = 339262 [packages.wheels.hashes] sha256 = "bb0ead5309f9500130665a26bee87693c41ce4dbdff864dbfb6b0dae4673d24f" +[[packages]] +name = "hatch-fancy-pypi-readme" +version = "25.1.0" +marker = "\"build\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/f3/0f/aed57c301f339936eb91cb4d8c1e5088a101081854bd3ec18a889df32365/hatch_fancy_pypi_readme-25.1.0.tar.gz" +upload-time = 2025-05-01 10:34:42+00:00 +size = 29701 + +[packages.sdist.hashes] +sha256 = "9c58ed3dff90d51f43414ce37009ad1d5b0f08ffc9fc216998a06380f01c0045" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/58/b4/ad71e051b34f1935783de37beffee16e343ff2514b204dc515f9e939d4af/hatch_fancy_pypi_readme-25.1.0-py3-none-any.whl" +upload-time = 2025-05-01 10:34:41+00:00 +size = 10046 + +[packages.wheels.hashes] +sha256 = "ce0134c40d63d874ac48f48ccc678b8f3b62b8e50e9318520d2bffc752eedaf3" + +[[packages]] +name = "hatch-vcs" +version = "0.5.0" +marker = "\"build\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/6b/b0/4cc743d38adbee9d57d786fa496ed1daadb17e48589b6da8fa55717a0746/hatch_vcs-0.5.0.tar.gz" +upload-time = 2025-05-27 05:16:04+00:00 +size = 11424 + +[packages.sdist.hashes] +sha256 = "0395fa126940340215090c344a2bf4e2a77bcbe7daab16f41b37b98c95809ff9" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/5f/48/1f85cee4b7b4f40b9b814b1febbc661bda6ced9649e410a0b74f6e415dd0/hatch_vcs-0.5.0-py3-none-any.whl" +upload-time = 2025-05-27 05:16:03+00:00 +size = 8507 + +[packages.wheels.hashes] +sha256 = "b49677dbdc597460cc22d01b27ab3696f5e16a21ecf2700fb01bc28e1f2a04a7" + +[[packages]] +name = "hatchling" +version = "1.32.4" +marker = "\"build\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/f6/97/b5312f01a8c6daf729a9d272dd442e0c546dbcc630495788786c4b567ed0/hatchling-1.32.4.tar.gz" +upload-time = 2026-09-20 22:48:45+00:00 +size = 58065 + +[packages.sdist.hashes] +sha256 = "c4468f73144c054d2aab4ef0f0378c43b9878bf07f8ffd6b79690e970d375f07" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/5f/80/91f51f439c05d4ec4623c22928ce16a938d6d793bf709477830823497859/hatchling-1.32.4-py3-none-any.whl" +upload-time = 2026-09-20 22:48:44+00:00 +size = 78748 + +[packages.wheels.hashes] +sha256 = "08ecf7548fb48205e7f213d70c71e67b8271b7242093dc3f1da578b42c734a2c" + [[packages]] name = "id" version = "1.6.1" @@ -5034,25 +5076,25 @@ sha256 = "84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8" [[packages]] name = "more-itertools" -version = "11.2.1" +version = "11.2.0" index = "https://pypi.org/simple" marker = "(\"dev\" in dependency_groups and (platform_machine != 'ppc64le' and platform_machine != 's390x')) or (\"pkg-meta\" in dependency_groups and (platform_machine != 'ppc64le' and platform_machine != 's390x'))" [packages.sdist] -url = "https://files.pythonhosted.org/packages/52/b8/c63995bebbb9ac9c059350e0fb8c82c2420c85aeca7d34e40aecf3df9281/more_itertools-11.2.1.tar.gz" -upload-time = 2026-10-14 18:50:30+00:00 -size = 154133 +url = "https://files.pythonhosted.org/packages/55/e5/8735dc589d9e3571e76cd684e7763dc0fcc940b811f71640410458749689/more_itertools-11.2.0.tar.gz" +upload-time = 2026-10-13 16:01:14+00:00 +size = 75940 [packages.sdist.hashes] -sha256 = "cbf08fd0af284dc69718b9b76a8e6203df624d70209ea511e4219d350c856f63" +sha256 = "59960f488835254863a857eb501f69e4ec92fdc8822f098c0f48dba530afd487" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/5d/57/3c4b1c6f2e0cc29ba023802458ea3d2a996f87085559e4a5f2192d549532/more_itertools-11.2.1-py3-none-any.whl" -upload-time = 2026-10-14 18:50:29+00:00 -size = 74405 +url = "https://files.pythonhosted.org/packages/d4/f7/86f27473377a8ebdbdfedec5e62e87fbc24c4c88ed0a2a5ea0a12ee2229b/more_itertools-11.2.0-py3-none-any.whl" +upload-time = 2026-10-13 16:01:13+00:00 +size = 74407 [packages.wheels.hashes] -sha256 = "35a7377edd1dd6608dcb2cdf534ded55ea32d49448875ad042cd3f879fb1ded0" +sha256 = "e4c522352a24664c974d0be8382944107ae638281a06391a5a538366b5707fe5" [[packages]] name = "mypy-extensions" @@ -5342,6 +5384,27 @@ size = 129956 [packages.wheels.hashes] sha256 = "d7193f7c8e4e93f444fde0262bf90af30e16fa0ad0ad44cb553c87339b23cd1c" +[[packages]] +name = "packaging" +version = "26.3" +marker = "\"build\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/7d/fa/3944b40b07da9ce895c0e6303a5ab7d53da063554f534556b134a54d6093/packaging-26.3.tar.gz" +upload-time = 2026-08-04 18:15:28+00:00 +size = 313412 + +[packages.sdist.hashes] +sha256 = "94edc256424af38762eb31306eed28beb9f0efc50a8837492c9d6fd6004aed79" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/63/34/ba1c580383c9eada3711951fef0795c80b829a078d72188184bcab9dd527/packaging-26.3-py3-none-any.whl" +upload-time = 2026-08-04 18:15:27+00:00 +size = 129956 + +[packages.wheels.hashes] +sha256 = "d7193f7c8e4e93f444fde0262bf90af30e16fa0ad0ad44cb553c87339b23cd1c" + [[packages]] name = "pathspec" version = "1.1.1" @@ -5364,49 +5427,91 @@ size = 57328 [packages.wheels.hashes] sha256 = "a00ce642f577bf7f473932318056212bc4f8bfdf53128c78bbd5af0b9b20b189" +[[packages]] +name = "pathspec" +version = "1.1.1" +marker = "\"build\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/5a/82/42f767fc1c1143d6fd36efb827202a2d997a375e160a71eb2888a925aac1/pathspec-1.1.1.tar.gz" +upload-time = 2026-04-27 01:46:08+00:00 +size = 135180 + +[packages.sdist.hashes] +sha256 = "17db5ecd524104a120e173814c90367a96a98d07c45b2e10c2f3919fff91bf5a" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/f1/d9/7fb5aa316bc299258e68c73ba3bddbc499654a07f151cba08f6153988714/pathspec-1.1.1-py3-none-any.whl" +upload-time = 2026-04-27 01:46:07+00:00 +size = 57328 + +[packages.wheels.hashes] +sha256 = "a00ce642f577bf7f473932318056212bc4f8bfdf53128c78bbd5af0b9b20b189" + [[packages]] name = "platformdirs" -version = "4.13.5" +version = "4.13.0" index = "https://pypi.org/simple" marker = "\"dev\" in dependency_groups or \"lint\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15'))" [packages.sdist] -url = "https://files.pythonhosted.org/packages/58/e6/d0abbb256b44e6a05748c6942511ff67db8dbb068de0c35b24bf1b395b09/platformdirs-4.13.5.tar.gz" -upload-time = 2026-10-19 01:02:11+00:00 -size = 62362 +url = "https://files.pythonhosted.org/packages/80/a8/66d45abadff219e36e2a824181b8f6a67e7ed4572934d6252c71c29d5731/platformdirs-4.13.0.tar.gz" +upload-time = 2026-10-11 02:05:24+00:00 +size = 61094 [packages.sdist.hashes] -sha256 = "05831adf87d392760f4b5c3a0a95579ab5a10b18b9b9bd43680dcb47544788a0" +sha256 = "1aa0b0d3f224c1f07c295121e312a5a24a180d6ae5a8425ea1784b3e3863e9c0" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/6c/8a/1d8cb3842909dc193a73835adedf412e32e18f8ffd59f43983949622fe6f/platformdirs-4.13.5-py3-none-any.whl" -upload-time = 2026-10-19 01:02:10+00:00 -size = 32779 +url = "https://files.pythonhosted.org/packages/8d/15/1633010b26e88e872c93b67c0b6c5e174fb74cb6fb5c1472b4d51d4a8f22/platformdirs-4.13.0-py3-none-any.whl" +upload-time = 2026-10-11 02:05:22+00:00 +size = 32724 [packages.wheels.hashes] -sha256 = "53d3ec4280b815c1e0b02edad7f9ee8fda1ba9c0865dd9c2e6e63849ce82fc1e" +sha256 = "3dbcf4cd708f21cf876c4eaa90e58412bc4f033d87143f41b1493ff77c25b7e1" [[packages]] name = "pluggy" -version = "1.7.0" +version = "1.6.0" index = "https://pypi.org/simple" marker = "\"dev\" in dependency_groups or \"test\" in dependency_groups or \"type\" in dependency_groups" [packages.sdist] -url = "https://files.pythonhosted.org/packages/bf/db/7fc19e6f2dc92a966727031389fc2e08b558f0f25eb7403c1119ad4713cd/pluggy-1.7.0.tar.gz" -upload-time = 2026-10-15 09:50:58+00:00 -size = 123304 +url = "https://files.pythonhosted.org/packages/f9/e2/3e91f31a7d2b083fe6ef3fa267035b518369d9511ffab804f839851d2779/pluggy-1.6.0.tar.gz" +upload-time = 2025-05-15 12:30:07+00:00 +size = 69412 + +[packages.sdist.hashes] +sha256 = "7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl" +upload-time = 2025-05-15 12:30:06+00:00 +size = 20538 + +[packages.wheels.hashes] +sha256 = "e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746" + +[[packages]] +name = "pluggy" +version = "1.6.0" +marker = "\"build\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/f9/e2/3e91f31a7d2b083fe6ef3fa267035b518369d9511ffab804f839851d2779/pluggy-1.6.0.tar.gz" +upload-time = 2025-05-15 12:30:07+00:00 +size = 69412 [packages.sdist.hashes] -sha256 = "d1eaa46ebb595891b860ab086b4d09c8588af65ebd4361b8e8f4bb8920b90ba8" +sha256 = "7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/40/9e/2b38731e0fc536806f16490e1a12d7f0dc2a1235aa8cc07bcc75416a7daa/pluggy-1.7.0-py3-none-any.whl" -upload-time = 2026-10-15 09:50:56+00:00 -size = 27082 +url = "https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl" +upload-time = 2025-05-15 12:30:06+00:00 +size = 20538 [packages.wheels.hashes] -sha256 = "7dd7b0d8832ba3cb632c306926ded123429211b83641b35dc5c41ad2d34f9bec" +sha256 = "e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746" [[packages]] name = "pre-commit" @@ -5454,89 +5559,89 @@ sha256 = "9012b09950a50efdcfb03b95355e1f65c14f9a5cb425d12c6bf2c6d6807617d7" [[packages]] name = "prek" -version = "0.5.7" +version = "0.5.5" index = "https://pypi.org/simple" marker = "(\"release\" in dependency_groups and (python_full_version >= '3.15'))" [packages.sdist] -url = "https://files.pythonhosted.org/packages/e0/0c/985c6f0fe1671e639fb97bf5a60f3945369f26d4ccf5a8a1b063d357e6da/prek-0.5.7.tar.gz" -upload-time = 2026-10-21 00:46:48+00:00 -size = 580753 +url = "https://files.pythonhosted.org/packages/9b/7b/11538b8e6cd7e269261feae62a2d08818fdcf8f43c3b1a253cec01a5488d/prek-0.5.5.tar.gz" +upload-time = 2026-10-05 06:08:59+00:00 +size = 570428 [packages.sdist.hashes] -sha256 = "91049700f0f13b4575deb44045dd6dd51f7c4a70c53ec5d452b09925962e3b35" +sha256 = "16bf596768bb754779c7d42317e9ca16ac609c0cce7d13bae0829944ab40a26a" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/0c/36/56c107d100cabfb7e7c7f2e62d363052c77c3fcf664707b66ef9e3b865a4/prek-0.5.7-py3-none-macosx_10_12_x86_64.whl" -upload-time = 2026-10-21 00:46:31+00:00 -size = 6062121 +url = "https://files.pythonhosted.org/packages/2e/77/189e554ea92baf6c1d33733b3e9d1ed819ab7d77e57eb2e3ead0bb1d8060/prek-0.5.5-py3-none-macosx_10_12_x86_64.whl" +upload-time = 2026-10-05 06:08:39+00:00 +size = 6038669 [packages.wheels.hashes] -sha256 = "621835811891d11d3feb5ca47102ca97973c5b4e6fbd1b35b1293d412d29d9cc" +sha256 = "50fbceb0f728b504023f6e6c9037ac0656436949d94f7a85bac5542e6c1a4a75" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/51/59/1868e2d6b3581eb9f327cb7db4270c4f38e80c5b175517e439e106eac704/prek-0.5.7-py3-none-macosx_11_0_arm64.whl" -upload-time = 2026-10-21 00:46:34+00:00 -size = 5686422 +url = "https://files.pythonhosted.org/packages/63/ea/fc857c6b3f1e3fdb4d81bdca2051076de82e986cb1455a01b351ac7a5cd1/prek-0.5.5-py3-none-macosx_11_0_arm64.whl" +upload-time = 2026-10-05 06:08:41+00:00 +size = 5548955 [packages.wheels.hashes] -sha256 = "ef10cf46c0660b011fc067b7ce20dc78f2c44b6f905bf8dc49402353f67283b1" +sha256 = "2f610927b95e84b28173a4c810892a7b5d5bb55bee792ddf97178fa97654633e" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/7f/e3/90901432ee7ca288b46872552ca8f658b2262cf56d9af3c1eb0416f206da/prek-0.5.7-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl" -upload-time = 2026-10-21 00:46:35+00:00 -size = 5817816 +url = "https://files.pythonhosted.org/packages/47/c3/2bab54f6393fb9f247225681d476086e24fa6242f329e9ca1e5bd638ec50/prek-0.5.5-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl" +upload-time = 2026-10-05 06:08:44+00:00 +size = 5848228 [packages.wheels.hashes] -sha256 = "b38075f9363066d72d1cd887b5a260ec938516fea9ea44def53e592ee75090d5" +sha256 = "120ef7d4b6bb58155e74827743c266e48501efb0e4c37ff726b14fe6e86a126b" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/b5/d1/f8e24b15906e433850a2c8409ae3a9270724b2a5d4a71b8c4eadafeb201b/prek-0.5.7-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" -upload-time = 2026-10-21 00:46:37+00:00 -size = 6276177 +url = "https://files.pythonhosted.org/packages/aa/f9/1279e1c83819de5904db1a09f4afc589932a2e62c7063713b1fe3a54ee46/prek-0.5.5-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" +upload-time = 2026-10-05 06:08:46+00:00 +size = 6371296 [packages.wheels.hashes] -sha256 = "6a8f7734931c4b6a5f2efca121fabed7979408df233ce6d9b043f4148873021c" +sha256 = "2f6c453a12c21757b23bbbc97415aef78527841ad3f9e61f52cb35cf012f93e5" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/4b/15/c83456872211706839ff326474aa9f2d870eef7ee5ec2c436446519779d2/prek-0.5.7-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" -upload-time = 2026-10-21 00:46:39+00:00 -size = 6140221 +url = "https://files.pythonhosted.org/packages/93/fc/e566be5919eaffef4cc22488f16e4bbfd08961734bd67c06f85d405e4cbc/prek-0.5.5-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" +upload-time = 2026-10-05 06:08:48+00:00 +size = 6269922 [packages.wheels.hashes] -sha256 = "c139c494fb1d9826688f8107d1514fa2a58f8f4a0f0527b68e7970fa50a8b723" +sha256 = "73d509c0d9556171de2502bada4962be7a25871e7b23e782549074e1416dc850" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/cb/b5/996b05447d4c2a4399947a7c5c910b2cd2c544b3074c11153ae3e21b4112/prek-0.5.7-py3-none-manylinux_2_28_aarch64.whl" -upload-time = 2026-10-21 00:46:41+00:00 -size = 5812638 +url = "https://files.pythonhosted.org/packages/d2/39/a48d8e6203055bff7bb734b1f2f9aede4a4539bee6ab4c9273dbc01fa546/prek-0.5.5-py3-none-manylinux_2_28_aarch64.whl" +upload-time = 2026-10-05 06:08:50+00:00 +size = 5861518 [packages.wheels.hashes] -sha256 = "e86139ab5662124818dc1957854d8281f635414016e545ab72e63365c995824b" +sha256 = "76c867fdbd4e4f19e6b6b2988bd1e1407d1324170ebcf1428e4e34f8f0751a99" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/83/e5/60e0e76cd6819d75026b3a8147ddbd2b3fcab27c02236bce8b3a559e0e64/prek-0.5.7-py3-none-musllinux_1_1_x86_64.whl" -upload-time = 2026-10-21 00:46:42+00:00 -size = 6298681 +url = "https://files.pythonhosted.org/packages/b7/03/690fba9543033e25ea2e7b2ae1cca1ae8d8c2e32295f0d66f4b50934b8c7/prek-0.5.5-py3-none-musllinux_1_1_x86_64.whl" +upload-time = 2026-10-05 06:08:52+00:00 +size = 6383685 [packages.wheels.hashes] -sha256 = "94bd6a93ccf8ebb1d30b822161515e3e31ea916ce7411febe8ceb5f607eb840d" +sha256 = "c69f60c2b3b4d481e38d0eab3b97ac05ec05d7648ae690925ae95ca9d22c7643" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/54/97/e14b12e7d8fbdb468581d778fb892c855fbca325d4344cc535c12e2851a5/prek-0.5.7-py3-none-win_amd64.whl" -upload-time = 2026-10-21 00:46:44+00:00 -size = 5692294 +url = "https://files.pythonhosted.org/packages/8c/04/1e9ccf3a61a3bfd4107b83973f7afde9177b6ff8f2d5d4b00125e77c2100/prek-0.5.5-py3-none-win_amd64.whl" +upload-time = 2026-10-05 06:08:55+00:00 +size = 5784759 [packages.wheels.hashes] -sha256 = "fa69837b6d1d2b6be5fe7fe4cd27fd5606f2155e784fec55ee7df7ed9f9bf211" +sha256 = "15bff9039349466ea9bf6b0c173b822ff08f8ae4cfbfdea782492e519c06d874" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/bf/28/9dc15c0644cc6019c16c5cdd44e5004b641f5e910488f830e80dfdd11042/prek-0.5.7-py3-none-win_arm64.whl" -upload-time = 2026-10-21 00:46:46+00:00 -size = 5626111 +url = "https://files.pythonhosted.org/packages/41/d9/bb6811e438d3c74d26cb5d72e6343606e0a7a6283fee87521189f4ba1191/prek-0.5.5-py3-none-win_arm64.whl" +upload-time = 2026-10-05 06:08:57+00:00 +size = 5517355 [packages.wheels.hashes] -sha256 = "239ccb081e3766d83a6a9a5ebee1d5cbb7986fc8e4f230e785423d409cff95e3" +sha256 = "3db3191d2509830c75438e20956a47c2259867d18a4106064ed75088b968a0c6" [[packages]] name = "pycparser" @@ -6640,47 +6745,47 @@ sha256 = "a0461110b7865f9a271aa1b51e516c9a95de9d696734a2f71e3e78f46e1d4678" [[packages]] name = "pytest-mock" -version = "3.17.0" +version = "3.16.0" index = "https://pypi.org/simple" marker = "\"dev\" in dependency_groups or \"test\" in dependency_groups or \"type\" in dependency_groups" [packages.sdist] -url = "https://files.pythonhosted.org/packages/97/c2/28b9f5b955ff2bcd4727a6f768e2ca9b586cd7c37b95ea5f7b9b873ac7b3/pytest_mock-3.17.0.tar.gz" -upload-time = 2026-10-17 16:21:42+00:00 -size = 43064 +url = "https://files.pythonhosted.org/packages/7a/7f/6ed29931d5c8cd396e7c0a55412e6cc88020373365c8685985dea53d26d7/pytest_mock-3.16.0.tar.gz" +upload-time = 2026-09-27 14:57:55+00:00 +size = 35362 [packages.sdist.hashes] -sha256 = "e36576e0985e01027e999891e7a966c67822d40c89ef1b4c8b6e22737e3590b4" +sha256 = "5a8395528b8f498205f3718f575228d0edaed7425fff638f87d1a6c3e0383636" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/e8/ea/47fbdc8f37410956fd445720e927589b1e2a47772c5f28109f0ce2fa26d9/pytest_mock-3.17.0-py3-none-any.whl" -upload-time = 2026-10-17 16:21:41+00:00 -size = 11248 +url = "https://files.pythonhosted.org/packages/db/5b/b83a9bf1a3b4ec222f9fa083147ff6816245223da0ab92370e7e056f113f/pytest_mock-3.16.0-py3-none-any.whl" +upload-time = 2026-09-27 14:57:54+00:00 +size = 10016 [packages.wheels.hashes] -sha256 = "1b82aa4b37137248bd687055e109723debeb07b489de1565297dc9589c5f2d6b" +sha256 = "007cfeb257801d88d9c0b2a7b5a15a15e73b71968dfd72e7bf8c4a2f8393aec8" [[packages]] name = "python-discovery" -version = "1.6.4" +version = "1.6.2" index = "https://pypi.org/simple" marker = "\"dev\" in dependency_groups or \"lint\" in dependency_groups" [packages.sdist] -url = "https://files.pythonhosted.org/packages/f3/ee/cf608372c88ce2c136ee13c69ab6f667dbc0d0c1176af188b4ddc8853e66/python_discovery-1.6.4.tar.gz" -upload-time = 2026-10-19 01:45:14+00:00 -size = 89883 +url = "https://files.pythonhosted.org/packages/b0/73/54993df8fc57e906dc9b7e01d1d9b0b2d3eb0ce3190639e33dccb12853f7/python_discovery-1.6.2.tar.gz" +upload-time = 2026-10-10 01:24:27+00:00 +size = 86921 [packages.sdist.hashes] -sha256 = "bc70d31f0ec5de11eda13d4d64c16e24b3506a65984684f2b6c98cb83b2ea9df" +sha256 = "cd1738ca1d37c86ef9d0b654dd46fcee1e41c97c6add12575e8501ced39afdb4" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/60/91/1aa70d3dfcab0dbcf88a2cbc3bce7f7c69562287a90216e617eaa4937e25/python_discovery-1.6.4-py3-none-any.whl" -upload-time = 2026-10-19 01:45:13+00:00 -size = 39385 +url = "https://files.pythonhosted.org/packages/61/3b/50ed32583bfffa737df67d33b9c15d7b25df232c55ab606d059f610ef6ca/python_discovery-1.6.2-py3-none-any.whl" +upload-time = 2026-10-10 01:24:26+00:00 +size = 38912 [packages.wheels.hashes] -sha256 = "530179cc51a1816d512b15635b3dc931295ae12efb183783ad31190a5d425d2b" +sha256 = "f0c697f95a3aaec4174a6e5e58f5885e25768684bafc76f1afde384709ebdcf2" [[packages]] name = "pytokens" @@ -7505,25 +7610,67 @@ sha256 = "0ce65888c0725fcb2c5bc0fdb8e5438eece02c523557ea40ce0703c266248137" [[packages]] name = "setuptools" -version = "84.2.1" +version = "84.0.0" index = "https://pypi.org/simple" marker = "\"dev\" in dependency_groups or \"test\" in dependency_groups or \"type\" in dependency_groups" [packages.sdist] -url = "https://files.pythonhosted.org/packages/70/b3/c19426f783614d625699a4b247faf628ea9ab1db228674491767b417f9e1/setuptools-84.2.1.tar.gz" -upload-time = 2026-10-20 19:01:37+00:00 -size = 1230289 +url = "https://files.pythonhosted.org/packages/6d/44/f5da03a8ef95d369145c5bb53050e7877c9f3d312e128605fd9504829143/setuptools-84.0.0.tar.gz" +upload-time = 2026-08-08 18:27:58+00:00 +size = 1168449 + +[packages.sdist.hashes] +sha256 = "f4695c21257f0d9b537ec2692c941d02ee143b7cc1276941349a546573b2ef73" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/95/9c/c510029fc6ef33a6275cd2c5d3cecd6613dfd6aa401d57c54f1c18852ccf/setuptools-84.0.0-py3-none-any.whl" +upload-time = 2026-08-08 18:27:56+00:00 +size = 818216 + +[packages.wheels.hashes] +sha256 = "51a52592b3b99e102b609654876bd65f19f999935166d1352678931132b0c670" + +[[packages]] +name = "setuptools" +version = "84.0.0" +marker = "\"build\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/6d/44/f5da03a8ef95d369145c5bb53050e7877c9f3d312e128605fd9504829143/setuptools-84.0.0.tar.gz" +upload-time = 2026-08-08 18:27:58+00:00 +size = 1168449 + +[packages.sdist.hashes] +sha256 = "f4695c21257f0d9b537ec2692c941d02ee143b7cc1276941349a546573b2ef73" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/95/9c/c510029fc6ef33a6275cd2c5d3cecd6613dfd6aa401d57c54f1c18852ccf/setuptools-84.0.0-py3-none-any.whl" +upload-time = 2026-08-08 18:27:56+00:00 +size = 818216 + +[packages.wheels.hashes] +sha256 = "51a52592b3b99e102b609654876bd65f19f999935166d1352678931132b0c670" + +[[packages]] +name = "setuptools-scm" +version = "10.3.4" +marker = "\"build\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/85/d8/fc143f88819ccf10ba2388ba86732ee2de193e578234e25a783f6cc14bf7/setuptools_scm-10.3.4.tar.gz" +upload-time = 2026-09-23 19:21:42+00:00 +size = 78410 [packages.sdist.hashes] -sha256 = "3ff8b3b5492a0aa66960f4419365a86b84e013070d4313e4d4a6894f5d64d6bc" +sha256 = "a69f28bfc245608781205e912faae437c2b2165773afa4e7b979d77447a69dd2" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/ef/55/6dc6d6bb953bdfc52519a0059592c52b6e3b8ad51cf8256dffceb55b0610/setuptools-84.2.1-py3-none-any.whl" -upload-time = 2026-10-20 19:01:35+00:00 -size = 876263 +url = "https://files.pythonhosted.org/packages/da/f5/54538a1f17ea753c42b0928dc2e62986d463f8c393340b9a1e602f2d4dd9/setuptools_scm-10.3.4-py3-none-any.whl" +upload-time = 2026-09-23 19:21:41+00:00 +size = 33366 [packages.wheels.hashes] -sha256 = "ca140b45d5325a9478f880e351484f62fef15f336462e449ca0c03c873d589c2" +sha256 = "82f34c3e3084fc2b57d397200637cc13f2338004052d2fee47baa5f0e902464e" [[packages]] name = "snowballstemmer" @@ -7615,69 +7762,47 @@ sha256 = "5bebc595a5e943ea248b99c13814c1c5e10b3ece718976824ffa7959ff95fffb" [[packages]] name = "sphinx" -version = "9.1.1" -index = "https://pypi.org/simple" -marker = "(\"dev\" in dependency_groups and (python_full_version == '3.12.*')) or (\"docs\" in dependency_groups and (python_full_version == '3.12.*')) or (\"type\" in dependency_groups and (python_full_version == '3.12.*'))" - -[packages.sdist] -url = "https://files.pythonhosted.org/packages/fc/73/567727fc8c8d85bc3adc88a246e12937cfda8d565cf1d80e85bceaa61fe5/sphinx-9.1.1.tar.gz" -upload-time = 2026-10-20 00:41:13+00:00 -size = 8725638 - -[packages.sdist.hashes] -sha256 = "48b627f02908f22c601b3ba9c7b17265b4f315dd05c8bc64cd4da41183f44fbc" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/47/18/3c66ea76da7de47e716b181c35bdbfafbd5e9af0bb247b14578e9de348e9/sphinx-9.1.1-py3-none-any.whl" -upload-time = 2026-10-20 00:41:11+00:00 -size = 3923559 - -[packages.wheels.hashes] -sha256 = "f8b60013ce25017be41a509e5c2d265bc1918410061315c36b809c7f335646c0" - -[[packages]] -name = "sphinx" -version = "9.2.0" +version = "9.1.0" index = "https://pypi.org/simple" -marker = "(\"dev\" in dependency_groups and (python_full_version >= '3.13')) or (\"docs\" in dependency_groups and (python_full_version >= '3.13')) or (\"release\" in dependency_groups and (python_full_version >= '3.15')) or (\"type\" in dependency_groups and (python_full_version >= '3.13'))" +marker = "(\"dev\" in dependency_groups and (python_full_version >= '3.12')) or (\"docs\" in dependency_groups and (python_full_version >= '3.12')) or (\"release\" in dependency_groups and (python_full_version >= '3.15')) or (\"type\" in dependency_groups and (python_full_version >= '3.12'))" [packages.sdist] -url = "https://files.pythonhosted.org/packages/64/d4/413466f0be8b1cb0e3e43893a148b96d7462d0923d82b4166b21afc5f30c/sphinx-9.2.0.tar.gz" -upload-time = 2026-10-21 00:05:15+00:00 -size = 8782438 +url = "https://files.pythonhosted.org/packages/cd/bd/f08eb0f4eed5c83f1ba2a3bd18f7745a2b1525fad70660a1c00224ec468a/sphinx-9.1.0.tar.gz" +upload-time = 2025-12-31 15:09:27+00:00 +size = 8718324 [packages.sdist.hashes] -sha256 = "90470459f3cab15d9dfed146c71cf77694b0445df17b2e0e69059cb9f7fc9ee4" +sha256 = "7741722357dd75f8190766926071fed3bdc211c74dd2d7d4df5404da95930ddb" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/c4/28/a0c50761cd215b7042f4bc617a6bc5c0cd7be62f75bc908e169e28a4d21e/sphinx-9.2.0-py3-none-any.whl" -upload-time = 2026-10-21 00:05:12+00:00 -size = 3925388 +url = "https://files.pythonhosted.org/packages/73/f7/b1884cb3188ab181fc81fa00c266699dab600f927a964df02ec3d5d1916a/sphinx-9.1.0-py3-none-any.whl" +upload-time = 2025-12-31 15:09:25+00:00 +size = 3921742 [packages.wheels.hashes] -sha256 = "4c3ec13b612712c0d3ce4cbdd9e3eb91e68577e07a8e31f32f21cf178453578c" +sha256 = "c84fdd4e782504495fe4f2c0b3413d6c2bf388589bb352d439b2a3bb99991978" [[packages]] name = "sphinx-autodoc-typehints" -version = "3.17.2" +version = "3.13.10" index = "https://pypi.org/simple" marker = "(\"dev\" in dependency_groups and (python_full_version >= '3.12')) or (\"docs\" in dependency_groups and (python_full_version >= '3.12')) or (\"type\" in dependency_groups and (python_full_version >= '3.12'))" [packages.sdist] -url = "https://files.pythonhosted.org/packages/9c/fa/c967fd665cc102c90338a90292aba336f852ee6f9b3477ffe4da565edb11/sphinx_autodoc_typehints-3.17.2.tar.gz" -upload-time = 2026-10-17 18:30:30+00:00 -size = 570767 +url = "https://files.pythonhosted.org/packages/44/e4/bd4791d4f954ef1b9e91d0c19d0a146018e3d5f93d43b36059bedebc999e/sphinx_autodoc_typehints-3.13.10.tar.gz" +upload-time = 2026-10-13 18:35:31+00:00 +size = 100076 [packages.sdist.hashes] -sha256 = "de41ed4001f4818bb6d37c22fd10ee44a93e6c8e945c6c7e3984e28a9df87d1c" +sha256 = "f73464a09355a9f63b688a5b9093b1c0f56dc4854ea30ca326268e3d5a8e27cd" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/78/d4/8fc500ff2fafe8a6e1847abd8b1072494dc1a5f136f8e890e973db7de4eb/sphinx_autodoc_typehints-3.17.2-py3-none-any.whl" -upload-time = 2026-10-17 18:30:28+00:00 -size = 140285 +url = "https://files.pythonhosted.org/packages/d6/b7/ea2999f049d23f41d386487b02b9231af46e733109d35ca406103f83e722/sphinx_autodoc_typehints-3.13.10-py3-none-any.whl" +upload-time = 2026-10-13 18:35:30+00:00 +size = 49718 [packages.wheels.hashes] -sha256 = "b0ad1f96503d69b63c2a1c043f12e2a727c9549e6503d4adbf2125dbf5ff50ed" +sha256 = "ab8474dd7c2ef297488849214da29dd6da140ff458592ddc30188a3b070b31f9" [[packages]] name = "sphinx-autodoc-typehints" @@ -7835,25 +7960,25 @@ sha256 = "166759820b47002d22914d64a075ce08f4c46818e17cfc9470a9786b759b19f8" [[packages]] name = "sphinxcontrib-jsmath" -version = "2.0.0" +version = "1.0.1" index = "https://pypi.org/simple" marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"type\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15'))" [packages.sdist] -url = "https://files.pythonhosted.org/packages/59/02/4f334c7fc3e54c51d2364575a41cd2fae6847e7f53001949f0be5f32e18b/sphinxcontrib_jsmath-2.0.0.tar.gz" -upload-time = 2026-10-20 18:22:05+00:00 -size = 14511 +url = "https://files.pythonhosted.org/packages/b2/e8/9ed3830aeed71f17c026a07a5097edcf44b692850ef215b161b8ad875729/sphinxcontrib-jsmath-1.0.1.tar.gz" +upload-time = 2019-01-21 16:10:16+00:00 +size = 5787 [packages.sdist.hashes] -sha256 = "551f780cf9687f9c3c74f0cf9f18aca06e0d6958853453f3803fe4d357c5b924" +sha256 = "a9925e4a4587247ed2191a22df5f6970656cb8ca2bd6284309578f2153e0c4b8" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/da/c2/2965c35b39587d4b7a397f65a9c7d4b942b031061e7ac1ce91782f394a0d/sphinxcontrib_jsmath-2.0.0-py3-none-any.whl" -upload-time = 2026-10-20 18:22:04+00:00 -size = 78095 +url = "https://files.pythonhosted.org/packages/c2/42/4c8646762ee83602e3fb3fbe774c2fac12f317deb0b5dbeeedd2d3ba4b77/sphinxcontrib_jsmath-1.0.1-py2.py3-none-any.whl" +upload-time = 2019-01-21 16:10:14+00:00 +size = 5071 [packages.wheels.hashes] -sha256 = "15ca92fe0eec82f0baf91a7efcc51ffacdb605924be6327683a52ebdacb6744c" +sha256 = "2ec2eaebfb78f3f2078e73666b1415417a116cc848b72e5172e596c871103178" [[packages]] name = "sphinxcontrib-qthelp" @@ -7899,6 +8024,28 @@ size = 92072 [packages.wheels.hashes] sha256 = "6e2cb0eef194e10c27ec0023bfeb25badbbb5868244cf5bc5bdc04e4464bf331" +[[packages]] +name = "sphinxcontrib-towncrier" +version = "0.5.0a0" +index = "https://pypi.org/simple" +marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"type\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/21/fe/72ed57093e28af10595c50839b183c5fdf0952482e9ef0ca6eb90eb85c5d/sphinxcontrib_towncrier-0.5.0a0.tar.gz" +upload-time = 2025-02-28 01:59:16+00:00 +size = 62453 + +[packages.sdist.hashes] +sha256 = "294e69df6e275e7a86df7ea6a927cc7c28c2c370a884cd5c45de6ec989858f27" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/ac/5c/f7e39f243636a5e1894f2f5a72579977bf3968922afdb75175ee45062066/sphinxcontrib_towncrier-0.5.0a0-py3-none-any.whl" +upload-time = 2025-02-28 01:59:15+00:00 +size = 12609 + +[packages.wheels.hashes] +sha256 = "11d130c3ad5e4649821d543c4ea7ab64bbe78df4d859ef94f4298e7845dc0f59" + [[packages]] name = "tabulate" version = "0.10.0" @@ -8469,11 +8616,32 @@ size = 6675 [packages.wheels.hashes] sha256 = "188306098d013b691fcadc011abd66727d3c414c571bb01b1a174ba8c983cf90" +[[packages]] +name = "tomlkit" +version = "0.15.1" +marker = "\"build\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/94/96/e07752635b98536177fa1f37671c8f3cdde2e724c6bcf6034b2cfb571565/tomlkit-0.15.1.tar.gz" +upload-time = 2026-07-17 01:48:04+00:00 +size = 180129 + +[packages.sdist.hashes] +sha256 = "e25bbf38843005246210a12982776f27f99cb9be67160e14434d0c0d21ee1e97" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/13/bc/8c13eb66537dce1d2bd3a57132902f38d0e7f5bb46fa9f4daed9fe9d76ee/tomlkit-0.15.1-py3-none-any.whl" +upload-time = 2026-07-17 01:48:05+00:00 +size = 49449 + +[packages.wheels.hashes] +sha256 = "177a05aece5a8ca5266fd3c448abb47b8d352f09d477d3ca8332db4d89b24304" + [[packages]] name = "towncrier" version = "26.9.0" index = "https://pypi.org/simple" -marker = "(\"release\" in dependency_groups and (python_full_version >= '3.15'))" +marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"type\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15'))" [packages.sdist] url = "https://files.pythonhosted.org/packages/92/d4/e85ce614bf45b1a7fe13b82cc687819c2eaac5a1dd94b84834322095fd98/towncrier-26.9.0.tar.gz" @@ -8491,6 +8659,27 @@ size = 67030 [packages.wheels.hashes] sha256 = "ae4d223e6aadaff98d29b7f09e58d9c9ccf4cd3b455a2d2e0486d432cd8bf660" +[[packages]] +name = "trove-classifiers" +version = "2026.9.21.13" +marker = "\"build\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/bf/93/af436dfaa845cab5d96f0adbc1e4f3730532d37fa249e4eb796fb1d7fc82/trove_classifiers-2026.9.21.13.tar.gz" +upload-time = 2026-09-21 13:29:07+00:00 +size = 17085 + +[packages.sdist.hashes] +sha256 = "0a9ebc8d4e2f3e8a22848c5258033035bec17a3012ac3fea16dbaa764489eb71" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/30/81/0da8afb52a71d0a4f2bd3152357b1a441e393b286374802b9d3addab4ab5/trove_classifiers-2026.9.21.13-py3-none-any.whl" +upload-time = 2026-09-21 13:29:06+00:00 +size = 14232 + +[packages.wheels.hashes] +sha256 = "8b1ff4f9c191b1040b71c37f1e445ab99732911e3cd91de52838453a854d7a17" + [[packages]] name = "twine" version = "7.0.0" @@ -8745,421 +8934,442 @@ sha256 = "0cf3cae568d36aa9576b28dfb35f11328f1cb974ca7647d9475ebb86c75ac6e3" [[packages]] name = "uv" -version = "0.13.4" +version = "0.13.0" index = "https://pypi.org/simple" marker = "\"dev\" in dependency_groups or \"lint\" in dependency_groups or \"pkg-meta\" in dependency_groups" [packages.sdist] -url = "https://files.pythonhosted.org/packages/79/55/609455d21e87430c11fe734abfced50a3bdf177b2f49d41fbb19c199cbc3/uv-0.13.4.tar.gz" -upload-time = 2026-10-20 15:12:06+00:00 -size = 7482486 +url = "https://files.pythonhosted.org/packages/05/ba/01146b98d782872d5f62b8568325d1faee9e190d97f7cef647bd19e243b3/uv-0.13.0.tar.gz" +upload-time = 2026-10-09 19:46:06+00:00 +size = 7257649 [packages.sdist.hashes] -sha256 = "b0bff5b9a5061f7a35b1d0c1a94c19af134222c48eb7aadc42f85a038be1b248" +sha256 = "9a38bd3406b2106288a38888df785f12c5ddc6db22871aacfe0a0ee766f9f6c0" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/93/4c/d2c91ce1a5282339031a3776e220f7200410d0b593ad30f0767f1e81bcd0/uv-0.13.0-py3-none-linux_armv6l.whl" +upload-time = 2026-10-09 19:45:18+00:00 +size = 19478543 + +[packages.wheels.hashes] +sha256 = "24119f4ab6cf3fcff9eca8e8e418a647c22100a510ea35ecf8bff6264f2e9ab4" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/2c/bd/4349da5356b17a1c0e36c8552c809925f86f6292de9b1f599f01e8e8093d/uv-0.13.4-py3-none-linux_armv6l.whl" -upload-time = 2026-10-20 15:11:02+00:00 -size = 18272390 +url = "https://files.pythonhosted.org/packages/ff/27/2a2dde8a643337b6746a8e632b3ba8aef7c82b9bc28642bb94dd3a046ef5/uv-0.13.0-py3-none-macosx_10_12_x86_64.whl" +upload-time = 2026-10-09 19:45:21+00:00 +size = 18315461 [packages.wheels.hashes] -sha256 = "205a4f93e568fb24f45a2f3834f1c0a8f1adb5f396bf473c71030ed707dce048" +sha256 = "93265932cb2efd1486d4d182211281b3f0b31637e2fc160c4c8d7b15294188d1" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/21/f2/0cb77a1ae43959772f8f7873eb1f4061907fbb1694ce55c79b231f639b1d/uv-0.13.4-py3-none-macosx_10_12_x86_64.whl" -upload-time = 2026-10-20 15:11:07+00:00 -size = 17384113 +url = "https://files.pythonhosted.org/packages/9e/d4/d42eabbd9b61a965e0a262e06bf8452744593e7a3110a5c4273c4e917729/uv-0.13.0-py3-none-macosx_11_0_arm64.whl" +upload-time = 2026-10-09 19:45:23+00:00 +size = 14803271 [packages.wheels.hashes] -sha256 = "b4bbacea78c9db136cd2ec3147cbfd9ed910b4db5e1877109bd74d0e73bb2eaf" +sha256 = "a5f93ae362b751737cecef0bbc0294624be68a843ff9b32d86e6862a26101630" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/26/44/5a8733dd1b2e8d6f9cffd1ff6428a3e11dcc7e146a7657e32cfb8d9fb4a4/uv-0.13.4-py3-none-macosx_11_0_arm64.whl" -upload-time = 2026-10-20 15:11:10+00:00 -size = 14433723 +url = "https://files.pythonhosted.org/packages/65/0e/9e707b242c041dd10d31688a7d0acf90ee321ef7627bdf0978b3d19e3325/uv-0.13.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl" +upload-time = 2026-10-09 19:45:26+00:00 +size = 18640482 [packages.wheels.hashes] -sha256 = "95f4eb2b991b53b50ec2b18ab612fca8ba1e7a75a47af0331fb8bcd21da3eb03" +sha256 = "5163a516b9a488bccb4001f727720b775719dfb6dcb144a9bc0ef23e5cfdd269" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/f8/39/be14f051bf34a1822d634819890a2d0cba3b69101e633fb7b9f54d7b4020/uv-0.13.4-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl" -upload-time = 2026-10-20 15:11:13+00:00 -size = 17816443 +url = "https://files.pythonhosted.org/packages/e0/fb/8dce09cba3aca3837ed02fdabfba1a7f8c3e4a8d40654c334cc4f236049f/uv-0.13.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.musllinux_1_1_armv7l.whl" +upload-time = 2026-10-09 19:45:28+00:00 +size = 18891964 [packages.wheels.hashes] -sha256 = "e90ab42825587821096cb0d071e387468da38cfa22818c91f9c0b3c0453048e8" +sha256 = "26b7eb7870d406c71b1a6c4da743ca89c8f9fe6f6901c854bbf9d75c2c1a71d8" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/97/a0/5df0f8bc6367dd37b98432a7c462e2918554f6db2a71211574852b8f0727/uv-0.13.4-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.musllinux_1_1_armv7l.whl" -upload-time = 2026-10-20 15:11:16+00:00 -size = 17828025 +url = "https://files.pythonhosted.org/packages/50/eb/5397039584ac8fb12c903e8b9009c86e7963c9bb82cda8f509d7a6e8de2c/uv-0.13.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" +upload-time = 2026-10-09 19:45:31+00:00 +size = 19041567 [packages.wheels.hashes] -sha256 = "3a9dcb6762c3ba249d8c084315ba03839082af3ece3536cc4164ec735c351d68" +sha256 = "b70b5b04985760e801d1eeea03a177eb7e0a11ec89acd8996b46a7a566010c04" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/8b/9c/2fed5357700b7c304b94214979e4efe680c3bc6e337a97eedaa372fe0947/uv-0.13.4-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" -upload-time = 2026-10-20 15:11:20+00:00 -size = 17843737 +url = "https://files.pythonhosted.org/packages/1c/f4/b71748654cb5265d8b53a820d643a382c1bdd5dd5ca716a7ce5a14eb47c0/uv-0.13.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl" +upload-time = 2026-10-09 19:45:34+00:00 +size = 19688870 [packages.wheels.hashes] -sha256 = "8ae6ff2b07892379dc767c9064c2b8bbfac88e767edac7ce28e1b0f15d86abb4" +sha256 = "7dd0de76fd7ebec97427c4cc42de4ea789478dfd985f28915c94c8512e489ac9" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/4c/2e/ee026284f096236dc3e1abed0316f9edab65c0ea176ea0072c064e62478d/uv-0.13.4-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl" -upload-time = 2026-10-20 15:11:24+00:00 -size = 18576350 +url = "https://files.pythonhosted.org/packages/ac/5b/2e20e008f1e2a8be2ce679919a7e647c73a3b280185ca58a3833ae3c9585/uv-0.13.0-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" +upload-time = 2026-10-09 19:45:37+00:00 +size = 21008221 [packages.wheels.hashes] -sha256 = "25cc14ff4fd8335d3be2cc493a621a003fdafcb0fb1c953c905daabe4def5ab8" +sha256 = "95441f304ca4a3c64bd1db3a027f72c15a32e54080c956a48e06234b9b37bb43" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/6d/f1/67fbdb649c8c5d0cb38ea74829080479b77c8631cda5d77fc1b28f027ca7/uv-0.13.4-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" -upload-time = 2026-10-20 15:11:27+00:00 -size = 19831234 +url = "https://files.pythonhosted.org/packages/ee/50/6d9a843f8cfe7b602a4ac8c752fb8ec72466bdb6d93ccfd945f19efb3ce5/uv-0.13.0-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl" +upload-time = 2026-10-09 19:45:39+00:00 +size = 20821209 [packages.wheels.hashes] -sha256 = "77062b02856c74697f48328d8a6583ab07e6da0a993e86c2db46f3d1da27c637" +sha256 = "61dd3d38e4826a7666b2d29147cd77905ef71686073ac30a6c897d8ef1e3dbc1" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/bd/00/7d49e3a1a3e98e5244fa38e0c964dc8de568bf3bb101257a63dc2602efed/uv-0.13.4-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl" -upload-time = 2026-10-20 15:11:31+00:00 -size = 19702886 +url = "https://files.pythonhosted.org/packages/c3/75/1901383808ba0d421f32060ba0e9884169b685a722e1af5d87fdd4225ba6/uv-0.13.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" +upload-time = 2026-10-09 19:45:42+00:00 +size = 17941073 [packages.wheels.hashes] -sha256 = "fb0e2028d9a8929884344afb7d91d0f65d9783f640d28aede89fca3602bedde9" +sha256 = "52c7da0fd9056d9551124777ec77de53f0df7017daf8f98a19e947b7837416ed" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/4b/a1/de02c0913726728eca56ee258875cbba9c7b0572c63f494fd9f55c7852e3/uv-0.13.4-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" -upload-time = 2026-10-20 15:11:34+00:00 -size = 17181168 +url = "https://files.pythonhosted.org/packages/fd/f2/0b7d95cf3070d5c7fa734cd50394d22ef61203fb9052a157ce9d053fa9cf/uv-0.13.0-py3-none-manylinux_2_28_aarch64.whl" +upload-time = 2026-10-09 19:45:45+00:00 +size = 17264080 [packages.wheels.hashes] -sha256 = "05e4332791b4d55b6dde8695b7fa6079b26991519f44760887c5dfbd5ca4fe53" +sha256 = "f840e640fe16591f6d71a94e8863707b7ba43c5786d1fe662868a9fb44c53e50" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/a8/cd/f4a3c7377674366798c56aabd0f9a1f05687c3939f5ba857a3ea6093ff84/uv-0.13.4-py3-none-manylinux_2_28_aarch64.whl" -upload-time = 2026-10-20 15:11:37+00:00 -size = 16502020 +url = "https://files.pythonhosted.org/packages/0d/70/2524890e1c8dddabcae65c21faa3f93db8d5aeb6b2fe118e826658da28c2/uv-0.13.0-py3-none-manylinux_2_31_riscv64.musllinux_1_1_riscv64.whl" +upload-time = 2026-10-09 19:45:48+00:00 +size = 19225957 [packages.wheels.hashes] -sha256 = "7b3cdf868e5415631fe797b648c0d6945d38d388f23367bdd0b6332e80a1fcb0" +sha256 = "ec7bc3175523bf6d7c0e6acb71e16b537f82fcc4186b6347ed9120957c758beb" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/f9/f4/ce79657c5a0f51b602db9a663529baafff03b9fe8cc41e09ad3f7246b88a/uv-0.13.4-py3-none-manylinux_2_31_riscv64.musllinux_1_1_riscv64.whl" -upload-time = 2026-10-20 15:11:41+00:00 -size = 18000980 +url = "https://files.pythonhosted.org/packages/52/5a/8c135e803f809dc62b4d74c6377c981d1a60050d04561d5ed2f700038748/uv-0.13.0-py3-none-manylinux_2_31_riscv64.whl" +upload-time = 2026-10-09 19:45:50+00:00 +size = 19215031 [packages.wheels.hashes] -sha256 = "4e6b08578c920b86910897f36bb6da7229c8e7e0187976570e2a538cb28b777e" +sha256 = "78187f23c0b51d1be824096ec8a656c417acca312f5451ba1e2ee057ec5a6e87" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/21/e6/7d77022d5661f8e01578bc5423bf02af408220e7e7ac5ee15eb94742c7cb/uv-0.13.4-py3-none-manylinux_2_31_riscv64.whl" -upload-time = 2026-10-20 15:11:45+00:00 -size = 18179083 +url = "https://files.pythonhosted.org/packages/54/52/302dbf2355e20b09f3cf303b59524806143bb216d6b04ba9c5d7e3a288a5/uv-0.13.0-py3-none-musllinux_1_1_i686.whl" +upload-time = 2026-10-09 19:45:53+00:00 +size = 18932798 [packages.wheels.hashes] -sha256 = "d86a5dec8ab30c70519c71ca5085c8aaf28664836cbc600951cedaa3fc678cbf" +sha256 = "69061ee515b993c51c23e393448c1a42193dcb31d8ac4d85dffa2e33058a1780" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/f4/40/1bf0324800d38009774ba087a6fbffddc76a3e5bf42c081b9298b1236fb5/uv-0.13.4-py3-none-musllinux_1_1_i686.whl" -upload-time = 2026-10-20 15:11:48+00:00 -size = 18010389 +url = "https://files.pythonhosted.org/packages/19/5a/b57c401bf3032a382b745396a6fbb5a09f77b9f31e7d6217c7e320cf3148/uv-0.13.0-py3-none-musllinux_1_1_x86_64.whl" +upload-time = 2026-10-09 19:45:56+00:00 +size = 20041871 [packages.wheels.hashes] -sha256 = "5d89d1028c2e22977d9215cbb79cfe12559cb0c8a507a12e2f3a7e47930cf1bf" +sha256 = "5cb956988442f5b1ca281344818a6b9fa296a799d7024cc53ae571d464150ca2" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/1e/ec/f352ca2cc3b4b6191bb4ec8cdf4bc190eed0ba8bda4c33b7fd66c5d33cec/uv-0.13.4-py3-none-musllinux_1_1_x86_64.whl" -upload-time = 2026-10-20 15:11:52+00:00 -size = 19004998 +url = "https://files.pythonhosted.org/packages/55/6b/98b4a16c96b9a6fefd8795228643a2e849347d54cc91cc2d07bb21afa572/uv-0.13.0-py3-none-win32.whl" +upload-time = 2026-10-09 19:45:59+00:00 +size = 16991702 [packages.wheels.hashes] -sha256 = "52b5c753a7c2d5f8323a70bb4c93118988356331d0758afa6446c81f974e7196" +sha256 = "0d9886f69a2e6f9e85a7a11c37f208353aa559bdb5c91d7b69fe883c038439a1" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/9e/4f/fc05ff4292edfe785b47874ec86d3d83ca2bf735cff8a9d2170ffb66ad83/uv-0.13.4-py3-none-win32.whl" -upload-time = 2026-10-20 15:11:56+00:00 -size = 16190502 +url = "https://files.pythonhosted.org/packages/b2/00/73abae6cafcdb868d42b2c71bf12c9c2eb06a8d229a09569760c41b7948d/uv-0.13.0-py3-none-win_amd64.whl" +upload-time = 2026-10-09 19:46:01+00:00 +size = 15819247 [packages.wheels.hashes] -sha256 = "d333f01852b817ba05612de31474739da1af7e5463d119b30a9c4331eba1f408" +sha256 = "0367b4e0ae4dcef32da4aa2ad2f3853b6ad81d50c187abe50d343d892b8fea21" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/2f/b9/b526eab6c72eacc705a58378f6850fde046b28c86fed01bd42da61367c6b/uv-0.13.4-py3-none-win_amd64.whl" -upload-time = 2026-10-20 15:11:59+00:00 -size = 15331833 +url = "https://files.pythonhosted.org/packages/e7/92/cf7f8765cb61e56d61015e6e01acbe1edfe3ee5029ab9137c85239ddb4f8/uv-0.13.0-py3-none-win_arm64.whl" +upload-time = 2026-10-09 19:46:04+00:00 +size = 16342408 [packages.wheels.hashes] -sha256 = "b2ff80397273fff0e02c20eacae6882834c811827d6fc08f658db156fe754386" +sha256 = "286d5976bffe3ed0c62601c0393adb3748f0d88aa24f38cd80ebab773f5b5f74" + +[[packages]] +name = "vcs-versioning" +version = "2.6.0" +marker = "\"build\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/ad/e7/2a691db7d076b75d099fdba1a14cd966931f2aeb591e77f6d22f15097326/vcs_versioning-2.6.0.tar.gz" +upload-time = 2026-10-06 22:21:55+00:00 +size = 166800 + +[packages.sdist.hashes] +sha256 = "22e9159288e2d8bca2fa6f6c31c34c9c66aec157f60e9e526f5d160d2516d60f" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/7c/f7/4d5fa89d3d10ff6a84e547ef6e02c45b2f2d50e66682da778acf60db63f1/uv-0.13.4-py3-none-win_arm64.whl" -upload-time = 2026-10-20 15:12:02+00:00 -size = 15690151 +url = "https://files.pythonhosted.org/packages/73/1d/ad4064bf12f4503bf61e65d74c93c523672776d25ee0a06aaf42ae09ef3f/vcs_versioning-2.6.0-py3-none-any.whl" +upload-time = 2026-10-06 22:21:53+00:00 +size = 123154 [packages.wheels.hashes] -sha256 = "deffa5a4afdb48f3e44fb26e80377d256b330ddcad0373daff4b54f6162b43a4" +sha256 = "f8bebd1302ebc12e67ceb30fc7dd698ec969414b6fa43b30c3f14ac9b1e72c41" [[packages]] name = "virtualenv" -version = "21.14.12" +version = "21.14.7" index = "https://pypi.org/simple" marker = "\"dev\" in dependency_groups or \"lint\" in dependency_groups" [packages.sdist] -url = "https://files.pythonhosted.org/packages/c9/2c/1a69b3346931e9a7db9cc00cc0fa847c843a85fa7cf52a598f57261c68df/virtualenv-21.14.12.tar.gz" -upload-time = 2026-10-21 01:58:51+00:00 -size = 5562800 +url = "https://files.pythonhosted.org/packages/dc/3f/935cf1757643381fb7f7cc98197b4bc119223d9c2cf37dc3b03ad2a4455f/virtualenv-21.14.7.tar.gz" +upload-time = 2026-10-12 01:27:31+00:00 +size = 5471741 [packages.sdist.hashes] -sha256 = "bbcfb78e36c22ad70c6917c4aecb5e63477d3c138e9f88c946f320e31859c76a" +sha256 = "5f427d56f39eb7e7447d641dd4b7ab1e9c92793f498f35f26da2e4972c5546ae" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/a0/92/f3b8af2d36ddec4dc61dc25655dc010e419ff456cb4ca0e720c8112f1047/virtualenv-21.14.12-py3-none-any.whl" -upload-time = 2026-10-21 01:58:48+00:00 -size = 5556824 +url = "https://files.pythonhosted.org/packages/52/5b/799c3e5b8e04d5fa1c9b61a4c1f5079603e747205c7311b92abd30283df5/virtualenv-21.14.7-py3-none-any.whl" +upload-time = 2026-10-12 01:27:29+00:00 +size = 5487587 [packages.wheels.hashes] -sha256 = "7820aeaef23f1f59a96458edfc7f9d3deac937155718de15f1c9a64471e15551" +sha256 = "3769219a308c5d2f093e7729621ad12a6346b5767a7ec4338414e2a0fb0c526b" [[packages]] name = "wcwidth" -version = "0.9.3" +version = "0.9.2" index = "https://pypi.org/simple" marker = "(\"release\" in dependency_groups and (python_full_version >= '3.15'))" [packages.sdist] -url = "https://files.pythonhosted.org/packages/69/4a/82d61476a1ccc20d43d0805724c5de4baa4971131a8db1816705ef53fe16/wcwidth-0.9.3.tar.gz" -upload-time = 2026-10-20 16:02:43+00:00 -size = 956320 +url = "https://files.pythonhosted.org/packages/f0/b4/7830542634bb2d3e62aa3b586a72d5b3b6c91c3168929e7000ef3fed041d/wcwidth-0.9.2.tar.gz" +upload-time = 2026-10-05 00:24:05+00:00 +size = 955039 [packages.sdist.hashes] -sha256 = "dfe7cfbd4cb59db9fe0931bd6091ab4a95b3acc5d56bfb50fa9fef0ccba5dc5c" +sha256 = "ae0ef90b90f6af38b54f1fe6d58662ec33b3cb4b8391958a62416d654231727b" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/5c/6d/eec61b5edeb88e3ea2a714184eade38335722c4246d94be567977fc20caa/wcwidth-0.9.3-cp310-abi3-macosx_10_9_x86_64.whl" -upload-time = 2026-10-20 16:02:02+00:00 -size = 605400 +url = "https://files.pythonhosted.org/packages/59/1e/4532a81fb9dfbf4114a816775e0a36c3a64ee1d1f4bba2094e2da50be5dc/wcwidth-0.9.2-cp310-abi3-macosx_10_9_x86_64.whl" +upload-time = 2026-10-05 00:23:22+00:00 +size = 605343 [packages.wheels.hashes] -sha256 = "3b119ef60177a92b4f298b80e98464c2922a1fba3ed77fe9a2bcb69edf1b9af4" +sha256 = "7ef5a940bd5e30bac6e721f1a48fce0cd7bb3ece19e9c5d139e72c76c35cfd07" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/8b/3c/714eba03905a23a46277cc96d3db8da6bd22d2cc0d09a4dead60a2bd1757/wcwidth-0.9.3-cp310-abi3-macosx_11_0_arm64.whl" -upload-time = 2026-10-20 16:02:07+00:00 -size = 610124 +url = "https://files.pythonhosted.org/packages/a0/07/cb6940e81134b7ed25fa312ee9ab536a63db0793b149f88a90e603ceace9/wcwidth-0.9.2-cp310-abi3-macosx_11_0_arm64.whl" +upload-time = 2026-10-05 00:23:27+00:00 +size = 609960 [packages.wheels.hashes] -sha256 = "aab90ab489850f87633922c3064f6d0442d8f6ae5407a62f82bdb1f424179c05" +sha256 = "ae0800c5339423cc53d33a266ad264b42ba8aaa16d4464f6e6b1bee607f50b17" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/90/ad/8566e7cc712bea55eab0bb6d19581b7c727a58fcdd55f02365b309aaaccd/wcwidth-0.9.3-cp310-abi3-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl" -upload-time = 2026-10-20 16:02:17+00:00 -size = 762700 +url = "https://files.pythonhosted.org/packages/a4/80/15ad05d40bfa99155639fb9e13b3d77083aa0fab893c816db2543d29005c/wcwidth-0.9.2-cp310-abi3-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl" +upload-time = 2026-10-05 00:23:38+00:00 +size = 762566 [packages.wheels.hashes] -sha256 = "9e1cbe18c18d152e1e68e4e2561dab6c2bc988f8fd337a1fb2e1e0809c3fa568" +sha256 = "9e542f1f8475b78452a295495d7a5bc3ead565112e9446a64dc93462a41c2a79" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/ea/7a/4e26574d032a1709bb1fd7d95d406b7b8f87363c60305a101e6e2d9285f5/wcwidth-0.9.3-cp310-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" -upload-time = 2026-10-20 16:02:11+00:00 -size = 771850 +url = "https://files.pythonhosted.org/packages/bc/f0/b8ef7758003d66b60f093695831a86dcc726aac01ee6446ffcbda27b61e3/wcwidth-0.9.2-cp310-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" +upload-time = 2026-10-05 00:23:32+00:00 +size = 771632 [packages.wheels.hashes] -sha256 = "c12abd75ffcbad417e7770a6feb82413c102ccce5c435068c39a82e2218b00b3" +sha256 = "674b518af28d38ee645ff97b74f5760abee5fad4bac74413bfc4b881ef2ce724" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/b8/d6/48dad66d577417ef8594000506fa8619d45d7282e20b4cdc916fcc68f95a/wcwidth-0.9.3-cp310-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" -upload-time = 2026-10-20 16:02:19+00:00 -size = 770047 +url = "https://files.pythonhosted.org/packages/db/6c/f940133c71427c208575910e981942bd78c98b1f7cd0d1425ca4b7457c04/wcwidth-0.9.2-cp310-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" +upload-time = 2026-10-05 00:23:40+00:00 +size = 769763 [packages.wheels.hashes] -sha256 = "9ab8bfee107e08de09e15f9f6afb9fe0f64c8d64fd296d0d8557bafe71ea3f93" +sha256 = "751bef0ab404b6a1dc028b56b4b85d46486be1c55833f80da533e42dc691f389" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/3f/61/5f1e02e588d289837d5312478cc9f0e7bca93f4c8a77807741f79fb6a31c/wcwidth-0.9.3-cp310-abi3-musllinux_1_2_aarch64.whl" -upload-time = 2026-10-20 16:02:12+00:00 -size = 782210 +url = "https://files.pythonhosted.org/packages/92/8f/285f862826f721964ec7c42f81dc53d23afbd723a0f4cd989651f8218e25/wcwidth-0.9.2-cp310-abi3-musllinux_1_2_aarch64.whl" +upload-time = 2026-10-05 00:23:33+00:00 +size = 782134 [packages.wheels.hashes] -sha256 = "2f875a4c9e62df2ecfa70d99b24c551f2245609858e179c3a40e74631b2d08a4" +sha256 = "c3d80f39ba4653a595edae9aa46a509d14883790a8fc23c5db221ceb207f64b7" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/e9/11/0da2720cba3f917148448c9bf73f3079d71f918308ee9e4d737a0b7acfd8/wcwidth-0.9.3-cp310-abi3-musllinux_1_2_i686.whl" -upload-time = 2026-10-20 16:02:20+00:00 -size = 783172 +url = "https://files.pythonhosted.org/packages/c2/2d/64aa54882a5d556d3654c1f926d9118b797461033e23a158409941a37c8f/wcwidth-0.9.2-cp310-abi3-musllinux_1_2_i686.whl" +upload-time = 2026-10-05 00:23:41+00:00 +size = 782851 [packages.wheels.hashes] -sha256 = "70a2ca239b85a219324968993c76c117fe423d4e1a7c9d860c999c66192f2570" +sha256 = "0a47e03d8293590ecce66c45dc20ff7b4b885e3c78093722239585eca0d77ab2" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/f2/f6/b79407036ca4543bf708a6d4ca561f78620dc1e5443e685e094480c37753/wcwidth-0.9.3-cp310-abi3-musllinux_1_2_x86_64.whl" -upload-time = 2026-10-20 16:02:22+00:00 -size = 784806 +url = "https://files.pythonhosted.org/packages/59/39/52389f6de7fe2e9c14ceb8253dd99034bd86e1c87847ea3c100a97dded9a/wcwidth-0.9.2-cp310-abi3-musllinux_1_2_x86_64.whl" +upload-time = 2026-10-05 00:23:43+00:00 +size = 784621 [packages.wheels.hashes] -sha256 = "537ea00b6792bb243cd09582322c54dbc848879e5d34ea4c5fee0147529685ab" +sha256 = "67d901a4ad99249eb775b4ee4769ca97fa405d35a75f46e83166910a47003f04" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/3c/86/ada6c2244b08a86c871d42f7cd85b5226515b5f3fa7e604d1e6e45590275/wcwidth-0.9.3-cp310-abi3-win32.whl" -upload-time = 2026-10-20 16:02:34+00:00 -size = 593154 +url = "https://files.pythonhosted.org/packages/b3/8b/20225500a076ace27bbcc8a6fd7c55125133c57a618816c7b7b8b73070b1/wcwidth-0.9.2-cp310-abi3-win32.whl" +upload-time = 2026-10-05 00:23:55+00:00 +size = 593123 [packages.wheels.hashes] -sha256 = "f2f943c4ef14e9baba730740265f4e5bf5fc8473550e36cd92828cd5663561a6" +sha256 = "ee1fd0db9d9fd711a70f3e7765e0e04c05d26982fa05361456163062549d7da4" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/5b/6e/46363d972b2b9f002fbfc3bf8e9ab0ff89f139c935a5f21d22016e7a2018/wcwidth-0.9.3-cp310-abi3-win_amd64.whl" -upload-time = 2026-10-20 16:02:35+00:00 -size = 597685 +url = "https://files.pythonhosted.org/packages/5a/d6/b0690f55ea0483530a18bac917fbadbf54f35122510446fc370f5f1c2453/wcwidth-0.9.2-cp310-abi3-win_amd64.whl" +upload-time = 2026-10-05 00:23:57+00:00 +size = 597827 [packages.wheels.hashes] -sha256 = "569a0cdb826d3097b6dbacfaa45aa0002d72a2ba6fa8a63251ea43ac4dd7b6a4" +sha256 = "2a9746de704242bd4fdaabb31dd46b82f694a56a8d21081ad89b679a89da9fec" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/69/3d/5583cac85e233514c3906d5476b6a74160bc4dc82729dabef3485dbf3d52/wcwidth-0.9.3-cp310-abi3-win_arm64.whl" -upload-time = 2026-10-20 16:02:30+00:00 -size = 598774 +url = "https://files.pythonhosted.org/packages/e5/11/6ecf4e9e268ab1a4ec617ffcccc2ee4a71301625f5490912dbaba462fa9c/wcwidth-0.9.2-cp310-abi3-win_arm64.whl" +upload-time = 2026-10-05 00:23:51+00:00 +size = 598415 [packages.wheels.hashes] -sha256 = "80557db1f77148b78e1b3c2a9cc4ebc4feabef42aaf69a555565057031c32367" +sha256 = "b9c6ab615e03723b7f8760ea2f27758d656e7e13b51515c9dca5c3e8b04612fa" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/91/b2/53e0838babc6b87505b9504ce62b72c79403642f88d3e568e05d0ef04825/wcwidth-0.9.3-cp314-cp314t-macosx_10_15_x86_64.whl" -upload-time = 2026-10-20 16:02:04+00:00 -size = 606640 +url = "https://files.pythonhosted.org/packages/4e/41/549eef1ab767032bdbdc1f0ab655d404b082b1e9a1dab1361dbba90f64ed/wcwidth-0.9.2-cp314-cp314t-macosx_10_15_x86_64.whl" +upload-time = 2026-10-05 00:23:24+00:00 +size = 606555 [packages.wheels.hashes] -sha256 = "6f3e855d3a09af8b7b6d56e76bc270681032f8a37d527a8d5707a441958e3730" +sha256 = "eda88ffdc97c0fbf193d407114f2c7a54b379f67f6e52a7531ee3b9fe749eca7" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/f0/fb/27c94facff5c4a39b954a41fac20c238647f0aad32452d0d9e33fc05e852/wcwidth-0.9.3-cp314-cp314t-macosx_11_0_arm64.whl" -upload-time = 2026-10-20 16:02:08+00:00 -size = 610956 +url = "https://files.pythonhosted.org/packages/9b/64/a875ed7ea71cacadc0ae11b5fd3fac3486efd58bb25e67a7344248dceadd/wcwidth-0.9.2-cp314-cp314t-macosx_11_0_arm64.whl" +upload-time = 2026-10-05 00:23:28+00:00 +size = 610829 [packages.wheels.hashes] -sha256 = "c1bbc8ebf133422cadfefea95a9f89d6c9e9a1ae19930bef7862a9b59b20bbad" +sha256 = "1bf361c8705576760623b4724ae564666d73b016f9a778bcfd1c7345378ef4ec" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/38/61/38e6236356d25966d34636ef6f49ee83a66513e051c4a3b1e19c8b9ec806/wcwidth-0.9.3-cp314-cp314t-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl" -upload-time = 2026-10-20 16:02:23+00:00 -size = 775967 +url = "https://files.pythonhosted.org/packages/c6/98/513095e484fe79b6f2613d6a72f855f5d56b65e15c215c2a6746fbc638f5/wcwidth-0.9.2-cp314-cp314t-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl" +upload-time = 2026-10-05 00:23:45+00:00 +size = 775819 [packages.wheels.hashes] -sha256 = "7a95d8c784cbccbbcb808eaadfd156cd282b2bdd95e89b32505e3443381ce61d" +sha256 = "97b878d1e158da5ed9ac5aac53fa3a55e282103af6a09ec353865613d1a31a76" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/7b/87/c8f9295cd14a058dc27be0360fcc5ec70ce71b0d2e6a018871f585f23126/wcwidth-0.9.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" -upload-time = 2026-10-20 16:02:14+00:00 -size = 787147 +url = "https://files.pythonhosted.org/packages/22/fc/c02f3eec57224731e78f84b68e272250f784b6205acc7e0dcef6a7c23a0e/wcwidth-0.9.2-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" +upload-time = 2026-10-05 00:23:35+00:00 +size = 786915 [packages.wheels.hashes] -sha256 = "a44acbb23b525070a0b8c343dd7cab7a4020aff73b38804f7a66d6a66e16e3fc" +sha256 = "59dab4049cbd982b478bca098528df2c79a9160636a3a163ffebffcbd7d1b892" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/c6/c0/238c135e283b1b0e16fef8b082d432dda1fe7e568d6dd85d5c7fc5e83859/wcwidth-0.9.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" -upload-time = 2026-10-20 16:02:25+00:00 -size = 784548 +url = "https://files.pythonhosted.org/packages/3d/6f/b0529a79bac3fe8d94f32b4237a13dbc3f955508753f6a6f06c73d679dc2/wcwidth-0.9.2-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" +upload-time = 2026-10-05 00:23:46+00:00 +size = 784186 [packages.wheels.hashes] -sha256 = "a7c0405a3bf3c564e481d6b2d55c99cc231bb68cf8f4a0995944bbce5ebf1a5d" +sha256 = "bb08ceb501d6aaf94066c3ee122dd825b152df40ff0bd0df4dc27126233b948e" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/a1/ed/33e3080fe32f6f8f86334b2c5adde243b9a3a3a46cef97694dbed73b9dc4/wcwidth-0.9.3-cp314-cp314t-win32.whl" -upload-time = 2026-10-20 16:02:37+00:00 -size = 600761 +url = "https://files.pythonhosted.org/packages/d5/bd/6357c84ca9a734bfc735b7c48dbe21336b3777fab8a4101d14976dfe49a7/wcwidth-0.9.2-cp314-cp314t-win32.whl" +upload-time = 2026-10-05 00:23:59+00:00 +size = 600791 [packages.wheels.hashes] -sha256 = "457f986e4867111cb037ccbf0d97ae100b1ecad030d43a020e7207f1e29649d5" +sha256 = "8b4e381590b9b7390e07e22b2c0c1bb96ce50e1d2243c866d9387600362d51ed" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/27/62/6684a59147c1f86d58d0138f3109f506a6761b815dcb3d86b74d9af3a723/wcwidth-0.9.3-cp314-cp314t-win_amd64.whl" -upload-time = 2026-10-20 16:02:38+00:00 -size = 605316 +url = "https://files.pythonhosted.org/packages/98/de/037591ca18d897cc2179559dde72e6efc6ce0c90e9cd1e6bca4e87c38b4b/wcwidth-0.9.2-cp314-cp314t-win_amd64.whl" +upload-time = 2026-10-05 00:24:01+00:00 +size = 605463 [packages.wheels.hashes] -sha256 = "f11789e520ade8017fa93b01a4b8985571bb433eaefc2f857b57e36875e2e1d8" +sha256 = "f2f7b3bba5a5d5f31fc350fd36ce5b84b693c83b7eb95ee630b720da5a5ce06f" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/94/24/3ebcfd772d273e43e28447dd1946d88b8625db57b6a23496ea4eb9e1dbb7/wcwidth-0.9.3-cp314-cp314t-win_arm64.whl" -upload-time = 2026-10-20 16:02:31+00:00 -size = 606392 +url = "https://files.pythonhosted.org/packages/d0/07/c9d96e106d938d26f7ab639bc80b8199359a1645ba6e3498413313ab6f38/wcwidth-0.9.2-cp314-cp314t-win_arm64.whl" +upload-time = 2026-10-05 00:23:52+00:00 +size = 605936 [packages.wheels.hashes] -sha256 = "eef39f3260991d8767189d296f0116fa4b45ad9c3a9a16d5af9187fb66b27564" +sha256 = "734aa9405b321d1042301aa19c943c4731ee9e3460e4f8feea3299c064c97a14" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/76/fe/f90b9444bbc2d566634f91756bd11c2bd39d50c2c9077551711b10d8d03f/wcwidth-0.9.3-cp315-cp315t-macosx_10_15_x86_64.whl" -upload-time = 2026-10-20 16:02:05+00:00 -size = 606655 +url = "https://files.pythonhosted.org/packages/82/8a/a28d61d910005ac93dfe48be3a0ebaa49352d88cebd25323e69e6ff2f4a8/wcwidth-0.9.2-cp315-cp315t-macosx_10_15_x86_64.whl" +upload-time = 2026-10-05 00:23:25+00:00 +size = 606575 [packages.wheels.hashes] -sha256 = "52a13869704d43a4add59c68ebc892198e53063883114783bf0b7457e250e3f4" +sha256 = "42dbcb76ce8af39e2c9db410ac3f9bdf4e47eb41d6f44525952f172d3d98f724" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/ab/63/edffb23938f4e27c28400c7d8d5a8715381d77f5db96bf80cf5dd6687f88/wcwidth-0.9.3-cp315-cp315t-macosx_11_0_arm64.whl" -upload-time = 2026-10-20 16:02:10+00:00 -size = 611217 +url = "https://files.pythonhosted.org/packages/01/c2/a3c66bd32766c8f4d6dc47d572532ba014fe5be30489f2576aff7cada363/wcwidth-0.9.2-cp315-cp315t-macosx_11_0_arm64.whl" +upload-time = 2026-10-05 00:23:30+00:00 +size = 611045 [packages.wheels.hashes] -sha256 = "9470169fcb4e5340269175ebb3642dd5bfc8f82da8c86f29fc1fefc6c2b9bc1b" +sha256 = "138e1f8898e431b2f2d7881f8ca8d75591c1d3c21aa53f54e989bd6b39811da2" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/f9/e6/0e4b5c81c238fac47eb66902f058a39ccdeacd7b2c5ab0c559066f203262/wcwidth-0.9.3-cp315-cp315t-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl" -upload-time = 2026-10-20 16:02:27+00:00 -size = 778155 +url = "https://files.pythonhosted.org/packages/ec/8a/d39964f8f8c019d7d439b9b501d3e7bb42fee69f00354040ba0b27b5824c/wcwidth-0.9.2-cp315-cp315t-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl" +upload-time = 2026-10-05 00:23:47+00:00 +size = 778143 [packages.wheels.hashes] -sha256 = "c4531d93344441a7948e665854f0c40e3a8342ee106436d1531efa7a9fa7641e" +sha256 = "5175609bf8cc7398a5f48aa35207bd64ebf9f45e4c70df65f7fdc7a988041a3c" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/f2/16/745439326544b2a6d65facbdf8462ee9d31e09c64830a764d2526c6c80d6/wcwidth-0.9.3-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" -upload-time = 2026-10-20 16:02:15+00:00 -size = 786757 +url = "https://files.pythonhosted.org/packages/2f/53/525da13e8f9ff7b5b4e74ec6f8d68bdee63905796972e086c6b1b96670d2/wcwidth-0.9.2-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" +upload-time = 2026-10-05 00:23:36+00:00 +size = 786630 [packages.wheels.hashes] -sha256 = "658dcbce546e7f28ee361f88e4a8e591dd56f46bff6084e11b4ad8310ed99946" +sha256 = "e5f669ae8c3d969c72032f9cdee019674b666e522d45e1e2099a2e9dda4a341d" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/08/a4/47193dc9902c30e187d81feaa7a5bc2672c41fe07093ca1ce5381395b85c/wcwidth-0.9.3-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" -upload-time = 2026-10-20 16:02:28+00:00 -size = 785088 +url = "https://files.pythonhosted.org/packages/ef/9f/d6a0c6df354b9d93466548a65cbf4ffcb48c719bbd307504cf3e76740837/wcwidth-0.9.2-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" +upload-time = 2026-10-05 00:23:49+00:00 +size = 784839 [packages.wheels.hashes] -sha256 = "e9362be098c43d076aa43754face3cc0180fa81cea9ba304240b15490f2617e8" +sha256 = "196b47cf32f9df27ccda6dc513237f3c2429c4c659db428d60a5bc443d10f270" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/11/6a/9727002b938c28ab4456fc43ba31a3159ebff040021ce8dbd70e904c7cc9/wcwidth-0.9.3-cp315-cp315t-win32.whl" -upload-time = 2026-10-20 16:02:39+00:00 -size = 600787 +url = "https://files.pythonhosted.org/packages/bf/d7/3021feed1ed7926021ec134943ad3b24a2f7ea742cc9976461171482ed77/wcwidth-0.9.2-cp315-cp315t-win32.whl" +upload-time = 2026-10-05 00:24:02+00:00 +size = 600845 [packages.wheels.hashes] -sha256 = "16d09df90b3a8f799ea14c726a41d9b906c3104f95f46d158e1ebe45cf4d547b" +sha256 = "0cd4f7f2e53905dcb110d213a4c8529b6733fa3d232d8c717f946cc69a10349b" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/7c/db/0e24c2ff1e82cf298dd40a29e022da31b79be2589f0b8d865488e49140e1/wcwidth-0.9.3-cp315-cp315t-win_amd64.whl" -upload-time = 2026-10-20 16:02:41+00:00 -size = 605298 +url = "https://files.pythonhosted.org/packages/63/80/6a03356d8ee38261e3a78cf89ee03d8e7f12c572d969237be00869e2dc73/wcwidth-0.9.2-cp315-cp315t-win_amd64.whl" +upload-time = 2026-10-05 00:24:04+00:00 +size = 605441 [packages.wheels.hashes] -sha256 = "3e3e31d6c17d6da3051f7eb854d5e4bebdc52a08a7a52adc2da6f15af51304e8" +sha256 = "33df042f96c61ed3cd5fb3742fba427553a635bc578799857a48aa79f774a0b9" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/84/71/b470bd1dec14cbe6cee0c2e142787a8d99ac01711d5a1b533dda90754b48/wcwidth-0.9.3-cp315-cp315t-win_arm64.whl" -upload-time = 2026-10-20 16:02:32+00:00 -size = 606346 +url = "https://files.pythonhosted.org/packages/0c/48/1a308a86a833fd12ff7a08d0d2491ff4a72c8a92d12f5ead8317630f771e/wcwidth-0.9.2-cp315-cp315t-win_arm64.whl" +upload-time = 2026-10-05 00:23:54+00:00 +size = 605885 [packages.wheels.hashes] -sha256 = "5d3b0b6c37f40e8d8298941ec373a426a892bb9a514328abcc9226cdc60ae6eb" +sha256 = "48719a9bc76c2f84238693fe5013571fa5beffa3621cf228f1f3a9e30dae84b8" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/bf/12/e10aad98050389ef674c9f69409e38ae086c2104912644e1f9143b394301/wcwidth-0.9.3-py3-none-any.whl" -upload-time = 2026-10-20 16:02:00+00:00 -size = 301629 +url = "https://files.pythonhosted.org/packages/9c/b4/0bfa065af506540d9d558e3e5548cff00bc1f9b24e6e2a8512498e8628de/wcwidth-0.9.2-py3-none-any.whl" +upload-time = 2026-10-05 00:23:21+00:00 +size = 301667 [packages.wheels.hashes] -sha256 = "e3c9069c54a2da0bf4f6c7e65a735cb1da0f47601a15cb5fef7e4b6ffca4cf60" +sha256 = "89ca642c5bf0101157a09366be69fad0379db1f700ae39a920e103234573670e" [[packages]] name = "wheel-filename" diff --git a/pyproject.toml b/pyproject.toml index 83ec1ad..3ec8fd9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -74,6 +74,7 @@ docs = [ "furo>=2025.12.19", "sphinx-autodoc-typehints>=3.5.1", "sphinx-llm>=1.1", + "sphinxcontrib-towncrier>=0.5.0a0", ] lint = [ "pre-commit-uv>=4.3", From 9f3be752b447e6bee1d56426e796658ee1e02a97 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bern=C3=A1t=20G=C3=A1bor?= Date: Wed, 21 Oct 2026 07:21:56 -0700 Subject: [PATCH 15/39] =?UTF-8?q?=F0=9F=90=9B=20fix(release):=20forward=20?= =?UTF-8?q?App=20key=20to=20workflow?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/prepare-release.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/prepare-release.yaml b/.github/workflows/prepare-release.yaml index 128e62b..7abc2bc 100644 --- a/.github/workflows/prepare-release.yaml +++ b/.github/workflows/prepare-release.yaml @@ -19,6 +19,8 @@ jobs: permissions: contents: read pull-requests: read + secrets: + RELEASE_APP_PRIVATE_KEY: ${{ secrets.RELEASE_APP_PRIVATE_KEY }} with: bump: ${{ inputs.bump }} changelog: docs/changelog.rst From c0db540392f4d87a4ecd2a3cb66fce1ab50ccca8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bern=C3=A1t=20G=C3=A1bor?= Date: Wed, 21 Oct 2026 07:32:46 -0700 Subject: [PATCH 16/39] =?UTF-8?q?=F0=9F=91=B7=20ci(release):=20resume=20ma?= =?UTF-8?q?tching=20GitHub=20releases?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/release.yaml | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index a557b3f..ca0bd41 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -151,9 +151,12 @@ jobs: with: name: github-release-notes path: ${{ runner.temp }}/github-release-notes - - name: Publish GitHub Release + - uses: tox-dev/github-workflows/publish-github-release@d88002302950ed36200e62673f592acc40e6b151 + with: + repository: ${{ github.repository }} + tag: ${{ github.ref_name }} + commit: ${{ github.sha }} + title: ${{ github.ref_name }} + notes-file: ${{ runner.temp }}/github-release-notes/release-notes.md env: GH_TOKEN: ${{ github.token }} - GH_REPO: ${{ github.repository }} - TAG: ${{ github.ref_name }} - run: gh release create "$TAG" --verify-tag --title "$TAG" --notes-file "$RUNNER_TEMP/github-release-notes/release-notes.md" From 15be3ee2779fe1bd6d2f95bf395383e7b86827b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bern=C3=A1t=20G=C3=A1bor?= Date: Wed, 21 Oct 2026 08:11:31 -0700 Subject: [PATCH 17/39] =?UTF-8?q?=F0=9F=91=B7=20ci(release):=20verify=20pa?= =?UTF-8?q?rtial=20uploads?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Stage only missing distributions and verify the full PyPI file set before creating the GitHub Release. A retry can resume a partial upload while changed files still fail verification. --- .github/workflows/check.yaml | 4 +- .github/workflows/label-maintenance-pr.yaml | 2 +- .github/workflows/prepare-release.yaml | 2 +- .github/workflows/release.yaml | 88 ++++++++++++++++-- .github/workflows/upgrade-release-tools.yaml | 2 +- pylock.toml | 98 ++------------------ pyproject.toml | 2 +- 7 files changed, 95 insertions(+), 103 deletions(-) diff --git a/.github/workflows/check.yaml b/.github/workflows/check.yaml index 947fcd0..ee15eab 100644 --- a/.github/workflows/check.yaml +++ b/.github/workflows/check.yaml @@ -49,6 +49,7 @@ jobs: - name: Install the latest version of uv uses: astral-sh/setup-uv@1c37ad07a6a961277cf70c0d37d6f313000f5884 # v10.3.0 with: + version: latest-known python-version: "3.15" enable-cache: false cache-dependency-glob: "pyproject.toml" @@ -83,6 +84,7 @@ jobs: persist-credentials: false - uses: astral-sh/setup-uv@1c37ad07a6a961277cf70c0d37d6f313000f5884 # v10.3.0 with: + version: latest-known python-version: "3.15" enable-cache: false - name: Install locked release tools @@ -91,7 +93,7 @@ jobs: uv venv --python 3.15 "$RUNNER_TEMP/release-tools" uv pip sync --preview-features pylock --python "$RUNNER_TEMP/release-tools/bin/python" --group release pylock.toml echo "$RUNNER_TEMP/release-tools/bin" >>"$GITHUB_PATH" - - uses: tox-dev/github-workflows/validate-news@5e11f2254a4dcb7102747d312ad7db48a2e9b0cb + - uses: tox-dev/github-workflows/validate-news@a250ca3524857236e288764651851010939b6f71 gate: name: Required checks pass diff --git a/.github/workflows/label-maintenance-pr.yaml b/.github/workflows/label-maintenance-pr.yaml index 190af26..77b79dc 100644 --- a/.github/workflows/label-maintenance-pr.yaml +++ b/.github/workflows/label-maintenance-pr.yaml @@ -11,7 +11,7 @@ jobs: issues: write pull-requests: read steps: - - uses: tox-dev/github-workflows/label-bot-news@5e11f2254a4dcb7102747d312ad7db48a2e9b0cb + - uses: tox-dev/github-workflows/label-bot-news@a250ca3524857236e288764651851010939b6f71 with: fragments: docs/changelog.d extension: rst diff --git a/.github/workflows/prepare-release.yaml b/.github/workflows/prepare-release.yaml index 7abc2bc..f75d760 100644 --- a/.github/workflows/prepare-release.yaml +++ b/.github/workflows/prepare-release.yaml @@ -15,7 +15,7 @@ on: permissions: {} jobs: prepare: - uses: tox-dev/github-workflows/.github/workflows/prepare-towncrier-release.yaml@5e11f2254a4dcb7102747d312ad7db48a2e9b0cb + uses: tox-dev/github-workflows/.github/workflows/prepare-towncrier-release.yaml@a250ca3524857236e288764651851010939b6f71 permissions: contents: read pull-requests: read diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index ca0bd41..b9ac169 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -8,7 +8,7 @@ env: dists-artifact-name: python-package-distributions jobs: build: - uses: tox-dev/github-workflows/.github/workflows/validate-python-release.yaml@5e11f2254a4dcb7102747d312ad7db48a2e9b0cb + uses: tox-dev/github-workflows/.github/workflows/validate-python-release.yaml@a250ca3524857236e288764651851010939b6f71 permissions: contents: read with: @@ -16,10 +16,42 @@ jobs: fragments: docs/changelog.d format: rst artifact-base-url: https://pypi.org/project/pyproject-api/ + stage-pypi: + needs: [build, github-notes] + runs-on: ubuntu-26.04 + permissions: + contents: read + outputs: + missing_count: ${{ steps.stage.outputs['missing-count'] }} + steps: + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + with: + persist-credentials: false + - uses: astral-sh/setup-uv@1c37ad07a6a961277cf70c0d37d6f313000f5884 # v10.3.0 + with: + version: latest-known + python-version: "3.15" + enable-cache: false + - uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8.0.2 + with: + name: ${{ env.dists-artifact-name }} + path: dist/ + - uses: tox-dev/github-workflows/reconcile-pypi-artifacts@a250ca3524857236e288764651851010939b6f71 + id: stage + with: + project: pyproject-api + version: ${{ github.ref_name }} + dist: dist + mode: stage + - uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 + if: steps.stage.outputs['missing-count'] != '0' + with: + name: pypi-missing-manifest + path: ${{ steps.stage.outputs.manifest }} + if-no-files-found: error release: - needs: - - build - - github-notes + needs: stage-pypi + if: needs.stage-pypi.outputs.missing_count != '0' runs-on: ubuntu-26.04 environment: name: release @@ -32,10 +64,50 @@ jobs: with: name: ${{ env.dists-artifact-name }} path: dist/ + - uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8.0.2 + with: + name: pypi-missing-manifest + path: ${{ runner.temp }}/pypi-manifest + - uses: tox-dev/github-workflows/select-pypi-artifacts@a250ca3524857236e288764651851010939b6f71 + with: + dist: dist + manifest: ${{ runner.temp }}/pypi-manifest/pypi-missing-names.txt + output-dir: missing + expected-count: ${{ needs.stage-pypi.outputs.missing_count }} - name: Publish to PyPI uses: pypa/gh-action-pypi-publish@dc37677b2e1c63e2034f94d8a5b11f265b73ba33 # v1.14.2 with: + packages-dir: missing/ + skip-existing: true attestations: true + verify-pypi: + needs: [stage-pypi, release] + if: >- + always() && needs.stage-pypi.result == 'success' && + (needs.release.result == 'success' || + (needs.release.result == 'skipped' && needs.stage-pypi.outputs.missing_count == '0')) + runs-on: ubuntu-26.04 + permissions: + contents: read + steps: + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + with: + persist-credentials: false + - uses: astral-sh/setup-uv@1c37ad07a6a961277cf70c0d37d6f313000f5884 # v10.3.0 + with: + version: latest-known + python-version: "3.15" + enable-cache: false + - uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8.0.2 + with: + name: ${{ env.dists-artifact-name }} + path: dist/ + - uses: tox-dev/github-workflows/reconcile-pypi-artifacts@a250ca3524857236e288764651851010939b6f71 + with: + project: pyproject-api + version: ${{ github.ref_name }} + dist: dist + mode: verify previous-tag: needs: build runs-on: ubuntu-26.04 @@ -50,6 +122,7 @@ jobs: persist-credentials: false - uses: astral-sh/setup-uv@1c37ad07a6a961277cf70c0d37d6f313000f5884 # v10.3.0 with: + version: latest-known python-version: "3.15" enable-cache: false - name: Install locked release tools @@ -110,6 +183,7 @@ jobs: persist-credentials: false - uses: astral-sh/setup-uv@1c37ad07a6a961277cf70c0d37d6f313000f5884 # v10.3.0 with: + version: latest-known python-version: "3.15" enable-cache: false - name: Install locked release tools @@ -126,7 +200,7 @@ jobs: with: name: contributor-metadata path: ${{ runner.temp }}/contributor-metadata - - uses: tox-dev/github-workflows/render-release-notes@5e11f2254a4dcb7102747d312ad7db48a2e9b0cb + - uses: tox-dev/github-workflows/render-release-notes@a250ca3524857236e288764651851010939b6f71 with: tag: ${{ github.ref_name }} changelog: docs/changelog.rst @@ -142,7 +216,7 @@ jobs: if-no-files-found: error retention-days: 1 github-release: - needs: [release, github-notes] + needs: [verify-pypi, github-notes] runs-on: ubuntu-26.04 permissions: contents: write @@ -151,7 +225,7 @@ jobs: with: name: github-release-notes path: ${{ runner.temp }}/github-release-notes - - uses: tox-dev/github-workflows/publish-github-release@d88002302950ed36200e62673f592acc40e6b151 + - uses: tox-dev/github-workflows/publish-github-release@a250ca3524857236e288764651851010939b6f71 with: repository: ${{ github.repository }} tag: ${{ github.ref_name }} diff --git a/.github/workflows/upgrade-release-tools.yaml b/.github/workflows/upgrade-release-tools.yaml index cbc4515..4d3c101 100644 --- a/.github/workflows/upgrade-release-tools.yaml +++ b/.github/workflows/upgrade-release-tools.yaml @@ -9,7 +9,7 @@ concurrency: cancel-in-progress: false jobs: upgrade: - uses: tox-dev/github-workflows/.github/workflows/upgrade-release-tools.yaml@5e11f2254a4dcb7102747d312ad7db48a2e9b0cb + uses: tox-dev/github-workflows/.github/workflows/upgrade-release-tools.yaml@a250ca3524857236e288764651851010939b6f71 permissions: actions: write contents: write diff --git a/pylock.toml b/pylock.toml index 1c4c16b..ce03665 100644 --- a/pylock.toml +++ b/pylock.toml @@ -5366,28 +5366,7 @@ sha256 = "edaa16e6c14d7cf395d75d4bbd5a26390f4dc06501a33b4e76282b02cc688a25" name = "packaging" version = "26.3" index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"lint\" in dependency_groups or \"pkg-meta\" in dependency_groups or \"project-runtime\" in dependency_groups or \"test\" in dependency_groups or \"type\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15'))" - -[packages.sdist] -url = "https://files.pythonhosted.org/packages/7d/fa/3944b40b07da9ce895c0e6303a5ab7d53da063554f534556b134a54d6093/packaging-26.3.tar.gz" -upload-time = 2026-08-04 18:15:28+00:00 -size = 313412 - -[packages.sdist.hashes] -sha256 = "94edc256424af38762eb31306eed28beb9f0efc50a8837492c9d6fd6004aed79" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/63/34/ba1c580383c9eada3711951fef0795c80b829a078d72188184bcab9dd527/packaging-26.3-py3-none-any.whl" -upload-time = 2026-08-04 18:15:27+00:00 -size = 129956 - -[packages.wheels.hashes] -sha256 = "d7193f7c8e4e93f444fde0262bf90af30e16fa0ad0ad44cb553c87339b23cd1c" - -[[packages]] -name = "packaging" -version = "26.3" -marker = "\"build\" in dependency_groups" +marker = "\"build\" in dependency_groups or \"dev\" in dependency_groups or \"docs\" in dependency_groups or \"lint\" in dependency_groups or \"pkg-meta\" in dependency_groups or \"project-runtime\" in dependency_groups or \"test\" in dependency_groups or \"type\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15'))" [packages.sdist] url = "https://files.pythonhosted.org/packages/7d/fa/3944b40b07da9ce895c0e6303a5ab7d53da063554f534556b134a54d6093/packaging-26.3.tar.gz" @@ -5409,28 +5388,7 @@ sha256 = "d7193f7c8e4e93f444fde0262bf90af30e16fa0ad0ad44cb553c87339b23cd1c" name = "pathspec" version = "1.1.1" index = "https://pypi.org/simple" -marker = "(\"release\" in dependency_groups and (python_full_version >= '3.15'))" - -[packages.sdist] -url = "https://files.pythonhosted.org/packages/5a/82/42f767fc1c1143d6fd36efb827202a2d997a375e160a71eb2888a925aac1/pathspec-1.1.1.tar.gz" -upload-time = 2026-04-27 01:46:08+00:00 -size = 135180 - -[packages.sdist.hashes] -sha256 = "17db5ecd524104a120e173814c90367a96a98d07c45b2e10c2f3919fff91bf5a" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/f1/d9/7fb5aa316bc299258e68c73ba3bddbc499654a07f151cba08f6153988714/pathspec-1.1.1-py3-none-any.whl" -upload-time = 2026-04-27 01:46:07+00:00 -size = 57328 - -[packages.wheels.hashes] -sha256 = "a00ce642f577bf7f473932318056212bc4f8bfdf53128c78bbd5af0b9b20b189" - -[[packages]] -name = "pathspec" -version = "1.1.1" -marker = "\"build\" in dependency_groups" +marker = "\"build\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15'))" [packages.sdist] url = "https://files.pythonhosted.org/packages/5a/82/42f767fc1c1143d6fd36efb827202a2d997a375e160a71eb2888a925aac1/pathspec-1.1.1.tar.gz" @@ -5474,28 +5432,7 @@ sha256 = "3dbcf4cd708f21cf876c4eaa90e58412bc4f033d87143f41b1493ff77c25b7e1" name = "pluggy" version = "1.6.0" index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"test\" in dependency_groups or \"type\" in dependency_groups" - -[packages.sdist] -url = "https://files.pythonhosted.org/packages/f9/e2/3e91f31a7d2b083fe6ef3fa267035b518369d9511ffab804f839851d2779/pluggy-1.6.0.tar.gz" -upload-time = 2025-05-15 12:30:07+00:00 -size = 69412 - -[packages.sdist.hashes] -sha256 = "7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl" -upload-time = 2025-05-15 12:30:06+00:00 -size = 20538 - -[packages.wheels.hashes] -sha256 = "e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746" - -[[packages]] -name = "pluggy" -version = "1.6.0" -marker = "\"build\" in dependency_groups" +marker = "\"build\" in dependency_groups or \"dev\" in dependency_groups or \"test\" in dependency_groups or \"type\" in dependency_groups" [packages.sdist] url = "https://files.pythonhosted.org/packages/f9/e2/3e91f31a7d2b083fe6ef3fa267035b518369d9511ffab804f839851d2779/pluggy-1.6.0.tar.gz" @@ -7445,14 +7382,14 @@ sha256 = "d0dae1f74bb273b534770cb4cccb6bb78735540afdb03c2146f4e19dcd412560" [[packages]] name = "release-creator" -version = "0.4.2.dev23+gcf1d89453" +version = "0.4.2.dev49+g50a98cd7e" marker = "(\"release\" in dependency_groups and (python_full_version >= '3.15'))" [packages.vcs] type = "git" url = "https://github.com/tox-dev/release-creator" -requested-revision = "cf1d89453fc88887e5cf924f6bc1b83157d3a6ac" -commit-id = "cf1d89453fc88887e5cf924f6bc1b83157d3a6ac" +requested-revision = "50a98cd7efd32795c0177ba758ae21d2817c0b17" +commit-id = "50a98cd7efd32795c0177ba758ae21d2817c0b17" [[packages]] name = "requests" @@ -7612,28 +7549,7 @@ sha256 = "0ce65888c0725fcb2c5bc0fdb8e5438eece02c523557ea40ce0703c266248137" name = "setuptools" version = "84.0.0" index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"test\" in dependency_groups or \"type\" in dependency_groups" - -[packages.sdist] -url = "https://files.pythonhosted.org/packages/6d/44/f5da03a8ef95d369145c5bb53050e7877c9f3d312e128605fd9504829143/setuptools-84.0.0.tar.gz" -upload-time = 2026-08-08 18:27:58+00:00 -size = 1168449 - -[packages.sdist.hashes] -sha256 = "f4695c21257f0d9b537ec2692c941d02ee143b7cc1276941349a546573b2ef73" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/95/9c/c510029fc6ef33a6275cd2c5d3cecd6613dfd6aa401d57c54f1c18852ccf/setuptools-84.0.0-py3-none-any.whl" -upload-time = 2026-08-08 18:27:56+00:00 -size = 818216 - -[packages.wheels.hashes] -sha256 = "51a52592b3b99e102b609654876bd65f19f999935166d1352678931132b0c670" - -[[packages]] -name = "setuptools" -version = "84.0.0" -marker = "\"build\" in dependency_groups" +marker = "\"build\" in dependency_groups or \"dev\" in dependency_groups or \"test\" in dependency_groups or \"type\" in dependency_groups" [packages.sdist] url = "https://files.pythonhosted.org/packages/6d/44/f5da03a8ef95d369145c5bb53050e7877c9f3d312e128605fd9504829143/setuptools-84.0.0.tar.gz" diff --git a/pyproject.toml b/pyproject.toml index 3ec8fd9..47363d8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -87,7 +87,7 @@ pkg-meta = [ release = [ "docstrfmt>=2.2.1", "prek>=0.5", - "release-creator @ git+https://github.com/tox-dev/release-creator@cf1d89453fc88887e5cf924f6bc1b83157d3a6ac", + "release-creator @ git+https://github.com/tox-dev/release-creator@50a98cd7efd32795c0177ba758ae21d2817c0b17", "towncrier>=26.9", ] From 84b1922579aa034f665198fcc71d765b02f7febd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bern=C3=A1t=20G=C3=A1bor?= Date: Wed, 21 Oct 2026 08:17:51 -0700 Subject: [PATCH 18/39] =?UTF-8?q?=F0=9F=91=B7=20ci(release):=20stage=20Git?= =?UTF-8?q?Hub=20draft=20first?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Require a matching GitHub draft before PyPI staging. The zero-missing retry path must not publish a Release when draft staging failed. --- .github/workflows/release.yaml | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index b9ac169..80c27fb 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -16,9 +16,29 @@ jobs: fragments: docs/changelog.d format: rst artifact-base-url: https://pypi.org/project/pyproject-api/ - stage-pypi: + stage-github-release: needs: [build, github-notes] runs-on: ubuntu-26.04 + permissions: + contents: write + steps: + - uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8.0.2 + with: + name: github-release-notes + path: ${{ runner.temp }}/github-release-notes + - uses: tox-dev/github-workflows/publish-github-release@a250ca3524857236e288764651851010939b6f71 + with: + repository: ${{ github.repository }} + tag: ${{ github.ref_name }} + commit: ${{ github.sha }} + title: ${{ github.ref_name }} + mode: stage + notes-file: ${{ runner.temp }}/github-release-notes/release-notes.md + env: + GH_TOKEN: ${{ github.token }} + stage-pypi: + needs: [build, github-notes, stage-github-release] + runs-on: ubuntu-26.04 permissions: contents: read outputs: @@ -81,9 +101,9 @@ jobs: skip-existing: true attestations: true verify-pypi: - needs: [stage-pypi, release] + needs: [stage-pypi, release, stage-github-release] if: >- - always() && needs.stage-pypi.result == 'success' && + always() && needs.stage-github-release.result == 'success' && needs.stage-pypi.result == 'success' && (needs.release.result == 'success' || (needs.release.result == 'skipped' && needs.stage-pypi.outputs.missing_count == '0')) runs-on: ubuntu-26.04 @@ -216,7 +236,7 @@ jobs: if-no-files-found: error retention-days: 1 github-release: - needs: [verify-pypi, github-notes] + needs: [verify-pypi, github-notes, stage-github-release] runs-on: ubuntu-26.04 permissions: contents: write @@ -231,6 +251,7 @@ jobs: tag: ${{ github.ref_name }} commit: ${{ github.sha }} title: ${{ github.ref_name }} + mode: publish notes-file: ${{ runner.temp }}/github-release-notes/release-notes.md env: GH_TOKEN: ${{ github.token }} From 04cb910226ddcd9e2749a5fdb89eaf37a0d1ce9d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bern=C3=A1t=20G=C3=A1bor?= Date: Wed, 21 Oct 2026 09:01:10 -0700 Subject: [PATCH 19/39] build(release): update shared validation pins --- .github/workflows/check.yaml | 2 +- .github/workflows/label-maintenance-pr.yaml | 2 +- .github/workflows/prepare-release.yaml | 2 +- .github/workflows/release.yaml | 14 +++++++------- .github/workflows/upgrade-release-tools.yaml | 2 +- pylock.toml | 6 +++--- pyproject.toml | 2 +- 7 files changed, 15 insertions(+), 15 deletions(-) diff --git a/.github/workflows/check.yaml b/.github/workflows/check.yaml index ee15eab..c9b4f07 100644 --- a/.github/workflows/check.yaml +++ b/.github/workflows/check.yaml @@ -93,7 +93,7 @@ jobs: uv venv --python 3.15 "$RUNNER_TEMP/release-tools" uv pip sync --preview-features pylock --python "$RUNNER_TEMP/release-tools/bin/python" --group release pylock.toml echo "$RUNNER_TEMP/release-tools/bin" >>"$GITHUB_PATH" - - uses: tox-dev/github-workflows/validate-news@a250ca3524857236e288764651851010939b6f71 + - uses: tox-dev/github-workflows/validate-news@560223eaaf4a15385415c521564155a50653fa52 gate: name: Required checks pass diff --git a/.github/workflows/label-maintenance-pr.yaml b/.github/workflows/label-maintenance-pr.yaml index 77b79dc..9d5cc72 100644 --- a/.github/workflows/label-maintenance-pr.yaml +++ b/.github/workflows/label-maintenance-pr.yaml @@ -11,7 +11,7 @@ jobs: issues: write pull-requests: read steps: - - uses: tox-dev/github-workflows/label-bot-news@a250ca3524857236e288764651851010939b6f71 + - uses: tox-dev/github-workflows/label-bot-news@560223eaaf4a15385415c521564155a50653fa52 with: fragments: docs/changelog.d extension: rst diff --git a/.github/workflows/prepare-release.yaml b/.github/workflows/prepare-release.yaml index f75d760..f4b133c 100644 --- a/.github/workflows/prepare-release.yaml +++ b/.github/workflows/prepare-release.yaml @@ -15,7 +15,7 @@ on: permissions: {} jobs: prepare: - uses: tox-dev/github-workflows/.github/workflows/prepare-towncrier-release.yaml@a250ca3524857236e288764651851010939b6f71 + uses: tox-dev/github-workflows/.github/workflows/prepare-towncrier-release.yaml@560223eaaf4a15385415c521564155a50653fa52 permissions: contents: read pull-requests: read diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 80c27fb..c4ac190 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -8,7 +8,7 @@ env: dists-artifact-name: python-package-distributions jobs: build: - uses: tox-dev/github-workflows/.github/workflows/validate-python-release.yaml@a250ca3524857236e288764651851010939b6f71 + uses: tox-dev/github-workflows/.github/workflows/validate-python-release.yaml@560223eaaf4a15385415c521564155a50653fa52 permissions: contents: read with: @@ -26,7 +26,7 @@ jobs: with: name: github-release-notes path: ${{ runner.temp }}/github-release-notes - - uses: tox-dev/github-workflows/publish-github-release@a250ca3524857236e288764651851010939b6f71 + - uses: tox-dev/github-workflows/publish-github-release@560223eaaf4a15385415c521564155a50653fa52 with: repository: ${{ github.repository }} tag: ${{ github.ref_name }} @@ -56,7 +56,7 @@ jobs: with: name: ${{ env.dists-artifact-name }} path: dist/ - - uses: tox-dev/github-workflows/reconcile-pypi-artifacts@a250ca3524857236e288764651851010939b6f71 + - uses: tox-dev/github-workflows/reconcile-pypi-artifacts@560223eaaf4a15385415c521564155a50653fa52 id: stage with: project: pyproject-api @@ -88,7 +88,7 @@ jobs: with: name: pypi-missing-manifest path: ${{ runner.temp }}/pypi-manifest - - uses: tox-dev/github-workflows/select-pypi-artifacts@a250ca3524857236e288764651851010939b6f71 + - uses: tox-dev/github-workflows/select-pypi-artifacts@560223eaaf4a15385415c521564155a50653fa52 with: dist: dist manifest: ${{ runner.temp }}/pypi-manifest/pypi-missing-names.txt @@ -122,7 +122,7 @@ jobs: with: name: ${{ env.dists-artifact-name }} path: dist/ - - uses: tox-dev/github-workflows/reconcile-pypi-artifacts@a250ca3524857236e288764651851010939b6f71 + - uses: tox-dev/github-workflows/reconcile-pypi-artifacts@560223eaaf4a15385415c521564155a50653fa52 with: project: pyproject-api version: ${{ github.ref_name }} @@ -220,7 +220,7 @@ jobs: with: name: contributor-metadata path: ${{ runner.temp }}/contributor-metadata - - uses: tox-dev/github-workflows/render-release-notes@a250ca3524857236e288764651851010939b6f71 + - uses: tox-dev/github-workflows/render-release-notes@560223eaaf4a15385415c521564155a50653fa52 with: tag: ${{ github.ref_name }} changelog: docs/changelog.rst @@ -245,7 +245,7 @@ jobs: with: name: github-release-notes path: ${{ runner.temp }}/github-release-notes - - uses: tox-dev/github-workflows/publish-github-release@a250ca3524857236e288764651851010939b6f71 + - uses: tox-dev/github-workflows/publish-github-release@560223eaaf4a15385415c521564155a50653fa52 with: repository: ${{ github.repository }} tag: ${{ github.ref_name }} diff --git a/.github/workflows/upgrade-release-tools.yaml b/.github/workflows/upgrade-release-tools.yaml index 4d3c101..6335885 100644 --- a/.github/workflows/upgrade-release-tools.yaml +++ b/.github/workflows/upgrade-release-tools.yaml @@ -9,7 +9,7 @@ concurrency: cancel-in-progress: false jobs: upgrade: - uses: tox-dev/github-workflows/.github/workflows/upgrade-release-tools.yaml@a250ca3524857236e288764651851010939b6f71 + uses: tox-dev/github-workflows/.github/workflows/upgrade-release-tools.yaml@560223eaaf4a15385415c521564155a50653fa52 permissions: actions: write contents: write diff --git a/pylock.toml b/pylock.toml index ce03665..95cc34b 100644 --- a/pylock.toml +++ b/pylock.toml @@ -7382,14 +7382,14 @@ sha256 = "d0dae1f74bb273b534770cb4cccb6bb78735540afdb03c2146f4e19dcd412560" [[packages]] name = "release-creator" -version = "0.4.2.dev49+g50a98cd7e" +version = "0.4.2.dev56+g2d1124518" marker = "(\"release\" in dependency_groups and (python_full_version >= '3.15'))" [packages.vcs] type = "git" url = "https://github.com/tox-dev/release-creator" -requested-revision = "50a98cd7efd32795c0177ba758ae21d2817c0b17" -commit-id = "50a98cd7efd32795c0177ba758ae21d2817c0b17" +requested-revision = "2d1124518d11c9c5798d375fa70ff0ec8422e3b0" +commit-id = "2d1124518d11c9c5798d375fa70ff0ec8422e3b0" [[packages]] name = "requests" diff --git a/pyproject.toml b/pyproject.toml index 47363d8..547a696 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -87,7 +87,7 @@ pkg-meta = [ release = [ "docstrfmt>=2.2.1", "prek>=0.5", - "release-creator @ git+https://github.com/tox-dev/release-creator@50a98cd7efd32795c0177ba758ae21d2817c0b17", + "release-creator @ git+https://github.com/tox-dev/release-creator@2d1124518d11c9c5798d375fa70ff0ec8422e3b0", "towncrier>=26.9", ] From be1ee4e5289393871e1f828fec99b5741df3c864 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bern=C3=A1t=20G=C3=A1bor?= Date: Wed, 21 Oct 2026 10:41:30 -0700 Subject: [PATCH 20/39] ci: require hook update cooldown --- .github/workflows/check.yaml | 22 +++++++++++++++++--- .github/workflows/label-maintenance-pr.yaml | 2 +- .github/workflows/prepare-release.yaml | 2 +- .github/workflows/release.yaml | 15 ++++++------- .github/workflows/upgrade-release-tools.yaml | 2 +- pylock.toml | 6 +++--- pyproject.toml | 2 +- 7 files changed, 34 insertions(+), 17 deletions(-) diff --git a/.github/workflows/check.yaml b/.github/workflows/check.yaml index c9b4f07..7ac24c1 100644 --- a/.github/workflows/check.yaml +++ b/.github/workflows/check.yaml @@ -93,12 +93,27 @@ jobs: uv venv --python 3.15 "$RUNNER_TEMP/release-tools" uv pip sync --preview-features pylock --python "$RUNNER_TEMP/release-tools/bin/python" --group release pylock.toml echo "$RUNNER_TEMP/release-tools/bin" >>"$GITHUB_PATH" - - uses: tox-dev/github-workflows/validate-news@560223eaaf4a15385415c521564155a50653fa52 + - uses: tox-dev/github-workflows/validate-news@8db87d4730353b61630d66cbc592d6bed0c85d2b + + hook-update-cooldown: + if: github.event_name == 'pull_request' + runs-on: ubuntu-26.04 + permissions: + contents: read + pull-requests: read + steps: + - uses: tox-dev/github-workflows/check-hook-update-cooldown@8db87d4730353b61630d66cbc592d6bed0c85d2b + env: + GH_TOKEN: ${{ github.token }} + with: + repository: ${{ github.repository }} + pull-request: ${{ github.event.pull_request.number }} + head-sha: ${{ github.event.pull_request.head.sha }} gate: name: Required checks pass if: always() - needs: [test, changelog] + needs: [test, changelog, hook-update-cooldown] runs-on: ubuntu-26.04 steps: - env: @@ -109,6 +124,7 @@ jobs: all( to_entries[]; .value.result == "success" or - (.key == "changelog" and .value.result == "skipped" and $event != "pull_request") + (.key == "changelog" and .value.result == "skipped" and $event != "pull_request") or + (.key == "hook-update-cooldown" and .value.result == "skipped" and $event != "pull_request") ) ' <<<"$NEEDS_JSON" diff --git a/.github/workflows/label-maintenance-pr.yaml b/.github/workflows/label-maintenance-pr.yaml index 9d5cc72..ae5479b 100644 --- a/.github/workflows/label-maintenance-pr.yaml +++ b/.github/workflows/label-maintenance-pr.yaml @@ -11,7 +11,7 @@ jobs: issues: write pull-requests: read steps: - - uses: tox-dev/github-workflows/label-bot-news@560223eaaf4a15385415c521564155a50653fa52 + - uses: tox-dev/github-workflows/label-bot-news@8db87d4730353b61630d66cbc592d6bed0c85d2b with: fragments: docs/changelog.d extension: rst diff --git a/.github/workflows/prepare-release.yaml b/.github/workflows/prepare-release.yaml index f4b133c..56ed0b7 100644 --- a/.github/workflows/prepare-release.yaml +++ b/.github/workflows/prepare-release.yaml @@ -15,7 +15,7 @@ on: permissions: {} jobs: prepare: - uses: tox-dev/github-workflows/.github/workflows/prepare-towncrier-release.yaml@560223eaaf4a15385415c521564155a50653fa52 + uses: tox-dev/github-workflows/.github/workflows/prepare-towncrier-release.yaml@8db87d4730353b61630d66cbc592d6bed0c85d2b permissions: contents: read pull-requests: read diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index c4ac190..66e8591 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -8,9 +8,10 @@ env: dists-artifact-name: python-package-distributions jobs: build: - uses: tox-dev/github-workflows/.github/workflows/validate-python-release.yaml@560223eaaf4a15385415c521564155a50653fa52 + uses: tox-dev/github-workflows/.github/workflows/validate-python-release.yaml@8db87d4730353b61630d66cbc592d6bed0c85d2b permissions: contents: read + pull-requests: read with: changelog: docs/changelog.rst fragments: docs/changelog.d @@ -26,7 +27,7 @@ jobs: with: name: github-release-notes path: ${{ runner.temp }}/github-release-notes - - uses: tox-dev/github-workflows/publish-github-release@560223eaaf4a15385415c521564155a50653fa52 + - uses: tox-dev/github-workflows/publish-github-release@8db87d4730353b61630d66cbc592d6bed0c85d2b with: repository: ${{ github.repository }} tag: ${{ github.ref_name }} @@ -56,7 +57,7 @@ jobs: with: name: ${{ env.dists-artifact-name }} path: dist/ - - uses: tox-dev/github-workflows/reconcile-pypi-artifacts@560223eaaf4a15385415c521564155a50653fa52 + - uses: tox-dev/github-workflows/reconcile-pypi-artifacts@8db87d4730353b61630d66cbc592d6bed0c85d2b id: stage with: project: pyproject-api @@ -88,7 +89,7 @@ jobs: with: name: pypi-missing-manifest path: ${{ runner.temp }}/pypi-manifest - - uses: tox-dev/github-workflows/select-pypi-artifacts@560223eaaf4a15385415c521564155a50653fa52 + - uses: tox-dev/github-workflows/select-pypi-artifacts@8db87d4730353b61630d66cbc592d6bed0c85d2b with: dist: dist manifest: ${{ runner.temp }}/pypi-manifest/pypi-missing-names.txt @@ -122,7 +123,7 @@ jobs: with: name: ${{ env.dists-artifact-name }} path: dist/ - - uses: tox-dev/github-workflows/reconcile-pypi-artifacts@560223eaaf4a15385415c521564155a50653fa52 + - uses: tox-dev/github-workflows/reconcile-pypi-artifacts@8db87d4730353b61630d66cbc592d6bed0c85d2b with: project: pyproject-api version: ${{ github.ref_name }} @@ -220,7 +221,7 @@ jobs: with: name: contributor-metadata path: ${{ runner.temp }}/contributor-metadata - - uses: tox-dev/github-workflows/render-release-notes@560223eaaf4a15385415c521564155a50653fa52 + - uses: tox-dev/github-workflows/render-release-notes@8db87d4730353b61630d66cbc592d6bed0c85d2b with: tag: ${{ github.ref_name }} changelog: docs/changelog.rst @@ -245,7 +246,7 @@ jobs: with: name: github-release-notes path: ${{ runner.temp }}/github-release-notes - - uses: tox-dev/github-workflows/publish-github-release@560223eaaf4a15385415c521564155a50653fa52 + - uses: tox-dev/github-workflows/publish-github-release@8db87d4730353b61630d66cbc592d6bed0c85d2b with: repository: ${{ github.repository }} tag: ${{ github.ref_name }} diff --git a/.github/workflows/upgrade-release-tools.yaml b/.github/workflows/upgrade-release-tools.yaml index 6335885..51ddb7f 100644 --- a/.github/workflows/upgrade-release-tools.yaml +++ b/.github/workflows/upgrade-release-tools.yaml @@ -9,7 +9,7 @@ concurrency: cancel-in-progress: false jobs: upgrade: - uses: tox-dev/github-workflows/.github/workflows/upgrade-release-tools.yaml@560223eaaf4a15385415c521564155a50653fa52 + uses: tox-dev/github-workflows/.github/workflows/upgrade-release-tools.yaml@8db87d4730353b61630d66cbc592d6bed0c85d2b permissions: actions: write contents: write diff --git a/pylock.toml b/pylock.toml index 95cc34b..ef838bb 100644 --- a/pylock.toml +++ b/pylock.toml @@ -7382,14 +7382,14 @@ sha256 = "d0dae1f74bb273b534770cb4cccb6bb78735540afdb03c2146f4e19dcd412560" [[packages]] name = "release-creator" -version = "0.4.2.dev56+g2d1124518" +version = "0.4.2.dev61+ga5873f5d6" marker = "(\"release\" in dependency_groups and (python_full_version >= '3.15'))" [packages.vcs] type = "git" url = "https://github.com/tox-dev/release-creator" -requested-revision = "2d1124518d11c9c5798d375fa70ff0ec8422e3b0" -commit-id = "2d1124518d11c9c5798d375fa70ff0ec8422e3b0" +requested-revision = "a5873f5d66c5b1ff07da6294aa2719764fa9f864" +commit-id = "a5873f5d66c5b1ff07da6294aa2719764fa9f864" [[packages]] name = "requests" diff --git a/pyproject.toml b/pyproject.toml index 547a696..ba3b42c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -87,7 +87,7 @@ pkg-meta = [ release = [ "docstrfmt>=2.2.1", "prek>=0.5", - "release-creator @ git+https://github.com/tox-dev/release-creator@2d1124518d11c9c5798d375fa70ff0ec8422e3b0", + "release-creator @ git+https://github.com/tox-dev/release-creator@a5873f5d66c5b1ff07da6294aa2719764fa9f864", "towncrier>=26.9", ] From 35a3cd3658310d42fca63370d9939aa7114906d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bern=C3=A1t=20G=C3=A1bor?= Date: Wed, 21 Oct 2026 11:14:23 -0700 Subject: [PATCH 21/39] style: format release workflows --- .github/workflows/check.yaml | 12 +++--------- .github/workflows/release.yaml | 4 +--- 2 files changed, 4 insertions(+), 12 deletions(-) diff --git a/.github/workflows/check.yaml b/.github/workflows/check.yaml index 7ac24c1..7fbdce0 100644 --- a/.github/workflows/check.yaml +++ b/.github/workflows/check.yaml @@ -8,14 +8,11 @@ on: types: [opened, synchronize, reopened, labeled, unlabeled] schedule: - cron: "0 8 * * *" - concurrency: group: check-${{ github.ref }} cancel-in-progress: true - permissions: contents: read - jobs: test: name: test ${{ matrix.env }} - ${{ matrix.os }} @@ -38,9 +35,9 @@ jobs: - windows-2025-vs2026 - macos-26 exclude: - - { os: macos-26, env: "type" } - - { os: macos-26, env: "dev" } - - { os: macos-26, env: "pkg_meta" } + - {os: macos-26, env: "type"} + - {os: macos-26, env: "dev"} + - {os: macos-26, env: "pkg_meta"} steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: @@ -73,7 +70,6 @@ jobs: PYTEST_ADDOPTS: "-vv --durations=20" DIFF_AGAINST: HEAD UV_PYTHON_PREFERENCE: only-managed - changelog: if: github.event_name == 'pull_request' runs-on: ubuntu-26.04 @@ -94,7 +90,6 @@ jobs: uv pip sync --preview-features pylock --python "$RUNNER_TEMP/release-tools/bin/python" --group release pylock.toml echo "$RUNNER_TEMP/release-tools/bin" >>"$GITHUB_PATH" - uses: tox-dev/github-workflows/validate-news@8db87d4730353b61630d66cbc592d6bed0c85d2b - hook-update-cooldown: if: github.event_name == 'pull_request' runs-on: ubuntu-26.04 @@ -109,7 +104,6 @@ jobs: repository: ${{ github.repository }} pull-request: ${{ github.event.pull_request.number }} head-sha: ${{ github.event.pull_request.head.sha }} - gate: name: Required checks pass if: always() diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 66e8591..636e1a6 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -104,9 +104,7 @@ jobs: verify-pypi: needs: [stage-pypi, release, stage-github-release] if: >- - always() && needs.stage-github-release.result == 'success' && needs.stage-pypi.result == 'success' && - (needs.release.result == 'success' || - (needs.release.result == 'skipped' && needs.stage-pypi.outputs.missing_count == '0')) + always() && needs.stage-github-release.result == 'success' && needs.stage-pypi.result == 'success' && (needs.release.result == 'success' || (needs.release.result == 'skipped' && needs.stage-pypi.outputs.missing_count == '0')) runs-on: ubuntu-26.04 permissions: contents: read From 9445394d14f2fb4b244b9734716b4b28e8354706 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bern=C3=A1t=20G=C3=A1bor?= Date: Wed, 21 Oct 2026 11:16:35 -0700 Subject: [PATCH 22/39] style: format hook configuration --- .pre-commit-config.yaml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index a0925e0..a6cc422 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -2,35 +2,35 @@ default_language_version: python: python3.15 repos: - repo: https://github.com/pre-commit/pre-commit-hooks - rev: 3e8a8703264a2f4a69428a0aa4dcb512790b2c8c # frozen: v6.0.0 + rev: 3e8a8703264a2f4a69428a0aa4dcb512790b2c8c # frozen: v6.0.0 hooks: - id: end-of-file-fixer - id: trailing-whitespace - repo: https://github.com/python-jsonschema/check-jsonschema - rev: 0494aa7fa1314e98913a41227d8f0a515b2c1049 # frozen: 0.38.2 + rev: 0494aa7fa1314e98913a41227d8f0a515b2c1049 # frozen: 0.38.2 hooks: - id: check-github-workflows - args: [ "--verbose" ] + args: ["--verbose"] - repo: https://github.com/codespell-project/codespell - rev: 57b21406f092110c18776e39b0bda50d37c945c8 # frozen: v2.4.3 + rev: 57b21406f092110c18776e39b0bda50d37c945c8 # frozen: v2.4.3 hooks: - id: codespell - repo: https://github.com/tox-dev/tox-toml-fmt - rev: "5125f601c3e134347288c3d42f3b34298b7cf1be" # frozen: v1.11.1 + rev: "5125f601c3e134347288c3d42f3b34298b7cf1be" # frozen: v1.11.1 hooks: - id: tox-toml-fmt - repo: https://github.com/tox-dev/pyproject-fmt - rev: "50e0f3aee9dc5747a5f173f79a7417403c18dda6" # frozen: v2.30.3 + rev: "50e0f3aee9dc5747a5f173f79a7417403c18dda6" # frozen: v2.30.3 hooks: - id: pyproject-fmt - repo: https://github.com/astral-sh/ruff-pre-commit - rev: "38bfb07c0c64c304f47eb52090f8288150c77730" # frozen: v0.17.1 + rev: "38bfb07c0c64c304f47eb52090f8288150c77730" # frozen: v0.17.1 hooks: - id: ruff-format - id: ruff args: ["--fix", "--unsafe-fixes", "--exit-non-zero-on-fix"] - repo: https://github.com/LilSpazJoekp/docstrfmt - rev: c1813841673cdcd6cf602dde1edb78a5d5e45235 # frozen: v2.2.1 + rev: c1813841673cdcd6cf602dde1edb78a5d5e45235 # frozen: v2.2.1 hooks: - id: docstrfmt files: | @@ -39,7 +39,7 @@ repos: args: ["-l", "120", "--preserve-adornments"] additional_dependencies: ["sphinx==9.2.0"] - repo: https://github.com/zizmorcore/zizmor-pre-commit - rev: c92afdf2c6ca336aaa8f39e2bd8d48f62dbd8e1f # frozen: v1.31.1 + rev: c92afdf2c6ca336aaa8f39e2bd8d48f62dbd8e1f # frozen: v1.31.1 hooks: - id: zizmor - repo: meta From cb861e86c213ef941c8138e9624f73e8770a5127 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bern=C3=A1t=20G=C3=A1bor?= Date: Wed, 21 Oct 2026 16:44:18 -0700 Subject: [PATCH 23/39] =?UTF-8?q?=F0=9F=91=B7=20ci:=20use=20named=20shared?= =?UTF-8?q?=20Action=20steps?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/check.yaml | 4 ++-- .github/workflows/label-maintenance-pr.yaml | 2 +- .github/workflows/prepare-release.yaml | 2 +- .github/workflows/release.yaml | 14 +++++++------- .github/workflows/upgrade-release-tools.yaml | 2 +- 5 files changed, 12 insertions(+), 12 deletions(-) diff --git a/.github/workflows/check.yaml b/.github/workflows/check.yaml index 7fbdce0..044be8f 100644 --- a/.github/workflows/check.yaml +++ b/.github/workflows/check.yaml @@ -89,7 +89,7 @@ jobs: uv venv --python 3.15 "$RUNNER_TEMP/release-tools" uv pip sync --preview-features pylock --python "$RUNNER_TEMP/release-tools/bin/python" --group release pylock.toml echo "$RUNNER_TEMP/release-tools/bin" >>"$GITHUB_PATH" - - uses: tox-dev/github-workflows/validate-news@8db87d4730353b61630d66cbc592d6bed0c85d2b + - uses: tox-dev/github-workflows/validate-news@9a4e76e2f4901856f2784f6c0efc89278c518b1f hook-update-cooldown: if: github.event_name == 'pull_request' runs-on: ubuntu-26.04 @@ -97,7 +97,7 @@ jobs: contents: read pull-requests: read steps: - - uses: tox-dev/github-workflows/check-hook-update-cooldown@8db87d4730353b61630d66cbc592d6bed0c85d2b + - uses: tox-dev/github-workflows/check-hook-update-cooldown@9a4e76e2f4901856f2784f6c0efc89278c518b1f env: GH_TOKEN: ${{ github.token }} with: diff --git a/.github/workflows/label-maintenance-pr.yaml b/.github/workflows/label-maintenance-pr.yaml index ae5479b..f0b771b 100644 --- a/.github/workflows/label-maintenance-pr.yaml +++ b/.github/workflows/label-maintenance-pr.yaml @@ -11,7 +11,7 @@ jobs: issues: write pull-requests: read steps: - - uses: tox-dev/github-workflows/label-bot-news@8db87d4730353b61630d66cbc592d6bed0c85d2b + - uses: tox-dev/github-workflows/label-bot-news@9a4e76e2f4901856f2784f6c0efc89278c518b1f with: fragments: docs/changelog.d extension: rst diff --git a/.github/workflows/prepare-release.yaml b/.github/workflows/prepare-release.yaml index 56ed0b7..eaf8696 100644 --- a/.github/workflows/prepare-release.yaml +++ b/.github/workflows/prepare-release.yaml @@ -15,7 +15,7 @@ on: permissions: {} jobs: prepare: - uses: tox-dev/github-workflows/.github/workflows/prepare-towncrier-release.yaml@8db87d4730353b61630d66cbc592d6bed0c85d2b + uses: tox-dev/github-workflows/.github/workflows/prepare-towncrier-release.yaml@9a4e76e2f4901856f2784f6c0efc89278c518b1f permissions: contents: read pull-requests: read diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 636e1a6..14d27b2 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -8,7 +8,7 @@ env: dists-artifact-name: python-package-distributions jobs: build: - uses: tox-dev/github-workflows/.github/workflows/validate-python-release.yaml@8db87d4730353b61630d66cbc592d6bed0c85d2b + uses: tox-dev/github-workflows/.github/workflows/validate-python-release.yaml@9a4e76e2f4901856f2784f6c0efc89278c518b1f permissions: contents: read pull-requests: read @@ -27,7 +27,7 @@ jobs: with: name: github-release-notes path: ${{ runner.temp }}/github-release-notes - - uses: tox-dev/github-workflows/publish-github-release@8db87d4730353b61630d66cbc592d6bed0c85d2b + - uses: tox-dev/github-workflows/publish-github-release@9a4e76e2f4901856f2784f6c0efc89278c518b1f with: repository: ${{ github.repository }} tag: ${{ github.ref_name }} @@ -57,7 +57,7 @@ jobs: with: name: ${{ env.dists-artifact-name }} path: dist/ - - uses: tox-dev/github-workflows/reconcile-pypi-artifacts@8db87d4730353b61630d66cbc592d6bed0c85d2b + - uses: tox-dev/github-workflows/reconcile-pypi-artifacts@9a4e76e2f4901856f2784f6c0efc89278c518b1f id: stage with: project: pyproject-api @@ -89,7 +89,7 @@ jobs: with: name: pypi-missing-manifest path: ${{ runner.temp }}/pypi-manifest - - uses: tox-dev/github-workflows/select-pypi-artifacts@8db87d4730353b61630d66cbc592d6bed0c85d2b + - uses: tox-dev/github-workflows/select-pypi-artifacts@9a4e76e2f4901856f2784f6c0efc89278c518b1f with: dist: dist manifest: ${{ runner.temp }}/pypi-manifest/pypi-missing-names.txt @@ -121,7 +121,7 @@ jobs: with: name: ${{ env.dists-artifact-name }} path: dist/ - - uses: tox-dev/github-workflows/reconcile-pypi-artifacts@8db87d4730353b61630d66cbc592d6bed0c85d2b + - uses: tox-dev/github-workflows/reconcile-pypi-artifacts@9a4e76e2f4901856f2784f6c0efc89278c518b1f with: project: pyproject-api version: ${{ github.ref_name }} @@ -219,7 +219,7 @@ jobs: with: name: contributor-metadata path: ${{ runner.temp }}/contributor-metadata - - uses: tox-dev/github-workflows/render-release-notes@8db87d4730353b61630d66cbc592d6bed0c85d2b + - uses: tox-dev/github-workflows/render-release-notes@9a4e76e2f4901856f2784f6c0efc89278c518b1f with: tag: ${{ github.ref_name }} changelog: docs/changelog.rst @@ -244,7 +244,7 @@ jobs: with: name: github-release-notes path: ${{ runner.temp }}/github-release-notes - - uses: tox-dev/github-workflows/publish-github-release@8db87d4730353b61630d66cbc592d6bed0c85d2b + - uses: tox-dev/github-workflows/publish-github-release@9a4e76e2f4901856f2784f6c0efc89278c518b1f with: repository: ${{ github.repository }} tag: ${{ github.ref_name }} diff --git a/.github/workflows/upgrade-release-tools.yaml b/.github/workflows/upgrade-release-tools.yaml index 51ddb7f..9831394 100644 --- a/.github/workflows/upgrade-release-tools.yaml +++ b/.github/workflows/upgrade-release-tools.yaml @@ -9,7 +9,7 @@ concurrency: cancel-in-progress: false jobs: upgrade: - uses: tox-dev/github-workflows/.github/workflows/upgrade-release-tools.yaml@8db87d4730353b61630d66cbc592d6bed0c85d2b + uses: tox-dev/github-workflows/.github/workflows/upgrade-release-tools.yaml@9a4e76e2f4901856f2784f6c0efc89278c518b1f permissions: actions: write contents: write From 0d331b0f5a37bebd1d9d63a586e25065fbc44b0d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bern=C3=A1t=20G=C3=A1bor?= Date: Wed, 21 Oct 2026 21:04:00 -0700 Subject: [PATCH 24/39] =?UTF-8?q?=F0=9F=94=A7=20chore(release):=20use=20li?= =?UTF-8?q?ve=20workflow?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/check.yaml | 4 ++-- .github/workflows/label-maintenance-pr.yaml | 2 +- .github/workflows/prepare-release.yaml | 2 +- .github/workflows/release.yaml | 17 +++++++---------- .github/workflows/upgrade-release-tools.yaml | 2 +- 5 files changed, 12 insertions(+), 15 deletions(-) diff --git a/.github/workflows/check.yaml b/.github/workflows/check.yaml index 044be8f..673edbd 100644 --- a/.github/workflows/check.yaml +++ b/.github/workflows/check.yaml @@ -89,7 +89,7 @@ jobs: uv venv --python 3.15 "$RUNNER_TEMP/release-tools" uv pip sync --preview-features pylock --python "$RUNNER_TEMP/release-tools/bin/python" --group release pylock.toml echo "$RUNNER_TEMP/release-tools/bin" >>"$GITHUB_PATH" - - uses: tox-dev/github-workflows/validate-news@9a4e76e2f4901856f2784f6c0efc89278c518b1f + - uses: tox-dev/github-workflows/validate-news@a32ce094895292b19eea422fc6500f1ef1ae8d5f hook-update-cooldown: if: github.event_name == 'pull_request' runs-on: ubuntu-26.04 @@ -97,7 +97,7 @@ jobs: contents: read pull-requests: read steps: - - uses: tox-dev/github-workflows/check-hook-update-cooldown@9a4e76e2f4901856f2784f6c0efc89278c518b1f + - uses: tox-dev/github-workflows/check-hook-update-cooldown@a32ce094895292b19eea422fc6500f1ef1ae8d5f env: GH_TOKEN: ${{ github.token }} with: diff --git a/.github/workflows/label-maintenance-pr.yaml b/.github/workflows/label-maintenance-pr.yaml index f0b771b..bc6f421 100644 --- a/.github/workflows/label-maintenance-pr.yaml +++ b/.github/workflows/label-maintenance-pr.yaml @@ -11,7 +11,7 @@ jobs: issues: write pull-requests: read steps: - - uses: tox-dev/github-workflows/label-bot-news@9a4e76e2f4901856f2784f6c0efc89278c518b1f + - uses: tox-dev/github-workflows/label-bot-news@a32ce094895292b19eea422fc6500f1ef1ae8d5f with: fragments: docs/changelog.d extension: rst diff --git a/.github/workflows/prepare-release.yaml b/.github/workflows/prepare-release.yaml index eaf8696..198351b 100644 --- a/.github/workflows/prepare-release.yaml +++ b/.github/workflows/prepare-release.yaml @@ -15,7 +15,7 @@ on: permissions: {} jobs: prepare: - uses: tox-dev/github-workflows/.github/workflows/prepare-towncrier-release.yaml@9a4e76e2f4901856f2784f6c0efc89278c518b1f + uses: tox-dev/github-workflows/.github/workflows/prepare-towncrier-release.yaml@a32ce094895292b19eea422fc6500f1ef1ae8d5f permissions: contents: read pull-requests: read diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 14d27b2..ec85e2c 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -8,14 +8,11 @@ env: dists-artifact-name: python-package-distributions jobs: build: - uses: tox-dev/github-workflows/.github/workflows/validate-python-release.yaml@9a4e76e2f4901856f2784f6c0efc89278c518b1f + uses: tox-dev/github-workflows/.github/workflows/validate-python-release.yaml@a32ce094895292b19eea422fc6500f1ef1ae8d5f permissions: contents: read - pull-requests: read with: changelog: docs/changelog.rst - fragments: docs/changelog.d - format: rst artifact-base-url: https://pypi.org/project/pyproject-api/ stage-github-release: needs: [build, github-notes] @@ -27,7 +24,7 @@ jobs: with: name: github-release-notes path: ${{ runner.temp }}/github-release-notes - - uses: tox-dev/github-workflows/publish-github-release@9a4e76e2f4901856f2784f6c0efc89278c518b1f + - uses: tox-dev/github-workflows/publish-github-release@a32ce094895292b19eea422fc6500f1ef1ae8d5f with: repository: ${{ github.repository }} tag: ${{ github.ref_name }} @@ -57,7 +54,7 @@ jobs: with: name: ${{ env.dists-artifact-name }} path: dist/ - - uses: tox-dev/github-workflows/reconcile-pypi-artifacts@9a4e76e2f4901856f2784f6c0efc89278c518b1f + - uses: tox-dev/github-workflows/reconcile-pypi-artifacts@a32ce094895292b19eea422fc6500f1ef1ae8d5f id: stage with: project: pyproject-api @@ -89,7 +86,7 @@ jobs: with: name: pypi-missing-manifest path: ${{ runner.temp }}/pypi-manifest - - uses: tox-dev/github-workflows/select-pypi-artifacts@9a4e76e2f4901856f2784f6c0efc89278c518b1f + - uses: tox-dev/github-workflows/select-pypi-artifacts@a32ce094895292b19eea422fc6500f1ef1ae8d5f with: dist: dist manifest: ${{ runner.temp }}/pypi-manifest/pypi-missing-names.txt @@ -121,7 +118,7 @@ jobs: with: name: ${{ env.dists-artifact-name }} path: dist/ - - uses: tox-dev/github-workflows/reconcile-pypi-artifacts@9a4e76e2f4901856f2784f6c0efc89278c518b1f + - uses: tox-dev/github-workflows/reconcile-pypi-artifacts@a32ce094895292b19eea422fc6500f1ef1ae8d5f with: project: pyproject-api version: ${{ github.ref_name }} @@ -219,7 +216,7 @@ jobs: with: name: contributor-metadata path: ${{ runner.temp }}/contributor-metadata - - uses: tox-dev/github-workflows/render-release-notes@9a4e76e2f4901856f2784f6c0efc89278c518b1f + - uses: tox-dev/github-workflows/render-release-notes@a32ce094895292b19eea422fc6500f1ef1ae8d5f with: tag: ${{ github.ref_name }} changelog: docs/changelog.rst @@ -244,7 +241,7 @@ jobs: with: name: github-release-notes path: ${{ runner.temp }}/github-release-notes - - uses: tox-dev/github-workflows/publish-github-release@9a4e76e2f4901856f2784f6c0efc89278c518b1f + - uses: tox-dev/github-workflows/publish-github-release@a32ce094895292b19eea422fc6500f1ef1ae8d5f with: repository: ${{ github.repository }} tag: ${{ github.ref_name }} diff --git a/.github/workflows/upgrade-release-tools.yaml b/.github/workflows/upgrade-release-tools.yaml index 9831394..c7b198f 100644 --- a/.github/workflows/upgrade-release-tools.yaml +++ b/.github/workflows/upgrade-release-tools.yaml @@ -9,7 +9,7 @@ concurrency: cancel-in-progress: false jobs: upgrade: - uses: tox-dev/github-workflows/.github/workflows/upgrade-release-tools.yaml@9a4e76e2f4901856f2784f6c0efc89278c518b1f + uses: tox-dev/github-workflows/.github/workflows/upgrade-release-tools.yaml@a32ce094895292b19eea422fc6500f1ef1ae8d5f permissions: actions: write contents: write From f07d7638a470aef3050934218648dfd3c39bc21d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bern=C3=A1t=20G=C3=A1bor?= Date: Thu, 22 Oct 2026 00:03:16 -0700 Subject: [PATCH 25/39] =?UTF-8?q?=F0=9F=91=B7=20ci(release):=20use=20publi?= =?UTF-8?q?shed=20tooling?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Use release-creator 0.5.0 from the project lock. Open weekly release-tool PRs with the repo-only App so pull request checks run on those changes. The App needs Pull requests write as well as Contents write. --- .github/workflows/check.yaml | 4 +- .github/workflows/label-maintenance-pr.yaml | 2 +- .github/workflows/prepare-release.yaml | 2 +- .github/workflows/release.yaml | 14 +- .github/workflows/upgrade-release-tools.yaml | 10 +- pylock.toml | 213 ++++++++++--------- pyproject.toml | 2 +- 7 files changed, 129 insertions(+), 118 deletions(-) diff --git a/.github/workflows/check.yaml b/.github/workflows/check.yaml index 673edbd..84d7e86 100644 --- a/.github/workflows/check.yaml +++ b/.github/workflows/check.yaml @@ -89,7 +89,7 @@ jobs: uv venv --python 3.15 "$RUNNER_TEMP/release-tools" uv pip sync --preview-features pylock --python "$RUNNER_TEMP/release-tools/bin/python" --group release pylock.toml echo "$RUNNER_TEMP/release-tools/bin" >>"$GITHUB_PATH" - - uses: tox-dev/github-workflows/validate-news@a32ce094895292b19eea422fc6500f1ef1ae8d5f + - uses: tox-dev/github-workflows/validate-news@2b4ed19340a7ec97020f4fd0a403531845c49356 hook-update-cooldown: if: github.event_name == 'pull_request' runs-on: ubuntu-26.04 @@ -97,7 +97,7 @@ jobs: contents: read pull-requests: read steps: - - uses: tox-dev/github-workflows/check-hook-update-cooldown@a32ce094895292b19eea422fc6500f1ef1ae8d5f + - uses: tox-dev/github-workflows/check-hook-update-cooldown@2b4ed19340a7ec97020f4fd0a403531845c49356 env: GH_TOKEN: ${{ github.token }} with: diff --git a/.github/workflows/label-maintenance-pr.yaml b/.github/workflows/label-maintenance-pr.yaml index bc6f421..86002da 100644 --- a/.github/workflows/label-maintenance-pr.yaml +++ b/.github/workflows/label-maintenance-pr.yaml @@ -11,7 +11,7 @@ jobs: issues: write pull-requests: read steps: - - uses: tox-dev/github-workflows/label-bot-news@a32ce094895292b19eea422fc6500f1ef1ae8d5f + - uses: tox-dev/github-workflows/label-bot-news@2b4ed19340a7ec97020f4fd0a403531845c49356 with: fragments: docs/changelog.d extension: rst diff --git a/.github/workflows/prepare-release.yaml b/.github/workflows/prepare-release.yaml index 198351b..a8992bf 100644 --- a/.github/workflows/prepare-release.yaml +++ b/.github/workflows/prepare-release.yaml @@ -15,7 +15,7 @@ on: permissions: {} jobs: prepare: - uses: tox-dev/github-workflows/.github/workflows/prepare-towncrier-release.yaml@a32ce094895292b19eea422fc6500f1ef1ae8d5f + uses: tox-dev/github-workflows/.github/workflows/prepare-towncrier-release.yaml@2b4ed19340a7ec97020f4fd0a403531845c49356 permissions: contents: read pull-requests: read diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index ec85e2c..d42c943 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -8,7 +8,7 @@ env: dists-artifact-name: python-package-distributions jobs: build: - uses: tox-dev/github-workflows/.github/workflows/validate-python-release.yaml@a32ce094895292b19eea422fc6500f1ef1ae8d5f + uses: tox-dev/github-workflows/.github/workflows/validate-python-release.yaml@2b4ed19340a7ec97020f4fd0a403531845c49356 permissions: contents: read with: @@ -24,7 +24,7 @@ jobs: with: name: github-release-notes path: ${{ runner.temp }}/github-release-notes - - uses: tox-dev/github-workflows/publish-github-release@a32ce094895292b19eea422fc6500f1ef1ae8d5f + - uses: tox-dev/github-workflows/publish-github-release@2b4ed19340a7ec97020f4fd0a403531845c49356 with: repository: ${{ github.repository }} tag: ${{ github.ref_name }} @@ -54,7 +54,7 @@ jobs: with: name: ${{ env.dists-artifact-name }} path: dist/ - - uses: tox-dev/github-workflows/reconcile-pypi-artifacts@a32ce094895292b19eea422fc6500f1ef1ae8d5f + - uses: tox-dev/github-workflows/reconcile-pypi-artifacts@2b4ed19340a7ec97020f4fd0a403531845c49356 id: stage with: project: pyproject-api @@ -86,7 +86,7 @@ jobs: with: name: pypi-missing-manifest path: ${{ runner.temp }}/pypi-manifest - - uses: tox-dev/github-workflows/select-pypi-artifacts@a32ce094895292b19eea422fc6500f1ef1ae8d5f + - uses: tox-dev/github-workflows/select-pypi-artifacts@2b4ed19340a7ec97020f4fd0a403531845c49356 with: dist: dist manifest: ${{ runner.temp }}/pypi-manifest/pypi-missing-names.txt @@ -118,7 +118,7 @@ jobs: with: name: ${{ env.dists-artifact-name }} path: dist/ - - uses: tox-dev/github-workflows/reconcile-pypi-artifacts@a32ce094895292b19eea422fc6500f1ef1ae8d5f + - uses: tox-dev/github-workflows/reconcile-pypi-artifacts@2b4ed19340a7ec97020f4fd0a403531845c49356 with: project: pyproject-api version: ${{ github.ref_name }} @@ -216,7 +216,7 @@ jobs: with: name: contributor-metadata path: ${{ runner.temp }}/contributor-metadata - - uses: tox-dev/github-workflows/render-release-notes@a32ce094895292b19eea422fc6500f1ef1ae8d5f + - uses: tox-dev/github-workflows/render-release-notes@2b4ed19340a7ec97020f4fd0a403531845c49356 with: tag: ${{ github.ref_name }} changelog: docs/changelog.rst @@ -241,7 +241,7 @@ jobs: with: name: github-release-notes path: ${{ runner.temp }}/github-release-notes - - uses: tox-dev/github-workflows/publish-github-release@a32ce094895292b19eea422fc6500f1ef1ae8d5f + - uses: tox-dev/github-workflows/publish-github-release@2b4ed19340a7ec97020f4fd0a403531845c49356 with: repository: ${{ github.repository }} tag: ${{ github.ref_name }} diff --git a/.github/workflows/upgrade-release-tools.yaml b/.github/workflows/upgrade-release-tools.yaml index c7b198f..cb35f31 100644 --- a/.github/workflows/upgrade-release-tools.yaml +++ b/.github/workflows/upgrade-release-tools.yaml @@ -9,14 +9,14 @@ concurrency: cancel-in-progress: false jobs: upgrade: - uses: tox-dev/github-workflows/.github/workflows/upgrade-release-tools.yaml@a32ce094895292b19eea422fc6500f1ef1ae8d5f + uses: tox-dev/github-workflows/.github/workflows/upgrade-release-tools.yaml@2b4ed19340a7ec97020f4fd0a403531845c49356 permissions: - actions: write - contents: write - pull-requests: write + contents: read + secrets: + RELEASE_APP_PRIVATE_KEY: ${{ secrets.RELEASE_APP_PRIVATE_KEY }} with: python-version: "3.15" - check-workflow: check.yaml + exclude-newer-packages: release-creator=2026-10-22T06:33:00Z commit-message: "build(deps): refresh release lock" pull-request-title: "build(deps): refresh release tool lock" pull-request-body: |- diff --git a/pylock.toml b/pylock.toml index ef838bb..18807c9 100644 --- a/pylock.toml +++ b/pylock.toml @@ -3214,25 +3214,25 @@ sha256 = "157807309de24e8c96af9a13afe207410f1fc6e5aab5d974fd6b9191f04de327" [[packages]] name = "filelock" -version = "4.1.1" +version = "4.2.0" index = "https://pypi.org/simple" marker = "\"dev\" in dependency_groups or \"lint\" in dependency_groups" [packages.sdist] -url = "https://files.pythonhosted.org/packages/35/c8/1d457d9150ff948f2ce6ada7715e0eeebbe5d3b58a45271a1e222474bcd3/filelock-4.1.1.tar.gz" -upload-time = 2026-10-11 16:11:54+00:00 -size = 563430 +url = "https://files.pythonhosted.org/packages/f4/a9/1af41b37c3279712b22cdc63aac78a52432202b6fe1f9666a2a3d2831fb4/filelock-4.2.0.tar.gz" +upload-time = 2026-10-14 20:57:13+00:00 +size = 569667 [packages.sdist.hashes] -sha256 = "7ba0927482c5a814b0a7f391d029ccdb8010f576f0a74c0dcde1811e8bc4c1b6" +sha256 = "7a60906c75227cf04d0c273afadc8219400f11aeb13cc69591d4f6cdc6c8036e" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/d7/8b/f837f52905395ba4510fe61f753c24833fb0a9c76e21267bb9f828b664a9/filelock-4.1.1-py3-none-any.whl" -upload-time = 2026-10-11 16:11:52+00:00 -size = 132460 +url = "https://files.pythonhosted.org/packages/8e/a3/9bc26acff301fe1aaea1cc3d82a1d57e0a34df3e1cadbfa91ac2dbcdde5c/filelock-4.2.0-py3-none-any.whl" +upload-time = 2026-10-14 20:57:11+00:00 +size = 135032 [packages.wheels.hashes] -sha256 = "3f4a557945a7b0f95efeb1f432267affe5d45ac8ddde2aed1b97ebb62382c089" +sha256 = "2ff5690882e8cdb00ef31fb3d01a3094c29f30985426c59495afb1733f3b7238" [[packages]] name = "furo" @@ -5076,25 +5076,25 @@ sha256 = "84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8" [[packages]] name = "more-itertools" -version = "11.2.0" +version = "11.2.1" index = "https://pypi.org/simple" marker = "(\"dev\" in dependency_groups and (platform_machine != 'ppc64le' and platform_machine != 's390x')) or (\"pkg-meta\" in dependency_groups and (platform_machine != 'ppc64le' and platform_machine != 's390x'))" [packages.sdist] -url = "https://files.pythonhosted.org/packages/55/e5/8735dc589d9e3571e76cd684e7763dc0fcc940b811f71640410458749689/more_itertools-11.2.0.tar.gz" -upload-time = 2026-10-13 16:01:14+00:00 -size = 75940 +url = "https://files.pythonhosted.org/packages/52/b8/c63995bebbb9ac9c059350e0fb8c82c2420c85aeca7d34e40aecf3df9281/more_itertools-11.2.1.tar.gz" +upload-time = 2026-10-14 18:50:30+00:00 +size = 154133 [packages.sdist.hashes] -sha256 = "59960f488835254863a857eb501f69e4ec92fdc8822f098c0f48dba530afd487" +sha256 = "cbf08fd0af284dc69718b9b76a8e6203df624d70209ea511e4219d350c856f63" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/d4/f7/86f27473377a8ebdbdfedec5e62e87fbc24c4c88ed0a2a5ea0a12ee2229b/more_itertools-11.2.0-py3-none-any.whl" -upload-time = 2026-10-13 16:01:13+00:00 -size = 74407 +url = "https://files.pythonhosted.org/packages/5d/57/3c4b1c6f2e0cc29ba023802458ea3d2a996f87085559e4a5f2192d549532/more_itertools-11.2.1-py3-none-any.whl" +upload-time = 2026-10-14 18:50:29+00:00 +size = 74405 [packages.wheels.hashes] -sha256 = "e4c522352a24664c974d0be8382944107ae638281a06391a5a538366b5707fe5" +sha256 = "35a7377edd1dd6608dcb2cdf534ded55ea32d49448875ad042cd3f879fb1ded0" [[packages]] name = "mypy-extensions" @@ -7382,14 +7382,25 @@ sha256 = "d0dae1f74bb273b534770cb4cccb6bb78735540afdb03c2146f4e19dcd412560" [[packages]] name = "release-creator" -version = "0.4.2.dev61+ga5873f5d6" +version = "0.5.0" +index = "https://pypi.org/simple" marker = "(\"release\" in dependency_groups and (python_full_version >= '3.15'))" -[packages.vcs] -type = "git" -url = "https://github.com/tox-dev/release-creator" -requested-revision = "a5873f5d66c5b1ff07da6294aa2719764fa9f864" -commit-id = "a5873f5d66c5b1ff07da6294aa2719764fa9f864" +[packages.sdist] +url = "https://files.pythonhosted.org/packages/2e/64/830a7a0c3e984d31429a3a605a760b60c2442413d1cd979c938976b5581b/release_creator-0.5.0.tar.gz" +upload-time = 2026-10-22 06:32:59+00:00 +size = 156415 + +[packages.sdist.hashes] +sha256 = "e3a5d0b7ab8781ea7f66bb95353792a12592c8d40cb81a575e5defcbd2e3d3fd" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/78/87/9c0644b186b62b1fb1f15f0d49a0982dad1b036c7d393866c1e2b58a3e98/release_creator-0.5.0-py3-none-any.whl" +upload-time = 2026-10-22 06:32:58+00:00 +size = 49978 + +[packages.wheels.hashes] +sha256 = "a056a01b1484e00f403b0fae054e3b3b6bebd8621e1e430ba8f83cdf939fa736" [[packages]] name = "requests" @@ -8850,161 +8861,161 @@ sha256 = "0cf3cae568d36aa9576b28dfb35f11328f1cb974ca7647d9475ebb86c75ac6e3" [[packages]] name = "uv" -version = "0.13.0" +version = "0.13.1" index = "https://pypi.org/simple" marker = "\"dev\" in dependency_groups or \"lint\" in dependency_groups or \"pkg-meta\" in dependency_groups" [packages.sdist] -url = "https://files.pythonhosted.org/packages/05/ba/01146b98d782872d5f62b8568325d1faee9e190d97f7cef647bd19e243b3/uv-0.13.0.tar.gz" -upload-time = 2026-10-09 19:46:06+00:00 -size = 7257649 +url = "https://files.pythonhosted.org/packages/ef/10/81f499de381ac81e09961e1c19255c5cf49563ac418464def4190b6c7400/uv-0.13.1.tar.gz" +upload-time = 2026-10-14 05:13:35+00:00 +size = 7434239 [packages.sdist.hashes] -sha256 = "9a38bd3406b2106288a38888df785f12c5ddc6db22871aacfe0a0ee766f9f6c0" +sha256 = "6df50a86b09be66a413f8f1b16258d585d4dd1cbff591077ae1e6f65c26de2eb" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/93/4c/d2c91ce1a5282339031a3776e220f7200410d0b593ad30f0767f1e81bcd0/uv-0.13.0-py3-none-linux_armv6l.whl" -upload-time = 2026-10-09 19:45:18+00:00 -size = 19478543 +url = "https://files.pythonhosted.org/packages/c8/2b/79ed9d3a78a43e83ef685bf1e1c84f6c63fe25a0e765b24a169727dd87f1/uv-0.13.1-py3-none-linux_armv6l.whl" +upload-time = 2026-10-14 05:12:50+00:00 +size = 18575444 [packages.wheels.hashes] -sha256 = "24119f4ab6cf3fcff9eca8e8e418a647c22100a510ea35ecf8bff6264f2e9ab4" +sha256 = "23dfbdcfd9ff0dc7fefb1b91a6dbca2d492267976becd7c46501f89fc353fdc7" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/ff/27/2a2dde8a643337b6746a8e632b3ba8aef7c82b9bc28642bb94dd3a046ef5/uv-0.13.0-py3-none-macosx_10_12_x86_64.whl" -upload-time = 2026-10-09 19:45:21+00:00 -size = 18315461 +url = "https://files.pythonhosted.org/packages/db/3d/6ac43d7a15be1d589aae1e15289507f5ccebeac14f28c37882058f2474a3/uv-0.13.1-py3-none-macosx_10_12_x86_64.whl" +upload-time = 2026-10-14 05:12:53+00:00 +size = 17663254 [packages.wheels.hashes] -sha256 = "93265932cb2efd1486d4d182211281b3f0b31637e2fc160c4c8d7b15294188d1" +sha256 = "7e60223e3e9636a3734d6c11b3552aeed987c40f1ca2497a546af58f2f883d56" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/9e/d4/d42eabbd9b61a965e0a262e06bf8452744593e7a3110a5c4273c4e917729/uv-0.13.0-py3-none-macosx_11_0_arm64.whl" -upload-time = 2026-10-09 19:45:23+00:00 -size = 14803271 +url = "https://files.pythonhosted.org/packages/3b/31/fad7fd2ac81954d02d33765bf8535eb320fcc2d71f2603a5c1ba0b13b8ef/uv-0.13.1-py3-none-macosx_11_0_arm64.whl" +upload-time = 2026-10-14 05:12:56+00:00 +size = 14391237 [packages.wheels.hashes] -sha256 = "a5f93ae362b751737cecef0bbc0294624be68a843ff9b32d86e6862a26101630" +sha256 = "cfa719fbbd23f26713394dea2692b7f146aa1b5713ce5e776e878701214ea52c" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/65/0e/9e707b242c041dd10d31688a7d0acf90ee321ef7627bdf0978b3d19e3325/uv-0.13.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl" -upload-time = 2026-10-09 19:45:26+00:00 -size = 18640482 +url = "https://files.pythonhosted.org/packages/9f/6a/ff4c51a245345a167eed090e8cea27d5979e8b665c97617805bb8748966f/uv-0.13.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl" +upload-time = 2026-10-14 05:12:58+00:00 +size = 18047204 [packages.wheels.hashes] -sha256 = "5163a516b9a488bccb4001f727720b775719dfb6dcb144a9bc0ef23e5cfdd269" +sha256 = "f2518450da2f6d0ea8a943c9f402abda63d5a66acc9999216c2792115b922ba4" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/e0/fb/8dce09cba3aca3837ed02fdabfba1a7f8c3e4a8d40654c334cc4f236049f/uv-0.13.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.musllinux_1_1_armv7l.whl" -upload-time = 2026-10-09 19:45:28+00:00 -size = 18891964 +url = "https://files.pythonhosted.org/packages/5f/04/268c9c17d9a808f41b71241f9d61030c4f262213815eeaa329bae1c76c3f/uv-0.13.1-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.musllinux_1_1_armv7l.whl" +upload-time = 2026-10-14 05:13:00+00:00 +size = 18122326 [packages.wheels.hashes] -sha256 = "26b7eb7870d406c71b1a6c4da743ca89c8f9fe6f6901c854bbf9d75c2c1a71d8" +sha256 = "29b9d0dbe9c44d3dcea8af9e7b4ea2444c7a0c9ec0a11e2f2d357fb3afa2c05b" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/50/eb/5397039584ac8fb12c903e8b9009c86e7963c9bb82cda8f509d7a6e8de2c/uv-0.13.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" -upload-time = 2026-10-09 19:45:31+00:00 -size = 19041567 +url = "https://files.pythonhosted.org/packages/44/88/33b72d5c4aed94a504fe92b7312f76c54e16a00b695045053f7a72953815/uv-0.13.1-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" +upload-time = 2026-10-14 05:13:03+00:00 +size = 18139075 [packages.wheels.hashes] -sha256 = "b70b5b04985760e801d1eeea03a177eb7e0a11ec89acd8996b46a7a566010c04" +sha256 = "7161cfb854f7353fd351e5e735e3659ed48412352b1edd4d93212c82ec0cbdf0" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/1c/f4/b71748654cb5265d8b53a820d643a382c1bdd5dd5ca716a7ce5a14eb47c0/uv-0.13.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl" -upload-time = 2026-10-09 19:45:34+00:00 -size = 19688870 +url = "https://files.pythonhosted.org/packages/54/59/866ca1f07f899f007fcc006663d341157c5dbdae7271e5004c5a120022ee/uv-0.13.1-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl" +upload-time = 2026-10-14 05:13:05+00:00 +size = 18840481 [packages.wheels.hashes] -sha256 = "7dd0de76fd7ebec97427c4cc42de4ea789478dfd985f28915c94c8512e489ac9" +sha256 = "d6aaec25ff6900ee30a29a2e7a3335aff19a2305c60488bb4e0f29cf1d6ada9f" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/ac/5b/2e20e008f1e2a8be2ce679919a7e647c73a3b280185ca58a3833ae3c9585/uv-0.13.0-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" -upload-time = 2026-10-09 19:45:37+00:00 -size = 21008221 +url = "https://files.pythonhosted.org/packages/dd/a9/928d7435a00d1171f4557212704d71d709cf4b6024f2ee6b0f582251c761/uv-0.13.1-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" +upload-time = 2026-10-14 05:13:07+00:00 +size = 20106013 [packages.wheels.hashes] -sha256 = "95441f304ca4a3c64bd1db3a027f72c15a32e54080c956a48e06234b9b37bb43" +sha256 = "81345a4733737a378db988aea48fd5d1c76c092cf231e6ddfdb6db225b4b21e5" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/ee/50/6d9a843f8cfe7b602a4ac8c752fb8ec72466bdb6d93ccfd945f19efb3ce5/uv-0.13.0-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl" -upload-time = 2026-10-09 19:45:39+00:00 -size = 20821209 +url = "https://files.pythonhosted.org/packages/3c/70/ac84eee888c4a11e12c361c10fdf3f726ef6f8f1178302c80a9dee5189a3/uv-0.13.1-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl" +upload-time = 2026-10-14 05:13:10+00:00 +size = 19840034 [packages.wheels.hashes] -sha256 = "61dd3d38e4826a7666b2d29147cd77905ef71686073ac30a6c897d8ef1e3dbc1" +sha256 = "0f9991b8eedca00b6aeb9a8fc6b225f6afa2e24ec9de6b6ef72845f3a545639c" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/c3/75/1901383808ba0d421f32060ba0e9884169b685a722e1af5d87fdd4225ba6/uv-0.13.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" -upload-time = 2026-10-09 19:45:42+00:00 -size = 17941073 +url = "https://files.pythonhosted.org/packages/14/0b/6602a613533602e7a083e908c4375f9b0e78a94ba2e21c29b21c41a0a611/uv-0.13.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" +upload-time = 2026-10-14 05:13:13+00:00 +size = 17279385 [packages.wheels.hashes] -sha256 = "52c7da0fd9056d9551124777ec77de53f0df7017daf8f98a19e947b7837416ed" +sha256 = "696dcf6d807d85da978f4db8472da81dccc1254b18b52cbd1367c4d923c421e0" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/fd/f2/0b7d95cf3070d5c7fa734cd50394d22ef61203fb9052a157ce9d053fa9cf/uv-0.13.0-py3-none-manylinux_2_28_aarch64.whl" -upload-time = 2026-10-09 19:45:45+00:00 -size = 17264080 +url = "https://files.pythonhosted.org/packages/09/f6/52e2136653a1f3a4dc489da83444f062ed588570cc3e5242fda50996951a/uv-0.13.1-py3-none-manylinux_2_28_aarch64.whl" +upload-time = 2026-10-14 05:13:15+00:00 +size = 16577060 [packages.wheels.hashes] -sha256 = "f840e640fe16591f6d71a94e8863707b7ba43c5786d1fe662868a9fb44c53e50" +sha256 = "ccbe233d4bce39865af7c30ec1fb28b0cc353f9d51711629f54fca71b8db7382" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/0d/70/2524890e1c8dddabcae65c21faa3f93db8d5aeb6b2fe118e826658da28c2/uv-0.13.0-py3-none-manylinux_2_31_riscv64.musllinux_1_1_riscv64.whl" -upload-time = 2026-10-09 19:45:48+00:00 -size = 19225957 +url = "https://files.pythonhosted.org/packages/df/7c/a2f4ff386673a4bed33be69fdb857341eaa6b9f31eed3005ffc15df94d7f/uv-0.13.1-py3-none-manylinux_2_31_riscv64.musllinux_1_1_riscv64.whl" +upload-time = 2026-10-14 05:13:18+00:00 +size = 18417071 [packages.wheels.hashes] -sha256 = "ec7bc3175523bf6d7c0e6acb71e16b537f82fcc4186b6347ed9120957c758beb" +sha256 = "ec1bdc90e2cccc32f51dcea2fa4ec9082b321c77f3fe51a0407d40e8a44f540f" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/52/5a/8c135e803f809dc62b4d74c6377c981d1a60050d04561d5ed2f700038748/uv-0.13.0-py3-none-manylinux_2_31_riscv64.whl" -upload-time = 2026-10-09 19:45:50+00:00 -size = 19215031 +url = "https://files.pythonhosted.org/packages/4a/6e/a2d375f8fcb453e75caf6d1503f7e149e76a3403091a2a77ada4d42482c1/uv-0.13.1-py3-none-manylinux_2_31_riscv64.whl" +upload-time = 2026-10-14 05:13:20+00:00 +size = 18329037 [packages.wheels.hashes] -sha256 = "78187f23c0b51d1be824096ec8a656c417acca312f5451ba1e2ee057ec5a6e87" +sha256 = "b5e1b930cbb463c0d8f6b925743ddbae31277841f16c324d14e1a815b0c3b824" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/54/52/302dbf2355e20b09f3cf303b59524806143bb216d6b04ba9c5d7e3a288a5/uv-0.13.0-py3-none-musllinux_1_1_i686.whl" -upload-time = 2026-10-09 19:45:53+00:00 -size = 18932798 +url = "https://files.pythonhosted.org/packages/0c/51/070341c84c141e73933f6087dcc9a5fd276cb034bdc0316f2d2dffd0cd44/uv-0.13.1-py3-none-musllinux_1_1_i686.whl" +upload-time = 2026-10-14 05:13:23+00:00 +size = 18130710 [packages.wheels.hashes] -sha256 = "69061ee515b993c51c23e393448c1a42193dcb31d8ac4d85dffa2e33058a1780" +sha256 = "4af921c96f5f85c456c7fa93a9bc13514a2a5bbab11ce63dbf490d6e5bfef503" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/19/5a/b57c401bf3032a382b745396a6fbb5a09f77b9f31e7d6217c7e320cf3148/uv-0.13.0-py3-none-musllinux_1_1_x86_64.whl" -upload-time = 2026-10-09 19:45:56+00:00 -size = 20041871 +url = "https://files.pythonhosted.org/packages/b9/0d/529a302582685e77e5e2d16de554e7c230b45c6175b0b0f234af9795d981/uv-0.13.1-py3-none-musllinux_1_1_x86_64.whl" +upload-time = 2026-10-14 05:13:25+00:00 +size = 19307551 [packages.wheels.hashes] -sha256 = "5cb956988442f5b1ca281344818a6b9fa296a799d7024cc53ae571d464150ca2" +sha256 = "6f1f391756385e2cd1521fe4a198e0ca764ef498dd677cb214b95a69a7ce3608" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/55/6b/98b4a16c96b9a6fefd8795228643a2e849347d54cc91cc2d07bb21afa572/uv-0.13.0-py3-none-win32.whl" -upload-time = 2026-10-09 19:45:59+00:00 -size = 16991702 +url = "https://files.pythonhosted.org/packages/7f/7f/c81ec77c0eb772ec4fc515e733625969c64df55ee2f7b6b3fb1e07c2ee26/uv-0.13.1-py3-none-win32.whl" +upload-time = 2026-10-14 05:13:28+00:00 +size = 16434446 [packages.wheels.hashes] -sha256 = "0d9886f69a2e6f9e85a7a11c37f208353aa559bdb5c91d7b69fe883c038439a1" +sha256 = "1f6ae6f843ee01a1bb69e2e7a881a452890eb9acc686a8c37e8e95093a58f68e" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/b2/00/73abae6cafcdb868d42b2c71bf12c9c2eb06a8d229a09569760c41b7948d/uv-0.13.0-py3-none-win_amd64.whl" -upload-time = 2026-10-09 19:46:01+00:00 -size = 15819247 +url = "https://files.pythonhosted.org/packages/2a/8e/d23278bb327d2a75dc1d033c81b7fe23bbb28e363e02e7f306abd047924a/uv-0.13.1-py3-none-win_amd64.whl" +upload-time = 2026-10-14 05:13:30+00:00 +size = 15404994 [packages.wheels.hashes] -sha256 = "0367b4e0ae4dcef32da4aa2ad2f3853b6ad81d50c187abe50d343d892b8fea21" +sha256 = "4f693cd4feb52f08f30474c4612f24be2050472609be65b9960b635f286da284" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/e7/92/cf7f8765cb61e56d61015e6e01acbe1edfe3ee5029ab9137c85239ddb4f8/uv-0.13.0-py3-none-win_arm64.whl" -upload-time = 2026-10-09 19:46:04+00:00 -size = 16342408 +url = "https://files.pythonhosted.org/packages/0a/e0/f27f161ee2ad242cb714fe7185f63cc2a88b83c4d8b375ca8c580f9f23b7/uv-0.13.1-py3-none-win_arm64.whl" +upload-time = 2026-10-14 05:13:32+00:00 +size = 15899284 [packages.wheels.hashes] -sha256 = "286d5976bffe3ed0c62601c0393adb3748f0d88aa24f38cd80ebab773f5b5f74" +sha256 = "b173413a5dc18437b2d28266a02be636f35ac7e97741773aed163ed2143abfaf" [[packages]] name = "vcs-versioning" diff --git a/pyproject.toml b/pyproject.toml index ba3b42c..8cc6863 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -87,7 +87,7 @@ pkg-meta = [ release = [ "docstrfmt>=2.2.1", "prek>=0.5", - "release-creator @ git+https://github.com/tox-dev/release-creator@a5873f5d66c5b1ff07da6294aa2719764fa9f864", + "release-creator>=0.5", "towncrier>=26.9", ] From 5e49847726484034e0ba9dee24a4914ea33f938b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bern=C3=A1t=20G=C3=A1bor?= Date: Thu, 22 Oct 2026 06:59:13 -0700 Subject: [PATCH 26/39] =?UTF-8?q?=F0=9F=91=B7=20ci:=20adopt=20shared=20rel?= =?UTF-8?q?ease=20controls?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Use the current shared actions and release-creator 0.5.1 to enforce the full project lock during release work. Rerun bot PR cooldown checks daily after their seven-day age gate. --- .github/workflows/check.yaml | 15 +- .github/workflows/label-maintenance-pr.yaml | 2 +- .github/workflows/prepare-release.yaml | 2 +- .github/workflows/recheck-hook-cooldown.yaml | 18 ++ .github/workflows/release.yaml | 42 ++- .github/workflows/upgrade-release-tools.yaml | 4 +- pylock.toml | 289 +++++++++++++++++-- pyproject.toml | 2 +- 8 files changed, 319 insertions(+), 55 deletions(-) create mode 100644 .github/workflows/recheck-hook-cooldown.yaml diff --git a/.github/workflows/check.yaml b/.github/workflows/check.yaml index 84d7e86..cdc8085 100644 --- a/.github/workflows/check.yaml +++ b/.github/workflows/check.yaml @@ -84,20 +84,21 @@ jobs: python-version: "3.15" enable-cache: false - name: Install locked release tools - run: | - set -euo pipefail - uv venv --python 3.15 "$RUNNER_TEMP/release-tools" - uv pip sync --preview-features pylock --python "$RUNNER_TEMP/release-tools/bin/python" --group release pylock.toml - echo "$RUNNER_TEMP/release-tools/bin" >>"$GITHUB_PATH" - - uses: tox-dev/github-workflows/validate-news@2b4ed19340a7ec97020f4fd0a403531845c49356 + uses: tox-dev/github-workflows/install-locked-tools@24e7c78489b6e2adb7b8f881761a5c2dbfe03fee + with: + venv: ${{ runner.temp }}/release-tools + - name: Add installed tools to PATH + run: echo "$RUNNER_TEMP/release-tools/bin" >>"$GITHUB_PATH" + - uses: tox-dev/github-workflows/validate-news@24e7c78489b6e2adb7b8f881761a5c2dbfe03fee hook-update-cooldown: if: github.event_name == 'pull_request' runs-on: ubuntu-26.04 permissions: + actions: read contents: read pull-requests: read steps: - - uses: tox-dev/github-workflows/check-hook-update-cooldown@2b4ed19340a7ec97020f4fd0a403531845c49356 + - uses: tox-dev/github-workflows/check-hook-update-cooldown@24e7c78489b6e2adb7b8f881761a5c2dbfe03fee env: GH_TOKEN: ${{ github.token }} with: diff --git a/.github/workflows/label-maintenance-pr.yaml b/.github/workflows/label-maintenance-pr.yaml index 86002da..e5f8451 100644 --- a/.github/workflows/label-maintenance-pr.yaml +++ b/.github/workflows/label-maintenance-pr.yaml @@ -11,7 +11,7 @@ jobs: issues: write pull-requests: read steps: - - uses: tox-dev/github-workflows/label-bot-news@2b4ed19340a7ec97020f4fd0a403531845c49356 + - uses: tox-dev/github-workflows/label-bot-news@24e7c78489b6e2adb7b8f881761a5c2dbfe03fee with: fragments: docs/changelog.d extension: rst diff --git a/.github/workflows/prepare-release.yaml b/.github/workflows/prepare-release.yaml index a8992bf..0894af6 100644 --- a/.github/workflows/prepare-release.yaml +++ b/.github/workflows/prepare-release.yaml @@ -15,7 +15,7 @@ on: permissions: {} jobs: prepare: - uses: tox-dev/github-workflows/.github/workflows/prepare-towncrier-release.yaml@2b4ed19340a7ec97020f4fd0a403531845c49356 + uses: tox-dev/github-workflows/.github/workflows/prepare-towncrier-release.yaml@24e7c78489b6e2adb7b8f881761a5c2dbfe03fee permissions: contents: read pull-requests: read diff --git a/.github/workflows/recheck-hook-cooldown.yaml b/.github/workflows/recheck-hook-cooldown.yaml new file mode 100644 index 0000000..ad3da40 --- /dev/null +++ b/.github/workflows/recheck-hook-cooldown.yaml @@ -0,0 +1,18 @@ +name: Recheck hook cooldown +on: + schedule: + - cron: "17 7 * * *" + workflow_dispatch: +permissions: {} +jobs: + recheck: + runs-on: ubuntu-26.04 + permissions: + actions: write + contents: read + pull-requests: read + steps: + - uses: tox-dev/github-workflows/recheck-hook-update-cooldown@24e7c78489b6e2adb7b8f881761a5c2dbfe03fee + with: + workflow: check.yaml + job-name: hook-update-cooldown diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index d42c943..38a0b9e 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -8,7 +8,7 @@ env: dists-artifact-name: python-package-distributions jobs: build: - uses: tox-dev/github-workflows/.github/workflows/validate-python-release.yaml@2b4ed19340a7ec97020f4fd0a403531845c49356 + uses: tox-dev/github-workflows/.github/workflows/validate-python-release.yaml@24e7c78489b6e2adb7b8f881761a5c2dbfe03fee permissions: contents: read with: @@ -24,7 +24,7 @@ jobs: with: name: github-release-notes path: ${{ runner.temp }}/github-release-notes - - uses: tox-dev/github-workflows/publish-github-release@2b4ed19340a7ec97020f4fd0a403531845c49356 + - uses: tox-dev/github-workflows/publish-github-release@24e7c78489b6e2adb7b8f881761a5c2dbfe03fee with: repository: ${{ github.repository }} tag: ${{ github.ref_name }} @@ -54,7 +54,7 @@ jobs: with: name: ${{ env.dists-artifact-name }} path: dist/ - - uses: tox-dev/github-workflows/reconcile-pypi-artifacts@2b4ed19340a7ec97020f4fd0a403531845c49356 + - uses: tox-dev/github-workflows/reconcile-pypi-artifacts@24e7c78489b6e2adb7b8f881761a5c2dbfe03fee id: stage with: project: pyproject-api @@ -86,7 +86,7 @@ jobs: with: name: pypi-missing-manifest path: ${{ runner.temp }}/pypi-manifest - - uses: tox-dev/github-workflows/select-pypi-artifacts@2b4ed19340a7ec97020f4fd0a403531845c49356 + - uses: tox-dev/github-workflows/select-pypi-artifacts@24e7c78489b6e2adb7b8f881761a5c2dbfe03fee with: dist: dist manifest: ${{ runner.temp }}/pypi-manifest/pypi-missing-names.txt @@ -118,7 +118,7 @@ jobs: with: name: ${{ env.dists-artifact-name }} path: dist/ - - uses: tox-dev/github-workflows/reconcile-pypi-artifacts@2b4ed19340a7ec97020f4fd0a403531845c49356 + - uses: tox-dev/github-workflows/reconcile-pypi-artifacts@24e7c78489b6e2adb7b8f881761a5c2dbfe03fee with: project: pyproject-api version: ${{ github.ref_name }} @@ -142,15 +142,11 @@ jobs: python-version: "3.15" enable-cache: false - name: Install locked release tools - run: | - set -euo pipefail - uv venv --python 3.15 "$RUNNER_TEMP/release-tools" - uv pip sync \ - --preview-features pylock \ - --python "$RUNNER_TEMP/release-tools/bin/python" \ - --group release \ - pylock.toml - echo "$RUNNER_TEMP/release-tools/bin" >>"$GITHUB_PATH" + uses: tox-dev/github-workflows/install-locked-tools@24e7c78489b6e2adb7b8f881761a5c2dbfe03fee + with: + venv: ${{ runner.temp }}/release-tools + - name: Add installed tools to PATH + run: echo "$RUNNER_TEMP/release-tools/bin" >>"$GITHUB_PATH" - name: Select previous tag id: previous env: @@ -203,20 +199,16 @@ jobs: python-version: "3.15" enable-cache: false - name: Install locked release tools - run: | - set -euo pipefail - uv venv --python 3.15 "$RUNNER_TEMP/release-tools" - uv pip sync \ - --preview-features pylock \ - --python "$RUNNER_TEMP/release-tools/bin/python" \ - --group release \ - pylock.toml - echo "$RUNNER_TEMP/release-tools/bin" >>"$GITHUB_PATH" + uses: tox-dev/github-workflows/install-locked-tools@24e7c78489b6e2adb7b8f881761a5c2dbfe03fee + with: + venv: ${{ runner.temp }}/release-tools + - name: Add installed tools to PATH + run: echo "$RUNNER_TEMP/release-tools/bin" >>"$GITHUB_PATH" - uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8.0.2 with: name: contributor-metadata path: ${{ runner.temp }}/contributor-metadata - - uses: tox-dev/github-workflows/render-release-notes@2b4ed19340a7ec97020f4fd0a403531845c49356 + - uses: tox-dev/github-workflows/render-release-notes@24e7c78489b6e2adb7b8f881761a5c2dbfe03fee with: tag: ${{ github.ref_name }} changelog: docs/changelog.rst @@ -241,7 +233,7 @@ jobs: with: name: github-release-notes path: ${{ runner.temp }}/github-release-notes - - uses: tox-dev/github-workflows/publish-github-release@2b4ed19340a7ec97020f4fd0a403531845c49356 + - uses: tox-dev/github-workflows/publish-github-release@24e7c78489b6e2adb7b8f881761a5c2dbfe03fee with: repository: ${{ github.repository }} tag: ${{ github.ref_name }} diff --git a/.github/workflows/upgrade-release-tools.yaml b/.github/workflows/upgrade-release-tools.yaml index cb35f31..fab8213 100644 --- a/.github/workflows/upgrade-release-tools.yaml +++ b/.github/workflows/upgrade-release-tools.yaml @@ -9,14 +9,14 @@ concurrency: cancel-in-progress: false jobs: upgrade: - uses: tox-dev/github-workflows/.github/workflows/upgrade-release-tools.yaml@2b4ed19340a7ec97020f4fd0a403531845c49356 + uses: tox-dev/github-workflows/.github/workflows/upgrade-release-tools.yaml@24e7c78489b6e2adb7b8f881761a5c2dbfe03fee permissions: contents: read secrets: RELEASE_APP_PRIVATE_KEY: ${{ secrets.RELEASE_APP_PRIVATE_KEY }} with: python-version: "3.15" - exclude-newer-packages: release-creator=2026-10-22T06:33:00Z + exclude-newer-packages: release-creator=2026-10-22T13:51:56Z commit-message: "build(deps): refresh release lock" pull-request-title: "build(deps): refresh release tool lock" pull-request-body: |- diff --git a/pylock.toml b/pylock.toml index 18807c9..1377982 100644 --- a/pylock.toml +++ b/pylock.toml @@ -3124,6 +3124,259 @@ size = 4726322 [packages.wheels.hashes] sha256 = "1ba34f04897fcdaa73f74145c25f3ec146fbd56593853e88adc2e811303c5f42" +[[packages]] +name = "cython" +version = "3.3.0" +marker = "\"build\" in dependency_groups" + +[packages.sdist] +url = "https://files.pythonhosted.org/packages/a9/d8/4981ef716ad0e3ff0d3ef383aefc6b03c4a88dee33b272bf8e0d833001ca/cython-3.3.0.tar.gz" +upload-time = 2026-08-22 05:16:39+00:00 +size = 3727515 + +[packages.sdist.hashes] +sha256 = "eed0d93fbca7087f143b42c34b05a825849bdf17f101572c2105acfa49aa88b8" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/af/67/dffaf12b7203f7e936d98b967e065c50a7883f152c51ded44ed8762128f4/cython-3.3.0-cp311-cp311-macosx_11_0_arm64.whl" +upload-time = 2026-08-22 05:16:59+00:00 +size = 3134644 + +[packages.wheels.hashes] +sha256 = "ec09dbf73ff4f7be2b339b995fadae9c4bb517bbbed7ec11d6fe99c2092b48fd" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/6a/f2/9dc6a3bad9c9d11bf31903321553820a661ce00319a57c4181bf0dcb87f4/cython-3.3.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" +upload-time = 2026-08-22 05:17:01+00:00 +size = 3346108 + +[packages.wheels.hashes] +sha256 = "11e437f086affee8051cec4bb531be3edb646ab66e325154aa6849377f365033" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/3f/9b/dd726d11b2aff24f0c3fa68ce9e3934097a058aca471a8cc9888aeae5471/cython-3.3.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" +upload-time = 2026-08-22 05:17:03+00:00 +size = 3479260 + +[packages.wheels.hashes] +sha256 = "e6035b5231a9316edc19d6415f4296fd1d0370e2a165a714b3edc167b9ca00e1" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/43/55/7408773fdadb2b3434501109696533555ba89f233366519c661372c69098/cython-3.3.0-cp311-cp311-win_amd64.whl" +upload-time = 2026-08-22 05:17:06+00:00 +size = 2862883 + +[packages.wheels.hashes] +sha256 = "8566ea804cfc265f5e9dda71d1b716aa24ee4c3423a5da4b28a248a78c33e3f9" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/da/0f/95bad838a80ac52c9e982dad00bd9a0b2bad57fb4c688e5f53ac3ef65ff0/cython-3.3.0-cp312-cp312-macosx_11_0_arm64.whl" +upload-time = 2026-08-22 05:17:07+00:00 +size = 3143472 + +[packages.wheels.hashes] +sha256 = "03bc5333932f5dda3ba9315298ecdd21daa1b58410bb1f8ce04c78ec8337130a" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/91/8b/53d4a84de853b39940a0e35a6a2a9ed5f54cb05468daee95bc0fd1c2a178/cython-3.3.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" +upload-time = 2026-08-22 05:17:09+00:00 +size = 3258974 + +[packages.wheels.hashes] +sha256 = "7e321ae700995a16dc3055ada06ffb8d61e1a7434e5d0e811547a45ac1015ebd" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/6a/4e/6b1c5a4e6bbe1726104de007aa2fdf01a3e2e386b4ec93c7be5f5085d53f/cython-3.3.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" +upload-time = 2026-08-22 05:17:12+00:00 +size = 3412225 + +[packages.wheels.hashes] +sha256 = "428fafed98ea26927000a287b4dfc9ef07339f56656a5329a34eaa593f79a4f8" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/f4/9b/cd724d91c500116769bdb853450a2197ba3d640dbbe3b02fc54ebdfdbd1b/cython-3.3.0-cp312-cp312-win_amd64.whl" +upload-time = 2026-08-22 05:17:14+00:00 +size = 2872123 + +[packages.wheels.hashes] +sha256 = "333449cc0350baedee5a6af27929eac8a71eac4ec59333c45ff476b33c6c660d" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/2f/cc/abc977cf683140e372714acea42164ecfc5cd3d3984ed025860e6d830ee4/cython-3.3.0-cp313-cp313-macosx_11_0_arm64.whl" +upload-time = 2026-08-22 05:17:16+00:00 +size = 3134892 + +[packages.wheels.hashes] +sha256 = "03056533fe4fdbc4f1d34a39178f9a4937ff35196f8bcdde2a67b5b5809c61fe" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/a3/60/5367e7c80776a185ac11e0ea738fdaf18b9d0bc21d2c2bafc4d87eb19964/cython-3.3.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" +upload-time = 2026-08-22 05:17:18+00:00 +size = 3251835 + +[packages.wheels.hashes] +sha256 = "bc2f2a6b65a991666cfd35a35bab0cd88ffba4df2f601edb6e76cc8116de24b9" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/bc/b8/fc595c60a7b6f5f08b4f6ad65e60688e8c61f76064ebe847eaf85d0c59fa/cython-3.3.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" +upload-time = 2026-08-22 05:17:20+00:00 +size = 3407705 + +[packages.wheels.hashes] +sha256 = "23942b0662642927a55676e4b26e6840fb166dd7d76436384685227e7e8619a4" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/d8/d7/376572ff69ef39a9bdcd727124f6c38aa066300e97734a4902a3ae0d2af0/cython-3.3.0-cp313-cp313-win_amd64.whl" +upload-time = 2026-08-22 05:17:22+00:00 +size = 2866216 + +[packages.wheels.hashes] +sha256 = "ab24d1a4fb6aaf0b5b6fcd75a6d70255fbd3130fa78884c26991f8d5502616b5" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/8a/7f/e409f76bb955ecdcb746b80350b945fbb808846d797346d647a37e1790ca/cython-3.3.0-cp314-cp314-macosx_11_0_arm64.whl" +upload-time = 2026-08-22 05:17:24+00:00 +size = 3186700 + +[packages.wheels.hashes] +sha256 = "0deedc2e9a5a664e1adfa4c2d310aa7b54903e1a647c274b6c9213f77a02d637" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/0e/6b/4a623ab6e4a5b9814b22849665cb212273f9735399a7ebca4f3e8c254f1a/cython-3.3.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" +upload-time = 2026-08-22 05:17:26+00:00 +size = 3330606 + +[packages.wheels.hashes] +sha256 = "46072c0d404616b5e652a63882c79cc3f8a1d62635a8692f56ed0e416a4dfed8" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/9f/57/6d620ebee4fc24d89340427702f6ceaf7b956511d1f2222a88c92c1a72b7/cython-3.3.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" +upload-time = 2026-08-22 05:17:28+00:00 +size = 3454681 + +[packages.wheels.hashes] +sha256 = "82f94565b6001bab8e31bf52a0911672910b5735910612a2c0f772c719670006" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/73/4e/26e0a584d06c5b3f345df491d2546479606c89217627ee163f1aa55e899f/cython-3.3.0-cp314-cp314-win_amd64.whl" +upload-time = 2026-08-22 05:17:30+00:00 +size = 2925966 + +[packages.wheels.hashes] +sha256 = "51999fb834365721b6c7f689cf6e2ec7c8667aae783df9eb5e589c290a414d9c" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/ea/45/7f6988070013e16918e39b1b3dab9c5f2c8e404253a7fd10ee685bbd6902/cython-3.3.0-cp315-cp315-macosx_11_0_arm64.whl" +upload-time = 2026-08-22 05:17:32+00:00 +size = 3177681 + +[packages.wheels.hashes] +sha256 = "596e8df019372a2cd417805015022d42cb8ee4e1803ccdc11ed00e451625fb66" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/6e/5d/afb6866ab10236bb208dff0f172ea4b397c9693c5250280c4d9d26057218/cython-3.3.0-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" +upload-time = 2026-08-22 05:17:34+00:00 +size = 3328312 + +[packages.wheels.hashes] +sha256 = "4a36c34d1950845b8ac148653b07cdc62421a4b0d9abfcc849e69f1c4ff9919d" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/c9/aa/4c0b6773ecf6bc1ec6cda7db8312a566611b330fb6dae87d740e44a47822/cython-3.3.0-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" +upload-time = 2026-08-22 05:17:36+00:00 +size = 3454285 + +[packages.wheels.hashes] +sha256 = "b447f6906e0555f05dc4742ef1f99091b1e5d9aa9f16616e772fbf9ff6271616" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/44/bb/3e2631122f96300723d6fc42b9cf65550bdcda570a6ad5c4e0226e2e787c/cython-3.3.0-cp315-cp315-win_amd64.whl" +upload-time = 2026-08-22 05:17:38+00:00 +size = 2924709 + +[packages.wheels.hashes] +sha256 = "b55c72e8eccdd508c8de3cf3bbc543aafbb3bf6a518e1ee20358d3241cd780ef" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/14/59/bc1a84b434cb5bebb0cd6f50da8f239d35a5c141b20fdeafc2817fd87778/cython-3.3.0-cp39-abi3-macosx_10_9_x86_64.whl" +upload-time = 2026-08-22 05:17:40+00:00 +size = 3063660 + +[packages.wheels.hashes] +sha256 = "e0d2713d2b292c826bc21dc8732bd9e47628103aa3764180c881e04b3fef95dc" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/ba/6d/542e32908fb421d88354f327ed6450e14240f9825d25393065bc65f4723f/cython-3.3.0-cp39-abi3-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl" +upload-time = 2026-08-22 05:17:43+00:00 +size = 3358395 + +[packages.wheels.hashes] +sha256 = "169e56fd411f4cd5bba51c82f8239421d547a846099db2b261e4aed48ba9f51f" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/9c/7c/ddaf197bc65b581e1891657940bc4f7cb1f740e822115e828920b3a119ce/cython-3.3.0-cp39-abi3-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl" +upload-time = 2026-08-22 05:17:44+00:00 +size = 3041760 + +[packages.wheels.hashes] +sha256 = "29f38ebafdf23e3da2516f40c4d065da38bfe002181bf93e2b8cf1262449aba6" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/19/a7/ae5ec3e34d43da846ed4c425734752d83aae0dae49feb929f09c90fc9afa/cython-3.3.0-cp39-abi3-musllinux_1_2_aarch64.whl" +upload-time = 2026-08-22 05:17:46+00:00 +size = 3156152 + +[packages.wheels.hashes] +sha256 = "75c4ae8a6d3a5ccf3cdaba8ab32e6a8d0cd38e3a476aa7ac12df8f8171a8d570" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/31/44/c60b601fc43f0b08e9d6f14b94e0dd02eb0ca8d60f46e242ace7191ac1be/cython-3.3.0-cp39-abi3-musllinux_1_2_armv7l.whl" +upload-time = 2026-08-22 05:17:48+00:00 +size = 3046690 + +[packages.wheels.hashes] +sha256 = "b94fb5613b9fe34c27d13ec9972dc0dcd2a2155db2902e93921cadc162610a38" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/b0/9e/d735c26ed907563d3365534006acb263651c2d3b87fee804f7a483dd1714/cython-3.3.0-cp39-abi3-musllinux_1_2_i686.whl" +upload-time = 2026-08-22 05:17:50+00:00 +size = 3373534 + +[packages.wheels.hashes] +sha256 = "c4558ba85849ab65dc57e10fd0efb13fabd9d3c09981a2566e18dec7cf47586a" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/e0/e8/aa7b4f3a28d6e8117c76e2cf78a0df7a503486cdf7243c5b53200c9533a1/cython-3.3.0-cp39-abi3-musllinux_1_2_x86_64.whl" +upload-time = 2026-08-22 05:17:52+00:00 +size = 3265110 + +[packages.wheels.hashes] +sha256 = "311a016369adfd1e0015c4f9819168fc0e518451d7efb4435c30d65a3a26d52b" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/9c/66/37892a8999d6bbd3f92d691a9701cb720c8ddd6171e16f5148eee6e8cb7f/cython-3.3.0-cp39-abi3-win32.whl" +upload-time = 2026-08-22 05:17:54+00:00 +size = 2587733 + +[packages.wheels.hashes] +sha256 = "90869072e50b7c8904fe1dd7810321ae901fd5637a6eec6646ed9c57f9eb1081" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/19/a2/5f4d305cbd4489d21570e5491ad5c483c478cdab032853e2125c280e3bd5/cython-3.3.0-cp39-abi3-win_arm64.whl" +upload-time = 2026-08-22 05:17:56+00:00 +size = 2608078 + +[packages.wheels.hashes] +sha256 = "dce56c26d388f00a19426371b6926bf2f77c5c03b71d5273e4556c68be98c2dd" + +[[packages.wheels]] +url = "https://files.pythonhosted.org/packages/bf/77/67b0b24e45073a699610e50f00c18474ff9b09ea29ecc95083bdf5e60acd/cython-3.3.0-py3-none-any.whl" +upload-time = 2026-08-22 05:16:36+00:00 +size = 1349151 + +[packages.wheels.hashes] +sha256 = "9b24b5c8cd536946b62086fcafee6d5509d3f549f72d553d2336af87ffbe0da1" + [[packages]] name = "distlib" version = "0.4.3" @@ -5430,25 +5683,25 @@ sha256 = "3dbcf4cd708f21cf876c4eaa90e58412bc4f033d87143f41b1493ff77c25b7e1" [[packages]] name = "pluggy" -version = "1.6.0" +version = "1.7.0" index = "https://pypi.org/simple" marker = "\"build\" in dependency_groups or \"dev\" in dependency_groups or \"test\" in dependency_groups or \"type\" in dependency_groups" [packages.sdist] -url = "https://files.pythonhosted.org/packages/f9/e2/3e91f31a7d2b083fe6ef3fa267035b518369d9511ffab804f839851d2779/pluggy-1.6.0.tar.gz" -upload-time = 2025-05-15 12:30:07+00:00 -size = 69412 +url = "https://files.pythonhosted.org/packages/bf/db/7fc19e6f2dc92a966727031389fc2e08b558f0f25eb7403c1119ad4713cd/pluggy-1.7.0.tar.gz" +upload-time = 2026-10-15 09:50:58+00:00 +size = 123304 [packages.sdist.hashes] -sha256 = "7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3" +sha256 = "d1eaa46ebb595891b860ab086b4d09c8588af65ebd4361b8e8f4bb8920b90ba8" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl" -upload-time = 2025-05-15 12:30:06+00:00 -size = 20538 +url = "https://files.pythonhosted.org/packages/40/9e/2b38731e0fc536806f16490e1a12d7f0dc2a1235aa8cc07bcc75416a7daa/pluggy-1.7.0-py3-none-any.whl" +upload-time = 2026-10-15 09:50:56+00:00 +size = 27082 [packages.wheels.hashes] -sha256 = "e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746" +sha256 = "7dd7b0d8832ba3cb632c306926ded123429211b83641b35dc5c41ad2d34f9bec" [[packages]] name = "pre-commit" @@ -7382,25 +7635,25 @@ sha256 = "d0dae1f74bb273b534770cb4cccb6bb78735540afdb03c2146f4e19dcd412560" [[packages]] name = "release-creator" -version = "0.5.0" +version = "0.5.1" index = "https://pypi.org/simple" marker = "(\"release\" in dependency_groups and (python_full_version >= '3.15'))" [packages.sdist] -url = "https://files.pythonhosted.org/packages/2e/64/830a7a0c3e984d31429a3a605a760b60c2442413d1cd979c938976b5581b/release_creator-0.5.0.tar.gz" -upload-time = 2026-10-22 06:32:59+00:00 -size = 156415 +url = "https://files.pythonhosted.org/packages/65/d3/83211b4ebfbaf87383392aed6ef3aa98d65e0ade613a2aa0ea0f222cb6b1/release_creator-0.5.1.tar.gz" +upload-time = 2026-10-22 13:51:55+00:00 +size = 158621 [packages.sdist.hashes] -sha256 = "e3a5d0b7ab8781ea7f66bb95353792a12592c8d40cb81a575e5defcbd2e3d3fd" +sha256 = "755f8d460a493789756ab1bd4bbda0dd90145699288239085dd712cba2d84251" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/78/87/9c0644b186b62b1fb1f15f0d49a0982dad1b036c7d393866c1e2b58a3e98/release_creator-0.5.0-py3-none-any.whl" -upload-time = 2026-10-22 06:32:58+00:00 -size = 49978 +url = "https://files.pythonhosted.org/packages/5f/88/fab14c09530c8691040ec040613476d645414e2db1123c35b3818d291cea/release_creator-0.5.1-py3-none-any.whl" +upload-time = 2026-10-22 13:51:54+00:00 +size = 50983 [packages.wheels.hashes] -sha256 = "a056a01b1484e00f403b0fae054e3b3b6bebd8621e1e430ba8f83cdf939fa736" +sha256 = "7aa5f28c5195f6f5e0493abede9c041a58d015bc3a837feee5669cc2062d6053" [[packages]] name = "requests" diff --git a/pyproject.toml b/pyproject.toml index 8cc6863..afe5467 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -87,7 +87,7 @@ pkg-meta = [ release = [ "docstrfmt>=2.2.1", "prek>=0.5", - "release-creator>=0.5", + "release-creator>=0.5.1", "towncrier>=26.9", ] From f4f7cdeefda467838eb832b5c7f116fa6516d675 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bern=C3=A1t=20G=C3=A1bor?= Date: Thu, 22 Oct 2026 08:51:51 -0700 Subject: [PATCH 27/39] =?UTF-8?q?=F0=9F=90=9B=20fix(release):=20lock=20cal?= =?UTF-8?q?ler=20build=20backends?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/check.yaml | 6 +++--- .github/workflows/label-maintenance-pr.yaml | 2 +- .github/workflows/prepare-release.yaml | 2 +- .github/workflows/recheck-hook-cooldown.yaml | 2 +- .github/workflows/release.yaml | 18 +++++++++--------- .github/workflows/upgrade-release-tools.yaml | 5 ++++- 6 files changed, 19 insertions(+), 16 deletions(-) diff --git a/.github/workflows/check.yaml b/.github/workflows/check.yaml index cdc8085..5231ec3 100644 --- a/.github/workflows/check.yaml +++ b/.github/workflows/check.yaml @@ -84,12 +84,12 @@ jobs: python-version: "3.15" enable-cache: false - name: Install locked release tools - uses: tox-dev/github-workflows/install-locked-tools@24e7c78489b6e2adb7b8f881761a5c2dbfe03fee + uses: tox-dev/github-workflows/install-locked-tools@961281cba49418a682b2bb123ae4a1c4d22f74ff with: venv: ${{ runner.temp }}/release-tools - name: Add installed tools to PATH run: echo "$RUNNER_TEMP/release-tools/bin" >>"$GITHUB_PATH" - - uses: tox-dev/github-workflows/validate-news@24e7c78489b6e2adb7b8f881761a5c2dbfe03fee + - uses: tox-dev/github-workflows/validate-news@961281cba49418a682b2bb123ae4a1c4d22f74ff hook-update-cooldown: if: github.event_name == 'pull_request' runs-on: ubuntu-26.04 @@ -98,7 +98,7 @@ jobs: contents: read pull-requests: read steps: - - uses: tox-dev/github-workflows/check-hook-update-cooldown@24e7c78489b6e2adb7b8f881761a5c2dbfe03fee + - uses: tox-dev/github-workflows/check-hook-update-cooldown@961281cba49418a682b2bb123ae4a1c4d22f74ff env: GH_TOKEN: ${{ github.token }} with: diff --git a/.github/workflows/label-maintenance-pr.yaml b/.github/workflows/label-maintenance-pr.yaml index e5f8451..a837bf5 100644 --- a/.github/workflows/label-maintenance-pr.yaml +++ b/.github/workflows/label-maintenance-pr.yaml @@ -11,7 +11,7 @@ jobs: issues: write pull-requests: read steps: - - uses: tox-dev/github-workflows/label-bot-news@24e7c78489b6e2adb7b8f881761a5c2dbfe03fee + - uses: tox-dev/github-workflows/label-bot-news@961281cba49418a682b2bb123ae4a1c4d22f74ff with: fragments: docs/changelog.d extension: rst diff --git a/.github/workflows/prepare-release.yaml b/.github/workflows/prepare-release.yaml index 0894af6..d3802c6 100644 --- a/.github/workflows/prepare-release.yaml +++ b/.github/workflows/prepare-release.yaml @@ -15,7 +15,7 @@ on: permissions: {} jobs: prepare: - uses: tox-dev/github-workflows/.github/workflows/prepare-towncrier-release.yaml@24e7c78489b6e2adb7b8f881761a5c2dbfe03fee + uses: tox-dev/github-workflows/.github/workflows/prepare-towncrier-release.yaml@961281cba49418a682b2bb123ae4a1c4d22f74ff permissions: contents: read pull-requests: read diff --git a/.github/workflows/recheck-hook-cooldown.yaml b/.github/workflows/recheck-hook-cooldown.yaml index ad3da40..a0432ba 100644 --- a/.github/workflows/recheck-hook-cooldown.yaml +++ b/.github/workflows/recheck-hook-cooldown.yaml @@ -12,7 +12,7 @@ jobs: contents: read pull-requests: read steps: - - uses: tox-dev/github-workflows/recheck-hook-update-cooldown@24e7c78489b6e2adb7b8f881761a5c2dbfe03fee + - uses: tox-dev/github-workflows/recheck-hook-update-cooldown@961281cba49418a682b2bb123ae4a1c4d22f74ff with: workflow: check.yaml job-name: hook-update-cooldown diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 38a0b9e..e67f3f4 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -8,7 +8,7 @@ env: dists-artifact-name: python-package-distributions jobs: build: - uses: tox-dev/github-workflows/.github/workflows/validate-python-release.yaml@24e7c78489b6e2adb7b8f881761a5c2dbfe03fee + uses: tox-dev/github-workflows/.github/workflows/validate-python-release.yaml@961281cba49418a682b2bb123ae4a1c4d22f74ff permissions: contents: read with: @@ -24,7 +24,7 @@ jobs: with: name: github-release-notes path: ${{ runner.temp }}/github-release-notes - - uses: tox-dev/github-workflows/publish-github-release@24e7c78489b6e2adb7b8f881761a5c2dbfe03fee + - uses: tox-dev/github-workflows/publish-github-release@961281cba49418a682b2bb123ae4a1c4d22f74ff with: repository: ${{ github.repository }} tag: ${{ github.ref_name }} @@ -54,7 +54,7 @@ jobs: with: name: ${{ env.dists-artifact-name }} path: dist/ - - uses: tox-dev/github-workflows/reconcile-pypi-artifacts@24e7c78489b6e2adb7b8f881761a5c2dbfe03fee + - uses: tox-dev/github-workflows/reconcile-pypi-artifacts@961281cba49418a682b2bb123ae4a1c4d22f74ff id: stage with: project: pyproject-api @@ -86,7 +86,7 @@ jobs: with: name: pypi-missing-manifest path: ${{ runner.temp }}/pypi-manifest - - uses: tox-dev/github-workflows/select-pypi-artifacts@24e7c78489b6e2adb7b8f881761a5c2dbfe03fee + - uses: tox-dev/github-workflows/select-pypi-artifacts@961281cba49418a682b2bb123ae4a1c4d22f74ff with: dist: dist manifest: ${{ runner.temp }}/pypi-manifest/pypi-missing-names.txt @@ -118,7 +118,7 @@ jobs: with: name: ${{ env.dists-artifact-name }} path: dist/ - - uses: tox-dev/github-workflows/reconcile-pypi-artifacts@24e7c78489b6e2adb7b8f881761a5c2dbfe03fee + - uses: tox-dev/github-workflows/reconcile-pypi-artifacts@961281cba49418a682b2bb123ae4a1c4d22f74ff with: project: pyproject-api version: ${{ github.ref_name }} @@ -142,7 +142,7 @@ jobs: python-version: "3.15" enable-cache: false - name: Install locked release tools - uses: tox-dev/github-workflows/install-locked-tools@24e7c78489b6e2adb7b8f881761a5c2dbfe03fee + uses: tox-dev/github-workflows/install-locked-tools@961281cba49418a682b2bb123ae4a1c4d22f74ff with: venv: ${{ runner.temp }}/release-tools - name: Add installed tools to PATH @@ -199,7 +199,7 @@ jobs: python-version: "3.15" enable-cache: false - name: Install locked release tools - uses: tox-dev/github-workflows/install-locked-tools@24e7c78489b6e2adb7b8f881761a5c2dbfe03fee + uses: tox-dev/github-workflows/install-locked-tools@961281cba49418a682b2bb123ae4a1c4d22f74ff with: venv: ${{ runner.temp }}/release-tools - name: Add installed tools to PATH @@ -208,7 +208,7 @@ jobs: with: name: contributor-metadata path: ${{ runner.temp }}/contributor-metadata - - uses: tox-dev/github-workflows/render-release-notes@24e7c78489b6e2adb7b8f881761a5c2dbfe03fee + - uses: tox-dev/github-workflows/render-release-notes@961281cba49418a682b2bb123ae4a1c4d22f74ff with: tag: ${{ github.ref_name }} changelog: docs/changelog.rst @@ -233,7 +233,7 @@ jobs: with: name: github-release-notes path: ${{ runner.temp }}/github-release-notes - - uses: tox-dev/github-workflows/publish-github-release@24e7c78489b6e2adb7b8f881761a5c2dbfe03fee + - uses: tox-dev/github-workflows/publish-github-release@961281cba49418a682b2bb123ae4a1c4d22f74ff with: repository: ${{ github.repository }} tag: ${{ github.ref_name }} diff --git a/.github/workflows/upgrade-release-tools.yaml b/.github/workflows/upgrade-release-tools.yaml index fab8213..3f225de 100644 --- a/.github/workflows/upgrade-release-tools.yaml +++ b/.github/workflows/upgrade-release-tools.yaml @@ -9,12 +9,15 @@ concurrency: cancel-in-progress: false jobs: upgrade: - uses: tox-dev/github-workflows/.github/workflows/upgrade-release-tools.yaml@24e7c78489b6e2adb7b8f881761a5c2dbfe03fee + uses: tox-dev/github-workflows/.github/workflows/upgrade-release-tools.yaml@961281cba49418a682b2bb123ae4a1c4d22f74ff permissions: contents: read secrets: RELEASE_APP_PRIVATE_KEY: ${{ secrets.RELEASE_APP_PRIVATE_KEY }} with: + build-requirements: |- + Cython>=3.0 + setuptools>=80 python-version: "3.15" exclude-newer-packages: release-creator=2026-10-22T13:51:56Z commit-message: "build(deps): refresh release lock" From 264f1ba133ed7e6fc8c35032a0fcfad27a60ee8c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bern=C3=A1t=20G=C3=A1bor?= Date: Thu, 22 Oct 2026 09:01:13 -0700 Subject: [PATCH 28/39] =?UTF-8?q?=F0=9F=90=9B=20fix(release):=20pin=20corr?= =?UTF-8?q?ected=20shared=20actions?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/check.yaml | 6 +++--- .github/workflows/label-maintenance-pr.yaml | 2 +- .github/workflows/prepare-release.yaml | 2 +- .github/workflows/recheck-hook-cooldown.yaml | 2 +- .github/workflows/release.yaml | 18 +++++++++--------- .github/workflows/upgrade-release-tools.yaml | 2 +- 6 files changed, 16 insertions(+), 16 deletions(-) diff --git a/.github/workflows/check.yaml b/.github/workflows/check.yaml index 5231ec3..059e9a9 100644 --- a/.github/workflows/check.yaml +++ b/.github/workflows/check.yaml @@ -84,12 +84,12 @@ jobs: python-version: "3.15" enable-cache: false - name: Install locked release tools - uses: tox-dev/github-workflows/install-locked-tools@961281cba49418a682b2bb123ae4a1c4d22f74ff + uses: tox-dev/github-workflows/install-locked-tools@a040f8eb1c335676f3f97db2010a1a39a3cea1ac with: venv: ${{ runner.temp }}/release-tools - name: Add installed tools to PATH run: echo "$RUNNER_TEMP/release-tools/bin" >>"$GITHUB_PATH" - - uses: tox-dev/github-workflows/validate-news@961281cba49418a682b2bb123ae4a1c4d22f74ff + - uses: tox-dev/github-workflows/validate-news@a040f8eb1c335676f3f97db2010a1a39a3cea1ac hook-update-cooldown: if: github.event_name == 'pull_request' runs-on: ubuntu-26.04 @@ -98,7 +98,7 @@ jobs: contents: read pull-requests: read steps: - - uses: tox-dev/github-workflows/check-hook-update-cooldown@961281cba49418a682b2bb123ae4a1c4d22f74ff + - uses: tox-dev/github-workflows/check-hook-update-cooldown@a040f8eb1c335676f3f97db2010a1a39a3cea1ac env: GH_TOKEN: ${{ github.token }} with: diff --git a/.github/workflows/label-maintenance-pr.yaml b/.github/workflows/label-maintenance-pr.yaml index a837bf5..0bb5006 100644 --- a/.github/workflows/label-maintenance-pr.yaml +++ b/.github/workflows/label-maintenance-pr.yaml @@ -11,7 +11,7 @@ jobs: issues: write pull-requests: read steps: - - uses: tox-dev/github-workflows/label-bot-news@961281cba49418a682b2bb123ae4a1c4d22f74ff + - uses: tox-dev/github-workflows/label-bot-news@a040f8eb1c335676f3f97db2010a1a39a3cea1ac with: fragments: docs/changelog.d extension: rst diff --git a/.github/workflows/prepare-release.yaml b/.github/workflows/prepare-release.yaml index d3802c6..213eb24 100644 --- a/.github/workflows/prepare-release.yaml +++ b/.github/workflows/prepare-release.yaml @@ -15,7 +15,7 @@ on: permissions: {} jobs: prepare: - uses: tox-dev/github-workflows/.github/workflows/prepare-towncrier-release.yaml@961281cba49418a682b2bb123ae4a1c4d22f74ff + uses: tox-dev/github-workflows/.github/workflows/prepare-towncrier-release.yaml@a040f8eb1c335676f3f97db2010a1a39a3cea1ac permissions: contents: read pull-requests: read diff --git a/.github/workflows/recheck-hook-cooldown.yaml b/.github/workflows/recheck-hook-cooldown.yaml index a0432ba..1ac3da2 100644 --- a/.github/workflows/recheck-hook-cooldown.yaml +++ b/.github/workflows/recheck-hook-cooldown.yaml @@ -12,7 +12,7 @@ jobs: contents: read pull-requests: read steps: - - uses: tox-dev/github-workflows/recheck-hook-update-cooldown@961281cba49418a682b2bb123ae4a1c4d22f74ff + - uses: tox-dev/github-workflows/recheck-hook-update-cooldown@a040f8eb1c335676f3f97db2010a1a39a3cea1ac with: workflow: check.yaml job-name: hook-update-cooldown diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index e67f3f4..2f75e4d 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -8,7 +8,7 @@ env: dists-artifact-name: python-package-distributions jobs: build: - uses: tox-dev/github-workflows/.github/workflows/validate-python-release.yaml@961281cba49418a682b2bb123ae4a1c4d22f74ff + uses: tox-dev/github-workflows/.github/workflows/validate-python-release.yaml@a040f8eb1c335676f3f97db2010a1a39a3cea1ac permissions: contents: read with: @@ -24,7 +24,7 @@ jobs: with: name: github-release-notes path: ${{ runner.temp }}/github-release-notes - - uses: tox-dev/github-workflows/publish-github-release@961281cba49418a682b2bb123ae4a1c4d22f74ff + - uses: tox-dev/github-workflows/publish-github-release@a040f8eb1c335676f3f97db2010a1a39a3cea1ac with: repository: ${{ github.repository }} tag: ${{ github.ref_name }} @@ -54,7 +54,7 @@ jobs: with: name: ${{ env.dists-artifact-name }} path: dist/ - - uses: tox-dev/github-workflows/reconcile-pypi-artifacts@961281cba49418a682b2bb123ae4a1c4d22f74ff + - uses: tox-dev/github-workflows/reconcile-pypi-artifacts@a040f8eb1c335676f3f97db2010a1a39a3cea1ac id: stage with: project: pyproject-api @@ -86,7 +86,7 @@ jobs: with: name: pypi-missing-manifest path: ${{ runner.temp }}/pypi-manifest - - uses: tox-dev/github-workflows/select-pypi-artifacts@961281cba49418a682b2bb123ae4a1c4d22f74ff + - uses: tox-dev/github-workflows/select-pypi-artifacts@a040f8eb1c335676f3f97db2010a1a39a3cea1ac with: dist: dist manifest: ${{ runner.temp }}/pypi-manifest/pypi-missing-names.txt @@ -118,7 +118,7 @@ jobs: with: name: ${{ env.dists-artifact-name }} path: dist/ - - uses: tox-dev/github-workflows/reconcile-pypi-artifacts@961281cba49418a682b2bb123ae4a1c4d22f74ff + - uses: tox-dev/github-workflows/reconcile-pypi-artifacts@a040f8eb1c335676f3f97db2010a1a39a3cea1ac with: project: pyproject-api version: ${{ github.ref_name }} @@ -142,7 +142,7 @@ jobs: python-version: "3.15" enable-cache: false - name: Install locked release tools - uses: tox-dev/github-workflows/install-locked-tools@961281cba49418a682b2bb123ae4a1c4d22f74ff + uses: tox-dev/github-workflows/install-locked-tools@a040f8eb1c335676f3f97db2010a1a39a3cea1ac with: venv: ${{ runner.temp }}/release-tools - name: Add installed tools to PATH @@ -199,7 +199,7 @@ jobs: python-version: "3.15" enable-cache: false - name: Install locked release tools - uses: tox-dev/github-workflows/install-locked-tools@961281cba49418a682b2bb123ae4a1c4d22f74ff + uses: tox-dev/github-workflows/install-locked-tools@a040f8eb1c335676f3f97db2010a1a39a3cea1ac with: venv: ${{ runner.temp }}/release-tools - name: Add installed tools to PATH @@ -208,7 +208,7 @@ jobs: with: name: contributor-metadata path: ${{ runner.temp }}/contributor-metadata - - uses: tox-dev/github-workflows/render-release-notes@961281cba49418a682b2bb123ae4a1c4d22f74ff + - uses: tox-dev/github-workflows/render-release-notes@a040f8eb1c335676f3f97db2010a1a39a3cea1ac with: tag: ${{ github.ref_name }} changelog: docs/changelog.rst @@ -233,7 +233,7 @@ jobs: with: name: github-release-notes path: ${{ runner.temp }}/github-release-notes - - uses: tox-dev/github-workflows/publish-github-release@961281cba49418a682b2bb123ae4a1c4d22f74ff + - uses: tox-dev/github-workflows/publish-github-release@a040f8eb1c335676f3f97db2010a1a39a3cea1ac with: repository: ${{ github.repository }} tag: ${{ github.ref_name }} diff --git a/.github/workflows/upgrade-release-tools.yaml b/.github/workflows/upgrade-release-tools.yaml index 3f225de..f2e5770 100644 --- a/.github/workflows/upgrade-release-tools.yaml +++ b/.github/workflows/upgrade-release-tools.yaml @@ -9,7 +9,7 @@ concurrency: cancel-in-progress: false jobs: upgrade: - uses: tox-dev/github-workflows/.github/workflows/upgrade-release-tools.yaml@961281cba49418a682b2bb123ae4a1c4d22f74ff + uses: tox-dev/github-workflows/.github/workflows/upgrade-release-tools.yaml@a040f8eb1c335676f3f97db2010a1a39a3cea1ac permissions: contents: read secrets: From 93d9560dc83aca5ba423afe1c646e4a07f88a255 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bern=C3=A1t=20G=C3=A1bor?= Date: Thu, 22 Oct 2026 09:09:37 -0700 Subject: [PATCH 29/39] =?UTF-8?q?=F0=9F=90=9B=20fix(release):=20pin=20port?= =?UTF-8?q?able=20shared=20actions?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/check.yaml | 6 +++--- .github/workflows/label-maintenance-pr.yaml | 2 +- .github/workflows/prepare-release.yaml | 2 +- .github/workflows/recheck-hook-cooldown.yaml | 2 +- .github/workflows/release.yaml | 18 +++++++++--------- .github/workflows/upgrade-release-tools.yaml | 2 +- 6 files changed, 16 insertions(+), 16 deletions(-) diff --git a/.github/workflows/check.yaml b/.github/workflows/check.yaml index 059e9a9..2f5b562 100644 --- a/.github/workflows/check.yaml +++ b/.github/workflows/check.yaml @@ -84,12 +84,12 @@ jobs: python-version: "3.15" enable-cache: false - name: Install locked release tools - uses: tox-dev/github-workflows/install-locked-tools@a040f8eb1c335676f3f97db2010a1a39a3cea1ac + uses: tox-dev/github-workflows/install-locked-tools@33db207c963ad07b8d2bff4099143593fd4100b2 with: venv: ${{ runner.temp }}/release-tools - name: Add installed tools to PATH run: echo "$RUNNER_TEMP/release-tools/bin" >>"$GITHUB_PATH" - - uses: tox-dev/github-workflows/validate-news@a040f8eb1c335676f3f97db2010a1a39a3cea1ac + - uses: tox-dev/github-workflows/validate-news@33db207c963ad07b8d2bff4099143593fd4100b2 hook-update-cooldown: if: github.event_name == 'pull_request' runs-on: ubuntu-26.04 @@ -98,7 +98,7 @@ jobs: contents: read pull-requests: read steps: - - uses: tox-dev/github-workflows/check-hook-update-cooldown@a040f8eb1c335676f3f97db2010a1a39a3cea1ac + - uses: tox-dev/github-workflows/check-hook-update-cooldown@33db207c963ad07b8d2bff4099143593fd4100b2 env: GH_TOKEN: ${{ github.token }} with: diff --git a/.github/workflows/label-maintenance-pr.yaml b/.github/workflows/label-maintenance-pr.yaml index 0bb5006..7a208ff 100644 --- a/.github/workflows/label-maintenance-pr.yaml +++ b/.github/workflows/label-maintenance-pr.yaml @@ -11,7 +11,7 @@ jobs: issues: write pull-requests: read steps: - - uses: tox-dev/github-workflows/label-bot-news@a040f8eb1c335676f3f97db2010a1a39a3cea1ac + - uses: tox-dev/github-workflows/label-bot-news@33db207c963ad07b8d2bff4099143593fd4100b2 with: fragments: docs/changelog.d extension: rst diff --git a/.github/workflows/prepare-release.yaml b/.github/workflows/prepare-release.yaml index 213eb24..577ee07 100644 --- a/.github/workflows/prepare-release.yaml +++ b/.github/workflows/prepare-release.yaml @@ -15,7 +15,7 @@ on: permissions: {} jobs: prepare: - uses: tox-dev/github-workflows/.github/workflows/prepare-towncrier-release.yaml@a040f8eb1c335676f3f97db2010a1a39a3cea1ac + uses: tox-dev/github-workflows/.github/workflows/prepare-towncrier-release.yaml@33db207c963ad07b8d2bff4099143593fd4100b2 permissions: contents: read pull-requests: read diff --git a/.github/workflows/recheck-hook-cooldown.yaml b/.github/workflows/recheck-hook-cooldown.yaml index 1ac3da2..85647da 100644 --- a/.github/workflows/recheck-hook-cooldown.yaml +++ b/.github/workflows/recheck-hook-cooldown.yaml @@ -12,7 +12,7 @@ jobs: contents: read pull-requests: read steps: - - uses: tox-dev/github-workflows/recheck-hook-update-cooldown@a040f8eb1c335676f3f97db2010a1a39a3cea1ac + - uses: tox-dev/github-workflows/recheck-hook-update-cooldown@33db207c963ad07b8d2bff4099143593fd4100b2 with: workflow: check.yaml job-name: hook-update-cooldown diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 2f75e4d..5c8f2cc 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -8,7 +8,7 @@ env: dists-artifact-name: python-package-distributions jobs: build: - uses: tox-dev/github-workflows/.github/workflows/validate-python-release.yaml@a040f8eb1c335676f3f97db2010a1a39a3cea1ac + uses: tox-dev/github-workflows/.github/workflows/validate-python-release.yaml@33db207c963ad07b8d2bff4099143593fd4100b2 permissions: contents: read with: @@ -24,7 +24,7 @@ jobs: with: name: github-release-notes path: ${{ runner.temp }}/github-release-notes - - uses: tox-dev/github-workflows/publish-github-release@a040f8eb1c335676f3f97db2010a1a39a3cea1ac + - uses: tox-dev/github-workflows/publish-github-release@33db207c963ad07b8d2bff4099143593fd4100b2 with: repository: ${{ github.repository }} tag: ${{ github.ref_name }} @@ -54,7 +54,7 @@ jobs: with: name: ${{ env.dists-artifact-name }} path: dist/ - - uses: tox-dev/github-workflows/reconcile-pypi-artifacts@a040f8eb1c335676f3f97db2010a1a39a3cea1ac + - uses: tox-dev/github-workflows/reconcile-pypi-artifacts@33db207c963ad07b8d2bff4099143593fd4100b2 id: stage with: project: pyproject-api @@ -86,7 +86,7 @@ jobs: with: name: pypi-missing-manifest path: ${{ runner.temp }}/pypi-manifest - - uses: tox-dev/github-workflows/select-pypi-artifacts@a040f8eb1c335676f3f97db2010a1a39a3cea1ac + - uses: tox-dev/github-workflows/select-pypi-artifacts@33db207c963ad07b8d2bff4099143593fd4100b2 with: dist: dist manifest: ${{ runner.temp }}/pypi-manifest/pypi-missing-names.txt @@ -118,7 +118,7 @@ jobs: with: name: ${{ env.dists-artifact-name }} path: dist/ - - uses: tox-dev/github-workflows/reconcile-pypi-artifacts@a040f8eb1c335676f3f97db2010a1a39a3cea1ac + - uses: tox-dev/github-workflows/reconcile-pypi-artifacts@33db207c963ad07b8d2bff4099143593fd4100b2 with: project: pyproject-api version: ${{ github.ref_name }} @@ -142,7 +142,7 @@ jobs: python-version: "3.15" enable-cache: false - name: Install locked release tools - uses: tox-dev/github-workflows/install-locked-tools@a040f8eb1c335676f3f97db2010a1a39a3cea1ac + uses: tox-dev/github-workflows/install-locked-tools@33db207c963ad07b8d2bff4099143593fd4100b2 with: venv: ${{ runner.temp }}/release-tools - name: Add installed tools to PATH @@ -199,7 +199,7 @@ jobs: python-version: "3.15" enable-cache: false - name: Install locked release tools - uses: tox-dev/github-workflows/install-locked-tools@a040f8eb1c335676f3f97db2010a1a39a3cea1ac + uses: tox-dev/github-workflows/install-locked-tools@33db207c963ad07b8d2bff4099143593fd4100b2 with: venv: ${{ runner.temp }}/release-tools - name: Add installed tools to PATH @@ -208,7 +208,7 @@ jobs: with: name: contributor-metadata path: ${{ runner.temp }}/contributor-metadata - - uses: tox-dev/github-workflows/render-release-notes@a040f8eb1c335676f3f97db2010a1a39a3cea1ac + - uses: tox-dev/github-workflows/render-release-notes@33db207c963ad07b8d2bff4099143593fd4100b2 with: tag: ${{ github.ref_name }} changelog: docs/changelog.rst @@ -233,7 +233,7 @@ jobs: with: name: github-release-notes path: ${{ runner.temp }}/github-release-notes - - uses: tox-dev/github-workflows/publish-github-release@a040f8eb1c335676f3f97db2010a1a39a3cea1ac + - uses: tox-dev/github-workflows/publish-github-release@33db207c963ad07b8d2bff4099143593fd4100b2 with: repository: ${{ github.repository }} tag: ${{ github.ref_name }} diff --git a/.github/workflows/upgrade-release-tools.yaml b/.github/workflows/upgrade-release-tools.yaml index f2e5770..29998d2 100644 --- a/.github/workflows/upgrade-release-tools.yaml +++ b/.github/workflows/upgrade-release-tools.yaml @@ -9,7 +9,7 @@ concurrency: cancel-in-progress: false jobs: upgrade: - uses: tox-dev/github-workflows/.github/workflows/upgrade-release-tools.yaml@a040f8eb1c335676f3f97db2010a1a39a3cea1ac + uses: tox-dev/github-workflows/.github/workflows/upgrade-release-tools.yaml@33db207c963ad07b8d2bff4099143593fd4100b2 permissions: contents: read secrets: From 1f3f38e9b8d313a87bcaff601ed1b764cd8686f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bern=C3=A1t=20G=C3=A1bor?= Date: Thu, 22 Oct 2026 12:12:23 -0700 Subject: [PATCH 30/39] =?UTF-8?q?=F0=9F=91=B7=20ci:=20narrow=20release=20t?= =?UTF-8?q?ool=20installs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/check.yaml | 7 ++-- .github/workflows/label-maintenance-pr.yaml | 2 +- .github/workflows/prepare-release.yaml | 4 ++- .github/workflows/recheck-hook-cooldown.yaml | 2 +- .github/workflows/release.yaml | 28 ++++++++++------ .github/workflows/upgrade-release-tools.yaml | 5 +-- pylock.toml | 35 +++++++++++--------- pyproject.toml | 24 ++++++++++++++ 8 files changed, 73 insertions(+), 34 deletions(-) diff --git a/.github/workflows/check.yaml b/.github/workflows/check.yaml index 2f5b562..3ce5dc1 100644 --- a/.github/workflows/check.yaml +++ b/.github/workflows/check.yaml @@ -84,12 +84,13 @@ jobs: python-version: "3.15" enable-cache: false - name: Install locked release tools - uses: tox-dev/github-workflows/install-locked-tools@33db207c963ad07b8d2bff4099143593fd4100b2 + uses: tox-dev/github-workflows/install-locked-tools@fcba1cc52c8e8bbb8c3305ee5e4bc454b9ab0c50 with: + groups: release-news venv: ${{ runner.temp }}/release-tools - name: Add installed tools to PATH run: echo "$RUNNER_TEMP/release-tools/bin" >>"$GITHUB_PATH" - - uses: tox-dev/github-workflows/validate-news@33db207c963ad07b8d2bff4099143593fd4100b2 + - uses: tox-dev/github-workflows/validate-news@fcba1cc52c8e8bbb8c3305ee5e4bc454b9ab0c50 hook-update-cooldown: if: github.event_name == 'pull_request' runs-on: ubuntu-26.04 @@ -98,7 +99,7 @@ jobs: contents: read pull-requests: read steps: - - uses: tox-dev/github-workflows/check-hook-update-cooldown@33db207c963ad07b8d2bff4099143593fd4100b2 + - uses: tox-dev/github-workflows/check-hook-update-cooldown@fcba1cc52c8e8bbb8c3305ee5e4bc454b9ab0c50 env: GH_TOKEN: ${{ github.token }} with: diff --git a/.github/workflows/label-maintenance-pr.yaml b/.github/workflows/label-maintenance-pr.yaml index 7a208ff..5cd1c55 100644 --- a/.github/workflows/label-maintenance-pr.yaml +++ b/.github/workflows/label-maintenance-pr.yaml @@ -11,7 +11,7 @@ jobs: issues: write pull-requests: read steps: - - uses: tox-dev/github-workflows/label-bot-news@33db207c963ad07b8d2bff4099143593fd4100b2 + - uses: tox-dev/github-workflows/label-bot-news@fcba1cc52c8e8bbb8c3305ee5e4bc454b9ab0c50 with: fragments: docs/changelog.d extension: rst diff --git a/.github/workflows/prepare-release.yaml b/.github/workflows/prepare-release.yaml index 577ee07..e82964e 100644 --- a/.github/workflows/prepare-release.yaml +++ b/.github/workflows/prepare-release.yaml @@ -15,13 +15,15 @@ on: permissions: {} jobs: prepare: - uses: tox-dev/github-workflows/.github/workflows/prepare-towncrier-release.yaml@33db207c963ad07b8d2bff4099143593fd4100b2 + uses: tox-dev/github-workflows/.github/workflows/prepare-towncrier-release.yaml@fcba1cc52c8e8bbb8c3305ee5e4bc454b9ab0c50 permissions: contents: read pull-requests: read secrets: RELEASE_APP_PRIVATE_KEY: ${{ secrets.RELEASE_APP_PRIVATE_KEY }} with: + prepare-group: release-prepare + validate-group: release-validate bump: ${{ inputs.bump }} changelog: docs/changelog.rst fragments: docs/changelog.d diff --git a/.github/workflows/recheck-hook-cooldown.yaml b/.github/workflows/recheck-hook-cooldown.yaml index 85647da..242525e 100644 --- a/.github/workflows/recheck-hook-cooldown.yaml +++ b/.github/workflows/recheck-hook-cooldown.yaml @@ -12,7 +12,7 @@ jobs: contents: read pull-requests: read steps: - - uses: tox-dev/github-workflows/recheck-hook-update-cooldown@33db207c963ad07b8d2bff4099143593fd4100b2 + - uses: tox-dev/github-workflows/recheck-hook-update-cooldown@fcba1cc52c8e8bbb8c3305ee5e4bc454b9ab0c50 with: workflow: check.yaml job-name: hook-update-cooldown diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 5c8f2cc..93cecf9 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -8,10 +8,12 @@ env: dists-artifact-name: python-package-distributions jobs: build: - uses: tox-dev/github-workflows/.github/workflows/validate-python-release.yaml@33db207c963ad07b8d2bff4099143593fd4100b2 + uses: tox-dev/github-workflows/.github/workflows/validate-python-release.yaml@fcba1cc52c8e8bbb8c3305ee5e4bc454b9ab0c50 permissions: contents: read with: + check-group: release-check + notes-group: release-notes changelog: docs/changelog.rst artifact-base-url: https://pypi.org/project/pyproject-api/ stage-github-release: @@ -24,7 +26,7 @@ jobs: with: name: github-release-notes path: ${{ runner.temp }}/github-release-notes - - uses: tox-dev/github-workflows/publish-github-release@33db207c963ad07b8d2bff4099143593fd4100b2 + - uses: tox-dev/github-workflows/publish-github-release@fcba1cc52c8e8bbb8c3305ee5e4bc454b9ab0c50 with: repository: ${{ github.repository }} tag: ${{ github.ref_name }} @@ -35,7 +37,7 @@ jobs: env: GH_TOKEN: ${{ github.token }} stage-pypi: - needs: [build, github-notes, stage-github-release] + needs: build runs-on: ubuntu-26.04 permissions: contents: read @@ -54,9 +56,10 @@ jobs: with: name: ${{ env.dists-artifact-name }} path: dist/ - - uses: tox-dev/github-workflows/reconcile-pypi-artifacts@33db207c963ad07b8d2bff4099143593fd4100b2 + - uses: tox-dev/github-workflows/reconcile-pypi-artifacts@fcba1cc52c8e8bbb8c3305ee5e4bc454b9ab0c50 id: stage with: + tool-group: release-notes project: pyproject-api version: ${{ github.ref_name }} dist: dist @@ -68,7 +71,7 @@ jobs: path: ${{ steps.stage.outputs.manifest }} if-no-files-found: error release: - needs: stage-pypi + needs: [stage-pypi, stage-github-release] if: needs.stage-pypi.outputs.missing_count != '0' runs-on: ubuntu-26.04 environment: @@ -86,7 +89,7 @@ jobs: with: name: pypi-missing-manifest path: ${{ runner.temp }}/pypi-manifest - - uses: tox-dev/github-workflows/select-pypi-artifacts@33db207c963ad07b8d2bff4099143593fd4100b2 + - uses: tox-dev/github-workflows/select-pypi-artifacts@fcba1cc52c8e8bbb8c3305ee5e4bc454b9ab0c50 with: dist: dist manifest: ${{ runner.temp }}/pypi-manifest/pypi-missing-names.txt @@ -118,8 +121,9 @@ jobs: with: name: ${{ env.dists-artifact-name }} path: dist/ - - uses: tox-dev/github-workflows/reconcile-pypi-artifacts@33db207c963ad07b8d2bff4099143593fd4100b2 + - uses: tox-dev/github-workflows/reconcile-pypi-artifacts@fcba1cc52c8e8bbb8c3305ee5e4bc454b9ab0c50 with: + tool-group: release-notes project: pyproject-api version: ${{ github.ref_name }} dist: dist @@ -142,8 +146,9 @@ jobs: python-version: "3.15" enable-cache: false - name: Install locked release tools - uses: tox-dev/github-workflows/install-locked-tools@33db207c963ad07b8d2bff4099143593fd4100b2 + uses: tox-dev/github-workflows/install-locked-tools@fcba1cc52c8e8bbb8c3305ee5e4bc454b9ab0c50 with: + groups: release-notes venv: ${{ runner.temp }}/release-tools - name: Add installed tools to PATH run: echo "$RUNNER_TEMP/release-tools/bin" >>"$GITHUB_PATH" @@ -199,8 +204,9 @@ jobs: python-version: "3.15" enable-cache: false - name: Install locked release tools - uses: tox-dev/github-workflows/install-locked-tools@33db207c963ad07b8d2bff4099143593fd4100b2 + uses: tox-dev/github-workflows/install-locked-tools@fcba1cc52c8e8bbb8c3305ee5e4bc454b9ab0c50 with: + groups: release-notes venv: ${{ runner.temp }}/release-tools - name: Add installed tools to PATH run: echo "$RUNNER_TEMP/release-tools/bin" >>"$GITHUB_PATH" @@ -208,7 +214,7 @@ jobs: with: name: contributor-metadata path: ${{ runner.temp }}/contributor-metadata - - uses: tox-dev/github-workflows/render-release-notes@33db207c963ad07b8d2bff4099143593fd4100b2 + - uses: tox-dev/github-workflows/render-release-notes@fcba1cc52c8e8bbb8c3305ee5e4bc454b9ab0c50 with: tag: ${{ github.ref_name }} changelog: docs/changelog.rst @@ -233,7 +239,7 @@ jobs: with: name: github-release-notes path: ${{ runner.temp }}/github-release-notes - - uses: tox-dev/github-workflows/publish-github-release@33db207c963ad07b8d2bff4099143593fd4100b2 + - uses: tox-dev/github-workflows/publish-github-release@fcba1cc52c8e8bbb8c3305ee5e4bc454b9ab0c50 with: repository: ${{ github.repository }} tag: ${{ github.ref_name }} diff --git a/.github/workflows/upgrade-release-tools.yaml b/.github/workflows/upgrade-release-tools.yaml index 29998d2..5daa480 100644 --- a/.github/workflows/upgrade-release-tools.yaml +++ b/.github/workflows/upgrade-release-tools.yaml @@ -9,12 +9,13 @@ concurrency: cancel-in-progress: false jobs: upgrade: - uses: tox-dev/github-workflows/.github/workflows/upgrade-release-tools.yaml@33db207c963ad07b8d2bff4099143593fd4100b2 + uses: tox-dev/github-workflows/.github/workflows/upgrade-release-tools.yaml@fcba1cc52c8e8bbb8c3305ee5e4bc454b9ab0c50 permissions: contents: read secrets: RELEASE_APP_PRIVATE_KEY: ${{ secrets.RELEASE_APP_PRIVATE_KEY }} with: + check-group: release-check build-requirements: |- Cython>=3.0 setuptools>=80 @@ -23,5 +24,5 @@ jobs: commit-message: "build(deps): refresh release lock" pull-request-title: "build(deps): refresh release tool lock" pull-request-body: |- - Refresh the locked release tools to the latest versions allowed by the `release` dependency group. + Refresh the locked release tools across the job-specific dependency groups. `pylock.toml` records the exact versions used during release preparation and GitHub note rendering. diff --git a/pylock.toml b/pylock.toml index 1377982..4036dbf 100644 --- a/pylock.toml +++ b/pylock.toml @@ -11,6 +11,11 @@ dependency-groups = [ "lint", "pkg-meta", "release", + "release-check", + "release-notes", + "release-news", + "release-prepare", + "release-validate", "build", ] default-groups = [] @@ -1866,7 +1871,7 @@ sha256 = "5ae39c8c434b972f0740d04610759168590713175aab584b012b1b84f6771874" name = "click" version = "8.5.0" index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"pkg-meta\" in dependency_groups or \"type\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15'))" +marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"pkg-meta\" in dependency_groups or \"type\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-news\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-prepare\" in dependency_groups and (python_full_version >= '3.15'))" [packages.sdist] url = "https://files.pythonhosted.org/packages/c7/0e/7fa0ef50764b67090eca4114772a2abf8b6148198475e54c660b97caeee6/click-8.5.0.tar.gz" @@ -3797,7 +3802,7 @@ sha256 = "97e5714520c16fc0a45695e5365a2e11b81ea79bba796e26f9f1d178cb182683" name = "jinja2" version = "3.1.6" index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"type\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15'))" +marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"type\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-news\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-prepare\" in dependency_groups and (python_full_version >= '3.15'))" [packages.sdist] url = "https://files.pythonhosted.org/packages/df/bf/f7da0350254c0ed7c72f3e33cef02e048281fec7ecec5f032d4aac52226b/jinja2-3.1.6.tar.gz" @@ -4247,7 +4252,7 @@ sha256 = "8f0dd08a5773d7051e105250b2a2c73d8065ea9b2d68e7e1bdc5244660e75f93" name = "markdown-it-py" version = "4.2.0" index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"pkg-meta\" in dependency_groups or \"type\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15'))" +marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"pkg-meta\" in dependency_groups or \"type\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-news\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-notes\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-prepare\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-validate\" in dependency_groups and (python_full_version >= '3.15'))" [packages.sdist] url = "https://files.pythonhosted.org/packages/06/ff/7841249c247aa650a76b9ee4bbaeae59370dc8bfd2f6c01f3630c35eb134/markdown_it_py-4.2.0.tar.gz" @@ -4269,7 +4274,7 @@ sha256 = "9f7ebbcd14fe59494226453aed97c1070d83f8d24b6fc3a3bcf9a38092641c4a" name = "markupsafe" version = "3.0.4" index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"type\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15'))" +marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"type\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-news\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-prepare\" in dependency_groups and (python_full_version >= '3.15'))" [packages.sdist] url = "https://files.pythonhosted.org/packages/38/9b/e422a865e1d5d57d0e509b4e0bf1c1a70a7f6382c29a5aa428df994c8bc8/markupsafe-3.0.4.tar.gz" @@ -5243,7 +5248,7 @@ sha256 = "39dbacefc411633db5b4378b066a9aca70a3d7e2922c9e578d825f844026eeba" name = "mdformat" version = "1.0.0" index = "https://pypi.org/simple" -marker = "(\"release\" in dependency_groups and (python_full_version >= '3.15'))" +marker = "(\"release\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-news\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-notes\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-prepare\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-validate\" in dependency_groups and (python_full_version >= '3.15'))" [packages.sdist] url = "https://files.pythonhosted.org/packages/3f/05/32b5e14b192b0a8a309f32232c580aefedd9d06017cb8fe8fce34bec654c/mdformat-1.0.0.tar.gz" @@ -5265,7 +5270,7 @@ sha256 = "bca015d65a1d063a02e885a91daee303057bc7829c2cd37b2075a50dbb65944b" name = "mdformat-gfm" version = "1.0.0" index = "https://pypi.org/simple" -marker = "(\"release\" in dependency_groups and (python_full_version >= '3.15'))" +marker = "(\"release\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-news\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-notes\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-prepare\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-validate\" in dependency_groups and (python_full_version >= '3.15'))" [packages.sdist] url = "https://files.pythonhosted.org/packages/56/6f/a626ebb142a290474401b67e2d61e73ce096bf7798ee22dfe6270f924b3f/mdformat_gfm-1.0.0.tar.gz" @@ -5287,7 +5292,7 @@ sha256 = "7305a50efd2a140d7c83505b58e3ac5df2b09e293f9bbe72f6c7bee8c678b005" name = "mdit-py-plugins" version = "0.6.1" index = "https://pypi.org/simple" -marker = "(\"release\" in dependency_groups and (python_full_version >= '3.15'))" +marker = "(\"release\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-news\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-notes\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-prepare\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-validate\" in dependency_groups and (python_full_version >= '3.15'))" [packages.sdist] url = "https://files.pythonhosted.org/packages/59/fc/f8d0863f8862f25602c0404d75568e89fb6b4109804645e5cdfb1be5cf56/mdit_py_plugins-0.6.1.tar.gz" @@ -5309,7 +5314,7 @@ sha256 = "214c82fb2ac524472ab6a5bcab1de80f73b50443e187f401bfd77efbc7c6481d" name = "mdurl" version = "0.1.2" index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"pkg-meta\" in dependency_groups or \"type\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15'))" +marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"pkg-meta\" in dependency_groups or \"type\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-news\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-notes\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-prepare\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-validate\" in dependency_groups and (python_full_version >= '3.15'))" [packages.sdist] url = "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz" @@ -5619,7 +5624,7 @@ sha256 = "edaa16e6c14d7cf395d75d4bbd5a26390f4dc06501a33b4e76282b02cc688a25" name = "packaging" version = "26.3" index = "https://pypi.org/simple" -marker = "\"build\" in dependency_groups or \"dev\" in dependency_groups or \"docs\" in dependency_groups or \"lint\" in dependency_groups or \"pkg-meta\" in dependency_groups or \"project-runtime\" in dependency_groups or \"test\" in dependency_groups or \"type\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15'))" +marker = "\"build\" in dependency_groups or \"dev\" in dependency_groups or \"docs\" in dependency_groups or \"lint\" in dependency_groups or \"pkg-meta\" in dependency_groups or \"project-runtime\" in dependency_groups or \"test\" in dependency_groups or \"type\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-news\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-notes\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-prepare\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-validate\" in dependency_groups and (python_full_version >= '3.15'))" [packages.sdist] url = "https://files.pythonhosted.org/packages/7d/fa/3944b40b07da9ce895c0e6303a5ab7d53da063554f534556b134a54d6093/packaging-26.3.tar.gz" @@ -5751,7 +5756,7 @@ sha256 = "9012b09950a50efdcfb03b95355e1f65c14f9a5cb425d12c6bf2c6d6807617d7" name = "prek" version = "0.5.5" index = "https://pypi.org/simple" -marker = "(\"release\" in dependency_groups and (python_full_version >= '3.15'))" +marker = "(\"release\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-check\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-prepare\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-validate\" in dependency_groups and (python_full_version >= '3.15'))" [packages.sdist] url = "https://files.pythonhosted.org/packages/9b/7b/11538b8e6cd7e269261feae62a2d08818fdcf8f43c3b1a253cec01a5488d/prek-0.5.5.tar.gz" @@ -7225,7 +7230,7 @@ sha256 = "8a1513379d709975552d202d942d9837758905c8d01eb82b8bcc30918929e7b8" name = "pyyaml" version = "6.0.3" index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"lint\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15'))" +marker = "\"dev\" in dependency_groups or \"lint\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-news\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-notes\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-prepare\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-validate\" in dependency_groups and (python_full_version >= '3.15'))" [packages.sdist] url = "https://files.pythonhosted.org/packages/05/8e/961c0007c59b8dd7729d542c61a4d537767a59645b82a0b521206e1e25c2/pyyaml-6.0.3.tar.gz" @@ -7637,7 +7642,7 @@ sha256 = "d0dae1f74bb273b534770cb4cccb6bb78735540afdb03c2146f4e19dcd412560" name = "release-creator" version = "0.5.1" index = "https://pypi.org/simple" -marker = "(\"release\" in dependency_groups and (python_full_version >= '3.15'))" +marker = "(\"release\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-news\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-notes\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-prepare\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-validate\" in dependency_groups and (python_full_version >= '3.15'))" [packages.sdist] url = "https://files.pythonhosted.org/packages/65/d3/83211b4ebfbaf87383392aed6ef3aa98d65e0ade613a2aa0ea0f222cb6b1/release_creator-0.5.1.tar.gz" @@ -8778,7 +8783,7 @@ sha256 = "32a7b79ac57a2e83670ce329ccf675798bc5a2094783a63676866b70503f2e2b" name = "tomli-w" version = "1.2.0" index = "https://pypi.org/simple" -marker = "(\"release\" in dependency_groups and (python_full_version >= '3.15'))" +marker = "(\"release\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-news\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-notes\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-prepare\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-validate\" in dependency_groups and (python_full_version >= '3.15'))" [packages.sdist] url = "https://files.pythonhosted.org/packages/19/75/241269d1da26b624c0d5e110e8149093c759b7a286138f4efd61a60e75fe/tomli_w-1.2.0.tar.gz" @@ -8821,7 +8826,7 @@ sha256 = "177a05aece5a8ca5266fd3c448abb47b8d352f09d477d3ca8332db4d89b24304" name = "towncrier" version = "26.9.0" index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"type\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15'))" +marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"type\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-news\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-prepare\" in dependency_groups and (python_full_version >= '3.15'))" [packages.sdist] url = "https://files.pythonhosted.org/packages/92/d4/e85ce614bf45b1a7fe13b82cc687819c2eaac5a1dd94b84834322095fd98/towncrier-26.9.0.tar.gz" @@ -9317,7 +9322,7 @@ sha256 = "3769219a308c5d2f093e7729621ad12a6346b5767a7ec4338414e2a0fb0c526b" name = "wcwidth" version = "0.9.2" index = "https://pypi.org/simple" -marker = "(\"release\" in dependency_groups and (python_full_version >= '3.15'))" +marker = "(\"release\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-news\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-notes\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-prepare\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-validate\" in dependency_groups and (python_full_version >= '3.15'))" [packages.sdist] url = "https://files.pythonhosted.org/packages/f0/b4/7830542634bb2d3e62aa3b586a72d5b3b6c91c3168929e7000ef3fed041d/wcwidth-0.9.2.tar.gz" diff --git a/pyproject.toml b/pyproject.toml index afe5467..e9f2927 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -90,6 +90,25 @@ release = [ "release-creator>=0.5.1", "towncrier>=26.9", ] +release-check = [ + "prek>=0.5", +] +release-news = [ + "release-creator>=0.5.1", + "towncrier>=26.9", +] +release-notes = [ + "release-creator>=0.5.1", +] +release-prepare = [ + "prek>=0.5", + "release-creator>=0.5.1", + "towncrier>=26.9", +] +release-validate = [ + "prek>=0.5", + "release-creator>=0.5.1", +] [tool.hatch] version.source = "vcs" @@ -99,6 +118,11 @@ build.hooks.vcs.version-file = "src/pyproject_api/_version.py" [tool.uv] dependency-groups.release = { requires-python = ">=3.15" } +dependency-groups.release-check = { requires-python = ">=3.15" } +dependency-groups.release-news = { requires-python = ">=3.15" } +dependency-groups.release-notes = { requires-python = ">=3.15" } +dependency-groups.release-prepare = { requires-python = ">=3.15" } +dependency-groups.release-validate = { requires-python = ">=3.15" } [tool.ruff] line-length = 120 From 6acf0361b6a9d476b8ef997a5db51f65e78d51b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bern=C3=A1t=20G=C3=A1bor?= Date: Thu, 22 Oct 2026 13:11:04 -0700 Subject: [PATCH 31/39] =?UTF-8?q?=F0=9F=94=A7=20chore(format):=20check=20Y?= =?UTF-8?q?AML=20formatting?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .pre-commit-config.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index a6cc422..fd63356 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -11,6 +11,10 @@ repos: hooks: - id: check-github-workflows args: ["--verbose"] + - repo: https://github.com/google/yamlfmt + rev: 21ca5323a9c87ee37a434e0ca908efc0a89daa07 # frozen: v0.21.0 + hooks: + - id: yamlfmt - repo: https://github.com/codespell-project/codespell rev: 57b21406f092110c18776e39b0bda50d37c945c8 # frozen: v2.4.3 hooks: From c517acaab5016faf832aa8519764f6c43646ccf5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bern=C3=A1t=20G=C3=A1bor?= Date: Thu, 22 Oct 2026 22:31:40 -0700 Subject: [PATCH 32/39] =?UTF-8?q?=F0=9F=91=B7=20ci:=20adopt=20shared=20rel?= =?UTF-8?q?ease=20pipeline?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/check.yaml | 12 +- .github/workflows/label-maintenance-pr.yaml | 2 +- .github/workflows/prepare-release.yaml | 7 +- .github/workflows/recheck-hook-cooldown.yaml | 2 +- .github/workflows/release.yaml | 91 +- .github/workflows/upgrade-release-tools.yaml | 10 +- pylock.toml | 10196 +++-------------- pyproject.toml | 26 +- 8 files changed, 1568 insertions(+), 8778 deletions(-) diff --git a/.github/workflows/check.yaml b/.github/workflows/check.yaml index 3ce5dc1..2d4bcc1 100644 --- a/.github/workflows/check.yaml +++ b/.github/workflows/check.yaml @@ -84,13 +84,13 @@ jobs: python-version: "3.15" enable-cache: false - name: Install locked release tools - uses: tox-dev/github-workflows/install-locked-tools@fcba1cc52c8e8bbb8c3305ee5e4bc454b9ab0c50 + uses: tox-dev/github-workflows/install-locked-tools@cadf58a0dcc5d0c7853b248ab7c2b19bb93675d1 with: groups: release-news venv: ${{ runner.temp }}/release-tools - name: Add installed tools to PATH run: echo "$RUNNER_TEMP/release-tools/bin" >>"$GITHUB_PATH" - - uses: tox-dev/github-workflows/validate-news@fcba1cc52c8e8bbb8c3305ee5e4bc454b9ab0c50 + - uses: tox-dev/github-workflows/validate-news@cadf58a0dcc5d0c7853b248ab7c2b19bb93675d1 hook-update-cooldown: if: github.event_name == 'pull_request' runs-on: ubuntu-26.04 @@ -99,16 +99,12 @@ jobs: contents: read pull-requests: read steps: - - uses: tox-dev/github-workflows/check-hook-update-cooldown@fcba1cc52c8e8bbb8c3305ee5e4bc454b9ab0c50 + - uses: tox-dev/github-workflows/check-hook-update-cooldown@cadf58a0dcc5d0c7853b248ab7c2b19bb93675d1 env: GH_TOKEN: ${{ github.token }} - with: - repository: ${{ github.repository }} - pull-request: ${{ github.event.pull_request.number }} - head-sha: ${{ github.event.pull_request.head.sha }} gate: name: Required checks pass - if: always() + if: ${{ !cancelled() }} # codespell:ignore cancelled needs: [test, changelog, hook-update-cooldown] runs-on: ubuntu-26.04 steps: diff --git a/.github/workflows/label-maintenance-pr.yaml b/.github/workflows/label-maintenance-pr.yaml index 5cd1c55..43deb37 100644 --- a/.github/workflows/label-maintenance-pr.yaml +++ b/.github/workflows/label-maintenance-pr.yaml @@ -11,7 +11,7 @@ jobs: issues: write pull-requests: read steps: - - uses: tox-dev/github-workflows/label-bot-news@fcba1cc52c8e8bbb8c3305ee5e4bc454b9ab0c50 + - uses: tox-dev/github-workflows/label-bot-news@cadf58a0dcc5d0c7853b248ab7c2b19bb93675d1 with: fragments: docs/changelog.d extension: rst diff --git a/.github/workflows/prepare-release.yaml b/.github/workflows/prepare-release.yaml index e82964e..5cf7585 100644 --- a/.github/workflows/prepare-release.yaml +++ b/.github/workflows/prepare-release.yaml @@ -15,16 +15,11 @@ on: permissions: {} jobs: prepare: - uses: tox-dev/github-workflows/.github/workflows/prepare-towncrier-release.yaml@fcba1cc52c8e8bbb8c3305ee5e4bc454b9ab0c50 + uses: tox-dev/github-workflows/.github/workflows/prepare-towncrier-release.yaml@cadf58a0dcc5d0c7853b248ab7c2b19bb93675d1 permissions: contents: read pull-requests: read secrets: RELEASE_APP_PRIVATE_KEY: ${{ secrets.RELEASE_APP_PRIVATE_KEY }} with: - prepare-group: release-prepare - validate-group: release-validate bump: ${{ inputs.bump }} - changelog: docs/changelog.rst - fragments: docs/changelog.d - format: rst diff --git a/.github/workflows/recheck-hook-cooldown.yaml b/.github/workflows/recheck-hook-cooldown.yaml index 242525e..b5b1743 100644 --- a/.github/workflows/recheck-hook-cooldown.yaml +++ b/.github/workflows/recheck-hook-cooldown.yaml @@ -12,7 +12,7 @@ jobs: contents: read pull-requests: read steps: - - uses: tox-dev/github-workflows/recheck-hook-update-cooldown@fcba1cc52c8e8bbb8c3305ee5e4bc454b9ab0c50 + - uses: tox-dev/github-workflows/recheck-hook-update-cooldown@cadf58a0dcc5d0c7853b248ab7c2b19bb93675d1 with: workflow: check.yaml job-name: hook-update-cooldown diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 93cecf9..3db4d94 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -8,12 +8,10 @@ env: dists-artifact-name: python-package-distributions jobs: build: - uses: tox-dev/github-workflows/.github/workflows/validate-python-release.yaml@fcba1cc52c8e8bbb8c3305ee5e4bc454b9ab0c50 + uses: tox-dev/github-workflows/.github/workflows/validate-python-release.yaml@cadf58a0dcc5d0c7853b248ab7c2b19bb93675d1 permissions: contents: read with: - check-group: release-check - notes-group: release-notes changelog: docs/changelog.rst artifact-base-url: https://pypi.org/project/pyproject-api/ stage-github-release: @@ -26,9 +24,8 @@ jobs: with: name: github-release-notes path: ${{ runner.temp }}/github-release-notes - - uses: tox-dev/github-workflows/publish-github-release@fcba1cc52c8e8bbb8c3305ee5e4bc454b9ab0c50 + - uses: tox-dev/github-workflows/publish-github-release@cadf58a0dcc5d0c7853b248ab7c2b19bb93675d1 with: - repository: ${{ github.repository }} tag: ${{ github.ref_name }} commit: ${{ github.sha }} title: ${{ github.ref_name }} @@ -36,43 +33,10 @@ jobs: notes-file: ${{ runner.temp }}/github-release-notes/release-notes.md env: GH_TOKEN: ${{ github.token }} - stage-pypi: - needs: build - runs-on: ubuntu-26.04 - permissions: - contents: read - outputs: - missing_count: ${{ steps.stage.outputs['missing-count'] }} - steps: - - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - with: - persist-credentials: false - - uses: astral-sh/setup-uv@1c37ad07a6a961277cf70c0d37d6f313000f5884 # v10.3.0 - with: - version: latest-known - python-version: "3.15" - enable-cache: false - - uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8.0.2 - with: - name: ${{ env.dists-artifact-name }} - path: dist/ - - uses: tox-dev/github-workflows/reconcile-pypi-artifacts@fcba1cc52c8e8bbb8c3305ee5e4bc454b9ab0c50 - id: stage - with: - tool-group: release-notes - project: pyproject-api - version: ${{ github.ref_name }} - dist: dist - mode: stage - - uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 - if: steps.stage.outputs['missing-count'] != '0' - with: - name: pypi-missing-manifest - path: ${{ steps.stage.outputs.manifest }} - if-no-files-found: error release: - needs: [stage-pypi, stage-github-release] - if: needs.stage-pypi.outputs.missing_count != '0' + needs: + - build + - stage-github-release runs-on: ubuntu-26.04 environment: name: release @@ -85,26 +49,16 @@ jobs: with: name: ${{ env.dists-artifact-name }} path: dist/ - - uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8.0.2 - with: - name: pypi-missing-manifest - path: ${{ runner.temp }}/pypi-manifest - - uses: tox-dev/github-workflows/select-pypi-artifacts@fcba1cc52c8e8bbb8c3305ee5e4bc454b9ab0c50 - with: - dist: dist - manifest: ${{ runner.temp }}/pypi-manifest/pypi-missing-names.txt - output-dir: missing - expected-count: ${{ needs.stage-pypi.outputs.missing_count }} - name: Publish to PyPI uses: pypa/gh-action-pypi-publish@dc37677b2e1c63e2034f94d8a5b11f265b73ba33 # v1.14.2 with: - packages-dir: missing/ - skip-existing: true + packages-dir: dist attestations: true verify-pypi: - needs: [stage-pypi, release, stage-github-release] - if: >- - always() && needs.stage-github-release.result == 'success' && needs.stage-pypi.result == 'success' && (needs.release.result == 'success' || (needs.release.result == 'skipped' && needs.stage-pypi.outputs.missing_count == '0')) + needs: + - build + - release + - stage-github-release runs-on: ubuntu-26.04 permissions: contents: read @@ -121,20 +75,18 @@ jobs: with: name: ${{ env.dists-artifact-name }} path: dist/ - - uses: tox-dev/github-workflows/reconcile-pypi-artifacts@fcba1cc52c8e8bbb8c3305ee5e4bc454b9ab0c50 + - uses: tox-dev/github-workflows/reconcile-pypi-artifacts@cadf58a0dcc5d0c7853b248ab7c2b19bb93675d1 with: - tool-group: release-notes project: pyproject-api version: ${{ github.ref_name }} dist: dist - mode: verify previous-tag: needs: build runs-on: ubuntu-26.04 permissions: contents: read outputs: - tag: ${{ steps.previous.outputs.tag }} + tag: ${{ steps.previous.outputs.previous }} steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: @@ -146,7 +98,7 @@ jobs: python-version: "3.15" enable-cache: false - name: Install locked release tools - uses: tox-dev/github-workflows/install-locked-tools@fcba1cc52c8e8bbb8c3305ee5e4bc454b9ab0c50 + uses: tox-dev/github-workflows/install-locked-tools@cadf58a0dcc5d0c7853b248ab7c2b19bb93675d1 with: groups: release-notes venv: ${{ runner.temp }}/release-tools @@ -154,11 +106,9 @@ jobs: run: echo "$RUNNER_TEMP/release-tools/bin" >>"$GITHUB_PATH" - name: Select previous tag id: previous - env: - TAG: ${{ github.ref_name }} - run: | - previous=$(git tag --list | release-creator tags "$TAG" --previous) - echo "tag=$previous" >>"$GITHUB_OUTPUT" + uses: tox-dev/github-workflows/select-previous-tag@cadf58a0dcc5d0c7853b248ab7c2b19bb93675d1 + with: + tag: ${{ github.ref_name }} contributor-metadata: needs: previous-tag runs-on: ubuntu-26.04 @@ -204,7 +154,7 @@ jobs: python-version: "3.15" enable-cache: false - name: Install locked release tools - uses: tox-dev/github-workflows/install-locked-tools@fcba1cc52c8e8bbb8c3305ee5e4bc454b9ab0c50 + uses: tox-dev/github-workflows/install-locked-tools@cadf58a0dcc5d0c7853b248ab7c2b19bb93675d1 with: groups: release-notes venv: ${{ runner.temp }}/release-tools @@ -214,12 +164,10 @@ jobs: with: name: contributor-metadata path: ${{ runner.temp }}/contributor-metadata - - uses: tox-dev/github-workflows/render-release-notes@fcba1cc52c8e8bbb8c3305ee5e4bc454b9ab0c50 + - uses: tox-dev/github-workflows/render-release-notes@cadf58a0dcc5d0c7853b248ab7c2b19bb93675d1 with: tag: ${{ github.ref_name }} changelog: docs/changelog.rst - repository: ${{ github.repository }} - issue-role: issue artifact-url: https://pypi.org/project/pyproject-api/${{ github.ref_name }}/ generated-notes: ${{ runner.temp }}/contributor-metadata/generated-notes.md output: ${{ runner.temp }}/release-notes.md @@ -239,9 +187,8 @@ jobs: with: name: github-release-notes path: ${{ runner.temp }}/github-release-notes - - uses: tox-dev/github-workflows/publish-github-release@fcba1cc52c8e8bbb8c3305ee5e4bc454b9ab0c50 + - uses: tox-dev/github-workflows/publish-github-release@cadf58a0dcc5d0c7853b248ab7c2b19bb93675d1 with: - repository: ${{ github.repository }} tag: ${{ github.ref_name }} commit: ${{ github.sha }} title: ${{ github.ref_name }} diff --git a/.github/workflows/upgrade-release-tools.yaml b/.github/workflows/upgrade-release-tools.yaml index 5daa480..a466858 100644 --- a/.github/workflows/upgrade-release-tools.yaml +++ b/.github/workflows/upgrade-release-tools.yaml @@ -9,18 +9,14 @@ concurrency: cancel-in-progress: false jobs: upgrade: - uses: tox-dev/github-workflows/.github/workflows/upgrade-release-tools.yaml@fcba1cc52c8e8bbb8c3305ee5e4bc454b9ab0c50 + uses: tox-dev/github-workflows/.github/workflows/upgrade-release-tools.yaml@cadf58a0dcc5d0c7853b248ab7c2b19bb93675d1 permissions: contents: read secrets: RELEASE_APP_PRIVATE_KEY: ${{ secrets.RELEASE_APP_PRIVATE_KEY }} with: - check-group: release-check - build-requirements: |- - Cython>=3.0 - setuptools>=80 - python-version: "3.15" - exclude-newer-packages: release-creator=2026-10-22T13:51:56Z + lock-groups: >- + release-check release-news release-notes release-prepare release-validate pkg-meta lock-tools commit-message: "build(deps): refresh release lock" pull-request-title: "build(deps): refresh release tool lock" pull-request-body: |- diff --git a/pylock.toml b/pylock.toml index 4036dbf..fd85c55 100644 --- a/pylock.toml +++ b/pylock.toml @@ -1,86 +1,47 @@ lock-version = "1.0" -created-by = "release-creator (uv)" +environments = [ + "python_version == \"3.15\" and sys_platform == \"linux\" and platform_machine == \"x86_64\" and implementation_name == \"cpython\" and os_name == \"posix\" and platform_python_implementation == \"CPython\" and platform_system == \"Linux\"", + "python_version == \"3.15\" and sys_platform == \"linux\" and platform_machine == \"aarch64\" and implementation_name == \"cpython\" and os_name == \"posix\" and platform_python_implementation == \"CPython\" and platform_system == \"Linux\"", + "python_version == \"3.15\" and sys_platform == \"darwin\" and platform_machine == \"arm64\" and os_name == \"posix\" and platform_python_implementation == \"CPython\" and platform_system == \"Darwin\"", + "python_version == \"3.15\" and sys_platform == \"win32\" and platform_machine == \"AMD64\" and os_name == \"nt\" and platform_python_implementation == \"CPython\" and platform_system == \"Windows\"", +] requires-python = ">=3.11" -extras = [] dependency-groups = [ - "project-runtime", - "dev", - "test", - "type", - "docs", - "lint", + "build", + "lock-tools", "pkg-meta", - "release", + "project-runtime", "release-check", - "release-notes", "release-news", + "release-notes", "release-prepare", "release-validate", - "build", ] -default-groups = [] - -[[packages]] -name = "accessible-pygments" -version = "0.0.5" -index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"type\" in dependency_groups" - -[packages.sdist] -url = "https://files.pythonhosted.org/packages/bc/c1/bbac6a50d02774f91572938964c582fff4270eee73ab822a4aeea4d8b11b/accessible_pygments-0.0.5.tar.gz" -upload-time = 2024-05-10 11:23:10+00:00 -size = 1377899 - -[packages.sdist.hashes] -sha256 = "40918d3e6a2b619ad424cb91e556bd3bd8865443d9f22f1dcdf79e33c8046872" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/8d/3f/95338030883d8c8b91223b4e21744b04d11b161a3ef117295d8241f50ab4/accessible_pygments-0.0.5-py3-none-any.whl" -upload-time = 2024-05-10 11:23:08+00:00 -size = 1395903 - -[packages.wheels.hashes] -sha256 = "88ae3211e68a1d0b011504b2ffc1691feafce124b845bd072ab6f9f66f34d4b7" - -[[packages]] -name = "alabaster" -version = "1.0.0" -index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"type\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15'))" - -[packages.sdist] -url = "https://files.pythonhosted.org/packages/a6/f8/d9c74d0daf3f742840fd818d69cfae176fa332022fd44e3469487d5a9420/alabaster-1.0.0.tar.gz" -upload-time = 2024-07-26 18:15:03+00:00 -size = 24210 - -[packages.sdist.hashes] -sha256 = "c00dca57bca26fa62a6d7d0a9fcce65f3e026e9bfe33e9c538fd3fbb2144fd9e" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/7e/b3/6b4067be973ae96ba0d615946e314c5ae35f9f993eca561b356540bb0c2b/alabaster-1.0.0-py3-none-any.whl" -upload-time = 2024-07-26 18:15:02+00:00 -size = 13929 - -[packages.wheels.hashes] -sha256 = "fc6786402dc3fcb2de3cabd5fe455a2db534b371124f1f21de8731783dec828b" +default-groups = [ + "project-runtime", +] +created-by = "nab" [[packages]] name = "annotated-types" version = "0.8.0" -index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"pkg-meta\" in dependency_groups" +marker = "\"pkg-meta\" in dependency_groups" +requires-python = ">=3.10" +index = "https://pypi.org/simple/" [packages.sdist] +name = "annotated_types-0.8.0.tar.gz" +upload-time = 2026-07-23 20:16:13.995706+00:00 url = "https://files.pythonhosted.org/packages/5f/56/a8120250d128bed162cd73c76d45f6ef9991f3e068f62a8ee060afa3104a/annotated_types-0.8.0.tar.gz" -upload-time = 2026-07-23 20:16:13+00:00 size = 15893 [packages.sdist.hashes] sha256 = "13b2beaad985e05e2d6407ee4c4f35590b11f8d693a258a561055cac8f64cab7" [[packages.wheels]] +name = "annotated_types-0.8.0-py3-none-any.whl" +upload-time = 2026-07-23 20:16:12.938651+00:00 url = "https://files.pythonhosted.org/packages/99/91/8acff4f5e50511b911bbccb72b8628a49c68ce14148cd9f6431094859a90/annotated_types-0.8.0-py3-none-any.whl" -upload-time = 2026-07-23 20:16:12+00:00 size = 13427 [packages.wheels.hashes] @@ -89,8985 +50,2135 @@ sha256 = "f072f4d804ea359e4eaf198b1af7a8b0943881a87f31bb764f8bf219bb9419e0" [[packages]] name = "attrs" version = "26.1.0" -index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"pkg-meta\" in dependency_groups" +marker = "\"pkg-meta\" in dependency_groups" +requires-python = ">=3.9" +index = "https://pypi.org/simple/" [packages.sdist] +name = "attrs-26.1.0.tar.gz" +upload-time = 2026-03-19 14:22:25.026315+00:00 url = "https://files.pythonhosted.org/packages/9a/8e/82a0fe20a541c03148528be8cac2408564a6c9a0cc7e9171802bc1d26985/attrs-26.1.0.tar.gz" -upload-time = 2026-03-19 14:22:25+00:00 size = 952055 [packages.sdist.hashes] sha256 = "d03ceb89cb322a8fd706d4fb91940737b6642aa36998fe130a9bc96c985eff32" [[packages.wheels]] +name = "attrs-26.1.0-py3-none-any.whl" +upload-time = 2026-03-19 14:22:23.645947+00:00 url = "https://files.pythonhosted.org/packages/64/b4/17d4b0b2a2dc85a6df63d1157e028ed19f90d4cd97c36717afef2bc2f395/attrs-26.1.0-py3-none-any.whl" -upload-time = 2026-03-19 14:22:23+00:00 size = 67548 [packages.wheels.hashes] sha256 = "c647aa4a12dfbad9333ca4e71fe62ddc36f4e63b2d260a37a8b83d2f043ac309" [[packages]] -name = "babel" -version = "2.18.0" -index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"type\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15'))" - -[packages.sdist] -url = "https://files.pythonhosted.org/packages/7d/b2/51899539b6ceeeb420d40ed3cd4b7a40519404f9baf3d4ac99dc413a834b/babel-2.18.0.tar.gz" -upload-time = 2026-02-01 12:30:56+00:00 -size = 9959554 - -[packages.sdist.hashes] -sha256 = "b80b99a14bd085fcacfa15c9165f651fbb3406e66cc603abf11c5750937c992d" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/77/f5/21d2de20e8b8b0408f0681956ca2c69f1320a3848ac50e6e7f39c6159675/babel-2.18.0-py3-none-any.whl" -upload-time = 2026-02-01 12:30:53+00:00 -size = 10196845 - -[packages.wheels.hashes] -sha256 = "e2b422b277c2b9a9630c1d7903c2a00d0830c409c59ac8cae9081c92f1aeba35" - -[[packages]] -name = "backports-tarfile" -version = "1.2.0" -index = "https://pypi.org/simple" -marker = "(\"dev\" in dependency_groups and (python_full_version < '3.12' and platform_machine != 'ppc64le' and platform_machine != 's390x')) or (\"pkg-meta\" in dependency_groups and (python_full_version < '3.12' and platform_machine != 'ppc64le' and platform_machine != 's390x'))" +name = "build" +version = "1.6.1" +marker = "\"lock-tools\" in dependency_groups" +requires-python = ">=3.10" +dependencies = [ + { name = "colorama" }, + { name = "packaging" }, + { name = "pyproject-hooks" }, +] +index = "https://pypi.org/simple/" [packages.sdist] -url = "https://files.pythonhosted.org/packages/86/72/cd9b395f25e290e633655a100af28cb253e4393396264a98bd5f5951d50f/backports_tarfile-1.2.0.tar.gz" -upload-time = 2024-05-28 17:01:54+00:00 -size = 86406 +name = "build-1.6.1.tar.gz" +upload-time = 2026-09-10 07:56:00.417084+00:00 +url = "https://files.pythonhosted.org/packages/bd/67/4898a44ea4f3f8e213b0954ec0aa0a16971d62a6212d6ea3931e97115b99/build-1.6.1.tar.gz" +size = 113427 [packages.sdist.hashes] -sha256 = "d75e02c268746e1b8144c278978b6e98e85de6ad16f8e4b0844a154557eca991" +sha256 = "51cc11666391ab6f092070437ac747002ff46f3e4113a3622177ee6b488bfc53" [[packages.wheels]] -name = "backports_tarfile-1.2.0-py3-none-any.whl" -url = "https://files.pythonhosted.org/packages/b9/fa/123043af240e49752f1c4bd24da5053b6bd00cad78c2be53c0d1e8b975bc/backports.tarfile-1.2.0-py3-none-any.whl" -upload-time = 2024-05-28 17:01:53+00:00 -size = 30181 +name = "build-1.6.1-py3-none-any.whl" +upload-time = 2026-09-10 07:55:59.148398+00:00 +url = "https://files.pythonhosted.org/packages/ad/9b/9fb3585dabcd73a1b2a6267f63f62649347c9e6d072c9fde365b105abb2c/build-1.6.1-py3-none-any.whl" +size = 31179 [packages.wheels.hashes] -sha256 = "77e284d754527b01fb1e6fa8a1afe577858ebe4e9dad8919e34c862cb399bc34" +sha256 = "ecd351a4be9d35a9eaaba244a7687143c9c7d4aea6ac964e7e7ddab20cbcf4e7" [[packages]] -name = "beautifulsoup4" -version = "4.15.0" -index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"type\" in dependency_groups" +name = "certifi" +version = "2026.7.22" +marker = "\"pkg-meta\" in dependency_groups" +requires-python = ">=3.7" +index = "https://pypi.org/simple/" [packages.sdist] -url = "https://files.pythonhosted.org/packages/43/65/318323f98dbee45d42dff61d8f047181bc6f2268a9068cfad035a46be5af/beautifulsoup4-4.15.0.tar.gz" -upload-time = 2026-06-07 16:44:20+00:00 -size = 632571 +name = "certifi-2026.7.22.tar.gz" +upload-time = 2026-07-22 03:35:12.644458+00:00 +url = "https://files.pythonhosted.org/packages/a3/c2/24167ea9858356b47a87a50d39908bfdb72ceeefe0041586e704e5376b3a/certifi-2026.7.22.tar.gz" +size = 138112 [packages.sdist.hashes] -sha256 = "288e3ca7d54b06f2ac191970bc275c1939cb46d450b255bf6718b04aa37ab4f7" +sha256 = "741e2c3b351ddf169a738da9f2c048608ff7f2c5cc02f1ebc6b118bb090d5d55" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/88/c6/92fcd42f1ba33e1184263f25bfabf3d27c383410470f169e4b8163bf9c17/beautifulsoup4-4.15.0-py3-none-any.whl" -upload-time = 2026-06-07 16:44:21+00:00 -size = 109924 +name = "certifi-2026.7.22-py3-none-any.whl" +upload-time = 2026-07-22 03:35:11.276376+00:00 +url = "https://files.pythonhosted.org/packages/0b/a7/71ac2cff56fec219ed242bb11b8efb69fcc4bec75db06fb7bfe35de520e6/certifi-2026.7.22-py3-none-any.whl" +size = 136983 [packages.wheels.hashes] -sha256 = "d6f88de62e1d4e38ecb1077eb9724cd0eff29d2a08ca16a401e9b9e93f117cf9" +sha256 = "62f22742b58a1a33014a2b6b706588a8d7e2a88ae7bd1a6ebe8c992928483775" [[packages]] -name = "black" -version = "26.10.1" -index = "https://pypi.org/simple" -marker = "(\"release\" in dependency_groups and (python_full_version >= '3.15'))" +name = "cffi" +version = "2.1.1" +marker = "\"pkg-meta\" in dependency_groups and sys_platform == \"linux\"" +requires-python = ">=3.10" +dependencies = [ + { name = "pycparser" }, +] +index = "https://pypi.org/simple/" [packages.sdist] -url = "https://files.pythonhosted.org/packages/f8/65/a9611a6ec0a8c88d86e59385da02d68d9533f7e86a05913d20c67be54029/black-26.10.1.tar.gz" -upload-time = 2026-10-10 04:13:40+00:00 -size = 741979 +name = "cffi-2.1.1.tar.gz" +upload-time = 2026-08-03 21:21:18.939988+00:00 +url = "https://files.pythonhosted.org/packages/9e/ef/008a1939e372c06329a3fce4279c02f328488f3526744906eeec3da7ad5f/cffi-2.1.1.tar.gz" +size = 530807 [packages.sdist.hashes] -sha256 = "5f9f83beae62437e060dafd53d7f1fc327e3d3494f74d72ee5c2b73eb90fc4e7" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/6f/1e/c1d4f71299d45f4ff54c9c42ef9214d6b228223f196bc1bb2ee196aeaeee/black-26.10.1-cp311-cp311-macosx_10_9_x86_64.whl" -upload-time = 2026-10-10 04:18:36+00:00 -size = 2121821 - -[packages.wheels.hashes] -sha256 = "9a0219b29cd70e49f920acb7081e6ce5025c719008447c521d0200dcad93206a" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/7f/e2/43944049c0945199bbd5c8b291b85306bfd0eeccbc908bf65538a69ff1b0/black-26.10.1-cp311-cp311-macosx_11_0_arm64.whl" -upload-time = 2026-10-10 04:18:38+00:00 -size = 1961908 - -[packages.wheels.hashes] -sha256 = "7bdade400bfe24d78a7762896acc2f9a8e1a17fb0fd0536bf6b7c7097cf3eec7" +sha256 = "dd31f52ea1086513bb9df30f8fcee9b8918323ae067a3d5b78bc826a000712be" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/d5/e9/9616d58f69f0e4bfa89ebe8686b6ef50f4b4f0f91237ae4c76f34dabf8aa/black-26.10.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" -upload-time = 2026-10-10 04:18:40+00:00 -size = 2019042 +name = "cffi-2.1.1-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" +upload-time = 2026-08-03 21:20:53.462549+00:00 +url = "https://files.pythonhosted.org/packages/e2/31/9e1313b0a6e30e91b3b3d3fff51ae99c857c07738e3afcce1f7334e1b7ab/cffi-2.1.1-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" +size = 222271 [packages.wheels.hashes] -sha256 = "ff57f63029aa1353fa8b1b0c8971fd88a6c92dc766608d2eee33ad2deb23270e" +sha256 = "507a24c282e0f42f8ed737cf048572cbf580468da5555764a8331735e9c736b6" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/c5/de/0415cce69e2402a5c186cdb5462a0edd3fa44d69d1a1630e68e58daaa6a4/black-26.10.1-cp311-cp311-win_amd64.whl" -upload-time = 2026-10-10 04:18:42+00:00 -size = 1608383 +name = "cffi-2.1.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" +upload-time = 2026-08-03 21:20:57.336082+00:00 +url = "https://files.pythonhosted.org/packages/44/16/29e6d01b388bef055ecd6ca8244b3f4d336bd09e92d5d892187b9601084e/cffi-2.1.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" +size = 221630 [packages.wheels.hashes] -sha256 = "3414a0c52901964dceabd98c7c56beac0f964115a116ecedcce7247359b14017" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/a9/61/af18e716432e932f166ce9dfa419ce3f05fd5ef8c52c0510d27ae41aaa51/black-26.10.1-cp311-cp311-win_arm64.whl" -upload-time = 2026-10-10 04:18:44+00:00 -size = 1466048 +sha256 = "aeae0e330c9f6acd681f647d46cefd30c29f93e3392882e792e82080c9691399" -[packages.wheels.hashes] -sha256 = "1935b32f5326028019856e18cb42b4da63db23765dc84464cec723e0de478a9b" +[[packages]] +name = "charset-normalizer" +version = "3.5.2" +marker = "\"pkg-meta\" in dependency_groups" +requires-python = ">=3.7" +index = "https://pypi.org/simple/" -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/f7/ca/357ccdd12e8f8429539f8f52edc153de58acba84f6670ac36c254a276691/black-26.10.1-cp312-cp312-macosx_10_13_x86_64.whl" -upload-time = 2026-10-10 04:18:45+00:00 -size = 2167369 +[packages.sdist] +name = "charset_normalizer-3.5.2.tar.gz" +upload-time = 2026-09-30 04:39:23.398219+00:00 +url = "https://files.pythonhosted.org/packages/33/1c/f41d4e74c28ab327ff3acd36053f7ea506c55872d7a90b0fa71aa3ab0c89/charset_normalizer-3.5.2.tar.gz" +size = 172659 -[packages.wheels.hashes] -sha256 = "fe85fc4019bee59bc495c0f2a8ee76c5cd02c7015508d94a967ba2376f39a52c" +[packages.sdist.hashes] +sha256 = "39de2a259fc954455c57274dc94c79d5842774e1247a016aff30bc0efed0f4ef" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/a5/a2/4709110a7ca326ba7b4f81a669fbebc20653c79a972b0f8de4ba5b5c5e68/black-26.10.1-cp312-cp312-macosx_11_0_arm64.whl" -upload-time = 2026-10-10 04:18:48+00:00 -size = 1990732 +name = "charset_normalizer-3.5.2-cp315-cp315-macosx_10_15_universal2.whl" +upload-time = 2026-09-30 04:37:28.329851+00:00 +url = "https://files.pythonhosted.org/packages/ca/e9/34e597dee616d0b8ee4b34d29399e85c2204ade174157a48505d42baa4ff/charset_normalizer-3.5.2-cp315-cp315-macosx_10_15_universal2.whl" +size = 367676 [packages.wheels.hashes] -sha256 = "182f6c32be38074b16d378498c498b32cb51928178ee611485344972c35ec9c6" +sha256 = "87475fabc8d9996fd9c27debb395e642e8c838d78a00b6e932227a0e06b81e26" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/1e/96/9f8fa839c169d19c38ce6582d9449f2d7d70dabd313ac28f15a930260c1f/black-26.10.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" -upload-time = 2026-10-10 04:18:50+00:00 -size = 2065235 +name = "charset_normalizer-3.5.2-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" +upload-time = 2026-09-30 04:37:30.167187+00:00 +url = "https://files.pythonhosted.org/packages/60/9f/a5d1c91c0263745e2cd344c5a4415d787c575501ab1d449f1148ac6b495d/charset_normalizer-3.5.2-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" +size = 248414 [packages.wheels.hashes] -sha256 = "b5347d760f0c02bb00dd249384cab71c3bf828b4f68d5b401eb116e0390f147d" +sha256 = "9409a8bf35cf78353942504b24a57de3d75b708997a1e4bd8db71ac8633ce364" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/2b/ee/929eaf7de6f05a3141d6df72acf9248118f49a5e48f9375be3180e9babf7/black-26.10.1-cp312-cp312-win_amd64.whl" -upload-time = 2026-10-10 04:18:51+00:00 -size = 1621579 +name = "charset_normalizer-3.5.2-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" +upload-time = 2026-09-30 04:37:37.397915+00:00 +url = "https://files.pythonhosted.org/packages/a0/a1/4fbf5d0f0f1b2a080474c1cf9a2f12c4c6531bb0e8ba591055e846d2b4e9/charset_normalizer-3.5.2-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" +size = 257336 [packages.wheels.hashes] -sha256 = "4d9a90516db1d99c25dbb20cc0998e0e01531dd903466c7744e56d66f864220a" +sha256 = "3df041de8887954562c9b261cba85ca0e9ded74048daf125f45edcfaa4832229" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/90/3a/8b6a44abf9648b087311003b91298226c1763172cd8d223ece5b7cf8f795/black-26.10.1-cp312-cp312-win_arm64.whl" -upload-time = 2026-10-10 04:18:53+00:00 -size = 1469662 +name = "charset_normalizer-3.5.2-cp315-cp315-win_amd64.whl" +upload-time = 2026-09-30 04:37:53.427053+00:00 +url = "https://files.pythonhosted.org/packages/98/e8/55d5fd3935b4bce6da4fe0df61898e8c82653e317e677bd58aceb9c60f13/charset_normalizer-3.5.2-cp315-cp315-win_amd64.whl" +size = 210858 [packages.wheels.hashes] -sha256 = "2ffbc023a12d0c729408823b8f10514490bd0baa301d0d4e21a7240249f9507f" +sha256 = "89b53f3cda69831909888e0494f4fa0bcd3537e3e138dabeb620bd6ad946bae8" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/99/6b/bc0d39990bd7a71457d669639fa06acf6191bec28bafe8b8103f597cce76/black-26.10.1-cp313-cp313-macosx_10_13_x86_64.whl" -upload-time = 2026-10-10 04:18:55+00:00 -size = 2153812 +name = "charset_normalizer-3.5.2-cp37-abi3-macosx_10_9_universal2.whl" +upload-time = 2026-09-30 04:38:26.216534+00:00 +url = "https://files.pythonhosted.org/packages/8c/ab/176fbfd5b64939c55d652366aa5b9ef1d767af207a3aa6ebeb0d226c484d/charset_normalizer-3.5.2-cp37-abi3-macosx_10_9_universal2.whl" +size = 331815 [packages.wheels.hashes] -sha256 = "b6272cfd7e1e8e271f5b0e0207259fe2834687e5cb9b5f620b34a44db9754993" +sha256 = "4275811936e2f06feff5e598fb42a1b7ae852da8e39605211892b56b81a34efd" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/85/0e/cc83b88a6b1a51fc051aa4e24663918f0bf4fa9fca98552ee93a125a6780/black-26.10.1-cp313-cp313-macosx_11_0_arm64.whl" -upload-time = 2026-10-10 04:18:56+00:00 -size = 1980352 +name = "charset_normalizer-3.5.2-cp37-abi3-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl" +upload-time = 2026-09-30 04:38:28.032254+00:00 +url = "https://files.pythonhosted.org/packages/7e/84/371eac6b30bdbcbf2d632a1a01809103459216fcaae61b8b8d922c1bfb8a/charset_normalizer-3.5.2-cp37-abi3-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl" +size = 253276 [packages.wheels.hashes] -sha256 = "978113a40223a6aaefc17364176a809a320e6b288683841427fff04c6d7b4130" +sha256 = "1c50fe28bbc2ced33386f298650d91218076c05420e6cbd790b913adc41659e7" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/7b/0f/4dd24ea0ebadbe05e293c3ea7fbebd4389f50508f714640c9b309a0849d2/black-26.10.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" -upload-time = 2026-10-10 04:18:58+00:00 -size = 2055268 +name = "charset_normalizer-3.5.2-cp37-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" +upload-time = 2026-09-30 04:38:29.732000+00:00 +url = "https://files.pythonhosted.org/packages/43/6f/c4fbae58febff71709c51bc7e18fdfa55341dc382704740f9f0cbf03817b/charset_normalizer-3.5.2-cp37-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" +size = 241239 [packages.wheels.hashes] -sha256 = "03c0ddd93bb392e71209903a691767eb366fe1a76deb9509ccbaae9e1f14bb52" +sha256 = "d19fbd981a488e22cd04883659ca6b08f50b5974f9fd7c95655ef6a043e5893f" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/a2/06/221f8e81891ecf5e4df9c258a11037997f1f218533ffe4fa1dc4db37f19c/black-26.10.1-cp313-cp313-win_amd64.whl" -upload-time = 2026-10-10 04:19:00+00:00 -size = 1625938 +name = "charset_normalizer-3.5.2-cp37-abi3-win_amd64.whl" +upload-time = 2026-09-30 04:38:49.707190+00:00 +url = "https://files.pythonhosted.org/packages/9d/8a/b618149cc5207943a0242068d7a27897f56a62947b5a039085f2a22029f8/charset_normalizer-3.5.2-cp37-abi3-win_amd64.whl" +size = 200092 [packages.wheels.hashes] -sha256 = "f6dba8138cdc99061ef07b958ac082d2aa057b6961d1936f9717c350f02bab5f" +sha256 = "9f56f72050826f63dcee7a7f55b0a77168cb3bfc553fd405e7f8f9ece75a4036" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/2b/3b/763d2dd073fc1e2cbf0fe5e584fe96913bf0d14cd725d1116f4b38453adf/black-26.10.1-cp313-cp313-win_arm64.whl" -upload-time = 2026-10-10 04:19:03+00:00 -size = 1470752 +name = "charset_normalizer-3.5.2-py3-none-any.whl" +upload-time = 2026-09-30 04:39:21.828049+00:00 +url = "https://files.pythonhosted.org/packages/fc/ad/d07d7862a62ffa6d79d68074d14823243dd235a77c45262acbf6adeb28bf/charset_normalizer-3.5.2-py3-none-any.whl" +size = 68872 [packages.wheels.hashes] -sha256 = "d42dd2fac7c342ae67e64ee99c9532e20b2a84e92c79ed3317fa2ef54c801d93" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/76/7b/e8d275b23f3023881c0b0d8ce3bbda0d100c79bdef87fb6518bf9e0c5040/black-26.10.1-cp314-cp314-macosx_10_15_x86_64.whl" -upload-time = 2026-10-10 04:19:04+00:00 -size = 2147731 +sha256 = "b6b751274acb69d77b3323d6b7dbaa3c7fdfc1eb829b7eb61d262f32e1af9685" -[packages.wheels.hashes] -sha256 = "8375962579d537364cc0efa19b1474481915d3a793f9fc0774901814c5e5b5f4" +[[packages]] +name = "check-wheel-contents" +version = "0.6.3" +marker = "\"pkg-meta\" in dependency_groups" +requires-python = ">=3.10" +dependencies = [ + { name = "attrs" }, + { name = "click" }, + { name = "packaging" }, + { name = "pydantic" }, + { name = "wheel-filename" }, +] +index = "https://pypi.org/simple/" -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/ee/62/e44f86ee5fc7b893ee0ee935a79c785932da7758d2c339749d90a20ef213/black-26.10.1-cp314-cp314-macosx_11_0_arm64.whl" -upload-time = 2026-10-10 04:19:06+00:00 -size = 1981714 +[packages.sdist] +name = "check_wheel_contents-0.6.3.tar.gz" +upload-time = 2025-08-02 14:01:45.546952+00:00 +url = "https://files.pythonhosted.org/packages/95/37/2b9e0d38c2f668791ffe8b97711185c364d91c027e47f189c371c2348d18/check_wheel_contents-0.6.3.tar.gz" +size = 586023 -[packages.wheels.hashes] -sha256 = "d8b3a9074a680b3c5749633714e9ae3992a1e5a23343a97ad61cd9b119b444d2" +[packages.sdist.hashes] +sha256 = "10e6939e2fe4e6ce1edf2ff6ec6157808677e80782e78021ae139dd88473a442" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/89/2f/e12ca76edfcd037fe9e7e7635d9468d1d51255cf25a01b2f8f97a38f147d/black-26.10.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" -upload-time = 2026-10-10 04:19:08+00:00 -size = 2047807 +name = "check_wheel_contents-0.6.3-py3-none-any.whl" +upload-time = 2025-08-02 14:01:43.968164+00:00 +url = "https://files.pythonhosted.org/packages/be/05/f39fde9f31ef80b285ef5822fad4ddabf73fec62a1f02c5beb4b2f328972/check_wheel_contents-0.6.3-py3-none-any.whl" +size = 27541 [packages.wheels.hashes] -sha256 = "289282aa2e09d3162312a3be1788ff21b08e9ea9cc4a81e656024728b32428fb" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/c3/af/676d3c5cbb2ab0f17c8459b3ae8ea15ebdcc5a2f1c1c586228ec85b8897f/black-26.10.1-cp314-cp314-win_amd64.whl" -upload-time = 2026-10-10 04:19:09+00:00 -size = 1652537 +sha256 = "5ae39c8c434b972f0740d04610759168590713175aab584b012b1b84f6771874" -[packages.wheels.hashes] -sha256 = "5cd88fd7b444ca51f3fc883b6f6657ea53a258b0b2eef6d9f2dfcfa17ce0e27b" +[[packages]] +name = "click" +version = "8.5.0" +marker = "\"pkg-meta\" in dependency_groups or \"release-news\" in dependency_groups or \"release-notes\" in dependency_groups or \"release-prepare\" in dependency_groups or \"release-validate\" in dependency_groups" +requires-python = ">=3.10" +index = "https://pypi.org/simple/" -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/ad/7b/860022d369fdd5fe14280b1e7109f58753c371ff91ce2311d68a056e488a/black-26.10.1-cp314-cp314-win_arm64.whl" -upload-time = 2026-10-10 04:19:11+00:00 -size = 1504226 +[packages.sdist] +name = "click-8.5.0.tar.gz" +upload-time = 2026-08-26 13:33:14.560531+00:00 +url = "https://files.pythonhosted.org/packages/c7/0e/7fa0ef50764b67090eca4114772a2abf8b6148198475e54c660b97caeee6/click-8.5.0.tar.gz" +size = 382235 -[packages.wheels.hashes] -sha256 = "2520037aa62f8a1454d0811b8f5c88b444445b03a4bfba480d8d220893b64c34" +[packages.sdist.hashes] +sha256 = "ba0d2089de75ea0310e2dde03160e6ca10009947fb95a182f9b54021bb272e34" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/b1/28/9dd29175c1db777e6189e2a0bb5f37101adf19c3e509b236c8920f778d0b/black-26.10.1-py3-none-any.whl" -upload-time = 2026-10-10 04:13:38+00:00 -size = 239267 +name = "click-8.5.0-py3-none-any.whl" +upload-time = 2026-08-26 13:33:12.928043+00:00 +url = "https://files.pythonhosted.org/packages/58/50/6c0d534c5f134586a8e1ba4e330569e32f057e33372ae556463212fb4cd3/click-8.5.0-py3-none-any.whl" +size = 125251 [packages.wheels.hashes] -sha256 = "28842f9a8207cc1df6eb983a35a14c5a0dfcd603d214fe82d84bef552afd2e3a" +sha256 = "255bc9599cf7748b4b1a446ccc735421bd08a2ae529a8b88597d3de5664ee360" [[packages]] -name = "certifi" -version = "2026.7.22" -index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"pkg-meta\" in dependency_groups or \"type\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15'))" +name = "colorama" +version = "0.4.6" +marker = "\"lock-tools\" in dependency_groups and sys_platform == \"win32\"" +requires-python = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" +index = "https://pypi.org/simple/" [packages.sdist] -url = "https://files.pythonhosted.org/packages/a3/c2/24167ea9858356b47a87a50d39908bfdb72ceeefe0041586e704e5376b3a/certifi-2026.7.22.tar.gz" -upload-time = 2026-07-22 03:35:12+00:00 -size = 138112 +name = "colorama-0.4.6.tar.gz" +upload-time = 2022-10-25 02:36:22.414799+00:00 +url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz" +size = 27697 [packages.sdist.hashes] -sha256 = "741e2c3b351ddf169a738da9f2c048608ff7f2c5cc02f1ebc6b118bb090d5d55" +sha256 = "08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/0b/a7/71ac2cff56fec219ed242bb11b8efb69fcc4bec75db06fb7bfe35de520e6/certifi-2026.7.22-py3-none-any.whl" -upload-time = 2026-07-22 03:35:11+00:00 -size = 136983 +name = "colorama-0.4.6-py2.py3-none-any.whl" +upload-time = 2022-10-25 02:36:20.889702+00:00 +url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl" +size = 25335 [packages.wheels.hashes] -sha256 = "62f22742b58a1a33014a2b6b706588a8d7e2a88ae7bd1a6ebe8c992928483775" +sha256 = "4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6" [[packages]] -name = "cffi" -version = "2.1.1" -index = "https://pypi.org/simple" -marker = "(\"dev\" in dependency_groups and (platform_machine != 'ppc64le' and platform_machine != 's390x' and platform_python_implementation != 'PyPy' and sys_platform == 'linux')) or (\"pkg-meta\" in dependency_groups and (platform_machine != 'ppc64le' and platform_machine != 's390x' and platform_python_implementation != 'PyPy' and sys_platform == 'linux'))" +name = "cryptography" +version = "50.0.2" +marker = "\"pkg-meta\" in dependency_groups and sys_platform == \"linux\"" +requires-python = "!=3.9.0,!=3.9.1,>=3.9" +dependencies = [ + { name = "cffi" }, +] +index = "https://pypi.org/simple/" [packages.sdist] -url = "https://files.pythonhosted.org/packages/9e/ef/008a1939e372c06329a3fce4279c02f328488f3526744906eeec3da7ad5f/cffi-2.1.1.tar.gz" -upload-time = 2026-08-03 21:21:18+00:00 -size = 530807 +name = "cryptography-50.0.2.tar.gz" +upload-time = 2026-09-30 15:30:04.884601+00:00 +url = "https://files.pythonhosted.org/packages/9d/af/182eb91b0df3fe75c4d9f26fe70684569566745f6ba7e5c9c73a862c5252/cryptography-50.0.2.tar.gz" +size = 880623 [packages.sdist.hashes] -sha256 = "dd31f52ea1086513bb9df30f8fcee9b8918323ae067a3d5b78bc826a000712be" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/ad/5a/4707a0dc1f203f5dde5a907b0d4e3c25d71120241048bd5bc6f1bb9d4e71/cffi-2.1.1-cp311-cp311-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl" -upload-time = 2026-08-03 21:19:31+00:00 -size = 211805 - -[packages.wheels.hashes] -sha256 = "154852545011f779917b11c78db2358d095da62a9a172b78ad0a583ee5adc0d0" +sha256 = "7b46165bb56eb4704e2eaaf86f3c940d19154535d9b0ca7d6d590b04060e00d5" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/ad/66/c19feabb28485b6e0bbaaafa90837a1ef5d302e90f2178bd33f17a49879b/cffi-2.1.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" -upload-time = 2026-08-03 21:19:32+00:00 -size = 218716 +name = "cryptography-50.0.2-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" +upload-time = 2026-09-30 14:43:47.113016+00:00 +url = "https://files.pythonhosted.org/packages/d9/69/c9bd862c3bf43d6399c433caf002df16e2dffd4be49bdf515cda38038711/cryptography-50.0.2-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" +size = 4731146 [packages.wheels.hashes] -sha256 = "3311ed60d36f83378794e1009ac6258bafbf81f7888b4caa7b35a521e3f95813" +sha256 = "79def8d059362e7831389ed3be0ecdf58a89386e1271e35dd9f5af84e81bffd0" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/f7/a4/4399daaf8f7dfee9d7c3327fdb0426ee041cc63edc358b93911ceb2bfc7a/cffi-2.1.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" -upload-time = 2026-08-03 21:19:36+00:00 -size = 217807 +name = "cryptography-50.0.2-cp311-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" +upload-time = 2026-09-30 14:43:49.010540+00:00 +url = "https://files.pythonhosted.org/packages/21/69/64cef1f702bf6657e0cc186ed1a2891d50d29fb41586b254e1c07adea261/cryptography-50.0.2-cp311-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" +size = 4719841 [packages.wheels.hashes] -sha256 = "34e261f78cb6ceaaa36f42f2613f4380d94d9c759a9c73c769ee6e0247364632" +sha256 = "630ebfea3bf689d075f82316324ff7433dc447fe6bc1bfc76524b74b4a9567d2" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/28/f7/dabe6da2466ecbd82dc62e7342dc6b1065dad990c06f00f0ede9ebf2a0ed/cffi-2.1.1-cp311-cp311-musllinux_1_2_aarch64.whl" -upload-time = 2026-08-03 21:19:37+00:00 -size = 221252 +name = "cryptography-50.0.2-cp311-abi3-manylinux_2_28_aarch64.whl" +upload-time = 2026-09-30 14:43:50.932452+00:00 +url = "https://files.pythonhosted.org/packages/38/6b/61a3f8d8c5e1e49a6cddccafc4015cc1c0021360ab0acb4080e7a423644a/cryptography-50.0.2-cp311-abi3-manylinux_2_28_aarch64.whl" +size = 4738340 [packages.wheels.hashes] -sha256 = "7225e4514edb64eb6740324353e0da0711954fd8d7da4576755b1c6e09b697cd" +sha256 = "f9f6143a8c75945eb960d9eb98905a441394abfa24afaae239d514ffb2586480" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/ce/87/616202d8e51342c07d2534c510111c4cc37201775ce8f60802c9335d1edd/cffi-2.1.1-cp311-cp311-musllinux_1_2_i686.whl" -upload-time = 2026-08-03 21:19:38+00:00 -size = 214214 +name = "cryptography-50.0.2-cp311-abi3-manylinux_2_28_x86_64.whl" +upload-time = 2026-09-30 14:43:55.272150+00:00 +url = "https://files.pythonhosted.org/packages/1a/f1/b474e930c4d910328780e3940da76f5aa5cbc48ce1fc14e44d239d9ea9db/cryptography-50.0.2-cp311-abi3-manylinux_2_28_x86_64.whl" +size = 4753050 [packages.wheels.hashes] -sha256 = "df913725b79db7bcf03448f36b7bf8815363417d5b58deecf9305e3e30f0f21a" +sha256 = "4061c0079120205fb760c58acab6443e217307dcf05e3702cf970e0689972856" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/b4/c6/ab025d75d2c26c19b087c0124e75ee31cb65032f4fe345d356d8c507ab97/cffi-2.1.1-cp311-cp311-musllinux_1_2_x86_64.whl" -upload-time = 2026-08-03 21:19:39+00:00 -size = 219408 +name = "cryptography-50.0.2-cp311-abi3-manylinux_2_34_aarch64.whl" +upload-time = 2026-09-30 14:43:59.541693+00:00 +url = "https://files.pythonhosted.org/packages/71/37/6202e488cc1eb625ea110c292c6bda92823176e023f427d8d5660ce8d632/cryptography-50.0.2-cp311-abi3-manylinux_2_34_aarch64.whl" +size = 4737859 [packages.wheels.hashes] -sha256 = "f5cfbc5fe74540d335175b656c725d74d90e3730c626d92575eea35029d9afaa" +sha256 = "87e9ce85beb6b328ba370cc6e6aea483c92617b4c95b1d33a49297eb662bfb04" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/56/e6/8941622732edec876dd17d0453dce07317ae96db34f2ec1436c9d3785986/cffi-2.1.1-cp312-cp312-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl" -upload-time = 2026-08-03 21:19:47+00:00 -size = 214799 +name = "cryptography-50.0.2-cp311-abi3-manylinux_2_34_x86_64.whl" +upload-time = 2026-09-30 14:44:04.545137+00:00 +url = "https://files.pythonhosted.org/packages/d3/69/2c833a049475e0a3444e94c7d0aca0aa51d166374a449b09e92ac98138de/cryptography-50.0.2-cp311-abi3-manylinux_2_34_x86_64.whl" +size = 4752576 [packages.wheels.hashes] -sha256 = "811bd1e21d32de12efca32393a0ab3f5133b54fce9bd44b8bd77ab07da14bf6a" +sha256 = "9dab55f57c74c3cad24c323bacbbd04be4705ba6eb0d92e920b1fc4837ed5079" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/44/de/f98430906df1545ffde0d543dd124a7a439bc2cd32b36b9c53f805df7333/cffi-2.1.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" -upload-time = 2026-08-03 21:19:48+00:00 -size = 222389 +name = "cryptography-50.0.2-cp315-abi3.abi3t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" +upload-time = 2026-09-30 14:44:43.693364+00:00 +url = "https://files.pythonhosted.org/packages/8c/75/32ac2a56243d778805c16ca6a32b8f74fb757df7e28d7ecb560afafb59cf/cryptography-50.0.2-cp315-abi3.abi3t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" +size = 4956267 [packages.wheels.hashes] -sha256 = "68e62fe11f30d5ca8289242866f0a5291402d8529ca2178ab8afc5c9694ae890" +sha256 = "d370b8d1dfcdf7130178137f6fbee6140774a1acc6cacefc4b42643ec11d0a3a" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/b1/db/dceb9dd5b231e1da801793f8acc9f3c52a7e1afe40bb1aae37e02b0faad5/cffi-2.1.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" -upload-time = 2026-08-03 21:19:52+00:00 -size = 221822 +name = "cryptography-50.0.2-cp315-abi3.abi3t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" +upload-time = 2026-09-30 14:44:45.769143+00:00 +url = "https://files.pythonhosted.org/packages/aa/a4/2c8d734e43d97f0842ee9f1b7b4bfb3d0cf5e19edebf43c2afe6675c2320/cryptography-50.0.2-cp315-abi3.abi3t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" +size = 4966465 [packages.wheels.hashes] -sha256 = "c1453022f490d2459a11819d83ad1d586e9ff65a12ac3e705ffebd46d3685dcf" +sha256 = "f2f9bd7f90c64fe89253f0a2c05e3c4856072660429ce8831b4235bf29403a67" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/a0/d2/6cd24ae3be000a634109c247d1475d62e5616d0dc78c82770942ec384248/cffi-2.1.1-cp312-cp312-musllinux_1_2_aarch64.whl" -upload-time = 2026-08-03 21:19:53+00:00 -size = 225232 +name = "cryptography-50.0.2-cp315-abi3.abi3t-manylinux_2_28_aarch64.whl" +upload-time = 2026-09-30 14:44:48.211032+00:00 +url = "https://files.pythonhosted.org/packages/c2/58/ee288c829a6f41f6235ae9dd33d82fd19b45442b65b4c8a3da36963d9f7a/cryptography-50.0.2-cp315-abi3.abi3t-manylinux_2_28_aarch64.whl" +size = 4959356 [packages.wheels.hashes] -sha256 = "208f941bb9d18e768138677f0a6d2ce01f590df56043dda1df1535ac57c88517" +sha256 = "e275096ea1e60cc595cda2836fd4a6c725d1125108b868be17f53684d164e2cc" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/cb/52/3fa190537004dd7f0ab860a6dc7c0175b8667f68d1e618a46f5498d30250/cffi-2.1.1-cp312-cp312-musllinux_1_2_x86_64.whl" -upload-time = 2026-08-03 21:19:54+00:00 -size = 223597 +name = "cryptography-50.0.2-cp315-abi3.abi3t-manylinux_2_28_x86_64.whl" +upload-time = 2026-09-30 14:44:53.379605+00:00 +url = "https://files.pythonhosted.org/packages/02/a8/8df951850d6b31d2a00218f19e2b3f999523437ed7a819df7fa427942fca/cryptography-50.0.2-cp315-abi3.abi3t-manylinux_2_28_x86_64.whl" +size = 5001199 [packages.wheels.hashes] -sha256 = "210019b6c7cf07f081b4c54635c8cf744377001350e29cc0f81c4377b4797735" +sha256 = "58a0c478eeca76fe5e07993c5a0703def34a6dc6a0cda4f5564639b33112ffe7" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/9d/f4/035513d4117049066b4779dc3b7c0c0fdad175fa13731c9f4003f1cd1478/cffi-2.1.1-cp313-cp313-ios_13_0_arm64_iphoneos.whl" -upload-time = 2026-08-03 21:19:59+00:00 -size = 194248 +name = "cryptography-50.0.2-cp315-abi3.abi3t-manylinux_2_34_aarch64.whl" +upload-time = 2026-09-30 14:44:59.639056+00:00 +url = "https://files.pythonhosted.org/packages/8c/72/20f99a219f6af47cdd1cbd978c243b92d71496e168a746138af44ded4f29/cryptography-50.0.2-cp315-abi3.abi3t-manylinux_2_34_aarch64.whl" +size = 4958822 [packages.wheels.hashes] -sha256 = "b5bdfd1c873d4e093aabc0ca84c4ca6dbc4f752afb5c86f146d9742580c9da2e" +sha256 = "fdd28f912fccfec1846a94e2e1e8f9b0012f557f0c46fe4f3eb0d7a87afcf90b" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/76/af/2aeb4dbb5fc41a04161ae9ff1518de7cec08e164f44a8ce6a4cf7fd2cd1d/cffi-2.1.1-cp313-cp313-ios_13_0_arm64_iphonesimulator.whl" -upload-time = 2026-08-03 21:20:00+00:00 -size = 196908 +name = "cryptography-50.0.2-cp315-abi3.abi3t-manylinux_2_34_x86_64.whl" +upload-time = 2026-09-30 14:45:05.009031+00:00 +url = "https://files.pythonhosted.org/packages/24/95/83378121ef3eaaaf71d4b781577ff794acb39b9e1b87a3f156898c8497ed/cryptography-50.0.2-cp315-abi3.abi3t-manylinux_2_34_x86_64.whl" +size = 5000859 [packages.wheels.hashes] -sha256 = "31348097ff5bbe827ccc41795d4dd099d9f0625e7def00ee653c137a490c2a6c" +sha256 = "e105ab60406787da31fccc883fc0f733af1efd78f0136a4599692c4083a73d0c" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/43/1f/1c3d90d91811c8f86ced9ed637956c54bfe5b79ca98fe976d7f8c8979f6b/cffi-2.1.1-cp313-cp313-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl" -upload-time = 2026-08-03 21:20:04+00:00 -size = 214722 +name = "cryptography-50.0.2-cp39-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" +upload-time = 2026-09-30 15:29:24.580797+00:00 +url = "https://files.pythonhosted.org/packages/d5/8d/6d585339bedf85d45044c85d8412dac53f2bb6f918e8b7777efba1787844/cryptography-50.0.2-cp39-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" +size = 4756166 [packages.wheels.hashes] -sha256 = "6a8dddef476fab96d066d578fc88526767b836ab5ab21754e1d5bf3879c31c7c" +sha256 = "c5e67125c7dca78d199ec4e116aa93dbb83494808ecbb8211a2cb09b1bf41dbd" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/37/6f/3b5ce4c3b2192d250f04908f2bfd91ef34552ec8f7716a5d4abdb8d67bb2/cffi-2.1.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" -upload-time = 2026-08-03 21:20:05+00:00 -size = 222369 +name = "cryptography-50.0.2-cp39-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" +upload-time = 2026-09-30 15:29:26.807001+00:00 +url = "https://files.pythonhosted.org/packages/bf/f1/1c1f6874e8550cfddd4b688ceb38cefb6ed15ceed224d56f133f3d88c214/cryptography-50.0.2-cp39-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" +size = 4749145 [packages.wheels.hashes] -sha256 = "f16c709686a78c727bbbf059f92b0bf41c6fc60deec706d2dc19f529175a6125" +sha256 = "ee247f5c245c9a2fe7c8e2214e295918838e44e00a45a6718451e4004219e767" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/95/95/86342356ff5953b3fb06f7ef7c5bee212d45e770abc7218d451b9148313c/cffi-2.1.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" -upload-time = 2026-08-03 21:20:09+00:00 -size = 221824 +name = "cryptography-50.0.2-cp39-abi3-manylinux_2_28_aarch64.whl" +upload-time = 2026-09-30 15:29:28.588698+00:00 +url = "https://files.pythonhosted.org/packages/c1/63/61b15dc1a8de03fe0adbe3fd7608b3ad5c73bf50993bbcb1faaa930afe33/cryptography-50.0.2-cp39-abi3-manylinux_2_28_aarch64.whl" +size = 4763638 [packages.wheels.hashes] -sha256 = "a931079504ecc49efed7744c476a5c343a92fabf66dec2db95edb1b2fdc770e2" +sha256 = "dfe9763530994147d9af1def057a5b9658b00e8f8fe8743d144d1e0911c2e454" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/eb/ff/7b3429ff53aafe931ed8a5fc69f481bbef7ba6de87ddcbb63d08f483f613/cffi-2.1.1-cp313-cp313-musllinux_1_2_aarch64.whl" -upload-time = 2026-08-03 21:20:10+00:00 -size = 225148 +name = "cryptography-50.0.2-cp39-abi3-manylinux_2_28_x86_64.whl" +upload-time = 2026-09-30 15:29:32.605292+00:00 +url = "https://files.pythonhosted.org/packages/4f/87/ef344a9e616871f2519c22d6afcda79ddd5d35e9592d95eb6e677608d055/cryptography-50.0.2-cp39-abi3-manylinux_2_28_x86_64.whl" +size = 4781387 [packages.wheels.hashes] -sha256 = "a2d7755bef5a12ed488f4ef1f1b69ee9191d7396083b755a5d2295f6edb4768b" +sha256 = "f21e8a22c8605750c7af886bab299a363721264061b4ac0a30efb73cfd58efc5" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/34/34/a95870b9221e09cf4f2ce3178b1a210abdfe63a1bd357da940418d7b8d15/cffi-2.1.1-cp313-cp313-musllinux_1_2_x86_64.whl" -upload-time = 2026-08-03 21:20:12+00:00 -size = 223564 +name = "cryptography-50.0.2-cp39-abi3-manylinux_2_34_aarch64.whl" +upload-time = 2026-09-30 15:29:36.149639+00:00 +url = "https://files.pythonhosted.org/packages/bc/ce/7e4f662b1e3c393513569e402cfc85ac7da0bd3d5435e122a3140219eb2d/cryptography-50.0.2-cp39-abi3-manylinux_2_34_aarch64.whl" +size = 4764319 [packages.wheels.hashes] -sha256 = "e0bcb7e0f677f543555d2adff3bf19c05f66cdb4796e5ff602442ab2fe3c4ef7" +sha256 = "0ddc924c04591c2811ca024d62ecad4f7f6f08af8939c211438f48a16bd23602" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/d3/7b/d6bbf82b8b96e7391438898c42f5bd96dd02030fd5b64937d248220003e2/cffi-2.1.1-cp314-cp314-ios_13_0_arm64_iphoneos.whl" -upload-time = 2026-08-03 21:20:17+00:00 -size = 194064 +name = "cryptography-50.0.2-cp39-abi3-manylinux_2_34_x86_64.whl" +upload-time = 2026-09-30 15:29:41.251208+00:00 +url = "https://files.pythonhosted.org/packages/40/cf/6b5c8e2fd9202d98988ab7cb5cc5c991704c4ad55f492ff408e4969f83f1/cryptography-50.0.2-cp39-abi3-manylinux_2_34_x86_64.whl" +size = 4780973 [packages.wheels.hashes] -sha256 = "7dbb61fe3a7699468030f71bbe5f8a0e326a151daa91beb11a6fc1f980c55e1c" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/94/e6/bcc91b283be94735e268487a054004f0aa19947b6348fa367db53230abc8/cffi-2.1.1-cp314-cp314-ios_13_0_arm64_iphonesimulator.whl" -upload-time = 2026-08-03 21:20:18+00:00 -size = 196720 +sha256 = "1981f1db4630889b9ef7803fadef12b056f428cb6b85c27ba57b774793b6093c" -[packages.wheels.hashes] -sha256 = "f24fb43132a4c6b4cb4eb029492919b2db645be6808d738f244fd146c03c32cb" +[[packages]] +name = "docutils" +version = "0.23" +marker = "\"pkg-meta\" in dependency_groups or \"release-news\" in dependency_groups or \"release-notes\" in dependency_groups or \"release-prepare\" in dependency_groups or \"release-validate\" in dependency_groups" +requires-python = ">=3.9" +index = "https://pypi.org/simple/" -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/67/b8/b42132ca113dc567d37684437b46ca1dafc885902b02a110a02d5b511857/cffi-2.1.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" -upload-time = 2026-08-03 21:20:22+00:00 -size = 222328 +[packages.sdist] +name = "docutils-0.23.tar.gz" +upload-time = 2026-05-27 17:41:06.934109+00:00 +url = "https://files.pythonhosted.org/packages/39/a4/5180d9afc57e8fca05601dd652bdff19604c218814037fe90ffc7625a50a/docutils-0.23.tar.gz" +size = 2303823 -[packages.wheels.hashes] -sha256 = "58acb8ab8e295e6c5ea12f888cbb13cf21511ef2a3303a23f4325c29d17fe5c1" +[packages.sdist.hashes] +sha256 = "746f5060322511280a1e50eb76846ed6bf2342984b2ac04dc42caa1a8d78799e" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/e9/02/4e7d553a7ac4b4238b38b3c1b80d486e9d4436f8d2acbf87a0997fe3f402/cffi-2.1.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" -upload-time = 2026-08-03 21:20:25+00:00 -size = 221525 +name = "docutils-0.23-py3-none-any.whl" +upload-time = 2026-05-27 17:40:58.442528+00:00 +url = "https://files.pythonhosted.org/packages/32/91/30151a39f7570f448ed84529390628a651d7f27c87d73c9b887f8189695e/docutils-0.23-py3-none-any.whl" +size = 634701 [packages.wheels.hashes] -sha256 = "b0431303acaea1089ad4b3e9ce4e6518193def1118d4073ca848635ee4ea2e96" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/82/1d/a4aaf9babd75acb4d5f223bff71533bee748dd770a382619a798960ee9ba/cffi-2.1.1-cp314-cp314-musllinux_1_2_aarch64.whl" -upload-time = 2026-08-03 21:20:26+00:00 -size = 225053 +sha256 = "25d013af9bf23bc1c7b2b093dff4208166c53a94786c9e447808335ef1185fea" -[packages.wheels.hashes] -sha256 = "64faea20f4e2613363a1a9b9c7dd73058f3ecd00133a511e72ad7c511658f527" +[[packages]] +name = "hatch-fancy-pypi-readme" +version = "25.1.0" +marker = "\"build\" in dependency_groups" +requires-python = ">=3.8" +dependencies = [ + { name = "hatchling" }, +] +index = "https://pypi.org/simple/" -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/81/10/5dc0e7bdd18e22107054288283380fc97a06ae3f1656a106908d666a3c88/cffi-2.1.1-cp314-cp314-musllinux_1_2_x86_64.whl" -upload-time = 2026-08-03 21:20:28+00:00 -size = 223213 +[packages.sdist] +name = "hatch_fancy_pypi_readme-25.1.0.tar.gz" +upload-time = 2025-05-01 10:34:42.989334+00:00 +url = "https://files.pythonhosted.org/packages/f3/0f/aed57c301f339936eb91cb4d8c1e5088a101081854bd3ec18a889df32365/hatch_fancy_pypi_readme-25.1.0.tar.gz" +size = 29701 -[packages.wheels.hashes] -sha256 = "5c58fe613dc5e5336357eff555824a314d8e43282600435c8d1cb6a7a2fedd13" +[packages.sdist.hashes] +sha256 = "9c58ed3dff90d51f43414ce37009ad1d5b0f08ffc9fc216998a06380f01c0045" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/2a/9c/92934c3bea9f785b23eba304538c0b4d37a2a96d2431eb3a1bc87a11aa19/cffi-2.1.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" -upload-time = 2026-08-03 21:20:32+00:00 -size = 223864 +name = "hatch_fancy_pypi_readme-25.1.0-py3-none-any.whl" +upload-time = 2025-05-01 10:34:41.204793+00:00 +url = "https://files.pythonhosted.org/packages/58/b4/ad71e051b34f1935783de37beffee16e343ff2514b204dc515f9e939d4af/hatch_fancy_pypi_readme-25.1.0-py3-none-any.whl" +size = 10046 [packages.wheels.hashes] -sha256 = "49cbc70e6542d4ccccb936558d1064a8012541e78f821f955cff24e357776c94" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/9a/95/eff5f0cee78d2eabc7eebffec40d3fc1876b5f3c95582e018bb4b99601f2/cffi-2.1.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" -upload-time = 2026-08-03 21:20:36+00:00 -size = 223803 - -[packages.wheels.hashes] -sha256 = "51b31d1c98274844cfd7838ce00bfc27c7423a4dc00fc0772fc3331c2cc90676" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/fa/01/579d39fb8bef00a335a23d83757b44feb24cd6345a2c451b64cb67b9c362/cffi-2.1.1-cp314-cp314t-musllinux_1_2_aarch64.whl" -upload-time = 2026-08-03 21:20:37+00:00 -size = 226763 - -[packages.wheels.hashes] -sha256 = "5e7cecbaadb83884793e05828cee59b210b24583b9c7425d0ba6a754fe22eb4e" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/8d/b0/0b44f47c60b01b57b6e2bbd92343f13a85a1d93bc46ccf6e47e244acd99c/cffi-2.1.1-cp314-cp314t-musllinux_1_2_x86_64.whl" -upload-time = 2026-08-03 21:20:38+00:00 -size = 225688 - -[packages.wheels.hashes] -sha256 = "25792eac27877609e7bb06d42ff88278a6624fff2ba9bbb523c09616b117e80f" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/c1/8f/9ebe220eab48a093d1a5a5e339ab0dc7316eef3bb04d63c42f0251b61f50/cffi-2.1.1-cp315-cp315-ios_13_0_arm64_iphoneos.whl" -upload-time = 2026-08-03 21:20:48+00:00 -size = 194043 - -[packages.wheels.hashes] -sha256 = "dddad92b554513a31f272570678ba307fb9f618f05e3d4a5eacafff9eae03e1d" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/ff/69/844bad3ece306c4782c2ecb93597035b6690d48704b803914c199da1e8b3/cffi-2.1.1-cp315-cp315-ios_13_0_arm64_iphonesimulator.whl" -upload-time = 2026-08-03 21:20:49+00:00 -size = 196737 - -[packages.wheels.hashes] -sha256 = "da0e573f9f97159390c89d9f1a9e41908b66d408cc5b58d08cf3847d844c531b" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/e2/31/9e1313b0a6e30e91b3b3d3fff51ae99c857c07738e3afcce1f7334e1b7ab/cffi-2.1.1-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" -upload-time = 2026-08-03 21:20:53+00:00 -size = 222271 - -[packages.wheels.hashes] -sha256 = "507a24c282e0f42f8ed737cf048572cbf580468da5555764a8331735e9c736b6" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/44/16/29e6d01b388bef055ecd6ca8244b3f4d336bd09e92d5d892187b9601084e/cffi-2.1.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" -upload-time = 2026-08-03 21:20:57+00:00 -size = 221630 - -[packages.wheels.hashes] -sha256 = "aeae0e330c9f6acd681f647d46cefd30c29f93e3392882e792e82080c9691399" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/a4/18/fa7f1f6857d5eb88a4ca99ffcbfb7c387a287ccc154c64a73e86314745d7/cffi-2.1.1-cp315-cp315-musllinux_1_2_aarch64.whl" -upload-time = 2026-08-03 21:20:58+00:00 -size = 225134 - -[packages.wheels.hashes] -sha256 = "42a494cee34437f05546455144f2b5d9ac09b1face62bcfce597d2e521066688" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/e0/9f/e8e3dfa04a1b4c241f8c91faacad872b4d4efd051d49764ad4e2fd4b9fea/cffi-2.1.1-cp315-cp315-musllinux_1_2_x86_64.whl" -upload-time = 2026-08-03 21:20:59+00:00 -size = 223197 - -[packages.wheels.hashes] -sha256 = "cc572dace3f60ef98d7b12ff411d20f5362feb31a0439eab0085bbfd349982d7" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/53/b2/6187f46f2912276a3ae284076109cc5c8680482f11f766ccf26db4a86427/cffi-2.1.1-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" -upload-time = 2026-08-03 21:21:03+00:00 -size = 223779 - -[packages.wheels.hashes] -sha256 = "937c0052c05a31ca1daf18de3158eed4dbfcb9cc107adbea227728d647be701e" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/52/86/2976131c639aead931c5bee5aba67e4b09fbeb8018b6f282f70803f923a7/cffi-2.1.1-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" -upload-time = 2026-08-03 21:21:07+00:00 -size = 223835 - -[packages.wheels.hashes] -sha256 = "363e05fa78e15116c3c32c210ee36884fd6b9afa6d440e47112c3bd511d64cb6" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/ac/0c/33a7aeab2f9c76918c52e084beb39c570db3588133412929e8ec06fab90b/cffi-2.1.1-cp315-cp315t-musllinux_1_2_aarch64.whl" -upload-time = 2026-08-03 21:21:08+00:00 -size = 226705 - -[packages.wheels.hashes] -sha256 = "770de9db11e84213beec501cfcaa013b019820ca881e03344dea5844f7876d94" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/e3/26/2cde30fdde421130bfc18f70395731a6e6b2053c6a1978a5258ff04e72fa/cffi-2.1.1-cp315-cp315t-musllinux_1_2_x86_64.whl" -upload-time = 2026-08-03 21:21:09+00:00 -size = 225539 - -[packages.wheels.hashes] -sha256 = "7da0c5eff80f0197f3b3d1232ec5a682a9325f4ae9016a78f5f5ca35f9ced1f5" - -[[packages]] -name = "cfgv" -version = "3.5.0" -index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"lint\" in dependency_groups" - -[packages.sdist] -url = "https://files.pythonhosted.org/packages/4e/b5/721b8799b04bf9afe054a3899c6cf4e880fcf8563cc71c15610242490a0c/cfgv-3.5.0.tar.gz" -upload-time = 2025-11-19 20:55:51+00:00 -size = 7334 - -[packages.sdist.hashes] -sha256 = "d5b1034354820651caa73ede66a6294d6e95c1b00acc5e9b098e917404669132" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/db/3c/33bac158f8ab7f89b2e59426d5fe2e4f63f7ed25df84c036890172b412b5/cfgv-3.5.0-py2.py3-none-any.whl" -upload-time = 2025-11-19 20:55:50+00:00 -size = 7445 - -[packages.wheels.hashes] -sha256 = "a8dc6b26ad22ff227d2634a65cb388215ce6cc96bbcc5cfde7641ae87e8dacc0" - -[[packages]] -name = "charset-normalizer" -version = "3.5.2" -index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"pkg-meta\" in dependency_groups or \"type\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15'))" - -[packages.sdist] -url = "https://files.pythonhosted.org/packages/33/1c/f41d4e74c28ab327ff3acd36053f7ea506c55872d7a90b0fa71aa3ab0c89/charset_normalizer-3.5.2.tar.gz" -upload-time = 2026-09-30 04:39:23+00:00 -size = 172659 - -[packages.sdist.hashes] -sha256 = "39de2a259fc954455c57274dc94c79d5842774e1247a016aff30bc0efed0f4ef" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/22/67/6a0b94a7960d5e1b5eacd2fb529f3fccc47db4644f7f0a7cfdcfc3be578a/charset_normalizer-3.5.2-cp311-cp311-macosx_10_9_universal2.whl" -upload-time = 2026-09-30 04:35:06+00:00 -size = 370642 - -[packages.wheels.hashes] -sha256 = "3d21b8b13c7592db2ac5e544a6d83187b995257472b0c9e8351b6d507ae37ed6" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/fb/94/01009e13b94041599004edf32e56e382c24e570f60f79bab8efe45cfe1eb/charset_normalizer-3.5.2-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" -upload-time = 2026-09-30 04:35:08+00:00 -size = 259280 - -[packages.wheels.hashes] -sha256 = "d760fe2a4d7c3b226cb9026d6a842868d52a7901bd98420e1baf14e80da85cf5" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/66/85/3b5358f60a13210f0b67d3755c168ef758701b021e655d88d4da28554467/charset_normalizer-3.5.2-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl" -upload-time = 2026-09-30 04:35:10+00:00 -size = 245335 - -[packages.wheels.hashes] -sha256 = "c9790464842f85f437dbbb54417eda1e0e6bfc52dd8d22d6fd1c994b73b2dc74" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/74/75/77c1c479b09ecd751d1e767b251ea5c14d4d50ff757bf404afab2692f600/charset_normalizer-3.5.2-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" -upload-time = 2026-09-30 04:35:11+00:00 -size = 291707 - -[packages.wheels.hashes] -sha256 = "4685902cf26edf013ed7a3da0f426ebba7a00ebb9541386d835afbf002c11cab" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/0b/0d/363f78cacb70f58f15f4b083961bbd9d292f335d3f5c66fc4f1cfe69cb90/charset_normalizer-3.5.2-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" -upload-time = 2026-09-30 04:35:13+00:00 -size = 286747 - -[packages.wheels.hashes] -sha256 = "4495c5002a7b28557e7e222e77e0b661183e432b7d6d2e788101e3f240e05b8c" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/e4/ed/cf505d3011ffceb12c2067a7a5d3cfe92b875d4d44bb0ff0d69375e2c184/charset_normalizer-3.5.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" -upload-time = 2026-09-30 04:35:14+00:00 -size = 269972 - -[packages.wheels.hashes] -sha256 = "211d5a3eb6af8f513b8d4ca19a8c1b7accab1b5f0d3175f9826b03c1a920dc1f" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/15/d8/f0a93a431d170e7ca681d4f6650fee3de934d18560e474e7267eb4b0f987/charset_normalizer-3.5.2-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" -upload-time = 2026-09-30 04:35:16+00:00 -size = 269339 - -[packages.wheels.hashes] -sha256 = "ef4fcbf3327382cd4c9f540babd61248208af7b93eec4de397b4d5f58a09e288" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/86/bd/9b2bd1c5b7af02462c9752d33994834ff972a96b4c483eefde9e594488e2/charset_normalizer-3.5.2-cp311-cp311-musllinux_1_2_aarch64.whl" -upload-time = 2026-09-30 04:35:17+00:00 -size = 261683 - -[packages.wheels.hashes] -sha256 = "bd16aabe4a02a297c23417aa17ac6299dbd8c49f673bcd645b4929b11f5a4400" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/76/a5/cac540ab0fd61f3fec88ad3dbb64509e71424593d73cfdfff5ab3e4db279/charset_normalizer-3.5.2-cp311-cp311-musllinux_1_2_armv7l.whl" -upload-time = 2026-09-30 04:35:18+00:00 -size = 248143 - -[packages.wheels.hashes] -sha256 = "fb9e68df06293761f9fe66ade60a9bc6d0f5e42b8acf2939a9158af86ab0e5bd" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/71/7a/ff467301deef2089fad87f72df9e000a26a78fec7acbb18e1999371b8369/charset_normalizer-3.5.2-cp311-cp311-musllinux_1_2_ppc64le.whl" -upload-time = 2026-09-30 04:35:20+00:00 -size = 292358 - -[packages.wheels.hashes] -sha256 = "59f63901b0031c3136cf64704dcb21de0bbae62ce2c9529bc39d27665463de37" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/ad/77/22d7e785d1e210afc2e2f58600dd1799d17a35665faf84383f002826c5f8/charset_normalizer-3.5.2-cp311-cp311-musllinux_1_2_riscv64.whl" -upload-time = 2026-09-30 04:35:21+00:00 -size = 268766 - -[packages.wheels.hashes] -sha256 = "304d5463e65a35d7bb0850550e0780395395f6fcf452f04db7d5ca7cecc425ac" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/ae/91/e8e946267f1c2d9e2bd651726e2fbd2addf02c4d36cea5069e32ca9d7bb5/charset_normalizer-3.5.2-cp311-cp311-musllinux_1_2_s390x.whl" -upload-time = 2026-09-30 04:35:23+00:00 -size = 287432 - -[packages.wheels.hashes] -sha256 = "9cf9b1a857e25c4baceeb3624e92a56df3668f398c4acba74e174d81fb4d1d3a" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/4e/88/7561d8a88d555e7df6623abe7c0070b4baf47549b9408783a2ae0a1a6cf7/charset_normalizer-3.5.2-cp311-cp311-musllinux_1_2_x86_64.whl" -upload-time = 2026-09-30 04:35:24+00:00 -size = 272470 - -[packages.wheels.hashes] -sha256 = "114e4d0c92d618409ed82a99e22b5c5e768fe995f2973f78265f4524f49d4640" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/35/7e/578c702301ec036f01455f30744a08d2b42f6ab35b9b2d4bf8cae0ef2a80/charset_normalizer-3.5.2-cp311-cp311-win32.whl" -upload-time = 2026-09-30 04:35:26+00:00 -size = 186688 - -[packages.wheels.hashes] -sha256 = "2625388c6c754520c37abaf3b41eb34d1cc4a373f457898f08606c8e362b891d" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/e8/fc/fdf8cf52ff21cd5bf158f20978991cf985325842f74283eb6df26c8a39d8/charset_normalizer-3.5.2-cp311-cp311-win_amd64.whl" -upload-time = 2026-09-30 04:35:27+00:00 -size = 214932 - -[packages.wheels.hashes] -sha256 = "87e50a3e7cb90af586b6c5faf23e302a970415ac73bd7bd90a515a04b427ef96" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/97/66/3e45a506d8110b632541faf9a9470185aa9878f1ed44020f31346c1c5e5b/charset_normalizer-3.5.2-cp311-cp311-win_arm64.whl" -upload-time = 2026-09-30 04:35:29+00:00 -size = 202828 - -[packages.wheels.hashes] -sha256 = "254eb48b9fa5ee9898a3c445825a1f340fe53712a098904b39b0bddba8ea3cb1" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/e7/c8/693809898870237d82785a03f3b2b58fe4c9f14669f84a7d4e623c92a59e/charset_normalizer-3.5.2-cp312-cp312-macosx_10_13_universal2.whl" -upload-time = 2026-09-30 04:35:30+00:00 -size = 367780 - -[packages.wheels.hashes] -sha256 = "ed2a239c0ea213acc1908150a3037257083c7c083128f1a4cec2ec4b97dca491" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/c9/87/2fea8c13dc24b3ca9c6f803a5b2dfdeae73eb4f9e12c7885ed908ff0433c/charset_normalizer-3.5.2-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" -upload-time = 2026-09-30 04:35:32+00:00 -size = 246730 - -[packages.wheels.hashes] -sha256 = "b91363207bd9dc966a691e959bb47f64b30f7ac4b072be9968b366982f7db77c" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/a8/9e/09efac30b937722f46d3110ba30b875b24b2e3a266ed746cc4e376a94d80/charset_normalizer-3.5.2-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl" -upload-time = 2026-09-30 04:35:33+00:00 -size = 237707 - -[packages.wheels.hashes] -sha256 = "38a873987f3be698494da8b2e3085e29da02da7b633dce73e79c699a113d7bf0" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/9e/18/70d76670b13686237863a379928d60bd10e021f17d243ab3d7014c4a5f4e/charset_normalizer-3.5.2-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" -upload-time = 2026-09-30 04:35:35+00:00 -size = 273050 - -[packages.wheels.hashes] -sha256 = "355ad8011081dec5412240c087a9a0c9d4d5039f3ed11a3f13e18c2b29b56c51" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/54/e2/77a8b09d5adc013ed07b95b01b8b8fa5441c4e810e83ee7e4aae2fa4d91a/charset_normalizer-3.5.2-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" -upload-time = 2026-09-30 04:35:36+00:00 -size = 270345 - -[packages.wheels.hashes] -sha256 = "ee21e28f0430bd6dc9086c6e525d5e818a44a5ad19720c8a0ef766792f3eb5e5" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/7f/c5/38806a25ab5e65fc178f39affeda20858efafede2fce1ffc2556cfc9fe73/charset_normalizer-3.5.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" -upload-time = 2026-09-30 04:35:37+00:00 -size = 257601 - -[packages.wheels.hashes] -sha256 = "3d31298449090ab8d47b7b1b2a555ff73cac7ed438a08b7ac160980c7ebed649" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/ae/8d/213565184708fdb263ae55e2c04ee1ff748129dd65d48ed0e3502da9c85a/charset_normalizer-3.5.2-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" -upload-time = 2026-09-30 04:35:39+00:00 -size = 252222 - -[packages.wheels.hashes] -sha256 = "5cde776b7cc66e4f6c99612cea4aa7269aa65863f7a15841b2c264f103822f4e" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/7e/24/76d2cefc25472531e4c5c7dfff68865eb1c39b78482f0fdc15b46f047830/charset_normalizer-3.5.2-cp312-cp312-musllinux_1_2_aarch64.whl" -upload-time = 2026-09-30 04:35:41+00:00 -size = 248482 - -[packages.wheels.hashes] -sha256 = "ae4f5fea5b8b8ccff88238cc8569303e5ee95efae67fa62922a311397a71f346" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/7d/dc/65a801b66ab4c197e22c433ab25e7ac24324ac6f45a2269aca42cce309bf/charset_normalizer-3.5.2-cp312-cp312-musllinux_1_2_armv7l.whl" -upload-time = 2026-09-30 04:35:42+00:00 -size = 241206 - -[packages.wheels.hashes] -sha256 = "f7d486c83842422badd511868fd8a9a20e9407ace71564b6af47ce7e60a336c1" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/a7/95/ca9b5eabde673002c6f1e7ada1b223916fe18f6d661da7aabd4d643718f1/charset_normalizer-3.5.2-cp312-cp312-musllinux_1_2_ppc64le.whl" -upload-time = 2026-09-30 04:35:44+00:00 -size = 273190 - -[packages.wheels.hashes] -sha256 = "11a4d68a6ecda3292cb1e50239e111543ba5d709bb62a6b4ea1afcfa729d8875" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/2d/8b/803b4d2a3f6e1740f63f1e87b04d14b42f3d4fdfe6ed7d4db2d34102b14f/charset_normalizer-3.5.2-cp312-cp312-musllinux_1_2_riscv64.whl" -upload-time = 2026-09-30 04:35:45+00:00 -size = 253527 - -[packages.wheels.hashes] -sha256 = "d6734d2ef8a50fbf8445c139477da401f50d62a0606bf00e20ec6d87773fefb1" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/a9/55/93c0e5dbd085ae0471346026abbe7e0db9ea2d6fea74e51f0b5a46f233a7/charset_normalizer-3.5.2-cp312-cp312-musllinux_1_2_s390x.whl" -upload-time = 2026-09-30 04:35:47+00:00 -size = 271285 - -[packages.wheels.hashes] -sha256 = "a815775b6c38d4e0ff7bcffbeba67feded90202bb6a226b8dd35f1c855217413" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/95/69/0dbd0e0b9b16cfa816cdfcb3e2e3854a1f680dc07fb1245ea125e7448060/charset_normalizer-3.5.2-cp312-cp312-musllinux_1_2_x86_64.whl" -upload-time = 2026-09-30 04:35:48+00:00 -size = 260010 - -[packages.wheels.hashes] -sha256 = "23851fb4e1b85ed3f6c2a27b777cdfe2e19fb5b38429a8faf38c7542b7665869" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/58/9d/e7b88e7b1bf403590c3b573277b5e1e488c68c7a6fbacca310a2c324e90c/charset_normalizer-3.5.2-cp312-cp312-win32.whl" -upload-time = 2026-09-30 04:35:50+00:00 -size = 184125 - -[packages.wheels.hashes] -sha256 = "db19d07e2e0129e974a0e65d0064fc222a446cd5122c2fd4184d2af9fc734a9e" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/eb/e6/e6e083884cbcfd49c64865af05027fe7011be7b2d9179524f099a1b611f3/charset_normalizer-3.5.2-cp312-cp312-win_amd64.whl" -upload-time = 2026-09-30 04:35:52+00:00 -size = 207486 - -[packages.wheels.hashes] -sha256 = "780fbe7cab297b81dad9fb8dc5eb003c0468ffb0d9e5f65068c53a34661a96bc" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/c4/e3/017aea0911ada7405a825c7d937eb3a13009664e2f5b38e8c4bbf2abf894/charset_normalizer-3.5.2-cp312-cp312-win_arm64.whl" -upload-time = 2026-09-30 04:35:53+00:00 -size = 196734 - -[packages.wheels.hashes] -sha256 = "e2af3aad578aa6bd1384bcf4750fc285e5a9de53f40b7d41e5a0bf748edeb2b3" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/c5/34/68292d68512768591aaff07c59bb53ee31341c87759433a859c4641a50c2/charset_normalizer-3.5.2-cp313-cp313-android_24_arm64_v8a.whl" -upload-time = 2026-09-30 04:35:55+00:00 -size = 225946 - -[packages.wheels.hashes] -sha256 = "ed905975ab14056a2e5eb1c376cb2e1ebc5396baf84163939c518556fccde9f5" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/e3/80/bee0b01b90ccd5322ae1d0abb33fab1bd95b7c2eadaf02aeccf22e04ee83/charset_normalizer-3.5.2-cp313-cp313-android_24_x86_64.whl" -upload-time = 2026-09-30 04:35:56+00:00 -size = 238619 - -[packages.wheels.hashes] -sha256 = "a66c3bc5ab1f0ff2164fc9965ddd611ff0802173f4b9d24554c563f6ab7e1d6e" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/78/6e/60ce52a85a7fd631ae8482ae6d74521014ca2f255892679484dc04d7ef56/charset_normalizer-3.5.2-cp313-cp313-ios_13_0_arm64_iphoneos.whl" -upload-time = 2026-09-30 04:35:58+00:00 -size = 206701 - -[packages.wheels.hashes] -sha256 = "d2374b62878abb00cd8309b32af6c0b715cd02dec0ca74ef12e5069bdc64144a" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/36/8c/71aafad23f971afc84c2b295bc0c560739ce1dac558aad9fec22e39f3639/charset_normalizer-3.5.2-cp313-cp313-ios_13_0_arm64_iphonesimulator.whl" -upload-time = 2026-09-30 04:36:00+00:00 -size = 210506 - -[packages.wheels.hashes] -sha256 = "d376bbd28b3a8999db1a103b3b388aee6f1ddeb3e51bc2172993efdcd86e064d" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/91/da/3c5a7798c046df7d2d68ad653cf5b6c5a8bfee225055a843c6f2f42aac1a/charset_normalizer-3.5.2-cp313-cp313-macosx_10_13_universal2.whl" -upload-time = 2026-09-30 04:36:01+00:00 -size = 366626 - -[packages.wheels.hashes] -sha256 = "6045373d5a89a5ec71afde535db987ca28e76dfa276c2d4c818265b375d4b055" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/e1/16/710ac3de2ee354e2bd1a9c94efe45a2d27b5c6ad39b2d6a905be2c094b6c/charset_normalizer-3.5.2-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" -upload-time = 2026-09-30 04:36:03+00:00 -size = 244624 - -[packages.wheels.hashes] -sha256 = "849df64e889b2e17230d58410a03dba311a65b163508fd33679b2b737d4b7858" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/d6/39/45c7439f5b63d24f7d5b2a1d760f34af7628782d7144b4cc8ded45c2d4bc/charset_normalizer-3.5.2-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl" -upload-time = 2026-09-30 04:36:04+00:00 -size = 235731 - -[packages.wheels.hashes] -sha256 = "15c44f7edfd477b06f517a5cc317fc1707edb9de2c865f43d4b6513907473234" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/4d/34/38f3154785ce92e9f56eb226f4d35bdfae6b008480dd055f58837a89c810/charset_normalizer-3.5.2-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" -upload-time = 2026-09-30 04:36:06+00:00 -size = 270352 - -[packages.wheels.hashes] -sha256 = "a89012d6d5476ee112d20d998570ed58df2260a852afb1758809cd6900411d21" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/04/f3/859f74e7babc977705026b30593b3be04049632a522fb7000f83c033d747/charset_normalizer-3.5.2-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" -upload-time = 2026-09-30 04:36:07+00:00 -size = 267393 - -[packages.wheels.hashes] -sha256 = "0c951d5e6dd9c2ff60609476752bee49da4206adde960ebc247766937f72e718" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/4b/85/41d27f234b82e47c167a5f6c0f62501dc0c640585ff4aba79e08a390336a/charset_normalizer-3.5.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" -upload-time = 2026-09-30 04:36:09+00:00 -size = 254660 - -[packages.wheels.hashes] -sha256 = "7218e8f32b0956cfcd048fd42d9d5779809745ca1d86113ca56f66e7ae1549c4" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/58/ca/5d1a997587febe5b26d8daffe363b5c1a091cece19828eec6502fd09c5ef/charset_normalizer-3.5.2-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" -upload-time = 2026-09-30 04:36:10+00:00 -size = 249996 - -[packages.wheels.hashes] -sha256 = "a19a731138fc27d5682277d3b9df22855cea1239bce7fcec5f78f42ef2d1f3c3" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/b3/1f/d1e78246f7ed60c8c8d606b4ac27f66ce49cc3e95f24893ccbeba9f77302/charset_normalizer-3.5.2-cp313-cp313-musllinux_1_2_aarch64.whl" -upload-time = 2026-09-30 04:36:12+00:00 -size = 247028 - -[packages.wheels.hashes] -sha256 = "62603db9a7caa0802eaa28c1c46fecd7b3a263a774069c24c3c28c302448721c" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/8e/37/eba316edd4f0c4d3a5d945924c4eeeae59abac4056aa815d8a4268f863a2/charset_normalizer-3.5.2-cp313-cp313-musllinux_1_2_armv7l.whl" -upload-time = 2026-09-30 04:36:13+00:00 -size = 240562 - -[packages.wheels.hashes] -sha256 = "b6856554c4f44d79fc2307d5768854310a8f0096e501c75637542c82292b0429" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/c8/8e/aaa037d40ca9ef045977f1a661048b1aa33f223adfce3452fe9be9f79d14/charset_normalizer-3.5.2-cp313-cp313-musllinux_1_2_ppc64le.whl" -upload-time = 2026-09-30 04:36:15+00:00 -size = 271699 - -[packages.wheels.hashes] -sha256 = "1bc0baf5ef96b6ede57d47f4b8fe4d9d84019c3bfcbeb20a41edc6a6ee341f1f" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/26/19/1c1c9f75974adf523b87f34b8a2adc5a435cd65916812bcbd0dfa45f9a29/charset_normalizer-3.5.2-cp313-cp313-musllinux_1_2_riscv64.whl" -upload-time = 2026-09-30 04:36:16+00:00 -size = 252030 - -[packages.wheels.hashes] -sha256 = "56bc200a365efb37383b7852e4cc5898d3b2da5987289b543956cf8cad71018a" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/bc/90/0660ef18e18df0a4d2a1a0edff7dfbba42d4e50ef2425557a5bb7051f77b/charset_normalizer-3.5.2-cp313-cp313-musllinux_1_2_s390x.whl" -upload-time = 2026-09-30 04:36:18+00:00 -size = 268565 - -[packages.wheels.hashes] -sha256 = "2c9ad19a6cfcd5ea5c0d41161d22f9df1dcc277e9bef2751391334546a314c00" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/79/ba/57adc269824e8658f1a0f97a9e514c247445a9632b3419b97e0ba37f16dc/charset_normalizer-3.5.2-cp313-cp313-musllinux_1_2_x86_64.whl" -upload-time = 2026-09-30 04:36:19+00:00 -size = 257627 - -[packages.wheels.hashes] -sha256 = "e243bd13217235fc7290c621941c3f5cc8b66e4872495be821d7436ba2fb838d" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/9a/85/33abd4315c052d3d4f54c92b1ee49bfbc0dc7115a981e462a793b6d2ab87/charset_normalizer-3.5.2-cp313-cp313-pyemscripten_2025_0_wasm32.whl" -upload-time = 2026-09-30 04:36:21+00:00 -size = 143407 - -[packages.wheels.hashes] -sha256 = "a090bb2c68df85450502e3e20d665e3a5af9c65a84d6508ed477badd49166fd3" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/4f/de/6435e18d1aaa5d910b896d551411c96af1f42a0c56c29afc2016c61ccc2e/charset_normalizer-3.5.2-cp313-cp313-win32.whl" -upload-time = 2026-09-30 04:36:22+00:00 -size = 183207 - -[packages.wheels.hashes] -sha256 = "2b7b3bbfb4fe8ef40600792d762fbaa9057559f9d3fad209525b7a22b99e91fd" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/9c/76/b8ec57f4e9ee3253541abf95e4a462c0175fe8032dcd070f1f2421240942/charset_normalizer-3.5.2-cp313-cp313-win_amd64.whl" -upload-time = 2026-09-30 04:36:24+00:00 -size = 206489 - -[packages.wheels.hashes] -sha256 = "78456a747de8dc58360ffa581f30a002baf5aa28cb262536545e91f113ed7639" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/3e/60/c647c6ae47480221e875ea5d743ff94946f7416e3c69415ab772928e8d32/charset_normalizer-3.5.2-cp313-cp313-win_arm64.whl" -upload-time = 2026-09-30 04:36:25+00:00 -size = 195501 - -[packages.wheels.hashes] -sha256 = "11912e4bb14baae7c5d8791aa55ba0a3a03ec6729073307b0f57270abaa713d3" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/58/ca/7aa91362a2f77ac8e9e28a9b902a74f7d0e11a851ef0d27a74308da8cd90/charset_normalizer-3.5.2-cp314-cp314-android_24_arm64_v8a.whl" -upload-time = 2026-09-30 04:36:27+00:00 -size = 226010 - -[packages.wheels.hashes] -sha256 = "1afb975bd5d68d5ce9f6b6d44fdf2f7e34b895a35e95708a7a91b20a3b51d187" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/a8/cf/ac8878d0322cf88a1aad4c7b147db32ca0bd806eb0060957b2e31486dbe6/charset_normalizer-3.5.2-cp314-cp314-android_24_x86_64.whl" -upload-time = 2026-09-30 04:36:29+00:00 -size = 239266 - -[packages.wheels.hashes] -sha256 = "bbbfc8e28816f19d7c0f1816664980c0a9875d01b27cdf8eedddb639d9e108ad" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/c9/6d/9a08d7e0b29b7208e2c6c01dc56c8e0520e7c7beadbbfb024b58fd69c8a5/charset_normalizer-3.5.2-cp314-cp314-ios_13_0_arm64_iphoneos.whl" -upload-time = 2026-09-30 04:36:30+00:00 -size = 206783 - -[packages.wheels.hashes] -sha256 = "7967d08cf06dee78443b874f98c98036f624f3a4e73e11f9f64f5be4d25393cf" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/82/44/b0aa350280e6ff5a5492d17cf10460dd39d5ee848f872f7ba2df10607f60/charset_normalizer-3.5.2-cp314-cp314-ios_13_0_arm64_iphonesimulator.whl" -upload-time = 2026-09-30 04:36:32+00:00 -size = 210449 - -[packages.wheels.hashes] -sha256 = "4c2b5031f63e331e3839b40aed2dd6f191e9c07edbde303e7876846ea1946995" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/7c/8a/40db9aa9f5907bb0e6f8b6d64064bf8852fb33d4b813ff9414911df7647c/charset_normalizer-3.5.2-cp314-cp314-macosx_10_15_universal2.whl" -upload-time = 2026-09-30 04:36:34+00:00 -size = 367815 - -[packages.wheels.hashes] -sha256 = "fcff63213e8e6e47770541a4607175404f47cbb3ebea7b6058cc82d524a0e424" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/7f/72/9c5e7707b57c8ddfa9ddf7b0b1d009d7fbab9e9e887d5b721060f37e307d/charset_normalizer-3.5.2-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" -upload-time = 2026-09-30 04:36:35+00:00 -size = 247095 - -[packages.wheels.hashes] -sha256 = "8d86d6fc60743dc916eb79e2eb1ec4818e21e427731543af40a3021851174a13" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/83/09/71e453691e927de4ddf792770cfaab3f49d494e222f66ea5e404bbd5e39c/charset_normalizer-3.5.2-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl" -upload-time = 2026-09-30 04:36:37+00:00 -size = 233942 - -[packages.wheels.hashes] -sha256 = "7a881931aa470808df94a8c380eed2bbbc76cd9dc622310f99665658c821eb6d" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/9f/86/85c84e4da8b27dd409577d9437926ff581c5f9d3c66038dc68c1a526de51/charset_normalizer-3.5.2-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" -upload-time = 2026-09-30 04:36:38+00:00 -size = 273762 - -[packages.wheels.hashes] -sha256 = "8024d00c3faf3fc0c16e07a69f4405e8eac7cc0ab15f65fe6cf43827c4cf72b4" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/92/08/564955a4b5f2ccb410ab480bbe8c6a18063ff27f2d35458731c4a5335df9/charset_normalizer-3.5.2-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" -upload-time = 2026-09-30 04:36:40+00:00 -size = 269514 - -[packages.wheels.hashes] -sha256 = "4d48f2d08b9de5864e2c8744d4461b862fb149a18274abc8b698c45975573438" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/18/24/bad3ac4271589df29cf5ce2f5ae490518a5739358052bd0d61209e6fea54/charset_normalizer-3.5.2-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" -upload-time = 2026-09-30 04:36:42+00:00 -size = 255056 - -[packages.wheels.hashes] -sha256 = "34276fd796040bf0993ab33a369aa572e6979c7aab225a88893667ad8eac8f7a" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/d6/3e/350d89ad49916b86554d6f5f2d03ec1152148f87e5ff735106c6a03b1a36/charset_normalizer-3.5.2-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" -upload-time = 2026-09-30 04:36:43+00:00 -size = 251311 - -[packages.wheels.hashes] -sha256 = "0521c5665880b33d603717defa76c094048900010897909952397feb3039da56" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/56/5b/4970a2d154df502e133402906dd04e3ae7cada7b3011283c88d0479a2585/charset_normalizer-3.5.2-cp314-cp314-musllinux_1_2_aarch64.whl" -upload-time = 2026-09-30 04:36:45+00:00 -size = 250190 - -[packages.wheels.hashes] -sha256 = "eff0ac9dbe711a4aee69bf04a83896aa9b85f19641264053a9f6d48573abb7dd" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/88/8c/f1a91bddc8fb47c2889e29ea7ea49a194eb0d9868675d786806519c00d76/charset_normalizer-3.5.2-cp314-cp314-musllinux_1_2_armv7l.whl" -upload-time = 2026-09-30 04:36:46+00:00 -size = 237098 - -[packages.wheels.hashes] -sha256 = "1503bccbeb36d5527790c3930327704c39af22de3112f1b1666a9f3ce15ee204" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/24/0e/bb5dace3cc7e79068425386a6589c19b5a2ab5fefc2a46abea6919683332/charset_normalizer-3.5.2-cp314-cp314-musllinux_1_2_ppc64le.whl" -upload-time = 2026-09-30 04:36:48+00:00 -size = 274228 - -[packages.wheels.hashes] -sha256 = "52aa6992700996af31f375de0c6bacd402b0097fe40b53c426b9f51a90ebabc7" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/9d/79/b849ad523017ea9f5a45581bbebed91439e0cf42fd2860a6f64e358eb5a6/charset_normalizer-3.5.2-cp314-cp314-musllinux_1_2_riscv64.whl" -upload-time = 2026-09-30 04:36:50+00:00 -size = 252401 - -[packages.wheels.hashes] -sha256 = "e09a3942ecbdee5cce73ea9d42da82b81b72ac1bf031ce069b93b5adf4eac8cd" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/89/8c/75469d690cf47200bce8f6cad7655724fc23148e147abfc5ce78b5f65863/charset_normalizer-3.5.2-cp314-cp314-musllinux_1_2_s390x.whl" -upload-time = 2026-09-30 04:36:51+00:00 -size = 271846 - -[packages.wheels.hashes] -sha256 = "c7c9ab723cde841fefb34efbad91e87f00a674b1fe1cd0784fde742bf2c154dc" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/26/cd/6d52d3c7437cdcf2e310ce9f28f282e733d4ef60ed19105d1819c356255f/charset_normalizer-3.5.2-cp314-cp314-musllinux_1_2_x86_64.whl" -upload-time = 2026-09-30 04:36:53+00:00 -size = 258151 - -[packages.wheels.hashes] -sha256 = "ddc7dacc8ece3a182e7f15cb862d1fd616b46d076cb1ae9dd232b2c38b655874" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/f7/4c/070b38bdb5f49a70199fce923ec0726a49536a63ab262abbfcaaf351110b/charset_normalizer-3.5.2-cp314-cp314-pyemscripten_2026_0_wasm32.whl" -upload-time = 2026-09-30 04:36:54+00:00 -size = 143570 - -[packages.wheels.hashes] -sha256 = "ee43c17b173d46a3212baa6ead3ae258eeabdae48c263a01ccf0218c366dd655" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/81/84/9ebfc8ed6c8c4fcd8e726ff6bf220cc8deb3966e31dce9be8dd8aa017e64/charset_normalizer-3.5.2-cp314-cp314-win32.whl" -upload-time = 2026-09-30 04:36:56+00:00 -size = 186412 - -[packages.wheels.hashes] -sha256 = "4f87960d57feabfb618e4e0af6e7371645fa26a277860739d6e5d6e0012c92f0" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/d1/78/5ed86f743d4bc350db307e7636419a0a5ee1d91806d30c7f667bd5c80dae/charset_normalizer-3.5.2-cp314-cp314-win_amd64.whl" -upload-time = 2026-09-30 04:36:58+00:00 -size = 210965 - -[packages.wheels.hashes] -sha256 = "e4e81e09c1578b8df602e3db08b0b3ea0a6947ad612f52bf8dc5ea8d47691f0c" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/53/94/a3a7698e9b1a395e1eb99ccd9a324be9347973bff4e72db2a06496d7cd27/charset_normalizer-3.5.2-cp314-cp314-win_arm64.whl" -upload-time = 2026-09-30 04:36:59+00:00 -size = 200406 - -[packages.wheels.hashes] -sha256 = "80d02b6f04e92601a081dd97b23d3128033098bff5d35d392ddcc0476ea11253" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/c1/48/c5dd00d5ef7791f02666de250a5bb6071e29b7e133cf4b835800b6d3bc27/charset_normalizer-3.5.2-cp314-cp314t-macosx_10_15_universal2.whl" -upload-time = 2026-09-30 04:37:01+00:00 -size = 396871 - -[packages.wheels.hashes] -sha256 = "dca9ab98072a5a54ebacebdc45f53e645336b320c667410b061be1ca588ae709" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/12/c8/8379554b42e8368161d898476686947a0fdbd3e8865170d7909dcabfdee8/charset_normalizer-3.5.2-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" -upload-time = 2026-09-30 04:37:03+00:00 -size = 249711 - -[packages.wheels.hashes] -sha256 = "f0aa869112ef88429ae17820d99c3dd9504c9e9c671d3c246f3d7442cb051084" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/4a/eb/2ddb1035d17320caa9f41682935123a9a250277b261c3efc86b2d2a21343/charset_normalizer-3.5.2-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl" -upload-time = 2026-09-30 04:37:04+00:00 -size = 231146 - -[packages.wheels.hashes] -sha256 = "c0afc6800ba57ccc350374c5bd6150419915d95ce93cdbab2d783d75eaf30ecb" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/4a/24/2ecb4bde104322cd7859d6594fcfa74649f8d90b3221c9feecbef149875b/charset_normalizer-3.5.2-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" -upload-time = 2026-09-30 04:37:06+00:00 -size = 271552 - -[packages.wheels.hashes] -sha256 = "7dcd882da75ef9adf94903b1e3b9419e8aa8fb4c7396822b834b9ef7fb96954f" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/3f/98/9d5f6ebc3aee9fef5d30b4aff11fb2ab7a1222b4064f8ef2c7c87cde217a/charset_normalizer-3.5.2-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" -upload-time = 2026-09-30 04:37:07+00:00 -size = 269810 - -[packages.wheels.hashes] -sha256 = "2e06a3a98f916dd41d27f3105e02e7a40181c98c94b9158733d03a6f80506c09" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/09/e1/a3b06a10461b1b7628853c934c644e03bc28e42767116afb52f19a56519b/charset_normalizer-3.5.2-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" -upload-time = 2026-09-30 04:37:09+00:00 -size = 259845 - -[packages.wheels.hashes] -sha256 = "6bd128f206a7752ae1f2ab6c61bf8a24ba28913a10df8b14c2637b973ff97a80" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/fd/d3/6f561f74a296cf27d61775a1dc665ad13f3bff6a798810ca05907f37a7c4/charset_normalizer-3.5.2-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" -upload-time = 2026-09-30 04:37:11+00:00 -size = 252825 - -[packages.wheels.hashes] -sha256 = "c8f3d67aeaf55f017982b73683f0e7342ba2f6635a78f69ce89ebb26aa411e5c" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/26/9f/69e13ca3b18f43e0eafcd34c04a45b732ae22a43b54a5fc9e119103356eb/charset_normalizer-3.5.2-cp314-cp314t-musllinux_1_2_aarch64.whl" -upload-time = 2026-09-30 04:37:12+00:00 -size = 252659 - -[packages.wheels.hashes] -sha256 = "fe9753dfee015c570d73df76f899f18444d41388bffcde097deba51c4fadbb9f" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/73/a9/ace29806a0dae18939919c76ba526472d83214afa101105fabff2cf30625/charset_normalizer-3.5.2-cp314-cp314t-musllinux_1_2_armv7l.whl" -upload-time = 2026-09-30 04:37:14+00:00 -size = 238819 - -[packages.wheels.hashes] -sha256 = "92888bb3187c5ba50500b00b3b310c9f2c651709d28036077680cb5255450a03" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/f8/c1/6116d52a2e3311ec80f21f5fb5e17b27405f10b9608af8f6e69516841a1b/charset_normalizer-3.5.2-cp314-cp314t-musllinux_1_2_ppc64le.whl" -upload-time = 2026-09-30 04:37:16+00:00 -size = 272973 - -[packages.wheels.hashes] -sha256 = "d008d90a7f2471519aef0c90dfbe73b3e6e4d5e66ac48e19154c17e89e98b604" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/19/aa/9955c7e93bba10a9c7e8f7a5031b7ced66f3a1883a55c00712b8d5850ff3/charset_normalizer-3.5.2-cp314-cp314t-musllinux_1_2_riscv64.whl" -upload-time = 2026-09-30 04:37:18+00:00 -size = 253692 - -[packages.wheels.hashes] -sha256 = "31f3930700408d211f13378ccbe1c40845d8da54bd0681fac3a9b5aae81c7aa8" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/bb/33/2a6ae7fdc1b10cb581cef91addd8cdfc5f40d50abb5702309369d5834579/charset_normalizer-3.5.2-cp314-cp314t-musllinux_1_2_s390x.whl" -upload-time = 2026-09-30 04:37:19+00:00 -size = 268757 - -[packages.wheels.hashes] -sha256 = "2a925889534b3748302dae5dead07cc13480de1dac3aea80a941b729b471ef93" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/a2/22/80992720a0282cd39bba1db35868e6b9c22f41281160143a836544bc1d8a/charset_normalizer-3.5.2-cp314-cp314t-musllinux_1_2_x86_64.whl" -upload-time = 2026-09-30 04:37:21+00:00 -size = 262220 - -[packages.wheels.hashes] -sha256 = "f5ec61164adcec446f8969a3358ec3f9b26bbda3b9213e5586d219afa8df2915" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/92/9f/181fd07e1bffea1d95cd80c84ac537354f50699c22cfc4d3c02b6fc16208/charset_normalizer-3.5.2-cp314-cp314t-win32.whl" -upload-time = 2026-09-30 04:37:23+00:00 -size = 197797 - -[packages.wheels.hashes] -sha256 = "598a11a2c7ebaa5334bf698bf29568c9c390abac6a154d8170fedecd1cea38c5" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/49/1c/25d8415ec1c4f2f41f1680435e4c87cfb378ff2f677d950946f2a45d0632/charset_normalizer-3.5.2-cp314-cp314t-win_amd64.whl" -upload-time = 2026-09-30 04:37:24+00:00 -size = 222765 - -[packages.wheels.hashes] -sha256 = "7fdde2c9fd9e3eca40631e024664cf2584272cc8f96308cbe5fdfc930f51d8bc" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/3e/b4/46b48f013dadfc0d0d33b375438e31bdf5a989dc68389c6bf627054d4df9/charset_normalizer-3.5.2-cp314-cp314t-win_arm64.whl" -upload-time = 2026-09-30 04:37:26+00:00 -size = 210985 - -[packages.wheels.hashes] -sha256 = "d1befeed746d247c81127bb14de9dc3d30edb6e5976d34f83f86ed262b1d9105" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/ca/e9/34e597dee616d0b8ee4b34d29399e85c2204ade174157a48505d42baa4ff/charset_normalizer-3.5.2-cp315-cp315-macosx_10_15_universal2.whl" -upload-time = 2026-09-30 04:37:28+00:00 -size = 367676 - -[packages.wheels.hashes] -sha256 = "87475fabc8d9996fd9c27debb395e642e8c838d78a00b6e932227a0e06b81e26" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/60/9f/a5d1c91c0263745e2cd344c5a4415d787c575501ab1d449f1148ac6b495d/charset_normalizer-3.5.2-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" -upload-time = 2026-09-30 04:37:30+00:00 -size = 248414 - -[packages.wheels.hashes] -sha256 = "9409a8bf35cf78353942504b24a57de3d75b708997a1e4bd8db71ac8633ce364" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/26/79/e697f77464748a3ee3cf490c83d592459400d4898380d66c38366b03080c/charset_normalizer-3.5.2-cp315-cp315-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl" -upload-time = 2026-09-30 04:37:31+00:00 -size = 244775 - -[packages.wheels.hashes] -sha256 = "498dc3188ca05a68231ac3fdbfc7f57eb67e1343c30e0fea17f8218c1599b253" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/ca/87/3d42a42e18ea066e2513936fd678a00696e77878b5ae04528976abdbcb83/charset_normalizer-3.5.2-cp315-cp315-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" -upload-time = 2026-09-30 04:37:33+00:00 -size = 273877 - -[packages.wheels.hashes] -sha256 = "e242bb1c5e76e97dfa9e7f209a71e93a01d7f19ffdd5cfbb2e2d55b4f08f8ab0" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/c3/76/8a28136f3938ba9836f84280ce0c4d61ed1cf15a036b2034900c62634162/charset_normalizer-3.5.2-cp315-cp315-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" -upload-time = 2026-09-30 04:37:35+00:00 -size = 269455 - -[packages.wheels.hashes] -sha256 = "def79fa35ef0cef8d2accec024f4fdc7ead3012ff02f5215c783f39f03ef8cfc" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/a0/a1/4fbf5d0f0f1b2a080474c1cf9a2f12c4c6531bb0e8ba591055e846d2b4e9/charset_normalizer-3.5.2-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" -upload-time = 2026-09-30 04:37:37+00:00 -size = 257336 - -[packages.wheels.hashes] -sha256 = "3df041de8887954562c9b261cba85ca0e9ded74048daf125f45edcfaa4832229" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/ba/a2/8b50aa320adb880ad579518e6f718f24944804b42a88b83d267d5d444125/charset_normalizer-3.5.2-cp315-cp315-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" -upload-time = 2026-09-30 04:37:39+00:00 -size = 257584 - -[packages.wheels.hashes] -sha256 = "04851f73ae72b8413dddadb16a49dfee95263553741fd42d546f7d66907e6be5" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/a5/57/50e3fed84e175f40349bd0da7a4fce94c87f0378f52d74f511d89e0bdc20/charset_normalizer-3.5.2-cp315-cp315-musllinux_1_2_aarch64.whl" -upload-time = 2026-09-30 04:37:41+00:00 -size = 251854 - -[packages.wheels.hashes] -sha256 = "183b88127acdb4fabe59d951ab424faf1af7b63cdbb5f776186c1ea2ffcaed98" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/d6/54/f7fbb3493c9f49091213b9c2d6dd65800696f1ce1a3f196a4205f50417b1/charset_normalizer-3.5.2-cp315-cp315-musllinux_1_2_armv7l.whl" -upload-time = 2026-09-30 04:37:42+00:00 -size = 248767 - -[packages.wheels.hashes] -sha256 = "16fa0eccf81304b79c5cd87f9271c3b85dd9dd99245e4422ae9c0dd45e0f99d3" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/d9/37/b3a6385acc5a1e45b39ae9c90bfb9cf838a09b9dd37ef2740ab4c6b4a2eb/charset_normalizer-3.5.2-cp315-cp315-musllinux_1_2_ppc64le.whl" -upload-time = 2026-09-30 04:37:44+00:00 -size = 274479 - -[packages.wheels.hashes] -sha256 = "7441d755b7ab94f8d4eb3e43ec05482d760842fd263d003a99102d742cd835e2" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/89/44/809913e2cfd279e635a9294fdbbfb1b1dc62a8189d473d561f649fce98d8/charset_normalizer-3.5.2-cp315-cp315-musllinux_1_2_riscv64.whl" -upload-time = 2026-09-30 04:37:46+00:00 -size = 258310 - -[packages.wheels.hashes] -sha256 = "ca403d7e4798f525fdfc78e258820419cbbd0f0ecbab9de7840e3c017cf6b8cf" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/af/a2/f28400ab13359d91bd39179df8e149376b9bf36588e739a3a4f9de2b84b2/charset_normalizer-3.5.2-cp315-cp315-musllinux_1_2_s390x.whl" -upload-time = 2026-09-30 04:37:48+00:00 -size = 271100 - -[packages.wheels.hashes] -sha256 = "df29a0a7107f7011e77f4eebdddec4c7331e24d787a0b21a46d63bdf7445da95" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/e9/89/9bab37955edf0adb3b66f8a3a6617d9f2f487e0d56f295a6a286cb640aa6/charset_normalizer-3.5.2-cp315-cp315-musllinux_1_2_x86_64.whl" -upload-time = 2026-09-30 04:37:50+00:00 -size = 259936 - -[packages.wheels.hashes] -sha256 = "f3c96f633825733f735c5a9cf21d21a257d8e1edf0b1cee0a064b9c424ca0f7d" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/23/b5/4459e08d45a679f903d50fea08bc52cfa728cca4d7bd02c757b5e5abda2e/charset_normalizer-3.5.2-cp315-cp315-win32.whl" -upload-time = 2026-09-30 04:37:51+00:00 -size = 186301 - -[packages.wheels.hashes] -sha256 = "281cb91036248400f4cc957495cccd44c275c2e0c5854f7e45ac5cf7dc193847" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/98/e8/55d5fd3935b4bce6da4fe0df61898e8c82653e317e677bd58aceb9c60f13/charset_normalizer-3.5.2-cp315-cp315-win_amd64.whl" -upload-time = 2026-09-30 04:37:53+00:00 -size = 210858 - -[packages.wheels.hashes] -sha256 = "89b53f3cda69831909888e0494f4fa0bcd3537e3e138dabeb620bd6ad946bae8" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/a9/5b/974423c2fd8e524c7a7f64318c1e02240ef954912fa2b4d70344107b9c68/charset_normalizer-3.5.2-cp315-cp315-win_arm64.whl" -upload-time = 2026-09-30 04:37:55+00:00 -size = 200309 - -[packages.wheels.hashes] -sha256 = "6be488a102b8cf28d0391d8c4ba7748938ae28b78ad901f8585520fca33ead1a" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/ee/f9/00ee0195db1013d8f7c416fd770fbeb560bb46eb2e36b054d05cb56f6cfa/charset_normalizer-3.5.2-cp315-cp315t-macosx_10_15_universal2.whl" -upload-time = 2026-09-30 04:37:56+00:00 -size = 395343 - -[packages.wheels.hashes] -sha256 = "915563965d418f986e7e145accc592eae9e1a1be3566ff98a05d7a9ec42a76e1" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/04/3a/c00b50e94c964cf934c7899cd47c97952fc11dad71cc5884b3c61795b09b/charset_normalizer-3.5.2-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" -upload-time = 2026-09-30 04:37:58+00:00 -size = 250114 - -[packages.wheels.hashes] -sha256 = "65cd72beeeca9d3aaea1201e5923859f308f952f9c71de93f06063c79f0f7a3b" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/50/27/d102dc880bbcffd0479ab64dfc1fb96777a854355a55e2bda72a71efadcb/charset_normalizer-3.5.2-cp315-cp315t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl" -upload-time = 2026-09-30 04:38:00+00:00 -size = 239997 - -[packages.wheels.hashes] -sha256 = "b7fd005a73d9e657273b7a10dc71a9e03c8fb9ee6999798d6918ce095b81ac7f" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/a5/4a/bf7ef45794dd293fab5f98a9309817977fbb845b9998f171b8cc5d8437a3/charset_normalizer-3.5.2-cp315-cp315t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" -upload-time = 2026-09-30 04:38:02+00:00 -size = 272313 - -[packages.wheels.hashes] -sha256 = "e54da4baf05720032d527874d40b65fa4d7e5c6c6a43d0c3adbeffcaf275a2b3" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/e8/ee/008a2837737991474c5754bb3191010007663860979701990982a502cbaf/charset_normalizer-3.5.2-cp315-cp315t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" -upload-time = 2026-09-30 04:38:04+00:00 -size = 269986 - -[packages.wheels.hashes] -sha256 = "124fbf1a8ff966d87ae05bb8bd45a71f966055ed8bba320d0c7cf450bc5f4d0e" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/93/ad/bd74a283940dc910c5b14f8e4f80a248082bc9c0fcbe1f54530cb6d9cc5e/charset_normalizer-3.5.2-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" -upload-time = 2026-09-30 04:38:06+00:00 -size = 260202 - -[packages.wheels.hashes] -sha256 = "28b4f0d66fb834ff90f28209ac7bce77868c45d8c93e26f906709d9b7c2e1af9" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/8a/7b/ed341c66f69f688723501fac752be3d63c7159ca0d0d4174fc611e5710bb/charset_normalizer-3.5.2-cp315-cp315t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" -upload-time = 2026-09-30 04:38:08+00:00 -size = 259083 - -[packages.wheels.hashes] -sha256 = "58ca3755ee7ff7f59b57789ec9833c9de9ea275405cdd240eda1f193112e398a" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/cc/9d/e41588b777965e5031a43128a1e96173ebb35ac75fc53ec3b517e7c21cd4/charset_normalizer-3.5.2-cp315-cp315t-musllinux_1_2_aarch64.whl" -upload-time = 2026-09-30 04:38:10+00:00 -size = 253081 - -[packages.wheels.hashes] -sha256 = "443eae2bf318abeaf6f15d785138f71fd6de770e99a92158b8b814265e079115" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/81/35/b761eb6d8c1eb218b9b42b9b4d5ac902afdc399fb6dac6f9a9aac7bda589/charset_normalizer-3.5.2-cp315-cp315t-musllinux_1_2_armv7l.whl" -upload-time = 2026-09-30 04:38:12+00:00 -size = 248712 - -[packages.wheels.hashes] -sha256 = "58f361dcbab699cf8f42db3f47c8e7fd1036f138c23a5d08de9fde5f425a730c" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/4d/2c/147169a041b747759f37405c0a97157e8e92de967968373101ff14915cba/charset_normalizer-3.5.2-cp315-cp315t-musllinux_1_2_ppc64le.whl" -upload-time = 2026-09-30 04:38:14+00:00 -size = 274176 - -[packages.wheels.hashes] -sha256 = "1b4cbc7c3491ccb4aa17fcd8165649d01cf39f76de1696da8631b5f71b85401d" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/f0/2d/0ff8db0d373ba8538db686db11cd7e8912031490b9e4f383b41912e8d594/charset_normalizer-3.5.2-cp315-cp315t-musllinux_1_2_riscv64.whl" -upload-time = 2026-09-30 04:38:15+00:00 -size = 259413 - -[packages.wheels.hashes] -sha256 = "ba0b1d2620edf869789c3879223f52bf2afc5d31b3cb47cc57b3a12c05e2aa9d" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/8a/8e/b4a085fb47c9d3a7e43576a4784fdd8fe23f907514a972de8086edaf7a48/charset_normalizer-3.5.2-cp315-cp315t-musllinux_1_2_s390x.whl" -upload-time = 2026-09-30 04:38:17+00:00 -size = 269434 - -[packages.wheels.hashes] -sha256 = "5e2b6b57e9733d39f0c9fd3185efa6b8e29652c4cd8fe94180272cf6ed9a78c4" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/83/1c/d8d8d7322a7c3eecdf3237a4a419cf41d2eaad8e006ce7dfdd9d4c8fa2eb/charset_normalizer-3.5.2-cp315-cp315t-musllinux_1_2_x86_64.whl" -upload-time = 2026-09-30 04:38:19+00:00 -size = 262716 - -[packages.wheels.hashes] -sha256 = "51cf45226a9b588d0d2b4880c62d686934b63ab0bd79ca23ab0e9762eb27441b" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/a0/16/0e4c6ba9b44e97a2da150e52d331e8f9c968b21b358fbffa6c856cebcd89/charset_normalizer-3.5.2-cp315-cp315t-win32.whl" -upload-time = 2026-09-30 04:38:21+00:00 -size = 197159 - -[packages.wheels.hashes] -sha256 = "5fb29fb8cd1a46c27a1bf9613ad5ec2599310d46b4025d9556404a6b6a292800" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/be/33/e90bc2b1374f7f36ef106f56620de5a783907e19ca857efe2277e31cac3e/charset_normalizer-3.5.2-cp315-cp315t-win_amd64.whl" -upload-time = 2026-09-30 04:38:22+00:00 -size = 221322 - -[packages.wheels.hashes] -sha256 = "a192e2c40070d92c3ccf777e3a5c4ff515573cd2bb7ed0c537fdadbbec5bbf21" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/66/89/dfa6dcb08c200b7830ab56439e8c1890f2971d51aafbb3937894a2e7fcfc/charset_normalizer-3.5.2-cp315-cp315t-win_arm64.whl" -upload-time = 2026-09-30 04:38:24+00:00 -size = 209192 - -[packages.wheels.hashes] -sha256 = "749e97e1b32313717a565abbe321bc2190bc8b35f1a67e4cdbc7c56c8d8ffe58" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/8c/ab/176fbfd5b64939c55d652366aa5b9ef1d767af207a3aa6ebeb0d226c484d/charset_normalizer-3.5.2-cp37-abi3-macosx_10_9_universal2.whl" -upload-time = 2026-09-30 04:38:26+00:00 -size = 331815 - -[packages.wheels.hashes] -sha256 = "4275811936e2f06feff5e598fb42a1b7ae852da8e39605211892b56b81a34efd" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/7e/84/371eac6b30bdbcbf2d632a1a01809103459216fcaae61b8b8d922c1bfb8a/charset_normalizer-3.5.2-cp37-abi3-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl" -upload-time = 2026-09-30 04:38:28+00:00 -size = 253276 - -[packages.wheels.hashes] -sha256 = "1c50fe28bbc2ced33386f298650d91218076c05420e6cbd790b913adc41659e7" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/43/6f/c4fbae58febff71709c51bc7e18fdfa55341dc382704740f9f0cbf03817b/charset_normalizer-3.5.2-cp37-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" -upload-time = 2026-09-30 04:38:29+00:00 -size = 241239 - -[packages.wheels.hashes] -sha256 = "d19fbd981a488e22cd04883659ca6b08f50b5974f9fd7c95655ef6a043e5893f" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/61/71/458c3f42164a07d0c5210798e9e704b39e540a6793b05aba67f3a35243a9/charset_normalizer-3.5.2-cp37-abi3-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl" -upload-time = 2026-09-30 04:38:31+00:00 -size = 231121 - -[packages.wheels.hashes] -sha256 = "0fed1d06615f022ee3b13caf5e8b180cfea32bb2c5aded8a9d44277afc040f93" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/09/54/ab9e89367076f6331bb6c65c4bf14a5361fa5191cb6561bf534f18504e1b/charset_normalizer-3.5.2-cp37-abi3-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" -upload-time = 2026-09-30 04:38:33+00:00 -size = 260350 - -[packages.wheels.hashes] -sha256 = "838dcc90063569a0448120554591a1d6c4a4ffe11babf048908793154ab86ade" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/7c/c1/061431ecc688d9d76602502cb57cc01e691e682c18f1beb45f9673b5bbd2/charset_normalizer-3.5.2-cp37-abi3-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" -upload-time = 2026-09-30 04:38:34+00:00 -size = 255430 - -[packages.wheels.hashes] -sha256 = "2ce45c6627b22c47e390bc91a41c3d13032192e699fa0bea96e9671b373d69b0" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/8d/1f/20c8949f0676f7ab811abdeb7f4d7f1cbc6e61ff20bef08b44edeb092bc8/charset_normalizer-3.5.2-cp37-abi3-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" -upload-time = 2026-09-30 04:38:36+00:00 -size = 250612 - -[packages.wheels.hashes] -sha256 = "0774bf9bf620249fee3e0b8b9fd3065de213be30f3aa94ce2494b3b638949e26" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/2b/9e/46f2fa4c431fc98c4ae76a8cb5bdca54e0341e3cfc3fcfd8e82740250818/charset_normalizer-3.5.2-cp37-abi3-musllinux_1_2_aarch64.whl" -upload-time = 2026-09-30 04:38:38+00:00 -size = 242083 - -[packages.wheels.hashes] -sha256 = "1db38f4c5496827c1a501846d64d14c3b80c7e6714e406cd7dc36a9899fa1011" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/bd/39/559be29a0c0f086e0bba6922babd38916cc5e0b58ced4de13ee01ea05508/charset_normalizer-3.5.2-cp37-abi3-musllinux_1_2_armv7l.whl" -upload-time = 2026-09-30 04:38:39+00:00 -size = 232738 - -[packages.wheels.hashes] -sha256 = "304d8e4d493af723536393eee0c689eb7813f4a474c8b479dee63f1fdd98f621" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/ff/6c/387b0e4f756a282831c1d9fc6aeb6c51ca4507ca202767c8de15ce9b12e2/charset_normalizer-3.5.2-cp37-abi3-musllinux_1_2_ppc64le.whl" -upload-time = 2026-09-30 04:38:41+00:00 -size = 260703 - -[packages.wheels.hashes] -sha256 = "9b7f416ff0978e2f2249330527f0ad6fa02f4932e6199692d3b52da2048c19e4" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/96/92/1fdf015f09ef449f50d3ac4b67c90887c9c318b727daa95cc4f866e6521d/charset_normalizer-3.5.2-cp37-abi3-musllinux_1_2_riscv64.whl" -upload-time = 2026-09-30 04:38:42+00:00 -size = 247622 - -[packages.wheels.hashes] -sha256 = "01077390b03f7988f11d700a2194e69b119741a86b1a638b1db88891e3eced8e" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/dc/3c/8e7b8a5671ad5d433669fb2a76f1a0164df2d9b1718b0206bc2a16d840cc/charset_normalizer-3.5.2-cp37-abi3-musllinux_1_2_s390x.whl" -upload-time = 2026-09-30 04:38:44+00:00 -size = 257500 - -[packages.wheels.hashes] -sha256 = "7e841fb9010836c992c9f12fcbd43a831de93a5f726fc1ccd8ca1d0268c5014c" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/b4/f0/45b579df5cabc1d5d53ea1cc35e8437d3ca768c0acccc7041517cb6fbb32/charset_normalizer-3.5.2-cp37-abi3-musllinux_1_2_x86_64.whl" -upload-time = 2026-09-30 04:38:46+00:00 -size = 255100 - -[packages.wheels.hashes] -sha256 = "9cae88599c7219005d879f98e5ed53341e9a122af585e1091200358a3003d2a0" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/31/68/fdec18a343f5fb3f310588dd478b09ac4799e0b187dbade3a8cd776f03ef/charset_normalizer-3.5.2-cp37-abi3-win32.whl" -upload-time = 2026-09-30 04:38:47+00:00 -size = 174499 - -[packages.wheels.hashes] -sha256 = "01b0c0d2262a9e28e8484a278c7e1b5d650e3ac8cf2683d2967e25899f208bdf" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/9d/8a/b618149cc5207943a0242068d7a27897f56a62947b5a039085f2a22029f8/charset_normalizer-3.5.2-cp37-abi3-win_amd64.whl" -upload-time = 2026-09-30 04:38:49+00:00 -size = 200092 - -[packages.wheels.hashes] -sha256 = "9f56f72050826f63dcee7a7f55b0a77168cb3bfc553fd405e7f8f9ece75a4036" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/03/cf/4c66866fa9e2b1c78e3c911516d1de497a677b7ac60f1eceda74ce777ca3/charset_normalizer-3.5.2-cp37-abi3-win_arm64.whl" -upload-time = 2026-09-30 04:38:51+00:00 -size = 294363 - -[packages.wheels.hashes] -sha256 = "40ab6bffa02ae10a0581e6c198be7d2d8ca5c2a0c64e4ed3465d766df457573e" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/fc/ad/d07d7862a62ffa6d79d68074d14823243dd235a77c45262acbf6adeb28bf/charset_normalizer-3.5.2-py3-none-any.whl" -upload-time = 2026-09-30 04:39:21+00:00 -size = 68872 - -[packages.wheels.hashes] -sha256 = "b6b751274acb69d77b3323d6b7dbaa3c7fdfc1eb829b7eb61d262f32e1af9685" - -[[packages]] -name = "check-wheel-contents" -version = "0.6.3" -index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"pkg-meta\" in dependency_groups" - -[packages.sdist] -url = "https://files.pythonhosted.org/packages/95/37/2b9e0d38c2f668791ffe8b97711185c364d91c027e47f189c371c2348d18/check_wheel_contents-0.6.3.tar.gz" -upload-time = 2025-08-02 14:01:45+00:00 -size = 586023 - -[packages.sdist.hashes] -sha256 = "10e6939e2fe4e6ce1edf2ff6ec6157808677e80782e78021ae139dd88473a442" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/be/05/f39fde9f31ef80b285ef5822fad4ddabf73fec62a1f02c5beb4b2f328972/check_wheel_contents-0.6.3-py3-none-any.whl" -upload-time = 2025-08-02 14:01:43+00:00 -size = 27541 - -[packages.wheels.hashes] -sha256 = "5ae39c8c434b972f0740d04610759168590713175aab584b012b1b84f6771874" - -[[packages]] -name = "click" -version = "8.5.0" -index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"pkg-meta\" in dependency_groups or \"type\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-news\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-prepare\" in dependency_groups and (python_full_version >= '3.15'))" - -[packages.sdist] -url = "https://files.pythonhosted.org/packages/c7/0e/7fa0ef50764b67090eca4114772a2abf8b6148198475e54c660b97caeee6/click-8.5.0.tar.gz" -upload-time = 2026-08-26 13:33:14+00:00 -size = 382235 - -[packages.sdist.hashes] -sha256 = "ba0d2089de75ea0310e2dde03160e6ca10009947fb95a182f9b54021bb272e34" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/58/50/6c0d534c5f134586a8e1ba4e330569e32f057e33372ae556463212fb4cd3/click-8.5.0-py3-none-any.whl" -upload-time = 2026-08-26 13:33:12+00:00 -size = 125251 - -[packages.wheels.hashes] -sha256 = "255bc9599cf7748b4b1a446ccc735421bd08a2ae529a8b88597d3de5664ee360" - -[[packages]] -name = "colorama" -version = "0.4.6" -index = "https://pypi.org/simple" -marker = "(\"dev\" in dependency_groups and (sys_platform == 'win32')) or (\"docs\" in dependency_groups and (sys_platform == 'win32')) or (\"release\" in dependency_groups and (python_full_version >= '3.15' and sys_platform == 'win32')) or (\"test\" in dependency_groups and (sys_platform == 'win32')) or (\"type\" in dependency_groups and (sys_platform == 'win32'))" - -[packages.sdist] -url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz" -upload-time = 2022-10-25 02:36:22+00:00 -size = 27697 - -[packages.sdist.hashes] -sha256 = "08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl" -upload-time = 2022-10-25 02:36:20+00:00 -size = 25335 - -[packages.wheels.hashes] -sha256 = "4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6" - -[[packages]] -name = "covdefaults" -version = "2.3.0" -index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"test\" in dependency_groups or \"type\" in dependency_groups" - -[packages.sdist] -url = "https://files.pythonhosted.org/packages/44/ee/9a6f2611f72e4c5657ae5542a510cf4164d2c673687c0ea73bb1cbd85b4d/covdefaults-2.3.0.tar.gz" -upload-time = 2023-03-05 16:43:34+00:00 -size = 4835 - -[packages.sdist.hashes] -sha256 = "4e99f679f12d792bc62e5510fa3eb59546ed47bd569e36e4fddc4081c9c3ebf7" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/76/4c/823bc951445aa97e5a1b7e337690db3abf85212c8d138e170922e7916ac8/covdefaults-2.3.0-py2.py3-none-any.whl" -upload-time = 2023-03-05 16:43:33+00:00 -size = 5144 - -[packages.wheels.hashes] -sha256 = "2832961f6ffcfe4b57c338bc3418a3526f495c26fb9c54565409c5532f7c41be" - -[[packages]] -name = "coverage" -version = "7.16.2" -index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"test\" in dependency_groups or \"type\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15'))" - -[packages.sdist] -url = "https://files.pythonhosted.org/packages/2f/55/d1eaf3e73781174340a00dc1ba2aee8a65f82fadb18e2797b192b6b3925b/coverage-7.16.2.tar.gz" -upload-time = 2026-09-27 12:29:01+00:00 -size = 971999 - -[packages.sdist.hashes] -sha256 = "ca64d9f1f384f151b9511bec01126072acd2f313439f8ed015a22d8790aab6fa" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/58/fa/ce3baf63d85b730398d92a7162f486f3a5e4e2cc3382a02488b3943725ba/coverage-7.16.2-cp311-cp311-macosx_10_9_x86_64.whl" -upload-time = 2026-09-27 12:25:54+00:00 -size = 223797 - -[packages.wheels.hashes] -sha256 = "732d950e51f3ba4fb6209c73250f3e8924fefca42953ee04a9e65d8c02414d7d" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/7a/57/9ba29c2aac7f756d479f03d45762120060f0f988788001001bf36e0e6fca/coverage-7.16.2-cp311-cp311-macosx_11_0_arm64.whl" -upload-time = 2026-09-27 12:25:56+00:00 -size = 224303 - -[packages.wheels.hashes] -sha256 = "5dca0bb66b4c3d624ba047887bf70270030c150692d543cb501293dc38a9f4b5" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/5d/7b/0d6d60906dca7d28cc1e3fce12a9861801c4fbb6cbf220ad78cd059c9467/coverage-7.16.2-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl" -upload-time = 2026-09-27 12:25:57+00:00 -size = 254715 - -[packages.wheels.hashes] -sha256 = "af2a2a8c7c74de0559e0c368d94c8def9e16c58faaee33a0bf081057c4227e3b" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/cd/b8/9198b865679379fb165c689c64f6e11105ef380f6bd1c7673e83f73d9f5c/coverage-7.16.2-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl" -upload-time = 2026-09-27 12:25:59+00:00 -size = 256627 - -[packages.wheels.hashes] -sha256 = "db5f8394e17f877a625b257f2ba0ce8e728a499c2c1579ad66220272cd3df510" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/98/79/9521462cb6072fe394701bc8974b74afd576c9c9355156c7844e1a86a42b/coverage-7.16.2-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" -upload-time = 2026-09-27 12:26:00+00:00 -size = 258724 - -[packages.wheels.hashes] -sha256 = "5b3146d2317c75f70df2509066d979dadd941f7021cdf9b5db4bcd8568258e25" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/a6/76/8d7d5d633db9fe0f3182fedc731bf09f9bcf2366055735152504ad614677/coverage-7.16.2-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" -upload-time = 2026-09-27 12:26:02+00:00 -size = 260692 - -[packages.wheels.hashes] -sha256 = "9e1d0ced76318bab499693ff25f64faa343415187cb2e4d7befdfdd391a1cf6a" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/4e/a7/76cb09c89ba46d74d37428bf93251fc14fb0bbe9e05cc2a5ef61773d318a/coverage-7.16.2-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" -upload-time = 2026-09-27 12:26:03+00:00 -size = 254800 - -[packages.wheels.hashes] -sha256 = "af98ad5ed9d6daaca956201e00bb429a7eb2b080426686f70a20353e0f9839f5" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/72/b6/2351c1979aaeb5b4a8091a75b90ca997ad60de36e181ddba267cf61dac97/coverage-7.16.2-cp311-cp311-musllinux_1_2_aarch64.whl" -upload-time = 2026-09-27 12:26:04+00:00 -size = 256423 - -[packages.wheels.hashes] -sha256 = "1d56e4d21c56d2046447733f8b118409597db48c01efe898ee9ac24e858ec2d6" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/0f/f4/ad9a4f8b5cb2d494fa9452b546fe742ed2f9d3847cc14c05e36279a3e649/coverage-7.16.2-cp311-cp311-musllinux_1_2_i686.whl" -upload-time = 2026-09-27 12:26:06+00:00 -size = 254487 - -[packages.wheels.hashes] -sha256 = "1d5d0e3b660506fb84f995814e3118a21efdc0c8eb80127da1be627d90093c17" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/6c/1f/a520470472f3e8b01169bf42162b1470c9ba992230432f62ca36269bf3a0/coverage-7.16.2-cp311-cp311-musllinux_1_2_ppc64le.whl" -upload-time = 2026-09-27 12:26:07+00:00 -size = 258259 - -[packages.wheels.hashes] -sha256 = "17228fbca0f22976f797be94e975dcd237799c657d49551c7de1e0654d1202e9" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/09/d2/ff26d5938274745855fa61cfcba0245c88ccc10d98d2cbd96064f16cd5a7/coverage-7.16.2-cp311-cp311-musllinux_1_2_riscv64.whl" -upload-time = 2026-09-27 12:26:08+00:00 -size = 254216 - -[packages.wheels.hashes] -sha256 = "bc0b0ac781d489304b741269857f1f8338b7a26b1b89c06c0344658001ec0035" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/a4/1d/5d832d3b06785d9f53267e4f2724a9f60c312eee6ebed9063a461d0d3b45/coverage-7.16.2-cp311-cp311-musllinux_1_2_x86_64.whl" -upload-time = 2026-09-27 12:26:10+00:00 -size = 255125 - -[packages.wheels.hashes] -sha256 = "bf1bd822ec4e387ed245bed0d71151582cf7be9e5309bc4145eefe36083d5878" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/55/4d/1d33edbc2fcf7d99e384e393e712aa5a2ebbbd8409825357815982207976/coverage-7.16.2-cp311-cp311-win32.whl" -upload-time = 2026-09-27 12:26:11+00:00 -size = 225898 - -[packages.wheels.hashes] -sha256 = "7ed238d227e23cc300c3d464babdaf9f6ddc740aa1b15a77ae96136e6a7c4516" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/6f/7c/676df4882118756c4f8f560c954eddb93e166d84dda8c5f0b6a829689bde/coverage-7.16.2-cp311-cp311-win_amd64.whl" -upload-time = 2026-09-27 12:26:13+00:00 -size = 226369 - -[packages.wheels.hashes] -sha256 = "a90700f743e29aa3d75a6ff5f01953176a889c00e526194bc4d281731b88d99d" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/7a/0e/a457f4a461b3c5610d845137fdd45fa465e011a64c25af440518ab1f4e41/coverage-7.16.2-cp311-cp311-win_arm64.whl" -upload-time = 2026-09-27 12:26:15+00:00 -size = 226344 - -[packages.wheels.hashes] -sha256 = "a336eec40e3520d369b8a6cdabb4f596e69a8b42927ca074aa1452fed943238a" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/5e/2c/f8296c63c5d542f3d21aed685e56b7031a419037d155bb3382fc0940d249/coverage-7.16.2-cp312-cp312-macosx_10_13_x86_64.whl" -upload-time = 2026-09-27 12:26:16+00:00 -size = 223969 - -[packages.wheels.hashes] -sha256 = "218d742afca2b5ad5ca759e93eddedfbcc6eadf8322f080dcefc40b7bd4e2d48" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/90/23/6f3dcb1423a0d43216e402ea1746e4a7c7c44f38896b97dd573790f56a40/coverage-7.16.2-cp312-cp312-macosx_11_0_arm64.whl" -upload-time = 2026-09-27 12:26:18+00:00 -size = 224328 - -[packages.wheels.hashes] -sha256 = "a9a638be322a8d76a41cdb17781c7f82aaee6a66493d8ffb7e2c09ee22423d99" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/ac/7d/8f3b6dc920e3fc6732f7678785a2091db439f186afbec30dbf2214d9b1f7/coverage-7.16.2-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl" -upload-time = 2026-09-27 12:26:19+00:00 -size = 255832 - -[packages.wheels.hashes] -sha256 = "724bd0f1e81856b35e59fc98cf7b4e544a3cb662e4e0864dca73d4326ee9d808" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/d1/36/6c45f15be4eca4ac1062c6a55a323286494c99726a7e58951fe85967ac08/coverage-7.16.2-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl" -upload-time = 2026-09-27 12:26:21+00:00 -size = 258571 - -[packages.wheels.hashes] -sha256 = "5375ebd99038021b35e99dc88255022912c06565d316212f4a576e4b08d30f5d" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/34/fb/b54cbeba3ad89082c2e441278681859e538322cc34b84b2af7ebff00080f/coverage-7.16.2-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" -upload-time = 2026-09-27 12:26:22+00:00 -size = 259680 - -[packages.wheels.hashes] -sha256 = "7a076277ca9f5750cc230f0f578ebd2620cec60255b25707361699fef6fb465c" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/6e/a2/0dc65ec3d61930e1e4c2e371763b15eb4290896eb343a12d5d3091308116/coverage-7.16.2-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" -upload-time = 2026-09-27 12:26:24+00:00 -size = 261945 - -[packages.wheels.hashes] -sha256 = "58d4a54c6ea672afef66d49be922a2c69826c5ae1a42a9cd94f0c9c2bacdf800" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/d6/93/5fad7a61f2c14e08e98946fc31c1c7ffc1195061bf3fdc351db3be77a863/coverage-7.16.2-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" -upload-time = 2026-09-27 12:26:25+00:00 -size = 256191 - -[packages.wheels.hashes] -sha256 = "0dcbcfcc059117284c603ff8cb61a65872512882f84a8cf0339241f7f7c2f148" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/2d/47/74e5de9227b939ece9f64e729645ddc4296bea10dbfa98721c1333c8be2e/coverage-7.16.2-cp312-cp312-musllinux_1_2_aarch64.whl" -upload-time = 2026-09-27 12:26:27+00:00 -size = 257610 - -[packages.wheels.hashes] -sha256 = "afdf43b72ef3876c1fe66423b91466e37877c9e81e8cec70542b7e8525b9d1b7" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/13/fe/2cf28d40b43645d1b72388fe3ee7f7c747533a6a9557bb8c24a7ae74fe1a/coverage-7.16.2-cp312-cp312-musllinux_1_2_i686.whl" -upload-time = 2026-09-27 12:26:28+00:00 -size = 255757 - -[packages.wheels.hashes] -sha256 = "9acc7f7ec4a1b5f89bd929fde5b8a714f6fafdc6cc18725413d510aa082b47ad" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/d7/3d/7c149fd99fc8bbc39c80db5e688d1d39fd040be2ecb78b8335a51a55b9c0/coverage-7.16.2-cp312-cp312-musllinux_1_2_ppc64le.whl" -upload-time = 2026-09-27 12:26:30+00:00 -size = 259822 - -[packages.wheels.hashes] -sha256 = "80d3f7b48d43ee8fc5e8707a8adb43d743a5a1a85256c25a24f9d6d0e2238fa6" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/e6/3f/b283fce09d5995e227bd8e513358dd7471bedc0f78abc85a925ebdb0a2f6/coverage-7.16.2-cp312-cp312-musllinux_1_2_riscv64.whl" -upload-time = 2026-09-27 12:26:32+00:00 -size = 255325 - -[packages.wheels.hashes] -sha256 = "126d1af8804d7224421fe991ff65d3ce649081560df7a98b1a5ffff07f9923bd" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/bf/91/f3325edf0c4223fb1fe1532b8dbef2a1d2f729459a9a7d1a44d073bae534/coverage-7.16.2-cp312-cp312-musllinux_1_2_x86_64.whl" -upload-time = 2026-09-27 12:26:33+00:00 -size = 257191 - -[packages.wheels.hashes] -sha256 = "c19cd6d025c1673f22afcd22c7df8a662d779e05d8e3fa6820c22afb895b0206" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/c4/89/21eb5e83ecf2eed523c4eb3d65ae513cd082c8fd1b6deb34c4cb6c332f97/coverage-7.16.2-cp312-cp312-win32.whl" -upload-time = 2026-09-27 12:26:35+00:00 -size = 226034 - -[packages.wheels.hashes] -sha256 = "152877cdc8a07264882cfcd503ba56a3ef6cba56a70e8c70f6eb8ffd7384789a" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/db/de/e3ad6d864c0833624b4f1f9b53f9e58e116c945e5e965c3f1e172c5e84cd/coverage-7.16.2-cp312-cp312-win_amd64.whl" -upload-time = 2026-09-27 12:26:36+00:00 -size = 226569 - -[packages.wheels.hashes] -sha256 = "e6c52d3307824ff93b39efd99e4185d557db40bd841452abfb32e5d9151ca162" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/3e/c1/bccc58ebe5489cc70628f635c1932fd371f5d7da850dbcf960f95f4c4afc/coverage-7.16.2-cp312-cp312-win_arm64.whl" -upload-time = 2026-09-27 12:26:38+00:00 -size = 226372 - -[packages.wheels.hashes] -sha256 = "a678c0b6b22086ec2427359d22e37445d4a792f5fdbbc744112c7dade65cad02" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/f0/f6/8eb4f220ef24f84fb27d852d4f9bf83e0c73ec1a4a08dd9a87e3f4529739/coverage-7.16.2-cp313-cp313-macosx_10_13_x86_64.whl" -upload-time = 2026-09-27 12:26:40+00:00 -size = 223993 - -[packages.wheels.hashes] -sha256 = "1a37c6e478cf687e1aa30a593d19c92c02fad9d122b51ab73f51b8dc7a0c0fc9" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/40/23/d4bbaf0c154e0b0c2b5264890dbf6ef098dcb50ec8f2469be9490d191660/coverage-7.16.2-cp313-cp313-macosx_11_0_arm64.whl" -upload-time = 2026-09-27 12:26:41+00:00 -size = 224368 - -[packages.wheels.hashes] -sha256 = "0993d0e90858c03943d3cb152e068a20dd4707924deec84dd2230261baae3b1b" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/7f/48/fc1e88fd571ec5cb38150b7f89f7696ca1bdf9920e01432febb69774cc85/coverage-7.16.2-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl" -upload-time = 2026-09-27 12:26:43+00:00 -size = 255358 - -[packages.wheels.hashes] -sha256 = "bb2fc905bbf4e6b7f40806ea79e31515abf6349594cdf0adf27c4215f0463204" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/1d/56/6785397d07c29c8e70fbb9a07e97d062b43c21ffc5f12385917847f09f63/coverage-7.16.2-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl" -upload-time = 2026-09-27 12:26:45+00:00 -size = 257955 - -[packages.wheels.hashes] -sha256 = "4358b9c8c0125b460407f3017c6cce8156e904b32772c5630d27112f52bdbfe5" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/27/3b/c8cdd07721e5f99abd81cea970d971997f99bf158c0b85f51bd284179c8b/coverage-7.16.2-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" -upload-time = 2026-09-27 12:26:47+00:00 -size = 259183 - -[packages.wheels.hashes] -sha256 = "1f15254427c9b33eedac4f198eaf9e356eb4f6214551afb43da6194a2c088ad7" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/9b/11/606b192fe43d32574ec6238549d48de588fdcc18485682a5ec0a8ac357f2/coverage-7.16.2-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" -upload-time = 2026-09-27 12:26:49+00:00 -size = 261325 - -[packages.wheels.hashes] -sha256 = "9a75a4704ff640e46170042eec1f984385a121227c505d5a16ad8e495f452541" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/67/90/eea481f8b0305ceeb33f081a5f47e298391dbd1b589de0c4b3b3aa50d3f2/coverage-7.16.2-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" -upload-time = 2026-09-27 12:26:50+00:00 -size = 255531 - -[packages.wheels.hashes] -sha256 = "14253fc7bb15749b849795a06f5d3b6d8bc3fb8a4b5ddc341faf7a89dce205fc" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/6b/be/dedbf9aea1457b120c27ac10b8fc2a357f37fa2b54c3e7286d42980a0a2a/coverage-7.16.2-cp313-cp313-musllinux_1_2_aarch64.whl" -upload-time = 2026-09-27 12:26:52+00:00 -size = 257329 - -[packages.wheels.hashes] -sha256 = "921415102a90637fcc2e3f169f61dad7699ecf690e8639fc21b813acbedc0967" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/fa/cb/b25c19d5bb2bd0f2e4e27fe8e2ffcae80c7a91ae181c0dc749ed60e9b1a4/coverage-7.16.2-cp313-cp313-musllinux_1_2_i686.whl" -upload-time = 2026-09-27 12:26:53+00:00 -size = 255294 - -[packages.wheels.hashes] -sha256 = "cce2bc991293f15cc4084ca116827b5900c5f34e1a54dfe83f10ab5c43162eb7" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/5f/a2/892c5c5f4ad44b7b2ca009aee705191f3f268f15052244f2f9e3539b2e35/coverage-7.16.2-cp313-cp313-musllinux_1_2_ppc64le.whl" -upload-time = 2026-09-27 12:26:55+00:00 -size = 259444 - -[packages.wheels.hashes] -sha256 = "e1fa594c887365b69745f25a416806e61085dd07b94c9eae68a6e20730629b23" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/ed/99/a562537deba0a3e370182ae71c149be796c39d8087365f17a09188f27145/coverage-7.16.2-cp313-cp313-musllinux_1_2_riscv64.whl" -upload-time = 2026-09-27 12:26:56+00:00 -size = 255111 - -[packages.wheels.hashes] -sha256 = "11e597173af1dc33d5f8a7332ada544199269a223af1ee1770ddd5e245ad0fe8" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/2d/20/854ec68641a9b3362ff068a32dfa41637299761617ef253791dbade6fc76/coverage-7.16.2-cp313-cp313-musllinux_1_2_x86_64.whl" -upload-time = 2026-09-27 12:26:58+00:00 -size = 256882 - -[packages.wheels.hashes] -sha256 = "3e7f99698ba3a7d13988bdd984b7ebf13af4dbe2166dc8502eef90d77603b0a4" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/db/0d/748e4518b0ac0f9ff2687c248a6e5f8c0737306e709372632a2556f84443/coverage-7.16.2-cp313-cp313-win32.whl" -upload-time = 2026-09-27 12:26:59+00:00 -size = 226045 - -[packages.wheels.hashes] -sha256 = "f80bd9f9633eafc73d0a913ba2645c96ba58bba1befc30590f7c0fbfde59d865" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/31/fa/6e46edba66a183fe4d99d4bb52c173287e9b8dddabe0888d24cb8210e580/coverage-7.16.2-cp313-cp313-win_amd64.whl" -upload-time = 2026-09-27 12:27:01+00:00 -size = 226581 - -[packages.wheels.hashes] -sha256 = "8be099e979fc42559328a21828281b4578304191ae46ed4e80a407048a82eee6" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/1b/d9/9ef6845367600b336ff75d000444a0d32497d6972c833141bd39356abf68/coverage-7.16.2-cp313-cp313-win_arm64.whl" -upload-time = 2026-09-27 12:27:03+00:00 -size = 226409 - -[packages.wheels.hashes] -sha256 = "28ff850182a67d117990fa2ce5ea1032836d8c9630dae867e8bdd3bff4533b79" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/59/4c/577fc0803dab4155dcf808faffbdd7b159256781c0874a8586e17b81b149/coverage-7.16.2-cp314-cp314-macosx_10_15_x86_64.whl" -upload-time = 2026-09-27 12:27:05+00:00 -size = 224138 - -[packages.wheels.hashes] -sha256 = "4ee546b9e4872ffa194bf07ac87bfa1202ebb824d0795dc1ef22f175545ca90a" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/75/9e/e3785ba3ecba2bd11efc74bfe2801ca4b78c4480b15a375648d809a59da3/coverage-7.16.2-cp314-cp314-macosx_11_0_arm64.whl" -upload-time = 2026-09-27 12:27:06+00:00 -size = 224445 - -[packages.wheels.hashes] -sha256 = "a2fac6895eb299a2e52d7bbb8fb3903502b9da8d3f5309ceb16ec40c646b58ee" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/f0/d0/963ff22d3fd27117da3b8cc442f5bdc91196f783321e1a8ff0ec43476772/coverage-7.16.2-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl" -upload-time = 2026-09-27 12:27:08+00:00 -size = 256112 - -[packages.wheels.hashes] -sha256 = "57ff3783f99d75a1e81dd56a9737eb5665e6736a5d93258ba596b6dcad8fd05b" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/a8/d4/a306940c81c6ae759e82fff27d20b7fdc6896e422b821f51313cce212b6c/coverage-7.16.2-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl" -upload-time = 2026-09-27 12:27:09+00:00 -size = 258727 - -[packages.wheels.hashes] -sha256 = "35f37886699cb9abd29958247d718628d5bc6f39e623dff66a09e546c42a7e03" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/b9/a3/d3d99d93b02517087aa05bc0cf2d04d372956b849e5443e059079901429b/coverage-7.16.2-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" -upload-time = 2026-09-27 12:27:11+00:00 -size = 259909 - -[packages.wheels.hashes] -sha256 = "0fd7a86fdda7cb6d616d178654bd0ad6bc0f3f33c2e478aa598500a1a9e34eda" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/08/44/39dd599181726758dd185ae4dc0c0ab3aeabf7ca70e68e145060feeaaa16/coverage-7.16.2-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" -upload-time = 2026-09-27 12:27:13+00:00 -size = 262481 - -[packages.wheels.hashes] -sha256 = "ac0f3b379c94acc2f7dce5f5f0b24d44fa1cc6a509717ef83dfee07450c2117c" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/99/e8/91ee43f6ded411460c359d7e1aebde4d6fd8f00a2e5394182d9d212eb23c/coverage-7.16.2-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" -upload-time = 2026-09-27 12:27:14+00:00 -size = 256012 - -[packages.wheels.hashes] -sha256 = "7d0732c83746bc24123c581a85d9dd96b70ddb538c9076020aa1a041790361e9" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/11/8c/e9499ddc33197bd7eabcb1118ca81756fc874457b324e2b479a4804b2ad2/coverage-7.16.2-cp314-cp314-musllinux_1_2_aarch64.whl" -upload-time = 2026-09-27 12:27:16+00:00 -size = 257898 - -[packages.wheels.hashes] -sha256 = "7b451c68218c150f616bc9649783ec8de76a59792c759b43aa0c9c0466a465e4" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/5f/6e/c081cb5991a0afba99f9c4ad6c74a5fce9513a38ddc64e3e6680c6fed9af/coverage-7.16.2-cp314-cp314-musllinux_1_2_i686.whl" -upload-time = 2026-09-27 12:27:18+00:00 -size = 255938 - -[packages.wheels.hashes] -sha256 = "a56ac4fa5a75c7e182e8f62600cfb4aff43c5ed7356a034f3557659c3bec1d90" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/b2/42/1c3d819e8f9b6eb01c2fe90874d67a8882adb9507e0bbb09361ed131ea89/coverage-7.16.2-cp314-cp314-musllinux_1_2_ppc64le.whl" -upload-time = 2026-09-27 12:27:19+00:00 -size = 260368 - -[packages.wheels.hashes] -sha256 = "4cc4f73aa3fabc36e32046d6cd2971405948d8a903636508a3d3b2f9128b3a95" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/19/4f/d70eac07901fd587b6ab05e659b52afe13959992aa5113bf6cce059cc572/coverage-7.16.2-cp314-cp314-musllinux_1_2_riscv64.whl" -upload-time = 2026-09-27 12:27:21+00:00 -size = 255620 - -[packages.wheels.hashes] -sha256 = "723dcdab91357159b722935b500ee8abc0a66c8c432e1e9fabf4cc7598952de8" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/34/5e/6d87af88317d3d9a9b18a9ca1bc1673eb516917f296e579d0d4a55cb3490/coverage-7.16.2-cp314-cp314-musllinux_1_2_x86_64.whl" -upload-time = 2026-09-27 12:27:23+00:00 -size = 257521 - -[packages.wheels.hashes] -sha256 = "5397e21a90dde0e9c6896b77ded8f0be26b66f8b22b33aed41f6043ed95d55e6" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/79/bb/90c2641170d2fa1a6757b3f8450ba2740197317b0ddd749e9604b914e886/coverage-7.16.2-cp314-cp314-win32.whl" -upload-time = 2026-09-27 12:27:25+00:00 -size = 226248 - -[packages.wheels.hashes] -sha256 = "848893e1d361448c113dc2f0913503522a6f7be231d0e38333d2a22d9698a011" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/30/08/d8d0478bb02c8eb0ae20a496fc80c40fcf4d3450bd184300d682ba2d28a6/coverage-7.16.2-cp314-cp314-win_amd64.whl" -upload-time = 2026-09-27 12:27:26+00:00 -size = 226732 - -[packages.wheels.hashes] -sha256 = "5a27b731c171e43dc8b5f32b76a5051dde2ec9b9366c87028f08a7088ebc2c7b" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/32/3f/0001da22155b0a8ce063ec0f7e64ecbe17b373f306e7a74435f6d6accb72/coverage-7.16.2-cp314-cp314-win_arm64.whl" -upload-time = 2026-09-27 12:27:28+00:00 -size = 226645 - -[packages.wheels.hashes] -sha256 = "1c569a9fd25505f1cd6bea90588818f90373ce90e2632e2cacf19ddbd6e14fdb" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/d7/85/6d8813aff9b8b8586691a9d33c43c5604f7227622574da7cdc3d91a86861/coverage-7.16.2-cp314-cp314t-macosx_10_15_x86_64.whl" -upload-time = 2026-09-27 12:27:30+00:00 -size = 224871 - -[packages.wheels.hashes] -sha256 = "d93db87adb6b1c1b408dce4763314b55d76a9f589e96783a84ac9e7689e48bdf" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/5c/70/444f3a4981ac2cda40fdcf4cc9b56a4e1a33c222abeb33e51ed3e3eb2a6b/coverage-7.16.2-cp314-cp314t-macosx_11_0_arm64.whl" -upload-time = 2026-09-27 12:27:32+00:00 -size = 225123 - -[packages.wheels.hashes] -sha256 = "aa62c85046473959c13ba9edca9dc90a77d5c1095b1ba313556314d77fe5b036" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/d0/c1/980681cd7b33eb66ac835044116ef0a92e11fcc7bdd866cc89d10b1130b9/coverage-7.16.2-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl" -upload-time = 2026-09-27 12:27:34+00:00 -size = 265049 - -[packages.wheels.hashes] -sha256 = "db76506aa5416081f3e8974ae0f7965c58ada0bb0ef7339ac86099588dbb20d3" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/b2/e3/87679875c33bb2191f0f05544a1cc9adcc940fe0c35443a10f2df753dde5/coverage-7.16.2-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl" -upload-time = 2026-09-27 12:27:36+00:00 -size = 267717 - -[packages.wheels.hashes] -sha256 = "a0f2285329dac10ab08f79cb11f5692c497018e6c7c511f95e6fd63a70b8f831" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/76/64/5d372776d6eb523d4e93bafba2253f96984e3b18261c4cc56a50863c6d0d/coverage-7.16.2-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" -upload-time = 2026-09-27 12:27:37+00:00 -size = 270047 - -[packages.wheels.hashes] -sha256 = "382d3346d56b0eec1b793d53a4c88799c8053f516aa3a8d7c44315696954bacf" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/be/c1/44082ff0cbf9f97d0043f57970a71204097ec7ba606361a9fd2065393669/coverage-7.16.2-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" -upload-time = 2026-09-27 12:27:39+00:00 -size = 271360 - -[packages.wheels.hashes] -sha256 = "648352b94507179d82637292e7ae8802508d95f78e2f00a705a50b6c48011681" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/b8/17/9a215efe25b5e0ecc87c89dbe525c4a87d14d87c8c0c7316ef140a5f6f3e/coverage-7.16.2-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" -upload-time = 2026-09-27 12:27:42+00:00 -size = 264736 - -[packages.wheels.hashes] -sha256 = "fb2bde05838fffae1a1bf75e5d411a6cac3e4e9bb97e6640fed8cd47888b33f0" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/a2/da/7f0a31af8e448107d4d32844bd684757f51ea907bc0c68c8fd537b2123ff/coverage-7.16.2-cp314-cp314t-musllinux_1_2_aarch64.whl" -upload-time = 2026-09-27 12:27:43+00:00 -size = 267600 - -[packages.wheels.hashes] -sha256 = "6a75180829efb8ae62b4aded25be6ddca1c888d138d2d82e21d93bfbd88f41cb" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/dd/a4/3bfecbd3366b775bacdcb3330394d356cf384b5d8f5b2146ac4b14b252b5/coverage-7.16.2-cp314-cp314t-musllinux_1_2_i686.whl" -upload-time = 2026-09-27 12:27:45+00:00 -size = 264767 - -[packages.wheels.hashes] -sha256 = "99704f73721e23859112072d522076e11c31744fc96b5652e5dd2018aa4359f7" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/b8/3f/5d62163732d87e4a0c4710a0eab30f0fd6a2d480112abe2029f014fe8c9d/coverage-7.16.2-cp314-cp314t-musllinux_1_2_ppc64le.whl" -upload-time = 2026-09-27 12:27:47+00:00 -size = 269026 - -[packages.wheels.hashes] -sha256 = "29309ccc86b7f33df7db12813c299f215bbbc470ed6292d0bedd63ffae1ebf64" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/49/4d/8e4579f225426535085a9be371cc75e3b026d058d679b80affbdfb4c3ef0/coverage-7.16.2-cp314-cp314t-musllinux_1_2_riscv64.whl" -upload-time = 2026-09-27 12:27:49+00:00 -size = 264147 - -[packages.wheels.hashes] -sha256 = "30c1b65d529e46569899fadca59e4a87c1faf2886923f1307ba61e654d4f3c20" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/d1/36/ef1f77e2c3f7bb03c2b13b9a2006f88700fdd75535ef158d70049f425c1c/coverage-7.16.2-cp314-cp314t-musllinux_1_2_x86_64.whl" -upload-time = 2026-09-27 12:27:51+00:00 -size = 266376 - -[packages.wheels.hashes] -sha256 = "dcf4bc2aab4e16b1c4c0c2005918f23a7dd5d7821ddae82caed9e3342dc2fcce" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/be/79/0cb2bf4428830dec971c718c2c841a039c084415c99e67281f5a72841aab/coverage-7.16.2-cp314-cp314t-win32.whl" -upload-time = 2026-09-27 12:27:53+00:00 -size = 226585 - -[packages.wheels.hashes] -sha256 = "a9cd3de0a5bfe7b0e21ee10e1a14e3d61bf52efc88217ab1d95d6ace6970bd46" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/3c/f9/da17121c16667fd84998e972200ae226a41540f6ea4795776c6d99e8976f/coverage-7.16.2-cp314-cp314t-win_amd64.whl" -upload-time = 2026-09-27 12:27:55+00:00 -size = 227378 - -[packages.wheels.hashes] -sha256 = "611a44e5229a59d7483ce830160e1a0e85f700562c7a5651c7c63fb8f4eb528c" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/74/89/01179c62d1b7e6e33bd5001566b02d7f778cf33d3ec1e81e94ca170c517f/coverage-7.16.2-cp314-cp314t-win_arm64.whl" -upload-time = 2026-09-27 12:27:57+00:00 -size = 227064 - -[packages.wheels.hashes] -sha256 = "22957cef43ce038641de78ba995de7568d2d6a37c6ddbf7fa0fd7d1ae2344d91" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/4c/57/52935003c3f627ba6e5203d7179aad32448c10899663a30336aba8e81a2c/coverage-7.16.2-cp315-cp315-macosx_10_15_x86_64.whl" -upload-time = 2026-09-27 12:27:59+00:00 -size = 224140 - -[packages.wheels.hashes] -sha256 = "414c26dfdb96aac2d570a54e03008f001e32eb2d413705365503648c6bd361d8" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/31/38/df472520f3e626524d7e2fc9d6da0afe7895a2f1489d36b48af8ca40bb41/coverage-7.16.2-cp315-cp315-macosx_11_0_arm64.whl" -upload-time = 2026-09-27 12:28:01+00:00 -size = 224449 - -[packages.wheels.hashes] -sha256 = "00d3eb96e9988c45f50cccd1f1496571ac5c1f91386ac02c4d55516eeda19a24" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/0c/aa/3be084d5b82e63ccdad4ed751e4acbae294673573e30481d29f8b7402eec/coverage-7.16.2-cp315-cp315-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl" -upload-time = 2026-09-27 12:28:03+00:00 -size = 256060 - -[packages.wheels.hashes] -sha256 = "4dbbd1155ca46e6e0b6b89d204428c56ef6a459af21333f365d135a2820e5a09" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/de/29/48fca82a7ebf7ff7b2e35019cc9537e7f65e4d2aa1215cc5a8792c989251/coverage-7.16.2-cp315-cp315-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl" -upload-time = 2026-09-27 12:28:05+00:00 -size = 259106 - -[packages.wheels.hashes] -sha256 = "8fc15cc8d0d06e873c00ef18e1372d605f9aaf3de27d8c24e50782e75bc8b843" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/06/3d/b2d5986f2dd53fe201aa1be2e4ab204fa1aed5101e67c0dbbb419b850aee/coverage-7.16.2-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" -upload-time = 2026-09-27 12:28:06+00:00 -size = 260674 - -[packages.wheels.hashes] -sha256 = "9c6afdd69218202bc1758c9a14b86b8cf1084f37ed2ca143e567a103772b16d1" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/ce/7e/b50160be3506ead12e6480d14279af7f0f17627694300a2d1fd2c42d2ff5/coverage-7.16.2-cp315-cp315-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" -upload-time = 2026-09-27 12:28:08+00:00 -size = 263139 - -[packages.wheels.hashes] -sha256 = "aba5c63b7afdc749cc9eae943d5b868cba2b261a176378fa1c5a30bc8bc89982" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/14/5e/7c805ac9a32606de1399bd7e9bd375aa2f973dc61b12680d9e6403c2e891/coverage-7.16.2-cp315-cp315-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" -upload-time = 2026-09-27 12:28:10+00:00 -size = 256591 - -[packages.wheels.hashes] -sha256 = "9174f0af24e5eff248b9dbfe76ec5275a3d19d37edbc2810543f12cf97347a34" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/ab/9e/76f1ed129a2daf658a3ea17122824cf2e3b91fea0460d8d3664fc5a61018/coverage-7.16.2-cp315-cp315-musllinux_1_2_aarch64.whl" -upload-time = 2026-09-27 12:28:12+00:00 -size = 258708 - -[packages.wheels.hashes] -sha256 = "80e9fdb4c3d926b6ba721d4bf7435bdb869c3527ae7803290361d0ab73db13b6" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/5a/b7/8d62e75f48b527619239a65294f842d4b7fd02a0839d43ae1de80184e2df/coverage-7.16.2-cp315-cp315-musllinux_1_2_i686.whl" -upload-time = 2026-09-27 12:28:14+00:00 -size = 256562 - -[packages.wheels.hashes] -sha256 = "7b3bce4a0d05401d70b7d0d5ca783e686bc9d30e81dbd7d980d532609bf809e4" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/b8/8d/0a15f95c3afb78e947c52644786ba4bc9de259905687dd720d5e6fae2e76/coverage-7.16.2-cp315-cp315-musllinux_1_2_ppc64le.whl" -upload-time = 2026-09-27 12:28:17+00:00 -size = 261077 - -[packages.wheels.hashes] -sha256 = "44f21e407b278efdfc1ee5e481e00518bd1d500310a30a5fbf2bcbedfef4aaf0" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/25/00/88389987305a47d732866c07c8a500000ab574df9505e3114ac69c8d027f/coverage-7.16.2-cp315-cp315-musllinux_1_2_riscv64.whl" -upload-time = 2026-09-27 12:28:19+00:00 -size = 256034 - -[packages.wheels.hashes] -sha256 = "59c3926585e1cd1f2190f4b2ac9014de1bbeaf0d5d0587b0dc6b0aa90d17896a" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/92/02/34d079d4952ad461bde037d353f9a6e037a7edc45fe0f9ee8781ff73f028/coverage-7.16.2-cp315-cp315-musllinux_1_2_x86_64.whl" -upload-time = 2026-09-27 12:28:21+00:00 -size = 258034 - -[packages.wheels.hashes] -sha256 = "066429634299e14dd2d511e1e85f8f9cecc500781f6b41907c0dd6f1baea7e63" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/f6/d8/3e59a62879285b464ec1b10fd824fbc1af9ce66e842cd39974f80a0becc4/coverage-7.16.2-cp315-cp315-win32.whl" -upload-time = 2026-09-27 12:28:23+00:00 -size = 226252 - -[packages.wheels.hashes] -sha256 = "893ea9cf86cb8d2546812ac93d973aaf2ee1fb45110a873b014214fd23e3725e" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/f4/e1/128026e1b2836e9ad6b219207ba9edf1c5e0088a7869e23088aee7fbbe7a/coverage-7.16.2-cp315-cp315-win_amd64.whl" -upload-time = 2026-09-27 12:28:25+00:00 -size = 226728 - -[packages.wheels.hashes] -sha256 = "01c6908bc613b420c26c818fe948e1b97dfd041a53c98b01c63bd8321f5c9aae" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/a8/f4/c9fa8e7cf525ca7748ac52b0ee89331d13fe09808e45c679830708782e90/coverage-7.16.2-cp315-cp315-win_arm64.whl" -upload-time = 2026-09-27 12:28:27+00:00 -size = 226648 - -[packages.wheels.hashes] -sha256 = "967d72c835d7a8cf0af99ec813a2d06e3db6df706402f1fe85b31b437645f495" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/a2/13/e96b045447a856666f36f9c653e2a80bdaa732aaaf72412b19aa2c26a473/coverage-7.16.2-cp315-cp315t-macosx_10_15_x86_64.whl" -upload-time = 2026-09-27 12:28:29+00:00 -size = 224858 - -[packages.wheels.hashes] -sha256 = "98d9c97f51b334b0adce7b964442a9af33c1a00c6ac856984cc5dc8d18f81c75" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/23/90/087f6ad1bd3df059632ca3407a4e6552ed1053ee35354de0a771acf35423/coverage-7.16.2-cp315-cp315t-macosx_11_0_arm64.whl" -upload-time = 2026-09-27 12:28:31+00:00 -size = 225139 - -[packages.wheels.hashes] -sha256 = "3e861f1071dcc2fec1e88bef0920f6b1eaa66a143555b4f8ab79ba2b0f30ef55" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/7e/8e/285dcef0184358044e7cbcd810a1bdc9566bc620f54702d605477155df4a/coverage-7.16.2-cp315-cp315t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl" -upload-time = 2026-09-27 12:28:33+00:00 -size = 265090 - -[packages.wheels.hashes] -sha256 = "fb9d92ecfe2d5b494367c67f7446f8b75b68d8d0c8cf3bc3e6997478be25d9e2" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/06/b2/cc83f3a6e5789a4e89059c69555bc641c2efcde568405a1c06fc702951ab/coverage-7.16.2-cp315-cp315t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl" -upload-time = 2026-09-27 12:28:35+00:00 -size = 268254 - -[packages.wheels.hashes] -sha256 = "eb57acff4a74246ae513c142d4b36e18c389c3aed8661914a53f7cd0071031b2" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/ac/41/f548c19530f5d66ac6e3c92bbcbc49da7261de3a458b9f3e54a3efb1a0b2/coverage-7.16.2-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" -upload-time = 2026-09-27 12:28:36+00:00 -size = 270695 - -[packages.wheels.hashes] -sha256 = "444889f7f66b74e4455c0a97e0e166dd41177f1dca8c0239a47cff25e05ba7e1" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/94/61/4dc27cf82ef96434d2874110ad0cc10ea4621025705dc5049862bd3bd181/coverage-7.16.2-cp315-cp315t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" -upload-time = 2026-09-27 12:28:38+00:00 -size = 271853 - -[packages.wheels.hashes] -sha256 = "a740ea6f083c6db7b926534d159508f80ba275ab35e722522de0d18d0f56e55f" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/38/29/bf8072b1b8bd5f2de8b21460a404460b1a2b97e80a9464c78ec0271f6199/coverage-7.16.2-cp315-cp315t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" -upload-time = 2026-09-27 12:28:40+00:00 -size = 265644 - -[packages.wheels.hashes] -sha256 = "8e209591f7c41ae4a9171335cf6156afda0b21de73b02f73f5aa95b2d5fbb08d" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/7c/2f/0aecb8721be5cdeb8afd9d6d9f6b463f074e4d8d37f00f4c42442522709f/coverage-7.16.2-cp315-cp315t-musllinux_1_2_aarch64.whl" -upload-time = 2026-09-27 12:28:42+00:00 -size = 268530 - -[packages.wheels.hashes] -sha256 = "396bb16e04ce04efbb3df91456ae4e3da918e69ecdf67fb711b0a0fdf35ccce0" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/ab/0b/92b4b7628268ee711249958e68fc0328779bd3d9a7ab4715379465aedb84/coverage-7.16.2-cp315-cp315t-musllinux_1_2_i686.whl" -upload-time = 2026-09-27 12:28:44+00:00 -size = 265154 - -[packages.wheels.hashes] -sha256 = "9cdf19874e0d247f32f03609200370343c3c7aa260b191d8c2bb251d36198283" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/7b/d9/41c95c1ab29b3dcd357cd1227181d1c98185632aca41ce670ce671b23a43/coverage-7.16.2-cp315-cp315t-musllinux_1_2_ppc64le.whl" -upload-time = 2026-09-27 12:28:46+00:00 -size = 269799 - -[packages.wheels.hashes] -sha256 = "fd3d72233eb8b48acc94fa57d44e2d32ce8e7abed02882ccb6d855ccc4ed33ec" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/80/07/ebeb259aa5362b033a137b86d7274ff4b109d59be8cc9913889b783bf75a/coverage-7.16.2-cp315-cp315t-musllinux_1_2_riscv64.whl" -upload-time = 2026-09-27 12:28:48+00:00 -size = 265196 - -[packages.wheels.hashes] -sha256 = "bb4ffe96aa663cee727659db5a2afeb38c95f8677b747d447b90d6d4874ea2c5" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/b2/18/8437620f90d023680a072eee02f968055f3658bbfb7d386d0ea34cfb7f30/coverage-7.16.2-cp315-cp315t-musllinux_1_2_x86_64.whl" -upload-time = 2026-09-27 12:28:51+00:00 -size = 267266 - -[packages.wheels.hashes] -sha256 = "dba2edfb054f6d4a08df9d1637c39a5aa3865bca6617c13c86be21e45658a59c" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/28/6c/f08e8ee4293e6434035424180bef4d45e028e8ecc006c61bf9453e74405e/coverage-7.16.2-cp315-cp315t-win32.whl" -upload-time = 2026-09-27 12:28:53+00:00 -size = 226583 - -[packages.wheels.hashes] -sha256 = "251aed777c47c77aba047096d4542889db089227655711dfc2b9c54ef0e15e35" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/f7/fd/3f939c2847f4a72c20cff8b1ac33da78ea91a2d38d9b43336e60db719103/coverage-7.16.2-cp315-cp315t-win_amd64.whl" -upload-time = 2026-09-27 12:28:55+00:00 -size = 227374 - -[packages.wheels.hashes] -sha256 = "2aca0bdfa9e91621d5b09d815357bf63def4fc0e9cb66da67bf2cf93f3b1a6f5" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/5a/35/b98cdc354c952402132e675a87f2cc3227fb68f959c84aaa491fbe15933d/coverage-7.16.2-cp315-cp315t-win_arm64.whl" -upload-time = 2026-09-27 12:28:57+00:00 -size = 227064 - -[packages.wheels.hashes] -sha256 = "b88841e654f09732804809e435b3e005a929ffd9998b872b7b213957b8759cb8" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/3f/0c/7a64e1ac90541a8edf50daef0914848011fb057a5bf55284a4811e21939a/coverage-7.16.2-py3-none-any.whl" -upload-time = 2026-09-27 12:28:59+00:00 -size = 215754 - -[packages.wheels.hashes] -sha256 = "11d28e9123a9156cb405d8d27b44256c9a58fb5decc2073a8f17862057e3aa0f" - -[[packages]] -name = "cryptography" -version = "50.0.2" -index = "https://pypi.org/simple" -marker = "(\"dev\" in dependency_groups and (platform_machine != 'ppc64le' and platform_machine != 's390x' and sys_platform == 'linux')) or (\"pkg-meta\" in dependency_groups and (platform_machine != 'ppc64le' and platform_machine != 's390x' and sys_platform == 'linux'))" - -[packages.sdist] -url = "https://files.pythonhosted.org/packages/9d/af/182eb91b0df3fe75c4d9f26fe70684569566745f6ba7e5c9c73a862c5252/cryptography-50.0.2.tar.gz" -upload-time = 2026-09-30 15:30:04+00:00 -size = 880623 - -[packages.sdist.hashes] -sha256 = "7b46165bb56eb4704e2eaaf86f3c940d19154535d9b0ca7d6d590b04060e00d5" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/d9/69/c9bd862c3bf43d6399c433caf002df16e2dffd4be49bdf515cda38038711/cryptography-50.0.2-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" -upload-time = 2026-09-30 14:43:47+00:00 -size = 4731146 - -[packages.wheels.hashes] -sha256 = "79def8d059362e7831389ed3be0ecdf58a89386e1271e35dd9f5af84e81bffd0" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/21/69/64cef1f702bf6657e0cc186ed1a2891d50d29fb41586b254e1c07adea261/cryptography-50.0.2-cp311-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" -upload-time = 2026-09-30 14:43:49+00:00 -size = 4719841 - -[packages.wheels.hashes] -sha256 = "630ebfea3bf689d075f82316324ff7433dc447fe6bc1bfc76524b74b4a9567d2" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/38/6b/61a3f8d8c5e1e49a6cddccafc4015cc1c0021360ab0acb4080e7a423644a/cryptography-50.0.2-cp311-abi3-manylinux_2_28_aarch64.whl" -upload-time = 2026-09-30 14:43:50+00:00 -size = 4738340 - -[packages.wheels.hashes] -sha256 = "f9f6143a8c75945eb960d9eb98905a441394abfa24afaae239d514ffb2586480" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/1a/f1/b474e930c4d910328780e3940da76f5aa5cbc48ce1fc14e44d239d9ea9db/cryptography-50.0.2-cp311-abi3-manylinux_2_28_x86_64.whl" -upload-time = 2026-09-30 14:43:55+00:00 -size = 4753050 - -[packages.wheels.hashes] -sha256 = "4061c0079120205fb760c58acab6443e217307dcf05e3702cf970e0689972856" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/7c/52/9af10e80ac16b0fcc2123f9cbd5e7afbd0fd5075bb7a607c592258a39cda/cryptography-50.0.2-cp311-abi3-manylinux_2_31_armv7l.whl" -upload-time = 2026-09-30 14:43:57+00:00 -size = 4376724 - -[packages.wheels.hashes] -sha256 = "ac9ed99d81760c62fe89d5f0815cdfa1ba9a35141cf30f1c2d044f04b4803d2e" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/71/37/6202e488cc1eb625ea110c292c6bda92823176e023f427d8d5660ce8d632/cryptography-50.0.2-cp311-abi3-manylinux_2_34_aarch64.whl" -upload-time = 2026-09-30 14:43:59+00:00 -size = 4737859 - -[packages.wheels.hashes] -sha256 = "87e9ce85beb6b328ba370cc6e6aea483c92617b4c95b1d33a49297eb662bfb04" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/d3/69/2c833a049475e0a3444e94c7d0aca0aa51d166374a449b09e92ac98138de/cryptography-50.0.2-cp311-abi3-manylinux_2_34_x86_64.whl" -upload-time = 2026-09-30 14:44:04+00:00 -size = 4752576 - -[packages.wheels.hashes] -sha256 = "9dab55f57c74c3cad24c323bacbbd04be4705ba6eb0d92e920b1fc4837ed5079" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/6c/5d/906970b83bbfc1f5bbfb677a143c181f2801f23b6a7204a3b47c42c97e65/cryptography-50.0.2-cp311-abi3-musllinux_1_2_aarch64.whl" -upload-time = 2026-09-30 14:44:06+00:00 -size = 4870819 - -[packages.wheels.hashes] -sha256 = "25784ce8b9621c90c643efb9e1e2162ab3b0224cae446ad5e70e7fcb1ce18b51" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/68/e3/f2298d3bb55e0c4a91841ec4d01b3f020ba8c5fbf15ccdcc6dcf03f97025/cryptography-50.0.2-cp311-abi3-musllinux_1_2_x86_64.whl" -upload-time = 2026-09-30 14:44:09+00:00 -size = 5030152 - -[packages.wheels.hashes] -sha256 = "85d0d9a31b9098e98534226d5686b47264b95e62ce459dc2e62fdfc809f9fe93" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/19/8e/aa1fc533d4546b127b45de8aa024eb5933d23eff9debfe25931e56861095/cryptography-50.0.2-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" -upload-time = 2026-09-30 14:44:15+00:00 -size = 4710431 - -[packages.wheels.hashes] -sha256 = "0ecbc5652bdb6fc9eaf89a7d196e20941adfe812f43bc4ca05d9150496821047" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/6a/64/72bc3f75176e7e406b748a3e3830432b8c51297b38368713df04dc04898a/cryptography-50.0.2-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" -upload-time = 2026-09-30 14:44:17+00:00 -size = 4694824 - -[packages.wheels.hashes] -sha256 = "ab50ee449bf968271e820086f10a33d101dd060370abc10bcd22279be2656539" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/4e/c6/62c77550edfa5ca3f14bf44a1e6739b9fa09d6e998a11d97ed8213bccc98/cryptography-50.0.2-cp314-cp314t-manylinux_2_28_aarch64.whl" -upload-time = 2026-09-30 14:44:19+00:00 -size = 4716967 - -[packages.wheels.hashes] -sha256 = "a9f7355e6fab51f6c369b86fb7571cffa05edee2c2121e0380a37fb9ac1cd5c1" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/aa/9a/6f2f0304d634ceafdeaf23e84537336664ac419b5d07611675c2ad3f6b7a/cryptography-50.0.2-cp314-cp314t-manylinux_2_28_x86_64.whl" -upload-time = 2026-09-30 14:44:24+00:00 -size = 4727698 - -[packages.wheels.hashes] -sha256 = "241449bf940a5d27309bd317e6f9a2af6932113818bb2b8f5c59ddc7ef16da18" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/1d/de/66bcf9244d118663b2e1aaded8990f4640e3d7b7411870a5765f252074d2/cryptography-50.0.2-cp314-cp314t-manylinux_2_31_armv7l.whl" -upload-time = 2026-09-30 14:44:26+00:00 -size = 4354821 - -[packages.wheels.hashes] -sha256 = "d8947001be83df1394050758ce0e745dd74fb134eef0a4b5124208dfc3a68c37" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/bd/e6/db28a28c7b6c676addce89136de3d8db49ea825a8c863472e36e42ead4ad/cryptography-50.0.2-cp314-cp314t-manylinux_2_34_aarch64.whl" -upload-time = 2026-09-30 14:44:28+00:00 -size = 4716748 - -[packages.wheels.hashes] -sha256 = "4a20ce1e5cb4284a86692fdcba7cb8754185c6b2e5c56fcef3751cf451d3cdc2" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/6c/01/03263395f74d50b071e9e66daace3f8bef80493e5d410726f2ba8554736b/cryptography-50.0.2-cp314-cp314t-manylinux_2_34_x86_64.whl" -upload-time = 2026-09-30 14:44:32+00:00 -size = 4727268 - -[packages.wheels.hashes] -sha256 = "828d49b0ff5a0e3975865571c5d91dbbdd0d38d8289b249a163e9425413a5e05" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/eb/94/2bfe8f29ec0cc9c0d99359c4161adf32858e4934b72c6d100d2ac0bbe962/cryptography-50.0.2-cp314-cp314t-musllinux_1_2_aarch64.whl" -upload-time = 2026-09-30 14:44:34+00:00 -size = 4849503 - -[packages.wheels.hashes] -sha256 = "deb9fde5c60e437ee4821bc9bc39ff31b42135c27e1dc61ef0a629389c1de62e" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/54/44/e80651ecbf0e42b62e2bb5f5768916e07eea72e1297338956a61df361f88/cryptography-50.0.2-cp314-cp314t-musllinux_1_2_x86_64.whl" -upload-time = 2026-09-30 14:44:37+00:00 -size = 5004057 - -[packages.wheels.hashes] -sha256 = "8c71ba2cd31fc93748c38e1b613200ff1c2665cbfd5341fe3a61cfde35a1430e" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/8c/75/32ac2a56243d778805c16ca6a32b8f74fb757df7e28d7ecb560afafb59cf/cryptography-50.0.2-cp315-abi3.abi3t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" -upload-time = 2026-09-30 14:44:43+00:00 -size = 4956267 - -[packages.wheels.hashes] -sha256 = "d370b8d1dfcdf7130178137f6fbee6140774a1acc6cacefc4b42643ec11d0a3a" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/aa/a4/2c8d734e43d97f0842ee9f1b7b4bfb3d0cf5e19edebf43c2afe6675c2320/cryptography-50.0.2-cp315-abi3.abi3t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" -upload-time = 2026-09-30 14:44:45+00:00 -size = 4966465 - -[packages.wheels.hashes] -sha256 = "f2f9bd7f90c64fe89253f0a2c05e3c4856072660429ce8831b4235bf29403a67" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/c2/58/ee288c829a6f41f6235ae9dd33d82fd19b45442b65b4c8a3da36963d9f7a/cryptography-50.0.2-cp315-abi3.abi3t-manylinux_2_28_aarch64.whl" -upload-time = 2026-09-30 14:44:48+00:00 -size = 4959356 - -[packages.wheels.hashes] -sha256 = "e275096ea1e60cc595cda2836fd4a6c725d1125108b868be17f53684d164e2cc" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/02/a8/8df951850d6b31d2a00218f19e2b3f999523437ed7a819df7fa427942fca/cryptography-50.0.2-cp315-abi3.abi3t-manylinux_2_28_x86_64.whl" -upload-time = 2026-09-30 14:44:53+00:00 -size = 5001199 - -[packages.wheels.hashes] -sha256 = "58a0c478eeca76fe5e07993c5a0703def34a6dc6a0cda4f5564639b33112ffe7" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/8b/f9/36b3022218ce75b7cdf068fb95f809f9bd0d820e4955ef43b90c255cc7ac/cryptography-50.0.2-cp315-abi3.abi3t-manylinux_2_31_armv7l.whl" -upload-time = 2026-09-30 14:44:55+00:00 -size = 4629333 - -[packages.wheels.hashes] -sha256 = "d38cdff612d06fa6a32840d5e1b1f7a27cee4a349aa9085d94a67789d6bfd408" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/8c/72/20f99a219f6af47cdd1cbd978c243b92d71496e168a746138af44ded4f29/cryptography-50.0.2-cp315-abi3.abi3t-manylinux_2_34_aarch64.whl" -upload-time = 2026-09-30 14:44:59+00:00 -size = 4958822 - -[packages.wheels.hashes] -sha256 = "fdd28f912fccfec1846a94e2e1e8f9b0012f557f0c46fe4f3eb0d7a87afcf90b" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/24/95/83378121ef3eaaaf71d4b781577ff794acb39b9e1b87a3f156898c8497ed/cryptography-50.0.2-cp315-abi3.abi3t-manylinux_2_34_x86_64.whl" -upload-time = 2026-09-30 14:45:05+00:00 -size = 5000859 - -[packages.wheels.hashes] -sha256 = "e105ab60406787da31fccc883fc0f733af1efd78f0136a4599692c4083a73d0c" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/22/f7/70fd7ae4d1dbfa7ba29b02e1b9068771519a86027756510b700ce81086a8/cryptography-50.0.2-cp315-abi3.abi3t-musllinux_1_2_aarch64.whl" -upload-time = 2026-09-30 15:29:15+00:00 -size = 5092151 - -[packages.wheels.hashes] -sha256 = "6f8700550aa1474a91e5dc07049c46f98b423b5b1ddd0483e0b51362eeeaf5be" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/d4/be/688367b74de86984bd58d8efacfc7c9e68b89a6a22ced0fb4f38db50254a/cryptography-50.0.2-cp315-abi3.abi3t-musllinux_1_2_x86_64.whl" -upload-time = 2026-09-30 15:29:18+00:00 -size = 5286120 - -[packages.wheels.hashes] -sha256 = "c71be1cbfa5cd9a41ee452acf1eccd82b2c05950358b106ec8ceb83411d1a020" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/d5/8d/6d585339bedf85d45044c85d8412dac53f2bb6f918e8b7777efba1787844/cryptography-50.0.2-cp39-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" -upload-time = 2026-09-30 15:29:24+00:00 -size = 4756166 - -[packages.wheels.hashes] -sha256 = "c5e67125c7dca78d199ec4e116aa93dbb83494808ecbb8211a2cb09b1bf41dbd" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/bf/f1/1c1f6874e8550cfddd4b688ceb38cefb6ed15ceed224d56f133f3d88c214/cryptography-50.0.2-cp39-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" -upload-time = 2026-09-30 15:29:26+00:00 -size = 4749145 - -[packages.wheels.hashes] -sha256 = "ee247f5c245c9a2fe7c8e2214e295918838e44e00a45a6718451e4004219e767" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/c1/63/61b15dc1a8de03fe0adbe3fd7608b3ad5c73bf50993bbcb1faaa930afe33/cryptography-50.0.2-cp39-abi3-manylinux_2_28_aarch64.whl" -upload-time = 2026-09-30 15:29:28+00:00 -size = 4763638 - -[packages.wheels.hashes] -sha256 = "dfe9763530994147d9af1def057a5b9658b00e8f8fe8743d144d1e0911c2e454" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/4f/87/ef344a9e616871f2519c22d6afcda79ddd5d35e9592d95eb6e677608d055/cryptography-50.0.2-cp39-abi3-manylinux_2_28_x86_64.whl" -upload-time = 2026-09-30 15:29:32+00:00 -size = 4781387 - -[packages.wheels.hashes] -sha256 = "f21e8a22c8605750c7af886bab299a363721264061b4ac0a30efb73cfd58efc5" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/90/5b/f2fdb13cd0b96f6f932c8627bb292a45f11c64d21620a8e120aee9a3b848/cryptography-50.0.2-cp39-abi3-manylinux_2_31_armv7l.whl" -upload-time = 2026-09-30 15:29:34+00:00 -size = 4403790 - -[packages.wheels.hashes] -sha256 = "9c8402a82ea0dc4ceeab793db05f0fafa8ca139ca34fcde5df0f596103c74107" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/bc/ce/7e4f662b1e3c393513569e402cfc85ac7da0bd3d5435e122a3140219eb2d/cryptography-50.0.2-cp39-abi3-manylinux_2_34_aarch64.whl" -upload-time = 2026-09-30 15:29:36+00:00 -size = 4764319 - -[packages.wheels.hashes] -sha256 = "0ddc924c04591c2811ca024d62ecad4f7f6f08af8939c211438f48a16bd23602" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/40/cf/6b5c8e2fd9202d98988ab7cb5cc5c991704c4ad55f492ff408e4969f83f1/cryptography-50.0.2-cp39-abi3-manylinux_2_34_x86_64.whl" -upload-time = 2026-09-30 15:29:41+00:00 -size = 4780973 - -[packages.wheels.hashes] -sha256 = "1981f1db4630889b9ef7803fadef12b056f428cb6b85c27ba57b774793b6093c" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/10/bf/8d6ebc7dded797bd0f0160d52188021211f011a2b164ef0ae1dac4587465/cryptography-50.0.2-cp39-abi3-musllinux_1_2_aarch64.whl" -upload-time = 2026-09-30 15:29:43+00:00 -size = 4897738 - -[packages.wheels.hashes] -sha256 = "7a8701d6b584d76e909e3d305b7d126b41439876a5aaf76cddc67fc230eafa2e" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/d4/aa/f3f6e0de7e6253b8baa8b2d8fb9d50924fa75cee3d4624bd4bc1208ee923/cryptography-50.0.2-cp39-abi3-musllinux_1_2_x86_64.whl" -upload-time = 2026-09-30 15:29:44+00:00 -size = 5058280 - -[packages.wheels.hashes] -sha256 = "ce47f66801c20ec6c6632453bb5960fe38939e9306970b48b3a5a26de7745d94" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/1d/7a/f08d34ce09d60f89ebd391e2ebc6ba2b995e6dd7552f41820f8085f94e53/cryptography-50.0.2-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl" -upload-time = 2026-09-30 15:29:48+00:00 -size = 4716035 - -[packages.wheels.hashes] -sha256 = "92e665960f25fcdc73725b9cec7a3824f279ba97a98653afe9ffac2e43668f67" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/45/67/e18fb65592451a2acb76e9f2fbe14e0f47a8318b4c5430f1633851d03daa/cryptography-50.0.2-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl" -upload-time = 2026-09-30 15:29:50+00:00 -size = 4726917 - -[packages.wheels.hashes] -sha256 = "eef4c2f3423810b3070ab391f85436d2f8bbfcb286ac15cbc73190b3563b1f1a" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/83/28/38fdce17e60f6b825e69fc3b7f75e70a6612759980704697e1de4cbfaf6e/cryptography-50.0.2-pp311-pypy311_pp73-manylinux_2_34_aarch64.whl" -upload-time = 2026-09-30 15:29:52+00:00 -size = 4715341 - -[packages.wheels.hashes] -sha256 = "7c6d0330c472d96f6a6afe24d80dfdf15176c33096f0a4397ae4c60f3dd3be48" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/b6/b1/d9121a717e0f893c64bd6ca7702614778d7df2a5c309128a002421788516/cryptography-50.0.2-pp311-pypy311_pp73-manylinux_2_34_x86_64.whl" -upload-time = 2026-09-30 15:29:54+00:00 -size = 4726322 - -[packages.wheels.hashes] -sha256 = "1ba34f04897fcdaa73f74145c25f3ec146fbd56593853e88adc2e811303c5f42" - -[[packages]] -name = "cython" -version = "3.3.0" -marker = "\"build\" in dependency_groups" - -[packages.sdist] -url = "https://files.pythonhosted.org/packages/a9/d8/4981ef716ad0e3ff0d3ef383aefc6b03c4a88dee33b272bf8e0d833001ca/cython-3.3.0.tar.gz" -upload-time = 2026-08-22 05:16:39+00:00 -size = 3727515 - -[packages.sdist.hashes] -sha256 = "eed0d93fbca7087f143b42c34b05a825849bdf17f101572c2105acfa49aa88b8" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/af/67/dffaf12b7203f7e936d98b967e065c50a7883f152c51ded44ed8762128f4/cython-3.3.0-cp311-cp311-macosx_11_0_arm64.whl" -upload-time = 2026-08-22 05:16:59+00:00 -size = 3134644 - -[packages.wheels.hashes] -sha256 = "ec09dbf73ff4f7be2b339b995fadae9c4bb517bbbed7ec11d6fe99c2092b48fd" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/6a/f2/9dc6a3bad9c9d11bf31903321553820a661ce00319a57c4181bf0dcb87f4/cython-3.3.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" -upload-time = 2026-08-22 05:17:01+00:00 -size = 3346108 - -[packages.wheels.hashes] -sha256 = "11e437f086affee8051cec4bb531be3edb646ab66e325154aa6849377f365033" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/3f/9b/dd726d11b2aff24f0c3fa68ce9e3934097a058aca471a8cc9888aeae5471/cython-3.3.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" -upload-time = 2026-08-22 05:17:03+00:00 -size = 3479260 - -[packages.wheels.hashes] -sha256 = "e6035b5231a9316edc19d6415f4296fd1d0370e2a165a714b3edc167b9ca00e1" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/43/55/7408773fdadb2b3434501109696533555ba89f233366519c661372c69098/cython-3.3.0-cp311-cp311-win_amd64.whl" -upload-time = 2026-08-22 05:17:06+00:00 -size = 2862883 - -[packages.wheels.hashes] -sha256 = "8566ea804cfc265f5e9dda71d1b716aa24ee4c3423a5da4b28a248a78c33e3f9" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/da/0f/95bad838a80ac52c9e982dad00bd9a0b2bad57fb4c688e5f53ac3ef65ff0/cython-3.3.0-cp312-cp312-macosx_11_0_arm64.whl" -upload-time = 2026-08-22 05:17:07+00:00 -size = 3143472 - -[packages.wheels.hashes] -sha256 = "03bc5333932f5dda3ba9315298ecdd21daa1b58410bb1f8ce04c78ec8337130a" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/91/8b/53d4a84de853b39940a0e35a6a2a9ed5f54cb05468daee95bc0fd1c2a178/cython-3.3.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" -upload-time = 2026-08-22 05:17:09+00:00 -size = 3258974 - -[packages.wheels.hashes] -sha256 = "7e321ae700995a16dc3055ada06ffb8d61e1a7434e5d0e811547a45ac1015ebd" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/6a/4e/6b1c5a4e6bbe1726104de007aa2fdf01a3e2e386b4ec93c7be5f5085d53f/cython-3.3.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" -upload-time = 2026-08-22 05:17:12+00:00 -size = 3412225 - -[packages.wheels.hashes] -sha256 = "428fafed98ea26927000a287b4dfc9ef07339f56656a5329a34eaa593f79a4f8" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/f4/9b/cd724d91c500116769bdb853450a2197ba3d640dbbe3b02fc54ebdfdbd1b/cython-3.3.0-cp312-cp312-win_amd64.whl" -upload-time = 2026-08-22 05:17:14+00:00 -size = 2872123 - -[packages.wheels.hashes] -sha256 = "333449cc0350baedee5a6af27929eac8a71eac4ec59333c45ff476b33c6c660d" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/2f/cc/abc977cf683140e372714acea42164ecfc5cd3d3984ed025860e6d830ee4/cython-3.3.0-cp313-cp313-macosx_11_0_arm64.whl" -upload-time = 2026-08-22 05:17:16+00:00 -size = 3134892 - -[packages.wheels.hashes] -sha256 = "03056533fe4fdbc4f1d34a39178f9a4937ff35196f8bcdde2a67b5b5809c61fe" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/a3/60/5367e7c80776a185ac11e0ea738fdaf18b9d0bc21d2c2bafc4d87eb19964/cython-3.3.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" -upload-time = 2026-08-22 05:17:18+00:00 -size = 3251835 - -[packages.wheels.hashes] -sha256 = "bc2f2a6b65a991666cfd35a35bab0cd88ffba4df2f601edb6e76cc8116de24b9" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/bc/b8/fc595c60a7b6f5f08b4f6ad65e60688e8c61f76064ebe847eaf85d0c59fa/cython-3.3.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" -upload-time = 2026-08-22 05:17:20+00:00 -size = 3407705 - -[packages.wheels.hashes] -sha256 = "23942b0662642927a55676e4b26e6840fb166dd7d76436384685227e7e8619a4" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/d8/d7/376572ff69ef39a9bdcd727124f6c38aa066300e97734a4902a3ae0d2af0/cython-3.3.0-cp313-cp313-win_amd64.whl" -upload-time = 2026-08-22 05:17:22+00:00 -size = 2866216 - -[packages.wheels.hashes] -sha256 = "ab24d1a4fb6aaf0b5b6fcd75a6d70255fbd3130fa78884c26991f8d5502616b5" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/8a/7f/e409f76bb955ecdcb746b80350b945fbb808846d797346d647a37e1790ca/cython-3.3.0-cp314-cp314-macosx_11_0_arm64.whl" -upload-time = 2026-08-22 05:17:24+00:00 -size = 3186700 - -[packages.wheels.hashes] -sha256 = "0deedc2e9a5a664e1adfa4c2d310aa7b54903e1a647c274b6c9213f77a02d637" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/0e/6b/4a623ab6e4a5b9814b22849665cb212273f9735399a7ebca4f3e8c254f1a/cython-3.3.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" -upload-time = 2026-08-22 05:17:26+00:00 -size = 3330606 - -[packages.wheels.hashes] -sha256 = "46072c0d404616b5e652a63882c79cc3f8a1d62635a8692f56ed0e416a4dfed8" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/9f/57/6d620ebee4fc24d89340427702f6ceaf7b956511d1f2222a88c92c1a72b7/cython-3.3.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" -upload-time = 2026-08-22 05:17:28+00:00 -size = 3454681 - -[packages.wheels.hashes] -sha256 = "82f94565b6001bab8e31bf52a0911672910b5735910612a2c0f772c719670006" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/73/4e/26e0a584d06c5b3f345df491d2546479606c89217627ee163f1aa55e899f/cython-3.3.0-cp314-cp314-win_amd64.whl" -upload-time = 2026-08-22 05:17:30+00:00 -size = 2925966 - -[packages.wheels.hashes] -sha256 = "51999fb834365721b6c7f689cf6e2ec7c8667aae783df9eb5e589c290a414d9c" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/ea/45/7f6988070013e16918e39b1b3dab9c5f2c8e404253a7fd10ee685bbd6902/cython-3.3.0-cp315-cp315-macosx_11_0_arm64.whl" -upload-time = 2026-08-22 05:17:32+00:00 -size = 3177681 - -[packages.wheels.hashes] -sha256 = "596e8df019372a2cd417805015022d42cb8ee4e1803ccdc11ed00e451625fb66" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/6e/5d/afb6866ab10236bb208dff0f172ea4b397c9693c5250280c4d9d26057218/cython-3.3.0-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" -upload-time = 2026-08-22 05:17:34+00:00 -size = 3328312 - -[packages.wheels.hashes] -sha256 = "4a36c34d1950845b8ac148653b07cdc62421a4b0d9abfcc849e69f1c4ff9919d" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/c9/aa/4c0b6773ecf6bc1ec6cda7db8312a566611b330fb6dae87d740e44a47822/cython-3.3.0-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" -upload-time = 2026-08-22 05:17:36+00:00 -size = 3454285 - -[packages.wheels.hashes] -sha256 = "b447f6906e0555f05dc4742ef1f99091b1e5d9aa9f16616e772fbf9ff6271616" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/44/bb/3e2631122f96300723d6fc42b9cf65550bdcda570a6ad5c4e0226e2e787c/cython-3.3.0-cp315-cp315-win_amd64.whl" -upload-time = 2026-08-22 05:17:38+00:00 -size = 2924709 - -[packages.wheels.hashes] -sha256 = "b55c72e8eccdd508c8de3cf3bbc543aafbb3bf6a518e1ee20358d3241cd780ef" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/14/59/bc1a84b434cb5bebb0cd6f50da8f239d35a5c141b20fdeafc2817fd87778/cython-3.3.0-cp39-abi3-macosx_10_9_x86_64.whl" -upload-time = 2026-08-22 05:17:40+00:00 -size = 3063660 - -[packages.wheels.hashes] -sha256 = "e0d2713d2b292c826bc21dc8732bd9e47628103aa3764180c881e04b3fef95dc" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/ba/6d/542e32908fb421d88354f327ed6450e14240f9825d25393065bc65f4723f/cython-3.3.0-cp39-abi3-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl" -upload-time = 2026-08-22 05:17:43+00:00 -size = 3358395 - -[packages.wheels.hashes] -sha256 = "169e56fd411f4cd5bba51c82f8239421d547a846099db2b261e4aed48ba9f51f" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/9c/7c/ddaf197bc65b581e1891657940bc4f7cb1f740e822115e828920b3a119ce/cython-3.3.0-cp39-abi3-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl" -upload-time = 2026-08-22 05:17:44+00:00 -size = 3041760 - -[packages.wheels.hashes] -sha256 = "29f38ebafdf23e3da2516f40c4d065da38bfe002181bf93e2b8cf1262449aba6" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/19/a7/ae5ec3e34d43da846ed4c425734752d83aae0dae49feb929f09c90fc9afa/cython-3.3.0-cp39-abi3-musllinux_1_2_aarch64.whl" -upload-time = 2026-08-22 05:17:46+00:00 -size = 3156152 - -[packages.wheels.hashes] -sha256 = "75c4ae8a6d3a5ccf3cdaba8ab32e6a8d0cd38e3a476aa7ac12df8f8171a8d570" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/31/44/c60b601fc43f0b08e9d6f14b94e0dd02eb0ca8d60f46e242ace7191ac1be/cython-3.3.0-cp39-abi3-musllinux_1_2_armv7l.whl" -upload-time = 2026-08-22 05:17:48+00:00 -size = 3046690 - -[packages.wheels.hashes] -sha256 = "b94fb5613b9fe34c27d13ec9972dc0dcd2a2155db2902e93921cadc162610a38" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/b0/9e/d735c26ed907563d3365534006acb263651c2d3b87fee804f7a483dd1714/cython-3.3.0-cp39-abi3-musllinux_1_2_i686.whl" -upload-time = 2026-08-22 05:17:50+00:00 -size = 3373534 - -[packages.wheels.hashes] -sha256 = "c4558ba85849ab65dc57e10fd0efb13fabd9d3c09981a2566e18dec7cf47586a" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/e0/e8/aa7b4f3a28d6e8117c76e2cf78a0df7a503486cdf7243c5b53200c9533a1/cython-3.3.0-cp39-abi3-musllinux_1_2_x86_64.whl" -upload-time = 2026-08-22 05:17:52+00:00 -size = 3265110 - -[packages.wheels.hashes] -sha256 = "311a016369adfd1e0015c4f9819168fc0e518451d7efb4435c30d65a3a26d52b" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/9c/66/37892a8999d6bbd3f92d691a9701cb720c8ddd6171e16f5148eee6e8cb7f/cython-3.3.0-cp39-abi3-win32.whl" -upload-time = 2026-08-22 05:17:54+00:00 -size = 2587733 - -[packages.wheels.hashes] -sha256 = "90869072e50b7c8904fe1dd7810321ae901fd5637a6eec6646ed9c57f9eb1081" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/19/a2/5f4d305cbd4489d21570e5491ad5c483c478cdab032853e2125c280e3bd5/cython-3.3.0-cp39-abi3-win_arm64.whl" -upload-time = 2026-08-22 05:17:56+00:00 -size = 2608078 - -[packages.wheels.hashes] -sha256 = "dce56c26d388f00a19426371b6926bf2f77c5c03b71d5273e4556c68be98c2dd" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/bf/77/67b0b24e45073a699610e50f00c18474ff9b09ea29ecc95083bdf5e60acd/cython-3.3.0-py3-none-any.whl" -upload-time = 2026-08-22 05:16:36+00:00 -size = 1349151 - -[packages.wheels.hashes] -sha256 = "9b24b5c8cd536946b62086fcafee6d5509d3f549f72d553d2336af87ffbe0da1" - -[[packages]] -name = "distlib" -version = "0.4.3" -index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"lint\" in dependency_groups" - -[packages.sdist] -url = "https://files.pythonhosted.org/packages/c9/02/bd72be9134d25ed783ecbbc38a539ffaefbf90c78418c7fb7229600dbac7/distlib-0.4.3.tar.gz" -upload-time = 2026-06-12 08:04:52+00:00 -size = 615141 - -[packages.sdist.hashes] -sha256 = "f152097224a0ae24be5a0f6bae1b9359af82133bce63f98a95f86cae1aede9ed" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/02/08/9c41fb51ab5b43eb21674aff13df270e8ba6c4b29c8624e328dc7a9482af/distlib-0.4.3-py2.py3-none-any.whl" -upload-time = 2026-06-12 08:04:50+00:00 -size = 470628 - -[packages.wheels.hashes] -sha256 = "4b0ce306c966eb73bc3a7b6abad017c556dadd92c44701562cd528ac7fde4d5b" - -[[packages]] -name = "docstrfmt" -version = "2.2.1" -index = "https://pypi.org/simple" -marker = "(\"release\" in dependency_groups and (python_full_version >= '3.15'))" - -[packages.sdist] -url = "https://files.pythonhosted.org/packages/d1/83/d25208b56d831925ef13534c110ab445a04af01c882805f88c996651d803/docstrfmt-2.2.1.tar.gz" -upload-time = 2026-08-28 18:00:17+00:00 -size = 43625 - -[packages.sdist.hashes] -sha256 = "9f35b62e746962efe32f7af27b3bf69e104a4e69827a49a9f488da770271bd0e" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/58/5b/4e0bcef7ae9bf9725bf5617b51dc03783eb777b5d35c84252b76012a1726/docstrfmt-2.2.1-py3-none-any.whl" -upload-time = 2026-08-28 18:00:15+00:00 -size = 43440 - -[packages.wheels.hashes] -sha256 = "a0a9962dbd64684b9bea2af582c631ae174d06850cd960eb37221dd6a0d6cdc4" - -[[packages]] -name = "docutils" -version = "0.22.4" -index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"pkg-meta\" in dependency_groups or \"type\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15'))" - -[packages.sdist] -url = "https://files.pythonhosted.org/packages/ae/b6/03bb70946330e88ffec97aefd3ea75ba575cb2e762061e0e62a213befee8/docutils-0.22.4.tar.gz" -upload-time = 2025-12-18 19:00:26+00:00 -size = 2291750 - -[packages.sdist.hashes] -sha256 = "4db53b1fde9abecbb74d91230d32ab626d94f6badfc575d6db9194a49df29968" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/02/10/5da547df7a391dcde17f59520a231527b8571e6f46fc8efb02ccb370ab12/docutils-0.22.4-py3-none-any.whl" -upload-time = 2025-12-18 19:00:18+00:00 -size = 633196 - -[packages.wheels.hashes] -sha256 = "d0013f540772d1420576855455d050a2180186c91c15779301ac2ccb3eeb68de" - -[[packages]] -name = "docutils-stubs" -version = "0.0.22" -index = "https://pypi.org/simple" -marker = "(\"release\" in dependency_groups and (python_full_version >= '3.15'))" - -[packages.sdist] -url = "https://files.pythonhosted.org/packages/31/fb/3eda037eed8b98d6b2169e4198a8f12a03a461c4d4dc44de1a7790d0f7c7/docutils-stubs-0.0.22.tar.gz" -upload-time = 2022-01-02 11:13:17+00:00 -size = 43699 - -[packages.sdist.hashes] -sha256 = "1736d9650cfc20cff8c72582806c33a5c642694e2df9e430717e7da7e73efbdf" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/59/85/10507e1011d5370b94567e4b57f93086a2476d1da73caf98dc53aa87004b/docutils_stubs-0.0.22-py3-none-any.whl" -upload-time = 2022-01-02 11:13:15+00:00 -size = 87506 - -[packages.wheels.hashes] -sha256 = "157807309de24e8c96af9a13afe207410f1fc6e5aab5d974fd6b9191f04de327" - -[[packages]] -name = "filelock" -version = "4.2.0" -index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"lint\" in dependency_groups" - -[packages.sdist] -url = "https://files.pythonhosted.org/packages/f4/a9/1af41b37c3279712b22cdc63aac78a52432202b6fe1f9666a2a3d2831fb4/filelock-4.2.0.tar.gz" -upload-time = 2026-10-14 20:57:13+00:00 -size = 569667 - -[packages.sdist.hashes] -sha256 = "7a60906c75227cf04d0c273afadc8219400f11aeb13cc69591d4f6cdc6c8036e" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/8e/a3/9bc26acff301fe1aaea1cc3d82a1d57e0a34df3e1cadbfa91ac2dbcdde5c/filelock-4.2.0-py3-none-any.whl" -upload-time = 2026-10-14 20:57:11+00:00 -size = 135032 - -[packages.wheels.hashes] -sha256 = "2ff5690882e8cdb00ef31fb3d01a3094c29f30985426c59495afb1733f3b7238" - -[[packages]] -name = "furo" -version = "2025.12.19" -index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"type\" in dependency_groups" - -[packages.sdist] -url = "https://files.pythonhosted.org/packages/ec/20/5f5ad4da6a5a27c80f2ed2ee9aee3f9e36c66e56e21c00fde467b2f8f88f/furo-2025.12.19.tar.gz" -upload-time = 2025-12-19 17:34:40+00:00 -size = 1661473 - -[packages.sdist.hashes] -sha256 = "188d1f942037d8b37cd3985b955839fea62baa1730087dc29d157677c857e2a7" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/f4/b2/50e9b292b5cac13e9e81272c7171301abc753a60460d21505b606e15cf21/furo-2025.12.19-py3-none-any.whl" -upload-time = 2025-12-19 17:34:38+00:00 -size = 339262 - -[packages.wheels.hashes] -sha256 = "bb0ead5309f9500130665a26bee87693c41ce4dbdff864dbfb6b0dae4673d24f" - -[[packages]] -name = "hatch-fancy-pypi-readme" -version = "25.1.0" -marker = "\"build\" in dependency_groups" - -[packages.sdist] -url = "https://files.pythonhosted.org/packages/f3/0f/aed57c301f339936eb91cb4d8c1e5088a101081854bd3ec18a889df32365/hatch_fancy_pypi_readme-25.1.0.tar.gz" -upload-time = 2025-05-01 10:34:42+00:00 -size = 29701 - -[packages.sdist.hashes] -sha256 = "9c58ed3dff90d51f43414ce37009ad1d5b0f08ffc9fc216998a06380f01c0045" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/58/b4/ad71e051b34f1935783de37beffee16e343ff2514b204dc515f9e939d4af/hatch_fancy_pypi_readme-25.1.0-py3-none-any.whl" -upload-time = 2025-05-01 10:34:41+00:00 -size = 10046 - -[packages.wheels.hashes] -sha256 = "ce0134c40d63d874ac48f48ccc678b8f3b62b8e50e9318520d2bffc752eedaf3" - -[[packages]] -name = "hatch-vcs" -version = "0.5.0" -marker = "\"build\" in dependency_groups" - -[packages.sdist] -url = "https://files.pythonhosted.org/packages/6b/b0/4cc743d38adbee9d57d786fa496ed1daadb17e48589b6da8fa55717a0746/hatch_vcs-0.5.0.tar.gz" -upload-time = 2025-05-27 05:16:04+00:00 -size = 11424 - -[packages.sdist.hashes] -sha256 = "0395fa126940340215090c344a2bf4e2a77bcbe7daab16f41b37b98c95809ff9" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/5f/48/1f85cee4b7b4f40b9b814b1febbc661bda6ced9649e410a0b74f6e415dd0/hatch_vcs-0.5.0-py3-none-any.whl" -upload-time = 2025-05-27 05:16:03+00:00 -size = 8507 - -[packages.wheels.hashes] -sha256 = "b49677dbdc597460cc22d01b27ab3696f5e16a21ecf2700fb01bc28e1f2a04a7" - -[[packages]] -name = "hatchling" -version = "1.32.4" -marker = "\"build\" in dependency_groups" - -[packages.sdist] -url = "https://files.pythonhosted.org/packages/f6/97/b5312f01a8c6daf729a9d272dd442e0c546dbcc630495788786c4b567ed0/hatchling-1.32.4.tar.gz" -upload-time = 2026-09-20 22:48:45+00:00 -size = 58065 - -[packages.sdist.hashes] -sha256 = "c4468f73144c054d2aab4ef0f0378c43b9878bf07f8ffd6b79690e970d375f07" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/5f/80/91f51f439c05d4ec4623c22928ce16a938d6d793bf709477830823497859/hatchling-1.32.4-py3-none-any.whl" -upload-time = 2026-09-20 22:48:44+00:00 -size = 78748 - -[packages.wheels.hashes] -sha256 = "08ecf7548fb48205e7f213d70c71e67b8271b7242093dc3f1da578b42c734a2c" - -[[packages]] -name = "id" -version = "1.6.1" -index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"pkg-meta\" in dependency_groups" - -[packages.sdist] -url = "https://files.pythonhosted.org/packages/6d/04/c2156091427636080787aac190019dc64096e56a23b7364d3c1764ee3a06/id-1.6.1.tar.gz" -upload-time = 2026-02-04 16:19:41+00:00 -size = 18088 - -[packages.sdist.hashes] -sha256 = "d0732d624fb46fd4e7bc4e5152f00214450953b9e772c182c1c22964def1a069" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/42/77/de194443bf38daed9452139e960c632b0ef9f9a5dd9ce605fdf18ca9f1b1/id-1.6.1-py3-none-any.whl" -upload-time = 2026-02-04 16:19:40+00:00 -size = 14689 - -[packages.wheels.hashes] -sha256 = "f5ec41ed2629a508f5d0988eda142e190c9c6da971100612c4de9ad9f9b237ca" - -[[packages]] -name = "identify" -version = "2.6.20" -index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"lint\" in dependency_groups" - -[packages.sdist] -url = "https://files.pythonhosted.org/packages/53/35/d70c0006c7cee65999ea94a6273e60b2094f600a3d8b71b04318253fc643/identify-2.6.20.tar.gz" -upload-time = 2026-09-26 20:29:07+00:00 -size = 99681 - -[packages.sdist.hashes] -sha256 = "ad729860a923858d26917c2f4fb0a1d83d27a75b1e090c06440c573f048f3285" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/fa/70/fffc9613501877c0a10a1ef73a165e6ded3e53f6e7502227fef56d973933/identify-2.6.20-py2.py3-none-any.whl" -upload-time = 2026-09-26 20:29:06+00:00 -size = 99506 - -[packages.wheels.hashes] -sha256 = "6a16b69b93187244e0548cbfd25b3e4a6f9a7a2ad784625c3bec2b8d27b81aaa" - -[[packages]] -name = "idna" -version = "3.20" -index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"pkg-meta\" in dependency_groups or \"type\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15'))" - -[packages.sdist] -url = "https://files.pythonhosted.org/packages/f5/08/8eea9d4b8302028f3abb2c0813953f7aec26d33b7a8960ed760e65ff29fa/idna-3.20.tar.gz" -upload-time = 2026-09-17 14:11:04+00:00 -size = 216463 - -[packages.sdist.hashes] -sha256 = "a7db850025b95ded1eae8a46181a1a6c56c92c96f0e2b005d9ff8dc0210cab44" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/58/a2/bb081bab032533a855d44de1d56f8e8426114ff1ba5d1f07a438a0a654f8/idna-3.20-py3-none-any.whl" -upload-time = 2026-09-17 14:11:03+00:00 -size = 69583 - -[packages.wheels.hashes] -sha256 = "ab7ae7122974553370f0bdb919e1a960b2cd1bc1ef0276416d896db81c14582c" - -[[packages]] -name = "imagesize" -version = "2.0.1" -index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"type\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15'))" - -[packages.sdist] -url = "https://files.pythonhosted.org/packages/fb/5e/513ff06670c84e7b9887c1fdf61b2d42b4f574a831f2f1d2222023049d8a/imagesize-2.0.1.tar.gz" -upload-time = 2026-08-24 12:35:19+00:00 -size = 1883774 - -[packages.sdist.hashes] -sha256 = "b2ba6a4dea487a7ebcd53248d3476aca449d30db12a2dde5e0c5ca9624fd77e5" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/01/f9/575c8d760eae1fc99651b7cc5efd96ad5379ca4d6b53750b0fb4fe983f34/imagesize-2.0.1-py3-none-any.whl" -upload-time = 2026-08-24 12:35:12+00:00 -size = 14794 - -[packages.wheels.hashes] -sha256 = "ea0c9a0384df69ed86a943a15cde37d0360b82491b3910dc2215e202e62b5b02" - -[[packages]] -name = "importlib-metadata" -version = "9.0.1" -index = "https://pypi.org/simple" -marker = "(\"dev\" in dependency_groups and (python_full_version < '3.12' and platform_machine != 'ppc64le' and platform_machine != 's390x')) or (\"pkg-meta\" in dependency_groups and (python_full_version < '3.12' and platform_machine != 'ppc64le' and platform_machine != 's390x'))" - -[packages.sdist] -url = "https://files.pythonhosted.org/packages/6f/7e/1e7e8dc30634b93ebb3d58a3dea569ad146e656218d3960ab04f62047b29/importlib_metadata-9.0.1.tar.gz" -upload-time = 2026-08-28 15:30:34+00:00 -size = 59124 - -[packages.sdist.hashes] -sha256 = "ab830580bc0ef3db61ce8fae716389e5462b67e033018bab6d8f80ef17172f99" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/b3/55/ecca97ae19075f1fac62def77731e7f535e6c1fb8f92ff08160c5e6dade8/importlib_metadata-9.0.1-py3-none-any.whl" -upload-time = 2026-08-28 15:30:33+00:00 -size = 27920 - -[packages.wheels.hashes] -sha256 = "bba5600596a7e21f3eef53281cf28d6a5195634d2f2b78ff9501a3272c6eaab0" - -[[packages]] -name = "iniconfig" -version = "2.3.1" -index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"test\" in dependency_groups or \"type\" in dependency_groups" - -[packages.sdist] -url = "https://files.pythonhosted.org/packages/01/e1/2069291243c926a2ff1cd706c7f3eeb9b62144bf60f77c9fb9ff2fb26bd3/iniconfig-2.3.1.tar.gz" -upload-time = 2026-10-06 22:48:38+00:00 -size = 21209 - -[packages.sdist.hashes] -sha256 = "67f4b9c50da0dedf52af349e7749a80a9057a5031199791b906c3bb3ae878960" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/56/43/4ca9e49d27a1fcf6bece6f6aec0ea46bb9112489b93d4b688fb415457bdb/iniconfig-2.3.1-py3-none-any.whl" -upload-time = 2026-10-06 22:48:36+00:00 -size = 7552 - -[packages.wheels.hashes] -sha256 = "9121e2c1fdb355232495be3194c8dfe87ccc2d5dee45947b78e68f499790d7a7" - -[[packages]] -name = "jaraco-classes" -version = "3.4.0" -index = "https://pypi.org/simple" -marker = "(\"dev\" in dependency_groups and (platform_machine != 'ppc64le' and platform_machine != 's390x')) or (\"pkg-meta\" in dependency_groups and (platform_machine != 'ppc64le' and platform_machine != 's390x'))" - -[packages.sdist] -url = "https://files.pythonhosted.org/packages/06/c0/ed4a27bc5571b99e3cff68f8a9fa5b56ff7df1c2251cc715a652ddd26402/jaraco.classes-3.4.0.tar.gz" -upload-time = 2024-03-31 07:27:36+00:00 -size = 11780 - -[packages.sdist.hashes] -sha256 = "47a024b51d0239c0dd8c8540c6c7f484be3b8fcf0b2d85c13825780d3b3f3acd" - -[[packages.wheels]] -name = "jaraco_classes-3.4.0-py3-none-any.whl" -url = "https://files.pythonhosted.org/packages/7f/66/b15ce62552d84bbfcec9a4873ab79d993a1dd4edb922cbfccae192bd5b5f/jaraco.classes-3.4.0-py3-none-any.whl" -upload-time = 2024-03-31 07:27:34+00:00 -size = 6777 - -[packages.wheels.hashes] -sha256 = "f662826b6bed8cace05e7ff873ce0f9283b5c924470fe664fff1c2f00f581790" - -[[packages]] -name = "jaraco-context" -version = "6.1.2" -index = "https://pypi.org/simple" -marker = "(\"dev\" in dependency_groups and (platform_machine != 'ppc64le' and platform_machine != 's390x')) or (\"pkg-meta\" in dependency_groups and (platform_machine != 'ppc64le' and platform_machine != 's390x'))" - -[packages.sdist] -url = "https://files.pythonhosted.org/packages/af/50/4763cd07e722bb6285316d390a164bc7e479db9d90daa769f22578f698b4/jaraco_context-6.1.2.tar.gz" -upload-time = 2026-03-20 22:13:33+00:00 -size = 16801 - -[packages.sdist.hashes] -sha256 = "f1a6c9d391e661cc5b8d39861ff077a7dc24dc23833ccee564b234b81c82dfe3" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/f2/58/bc8954bda5fcda97bd7c19be11b85f91973d67a706ed4a3aec33e7de22db/jaraco_context-6.1.2-py3-none-any.whl" -upload-time = 2026-03-20 22:13:32+00:00 -size = 7871 - -[packages.wheels.hashes] -sha256 = "bf8150b79a2d5d91ae48629d8b427a8f7ba0e1097dd6202a9059f29a36379535" - -[[packages]] -name = "jaraco-functools" -version = "4.6.0" -index = "https://pypi.org/simple" -marker = "(\"dev\" in dependency_groups and (platform_machine != 'ppc64le' and platform_machine != 's390x')) or (\"pkg-meta\" in dependency_groups and (platform_machine != 'ppc64le' and platform_machine != 's390x'))" - -[packages.sdist] -url = "https://files.pythonhosted.org/packages/6c/1f/c23395957d41ccf27c4e535c3d334c4051e5395b3752057ba4cbaec35c56/jaraco_functools-4.6.0.tar.gz" -upload-time = 2026-07-14 01:28:02+00:00 -size = 20837 - -[packages.sdist.hashes] -sha256 = "880c577ec9720b3a052d5bc611fb9f2269b3d87902ef42440df443b88e443280" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/02/36/ecc85bc96c273dc8a11273ed4782272975e6338d4a3e9228621175edf0e3/jaraco_functools-4.6.0-py3-none-any.whl" -upload-time = 2026-07-14 01:28:01+00:00 -size = 11677 - -[packages.wheels.hashes] -sha256 = "99e3dc0060c5cbe8fcd1cdb36258e2a65ca40f1566b2033b12abb1bb44dd3c30" - -[[packages]] -name = "jeepney" -version = "0.9.0" -index = "https://pypi.org/simple" -marker = "(\"dev\" in dependency_groups and (platform_machine != 'ppc64le' and platform_machine != 's390x' and sys_platform == 'linux')) or (\"pkg-meta\" in dependency_groups and (platform_machine != 'ppc64le' and platform_machine != 's390x' and sys_platform == 'linux'))" - -[packages.sdist] -url = "https://files.pythonhosted.org/packages/7b/6f/357efd7602486741aa73ffc0617fb310a29b588ed0fd69c2399acbb85b0c/jeepney-0.9.0.tar.gz" -upload-time = 2025-02-27 18:51:01+00:00 -size = 106758 - -[packages.sdist.hashes] -sha256 = "cf0e9e845622b81e4a28df94c40345400256ec608d0e55bb8a3feaa9163f5732" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/b2/a3/e137168c9c44d18eff0376253da9f1e9234d0239e0ee230d2fee6cea8e55/jeepney-0.9.0-py3-none-any.whl" -upload-time = 2025-02-27 18:51:00+00:00 -size = 49010 - -[packages.wheels.hashes] -sha256 = "97e5714520c16fc0a45695e5365a2e11b81ea79bba796e26f9f1d178cb182683" - -[[packages]] -name = "jinja2" -version = "3.1.6" -index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"type\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-news\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-prepare\" in dependency_groups and (python_full_version >= '3.15'))" - -[packages.sdist] -url = "https://files.pythonhosted.org/packages/df/bf/f7da0350254c0ed7c72f3e33cef02e048281fec7ecec5f032d4aac52226b/jinja2-3.1.6.tar.gz" -upload-time = 2025-03-05 20:05:02+00:00 -size = 245115 - -[packages.sdist.hashes] -sha256 = "0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl" -upload-time = 2025-03-05 20:05:00+00:00 -size = 134899 - -[packages.wheels.hashes] -sha256 = "85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67" - -[[packages]] -name = "keyring" -version = "25.7.0" -index = "https://pypi.org/simple" -marker = "(\"dev\" in dependency_groups and (platform_machine != 'ppc64le' and platform_machine != 's390x')) or (\"pkg-meta\" in dependency_groups and (platform_machine != 'ppc64le' and platform_machine != 's390x'))" - -[packages.sdist] -url = "https://files.pythonhosted.org/packages/43/4b/674af6ef2f97d56f0ab5153bf0bfa28ccb6c3ed4d1babf4305449668807b/keyring-25.7.0.tar.gz" -upload-time = 2025-11-16 16:26:09+00:00 -size = 63516 - -[packages.sdist.hashes] -sha256 = "fe01bd85eb3f8fb3dd0405defdeac9a5b4f6f0439edbb3149577f244a2e8245b" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/81/db/e655086b7f3a705df045bf0933bdd9c2f79bb3c97bfef1384598bb79a217/keyring-25.7.0-py3-none-any.whl" -upload-time = 2025-11-16 16:26:08+00:00 -size = 39160 - -[packages.wheels.hashes] -sha256 = "be4a0b195f149690c166e850609a477c532ddbfbaed96a404d4e43f8d5e2689f" - -[[packages]] -name = "libcst" -version = "1.9.0" -index = "https://pypi.org/simple" -marker = "(\"release\" in dependency_groups and (python_full_version >= '3.15'))" - -[packages.sdist] -url = "https://files.pythonhosted.org/packages/02/c0/098e5c91ff1537f00c85a6438b6cb1863d17144680cc91f47c87f104a200/libcst-1.9.0.tar.gz" -upload-time = 2026-07-29 21:28:43+00:00 -size = 914739 - -[packages.sdist.hashes] -sha256 = "087b58a9afe076bb08e2d726478e1f16cb928d67ffa9092817e033c335de522a" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/53/36/b45e6950878d9143f95db609432031ac688b311aa14450a8df239c648c45/libcst-1.9.0-cp311-cp311-macosx_11_0_arm64.whl" -upload-time = 2026-07-29 19:24:38+00:00 -size = 2054911 - -[packages.wheels.hashes] -sha256 = "3cdbafbc992b38ea005ef37e20243c4177879020c82d414789fbb7fa22d6d3a9" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/6f/d8/1c1ae22e05fbc763dc5a4e4c3cab356166913ef19d2c2da42e6f1be5c98c/libcst-1.9.0-cp311-cp311-manylinux_2_28_aarch64.whl" -upload-time = 2026-07-29 19:24:40+00:00 -size = 2209147 - -[packages.wheels.hashes] -sha256 = "3f735e3acb3afc75d50803fde1598b467bf05d12d6854025df4398aebd75a14c" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/84/e1/0d5eaeac4dadd34fcd9ea154d0a6e5ce10c9fec0e02c73f807a16475b8b0/libcst-1.9.0-cp311-cp311-manylinux_2_28_x86_64.whl" -upload-time = 2026-07-29 19:24:41+00:00 -size = 2260355 - -[packages.wheels.hashes] -sha256 = "951f13c193e590fc88c9582a5341a130fe53ecece51043cff4bd54e25a5e022d" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/71/b2/45ce33c6bca5c1961a90f2999138741daa0dc8cf6fe8b122c0ca2502632d/libcst-1.9.0-cp311-cp311-musllinux_1_2_aarch64.whl" -upload-time = 2026-07-29 19:24:42+00:00 -size = 2275659 - -[packages.wheels.hashes] -sha256 = "bc6aa3e7f21315dbe9868c0d13ffaac309514e8c816320c5f91230fa5b21df92" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/bb/b1/936d2f17d93fb160579ff56ca671d26154209bbc07ea8645eb11db1f9633/libcst-1.9.0-cp311-cp311-musllinux_1_2_x86_64.whl" -upload-time = 2026-07-29 19:24:44+00:00 -size = 2383467 - -[packages.wheels.hashes] -sha256 = "f101e0bf8638eba80694ecc3c3abb5309eb488f5271427536cb379c5c1e0ba9e" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/e7/59/db667f15d62cb22c75b24f6b13c4151292aa1889a64ff9abce92f60d5a97/libcst-1.9.0-cp311-cp311-win_amd64.whl" -upload-time = 2026-07-29 19:24:45+00:00 -size = 2109985 - -[packages.wheels.hashes] -sha256 = "77d9303572cf0fbd0a2eb71aff167a4246541f43bf58b781b35b9d0bbab80ddc" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/6d/a8/99926865cd3f97c0cffc71cd38152c883b7ae666eb8327d355f01bddb33a/libcst-1.9.0-cp311-cp311-win_arm64.whl" -upload-time = 2026-07-29 19:24:47+00:00 -size = 1988559 - -[packages.wheels.hashes] -sha256 = "4090105fa4ad114766d0f8b34418d9a3b359bc8645da860a447e19770b5705d1" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/b0/bb/d22c37c33dfe18084634f5ef89f8f0749ffe7b6e0ad312722aafd86bbbdb/libcst-1.9.0-cp312-cp312-macosx_11_0_arm64.whl" -upload-time = 2026-07-29 19:24:49+00:00 -size = 2043159 - -[packages.wheels.hashes] -sha256 = "cd1a3500c41784075c4946a995d5ad89f68fa0d226b63ff3c4d78f6ea6dd23e5" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/10/b8/2dedef84d72e7271119217503b69ed6dc5d0b2077685e163caae669d9c70/libcst-1.9.0-cp312-cp312-manylinux_2_28_aarch64.whl" -upload-time = 2026-07-29 19:24:50+00:00 -size = 2203245 - -[packages.wheels.hashes] -sha256 = "611cebd3bbc2014576f4dcc7b845b3c594c96ddc287a3db9b78f22eff156a7d3" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/e8/90/e02ac2dad647423f947bb11f8322bfdba8ccfdd380e6c7b695add2d1acd4/libcst-1.9.0-cp312-cp312-manylinux_2_28_x86_64.whl" -upload-time = 2026-07-29 19:24:52+00:00 -size = 2255388 - -[packages.wheels.hashes] -sha256 = "8d731abe1307720ea1a52d447555e8443a6d130e0e520243c0634a58f6edbc9d" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/13/5f/6089a51518cfd2ff40950eb26bcc36951d7b6d4f4213568aa0290265aff7/libcst-1.9.0-cp312-cp312-musllinux_1_2_aarch64.whl" -upload-time = 2026-07-29 19:24:53+00:00 -size = 2268982 - -[packages.wheels.hashes] -sha256 = "8bc5351d92ca6ac1cc32e097700e1161ad1ceaa4d9b2cca5abadb1e94576b325" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/ed/78/26881ec466fb70cbc129dca26ccb5a52a0061face2c5822e4b61f00f9699/libcst-1.9.0-cp312-cp312-musllinux_1_2_x86_64.whl" -upload-time = 2026-07-29 19:24:55+00:00 -size = 2378174 - -[packages.wheels.hashes] -sha256 = "03165a264653bb77f6a11b412ae09c08bdb0c25864f3b8d42b816ac64b9d4b9e" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/e1/7a/a4dba5f11faf12a12ffba06d18019987851aab33b590242a602ffd4fb1bd/libcst-1.9.0-cp312-cp312-win_amd64.whl" -upload-time = 2026-07-29 19:24:56+00:00 -size = 2103462 - -[packages.wheels.hashes] -sha256 = "b755ed4a4bc2faee849b54820023137d60d4c199e0a0822f0ff0c1bc49e49b48" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/f5/13/57cb129093e0d6744b3c914ba6cbbdf51ed1b2c823882936c553a3a0cf1b/libcst-1.9.0-cp312-cp312-win_arm64.whl" -upload-time = 2026-07-29 19:24:58+00:00 -size = 1979825 - -[packages.wheels.hashes] -sha256 = "6e50576bad7d56459d9792cd0b0dfe5469dad13646e9a9c0a8b1ba20b269f332" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/f2/b1/befc0544283bb3923a928accf79ed685e5a725524bdb3491826670affc07/libcst-1.9.0-cp313-cp313-macosx_11_0_arm64.whl" -upload-time = 2026-07-29 19:24:59+00:00 -size = 2043754 - -[packages.wheels.hashes] -sha256 = "b8b9df30f524317b097dc53065b25dda33d6a4cc3c7c8bf4fc83ca7559c58cc0" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/45/50/fef7c172a8457c95894edf5fb04805024899cdfea41fa01b0636587b79e1/libcst-1.9.0-cp313-cp313-manylinux_2_28_aarch64.whl" -upload-time = 2026-07-29 19:25:01+00:00 -size = 2203548 - -[packages.wheels.hashes] -sha256 = "e465a7bc9c2b9533eb9e06d2391f8819f811b5112919d4064c9fb8565aaafa08" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/18/ff/764cd2be1fd99d774fc44039c319dc0ed1d9d9afeaa02759a05121cccd4b/libcst-1.9.0-cp313-cp313-manylinux_2_28_x86_64.whl" -upload-time = 2026-07-29 19:25:02+00:00 -size = 2255274 - -[packages.wheels.hashes] -sha256 = "8504b422c95676a8c27b517e1ac01413ece91bf356865c587ca9bdcd5708a2f7" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/34/a7/474748a27a02fa83e3556b260d5f5236ca48164fa7beffecf3b2cad24dca/libcst-1.9.0-cp313-cp313-musllinux_1_2_aarch64.whl" -upload-time = 2026-07-29 19:25:04+00:00 -size = 2269126 - -[packages.wheels.hashes] -sha256 = "bcb9f9d4fcfe2ec7a40d2c26e03a538d5d9dc189c38551eb3f94ab661afee7c0" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/8a/b7/655e45363b8cf87b91e41e060b21c89e5316c7ef36eb14a1a498b27bb71e/libcst-1.9.0-cp313-cp313-musllinux_1_2_x86_64.whl" -upload-time = 2026-07-29 19:25:06+00:00 -size = 2378602 - -[packages.wheels.hashes] -sha256 = "e8d671c39a431c309476099b8ec811e412503ec0f4465f6fc907cb51c70e8e6b" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/db/13/6da63f0902ece43bf9d737017251ad7ad06edd9d3c4e1856450403cb4473/libcst-1.9.0-cp313-cp313-win_amd64.whl" -upload-time = 2026-07-29 19:25:07+00:00 -size = 2103486 - -[packages.wheels.hashes] -sha256 = "4d382fba04077eb556a1ea4295a4482e192aa93639c5a07ba0885841965ea0c0" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/fd/ff/dccb1a55e38b4e47256a97242d61d2bef5366c744faf88fb087d4fa0f995/libcst-1.9.0-cp313-cp313-win_arm64.whl" -upload-time = 2026-07-29 19:25:09+00:00 -size = 1979907 - -[packages.wheels.hashes] -sha256 = "a621e261990148c1cfbe26c1798bd2375c131cf358a44a7a4659fc41c1a336e1" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/65/2a/4943c71d90975bc59034a057dea346b365c276f308c1d31f5cf2bd85492d/libcst-1.9.0-cp314-cp314-macosx_11_0_arm64.whl" -upload-time = 2026-07-29 19:25:11+00:00 -size = 2044529 - -[packages.wheels.hashes] -sha256 = "eccf4c57d273cdd3fe1c67b72cf9bb1bbd4547aa011824e96ccf5b7136057aa4" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/be/ed/1168b98c2a0f338be3a44753647baab051feaf6167cc887bf4447f8fd920/libcst-1.9.0-cp314-cp314-manylinux_2_28_aarch64.whl" -upload-time = 2026-07-29 19:25:12+00:00 -size = 2203519 - -[packages.wheels.hashes] -sha256 = "32395244edfe6538e0ea2bf82051d60103d3f54861274805c4fb3745efb70a85" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/25/7d/2eaa697a80f899bcf2245680bbfcc1e478eb3b3328c21d4b2880bdf00dac/libcst-1.9.0-cp314-cp314-manylinux_2_28_x86_64.whl" -upload-time = 2026-07-29 19:25:14+00:00 -size = 2255879 - -[packages.wheels.hashes] -sha256 = "444e84c76cd035cd2fe136838c1a524d34b08216521f6f5093df8a6f6cfa5799" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/90/03/793b9fd96dd52d202f5f2b88d7e54f05ebed767d1bb3b32395a1817bf6ab/libcst-1.9.0-cp314-cp314-musllinux_1_2_aarch64.whl" -upload-time = 2026-07-29 19:25:15+00:00 -size = 2269807 - -[packages.wheels.hashes] -sha256 = "bb5d0946f2b4c6711b5d69fe4f833b364f9e7a1a2b08f88b98619dc18975099a" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/a3/f4/1bc7aaea03971c45e8a885fed9fc1c73176dbbd00b0296a3cde9529bafd6/libcst-1.9.0-cp314-cp314-musllinux_1_2_x86_64.whl" -upload-time = 2026-07-29 19:25:17+00:00 -size = 2378171 - -[packages.wheels.hashes] -sha256 = "45808c03528b3ad40b14095348a918e08d98c47b4a125d631cb78e817c0a5b16" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/8e/f7/bc49e367d2bc8817213594dd52cf6b2da2dbbda90b5382d60653999274ac/libcst-1.9.0-cp314-cp314-win_amd64.whl" -upload-time = 2026-07-29 19:25:19+00:00 -size = 2177847 - -[packages.wheels.hashes] -sha256 = "568288cdbfe3b4ca3ae4852cb0a439ff053dd54c841bc4995bf2b71238b5de40" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/87/80/4d81577a22e6d535d1a3409f3a1c6903e09036f0e17fc47f92169dbc3501/libcst-1.9.0-cp314-cp314-win_arm64.whl" -upload-time = 2026-07-29 19:25:20+00:00 -size = 2058134 - -[packages.wheels.hashes] -sha256 = "107593af46945593e7825821793393262bc4fa1d3ea24c3ed487b61269bbbdf8" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/d1/7f/c3f3a0e7a1a2adaa76e815e82a7814d6bfe7d49432276bba652248c68d0b/libcst-1.9.0-cp314-cp314t-macosx_11_0_arm64.whl" -upload-time = 2026-07-29 19:25:22+00:00 -size = 2036102 - -[packages.wheels.hashes] -sha256 = "f6248cb07444ab9a6733a855737a9febed8b9adca51347019348b09a3ac7dfe9" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/4e/af/2f5543255b2c7d749b966adeccc6bfb1652cf8b425afb913d0f3f025a865/libcst-1.9.0-cp314-cp314t-manylinux_2_28_aarch64.whl" -upload-time = 2026-07-29 19:25:24+00:00 -size = 2194806 - -[packages.wheels.hashes] -sha256 = "496c24e0d3240bc7da45dae543aff3f5b6509978c39262d6b84ed2fb999dded2" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/cb/5b/03f4cddce426d005e208b39ea7b2d456e667cdee0f1891360f0fc8430f20/libcst-1.9.0-cp314-cp314t-manylinux_2_28_x86_64.whl" -upload-time = 2026-07-29 19:25:25+00:00 -size = 2246762 - -[packages.wheels.hashes] -sha256 = "ea490fa8540503db5f321f0268becab46eb50f710e8cec8041e241fd66f6874f" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/d8/31/9d5fe1e43dc3dbcc74f70f3e0e73fcdd8d84effc1059d8b45974f0d0d2eb/libcst-1.9.0-cp314-cp314t-musllinux_1_2_aarch64.whl" -upload-time = 2026-07-29 19:25:26+00:00 -size = 2259633 - -[packages.wheels.hashes] -sha256 = "50ab94bb2524b419056d4003032b8c67102ac800f8d85b3c4260a01746d94dbb" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/a8/2b/6752b28d88c3a19b3bc0b9e1838443b6760d5c862b4f4b37955402659e24/libcst-1.9.0-cp314-cp314t-musllinux_1_2_x86_64.whl" -upload-time = 2026-07-29 19:25:28+00:00 -size = 2368043 - -[packages.wheels.hashes] -sha256 = "a2faaf92500d0226358125630f5aab4758e8aad3f2d70a10892ec3c700781a54" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/e2/94/775825b2637f8ab05694b6a4b3802ae6783b4e799f9b58d2400c7e2d4369/libcst-1.9.0-cp314-cp314t-win_amd64.whl" -upload-time = 2026-07-29 19:25:29+00:00 -size = 2176432 - -[packages.wheels.hashes] -sha256 = "0c7b548512db25af9c2997a95fa731bd6b6928ecbad6c0915d7482d8bb42d34f" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/fb/3d/88ad67427c6fd9db929e087912b0a540e5140e5cb77e7ca4170edaac8531/libcst-1.9.0-cp314-cp314t-win_arm64.whl" -upload-time = 2026-07-29 19:25:31+00:00 -size = 2052931 - -[packages.wheels.hashes] -sha256 = "497d5329345f1f5df84e41b0bbd00204b64a2fd30dfe3cfaeaebca633a31e877" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/39/e4/ad790b043a38b10cea13166c8dd716654ad8b227c20f12eebf6326191cd9/libcst-1.9.0-cp315-cp315-macosx_11_0_arm64.whl" -upload-time = 2026-08-11 05:54:02+00:00 -size = 2043987 - -[packages.wheels.hashes] -sha256 = "a5068bf6114f6f4d79af7a6c80a28d1deb50441150ea1db13b5458ab34bec159" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/15/6b/d3cd8275cc54ffc9817ade91442b3e6e9edd1a4518bd4e6dda13e3152dbe/libcst-1.9.0-cp315-cp315-manylinux_2_28_aarch64.whl" -upload-time = 2026-08-11 05:54:04+00:00 -size = 2204003 - -[packages.wheels.hashes] -sha256 = "7acfd18adcdd32dcf41ce676cf121002afcbe9ad2c72dc0c18d78465beedc228" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/da/62/87eddccb11d5d221d50ac4fff4b6e9b8d48c547028d01f7d0fbc5c8a1d75/libcst-1.9.0-cp315-cp315-manylinux_2_28_x86_64.whl" -upload-time = 2026-08-11 05:54:06+00:00 -size = 2256053 - -[packages.wheels.hashes] -sha256 = "86361e2b426bd1b403e52375703c8b764e226e571adcb30442510710681edbf0" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/18/53/a44126aeb9fca8b4e342e0cc803ea00ca8f6cd5712619a7897b3eba13797/libcst-1.9.0-cp315-cp315-musllinux_1_2_aarch64.whl" -upload-time = 2026-08-11 05:54:08+00:00 -size = 2270576 - -[packages.wheels.hashes] -sha256 = "8c14abe844bec8b021111b3985474e49f5af799c020e8e40dedcac87c97a40c5" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/bb/51/3af3dd44b117d66486e0ed61e43a16b7fc8cc5c372e1dd4ca0e70b888d46/libcst-1.9.0-cp315-cp315-musllinux_1_2_x86_64.whl" -upload-time = 2026-08-11 05:54:10+00:00 -size = 2378573 - -[packages.wheels.hashes] -sha256 = "8930971d2299b7006bb5d10c10038f44efb6da89d5bca2823595e31a9cdb96af" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/fc/e8/e545087d298dbf6494e84a8092f0f5dbd62eedacabd4ecd6b364367b4804/libcst-1.9.0-cp315-cp315-win_amd64.whl" -upload-time = 2026-08-11 05:54:12+00:00 -size = 2177937 - -[packages.wheels.hashes] -sha256 = "5891ce9cff815077614f509e3a23888c5ddb8081d6188e8ba1172c0ccc369022" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/84/17/93a00a8e03494a84db102dd0e3d35b8876b1084ca2c194b331a168d86eb1/libcst-1.9.0-cp315-cp315-win_arm64.whl" -upload-time = 2026-08-11 05:54:13+00:00 -size = 2058633 - -[packages.wheels.hashes] -sha256 = "1260b5d070a3324447a53a00387225a55472a62077ce01922d30a2a78cc4b138" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/d7/00/c3751b12eb81822ea0b6131d374a98bc6c024c4b9ec5f6ea8f53dc23e967/libcst-1.9.0-cp315-cp315t-macosx_11_0_arm64.whl" -upload-time = 2026-08-11 05:54:15+00:00 -size = 2036178 - -[packages.wheels.hashes] -sha256 = "02ee2dbdb5c218116f16a021350fc267a14be205b50d81c33f5d73857ab6fbf7" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/2f/12/48ff486eb5adc593f4818569e8896b74b672414ab4722a74b17e4c4cf31e/libcst-1.9.0-cp315-cp315t-manylinux_2_28_aarch64.whl" -upload-time = 2026-08-11 05:54:17+00:00 -size = 2195496 - -[packages.wheels.hashes] -sha256 = "3e5b684191a0462b2d40a73261ea7f4da6a49e7a030b7e0fceca46bebb51dfe5" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/51/18/b13a4669864d41a4801fed7b86ede1049dc9a1e1dde250a7ee1f9c3b1285/libcst-1.9.0-cp315-cp315t-manylinux_2_28_x86_64.whl" -upload-time = 2026-08-11 05:54:19+00:00 -size = 2245769 - -[packages.wheels.hashes] -sha256 = "2b150c4f298fe54eb0fe73abf71f57db74d070796140a8c206c9615b6861f01e" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/c8/c7/cf2d46744825e84afbd7228fdeeea8d23cf6c4b2074253c27efb7705c653/libcst-1.9.0-cp315-cp315t-musllinux_1_2_aarch64.whl" -upload-time = 2026-08-11 05:54:21+00:00 -size = 2260576 - -[packages.wheels.hashes] -sha256 = "50b913e37187f00a6fb88962009364e1cf1b1284aa1762304f34b52b972f2218" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/d1/4d/5433d3d62250b2e4325938db101766bcab2a006819684713bcccb6259a88/libcst-1.9.0-cp315-cp315t-musllinux_1_2_x86_64.whl" -upload-time = 2026-08-11 05:54:23+00:00 -size = 2368709 - -[packages.wheels.hashes] -sha256 = "9f92c75283030fd58fb7d6e560168a00381e0e3368ec8a026a3ec8a828a05f93" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/87/39/9f0e1690727623f99489895db0e42048a3e1e8cea0627517c593e437fd83/libcst-1.9.0-cp315-cp315t-win_amd64.whl" -upload-time = 2026-08-11 05:54:25+00:00 -size = 2177866 - -[packages.wheels.hashes] -sha256 = "4adf97bb1aff8039b0bd4991e2f838be6e4fad552821b26b71a5d1a653c2582f" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/cd/79/9dc7811883e67ea771057e8937bc536eb3e77f3635fc5a93cd85b6fe1ea8/libcst-1.9.0-cp315-cp315t-win_arm64.whl" -upload-time = 2026-08-11 05:54:26+00:00 -size = 2052908 - -[packages.wheels.hashes] -sha256 = "8f0dd08a5773d7051e105250b2a2c73d8065ea9b2d68e7e1bdc5244660e75f93" - -[[packages]] -name = "markdown-it-py" -version = "4.2.0" -index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"pkg-meta\" in dependency_groups or \"type\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-news\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-notes\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-prepare\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-validate\" in dependency_groups and (python_full_version >= '3.15'))" - -[packages.sdist] -url = "https://files.pythonhosted.org/packages/06/ff/7841249c247aa650a76b9ee4bbaeae59370dc8bfd2f6c01f3630c35eb134/markdown_it_py-4.2.0.tar.gz" -upload-time = 2026-05-07 12:08:28+00:00 -size = 82454 - -[packages.sdist.hashes] -sha256 = "04a21681d6fbb623de53f6f364d352309d4094dd4194040a10fd51833e418d49" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/b3/81/4da04ced5a082363ecfa159c010d200ecbd959ae410c10c0264a38cac0f5/markdown_it_py-4.2.0-py3-none-any.whl" -upload-time = 2026-05-07 12:08:27+00:00 -size = 91687 - -[packages.wheels.hashes] -sha256 = "9f7ebbcd14fe59494226453aed97c1070d83f8d24b6fc3a3bcf9a38092641c4a" - -[[packages]] -name = "markupsafe" -version = "3.0.4" -index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"type\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-news\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-prepare\" in dependency_groups and (python_full_version >= '3.15'))" - -[packages.sdist] -url = "https://files.pythonhosted.org/packages/38/9b/e422a865e1d5d57d0e509b4e0bf1c1a70a7f6382c29a5aa428df994c8bc8/markupsafe-3.0.4.tar.gz" -upload-time = 2026-10-02 23:07:22+00:00 -size = 153777 - -[packages.sdist.hashes] -sha256 = "2e9ad7dd851bf45fab9f75cbff4cb493fee9979e8d8c7c9c3ee119022518edd6" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/32/55/18dbb4778b30ada5ce071608503cc3edc9e14e13d868c17a6d178fc30f7a/markupsafe-3.0.4-cp311-cp311-macosx_10_9_x86_64.whl" -upload-time = 2026-10-02 23:04:36+00:00 -size = 11520 - -[packages.wheels.hashes] -sha256 = "9e25feb9e330b63edb0278a0acdf85e50d0cb0fbf49c3084abbe4e24ae195346" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/6c/14/0b05f79b4733e264a18d08fe08fa1df7347630ff32a6cb82180d9dccec55/markupsafe-3.0.4-cp311-cp311-macosx_11_0_arm64.whl" -upload-time = 2026-10-02 23:04:37+00:00 -size = 12063 - -[packages.wheels.hashes] -sha256 = "7d3391b2188d18737cb2fa147028b1096236eaa7e156446c650a489fa2cadc91" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/ca/3a/63ba10b6c1463216b3e4df669a9f0e5a3b0c3071557d2e8229e3968c79fb/markupsafe-3.0.4-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" -upload-time = 2026-10-02 23:04:38+00:00 -size = 24321 - -[packages.wheels.hashes] -sha256 = "849dd2bb0e5e4ab2b71c7191726a4a8d5aa8a610daa584728cbee0b710ddc4ef" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/1a/2e/5f015261b76ad633d187ef6f388b413aedd64a8773c4df59e530a0be5525/markupsafe-3.0.4-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl" -upload-time = 2026-10-02 23:04:39+00:00 -size = 28845 - -[packages.wheels.hashes] -sha256 = "befb4158af32106b9a93db8d6d1d1cbbd418c0d5aca0cabb7b1780abf0c89169" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/33/cf/26e594b26be40c2f1fec63ccf8a8b99d0335a5b2cbe84835c7d82a994375/markupsafe-3.0.4-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" -upload-time = 2026-10-02 23:04:40+00:00 -size = 24701 - -[packages.wheels.hashes] -sha256 = "71f88e749ea29f67f21f3b36433c1dc54c7729ed2a6d9e2da2e0d9e0d7b224eb" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/81/a5/a513b76c139a3915b43404324e55c0b7979ae4f0d39eb6f075b0282e90a8/markupsafe-3.0.4-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" -upload-time = 2026-10-02 23:04:41+00:00 -size = 22961 - -[packages.wheels.hashes] -sha256 = "6da83a088f8ef93b2d483a8232a4dbf4d69d3d8496b568a03c56becac43e1808" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/46/cf/4c66192c100b4542bcbe392ae06696b670f66927be3ac38a213234778ff9/markupsafe-3.0.4-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" -upload-time = 2026-10-02 23:04:42+00:00 -size = 21920 - -[packages.wheels.hashes] -sha256 = "8f0fac8b13d14bb06c68195f849371924ae53dd7b1c00fed24650f704383b692" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/cb/17/ac3662678bfbad649893117ada2ba44dc30bf56884e84f13154a792b10f1/markupsafe-3.0.4-cp311-cp311-musllinux_1_2_aarch64.whl" -upload-time = 2026-10-02 23:04:43+00:00 -size = 23726 - -[packages.wheels.hashes] -sha256 = "4a7cdc2a420ca01058182da4253329764d4bfa055564d1eced90e6ba1e8b1d3d" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/f7/af/fe47cee339180a69ebca3c57fb3483d0f5cbd1e8337d1871fb1d9c1aebee/markupsafe-3.0.4-cp311-cp311-musllinux_1_2_armv7l.whl" -upload-time = 2026-10-02 23:04:44+00:00 -size = 22539 - -[packages.wheels.hashes] -sha256 = "83b3944fea42a8400edf92fd1770fb8d0d4f7de651353bd2d8525a92dba69a21" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/12/32/d55440ba140442800e02d799c9cb5ab597bf6ebdb1177b5ea39a11f797bd/markupsafe-3.0.4-cp311-cp311-musllinux_1_2_ppc64le.whl" -upload-time = 2026-10-02 23:04:45+00:00 -size = 23963 - -[packages.wheels.hashes] -sha256 = "8138eb83940ec7299024d92d4dee45f601b9e6c5ffde9d25f4e35e326203c707" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/50/9d/9c86042cb364c2ad4c971e6d1247929effd25f714cd7ee11b05e6316445b/markupsafe-3.0.4-cp311-cp311-musllinux_1_2_riscv64.whl" -upload-time = 2026-10-02 23:04:46+00:00 -size = 21506 - -[packages.wheels.hashes] -sha256 = "811d02d5122171c1941357efd8f9bf4ffe907b7f0a1a4e729a880e4be3f46e3e" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/75/ef/5b824f03ba40c3b3652b6272d083d2fc4fcdd440de519a3a39ba2c3e7262/markupsafe-3.0.4-cp311-cp311-musllinux_1_2_x86_64.whl" -upload-time = 2026-10-02 23:04:47+00:00 -size = 22955 - -[packages.wheels.hashes] -sha256 = "50b5bedc9ed8a94fc8857a42ef4f84a81ea88f8d4f05dc8705fb23ee6d8dcca7" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/1e/e8/44cfcb5ea40e5e43cec7793ef90704ed0c475280839076c4345757eb8e59/markupsafe-3.0.4-cp311-cp311-win32.whl" -upload-time = 2026-10-02 23:04:48+00:00 -size = 14094 - -[packages.wheels.hashes] -sha256 = "2e5a7cd7fdd14fcb1ae5d7d8bf23d24fbd1daefd1fbca2580132e1ea75f098b5" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/91/89/f2b509f7bf79352e40117824c1070dbeafd4df67031d3fa98165a3134228/markupsafe-3.0.4-cp311-cp311-win_amd64.whl" -upload-time = 2026-10-02 23:04:49+00:00 -size = 14328 - -[packages.wheels.hashes] -sha256 = "fdb4ca07ab75ffadab4a8b135ad59cdbb3156b99310f3d565370da74a15d6bd3" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/2b/5a/ccf22672a0f64dc682306e288f0dabcb06c7a201f3bb6e6cbf86d9e8ad03/markupsafe-3.0.4-cp311-cp311-win_arm64.whl" -upload-time = 2026-10-02 23:04:50+00:00 -size = 14188 - -[packages.wheels.hashes] -sha256 = "569d65055d367e3dcdf30c3f41119467b73d9ee9faf332bdf40402644f5ac08e" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/81/09/4c59d56b8461ae8eb0d8ba34bb25b7e618547044679d58a82ef9b2479fc1/markupsafe-3.0.4-cp312-cp312-macosx_10_13_x86_64.whl" -upload-time = 2026-10-02 23:04:51+00:00 -size = 11658 - -[packages.wheels.hashes] -sha256 = "61631e08084be9e21a8967ec3139c7616ed7c5e9368e05c86d1b39562c8a57b6" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/a2/f0/d6613774d86fbf6d145751d43c59875e47a6f9f17daee0aef173bd36d90e/markupsafe-3.0.4-cp312-cp312-macosx_11_0_arm64.whl" -upload-time = 2026-10-02 23:04:52+00:00 -size = 12050 - -[packages.wheels.hashes] -sha256 = "0930db9bdc62d22944e10b066448bb65dc9abe9112880c7cab8da54db4284d5f" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/0d/f2/8f18e0b806eb13c1f8d07d917a720831ead54253a6dec011fbc78098a6f8/markupsafe-3.0.4-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" -upload-time = 2026-10-02 23:04:53+00:00 -size = 24363 - -[packages.wheels.hashes] -sha256 = "6a45c3d514f2436064db00d7fc8778d888f0236ebfed649b53d13a59e69ad51b" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/60/ce/fa07dbe8a5675558fa36dea033e19995bc783de2dec5f540ccb9030b06aa/markupsafe-3.0.4-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl" -upload-time = 2026-10-02 23:04:54+00:00 -size = 28525 - -[packages.wheels.hashes] -sha256 = "1e1451fab512d1bcc3dc26988ec1edb0b82c2db909132872cd9356070a6b63df" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/85/40/be87c01f3868ec217f8a2015089d71c22c8c5a75324822e5ed1cdd87210d/markupsafe-3.0.4-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" -upload-time = 2026-10-02 23:04:56+00:00 -size = 24733 - -[packages.wheels.hashes] -sha256 = "bd3ce56ae2cbae3ba82b683bc425cd7e48d2ed8b10f3e818186b6f5646d9271c" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/4f/a7/aeedb5140afa41fc74c225e9184ab96723a6e873b6ee1c9fede7283456d8/markupsafe-3.0.4-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" -upload-time = 2026-10-02 23:04:57+00:00 -size = 22985 - -[packages.wheels.hashes] -sha256 = "8e124f974786f831d6043728e38296969d3579db8896fe004682f5758e613581" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/c3/fc/e91352bb08c6a59da3ef0909d457bf95a5f5908fbf151b30a06d9dbcfbb4/markupsafe-3.0.4-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" -upload-time = 2026-10-02 23:04:58+00:00 -size = 22001 - -[packages.wheels.hashes] -sha256 = "c02e8f18bdedba082cef725942ac823b9b60656db07f7e265cb31618dfd00d77" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/5d/f8/bffee5e7d2a3deb59748a797650a48af7e672025cf641a79344a771ad106/markupsafe-3.0.4-cp312-cp312-musllinux_1_2_aarch64.whl" -upload-time = 2026-10-02 23:04:59+00:00 -size = 23793 - -[packages.wheels.hashes] -sha256 = "9f098115c247e11d138ab83a28fa0323c77015007ea2df73ba5fd714dfefd67c" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/ed/59/b853d6628ecb4d658e1d637224846d5e9bb4adf4f8df97f3be9f29dce2ec/markupsafe-3.0.4-cp312-cp312-musllinux_1_2_armv7l.whl" -upload-time = 2026-10-02 23:05:00+00:00 -size = 22640 - -[packages.wheels.hashes] -sha256 = "d5f93ebbeb8032d47e349328ec8662d973d9b05a70b3c35df1f91fe419b84749" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/09/b2/1506df394f0f075797c418d0301498f49e43be194e3ffcb49e6fe6ccf022/markupsafe-3.0.4-cp312-cp312-musllinux_1_2_ppc64le.whl" -upload-time = 2026-10-02 23:05:01+00:00 -size = 24074 - -[packages.wheels.hashes] -sha256 = "64511c54db4e4987aef4c41923235927428729e8174c5dba488429be70a998ed" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/c7/81/5ed69cda630ac69ef60d06c09ba5a7f84ff66a2e28cf986fd5614ab3c6e6/markupsafe-3.0.4-cp312-cp312-musllinux_1_2_riscv64.whl" -upload-time = 2026-10-02 23:05:03+00:00 -size = 21563 - -[packages.wheels.hashes] -sha256 = "e1a622f13970d81f95d0c72f9dc090dce9085fccfa4c9f2174377ee32bd15786" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/0c/fe/fb1e79be0fea60aa32602ebefc9c35a82bb42b4df157285ab7dfec12341a/markupsafe-3.0.4-cp312-cp312-musllinux_1_2_x86_64.whl" -upload-time = 2026-10-02 23:05:04+00:00 -size = 23048 - -[packages.wheels.hashes] -sha256 = "c9a7f43c0b202b334cc9184af09bb8f21d3a209e038efaf106936fb69e6b026e" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/c8/52/7632a53360671a9b750cdbabaf9cdd89f18b42248b8e4cb42c0b0296e459/markupsafe-3.0.4-cp312-cp312-win32.whl" -upload-time = 2026-10-02 23:05:05+00:00 -size = 14108 - -[packages.wheels.hashes] -sha256 = "f0ec3b750b59375eab5b0fb2b9254810c00a3375be6d789899f1055a1d556237" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/3f/bf/62495e180b7000aaf30000fff849e933f74264638057176cf46852500adc/markupsafe-3.0.4-cp312-cp312-win_amd64.whl" -upload-time = 2026-10-02 23:05:06+00:00 -size = 14303 - -[packages.wheels.hashes] -sha256 = "11935df9bf455ed0c04eb87bcd720f02b1fe5e02128a9430f23aed6f93336fc7" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/c5/8e/4c24208776a65878d656996945aacfbfe010d3720d1a98fc0eb8491fc03b/markupsafe-3.0.4-cp312-cp312-win_arm64.whl" -upload-time = 2026-10-02 23:05:07+00:00 -size = 14174 - -[packages.wheels.hashes] -sha256 = "a4bbd2d87dd233b9fc5812160c3d0ffbe42edc22a26ce0469f58479ede633fe9" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/6d/18/4bc5ba32499e87bb2b0ef5b3a9bb9c00a131fa961ddf0be548cb550f548b/markupsafe-3.0.4-cp313-cp313-android_24_arm64_v8a.whl" -upload-time = 2026-10-02 23:05:08+00:00 -size = 12786 - -[packages.wheels.hashes] -sha256 = "de8b364c423ef0a4bad9069657d617f9a5d2b2062457a89b1fa16ee199c399c1" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/4e/6f/17f0c099bf25f3e31e63cc19244d9f6af861a9a4ab778c203997903cfdd0/markupsafe-3.0.4-cp313-cp313-android_24_x86_64.whl" -upload-time = 2026-10-02 23:05:09+00:00 -size = 12510 - -[packages.wheels.hashes] -sha256 = "34bdde374c5932765d7dc685c4a1d191a3207852d67e8e0a9eb6ea85156181f1" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/11/af/1a141081b905036ee904ec4bd945e1f70b4e1b32d33c4e59e8cf1d58b247/markupsafe-3.0.4-cp313-cp313-ios_13_0_arm64_iphoneos.whl" -upload-time = 2026-10-02 23:05:10+00:00 -size = 11583 - -[packages.wheels.hashes] -sha256 = "6bd9e1788e15bfcf6a9082de42e30387e7b85d211ab21e57a939bb8cfaaf8d96" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/e7/0a/a89385ae590232622a03e091805cff12f24fabe6c11e0e8bae096cece81c/markupsafe-3.0.4-cp313-cp313-ios_13_0_arm64_iphonesimulator.whl" -upload-time = 2026-10-02 23:05:11+00:00 -size = 11801 - -[packages.wheels.hashes] -sha256 = "5066b244f576f91afc8ee3ba029a89f99d39c79b1853fe9d39bea9f0afbec148" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/ed/85/ea548dc013962eb73653124bc595635fbf9e0fa41d1f181a967ccb784dfb/markupsafe-3.0.4-cp313-cp313-ios_13_0_x86_64_iphonesimulator.whl" -upload-time = 2026-10-02 23:05:12+00:00 -size = 11443 - -[packages.wheels.hashes] -sha256 = "7a83aa6e4805df46fed18e989d3d16f86ef60cb50bbc8d9ce3a6be89165fbf6e" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/cc/72/15f2e5ec9cf2eb00d5cdfe968d94e4156a7bd7303832c3f3b2c403a36839/markupsafe-3.0.4-cp313-cp313-macosx_10_13_x86_64.whl" -upload-time = 2026-10-02 23:05:13+00:00 -size = 11665 - -[packages.wheels.hashes] -sha256 = "2d1b7d9308288661f56672b1b157d75fc536714d3638487bbea17b6318a78248" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/ca/e0/4030bea613677e333c8a2c901fd405055f657f9d06acba5b7357984b6ef7/markupsafe-3.0.4-cp313-cp313-macosx_11_0_arm64.whl" -upload-time = 2026-10-02 23:05:14+00:00 -size = 12061 - -[packages.wheels.hashes] -sha256 = "73e77980c7207854f00fc4e71fb1626868d5740ab4012623d55c7a99ad122a72" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/f3/a5/28b76a7449eb702966b88bef599e2360b411fbb3afeee8fe560939be06ec/markupsafe-3.0.4-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" -upload-time = 2026-10-02 23:05:15+00:00 -size = 24395 - -[packages.wheels.hashes] -sha256 = "7018d4af1cd272e847aa5917983ab5e83e4f6579f9dbfecd4a79c0ca80b144c2" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/07/6c/21232811afc3a063b5e934b1ae2efda52f46154ec382f585149c020e61fe/markupsafe-3.0.4-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl" -upload-time = 2026-10-02 23:05:16+00:00 -size = 27183 - -[packages.wheels.hashes] -sha256 = "c90d5b3d4e944e065a301d741b3c1d784f6bd1f503aa68b4967e32b2ba313d85" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/14/38/6ccdfa5b59049cb36fb80cbc80aee9cf1fc9bb77d1335ad435f2070b08cf/markupsafe-3.0.4-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" -upload-time = 2026-10-02 23:05:18+00:00 -size = 24772 - -[packages.wheels.hashes] -sha256 = "18a801868a884f216e784d7d14db2a4077143ce7610440aee2ce8f734e7cfcde" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/63/e0/cec6865dfe88cb48fedd4b20aed6af5158e41092adcbf3e028bcc6ec2108/markupsafe-3.0.4-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" -upload-time = 2026-10-02 23:05:19+00:00 -size = 23017 - -[packages.wheels.hashes] -sha256 = "434139499bb20b502ed3baa1f169e618f924a97e7a777fea1a49446d80106cf6" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/ee/76/6ed4940bb7648a9aac457c14f870cfdd5105f139a0fb1f29cd61fafa47d1/markupsafe-3.0.4-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" -upload-time = 2026-10-02 23:05:20+00:00 -size = 22036 - -[packages.wheels.hashes] -sha256 = "9e227f3dbe6bde7491cf0a9965d00b88c6b1a4a95d11480ddf88bb96d397c19f" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/a1/4f/ed476226d4fe46a09090a36025bf319296810028df55eb12f1253b540f3a/markupsafe-3.0.4-cp313-cp313-musllinux_1_2_aarch64.whl" -upload-time = 2026-10-02 23:05:21+00:00 -size = 23786 - -[packages.wheels.hashes] -sha256 = "b8cd1f918b26fd7b1832ece557cc18f2d8747309ff8b3f0ef9d4250c5ad67a39" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/9a/35/66ff30450e35ef5fba9ebc930c9411747e537fd9447b65e44f5007e2b84d/markupsafe-3.0.4-cp313-cp313-musllinux_1_2_armv7l.whl" -upload-time = 2026-10-02 23:05:22+00:00 -size = 22672 - -[packages.wheels.hashes] -sha256 = "a5fcffb37e602b0b3c1638a97746b9b96125caa9bcf6fa41d337a9261de231ee" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/32/0b/72f45ce4b4efcbca4b80cf1b06703eff0be8d37e82abb78f66c85a7ead1e/markupsafe-3.0.4-cp313-cp313-musllinux_1_2_ppc64le.whl" -upload-time = 2026-10-02 23:05:24+00:00 -size = 24107 - -[packages.wheels.hashes] -sha256 = "5989cb26b2e1efc6a42216a9f6b5ee495ce5ace2e5b352a9af489976b32d1ee2" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/d2/03/71776e5fdcba04614b384cc102e8a4198208579d896fd1394cb7cb9aa900/markupsafe-3.0.4-cp313-cp313-musllinux_1_2_riscv64.whl" -upload-time = 2026-10-02 23:05:25+00:00 -size = 21615 - -[packages.wheels.hashes] -sha256 = "add96447a86d205ab616665d53b2950ee81083757f56e6ea833c8b2917646b46" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/ab/5f/801ce02a02e7aee0f784b1ec7843026178f6adeb9c93ac67eb1992a9a84d/markupsafe-3.0.4-cp313-cp313-musllinux_1_2_x86_64.whl" -upload-time = 2026-10-02 23:05:26+00:00 -size = 23076 - -[packages.wheels.hashes] -sha256 = "2628d3a8cb648ecebb3c5d6b0a1052d400e4d8b7ac0fb786be8d285b50040d17" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/4a/85/c43776625428f3bb4a61e8633940400e3efe6409e3c6f5bff26de5e45618/markupsafe-3.0.4-cp313-cp313-win32.whl" -upload-time = 2026-10-02 23:05:27+00:00 -size = 14118 - -[packages.wheels.hashes] -sha256 = "672d207103e6b16ca098611b0f9efad6bc00afd47c03d6ef62186495ca677dc0" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/6f/36/163da64de88a13db79214ef75fa041be7fa13bdb42261cf5b7484de14bfb/markupsafe-3.0.4-cp313-cp313-win_amd64.whl" -upload-time = 2026-10-02 23:05:28+00:00 -size = 14313 - -[packages.wheels.hashes] -sha256 = "1f1f9477e174582b0a1b583d60b66e1f2cf5d3fe12cee985e4aedf44766600e5" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/9f/a8/9b662783ffaa1149221432a923cee562f78b9cbbb8baa3df9b3753e63e1e/markupsafe-3.0.4-cp313-cp313-win_arm64.whl" -upload-time = 2026-10-02 23:05:29+00:00 -size = 14189 - -[packages.wheels.hashes] -sha256 = "06de8ef6331f6e822c28d577dc8bf43fe398800477c49498f38fc38b67ff33fc" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/5c/c3/a944f3b0df22bd129e96915b9f4e98d2eeca6516687d7618304a966c3c74/markupsafe-3.0.4-cp314-cp314-android_24_arm64_v8a.whl" -upload-time = 2026-10-02 23:05:30+00:00 -size = 12787 - -[packages.wheels.hashes] -sha256 = "4ed644d75aa94a2baf7ec3a96eaa160ea58c742eb9d27c6506053c5c40fc84ed" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/d4/d6/a44863f69d88b6c7e27889108f70d47aed259edf89d5df3c5fca1eac87d6/markupsafe-3.0.4-cp314-cp314-android_24_x86_64.whl" -upload-time = 2026-10-02 23:05:32+00:00 -size = 12525 - -[packages.wheels.hashes] -sha256 = "6d2a9efe686f9de00d0d1ea32a4a5a86d558a2277501bd78d964214eab625e59" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/17/8f/168ba80e532dd6a93f96f8f706f1ad41d7990b6e1aeedc1cc0d211a33497/markupsafe-3.0.4-cp314-cp314-ios_13_0_arm64_iphoneos.whl" -upload-time = 2026-10-02 23:05:33+00:00 -size = 11589 - -[packages.wheels.hashes] -sha256 = "8781a792a070cf2bd1b86d3aa943894115faaba6e88122a7bf32d62072742453" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/32/b3/aa2c95a574d3af39403a469b295886eb9b6d448da568cbebb5a2cbfdc2e5/markupsafe-3.0.4-cp314-cp314-ios_13_0_arm64_iphonesimulator.whl" -upload-time = 2026-10-02 23:05:34+00:00 -size = 11801 - -[packages.wheels.hashes] -sha256 = "971a3bbb75d97ae4e2e8f7d4834236f86f85f0c85e04ab2e191db1123b04f80b" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/60/d0/34b810107d83840e768bf485de795893ebbae35b26ab061b487adfa0a692/markupsafe-3.0.4-cp314-cp314-ios_13_0_x86_64_iphonesimulator.whl" -upload-time = 2026-10-02 23:05:35+00:00 -size = 11447 - -[packages.wheels.hashes] -sha256 = "8909c2f1c6dd65e054ac4b573a91c8384d1492281e55d82d159d653f7a13adf6" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/6c/ab/2f8488f0f817a39fca068d2b17daf446bf5cdb3eae28c3720af534d873b4/markupsafe-3.0.4-cp314-cp314-macosx_10_15_x86_64.whl" -upload-time = 2026-10-02 23:05:36+00:00 -size = 11722 - -[packages.wheels.hashes] -sha256 = "4cf3468d5ec187ffffcaca8e61929a37448f215dafc1386a12c750a72fe53634" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/ad/40/e2d117b048d47282ade906fbfd92814cbee5647afc13fda88a3406039372/markupsafe-3.0.4-cp314-cp314-macosx_11_0_arm64.whl" -upload-time = 2026-10-02 23:05:37+00:00 -size = 12061 - -[packages.wheels.hashes] -sha256 = "52704c5d36eb6dda8866493decd61111fff86244c9b1ad225ca01b9e91e5970f" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/9a/a8/73a81135e85ba66217f5af7facb03bbb386807e1a729ab64532e4c802652/markupsafe-3.0.4-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" -upload-time = 2026-10-02 23:05:38+00:00 -size = 24434 - -[packages.wheels.hashes] -sha256 = "1caa2fa5a6184fb233153b35f654e6687bd555476f6170f29d8ee9be1a8b0af9" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/ac/ca/fa9216dd01efee2dfdacafe7df32b4d0170fbac694b0c258a193d6e53999/markupsafe-3.0.4-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl" -upload-time = 2026-10-02 23:05:39+00:00 -size = 27183 - -[packages.wheels.hashes] -sha256 = "387d8cd30e69b3f0a72877b9ae717033396404e19095b17fe89753a981fda44f" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/fa/4e/a469509e538d37af51103b17b073126973f2b1cbf197ff32c7ddf025cfe5/markupsafe-3.0.4-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" -upload-time = 2026-10-02 23:05:40+00:00 -size = 24813 - -[packages.wheels.hashes] -sha256 = "051417f74bcaaefa316276e0ff723f541616ca51043d070da00249d9bddd3e3c" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/8f/db/d7282caf7ab03af44d5d6fdbaa019b35c7d7f1c90588b839c07cba640d6a/markupsafe-3.0.4-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" -upload-time = 2026-10-02 23:05:41+00:00 -size = 23049 - -[packages.wheels.hashes] -sha256 = "a8e9f292fcda89b324f2f5c91d13f1424a153e40fc2756f38ee23b15835ff300" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/30/f3/b6a425206e6964efda6acee544d0eb01d1501784d0b8e2dcc74986f33b17/markupsafe-3.0.4-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" -upload-time = 2026-10-02 23:05:43+00:00 -size = 22088 - -[packages.wheels.hashes] -sha256 = "df1ae86ff54725a01fa1a0510b914ca53a161b7050be74f6204e24aded5971d0" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/ea/8a/84d3582fc1f0d5bd466cdf2eebf175e172158a6e70701aacec1de1b35430/markupsafe-3.0.4-cp314-cp314-musllinux_1_2_aarch64.whl" -upload-time = 2026-10-02 23:05:44+00:00 -size = 23846 - -[packages.wheels.hashes] -sha256 = "8965520ac587c94a4ac48b729be3d8b8de00af39699b17585dfb599babe77977" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/1c/65/db101cce51b7ba4864ac491a9859d297dd1adf0e55b103fee9db9c47c527/markupsafe-3.0.4-cp314-cp314-musllinux_1_2_armv7l.whl" -upload-time = 2026-10-02 23:05:45+00:00 -size = 22674 - -[packages.wheels.hashes] -sha256 = "340cbb1957ba99929cbf19a75626d36ba1ae21d1730b287d1cf7f824a20c4fc7" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/e0/49/ddee9813d71db0c7a5c9d97c832125e6758a0c844777f1cf076569bb0e22/markupsafe-3.0.4-cp314-cp314-musllinux_1_2_ppc64le.whl" -upload-time = 2026-10-02 23:05:46+00:00 -size = 24104 - -[packages.wheels.hashes] -sha256 = "3a93d9616ddecfb393727a0041a562cf0b15a244e20f2bd25efc7949be4c4f17" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/aa/0e/7d8518d726726870a2399d69fd30d0fa36c5e57a2132c336b58d7c491073/markupsafe-3.0.4-cp314-cp314-musllinux_1_2_riscv64.whl" -upload-time = 2026-10-02 23:05:47+00:00 -size = 21637 - -[packages.wheels.hashes] -sha256 = "d2e56fd3b00222722abfb3f5f0759ddbae4b90811b5ad4343c64030ad1bde70c" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/b4/b0/b505e8a361ba557dbf3b3aa7331ea39b00d2022a26e925ff8463b9714bb3/markupsafe-3.0.4-cp314-cp314-musllinux_1_2_x86_64.whl" -upload-time = 2026-10-02 23:05:48+00:00 -size = 23081 - -[packages.wheels.hashes] -sha256 = "0d9c47709875fdb321452056622e930c52afbc07a7d780762fbb8b4d91ce6fa4" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/1c/ea/9cc3cea873f980c75cbdb6f4277ce30ee955de38be0b3d02f14c108e0698/markupsafe-3.0.4-cp314-cp314-win32.whl" -upload-time = 2026-10-02 23:05:49+00:00 -size = 14272 - -[packages.wheels.hashes] -sha256 = "38fc55594dab834470b6733dead2ee9e3f657fb0608c769dcafa0ba5ab52f45c" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/80/f0/5792ff768a410f93ee3f84fc19345295ffc352d2c936b424cb37e514714c/markupsafe-3.0.4-cp314-cp314-win_amd64.whl" -upload-time = 2026-10-02 23:05:50+00:00 -size = 14501 - -[packages.wheels.hashes] -sha256 = "c1bc67752d5f21013cfe430df4062441714eab79f65a6a05e01505957e9c35fe" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/5f/cf/3d074a8edffcc6899355232ff2543ae8d929733239596423b7db79698bc9/markupsafe-3.0.4-cp314-cp314-win_arm64.whl" -upload-time = 2026-10-02 23:05:51+00:00 -size = 14364 - -[packages.wheels.hashes] -sha256 = "7e1636da3d8dfc220b6dd10264db5f2b165e4888c4518594898fbe381049af8a" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/d9/31/87ce42159aae2163cf3bbbd0c44bc87780510eecab1ea3859099aed95dcb/markupsafe-3.0.4-cp314-cp314t-macosx_10_15_x86_64.whl" -upload-time = 2026-10-02 23:05:52+00:00 -size = 11759 - -[packages.wheels.hashes] -sha256 = "805c8b84534fa10891890f0e4be39f3a99e94615d93e8836bf9fa1fdca2feeb2" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/5f/53/b047207eeb7752e960aca3eb1df5fb7eefa7dd4c62ac49bb156456c8a702/markupsafe-3.0.4-cp314-cp314t-macosx_11_0_arm64.whl" -upload-time = 2026-10-02 23:05:54+00:00 -size = 12096 - -[packages.wheels.hashes] -sha256 = "fa95848c929b6a75f6848d3c9793e59db365ee436776e57db835cdbfa79ba977" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/ee/51/4326c88a13c7b755657d44b4bb986f8c3d9843ecba7e22d98661d87f9a57/markupsafe-3.0.4-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" -upload-time = 2026-10-02 23:05:55+00:00 -size = 25699 - -[packages.wheels.hashes] -sha256 = "e916035e3e9930cbdfdd10abf48861340221857f45509565898e012263f7b289" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/f2/bb/990581b7474bfcf2cf34bed6ba5ea23bd87adb9d671213d68e88620e7a6b/markupsafe-3.0.4-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl" -upload-time = 2026-10-02 23:05:56+00:00 -size = 27804 - -[packages.wheels.hashes] -sha256 = "b4d12837e0203bbace818ff4a7461afdcd78bcd782351cea148139180d7bcffe" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/6b/89/89491878c28e8291f5aa2fffe2c2d57230d10ae366d55dd810b840513d78/markupsafe-3.0.4-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" -upload-time = 2026-10-02 23:05:57+00:00 -size = 25912 - -[packages.wheels.hashes] -sha256 = "5086f9975abb1ab531ee6afca1761e4b59a19b446f3f6522ed776963228cfe5a" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/30/77/680998b54efdea06fc114565cd739b6d059f826a0279219b218dfa750d29/markupsafe-3.0.4-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" -upload-time = 2026-10-02 23:05:58+00:00 -size = 23623 - -[packages.wheels.hashes] -sha256 = "b4a635a0487774f841cb1fb62e907e7195cc95bc761e053184b8acc3ceb20733" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/ae/75/2709f5ac5de9467b40b10e2bb8f89cc63dfb74582e09aa734b1124a217de/markupsafe-3.0.4-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" -upload-time = 2026-10-02 23:05:59+00:00 -size = 23301 - -[packages.wheels.hashes] -sha256 = "cb96e6e088d6cf71c1ea977510948320234824cf226e32f6f6e044f7a9c82b34" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/a0/c8/39eadc6c5b14c9c7679bfb98f4d4c6a97863b5beb91839aca4d2d6e16e55/markupsafe-3.0.4-cp314-cp314t-musllinux_1_2_aarch64.whl" -upload-time = 2026-10-02 23:06:01+00:00 -size = 24950 - -[packages.wheels.hashes] -sha256 = "8b5d563170ff8ba3181caa967c99a3c804d1dedb702c7cb93a6a7c32247da978" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/1a/5e/01037f8a43e8ccb0bffb4fbdc5212db05bf080fdd7286cd392332d58128a/markupsafe-3.0.4-cp314-cp314t-musllinux_1_2_armv7l.whl" -upload-time = 2026-10-02 23:06:02+00:00 -size = 23330 - -[packages.wheels.hashes] -sha256 = "396ec4e65cc889f69786b3b89478b471cee5a3bcf468b9d9bb03e1a30fb291fc" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/d4/f4/23e83ce0596bb0cbe670502d31df8f757bbd01a392aa486fa3b40d1ed399/markupsafe-3.0.4-cp314-cp314t-musllinux_1_2_ppc64le.whl" -upload-time = 2026-10-02 23:06:03+00:00 -size = 25239 - -[packages.wheels.hashes] -sha256 = "15ba9e28640feef770374b116a6f019c21f52404aeabe516aa7f800587b98cfc" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/88/5b/3708897368073cc683d524750474f41a77d2986152c380dcc55b20fdf340/markupsafe-3.0.4-cp314-cp314t-musllinux_1_2_riscv64.whl" -upload-time = 2026-10-02 23:06:04+00:00 -size = 22767 - -[packages.wheels.hashes] -sha256 = "d920abdfa61279ba1a2ef9484aab07bf03331f8c08a10120fa332353d06e6932" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/c6/61/ebda1307864b409e6b3115757a3d4a09cca46cfb6cc65191b5de226b424b/markupsafe-3.0.4-cp314-cp314t-musllinux_1_2_x86_64.whl" -upload-time = 2026-10-02 23:06:05+00:00 -size = 23668 - -[packages.wheels.hashes] -sha256 = "a9f54054101545a9a9cccefddf54316aa6e4491611fcbef9e91b3b6bebec04f6" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/09/15/98075cceac3b5ba0dbb8e4762a847be967d2befc349a2cf2d0ac77f62c9d/markupsafe-3.0.4-cp314-cp314t-win32.whl" -upload-time = 2026-10-02 23:06:07+00:00 -size = 14301 - -[packages.wheels.hashes] -sha256 = "12a606a492de952afcb43b59a14aaaaad120e708d3663dd0fdf2d738d427a691" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/0b/a3/768b560fcc4156685cb563d922b217810cfa7bc135773367f62f1f9d2078/markupsafe-3.0.4-cp314-cp314t-win_amd64.whl" -upload-time = 2026-10-02 23:06:08+00:00 -size = 14526 - -[packages.wheels.hashes] -sha256 = "a18f38cafc329bac5e3c2b96c765b4c96d3d103421ed22ab7988c1e3fce27464" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/93/63/da554b4c97a6b0ea3229ca7fe8cbfb620be81613d517f482e85958550537/markupsafe-3.0.4-cp314-cp314t-win_arm64.whl" -upload-time = 2026-10-02 23:06:09+00:00 -size = 14421 - -[packages.wheels.hashes] -sha256 = "eba154571c16e032112afac0dc2dfe9e63c2ceb7aedd07bb7eecf2ce26d4dd4c" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/a9/30/54d11c8ca027114898cab97421fb39e4ffd9ddf47cdbc44df2ec76722da9/markupsafe-3.0.4-cp315-cp315-android_24_arm64_v8a.whl" -upload-time = 2026-10-02 23:06:10+00:00 -size = 12791 - -[packages.wheels.hashes] -sha256 = "737c9c3981998eba27f11786f84fddcbabc74068b72a4a1f454ea02094b57b65" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/10/6d/97c913e253a14bd3cd0e15a5c56d13203b823fa7ee32498342896a072dc4/markupsafe-3.0.4-cp315-cp315-android_24_x86_64.whl" -upload-time = 2026-10-02 23:06:11+00:00 -size = 12527 - -[packages.wheels.hashes] -sha256 = "489505b03f692c3f376394e49194fa7a7f9e8558d6e293a7056a0032b0c38163" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/26/f9/b86d032042a4d597d9e1997f0e5f63a3eedaf11258e0a05760b0a0a826ea/markupsafe-3.0.4-cp315-cp315-ios_13_0_arm64_iphoneos.whl" -upload-time = 2026-10-02 23:06:13+00:00 -size = 11602 - -[packages.wheels.hashes] -sha256 = "077293e425f28ec737dbcad442a71752e28f8ae27cde3d68acd1fb212091cd92" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/f2/dc/73c14c1eedf0ac5fa3292ba43435e6c49d2c2050f33cebde541f8f4807f1/markupsafe-3.0.4-cp315-cp315-ios_13_0_arm64_iphonesimulator.whl" -upload-time = 2026-10-02 23:06:14+00:00 -size = 11817 - -[packages.wheels.hashes] -sha256 = "9348cbb300d224fe3b89793262cb093504d4ae927004468463f745188a193e4a" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/8f/69/2c2fcaa5fcee22d72c7819c0d536fd181c74a688e6143845419579cd2863/markupsafe-3.0.4-cp315-cp315-ios_13_0_x86_64_iphonesimulator.whl" -upload-time = 2026-10-02 23:06:15+00:00 -size = 11446 - -[packages.wheels.hashes] -sha256 = "b807e598953730f82e4eae3bd30f6a122cf6b31c398c6b504c0e04c13c170429" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/88/54/9e5ec76c62e6e2834d5a93623018c943e8b3bb41d663e3fd4c03303b9b85/markupsafe-3.0.4-cp315-cp315-macosx_10_15_x86_64.whl" -upload-time = 2026-10-02 23:06:16+00:00 -size = 11719 - -[packages.wheels.hashes] -sha256 = "799c39bdf5e2f1292fedd3009f7b3c9e760f10b2420cb9638d56920840ff6db8" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/96/24/3ec292b44064c16229e064d770b2625bd8ea941aa61f44905a9fa44942c0/markupsafe-3.0.4-cp315-cp315-macosx_11_0_arm64.whl" -upload-time = 2026-10-02 23:06:17+00:00 -size = 12075 - -[packages.wheels.hashes] -sha256 = "ae9dcb8fbe244cb82f8a6458b455b927a03685e383d9bacf1ea5ce180b96dc97" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/aa/85/b64fdb1f304848518742136983c24e96d967bfb59a0ea160e92736901ab0/markupsafe-3.0.4-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" -upload-time = 2026-10-02 23:06:18+00:00 -size = 24656 - -[packages.wheels.hashes] -sha256 = "4bced6e2a6dba6a28f7dd3c6ce14df1b2dd495923f16ea484cad03decd463b2b" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/9c/18/23997d4c65b355da6390d61cd56e0ab3befd6ba8dda25cb40c602bd0fa6b/markupsafe-3.0.4-cp315-cp315-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl" -upload-time = 2026-10-02 23:06:20+00:00 -size = 27737 - -[packages.wheels.hashes] -sha256 = "3882fb412298575bae3b9c46868251f15cc69307359f87bb1b382e53d6e5a2c9" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/d4/36/35998dead3c6af88c38265a56e58100211f036234ab88eb2283fd4cbce44/markupsafe-3.0.4-cp315-cp315-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" -upload-time = 2026-10-02 23:06:21+00:00 -size = 25003 - -[packages.wheels.hashes] -sha256 = "04e7902ba80ee4bac1d50a549606527a1dcf0476cd81403db41099d3b60ec653" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/82/96/ef49135ce260db4ca4a12b119ed468449cd248db6b1468e2112b546d7a2e/markupsafe-3.0.4-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" -upload-time = 2026-10-02 23:06:22+00:00 -size = 23111 - -[packages.wheels.hashes] -sha256 = "925f929d6b59a8b3f8b8c6ac363cd0af7eecc81efb3071770b3c6717c450a369" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/50/7d/83126e338bd88c17a220668235368ad719fd4638e426739858cbb8508f77/markupsafe-3.0.4-cp315-cp315-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" -upload-time = 2026-10-02 23:06:23+00:00 -size = 22403 - -[packages.wheels.hashes] -sha256 = "f68edfc67aabac33708941f26f22a7b8e9f81429bc0cf249fcf7d66b23af8d19" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/83/dd/daf7e420de23c8206c365204e7b85e1251d8e19d34196a56336f316e5ed2/markupsafe-3.0.4-cp315-cp315-musllinux_1_2_aarch64.whl" -upload-time = 2026-10-02 23:06:25+00:00 -size = 24083 - -[packages.wheels.hashes] -sha256 = "e5c802729725bd07e2bc3ab7b76dc7e0bbfc53129d8f1eb1c002c24cf774717e" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/19/3c/11eecdc06bc44ad5570350085b572ebf049e8f9a38d1ece6d76640b739cd/markupsafe-3.0.4-cp315-cp315-musllinux_1_2_armv7l.whl" -upload-time = 2026-10-02 23:06:26+00:00 -size = 22931 - -[packages.wheels.hashes] -sha256 = "55ffd6ce583d97dc71dc92e930324c8c0d25aea7e3ade6ae54ef77cedb096811" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/0d/9e/ac0fd77f2a726e56ecc3ca0235d095feace1358d1b822406c2a2ef26a4dc/markupsafe-3.0.4-cp315-cp315-musllinux_1_2_ppc64le.whl" -upload-time = 2026-10-02 23:06:27+00:00 -size = 24299 - -[packages.wheels.hashes] -sha256 = "2cb3dd71fc6be918ad4264346a8ed69485f9b7ed7bf35495d8e22807cd6b8bea" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/d7/09/c6bd842ad58ff5b3bc76eeed7e9a42a6f11adc5d090ec697b72c9672731e/markupsafe-3.0.4-cp315-cp315-musllinux_1_2_riscv64.whl" -upload-time = 2026-10-02 23:06:29+00:00 -size = 21948 - -[packages.wheels.hashes] -sha256 = "94f5407f7bc64fa6463906b896f9904beeeb7dd8dc116ee8e9056c8714ff9916" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/a3/46/82f586711fed61e86faa1ee1bc317d68cd45a10c8bdbe3f7d1fdf9026ad8/markupsafe-3.0.4-cp315-cp315-musllinux_1_2_x86_64.whl" -upload-time = 2026-10-02 23:06:30+00:00 -size = 23150 - -[packages.wheels.hashes] -sha256 = "2dad610540cb2e6272855c178f08ae9a1c7ac258a7fb71660553a5f104b42741" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/19/2d/2dfdce99318abbfa26925195fbc17db188c46a1ec6457be121b6f9cfeb42/markupsafe-3.0.4-cp315-cp315-win32.whl" -upload-time = 2026-10-02 23:06:31+00:00 -size = 14269 - -[packages.wheels.hashes] -sha256 = "03470d1a8268e692ecf79ecd565593e59d44219377a7ead61f1f1b94c1f7ff6b" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/5b/ec/6000fd82e8791e58fcd0456ec20f098957e2b03d5ed02eb73241a577c0ba/markupsafe-3.0.4-cp315-cp315-win_amd64.whl" -upload-time = 2026-10-02 23:06:33+00:00 -size = 14496 - -[packages.wheels.hashes] -sha256 = "d882a373d8093c2941e01291b7ced96e9cbe4781da9a7751ca7e6c70385e5214" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/bc/66/e73bd5016421d5d6e2fb6de7dd609f9de020942ac8c626526bd8c6eeaf82/markupsafe-3.0.4-cp315-cp315-win_arm64.whl" -upload-time = 2026-10-02 23:06:34+00:00 -size = 14361 - -[packages.wheels.hashes] -sha256 = "353bd63081912ab8cfa6a0c7d185934cdf8426f04c618bba6bc4b394f2069b67" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/90/df/cb8c3dc98d313a951df2f8968f44e4cb5643df6d3cab749a530ce2f7d972/markupsafe-3.0.4-cp315-cp315t-macosx_10_15_x86_64.whl" -upload-time = 2026-10-02 23:06:35+00:00 -size = 11760 - -[packages.wheels.hashes] -sha256 = "c61750fadcd119d0825bcb7d7d675dd264dcc89cc05292aab5be68ebdbb374ad" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/d6/bb/4af9b3ca0753d654ac75f9531d5bd741bb77ca6e696f36807c475ffc099a/markupsafe-3.0.4-cp315-cp315t-macosx_11_0_arm64.whl" -upload-time = 2026-10-02 23:06:37+00:00 -size = 12108 - -[packages.wheels.hashes] -sha256 = "1c0df495a977d10460a94941799c72d5b5ab03d3858d949b55b5a66c8f371c99" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/3f/d4/b56429313aee5fd59b079c3df5615299959e25e7113eb6d8caadbdd7d38a/markupsafe-3.0.4-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" -upload-time = 2026-10-02 23:06:38+00:00 -size = 25762 - -[packages.wheels.hashes] -sha256 = "02fa4acbc6a3fc5c693c34d4dd8c1130b7fe99cc915181b0ddd6f72aeb296002" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/65/f5/34c181e891aa4f7d59c918584672e0c5eb7fffe76c1387d1246008bf4081/markupsafe-3.0.4-cp315-cp315t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl" -upload-time = 2026-10-02 23:06:39+00:00 -size = 28400 - -[packages.wheels.hashes] -sha256 = "05295589e619b9bed252a86b532b8e27350abc372d18ba89b59375325e91ec1e" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/ce/b5/ad14694fd0ac9a5ce30bc6498f2999378f418583dd1679cca5a1b512957e/markupsafe-3.0.4-cp315-cp315t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" -upload-time = 2026-10-02 23:06:41+00:00 -size = 25946 - -[packages.wheels.hashes] -sha256 = "be6cb0c799abb0e2ba3e618e6d28ddddf7e485f6c2ce938dfa237daf3905072c" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/d6/a8/26b606445387d0ceb1eb1f21840094b84e4e3c3c3983d80d10b89823b490/markupsafe-3.0.4-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" -upload-time = 2026-10-02 23:06:42+00:00 -size = 23634 - -[packages.wheels.hashes] -sha256 = "26e9867520db70d37f7fb421a7f0d8adb40171011fb84ce869afa1a83370dfa8" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/39/a2/b8814de672f1f0094d498bf646f2fec9d6356b503d28ef500b71c5095377/markupsafe-3.0.4-cp315-cp315t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" -upload-time = 2026-10-02 23:06:44+00:00 -size = 23488 - -[packages.wheels.hashes] -sha256 = "f03460ff076f70ab595bb45a0205ccea1971443575b6920c52e755dec2b3fbfe" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/db/c7/287223376fb73335a3cc5d6eb22c6ab01358cf33945a9c39c06b9dac3f4b/markupsafe-3.0.4-cp315-cp315t-musllinux_1_2_aarch64.whl" -upload-time = 2026-10-02 23:06:45+00:00 -size = 25037 - -[packages.wheels.hashes] -sha256 = "436e3ffc6310d3c41878c601db29098102fe5d8a467c49da4a4125254e0980f2" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/f9/29/4df8355e313426d19e62ba33e0253c009ca12a0894ee77d67fa67255361c/markupsafe-3.0.4-cp315-cp315t-musllinux_1_2_armv7l.whl" -upload-time = 2026-10-02 23:06:47+00:00 -size = 23543 - -[packages.wheels.hashes] -sha256 = "4e2c4809c14559aa7ef426f27fb35afbb38104c349a903bf8f3600456764bb38" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/71/e5/8377731e8495668dcc768f645e717df18318c841edaf023a99395f6da9b4/markupsafe-3.0.4-cp315-cp315t-musllinux_1_2_ppc64le.whl" -upload-time = 2026-10-02 23:06:48+00:00 -size = 25282 - -[packages.wheels.hashes] -sha256 = "da2af0d7aebfc2074080d72efa6ab8317c62481ef1f896f65d9999c1c01f4494" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/ed/5f/373456e37ceb1478d657d6fe769cbe0a39f0a8dfc1548eeb19c471eefdd9/markupsafe-3.0.4-cp315-cp315t-musllinux_1_2_riscv64.whl" -upload-time = 2026-10-02 23:06:50+00:00 -size = 22993 - -[packages.wheels.hashes] -sha256 = "aa2c838cc024642cc04c6854232f32b43e5e22833dd11119c1766c7873b8370d" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/d7/93/2cbd5628435afb6f541bbaced4bce0c2edac4b09a142e6e928b8b0da9858/markupsafe-3.0.4-cp315-cp315t-musllinux_1_2_x86_64.whl" -upload-time = 2026-10-02 23:06:51+00:00 -size = 23712 - -[packages.wheels.hashes] -sha256 = "b91cc9d336957239ff200f30097e6fea2dc6d6fb3c81e853eaa09eac904fd894" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/81/99/157e10966b033b363aeda5263e82596ee232a0b1d082fdbf90aa417ff083/markupsafe-3.0.4-cp315-cp315t-win32.whl" -upload-time = 2026-10-02 23:06:53+00:00 -size = 14300 - -[packages.wheels.hashes] -sha256 = "e49fb0d1ce92cfa0cb198cc5b1b11cdf9d0638658e2a2db2687e39db7c87fc78" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/33/05/55884815414c9706a23deca150b72c25a62109e65b0b6ce232077802c719/markupsafe-3.0.4-cp315-cp315t-win_amd64.whl" -upload-time = 2026-10-02 23:06:54+00:00 -size = 14522 - -[packages.wheels.hashes] -sha256 = "4f6e0852a0283b1b1fd776eeb7b766a5f440b3e2bd31ab51af3b400585f3965c" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/92/f9/ecbde7149e95b8a0f18e16d5d747f7dc06049d5da2e4f77f6f5e4a1f46a8/markupsafe-3.0.4-cp315-cp315t-win_arm64.whl" -upload-time = 2026-10-02 23:06:56+00:00 -size = 14417 - -[packages.wheels.hashes] -sha256 = "39dbacefc411633db5b4378b066a9aca70a3d7e2922c9e578d825f844026eeba" - -[[packages]] -name = "mdformat" -version = "1.0.0" -index = "https://pypi.org/simple" -marker = "(\"release\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-news\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-notes\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-prepare\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-validate\" in dependency_groups and (python_full_version >= '3.15'))" - -[packages.sdist] -url = "https://files.pythonhosted.org/packages/3f/05/32b5e14b192b0a8a309f32232c580aefedd9d06017cb8fe8fce34bec654c/mdformat-1.0.0.tar.gz" -upload-time = 2025-10-16 12:05:03+00:00 -size = 56953 - -[packages.sdist.hashes] -sha256 = "4954045fcae797c29f86d4ad879e43bb151fa55dbaf74ac6eaeacf1d45bb3928" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/54/9a/8fe71b95985ca7a4001effbcc58e5a07a1f2a2884203f74dcf48a3b08315/mdformat-1.0.0-py3-none-any.whl" -upload-time = 2025-10-16 12:05:02+00:00 -size = 53288 - -[packages.wheels.hashes] -sha256 = "bca015d65a1d063a02e885a91daee303057bc7829c2cd37b2075a50dbb65944b" - -[[packages]] -name = "mdformat-gfm" -version = "1.0.0" -index = "https://pypi.org/simple" -marker = "(\"release\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-news\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-notes\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-prepare\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-validate\" in dependency_groups and (python_full_version >= '3.15'))" - -[packages.sdist] -url = "https://files.pythonhosted.org/packages/56/6f/a626ebb142a290474401b67e2d61e73ce096bf7798ee22dfe6270f924b3f/mdformat_gfm-1.0.0.tar.gz" -upload-time = 2025-10-16 09:12:22+00:00 -size = 10112 - -[packages.sdist.hashes] -sha256 = "d1d49a409a6acb774ce7635c72d69178df7dce1dc8cdd10e19f78e8e57b72623" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/e6/18/6bc2189b744dd383cad03764f41f30352b1278d2205096f77a29c0b327ad/mdformat_gfm-1.0.0-py3-none-any.whl" -upload-time = 2025-10-16 09:12:21+00:00 -size = 10970 - -[packages.wheels.hashes] -sha256 = "7305a50efd2a140d7c83505b58e3ac5df2b09e293f9bbe72f6c7bee8c678b005" - -[[packages]] -name = "mdit-py-plugins" -version = "0.6.1" -index = "https://pypi.org/simple" -marker = "(\"release\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-news\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-notes\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-prepare\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-validate\" in dependency_groups and (python_full_version >= '3.15'))" - -[packages.sdist] -url = "https://files.pythonhosted.org/packages/59/fc/f8d0863f8862f25602c0404d75568e89fb6b4109804645e5cdfb1be5cf56/mdit_py_plugins-0.6.1.tar.gz" -upload-time = 2026-05-13 09:03:38+00:00 -size = 56114 - -[packages.sdist.hashes] -sha256 = "a2bca0f039f39dbd35fb74ae1b5f998608c437463371f0ff7f49a19a17a114d0" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/a5/69/6da5581c6a7fede7dc261bf4e67d6adca4196f176b43288b55b3db395b6e/mdit_py_plugins-0.6.1-py3-none-any.whl" -upload-time = 2026-05-13 09:03:37+00:00 -size = 66663 - -[packages.wheels.hashes] -sha256 = "214c82fb2ac524472ab6a5bcab1de80f73b50443e187f401bfd77efbc7c6481d" - -[[packages]] -name = "mdurl" -version = "0.1.2" -index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"pkg-meta\" in dependency_groups or \"type\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-news\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-notes\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-prepare\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-validate\" in dependency_groups and (python_full_version >= '3.15'))" - -[packages.sdist] -url = "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz" -upload-time = 2022-08-14 12:40:10+00:00 -size = 8729 - -[packages.sdist.hashes] -sha256 = "bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/b3/38/89ba8ad64ae25be8de66a6d463314cf1eb366222074cfda9ee839c56a4b4/mdurl-0.1.2-py3-none-any.whl" -upload-time = 2022-08-14 12:40:09+00:00 -size = 9979 - -[packages.wheels.hashes] -sha256 = "84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8" - -[[packages]] -name = "more-itertools" -version = "11.2.1" -index = "https://pypi.org/simple" -marker = "(\"dev\" in dependency_groups and (platform_machine != 'ppc64le' and platform_machine != 's390x')) or (\"pkg-meta\" in dependency_groups and (platform_machine != 'ppc64le' and platform_machine != 's390x'))" - -[packages.sdist] -url = "https://files.pythonhosted.org/packages/52/b8/c63995bebbb9ac9c059350e0fb8c82c2420c85aeca7d34e40aecf3df9281/more_itertools-11.2.1.tar.gz" -upload-time = 2026-10-14 18:50:30+00:00 -size = 154133 - -[packages.sdist.hashes] -sha256 = "cbf08fd0af284dc69718b9b76a8e6203df624d70209ea511e4219d350c856f63" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/5d/57/3c4b1c6f2e0cc29ba023802458ea3d2a996f87085559e4a5f2192d549532/more_itertools-11.2.1-py3-none-any.whl" -upload-time = 2026-10-14 18:50:29+00:00 -size = 74405 - -[packages.wheels.hashes] -sha256 = "35a7377edd1dd6608dcb2cdf534ded55ea32d49448875ad042cd3f879fb1ded0" - -[[packages]] -name = "mypy-extensions" -version = "1.1.0" -index = "https://pypi.org/simple" -marker = "(\"release\" in dependency_groups and (python_full_version >= '3.15'))" - -[packages.sdist] -url = "https://files.pythonhosted.org/packages/a2/6e/371856a3fb9d31ca8dac321cda606860fa4548858c0cc45d9d1d4ca2628b/mypy_extensions-1.1.0.tar.gz" -upload-time = 2025-04-22 14:54:24+00:00 -size = 6343 - -[packages.sdist.hashes] -sha256 = "52e68efc3284861e772bbcd66823fde5ae21fd2fdb51c62a211403730b916558" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/79/7b/2c79738432f5c924bef5071f933bcc9efd0473bac3b4aa584a6f7c1c8df8/mypy_extensions-1.1.0-py3-none-any.whl" -upload-time = 2025-04-22 14:54:22+00:00 -size = 4963 - -[packages.wheels.hashes] -sha256 = "1be4cccdb0f2482337c4743e60421de3a356cd97508abadd57d47403e94f5505" - -[[packages]] -name = "nh3" -version = "0.3.7" -index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"pkg-meta\" in dependency_groups" - -[packages.sdist] -url = "https://files.pythonhosted.org/packages/18/2f/022b27146d52d24b1b353b003359134788ecbcd6fcdf6283adbd57c0fbc8/nh3-0.3.7.tar.gz" -upload-time = 2026-08-23 14:26:30+00:00 -size = 25662 - -[packages.sdist.hashes] -sha256 = "71860d01c16f4d8c72e334e0674beb2b0899dbd0bf760de18932ef4390303848" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/ce/88/b594f0e86856b37e182fb663283da419eea6424972506e640e890885467f/nh3-0.3.7-cp314-cp314t-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl" -upload-time = 2026-08-23 14:25:55+00:00 -size = 1471147 - -[packages.wheels.hashes] -sha256 = "91a4dab4e94d9fc54b9f67b1adfb23e81fab7ab43f33c3b8c97be9aa38f789ba" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/1e/60/847a21339f095c4d4c655af31fa2d18b174585bcc210709facacc7ce205c/nh3-0.3.7-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" -upload-time = 2026-08-23 14:25:56+00:00 -size = 820463 - -[packages.wheels.hashes] -sha256 = "eae64328e46a25785535afcb6885b6f182ecaf5ee8c88f8c075422db8aacc65b" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/7b/7f/1a103e00aaf5e59f2dee4c2709aac609bb2d4bb74fddaf0dcfade11ed87b/nh3-0.3.7-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl" -upload-time = 2026-08-23 14:25:58+00:00 -size = 861456 - -[packages.wheels.hashes] -sha256 = "4968fe8d2db97c6f047659bf46a449fd8ec377f44ebf3e0a1b96c0d3a333ae32" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/d8/4a/e9c436089a0c80b928011ead0efd156aa7639a19b6064ef58dcedcab8369/nh3-0.3.7-cp314-cp314t-musllinux_1_2_aarch64.whl" -upload-time = 2026-08-23 14:25:59+00:00 -size = 1023930 - -[packages.wheels.hashes] -sha256 = "be53a4825585f701955cb9baf49f478f56eb81e20294329fe4bc689dd5dd81fa" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/04/5c/aa1468e3e281e78d2b3b7d762ccba59f681af355e971dbd255d5903f7b86/nh3-0.3.7-cp314-cp314t-musllinux_1_2_armv7l.whl" -upload-time = 2026-08-23 14:26:00+00:00 -size = 1102614 - -[packages.wheels.hashes] -sha256 = "94fd6e59553fbb9ffd8ba71bbd5a54e3126ba01799a097ae30d5341d750bc6ac" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/6a/9f/57d186d9d3dd38905dc12dddb3484406cdf6aa0b1ce33639a2d277d4ee1c/nh3-0.3.7-cp314-cp314t-musllinux_1_2_i686.whl" -upload-time = 2026-08-23 14:26:02+00:00 -size = 1059915 - -[packages.wheels.hashes] -sha256 = "18f4278ecd157d43cb35acd5aae9f35cfa79f546b4922bd86536adc0f6312102" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/6b/53/097a5ad0b34b15d67a472ef849165a54209fa5fbd3e639801c6fe439ba28/nh3-0.3.7-cp314-cp314t-musllinux_1_2_x86_64.whl" -upload-time = 2026-08-23 14:26:03+00:00 -size = 1047402 - -[packages.wheels.hashes] -sha256 = "808def0c8c07843e6e50dc84f532457bfa2cfd17417b219a5d9e7c773709331a" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/9a/a7/c57a2c70534418310889a65ccfac3525e62f0bc0a8613225903403755ce7/nh3-0.3.7-cp314-cp314t-win32.whl" -upload-time = 2026-08-23 14:26:05+00:00 -size = 619895 - -[packages.wheels.hashes] -sha256 = "874b7d67a067bd29a59223f6270fc30da4edd8e6d87fd219fc93bcbaa662c946" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/e6/b7/efda1d0a611d940bdfde6893bde1ea6b7b7d48c31273aea48e35b822fd58/nh3-0.3.7-cp314-cp314t-win_amd64.whl" -upload-time = 2026-08-23 14:26:06+00:00 -size = 633456 - -[packages.wheels.hashes] -sha256 = "614dac4a4c36ad084e78447d16fe898dedd762e354a7ab9cda2984e82f67883d" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/1d/18/3ab564595cb88196f50d26e163ed0fd2acc731ab26ac615df91981885887/nh3-0.3.7-cp314-cp314t-win_arm64.whl" -upload-time = 2026-08-23 14:26:07+00:00 -size = 611003 - -[packages.wheels.hashes] -sha256 = "157ec1eb7a62f3d9a7badb8d82d89aa810e3e24e097eedfa481a25d0c8a99877" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/94/0d/c257754bf57f829f307aa226bbe136d3a1356b5a0d08324c7b6bd2a8aacd/nh3-0.3.7-cp38-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl" -upload-time = 2026-08-23 14:26:09+00:00 -size = 1493959 - -[packages.wheels.hashes] -sha256 = "6c3aa50eb26e9228238271db9f983cbc3b006dfbfeca2d4dc34c33ddc6ac5ea5" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/07/42/a687e7091928806e514f89fa2666f25ec9bfe0a902fc4402b25e51ce408b/nh3-0.3.7-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" -upload-time = 2026-08-23 14:26:10+00:00 -size = 859615 - -[packages.wheels.hashes] -sha256 = "f266d3f1b3647449923a8e406524632220dd5d8b647078dfe45b885d33d10479" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/85/05/b0e6bef633549a23347d5462aa288fcc42381e7918482062ca3cb456242a/nh3-0.3.7-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" -upload-time = 2026-08-23 14:26:12+00:00 -size = 839872 - -[packages.wheels.hashes] -sha256 = "e8fd1ab205258b29254f72db377d99e2c96aa7653ef3b015ccab0420b094b506" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/17/40/2a0921d45b20828708bcb56887e47dcf8cae13818de5bf9a01308d348712/nh3-0.3.7-cp38-abi3-manylinux_2_17_ppc64.manylinux2014_ppc64.whl" -upload-time = 2026-08-23 14:26:13+00:00 -size = 1091325 - -[packages.wheels.hashes] -sha256 = "19f288c938ec6eef1f5d2c6cab47838e71fef8097e1c1233802be5a6230ba086" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/e4/d1/9d70e0e418a48280ec0ddc6c1b08b4b1136ebcc31a1625e57ff5c665fa51/nh3-0.3.7-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" -upload-time = 2026-08-23 14:26:14+00:00 -size = 1042482 - -[packages.wheels.hashes] -sha256 = "de2b2aab32ea303405debefdcfc58043d3e635fa3f67b9eb140d2b0e0c0d2563" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/93/a7/02dd159d4e71f98607d8d4249cddb7561e77be1a8e4dec77d76e1b68fc99/nh3-0.3.7-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl" -upload-time = 2026-08-23 14:26:16+00:00 -size = 946868 - -[packages.wheels.hashes] -sha256 = "9b7279d43323a25225df23576af6594a16693f61431170848b8b2ac21ad4f174" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/a6/ed/c5510c615dce55b6fcc364aa1838142f938beed64f5e4927490dfcaf4405/nh3-0.3.7-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" -upload-time = 2026-08-23 14:26:17+00:00 -size = 832161 - -[packages.wheels.hashes] -sha256 = "70f5ac8626e899a4bab0ef74ca2f5bd602f49c7b739e6e5026b4afc6d63dac42" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/7b/e3/3212c1a5b5745245d7f18885207bbddb34c56075f34dd682bd539aad55cc/nh3-0.3.7-cp38-abi3-manylinux_2_31_riscv64.whl" -upload-time = 2026-08-23 14:26:18+00:00 -size = 849791 - -[packages.wheels.hashes] -sha256 = "5ffdfcb9a686ffb12765376bcfb6b5b55728516d3c0ee317d29982381ded3df8" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/20/64/9e36594efad6c290de4240d02cb2bd80c339a4ab1c4de66e599ffa6d9d81/nh3-0.3.7-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.whl" -upload-time = 2026-08-23 14:26:19+00:00 -size = 875473 - -[packages.wheels.hashes] -sha256 = "bc42bb1193c1e28a1e74c2cabaca178e118a7103e8832699fef8a2b3e2496493" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/00/0c/1a8985fd43fea5530c0ac890b6f0b423770ee72f111b70b7a77f2dec243a/nh3-0.3.7-cp38-abi3-musllinux_1_2_aarch64.whl" -upload-time = 2026-08-23 14:26:21+00:00 -size = 1036463 - -[packages.wheels.hashes] -sha256 = "d56e76bd3cadb09b6b0cef364850811663734b348a25f5f587a2819c495367bd" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/b2/5d/891e533b716cf00df76ad0ba6485dcfd14d59a6430a3cc99057c4c04004e/nh3-0.3.7-cp38-abi3-musllinux_1_2_armv7l.whl" -upload-time = 2026-08-23 14:26:22+00:00 -size = 1116029 - -[packages.wheels.hashes] -sha256 = "fd4a70efb45d5372174f718878eb7a35c12677626a63b2f103b23b833457dcac" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/42/e5/ae8c0782fce74fb6fcf7234bb3d4017f37ce181b4f9d29369eab21c50a04/nh3-0.3.7-cp38-abi3-musllinux_1_2_i686.whl" -upload-time = 2026-08-23 14:26:24+00:00 -size = 1076589 - -[packages.wheels.hashes] -sha256 = "15f5fbf090f5c88d61c820e1fc1fceecb6520cca9fe85649c06b57ef9dc9ff62" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/26/a4/c3423351e8d864ad756e85e15f0c01433361f14d34e4ed156482c0518f2a/nh3-0.3.7-cp38-abi3-musllinux_1_2_x86_64.whl" -upload-time = 2026-08-23 14:26:25+00:00 -size = 1058871 - -[packages.wheels.hashes] -sha256 = "6698a822132beedab80f131c08d8d0ac5a178ddeb488d02ca4b67716ecfac7af" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/4b/6a/478f153f1d7c0baaa3d1e8bb5fdcee3a6235f90fe44ea969a9d4e2b8c47a/nh3-0.3.7-cp38-abi3-win32.whl" -upload-time = 2026-08-23 14:26:26+00:00 -size = 630729 - -[packages.wheels.hashes] -sha256 = "6e4280115d44c3b278eef712a86748c1a723105cd79feec46952383117ab4e59" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/b4/b9/34433ccb1f0fe6968dabbb7d4bf5721c6221878ef07832748c06655a6a80/nh3-0.3.7-cp38-abi3-win_amd64.whl" -upload-time = 2026-08-23 14:26:28+00:00 -size = 644462 - -[packages.wheels.hashes] -sha256 = "618e3059caf41ccdf5dcccb3fa9df4cf6e4efe23d1382a8bbfca272a8a4f8bfc" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/f9/70/e140dffff6e808dc6343598df76e7e2407fd0f581de3524c75fba2e0cf24/nh3-0.3.7-cp38-abi3-win_arm64.whl" -upload-time = 2026-08-23 14:26:29+00:00 -size = 621867 - -[packages.wheels.hashes] -sha256 = "f04b7d333b27f13ca439da3cf1c75c2fba34f104969f6ce4ac8e7079699c2f4a" - -[[packages]] -name = "nodeenv" -version = "1.11.0" -index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"lint\" in dependency_groups" - -[packages.sdist] -url = "https://files.pythonhosted.org/packages/9a/8e/105de02c1322cfada6d9710d9146ef8026419d433c9d08359a2d35805811/nodeenv-1.11.0.tar.gz" -upload-time = 2026-09-26 11:29:21+00:00 -size = 99301 - -[packages.sdist.hashes] -sha256 = "3ce8fe5b71d16e8af7039ca65257354100bc772965d6bc549070649e53b1b146" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/54/c8/12811c9b48fde162bb72b6f2e78fada9a247a09d7bb5be2050a5d099c77b/nodeenv-1.11.0-py2.py3-none-any.whl" -upload-time = 2026-09-26 11:29:19+00:00 -size = 34277 - -[packages.wheels.hashes] -sha256 = "edaa16e6c14d7cf395d75d4bbd5a26390f4dc06501a33b4e76282b02cc688a25" - -[[packages]] -name = "packaging" -version = "26.3" -index = "https://pypi.org/simple" -marker = "\"build\" in dependency_groups or \"dev\" in dependency_groups or \"docs\" in dependency_groups or \"lint\" in dependency_groups or \"pkg-meta\" in dependency_groups or \"project-runtime\" in dependency_groups or \"test\" in dependency_groups or \"type\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-news\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-notes\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-prepare\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-validate\" in dependency_groups and (python_full_version >= '3.15'))" - -[packages.sdist] -url = "https://files.pythonhosted.org/packages/7d/fa/3944b40b07da9ce895c0e6303a5ab7d53da063554f534556b134a54d6093/packaging-26.3.tar.gz" -upload-time = 2026-08-04 18:15:28+00:00 -size = 313412 - -[packages.sdist.hashes] -sha256 = "94edc256424af38762eb31306eed28beb9f0efc50a8837492c9d6fd6004aed79" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/63/34/ba1c580383c9eada3711951fef0795c80b829a078d72188184bcab9dd527/packaging-26.3-py3-none-any.whl" -upload-time = 2026-08-04 18:15:27+00:00 -size = 129956 - -[packages.wheels.hashes] -sha256 = "d7193f7c8e4e93f444fde0262bf90af30e16fa0ad0ad44cb553c87339b23cd1c" - -[[packages]] -name = "pathspec" -version = "1.1.1" -index = "https://pypi.org/simple" -marker = "\"build\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15'))" - -[packages.sdist] -url = "https://files.pythonhosted.org/packages/5a/82/42f767fc1c1143d6fd36efb827202a2d997a375e160a71eb2888a925aac1/pathspec-1.1.1.tar.gz" -upload-time = 2026-04-27 01:46:08+00:00 -size = 135180 - -[packages.sdist.hashes] -sha256 = "17db5ecd524104a120e173814c90367a96a98d07c45b2e10c2f3919fff91bf5a" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/f1/d9/7fb5aa316bc299258e68c73ba3bddbc499654a07f151cba08f6153988714/pathspec-1.1.1-py3-none-any.whl" -upload-time = 2026-04-27 01:46:07+00:00 -size = 57328 - -[packages.wheels.hashes] -sha256 = "a00ce642f577bf7f473932318056212bc4f8bfdf53128c78bbd5af0b9b20b189" - -[[packages]] -name = "platformdirs" -version = "4.13.0" -index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"lint\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15'))" - -[packages.sdist] -url = "https://files.pythonhosted.org/packages/80/a8/66d45abadff219e36e2a824181b8f6a67e7ed4572934d6252c71c29d5731/platformdirs-4.13.0.tar.gz" -upload-time = 2026-10-11 02:05:24+00:00 -size = 61094 - -[packages.sdist.hashes] -sha256 = "1aa0b0d3f224c1f07c295121e312a5a24a180d6ae5a8425ea1784b3e3863e9c0" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/8d/15/1633010b26e88e872c93b67c0b6c5e174fb74cb6fb5c1472b4d51d4a8f22/platformdirs-4.13.0-py3-none-any.whl" -upload-time = 2026-10-11 02:05:22+00:00 -size = 32724 - -[packages.wheels.hashes] -sha256 = "3dbcf4cd708f21cf876c4eaa90e58412bc4f033d87143f41b1493ff77c25b7e1" - -[[packages]] -name = "pluggy" -version = "1.7.0" -index = "https://pypi.org/simple" -marker = "\"build\" in dependency_groups or \"dev\" in dependency_groups or \"test\" in dependency_groups or \"type\" in dependency_groups" - -[packages.sdist] -url = "https://files.pythonhosted.org/packages/bf/db/7fc19e6f2dc92a966727031389fc2e08b558f0f25eb7403c1119ad4713cd/pluggy-1.7.0.tar.gz" -upload-time = 2026-10-15 09:50:58+00:00 -size = 123304 - -[packages.sdist.hashes] -sha256 = "d1eaa46ebb595891b860ab086b4d09c8588af65ebd4361b8e8f4bb8920b90ba8" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/40/9e/2b38731e0fc536806f16490e1a12d7f0dc2a1235aa8cc07bcc75416a7daa/pluggy-1.7.0-py3-none-any.whl" -upload-time = 2026-10-15 09:50:56+00:00 -size = 27082 - -[packages.wheels.hashes] -sha256 = "7dd7b0d8832ba3cb632c306926ded123429211b83641b35dc5c41ad2d34f9bec" - -[[packages]] -name = "pre-commit" -version = "4.7.0" -index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"lint\" in dependency_groups" - -[packages.sdist] -url = "https://files.pythonhosted.org/packages/3a/c3/6965c2690ddce885ec75121572d065a5b94c5a5d8d3e657927ecda9fd715/pre_commit-4.7.0.tar.gz" -upload-time = 2026-10-12 20:45:40+00:00 -size = 198120 - -[packages.sdist.hashes] -sha256 = "1f3deee12b914c8fa184bd2b5953391c2e4f36763e403d4a23dc9983fa7c6e86" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/eb/83/ce0a196e4f7b20b11ce3aa1fc72fb973f64b7628d51c1b8aebad37fb7f81/pre_commit-4.7.0-py2.py3-none-any.whl" -upload-time = 2026-10-12 20:45:38+00:00 -size = 226261 - -[packages.wheels.hashes] -sha256 = "2e229038ad3656081b70c27913157e4b636ef306f643f024a8a8e3f0f7b2f877" - -[[packages]] -name = "pre-commit-uv" -version = "4.4.0" -index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"lint\" in dependency_groups" - -[packages.sdist] -url = "https://files.pythonhosted.org/packages/95/3c/65ca92a8343efcf16107824d01c4664bb9a2b2e8b7fb4efc954375e56c26/pre_commit_uv-4.4.0.tar.gz" -upload-time = 2026-10-11 00:27:45+00:00 -size = 7591 - -[packages.sdist.hashes] -sha256 = "8e1b91485fdaba0673fc0f81229cab364c00fb6193b5fe0bcee2862b1a4ce1d4" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/29/fa/d5fe0626ce7a70510e6fbf2c6a9f6da4f1cbc42b86542ada1eae0eea6b55/pre_commit_uv-4.4.0-py3-none-any.whl" -upload-time = 2026-10-11 00:27:44+00:00 -size = 6209 - -[packages.wheels.hashes] -sha256 = "9012b09950a50efdcfb03b95355e1f65c14f9a5cb425d12c6bf2c6d6807617d7" - -[[packages]] -name = "prek" -version = "0.5.5" -index = "https://pypi.org/simple" -marker = "(\"release\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-check\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-prepare\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-validate\" in dependency_groups and (python_full_version >= '3.15'))" - -[packages.sdist] -url = "https://files.pythonhosted.org/packages/9b/7b/11538b8e6cd7e269261feae62a2d08818fdcf8f43c3b1a253cec01a5488d/prek-0.5.5.tar.gz" -upload-time = 2026-10-05 06:08:59+00:00 -size = 570428 - -[packages.sdist.hashes] -sha256 = "16bf596768bb754779c7d42317e9ca16ac609c0cce7d13bae0829944ab40a26a" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/2e/77/189e554ea92baf6c1d33733b3e9d1ed819ab7d77e57eb2e3ead0bb1d8060/prek-0.5.5-py3-none-macosx_10_12_x86_64.whl" -upload-time = 2026-10-05 06:08:39+00:00 -size = 6038669 - -[packages.wheels.hashes] -sha256 = "50fbceb0f728b504023f6e6c9037ac0656436949d94f7a85bac5542e6c1a4a75" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/63/ea/fc857c6b3f1e3fdb4d81bdca2051076de82e986cb1455a01b351ac7a5cd1/prek-0.5.5-py3-none-macosx_11_0_arm64.whl" -upload-time = 2026-10-05 06:08:41+00:00 -size = 5548955 - -[packages.wheels.hashes] -sha256 = "2f610927b95e84b28173a4c810892a7b5d5bb55bee792ddf97178fa97654633e" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/47/c3/2bab54f6393fb9f247225681d476086e24fa6242f329e9ca1e5bd638ec50/prek-0.5.5-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl" -upload-time = 2026-10-05 06:08:44+00:00 -size = 5848228 - -[packages.wheels.hashes] -sha256 = "120ef7d4b6bb58155e74827743c266e48501efb0e4c37ff726b14fe6e86a126b" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/aa/f9/1279e1c83819de5904db1a09f4afc589932a2e62c7063713b1fe3a54ee46/prek-0.5.5-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" -upload-time = 2026-10-05 06:08:46+00:00 -size = 6371296 - -[packages.wheels.hashes] -sha256 = "2f6c453a12c21757b23bbbc97415aef78527841ad3f9e61f52cb35cf012f93e5" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/93/fc/e566be5919eaffef4cc22488f16e4bbfd08961734bd67c06f85d405e4cbc/prek-0.5.5-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" -upload-time = 2026-10-05 06:08:48+00:00 -size = 6269922 - -[packages.wheels.hashes] -sha256 = "73d509c0d9556171de2502bada4962be7a25871e7b23e782549074e1416dc850" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/d2/39/a48d8e6203055bff7bb734b1f2f9aede4a4539bee6ab4c9273dbc01fa546/prek-0.5.5-py3-none-manylinux_2_28_aarch64.whl" -upload-time = 2026-10-05 06:08:50+00:00 -size = 5861518 - -[packages.wheels.hashes] -sha256 = "76c867fdbd4e4f19e6b6b2988bd1e1407d1324170ebcf1428e4e34f8f0751a99" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/b7/03/690fba9543033e25ea2e7b2ae1cca1ae8d8c2e32295f0d66f4b50934b8c7/prek-0.5.5-py3-none-musllinux_1_1_x86_64.whl" -upload-time = 2026-10-05 06:08:52+00:00 -size = 6383685 - -[packages.wheels.hashes] -sha256 = "c69f60c2b3b4d481e38d0eab3b97ac05ec05d7648ae690925ae95ca9d22c7643" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/8c/04/1e9ccf3a61a3bfd4107b83973f7afde9177b6ff8f2d5d4b00125e77c2100/prek-0.5.5-py3-none-win_amd64.whl" -upload-time = 2026-10-05 06:08:55+00:00 -size = 5784759 - -[packages.wheels.hashes] -sha256 = "15bff9039349466ea9bf6b0c173b822ff08f8ae4cfbfdea782492e519c06d874" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/41/d9/bb6811e438d3c74d26cb5d72e6343606e0a7a6283fee87521189f4ba1191/prek-0.5.5-py3-none-win_arm64.whl" -upload-time = 2026-10-05 06:08:57+00:00 -size = 5517355 - -[packages.wheels.hashes] -sha256 = "3db3191d2509830c75438e20956a47c2259867d18a4106064ed75088b968a0c6" - -[[packages]] -name = "pycparser" -version = "3.11" -index = "https://pypi.org/simple" -marker = "(\"dev\" in dependency_groups and (implementation_name != 'PyPy' and platform_machine != 'ppc64le' and platform_machine != 's390x' and platform_python_implementation != 'PyPy' and sys_platform == 'linux')) or (\"pkg-meta\" in dependency_groups and (implementation_name != 'PyPy' and platform_machine != 'ppc64le' and platform_machine != 's390x' and platform_python_implementation != 'PyPy' and sys_platform == 'linux'))" - -[packages.sdist] -url = "https://files.pythonhosted.org/packages/da/a8/c5fdbeee588bb8ada9458774f43adf1bdd30bd59157055142183e769a024/pycparser-3.11.tar.gz" -upload-time = 2026-10-09 12:56:59+00:00 -size = 113796 - -[packages.sdist.hashes] -sha256 = "d875f09c3507d00e1aba0eecc6dcadc1352f30fff09dc6bff2f1c2935e97c2bc" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/90/11/0e6f11117525ff0eec40ebac3d313376f102df93ca44ad9e893ee85e4f89/pycparser-3.11-py3-none-any.whl" -upload-time = 2026-10-09 12:56:58+00:00 -size = 51178 - -[packages.wheels.hashes] -sha256 = "51d5a8ba2be0bbe440b99d2112604c95bbbc3c2748a64260186c541e1729cd80" - -[[packages]] -name = "pydantic" -version = "2.14.1" -index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"pkg-meta\" in dependency_groups" - -[packages.sdist] -url = "https://files.pythonhosted.org/packages/7c/0b/8e10b2e693af8ec54346a14caf36221334775975a747c9ceaa3f8371d96d/pydantic-2.14.1.tar.gz" -upload-time = 2026-10-11 18:37:55+00:00 -size = 900362 - -[packages.sdist.hashes] -sha256 = "94f478203dd03404682a1ada216965651dd74b1d2d5ffd62e00e0837caab5c26" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/35/ea/a56b9fe5066f3537b7882f77e9c5dfb26d8c2eefdaed9b5fc73d57b4dc22/pydantic-2.14.1-py3-none-any.whl" -upload-time = 2026-10-11 18:37:53+00:00 -size = 488106 - -[packages.wheels.hashes] -sha256 = "9195d967ec791692a04438115466764fb8b9a27b31f14a760437694f40d6b454" - -[[packages]] -name = "pydantic-core" -version = "2.50.1" -index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"pkg-meta\" in dependency_groups" - -[packages.sdist] -url = "https://files.pythonhosted.org/packages/a6/24/af4ec4be49fbc810f35b0bdcacc3d433b56bbfa469fd3bfd4ae116cd9bf1/pydantic_core-2.50.1.tar.gz" -upload-time = 2026-10-11 18:35:44+00:00 -size = 513515 - -[packages.sdist.hashes] -sha256 = "e50d7b94baac6c7d09927fa5ca5800a0c7ee5015c7fcff65beb3a1931b5a6e09" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/45/1b/ca81811da3d2aea724fb3c4ba6b83f50ab8f210576306ccd601973142d35/pydantic_core-2.50.1-cp311-cp311-macosx_10_12_x86_64.whl" -upload-time = 2026-10-11 18:31:58+00:00 -size = 2152145 - -[packages.wheels.hashes] -sha256 = "c531166c42ea7bdfecc8c50049581f05dd1993b09cc7c52bb36a14e96deaec7d" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/59/20/938ef7e0541af0a314e2f9d63848dbd1656ba2ebfe5ca0469f7ebee00d5e/pydantic_core-2.50.1-cp311-cp311-macosx_11_0_arm64.whl" -upload-time = 2026-10-11 18:31:59+00:00 -size = 2045761 - -[packages.wheels.hashes] -sha256 = "b6d0c2183008c188e19f4906d426b293bdc4f67ab17df8e180fe16cda208fa71" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/2f/4b/456497fe2affa18f49b226e89bde31e8a204751ee343dd9beaac5438123e/pydantic_core-2.50.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" -upload-time = 2026-10-11 18:32:01+00:00 -size = 2049557 - -[packages.wheels.hashes] -sha256 = "94be440c03fede26969a5ce75468e0e6a9927a1b46d9b679ee8adc1b057b0350" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/a5/9d/cd5dfe13928f55e236dff3a1bee06721d318ca6c955d9ca993b0a5d09f39/pydantic_core-2.50.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" -upload-time = 2026-10-11 18:32:02+00:00 -size = 2188153 - -[packages.wheels.hashes] -sha256 = "36c426eac0af8d1529ff8467e612b933346caec1fdc0d774f78f67a1a11e16c1" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/fb/8d/d0b25bc484f8d9136ea76ece69e0b2d24ab370cc2e7bbd1b79e61723b763/pydantic_core-2.50.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" -upload-time = 2026-10-11 18:32:03+00:00 -size = 2388308 - -[packages.wheels.hashes] -sha256 = "028e2f212273d4a39b1ec1e0de8166b1165a65fc0f1111452a9d94fc7c625c63" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/c5/64/6513cac7c9f78492abafa01d57a69de1d246bf3085fd7b0330bf14b025b3/pydantic_core-2.50.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl" -upload-time = 2026-10-11 18:32:05+00:00 -size = 2431187 - -[packages.wheels.hashes] -sha256 = "e6f0cc1bb9900dc558960894adeb30b0c083366fc1d69b856209fb2ca5c36fe5" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/ed/60/7f2ae89c37e69a3dc0da9ff57b0388c285542c688d05f36767770429de85/pydantic_core-2.50.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" -upload-time = 2026-10-11 18:32:06+00:00 -size = 2157623 - -[packages.wheels.hashes] -sha256 = "8812592c85d0edf423f10eadcef42716d71e8219085ad9e85b775057b7306133" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/87/02/e3a71373b85a7973099b9a229a4302c7792262717e0b4997e41c01f7dd16/pydantic_core-2.50.1-cp311-cp311-manylinux_2_31_riscv64.whl" -upload-time = 2026-10-11 18:32:07+00:00 -size = 2254539 - -[packages.wheels.hashes] -sha256 = "bbce99252ba3167b2b6277f1829d5bf4b43b754524bddf7f944707c3db7d2253" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/3f/d5/5b620aaf40dc631d911565b64d49d3fa8422027c046a7a96dc4e4921ae98/pydantic_core-2.50.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl" -upload-time = 2026-10-11 18:32:09+00:00 -size = 2267344 - -[packages.wheels.hashes] -sha256 = "476f6ed8e43cd1e0b460920e23571700872b284e77331cb30c4faf459cf48a4b" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/e0/48/f46baf4580d8a56ca4782aa65842e16d3cf39736b29fcce8e9c0521b3422/pydantic_core-2.50.1-cp311-cp311-musllinux_1_1_aarch64.whl" -upload-time = 2026-10-11 18:32:10+00:00 -size = 2300877 - -[packages.wheels.hashes] -sha256 = "2cbd1b75b09e976ed0d6b6ca297675632ca35df86130088457cdc60ef36970ae" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/2b/9d/e7d28505e6092c1fe075838a4f793ccbe6dd676e44ab16175815ee06cfe0/pydantic_core-2.50.1-cp311-cp311-musllinux_1_1_armv7l.whl" -upload-time = 2026-10-11 18:32:12+00:00 -size = 2464270 - -[packages.wheels.hashes] -sha256 = "5958c72adb417c39b12ac87525ac60b0d73315fcdc59e21f44ee4a5e2512c9ef" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/22/b1/3bf63b82efd93ebc9968f9c12fc46037a28bcb452c88e4688f33e5ff7dca/pydantic_core-2.50.1-cp311-cp311-musllinux_1_1_x86_64.whl" -upload-time = 2026-10-11 18:32:13+00:00 -size = 2478653 - -[packages.wheels.hashes] -sha256 = "d8f9e8a6c4ab04b78d61f78627370d834eb004b2869dcb28cfffa647b4ea1980" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/28/17/26d1e4b9c2ba6a92b7dc75bbcb99ef44456b7e3af1bced868403667ea7d3/pydantic_core-2.50.1-cp311-cp311-win32.whl" -upload-time = 2026-10-11 18:32:15+00:00 -size = 2120246 - -[packages.wheels.hashes] -sha256 = "4be846f55c9477f5f3ddde8f2ce941137e16862a56d018ed885d422bb6ae02f2" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/24/65/3e875e7991eaecd4d70686293ff0d8a99aa8f93dc295e6a21c3d702912fb/pydantic_core-2.50.1-cp311-cp311-win_amd64.whl" -upload-time = 2026-10-11 18:32:17+00:00 -size = 2176332 - -[packages.wheels.hashes] -sha256 = "0048b6dddc8ef4b64fccaad878bd143b0c3882ea9936279dc11d613f6b7dd1bc" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/ab/5c/58dbd17c61f209d91c70f549eb7a3bbec7023e89ea12dead091462d6d658/pydantic_core-2.50.1-cp311-cp311-win_arm64.whl" -upload-time = 2026-10-11 18:32:18+00:00 -size = 2182471 - -[packages.wheels.hashes] -sha256 = "6a733778df2f7087ec1100ed0b41533e4f3001976e99570fa34f57c66e7f8e3e" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/ee/94/101b49a6c63f99586755690696eae14532772587d9e39e93f7b8d28a49da/pydantic_core-2.50.1-cp312-cp312-macosx_10_12_x86_64.whl" -upload-time = 2026-10-11 18:32:20+00:00 -size = 2222428 - -[packages.wheels.hashes] -sha256 = "704075d10b74f2f3c6e15407c696d88701df35fc8953f434a431add0d0074db0" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/db/a3/f8b1b39349c33037c73d7a1b794c9c29d8f07d5bd2b74399c1375a529cc6/pydantic_core-2.50.1-cp312-cp312-macosx_11_0_arm64.whl" -upload-time = 2026-10-11 18:32:21+00:00 -size = 2025779 - -[packages.wheels.hashes] -sha256 = "e8e1d6ce820aa23317e8209a86bd65a540973c12dc7552b48a4f6c8e9926815e" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/d2/2d/862a7d115305cc621358e51ba13f296e0ffdf4fbd984be9f63bc7862730b/pydantic_core-2.50.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" -upload-time = 2026-10-11 18:32:23+00:00 -size = 2048429 - -[packages.wheels.hashes] -sha256 = "c18db21573bd2c6489f9a544b7499f0df2853958c568e5e783536ee1f690af41" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/c0/7d/fed95d18bf2b5abe2d5ab2bbec4184bfc22b6805994a33ccdae8edffd25a/pydantic_core-2.50.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" -upload-time = 2026-10-11 18:32:24+00:00 -size = 2173274 - -[packages.wheels.hashes] -sha256 = "cb57f304525a5e3c13333b772bf9a473f36326e9c821b2e8e1b2fd36f80ae2c3" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/93/1e/c6f22ceac65dc3d291ff79bea0eb74cbd1de8b128f01fee48af03bcea1e1/pydantic_core-2.50.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" -upload-time = 2026-10-11 18:32:26+00:00 -size = 2360403 - -[packages.wheels.hashes] -sha256 = "a27c09d86600f1bf2fe3f37e1ae697faf3143931c09322cd799da94deee923b5" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/2c/97/190b5b6bfe4c72f265feb657913eb30749193927a5ad7b83cfa7866a25a2/pydantic_core-2.50.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl" -upload-time = 2026-10-11 18:32:27+00:00 -size = 2439799 - -[packages.wheels.hashes] -sha256 = "46b3301d3b5c886f77de7546e47274a5842c622ea2020b8c6524c6b66913b4a6" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/90/24/48cd98388e4ac2c08d0800af36d15413db15e20387f1038123a2c86cb2f6/pydantic_core-2.50.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" -upload-time = 2026-10-11 18:32:29+00:00 -size = 2160157 - -[packages.wheels.hashes] -sha256 = "93ba4e9d8210d941c200431a56b2c0400b131865947903937ed3ec5404307d2e" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/00/86/d909133d0b9979ed14c20f110f21124a0e346caf071bd66ac5af3009062b/pydantic_core-2.50.1-cp312-cp312-manylinux_2_31_riscv64.whl" -upload-time = 2026-10-11 18:32:31+00:00 -size = 2229523 - -[packages.wheels.hashes] -sha256 = "e5faeaee74a57d32b3ab3aebad2e348f06d3ba946fc5d28c1728455f00a3d13a" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/90/31/4b43f08131b2098e73a852fd932063385f3103b33839fd9d1abdb89e673d/pydantic_core-2.50.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl" -upload-time = 2026-10-11 18:32:32+00:00 -size = 2242700 - -[packages.wheels.hashes] -sha256 = "a3cda0e538208e5d722bbf3698b24f19c0a7d05bc8d5f8a7f9b121ea7fa243d9" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/88/77/de39658569dc7a4c293d110a89629f61145e7538f00d1e4280c28debefd3/pydantic_core-2.50.1-cp312-cp312-musllinux_1_1_aarch64.whl" -upload-time = 2026-10-11 18:32:34+00:00 -size = 2278452 - -[packages.wheels.hashes] -sha256 = "57f51b31ff826e2859120cf4737c5a758a48d96f3e97da40ccee1796d58078ff" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/46/bd/1eeb9e4e791e81210ef9096f58080b32ba15b5b13c108d50aaa3f8ce9f73/pydantic_core-2.50.1-cp312-cp312-musllinux_1_1_armv7l.whl" -upload-time = 2026-10-11 18:32:35+00:00 -size = 2450098 - -[packages.wheels.hashes] -sha256 = "8daa7ee75245d43ad7d747e5c9ecc1b1d06552f72b14887e9276f787d57375f4" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/1c/e6/b2accfdff17e5a88d6358536702146de00f9339adaa4d5bbe1ee93cb4832/pydantic_core-2.50.1-cp312-cp312-musllinux_1_1_x86_64.whl" -upload-time = 2026-10-11 18:32:37+00:00 -size = 2476839 - -[packages.wheels.hashes] -sha256 = "acbf31f37c53a5ac0c34706c80b4f5107ba20b05fdd3816124bf236ef0c57dd2" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/3b/7e/c8a83eb5d2cd42c2e13507150fb777b1edea5a018adc9cbf2858a1d08285/pydantic_core-2.50.1-cp312-cp312-win32.whl" -upload-time = 2026-10-11 18:32:38+00:00 -size = 2101425 - -[packages.wheels.hashes] -sha256 = "45b11cac094aa25725581d9304eee93c9028516b9ea80dd9e175e13a5a2c840e" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/c5/17/8bbd530b8659e9d963f5b16f6cb8e159f4cd174b4d6304e48969ab12dba8/pydantic_core-2.50.1-cp312-cp312-win_amd64.whl" -upload-time = 2026-10-11 18:32:40+00:00 -size = 2172522 - -[packages.wheels.hashes] -sha256 = "132529c83901437ff642f585216831bf5fd7a91df66829907e155192ead62498" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/af/9f/a79d690b127e4e3cff143d031538ab9aa715f6b2fbeecbd07cd6f2bf9fb7/pydantic_core-2.50.1-cp312-cp312-win_arm64.whl" -upload-time = 2026-10-11 18:32:41+00:00 -size = 2161366 - -[packages.wheels.hashes] -sha256 = "4e834f6a8e4ff772dcc34f58ef5504147a3ea5b0f4eeb13b0f8eb2ca75ac57f1" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/ae/57/0e237d7091d2cd44a35d243b7344227f90440166860469cd036afc23a04d/pydantic_core-2.50.1-cp313-cp313-macosx_10_12_x86_64.whl" -upload-time = 2026-10-11 18:32:43+00:00 -size = 2222774 - -[packages.wheels.hashes] -sha256 = "d5e062c01286d861fd6a1c4ff6e063547b3e713067f2df033c0ff97ac2ca006b" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/f7/b9/c720e56858d4e1539503297ed37063e0c08e0f3541c41b777f6a800f75fa/pydantic_core-2.50.1-cp313-cp313-macosx_11_0_arm64.whl" -upload-time = 2026-10-11 18:32:44+00:00 -size = 2024738 - -[packages.wheels.hashes] -sha256 = "0c003c3b7f49debb893d2d85ae099ac5959c9839e2f330fadb1fcdf7a6594482" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/4d/b8/fbfc25875219cc060e613170ff10e850c6d8924beb4910da57c2ee3ba1d2/pydantic_core-2.50.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" -upload-time = 2026-10-11 18:32:46+00:00 -size = 2047049 - -[packages.wheels.hashes] -sha256 = "409e0ea40ec30d9158f33574fd758e689f6045a0f2596701828c27816ca9687d" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/d7/43/34210124d504c553688f2f04b48500b131237528ac545b445e0d6d30e0d5/pydantic_core-2.50.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" -upload-time = 2026-10-11 18:32:47+00:00 -size = 2173415 - -[packages.wheels.hashes] -sha256 = "131059670f1d2444269b8585cb888963994871932447c08b39ac6a51fcfef658" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/65/cf/6e178e8fdc11da5965bef980983bf46326a42f436871dd51ba0a57f39df1/pydantic_core-2.50.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" -upload-time = 2026-10-11 18:32:49+00:00 -size = 2361719 - -[packages.wheels.hashes] -sha256 = "6dbcbee53bf17196a7f745aa9bf5a9603953a1e365b1f020be3207c676a3e7c4" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/11/14/bd5169d356aa91bf777e28ba0b281c192d286d03c2812c9c9db023a2f00e/pydantic_core-2.50.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl" -upload-time = 2026-10-11 18:32:51+00:00 -size = 2439803 - -[packages.wheels.hashes] -sha256 = "325c23f3e35cfbf0fe3486fa5f7260d1e45885173002d30a28ca019994124255" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/1c/bc/d79d000e5203ebef39af839f2ce77a777fcad6e08ad26af9a2fcd114ffc8/pydantic_core-2.50.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" -upload-time = 2026-10-11 18:32:52+00:00 -size = 2158402 - -[packages.wheels.hashes] -sha256 = "17e722e156d0444ecaefbe640bdb60928752bf2013e2b7a11cdb099aaae19bec" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/1b/a5/4902cb5fd599422c130bd3124ab31ee8b771199bd56662702eed07d3fec7/pydantic_core-2.50.1-cp313-cp313-manylinux_2_31_riscv64.whl" -upload-time = 2026-10-11 18:32:54+00:00 -size = 2229755 - -[packages.wheels.hashes] -sha256 = "aa8224f10880d9bf1b5993988ba153d42a8b4f3f4f511f93b1f09c93ff613c72" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/1a/f5/c1481f8669f6060d89110c9b1374173fc8767ca276b84f4870bd8acd5e3f/pydantic_core-2.50.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl" -upload-time = 2026-10-11 18:32:55+00:00 -size = 2242303 - -[packages.wheels.hashes] -sha256 = "41bc8237121bd8dc8d888dfd6279fc166ffc88c1f1bf3a8bf00869680533ca4c" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/04/f9/77fc3c7653ba9b6e42049e17e96b25388187d4a7c274ab1cb07f58ac8419/pydantic_core-2.50.1-cp313-cp313-musllinux_1_1_aarch64.whl" -upload-time = 2026-10-11 18:32:57+00:00 -size = 2278345 - -[packages.wheels.hashes] -sha256 = "45c6266d071c241f2a168d45bf8c54344f0effce35e7e6b73afdec11f3687568" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/95/9b/0579c5d12e7f2b16b27e6782427987341fcce07b0725e02ddb0b74add0c4/pydantic_core-2.50.1-cp313-cp313-musllinux_1_1_armv7l.whl" -upload-time = 2026-10-11 18:32:58+00:00 -size = 2449947 - -[packages.wheels.hashes] -sha256 = "1deeacb112d14d3f4fcb16b165f7dbaf76c70ba6e82f37ba042bdab51970a0b8" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/a8/ac/1b677db91eba54cc5922f4de6edc46ba45c2bd712dfdc0130382d158e214/pydantic_core-2.50.1-cp313-cp313-musllinux_1_1_x86_64.whl" -upload-time = 2026-10-11 18:33:00+00:00 -size = 2476889 - -[packages.wheels.hashes] -sha256 = "1c96fd793b73d1b92e65570132505498fe7b21eaef73cdf74e67e5dfba7ac9e4" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/4d/2a/3a9f6624ee3ea9ccba5249dde11418bb4c35780a7a92608f8768bd3fea39/pydantic_core-2.50.1-cp313-cp313-win32.whl" -upload-time = 2026-10-11 18:33:02+00:00 -size = 2101118 - -[packages.wheels.hashes] -sha256 = "06ead20d39ffd6f2f6f2a8f8a6de67ff8bb1b4f14a8a30e058502514ee2ac685" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/2d/1f/323f78ddd9d9938aac420c1abb4e8ba799fc8bdab0acc67c0593b837c979/pydantic_core-2.50.1-cp313-cp313-win_amd64.whl" -upload-time = 2026-10-11 18:33:03+00:00 -size = 2170840 - -[packages.wheels.hashes] -sha256 = "7816e98acc08119dc0f340ab167048ecc54126316330c1f0caf7c6756c88e28f" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/cb/09/8497c52a739ae425c3ac2f7f56414cbc711c67d374346174f40fe2062644/pydantic_core-2.50.1-cp313-cp313-win_arm64.whl" -upload-time = 2026-10-11 18:33:05+00:00 -size = 2161633 - -[packages.wheels.hashes] -sha256 = "c17799a62c142d61b8a3c51752a7cbc87fe2ad4ccfab10e628a77b405075c662" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/49/33/28b96e81677153715e3eafb9f26663a80841e859fde282a380359b0d3fa1/pydantic_core-2.50.1-cp314-cp314-macosx_10_12_x86_64.whl" -upload-time = 2026-10-11 18:33:07+00:00 -size = 2224428 - -[packages.wheels.hashes] -sha256 = "1cf41f1ae3fa155cf167a72689ad044bcc1e3c97e064123677149bdfb5dafc4a" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/94/40/15c06410c9b7b8da5805d27b64e09bd3f900e986728106db2689dbc51513/pydantic_core-2.50.1-cp314-cp314-macosx_11_0_arm64.whl" -upload-time = 2026-10-11 18:33:08+00:00 -size = 2023740 - -[packages.wheels.hashes] -sha256 = "4df197990c15b5a37c5a277d131d9f2c67de6133f2e5dafd80d9bba4b99f46f9" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/a1/4e/5eb629f6efc2a27e421d789dd4bfacbb5f6d09c80c28b13d1e87d73163d5/pydantic_core-2.50.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" -upload-time = 2026-10-11 18:33:10+00:00 -size = 2049435 - -[packages.wheels.hashes] -sha256 = "0036473f5583e6a60e50b8b21651511564277a3f05cc5dab8cf579f552cd5f6c" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/ba/8e/f195aebec49ad12318876ac2368c197a7939f5d52f8e156d2238ef8a4588/pydantic_core-2.50.1-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" -upload-time = 2026-10-11 18:33:12+00:00 -size = 2172975 - -[packages.wheels.hashes] -sha256 = "992c3514ec891fa7858099183e4d64e6bd5a5d4ff452fae29df22faa77a006bb" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/e0/f5/7ad9fb83010cd5ea0948409db105676ed779c4e709e2d3d89b9fe2558794/pydantic_core-2.50.1-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" -upload-time = 2026-10-11 18:33:14+00:00 -size = 2364197 - -[packages.wheels.hashes] -sha256 = "739dc730e6be3bd5ec2f4ab5cfc7eb047cc45fc1497b3bafec74ff2ed07df597" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/ca/fb/bf0aab3e78301d202b82a0322ec968cd703b11fc0623fde9a28708936f62/pydantic_core-2.50.1-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl" -upload-time = 2026-10-11 18:33:15+00:00 -size = 2444259 - -[packages.wheels.hashes] -sha256 = "32fad3a91e51b6d2039c572db04a5a873260b399f6bd62c3552671fa7a4a2899" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/45/35/38f6d6564fae57d9b12e5676dfa947e0e7d5c46dbeaa7eb3352261d6d299/pydantic_core-2.50.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" -upload-time = 2026-10-11 18:33:17+00:00 -size = 2159857 - -[packages.wheels.hashes] -sha256 = "42b54c2c90ad348b5e3a85e03e715d572c1fde357ef104cdfe3b03b697a404ea" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/65/a0/fb0a3ca10f139dcf765b2d312d10cf0f65c57c59993229d00ad12b14ceff/pydantic_core-2.50.1-cp314-cp314-manylinux_2_31_riscv64.whl" -upload-time = 2026-10-11 18:33:19+00:00 -size = 2233954 - -[packages.wheels.hashes] -sha256 = "2df1ff41884de2bc4b307bafd7c40a691094fad2ff8e767e5b45a319257bcf4e" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/8c/6a/e63842252702aa4ec6e6b7178ca85e541a77459076592c23ebe2d9840b33/pydantic_core-2.50.1-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl" -upload-time = 2026-10-11 18:33:21+00:00 -size = 2243876 - -[packages.wheels.hashes] -sha256 = "fe90228920fd8ff2be62622b6bb8a2b11acd65046d50c6b130614b5879605a20" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/39/25/5991cf8318b37e0dfab47b87541619a1df8501a793cba0d978846cba37a7/pydantic_core-2.50.1-cp314-cp314-musllinux_1_1_aarch64.whl" -upload-time = 2026-10-11 18:33:23+00:00 -size = 2277908 - -[packages.wheels.hashes] -sha256 = "844b869f118e22a41a091bdcedda8a71bc1b0f62c38d1a0c3211cece47e1d8fc" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/a7/3e/3ee8baaa6cc25a6961c69168cf9ff0f002d56f4e0d541ad6724c18fb61f3/pydantic_core-2.50.1-cp314-cp314-musllinux_1_1_armv7l.whl" -upload-time = 2026-10-11 18:33:24+00:00 -size = 2449285 - -[packages.wheels.hashes] -sha256 = "2eb75304506894a281d346220a4f7481a1b8729577c5ed2a05395991966a8396" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/c0/c7/acbec6deac13fe697a80c275a9b6661db62c4d323bac8a47347b1f39c7cd/pydantic_core-2.50.1-cp314-cp314-musllinux_1_1_x86_64.whl" -upload-time = 2026-10-11 18:33:26+00:00 -size = 2479013 - -[packages.wheels.hashes] -sha256 = "6b20a4bffabdad0db2927ac034ae3b8a681b1f7a0182f3e60b479ad2fde21ebb" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/10/08/21a3f237b264389f6219d053ee78fc1b5c2fd402c1b1cb2b6cb8b85f9834/pydantic_core-2.50.1-cp314-cp314-pyemscripten_2026_0_wasm32.whl" -upload-time = 2026-10-11 18:33:28+00:00 -size = 1484400 - -[packages.wheels.hashes] -sha256 = "99ba9bc2b8062ea0c326a990f7f00e6530c23579de66dd246e72c4cafef950a5" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/09/ce/077a6d262d12ef09108377ac0717f029f420d773ace63cafd6143af75568/pydantic_core-2.50.1-cp314-cp314-win32.whl" -upload-time = 2026-10-11 18:33:30+00:00 -size = 2103222 - -[packages.wheels.hashes] -sha256 = "cf356f70551d40374eaffb1aa63f1eb6d2006681cbd7a9faea173ce0f4dd7cd2" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/14/4c/350a2415209c43d670eb71d3c040f332c04a30583d39e311b05c7ac15762/pydantic_core-2.50.1-cp314-cp314-win_amd64.whl" -upload-time = 2026-10-11 18:33:32+00:00 -size = 2171586 - -[packages.wheels.hashes] -sha256 = "d32f3acc081cc3923386d88f422cde8892335e95f034e0104bb4cf9310d9915f" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/bf/92/9bea6ca96580a0902fed366f064f0829e404f41889b34543279a1162b888/pydantic_core-2.50.1-cp314-cp314-win_arm64.whl" -upload-time = 2026-10-11 18:33:33+00:00 -size = 2155773 - -[packages.wheels.hashes] -sha256 = "bed5163e03b98bc1fa2eb05d74c63d9c5c95d8ed6254985481640fbf5e237dea" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/86/8c/f121f073cf32bdd5cba7e6230b1ce0ac845b0cf43e44dd597d95af272db2/pydantic_core-2.50.1-cp314-cp314t-macosx_10_12_x86_64.whl" -upload-time = 2026-10-11 18:33:35+00:00 -size = 2234017 - -[packages.wheels.hashes] -sha256 = "9572c1369e9c9da2d64a7b7992c786d90ff295abc93964cfe3125e4290768070" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/a4/69/2bb2bcd6146cffe98d760a46c42ae71efd5151d9b2f9c9bf6619a3b32083/pydantic_core-2.50.1-cp314-cp314t-macosx_11_0_arm64.whl" -upload-time = 2026-10-11 18:33:37+00:00 -size = 2001016 - -[packages.wheels.hashes] -sha256 = "2005207aafe1231315718bf6ed5d064a7300fb4772754af35ee72fc68159492e" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/20/b3/fbf854c7d07ec114260c26e9e2071a4381740f9ae09641dbfcbdf2a18c45/pydantic_core-2.50.1-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" -upload-time = 2026-10-11 18:33:39+00:00 -size = 2023015 - -[packages.wheels.hashes] -sha256 = "64f6047f62a6c5ae08d0a6afb035667aa2d97c3d20d69762e034c5ea144d92a5" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/65/20/6de55b2f92cdb614b745c6e9ced639fc4fd7e1e77604825a88bdece6fcbd/pydantic_core-2.50.1-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" -upload-time = 2026-10-11 18:33:41+00:00 -size = 2192543 - -[packages.wheels.hashes] -sha256 = "1ef800dd7d85bcdadf4c3076e4c94e43939493558a3b69a1ea830c706d4617bb" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/0c/d9/19e91c94bd5c405945ce2f15526808aea37e162c253160de8ed7bf70b406/pydantic_core-2.50.1-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" -upload-time = 2026-10-11 18:33:43+00:00 -size = 2388704 - -[packages.wheels.hashes] -sha256 = "b0135bcdcaa0f23573f286e4cb5e0fd2962700964ed13df085b85f2b97aeab9e" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/b6/bc/2e24c8415eae1a25ee5a5484946a917123bad2e9d01689a759236928175a/pydantic_core-2.50.1-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl" -upload-time = 2026-10-11 18:33:44+00:00 -size = 2464118 - -[packages.wheels.hashes] -sha256 = "0b3a6f334c6a2345ca15318ff894502a90012536404b37c844a976c76c846e0b" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/bd/1f/945b8053cb061c64e102bcaf7bfb9ed740c0bd4349f9bb978a7d4ddff4ab/pydantic_core-2.50.1-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" -upload-time = 2026-10-11 18:33:46+00:00 -size = 2150142 - -[packages.wheels.hashes] -sha256 = "06e01fbbfdb9be777b316a71b6c49efaf4a08b615d0a98d678cda3023f79d019" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/2b/78/96a3e50bf0d64aaae781107eb9335b7529d05a85793ed6e7241c4cd1d931/pydantic_core-2.50.1-cp314-cp314t-manylinux_2_31_riscv64.whl" -upload-time = 2026-10-11 18:33:48+00:00 -size = 2245577 - -[packages.wheels.hashes] -sha256 = "a29a061fec0b4e2d714f277e70a3a18125ecff803f2fea6eade2f2e53711d112" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/7a/5d/a6038a0322232758a6ebfa709f4ca14a60bf5b93940cd0b345056a557da4/pydantic_core-2.50.1-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl" -upload-time = 2026-10-11 18:33:50+00:00 -size = 2263728 - -[packages.wheels.hashes] -sha256 = "f5187624823423e1d1b82b1072ac41dc837389e18d3d0572cc19bbee46cd550a" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/0d/4b/76ded3333a457a9344c4f2d63f2d82d0101654b05178fa4ddfe7d3627674/pydantic_core-2.50.1-cp314-cp314t-musllinux_1_1_aarch64.whl" -upload-time = 2026-10-11 18:33:52+00:00 -size = 2293630 - -[packages.wheels.hashes] -sha256 = "3e46a9eb0a0901dd6275e6b06ac3a464885ef350ec4121fe486869de8053e4bb" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/a9/00/9eca378335c9c1b72bc779bf6e4c2a82ce784f14ec48a0e87102c9870e05/pydantic_core-2.50.1-cp314-cp314t-musllinux_1_1_armv7l.whl" -upload-time = 2026-10-11 18:33:54+00:00 -size = 2468048 - -[packages.wheels.hashes] -sha256 = "756d669f04e62ec4148ecfe22be6a4484d9b1181a6ef32e205ebfd200540858b" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/35/ca/e3832e9cf93651251de43c8c5c029ed680a3c1a0a1b17ee26c81bed08cbd/pydantic_core-2.50.1-cp314-cp314t-musllinux_1_1_x86_64.whl" -upload-time = 2026-10-11 18:33:55+00:00 -size = 2512159 - -[packages.wheels.hashes] -sha256 = "c516cc5367ca3448995d42cb994bf3f4c9002d2a7c22eac9622551269ad1b807" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/4b/f2/773469b5a10a39116a2cb17edaf6d722f017dd8da07161b371465311c542/pydantic_core-2.50.1-cp314-cp314t-win32.whl" -upload-time = 2026-10-11 18:33:58+00:00 -size = 2098406 - -[packages.wheels.hashes] -sha256 = "9d1bed94af6a63835461f3cf7502058eb166c58c4778e11d0f433cfb1bd69e19" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/ee/42/0bb74f8f25204b259b11ab7c12dc7f180893b6bd706118b385147fb6efd5/pydantic_core-2.50.1-cp314-cp314t-win_amd64.whl" -upload-time = 2026-10-11 18:33:59+00:00 -size = 2148481 - -[packages.wheels.hashes] -sha256 = "c8dce1f1e0e5358b682a6ad3fa5e31b31d4560997b8e61417e9217c8d60f8a0c" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/47/0d/d801646c9679a4e630e15cf521d4108b93854b42a6e6e02391bd4c6b1095/pydantic_core-2.50.1-cp314-cp314t-win_arm64.whl" -upload-time = 2026-10-11 18:34:01+00:00 -size = 2174972 - -[packages.wheels.hashes] -sha256 = "ceff0acc940be2715bd6ad17b24c0e5304abf44f6efd0f81ee8499e640f9dc86" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/b2/84/23984b763d8862a02a13d27a44b6e8169428fd85ecfed88f54c29108604d/pydantic_core-2.50.1-cp315-cp315-macosx_10_12_x86_64.whl" -upload-time = 2026-10-11 18:34:04+00:00 -size = 2224599 - -[packages.wheels.hashes] -sha256 = "8a6791afa2245e6c6b180122d105941644f5bd410bb18623b408808cc41a3102" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/4d/90/a63cf8586abc1d1a3f6d9b18f0224789ebf003851f092ebda3c7c863fd32/pydantic_core-2.50.1-cp315-cp315-macosx_11_0_arm64.whl" -upload-time = 2026-10-11 18:34:05+00:00 -size = 2024191 - -[packages.wheels.hashes] -sha256 = "84f34323a61a365b4e9295de6028474754829aaddd59c7bf1a040e7487ef8f3c" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/a6/6a/f34bff9808ffb4907fbf5f5040457d253cacf2da7fce9efbc99ca1b1a44d/pydantic_core-2.50.1-cp315-cp315-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" -upload-time = 2026-10-11 18:34:07+00:00 -size = 2048252 - -[packages.wheels.hashes] -sha256 = "23edad659e8dbd8ca7e4e877fe6c81573abbdf215bd25a68b53e1272f58b80c7" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/b2/54/13f419bf1eb59852003818e25935aaf175687d978f4c4bca70e08fe40a3b/pydantic_core-2.50.1-cp315-cp315-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" -upload-time = 2026-10-11 18:34:09+00:00 -size = 2173376 - -[packages.wheels.hashes] -sha256 = "3a5fce22f1e87d181e924e12da7d81cfe031fb3881a5ddf26ad28f141756ca43" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/6d/6c/b5a34d24cd0c81669d8f8339d74e6815abcf2f8fb48ab4b49b84c09be1d5/pydantic_core-2.50.1-cp315-cp315-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" -upload-time = 2026-10-11 18:34:11+00:00 -size = 2364559 - -[packages.wheels.hashes] -sha256 = "c73622ef819328873b53109ee4f77ceb598bffedd02daf916102be3228866b78" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/eb/8d/d64d6216a8df365082665927ff923f183056f9049fee08e9777c9ac05296/pydantic_core-2.50.1-cp315-cp315-manylinux_2_17_s390x.manylinux2014_s390x.whl" -upload-time = 2026-10-11 18:34:13+00:00 -size = 2444697 - -[packages.wheels.hashes] -sha256 = "ce8c25ca38cc0e3d7753ba180808de2c0c8cb24eae0df64491e40921454e9831" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/b8/0d/1b1149f60a00ea21ba5f70e28acbd40feb4598af414f80f53c921fac07c9/pydantic_core-2.50.1-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" -upload-time = 2026-10-11 18:34:15+00:00 -size = 2159961 - -[packages.wheels.hashes] -sha256 = "7689580e72a642ab5ec64d5f55b2e33636fa43b4ebe63c0c2c965ef307c7d1aa" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/1e/35/f236549299dcc78e71e945495d7ec67e78d20844d0999c60601685003031/pydantic_core-2.50.1-cp315-cp315-manylinux_2_31_riscv64.whl" -upload-time = 2026-10-11 18:34:17+00:00 -size = 2234581 - -[packages.wheels.hashes] -sha256 = "d5c0e32fdbce7f1e8ef4d11f655694bf5f4175c757a9f1dc2be09b8864e5bcf5" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/6a/85/26901a490522b7f75ef9bb9a7afb73e5bb550f0e1cb5b99a0069183e2eb9/pydantic_core-2.50.1-cp315-cp315-manylinux_2_5_i686.manylinux1_i686.whl" -upload-time = 2026-10-11 18:34:19+00:00 -size = 2244090 - -[packages.wheels.hashes] -sha256 = "40f523349960fa30f3ea51404308ff50f9997a90df639590f47a057c1f32b415" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/ca/2c/481bcfc70ceeb77a778ca6e5b705fe592cb64735c108157f81b7dd9c280e/pydantic_core-2.50.1-cp315-cp315-musllinux_1_1_aarch64.whl" -upload-time = 2026-10-11 18:34:21+00:00 -size = 2277948 - -[packages.wheels.hashes] -sha256 = "d4193206b6587047437f6f11d7e776df23e1c1e23af2a54d9347275614791e10" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/24/eb/f1e09333faa7ba447cde967310f758430cc7c5e987bdab5228816c70030d/pydantic_core-2.50.1-cp315-cp315-musllinux_1_1_armv7l.whl" -upload-time = 2026-10-11 18:34:23+00:00 -size = 2449688 - -[packages.wheels.hashes] -sha256 = "84bc765b282a9d5b7fe0348b8648904f25a6a04b2139da52b1dd30c8ac3a2c8f" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/d1/b3/036bde636db8f76d92996e81aefc75678ab5cec4a07eea1ad0c72a893fc3/pydantic_core-2.50.1-cp315-cp315-musllinux_1_1_x86_64.whl" -upload-time = 2026-10-11 18:34:25+00:00 -size = 2479286 - -[packages.wheels.hashes] -sha256 = "ed1e728b39a383c81035b2459cfcb35d99dfb01f7d6ebe3a913bc1cc5b81e459" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/d0/a3/07f018294ee18d144afeb6df1a47d9e92960f014be45c5ed13519fa5af95/pydantic_core-2.50.1-cp315-cp315-win32.whl" -upload-time = 2026-10-11 18:34:27+00:00 -size = 2103683 - -[packages.wheels.hashes] -sha256 = "bc94f474417604bd383d2cd445d071b07dd55fedceed3ce33407bf1fcc107290" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/5f/98/f9bd7e1f9b6709f155acb9ef826d9c3884fe925f811fd8e55b9b52280bad/pydantic_core-2.50.1-cp315-cp315-win_amd64.whl" -upload-time = 2026-10-11 18:34:29+00:00 -size = 2171681 - -[packages.wheels.hashes] -sha256 = "983a662de2571cb2502fc8ff47b6770b03d025d2eb314c92f77b3f07c74720ed" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/10/87/4bb3e1e7f385c076ab5af4d6dd0571b22042cd8207eb810d5b9fef15ae31/pydantic_core-2.50.1-cp315-cp315-win_arm64.whl" -upload-time = 2026-10-11 18:34:31+00:00 -size = 2156251 - -[packages.wheels.hashes] -sha256 = "94845ff54dc5193f228cab81b2662a04bfbb892e95bdc15edf7399000ce57d54" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/47/47/83643225b08f2aef6c8cc4bbe6e3f79c5e139c4364a6e450d0f399d87774/pydantic_core-2.50.1-cp315-cp315t-macosx_10_12_x86_64.whl" -upload-time = 2026-10-11 18:34:33+00:00 -size = 2234363 - -[packages.wheels.hashes] -sha256 = "4a53d13cdfbedbfa87f08b83c1a0a5efcc767d785a4b41934fa9cb672670493a" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/5e/66/127ca649ba2f2462039dc1e694c6c01e00a3689f023a617364d3507e6d97/pydantic_core-2.50.1-cp315-cp315t-macosx_11_0_arm64.whl" -upload-time = 2026-10-11 18:34:36+00:00 -size = 2000972 - -[packages.wheels.hashes] -sha256 = "efbecf43d321f7b9281441f1f213f7c21c66988b0e06c2730ba13ed47a46bb08" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/5e/4f/e421e0a5d653b1203b090b2e48745976988d7338a647940704b5b9c2b399/pydantic_core-2.50.1-cp315-cp315t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" -upload-time = 2026-10-11 18:34:37+00:00 -size = 2022925 - -[packages.wheels.hashes] -sha256 = "bc1f08f68dac9f9e83845a8039880aba2ab553eb9b2259c3243a313182c253fe" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/d5/4e/ea5568e2491e1a71100f15ae8c2d01ef52db42a184a2d4e716bc79e5eb8f/pydantic_core-2.50.1-cp315-cp315t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" -upload-time = 2026-10-11 18:34:39+00:00 -size = 2192867 - -[packages.wheels.hashes] -sha256 = "5dfe41f232befddb9c4377f6cfc702b51595e2d78ed082672adf8758d2c4619f" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/ae/5e/3b8c3a35acbe219909ada5defad5d7d9fed845fb2b37bd5ec518f453c119/pydantic_core-2.50.1-cp315-cp315t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" -upload-time = 2026-10-11 18:34:42+00:00 -size = 2388687 - -[packages.wheels.hashes] -sha256 = "adc06d218a1cadfd2ec4628424d7d79ce4eba69c2965e7e7b55106f0da5208c8" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/b6/aa/7889b4e515f91a2e8c0ae6b5081fec0feb30c4398d1434e14793c60f173a/pydantic_core-2.50.1-cp315-cp315t-manylinux_2_17_s390x.manylinux2014_s390x.whl" -upload-time = 2026-10-11 18:34:44+00:00 -size = 2464415 - -[packages.wheels.hashes] -sha256 = "2cf91809d0721ab81592ba67bea7694821679c10b1a2e3c3460082b286c1918a" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/08/78/93449e628eb8a6fdcce3eff9043081179d1bc7ce6f1bff32dc5006f41e00/pydantic_core-2.50.1-cp315-cp315t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" -upload-time = 2026-10-11 18:34:46+00:00 -size = 2150823 - -[packages.wheels.hashes] -sha256 = "23923ab9292c40da026330b1ecf4dc2618c8e86e0422e5d1fbf50d94d64ca4f8" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/f4/f1/72c5bc129fceb0d00f05dc1e67f518c1728de1928c55f81fc13d7690de39/pydantic_core-2.50.1-cp315-cp315t-manylinux_2_31_riscv64.whl" -upload-time = 2026-10-11 18:34:48+00:00 -size = 2245806 - -[packages.wheels.hashes] -sha256 = "f3377c8c2b3ce898423c5e5dd94c7982e30aa7717a7e6ab2470b9de364963709" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/28/2a/922a0e78f3aa6ab837b59f88190233fb8dad546c17995fde9bb3ed3b9b49/pydantic_core-2.50.1-cp315-cp315t-manylinux_2_5_i686.manylinux1_i686.whl" -upload-time = 2026-10-11 18:34:50+00:00 -size = 2264160 - -[packages.wheels.hashes] -sha256 = "455a773617b5913bf5c20d0692e5787b119e52c4d40ea644ca31f5758fd31be2" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/52/a8/0f1449e3e1b20941c9372faa18e7b6a092e30cdfa841902473f7989532ac/pydantic_core-2.50.1-cp315-cp315t-musllinux_1_1_aarch64.whl" -upload-time = 2026-10-11 18:34:52+00:00 -size = 2294031 - -[packages.wheels.hashes] -sha256 = "1a9006395dece0e32e704c315eff8a00bede494f6108546cfc5539c89fef4f9a" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/d1/d0/1031f492857de70355fb16524bbb03efce5fd34c93ed4a1ec60be07e0d4b/pydantic_core-2.50.1-cp315-cp315t-musllinux_1_1_armv7l.whl" -upload-time = 2026-10-11 18:34:54+00:00 -size = 2468423 - -[packages.wheels.hashes] -sha256 = "d2d82aa62521c55ddfb000ae70f88cdd8de974078f6024e821dfe5addd0c818f" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/46/52/269ffffa645b8e47906395a39cf9db1151ae9fa4bcd7f47b960bc31baf37/pydantic_core-2.50.1-cp315-cp315t-musllinux_1_1_x86_64.whl" -upload-time = 2026-10-11 18:34:57+00:00 -size = 2512598 - -[packages.wheels.hashes] -sha256 = "009634b83993777ddcd69cad0ffcace43dabde692109528e35f0fde91e386a8b" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/31/5c/e47e28281f20326ff6f3c31d626f0a83e615d2d94ba41bb0ad6ec237184a/pydantic_core-2.50.1-cp315-cp315t-win32.whl" -upload-time = 2026-10-11 18:34:59+00:00 -size = 2098535 - -[packages.wheels.hashes] -sha256 = "3fde4fdc6487a58d944ca87cf5adc95d5f266e872c19599f5f4c0a8a1b1f9f9f" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/03/ad/759e181e69c1b472c60b2049e5f61d5da1deefdd5ce1df4bb2ebcf771f25/pydantic_core-2.50.1-cp315-cp315t-win_amd64.whl" -upload-time = 2026-10-11 18:35:01+00:00 -size = 2148645 - -[packages.wheels.hashes] -sha256 = "1c8632d4ac04e6f91128fca584b3a8a507d81604c24eeaaad00d4be42765c32b" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/6d/56/8a702c27e5be9f47e5f19d8669227424290e4c024e7c370279cbaf244b4e/pydantic_core-2.50.1-cp315-cp315t-win_arm64.whl" -upload-time = 2026-10-11 18:35:04+00:00 -size = 2175297 - -[packages.wheels.hashes] -sha256 = "c3ede305158e75510be50869b319550ab072008c13d64d4ab1e094fb286b6f44" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/e7/73/a23a327237d9bb985298ce47702e196f995ce850224c12c70886bd66bb5c/pydantic_core-2.50.1-graalpy311-graalpy242_311_native-macosx_10_12_x86_64.whl" -upload-time = 2026-10-11 18:35:06+00:00 -size = 2162560 - -[packages.wheels.hashes] -sha256 = "062e891facce5ca296a1c37098e5e466780457f86413894b399f0cf22934f769" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/df/b2/33b37b5e82408f402a5e82649a43e7c95cd5dab7beaeef2c35cedbfd18f2/pydantic_core-2.50.1-graalpy311-graalpy242_311_native-macosx_11_0_arm64.whl" -upload-time = 2026-10-11 18:35:08+00:00 -size = 2075250 - -[packages.wheels.hashes] -sha256 = "49c2cbb2397fe4d0987e84606e691af6cb87bc0ee1bd3e7b737f7e10b4c142f9" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/04/62/c7d5b9249466ccab90f3ce4790c2399dbfb8172ae9e74a7753dd295fe65a/pydantic_core-2.50.1-graalpy311-graalpy242_311_native-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" -upload-time = 2026-10-11 18:35:10+00:00 -size = 2107891 - -[packages.wheels.hashes] -sha256 = "9e4472072de0137ee0d8e72d6620e85939c271d2f90f6bbb4b15c24638b79f92" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/d4/7e/28d29bc1657195933147f772dee0558d9e0f045bbc11db7f992f40c37bb5/pydantic_core-2.50.1-graalpy311-graalpy242_311_native-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" -upload-time = 2026-10-11 18:35:13+00:00 -size = 2268026 - -[packages.wheels.hashes] -sha256 = "6ed4f3cef55164b026fefb41341b7754cc6b624c75dfe7142d2ecceb5ad21c87" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/a5/09/1bcf160f3cd6333e2a76982fae5963e5032de0bcaaba38464223dc266bfe/pydantic_core-2.50.1-graalpy312-graalpy250_312_native-macosx_10_12_x86_64.whl" -upload-time = 2026-10-11 18:35:15+00:00 -size = 2217070 - -[packages.wheels.hashes] -sha256 = "76e2e83fa6ec8cdc972d438dafc2522b3a47bee4ec0ae668b29cfb1977ab5242" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/3d/81/f02de95eec7794dfc7a5bc69a834f0e834b31b3009014ce6de903855f775/pydantic_core-2.50.1-graalpy312-graalpy250_312_native-macosx_11_0_arm64.whl" -upload-time = 2026-10-11 18:35:18+00:00 -size = 2039027 - -[packages.wheels.hashes] -sha256 = "a51eee75939cf811ac09b278745a6cee7dc873ccfbc8b9af3cc88fe4b7ce25b5" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/4d/16/227746ed3771d9bf2304568b55134849ece34e13b38b1d76de763015c77f/pydantic_core-2.50.1-graalpy312-graalpy250_312_native-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" -upload-time = 2026-10-11 18:35:20+00:00 -size = 2109009 - -[packages.wheels.hashes] -sha256 = "ae28183297fb0d2b8dc46a1f01d51f5e45825fc5afe76a835a6cb7fb34821295" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/e5/b9/7664d1592a0e5a74903f357cd5b28ceb7336f3473256c5a4e8c8432f1881/pydantic_core-2.50.1-graalpy312-graalpy250_312_native-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" -upload-time = 2026-10-11 18:35:22+00:00 -size = 2269883 - -[packages.wheels.hashes] -sha256 = "88e492e8b9d0312e7dc13667c30222abf284dc3b79b5302b3607b41a5784ce61" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/bd/35/002a378302ff91d2a7f149bc8d22363faf581ba40ac39d0123444315a32d/pydantic_core-2.50.1-pp311-pypy311_pp73-macosx_10_12_x86_64.whl" -upload-time = 2026-10-11 18:35:24+00:00 -size = 2154076 - -[packages.wheels.hashes] -sha256 = "7456d699b13954e9c0164dcb267250a10ae0dfb03e6e26d6796ab0d46e189c84" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/4b/5c/7a034330082c00f3c9795052bd9b161aaaf6e1951e897ac00a094823ef7e/pydantic_core-2.50.1-pp311-pypy311_pp73-macosx_11_0_arm64.whl" -upload-time = 2026-10-11 18:35:27+00:00 -size = 2085850 - -[packages.wheels.hashes] -sha256 = "b0d955195bbbe489ad343fcc956eacea9357b79cb22192c66cacdefcbc14b32f" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/57/fa/d5b44a7d3d4eceed6ef8713a0003af56fefde6ec75915513bcdd5d730cd9/pydantic_core-2.50.1-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" -upload-time = 2026-10-11 18:35:29+00:00 -size = 2259754 - -[packages.wheels.hashes] -sha256 = "f2c634642694e6a0dad2ab1d375589fa671fd442edd5caf7d9737b8f6ca22906" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/b6/88/e01dd37301710bd8b3b2daf34ec9e2a6e83a333130831c0d468b0292a48c/pydantic_core-2.50.1-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl" -upload-time = 2026-10-11 18:35:32+00:00 -size = 2268712 - -[packages.wheels.hashes] -sha256 = "ee6db2fbed51a7991302e8fac498cd67e336246026d0dfa84cf5166ce1412760" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/3e/43/5bb80d4a4d2b2d84612a30205662cc521a20d209c94abc079ea48b4e0df2/pydantic_core-2.50.1-pp311-pypy311_pp73-musllinux_1_1_aarch64.whl" -upload-time = 2026-10-11 18:35:35+00:00 -size = 2305049 - -[packages.wheels.hashes] -sha256 = "79490e33c4c0fcb933bbbcfc3a62184d8803b99f535863dfbb925e1bcb6945ad" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/e8/7b/e3ef76b269cfe4a5bd3bdcf5d7124cf05e5a8909d443b91639307116bdae/pydantic_core-2.50.1-pp311-pypy311_pp73-musllinux_1_1_armv7l.whl" -upload-time = 2026-10-11 18:35:37+00:00 -size = 2466001 - -[packages.wheels.hashes] -sha256 = "48569b0ade9edfbe065cad1d700175546592aebbb42f02adcebcc26e75b896fe" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/8f/7a/ea0947aadc1d9f72d4be00d2e19939611ec17363bcb5e6eb9ec7d8221c34/pydantic_core-2.50.1-pp311-pypy311_pp73-musllinux_1_1_x86_64.whl" -upload-time = 2026-10-11 18:35:40+00:00 -size = 2481777 - -[packages.wheels.hashes] -sha256 = "5f3cae32fc46121f787cb2486de9cf95a8bf72aec5cc78f64c606fa1735a6ef5" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/24/f3/d15bc0b1fb0c4f1e07b3326ffb7489f7ae70da2b56a0884d22641b0eb47c/pydantic_core-2.50.1-pp311-pypy311_pp73-win_amd64.whl" -upload-time = 2026-10-11 18:35:42+00:00 -size = 2336787 - -[packages.wheels.hashes] -sha256 = "7f476456ac2bb0d937f75191494a09c83a30765fea4f70f3b404942fe25f6cdf" - -[[packages]] -name = "pygments" -version = "2.21.0" -index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"pkg-meta\" in dependency_groups or \"test\" in dependency_groups or \"type\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15'))" - -[packages.sdist] -url = "https://files.pythonhosted.org/packages/49/2e/ced460408999b33da6b31b0021b0f37d329e202d4169aeb164493778f25b/pygments-2.21.0.tar.gz" -upload-time = 2026-08-17 08:02:48+00:00 -size = 5005329 - -[packages.sdist.hashes] -sha256 = "610ca751c9bc2492b38eb9a38a7fbc93edbbb2d7182edaf34e66ae493dee5c8c" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/71/46/17f022dd3e953bf20a04a028a21ec746d942f8d2af30fa0f124fa0e6a684/pygments-2.21.0-py3-none-any.whl" -upload-time = 2026-08-17 08:02:44+00:00 -size = 1250147 - -[packages.wheels.hashes] -sha256 = "2363c69b61c4a97c838da3b130dcd6468f4848992b21a82f2a63ec34377137d9" - -[[packages]] -name = "pytest" -version = "9.1.1" -index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"test\" in dependency_groups or \"type\" in dependency_groups" - -[packages.sdist] -url = "https://files.pythonhosted.org/packages/e4/47/b9efed96c114afcfa3c9d3fe98a76a1d14c74a9e266d397cf6eb64be5e01/pytest-9.1.1.tar.gz" -upload-time = 2026-06-19 10:58:32+00:00 -size = 1636369 - -[packages.sdist.hashes] -sha256 = "1088fbde8f2b49d95a549a195707afa7a76a3ce9bcadc26b6d71f0ffda5fe313" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/24/25/1de2678b631f5a49215c6c96fff41ba892b0a34df68d6d80292b1b48aa7f/pytest-9.1.1-py3-none-any.whl" -upload-time = 2026-06-19 10:58:31+00:00 -size = 386536 - -[packages.wheels.hashes] -sha256 = "37a86b45efb9a47a61a36449063e8e18d0cab3161329fc099eb21783169c4f0c" - -[[packages]] -name = "pytest-cov" -version = "7.1.0" -index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"test\" in dependency_groups or \"type\" in dependency_groups" - -[packages.sdist] -url = "https://files.pythonhosted.org/packages/b1/51/a849f96e117386044471c8ec2bd6cfebacda285da9525c9106aeb28da671/pytest_cov-7.1.0.tar.gz" -upload-time = 2026-03-21 20:11:16+00:00 -size = 55592 - -[packages.sdist.hashes] -sha256 = "30674f2b5f6351aa09702a9c8c364f6a01c27aae0c1366ae8016160d1efc56b2" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/9d/7a/d968e294073affff457b041c2be9868a40c1c71f4a35fcc1e45e5493067b/pytest_cov-7.1.0-py3-none-any.whl" -upload-time = 2026-03-21 20:11:14+00:00 -size = 22876 - -[packages.wheels.hashes] -sha256 = "a0461110b7865f9a271aa1b51e516c9a95de9d696734a2f71e3e78f46e1d4678" - -[[packages]] -name = "pytest-mock" -version = "3.16.0" -index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"test\" in dependency_groups or \"type\" in dependency_groups" - -[packages.sdist] -url = "https://files.pythonhosted.org/packages/7a/7f/6ed29931d5c8cd396e7c0a55412e6cc88020373365c8685985dea53d26d7/pytest_mock-3.16.0.tar.gz" -upload-time = 2026-09-27 14:57:55+00:00 -size = 35362 - -[packages.sdist.hashes] -sha256 = "5a8395528b8f498205f3718f575228d0edaed7425fff638f87d1a6c3e0383636" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/db/5b/b83a9bf1a3b4ec222f9fa083147ff6816245223da0ab92370e7e056f113f/pytest_mock-3.16.0-py3-none-any.whl" -upload-time = 2026-09-27 14:57:54+00:00 -size = 10016 - -[packages.wheels.hashes] -sha256 = "007cfeb257801d88d9c0b2a7b5a15a15e73b71968dfd72e7bf8c4a2f8393aec8" - -[[packages]] -name = "python-discovery" -version = "1.6.2" -index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"lint\" in dependency_groups" - -[packages.sdist] -url = "https://files.pythonhosted.org/packages/b0/73/54993df8fc57e906dc9b7e01d1d9b0b2d3eb0ce3190639e33dccb12853f7/python_discovery-1.6.2.tar.gz" -upload-time = 2026-10-10 01:24:27+00:00 -size = 86921 - -[packages.sdist.hashes] -sha256 = "cd1738ca1d37c86ef9d0b654dd46fcee1e41c97c6add12575e8501ced39afdb4" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/61/3b/50ed32583bfffa737df67d33b9c15d7b25df232c55ab606d059f610ef6ca/python_discovery-1.6.2-py3-none-any.whl" -upload-time = 2026-10-10 01:24:26+00:00 -size = 38912 - -[packages.wheels.hashes] -sha256 = "f0c697f95a3aaec4174a6e5e58f5885e25768684bafc76f1afde384709ebdcf2" - -[[packages]] -name = "pytokens" -version = "0.4.1" -index = "https://pypi.org/simple" -marker = "(\"release\" in dependency_groups and (python_full_version >= '3.15'))" - -[packages.sdist] -url = "https://files.pythonhosted.org/packages/b6/34/b4e015b99031667a7b960f888889c5bd34ef585c85e1cb56a594b92836ac/pytokens-0.4.1.tar.gz" -upload-time = 2026-01-30 01:03:45+00:00 -size = 23015 - -[packages.sdist.hashes] -sha256 = "292052fe80923aae2260c073f822ceba21f3872ced9a68bb7953b348e561179a" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/3d/92/790ebe03f07b57e53b10884c329b9a1a308648fc083a6d4a39a10a28c8fc/pytokens-0.4.1-cp311-cp311-macosx_11_0_arm64.whl" -upload-time = 2026-01-30 01:02:57+00:00 -size = 160864 - -[packages.wheels.hashes] -sha256 = "d70e77c55ae8380c91c0c18dea05951482e263982911fc7410b1ffd1dadd3440" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/13/25/a4f555281d975bfdd1eba731450e2fe3a95870274da73fb12c40aeae7625/pytokens-0.4.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" -upload-time = 2026-01-30 01:02:59+00:00 -size = 248565 - -[packages.wheels.hashes] -sha256 = "4a58d057208cb9075c144950d789511220b07636dd2e4708d5645d24de666bdc" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/17/50/bc0394b4ad5b1601be22fa43652173d47e4c9efbf0044c62e9a59b747c56/pytokens-0.4.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" -upload-time = 2026-01-30 01:03:01+00:00 -size = 260824 - -[packages.wheels.hashes] -sha256 = "b49750419d300e2b5a3813cf229d4e5a4c728dae470bcc89867a9ad6f25a722d" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/4e/54/3e04f9d92a4be4fc6c80016bc396b923d2a6933ae94b5f557c939c460ee0/pytokens-0.4.1-cp311-cp311-musllinux_1_2_x86_64.whl" -upload-time = 2026-01-30 01:03:04+00:00 -size = 264075 - -[packages.wheels.hashes] -sha256 = "d9907d61f15bf7261d7e775bd5d7ee4d2930e04424bab1972591918497623a16" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/d1/1b/44b0326cb5470a4375f37988aea5d61b5cc52407143303015ebee94abfd6/pytokens-0.4.1-cp311-cp311-win_amd64.whl" -upload-time = 2026-01-30 01:03:05+00:00 -size = 103323 - -[packages.wheels.hashes] -sha256 = "ee44d0f85b803321710f9239f335aafe16553b39106384cef8e6de40cb4ef2f6" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/41/5d/e44573011401fb82e9d51e97f1290ceb377800fb4eed650b96f4753b499c/pytokens-0.4.1-cp312-cp312-macosx_11_0_arm64.whl" -upload-time = 2026-01-30 01:03:06+00:00 -size = 160663 - -[packages.wheels.hashes] -sha256 = "140709331e846b728475786df8aeb27d24f48cbcf7bcd449f8de75cae7a45083" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/f0/e6/5bbc3019f8e6f21d09c41f8b8654536117e5e211a85d89212d59cbdab381/pytokens-0.4.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" -upload-time = 2026-01-30 01:03:08+00:00 -size = 255626 - -[packages.wheels.hashes] -sha256 = "6d6c4268598f762bc8e91f5dbf2ab2f61f7b95bdc07953b602db879b3c8c18e1" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/bf/3c/2d5297d82286f6f3d92770289fd439956b201c0a4fc7e72efb9b2293758e/pytokens-0.4.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" -upload-time = 2026-01-30 01:03:09+00:00 -size = 269779 - -[packages.wheels.hashes] -sha256 = "24afde1f53d95348b5a0eb19488661147285ca4dd7ed752bbc3e1c6242a304d1" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/20/01/7436e9ad693cebda0551203e0bf28f7669976c60ad07d6402098208476de/pytokens-0.4.1-cp312-cp312-musllinux_1_2_x86_64.whl" -upload-time = 2026-01-30 01:03:10+00:00 -size = 268076 - -[packages.wheels.hashes] -sha256 = "5ad948d085ed6c16413eb5fec6b3e02fa00dc29a2534f088d3302c47eb59adf9" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/2e/df/533c82a3c752ba13ae7ef238b7f8cdd272cf1475f03c63ac6cf3fcfb00b6/pytokens-0.4.1-cp312-cp312-win_amd64.whl" -upload-time = 2026-01-30 01:03:12+00:00 -size = 103552 - -[packages.wheels.hashes] -sha256 = "3f901fe783e06e48e8cbdc82d631fca8f118333798193e026a50ce1b3757ea68" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/cb/dc/08b1a080372afda3cceb4f3c0a7ba2bde9d6a5241f1edb02a22a019ee147/pytokens-0.4.1-cp313-cp313-macosx_11_0_arm64.whl" -upload-time = 2026-01-30 01:03:13+00:00 -size = 160720 - -[packages.wheels.hashes] -sha256 = "8bdb9d0ce90cbf99c525e75a2fa415144fd570a1ba987380190e8b786bc6ef9b" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/64/0c/41ea22205da480837a700e395507e6a24425151dfb7ead73343d6e2d7ffe/pytokens-0.4.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" -upload-time = 2026-01-30 01:03:14+00:00 -size = 254204 - -[packages.wheels.hashes] -sha256 = "5502408cab1cb18e128570f8d598981c68a50d0cbd7c61312a90507cd3a1276f" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/e0/d2/afe5c7f8607018beb99971489dbb846508f1b8f351fcefc225fcf4b2adc0/pytokens-0.4.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" -upload-time = 2026-01-30 01:03:15+00:00 -size = 268423 - -[packages.wheels.hashes] -sha256 = "29d1d8fb1030af4d231789959f21821ab6325e463f0503a61d204343c9b355d1" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/68/d4/00ffdbd370410c04e9591da9220a68dc1693ef7499173eb3e30d06e05ed1/pytokens-0.4.1-cp313-cp313-musllinux_1_2_x86_64.whl" -upload-time = 2026-01-30 01:03:17+00:00 -size = 266859 - -[packages.wheels.hashes] -sha256 = "970b08dd6b86058b6dc07efe9e98414f5102974716232d10f32ff39701e841c4" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/a7/c9/c3161313b4ca0c601eeefabd3d3b576edaa9afdefd32da97210700e47652/pytokens-0.4.1-cp313-cp313-win_amd64.whl" -upload-time = 2026-01-30 01:03:18+00:00 -size = 103520 - -[packages.wheels.hashes] -sha256 = "9bd7d7f544d362576be74f9d5901a22f317efc20046efe2034dced238cbbfe78" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/8f/a7/b470f672e6fc5fee0a01d9e75005a0e617e162381974213a945fcd274843/pytokens-0.4.1-cp314-cp314-macosx_11_0_arm64.whl" -upload-time = 2026-01-30 01:03:19+00:00 -size = 160821 - -[packages.wheels.hashes] -sha256 = "4a14d5f5fc78ce85e426aa159489e2d5961acf0e47575e08f35584009178e321" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/80/98/e83a36fe8d170c911f864bfded690d2542bfcfacb9c649d11a9e6eb9dc41/pytokens-0.4.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" -upload-time = 2026-01-30 01:03:20+00:00 -size = 254263 - -[packages.wheels.hashes] -sha256 = "97f50fd18543be72da51dd505e2ed20d2228c74e0464e4262e4899797803d7fa" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/0f/95/70d7041273890f9f97a24234c00b746e8da86df462620194cef1d411ddeb/pytokens-0.4.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" -upload-time = 2026-01-30 01:03:21+00:00 -size = 268071 - -[packages.wheels.hashes] -sha256 = "dc74c035f9bfca0255c1af77ddd2d6ae8419012805453e4b0e7513e17904545d" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/da/79/76e6d09ae19c99404656d7db9c35dfd20f2086f3eb6ecb496b5b31163bad/pytokens-0.4.1-cp314-cp314-musllinux_1_2_x86_64.whl" -upload-time = 2026-01-30 01:03:23+00:00 -size = 271716 - -[packages.wheels.hashes] -sha256 = "f66a6bbe741bd431f6d741e617e0f39ec7257ca1f89089593479347cc4d13324" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/79/37/482e55fa1602e0a7ff012661d8c946bafdc05e480ea5a32f4f7e336d4aa9/pytokens-0.4.1-cp314-cp314-win_amd64.whl" -upload-time = 2026-01-30 01:03:24+00:00 -size = 104539 - -[packages.wheels.hashes] -sha256 = "b35d7e5ad269804f6697727702da3c517bb8a5228afa450ab0fa787732055fc9" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/30/e8/20e7db907c23f3d63b0be3b8a4fd1927f6da2395f5bcc7f72242bb963dfe/pytokens-0.4.1-cp314-cp314t-macosx_11_0_arm64.whl" -upload-time = 2026-01-30 01:03:26+00:00 -size = 168474 - -[packages.wheels.hashes] -sha256 = "8fcb9ba3709ff77e77f1c7022ff11d13553f3c30299a9fe246a166903e9091eb" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/d6/81/88a95ee9fafdd8f5f3452107748fd04c24930d500b9aba9738f3ade642cc/pytokens-0.4.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" -upload-time = 2026-01-30 01:03:27+00:00 -size = 290473 - -[packages.wheels.hashes] -sha256 = "79fc6b8699564e1f9b521582c35435f1bd32dd06822322ec44afdeba666d8cb3" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/cf/35/3aa899645e29b6375b4aed9f8d21df219e7c958c4c186b465e42ee0a06bf/pytokens-0.4.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" -upload-time = 2026-01-30 01:03:28+00:00 -size = 303485 - -[packages.wheels.hashes] -sha256 = "d31b97b3de0f61571a124a00ffe9a81fb9939146c122c11060725bd5aea79975" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/52/a0/07907b6ff512674d9b201859f7d212298c44933633c946703a20c25e9d81/pytokens-0.4.1-cp314-cp314t-musllinux_1_2_x86_64.whl" -upload-time = 2026-01-30 01:03:29+00:00 -size = 306698 - -[packages.wheels.hashes] -sha256 = "967cf6e3fd4adf7de8fc73cd3043754ae79c36475c1c11d514fc72cf5490094a" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/39/2a/cbbf9250020a4a8dd53ba83a46c097b69e5eb49dd14e708f496f548c6612/pytokens-0.4.1-cp314-cp314t-win_amd64.whl" -upload-time = 2026-01-30 01:03:30+00:00 -size = 116287 - -[packages.wheels.hashes] -sha256 = "584c80c24b078eec1e227079d56dc22ff755e0ba8654d8383b2c549107528918" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/c6/78/397db326746f0a342855b81216ae1f0a32965deccfd7c830a2dbc66d2483/pytokens-0.4.1-py3-none-any.whl" -upload-time = 2026-01-30 01:03:45+00:00 -size = 13729 - -[packages.wheels.hashes] -sha256 = "26cef14744a8385f35d0e095dc8b3a7583f6c953c2e3d269c7f82484bf5ad2de" - -[[packages]] -name = "pywin32-ctypes" -version = "0.2.3" -index = "https://pypi.org/simple" -marker = "(\"dev\" in dependency_groups and (platform_machine != 'ppc64le' and platform_machine != 's390x' and sys_platform == 'win32')) or (\"pkg-meta\" in dependency_groups and (platform_machine != 'ppc64le' and platform_machine != 's390x' and sys_platform == 'win32'))" - -[packages.sdist] -url = "https://files.pythonhosted.org/packages/85/9f/01a1a99704853cb63f253eea009390c88e7131c67e66a0a02099a8c917cb/pywin32-ctypes-0.2.3.tar.gz" -upload-time = 2024-08-14 10:15:34+00:00 -size = 29471 - -[packages.sdist.hashes] -sha256 = "d162dc04946d704503b2edc4d55f3dba5c1d539ead017afa00142c38b9885755" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/de/3d/8161f7711c017e01ac9f008dfddd9410dff3674334c233bde66e7ba65bbf/pywin32_ctypes-0.2.3-py3-none-any.whl" -upload-time = 2024-08-14 10:15:33+00:00 -size = 30756 - -[packages.wheels.hashes] -sha256 = "8a1513379d709975552d202d942d9837758905c8d01eb82b8bcc30918929e7b8" - -[[packages]] -name = "pyyaml" -version = "6.0.3" -index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"lint\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-news\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-notes\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-prepare\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-validate\" in dependency_groups and (python_full_version >= '3.15'))" - -[packages.sdist] -url = "https://files.pythonhosted.org/packages/05/8e/961c0007c59b8dd7729d542c61a4d537767a59645b82a0b521206e1e25c2/pyyaml-6.0.3.tar.gz" -upload-time = 2025-09-25 21:33:16+00:00 -size = 130960 - -[packages.sdist.hashes] -sha256 = "d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/6d/16/a95b6757765b7b031c9374925bb718d55e0a9ba8a1b6a12d25962ea44347/pyyaml-6.0.3-cp311-cp311-macosx_10_13_x86_64.whl" -upload-time = 2025-09-25 21:31:58+00:00 -size = 185826 - -[packages.wheels.hashes] -sha256 = "44edc647873928551a01e7a563d7452ccdebee747728c1080d881d68af7b997e" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/16/19/13de8e4377ed53079ee996e1ab0a9c33ec2faf808a4647b7b4c0d46dd239/pyyaml-6.0.3-cp311-cp311-macosx_11_0_arm64.whl" -upload-time = 2025-09-25 21:32:00+00:00 -size = 175577 - -[packages.wheels.hashes] -sha256 = "652cb6edd41e718550aad172851962662ff2681490a8a711af6a4d288dd96824" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/0c/62/d2eb46264d4b157dae1275b573017abec435397aa59cbcdab6fc978a8af4/pyyaml-6.0.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" -upload-time = 2025-09-25 21:32:01+00:00 -size = 775556 - -[packages.wheels.hashes] -sha256 = "10892704fc220243f5305762e276552a0395f7beb4dbf9b14ec8fd43b57f126c" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/10/cb/16c3f2cf3266edd25aaa00d6c4350381c8b012ed6f5276675b9eba8d9ff4/pyyaml-6.0.3-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" -upload-time = 2025-09-25 21:32:03+00:00 -size = 882114 - -[packages.wheels.hashes] -sha256 = "850774a7879607d3a6f50d36d04f00ee69e7fc816450e5f7e58d7f17f1ae5c00" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/71/60/917329f640924b18ff085ab889a11c763e0b573da888e8404ff486657602/pyyaml-6.0.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" -upload-time = 2025-09-25 21:32:04+00:00 -size = 806638 - -[packages.wheels.hashes] -sha256 = "b8bb0864c5a28024fac8a632c443c87c5aa6f215c0b126c449ae1a150412f31d" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/dd/6f/529b0f316a9fd167281a6c3826b5583e6192dba792dd55e3203d3f8e655a/pyyaml-6.0.3-cp311-cp311-musllinux_1_2_aarch64.whl" -upload-time = 2025-09-25 21:32:06+00:00 -size = 767463 - -[packages.wheels.hashes] -sha256 = "1d37d57ad971609cf3c53ba6a7e365e40660e3be0e5175fa9f2365a379d6095a" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/f2/6a/b627b4e0c1dd03718543519ffb2f1deea4a1e6d42fbab8021936a4d22589/pyyaml-6.0.3-cp311-cp311-musllinux_1_2_x86_64.whl" -upload-time = 2025-09-25 21:32:07+00:00 -size = 794986 - -[packages.wheels.hashes] -sha256 = "37503bfbfc9d2c40b344d06b2199cf0e96e97957ab1c1b546fd4f87e53e5d3e4" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/45/91/47a6e1c42d9ee337c4839208f30d9f09caa9f720ec7582917b264defc875/pyyaml-6.0.3-cp311-cp311-win32.whl" -upload-time = 2025-09-25 21:32:08+00:00 -size = 142543 - -[packages.wheels.hashes] -sha256 = "8098f252adfa6c80ab48096053f512f2321f0b998f98150cea9bd23d83e1467b" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/da/e3/ea007450a105ae919a72393cb06f122f288ef60bba2dc64b26e2646fa315/pyyaml-6.0.3-cp311-cp311-win_amd64.whl" -upload-time = 2025-09-25 21:32:09+00:00 -size = 158763 - -[packages.wheels.hashes] -sha256 = "9f3bfb4965eb874431221a3ff3fdcddc7e74e3b07799e0e84ca4a0f867d449bf" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/d1/33/422b98d2195232ca1826284a76852ad5a86fe23e31b009c9886b2d0fb8b2/pyyaml-6.0.3-cp312-cp312-macosx_10_13_x86_64.whl" -upload-time = 2025-09-25 21:32:11+00:00 -size = 182063 - -[packages.wheels.hashes] -sha256 = "7f047e29dcae44602496db43be01ad42fc6f1cc0d8cd6c83d342306c32270196" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/89/a0/6cf41a19a1f2f3feab0e9c0b74134aa2ce6849093d5517a0c550fe37a648/pyyaml-6.0.3-cp312-cp312-macosx_11_0_arm64.whl" -upload-time = 2025-09-25 21:32:12+00:00 -size = 173973 - -[packages.wheels.hashes] -sha256 = "fc09d0aa354569bc501d4e787133afc08552722d3ab34836a80547331bb5d4a0" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/ed/23/7a778b6bd0b9a8039df8b1b1d80e2e2ad78aa04171592c8a5c43a56a6af4/pyyaml-6.0.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" -upload-time = 2025-09-25 21:32:13+00:00 -size = 775116 - -[packages.wheels.hashes] -sha256 = "9149cad251584d5fb4981be1ecde53a1ca46c891a79788c0df828d2f166bda28" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/65/30/d7353c338e12baef4ecc1b09e877c1970bd3382789c159b4f89d6a70dc09/pyyaml-6.0.3-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" -upload-time = 2025-09-25 21:32:15+00:00 -size = 844011 - -[packages.wheels.hashes] -sha256 = "5fdec68f91a0c6739b380c83b951e2c72ac0197ace422360e6d5a959d8d97b2c" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/8b/9d/b3589d3877982d4f2329302ef98a8026e7f4443c765c46cfecc8858c6b4b/pyyaml-6.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" -upload-time = 2025-09-25 21:32:16+00:00 -size = 807870 - -[packages.wheels.hashes] -sha256 = "ba1cc08a7ccde2d2ec775841541641e4548226580ab850948cbfda66a1befcdc" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/05/c0/b3be26a015601b822b97d9149ff8cb5ead58c66f981e04fedf4e762f4bd4/pyyaml-6.0.3-cp312-cp312-musllinux_1_2_aarch64.whl" -upload-time = 2025-09-25 21:32:17+00:00 -size = 761089 - -[packages.wheels.hashes] -sha256 = "8dc52c23056b9ddd46818a57b78404882310fb473d63f17b07d5c40421e47f8e" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/be/8e/98435a21d1d4b46590d5459a22d88128103f8da4c2d4cb8f14f2a96504e1/pyyaml-6.0.3-cp312-cp312-musllinux_1_2_x86_64.whl" -upload-time = 2025-09-25 21:32:18+00:00 -size = 790181 - -[packages.wheels.hashes] -sha256 = "41715c910c881bc081f1e8872880d3c650acf13dfa8214bad49ed4cede7c34ea" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/74/93/7baea19427dcfbe1e5a372d81473250b379f04b1bd3c4c5ff825e2327202/pyyaml-6.0.3-cp312-cp312-win32.whl" -upload-time = 2025-09-25 21:32:20+00:00 -size = 137658 - -[packages.wheels.hashes] -sha256 = "96b533f0e99f6579b3d4d4995707cf36df9100d67e0c8303a0c55b27b5f99bc5" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/86/bf/899e81e4cce32febab4fb42bb97dcdf66bc135272882d1987881a4b519e9/pyyaml-6.0.3-cp312-cp312-win_amd64.whl" -upload-time = 2025-09-25 21:32:21+00:00 -size = 154003 - -[packages.wheels.hashes] -sha256 = "5fcd34e47f6e0b794d17de1b4ff496c00986e1c83f7ab2fb8fcfe9616ff7477b" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/1a/08/67bd04656199bbb51dbed1439b7f27601dfb576fb864099c7ef0c3e55531/pyyaml-6.0.3-cp312-cp312-win_arm64.whl" -upload-time = 2025-09-25 21:32:22+00:00 -size = 140344 - -[packages.wheels.hashes] -sha256 = "64386e5e707d03a7e172c0701abfb7e10f0fb753ee1d773128192742712a98fd" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/d1/11/0fd08f8192109f7169db964b5707a2f1e8b745d4e239b784a5a1dd80d1db/pyyaml-6.0.3-cp313-cp313-macosx_10_13_x86_64.whl" -upload-time = 2025-09-25 21:32:23+00:00 -size = 181669 - -[packages.wheels.hashes] -sha256 = "8da9669d359f02c0b91ccc01cac4a67f16afec0dac22c2ad09f46bee0697eba8" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/b1/16/95309993f1d3748cd644e02e38b75d50cbc0d9561d21f390a76242ce073f/pyyaml-6.0.3-cp313-cp313-macosx_11_0_arm64.whl" -upload-time = 2025-09-25 21:32:25+00:00 -size = 173252 - -[packages.wheels.hashes] -sha256 = "2283a07e2c21a2aa78d9c4442724ec1eb15f5e42a723b99cb3d822d48f5f7ad1" - -[[packages.wheels]] -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" -upload-time = 2025-09-25 21:32:26+00:00 -size = 767081 - -[packages.wheels.hashes] -sha256 = "ee2922902c45ae8ccada2c5b501ab86c36525b883eff4255313a253a3160861c" - -[[packages.wheels]] -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" -upload-time = 2025-09-25 21:32:27+00:00 -size = 841159 - -[packages.wheels.hashes] -sha256 = "a33284e20b78bd4a18c8c2282d549d10bc8408a2a7ff57653c0cf0b9be0afce5" - -[[packages.wheels]] -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" -upload-time = 2025-09-25 21:32:28+00:00 -size = 801626 - -[packages.wheels.hashes] -sha256 = "0f29edc409a6392443abf94b9cf89ce99889a1dd5376d94316ae5145dfedd5d6" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/f9/11/ba845c23988798f40e52ba45f34849aa8a1f2d4af4b798588010792ebad6/pyyaml-6.0.3-cp313-cp313-musllinux_1_2_aarch64.whl" -upload-time = 2025-09-25 21:32:30+00:00 -size = 753613 - -[packages.wheels.hashes] -sha256 = "f7057c9a337546edc7973c0d3ba84ddcdf0daa14533c2065749c9075001090e6" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/3d/e0/7966e1a7bfc0a45bf0a7fb6b98ea03fc9b8d84fa7f2229e9659680b69ee3/pyyaml-6.0.3-cp313-cp313-musllinux_1_2_x86_64.whl" -upload-time = 2025-09-25 21:32:31+00:00 -size = 794115 - -[packages.wheels.hashes] -sha256 = "eda16858a3cab07b80edaf74336ece1f986ba330fdb8ee0d6c0d68fe82bc96be" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/de/94/980b50a6531b3019e45ddeada0626d45fa85cbe22300844a7983285bed3b/pyyaml-6.0.3-cp313-cp313-win32.whl" -upload-time = 2025-09-25 21:32:32+00:00 -size = 137427 - -[packages.wheels.hashes] -sha256 = "d0eae10f8159e8fdad514efdc92d74fd8d682c933a6dd088030f3834bc8e6b26" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/97/c9/39d5b874e8b28845e4ec2202b5da735d0199dbe5b8fb85f91398814a9a46/pyyaml-6.0.3-cp313-cp313-win_amd64.whl" -upload-time = 2025-09-25 21:32:33+00:00 -size = 154090 - -[packages.wheels.hashes] -sha256 = "79005a0d97d5ddabfeeea4cf676af11e647e41d81c9a7722a193022accdb6b7c" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/73/e8/2bdf3ca2090f68bb3d75b44da7bbc71843b19c9f2b9cb9b0f4ab7a5a4329/pyyaml-6.0.3-cp313-cp313-win_arm64.whl" -upload-time = 2025-09-25 21:32:34+00:00 -size = 140246 - -[packages.wheels.hashes] -sha256 = "5498cd1645aa724a7c71c8f378eb29ebe23da2fc0d7a08071d89469bf1d2defb" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/9d/8c/f4bd7f6465179953d3ac9bc44ac1a8a3e6122cf8ada906b4f96c60172d43/pyyaml-6.0.3-cp314-cp314-macosx_10_13_x86_64.whl" -upload-time = 2025-09-25 21:32:35+00:00 -size = 181814 - -[packages.wheels.hashes] -sha256 = "8d1fab6bb153a416f9aeb4b8763bc0f22a5586065f86f7664fc23339fc1c1fac" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/bd/9c/4d95bb87eb2063d20db7b60faa3840c1b18025517ae857371c4dd55a6b3a/pyyaml-6.0.3-cp314-cp314-macosx_11_0_arm64.whl" -upload-time = 2025-09-25 21:32:36+00:00 -size = 173809 - -[packages.wheels.hashes] -sha256 = "34d5fcd24b8445fadc33f9cf348c1047101756fd760b4dacb5c3e99755703310" - -[[packages.wheels]] -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" -upload-time = 2025-09-25 21:32:37+00:00 -size = 766454 - -[packages.wheels.hashes] -sha256 = "501a031947e3a9025ed4405a168e6ef5ae3126c59f90ce0cd6f2bfc477be31b7" - -[[packages.wheels]] -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" -upload-time = 2025-09-25 21:32:39+00:00 -size = 836355 - -[packages.wheels.hashes] -sha256 = "b3bc83488de33889877a0f2543ade9f70c67d66d9ebb4ac959502e12de895788" - -[[packages.wheels]] -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" -upload-time = 2025-09-25 21:32:40+00:00 -size = 794175 - -[packages.wheels.hashes] -sha256 = "c458b6d084f9b935061bc36216e8a69a7e293a2f1e68bf956dcd9e6cbcd143f5" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/dd/3f/5989debef34dc6397317802b527dbbafb2b4760878a53d4166579111411e/pyyaml-6.0.3-cp314-cp314-musllinux_1_2_aarch64.whl" -upload-time = 2025-09-25 21:32:42+00:00 -size = 755228 - -[packages.wheels.hashes] -sha256 = "7c6610def4f163542a622a73fb39f534f8c101d690126992300bf3207eab9764" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/d7/ce/af88a49043cd2e265be63d083fc75b27b6ed062f5f9fd6cdc223ad62f03e/pyyaml-6.0.3-cp314-cp314-musllinux_1_2_x86_64.whl" -upload-time = 2025-09-25 21:32:43+00:00 -size = 789194 - -[packages.wheels.hashes] -sha256 = "5190d403f121660ce8d1d2c1bb2ef1bd05b5f68533fc5c2ea899bd15f4399b35" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/23/20/bb6982b26a40bb43951265ba29d4c246ef0ff59c9fdcdf0ed04e0687de4d/pyyaml-6.0.3-cp314-cp314-win_amd64.whl" -upload-time = 2025-09-25 21:32:57+00:00 -size = 156429 - -[packages.wheels.hashes] -sha256 = "4a2e8cebe2ff6ab7d1050ecd59c25d4c8bd7e6f400f5f82b96557ac0abafd0ac" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/f4/f4/a4541072bb9422c8a883ab55255f918fa378ecf083f5b85e87fc2b4eda1b/pyyaml-6.0.3-cp314-cp314-win_arm64.whl" -upload-time = 2025-09-25 21:32:59+00:00 -size = 143912 - -[packages.wheels.hashes] -sha256 = "93dda82c9c22deb0a405ea4dc5f2d0cda384168e466364dec6255b293923b2f3" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/7c/f9/07dd09ae774e4616edf6cda684ee78f97777bdd15847253637a6f052a62f/pyyaml-6.0.3-cp314-cp314t-macosx_10_13_x86_64.whl" -upload-time = 2025-09-25 21:32:44+00:00 -size = 189108 - -[packages.wheels.hashes] -sha256 = "02893d100e99e03eda1c8fd5c441d8c60103fd175728e23e431db1b589cf5ab3" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/4e/78/8d08c9fb7ce09ad8c38ad533c1191cf27f7ae1effe5bb9400a46d9437fcf/pyyaml-6.0.3-cp314-cp314t-macosx_11_0_arm64.whl" -upload-time = 2025-09-25 21:32:45+00:00 -size = 183641 - -[packages.wheels.hashes] -sha256 = "c1ff362665ae507275af2853520967820d9124984e0f7466736aea23d8611fba" - -[[packages.wheels]] -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" -upload-time = 2025-09-25 21:32:48+00:00 -size = 831901 - -[packages.wheels.hashes] -sha256 = "6adc77889b628398debc7b65c073bcb99c4a0237b248cacaf3fe8a557563ef6c" - -[[packages.wheels]] -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" -upload-time = 2025-09-25 21:32:50+00:00 -size = 861132 - -[packages.wheels.hashes] -sha256 = "a80cb027f6b349846a3bf6d73b5e95e782175e52f22108cfa17876aaeff93702" - -[[packages.wheels]] -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" -upload-time = 2025-09-25 21:32:51+00:00 -size = 839261 - -[packages.wheels.hashes] -sha256 = "00c4bdeba853cc34e7dd471f16b4114f4162dc03e6b7afcc2128711f0eca823c" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/ce/88/a9db1376aa2a228197c58b37302f284b5617f56a5d959fd1763fb1675ce6/pyyaml-6.0.3-cp314-cp314t-musllinux_1_2_aarch64.whl" -upload-time = 2025-09-25 21:32:52+00:00 -size = 805272 - -[packages.wheels.hashes] -sha256 = "66e1674c3ef6f541c35191caae2d429b967b99e02040f5ba928632d9a7f0f065" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/da/92/1446574745d74df0c92e6aa4a7b0b3130706a4142b2d1a5869f2eaa423c6/pyyaml-6.0.3-cp314-cp314t-musllinux_1_2_x86_64.whl" -upload-time = 2025-09-25 21:32:54+00:00 -size = 829923 - -[packages.wheels.hashes] -sha256 = "16249ee61e95f858e83976573de0f5b2893b3677ba71c9dd36b9cf8be9ac6d65" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/f0/7a/1c7270340330e575b92f397352af856a8c06f230aa3e76f86b39d01b416a/pyyaml-6.0.3-cp314-cp314t-win_amd64.whl" -upload-time = 2025-09-25 21:32:55+00:00 -size = 174062 - -[packages.wheels.hashes] -sha256 = "4ad1906908f2f5ae4e5a8ddfce73c320c2a1429ec52eafd27138b7f1cbe341c9" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/f1/12/de94a39c2ef588c7e6455cfbe7343d3b2dc9d6b6b2f40c4c6565744c873d/pyyaml-6.0.3-cp314-cp314t-win_arm64.whl" -upload-time = 2025-09-25 21:32:56+00:00 -size = 149341 - -[packages.wheels.hashes] -sha256 = "ebc55a14a21cb14062aa4162f906cd962b28e2e9ea38f9b4391244cd8de4ae0b" - -[[packages]] -name = "readme-renderer" -version = "46.0" -index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"pkg-meta\" in dependency_groups" - -[packages.sdist] -url = "https://files.pythonhosted.org/packages/25/d7/9309494fad74ee831d4546f69325b5519f37c6dfb2d9ba495db8c6d4f4ca/readme_renderer-46.0.tar.gz" -upload-time = 2026-08-28 15:18:32+00:00 -size = 38382 - -[packages.sdist.hashes] -sha256 = "af3e964914f6310a33ff67b72a4bdd940bed8d7c3bdecd2d14f40edf284bfe90" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/4b/72/ac5ca81fe9121fcaa9d828d21017cba00a16a98e4ea5fb60c878f93dda4f/readme_renderer-46.0-py3-none-any.whl" -upload-time = 2026-08-28 15:18:31+00:00 -size = 14239 - -[packages.wheels.hashes] -sha256 = "d0dae1f74bb273b534770cb4cccb6bb78735540afdb03c2146f4e19dcd412560" - -[[packages]] -name = "release-creator" -version = "0.5.1" -index = "https://pypi.org/simple" -marker = "(\"release\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-news\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-notes\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-prepare\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-validate\" in dependency_groups and (python_full_version >= '3.15'))" - -[packages.sdist] -url = "https://files.pythonhosted.org/packages/65/d3/83211b4ebfbaf87383392aed6ef3aa98d65e0ade613a2aa0ea0f222cb6b1/release_creator-0.5.1.tar.gz" -upload-time = 2026-10-22 13:51:55+00:00 -size = 158621 - -[packages.sdist.hashes] -sha256 = "755f8d460a493789756ab1bd4bbda0dd90145699288239085dd712cba2d84251" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/5f/88/fab14c09530c8691040ec040613476d645414e2db1123c35b3818d291cea/release_creator-0.5.1-py3-none-any.whl" -upload-time = 2026-10-22 13:51:54+00:00 -size = 50983 - -[packages.wheels.hashes] -sha256 = "7aa5f28c5195f6f5e0493abede9c041a58d015bc3a837feee5669cc2062d6053" - -[[packages]] -name = "requests" -version = "2.34.2" -index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"pkg-meta\" in dependency_groups or \"type\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15'))" - -[packages.sdist] -url = "https://files.pythonhosted.org/packages/ac/c3/e2a2b89f2d3e2179abd6d00ebd70bff6273f37fb3e0cc209f48b39d00cbf/requests-2.34.2.tar.gz" -upload-time = 2026-05-14 19:25:27+00:00 -size = 142856 - -[packages.sdist.hashes] -sha256 = "f288924cae4e29463698d6d60bc6a4da69c89185ad1e0bcc4104f584e960b9ed" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/a0/f4/c67b0b3f1b9245e8d266f0f112c500d50e5b4e83cb6f3b71b6528104182a/requests-2.34.2-py3-none-any.whl" -upload-time = 2026-05-14 19:25:26+00:00 -size = 73075 - -[packages.wheels.hashes] -sha256 = "2a0d60c172f83ac6ab31e4554906c0f3b3588d37b5cb939b1c061f4907e278e0" - -[[packages]] -name = "requests-toolbelt" -version = "1.0.0" -index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"pkg-meta\" in dependency_groups" - -[packages.sdist] -url = "https://files.pythonhosted.org/packages/f3/61/d7545dafb7ac2230c70d38d31cbfe4cc64f7144dc41f6e4e4b78ecd9f5bb/requests-toolbelt-1.0.0.tar.gz" -upload-time = 2023-05-01 04:11:33+00:00 -size = 206888 - -[packages.sdist.hashes] -sha256 = "7681a0a3d047012b5bdc0ee37d7f8f07ebe76ab08caeccfc3921ce23c88d5bc6" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/3f/51/d4db610ef29373b879047326cbf6fa98b6c1969d6f6dc423279de2b1be2c/requests_toolbelt-1.0.0-py2.py3-none-any.whl" -upload-time = 2023-05-01 04:11:28+00:00 -size = 54481 - -[packages.wheels.hashes] -sha256 = "cccfdd665f0a24fcf4726e690f65639d272bb0637b9b92dfd91a5568ccf6bd06" - -[[packages]] -name = "rfc3986" -version = "2.0.0" -index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"pkg-meta\" in dependency_groups" - -[packages.sdist] -url = "https://files.pythonhosted.org/packages/85/40/1520d68bfa07ab5a6f065a186815fb6610c86fe957bc065754e47f7b0840/rfc3986-2.0.0.tar.gz" -upload-time = 2022-01-10 00:52:30+00:00 -size = 49026 - -[packages.sdist.hashes] -sha256 = "97aacf9dbd4bfd829baad6e6309fa6573aaf1be3f6fa735c8ab05e46cecb261c" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/ff/9a/9afaade874b2fa6c752c36f1548f718b5b83af81ed9b76628329dab81c1b/rfc3986-2.0.0-py2.py3-none-any.whl" -upload-time = 2022-01-10 00:52:29+00:00 -size = 31326 - -[packages.wheels.hashes] -sha256 = "50b1502b60e289cb37883f3dfd34532b8873c7de9f49bb546641ce9cbd256ebd" - -[[packages]] -name = "rich" -version = "15.0.0" -index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"pkg-meta\" in dependency_groups" - -[packages.sdist] -url = "https://files.pythonhosted.org/packages/c0/8f/0722ca900cc807c13a6a0c696dacf35430f72e0ec571c4275d2371fca3e9/rich-15.0.0.tar.gz" -upload-time = 2026-04-12 08:24:00+00:00 -size = 230680 - -[packages.sdist.hashes] -sha256 = "edd07a4824c6b40189fb7ac9bc4c52536e9780fbbfbddf6f1e2502c31b068c36" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/82/3b/64d4899d73f91ba49a8c18a8ff3f0ea8f1c1d75481760df8c68ef5235bf5/rich-15.0.0-py3-none-any.whl" -upload-time = 2026-04-12 08:24:02+00:00 -size = 310654 - -[packages.wheels.hashes] -sha256 = "33bd4ef74232fb73fe9279a257718407f169c09b78a87ad3d296f548e27de0bb" - -[[packages]] -name = "roman" -version = "5.2" -index = "https://pypi.org/simple" -marker = "(\"release\" in dependency_groups and (python_full_version >= '3.15'))" - -[packages.sdist] -url = "https://files.pythonhosted.org/packages/9c/7c/3901b35ed856329bf98e84da8e5e0b4d899ea0027eee222f1be42a24ff3f/roman-5.2.tar.gz" -upload-time = 2025-11-11 08:03:57+00:00 -size = 8185 - -[packages.sdist.hashes] -sha256 = "275fe9f46290f7d0ffaea1c33251b92b8e463ace23660508ceef522e7587cb6f" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/10/14/ea3cdd7276fcd731a9003fe4abeb6b395a38110ddff6a6a509f4ee00f741/roman-5.2-py3-none-any.whl" -upload-time = 2025-11-11 08:03:56+00:00 -size = 6041 - -[packages.wheels.hashes] -sha256 = "89d3b47400388806d06ff77ea77c79ab080bc127820dea6bf34e1f1c1b8e676e" +sha256 = "ce0134c40d63d874ac48f48ccc678b8f3b62b8e50e9318520d2bffc752eedaf3" [[packages]] -name = "roman-numerals" -version = "4.1.0" -index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"type\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15'))" +name = "hatch-vcs" +version = "0.5.0" +marker = "\"build\" in dependency_groups" +requires-python = ">=3.9" +dependencies = [ + { name = "hatchling" }, + { name = "setuptools-scm" }, +] +index = "https://pypi.org/simple/" [packages.sdist] -url = "https://files.pythonhosted.org/packages/ae/f9/41dc953bbeb056c17d5f7a519f50fdf010bd0553be2d630bc69d1e022703/roman_numerals-4.1.0.tar.gz" -upload-time = 2025-12-17 18:25:34+00:00 -size = 9077 +name = "hatch_vcs-0.5.0.tar.gz" +upload-time = 2025-05-27 05:16:04.490926+00:00 +url = "https://files.pythonhosted.org/packages/6b/b0/4cc743d38adbee9d57d786fa496ed1daadb17e48589b6da8fa55717a0746/hatch_vcs-0.5.0.tar.gz" +size = 11424 [packages.sdist.hashes] -sha256 = "1af8b147eb1405d5839e78aeb93131690495fe9da5c91856cb33ad55a7f1e5b2" +sha256 = "0395fa126940340215090c344a2bf4e2a77bcbe7daab16f41b37b98c95809ff9" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/04/54/6f679c435d28e0a568d8e8a7c0a93a09010818634c3c3907fc98d8983770/roman_numerals-4.1.0-py3-none-any.whl" -upload-time = 2025-12-17 18:25:33+00:00 -size = 7676 +name = "hatch_vcs-0.5.0-py3-none-any.whl" +upload-time = 2025-05-27 05:16:03.184909+00:00 +url = "https://files.pythonhosted.org/packages/5f/48/1f85cee4b7b4f40b9b814b1febbc661bda6ced9649e410a0b74f6e415dd0/hatch_vcs-0.5.0-py3-none-any.whl" +size = 8507 [packages.wheels.hashes] -sha256 = "647ba99caddc2cc1e55a51e4360689115551bf4476d90e8162cf8c345fe233c7" +sha256 = "b49677dbdc597460cc22d01b27ab3696f5e16a21ecf2700fb01bc28e1f2a04a7" [[packages]] -name = "secretstorage" -version = "3.5.0" -index = "https://pypi.org/simple" -marker = "(\"dev\" in dependency_groups and (platform_machine != 'ppc64le' and platform_machine != 's390x' and sys_platform == 'linux')) or (\"pkg-meta\" in dependency_groups and (platform_machine != 'ppc64le' and platform_machine != 's390x' and sys_platform == 'linux'))" +name = "hatchling" +version = "1.32.4" +marker = "\"build\" in dependency_groups" +requires-python = ">=3.10" +dependencies = [ + { name = "packaging" }, + { name = "pathspec" }, + { name = "pluggy" }, + { name = "tomlkit" }, + { name = "trove-classifiers" }, +] +index = "https://pypi.org/simple/" [packages.sdist] -url = "https://files.pythonhosted.org/packages/1c/03/e834bcd866f2f8a49a85eaff47340affa3bfa391ee9912a952a1faa68c7b/secretstorage-3.5.0.tar.gz" -upload-time = 2025-11-23 19:02:53+00:00 -size = 19884 +name = "hatchling-1.32.4.tar.gz" +upload-time = 2026-09-20 22:48:45.398505+00:00 +url = "https://files.pythonhosted.org/packages/f6/97/b5312f01a8c6daf729a9d272dd442e0c546dbcc630495788786c4b567ed0/hatchling-1.32.4.tar.gz" +size = 58065 [packages.sdist.hashes] -sha256 = "f04b8e4689cbce351744d5537bf6b1329c6fc68f91fa666f60a380edddcd11be" +sha256 = "c4468f73144c054d2aab4ef0f0378c43b9878bf07f8ffd6b79690e970d375f07" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/b7/46/f5af3402b579fd5e11573ce652019a67074317e18c1935cc0b4ba9b35552/secretstorage-3.5.0-py3-none-any.whl" -upload-time = 2025-11-23 19:02:51+00:00 -size = 15554 +name = "hatchling-1.32.4-py3-none-any.whl" +upload-time = 2026-09-20 22:48:44.190681+00:00 +url = "https://files.pythonhosted.org/packages/5f/80/91f51f439c05d4ec4623c22928ce16a938d6d793bf709477830823497859/hatchling-1.32.4-py3-none-any.whl" +size = 78748 [packages.wheels.hashes] -sha256 = "0ce65888c0725fcb2c5bc0fdb8e5438eece02c523557ea40ce0703c266248137" +sha256 = "08ecf7548fb48205e7f213d70c71e67b8271b7242093dc3f1da578b42c734a2c" [[packages]] -name = "setuptools" -version = "84.0.0" -index = "https://pypi.org/simple" -marker = "\"build\" in dependency_groups or \"dev\" in dependency_groups or \"test\" in dependency_groups or \"type\" in dependency_groups" +name = "id" +version = "1.6.1" +marker = "\"pkg-meta\" in dependency_groups" +requires-python = ">=3.9" +dependencies = [ + { name = "urllib3" }, +] +index = "https://pypi.org/simple/" [packages.sdist] -url = "https://files.pythonhosted.org/packages/6d/44/f5da03a8ef95d369145c5bb53050e7877c9f3d312e128605fd9504829143/setuptools-84.0.0.tar.gz" -upload-time = 2026-08-08 18:27:58+00:00 -size = 1168449 +name = "id-1.6.1.tar.gz" +upload-time = 2026-02-04 16:19:41.260133+00:00 +url = "https://files.pythonhosted.org/packages/6d/04/c2156091427636080787aac190019dc64096e56a23b7364d3c1764ee3a06/id-1.6.1.tar.gz" +size = 18088 [packages.sdist.hashes] -sha256 = "f4695c21257f0d9b537ec2692c941d02ee143b7cc1276941349a546573b2ef73" +sha256 = "d0732d624fb46fd4e7bc4e5152f00214450953b9e772c182c1c22964def1a069" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/95/9c/c510029fc6ef33a6275cd2c5d3cecd6613dfd6aa401d57c54f1c18852ccf/setuptools-84.0.0-py3-none-any.whl" -upload-time = 2026-08-08 18:27:56+00:00 -size = 818216 +name = "id-1.6.1-py3-none-any.whl" +upload-time = 2026-02-04 16:19:40.051745+00:00 +url = "https://files.pythonhosted.org/packages/42/77/de194443bf38daed9452139e960c632b0ef9f9a5dd9ce605fdf18ca9f1b1/id-1.6.1-py3-none-any.whl" +size = 14689 [packages.wheels.hashes] -sha256 = "51a52592b3b99e102b609654876bd65f19f999935166d1352678931132b0c670" +sha256 = "f5ec41ed2629a508f5d0988eda142e190c9c6da971100612c4de9ad9f9b237ca" [[packages]] -name = "setuptools-scm" -version = "10.3.4" -marker = "\"build\" in dependency_groups" +name = "idna" +version = "3.20" +marker = "\"pkg-meta\" in dependency_groups" +requires-python = ">=3.9" +index = "https://pypi.org/simple/" [packages.sdist] -url = "https://files.pythonhosted.org/packages/85/d8/fc143f88819ccf10ba2388ba86732ee2de193e578234e25a783f6cc14bf7/setuptools_scm-10.3.4.tar.gz" -upload-time = 2026-09-23 19:21:42+00:00 -size = 78410 +name = "idna-3.20.tar.gz" +upload-time = 2026-09-17 14:11:04.752193+00:00 +url = "https://files.pythonhosted.org/packages/f5/08/8eea9d4b8302028f3abb2c0813953f7aec26d33b7a8960ed760e65ff29fa/idna-3.20.tar.gz" +size = 216463 [packages.sdist.hashes] -sha256 = "a69f28bfc245608781205e912faae437c2b2165773afa4e7b979d77447a69dd2" +sha256 = "a7db850025b95ded1eae8a46181a1a6c56c92c96f0e2b005d9ff8dc0210cab44" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/da/f5/54538a1f17ea753c42b0928dc2e62986d463f8c393340b9a1e602f2d4dd9/setuptools_scm-10.3.4-py3-none-any.whl" -upload-time = 2026-09-23 19:21:41+00:00 -size = 33366 +name = "idna-3.20-py3-none-any.whl" +upload-time = 2026-09-17 14:11:03.168153+00:00 +url = "https://files.pythonhosted.org/packages/58/a2/bb081bab032533a855d44de1d56f8e8426114ff1ba5d1f07a438a0a654f8/idna-3.20-py3-none-any.whl" +size = 69583 [packages.wheels.hashes] -sha256 = "82f34c3e3084fc2b57d397200637cc13f2338004052d2fee47baa5f0e902464e" +sha256 = "ab7ae7122974553370f0bdb919e1a960b2cd1bc1ef0276416d896db81c14582c" [[packages]] -name = "snowballstemmer" -version = "3.1.1" -index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"type\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15'))" +name = "installer" +version = "1.1.0" +marker = "\"lock-tools\" in dependency_groups" +requires-python = ">=3.10" +index = "https://pypi.org/simple/" [packages.sdist] -url = "https://files.pythonhosted.org/packages/43/f8/0a71edf031f03c40db17503cb8ca78a69a171254e568e7db241b0ab57ea1/snowballstemmer-3.1.1.tar.gz" -upload-time = 2026-06-03 00:56:40+00:00 -size = 123314 +name = "installer-1.1.0.tar.gz" +upload-time = 2026-10-12 19:35:52.851170+00:00 +url = "https://files.pythonhosted.org/packages/56/d3/2fab33d15004d41ae8e7b5d3e310510f7f34a7e1dd032a3e60d8b38d8fba/installer-1.1.0.tar.gz" +size = 481257 [packages.sdist.hashes] -sha256 = "e07bbc54a0d798fe6010a12398422e62a8bfbba95c394fd0956ef58cb4d3e260" +sha256 = "5adc0c01ce62d809989e246987cd68944fe5df8af562d0358f65b2ab15cb5de7" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/4c/07/2ebca9b11fb9be7340a818d8d6f63feaebb146be2c4afbd6061701d6df6e/snowballstemmer-3.1.1-py3-none-any.whl" -upload-time = 2026-06-03 00:56:38+00:00 -size = 104164 +name = "installer-1.1.0-py3-none-any.whl" +upload-time = 2026-10-12 19:35:51.096942+00:00 +url = "https://files.pythonhosted.org/packages/d7/7a/63547a792a12148882205d79e07644091d5b7690f40c2bb9d41452a8bdc2/installer-1.1.0-py3-none-any.whl" +size = 464466 [packages.wheels.hashes] -sha256 = "7e207fa178741da09cdee59d3ecec3827ad5f92b1fc5c9ff3755b639f71f5752" +sha256 = "f55f5728ff61d3dd54dbc5a397cf3f7307cb64b180c20b72afbebf01c9e2c8a0" [[packages]] -name = "soupsieve" -version = "2.10" -index = "https://pypi.org/simple" -marker = "(\"dev\" in dependency_groups and (python_full_version < '3.11.5')) or (\"docs\" in dependency_groups and (python_full_version < '3.11.5')) or (\"type\" in dependency_groups and (python_full_version < '3.11.5'))" +name = "jaraco-classes" +version = "3.4.0" +marker = "\"pkg-meta\" in dependency_groups" +requires-python = ">=3.8" +dependencies = [ + { name = "more-itertools" }, +] +index = "https://pypi.org/simple/" [packages.sdist] -url = "https://files.pythonhosted.org/packages/71/c3/1b817965ac12dc002d7c9cd7dfffdd7d4fbf9b45763ef2ffe7b86ee94670/soupsieve-2.10.tar.gz" -upload-time = 2026-09-24 02:36:35+00:00 -size = 124337 +name = "jaraco.classes-3.4.0.tar.gz" +upload-time = 2024-03-31 07:27:36.643708+00:00 +url = "https://files.pythonhosted.org/packages/06/c0/ed4a27bc5571b99e3cff68f8a9fa5b56ff7df1c2251cc715a652ddd26402/jaraco.classes-3.4.0.tar.gz" +size = 11780 [packages.sdist.hashes] -sha256 = "49e9380d7d2905463583bafe285e818c7366a9ed7b3aee221c1ac79c905d8bc0" +sha256 = "47a024b51d0239c0dd8c8540c6c7f484be3b8fcf0b2d85c13825780d3b3f3acd" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/66/87/5ed59e1d0290564e2027ed066c52b059892c4637741337fc0967183c8d4d/soupsieve-2.10-py3-none-any.whl" -upload-time = 2026-09-24 02:36:33+00:00 -size = 38019 +name = "jaraco.classes-3.4.0-py3-none-any.whl" +upload-time = 2024-03-31 07:27:34.792832+00:00 +url = "https://files.pythonhosted.org/packages/7f/66/b15ce62552d84bbfcec9a4873ab79d993a1dd4edb922cbfccae192bd5b5f/jaraco.classes-3.4.0-py3-none-any.whl" +size = 6777 [packages.wheels.hashes] -sha256 = "8596eb8967d744174820280fa62b4542a2e955bfaccca73ed8a13c6eb8e9b502" +sha256 = "f662826b6bed8cace05e7ff873ce0f9283b5c924470fe664fff1c2f00f581790" [[packages]] -name = "soupsieve" -version = "3.0.3" -index = "https://pypi.org/simple" -marker = "(\"dev\" in dependency_groups and (python_full_version >= '3.11.5')) or (\"docs\" in dependency_groups and (python_full_version >= '3.11.5')) or (\"type\" in dependency_groups and (python_full_version >= '3.11.5'))" +name = "jaraco-context" +version = "6.1.2" +marker = "\"pkg-meta\" in dependency_groups" +requires-python = ">=3.10" +index = "https://pypi.org/simple/" [packages.sdist] -url = "https://files.pythonhosted.org/packages/5e/77/2dcfa996b01702ab8fd0763d84098f6a640d6162a328f1c04c2697579a1a/soupsieve-3.0.3.tar.gz" -upload-time = 2026-10-12 13:21:17+00:00 -size = 115923 +name = "jaraco_context-6.1.2.tar.gz" +upload-time = 2026-03-20 22:13:33.922545+00:00 +url = "https://files.pythonhosted.org/packages/af/50/4763cd07e722bb6285316d390a164bc7e479db9d90daa769f22578f698b4/jaraco_context-6.1.2.tar.gz" +size = 16801 [packages.sdist.hashes] -sha256 = "7dcf6022eed0399eb9934a75e020148f7a2024c37b7dfcd3cf2c5505d69c364e" +sha256 = "f1a6c9d391e661cc5b8d39861ff077a7dc24dc23833ccee564b234b81c82dfe3" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/49/ca/f639c80449997b88aba7bc9705d25dd76cc0844f45f187862fd8f8bb18fa/soupsieve-3.0.3-py3-none-any.whl" -upload-time = 2026-10-12 13:21:16+00:00 -size = 41705 +name = "jaraco_context-6.1.2-py3-none-any.whl" +upload-time = 2026-03-20 22:13:32.808832+00:00 +url = "https://files.pythonhosted.org/packages/f2/58/bc8954bda5fcda97bd7c19be11b85f91973d67a706ed4a3aec33e7de22db/jaraco_context-6.1.2-py3-none-any.whl" +size = 7871 [packages.wheels.hashes] -sha256 = "fa30e3ba4809cb81ce1f3209f2fbe3e779fc445f0439bc147a0d7c4601743f21" +sha256 = "bf8150b79a2d5d91ae48629d8b427a8f7ba0e1097dd6202a9059f29a36379535" [[packages]] -name = "sphinx" -version = "9.0.4" -index = "https://pypi.org/simple" -marker = "(\"dev\" in dependency_groups and (python_full_version < '3.12')) or (\"docs\" in dependency_groups and (python_full_version < '3.12')) or (\"type\" in dependency_groups and (python_full_version < '3.12'))" +name = "jaraco-functools" +version = "4.6.0" +marker = "\"pkg-meta\" in dependency_groups" +requires-python = ">=3.10" +dependencies = [ + { name = "more-itertools" }, +] +index = "https://pypi.org/simple/" [packages.sdist] -url = "https://files.pythonhosted.org/packages/42/50/a8c6ccc36d5eacdfd7913ddccd15a9cee03ecafc5ee2bc40e1f168d85022/sphinx-9.0.4.tar.gz" -upload-time = 2025-12-04 07:45:27+00:00 -size = 8710502 +name = "jaraco_functools-4.6.0.tar.gz" +upload-time = 2026-07-14 01:28:02.544761+00:00 +url = "https://files.pythonhosted.org/packages/6c/1f/c23395957d41ccf27c4e535c3d334c4051e5395b3752057ba4cbaec35c56/jaraco_functools-4.6.0.tar.gz" +size = 20837 [packages.sdist.hashes] -sha256 = "594ef59d042972abbc581d8baa577404abe4e6c3b04ef61bd7fc2acbd51f3fa3" +sha256 = "880c577ec9720b3a052d5bc611fb9f2269b3d87902ef42440df443b88e443280" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/c6/3f/4bbd76424c393caead2e1eb89777f575dee5c8653e2d4b6afd7a564f5974/sphinx-9.0.4-py3-none-any.whl" -upload-time = 2025-12-04 07:45:24+00:00 -size = 3917713 +name = "jaraco_functools-4.6.0-py3-none-any.whl" +upload-time = 2026-07-14 01:28:01.590470+00:00 +url = "https://files.pythonhosted.org/packages/02/36/ecc85bc96c273dc8a11273ed4782272975e6338d4a3e9228621175edf0e3/jaraco_functools-4.6.0-py3-none-any.whl" +size = 11677 [packages.wheels.hashes] -sha256 = "5bebc595a5e943ea248b99c13814c1c5e10b3ece718976824ffa7959ff95fffb" +sha256 = "99e3dc0060c5cbe8fcd1cdb36258e2a65ca40f1566b2033b12abb1bb44dd3c30" [[packages]] -name = "sphinx" -version = "9.1.0" -index = "https://pypi.org/simple" -marker = "(\"dev\" in dependency_groups and (python_full_version >= '3.12')) or (\"docs\" in dependency_groups and (python_full_version >= '3.12')) or (\"release\" in dependency_groups and (python_full_version >= '3.15')) or (\"type\" in dependency_groups and (python_full_version >= '3.12'))" +name = "jeepney" +version = "0.9.0" +marker = "\"pkg-meta\" in dependency_groups and sys_platform == \"linux\"" +requires-python = ">=3.7" +index = "https://pypi.org/simple/" [packages.sdist] -url = "https://files.pythonhosted.org/packages/cd/bd/f08eb0f4eed5c83f1ba2a3bd18f7745a2b1525fad70660a1c00224ec468a/sphinx-9.1.0.tar.gz" -upload-time = 2025-12-31 15:09:27+00:00 -size = 8718324 +name = "jeepney-0.9.0.tar.gz" +upload-time = 2025-02-27 18:51:01.684959+00:00 +url = "https://files.pythonhosted.org/packages/7b/6f/357efd7602486741aa73ffc0617fb310a29b588ed0fd69c2399acbb85b0c/jeepney-0.9.0.tar.gz" +size = 106758 [packages.sdist.hashes] -sha256 = "7741722357dd75f8190766926071fed3bdc211c74dd2d7d4df5404da95930ddb" +sha256 = "cf0e9e845622b81e4a28df94c40345400256ec608d0e55bb8a3feaa9163f5732" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/73/f7/b1884cb3188ab181fc81fa00c266699dab600f927a964df02ec3d5d1916a/sphinx-9.1.0-py3-none-any.whl" -upload-time = 2025-12-31 15:09:25+00:00 -size = 3921742 +name = "jeepney-0.9.0-py3-none-any.whl" +upload-time = 2025-02-27 18:51:00.104279+00:00 +url = "https://files.pythonhosted.org/packages/b2/a3/e137168c9c44d18eff0376253da9f1e9234d0239e0ee230d2fee6cea8e55/jeepney-0.9.0-py3-none-any.whl" +size = 49010 [packages.wheels.hashes] -sha256 = "c84fdd4e782504495fe4f2c0b3413d6c2bf388589bb352d439b2a3bb99991978" +sha256 = "97e5714520c16fc0a45695e5365a2e11b81ea79bba796e26f9f1d178cb182683" [[packages]] -name = "sphinx-autodoc-typehints" -version = "3.13.10" -index = "https://pypi.org/simple" -marker = "(\"dev\" in dependency_groups and (python_full_version >= '3.12')) or (\"docs\" in dependency_groups and (python_full_version >= '3.12')) or (\"type\" in dependency_groups and (python_full_version >= '3.12'))" +name = "jinja2" +version = "3.1.6" +marker = "\"release-news\" in dependency_groups or \"release-notes\" in dependency_groups or \"release-prepare\" in dependency_groups or \"release-validate\" in dependency_groups" +requires-python = ">=3.7" +dependencies = [ + { name = "markupsafe" }, +] +index = "https://pypi.org/simple/" [packages.sdist] -url = "https://files.pythonhosted.org/packages/44/e4/bd4791d4f954ef1b9e91d0c19d0a146018e3d5f93d43b36059bedebc999e/sphinx_autodoc_typehints-3.13.10.tar.gz" -upload-time = 2026-10-13 18:35:31+00:00 -size = 100076 +name = "jinja2-3.1.6.tar.gz" +upload-time = 2025-03-05 20:05:02.478302+00:00 +url = "https://files.pythonhosted.org/packages/df/bf/f7da0350254c0ed7c72f3e33cef02e048281fec7ecec5f032d4aac52226b/jinja2-3.1.6.tar.gz" +size = 245115 [packages.sdist.hashes] -sha256 = "f73464a09355a9f63b688a5b9093b1c0f56dc4854ea30ca326268e3d5a8e27cd" +sha256 = "0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/d6/b7/ea2999f049d23f41d386487b02b9231af46e733109d35ca406103f83e722/sphinx_autodoc_typehints-3.13.10-py3-none-any.whl" -upload-time = 2026-10-13 18:35:30+00:00 -size = 49718 +name = "jinja2-3.1.6-py3-none-any.whl" +upload-time = 2025-03-05 20:05:00.369721+00:00 +url = "https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl" +size = 134899 [packages.wheels.hashes] -sha256 = "ab8474dd7c2ef297488849214da29dd6da140ff458592ddc30188a3b070b31f9" +sha256 = "85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67" [[packages]] -name = "sphinx-autodoc-typehints" -version = "3.6.1" -index = "https://pypi.org/simple" -marker = "(\"dev\" in dependency_groups and (python_full_version < '3.12')) or (\"docs\" in dependency_groups and (python_full_version < '3.12')) or (\"type\" in dependency_groups and (python_full_version < '3.12'))" +name = "keyring" +version = "25.7.0" +marker = "\"pkg-meta\" in dependency_groups" +requires-python = ">=3.9" +dependencies = [ + { name = "jaraco-classes" }, + { name = "jaraco-context" }, + { name = "jaraco-functools" }, + { name = "jeepney" }, + { name = "pywin32-ctypes" }, + { name = "secretstorage" }, +] +index = "https://pypi.org/simple/" [packages.sdist] -url = "https://files.pythonhosted.org/packages/1d/f6/bdd93582b2aaad2cfe9eb5695a44883c8bc44572dd3c351a947acbb13789/sphinx_autodoc_typehints-3.6.1.tar.gz" -upload-time = 2026-01-02 15:23:46+00:00 -size = 37563 +name = "keyring-25.7.0.tar.gz" +upload-time = 2025-11-16 16:26:09.482176+00:00 +url = "https://files.pythonhosted.org/packages/43/4b/674af6ef2f97d56f0ab5153bf0bfa28ccb6c3ed4d1babf4305449668807b/keyring-25.7.0.tar.gz" +size = 63516 [packages.sdist.hashes] -sha256 = "fa0b686ae1b85965116c88260e5e4b82faec3687c2e94d6a10f9b36c3743e2fe" +sha256 = "fe01bd85eb3f8fb3dd0405defdeac9a5b4f6f0439edbb3149577f244a2e8245b" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/dc/6a/c0360b115c81d449b3b73bf74b64ca773464d5c7b1b77bda87c5e874853b/sphinx_autodoc_typehints-3.6.1-py3-none-any.whl" -upload-time = 2026-01-02 15:23:45+00:00 -size = 20869 +name = "keyring-25.7.0-py3-none-any.whl" +upload-time = 2025-11-16 16:26:08.402146+00:00 +url = "https://files.pythonhosted.org/packages/81/db/e655086b7f3a705df045bf0933bdd9c2f79bb3c97bfef1384598bb79a217/keyring-25.7.0-py3-none-any.whl" +size = 39160 [packages.wheels.hashes] -sha256 = "dd818ba31d4c97f219a8c0fcacef280424f84a3589cedcb73003ad99c7da41ca" +sha256 = "be4a0b195f149690c166e850609a477c532ddbfbaed96a404d4e43f8d5e2689f" [[packages]] -name = "sphinx-basic-ng" -version = "1.0.0b2" -index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"type\" in dependency_groups" +name = "markdown-it-py" +version = "4.2.0" +marker = "\"pkg-meta\" in dependency_groups or \"release-news\" in dependency_groups or \"release-notes\" in dependency_groups or \"release-prepare\" in dependency_groups or \"release-validate\" in dependency_groups" +requires-python = ">=3.10" +dependencies = [ + { name = "mdurl" }, +] +index = "https://pypi.org/simple/" [packages.sdist] -url = "https://files.pythonhosted.org/packages/98/0b/a866924ded68efec7a1759587a4e478aec7559d8165fac8b2ad1c0e774d6/sphinx_basic_ng-1.0.0b2.tar.gz" -upload-time = 2023-07-08 18:40:54+00:00 -size = 20736 +name = "markdown_it_py-4.2.0.tar.gz" +upload-time = 2026-05-07 12:08:28.360612+00:00 +url = "https://files.pythonhosted.org/packages/06/ff/7841249c247aa650a76b9ee4bbaeae59370dc8bfd2f6c01f3630c35eb134/markdown_it_py-4.2.0.tar.gz" +size = 82454 [packages.sdist.hashes] -sha256 = "9ec55a47c90c8c002b5960c57492ec3021f5193cb26cebc2dc4ea226848651c9" +sha256 = "04a21681d6fbb623de53f6f364d352309d4094dd4194040a10fd51833e418d49" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/3c/dd/018ce05c532a22007ac58d4f45232514cd9d6dd0ee1dc374e309db830983/sphinx_basic_ng-1.0.0b2-py3-none-any.whl" -upload-time = 2023-07-08 18:40:52+00:00 -size = 22496 +name = "markdown_it_py-4.2.0-py3-none-any.whl" +upload-time = 2026-05-07 12:08:27.182789+00:00 +url = "https://files.pythonhosted.org/packages/b3/81/4da04ced5a082363ecfa159c010d200ecbd959ae410c10c0264a38cac0f5/markdown_it_py-4.2.0-py3-none-any.whl" +size = 91687 [packages.wheels.hashes] -sha256 = "eb09aedbabfb650607e9b4b68c9d240b90b1e1be221d6ad71d61c52e29f7932b" +sha256 = "9f7ebbcd14fe59494226453aed97c1070d83f8d24b6fc3a3bcf9a38092641c4a" [[packages]] -name = "sphinx-llm" -version = "1.1.0" -index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"type\" in dependency_groups" +name = "markupsafe" +version = "3.0.4" +marker = "\"release-news\" in dependency_groups or \"release-notes\" in dependency_groups or \"release-prepare\" in dependency_groups or \"release-validate\" in dependency_groups" +requires-python = ">=3.9" +index = "https://pypi.org/simple/" [packages.sdist] -url = "https://files.pythonhosted.org/packages/9b/2b/2529cb0b1acb85489167904649387ea7b17e3172ac3286fc0c8af2887bc5/sphinx_llm-1.1.0.tar.gz" -upload-time = 2026-09-21 10:15:26+00:00 -size = 408770 +name = "markupsafe-3.0.4.tar.gz" +upload-time = 2026-10-02 23:07:22.290270+00:00 +url = "https://files.pythonhosted.org/packages/38/9b/e422a865e1d5d57d0e509b4e0bf1c1a70a7f6382c29a5aa428df994c8bc8/markupsafe-3.0.4.tar.gz" +size = 153777 [packages.sdist.hashes] -sha256 = "5f3b41c0d7888c75a6fe9f92b1a965c50ee233eaf38673c0ef3501072599c617" +sha256 = "2e9ad7dd851bf45fab9f75cbff4cb493fee9979e8d8c7c9c3ee119022518edd6" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/cb/06/8db70029d13ae3b5ef4dabd7496e15941f0f700b9e2f1fb77859bef97263/sphinx_llm-1.1.0-py3-none-any.whl" -upload-time = 2026-09-21 10:15:25+00:00 -size = 85878 +name = "markupsafe-3.0.4-cp315-cp315-macosx_11_0_arm64.whl" +upload-time = 2026-10-02 23:06:17.855823+00:00 +url = "https://files.pythonhosted.org/packages/96/24/3ec292b44064c16229e064d770b2625bd8ea941aa61f44905a9fa44942c0/markupsafe-3.0.4-cp315-cp315-macosx_11_0_arm64.whl" +size = 12075 [packages.wheels.hashes] -sha256 = "40cfadbfeb4483f4fd5b6c1c0b1a48152847f30febfa94fc413bbbe09c137953" +sha256 = "ae9dcb8fbe244cb82f8a6458b455b927a03685e383d9bacf1ea5ce180b96dc97" -[[packages]] -name = "sphinx-markdown-builder" -version = "0.6.11" -index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"type\" in dependency_groups" +[[packages.wheels]] +name = "markupsafe-3.0.4-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" +upload-time = 2026-10-02 23:06:18.963942+00:00 +url = "https://files.pythonhosted.org/packages/aa/85/b64fdb1f304848518742136983c24e96d967bfb59a0ea160e92736901ab0/markupsafe-3.0.4-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" +size = 24656 -[packages.sdist] -url = "https://files.pythonhosted.org/packages/ad/13/102d7134743120db25e636ffb57a30818e95a416583dca83aadac9c5dd87/sphinx_markdown_builder-0.6.11.tar.gz" -upload-time = 2026-08-16 06:51:38+00:00 -size = 24020 +[packages.wheels.hashes] +sha256 = "4bced6e2a6dba6a28f7dd3c6ce14df1b2dd495923f16ea484cad03decd463b2b" -[packages.sdist.hashes] -sha256 = "ba3bf33e0e42ff30ae686ac73957a95e6d045790dcfbaca012dd8ae01794e577" +[[packages.wheels]] +name = "markupsafe-3.0.4-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" +upload-time = 2026-10-02 23:06:22.524416+00:00 +url = "https://files.pythonhosted.org/packages/82/96/ef49135ce260db4ca4a12b119ed468449cd248db6b1468e2112b546d7a2e/markupsafe-3.0.4-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" +size = 23111 + +[packages.wheels.hashes] +sha256 = "925f929d6b59a8b3f8b8c6ac363cd0af7eecc81efb3071770b3c6717c450a369" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/c9/71/06b415631c2e494c80546073b46013d1715dceb3abe30bd63b34b4e7d9ca/sphinx_markdown_builder-0.6.11-py3-none-any.whl" -upload-time = 2026-08-16 06:51:36+00:00 -size = 18088 +name = "markupsafe-3.0.4-cp315-cp315-win_amd64.whl" +upload-time = 2026-10-02 23:06:33.258900+00:00 +url = "https://files.pythonhosted.org/packages/5b/ec/6000fd82e8791e58fcd0456ec20f098957e2b03d5ed02eb73241a577c0ba/markupsafe-3.0.4-cp315-cp315-win_amd64.whl" +size = 14496 [packages.wheels.hashes] -sha256 = "acfb94d6ee66c7a47da0ca0420578fa16f115812af25b8fd21755d5909aacf51" +sha256 = "d882a373d8093c2941e01291b7ced96e9cbe4781da9a7751ca7e6c70385e5214" [[packages]] -name = "sphinxcontrib-applehelp" -version = "2.0.0" -index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"type\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15'))" +name = "mdformat" +version = "1.0.0" +marker = "\"release-news\" in dependency_groups or \"release-notes\" in dependency_groups or \"release-prepare\" in dependency_groups or \"release-validate\" in dependency_groups" +requires-python = ">=3.10" +dependencies = [ + { name = "markdown-it-py" }, +] +index = "https://pypi.org/simple/" [packages.sdist] -url = "https://files.pythonhosted.org/packages/ba/6e/b837e84a1a704953c62ef8776d45c3e8d759876b4a84fe14eba2859106fe/sphinxcontrib_applehelp-2.0.0.tar.gz" -upload-time = 2024-07-29 01:09:00+00:00 -size = 20053 +name = "mdformat-1.0.0.tar.gz" +upload-time = 2025-10-16 12:05:03.695033+00:00 +url = "https://files.pythonhosted.org/packages/3f/05/32b5e14b192b0a8a309f32232c580aefedd9d06017cb8fe8fce34bec654c/mdformat-1.0.0.tar.gz" +size = 56953 [packages.sdist.hashes] -sha256 = "2f29ef331735ce958efa4734873f084941970894c6090408b079c61b2e1c06d1" +sha256 = "4954045fcae797c29f86d4ad879e43bb151fa55dbaf74ac6eaeacf1d45bb3928" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/5d/85/9ebeae2f76e9e77b952f4b274c27238156eae7979c5421fba91a28f4970d/sphinxcontrib_applehelp-2.0.0-py3-none-any.whl" -upload-time = 2024-07-29 01:08:58+00:00 -size = 119300 +name = "mdformat-1.0.0-py3-none-any.whl" +upload-time = 2025-10-16 12:05:02.607432+00:00 +url = "https://files.pythonhosted.org/packages/54/9a/8fe71b95985ca7a4001effbcc58e5a07a1f2a2884203f74dcf48a3b08315/mdformat-1.0.0-py3-none-any.whl" +size = 53288 [packages.wheels.hashes] -sha256 = "4cd3f0ec4ac5dd9c17ec65e9ab272c9b867ea77425228e68ecf08d6b28ddbdb5" +sha256 = "bca015d65a1d063a02e885a91daee303057bc7829c2cd37b2075a50dbb65944b" [[packages]] -name = "sphinxcontrib-devhelp" -version = "2.0.0" -index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"type\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15'))" +name = "mdformat-gfm" +version = "1.0.0" +marker = "\"release-news\" in dependency_groups or \"release-notes\" in dependency_groups or \"release-prepare\" in dependency_groups or \"release-validate\" in dependency_groups" +requires-python = ">=3.10" +dependencies = [ + { name = "markdown-it-py" }, + { name = "mdformat" }, + { name = "mdit-py-plugins" }, + { name = "wcwidth" }, +] +index = "https://pypi.org/simple/" [packages.sdist] -url = "https://files.pythonhosted.org/packages/f6/d2/5beee64d3e4e747f316bae86b55943f51e82bb86ecd325883ef65741e7da/sphinxcontrib_devhelp-2.0.0.tar.gz" -upload-time = 2024-07-29 01:09:23+00:00 -size = 12967 +name = "mdformat_gfm-1.0.0.tar.gz" +upload-time = 2025-10-16 09:12:22.402429+00:00 +url = "https://files.pythonhosted.org/packages/56/6f/a626ebb142a290474401b67e2d61e73ce096bf7798ee22dfe6270f924b3f/mdformat_gfm-1.0.0.tar.gz" +size = 10112 [packages.sdist.hashes] -sha256 = "411f5d96d445d1d73bb5d52133377b4248ec79db5c793ce7dbe59e074b4dd1ad" +sha256 = "d1d49a409a6acb774ce7635c72d69178df7dce1dc8cdd10e19f78e8e57b72623" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/35/7a/987e583882f985fe4d7323774889ec58049171828b58c2217e7f79cdf44e/sphinxcontrib_devhelp-2.0.0-py3-none-any.whl" -upload-time = 2024-07-29 01:09:21+00:00 -size = 82530 +name = "mdformat_gfm-1.0.0-py3-none-any.whl" +upload-time = 2025-10-16 09:12:21.276157+00:00 +url = "https://files.pythonhosted.org/packages/e6/18/6bc2189b744dd383cad03764f41f30352b1278d2205096f77a29c0b327ad/mdformat_gfm-1.0.0-py3-none-any.whl" +size = 10970 [packages.wheels.hashes] -sha256 = "aefb8b83854e4b0998877524d1029fd3e6879210422ee3780459e28a1f03a8a2" +sha256 = "7305a50efd2a140d7c83505b58e3ac5df2b09e293f9bbe72f6c7bee8c678b005" [[packages]] -name = "sphinxcontrib-htmlhelp" -version = "2.1.0" -index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"type\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15'))" +name = "mdit-py-plugins" +version = "0.6.1" +marker = "\"release-news\" in dependency_groups or \"release-notes\" in dependency_groups or \"release-prepare\" in dependency_groups or \"release-validate\" in dependency_groups" +requires-python = ">=3.10" +dependencies = [ + { name = "markdown-it-py" }, +] +index = "https://pypi.org/simple/" [packages.sdist] -url = "https://files.pythonhosted.org/packages/43/93/983afd9aa001e5201eab16b5a444ed5b9b0a7a010541e0ddfbbfd0b2470c/sphinxcontrib_htmlhelp-2.1.0.tar.gz" -upload-time = 2024-07-29 01:09:37+00:00 -size = 22617 +name = "mdit_py_plugins-0.6.1.tar.gz" +upload-time = 2026-05-13 09:03:38.910230+00:00 +url = "https://files.pythonhosted.org/packages/59/fc/f8d0863f8862f25602c0404d75568e89fb6b4109804645e5cdfb1be5cf56/mdit_py_plugins-0.6.1.tar.gz" +size = 56114 [packages.sdist.hashes] -sha256 = "c9e2916ace8aad64cc13a0d233ee22317f2b9025b9cf3295249fa985cc7082e9" +sha256 = "a2bca0f039f39dbd35fb74ae1b5f998608c437463371f0ff7f49a19a17a114d0" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/0a/7b/18a8c0bcec9182c05a0b3ec2a776bba4ead82750a55ff798e8d406dae604/sphinxcontrib_htmlhelp-2.1.0-py3-none-any.whl" -upload-time = 2024-07-29 01:09:36+00:00 -size = 98705 +name = "mdit_py_plugins-0.6.1-py3-none-any.whl" +upload-time = 2026-05-13 09:03:37.760000+00:00 +url = "https://files.pythonhosted.org/packages/a5/69/6da5581c6a7fede7dc261bf4e67d6adca4196f176b43288b55b3db395b6e/mdit_py_plugins-0.6.1-py3-none-any.whl" +size = 66663 [packages.wheels.hashes] -sha256 = "166759820b47002d22914d64a075ce08f4c46818e17cfc9470a9786b759b19f8" +sha256 = "214c82fb2ac524472ab6a5bcab1de80f73b50443e187f401bfd77efbc7c6481d" [[packages]] -name = "sphinxcontrib-jsmath" -version = "1.0.1" -index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"type\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15'))" +name = "mdurl" +version = "0.1.2" +marker = "\"pkg-meta\" in dependency_groups or \"release-news\" in dependency_groups or \"release-notes\" in dependency_groups or \"release-prepare\" in dependency_groups or \"release-validate\" in dependency_groups" +requires-python = ">=3.7" +index = "https://pypi.org/simple/" [packages.sdist] -url = "https://files.pythonhosted.org/packages/b2/e8/9ed3830aeed71f17c026a07a5097edcf44b692850ef215b161b8ad875729/sphinxcontrib-jsmath-1.0.1.tar.gz" -upload-time = 2019-01-21 16:10:16+00:00 -size = 5787 +name = "mdurl-0.1.2.tar.gz" +upload-time = 2022-08-14 12:40:10.846281+00:00 +url = "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz" +size = 8729 [packages.sdist.hashes] -sha256 = "a9925e4a4587247ed2191a22df5f6970656cb8ca2bd6284309578f2153e0c4b8" +sha256 = "bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/c2/42/4c8646762ee83602e3fb3fbe774c2fac12f317deb0b5dbeeedd2d3ba4b77/sphinxcontrib_jsmath-1.0.1-py2.py3-none-any.whl" -upload-time = 2019-01-21 16:10:14+00:00 -size = 5071 +name = "mdurl-0.1.2-py3-none-any.whl" +upload-time = 2022-08-14 12:40:09.779676+00:00 +url = "https://files.pythonhosted.org/packages/b3/38/89ba8ad64ae25be8de66a6d463314cf1eb366222074cfda9ee839c56a4b4/mdurl-0.1.2-py3-none-any.whl" +size = 9979 [packages.wheels.hashes] -sha256 = "2ec2eaebfb78f3f2078e73666b1415417a116cc848b72e5172e596c871103178" +sha256 = "84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8" [[packages]] -name = "sphinxcontrib-qthelp" -version = "2.0.0" -index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"type\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15'))" +name = "more-itertools" +version = "11.2.1" +marker = "\"pkg-meta\" in dependency_groups" +requires-python = ">=3.11" +index = "https://pypi.org/simple/" [packages.sdist] -url = "https://files.pythonhosted.org/packages/68/bc/9104308fc285eb3e0b31b67688235db556cd5b0ef31d96f30e45f2e51cae/sphinxcontrib_qthelp-2.0.0.tar.gz" -upload-time = 2024-07-29 01:09:56+00:00 -size = 17165 +name = "more_itertools-11.2.1.tar.gz" +upload-time = 2026-10-14 18:50:30.407709+00:00 +url = "https://files.pythonhosted.org/packages/52/b8/c63995bebbb9ac9c059350e0fb8c82c2420c85aeca7d34e40aecf3df9281/more_itertools-11.2.1.tar.gz" +size = 154133 [packages.sdist.hashes] -sha256 = "4fe7d0ac8fc171045be623aba3e2a8f613f8682731f9153bb2e40ece16b9bbab" +sha256 = "cbf08fd0af284dc69718b9b76a8e6203df624d70209ea511e4219d350c856f63" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/27/83/859ecdd180cacc13b1f7e857abf8582a64552ea7a061057a6c716e790fce/sphinxcontrib_qthelp-2.0.0-py3-none-any.whl" -upload-time = 2024-07-29 01:09:54+00:00 -size = 88743 +name = "more_itertools-11.2.1-py3-none-any.whl" +upload-time = 2026-10-14 18:50:29.116732+00:00 +url = "https://files.pythonhosted.org/packages/5d/57/3c4b1c6f2e0cc29ba023802458ea3d2a996f87085559e4a5f2192d549532/more_itertools-11.2.1-py3-none-any.whl" +size = 74405 [packages.wheels.hashes] -sha256 = "b18a828cdba941ccd6ee8445dbe72ffa3ef8cbe7505d8cd1fa0d42d3f2d5f3eb" +sha256 = "35a7377edd1dd6608dcb2cdf534ded55ea32d49448875ad042cd3f879fb1ded0" [[packages]] -name = "sphinxcontrib-serializinghtml" -version = "2.0.0" -index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"type\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15'))" +name = "nab" +version = "0.0.22" +marker = "\"lock-tools\" in dependency_groups" +requires-python = ">=3.10" +dependencies = [ + { name = "nab-index" }, + { name = "nab-markersets" }, + { name = "nab-project" }, + { name = "nab-provider" }, + { name = "nab-resolver" }, + { name = "tomli" }, + { name = "typing-extensions" }, +] +index = "https://pypi.org/simple/" [packages.sdist] -url = "https://files.pythonhosted.org/packages/3b/44/6716b257b0aa6bfd51a1b31665d1c205fb12cb5ad56de752dfa15657de2f/sphinxcontrib_serializinghtml-2.0.0.tar.gz" -upload-time = 2024-07-29 01:10:09+00:00 -size = 16080 +name = "nab-0.0.22.tar.gz" +upload-time = 2026-10-18 05:45:08.513928+00:00 +url = "https://files.pythonhosted.org/packages/25/3d/e4c8f4b2890efbf2fa6eef82acf57ecc0ef39b0a1e6843d306d2053a107c/nab-0.0.22.tar.gz" +size = 286128 [packages.sdist.hashes] -sha256 = "e9d912827f872c029017a53f0ef2180b327c3f7fd23c87229f7a8e8b70031d4d" +sha256 = "a0da54ee96bf1eb1997581566620c250c8a3557139e9467ccaced2a12e9e71ac" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/52/a7/d2782e4e3f77c8450f727ba74a8f12756d5ba823d81b941f1b04da9d033a/sphinxcontrib_serializinghtml-2.0.0-py3-none-any.whl" -upload-time = 2024-07-29 01:10:08+00:00 -size = 92072 +name = "nab-0.0.22-py3-none-any.whl" +upload-time = 2026-10-18 05:45:06.803974+00:00 +url = "https://files.pythonhosted.org/packages/56/4b/77baa0ddb0b7578b6475b2b578fa4579207b0f97e0b3b80480e01dcb3d6f/nab-0.0.22-py3-none-any.whl" +size = 137802 [packages.wheels.hashes] -sha256 = "6e2cb0eef194e10c27ec0023bfeb25badbbb5868244cf5bc5bdc04e4464bf331" +sha256 = "f62fcf75b28786fbf58627f6d7eaa735daefbc7f736715403bc4357acb57e7bb" [[packages]] -name = "sphinxcontrib-towncrier" -version = "0.5.0a0" -index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"type\" in dependency_groups" +name = "nab-index" +version = "0.0.22" +marker = "\"lock-tools\" in dependency_groups" +requires-python = ">=3.10" +dependencies = [ + { name = "nab-provider" }, + { name = "packaging" }, + { name = "truststore" }, + { name = "typing-extensions" }, + { name = "urllib3" }, +] +index = "https://pypi.org/simple/" [packages.sdist] -url = "https://files.pythonhosted.org/packages/21/fe/72ed57093e28af10595c50839b183c5fdf0952482e9ef0ca6eb90eb85c5d/sphinxcontrib_towncrier-0.5.0a0.tar.gz" -upload-time = 2025-02-28 01:59:16+00:00 -size = 62453 +name = "nab_index-0.0.22.tar.gz" +upload-time = 2026-10-18 05:44:43.857925+00:00 +url = "https://files.pythonhosted.org/packages/2a/83/8d2483239b7dc5ac8d9f758db1cc19d4129d0143d34c2e1ab8cd48ea71fb/nab_index-0.0.22.tar.gz" +size = 110621 [packages.sdist.hashes] -sha256 = "294e69df6e275e7a86df7ea6a927cc7c28c2c370a884cd5c45de6ec989858f27" +sha256 = "5900ea5ad298512379cfddff1a73a544590f0b04620ef58ff345f99a7c59688e" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/ac/5c/f7e39f243636a5e1894f2f5a72579977bf3968922afdb75175ee45062066/sphinxcontrib_towncrier-0.5.0a0-py3-none-any.whl" -upload-time = 2025-02-28 01:59:15+00:00 -size = 12609 +name = "nab_index-0.0.22-py3-none-any.whl" +upload-time = 2026-10-18 05:44:42.188007+00:00 +url = "https://files.pythonhosted.org/packages/c0/58/c06ada29934a78479b989675829f26083972f38bf1e8a2503e01101cb970/nab_index-0.0.22-py3-none-any.whl" +size = 88373 [packages.wheels.hashes] -sha256 = "11d130c3ad5e4649821d543c4ea7ab64bbe78df4d859ef94f4298e7845dc0f59" +sha256 = "c89ffa607dfe4246dc59e9f5236d54413da3d310183ffa3298ba51a48e7c2ec7" [[packages]] -name = "tabulate" -version = "0.10.0" -index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"type\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15'))" +name = "nab-markersets" +version = "0.0.22" +marker = "\"lock-tools\" in dependency_groups" +requires-python = ">=3.10" +index = "https://pypi.org/simple/" [packages.sdist] -url = "https://files.pythonhosted.org/packages/46/58/8c37dea7bbf769b20d58e7ace7e5edfe65b849442b00ffcdd56be88697c6/tabulate-0.10.0.tar.gz" -upload-time = 2026-03-04 18:55:34+00:00 -size = 91754 +name = "nab_markersets-0.0.22.tar.gz" +upload-time = 2026-10-18 05:44:19.580614+00:00 +url = "https://files.pythonhosted.org/packages/fc/b7/3997893dfdada9998d4dc786c10445a1361e197b4aed54ddd866c84dd538/nab_markersets-0.0.22.tar.gz" +size = 109258 [packages.sdist.hashes] -sha256 = "e2cfde8f79420f6deeffdeda9aaec3b6bc5abce947655d17ac662b126e48a60d" +sha256 = "38212664f517f75d798808ecfe902bfd11fef340042ab0203100c7e06e78eea5" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/99/55/db07de81b5c630da5cbf5c7df646580ca26dfaefa593667fc6f2fe016d2e/tabulate-0.10.0-py3-none-any.whl" -upload-time = 2026-03-04 18:55:31+00:00 -size = 39814 +name = "nab_markersets-0.0.22-py3-none-any.whl" +upload-time = 2026-10-18 05:44:18.237004+00:00 +url = "https://files.pythonhosted.org/packages/5e/9e/9744adff3a66633a811f8253faaa8b91a447c99199edba16f2790e3647ea/nab_markersets-0.0.22-py3-none-any.whl" +size = 44360 [packages.wheels.hashes] -sha256 = "f0b0622e567335c8fabaaa659f1b33bcb6ddfe2e496071b743aa113f8774f2d3" +sha256 = "ad268dcece034495b2ea31a70250cd43cc4f6123039a548762c7ec8826e5d3bd" [[packages]] -name = "tomli" -version = "2.5.0" -index = "https://pypi.org/simple" -marker = "(\"dev\" in dependency_groups and (python_full_version <= '3.11')) or (\"test\" in dependency_groups and (python_full_version <= '3.11')) or (\"type\" in dependency_groups and (python_full_version <= '3.11'))" +name = "nab-project" +version = "0.0.22" +marker = "\"lock-tools\" in dependency_groups" +requires-python = ">=3.10" +dependencies = [ + { name = "build" }, + { name = "installer" }, + { name = "nab-index" }, + { name = "nab-markersets" }, + { name = "nab-provider" }, + { name = "nab-resolver" }, + { name = "packaging" }, + { name = "pyproject-hooks" }, + { name = "tomli" }, + { name = "tomli-w" }, + { name = "typing-extensions" }, +] +index = "https://pypi.org/simple/" [packages.sdist] -url = "https://files.pythonhosted.org/packages/b0/78/9ad63712633ed3ab5cc1a648d863d7e7da371e9425e209555a0fe711b695/tomli-2.5.0.tar.gz" -upload-time = 2026-10-07 12:23:37+00:00 -size = 17662 +name = "nab_project-0.0.22.tar.gz" +upload-time = 2026-10-18 05:44:55.821489+00:00 +url = "https://files.pythonhosted.org/packages/65/84/f5197d4044ceda9c6ee3e7aefce154ab616fec632fa1d89cdfaacc665c07/nab_project-0.0.22.tar.gz" +size = 774409 [packages.sdist.hashes] -sha256 = "264507556cd8b8c8e7c6ee037cdf443a463f03f4c958e57195e3d369711b8ff6" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/22/a6/ab99b60ee52acd949684febabc3005d0045d0f66bebd9cdebd67372d26dd/tomli-2.5.0-cp311-cp311-macosx_10_9_x86_64.whl" -upload-time = 2026-10-07 12:22:15+00:00 -size = 163901 - -[packages.wheels.hashes] -sha256 = "c4dc1c1781f2f716de763d1e9a7b34c6a894e167e291c7c5d16c72f7a9538545" +sha256 = "5f7a1dee5b618149267b2b6233c3a220e45cd6f97bd5ec7f3f48fa7570e9f053" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/bc/00/ee01b7ed4579180fff07142d290257f25ba786f23f3ec6005f620933c2f5/tomli-2.5.0-cp311-cp311-macosx_11_0_arm64.whl" -upload-time = 2026-10-07 12:22:16+00:00 -size = 163756 +name = "nab_project-0.0.22-py3-none-any.whl" +upload-time = 2026-10-18 05:44:53.956127+00:00 +url = "https://files.pythonhosted.org/packages/de/c9/62affa4df6cabce48751307c4c3adfbaa8c54e402d464d015897a16a6dba/nab_project-0.0.22-py3-none-any.whl" +size = 148262 [packages.wheels.hashes] -sha256 = "eff8babca5a7999bc137acbc7482a8b7e17ffca5075ab41f5d770ab408c7bfef" +sha256 = "cb09fa143105fd99a60609b3ff4830924b0d4eaf5abad48678467ec4b73e577f" -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/72/c2/4efebf65372f6583185f79799312109dddb61102d47e5c33dcfd1a297aca/tomli-2.5.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" -upload-time = 2026-10-07 12:22:18+00:00 -size = 268038 - -[packages.wheels.hashes] -sha256 = "86665cee9c4835b7a7f1e8ec2c719b5258d4dc782887aded5a8ae7352a96843b" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/53/07/5850468e925d898abb36038666f9c333a94d2a223e802a8ba5b6d319d23f/tomli-2.5.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" -upload-time = 2026-10-07 12:22:19+00:00 -size = 276422 - -[packages.wheels.hashes] -sha256 = "d7e369fd63331746182360977b1892bfc215476a30d61612d732425311639f56" +[[packages]] +name = "nab-provider" +version = "0.0.22" +marker = "\"lock-tools\" in dependency_groups" +requires-python = ">=3.10" +dependencies = [ + { name = "nab-markersets" }, + { name = "nab-resolver" }, + { name = "typing-extensions" }, +] +index = "https://pypi.org/simple/" -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/b4/87/f293984cdcf83c054196d4fd3dad44fc68ae55b4b8c44bc76cef360c3150/tomli-2.5.0-cp311-cp311-musllinux_1_2_aarch64.whl" -upload-time = 2026-10-07 12:22:20+00:00 -size = 272616 +[packages.sdist] +name = "nab_provider-0.0.22.tar.gz" +upload-time = 2026-10-18 05:44:31.579358+00:00 +url = "https://files.pythonhosted.org/packages/94/0d/64fbadae562fefc00257c4f5ec988171d6e6b3ea4363f1da2e8886e80228/nab_provider-0.0.22.tar.gz" +size = 409367 -[packages.wheels.hashes] -sha256 = "7ad1ea345759240d6463efa0ed1c704402752e49aa21476620738d74d72d8aa1" +[packages.sdist.hashes] +sha256 = "3f129ab7394bf5eb031152c3535ee74073e2a6b6ae081fb7f5a4d269fcf5f8a0" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/ce/ce/db582886b3c1219d3fec93ebd669332482e5aee7a91e0f7838d84f2d1759/tomli-2.5.0-cp311-cp311-musllinux_1_2_x86_64.whl" -upload-time = 2026-10-07 12:22:22+00:00 -size = 276593 +name = "nab_provider-0.0.22-py3-none-any.whl" +upload-time = 2026-10-18 05:44:29.803721+00:00 +url = "https://files.pythonhosted.org/packages/30/67/32bda18d34f0f8ec098f8e4a0f792164ef1a4b2aa61d435d20f4645572af/nab_provider-0.0.22-py3-none-any.whl" +size = 339242 [packages.wheels.hashes] -sha256 = "96243987194634bd411066ce40c952e108f86af04db533ecd8ac3ff2a85b1885" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/bf/72/7619b87dea4261fc27dd7b54c4461c129c1f7d9bb7ba3aec89c797a431b8/tomli-2.5.0-cp311-cp311-win32.whl" -upload-time = 2026-10-07 12:22:23+00:00 -size = 101830 +sha256 = "1450c9dc58b23da1a7bde7fdb43a72b043327bd0e3ef20435254ffcb8b7eae6b" -[packages.wheels.hashes] -sha256 = "610b27d99f28ec5f191c7064a48f3ddb179a1fe6ca73d571483ae859f57b605e" +[[packages]] +name = "nab-resolver" +version = "0.0.22" +marker = "\"lock-tools\" in dependency_groups" +requires-python = ">=3.10" +index = "https://pypi.org/simple/" -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/1e/74/220106da34502304b6751a2a9b8a9fbca6c3fd47e737a2e2e3da7c61c9db/tomli-2.5.0-cp311-cp311-win_amd64.whl" -upload-time = 2026-10-07 12:22:24+00:00 -size = 112742 +[packages.sdist] +name = "nab_resolver-0.0.22.tar.gz" +upload-time = 2026-10-18 05:44:08.017044+00:00 +url = "https://files.pythonhosted.org/packages/84/bc/dcbfe5163538b1cc8421797e3f8ff77d79321cbc9943af8065e2c8ae1c09/nab_resolver-0.0.22.tar.gz" +size = 167648 -[packages.wheels.hashes] -sha256 = "c804ae44fe7b4bab5da295e4f980a1ff04670bca9d23fe0a4e887e08ebd741a8" +[packages.sdist.hashes] +sha256 = "e005b225213e032858cf4aef3850961aaa1d4ea521428da731f33175ebd3b05f" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/27/99/7d9c8b41837a7773613e169504147375c157a290167aa59ad74a085f521f/tomli-2.5.0-cp311-cp311-win_arm64.whl" -upload-time = 2026-10-07 12:22:26+00:00 -size = 109332 +name = "nab_resolver-0.0.22-py3-none-any.whl" +upload-time = 2026-10-18 05:44:06.445864+00:00 +url = "https://files.pythonhosted.org/packages/22/a8/6e30b25ae12e0c662dc9b181a7f32fa8cd22f26016f12dc1d10176f62bba/nab_resolver-0.0.22-py3-none-any.whl" +size = 58597 [packages.wheels.hashes] -sha256 = "cfac177ebd6236003846ea339981f71457cb6eb748f23381eb257e45092e3980" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/52/ed/7baa86f87493646a594de388c7c1c40a39dd0461f7e9c0359cbeefc91fe8/tomli-2.5.0-cp312-cp312-macosx_10_13_x86_64.whl" -upload-time = 2026-10-07 12:22:27+00:00 -size = 164854 +sha256 = "6f77daa98279ef0eedb9e8f2248aee4c50e01b92b470b68886995e5056d79971" -[packages.wheels.hashes] -sha256 = "1f4a40d03fb9f63424f0979855bdeaf44dd7696b8d59501822c10ed30ba532df" +[[packages]] +name = "nh3" +version = "0.3.7" +marker = "\"pkg-meta\" in dependency_groups" +requires-python = ">=3.8" +index = "https://pypi.org/simple/" -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/a5/b1/44c0341f2224397855723c7a8a39f718ea6fcbcc3dacc66e5aeca0f334e3/tomli-2.5.0-cp312-cp312-macosx_11_0_arm64.whl" -upload-time = 2026-10-07 12:22:28+00:00 -size = 164074 +[packages.sdist] +name = "nh3-0.3.7.tar.gz" +upload-time = 2026-08-23 14:26:30.728660+00:00 +url = "https://files.pythonhosted.org/packages/18/2f/022b27146d52d24b1b353b003359134788ecbcd6fcdf6283adbd57c0fbc8/nh3-0.3.7.tar.gz" +size = 25662 -[packages.wheels.hashes] -sha256 = "9ebf8d19b17bd0daeb7b7dec81a946a439b753942fd0210d6e96c532249eea6b" +[packages.sdist.hashes] +sha256 = "71860d01c16f4d8c72e334e0674beb2b0899dbd0bf760de18932ef4390303848" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/23/04/e2d5b7d3fba47adedb23de616c16d428ea076c79a3d8e1d95d649ffe197e/tomli-2.5.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" -upload-time = 2026-10-07 12:22:29+00:00 -size = 274274 +name = "nh3-0.3.7-cp38-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl" +upload-time = 2026-08-23 14:26:09.025294+00:00 +url = "https://files.pythonhosted.org/packages/94/0d/c257754bf57f829f307aa226bbe136d3a1356b5a0d08324c7b6bd2a8aacd/nh3-0.3.7-cp38-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl" +size = 1493959 [packages.wheels.hashes] -sha256 = "bf0b5e8e0f68ebb494356e577c06c139161efd8d3b9050f93b39b7c26cc54ff0" +sha256 = "6c3aa50eb26e9228238271db9f983cbc3b006dfbfeca2d4dc34c33ddc6ac5ea5" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/43/90/6090e706ff27a6f89f4a40578e3324b95c3cd8c4150868aabf33a8f414c3/tomli-2.5.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" -upload-time = 2026-10-07 12:22:31+00:00 -size = 286435 +name = "nh3-0.3.7-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" +upload-time = 2026-08-23 14:26:10.606442+00:00 +url = "https://files.pythonhosted.org/packages/07/42/a687e7091928806e514f89fa2666f25ec9bfe0a902fc4402b25e51ce408b/nh3-0.3.7-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" +size = 859615 [packages.wheels.hashes] -sha256 = "6cf74416bdc94ae458b14e37286c1073081850ac8459a00d0c5efef5d44294c6" +sha256 = "f266d3f1b3647449923a8e406524632220dd5d8b647078dfe45b885d33d10479" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/0a/9e/a2c40768df16c408f22430afb0a73e9d7e5f79c950884954649d1146b74d/tomli-2.5.0-cp312-cp312-musllinux_1_2_aarch64.whl" -upload-time = 2026-10-07 12:22:32+00:00 -size = 278119 +name = "nh3-0.3.7-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" +upload-time = 2026-08-23 14:26:17.272038+00:00 +url = "https://files.pythonhosted.org/packages/a6/ed/c5510c615dce55b6fcc364aa1838142f938beed64f5e4927490dfcaf4405/nh3-0.3.7-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" +size = 832161 [packages.wheels.hashes] -sha256 = "61ea1ebe1e55a34ea8199cc8dbff398d35027b82271c8ac4802fd3a1fd5b1bcc" +sha256 = "70f5ac8626e899a4bab0ef74ca2f5bd602f49c7b739e6e5026b4afc6d63dac42" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/12/25/3c0cb485b98e9cfac495629b1c93c87ccf0b72fbe9d2689fd8fe62c6d5a3/tomli-2.5.0-cp312-cp312-musllinux_1_2_x86_64.whl" -upload-time = 2026-10-07 12:22:33+00:00 -size = 286177 +name = "nh3-0.3.7-cp38-abi3-win_amd64.whl" +upload-time = 2026-08-23 14:26:28.294566+00:00 +url = "https://files.pythonhosted.org/packages/b4/b9/34433ccb1f0fe6968dabbb7d4bf5721c6221878ef07832748c06655a6a80/nh3-0.3.7-cp38-abi3-win_amd64.whl" +size = 644462 [packages.wheels.hashes] -sha256 = "ed53f7e89bb04f6d9e8e7799112360b0c4d5cbff067de0814c98c37c39b920f7" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/77/8b/0144c65f0e37e51c18d04ae15c21b19431c165002d0131fe9aa8b0b8b1e8/tomli-2.5.0-cp312-cp312-win32.whl" -upload-time = 2026-10-07 12:22:34+00:00 -size = 102760 +sha256 = "618e3059caf41ccdf5dcccb3fa9df4cf6e4efe23d1382a8bbfca272a8a4f8bfc" -[packages.wheels.hashes] -sha256 = "e7ad033e27a516a233bea839cdb77b80146facb3b4f40bf02cd0cac165cdd5c2" +[[packages]] +name = "packaging" +version = "26.3" +marker = "\"build\" in dependency_groups or \"lock-tools\" in dependency_groups or \"pkg-meta\" in dependency_groups or \"project-runtime\" in dependency_groups or \"release-news\" in dependency_groups or \"release-notes\" in dependency_groups or \"release-prepare\" in dependency_groups or \"release-validate\" in dependency_groups" +requires-python = ">=3.9" +index = "https://pypi.org/simple/" -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/de/32/5d6d8f42fc9a05fce69354e00ff256484192f5f2fc9a2165718fa0de61ec/tomli-2.5.0-cp312-cp312-win_amd64.whl" -upload-time = 2026-10-07 12:22:36+00:00 -size = 112722 +[packages.sdist] +name = "packaging-26.3.tar.gz" +upload-time = 2026-08-04 18:15:28.737071+00:00 +url = "https://files.pythonhosted.org/packages/7d/fa/3944b40b07da9ce895c0e6303a5ab7d53da063554f534556b134a54d6093/packaging-26.3.tar.gz" +size = 313412 -[packages.wheels.hashes] -sha256 = "bd05de8c1698f8413dd7d869492693a0bf2211543b787ac78cd5e7536af1a6d7" +[packages.sdist.hashes] +sha256 = "94edc256424af38762eb31306eed28beb9f0efc50a8837492c9d6fd6004aed79" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/30/65/df18032218db0fb9b769fb23c8039a051f15c811993995ea04c350273a32/tomli-2.5.0-cp312-cp312-win_arm64.whl" -upload-time = 2026-10-07 12:22:37+00:00 -size = 109534 +name = "packaging-26.3-py3-none-any.whl" +upload-time = 2026-08-04 18:15:27.159957+00:00 +url = "https://files.pythonhosted.org/packages/63/34/ba1c580383c9eada3711951fef0795c80b829a078d72188184bcab9dd527/packaging-26.3-py3-none-any.whl" +size = 129956 [packages.wheels.hashes] -sha256 = "069435bd5480429b98c5e5afb02ab21c219b6f0064680671c6dc0d46817346ea" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/42/e5/51736d70da209350969e15aca5c5ab6e2ce1ea87a0a892a6c13aec172a86/tomli-2.5.0-cp313-cp313-macosx_10_13_x86_64.whl" -upload-time = 2026-10-07 12:22:38+00:00 -size = 163328 +sha256 = "d7193f7c8e4e93f444fde0262bf90af30e16fa0ad0ad44cb553c87339b23cd1c" -[packages.wheels.hashes] -sha256 = "943276cf269e0071948d9ff697159c1735e623c1151d88abb09b74659ef0cbea" +[[packages]] +name = "pathspec" +version = "1.1.1" +marker = "\"build\" in dependency_groups" +requires-python = ">=3.9" +index = "https://pypi.org/simple/" -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/ec/55/086f80dab4ab497602644274e6dea7ec5dd0b4e262e443a8ad3bb7edee2d/tomli-2.5.0-cp313-cp313-macosx_11_0_arm64.whl" -upload-time = 2026-10-07 12:22:39+00:00 -size = 162246 +[packages.sdist] +name = "pathspec-1.1.1.tar.gz" +upload-time = 2026-04-27 01:46:08.907631+00:00 +url = "https://files.pythonhosted.org/packages/5a/82/42f767fc1c1143d6fd36efb827202a2d997a375e160a71eb2888a925aac1/pathspec-1.1.1.tar.gz" +size = 135180 -[packages.wheels.hashes] -sha256 = "463b16086865b97facd8d0b3fb4cb7c544e3f58d2a69dc3113d6db9653fdb043" +[packages.sdist.hashes] +sha256 = "17db5ecd524104a120e173814c90367a96a98d07c45b2e10c2f3919fff91bf5a" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/aa/eb/3ecc94459f3635c92321f4e7bde571323fdb2267c50e19e3188a281eae3b/tomli-2.5.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" -upload-time = 2026-10-07 12:22:41+00:00 -size = 272655 +name = "pathspec-1.1.1-py3-none-any.whl" +upload-time = 2026-04-27 01:46:07.060850+00:00 +url = "https://files.pythonhosted.org/packages/f1/d9/7fb5aa316bc299258e68c73ba3bddbc499654a07f151cba08f6153988714/pathspec-1.1.1-py3-none-any.whl" +size = 57328 [packages.wheels.hashes] -sha256 = "1245a6638fc4bb0a60af38a7d45413db34a13842027c77597c712c998c62fdf0" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/c0/d7/494fd1f0c37a621f1ad9975c2efadb523e8101f144ed6edb2e7fe64738f2/tomli-2.5.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" -upload-time = 2026-10-07 12:22:42+00:00 -size = 283595 +sha256 = "a00ce642f577bf7f473932318056212bc4f8bfdf53128c78bbd5af0b9b20b189" -[packages.wheels.hashes] -sha256 = "5d8bac3d603c97e6854424e5b2b5b741bdbde387e09f162fb0446812b4a8362b" +[[packages]] +name = "pluggy" +version = "1.7.0" +marker = "\"build\" in dependency_groups" +requires-python = ">=3.10" +index = "https://pypi.org/simple/" -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/70/51/bb8d62b1317e6640866f6949b2d5855e5300f2c99d46de1cd245570bba65/tomli-2.5.0-cp313-cp313-musllinux_1_2_aarch64.whl" -upload-time = 2026-10-07 12:22:43+00:00 -size = 276253 +[packages.sdist] +name = "pluggy-1.7.0.tar.gz" +upload-time = 2026-10-15 09:50:58.343484+00:00 +url = "https://files.pythonhosted.org/packages/bf/db/7fc19e6f2dc92a966727031389fc2e08b558f0f25eb7403c1119ad4713cd/pluggy-1.7.0.tar.gz" +size = 123304 -[packages.wheels.hashes] -sha256 = "21e4cae4114aba25aa0d4f85cdf486d290fb35c0954d7bba536248da64d43066" +[packages.sdist.hashes] +sha256 = "d1eaa46ebb595891b860ab086b4d09c8588af65ebd4361b8e8f4bb8920b90ba8" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/66/f4/f46bd7f0763cd47de2db697dca9257c6a4adfd1a93b018cc75c8190ed5a8/tomli-2.5.0-cp313-cp313-musllinux_1_2_x86_64.whl" -upload-time = 2026-10-07 12:22:44+00:00 -size = 283582 +name = "pluggy-1.7.0-py3-none-any.whl" +upload-time = 2026-10-15 09:50:56.808462+00:00 +url = "https://files.pythonhosted.org/packages/40/9e/2b38731e0fc536806f16490e1a12d7f0dc2a1235aa8cc07bcc75416a7daa/pluggy-1.7.0-py3-none-any.whl" +size = 27082 [packages.wheels.hashes] -sha256 = "bbaefc84548d754be821bba7c4141c4787dda182f9e77f2f87b71213529efa7b" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/ac/03/70f2bcb2923a6db37818d917e124270a7f4cfd38ea576f5aa753a91c0ef5/tomli-2.5.0-cp313-cp313-win32.whl" -upload-time = 2026-10-07 12:22:46+00:00 -size = 102628 +sha256 = "7dd7b0d8832ba3cb632c306926ded123429211b83641b35dc5c41ad2d34f9bec" -[packages.wheels.hashes] -sha256 = "abdbf6313b8d9efe157edeb7ab6eae4de064b1300ad31abf73755154b30abe68" +[[packages]] +name = "prek" +version = "0.5.5" +marker = "\"release-check\" in dependency_groups or \"release-prepare\" in dependency_groups or \"release-validate\" in dependency_groups" +requires-python = ">=3.8" +index = "https://pypi.org/simple/" -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/dc/98/d52024bb5b0ff68b4f0d276d867f634c84a67319a7e9f6b7708a37742333/tomli-2.5.0-cp313-cp313-win_amd64.whl" -upload-time = 2026-10-07 12:22:47+00:00 -size = 113301 +[packages.sdist] +name = "prek-0.5.5.tar.gz" +upload-time = 2026-10-05 06:08:59.165911+00:00 +url = "https://files.pythonhosted.org/packages/9b/7b/11538b8e6cd7e269261feae62a2d08818fdcf8f43c3b1a253cec01a5488d/prek-0.5.5.tar.gz" +size = 570428 -[packages.wheels.hashes] -sha256 = "fd4dc129784e0c5335bd4e61dfcc4487499a013419e655cf2da1d091b7e0efdc" +[packages.sdist.hashes] +sha256 = "16bf596768bb754779c7d42317e9ca16ac609c0cce7d13bae0829944ab40a26a" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/6f/f2/540db3a70572a8c23a28aba3e9c358ce0ffffbafc990905c1343aa265b31/tomli-2.5.0-cp313-cp313-win_arm64.whl" -upload-time = 2026-10-07 12:22:48+00:00 -size = 109744 +name = "prek-0.5.5-py3-none-macosx_11_0_arm64.whl" +upload-time = 2026-10-05 06:08:41.428822+00:00 +url = "https://files.pythonhosted.org/packages/63/ea/fc857c6b3f1e3fdb4d81bdca2051076de82e986cb1455a01b351ac7a5cd1/prek-0.5.5-py3-none-macosx_11_0_arm64.whl" +size = 5548955 [packages.wheels.hashes] -sha256 = "69491c143d2fe063046e0301e62a810bed338fa4d1ce0fd870c27dc1e09b0d84" +sha256 = "2f610927b95e84b28173a4c810892a7b5d5bb55bee792ddf97178fa97654633e" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/e4/49/caf6b307766eb9567664a8707e9d6be5fcc0e8903f18781c6677a60d80c7/tomli-2.5.0-cp314-cp314-macosx_10_15_x86_64.whl" -upload-time = 2026-10-07 12:22:50+00:00 -size = 162899 +name = "prek-0.5.5-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl" +upload-time = 2026-10-05 06:08:44.051128+00:00 +url = "https://files.pythonhosted.org/packages/47/c3/2bab54f6393fb9f247225681d476086e24fa6242f329e9ca1e5bd638ec50/prek-0.5.5-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl" +size = 5848228 [packages.wheels.hashes] -sha256 = "d3182ee2d887e507bd67319a0a61105d1dd33facc111329559a233b772c1a105" +sha256 = "120ef7d4b6bb58155e74827743c266e48501efb0e4c37ff726b14fe6e86a126b" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/d3/c8/68cfce773a2733a49c74f99d627fb461bd990756860099eac25617889585/tomli-2.5.0-cp314-cp314-macosx_11_0_arm64.whl" -upload-time = 2026-10-07 12:22:51+00:00 -size = 162080 +name = "prek-0.5.5-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" +upload-time = 2026-10-05 06:08:48.645837+00:00 +url = "https://files.pythonhosted.org/packages/93/fc/e566be5919eaffef4cc22488f16e4bbfd08961734bd67c06f85d405e4cbc/prek-0.5.5-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" +size = 6269922 [packages.wheels.hashes] -sha256 = "521345fd1f19d45b8df87657aaa38b6f2ca3800059fadf428e7ebf479a383646" +sha256 = "73d509c0d9556171de2502bada4962be7a25871e7b23e782549074e1416dc850" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/7e/b2/e5bb8651fdad593f670501a7d718b1a7f73f064d44dea15e04c04dfef45d/tomli-2.5.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" -upload-time = 2026-10-07 12:22:52+00:00 -size = 273380 +name = "prek-0.5.5-py3-none-manylinux_2_28_aarch64.whl" +upload-time = 2026-10-05 06:08:50.808055+00:00 +url = "https://files.pythonhosted.org/packages/d2/39/a48d8e6203055bff7bb734b1f2f9aede4a4539bee6ab4c9273dbc01fa546/prek-0.5.5-py3-none-manylinux_2_28_aarch64.whl" +size = 5861518 [packages.wheels.hashes] -sha256 = "6e95c7614e705bfe2b04b27aa124adec59752d15813df37e2156747cab3a006b" +sha256 = "76c867fdbd4e4f19e6b6b2988bd1e1407d1324170ebcf1428e4e34f8f0751a99" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/8d/d2/9e2d7f8b1dfe0e2b34c245986ebd55c4c553ea4ce6c47c443b332673253f/tomli-2.5.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" -upload-time = 2026-10-07 12:22:54+00:00 -size = 283228 +name = "prek-0.5.5-py3-none-win_amd64.whl" +upload-time = 2026-10-05 06:08:55.056244+00:00 +url = "https://files.pythonhosted.org/packages/8c/04/1e9ccf3a61a3bfd4107b83973f7afde9177b6ff8f2d5d4b00125e77c2100/prek-0.5.5-py3-none-win_amd64.whl" +size = 5784759 [packages.wheels.hashes] -sha256 = "7ac2027d37c3afbdf4bdd377f2676f6f1d2122a5be1f1137b49dced590b37e75" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/ba/df/ec7b876b7b1a2718bd74a3743c076fff565b04029ba33e8f61fac262739f/tomli-2.5.0-cp314-cp314-musllinux_1_2_aarch64.whl" -upload-time = 2026-10-07 12:22:55+00:00 -size = 277189 +sha256 = "15bff9039349466ea9bf6b0c173b822ff08f8ae4cfbfdea782492e519c06d874" -[packages.wheels.hashes] -sha256 = "c414be4ed9d3cac80c42e348fa5a956117d1a48227f48026e31f59cb4a7671eb" +[[packages]] +name = "pycparser" +version = "3.11" +marker = "\"pkg-meta\" in dependency_groups and sys_platform == \"linux\"" +requires-python = ">=3.10" +index = "https://pypi.org/simple/" -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/7d/7b/e192d9eed0b9cb80da799f4d77052297fb9a2c3cc9b19f571f56ea88add6/tomli-2.5.0-cp314-cp314-musllinux_1_2_x86_64.whl" -upload-time = 2026-10-07 12:22:56+00:00 -size = 283632 +[packages.sdist] +name = "pycparser-3.11.tar.gz" +upload-time = 2026-10-09 12:56:59.539345+00:00 +url = "https://files.pythonhosted.org/packages/da/a8/c5fdbeee588bb8ada9458774f43adf1bdd30bd59157055142183e769a024/pycparser-3.11.tar.gz" +size = 113796 -[packages.wheels.hashes] -sha256 = "9b03d7dc168353b4132965bde20feceabaa470e570c6f59660dfae59b1f9eeb3" +[packages.sdist.hashes] +sha256 = "d875f09c3507d00e1aba0eecc6dcadc1352f30fff09dc6bff2f1c2935e97c2bc" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/84/50/ff94454e75461d75623e47401ed323d65c10aab8fe9033242c20cd2fdf32/tomli-2.5.0-cp314-cp314-win32.whl" -upload-time = 2026-10-07 12:22:58+00:00 -size = 103535 +name = "pycparser-3.11-py3-none-any.whl" +upload-time = 2026-10-09 12:56:58.131173+00:00 +url = "https://files.pythonhosted.org/packages/90/11/0e6f11117525ff0eec40ebac3d313376f102df93ca44ad9e893ee85e4f89/pycparser-3.11-py3-none-any.whl" +size = 51178 [packages.wheels.hashes] -sha256 = "6f041843c4d3a37245c0c056fd955b186bf8b1fb85690cbe40b81230891dc34b" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/54/0b/bdacf05f963bd6026ebf6eeb0beda847d1d60e03e440725c64a4e08a0afd/tomli-2.5.0-cp314-cp314-win_amd64.whl" -upload-time = 2026-10-07 12:22:59+00:00 -size = 114621 +sha256 = "51d5a8ba2be0bbe440b99d2112604c95bbbc3c2748a64260186c541e1729cd80" -[packages.wheels.hashes] -sha256 = "f4b653094e18f9031102d3a1da5c729c8f222d85225b18037dac621695e46e1a" +[[packages]] +name = "pydantic" +version = "2.14.1" +marker = "\"pkg-meta\" in dependency_groups" +requires-python = ">=3.10" +dependencies = [ + { name = "annotated-types" }, + { name = "pydantic-core" }, + { name = "typing-extensions" }, + { name = "typing-inspection" }, +] +index = "https://pypi.org/simple/" -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/61/99/53f438fa6ae4f9d4ed0ddde3e7242b3bdc34b48c8f9948b72b9e9b127676/tomli-2.5.0-cp314-cp314-win_arm64.whl" -upload-time = 2026-10-07 12:23:00+00:00 -size = 111572 +[packages.sdist] +name = "pydantic-2.14.1.tar.gz" +upload-time = 2026-10-11 18:37:55.396662+00:00 +url = "https://files.pythonhosted.org/packages/7c/0b/8e10b2e693af8ec54346a14caf36221334775975a747c9ceaa3f8371d96d/pydantic-2.14.1.tar.gz" +size = 900362 -[packages.wheels.hashes] -sha256 = "3f89d10c1ff6a38d992c27fc8a4816af71a909e08a40ec66934240b1e74347c3" +[packages.sdist.hashes] +sha256 = "94f478203dd03404682a1ada216965651dd74b1d2d5ffd62e00e0837caab5c26" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/b9/20/1f88f19427d380a40e90a770e087489eaafe4aeee070ae88ed2bbec00acd/tomli-2.5.0-cp314-cp314t-macosx_10_15_x86_64.whl" -upload-time = 2026-10-07 12:23:01+00:00 -size = 171814 +name = "pydantic-2.14.1-py3-none-any.whl" +upload-time = 2026-10-11 18:37:53.437059+00:00 +url = "https://files.pythonhosted.org/packages/35/ea/a56b9fe5066f3537b7882f77e9c5dfb26d8c2eefdaed9b5fc73d57b4dc22/pydantic-2.14.1-py3-none-any.whl" +size = 488106 [packages.wheels.hashes] -sha256 = "e9e15b4a6c7dd6b85b5fbab29488a73f1f70de516942308daa266bf0e0aeb0d4" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/d0/56/cbe5079c9f9a54b9b3e27fc82f08f3cb36edee75561679f53d2380c801d6/tomli-2.5.0-cp314-cp314t-macosx_11_0_arm64.whl" -upload-time = 2026-10-07 12:23:03+00:00 -size = 171324 +sha256 = "9195d967ec791692a04438115466764fb8b9a27b31f14a760437694f40d6b454" -[packages.wheels.hashes] -sha256 = "e12bbcd32897272fb05929110362ae9ff4c1b9bb26bd9e971e71dcd3275b4c3d" +[[packages]] +name = "pydantic-core" +version = "2.50.1" +marker = "\"pkg-meta\" in dependency_groups" +requires-python = ">=3.10" +dependencies = [ + { name = "typing-extensions" }, +] +index = "https://pypi.org/simple/" -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/2b/30/1d53fd3b0f1cb3ba542e345ec32c26aefdddc4e829e4f3429af8a4f27782/tomli-2.5.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" -upload-time = 2026-10-07 12:23:04+00:00 -size = 297441 +[packages.sdist] +name = "pydantic_core-2.50.1.tar.gz" +upload-time = 2026-10-11 18:35:44.820993+00:00 +url = "https://files.pythonhosted.org/packages/a6/24/af4ec4be49fbc810f35b0bdcacc3d433b56bbfa469fd3bfd4ae116cd9bf1/pydantic_core-2.50.1.tar.gz" +size = 513515 -[packages.wheels.hashes] -sha256 = "20aa36de8f2cf87237143bc1fa1aae8d6612c09118f4da21c6a684db5dd1f6f9" +[packages.sdist.hashes] +sha256 = "e50d7b94baac6c7d09927fa5ca5800a0c7ee5015c7fcff65beb3a1931b5a6e09" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/66/d9/0800acb6a111686f764c1b91ef15cc42a20a66a46013bb42220f1d2c61c1/tomli-2.5.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" -upload-time = 2026-10-07 12:23:05+00:00 -size = 307476 +name = "pydantic_core-2.50.1-cp315-cp315-macosx_11_0_arm64.whl" +upload-time = 2026-10-11 18:34:05.901276+00:00 +url = "https://files.pythonhosted.org/packages/4d/90/a63cf8586abc1d1a3f6d9b18f0224789ebf003851f092ebda3c7c863fd32/pydantic_core-2.50.1-cp315-cp315-macosx_11_0_arm64.whl" +size = 2024191 [packages.wheels.hashes] -sha256 = "22185fad8a1e622f064e78008018a0dd3323550dcb479cb7a1d296888d74024f" +sha256 = "84f34323a61a365b4e9295de6028474754829aaddd59c7bf1a040e7487ef8f3c" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/e8/63/30a8f3cd51b5bec37f04744bad0b0dc6160df84aad4f27b0e9283d66f221/tomli-2.5.0-cp314-cp314t-musllinux_1_2_aarch64.whl" -upload-time = 2026-10-07 12:23:07+00:00 -size = 296113 +name = "pydantic_core-2.50.1-cp315-cp315-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" +upload-time = 2026-10-11 18:34:07.757584+00:00 +url = "https://files.pythonhosted.org/packages/a6/6a/f34bff9808ffb4907fbf5f5040457d253cacf2da7fce9efbc99ca1b1a44d/pydantic_core-2.50.1-cp315-cp315-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" +size = 2048252 [packages.wheels.hashes] -sha256 = "984012f71908165449a951de2050d52f276bfe3aa5d5f570f63ddad814370374" +sha256 = "23edad659e8dbd8ca7e4e877fe6c81573abbdf215bd25a68b53e1272f58b80c7" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/ab/18/0b9ffc597e69c5a1e20a7823cb60d54b39a9f54e91edcb8574f022186758/tomli-2.5.0-cp314-cp314t-musllinux_1_2_x86_64.whl" -upload-time = 2026-10-07 12:23:08+00:00 -size = 307725 +name = "pydantic_core-2.50.1-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" +upload-time = 2026-10-11 18:34:15.560294+00:00 +url = "https://files.pythonhosted.org/packages/b8/0d/1b1149f60a00ea21ba5f70e28acbd40feb4598af414f80f53c921fac07c9/pydantic_core-2.50.1-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" +size = 2159961 [packages.wheels.hashes] -sha256 = "f79203b3965b4000e91808aaa7c040206093f2b8bf86f455982f2274c9ccf442" +sha256 = "7689580e72a642ab5ec64d5f55b2e33636fa43b4ebe63c0c2c965ef307c7d1aa" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/ab/c7/18f8baae0b5607a60e8e19b4a7fedee43a8ff6458e3896dcbbadeeac9c22/tomli-2.5.0-cp314-cp314t-win32.whl" -upload-time = 2026-10-07 12:23:09+00:00 -size = 108546 +name = "pydantic_core-2.50.1-cp315-cp315-win_amd64.whl" +upload-time = 2026-10-11 18:34:29.508272+00:00 +url = "https://files.pythonhosted.org/packages/5f/98/f9bd7e1f9b6709f155acb9ef826d9c3884fe925f811fd8e55b9b52280bad/pydantic_core-2.50.1-cp315-cp315-win_amd64.whl" +size = 2171681 [packages.wheels.hashes] -sha256 = "91294a9fb94a75542f6e46e4a2ae709bd8d9b51134098cae5cf3bea5478b6d03" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/72/34/4cca9739254130627bde87500b3f2b512154fe2f278efa7e2a5e10ad4bcb/tomli-2.5.0-cp314-cp314t-win_amd64.whl" -upload-time = 2026-10-07 12:23:11+00:00 -size = 117814 +sha256 = "983a662de2571cb2502fc8ff47b6770b03d025d2eb314c92f77b3f07c74720ed" -[packages.wheels.hashes] -sha256 = "f15e3e0b835a6d68b10c86bf80a3149780498d6911c93c3ffd1861d19f9200f1" +[[packages]] +name = "pygments" +version = "2.21.0" +marker = "\"pkg-meta\" in dependency_groups" +requires-python = ">=3.9" +index = "https://pypi.org/simple/" -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/7d/fb/afa530d47dd80a78fce43beac6bc6e00f84558eafcffbc6f37b21e80d056/tomli-2.5.0-cp314-cp314t-win_arm64.whl" -upload-time = 2026-10-07 12:23:12+00:00 -size = 115188 +[packages.sdist] +name = "pygments-2.21.0.tar.gz" +upload-time = 2026-08-17 08:02:48.824391+00:00 +url = "https://files.pythonhosted.org/packages/49/2e/ced460408999b33da6b31b0021b0f37d329e202d4169aeb164493778f25b/pygments-2.21.0.tar.gz" +size = 5005329 -[packages.wheels.hashes] -sha256 = "6664b7ae7af7294256c53960a6103077f4914cec8ff98479c352f622c6f6b2f0" +[packages.sdist.hashes] +sha256 = "610ca751c9bc2492b38eb9a38a7fbc93edbbb2d7182edaf34e66ae493dee5c8c" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/66/98/316fdc00f8c0939e6fe50461dd343c162d3ad51d1286eb25b7db54361d50/tomli-2.5.0-cp315-cp315-macosx_10_15_x86_64.whl" -upload-time = 2026-10-07 12:23:13+00:00 -size = 162775 +name = "pygments-2.21.0-py3-none-any.whl" +upload-time = 2026-08-17 08:02:44.912148+00:00 +url = "https://files.pythonhosted.org/packages/71/46/17f022dd3e953bf20a04a028a21ec746d942f8d2af30fa0f124fa0e6a684/pygments-2.21.0-py3-none-any.whl" +size = 1250147 [packages.wheels.hashes] -sha256 = "a525685c2f97da40762b8695eb7aa0af4c8344ca1905c73e4e29cb04d34607dc" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/c5/22/7b10fa5bb01c9539f53f69b619361b19350acc73657772ea7ac70ba309a8/tomli-2.5.0-cp315-cp315-macosx_11_0_arm64.whl" -upload-time = 2026-10-07 12:23:15+00:00 -size = 161406 +sha256 = "2363c69b61c4a97c838da3b130dcd6468f4848992b21a82f2a63ec34377137d9" -[packages.wheels.hashes] -sha256 = "9dbb18c1cfb2f6517942fc9314437f66aa06d94436ffb1f06102ef3572f35276" +[[packages]] +name = "pyproject-hooks" +version = "1.3.3" +marker = "\"lock-tools\" in dependency_groups" +requires-python = ">=3.8" +index = "https://pypi.org/simple/" -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/9c/e7/1a069d86dfd20f1f84f71c63faed9f83c1d890bc06c27d82dc7d888fb573/tomli-2.5.0-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" -upload-time = 2026-10-07 12:23:16+00:00 -size = 273855 +[packages.sdist] +name = "pyproject_hooks-1.3.3.tar.gz" +upload-time = 2026-09-16 08:58:03.999217+00:00 +url = "https://files.pythonhosted.org/packages/6d/5d/f2ddeef4a855a102aaae5e97826a0260007522ab504421b75addfdb1517c/pyproject_hooks-1.3.3.tar.gz" +size = 21013 -[packages.wheels.hashes] -sha256 = "752e8b1aa6a4367ef8bf6a1a1e005540f7ed055ba36d7193796812ca5404eb52" +[packages.sdist.hashes] +sha256 = "defda19b854fa0d3bd4f76ea4ddcba8abd7dcfcdd585a6690ade050744fc5f43" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/ae/83/d1ef43d1687d092ab9c235455c76e6e709483b346b056f086095c7c263a5/tomli-2.5.0-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" -upload-time = 2026-10-07 12:23:18+00:00 -size = 284910 +name = "pyproject_hooks-1.3.3-py3-none-any.whl" +upload-time = 2026-09-16 08:58:02.960279+00:00 +url = "https://files.pythonhosted.org/packages/85/11/044d1ae1b4ec0d7af88ee5bc91e081be1022533032b906a7bdabdbb60977/pyproject_hooks-1.3.3-py3-none-any.whl" +size = 10724 [packages.wheels.hashes] -sha256 = "c47300f9bf791808f77d82747691c4bb09cb14bdf3060cca99b42cdc4361d5a7" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/cc/05/f4d9cf7de61822ece0c3873f30d291e324911c71a378b8bfe5ced13fd9f5/tomli-2.5.0-cp315-cp315-musllinux_1_2_aarch64.whl" -upload-time = 2026-10-07 12:23:19+00:00 -size = 277723 +sha256 = "5fc53fdac9f7bd63fbcdc868fb5f90b4784d78a53a3d3388cd738b807441a20b" -[packages.wheels.hashes] -sha256 = "19b0dd8749f4ea2f112c5fcfb3c5248390c899d7e2e173f1d91abee1fa0ff391" +[[packages]] +name = "pywin32-ctypes" +version = "0.2.3" +marker = "\"pkg-meta\" in dependency_groups and sys_platform == \"win32\"" +requires-python = ">=3.6" +index = "https://pypi.org/simple/" -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/42/28/78262493141fa543151cf005760c3cb01d09fc28a11f993c05109902cb8c/tomli-2.5.0-cp315-cp315-musllinux_1_2_x86_64.whl" -upload-time = 2026-10-07 12:23:20+00:00 -size = 285115 +[packages.sdist] +name = "pywin32-ctypes-0.2.3.tar.gz" +upload-time = 2024-08-14 10:15:34.626878+00:00 +url = "https://files.pythonhosted.org/packages/85/9f/01a1a99704853cb63f253eea009390c88e7131c67e66a0a02099a8c917cb/pywin32-ctypes-0.2.3.tar.gz" +size = 29471 -[packages.wheels.hashes] -sha256 = "57b1c3b01fab802e2899bc3d168dca320e14165e2fd9fd584760fb4ca5826859" +[packages.sdist.hashes] +sha256 = "d162dc04946d704503b2edc4d55f3dba5c1d539ead017afa00142c38b9885755" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/1a/b9/e1dab9a30bcb677b5cc5cee810609cfd64f24306a3055767dd3fda00b1e0/tomli-2.5.0-cp315-cp315-win32.whl" -upload-time = 2026-10-07 12:23:21+00:00 -size = 103475 +name = "pywin32_ctypes-0.2.3-py3-none-any.whl" +upload-time = 2024-08-14 10:15:33.187242+00:00 +url = "https://files.pythonhosted.org/packages/de/3d/8161f7711c017e01ac9f008dfddd9410dff3674334c233bde66e7ba65bbf/pywin32_ctypes-0.2.3-py3-none-any.whl" +size = 30756 [packages.wheels.hashes] -sha256 = "667e521b37a6c5ccaa044202c235b530f90177ffe2cd4a64ecc213c7dd535feb" +sha256 = "8a1513379d709975552d202d942d9837758905c8d01eb82b8bcc30918929e7b8" -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/4c/bd/31a3790c11d6ea95fcf5e6022ac0f8d0543c9b61120b730fc481bd43d3b4/tomli-2.5.0-cp315-cp315-win_amd64.whl" -upload-time = 2026-10-07 12:23:23+00:00 -size = 114589 +[[packages]] +name = "pyyaml" +version = "6.0.3" +marker = "\"release-news\" in dependency_groups or \"release-notes\" in dependency_groups or \"release-prepare\" in dependency_groups or \"release-validate\" in dependency_groups" +requires-python = ">=3.8" +index = "https://pypi.org/simple/" -[packages.wheels.hashes] -sha256 = "d747252933c8a65ef6bd8da0fbb7ce28a90eb6119d8cd00772cd528aa07b68d5" +[packages.sdist] +name = "pyyaml-6.0.3.tar.gz" +upload-time = 2025-09-25 21:33:16.546886+00:00 +url = "https://files.pythonhosted.org/packages/05/8e/961c0007c59b8dd7729d542c61a4d537767a59645b82a0b521206e1e25c2/pyyaml-6.0.3.tar.gz" +size = 130960 -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/47/a2/4f6310fa699364f0e3af7ee3af88dddd9af066d33e716a0265bbe2b3ea84/tomli-2.5.0-cp315-cp315-win_arm64.whl" -upload-time = 2026-10-07 12:23:24+00:00 -size = 111493 +[packages.sdist.hashes] +sha256 = "d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f" -[packages.wheels.hashes] -sha256 = "75dbcde8751b0a960aa3de173aa5e894d590755c6d7758b7e774c06f1dc3cbdd" +[[packages]] +name = "readme-renderer" +version = "46.0" +marker = "\"pkg-meta\" in dependency_groups" +requires-python = ">=3.10" +dependencies = [ + { name = "docutils" }, + { name = "nh3" }, + { name = "pygments" }, +] +index = "https://pypi.org/simple/" -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/68/14/00853f0b396d8971107ae1921bb5b322fdee1650d2f16bf06c20adb532e5/tomli-2.5.0-cp315-cp315t-macosx_10_15_x86_64.whl" -upload-time = 2026-10-07 12:23:25+00:00 -size = 171380 +[packages.sdist] +name = "readme_renderer-46.0.tar.gz" +upload-time = 2026-08-28 15:18:32.490778+00:00 +url = "https://files.pythonhosted.org/packages/25/d7/9309494fad74ee831d4546f69325b5519f37c6dfb2d9ba495db8c6d4f4ca/readme_renderer-46.0.tar.gz" +size = 38382 -[packages.wheels.hashes] -sha256 = "2419c2a189551987b59d80e63ec355671283336f41c6b9b89462df679c7d0c57" +[packages.sdist.hashes] +sha256 = "af3e964914f6310a33ff67b72a4bdd940bed8d7c3bdecd2d14f40edf284bfe90" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/89/ad/fa6949321dadee46b27363974fb197b94c911c3b0f7a5fd26d7dc18fc2a0/tomli-2.5.0-cp315-cp315t-macosx_11_0_arm64.whl" -upload-time = 2026-10-07 12:23:26+00:00 -size = 170553 +name = "readme_renderer-46.0-py3-none-any.whl" +upload-time = 2026-08-28 15:18:31.132970+00:00 +url = "https://files.pythonhosted.org/packages/4b/72/ac5ca81fe9121fcaa9d828d21017cba00a16a98e4ea5fb60c878f93dda4f/readme_renderer-46.0-py3-none-any.whl" +size = 14239 [packages.wheels.hashes] -sha256 = "0dc598040da8d42cf20f0be588ed7004f46db12a0ac6c32e03a59dccedaaadcd" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/53/aa/3056c919eb3e084df3752b2cf5f865dcc04af0b27dba2f66d7b28af4633a/tomli-2.5.0-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" -upload-time = 2026-10-07 12:23:28+00:00 -size = 294428 +sha256 = "d0dae1f74bb273b534770cb4cccb6bb78735540afdb03c2146f4e19dcd412560" -[packages.wheels.hashes] -sha256 = "49096930c8d886c9bbdab62d2d0d17ce823ddeea522309a190b36245d5b49e01" +[[packages]] +name = "release-creator" +version = "0.6.0" +marker = "\"release-news\" in dependency_groups or \"release-notes\" in dependency_groups or \"release-prepare\" in dependency_groups or \"release-validate\" in dependency_groups" +requires-python = ">=3.15" +dependencies = [ + { name = "docutils" }, + { name = "mdformat" }, + { name = "mdformat-gfm" }, + { name = "packaging" }, + { name = "pyyaml" }, + { name = "towncrier" }, +] +index = "https://pypi.org/simple/" -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/96/b2/faeeb5d8769ea3832021d73e892c8391eae7b4b4f8b55a789127bd8b18a9/tomli-2.5.0-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" -upload-time = 2026-10-07 12:23:29+00:00 -size = 304909 +[packages.sdist] +name = "release_creator-0.6.0.tar.gz" +upload-time = 2026-10-23 02:44:39.588714+00:00 +url = "https://files.pythonhosted.org/packages/17/11/c0126b406a17370db72d8a08afa1a5823204e69c44938de796cc98df0d02/release_creator-0.6.0.tar.gz" +size = 135957 -[packages.wheels.hashes] -sha256 = "b8ade5023067f99fe72b88accd30d0ea05a158e9e32a11f124e731ea9695313f" +[packages.sdist.hashes] +sha256 = "58afd3cd0fc0b0e47ded23a735a1ba9189a7b0adad410628c90c96cf74457ed6" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/f6/52/f094c09e73fb654b621716d019acb5d29bdfd1be01df80c281d552bda48d/tomli-2.5.0-cp315-cp315t-musllinux_1_2_aarch64.whl" -upload-time = 2026-10-07 12:23:30+00:00 -size = 293220 +name = "release_creator-0.6.0-py3-none-any.whl" +upload-time = 2026-10-23 02:44:37.874747+00:00 +url = "https://files.pythonhosted.org/packages/ef/91/ad1ce7d5c65892866893879fb0f407898f2d5c808bbd266ca0a82513a205/release_creator-0.6.0-py3-none-any.whl" +size = 49478 [packages.wheels.hashes] -sha256 = "b69564772b5c8f22ea5f498dff08cfa825045b4d4c4400529000bdf818aa3b2a" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/86/f5/0c30541078ca4b505ce3bd76ed931facbfec524dd018535d691d1af0a6d2/tomli-2.5.0-cp315-cp315t-musllinux_1_2_x86_64.whl" -upload-time = 2026-10-07 12:23:32+00:00 -size = 305705 +sha256 = "4b9cd6187c87fcb7bf3aca5f58c67c90703e58875643af633661a0448756d45f" -[packages.wheels.hashes] -sha256 = "8ff3a2ca028c7eee0c777f9a092038d0a594a9fa04e215f929a22c329e2cb142" +[[packages]] +name = "requests" +version = "2.34.2" +marker = "\"pkg-meta\" in dependency_groups" +requires-python = ">=3.10" +dependencies = [ + { name = "certifi" }, + { name = "charset-normalizer" }, + { name = "idna" }, + { name = "urllib3" }, +] +index = "https://pypi.org/simple/" -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/05/74/590e7d19d6a118fc5cc5704ff358e21d95b8573f6b9443b1519f29ca8825/tomli-2.5.0-cp315-cp315t-win32.whl" -upload-time = 2026-10-07 12:23:33+00:00 -size = 108432 +[packages.sdist] +name = "requests-2.34.2.tar.gz" +upload-time = 2026-05-14 19:25:27.735762+00:00 +url = "https://files.pythonhosted.org/packages/ac/c3/e2a2b89f2d3e2179abd6d00ebd70bff6273f37fb3e0cc209f48b39d00cbf/requests-2.34.2.tar.gz" +size = 142856 -[packages.wheels.hashes] -sha256 = "62fc1bc8eb03e3a9cadfca713d65614ed8e09d974a283295ffe3a831976b4dc5" +[packages.sdist.hashes] +sha256 = "f288924cae4e29463698d6d60bc6a4da69c89185ad1e0bcc4104f584e960b9ed" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/1c/b8/63a75cfb27a17c38550e44025d3a6e7be64516fd8608a3b75703bf37d81b/tomli-2.5.0-cp315-cp315t-win_amd64.whl" -upload-time = 2026-10-07 12:23:34+00:00 -size = 117281 +name = "requests-2.34.2-py3-none-any.whl" +upload-time = 2026-05-14 19:25:26.443000+00:00 +url = "https://files.pythonhosted.org/packages/a0/f4/c67b0b3f1b9245e8d266f0f112c500d50e5b4e83cb6f3b71b6528104182a/requests-2.34.2-py3-none-any.whl" +size = 73075 [packages.wheels.hashes] -sha256 = "f3fcbc57b1791fa6cbe5d8434179d51de12be1a4811469529f47f6e7487a2571" +sha256 = "2a0d60c172f83ac6ab31e4554906c0f3b3588d37b5cb939b1c061f4907e278e0" -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/72/01/e8c1debb2173973372934c68fc8e46170ab60ef23ed4592dff4dec6e8993/tomli-2.5.0-cp315-cp315t-win_arm64.whl" -upload-time = 2026-10-07 12:23:35+00:00 -size = 115069 +[[packages]] +name = "requests-toolbelt" +version = "1.0.0" +marker = "\"pkg-meta\" in dependency_groups" +requires-python = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7" +dependencies = [ + { name = "requests" }, +] +index = "https://pypi.org/simple/" -[packages.wheels.hashes] -sha256 = "d2ba24db8a9376921b5e87b4762b9adb0f3f1deaea68f2b8b0bb2c11efb9c3e7" +[packages.sdist] +name = "requests-toolbelt-1.0.0.tar.gz" +upload-time = 2023-05-01 04:11:33.229998+00:00 +url = "https://files.pythonhosted.org/packages/f3/61/d7545dafb7ac2230c70d38d31cbfe4cc64f7144dc41f6e4e4b78ecd9f5bb/requests-toolbelt-1.0.0.tar.gz" +size = 206888 + +[packages.sdist.hashes] +sha256 = "7681a0a3d047012b5bdc0ee37d7f8f07ebe76ab08caeccfc3921ce23c88d5bc6" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/60/3f/3e3f8fd0919249b0200c80fbc4f9a1e70be19f9883da71dfb7f8b9ab8aca/tomli-2.5.0-py3-none-any.whl" -upload-time = 2026-10-07 12:23:36+00:00 -size = 14765 +name = "requests_toolbelt-1.0.0-py2.py3-none-any.whl" +upload-time = 2023-05-01 04:11:28.427086+00:00 +url = "https://files.pythonhosted.org/packages/3f/51/d4db610ef29373b879047326cbf6fa98b6c1969d6f6dc423279de2b1be2c/requests_toolbelt-1.0.0-py2.py3-none-any.whl" +size = 54481 [packages.wheels.hashes] -sha256 = "32a7b79ac57a2e83670ce329ccf675798bc5a2094783a63676866b70503f2e2b" +sha256 = "cccfdd665f0a24fcf4726e690f65639d272bb0637b9b92dfd91a5568ccf6bd06" [[packages]] -name = "tomli-w" -version = "1.2.0" -index = "https://pypi.org/simple" -marker = "(\"release\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-news\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-notes\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-prepare\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-validate\" in dependency_groups and (python_full_version >= '3.15'))" +name = "rfc3986" +version = "2.0.0" +marker = "\"pkg-meta\" in dependency_groups" +requires-python = ">=3.7" +index = "https://pypi.org/simple/" [packages.sdist] -url = "https://files.pythonhosted.org/packages/19/75/241269d1da26b624c0d5e110e8149093c759b7a286138f4efd61a60e75fe/tomli_w-1.2.0.tar.gz" -upload-time = 2025-01-15 12:07:24+00:00 -size = 7184 +name = "rfc3986-2.0.0.tar.gz" +upload-time = 2022-01-10 00:52:30.832978+00:00 +url = "https://files.pythonhosted.org/packages/85/40/1520d68bfa07ab5a6f065a186815fb6610c86fe957bc065754e47f7b0840/rfc3986-2.0.0.tar.gz" +size = 49026 [packages.sdist.hashes] -sha256 = "2dd14fac5a47c27be9cd4c976af5a12d87fb1f0b4512f81d69cce3b35ae25021" +sha256 = "97aacf9dbd4bfd829baad6e6309fa6573aaf1be3f6fa735c8ab05e46cecb261c" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/c7/18/c86eb8e0202e32dd3df50d43d7ff9854f8e0603945ff398974c1d91ac1ef/tomli_w-1.2.0-py3-none-any.whl" -upload-time = 2025-01-15 12:07:22+00:00 -size = 6675 +name = "rfc3986-2.0.0-py2.py3-none-any.whl" +upload-time = 2022-01-10 00:52:29.594625+00:00 +url = "https://files.pythonhosted.org/packages/ff/9a/9afaade874b2fa6c752c36f1548f718b5b83af81ed9b76628329dab81c1b/rfc3986-2.0.0-py2.py3-none-any.whl" +size = 31326 [packages.wheels.hashes] -sha256 = "188306098d013b691fcadc011abd66727d3c414c571bb01b1a174ba8c983cf90" +sha256 = "50b1502b60e289cb37883f3dfd34532b8873c7de9f49bb546641ce9cbd256ebd" [[packages]] -name = "tomlkit" -version = "0.15.1" -marker = "\"build\" in dependency_groups" +name = "rich" +version = "15.0.0" +marker = "\"pkg-meta\" in dependency_groups" +requires-python = ">=3.9.0" +dependencies = [ + { name = "markdown-it-py" }, + { name = "pygments" }, +] +index = "https://pypi.org/simple/" [packages.sdist] -url = "https://files.pythonhosted.org/packages/94/96/e07752635b98536177fa1f37671c8f3cdde2e724c6bcf6034b2cfb571565/tomlkit-0.15.1.tar.gz" -upload-time = 2026-07-17 01:48:04+00:00 -size = 180129 +name = "rich-15.0.0.tar.gz" +upload-time = 2026-04-12 08:24:00.750018+00:00 +url = "https://files.pythonhosted.org/packages/c0/8f/0722ca900cc807c13a6a0c696dacf35430f72e0ec571c4275d2371fca3e9/rich-15.0.0.tar.gz" +size = 230680 [packages.sdist.hashes] -sha256 = "e25bbf38843005246210a12982776f27f99cb9be67160e14434d0c0d21ee1e97" +sha256 = "edd07a4824c6b40189fb7ac9bc4c52536e9780fbbfbddf6f1e2502c31b068c36" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/13/bc/8c13eb66537dce1d2bd3a57132902f38d0e7f5bb46fa9f4daed9fe9d76ee/tomlkit-0.15.1-py3-none-any.whl" -upload-time = 2026-07-17 01:48:05+00:00 -size = 49449 +name = "rich-15.0.0-py3-none-any.whl" +upload-time = 2026-04-12 08:24:02.830783+00:00 +url = "https://files.pythonhosted.org/packages/82/3b/64d4899d73f91ba49a8c18a8ff3f0ea8f1c1d75481760df8c68ef5235bf5/rich-15.0.0-py3-none-any.whl" +size = 310654 [packages.wheels.hashes] -sha256 = "177a05aece5a8ca5266fd3c448abb47b8d352f09d477d3ca8332db4d89b24304" +sha256 = "33bd4ef74232fb73fe9279a257718407f169c09b78a87ad3d296f548e27de0bb" [[packages]] -name = "towncrier" -version = "26.9.0" -index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"type\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-news\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-prepare\" in dependency_groups and (python_full_version >= '3.15'))" +name = "secretstorage" +version = "3.5.0" +marker = "\"pkg-meta\" in dependency_groups and sys_platform == \"linux\"" +requires-python = ">=3.10" +dependencies = [ + { name = "cryptography" }, + { name = "jeepney" }, +] +index = "https://pypi.org/simple/" [packages.sdist] -url = "https://files.pythonhosted.org/packages/92/d4/e85ce614bf45b1a7fe13b82cc687819c2eaac5a1dd94b84834322095fd98/towncrier-26.9.0.tar.gz" -upload-time = 2026-09-04 12:57:25+00:00 -size = 79338 +name = "secretstorage-3.5.0.tar.gz" +upload-time = 2025-11-23 19:02:53.191898+00:00 +url = "https://files.pythonhosted.org/packages/1c/03/e834bcd866f2f8a49a85eaff47340affa3bfa391ee9912a952a1faa68c7b/secretstorage-3.5.0.tar.gz" +size = 19884 [packages.sdist.hashes] -sha256 = "ace9031631c718cc0709107b8755e6e31350eb8acdc877af43df3177addb9a55" +sha256 = "f04b8e4689cbce351744d5537bf6b1329c6fc68f91fa666f60a380edddcd11be" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/82/88/f9340b545dafa64de053798e760515a2736fbb60092cf9aa6b146ccf3ede/towncrier-26.9.0-py3-none-any.whl" -upload-time = 2026-09-04 12:57:23+00:00 -size = 67030 +name = "secretstorage-3.5.0-py3-none-any.whl" +upload-time = 2025-11-23 19:02:51.545472+00:00 +url = "https://files.pythonhosted.org/packages/b7/46/f5af3402b579fd5e11573ce652019a67074317e18c1935cc0b4ba9b35552/secretstorage-3.5.0-py3-none-any.whl" +size = 15554 [packages.wheels.hashes] -sha256 = "ae4d223e6aadaff98d29b7f09e58d9c9ccf4cd3b455a2d2e0486d432cd8bf660" +sha256 = "0ce65888c0725fcb2c5bc0fdb8e5438eece02c523557ea40ce0703c266248137" [[packages]] -name = "trove-classifiers" -version = "2026.9.21.13" +name = "setuptools" +version = "84.0.0" marker = "\"build\" in dependency_groups" +requires-python = ">=3.10" +index = "https://pypi.org/simple/" [packages.sdist] -url = "https://files.pythonhosted.org/packages/bf/93/af436dfaa845cab5d96f0adbc1e4f3730532d37fa249e4eb796fb1d7fc82/trove_classifiers-2026.9.21.13.tar.gz" -upload-time = 2026-09-21 13:29:07+00:00 -size = 17085 +name = "setuptools-84.0.0.tar.gz" +upload-time = 2026-08-08 18:27:58.365696+00:00 +url = "https://files.pythonhosted.org/packages/6d/44/f5da03a8ef95d369145c5bb53050e7877c9f3d312e128605fd9504829143/setuptools-84.0.0.tar.gz" +size = 1168449 [packages.sdist.hashes] -sha256 = "0a9ebc8d4e2f3e8a22848c5258033035bec17a3012ac3fea16dbaa764489eb71" +sha256 = "f4695c21257f0d9b537ec2692c941d02ee143b7cc1276941349a546573b2ef73" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/30/81/0da8afb52a71d0a4f2bd3152357b1a441e393b286374802b9d3addab4ab5/trove_classifiers-2026.9.21.13-py3-none-any.whl" -upload-time = 2026-09-21 13:29:06+00:00 -size = 14232 +name = "setuptools-84.0.0-py3-none-any.whl" +upload-time = 2026-08-08 18:27:56.719708+00:00 +url = "https://files.pythonhosted.org/packages/95/9c/c510029fc6ef33a6275cd2c5d3cecd6613dfd6aa401d57c54f1c18852ccf/setuptools-84.0.0-py3-none-any.whl" +size = 818216 [packages.wheels.hashes] -sha256 = "8b1ff4f9c191b1040b71c37f1e445ab99732911e3cd91de52838453a854d7a17" +sha256 = "51a52592b3b99e102b609654876bd65f19f999935166d1352678931132b0c670" [[packages]] -name = "twine" -version = "7.0.0" -index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"pkg-meta\" in dependency_groups" +name = "setuptools-scm" +version = "10.3.4" +marker = "\"build\" in dependency_groups" +requires-python = ">=3.8" +dependencies = [ + { name = "packaging" }, + { name = "setuptools" }, + { name = "vcs-versioning" }, +] +index = "https://pypi.org/simple/" [packages.sdist] -url = "https://files.pythonhosted.org/packages/92/3c/58f808a359700f39a967dffede33efeac809262c03303fa3eec6afff8f49/twine-7.0.0.tar.gz" -upload-time = 2026-07-27 15:59:00+00:00 -size = 215032 +name = "setuptools_scm-10.3.4.tar.gz" +upload-time = 2026-09-23 19:21:42.950372+00:00 +url = "https://files.pythonhosted.org/packages/85/d8/fc143f88819ccf10ba2388ba86732ee2de193e578234e25a783f6cc14bf7/setuptools_scm-10.3.4.tar.gz" +size = 78410 [packages.sdist.hashes] -sha256 = "85cdb29c518efef867360ae4acd4b0dfd61c8654a22fca08e6f8539f05022177" +sha256 = "a69f28bfc245608781205e912faae437c2b2165773afa4e7b979d77447a69dd2" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/96/08/ddcdc06225eaad6de0e48e1002b06d919dbde20582d0662c7af51308e5d6/twine-7.0.0-py3-none-any.whl" -upload-time = 2026-07-27 15:58:59+00:00 -size = 43204 +name = "setuptools_scm-10.3.4-py3-none-any.whl" +upload-time = 2026-09-23 19:21:41.607429+00:00 +url = "https://files.pythonhosted.org/packages/da/f5/54538a1f17ea753c42b0928dc2e62986d463f8c393340b9a1e602f2d4dd9/setuptools_scm-10.3.4-py3-none-any.whl" +size = 33366 [packages.wheels.hashes] -sha256 = "b854164df26db268af05f49aa5c0344b10e27a494343ff05b1e0bad3b135f5a7" +sha256 = "82f34c3e3084fc2b57d397200637cc13f2338004052d2fee47baa5f0e902464e" [[packages]] -name = "ty" -version = "0.0.24" -index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"type\" in dependency_groups" +name = "tomli" +version = "2.5.0" +marker = "\"lock-tools\" in dependency_groups" +requires-python = ">=3.8" +index = "https://pypi.org/simple/" [packages.sdist] -url = "https://files.pythonhosted.org/packages/7a/96/652a425030f95dc2c9548d9019e52502e17079e1daeefbc4036f1c0905b4/ty-0.0.24.tar.gz" -upload-time = 2026-03-19 16:55:57+00:00 -size = 5354286 +name = "tomli-2.5.0.tar.gz" +upload-time = 2026-10-07 12:23:37.892554+00:00 +url = "https://files.pythonhosted.org/packages/b0/78/9ad63712633ed3ab5cc1a648d863d7e7da371e9425e209555a0fe711b695/tomli-2.5.0.tar.gz" +size = 17662 [packages.sdist.hashes] -sha256 = "9fe42f6b98207bdaef51f71487d6d087f2cb02555ee3939884d779b2b3cc8bfc" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/da/e5/34457ee11708e734ba81ad65723af83030e484f961e281d57d1eecf08951/ty-0.0.24-py3-none-linux_armv6l.whl" -upload-time = 2026-03-19 16:55:54+00:00 -size = 10394877 - -[packages.wheels.hashes] -sha256 = "1ab4f1f61334d533a3fdf5d9772b51b1300ac5da4f3cdb0be9657a3ccb2ce3e7" +sha256 = "264507556cd8b8c8e7c6ee037cdf443a463f03f4c958e57195e3d369711b8ff6" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/44/81/bc9a1b1a87f43db15ab64ad781a4f999734ec3b470ad042624fa875b20e6/ty-0.0.24-py3-none-macosx_10_12_x86_64.whl" -upload-time = 2026-03-19 16:55:28+00:00 -size = 10211109 +name = "tomli-2.5.0-cp315-cp315-macosx_11_0_arm64.whl" +upload-time = 2026-10-07 12:23:15.215497+00:00 +url = "https://files.pythonhosted.org/packages/c5/22/7b10fa5bb01c9539f53f69b619361b19350acc73657772ea7ac70ba309a8/tomli-2.5.0-cp315-cp315-macosx_11_0_arm64.whl" +size = 161406 [packages.wheels.hashes] -sha256 = "facbf2c4aaa6985229e08f8f9bf152215eb078212f22b5c2411f35386688ab42" +sha256 = "9dbb18c1cfb2f6517942fc9314437f66aa06d94436ffb1f06102ef3572f35276" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/e4/63/cfc805adeaa61d63ba3ea71127efa7d97c40ba36d97ee7bd957341d05107/ty-0.0.24-py3-none-macosx_11_0_arm64.whl" -upload-time = 2026-03-19 16:55:34+00:00 -size = 9694769 +name = "tomli-2.5.0-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" +upload-time = 2026-10-07 12:23:16.471112+00:00 +url = "https://files.pythonhosted.org/packages/9c/e7/1a069d86dfd20f1f84f71c63faed9f83c1d890bc06c27d82dc7d888fb573/tomli-2.5.0-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" +size = 273855 [packages.wheels.hashes] -sha256 = "b6d2a3b6d4470c483552a31e9b368c86f154dcc964bccb5406159dc9cd362246" +sha256 = "752e8b1aa6a4367ef8bf6a1a1e005540f7ed055ba36d7193796812ca5404eb52" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/33/09/edc220726b6ec44a58900401f6b27140997ef15026b791e26b69a6e69eb5/ty-0.0.24-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" -upload-time = 2026-03-19 16:55:37+00:00 -size = 10176287 +name = "tomli-2.5.0-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" +upload-time = 2026-10-07 12:23:18.166140+00:00 +url = "https://files.pythonhosted.org/packages/ae/83/d1ef43d1687d092ab9c235455c76e6e709483b346b056f086095c7c263a5/tomli-2.5.0-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" +size = 284910 [packages.wheels.hashes] -sha256 = "0c94c25d0500939fd5f8f16ce41cbed5b20528702c1d649bf80300253813f0a2" +sha256 = "c47300f9bf791808f77d82747691c4bb09cb14bdf3060cca99b42cdc4361d5a7" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/f8/bf/cbe2227be711e65017655d8ee4d050f4c92b113fb4dc4c3bd6a19d3a86d8/ty-0.0.24-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" -upload-time = 2026-03-19 16:56:08+00:00 -size = 10214832 +name = "tomli-2.5.0-cp315-cp315-win_amd64.whl" +upload-time = 2026-10-07 12:23:23.098344+00:00 +url = "https://files.pythonhosted.org/packages/4c/bd/31a3790c11d6ea95fcf5e6022ac0f8d0543c9b61120b730fc481bd43d3b4/tomli-2.5.0-cp315-cp315-win_amd64.whl" +size = 114589 [packages.wheels.hashes] -sha256 = "89cbe7bc7df0fab02dbd8cda79b737df83f1ef7fb573b08c0ee043dc68cffb08" +sha256 = "d747252933c8a65ef6bd8da0fbb7ce28a90eb6119d8cd00772cd528aa07b68d5" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/af/1d/d15803ee47e9143d10e10bd81ccc14761d08758082bda402950685f0ddfe/ty-0.0.24-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl" -upload-time = 2026-03-19 16:56:05+00:00 -size = 10709892 +name = "tomli-2.5.0-py3-none-any.whl" +upload-time = 2026-10-07 12:23:36.875825+00:00 +url = "https://files.pythonhosted.org/packages/60/3f/3e3f8fd0919249b0200c80fbc4f9a1e70be19f9883da71dfb7f8b9ab8aca/tomli-2.5.0-py3-none-any.whl" +size = 14765 [packages.wheels.hashes] -sha256 = "db2c5d269bcc9b764850c99f457b5018a79b3ef40ecfbc03344e65effd6cf743" +sha256 = "32a7b79ac57a2e83670ce329ccf675798bc5a2094783a63676866b70503f2e2b" -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/36/12/6db0d86c477147f67b9052de209421d76c3e855197b000c25fcbbe86b3a2/ty-0.0.24-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" -upload-time = 2026-03-19 16:56:02+00:00 -size = 11280872 +[[packages]] +name = "tomli-w" +version = "1.2.0" +marker = "\"lock-tools\" in dependency_groups" +requires-python = ">=3.9" +index = "https://pypi.org/simple/" -[packages.wheels.hashes] -sha256 = "ba44512db5b97c3bbd59d93e11296e8548d0c9a3bdd1280de36d7ff22d351896" +[packages.sdist] +name = "tomli_w-1.2.0.tar.gz" +upload-time = 2025-01-15 12:07:24.262974+00:00 +url = "https://files.pythonhosted.org/packages/19/75/241269d1da26b624c0d5e110e8149093c759b7a286138f4efd61a60e75fe/tomli_w-1.2.0.tar.gz" +size = 7184 + +[packages.sdist.hashes] +sha256 = "2dd14fac5a47c27be9cd4c976af5a12d87fb1f0b4512f81d69cce3b35ae25021" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/1b/fc/155fe83a97c06d33ccc9e0f428258b32df2e08a428300c715d34757f0111/ty-0.0.24-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl" -upload-time = 2026-03-19 16:55:59+00:00 -size = 11060520 +name = "tomli_w-1.2.0-py3-none-any.whl" +upload-time = 2025-01-15 12:07:22.074224+00:00 +url = "https://files.pythonhosted.org/packages/c7/18/c86eb8e0202e32dd3df50d43d7ff9854f8e0603945ff398974c1d91ac1ef/tomli_w-1.2.0-py3-none-any.whl" +size = 6675 [packages.wheels.hashes] -sha256 = "a52b7f589c3205512a9c50ba5b2b1e8c0698b72e51b8b9285c90420c06f1cae8" +sha256 = "188306098d013b691fcadc011abd66727d3c414c571bb01b1a174ba8c983cf90" -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/ac/f1/32c05a1c4c3c2a95c5b7361dee03a9bf1231d4ad096b161c838b45bce5a0/ty-0.0.24-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" -upload-time = 2026-03-19 16:55:25+00:00 -size = 10791455 +[[packages]] +name = "tomlkit" +version = "0.15.1" +marker = "\"build\" in dependency_groups" +requires-python = ">=3.9" +index = "https://pypi.org/simple/" -[packages.wheels.hashes] -sha256 = "7981df5c709c054da4ac5d7c93f8feb8f45e69e829e4461df4d5f0988fe67d04" +[packages.sdist] +name = "tomlkit-0.15.1.tar.gz" +upload-time = 2026-07-17 01:48:04.562015+00:00 +url = "https://files.pythonhosted.org/packages/94/96/e07752635b98536177fa1f37671c8f3cdde2e724c6bcf6034b2cfb571565/tomlkit-0.15.1.tar.gz" +size = 180129 + +[packages.sdist.hashes] +sha256 = "e25bbf38843005246210a12982776f27f99cb9be67160e14434d0c0d21ee1e97" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/17/2c/53c1ea6bedfa4d4ab64d4de262d8f5e405ecbffefd364459c628c0310d33/ty-0.0.24-py3-none-musllinux_1_2_aarch64.whl" -upload-time = 2026-03-19 16:55:45+00:00 -size = 10156708 +name = "tomlkit-0.15.1-py3-none-any.whl" +upload-time = 2026-07-17 01:48:05.728578+00:00 +url = "https://files.pythonhosted.org/packages/13/bc/8c13eb66537dce1d2bd3a57132902f38d0e7f5bb46fa9f4daed9fe9d76ee/tomlkit-0.15.1-py3-none-any.whl" +size = 49449 [packages.wheels.hashes] -sha256 = "b2860151ad95a00d0f0280b8fef79900d08dcd63276b57e6e5774f2c055979c5" +sha256 = "177a05aece5a8ca5266fd3c448abb47b8d352f09d477d3ca8332db4d89b24304" -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/45/39/7d2919cf194707169474d80720a5f3d793e983416f25e7ffcf80504c9df2/ty-0.0.24-py3-none-musllinux_1_2_armv7l.whl" -upload-time = 2026-03-19 16:55:31+00:00 -size = 10236263 +[[packages]] +name = "towncrier" +version = "26.9.0" +marker = "\"release-news\" in dependency_groups or \"release-notes\" in dependency_groups or \"release-prepare\" in dependency_groups or \"release-validate\" in dependency_groups" +requires-python = ">=3.9" +dependencies = [ + { name = "click" }, + { name = "jinja2" }, +] +index = "https://pypi.org/simple/" -[packages.wheels.hashes] -sha256 = "5674a1146d927ab77ff198a88e0c4505134ced342a0e7d1beb4a076a728b7496" +[packages.sdist] +name = "towncrier-26.9.0.tar.gz" +upload-time = 2026-09-04 12:57:25.341701+00:00 +url = "https://files.pythonhosted.org/packages/92/d4/e85ce614bf45b1a7fe13b82cc687819c2eaac5a1dd94b84834322095fd98/towncrier-26.9.0.tar.gz" +size = 79338 + +[packages.sdist.hashes] +sha256 = "ace9031631c718cc0709107b8755e6e31350eb8acdc877af43df3177addb9a55" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/cf/7f/48eac722f2fd12a5b7aae0effdcb75c46053f94b783d989e3ef0d7380082/ty-0.0.24-py3-none-musllinux_1_2_i686.whl" -upload-time = 2026-03-19 16:55:39+00:00 -size = 10402559 +name = "towncrier-26.9.0-py3-none-any.whl" +upload-time = 2026-09-04 12:57:23.986160+00:00 +url = "https://files.pythonhosted.org/packages/82/88/f9340b545dafa64de053798e760515a2736fbb60092cf9aa6b146ccf3ede/towncrier-26.9.0-py3-none-any.whl" +size = 67030 [packages.wheels.hashes] -sha256 = "438ecbf1608a9b16dd84502f3f1b23ef2ef32bbd0ab3e0ca5a82f0e0d1cd41ea" +sha256 = "ae4d223e6aadaff98d29b7f09e58d9c9ccf4cd3b455a2d2e0486d432cd8bf660" -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/75/e0/8cf868b9749ce1e5166462759545964e95b02353243594062b927d8bff2a/ty-0.0.24-py3-none-musllinux_1_2_x86_64.whl" -upload-time = 2026-03-19 16:55:51+00:00 -size = 10893684 +[[packages]] +name = "trove-classifiers" +version = "2026.9.21.13" +marker = "\"build\" in dependency_groups" +index = "https://pypi.org/simple/" -[packages.wheels.hashes] -sha256 = "ddeed3098dd92a83964e7aa7b41e509ba3530eb539fc4cd8322ff64a09daf1f5" +[packages.sdist] +name = "trove_classifiers-2026.9.21.13.tar.gz" +upload-time = 2026-09-21 13:29:07.301512+00:00 +url = "https://files.pythonhosted.org/packages/bf/93/af436dfaa845cab5d96f0adbc1e4f3730532d37fa249e4eb796fb1d7fc82/trove_classifiers-2026.9.21.13.tar.gz" +size = 17085 + +[packages.sdist.hashes] +sha256 = "0a9ebc8d4e2f3e8a22848c5258033035bec17a3012ac3fea16dbaa764489eb71" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/17/9f/f54bf3be01d2c2ed731d10a5afa3324dc66f987a6ae0a4a6cbfa2323d080/ty-0.0.24-py3-none-win32.whl" -upload-time = 2026-03-19 16:56:11+00:00 -size = 9781542 +name = "trove_classifiers-2026.9.21.13-py3-none-any.whl" +upload-time = 2026-09-21 13:29:06.123578+00:00 +url = "https://files.pythonhosted.org/packages/30/81/0da8afb52a71d0a4f2bd3152357b1a441e393b286374802b9d3addab4ab5/trove_classifiers-2026.9.21.13-py3-none-any.whl" +size = 14232 [packages.wheels.hashes] -sha256 = "83013fb3a4764a8f8bcc6ca11ff8bdfd8c5f719fc249241cb2b8916e80778eb1" +sha256 = "8b1ff4f9c191b1040b71c37f1e445ab99732911e3cd91de52838453a854d7a17" -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/fb/49/c004c5cc258b10b3a145666e9a9c28ae7678bc958c8926e8078d5d769081/ty-0.0.24-py3-none-win_amd64.whl" -upload-time = 2026-03-19 16:55:42+00:00 -size = 10764801 +[[packages]] +name = "truststore" +version = "0.10.5" +marker = "\"lock-tools\" in dependency_groups" +requires-python = ">=3.10" +index = "https://pypi.org/simple/" -[packages.wheels.hashes] -sha256 = "748a60eb6912d1cf27aaab105ffadb6f4d2e458a3fcadfbd3cf26db0d8062eeb" +[packages.sdist] +name = "truststore-0.10.5.tar.gz" +upload-time = 2026-10-12 22:27:31.808128+00:00 +url = "https://files.pythonhosted.org/packages/ee/9f/c5201d42a484c061e528825fc8e2d565f5abd50a4ced6fb7d29c4ec99b2b/truststore-0.10.5.tar.gz" +size = 28091 + +[packages.sdist.hashes] +sha256 = "30d36967ccaded5cbb38d602c433f53600036c79d502f4533a49b60a03bbefcd" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/e2/59/006a074e185bfccf5e4c026015245ab4fcd2362b13a8d24cf37a277909a9/ty-0.0.24-py3-none-win_arm64.whl" -upload-time = 2026-03-19 16:55:48+00:00 -size = 10194093 +name = "truststore-0.10.5-py3-none-any.whl" +upload-time = 2026-10-12 22:27:30.377491+00:00 +url = "https://files.pythonhosted.org/packages/51/e9/3a7820be2bb0fe53b6bc9c3be26d3d1158004e4c3ab953aa6840b955b1e9/truststore-0.10.5-py3-none-any.whl" +size = 19017 [packages.wheels.hashes] -sha256 = "280a3d31e86d0721947238f17030c33f0911cae851d108ea9f4e3ab12a5ed01f" +sha256 = "9aaaedaefaf06d8b206278cf8b5012bc897f485a874503501e12d776df78951c" [[packages]] -name = "types-docutils" -version = "0.22.3.20260724" -index = "https://pypi.org/simple" -marker = "(\"release\" in dependency_groups and (python_full_version >= '3.15'))" +name = "twine" +version = "7.0.0" +marker = "\"pkg-meta\" in dependency_groups" +requires-python = ">=3.10" +dependencies = [ + { name = "id" }, + { name = "keyring" }, + { name = "packaging" }, + { name = "readme-renderer" }, + { name = "requests" }, + { name = "requests-toolbelt" }, + { name = "rfc3986" }, + { name = "rich" }, + { name = "urllib3" }, +] +index = "https://pypi.org/simple/" [packages.sdist] -url = "https://files.pythonhosted.org/packages/e5/8f/30e02b59a9aad81eacd3d02fab5365257e89fde56e7acf44a4128f5f80aa/types_docutils-0.22.3.20260724.tar.gz" -upload-time = 2026-07-24 04:58:36+00:00 -size = 57883 +name = "twine-7.0.0.tar.gz" +upload-time = 2026-07-27 15:59:00.825945+00:00 +url = "https://files.pythonhosted.org/packages/92/3c/58f808a359700f39a967dffede33efeac809262c03303fa3eec6afff8f49/twine-7.0.0.tar.gz" +size = 215032 [packages.sdist.hashes] -sha256 = "0223ce87f9b8331a5a3a7c7832e828033d289da6b878a0dcfbc74c30ec58850e" +sha256 = "85cdb29c518efef867360ae4acd4b0dfd61c8654a22fca08e6f8539f05022177" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/13/1a/898fbb98680dbd5eb7ac8e9cbaf39cf234d329a45d89d04faaf33d7d8008/types_docutils-0.22.3.20260724-py3-none-any.whl" -upload-time = 2026-07-24 04:58:35+00:00 -size = 91986 +name = "twine-7.0.0-py3-none-any.whl" +upload-time = 2026-07-27 15:58:59.260418+00:00 +url = "https://files.pythonhosted.org/packages/96/08/ddcdc06225eaad6de0e48e1002b06d919dbde20582d0662c7af51308e5d6/twine-7.0.0-py3-none-any.whl" +size = 43204 [packages.wheels.hashes] -sha256 = "45e2fe584608671aa648784c4f805d08a36cd69eb2bd542e60522140c46dc89c" +sha256 = "b854164df26db268af05f49aa5c0344b10e27a494343ff05b1e0bad3b135f5a7" [[packages]] name = "typing-extensions" version = "4.16.0" -index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"pkg-meta\" in dependency_groups or \"type\" in dependency_groups" +marker = "\"lock-tools\" in dependency_groups or \"pkg-meta\" in dependency_groups" +requires-python = ">=3.9" +index = "https://pypi.org/simple/" [packages.sdist] +name = "typing_extensions-4.16.0.tar.gz" +upload-time = 2026-07-02 08:40:05.920538+00:00 url = "https://files.pythonhosted.org/packages/f6/cc/6253133b5bb138fc3306cebfbda2c520f545d36b5be2c7255cc528bb45d6/typing_extensions-4.16.0.tar.gz" -upload-time = 2026-07-02 08:40:05+00:00 size = 113555 [packages.sdist.hashes] sha256 = "dc983d19a509c94dba722ee6abd33940f7c05a89e243c47e907eb4db6f1a43e5" [[packages.wheels]] +name = "typing_extensions-4.16.0-py3-none-any.whl" +upload-time = 2026-07-02 08:40:04.659120+00:00 url = "https://files.pythonhosted.org/packages/49/d3/b8441a820a491ddfc024b0b0cf0393375b75ea13866d9c66727e54c2fc80/typing_extensions-4.16.0-py3-none-any.whl" -upload-time = 2026-07-02 08:40:04+00:00 size = 45571 [packages.wheels.hashes] @@ -9076,20 +2187,26 @@ sha256 = "481caa481374e813c1b176ada14e97f1f67a4539ce9cfeb3f350d78d6370c2e8" [[packages]] name = "typing-inspection" version = "0.4.4" -index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"pkg-meta\" in dependency_groups" +marker = "\"pkg-meta\" in dependency_groups" +requires-python = ">=3.10" +dependencies = [ + { name = "typing-extensions" }, +] +index = "https://pypi.org/simple/" [packages.sdist] +name = "typing_inspection-0.4.4.tar.gz" +upload-time = 2026-08-12 12:37:25.997329+00:00 url = "https://files.pythonhosted.org/packages/a3/26/b09b8010994eccc3c09092e6b34058f36a460eea2d4c3e8b910c695975a0/typing_inspection-0.4.4.tar.gz" -upload-time = 2026-08-12 12:37:25+00:00 size = 76928 [packages.sdist.hashes] sha256 = "547274fa6b0a561ccf549cc9524b999a578e737d015d8709d021f9d0d13bea47" [[packages.wheels]] +name = "typing_inspection-0.4.4-py3-none-any.whl" +upload-time = 2026-08-12 12:37:24.648475+00:00 url = "https://files.pythonhosted.org/packages/67/81/4add07e5172b7ac40d8ed5ff580409a7801a4fe26d529bdd915401dabfbe/typing_inspection-0.4.4-py3-none-any.whl" -upload-time = 2026-08-12 12:37:24+00:00 size = 14750 [packages.wheels.hashes] @@ -9098,20 +2215,23 @@ sha256 = "65b8397ba37ccbce054456aaccddfc91e6e3083c92824df348d96ca832f3f147" [[packages]] name = "urllib3" version = "2.8.0" -index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"docs\" in dependency_groups or \"pkg-meta\" in dependency_groups or \"type\" in dependency_groups or (\"release\" in dependency_groups and (python_full_version >= '3.15'))" +marker = "\"lock-tools\" in dependency_groups or \"pkg-meta\" in dependency_groups" +requires-python = ">=3.10" +index = "https://pypi.org/simple/" [packages.sdist] +name = "urllib3-2.8.0.tar.gz" +upload-time = 2026-09-15 19:29:36.253420+00:00 url = "https://files.pythonhosted.org/packages/e3/05/b17359e1cefb4f909b5e40b1b90a496d987258916dbbf88e842c729f510e/urllib3-2.8.0.tar.gz" -upload-time = 2026-09-15 19:29:36+00:00 size = 458972 [packages.sdist.hashes] sha256 = "63bf2ead4c879426ebf22ef2a781eeb4aa3b4ae798a0435506f8687fd5bb9b63" [[packages.wheels]] +name = "urllib3-2.8.0-py3-none-any.whl" +upload-time = 2026-09-15 19:29:34.577402+00:00 url = "https://files.pythonhosted.org/packages/92/9d/c4e665119135114480843e7ab388fa94d8480650450e6f8e26b70d323a4c/urllib3-2.8.0-py3-none-any.whl" -upload-time = 2026-09-15 19:29:34+00:00 size = 135717 [packages.wheels.hashes] @@ -9120,437 +2240,148 @@ sha256 = "0cf3cae568d36aa9576b28dfb35f11328f1cb974ca7647d9475ebb86c75ac6e3" [[packages]] name = "uv" version = "0.13.1" -index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"lint\" in dependency_groups or \"pkg-meta\" in dependency_groups" +marker = "\"pkg-meta\" in dependency_groups" +requires-python = ">=3.8" +index = "https://pypi.org/simple/" [packages.sdist] +name = "uv-0.13.1.tar.gz" +upload-time = 2026-10-14 05:13:35.353145+00:00 url = "https://files.pythonhosted.org/packages/ef/10/81f499de381ac81e09961e1c19255c5cf49563ac418464def4190b6c7400/uv-0.13.1.tar.gz" -upload-time = 2026-10-14 05:13:35+00:00 size = 7434239 [packages.sdist.hashes] sha256 = "6df50a86b09be66a413f8f1b16258d585d4dd1cbff591077ae1e6f65c26de2eb" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/c8/2b/79ed9d3a78a43e83ef685bf1e1c84f6c63fe25a0e765b24a169727dd87f1/uv-0.13.1-py3-none-linux_armv6l.whl" -upload-time = 2026-10-14 05:12:50+00:00 -size = 18575444 - -[packages.wheels.hashes] -sha256 = "23dfbdcfd9ff0dc7fefb1b91a6dbca2d492267976becd7c46501f89fc353fdc7" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/db/3d/6ac43d7a15be1d589aae1e15289507f5ccebeac14f28c37882058f2474a3/uv-0.13.1-py3-none-macosx_10_12_x86_64.whl" -upload-time = 2026-10-14 05:12:53+00:00 -size = 17663254 - -[packages.wheels.hashes] -sha256 = "7e60223e3e9636a3734d6c11b3552aeed987c40f1ca2497a546af58f2f883d56" - -[[packages.wheels]] +name = "uv-0.13.1-py3-none-macosx_11_0_arm64.whl" +upload-time = 2026-10-14 05:12:56.056660+00:00 url = "https://files.pythonhosted.org/packages/3b/31/fad7fd2ac81954d02d33765bf8535eb320fcc2d71f2603a5c1ba0b13b8ef/uv-0.13.1-py3-none-macosx_11_0_arm64.whl" -upload-time = 2026-10-14 05:12:56+00:00 size = 14391237 [packages.wheels.hashes] sha256 = "cfa719fbbd23f26713394dea2692b7f146aa1b5713ce5e776e878701214ea52c" [[packages.wheels]] +name = "uv-0.13.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl" +upload-time = 2026-10-14 05:12:58.371857+00:00 url = "https://files.pythonhosted.org/packages/9f/6a/ff4c51a245345a167eed090e8cea27d5979e8b665c97617805bb8748966f/uv-0.13.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl" -upload-time = 2026-10-14 05:12:58+00:00 size = 18047204 [packages.wheels.hashes] sha256 = "f2518450da2f6d0ea8a943c9f402abda63d5a66acc9999216c2792115b922ba4" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/5f/04/268c9c17d9a808f41b71241f9d61030c4f262213815eeaa329bae1c76c3f/uv-0.13.1-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.musllinux_1_1_armv7l.whl" -upload-time = 2026-10-14 05:13:00+00:00 -size = 18122326 - -[packages.wheels.hashes] -sha256 = "29b9d0dbe9c44d3dcea8af9e7b4ea2444c7a0c9ec0a11e2f2d357fb3afa2c05b" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/44/88/33b72d5c4aed94a504fe92b7312f76c54e16a00b695045053f7a72953815/uv-0.13.1-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" -upload-time = 2026-10-14 05:13:03+00:00 -size = 18139075 - -[packages.wheels.hashes] -sha256 = "7161cfb854f7353fd351e5e735e3659ed48412352b1edd4d93212c82ec0cbdf0" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/54/59/866ca1f07f899f007fcc006663d341157c5dbdae7271e5004c5a120022ee/uv-0.13.1-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl" -upload-time = 2026-10-14 05:13:05+00:00 -size = 18840481 - -[packages.wheels.hashes] -sha256 = "d6aaec25ff6900ee30a29a2e7a3335aff19a2305c60488bb4e0f29cf1d6ada9f" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/dd/a9/928d7435a00d1171f4557212704d71d709cf4b6024f2ee6b0f582251c761/uv-0.13.1-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" -upload-time = 2026-10-14 05:13:07+00:00 -size = 20106013 - -[packages.wheels.hashes] -sha256 = "81345a4733737a378db988aea48fd5d1c76c092cf231e6ddfdb6db225b4b21e5" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/3c/70/ac84eee888c4a11e12c361c10fdf3f726ef6f8f1178302c80a9dee5189a3/uv-0.13.1-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl" -upload-time = 2026-10-14 05:13:10+00:00 -size = 19840034 - -[packages.wheels.hashes] -sha256 = "0f9991b8eedca00b6aeb9a8fc6b225f6afa2e24ec9de6b6ef72845f3a545639c" - -[[packages.wheels]] +name = "uv-0.13.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" +upload-time = 2026-10-14 05:13:13.069021+00:00 url = "https://files.pythonhosted.org/packages/14/0b/6602a613533602e7a083e908c4375f9b0e78a94ba2e21c29b21c41a0a611/uv-0.13.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" -upload-time = 2026-10-14 05:13:13+00:00 size = 17279385 [packages.wheels.hashes] sha256 = "696dcf6d807d85da978f4db8472da81dccc1254b18b52cbd1367c4d923c421e0" [[packages.wheels]] +name = "uv-0.13.1-py3-none-manylinux_2_28_aarch64.whl" +upload-time = 2026-10-14 05:13:15.567666+00:00 url = "https://files.pythonhosted.org/packages/09/f6/52e2136653a1f3a4dc489da83444f062ed588570cc3e5242fda50996951a/uv-0.13.1-py3-none-manylinux_2_28_aarch64.whl" -upload-time = 2026-10-14 05:13:15+00:00 size = 16577060 [packages.wheels.hashes] sha256 = "ccbe233d4bce39865af7c30ec1fb28b0cc353f9d51711629f54fca71b8db7382" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/df/7c/a2f4ff386673a4bed33be69fdb857341eaa6b9f31eed3005ffc15df94d7f/uv-0.13.1-py3-none-manylinux_2_31_riscv64.musllinux_1_1_riscv64.whl" -upload-time = 2026-10-14 05:13:18+00:00 -size = 18417071 - -[packages.wheels.hashes] -sha256 = "ec1bdc90e2cccc32f51dcea2fa4ec9082b321c77f3fe51a0407d40e8a44f540f" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/4a/6e/a2d375f8fcb453e75caf6d1503f7e149e76a3403091a2a77ada4d42482c1/uv-0.13.1-py3-none-manylinux_2_31_riscv64.whl" -upload-time = 2026-10-14 05:13:20+00:00 -size = 18329037 - -[packages.wheels.hashes] -sha256 = "b5e1b930cbb463c0d8f6b925743ddbae31277841f16c324d14e1a815b0c3b824" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/0c/51/070341c84c141e73933f6087dcc9a5fd276cb034bdc0316f2d2dffd0cd44/uv-0.13.1-py3-none-musllinux_1_1_i686.whl" -upload-time = 2026-10-14 05:13:23+00:00 -size = 18130710 - -[packages.wheels.hashes] -sha256 = "4af921c96f5f85c456c7fa93a9bc13514a2a5bbab11ce63dbf490d6e5bfef503" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/b9/0d/529a302582685e77e5e2d16de554e7c230b45c6175b0b0f234af9795d981/uv-0.13.1-py3-none-musllinux_1_1_x86_64.whl" -upload-time = 2026-10-14 05:13:25+00:00 -size = 19307551 - -[packages.wheels.hashes] -sha256 = "6f1f391756385e2cd1521fe4a198e0ca764ef498dd677cb214b95a69a7ce3608" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/7f/7f/c81ec77c0eb772ec4fc515e733625969c64df55ee2f7b6b3fb1e07c2ee26/uv-0.13.1-py3-none-win32.whl" -upload-time = 2026-10-14 05:13:28+00:00 -size = 16434446 - -[packages.wheels.hashes] -sha256 = "1f6ae6f843ee01a1bb69e2e7a881a452890eb9acc686a8c37e8e95093a58f68e" - -[[packages.wheels]] +name = "uv-0.13.1-py3-none-win_amd64.whl" +upload-time = 2026-10-14 05:13:30.623762+00:00 url = "https://files.pythonhosted.org/packages/2a/8e/d23278bb327d2a75dc1d033c81b7fe23bbb28e363e02e7f306abd047924a/uv-0.13.1-py3-none-win_amd64.whl" -upload-time = 2026-10-14 05:13:30+00:00 size = 15404994 [packages.wheels.hashes] sha256 = "4f693cd4feb52f08f30474c4612f24be2050472609be65b9960b635f286da284" -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/0a/e0/f27f161ee2ad242cb714fe7185f63cc2a88b83c4d8b375ca8c580f9f23b7/uv-0.13.1-py3-none-win_arm64.whl" -upload-time = 2026-10-14 05:13:32+00:00 -size = 15899284 - -[packages.wheels.hashes] -sha256 = "b173413a5dc18437b2d28266a02be636f35ac7e97741773aed163ed2143abfaf" - [[packages]] name = "vcs-versioning" version = "2.6.0" marker = "\"build\" in dependency_groups" +requires-python = ">=3.8" +dependencies = [ + { name = "packaging" }, +] +index = "https://pypi.org/simple/" [packages.sdist] +name = "vcs_versioning-2.6.0.tar.gz" +upload-time = 2026-10-06 22:21:55.024903+00:00 url = "https://files.pythonhosted.org/packages/ad/e7/2a691db7d076b75d099fdba1a14cd966931f2aeb591e77f6d22f15097326/vcs_versioning-2.6.0.tar.gz" -upload-time = 2026-10-06 22:21:55+00:00 size = 166800 [packages.sdist.hashes] sha256 = "22e9159288e2d8bca2fa6f6c31c34c9c66aec157f60e9e526f5d160d2516d60f" [[packages.wheels]] +name = "vcs_versioning-2.6.0-py3-none-any.whl" +upload-time = 2026-10-06 22:21:53.267565+00:00 url = "https://files.pythonhosted.org/packages/73/1d/ad4064bf12f4503bf61e65d74c93c523672776d25ee0a06aaf42ae09ef3f/vcs_versioning-2.6.0-py3-none-any.whl" -upload-time = 2026-10-06 22:21:53+00:00 size = 123154 [packages.wheels.hashes] sha256 = "f8bebd1302ebc12e67ceb30fc7dd698ec969414b6fa43b30c3f14ac9b1e72c41" -[[packages]] -name = "virtualenv" -version = "21.14.7" -index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"lint\" in dependency_groups" - -[packages.sdist] -url = "https://files.pythonhosted.org/packages/dc/3f/935cf1757643381fb7f7cc98197b4bc119223d9c2cf37dc3b03ad2a4455f/virtualenv-21.14.7.tar.gz" -upload-time = 2026-10-12 01:27:31+00:00 -size = 5471741 - -[packages.sdist.hashes] -sha256 = "5f427d56f39eb7e7447d641dd4b7ab1e9c92793f498f35f26da2e4972c5546ae" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/52/5b/799c3e5b8e04d5fa1c9b61a4c1f5079603e747205c7311b92abd30283df5/virtualenv-21.14.7-py3-none-any.whl" -upload-time = 2026-10-12 01:27:29+00:00 -size = 5487587 - -[packages.wheels.hashes] -sha256 = "3769219a308c5d2f093e7729621ad12a6346b5767a7ec4338414e2a0fb0c526b" - [[packages]] name = "wcwidth" version = "0.9.2" -index = "https://pypi.org/simple" -marker = "(\"release\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-news\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-notes\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-prepare\" in dependency_groups and (python_full_version >= '3.15')) or (\"release-validate\" in dependency_groups and (python_full_version >= '3.15'))" +marker = "\"release-news\" in dependency_groups or \"release-notes\" in dependency_groups or \"release-prepare\" in dependency_groups or \"release-validate\" in dependency_groups" +requires-python = ">=3.9" +index = "https://pypi.org/simple/" [packages.sdist] +name = "wcwidth-0.9.2.tar.gz" +upload-time = 2026-10-05 00:24:05.521972+00:00 url = "https://files.pythonhosted.org/packages/f0/b4/7830542634bb2d3e62aa3b586a72d5b3b6c91c3168929e7000ef3fed041d/wcwidth-0.9.2.tar.gz" -upload-time = 2026-10-05 00:24:05+00:00 size = 955039 [packages.sdist.hashes] sha256 = "ae0ef90b90f6af38b54f1fe6d58662ec33b3cb4b8391958a62416d654231727b" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/59/1e/4532a81fb9dfbf4114a816775e0a36c3a64ee1d1f4bba2094e2da50be5dc/wcwidth-0.9.2-cp310-abi3-macosx_10_9_x86_64.whl" -upload-time = 2026-10-05 00:23:22+00:00 -size = 605343 - -[packages.wheels.hashes] -sha256 = "7ef5a940bd5e30bac6e721f1a48fce0cd7bb3ece19e9c5d139e72c76c35cfd07" - -[[packages.wheels]] +name = "wcwidth-0.9.2-cp310-abi3-macosx_11_0_arm64.whl" +upload-time = 2026-10-05 00:23:27.049292+00:00 url = "https://files.pythonhosted.org/packages/a0/07/cb6940e81134b7ed25fa312ee9ab536a63db0793b149f88a90e603ceace9/wcwidth-0.9.2-cp310-abi3-macosx_11_0_arm64.whl" -upload-time = 2026-10-05 00:23:27+00:00 size = 609960 [packages.wheels.hashes] sha256 = "ae0800c5339423cc53d33a266ad264b42ba8aaa16d4464f6e6b1bee607f50b17" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/a4/80/15ad05d40bfa99155639fb9e13b3d77083aa0fab893c816db2543d29005c/wcwidth-0.9.2-cp310-abi3-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl" -upload-time = 2026-10-05 00:23:38+00:00 -size = 762566 - -[packages.wheels.hashes] -sha256 = "9e542f1f8475b78452a295495d7a5bc3ead565112e9446a64dc93462a41c2a79" - -[[packages.wheels]] +name = "wcwidth-0.9.2-cp310-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" +upload-time = 2026-10-05 00:23:32.448318+00:00 url = "https://files.pythonhosted.org/packages/bc/f0/b8ef7758003d66b60f093695831a86dcc726aac01ee6446ffcbda27b61e3/wcwidth-0.9.2-cp310-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" -upload-time = 2026-10-05 00:23:32+00:00 size = 771632 [packages.wheels.hashes] sha256 = "674b518af28d38ee645ff97b74f5760abee5fad4bac74413bfc4b881ef2ce724" [[packages.wheels]] +name = "wcwidth-0.9.2-cp310-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" +upload-time = 2026-10-05 00:23:40.175985+00:00 url = "https://files.pythonhosted.org/packages/db/6c/f940133c71427c208575910e981942bd78c98b1f7cd0d1425ca4b7457c04/wcwidth-0.9.2-cp310-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" -upload-time = 2026-10-05 00:23:40+00:00 size = 769763 [packages.wheels.hashes] sha256 = "751bef0ab404b6a1dc028b56b4b85d46486be1c55833f80da533e42dc691f389" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/92/8f/285f862826f721964ec7c42f81dc53d23afbd723a0f4cd989651f8218e25/wcwidth-0.9.2-cp310-abi3-musllinux_1_2_aarch64.whl" -upload-time = 2026-10-05 00:23:33+00:00 -size = 782134 - -[packages.wheels.hashes] -sha256 = "c3d80f39ba4653a595edae9aa46a509d14883790a8fc23c5db221ceb207f64b7" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/c2/2d/64aa54882a5d556d3654c1f926d9118b797461033e23a158409941a37c8f/wcwidth-0.9.2-cp310-abi3-musllinux_1_2_i686.whl" -upload-time = 2026-10-05 00:23:41+00:00 -size = 782851 - -[packages.wheels.hashes] -sha256 = "0a47e03d8293590ecce66c45dc20ff7b4b885e3c78093722239585eca0d77ab2" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/59/39/52389f6de7fe2e9c14ceb8253dd99034bd86e1c87847ea3c100a97dded9a/wcwidth-0.9.2-cp310-abi3-musllinux_1_2_x86_64.whl" -upload-time = 2026-10-05 00:23:43+00:00 -size = 784621 - -[packages.wheels.hashes] -sha256 = "67d901a4ad99249eb775b4ee4769ca97fa405d35a75f46e83166910a47003f04" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/b3/8b/20225500a076ace27bbcc8a6fd7c55125133c57a618816c7b7b8b73070b1/wcwidth-0.9.2-cp310-abi3-win32.whl" -upload-time = 2026-10-05 00:23:55+00:00 -size = 593123 - -[packages.wheels.hashes] -sha256 = "ee1fd0db9d9fd711a70f3e7765e0e04c05d26982fa05361456163062549d7da4" - -[[packages.wheels]] +name = "wcwidth-0.9.2-cp310-abi3-win_amd64.whl" +upload-time = 2026-10-05 00:23:57.489330+00:00 url = "https://files.pythonhosted.org/packages/5a/d6/b0690f55ea0483530a18bac917fbadbf54f35122510446fc370f5f1c2453/wcwidth-0.9.2-cp310-abi3-win_amd64.whl" -upload-time = 2026-10-05 00:23:57+00:00 size = 597827 [packages.wheels.hashes] sha256 = "2a9746de704242bd4fdaabb31dd46b82f694a56a8d21081ad89b679a89da9fec" [[packages.wheels]] -url = "https://files.pythonhosted.org/packages/e5/11/6ecf4e9e268ab1a4ec617ffcccc2ee4a71301625f5490912dbaba462fa9c/wcwidth-0.9.2-cp310-abi3-win_arm64.whl" -upload-time = 2026-10-05 00:23:51+00:00 -size = 598415 - -[packages.wheels.hashes] -sha256 = "b9c6ab615e03723b7f8760ea2f27758d656e7e13b51515c9dca5c3e8b04612fa" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/4e/41/549eef1ab767032bdbdc1f0ab655d404b082b1e9a1dab1361dbba90f64ed/wcwidth-0.9.2-cp314-cp314t-macosx_10_15_x86_64.whl" -upload-time = 2026-10-05 00:23:24+00:00 -size = 606555 - -[packages.wheels.hashes] -sha256 = "eda88ffdc97c0fbf193d407114f2c7a54b379f67f6e52a7531ee3b9fe749eca7" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/9b/64/a875ed7ea71cacadc0ae11b5fd3fac3486efd58bb25e67a7344248dceadd/wcwidth-0.9.2-cp314-cp314t-macosx_11_0_arm64.whl" -upload-time = 2026-10-05 00:23:28+00:00 -size = 610829 - -[packages.wheels.hashes] -sha256 = "1bf361c8705576760623b4724ae564666d73b016f9a778bcfd1c7345378ef4ec" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/c6/98/513095e484fe79b6f2613d6a72f855f5d56b65e15c215c2a6746fbc638f5/wcwidth-0.9.2-cp314-cp314t-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl" -upload-time = 2026-10-05 00:23:45+00:00 -size = 775819 - -[packages.wheels.hashes] -sha256 = "97b878d1e158da5ed9ac5aac53fa3a55e282103af6a09ec353865613d1a31a76" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/22/fc/c02f3eec57224731e78f84b68e272250f784b6205acc7e0dcef6a7c23a0e/wcwidth-0.9.2-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" -upload-time = 2026-10-05 00:23:35+00:00 -size = 786915 - -[packages.wheels.hashes] -sha256 = "59dab4049cbd982b478bca098528df2c79a9160636a3a163ffebffcbd7d1b892" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/3d/6f/b0529a79bac3fe8d94f32b4237a13dbc3f955508753f6a6f06c73d679dc2/wcwidth-0.9.2-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" -upload-time = 2026-10-05 00:23:46+00:00 -size = 784186 - -[packages.wheels.hashes] -sha256 = "bb08ceb501d6aaf94066c3ee122dd825b152df40ff0bd0df4dc27126233b948e" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/d5/bd/6357c84ca9a734bfc735b7c48dbe21336b3777fab8a4101d14976dfe49a7/wcwidth-0.9.2-cp314-cp314t-win32.whl" -upload-time = 2026-10-05 00:23:59+00:00 -size = 600791 - -[packages.wheels.hashes] -sha256 = "8b4e381590b9b7390e07e22b2c0c1bb96ce50e1d2243c866d9387600362d51ed" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/98/de/037591ca18d897cc2179559dde72e6efc6ce0c90e9cd1e6bca4e87c38b4b/wcwidth-0.9.2-cp314-cp314t-win_amd64.whl" -upload-time = 2026-10-05 00:24:01+00:00 -size = 605463 - -[packages.wheels.hashes] -sha256 = "f2f7b3bba5a5d5f31fc350fd36ce5b84b693c83b7eb95ee630b720da5a5ce06f" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/d0/07/c9d96e106d938d26f7ab639bc80b8199359a1645ba6e3498413313ab6f38/wcwidth-0.9.2-cp314-cp314t-win_arm64.whl" -upload-time = 2026-10-05 00:23:52+00:00 -size = 605936 - -[packages.wheels.hashes] -sha256 = "734aa9405b321d1042301aa19c943c4731ee9e3460e4f8feea3299c064c97a14" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/82/8a/a28d61d910005ac93dfe48be3a0ebaa49352d88cebd25323e69e6ff2f4a8/wcwidth-0.9.2-cp315-cp315t-macosx_10_15_x86_64.whl" -upload-time = 2026-10-05 00:23:25+00:00 -size = 606575 - -[packages.wheels.hashes] -sha256 = "42dbcb76ce8af39e2c9db410ac3f9bdf4e47eb41d6f44525952f172d3d98f724" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/01/c2/a3c66bd32766c8f4d6dc47d572532ba014fe5be30489f2576aff7cada363/wcwidth-0.9.2-cp315-cp315t-macosx_11_0_arm64.whl" -upload-time = 2026-10-05 00:23:30+00:00 -size = 611045 - -[packages.wheels.hashes] -sha256 = "138e1f8898e431b2f2d7881f8ca8d75591c1d3c21aa53f54e989bd6b39811da2" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/ec/8a/d39964f8f8c019d7d439b9b501d3e7bb42fee69f00354040ba0b27b5824c/wcwidth-0.9.2-cp315-cp315t-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl" -upload-time = 2026-10-05 00:23:47+00:00 -size = 778143 - -[packages.wheels.hashes] -sha256 = "5175609bf8cc7398a5f48aa35207bd64ebf9f45e4c70df65f7fdc7a988041a3c" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/2f/53/525da13e8f9ff7b5b4e74ec6f8d68bdee63905796972e086c6b1b96670d2/wcwidth-0.9.2-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" -upload-time = 2026-10-05 00:23:36+00:00 -size = 786630 - -[packages.wheels.hashes] -sha256 = "e5f669ae8c3d969c72032f9cdee019674b666e522d45e1e2099a2e9dda4a341d" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/ef/9f/d6a0c6df354b9d93466548a65cbf4ffcb48c719bbd307504cf3e76740837/wcwidth-0.9.2-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" -upload-time = 2026-10-05 00:23:49+00:00 -size = 784839 - -[packages.wheels.hashes] -sha256 = "196b47cf32f9df27ccda6dc513237f3c2429c4c659db428d60a5bc443d10f270" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/bf/d7/3021feed1ed7926021ec134943ad3b24a2f7ea742cc9976461171482ed77/wcwidth-0.9.2-cp315-cp315t-win32.whl" -upload-time = 2026-10-05 00:24:02+00:00 -size = 600845 - -[packages.wheels.hashes] -sha256 = "0cd4f7f2e53905dcb110d213a4c8529b6733fa3d232d8c717f946cc69a10349b" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/63/80/6a03356d8ee38261e3a78cf89ee03d8e7f12c572d969237be00869e2dc73/wcwidth-0.9.2-cp315-cp315t-win_amd64.whl" -upload-time = 2026-10-05 00:24:04+00:00 -size = 605441 - -[packages.wheels.hashes] -sha256 = "33df042f96c61ed3cd5fb3742fba427553a635bc578799857a48aa79f774a0b9" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/0c/48/1a308a86a833fd12ff7a08d0d2491ff4a72c8a92d12f5ead8317630f771e/wcwidth-0.9.2-cp315-cp315t-win_arm64.whl" -upload-time = 2026-10-05 00:23:54+00:00 -size = 605885 - -[packages.wheels.hashes] -sha256 = "48719a9bc76c2f84238693fe5013571fa5beffa3621cf228f1f3a9e30dae84b8" - -[[packages.wheels]] +name = "wcwidth-0.9.2-py3-none-any.whl" +upload-time = 2026-10-05 00:23:21.097514+00:00 url = "https://files.pythonhosted.org/packages/9c/b4/0bfa065af506540d9d558e3e5548cff00bc1f9b24e6e2a8512498e8628de/wcwidth-0.9.2-py3-none-any.whl" -upload-time = 2026-10-05 00:23:21+00:00 size = 301667 [packages.wheels.hashes] @@ -9559,43 +2390,52 @@ sha256 = "89ca642c5bf0101157a09366be69fad0379db1f700ae39a920e103234573670e" [[packages]] name = "wheel-filename" version = "1.4.2" -index = "https://pypi.org/simple" -marker = "\"dev\" in dependency_groups or \"pkg-meta\" in dependency_groups" +marker = "\"pkg-meta\" in dependency_groups" +requires-python = ">=3.8" +index = "https://pypi.org/simple/" [packages.sdist] +name = "wheel_filename-1.4.2.tar.gz" +upload-time = 2024-12-01 13:03:16.012739+00:00 url = "https://files.pythonhosted.org/packages/38/be/726dab762b770d0417e505c58e26d661aac1ec0c831e483cda4817ca2417/wheel_filename-1.4.2.tar.gz" -upload-time = 2024-12-01 13:03:16+00:00 size = 7911 [packages.sdist.hashes] sha256 = "87891c465dcbb40b40394a906f01a93214bdd51aa5d25e3a9a59cae62bc298fd" [[packages.wheels]] +name = "wheel_filename-1.4.2-py3-none-any.whl" +upload-time = 2024-12-01 13:03:00.536117+00:00 url = "https://files.pythonhosted.org/packages/b4/0f/6e97a3bc38cdde32e3ec49f8c0903fe3559ec9ec9db181782f0bb4417717/wheel_filename-1.4.2-py3-none-any.whl" -upload-time = 2024-12-01 13:03:00+00:00 size = 6195 [packages.wheels.hashes] sha256 = "3fa599046443d4ca830d06e3d180cd0a675d5871af0a68daa5623318bb4d17e3" -[[packages]] -name = "zipp" -version = "4.1.1" -index = "https://pypi.org/simple" -marker = "(\"dev\" in dependency_groups and (python_full_version < '3.12' and platform_machine != 'ppc64le' and platform_machine != 's390x')) or (\"pkg-meta\" in dependency_groups and (python_full_version < '3.12' and platform_machine != 'ppc64le' and platform_machine != 's390x'))" - -[packages.sdist] -url = "https://files.pythonhosted.org/packages/dc/23/655a1802fe8041302c959774ca7c80b53bc24737ff3ef45cb50ef11bd96c/zipp-4.1.1.tar.gz" -upload-time = 2026-10-03 17:03:03+00:00 -size = 27649 - -[packages.sdist.hashes] -sha256 = "7ebb7a44c021b29fd8dbd7cce6812d0d7b5b454521f93cc71af6ccd155aaa70b" - -[[packages.wheels]] -url = "https://files.pythonhosted.org/packages/b5/98/df615823cd9419131ce19fba00de53a663794369e198aade064a244b385d/zipp-4.1.1-py3-none-any.whl" -upload-time = 2026-10-03 17:03:02+00:00 -size = 10582 - -[packages.wheels.hashes] -sha256 = "8979f52d874162f485ff2981e3891f3a3317b7a3dd43ff1e1775b9304f307a9c" +[tool.nab] +nab-version = "0.0.22" +created-at = 2026-10-23 02:56:11.779530+00:00 +command-line = [ + "nab", + "lock", + "--groups", + "lock-tools", + "pkg-meta", + "release-check", + "release-news", + "release-notes", + "release-prepare", + "release-validate", + "--output", + "pylock.toml", + "--upgrade", +] +input-path = "pyproject.toml" +mode = "universal" +python-specifier = ">=3.15,<3.16" +platforms = [ + "linux_x86_64", + "linux_aarch64", + "macos_arm64", + "windows_amd64", +] diff --git a/pyproject.toml b/pyproject.toml index e9f2927..6335a20 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -79,6 +79,7 @@ docs = [ lint = [ "pre-commit-uv>=4.3", ] +lock-tools = [ "nab==0.0.22" ] pkg-meta = [ "check-wheel-contents>=0.6.3", "twine>=7", @@ -87,27 +88,27 @@ pkg-meta = [ release = [ "docstrfmt>=2.2.1", "prek>=0.5", - "release-creator>=0.5.1", + "release-creator>=0.6", "towncrier>=26.9", ] release-check = [ "prek>=0.5", ] release-news = [ - "release-creator>=0.5.1", + "release-creator>=0.6", "towncrier>=26.9", ] release-notes = [ - "release-creator>=0.5.1", + "release-creator>=0.6", ] release-prepare = [ "prek>=0.5", - "release-creator>=0.5.1", + "release-creator>=0.6", "towncrier>=26.9", ] release-validate = [ "prek>=0.5", - "release-creator>=0.5.1", + "release-creator>=0.6", ] [tool.hatch] @@ -219,3 +220,18 @@ type = [ { directory = "removal", name = "Removed", showcontent = true }, { directory = "packaging", name = "Packaging", showcontent = true }, ] + +[tool.nab] +mode = "universal" +base-group = "project-runtime" +build-group = "build" +default-groups = [] +uploaded-prior-to = "P7D" +decision-order = "stable" +matrix.python = ">=3.15,<3.16" +matrix.platforms = [ "linux_x86_64", "linux_aarch64", "macos_arm64", "windows_amd64" ] +packages.release-creator.uploaded-prior-to = "2026-10-23T02:44:40Z" + +[[tool.nab.package-rules]] +match = [ "nab", "nab-index", "nab-markersets", "nab-project", "nab-provider", "nab-resolver" ] +uploaded-prior-to = "2026-10-19T00:00:00Z" From db508d20528cd41b0d41ccaca5b10be159b19850 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bern=C3=A1t=20G=C3=A1bor?= Date: Fri, 23 Oct 2026 10:41:24 -0700 Subject: [PATCH 33/39] =?UTF-8?q?=F0=9F=91=B7=20ci:=20run=20news=20checks?= =?UTF-8?q?=20separately?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/check.yaml | 26 ++--------------- .github/workflows/label-maintenance-pr.yaml | 17 ----------- .github/workflows/news.yaml | 31 +++++++++++++++++++++ 3 files changed, 33 insertions(+), 41 deletions(-) delete mode 100644 .github/workflows/label-maintenance-pr.yaml create mode 100644 .github/workflows/news.yaml diff --git a/.github/workflows/check.yaml b/.github/workflows/check.yaml index 2d4bcc1..fe98632 100644 --- a/.github/workflows/check.yaml +++ b/.github/workflows/check.yaml @@ -5,7 +5,7 @@ on: branches: ["main"] tags-ignore: ["**"] pull_request: - types: [opened, synchronize, reopened, labeled, unlabeled] + types: [opened, synchronize, reopened] schedule: - cron: "0 8 * * *" concurrency: @@ -70,27 +70,6 @@ jobs: PYTEST_ADDOPTS: "-vv --durations=20" DIFF_AGAINST: HEAD UV_PYTHON_PREFERENCE: only-managed - changelog: - if: github.event_name == 'pull_request' - runs-on: ubuntu-26.04 - steps: - - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - with: - fetch-depth: 0 - persist-credentials: false - - uses: astral-sh/setup-uv@1c37ad07a6a961277cf70c0d37d6f313000f5884 # v10.3.0 - with: - version: latest-known - python-version: "3.15" - enable-cache: false - - name: Install locked release tools - uses: tox-dev/github-workflows/install-locked-tools@cadf58a0dcc5d0c7853b248ab7c2b19bb93675d1 - with: - groups: release-news - venv: ${{ runner.temp }}/release-tools - - name: Add installed tools to PATH - run: echo "$RUNNER_TEMP/release-tools/bin" >>"$GITHUB_PATH" - - uses: tox-dev/github-workflows/validate-news@cadf58a0dcc5d0c7853b248ab7c2b19bb93675d1 hook-update-cooldown: if: github.event_name == 'pull_request' runs-on: ubuntu-26.04 @@ -105,7 +84,7 @@ jobs: gate: name: Required checks pass if: ${{ !cancelled() }} # codespell:ignore cancelled - needs: [test, changelog, hook-update-cooldown] + needs: [test, hook-update-cooldown] runs-on: ubuntu-26.04 steps: - env: @@ -116,7 +95,6 @@ jobs: all( to_entries[]; .value.result == "success" or - (.key == "changelog" and .value.result == "skipped" and $event != "pull_request") or (.key == "hook-update-cooldown" and .value.result == "skipped" and $event != "pull_request") ) ' <<<"$NEEDS_JSON" diff --git a/.github/workflows/label-maintenance-pr.yaml b/.github/workflows/label-maintenance-pr.yaml deleted file mode 100644 index 43deb37..0000000 --- a/.github/workflows/label-maintenance-pr.yaml +++ /dev/null @@ -1,17 +0,0 @@ -name: Label maintenance PRs -on: - pull_request_target: # zizmor: ignore[dangerous-triggers] Reads PR metadata without checkout or PR code. - types: [opened, reopened, synchronize] -permissions: {} -jobs: - label: - runs-on: ubuntu-26.04 - permissions: - contents: read - issues: write - pull-requests: read - steps: - - uses: tox-dev/github-workflows/label-bot-news@cadf58a0dcc5d0c7853b248ab7c2b19bb93675d1 - with: - fragments: docs/changelog.d - extension: rst diff --git a/.github/workflows/news.yaml b/.github/workflows/news.yaml new file mode 100644 index 0000000..af6a60f --- /dev/null +++ b/.github/workflows/news.yaml @@ -0,0 +1,31 @@ +name: Changelog +on: + pull_request: + types: [opened, reopened, synchronize, labeled, unlabeled] +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number }} + cancel-in-progress: true +permissions: + contents: read +jobs: + changelog: + if: github.event_name == 'pull_request' + runs-on: ubuntu-26.04 + steps: + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + with: + fetch-depth: 0 + persist-credentials: false + - uses: astral-sh/setup-uv@1c37ad07a6a961277cf70c0d37d6f313000f5884 # v10.3.0 + with: + version: latest-known + python-version: "3.15" + enable-cache: false + - name: Install locked release tools + uses: tox-dev/github-workflows/install-locked-tools@cadf58a0dcc5d0c7853b248ab7c2b19bb93675d1 + with: + groups: release-news + venv: ${{ runner.temp }}/release-tools + - name: Add installed tools to PATH + run: echo "$RUNNER_TEMP/release-tools/bin" >>"$GITHUB_PATH" + - uses: tox-dev/github-workflows/validate-news@cadf58a0dcc5d0c7853b248ab7c2b19bb93675d1 From 8aedb8287bb4c2c0422541dfe77a208e4766d7d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bern=C3=A1t=20G=C3=A1bor?= Date: Fri, 23 Oct 2026 12:17:50 -0700 Subject: [PATCH 34/39] =?UTF-8?q?=F0=9F=91=B7=20ci:=20tolerate=20existing?= =?UTF-8?q?=20PyPI=20files?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/release.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 3db4d94..024c6a0 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -54,6 +54,7 @@ jobs: with: packages-dir: dist attestations: true + skip-existing: true verify-pypi: needs: - build From 2753aabfa3a1744f753501c991920b8ab3ae7de5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bern=C3=A1t=20G=C3=A1bor?= Date: Fri, 23 Oct 2026 13:07:39 -0700 Subject: [PATCH 35/39] =?UTF-8?q?=F0=9F=91=B7=20ci:=20pin=20released=20rel?= =?UTF-8?q?ease=20tools?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/check.yaml | 2 +- .github/workflows/news.yaml | 4 +- .github/workflows/prepare-release.yaml | 2 +- .github/workflows/recheck-hook-cooldown.yaml | 2 +- .github/workflows/release.yaml | 19 +++----- .github/workflows/upgrade-release-tools.yaml | 2 +- pylock.toml | 51 ++++++++++---------- pyproject.toml | 14 +++--- 8 files changed, 47 insertions(+), 49 deletions(-) diff --git a/.github/workflows/check.yaml b/.github/workflows/check.yaml index fe98632..64024a3 100644 --- a/.github/workflows/check.yaml +++ b/.github/workflows/check.yaml @@ -78,7 +78,7 @@ jobs: contents: read pull-requests: read steps: - - uses: tox-dev/github-workflows/check-hook-update-cooldown@cadf58a0dcc5d0c7853b248ab7c2b19bb93675d1 + - uses: tox-dev/github-workflows/check-hook-update-cooldown@1b7d58c3e744b505215e1cb11697a80737b0e94d # v1.0.1 env: GH_TOKEN: ${{ github.token }} gate: diff --git a/.github/workflows/news.yaml b/.github/workflows/news.yaml index af6a60f..6015cf4 100644 --- a/.github/workflows/news.yaml +++ b/.github/workflows/news.yaml @@ -22,10 +22,10 @@ jobs: python-version: "3.15" enable-cache: false - name: Install locked release tools - uses: tox-dev/github-workflows/install-locked-tools@cadf58a0dcc5d0c7853b248ab7c2b19bb93675d1 + uses: tox-dev/github-workflows/install-locked-tools@1b7d58c3e744b505215e1cb11697a80737b0e94d # v1.0.1 with: groups: release-news venv: ${{ runner.temp }}/release-tools - name: Add installed tools to PATH run: echo "$RUNNER_TEMP/release-tools/bin" >>"$GITHUB_PATH" - - uses: tox-dev/github-workflows/validate-news@cadf58a0dcc5d0c7853b248ab7c2b19bb93675d1 + - uses: tox-dev/github-workflows/validate-news@1b7d58c3e744b505215e1cb11697a80737b0e94d # v1.0.1 diff --git a/.github/workflows/prepare-release.yaml b/.github/workflows/prepare-release.yaml index 5cf7585..9f8cd8d 100644 --- a/.github/workflows/prepare-release.yaml +++ b/.github/workflows/prepare-release.yaml @@ -15,7 +15,7 @@ on: permissions: {} jobs: prepare: - uses: tox-dev/github-workflows/.github/workflows/prepare-towncrier-release.yaml@cadf58a0dcc5d0c7853b248ab7c2b19bb93675d1 + uses: tox-dev/github-workflows/.github/workflows/prepare-towncrier-release.yaml@1b7d58c3e744b505215e1cb11697a80737b0e94d # v1.0.1 permissions: contents: read pull-requests: read diff --git a/.github/workflows/recheck-hook-cooldown.yaml b/.github/workflows/recheck-hook-cooldown.yaml index b5b1743..7e1efa4 100644 --- a/.github/workflows/recheck-hook-cooldown.yaml +++ b/.github/workflows/recheck-hook-cooldown.yaml @@ -12,7 +12,7 @@ jobs: contents: read pull-requests: read steps: - - uses: tox-dev/github-workflows/recheck-hook-update-cooldown@cadf58a0dcc5d0c7853b248ab7c2b19bb93675d1 + - uses: tox-dev/github-workflows/recheck-hook-update-cooldown@1b7d58c3e744b505215e1cb11697a80737b0e94d # v1.0.1 with: workflow: check.yaml job-name: hook-update-cooldown diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 024c6a0..578d682 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -8,12 +8,9 @@ env: dists-artifact-name: python-package-distributions jobs: build: - uses: tox-dev/github-workflows/.github/workflows/validate-python-release.yaml@cadf58a0dcc5d0c7853b248ab7c2b19bb93675d1 + uses: tox-dev/github-workflows/.github/workflows/validate-python-release.yaml@1b7d58c3e744b505215e1cb11697a80737b0e94d # v1.0.1 permissions: contents: read - with: - changelog: docs/changelog.rst - artifact-base-url: https://pypi.org/project/pyproject-api/ stage-github-release: needs: [build, github-notes] runs-on: ubuntu-26.04 @@ -24,7 +21,7 @@ jobs: with: name: github-release-notes path: ${{ runner.temp }}/github-release-notes - - uses: tox-dev/github-workflows/publish-github-release@cadf58a0dcc5d0c7853b248ab7c2b19bb93675d1 + - uses: tox-dev/github-workflows/publish-github-release@1b7d58c3e744b505215e1cb11697a80737b0e94d # v1.0.1 with: tag: ${{ github.ref_name }} commit: ${{ github.sha }} @@ -76,7 +73,7 @@ jobs: with: name: ${{ env.dists-artifact-name }} path: dist/ - - uses: tox-dev/github-workflows/reconcile-pypi-artifacts@cadf58a0dcc5d0c7853b248ab7c2b19bb93675d1 + - uses: tox-dev/github-workflows/reconcile-pypi-artifacts@1b7d58c3e744b505215e1cb11697a80737b0e94d # v1.0.1 with: project: pyproject-api version: ${{ github.ref_name }} @@ -99,7 +96,7 @@ jobs: python-version: "3.15" enable-cache: false - name: Install locked release tools - uses: tox-dev/github-workflows/install-locked-tools@cadf58a0dcc5d0c7853b248ab7c2b19bb93675d1 + uses: tox-dev/github-workflows/install-locked-tools@1b7d58c3e744b505215e1cb11697a80737b0e94d # v1.0.1 with: groups: release-notes venv: ${{ runner.temp }}/release-tools @@ -107,7 +104,7 @@ jobs: run: echo "$RUNNER_TEMP/release-tools/bin" >>"$GITHUB_PATH" - name: Select previous tag id: previous - uses: tox-dev/github-workflows/select-previous-tag@cadf58a0dcc5d0c7853b248ab7c2b19bb93675d1 + uses: tox-dev/github-workflows/select-previous-tag@1b7d58c3e744b505215e1cb11697a80737b0e94d # v1.0.1 with: tag: ${{ github.ref_name }} contributor-metadata: @@ -155,7 +152,7 @@ jobs: python-version: "3.15" enable-cache: false - name: Install locked release tools - uses: tox-dev/github-workflows/install-locked-tools@cadf58a0dcc5d0c7853b248ab7c2b19bb93675d1 + uses: tox-dev/github-workflows/install-locked-tools@1b7d58c3e744b505215e1cb11697a80737b0e94d # v1.0.1 with: groups: release-notes venv: ${{ runner.temp }}/release-tools @@ -165,7 +162,7 @@ jobs: with: name: contributor-metadata path: ${{ runner.temp }}/contributor-metadata - - uses: tox-dev/github-workflows/render-release-notes@cadf58a0dcc5d0c7853b248ab7c2b19bb93675d1 + - uses: tox-dev/github-workflows/render-release-notes@1b7d58c3e744b505215e1cb11697a80737b0e94d # v1.0.1 with: tag: ${{ github.ref_name }} changelog: docs/changelog.rst @@ -188,7 +185,7 @@ jobs: with: name: github-release-notes path: ${{ runner.temp }}/github-release-notes - - uses: tox-dev/github-workflows/publish-github-release@cadf58a0dcc5d0c7853b248ab7c2b19bb93675d1 + - uses: tox-dev/github-workflows/publish-github-release@1b7d58c3e744b505215e1cb11697a80737b0e94d # v1.0.1 with: tag: ${{ github.ref_name }} commit: ${{ github.sha }} diff --git a/.github/workflows/upgrade-release-tools.yaml b/.github/workflows/upgrade-release-tools.yaml index a466858..e85f2c3 100644 --- a/.github/workflows/upgrade-release-tools.yaml +++ b/.github/workflows/upgrade-release-tools.yaml @@ -9,7 +9,7 @@ concurrency: cancel-in-progress: false jobs: upgrade: - uses: tox-dev/github-workflows/.github/workflows/upgrade-release-tools.yaml@cadf58a0dcc5d0c7853b248ab7c2b19bb93675d1 + uses: tox-dev/github-workflows/.github/workflows/upgrade-release-tools.yaml@1b7d58c3e744b505215e1cb11697a80737b0e94d # v1.0.1 permissions: contents: read secrets: diff --git a/pylock.toml b/pylock.toml index fd85c55..e0cf5f0 100644 --- a/pylock.toml +++ b/pylock.toml @@ -1706,7 +1706,7 @@ sha256 = "d0dae1f74bb273b534770cb4cccb6bb78735540afdb03c2146f4e19dcd412560" [[packages]] name = "release-creator" -version = "0.6.0" +version = "0.6.5" marker = "\"release-news\" in dependency_groups or \"release-notes\" in dependency_groups or \"release-prepare\" in dependency_groups or \"release-validate\" in dependency_groups" requires-python = ">=3.15" dependencies = [ @@ -1720,22 +1720,22 @@ dependencies = [ index = "https://pypi.org/simple/" [packages.sdist] -name = "release_creator-0.6.0.tar.gz" -upload-time = 2026-10-23 02:44:39.588714+00:00 -url = "https://files.pythonhosted.org/packages/17/11/c0126b406a17370db72d8a08afa1a5823204e69c44938de796cc98df0d02/release_creator-0.6.0.tar.gz" -size = 135957 +name = "release_creator-0.6.5.tar.gz" +upload-time = 2026-10-23 19:54:49.281646+00:00 +url = "https://files.pythonhosted.org/packages/a0/da/7195823b3d0ab066f518d8bd987f88a39e0e39da33f629e021346209a7cb/release_creator-0.6.5.tar.gz" +size = 135158 [packages.sdist.hashes] -sha256 = "58afd3cd0fc0b0e47ded23a735a1ba9189a7b0adad410628c90c96cf74457ed6" +sha256 = "954247b06b7b9a8c196a782252e3d980d33a9e9b7f9e5aea7647ef6c758d4275" [[packages.wheels]] -name = "release_creator-0.6.0-py3-none-any.whl" -upload-time = 2026-10-23 02:44:37.874747+00:00 -url = "https://files.pythonhosted.org/packages/ef/91/ad1ce7d5c65892866893879fb0f407898f2d5c808bbd266ca0a82513a205/release_creator-0.6.0-py3-none-any.whl" -size = 49478 +name = "release_creator-0.6.5-py3-none-any.whl" +upload-time = 2026-10-23 19:54:47.716775+00:00 +url = "https://files.pythonhosted.org/packages/f1/4c/6215690fc2b48f3d927699bb16f5c8bcf26b8862e378df33a2581a45215b/release_creator-0.6.5-py3-none-any.whl" +size = 46723 [packages.wheels.hashes] -sha256 = "4b9cd6187c87fcb7bf3aca5f58c67c90703e58875643af633661a0448756d45f" +sha256 = "dd109f7fb64808a83833c332b8563c56bd943c4a8de79b440eab475b5ca9a73e" [[packages]] name = "requests" @@ -2022,28 +2022,28 @@ sha256 = "188306098d013b691fcadc011abd66727d3c414c571bb01b1a174ba8c983cf90" [[packages]] name = "tomlkit" -version = "0.15.1" +version = "0.15.2" marker = "\"build\" in dependency_groups" requires-python = ">=3.9" index = "https://pypi.org/simple/" [packages.sdist] -name = "tomlkit-0.15.1.tar.gz" -upload-time = 2026-07-17 01:48:04.562015+00:00 -url = "https://files.pythonhosted.org/packages/94/96/e07752635b98536177fa1f37671c8f3cdde2e724c6bcf6034b2cfb571565/tomlkit-0.15.1.tar.gz" -size = 180129 +name = "tomlkit-0.15.2.tar.gz" +upload-time = 2026-10-16 04:07:08.166827+00:00 +url = "https://files.pythonhosted.org/packages/08/72/fc01563df95c189a9f65850096bdc205bc2fe37da6c740cd64afaf18d07e/tomlkit-0.15.2.tar.gz" +size = 190522 [packages.sdist.hashes] -sha256 = "e25bbf38843005246210a12982776f27f99cb9be67160e14434d0c0d21ee1e97" +sha256 = "83e32755ba1d20d9340bd069ee97e9f6232ba2346b63ffcba425de01f7e327a6" [[packages.wheels]] -name = "tomlkit-0.15.1-py3-none-any.whl" -upload-time = 2026-07-17 01:48:05.728578+00:00 -url = "https://files.pythonhosted.org/packages/13/bc/8c13eb66537dce1d2bd3a57132902f38d0e7f5bb46fa9f4daed9fe9d76ee/tomlkit-0.15.1-py3-none-any.whl" -size = 49449 +name = "tomlkit-0.15.2-py3-none-any.whl" +upload-time = 2026-10-16 04:07:09.216014+00:00 +url = "https://files.pythonhosted.org/packages/da/46/7d84138a60a8bd796825b2d38ebe92d0d16501ca57d501b7c5d677401bbc/tomlkit-0.15.2-py3-none-any.whl" +size = 52225 [packages.wheels.hashes] -sha256 = "177a05aece5a8ca5266fd3c448abb47b8d352f09d477d3ca8332db4d89b24304" +sha256 = "05562412163a3037b94497385fb7f9204c637bc605af7a48199e41cf2272f437" [[packages]] name = "towncrier" @@ -2414,18 +2414,19 @@ sha256 = "3fa599046443d4ca830d06e3d180cd0a675d5871af0a68daa5623318bb4d17e3" [tool.nab] nab-version = "0.0.22" -created-at = 2026-10-23 02:56:11.779530+00:00 +created-at = 2026-10-23 20:06:34.962966+00:00 command-line = [ "nab", "lock", + "--no-cache", "--groups", - "lock-tools", - "pkg-meta", "release-check", "release-news", "release-notes", "release-prepare", "release-validate", + "pkg-meta", + "lock-tools", "--output", "pylock.toml", "--upgrade", diff --git a/pyproject.toml b/pyproject.toml index 6335a20..8fc803d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -88,27 +88,27 @@ pkg-meta = [ release = [ "docstrfmt>=2.2.1", "prek>=0.5", - "release-creator>=0.6", + "release-creator>=0.6.5", "towncrier>=26.9", ] release-check = [ "prek>=0.5", ] release-news = [ - "release-creator>=0.6", + "release-creator>=0.6.5", "towncrier>=26.9", ] release-notes = [ - "release-creator>=0.6", + "release-creator>=0.6.5", ] release-prepare = [ "prek>=0.5", - "release-creator>=0.6", + "release-creator>=0.6.5", "towncrier>=26.9", ] release-validate = [ "prek>=0.5", - "release-creator>=0.6", + "release-creator>=0.6.5", ] [tool.hatch] @@ -230,8 +230,8 @@ uploaded-prior-to = "P7D" decision-order = "stable" matrix.python = ">=3.15,<3.16" matrix.platforms = [ "linux_x86_64", "linux_aarch64", "macos_arm64", "windows_amd64" ] -packages.release-creator.uploaded-prior-to = "2026-10-23T02:44:40Z" +packages.release-creator.uploaded-prior-to = "2026-10-23T19:54:50Z" [[tool.nab.package-rules]] match = [ "nab", "nab-index", "nab-markersets", "nab-project", "nab-provider", "nab-resolver" ] -uploaded-prior-to = "2026-10-19T00:00:00Z" +uploaded-prior-to = "2026-10-18T05:45:09Z" From c353cb7f91ba4c18d36493458b8c430ea2a21a59 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bern=C3=A1t=20G=C3=A1bor?= Date: Fri, 23 Oct 2026 13:17:55 -0700 Subject: [PATCH 36/39] =?UTF-8?q?=F0=9F=91=B7=20ci:=20remove=20duplicate?= =?UTF-8?q?=20release=20PATH=20setup?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/news.yaml | 2 -- .github/workflows/release.yaml | 4 ---- 2 files changed, 6 deletions(-) diff --git a/.github/workflows/news.yaml b/.github/workflows/news.yaml index 6015cf4..39c1f08 100644 --- a/.github/workflows/news.yaml +++ b/.github/workflows/news.yaml @@ -26,6 +26,4 @@ jobs: with: groups: release-news venv: ${{ runner.temp }}/release-tools - - name: Add installed tools to PATH - run: echo "$RUNNER_TEMP/release-tools/bin" >>"$GITHUB_PATH" - uses: tox-dev/github-workflows/validate-news@1b7d58c3e744b505215e1cb11697a80737b0e94d # v1.0.1 diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 578d682..f32b526 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -100,8 +100,6 @@ jobs: with: groups: release-notes venv: ${{ runner.temp }}/release-tools - - name: Add installed tools to PATH - run: echo "$RUNNER_TEMP/release-tools/bin" >>"$GITHUB_PATH" - name: Select previous tag id: previous uses: tox-dev/github-workflows/select-previous-tag@1b7d58c3e744b505215e1cb11697a80737b0e94d # v1.0.1 @@ -156,8 +154,6 @@ jobs: with: groups: release-notes venv: ${{ runner.temp }}/release-tools - - name: Add installed tools to PATH - run: echo "$RUNNER_TEMP/release-tools/bin" >>"$GITHUB_PATH" - uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8.0.2 with: name: contributor-metadata From a141b8f5069d9683454d9d0061782e12102ff5bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bern=C3=A1t=20G=C3=A1bor?= Date: Fri, 23 Oct 2026 13:30:58 -0700 Subject: [PATCH 37/39] =?UTF-8?q?=F0=9F=91=B7=20ci:=20reuse=20previous=20t?= =?UTF-8?q?ag=20for=20release=20notes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/release.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index f32b526..48696cc 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -135,7 +135,7 @@ jobs: if-no-files-found: error retention-days: 1 github-notes: - needs: contributor-metadata + needs: [previous-tag, contributor-metadata] runs-on: ubuntu-26.04 permissions: contents: read @@ -161,6 +161,7 @@ jobs: - uses: tox-dev/github-workflows/render-release-notes@1b7d58c3e744b505215e1cb11697a80737b0e94d # v1.0.1 with: tag: ${{ github.ref_name }} + previous: ${{ needs.previous-tag.outputs.tag }} changelog: docs/changelog.rst artifact-url: https://pypi.org/project/pyproject-api/${{ github.ref_name }}/ generated-notes: ${{ runner.temp }}/contributor-metadata/generated-notes.md From 54bfec2f2d03f51020b227da6cd63a6a162310ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bern=C3=A1t=20G=C3=A1bor?= Date: Fri, 23 Oct 2026 16:26:41 -0700 Subject: [PATCH 38/39] build: adopt released workflow actions --- .github/workflows/check.yaml | 2 +- .github/workflows/news.yaml | 4 +- .github/workflows/prepare-release.yaml | 2 +- .github/workflows/recheck-hook-cooldown.yaml | 2 +- .github/workflows/release.yaml | 16 +- .github/workflows/upgrade-release-tools.yaml | 4 +- pylock.toml | 1729 +----------------- pyproject.toml | 5 - 8 files changed, 65 insertions(+), 1699 deletions(-) diff --git a/.github/workflows/check.yaml b/.github/workflows/check.yaml index 64024a3..b448558 100644 --- a/.github/workflows/check.yaml +++ b/.github/workflows/check.yaml @@ -78,7 +78,7 @@ jobs: contents: read pull-requests: read steps: - - uses: tox-dev/github-workflows/check-hook-update-cooldown@1b7d58c3e744b505215e1cb11697a80737b0e94d # v1.0.1 + - uses: tox-dev/github-workflows/check-hook-update-cooldown@74472c1a3602ca9b66db058ea31578865e1d208b # v1.0.5 env: GH_TOKEN: ${{ github.token }} gate: diff --git a/.github/workflows/news.yaml b/.github/workflows/news.yaml index 39c1f08..8bd9482 100644 --- a/.github/workflows/news.yaml +++ b/.github/workflows/news.yaml @@ -22,8 +22,8 @@ jobs: python-version: "3.15" enable-cache: false - name: Install locked release tools - uses: tox-dev/github-workflows/install-locked-tools@1b7d58c3e744b505215e1cb11697a80737b0e94d # v1.0.1 + uses: tox-dev/github-workflows/install-locked-tools@74472c1a3602ca9b66db058ea31578865e1d208b # v1.0.5 with: groups: release-news venv: ${{ runner.temp }}/release-tools - - uses: tox-dev/github-workflows/validate-news@1b7d58c3e744b505215e1cb11697a80737b0e94d # v1.0.1 + - uses: tox-dev/github-workflows/validate-news@74472c1a3602ca9b66db058ea31578865e1d208b # v1.0.5 diff --git a/.github/workflows/prepare-release.yaml b/.github/workflows/prepare-release.yaml index 9f8cd8d..463d395 100644 --- a/.github/workflows/prepare-release.yaml +++ b/.github/workflows/prepare-release.yaml @@ -15,7 +15,7 @@ on: permissions: {} jobs: prepare: - uses: tox-dev/github-workflows/.github/workflows/prepare-towncrier-release.yaml@1b7d58c3e744b505215e1cb11697a80737b0e94d # v1.0.1 + uses: tox-dev/github-workflows/.github/workflows/prepare-towncrier-release.yaml@74472c1a3602ca9b66db058ea31578865e1d208b # v1.0.5 permissions: contents: read pull-requests: read diff --git a/.github/workflows/recheck-hook-cooldown.yaml b/.github/workflows/recheck-hook-cooldown.yaml index 7e1efa4..7936689 100644 --- a/.github/workflows/recheck-hook-cooldown.yaml +++ b/.github/workflows/recheck-hook-cooldown.yaml @@ -12,7 +12,7 @@ jobs: contents: read pull-requests: read steps: - - uses: tox-dev/github-workflows/recheck-hook-update-cooldown@1b7d58c3e744b505215e1cb11697a80737b0e94d # v1.0.1 + - uses: tox-dev/github-workflows/recheck-hook-update-cooldown@74472c1a3602ca9b66db058ea31578865e1d208b # v1.0.5 with: workflow: check.yaml job-name: hook-update-cooldown diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 48696cc..d388788 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -8,7 +8,7 @@ env: dists-artifact-name: python-package-distributions jobs: build: - uses: tox-dev/github-workflows/.github/workflows/validate-python-release.yaml@1b7d58c3e744b505215e1cb11697a80737b0e94d # v1.0.1 + uses: tox-dev/github-workflows/.github/workflows/validate-python-release.yaml@74472c1a3602ca9b66db058ea31578865e1d208b # v1.0.5 permissions: contents: read stage-github-release: @@ -21,7 +21,7 @@ jobs: with: name: github-release-notes path: ${{ runner.temp }}/github-release-notes - - uses: tox-dev/github-workflows/publish-github-release@1b7d58c3e744b505215e1cb11697a80737b0e94d # v1.0.1 + - uses: tox-dev/github-workflows/publish-github-release@74472c1a3602ca9b66db058ea31578865e1d208b # v1.0.5 with: tag: ${{ github.ref_name }} commit: ${{ github.sha }} @@ -73,7 +73,7 @@ jobs: with: name: ${{ env.dists-artifact-name }} path: dist/ - - uses: tox-dev/github-workflows/reconcile-pypi-artifacts@1b7d58c3e744b505215e1cb11697a80737b0e94d # v1.0.1 + - uses: tox-dev/github-workflows/reconcile-pypi-artifacts@74472c1a3602ca9b66db058ea31578865e1d208b # v1.0.5 with: project: pyproject-api version: ${{ github.ref_name }} @@ -96,13 +96,13 @@ jobs: python-version: "3.15" enable-cache: false - name: Install locked release tools - uses: tox-dev/github-workflows/install-locked-tools@1b7d58c3e744b505215e1cb11697a80737b0e94d # v1.0.1 + uses: tox-dev/github-workflows/install-locked-tools@74472c1a3602ca9b66db058ea31578865e1d208b # v1.0.5 with: groups: release-notes venv: ${{ runner.temp }}/release-tools - name: Select previous tag id: previous - uses: tox-dev/github-workflows/select-previous-tag@1b7d58c3e744b505215e1cb11697a80737b0e94d # v1.0.1 + uses: tox-dev/github-workflows/select-previous-tag@74472c1a3602ca9b66db058ea31578865e1d208b # v1.0.5 with: tag: ${{ github.ref_name }} contributor-metadata: @@ -150,7 +150,7 @@ jobs: python-version: "3.15" enable-cache: false - name: Install locked release tools - uses: tox-dev/github-workflows/install-locked-tools@1b7d58c3e744b505215e1cb11697a80737b0e94d # v1.0.1 + uses: tox-dev/github-workflows/install-locked-tools@74472c1a3602ca9b66db058ea31578865e1d208b # v1.0.5 with: groups: release-notes venv: ${{ runner.temp }}/release-tools @@ -158,7 +158,7 @@ jobs: with: name: contributor-metadata path: ${{ runner.temp }}/contributor-metadata - - uses: tox-dev/github-workflows/render-release-notes@1b7d58c3e744b505215e1cb11697a80737b0e94d # v1.0.1 + - uses: tox-dev/github-workflows/render-release-notes@74472c1a3602ca9b66db058ea31578865e1d208b # v1.0.5 with: tag: ${{ github.ref_name }} previous: ${{ needs.previous-tag.outputs.tag }} @@ -182,7 +182,7 @@ jobs: with: name: github-release-notes path: ${{ runner.temp }}/github-release-notes - - uses: tox-dev/github-workflows/publish-github-release@1b7d58c3e744b505215e1cb11697a80737b0e94d # v1.0.1 + - uses: tox-dev/github-workflows/publish-github-release@74472c1a3602ca9b66db058ea31578865e1d208b # v1.0.5 with: tag: ${{ github.ref_name }} commit: ${{ github.sha }} diff --git a/.github/workflows/upgrade-release-tools.yaml b/.github/workflows/upgrade-release-tools.yaml index e85f2c3..3bae9b5 100644 --- a/.github/workflows/upgrade-release-tools.yaml +++ b/.github/workflows/upgrade-release-tools.yaml @@ -9,14 +9,14 @@ concurrency: cancel-in-progress: false jobs: upgrade: - uses: tox-dev/github-workflows/.github/workflows/upgrade-release-tools.yaml@1b7d58c3e744b505215e1cb11697a80737b0e94d # v1.0.1 + uses: tox-dev/github-workflows/.github/workflows/upgrade-release-tools.yaml@74472c1a3602ca9b66db058ea31578865e1d208b # v1.0.5 permissions: contents: read secrets: RELEASE_APP_PRIVATE_KEY: ${{ secrets.RELEASE_APP_PRIVATE_KEY }} with: lock-groups: >- - release-check release-news release-notes release-prepare release-validate pkg-meta lock-tools + release-check release-news release-notes release-prepare release-validate commit-message: "build(deps): refresh release lock" pull-request-title: "build(deps): refresh release tool lock" pull-request-body: |- diff --git a/pylock.toml b/pylock.toml index e0cf5f0..e7e3ff5 100644 --- a/pylock.toml +++ b/pylock.toml @@ -1,15 +1,13 @@ lock-version = "1.0" environments = [ - "python_version == \"3.15\" and sys_platform == \"linux\" and platform_machine == \"x86_64\" and implementation_name == \"cpython\" and os_name == \"posix\" and platform_python_implementation == \"CPython\" and platform_system == \"Linux\"", - "python_version == \"3.15\" and sys_platform == \"linux\" and platform_machine == \"aarch64\" and implementation_name == \"cpython\" and os_name == \"posix\" and platform_python_implementation == \"CPython\" and platform_system == \"Linux\"", - "python_version == \"3.15\" and sys_platform == \"darwin\" and platform_machine == \"arm64\" and os_name == \"posix\" and platform_python_implementation == \"CPython\" and platform_system == \"Darwin\"", - "python_version == \"3.15\" and sys_platform == \"win32\" and platform_machine == \"AMD64\" and os_name == \"nt\" and platform_python_implementation == \"CPython\" and platform_system == \"Windows\"", + "python_version == \"3.15\" and sys_platform == \"linux\" and platform_machine == \"x86_64\" and platform_python_implementation == \"CPython\"", + "python_version == \"3.15\" and sys_platform == \"linux\" and platform_machine == \"aarch64\" and platform_python_implementation == \"CPython\"", + "python_version == \"3.15\" and sys_platform == \"darwin\" and platform_machine == \"arm64\" and platform_python_implementation == \"CPython\"", + "python_version == \"3.15\" and sys_platform == \"win32\" and platform_machine == \"AMD64\" and platform_python_implementation == \"CPython\"", ] requires-python = ">=3.11" dependency-groups = [ "build", - "lock-tools", - "pkg-meta", "project-runtime", "release-check", "release-news", @@ -22,281 +20,10 @@ default-groups = [ ] created-by = "nab" -[[packages]] -name = "annotated-types" -version = "0.8.0" -marker = "\"pkg-meta\" in dependency_groups" -requires-python = ">=3.10" -index = "https://pypi.org/simple/" - -[packages.sdist] -name = "annotated_types-0.8.0.tar.gz" -upload-time = 2026-07-23 20:16:13.995706+00:00 -url = "https://files.pythonhosted.org/packages/5f/56/a8120250d128bed162cd73c76d45f6ef9991f3e068f62a8ee060afa3104a/annotated_types-0.8.0.tar.gz" -size = 15893 - -[packages.sdist.hashes] -sha256 = "13b2beaad985e05e2d6407ee4c4f35590b11f8d693a258a561055cac8f64cab7" - -[[packages.wheels]] -name = "annotated_types-0.8.0-py3-none-any.whl" -upload-time = 2026-07-23 20:16:12.938651+00:00 -url = "https://files.pythonhosted.org/packages/99/91/8acff4f5e50511b911bbccb72b8628a49c68ce14148cd9f6431094859a90/annotated_types-0.8.0-py3-none-any.whl" -size = 13427 - -[packages.wheels.hashes] -sha256 = "f072f4d804ea359e4eaf198b1af7a8b0943881a87f31bb764f8bf219bb9419e0" - -[[packages]] -name = "attrs" -version = "26.1.0" -marker = "\"pkg-meta\" in dependency_groups" -requires-python = ">=3.9" -index = "https://pypi.org/simple/" - -[packages.sdist] -name = "attrs-26.1.0.tar.gz" -upload-time = 2026-03-19 14:22:25.026315+00:00 -url = "https://files.pythonhosted.org/packages/9a/8e/82a0fe20a541c03148528be8cac2408564a6c9a0cc7e9171802bc1d26985/attrs-26.1.0.tar.gz" -size = 952055 - -[packages.sdist.hashes] -sha256 = "d03ceb89cb322a8fd706d4fb91940737b6642aa36998fe130a9bc96c985eff32" - -[[packages.wheels]] -name = "attrs-26.1.0-py3-none-any.whl" -upload-time = 2026-03-19 14:22:23.645947+00:00 -url = "https://files.pythonhosted.org/packages/64/b4/17d4b0b2a2dc85a6df63d1157e028ed19f90d4cd97c36717afef2bc2f395/attrs-26.1.0-py3-none-any.whl" -size = 67548 - -[packages.wheels.hashes] -sha256 = "c647aa4a12dfbad9333ca4e71fe62ddc36f4e63b2d260a37a8b83d2f043ac309" - -[[packages]] -name = "build" -version = "1.6.1" -marker = "\"lock-tools\" in dependency_groups" -requires-python = ">=3.10" -dependencies = [ - { name = "colorama" }, - { name = "packaging" }, - { name = "pyproject-hooks" }, -] -index = "https://pypi.org/simple/" - -[packages.sdist] -name = "build-1.6.1.tar.gz" -upload-time = 2026-09-10 07:56:00.417084+00:00 -url = "https://files.pythonhosted.org/packages/bd/67/4898a44ea4f3f8e213b0954ec0aa0a16971d62a6212d6ea3931e97115b99/build-1.6.1.tar.gz" -size = 113427 - -[packages.sdist.hashes] -sha256 = "51cc11666391ab6f092070437ac747002ff46f3e4113a3622177ee6b488bfc53" - -[[packages.wheels]] -name = "build-1.6.1-py3-none-any.whl" -upload-time = 2026-09-10 07:55:59.148398+00:00 -url = "https://files.pythonhosted.org/packages/ad/9b/9fb3585dabcd73a1b2a6267f63f62649347c9e6d072c9fde365b105abb2c/build-1.6.1-py3-none-any.whl" -size = 31179 - -[packages.wheels.hashes] -sha256 = "ecd351a4be9d35a9eaaba244a7687143c9c7d4aea6ac964e7e7ddab20cbcf4e7" - -[[packages]] -name = "certifi" -version = "2026.7.22" -marker = "\"pkg-meta\" in dependency_groups" -requires-python = ">=3.7" -index = "https://pypi.org/simple/" - -[packages.sdist] -name = "certifi-2026.7.22.tar.gz" -upload-time = 2026-07-22 03:35:12.644458+00:00 -url = "https://files.pythonhosted.org/packages/a3/c2/24167ea9858356b47a87a50d39908bfdb72ceeefe0041586e704e5376b3a/certifi-2026.7.22.tar.gz" -size = 138112 - -[packages.sdist.hashes] -sha256 = "741e2c3b351ddf169a738da9f2c048608ff7f2c5cc02f1ebc6b118bb090d5d55" - -[[packages.wheels]] -name = "certifi-2026.7.22-py3-none-any.whl" -upload-time = 2026-07-22 03:35:11.276376+00:00 -url = "https://files.pythonhosted.org/packages/0b/a7/71ac2cff56fec219ed242bb11b8efb69fcc4bec75db06fb7bfe35de520e6/certifi-2026.7.22-py3-none-any.whl" -size = 136983 - -[packages.wheels.hashes] -sha256 = "62f22742b58a1a33014a2b6b706588a8d7e2a88ae7bd1a6ebe8c992928483775" - -[[packages]] -name = "cffi" -version = "2.1.1" -marker = "\"pkg-meta\" in dependency_groups and sys_platform == \"linux\"" -requires-python = ">=3.10" -dependencies = [ - { name = "pycparser" }, -] -index = "https://pypi.org/simple/" - -[packages.sdist] -name = "cffi-2.1.1.tar.gz" -upload-time = 2026-08-03 21:21:18.939988+00:00 -url = "https://files.pythonhosted.org/packages/9e/ef/008a1939e372c06329a3fce4279c02f328488f3526744906eeec3da7ad5f/cffi-2.1.1.tar.gz" -size = 530807 - -[packages.sdist.hashes] -sha256 = "dd31f52ea1086513bb9df30f8fcee9b8918323ae067a3d5b78bc826a000712be" - -[[packages.wheels]] -name = "cffi-2.1.1-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" -upload-time = 2026-08-03 21:20:53.462549+00:00 -url = "https://files.pythonhosted.org/packages/e2/31/9e1313b0a6e30e91b3b3d3fff51ae99c857c07738e3afcce1f7334e1b7ab/cffi-2.1.1-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" -size = 222271 - -[packages.wheels.hashes] -sha256 = "507a24c282e0f42f8ed737cf048572cbf580468da5555764a8331735e9c736b6" - -[[packages.wheels]] -name = "cffi-2.1.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" -upload-time = 2026-08-03 21:20:57.336082+00:00 -url = "https://files.pythonhosted.org/packages/44/16/29e6d01b388bef055ecd6ca8244b3f4d336bd09e92d5d892187b9601084e/cffi-2.1.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" -size = 221630 - -[packages.wheels.hashes] -sha256 = "aeae0e330c9f6acd681f647d46cefd30c29f93e3392882e792e82080c9691399" - -[[packages]] -name = "charset-normalizer" -version = "3.5.2" -marker = "\"pkg-meta\" in dependency_groups" -requires-python = ">=3.7" -index = "https://pypi.org/simple/" - -[packages.sdist] -name = "charset_normalizer-3.5.2.tar.gz" -upload-time = 2026-09-30 04:39:23.398219+00:00 -url = "https://files.pythonhosted.org/packages/33/1c/f41d4e74c28ab327ff3acd36053f7ea506c55872d7a90b0fa71aa3ab0c89/charset_normalizer-3.5.2.tar.gz" -size = 172659 - -[packages.sdist.hashes] -sha256 = "39de2a259fc954455c57274dc94c79d5842774e1247a016aff30bc0efed0f4ef" - -[[packages.wheels]] -name = "charset_normalizer-3.5.2-cp315-cp315-macosx_10_15_universal2.whl" -upload-time = 2026-09-30 04:37:28.329851+00:00 -url = "https://files.pythonhosted.org/packages/ca/e9/34e597dee616d0b8ee4b34d29399e85c2204ade174157a48505d42baa4ff/charset_normalizer-3.5.2-cp315-cp315-macosx_10_15_universal2.whl" -size = 367676 - -[packages.wheels.hashes] -sha256 = "87475fabc8d9996fd9c27debb395e642e8c838d78a00b6e932227a0e06b81e26" - -[[packages.wheels]] -name = "charset_normalizer-3.5.2-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" -upload-time = 2026-09-30 04:37:30.167187+00:00 -url = "https://files.pythonhosted.org/packages/60/9f/a5d1c91c0263745e2cd344c5a4415d787c575501ab1d449f1148ac6b495d/charset_normalizer-3.5.2-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" -size = 248414 - -[packages.wheels.hashes] -sha256 = "9409a8bf35cf78353942504b24a57de3d75b708997a1e4bd8db71ac8633ce364" - -[[packages.wheels]] -name = "charset_normalizer-3.5.2-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" -upload-time = 2026-09-30 04:37:37.397915+00:00 -url = "https://files.pythonhosted.org/packages/a0/a1/4fbf5d0f0f1b2a080474c1cf9a2f12c4c6531bb0e8ba591055e846d2b4e9/charset_normalizer-3.5.2-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" -size = 257336 - -[packages.wheels.hashes] -sha256 = "3df041de8887954562c9b261cba85ca0e9ded74048daf125f45edcfaa4832229" - -[[packages.wheels]] -name = "charset_normalizer-3.5.2-cp315-cp315-win_amd64.whl" -upload-time = 2026-09-30 04:37:53.427053+00:00 -url = "https://files.pythonhosted.org/packages/98/e8/55d5fd3935b4bce6da4fe0df61898e8c82653e317e677bd58aceb9c60f13/charset_normalizer-3.5.2-cp315-cp315-win_amd64.whl" -size = 210858 - -[packages.wheels.hashes] -sha256 = "89b53f3cda69831909888e0494f4fa0bcd3537e3e138dabeb620bd6ad946bae8" - -[[packages.wheels]] -name = "charset_normalizer-3.5.2-cp37-abi3-macosx_10_9_universal2.whl" -upload-time = 2026-09-30 04:38:26.216534+00:00 -url = "https://files.pythonhosted.org/packages/8c/ab/176fbfd5b64939c55d652366aa5b9ef1d767af207a3aa6ebeb0d226c484d/charset_normalizer-3.5.2-cp37-abi3-macosx_10_9_universal2.whl" -size = 331815 - -[packages.wheels.hashes] -sha256 = "4275811936e2f06feff5e598fb42a1b7ae852da8e39605211892b56b81a34efd" - -[[packages.wheels]] -name = "charset_normalizer-3.5.2-cp37-abi3-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl" -upload-time = 2026-09-30 04:38:28.032254+00:00 -url = "https://files.pythonhosted.org/packages/7e/84/371eac6b30bdbcbf2d632a1a01809103459216fcaae61b8b8d922c1bfb8a/charset_normalizer-3.5.2-cp37-abi3-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl" -size = 253276 - -[packages.wheels.hashes] -sha256 = "1c50fe28bbc2ced33386f298650d91218076c05420e6cbd790b913adc41659e7" - -[[packages.wheels]] -name = "charset_normalizer-3.5.2-cp37-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" -upload-time = 2026-09-30 04:38:29.732000+00:00 -url = "https://files.pythonhosted.org/packages/43/6f/c4fbae58febff71709c51bc7e18fdfa55341dc382704740f9f0cbf03817b/charset_normalizer-3.5.2-cp37-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" -size = 241239 - -[packages.wheels.hashes] -sha256 = "d19fbd981a488e22cd04883659ca6b08f50b5974f9fd7c95655ef6a043e5893f" - -[[packages.wheels]] -name = "charset_normalizer-3.5.2-cp37-abi3-win_amd64.whl" -upload-time = 2026-09-30 04:38:49.707190+00:00 -url = "https://files.pythonhosted.org/packages/9d/8a/b618149cc5207943a0242068d7a27897f56a62947b5a039085f2a22029f8/charset_normalizer-3.5.2-cp37-abi3-win_amd64.whl" -size = 200092 - -[packages.wheels.hashes] -sha256 = "9f56f72050826f63dcee7a7f55b0a77168cb3bfc553fd405e7f8f9ece75a4036" - -[[packages.wheels]] -name = "charset_normalizer-3.5.2-py3-none-any.whl" -upload-time = 2026-09-30 04:39:21.828049+00:00 -url = "https://files.pythonhosted.org/packages/fc/ad/d07d7862a62ffa6d79d68074d14823243dd235a77c45262acbf6adeb28bf/charset_normalizer-3.5.2-py3-none-any.whl" -size = 68872 - -[packages.wheels.hashes] -sha256 = "b6b751274acb69d77b3323d6b7dbaa3c7fdfc1eb829b7eb61d262f32e1af9685" - -[[packages]] -name = "check-wheel-contents" -version = "0.6.3" -marker = "\"pkg-meta\" in dependency_groups" -requires-python = ">=3.10" -dependencies = [ - { name = "attrs" }, - { name = "click" }, - { name = "packaging" }, - { name = "pydantic" }, - { name = "wheel-filename" }, -] -index = "https://pypi.org/simple/" - -[packages.sdist] -name = "check_wheel_contents-0.6.3.tar.gz" -upload-time = 2025-08-02 14:01:45.546952+00:00 -url = "https://files.pythonhosted.org/packages/95/37/2b9e0d38c2f668791ffe8b97711185c364d91c027e47f189c371c2348d18/check_wheel_contents-0.6.3.tar.gz" -size = 586023 - -[packages.sdist.hashes] -sha256 = "10e6939e2fe4e6ce1edf2ff6ec6157808677e80782e78021ae139dd88473a442" - -[[packages.wheels]] -name = "check_wheel_contents-0.6.3-py3-none-any.whl" -upload-time = 2025-08-02 14:01:43.968164+00:00 -url = "https://files.pythonhosted.org/packages/be/05/f39fde9f31ef80b285ef5822fad4ddabf73fec62a1f02c5beb4b2f328972/check_wheel_contents-0.6.3-py3-none-any.whl" -size = 27541 - -[packages.wheels.hashes] -sha256 = "5ae39c8c434b972f0740d04610759168590713175aab584b012b1b84f6771874" - [[packages]] name = "click" version = "8.5.0" -marker = "\"pkg-meta\" in dependency_groups or \"release-news\" in dependency_groups or \"release-notes\" in dependency_groups or \"release-prepare\" in dependency_groups or \"release-validate\" in dependency_groups" +marker = "\"release-news\" in dependency_groups or \"release-notes\" in dependency_groups or \"release-prepare\" in dependency_groups or \"release-validate\" in dependency_groups" requires-python = ">=3.10" index = "https://pypi.org/simple/" @@ -318,216 +45,10 @@ size = 125251 [packages.wheels.hashes] sha256 = "255bc9599cf7748b4b1a446ccc735421bd08a2ae529a8b88597d3de5664ee360" -[[packages]] -name = "colorama" -version = "0.4.6" -marker = "\"lock-tools\" in dependency_groups and sys_platform == \"win32\"" -requires-python = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" -index = "https://pypi.org/simple/" - -[packages.sdist] -name = "colorama-0.4.6.tar.gz" -upload-time = 2022-10-25 02:36:22.414799+00:00 -url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz" -size = 27697 - -[packages.sdist.hashes] -sha256 = "08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44" - -[[packages.wheels]] -name = "colorama-0.4.6-py2.py3-none-any.whl" -upload-time = 2022-10-25 02:36:20.889702+00:00 -url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl" -size = 25335 - -[packages.wheels.hashes] -sha256 = "4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6" - -[[packages]] -name = "cryptography" -version = "50.0.2" -marker = "\"pkg-meta\" in dependency_groups and sys_platform == \"linux\"" -requires-python = "!=3.9.0,!=3.9.1,>=3.9" -dependencies = [ - { name = "cffi" }, -] -index = "https://pypi.org/simple/" - -[packages.sdist] -name = "cryptography-50.0.2.tar.gz" -upload-time = 2026-09-30 15:30:04.884601+00:00 -url = "https://files.pythonhosted.org/packages/9d/af/182eb91b0df3fe75c4d9f26fe70684569566745f6ba7e5c9c73a862c5252/cryptography-50.0.2.tar.gz" -size = 880623 - -[packages.sdist.hashes] -sha256 = "7b46165bb56eb4704e2eaaf86f3c940d19154535d9b0ca7d6d590b04060e00d5" - -[[packages.wheels]] -name = "cryptography-50.0.2-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" -upload-time = 2026-09-30 14:43:47.113016+00:00 -url = "https://files.pythonhosted.org/packages/d9/69/c9bd862c3bf43d6399c433caf002df16e2dffd4be49bdf515cda38038711/cryptography-50.0.2-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" -size = 4731146 - -[packages.wheels.hashes] -sha256 = "79def8d059362e7831389ed3be0ecdf58a89386e1271e35dd9f5af84e81bffd0" - -[[packages.wheels]] -name = "cryptography-50.0.2-cp311-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" -upload-time = 2026-09-30 14:43:49.010540+00:00 -url = "https://files.pythonhosted.org/packages/21/69/64cef1f702bf6657e0cc186ed1a2891d50d29fb41586b254e1c07adea261/cryptography-50.0.2-cp311-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" -size = 4719841 - -[packages.wheels.hashes] -sha256 = "630ebfea3bf689d075f82316324ff7433dc447fe6bc1bfc76524b74b4a9567d2" - -[[packages.wheels]] -name = "cryptography-50.0.2-cp311-abi3-manylinux_2_28_aarch64.whl" -upload-time = 2026-09-30 14:43:50.932452+00:00 -url = "https://files.pythonhosted.org/packages/38/6b/61a3f8d8c5e1e49a6cddccafc4015cc1c0021360ab0acb4080e7a423644a/cryptography-50.0.2-cp311-abi3-manylinux_2_28_aarch64.whl" -size = 4738340 - -[packages.wheels.hashes] -sha256 = "f9f6143a8c75945eb960d9eb98905a441394abfa24afaae239d514ffb2586480" - -[[packages.wheels]] -name = "cryptography-50.0.2-cp311-abi3-manylinux_2_28_x86_64.whl" -upload-time = 2026-09-30 14:43:55.272150+00:00 -url = "https://files.pythonhosted.org/packages/1a/f1/b474e930c4d910328780e3940da76f5aa5cbc48ce1fc14e44d239d9ea9db/cryptography-50.0.2-cp311-abi3-manylinux_2_28_x86_64.whl" -size = 4753050 - -[packages.wheels.hashes] -sha256 = "4061c0079120205fb760c58acab6443e217307dcf05e3702cf970e0689972856" - -[[packages.wheels]] -name = "cryptography-50.0.2-cp311-abi3-manylinux_2_34_aarch64.whl" -upload-time = 2026-09-30 14:43:59.541693+00:00 -url = "https://files.pythonhosted.org/packages/71/37/6202e488cc1eb625ea110c292c6bda92823176e023f427d8d5660ce8d632/cryptography-50.0.2-cp311-abi3-manylinux_2_34_aarch64.whl" -size = 4737859 - -[packages.wheels.hashes] -sha256 = "87e9ce85beb6b328ba370cc6e6aea483c92617b4c95b1d33a49297eb662bfb04" - -[[packages.wheels]] -name = "cryptography-50.0.2-cp311-abi3-manylinux_2_34_x86_64.whl" -upload-time = 2026-09-30 14:44:04.545137+00:00 -url = "https://files.pythonhosted.org/packages/d3/69/2c833a049475e0a3444e94c7d0aca0aa51d166374a449b09e92ac98138de/cryptography-50.0.2-cp311-abi3-manylinux_2_34_x86_64.whl" -size = 4752576 - -[packages.wheels.hashes] -sha256 = "9dab55f57c74c3cad24c323bacbbd04be4705ba6eb0d92e920b1fc4837ed5079" - -[[packages.wheels]] -name = "cryptography-50.0.2-cp315-abi3.abi3t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" -upload-time = 2026-09-30 14:44:43.693364+00:00 -url = "https://files.pythonhosted.org/packages/8c/75/32ac2a56243d778805c16ca6a32b8f74fb757df7e28d7ecb560afafb59cf/cryptography-50.0.2-cp315-abi3.abi3t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" -size = 4956267 - -[packages.wheels.hashes] -sha256 = "d370b8d1dfcdf7130178137f6fbee6140774a1acc6cacefc4b42643ec11d0a3a" - -[[packages.wheels]] -name = "cryptography-50.0.2-cp315-abi3.abi3t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" -upload-time = 2026-09-30 14:44:45.769143+00:00 -url = "https://files.pythonhosted.org/packages/aa/a4/2c8d734e43d97f0842ee9f1b7b4bfb3d0cf5e19edebf43c2afe6675c2320/cryptography-50.0.2-cp315-abi3.abi3t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" -size = 4966465 - -[packages.wheels.hashes] -sha256 = "f2f9bd7f90c64fe89253f0a2c05e3c4856072660429ce8831b4235bf29403a67" - -[[packages.wheels]] -name = "cryptography-50.0.2-cp315-abi3.abi3t-manylinux_2_28_aarch64.whl" -upload-time = 2026-09-30 14:44:48.211032+00:00 -url = "https://files.pythonhosted.org/packages/c2/58/ee288c829a6f41f6235ae9dd33d82fd19b45442b65b4c8a3da36963d9f7a/cryptography-50.0.2-cp315-abi3.abi3t-manylinux_2_28_aarch64.whl" -size = 4959356 - -[packages.wheels.hashes] -sha256 = "e275096ea1e60cc595cda2836fd4a6c725d1125108b868be17f53684d164e2cc" - -[[packages.wheels]] -name = "cryptography-50.0.2-cp315-abi3.abi3t-manylinux_2_28_x86_64.whl" -upload-time = 2026-09-30 14:44:53.379605+00:00 -url = "https://files.pythonhosted.org/packages/02/a8/8df951850d6b31d2a00218f19e2b3f999523437ed7a819df7fa427942fca/cryptography-50.0.2-cp315-abi3.abi3t-manylinux_2_28_x86_64.whl" -size = 5001199 - -[packages.wheels.hashes] -sha256 = "58a0c478eeca76fe5e07993c5a0703def34a6dc6a0cda4f5564639b33112ffe7" - -[[packages.wheels]] -name = "cryptography-50.0.2-cp315-abi3.abi3t-manylinux_2_34_aarch64.whl" -upload-time = 2026-09-30 14:44:59.639056+00:00 -url = "https://files.pythonhosted.org/packages/8c/72/20f99a219f6af47cdd1cbd978c243b92d71496e168a746138af44ded4f29/cryptography-50.0.2-cp315-abi3.abi3t-manylinux_2_34_aarch64.whl" -size = 4958822 - -[packages.wheels.hashes] -sha256 = "fdd28f912fccfec1846a94e2e1e8f9b0012f557f0c46fe4f3eb0d7a87afcf90b" - -[[packages.wheels]] -name = "cryptography-50.0.2-cp315-abi3.abi3t-manylinux_2_34_x86_64.whl" -upload-time = 2026-09-30 14:45:05.009031+00:00 -url = "https://files.pythonhosted.org/packages/24/95/83378121ef3eaaaf71d4b781577ff794acb39b9e1b87a3f156898c8497ed/cryptography-50.0.2-cp315-abi3.abi3t-manylinux_2_34_x86_64.whl" -size = 5000859 - -[packages.wheels.hashes] -sha256 = "e105ab60406787da31fccc883fc0f733af1efd78f0136a4599692c4083a73d0c" - -[[packages.wheels]] -name = "cryptography-50.0.2-cp39-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" -upload-time = 2026-09-30 15:29:24.580797+00:00 -url = "https://files.pythonhosted.org/packages/d5/8d/6d585339bedf85d45044c85d8412dac53f2bb6f918e8b7777efba1787844/cryptography-50.0.2-cp39-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" -size = 4756166 - -[packages.wheels.hashes] -sha256 = "c5e67125c7dca78d199ec4e116aa93dbb83494808ecbb8211a2cb09b1bf41dbd" - -[[packages.wheels]] -name = "cryptography-50.0.2-cp39-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" -upload-time = 2026-09-30 15:29:26.807001+00:00 -url = "https://files.pythonhosted.org/packages/bf/f1/1c1f6874e8550cfddd4b688ceb38cefb6ed15ceed224d56f133f3d88c214/cryptography-50.0.2-cp39-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" -size = 4749145 - -[packages.wheels.hashes] -sha256 = "ee247f5c245c9a2fe7c8e2214e295918838e44e00a45a6718451e4004219e767" - -[[packages.wheels]] -name = "cryptography-50.0.2-cp39-abi3-manylinux_2_28_aarch64.whl" -upload-time = 2026-09-30 15:29:28.588698+00:00 -url = "https://files.pythonhosted.org/packages/c1/63/61b15dc1a8de03fe0adbe3fd7608b3ad5c73bf50993bbcb1faaa930afe33/cryptography-50.0.2-cp39-abi3-manylinux_2_28_aarch64.whl" -size = 4763638 - -[packages.wheels.hashes] -sha256 = "dfe9763530994147d9af1def057a5b9658b00e8f8fe8743d144d1e0911c2e454" - -[[packages.wheels]] -name = "cryptography-50.0.2-cp39-abi3-manylinux_2_28_x86_64.whl" -upload-time = 2026-09-30 15:29:32.605292+00:00 -url = "https://files.pythonhosted.org/packages/4f/87/ef344a9e616871f2519c22d6afcda79ddd5d35e9592d95eb6e677608d055/cryptography-50.0.2-cp39-abi3-manylinux_2_28_x86_64.whl" -size = 4781387 - -[packages.wheels.hashes] -sha256 = "f21e8a22c8605750c7af886bab299a363721264061b4ac0a30efb73cfd58efc5" - -[[packages.wheels]] -name = "cryptography-50.0.2-cp39-abi3-manylinux_2_34_aarch64.whl" -upload-time = 2026-09-30 15:29:36.149639+00:00 -url = "https://files.pythonhosted.org/packages/bc/ce/7e4f662b1e3c393513569e402cfc85ac7da0bd3d5435e122a3140219eb2d/cryptography-50.0.2-cp39-abi3-manylinux_2_34_aarch64.whl" -size = 4764319 - -[packages.wheels.hashes] -sha256 = "0ddc924c04591c2811ca024d62ecad4f7f6f08af8939c211438f48a16bd23602" - -[[packages.wheels]] -name = "cryptography-50.0.2-cp39-abi3-manylinux_2_34_x86_64.whl" -upload-time = 2026-09-30 15:29:41.251208+00:00 -url = "https://files.pythonhosted.org/packages/40/cf/6b5c8e2fd9202d98988ab7cb5cc5c991704c4ad55f492ff408e4969f83f1/cryptography-50.0.2-cp39-abi3-manylinux_2_34_x86_64.whl" -size = 4780973 - -[packages.wheels.hashes] -sha256 = "1981f1db4630889b9ef7803fadef12b056f428cb6b85c27ba57b774793b6093c" - [[packages]] name = "docutils" version = "0.23" -marker = "\"pkg-meta\" in dependency_groups or \"release-news\" in dependency_groups or \"release-notes\" in dependency_groups or \"release-prepare\" in dependency_groups or \"release-validate\" in dependency_groups" +marker = "\"release-news\" in dependency_groups or \"release-notes\" in dependency_groups or \"release-prepare\" in dependency_groups or \"release-validate\" in dependency_groups" requires-python = ">=3.9" index = "https://pypi.org/simple/" @@ -609,218 +130,34 @@ sha256 = "b49677dbdc597460cc22d01b27ab3696f5e16a21ecf2700fb01bc28e1f2a04a7" [[packages]] name = "hatchling" version = "1.32.4" -marker = "\"build\" in dependency_groups" -requires-python = ">=3.10" -dependencies = [ - { name = "packaging" }, - { name = "pathspec" }, - { name = "pluggy" }, - { name = "tomlkit" }, - { name = "trove-classifiers" }, -] -index = "https://pypi.org/simple/" - -[packages.sdist] -name = "hatchling-1.32.4.tar.gz" -upload-time = 2026-09-20 22:48:45.398505+00:00 -url = "https://files.pythonhosted.org/packages/f6/97/b5312f01a8c6daf729a9d272dd442e0c546dbcc630495788786c4b567ed0/hatchling-1.32.4.tar.gz" -size = 58065 - -[packages.sdist.hashes] -sha256 = "c4468f73144c054d2aab4ef0f0378c43b9878bf07f8ffd6b79690e970d375f07" - -[[packages.wheels]] -name = "hatchling-1.32.4-py3-none-any.whl" -upload-time = 2026-09-20 22:48:44.190681+00:00 -url = "https://files.pythonhosted.org/packages/5f/80/91f51f439c05d4ec4623c22928ce16a938d6d793bf709477830823497859/hatchling-1.32.4-py3-none-any.whl" -size = 78748 - -[packages.wheels.hashes] -sha256 = "08ecf7548fb48205e7f213d70c71e67b8271b7242093dc3f1da578b42c734a2c" - -[[packages]] -name = "id" -version = "1.6.1" -marker = "\"pkg-meta\" in dependency_groups" -requires-python = ">=3.9" -dependencies = [ - { name = "urllib3" }, -] -index = "https://pypi.org/simple/" - -[packages.sdist] -name = "id-1.6.1.tar.gz" -upload-time = 2026-02-04 16:19:41.260133+00:00 -url = "https://files.pythonhosted.org/packages/6d/04/c2156091427636080787aac190019dc64096e56a23b7364d3c1764ee3a06/id-1.6.1.tar.gz" -size = 18088 - -[packages.sdist.hashes] -sha256 = "d0732d624fb46fd4e7bc4e5152f00214450953b9e772c182c1c22964def1a069" - -[[packages.wheels]] -name = "id-1.6.1-py3-none-any.whl" -upload-time = 2026-02-04 16:19:40.051745+00:00 -url = "https://files.pythonhosted.org/packages/42/77/de194443bf38daed9452139e960c632b0ef9f9a5dd9ce605fdf18ca9f1b1/id-1.6.1-py3-none-any.whl" -size = 14689 - -[packages.wheels.hashes] -sha256 = "f5ec41ed2629a508f5d0988eda142e190c9c6da971100612c4de9ad9f9b237ca" - -[[packages]] -name = "idna" -version = "3.20" -marker = "\"pkg-meta\" in dependency_groups" -requires-python = ">=3.9" -index = "https://pypi.org/simple/" - -[packages.sdist] -name = "idna-3.20.tar.gz" -upload-time = 2026-09-17 14:11:04.752193+00:00 -url = "https://files.pythonhosted.org/packages/f5/08/8eea9d4b8302028f3abb2c0813953f7aec26d33b7a8960ed760e65ff29fa/idna-3.20.tar.gz" -size = 216463 - -[packages.sdist.hashes] -sha256 = "a7db850025b95ded1eae8a46181a1a6c56c92c96f0e2b005d9ff8dc0210cab44" - -[[packages.wheels]] -name = "idna-3.20-py3-none-any.whl" -upload-time = 2026-09-17 14:11:03.168153+00:00 -url = "https://files.pythonhosted.org/packages/58/a2/bb081bab032533a855d44de1d56f8e8426114ff1ba5d1f07a438a0a654f8/idna-3.20-py3-none-any.whl" -size = 69583 - -[packages.wheels.hashes] -sha256 = "ab7ae7122974553370f0bdb919e1a960b2cd1bc1ef0276416d896db81c14582c" - -[[packages]] -name = "installer" -version = "1.1.0" -marker = "\"lock-tools\" in dependency_groups" -requires-python = ">=3.10" -index = "https://pypi.org/simple/" - -[packages.sdist] -name = "installer-1.1.0.tar.gz" -upload-time = 2026-10-12 19:35:52.851170+00:00 -url = "https://files.pythonhosted.org/packages/56/d3/2fab33d15004d41ae8e7b5d3e310510f7f34a7e1dd032a3e60d8b38d8fba/installer-1.1.0.tar.gz" -size = 481257 - -[packages.sdist.hashes] -sha256 = "5adc0c01ce62d809989e246987cd68944fe5df8af562d0358f65b2ab15cb5de7" - -[[packages.wheels]] -name = "installer-1.1.0-py3-none-any.whl" -upload-time = 2026-10-12 19:35:51.096942+00:00 -url = "https://files.pythonhosted.org/packages/d7/7a/63547a792a12148882205d79e07644091d5b7690f40c2bb9d41452a8bdc2/installer-1.1.0-py3-none-any.whl" -size = 464466 - -[packages.wheels.hashes] -sha256 = "f55f5728ff61d3dd54dbc5a397cf3f7307cb64b180c20b72afbebf01c9e2c8a0" - -[[packages]] -name = "jaraco-classes" -version = "3.4.0" -marker = "\"pkg-meta\" in dependency_groups" -requires-python = ">=3.8" -dependencies = [ - { name = "more-itertools" }, -] -index = "https://pypi.org/simple/" - -[packages.sdist] -name = "jaraco.classes-3.4.0.tar.gz" -upload-time = 2024-03-31 07:27:36.643708+00:00 -url = "https://files.pythonhosted.org/packages/06/c0/ed4a27bc5571b99e3cff68f8a9fa5b56ff7df1c2251cc715a652ddd26402/jaraco.classes-3.4.0.tar.gz" -size = 11780 - -[packages.sdist.hashes] -sha256 = "47a024b51d0239c0dd8c8540c6c7f484be3b8fcf0b2d85c13825780d3b3f3acd" - -[[packages.wheels]] -name = "jaraco.classes-3.4.0-py3-none-any.whl" -upload-time = 2024-03-31 07:27:34.792832+00:00 -url = "https://files.pythonhosted.org/packages/7f/66/b15ce62552d84bbfcec9a4873ab79d993a1dd4edb922cbfccae192bd5b5f/jaraco.classes-3.4.0-py3-none-any.whl" -size = 6777 - -[packages.wheels.hashes] -sha256 = "f662826b6bed8cace05e7ff873ce0f9283b5c924470fe664fff1c2f00f581790" - -[[packages]] -name = "jaraco-context" -version = "6.1.2" -marker = "\"pkg-meta\" in dependency_groups" -requires-python = ">=3.10" -index = "https://pypi.org/simple/" - -[packages.sdist] -name = "jaraco_context-6.1.2.tar.gz" -upload-time = 2026-03-20 22:13:33.922545+00:00 -url = "https://files.pythonhosted.org/packages/af/50/4763cd07e722bb6285316d390a164bc7e479db9d90daa769f22578f698b4/jaraco_context-6.1.2.tar.gz" -size = 16801 - -[packages.sdist.hashes] -sha256 = "f1a6c9d391e661cc5b8d39861ff077a7dc24dc23833ccee564b234b81c82dfe3" - -[[packages.wheels]] -name = "jaraco_context-6.1.2-py3-none-any.whl" -upload-time = 2026-03-20 22:13:32.808832+00:00 -url = "https://files.pythonhosted.org/packages/f2/58/bc8954bda5fcda97bd7c19be11b85f91973d67a706ed4a3aec33e7de22db/jaraco_context-6.1.2-py3-none-any.whl" -size = 7871 - -[packages.wheels.hashes] -sha256 = "bf8150b79a2d5d91ae48629d8b427a8f7ba0e1097dd6202a9059f29a36379535" - -[[packages]] -name = "jaraco-functools" -version = "4.6.0" -marker = "\"pkg-meta\" in dependency_groups" -requires-python = ">=3.10" -dependencies = [ - { name = "more-itertools" }, -] -index = "https://pypi.org/simple/" - -[packages.sdist] -name = "jaraco_functools-4.6.0.tar.gz" -upload-time = 2026-07-14 01:28:02.544761+00:00 -url = "https://files.pythonhosted.org/packages/6c/1f/c23395957d41ccf27c4e535c3d334c4051e5395b3752057ba4cbaec35c56/jaraco_functools-4.6.0.tar.gz" -size = 20837 - -[packages.sdist.hashes] -sha256 = "880c577ec9720b3a052d5bc611fb9f2269b3d87902ef42440df443b88e443280" - -[[packages.wheels]] -name = "jaraco_functools-4.6.0-py3-none-any.whl" -upload-time = 2026-07-14 01:28:01.590470+00:00 -url = "https://files.pythonhosted.org/packages/02/36/ecc85bc96c273dc8a11273ed4782272975e6338d4a3e9228621175edf0e3/jaraco_functools-4.6.0-py3-none-any.whl" -size = 11677 - -[packages.wheels.hashes] -sha256 = "99e3dc0060c5cbe8fcd1cdb36258e2a65ca40f1566b2033b12abb1bb44dd3c30" - -[[packages]] -name = "jeepney" -version = "0.9.0" -marker = "\"pkg-meta\" in dependency_groups and sys_platform == \"linux\"" -requires-python = ">=3.7" +marker = "\"build\" in dependency_groups" +requires-python = ">=3.10" +dependencies = [ + { name = "packaging" }, + { name = "pathspec" }, + { name = "pluggy" }, + { name = "tomlkit" }, + { name = "trove-classifiers" }, +] index = "https://pypi.org/simple/" [packages.sdist] -name = "jeepney-0.9.0.tar.gz" -upload-time = 2025-02-27 18:51:01.684959+00:00 -url = "https://files.pythonhosted.org/packages/7b/6f/357efd7602486741aa73ffc0617fb310a29b588ed0fd69c2399acbb85b0c/jeepney-0.9.0.tar.gz" -size = 106758 +name = "hatchling-1.32.4.tar.gz" +upload-time = 2026-09-20 22:48:45.398505+00:00 +url = "https://files.pythonhosted.org/packages/f6/97/b5312f01a8c6daf729a9d272dd442e0c546dbcc630495788786c4b567ed0/hatchling-1.32.4.tar.gz" +size = 58065 [packages.sdist.hashes] -sha256 = "cf0e9e845622b81e4a28df94c40345400256ec608d0e55bb8a3feaa9163f5732" +sha256 = "c4468f73144c054d2aab4ef0f0378c43b9878bf07f8ffd6b79690e970d375f07" [[packages.wheels]] -name = "jeepney-0.9.0-py3-none-any.whl" -upload-time = 2025-02-27 18:51:00.104279+00:00 -url = "https://files.pythonhosted.org/packages/b2/a3/e137168c9c44d18eff0376253da9f1e9234d0239e0ee230d2fee6cea8e55/jeepney-0.9.0-py3-none-any.whl" -size = 49010 +name = "hatchling-1.32.4-py3-none-any.whl" +upload-time = 2026-09-20 22:48:44.190681+00:00 +url = "https://files.pythonhosted.org/packages/5f/80/91f51f439c05d4ec4623c22928ce16a938d6d793bf709477830823497859/hatchling-1.32.4-py3-none-any.whl" +size = 78748 [packages.wheels.hashes] -sha256 = "97e5714520c16fc0a45695e5365a2e11b81ea79bba796e26f9f1d178cb182683" +sha256 = "08ecf7548fb48205e7f213d70c71e67b8271b7242093dc3f1da578b42c734a2c" [[packages]] name = "jinja2" @@ -850,43 +187,10 @@ size = 134899 [packages.wheels.hashes] sha256 = "85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67" -[[packages]] -name = "keyring" -version = "25.7.0" -marker = "\"pkg-meta\" in dependency_groups" -requires-python = ">=3.9" -dependencies = [ - { name = "jaraco-classes" }, - { name = "jaraco-context" }, - { name = "jaraco-functools" }, - { name = "jeepney" }, - { name = "pywin32-ctypes" }, - { name = "secretstorage" }, -] -index = "https://pypi.org/simple/" - -[packages.sdist] -name = "keyring-25.7.0.tar.gz" -upload-time = 2025-11-16 16:26:09.482176+00:00 -url = "https://files.pythonhosted.org/packages/43/4b/674af6ef2f97d56f0ab5153bf0bfa28ccb6c3ed4d1babf4305449668807b/keyring-25.7.0.tar.gz" -size = 63516 - -[packages.sdist.hashes] -sha256 = "fe01bd85eb3f8fb3dd0405defdeac9a5b4f6f0439edbb3149577f244a2e8245b" - -[[packages.wheels]] -name = "keyring-25.7.0-py3-none-any.whl" -upload-time = 2025-11-16 16:26:08.402146+00:00 -url = "https://files.pythonhosted.org/packages/81/db/e655086b7f3a705df045bf0933bdd9c2f79bb3c97bfef1384598bb79a217/keyring-25.7.0-py3-none-any.whl" -size = 39160 - -[packages.wheels.hashes] -sha256 = "be4a0b195f149690c166e850609a477c532ddbfbaed96a404d4e43f8d5e2689f" - [[packages]] name = "markdown-it-py" version = "4.2.0" -marker = "\"pkg-meta\" in dependency_groups or \"release-news\" in dependency_groups or \"release-notes\" in dependency_groups or \"release-prepare\" in dependency_groups or \"release-validate\" in dependency_groups" +marker = "\"release-news\" in dependency_groups or \"release-notes\" in dependency_groups or \"release-prepare\" in dependency_groups or \"release-validate\" in dependency_groups" requires-python = ">=3.10" dependencies = [ { name = "mdurl" }, @@ -1053,7 +357,7 @@ sha256 = "214c82fb2ac524472ab6a5bcab1de80f73b50443e187f401bfd77efbc7c6481d" [[packages]] name = "mdurl" version = "0.1.2" -marker = "\"pkg-meta\" in dependency_groups or \"release-news\" in dependency_groups or \"release-notes\" in dependency_groups or \"release-prepare\" in dependency_groups or \"release-validate\" in dependency_groups" +marker = "\"release-news\" in dependency_groups or \"release-notes\" in dependency_groups or \"release-prepare\" in dependency_groups or \"release-validate\" in dependency_groups" requires-python = ">=3.7" index = "https://pypi.org/simple/" @@ -1075,271 +379,10 @@ size = 9979 [packages.wheels.hashes] sha256 = "84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8" -[[packages]] -name = "more-itertools" -version = "11.2.1" -marker = "\"pkg-meta\" in dependency_groups" -requires-python = ">=3.11" -index = "https://pypi.org/simple/" - -[packages.sdist] -name = "more_itertools-11.2.1.tar.gz" -upload-time = 2026-10-14 18:50:30.407709+00:00 -url = "https://files.pythonhosted.org/packages/52/b8/c63995bebbb9ac9c059350e0fb8c82c2420c85aeca7d34e40aecf3df9281/more_itertools-11.2.1.tar.gz" -size = 154133 - -[packages.sdist.hashes] -sha256 = "cbf08fd0af284dc69718b9b76a8e6203df624d70209ea511e4219d350c856f63" - -[[packages.wheels]] -name = "more_itertools-11.2.1-py3-none-any.whl" -upload-time = 2026-10-14 18:50:29.116732+00:00 -url = "https://files.pythonhosted.org/packages/5d/57/3c4b1c6f2e0cc29ba023802458ea3d2a996f87085559e4a5f2192d549532/more_itertools-11.2.1-py3-none-any.whl" -size = 74405 - -[packages.wheels.hashes] -sha256 = "35a7377edd1dd6608dcb2cdf534ded55ea32d49448875ad042cd3f879fb1ded0" - -[[packages]] -name = "nab" -version = "0.0.22" -marker = "\"lock-tools\" in dependency_groups" -requires-python = ">=3.10" -dependencies = [ - { name = "nab-index" }, - { name = "nab-markersets" }, - { name = "nab-project" }, - { name = "nab-provider" }, - { name = "nab-resolver" }, - { name = "tomli" }, - { name = "typing-extensions" }, -] -index = "https://pypi.org/simple/" - -[packages.sdist] -name = "nab-0.0.22.tar.gz" -upload-time = 2026-10-18 05:45:08.513928+00:00 -url = "https://files.pythonhosted.org/packages/25/3d/e4c8f4b2890efbf2fa6eef82acf57ecc0ef39b0a1e6843d306d2053a107c/nab-0.0.22.tar.gz" -size = 286128 - -[packages.sdist.hashes] -sha256 = "a0da54ee96bf1eb1997581566620c250c8a3557139e9467ccaced2a12e9e71ac" - -[[packages.wheels]] -name = "nab-0.0.22-py3-none-any.whl" -upload-time = 2026-10-18 05:45:06.803974+00:00 -url = "https://files.pythonhosted.org/packages/56/4b/77baa0ddb0b7578b6475b2b578fa4579207b0f97e0b3b80480e01dcb3d6f/nab-0.0.22-py3-none-any.whl" -size = 137802 - -[packages.wheels.hashes] -sha256 = "f62fcf75b28786fbf58627f6d7eaa735daefbc7f736715403bc4357acb57e7bb" - -[[packages]] -name = "nab-index" -version = "0.0.22" -marker = "\"lock-tools\" in dependency_groups" -requires-python = ">=3.10" -dependencies = [ - { name = "nab-provider" }, - { name = "packaging" }, - { name = "truststore" }, - { name = "typing-extensions" }, - { name = "urllib3" }, -] -index = "https://pypi.org/simple/" - -[packages.sdist] -name = "nab_index-0.0.22.tar.gz" -upload-time = 2026-10-18 05:44:43.857925+00:00 -url = "https://files.pythonhosted.org/packages/2a/83/8d2483239b7dc5ac8d9f758db1cc19d4129d0143d34c2e1ab8cd48ea71fb/nab_index-0.0.22.tar.gz" -size = 110621 - -[packages.sdist.hashes] -sha256 = "5900ea5ad298512379cfddff1a73a544590f0b04620ef58ff345f99a7c59688e" - -[[packages.wheels]] -name = "nab_index-0.0.22-py3-none-any.whl" -upload-time = 2026-10-18 05:44:42.188007+00:00 -url = "https://files.pythonhosted.org/packages/c0/58/c06ada29934a78479b989675829f26083972f38bf1e8a2503e01101cb970/nab_index-0.0.22-py3-none-any.whl" -size = 88373 - -[packages.wheels.hashes] -sha256 = "c89ffa607dfe4246dc59e9f5236d54413da3d310183ffa3298ba51a48e7c2ec7" - -[[packages]] -name = "nab-markersets" -version = "0.0.22" -marker = "\"lock-tools\" in dependency_groups" -requires-python = ">=3.10" -index = "https://pypi.org/simple/" - -[packages.sdist] -name = "nab_markersets-0.0.22.tar.gz" -upload-time = 2026-10-18 05:44:19.580614+00:00 -url = "https://files.pythonhosted.org/packages/fc/b7/3997893dfdada9998d4dc786c10445a1361e197b4aed54ddd866c84dd538/nab_markersets-0.0.22.tar.gz" -size = 109258 - -[packages.sdist.hashes] -sha256 = "38212664f517f75d798808ecfe902bfd11fef340042ab0203100c7e06e78eea5" - -[[packages.wheels]] -name = "nab_markersets-0.0.22-py3-none-any.whl" -upload-time = 2026-10-18 05:44:18.237004+00:00 -url = "https://files.pythonhosted.org/packages/5e/9e/9744adff3a66633a811f8253faaa8b91a447c99199edba16f2790e3647ea/nab_markersets-0.0.22-py3-none-any.whl" -size = 44360 - -[packages.wheels.hashes] -sha256 = "ad268dcece034495b2ea31a70250cd43cc4f6123039a548762c7ec8826e5d3bd" - -[[packages]] -name = "nab-project" -version = "0.0.22" -marker = "\"lock-tools\" in dependency_groups" -requires-python = ">=3.10" -dependencies = [ - { name = "build" }, - { name = "installer" }, - { name = "nab-index" }, - { name = "nab-markersets" }, - { name = "nab-provider" }, - { name = "nab-resolver" }, - { name = "packaging" }, - { name = "pyproject-hooks" }, - { name = "tomli" }, - { name = "tomli-w" }, - { name = "typing-extensions" }, -] -index = "https://pypi.org/simple/" - -[packages.sdist] -name = "nab_project-0.0.22.tar.gz" -upload-time = 2026-10-18 05:44:55.821489+00:00 -url = "https://files.pythonhosted.org/packages/65/84/f5197d4044ceda9c6ee3e7aefce154ab616fec632fa1d89cdfaacc665c07/nab_project-0.0.22.tar.gz" -size = 774409 - -[packages.sdist.hashes] -sha256 = "5f7a1dee5b618149267b2b6233c3a220e45cd6f97bd5ec7f3f48fa7570e9f053" - -[[packages.wheels]] -name = "nab_project-0.0.22-py3-none-any.whl" -upload-time = 2026-10-18 05:44:53.956127+00:00 -url = "https://files.pythonhosted.org/packages/de/c9/62affa4df6cabce48751307c4c3adfbaa8c54e402d464d015897a16a6dba/nab_project-0.0.22-py3-none-any.whl" -size = 148262 - -[packages.wheels.hashes] -sha256 = "cb09fa143105fd99a60609b3ff4830924b0d4eaf5abad48678467ec4b73e577f" - -[[packages]] -name = "nab-provider" -version = "0.0.22" -marker = "\"lock-tools\" in dependency_groups" -requires-python = ">=3.10" -dependencies = [ - { name = "nab-markersets" }, - { name = "nab-resolver" }, - { name = "typing-extensions" }, -] -index = "https://pypi.org/simple/" - -[packages.sdist] -name = "nab_provider-0.0.22.tar.gz" -upload-time = 2026-10-18 05:44:31.579358+00:00 -url = "https://files.pythonhosted.org/packages/94/0d/64fbadae562fefc00257c4f5ec988171d6e6b3ea4363f1da2e8886e80228/nab_provider-0.0.22.tar.gz" -size = 409367 - -[packages.sdist.hashes] -sha256 = "3f129ab7394bf5eb031152c3535ee74073e2a6b6ae081fb7f5a4d269fcf5f8a0" - -[[packages.wheels]] -name = "nab_provider-0.0.22-py3-none-any.whl" -upload-time = 2026-10-18 05:44:29.803721+00:00 -url = "https://files.pythonhosted.org/packages/30/67/32bda18d34f0f8ec098f8e4a0f792164ef1a4b2aa61d435d20f4645572af/nab_provider-0.0.22-py3-none-any.whl" -size = 339242 - -[packages.wheels.hashes] -sha256 = "1450c9dc58b23da1a7bde7fdb43a72b043327bd0e3ef20435254ffcb8b7eae6b" - -[[packages]] -name = "nab-resolver" -version = "0.0.22" -marker = "\"lock-tools\" in dependency_groups" -requires-python = ">=3.10" -index = "https://pypi.org/simple/" - -[packages.sdist] -name = "nab_resolver-0.0.22.tar.gz" -upload-time = 2026-10-18 05:44:08.017044+00:00 -url = "https://files.pythonhosted.org/packages/84/bc/dcbfe5163538b1cc8421797e3f8ff77d79321cbc9943af8065e2c8ae1c09/nab_resolver-0.0.22.tar.gz" -size = 167648 - -[packages.sdist.hashes] -sha256 = "e005b225213e032858cf4aef3850961aaa1d4ea521428da731f33175ebd3b05f" - -[[packages.wheels]] -name = "nab_resolver-0.0.22-py3-none-any.whl" -upload-time = 2026-10-18 05:44:06.445864+00:00 -url = "https://files.pythonhosted.org/packages/22/a8/6e30b25ae12e0c662dc9b181a7f32fa8cd22f26016f12dc1d10176f62bba/nab_resolver-0.0.22-py3-none-any.whl" -size = 58597 - -[packages.wheels.hashes] -sha256 = "6f77daa98279ef0eedb9e8f2248aee4c50e01b92b470b68886995e5056d79971" - -[[packages]] -name = "nh3" -version = "0.3.7" -marker = "\"pkg-meta\" in dependency_groups" -requires-python = ">=3.8" -index = "https://pypi.org/simple/" - -[packages.sdist] -name = "nh3-0.3.7.tar.gz" -upload-time = 2026-08-23 14:26:30.728660+00:00 -url = "https://files.pythonhosted.org/packages/18/2f/022b27146d52d24b1b353b003359134788ecbcd6fcdf6283adbd57c0fbc8/nh3-0.3.7.tar.gz" -size = 25662 - -[packages.sdist.hashes] -sha256 = "71860d01c16f4d8c72e334e0674beb2b0899dbd0bf760de18932ef4390303848" - -[[packages.wheels]] -name = "nh3-0.3.7-cp38-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl" -upload-time = 2026-08-23 14:26:09.025294+00:00 -url = "https://files.pythonhosted.org/packages/94/0d/c257754bf57f829f307aa226bbe136d3a1356b5a0d08324c7b6bd2a8aacd/nh3-0.3.7-cp38-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl" -size = 1493959 - -[packages.wheels.hashes] -sha256 = "6c3aa50eb26e9228238271db9f983cbc3b006dfbfeca2d4dc34c33ddc6ac5ea5" - -[[packages.wheels]] -name = "nh3-0.3.7-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" -upload-time = 2026-08-23 14:26:10.606442+00:00 -url = "https://files.pythonhosted.org/packages/07/42/a687e7091928806e514f89fa2666f25ec9bfe0a902fc4402b25e51ce408b/nh3-0.3.7-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" -size = 859615 - -[packages.wheels.hashes] -sha256 = "f266d3f1b3647449923a8e406524632220dd5d8b647078dfe45b885d33d10479" - -[[packages.wheels]] -name = "nh3-0.3.7-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" -upload-time = 2026-08-23 14:26:17.272038+00:00 -url = "https://files.pythonhosted.org/packages/a6/ed/c5510c615dce55b6fcc364aa1838142f938beed64f5e4927490dfcaf4405/nh3-0.3.7-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" -size = 832161 - -[packages.wheels.hashes] -sha256 = "70f5ac8626e899a4bab0ef74ca2f5bd602f49c7b739e6e5026b4afc6d63dac42" - -[[packages.wheels]] -name = "nh3-0.3.7-cp38-abi3-win_amd64.whl" -upload-time = 2026-08-23 14:26:28.294566+00:00 -url = "https://files.pythonhosted.org/packages/b4/b9/34433ccb1f0fe6968dabbb7d4bf5721c6221878ef07832748c06655a6a80/nh3-0.3.7-cp38-abi3-win_amd64.whl" -size = 644462 - -[packages.wheels.hashes] -sha256 = "618e3059caf41ccdf5dcccb3fa9df4cf6e4efe23d1382a8bbfca272a8a4f8bfc" - [[packages]] name = "packaging" version = "26.3" -marker = "\"build\" in dependency_groups or \"lock-tools\" in dependency_groups or \"pkg-meta\" in dependency_groups or \"project-runtime\" in dependency_groups or \"release-news\" in dependency_groups or \"release-notes\" in dependency_groups or \"release-prepare\" in dependency_groups or \"release-validate\" in dependency_groups" +marker = "\"build\" in dependency_groups or \"project-runtime\" in dependency_groups or \"release-news\" in dependency_groups or \"release-notes\" in dependency_groups or \"release-prepare\" in dependency_groups or \"release-validate\" in dependency_groups" requires-python = ">=3.9" index = "https://pypi.org/simple/" @@ -1438,225 +481,39 @@ sha256 = "2f610927b95e84b28173a4c810892a7b5d5bb55bee792ddf97178fa97654633e" [[packages.wheels]] name = "prek-0.5.5-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl" -upload-time = 2026-10-05 06:08:44.051128+00:00 -url = "https://files.pythonhosted.org/packages/47/c3/2bab54f6393fb9f247225681d476086e24fa6242f329e9ca1e5bd638ec50/prek-0.5.5-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl" -size = 5848228 - -[packages.wheels.hashes] -sha256 = "120ef7d4b6bb58155e74827743c266e48501efb0e4c37ff726b14fe6e86a126b" - -[[packages.wheels]] -name = "prek-0.5.5-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" -upload-time = 2026-10-05 06:08:48.645837+00:00 -url = "https://files.pythonhosted.org/packages/93/fc/e566be5919eaffef4cc22488f16e4bbfd08961734bd67c06f85d405e4cbc/prek-0.5.5-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" -size = 6269922 - -[packages.wheels.hashes] -sha256 = "73d509c0d9556171de2502bada4962be7a25871e7b23e782549074e1416dc850" - -[[packages.wheels]] -name = "prek-0.5.5-py3-none-manylinux_2_28_aarch64.whl" -upload-time = 2026-10-05 06:08:50.808055+00:00 -url = "https://files.pythonhosted.org/packages/d2/39/a48d8e6203055bff7bb734b1f2f9aede4a4539bee6ab4c9273dbc01fa546/prek-0.5.5-py3-none-manylinux_2_28_aarch64.whl" -size = 5861518 - -[packages.wheels.hashes] -sha256 = "76c867fdbd4e4f19e6b6b2988bd1e1407d1324170ebcf1428e4e34f8f0751a99" - -[[packages.wheels]] -name = "prek-0.5.5-py3-none-win_amd64.whl" -upload-time = 2026-10-05 06:08:55.056244+00:00 -url = "https://files.pythonhosted.org/packages/8c/04/1e9ccf3a61a3bfd4107b83973f7afde9177b6ff8f2d5d4b00125e77c2100/prek-0.5.5-py3-none-win_amd64.whl" -size = 5784759 - -[packages.wheels.hashes] -sha256 = "15bff9039349466ea9bf6b0c173b822ff08f8ae4cfbfdea782492e519c06d874" - -[[packages]] -name = "pycparser" -version = "3.11" -marker = "\"pkg-meta\" in dependency_groups and sys_platform == \"linux\"" -requires-python = ">=3.10" -index = "https://pypi.org/simple/" - -[packages.sdist] -name = "pycparser-3.11.tar.gz" -upload-time = 2026-10-09 12:56:59.539345+00:00 -url = "https://files.pythonhosted.org/packages/da/a8/c5fdbeee588bb8ada9458774f43adf1bdd30bd59157055142183e769a024/pycparser-3.11.tar.gz" -size = 113796 - -[packages.sdist.hashes] -sha256 = "d875f09c3507d00e1aba0eecc6dcadc1352f30fff09dc6bff2f1c2935e97c2bc" - -[[packages.wheels]] -name = "pycparser-3.11-py3-none-any.whl" -upload-time = 2026-10-09 12:56:58.131173+00:00 -url = "https://files.pythonhosted.org/packages/90/11/0e6f11117525ff0eec40ebac3d313376f102df93ca44ad9e893ee85e4f89/pycparser-3.11-py3-none-any.whl" -size = 51178 - -[packages.wheels.hashes] -sha256 = "51d5a8ba2be0bbe440b99d2112604c95bbbc3c2748a64260186c541e1729cd80" - -[[packages]] -name = "pydantic" -version = "2.14.1" -marker = "\"pkg-meta\" in dependency_groups" -requires-python = ">=3.10" -dependencies = [ - { name = "annotated-types" }, - { name = "pydantic-core" }, - { name = "typing-extensions" }, - { name = "typing-inspection" }, -] -index = "https://pypi.org/simple/" - -[packages.sdist] -name = "pydantic-2.14.1.tar.gz" -upload-time = 2026-10-11 18:37:55.396662+00:00 -url = "https://files.pythonhosted.org/packages/7c/0b/8e10b2e693af8ec54346a14caf36221334775975a747c9ceaa3f8371d96d/pydantic-2.14.1.tar.gz" -size = 900362 - -[packages.sdist.hashes] -sha256 = "94f478203dd03404682a1ada216965651dd74b1d2d5ffd62e00e0837caab5c26" - -[[packages.wheels]] -name = "pydantic-2.14.1-py3-none-any.whl" -upload-time = 2026-10-11 18:37:53.437059+00:00 -url = "https://files.pythonhosted.org/packages/35/ea/a56b9fe5066f3537b7882f77e9c5dfb26d8c2eefdaed9b5fc73d57b4dc22/pydantic-2.14.1-py3-none-any.whl" -size = 488106 - -[packages.wheels.hashes] -sha256 = "9195d967ec791692a04438115466764fb8b9a27b31f14a760437694f40d6b454" - -[[packages]] -name = "pydantic-core" -version = "2.50.1" -marker = "\"pkg-meta\" in dependency_groups" -requires-python = ">=3.10" -dependencies = [ - { name = "typing-extensions" }, -] -index = "https://pypi.org/simple/" - -[packages.sdist] -name = "pydantic_core-2.50.1.tar.gz" -upload-time = 2026-10-11 18:35:44.820993+00:00 -url = "https://files.pythonhosted.org/packages/a6/24/af4ec4be49fbc810f35b0bdcacc3d433b56bbfa469fd3bfd4ae116cd9bf1/pydantic_core-2.50.1.tar.gz" -size = 513515 - -[packages.sdist.hashes] -sha256 = "e50d7b94baac6c7d09927fa5ca5800a0c7ee5015c7fcff65beb3a1931b5a6e09" - -[[packages.wheels]] -name = "pydantic_core-2.50.1-cp315-cp315-macosx_11_0_arm64.whl" -upload-time = 2026-10-11 18:34:05.901276+00:00 -url = "https://files.pythonhosted.org/packages/4d/90/a63cf8586abc1d1a3f6d9b18f0224789ebf003851f092ebda3c7c863fd32/pydantic_core-2.50.1-cp315-cp315-macosx_11_0_arm64.whl" -size = 2024191 - -[packages.wheels.hashes] -sha256 = "84f34323a61a365b4e9295de6028474754829aaddd59c7bf1a040e7487ef8f3c" - -[[packages.wheels]] -name = "pydantic_core-2.50.1-cp315-cp315-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" -upload-time = 2026-10-11 18:34:07.757584+00:00 -url = "https://files.pythonhosted.org/packages/a6/6a/f34bff9808ffb4907fbf5f5040457d253cacf2da7fce9efbc99ca1b1a44d/pydantic_core-2.50.1-cp315-cp315-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" -size = 2048252 - -[packages.wheels.hashes] -sha256 = "23edad659e8dbd8ca7e4e877fe6c81573abbdf215bd25a68b53e1272f58b80c7" - -[[packages.wheels]] -name = "pydantic_core-2.50.1-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" -upload-time = 2026-10-11 18:34:15.560294+00:00 -url = "https://files.pythonhosted.org/packages/b8/0d/1b1149f60a00ea21ba5f70e28acbd40feb4598af414f80f53c921fac07c9/pydantic_core-2.50.1-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" -size = 2159961 - -[packages.wheels.hashes] -sha256 = "7689580e72a642ab5ec64d5f55b2e33636fa43b4ebe63c0c2c965ef307c7d1aa" - -[[packages.wheels]] -name = "pydantic_core-2.50.1-cp315-cp315-win_amd64.whl" -upload-time = 2026-10-11 18:34:29.508272+00:00 -url = "https://files.pythonhosted.org/packages/5f/98/f9bd7e1f9b6709f155acb9ef826d9c3884fe925f811fd8e55b9b52280bad/pydantic_core-2.50.1-cp315-cp315-win_amd64.whl" -size = 2171681 - -[packages.wheels.hashes] -sha256 = "983a662de2571cb2502fc8ff47b6770b03d025d2eb314c92f77b3f07c74720ed" - -[[packages]] -name = "pygments" -version = "2.21.0" -marker = "\"pkg-meta\" in dependency_groups" -requires-python = ">=3.9" -index = "https://pypi.org/simple/" - -[packages.sdist] -name = "pygments-2.21.0.tar.gz" -upload-time = 2026-08-17 08:02:48.824391+00:00 -url = "https://files.pythonhosted.org/packages/49/2e/ced460408999b33da6b31b0021b0f37d329e202d4169aeb164493778f25b/pygments-2.21.0.tar.gz" -size = 5005329 - -[packages.sdist.hashes] -sha256 = "610ca751c9bc2492b38eb9a38a7fbc93edbbb2d7182edaf34e66ae493dee5c8c" - -[[packages.wheels]] -name = "pygments-2.21.0-py3-none-any.whl" -upload-time = 2026-08-17 08:02:44.912148+00:00 -url = "https://files.pythonhosted.org/packages/71/46/17f022dd3e953bf20a04a028a21ec746d942f8d2af30fa0f124fa0e6a684/pygments-2.21.0-py3-none-any.whl" -size = 1250147 - -[packages.wheels.hashes] -sha256 = "2363c69b61c4a97c838da3b130dcd6468f4848992b21a82f2a63ec34377137d9" - -[[packages]] -name = "pyproject-hooks" -version = "1.3.3" -marker = "\"lock-tools\" in dependency_groups" -requires-python = ">=3.8" -index = "https://pypi.org/simple/" - -[packages.sdist] -name = "pyproject_hooks-1.3.3.tar.gz" -upload-time = 2026-09-16 08:58:03.999217+00:00 -url = "https://files.pythonhosted.org/packages/6d/5d/f2ddeef4a855a102aaae5e97826a0260007522ab504421b75addfdb1517c/pyproject_hooks-1.3.3.tar.gz" -size = 21013 +upload-time = 2026-10-05 06:08:44.051128+00:00 +url = "https://files.pythonhosted.org/packages/47/c3/2bab54f6393fb9f247225681d476086e24fa6242f329e9ca1e5bd638ec50/prek-0.5.5-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl" +size = 5848228 -[packages.sdist.hashes] -sha256 = "defda19b854fa0d3bd4f76ea4ddcba8abd7dcfcdd585a6690ade050744fc5f43" +[packages.wheels.hashes] +sha256 = "120ef7d4b6bb58155e74827743c266e48501efb0e4c37ff726b14fe6e86a126b" [[packages.wheels]] -name = "pyproject_hooks-1.3.3-py3-none-any.whl" -upload-time = 2026-09-16 08:58:02.960279+00:00 -url = "https://files.pythonhosted.org/packages/85/11/044d1ae1b4ec0d7af88ee5bc91e081be1022533032b906a7bdabdbb60977/pyproject_hooks-1.3.3-py3-none-any.whl" -size = 10724 +name = "prek-0.5.5-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" +upload-time = 2026-10-05 06:08:48.645837+00:00 +url = "https://files.pythonhosted.org/packages/93/fc/e566be5919eaffef4cc22488f16e4bbfd08961734bd67c06f85d405e4cbc/prek-0.5.5-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" +size = 6269922 [packages.wheels.hashes] -sha256 = "5fc53fdac9f7bd63fbcdc868fb5f90b4784d78a53a3d3388cd738b807441a20b" - -[[packages]] -name = "pywin32-ctypes" -version = "0.2.3" -marker = "\"pkg-meta\" in dependency_groups and sys_platform == \"win32\"" -requires-python = ">=3.6" -index = "https://pypi.org/simple/" +sha256 = "73d509c0d9556171de2502bada4962be7a25871e7b23e782549074e1416dc850" -[packages.sdist] -name = "pywin32-ctypes-0.2.3.tar.gz" -upload-time = 2024-08-14 10:15:34.626878+00:00 -url = "https://files.pythonhosted.org/packages/85/9f/01a1a99704853cb63f253eea009390c88e7131c67e66a0a02099a8c917cb/pywin32-ctypes-0.2.3.tar.gz" -size = 29471 +[[packages.wheels]] +name = "prek-0.5.5-py3-none-manylinux_2_28_aarch64.whl" +upload-time = 2026-10-05 06:08:50.808055+00:00 +url = "https://files.pythonhosted.org/packages/d2/39/a48d8e6203055bff7bb734b1f2f9aede4a4539bee6ab4c9273dbc01fa546/prek-0.5.5-py3-none-manylinux_2_28_aarch64.whl" +size = 5861518 -[packages.sdist.hashes] -sha256 = "d162dc04946d704503b2edc4d55f3dba5c1d539ead017afa00142c38b9885755" +[packages.wheels.hashes] +sha256 = "76c867fdbd4e4f19e6b6b2988bd1e1407d1324170ebcf1428e4e34f8f0751a99" [[packages.wheels]] -name = "pywin32_ctypes-0.2.3-py3-none-any.whl" -upload-time = 2024-08-14 10:15:33.187242+00:00 -url = "https://files.pythonhosted.org/packages/de/3d/8161f7711c017e01ac9f008dfddd9410dff3674334c233bde66e7ba65bbf/pywin32_ctypes-0.2.3-py3-none-any.whl" -size = 30756 +name = "prek-0.5.5-py3-none-win_amd64.whl" +upload-time = 2026-10-05 06:08:55.056244+00:00 +url = "https://files.pythonhosted.org/packages/8c/04/1e9ccf3a61a3bfd4107b83973f7afde9177b6ff8f2d5d4b00125e77c2100/prek-0.5.5-py3-none-win_amd64.whl" +size = 5784759 [packages.wheels.hashes] -sha256 = "8a1513379d709975552d202d942d9837758905c8d01eb82b8bcc30918929e7b8" +sha256 = "15bff9039349466ea9bf6b0c173b822ff08f8ae4cfbfdea782492e519c06d874" [[packages]] name = "pyyaml" @@ -1674,36 +531,6 @@ size = 130960 [packages.sdist.hashes] sha256 = "d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f" -[[packages]] -name = "readme-renderer" -version = "46.0" -marker = "\"pkg-meta\" in dependency_groups" -requires-python = ">=3.10" -dependencies = [ - { name = "docutils" }, - { name = "nh3" }, - { name = "pygments" }, -] -index = "https://pypi.org/simple/" - -[packages.sdist] -name = "readme_renderer-46.0.tar.gz" -upload-time = 2026-08-28 15:18:32.490778+00:00 -url = "https://files.pythonhosted.org/packages/25/d7/9309494fad74ee831d4546f69325b5519f37c6dfb2d9ba495db8c6d4f4ca/readme_renderer-46.0.tar.gz" -size = 38382 - -[packages.sdist.hashes] -sha256 = "af3e964914f6310a33ff67b72a4bdd940bed8d7c3bdecd2d14f40edf284bfe90" - -[[packages.wheels]] -name = "readme_renderer-46.0-py3-none-any.whl" -upload-time = 2026-08-28 15:18:31.132970+00:00 -url = "https://files.pythonhosted.org/packages/4b/72/ac5ca81fe9121fcaa9d828d21017cba00a16a98e4ea5fb60c878f93dda4f/readme_renderer-46.0-py3-none-any.whl" -size = 14239 - -[packages.wheels.hashes] -sha256 = "d0dae1f74bb273b534770cb4cccb6bb78735540afdb03c2146f4e19dcd412560" - [[packages]] name = "release-creator" version = "0.6.5" @@ -1737,148 +564,6 @@ size = 46723 [packages.wheels.hashes] sha256 = "dd109f7fb64808a83833c332b8563c56bd943c4a8de79b440eab475b5ca9a73e" -[[packages]] -name = "requests" -version = "2.34.2" -marker = "\"pkg-meta\" in dependency_groups" -requires-python = ">=3.10" -dependencies = [ - { name = "certifi" }, - { name = "charset-normalizer" }, - { name = "idna" }, - { name = "urllib3" }, -] -index = "https://pypi.org/simple/" - -[packages.sdist] -name = "requests-2.34.2.tar.gz" -upload-time = 2026-05-14 19:25:27.735762+00:00 -url = "https://files.pythonhosted.org/packages/ac/c3/e2a2b89f2d3e2179abd6d00ebd70bff6273f37fb3e0cc209f48b39d00cbf/requests-2.34.2.tar.gz" -size = 142856 - -[packages.sdist.hashes] -sha256 = "f288924cae4e29463698d6d60bc6a4da69c89185ad1e0bcc4104f584e960b9ed" - -[[packages.wheels]] -name = "requests-2.34.2-py3-none-any.whl" -upload-time = 2026-05-14 19:25:26.443000+00:00 -url = "https://files.pythonhosted.org/packages/a0/f4/c67b0b3f1b9245e8d266f0f112c500d50e5b4e83cb6f3b71b6528104182a/requests-2.34.2-py3-none-any.whl" -size = 73075 - -[packages.wheels.hashes] -sha256 = "2a0d60c172f83ac6ab31e4554906c0f3b3588d37b5cb939b1c061f4907e278e0" - -[[packages]] -name = "requests-toolbelt" -version = "1.0.0" -marker = "\"pkg-meta\" in dependency_groups" -requires-python = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7" -dependencies = [ - { name = "requests" }, -] -index = "https://pypi.org/simple/" - -[packages.sdist] -name = "requests-toolbelt-1.0.0.tar.gz" -upload-time = 2023-05-01 04:11:33.229998+00:00 -url = "https://files.pythonhosted.org/packages/f3/61/d7545dafb7ac2230c70d38d31cbfe4cc64f7144dc41f6e4e4b78ecd9f5bb/requests-toolbelt-1.0.0.tar.gz" -size = 206888 - -[packages.sdist.hashes] -sha256 = "7681a0a3d047012b5bdc0ee37d7f8f07ebe76ab08caeccfc3921ce23c88d5bc6" - -[[packages.wheels]] -name = "requests_toolbelt-1.0.0-py2.py3-none-any.whl" -upload-time = 2023-05-01 04:11:28.427086+00:00 -url = "https://files.pythonhosted.org/packages/3f/51/d4db610ef29373b879047326cbf6fa98b6c1969d6f6dc423279de2b1be2c/requests_toolbelt-1.0.0-py2.py3-none-any.whl" -size = 54481 - -[packages.wheels.hashes] -sha256 = "cccfdd665f0a24fcf4726e690f65639d272bb0637b9b92dfd91a5568ccf6bd06" - -[[packages]] -name = "rfc3986" -version = "2.0.0" -marker = "\"pkg-meta\" in dependency_groups" -requires-python = ">=3.7" -index = "https://pypi.org/simple/" - -[packages.sdist] -name = "rfc3986-2.0.0.tar.gz" -upload-time = 2022-01-10 00:52:30.832978+00:00 -url = "https://files.pythonhosted.org/packages/85/40/1520d68bfa07ab5a6f065a186815fb6610c86fe957bc065754e47f7b0840/rfc3986-2.0.0.tar.gz" -size = 49026 - -[packages.sdist.hashes] -sha256 = "97aacf9dbd4bfd829baad6e6309fa6573aaf1be3f6fa735c8ab05e46cecb261c" - -[[packages.wheels]] -name = "rfc3986-2.0.0-py2.py3-none-any.whl" -upload-time = 2022-01-10 00:52:29.594625+00:00 -url = "https://files.pythonhosted.org/packages/ff/9a/9afaade874b2fa6c752c36f1548f718b5b83af81ed9b76628329dab81c1b/rfc3986-2.0.0-py2.py3-none-any.whl" -size = 31326 - -[packages.wheels.hashes] -sha256 = "50b1502b60e289cb37883f3dfd34532b8873c7de9f49bb546641ce9cbd256ebd" - -[[packages]] -name = "rich" -version = "15.0.0" -marker = "\"pkg-meta\" in dependency_groups" -requires-python = ">=3.9.0" -dependencies = [ - { name = "markdown-it-py" }, - { name = "pygments" }, -] -index = "https://pypi.org/simple/" - -[packages.sdist] -name = "rich-15.0.0.tar.gz" -upload-time = 2026-04-12 08:24:00.750018+00:00 -url = "https://files.pythonhosted.org/packages/c0/8f/0722ca900cc807c13a6a0c696dacf35430f72e0ec571c4275d2371fca3e9/rich-15.0.0.tar.gz" -size = 230680 - -[packages.sdist.hashes] -sha256 = "edd07a4824c6b40189fb7ac9bc4c52536e9780fbbfbddf6f1e2502c31b068c36" - -[[packages.wheels]] -name = "rich-15.0.0-py3-none-any.whl" -upload-time = 2026-04-12 08:24:02.830783+00:00 -url = "https://files.pythonhosted.org/packages/82/3b/64d4899d73f91ba49a8c18a8ff3f0ea8f1c1d75481760df8c68ef5235bf5/rich-15.0.0-py3-none-any.whl" -size = 310654 - -[packages.wheels.hashes] -sha256 = "33bd4ef74232fb73fe9279a257718407f169c09b78a87ad3d296f548e27de0bb" - -[[packages]] -name = "secretstorage" -version = "3.5.0" -marker = "\"pkg-meta\" in dependency_groups and sys_platform == \"linux\"" -requires-python = ">=3.10" -dependencies = [ - { name = "cryptography" }, - { name = "jeepney" }, -] -index = "https://pypi.org/simple/" - -[packages.sdist] -name = "secretstorage-3.5.0.tar.gz" -upload-time = 2025-11-23 19:02:53.191898+00:00 -url = "https://files.pythonhosted.org/packages/1c/03/e834bcd866f2f8a49a85eaff47340affa3bfa391ee9912a952a1faa68c7b/secretstorage-3.5.0.tar.gz" -size = 19884 - -[packages.sdist.hashes] -sha256 = "f04b8e4689cbce351744d5537bf6b1329c6fc68f91fa666f60a380edddcd11be" - -[[packages.wheels]] -name = "secretstorage-3.5.0-py3-none-any.whl" -upload-time = 2025-11-23 19:02:51.545472+00:00 -url = "https://files.pythonhosted.org/packages/b7/46/f5af3402b579fd5e11573ce652019a67074317e18c1935cc0b4ba9b35552/secretstorage-3.5.0-py3-none-any.whl" -size = 15554 - -[packages.wheels.hashes] -sha256 = "0ce65888c0725fcb2c5bc0fdb8e5438eece02c523557ea40ce0703c266248137" - [[packages]] name = "setuptools" version = "84.0.0" @@ -1934,92 +619,6 @@ size = 33366 [packages.wheels.hashes] sha256 = "82f34c3e3084fc2b57d397200637cc13f2338004052d2fee47baa5f0e902464e" -[[packages]] -name = "tomli" -version = "2.5.0" -marker = "\"lock-tools\" in dependency_groups" -requires-python = ">=3.8" -index = "https://pypi.org/simple/" - -[packages.sdist] -name = "tomli-2.5.0.tar.gz" -upload-time = 2026-10-07 12:23:37.892554+00:00 -url = "https://files.pythonhosted.org/packages/b0/78/9ad63712633ed3ab5cc1a648d863d7e7da371e9425e209555a0fe711b695/tomli-2.5.0.tar.gz" -size = 17662 - -[packages.sdist.hashes] -sha256 = "264507556cd8b8c8e7c6ee037cdf443a463f03f4c958e57195e3d369711b8ff6" - -[[packages.wheels]] -name = "tomli-2.5.0-cp315-cp315-macosx_11_0_arm64.whl" -upload-time = 2026-10-07 12:23:15.215497+00:00 -url = "https://files.pythonhosted.org/packages/c5/22/7b10fa5bb01c9539f53f69b619361b19350acc73657772ea7ac70ba309a8/tomli-2.5.0-cp315-cp315-macosx_11_0_arm64.whl" -size = 161406 - -[packages.wheels.hashes] -sha256 = "9dbb18c1cfb2f6517942fc9314437f66aa06d94436ffb1f06102ef3572f35276" - -[[packages.wheels]] -name = "tomli-2.5.0-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" -upload-time = 2026-10-07 12:23:16.471112+00:00 -url = "https://files.pythonhosted.org/packages/9c/e7/1a069d86dfd20f1f84f71c63faed9f83c1d890bc06c27d82dc7d888fb573/tomli-2.5.0-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" -size = 273855 - -[packages.wheels.hashes] -sha256 = "752e8b1aa6a4367ef8bf6a1a1e005540f7ed055ba36d7193796812ca5404eb52" - -[[packages.wheels]] -name = "tomli-2.5.0-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" -upload-time = 2026-10-07 12:23:18.166140+00:00 -url = "https://files.pythonhosted.org/packages/ae/83/d1ef43d1687d092ab9c235455c76e6e709483b346b056f086095c7c263a5/tomli-2.5.0-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" -size = 284910 - -[packages.wheels.hashes] -sha256 = "c47300f9bf791808f77d82747691c4bb09cb14bdf3060cca99b42cdc4361d5a7" - -[[packages.wheels]] -name = "tomli-2.5.0-cp315-cp315-win_amd64.whl" -upload-time = 2026-10-07 12:23:23.098344+00:00 -url = "https://files.pythonhosted.org/packages/4c/bd/31a3790c11d6ea95fcf5e6022ac0f8d0543c9b61120b730fc481bd43d3b4/tomli-2.5.0-cp315-cp315-win_amd64.whl" -size = 114589 - -[packages.wheels.hashes] -sha256 = "d747252933c8a65ef6bd8da0fbb7ce28a90eb6119d8cd00772cd528aa07b68d5" - -[[packages.wheels]] -name = "tomli-2.5.0-py3-none-any.whl" -upload-time = 2026-10-07 12:23:36.875825+00:00 -url = "https://files.pythonhosted.org/packages/60/3f/3e3f8fd0919249b0200c80fbc4f9a1e70be19f9883da71dfb7f8b9ab8aca/tomli-2.5.0-py3-none-any.whl" -size = 14765 - -[packages.wheels.hashes] -sha256 = "32a7b79ac57a2e83670ce329ccf675798bc5a2094783a63676866b70503f2e2b" - -[[packages]] -name = "tomli-w" -version = "1.2.0" -marker = "\"lock-tools\" in dependency_groups" -requires-python = ">=3.9" -index = "https://pypi.org/simple/" - -[packages.sdist] -name = "tomli_w-1.2.0.tar.gz" -upload-time = 2025-01-15 12:07:24.262974+00:00 -url = "https://files.pythonhosted.org/packages/19/75/241269d1da26b624c0d5e110e8149093c759b7a286138f4efd61a60e75fe/tomli_w-1.2.0.tar.gz" -size = 7184 - -[packages.sdist.hashes] -sha256 = "2dd14fac5a47c27be9cd4c976af5a12d87fb1f0b4512f81d69cce3b35ae25021" - -[[packages.wheels]] -name = "tomli_w-1.2.0-py3-none-any.whl" -upload-time = 2025-01-15 12:07:22.074224+00:00 -url = "https://files.pythonhosted.org/packages/c7/18/c86eb8e0202e32dd3df50d43d7ff9854f8e0603945ff398974c1d91ac1ef/tomli_w-1.2.0-py3-none-any.whl" -size = 6675 - -[packages.wheels.hashes] -sha256 = "188306098d013b691fcadc011abd66727d3c414c571bb01b1a174ba8c983cf90" - [[packages]] name = "tomlkit" version = "0.15.2" @@ -2098,206 +697,6 @@ size = 14232 [packages.wheels.hashes] sha256 = "8b1ff4f9c191b1040b71c37f1e445ab99732911e3cd91de52838453a854d7a17" -[[packages]] -name = "truststore" -version = "0.10.5" -marker = "\"lock-tools\" in dependency_groups" -requires-python = ">=3.10" -index = "https://pypi.org/simple/" - -[packages.sdist] -name = "truststore-0.10.5.tar.gz" -upload-time = 2026-10-12 22:27:31.808128+00:00 -url = "https://files.pythonhosted.org/packages/ee/9f/c5201d42a484c061e528825fc8e2d565f5abd50a4ced6fb7d29c4ec99b2b/truststore-0.10.5.tar.gz" -size = 28091 - -[packages.sdist.hashes] -sha256 = "30d36967ccaded5cbb38d602c433f53600036c79d502f4533a49b60a03bbefcd" - -[[packages.wheels]] -name = "truststore-0.10.5-py3-none-any.whl" -upload-time = 2026-10-12 22:27:30.377491+00:00 -url = "https://files.pythonhosted.org/packages/51/e9/3a7820be2bb0fe53b6bc9c3be26d3d1158004e4c3ab953aa6840b955b1e9/truststore-0.10.5-py3-none-any.whl" -size = 19017 - -[packages.wheels.hashes] -sha256 = "9aaaedaefaf06d8b206278cf8b5012bc897f485a874503501e12d776df78951c" - -[[packages]] -name = "twine" -version = "7.0.0" -marker = "\"pkg-meta\" in dependency_groups" -requires-python = ">=3.10" -dependencies = [ - { name = "id" }, - { name = "keyring" }, - { name = "packaging" }, - { name = "readme-renderer" }, - { name = "requests" }, - { name = "requests-toolbelt" }, - { name = "rfc3986" }, - { name = "rich" }, - { name = "urllib3" }, -] -index = "https://pypi.org/simple/" - -[packages.sdist] -name = "twine-7.0.0.tar.gz" -upload-time = 2026-07-27 15:59:00.825945+00:00 -url = "https://files.pythonhosted.org/packages/92/3c/58f808a359700f39a967dffede33efeac809262c03303fa3eec6afff8f49/twine-7.0.0.tar.gz" -size = 215032 - -[packages.sdist.hashes] -sha256 = "85cdb29c518efef867360ae4acd4b0dfd61c8654a22fca08e6f8539f05022177" - -[[packages.wheels]] -name = "twine-7.0.0-py3-none-any.whl" -upload-time = 2026-07-27 15:58:59.260418+00:00 -url = "https://files.pythonhosted.org/packages/96/08/ddcdc06225eaad6de0e48e1002b06d919dbde20582d0662c7af51308e5d6/twine-7.0.0-py3-none-any.whl" -size = 43204 - -[packages.wheels.hashes] -sha256 = "b854164df26db268af05f49aa5c0344b10e27a494343ff05b1e0bad3b135f5a7" - -[[packages]] -name = "typing-extensions" -version = "4.16.0" -marker = "\"lock-tools\" in dependency_groups or \"pkg-meta\" in dependency_groups" -requires-python = ">=3.9" -index = "https://pypi.org/simple/" - -[packages.sdist] -name = "typing_extensions-4.16.0.tar.gz" -upload-time = 2026-07-02 08:40:05.920538+00:00 -url = "https://files.pythonhosted.org/packages/f6/cc/6253133b5bb138fc3306cebfbda2c520f545d36b5be2c7255cc528bb45d6/typing_extensions-4.16.0.tar.gz" -size = 113555 - -[packages.sdist.hashes] -sha256 = "dc983d19a509c94dba722ee6abd33940f7c05a89e243c47e907eb4db6f1a43e5" - -[[packages.wheels]] -name = "typing_extensions-4.16.0-py3-none-any.whl" -upload-time = 2026-07-02 08:40:04.659120+00:00 -url = "https://files.pythonhosted.org/packages/49/d3/b8441a820a491ddfc024b0b0cf0393375b75ea13866d9c66727e54c2fc80/typing_extensions-4.16.0-py3-none-any.whl" -size = 45571 - -[packages.wheels.hashes] -sha256 = "481caa481374e813c1b176ada14e97f1f67a4539ce9cfeb3f350d78d6370c2e8" - -[[packages]] -name = "typing-inspection" -version = "0.4.4" -marker = "\"pkg-meta\" in dependency_groups" -requires-python = ">=3.10" -dependencies = [ - { name = "typing-extensions" }, -] -index = "https://pypi.org/simple/" - -[packages.sdist] -name = "typing_inspection-0.4.4.tar.gz" -upload-time = 2026-08-12 12:37:25.997329+00:00 -url = "https://files.pythonhosted.org/packages/a3/26/b09b8010994eccc3c09092e6b34058f36a460eea2d4c3e8b910c695975a0/typing_inspection-0.4.4.tar.gz" -size = 76928 - -[packages.sdist.hashes] -sha256 = "547274fa6b0a561ccf549cc9524b999a578e737d015d8709d021f9d0d13bea47" - -[[packages.wheels]] -name = "typing_inspection-0.4.4-py3-none-any.whl" -upload-time = 2026-08-12 12:37:24.648475+00:00 -url = "https://files.pythonhosted.org/packages/67/81/4add07e5172b7ac40d8ed5ff580409a7801a4fe26d529bdd915401dabfbe/typing_inspection-0.4.4-py3-none-any.whl" -size = 14750 - -[packages.wheels.hashes] -sha256 = "65b8397ba37ccbce054456aaccddfc91e6e3083c92824df348d96ca832f3f147" - -[[packages]] -name = "urllib3" -version = "2.8.0" -marker = "\"lock-tools\" in dependency_groups or \"pkg-meta\" in dependency_groups" -requires-python = ">=3.10" -index = "https://pypi.org/simple/" - -[packages.sdist] -name = "urllib3-2.8.0.tar.gz" -upload-time = 2026-09-15 19:29:36.253420+00:00 -url = "https://files.pythonhosted.org/packages/e3/05/b17359e1cefb4f909b5e40b1b90a496d987258916dbbf88e842c729f510e/urllib3-2.8.0.tar.gz" -size = 458972 - -[packages.sdist.hashes] -sha256 = "63bf2ead4c879426ebf22ef2a781eeb4aa3b4ae798a0435506f8687fd5bb9b63" - -[[packages.wheels]] -name = "urllib3-2.8.0-py3-none-any.whl" -upload-time = 2026-09-15 19:29:34.577402+00:00 -url = "https://files.pythonhosted.org/packages/92/9d/c4e665119135114480843e7ab388fa94d8480650450e6f8e26b70d323a4c/urllib3-2.8.0-py3-none-any.whl" -size = 135717 - -[packages.wheels.hashes] -sha256 = "0cf3cae568d36aa9576b28dfb35f11328f1cb974ca7647d9475ebb86c75ac6e3" - -[[packages]] -name = "uv" -version = "0.13.1" -marker = "\"pkg-meta\" in dependency_groups" -requires-python = ">=3.8" -index = "https://pypi.org/simple/" - -[packages.sdist] -name = "uv-0.13.1.tar.gz" -upload-time = 2026-10-14 05:13:35.353145+00:00 -url = "https://files.pythonhosted.org/packages/ef/10/81f499de381ac81e09961e1c19255c5cf49563ac418464def4190b6c7400/uv-0.13.1.tar.gz" -size = 7434239 - -[packages.sdist.hashes] -sha256 = "6df50a86b09be66a413f8f1b16258d585d4dd1cbff591077ae1e6f65c26de2eb" - -[[packages.wheels]] -name = "uv-0.13.1-py3-none-macosx_11_0_arm64.whl" -upload-time = 2026-10-14 05:12:56.056660+00:00 -url = "https://files.pythonhosted.org/packages/3b/31/fad7fd2ac81954d02d33765bf8535eb320fcc2d71f2603a5c1ba0b13b8ef/uv-0.13.1-py3-none-macosx_11_0_arm64.whl" -size = 14391237 - -[packages.wheels.hashes] -sha256 = "cfa719fbbd23f26713394dea2692b7f146aa1b5713ce5e776e878701214ea52c" - -[[packages.wheels]] -name = "uv-0.13.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl" -upload-time = 2026-10-14 05:12:58.371857+00:00 -url = "https://files.pythonhosted.org/packages/9f/6a/ff4c51a245345a167eed090e8cea27d5979e8b665c97617805bb8748966f/uv-0.13.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl" -size = 18047204 - -[packages.wheels.hashes] -sha256 = "f2518450da2f6d0ea8a943c9f402abda63d5a66acc9999216c2792115b922ba4" - -[[packages.wheels]] -name = "uv-0.13.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" -upload-time = 2026-10-14 05:13:13.069021+00:00 -url = "https://files.pythonhosted.org/packages/14/0b/6602a613533602e7a083e908c4375f9b0e78a94ba2e21c29b21c41a0a611/uv-0.13.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" -size = 17279385 - -[packages.wheels.hashes] -sha256 = "696dcf6d807d85da978f4db8472da81dccc1254b18b52cbd1367c4d923c421e0" - -[[packages.wheels]] -name = "uv-0.13.1-py3-none-manylinux_2_28_aarch64.whl" -upload-time = 2026-10-14 05:13:15.567666+00:00 -url = "https://files.pythonhosted.org/packages/09/f6/52e2136653a1f3a4dc489da83444f062ed588570cc3e5242fda50996951a/uv-0.13.1-py3-none-manylinux_2_28_aarch64.whl" -size = 16577060 - -[packages.wheels.hashes] -sha256 = "ccbe233d4bce39865af7c30ec1fb28b0cc353f9d51711629f54fca71b8db7382" - -[[packages.wheels]] -name = "uv-0.13.1-py3-none-win_amd64.whl" -upload-time = 2026-10-14 05:13:30.623762+00:00 -url = "https://files.pythonhosted.org/packages/2a/8e/d23278bb327d2a75dc1d033c81b7fe23bbb28e363e02e7f306abd047924a/uv-0.13.1-py3-none-win_amd64.whl" -size = 15404994 - -[packages.wheels.hashes] -sha256 = "4f693cd4feb52f08f30474c4612f24be2050472609be65b9960b635f286da284" - [[packages]] name = "vcs-versioning" version = "2.6.0" @@ -2387,31 +786,6 @@ size = 301667 [packages.wheels.hashes] sha256 = "89ca642c5bf0101157a09366be69fad0379db1f700ae39a920e103234573670e" -[[packages]] -name = "wheel-filename" -version = "1.4.2" -marker = "\"pkg-meta\" in dependency_groups" -requires-python = ">=3.8" -index = "https://pypi.org/simple/" - -[packages.sdist] -name = "wheel_filename-1.4.2.tar.gz" -upload-time = 2024-12-01 13:03:16.012739+00:00 -url = "https://files.pythonhosted.org/packages/38/be/726dab762b770d0417e505c58e26d661aac1ec0c831e483cda4817ca2417/wheel_filename-1.4.2.tar.gz" -size = 7911 - -[packages.sdist.hashes] -sha256 = "87891c465dcbb40b40394a906f01a93214bdd51aa5d25e3a9a59cae62bc298fd" - -[[packages.wheels]] -name = "wheel_filename-1.4.2-py3-none-any.whl" -upload-time = 2024-12-01 13:03:00.536117+00:00 -url = "https://files.pythonhosted.org/packages/b4/0f/6e97a3bc38cdde32e3ec49f8c0903fe3559ec9ec9db181782f0bb4417717/wheel_filename-1.4.2-py3-none-any.whl" -size = 6195 - -[packages.wheels.hashes] -sha256 = "3fa599046443d4ca830d06e3d180cd0a675d5871af0a68daa5623318bb4d17e3" - [tool.nab] nab-version = "0.0.22" created-at = 2026-10-23 20:06:34.962966+00:00 @@ -2425,11 +799,8 @@ command-line = [ "release-notes", "release-prepare", "release-validate", - "pkg-meta", - "lock-tools", "--output", "pylock.toml", - "--upgrade", ] input-path = "pyproject.toml" mode = "universal" diff --git a/pyproject.toml b/pyproject.toml index 8fc803d..4f1ce37 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -79,7 +79,6 @@ docs = [ lint = [ "pre-commit-uv>=4.3", ] -lock-tools = [ "nab==0.0.22" ] pkg-meta = [ "check-wheel-contents>=0.6.3", "twine>=7", @@ -231,7 +230,3 @@ decision-order = "stable" matrix.python = ">=3.15,<3.16" matrix.platforms = [ "linux_x86_64", "linux_aarch64", "macos_arm64", "windows_amd64" ] packages.release-creator.uploaded-prior-to = "2026-10-23T19:54:50Z" - -[[tool.nab.package-rules]] -match = [ "nab", "nab-index", "nab-markersets", "nab-project", "nab-provider", "nab-resolver" ] -uploaded-prior-to = "2026-10-18T05:45:09Z" From a9a2a93958d04eaa5b58ed66742262a2872ffddb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bern=C3=A1t=20G=C3=A1bor?= Date: Fri, 23 Oct 2026 23:28:02 -0700 Subject: [PATCH 39/39] =?UTF-8?q?=F0=9F=94=A7=20build:=20adopt=20release?= =?UTF-8?q?=20tooling=202.0.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/check.yaml | 4 ++- .github/workflows/news.yaml | 4 +-- .github/workflows/prepare-release.yaml | 2 +- .github/workflows/recheck-hook-cooldown.yaml | 2 +- .github/workflows/release.yaml | 16 ++++++------ .github/workflows/upgrade-release-tools.yaml | 2 +- pylock.toml | 26 +++++++++++--------- pyproject.toml | 12 ++++----- 8 files changed, 36 insertions(+), 32 deletions(-) diff --git a/.github/workflows/check.yaml b/.github/workflows/check.yaml index b448558..c546915 100644 --- a/.github/workflows/check.yaml +++ b/.github/workflows/check.yaml @@ -78,7 +78,9 @@ jobs: contents: read pull-requests: read steps: - - uses: tox-dev/github-workflows/check-hook-update-cooldown@74472c1a3602ca9b66db058ea31578865e1d208b # v1.0.5 + - uses: tox-dev/github-workflows/check-hook-update-cooldown@e2d5e308194a31710039f3237b7157431c0e38b5 # v2.0.0 + with: + release-app-client-id: ${{ vars.RELEASE_APP_CLIENT_ID }} env: GH_TOKEN: ${{ github.token }} gate: diff --git a/.github/workflows/news.yaml b/.github/workflows/news.yaml index 8bd9482..c3d3441 100644 --- a/.github/workflows/news.yaml +++ b/.github/workflows/news.yaml @@ -22,8 +22,8 @@ jobs: python-version: "3.15" enable-cache: false - name: Install locked release tools - uses: tox-dev/github-workflows/install-locked-tools@74472c1a3602ca9b66db058ea31578865e1d208b # v1.0.5 + uses: tox-dev/github-workflows/install-locked-tools@e2d5e308194a31710039f3237b7157431c0e38b5 # v2.0.0 with: groups: release-news venv: ${{ runner.temp }}/release-tools - - uses: tox-dev/github-workflows/validate-news@74472c1a3602ca9b66db058ea31578865e1d208b # v1.0.5 + - uses: tox-dev/github-workflows/validate-news@e2d5e308194a31710039f3237b7157431c0e38b5 # v2.0.0 diff --git a/.github/workflows/prepare-release.yaml b/.github/workflows/prepare-release.yaml index 463d395..44cb527 100644 --- a/.github/workflows/prepare-release.yaml +++ b/.github/workflows/prepare-release.yaml @@ -15,7 +15,7 @@ on: permissions: {} jobs: prepare: - uses: tox-dev/github-workflows/.github/workflows/prepare-towncrier-release.yaml@74472c1a3602ca9b66db058ea31578865e1d208b # v1.0.5 + uses: tox-dev/github-workflows/.github/workflows/prepare-towncrier-release.yaml@e2d5e308194a31710039f3237b7157431c0e38b5 # v2.0.0 permissions: contents: read pull-requests: read diff --git a/.github/workflows/recheck-hook-cooldown.yaml b/.github/workflows/recheck-hook-cooldown.yaml index 7936689..2247967 100644 --- a/.github/workflows/recheck-hook-cooldown.yaml +++ b/.github/workflows/recheck-hook-cooldown.yaml @@ -12,7 +12,7 @@ jobs: contents: read pull-requests: read steps: - - uses: tox-dev/github-workflows/recheck-hook-update-cooldown@74472c1a3602ca9b66db058ea31578865e1d208b # v1.0.5 + - uses: tox-dev/github-workflows/recheck-hook-update-cooldown@e2d5e308194a31710039f3237b7157431c0e38b5 # v2.0.0 with: workflow: check.yaml job-name: hook-update-cooldown diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index d388788..0ff8ca9 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -8,7 +8,7 @@ env: dists-artifact-name: python-package-distributions jobs: build: - uses: tox-dev/github-workflows/.github/workflows/validate-python-release.yaml@74472c1a3602ca9b66db058ea31578865e1d208b # v1.0.5 + uses: tox-dev/github-workflows/.github/workflows/validate-python-release.yaml@e2d5e308194a31710039f3237b7157431c0e38b5 # v2.0.0 permissions: contents: read stage-github-release: @@ -21,7 +21,7 @@ jobs: with: name: github-release-notes path: ${{ runner.temp }}/github-release-notes - - uses: tox-dev/github-workflows/publish-github-release@74472c1a3602ca9b66db058ea31578865e1d208b # v1.0.5 + - uses: tox-dev/github-workflows/publish-github-release@e2d5e308194a31710039f3237b7157431c0e38b5 # v2.0.0 with: tag: ${{ github.ref_name }} commit: ${{ github.sha }} @@ -73,7 +73,7 @@ jobs: with: name: ${{ env.dists-artifact-name }} path: dist/ - - uses: tox-dev/github-workflows/reconcile-pypi-artifacts@74472c1a3602ca9b66db058ea31578865e1d208b # v1.0.5 + - uses: tox-dev/github-workflows/reconcile-pypi-artifacts@e2d5e308194a31710039f3237b7157431c0e38b5 # v2.0.0 with: project: pyproject-api version: ${{ github.ref_name }} @@ -96,13 +96,13 @@ jobs: python-version: "3.15" enable-cache: false - name: Install locked release tools - uses: tox-dev/github-workflows/install-locked-tools@74472c1a3602ca9b66db058ea31578865e1d208b # v1.0.5 + uses: tox-dev/github-workflows/install-locked-tools@e2d5e308194a31710039f3237b7157431c0e38b5 # v2.0.0 with: groups: release-notes venv: ${{ runner.temp }}/release-tools - name: Select previous tag id: previous - uses: tox-dev/github-workflows/select-previous-tag@74472c1a3602ca9b66db058ea31578865e1d208b # v1.0.5 + uses: tox-dev/github-workflows/select-previous-tag@e2d5e308194a31710039f3237b7157431c0e38b5 # v2.0.0 with: tag: ${{ github.ref_name }} contributor-metadata: @@ -150,7 +150,7 @@ jobs: python-version: "3.15" enable-cache: false - name: Install locked release tools - uses: tox-dev/github-workflows/install-locked-tools@74472c1a3602ca9b66db058ea31578865e1d208b # v1.0.5 + uses: tox-dev/github-workflows/install-locked-tools@e2d5e308194a31710039f3237b7157431c0e38b5 # v2.0.0 with: groups: release-notes venv: ${{ runner.temp }}/release-tools @@ -158,7 +158,7 @@ jobs: with: name: contributor-metadata path: ${{ runner.temp }}/contributor-metadata - - uses: tox-dev/github-workflows/render-release-notes@74472c1a3602ca9b66db058ea31578865e1d208b # v1.0.5 + - uses: tox-dev/github-workflows/render-release-notes@e2d5e308194a31710039f3237b7157431c0e38b5 # v2.0.0 with: tag: ${{ github.ref_name }} previous: ${{ needs.previous-tag.outputs.tag }} @@ -182,7 +182,7 @@ jobs: with: name: github-release-notes path: ${{ runner.temp }}/github-release-notes - - uses: tox-dev/github-workflows/publish-github-release@74472c1a3602ca9b66db058ea31578865e1d208b # v1.0.5 + - uses: tox-dev/github-workflows/publish-github-release@e2d5e308194a31710039f3237b7157431c0e38b5 # v2.0.0 with: tag: ${{ github.ref_name }} commit: ${{ github.sha }} diff --git a/.github/workflows/upgrade-release-tools.yaml b/.github/workflows/upgrade-release-tools.yaml index 3bae9b5..6dc656c 100644 --- a/.github/workflows/upgrade-release-tools.yaml +++ b/.github/workflows/upgrade-release-tools.yaml @@ -9,7 +9,7 @@ concurrency: cancel-in-progress: false jobs: upgrade: - uses: tox-dev/github-workflows/.github/workflows/upgrade-release-tools.yaml@74472c1a3602ca9b66db058ea31578865e1d208b # v1.0.5 + uses: tox-dev/github-workflows/.github/workflows/upgrade-release-tools.yaml@e2d5e308194a31710039f3237b7157431c0e38b5 # v2.0.0 permissions: contents: read secrets: diff --git a/pylock.toml b/pylock.toml index e7e3ff5..9b9ec3e 100644 --- a/pylock.toml +++ b/pylock.toml @@ -533,11 +533,12 @@ sha256 = "d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f" [[packages]] name = "release-creator" -version = "0.6.5" +version = "1.0.0" marker = "\"release-news\" in dependency_groups or \"release-notes\" in dependency_groups or \"release-prepare\" in dependency_groups or \"release-validate\" in dependency_groups" requires-python = ">=3.15" dependencies = [ { name = "docutils" }, + { name = "markdown-it-py" }, { name = "mdformat" }, { name = "mdformat-gfm" }, { name = "packaging" }, @@ -547,22 +548,22 @@ dependencies = [ index = "https://pypi.org/simple/" [packages.sdist] -name = "release_creator-0.6.5.tar.gz" -upload-time = 2026-10-23 19:54:49.281646+00:00 -url = "https://files.pythonhosted.org/packages/a0/da/7195823b3d0ab066f518d8bd987f88a39e0e39da33f629e021346209a7cb/release_creator-0.6.5.tar.gz" -size = 135158 +name = "release_creator-1.0.0.tar.gz" +upload-time = 2026-10-24 06:07:45.789370+00:00 +url = "https://files.pythonhosted.org/packages/e2/92/dfc1c6e8f52d50d91a05f77f67592c2408cabd9d96079fedbe551f24530d/release_creator-1.0.0.tar.gz" +size = 134186 [packages.sdist.hashes] -sha256 = "954247b06b7b9a8c196a782252e3d980d33a9e9b7f9e5aea7647ef6c758d4275" +sha256 = "1174e3a3fd39e9117eb9c34e3fbc58a8e32c49f5f65d01f39195231b967807f6" [[packages.wheels]] -name = "release_creator-0.6.5-py3-none-any.whl" -upload-time = 2026-10-23 19:54:47.716775+00:00 -url = "https://files.pythonhosted.org/packages/f1/4c/6215690fc2b48f3d927699bb16f5c8bcf26b8862e378df33a2581a45215b/release_creator-0.6.5-py3-none-any.whl" -size = 46723 +name = "release_creator-1.0.0-py3-none-any.whl" +upload-time = 2026-10-24 06:07:44.366184+00:00 +url = "https://files.pythonhosted.org/packages/6a/17/b1cd851932786f3e9e9f2187d150bc0860e04adf76cbfd45e6531715bf97/release_creator-1.0.0-py3-none-any.whl" +size = 53396 [packages.wheels.hashes] -sha256 = "dd109f7fb64808a83833c332b8563c56bd943c4a8de79b440eab475b5ca9a73e" +sha256 = "613a26a0d1b0042d9dad60dfc00f3e78208d84ab9f78cec792a407b6a0a75c24" [[packages]] name = "setuptools" @@ -788,7 +789,7 @@ sha256 = "89ca642c5bf0101157a09366be69fad0379db1f700ae39a920e103234573670e" [tool.nab] nab-version = "0.0.22" -created-at = 2026-10-23 20:06:34.962966+00:00 +created-at = 2026-10-24 06:24:08.477136+00:00 command-line = [ "nab", "lock", @@ -801,6 +802,7 @@ command-line = [ "release-validate", "--output", "pylock.toml", + "--upgrade", ] input-path = "pyproject.toml" mode = "universal" diff --git a/pyproject.toml b/pyproject.toml index 4f1ce37..4a77e07 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -87,27 +87,27 @@ pkg-meta = [ release = [ "docstrfmt>=2.2.1", "prek>=0.5", - "release-creator>=0.6.5", + "release-creator>=1", "towncrier>=26.9", ] release-check = [ "prek>=0.5", ] release-news = [ - "release-creator>=0.6.5", + "release-creator>=1", "towncrier>=26.9", ] release-notes = [ - "release-creator>=0.6.5", + "release-creator>=1", ] release-prepare = [ "prek>=0.5", - "release-creator>=0.6.5", + "release-creator>=1", "towncrier>=26.9", ] release-validate = [ "prek>=0.5", - "release-creator>=0.6.5", + "release-creator>=1", ] [tool.hatch] @@ -229,4 +229,4 @@ uploaded-prior-to = "P7D" decision-order = "stable" matrix.python = ">=3.15,<3.16" matrix.platforms = [ "linux_x86_64", "linux_aarch64", "macos_arm64", "windows_amd64" ] -packages.release-creator.uploaded-prior-to = "2026-10-23T19:54:50Z" +packages.release-creator.uploaded-prior-to = "2026-10-24T06:07:46Z"