From aed50012a28987039d0c060f5436dde8c9942235 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dni=20=E2=9A=A1?= Date: Sat, 23 Sep 2023 19:33:52 +0200 Subject: [PATCH 01/18] fix workflow remove duplicate check --- .github/workflows/release.yml | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index d042b65..30808d1 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -36,7 +36,7 @@ jobs: GH_TOKEN: ${{ secrets.EXT_GITHUB }} repo_name: "${{ github.event.repository.name }}" tag: "${{ github.ref_name }}" - branch: "update-${{ github.event.repository.name }}" + branch: "update-${{ github.event.repository.name }}-${{ github.ref_name }}" title: "[UPDATE] ${{ github.event.repository.name }} to ${{ github.ref_name }}" body: "https://github.com/lnbits/${{ github.event.repository.name }}/releases/${{ github.ref_name }}" archive: "https://github.com/lnbits/${{ github.event.repository.name }}/archive/refs/tags/${{ github.ref_name }}.zip" @@ -44,16 +44,10 @@ jobs: cd lnbits-extensions git checkout -b $branch - # if there is another open PR - git pull origin $branch || echo "branch does not exist" - sh util.sh update_extension $repo_name $tag git add -A git commit -am "$title" git push origin $branch - # check if pr exists before creating it - gh config set pager cat - check=$(gh pr list -H $branch | wc -l) - test $check -ne 0 || gh pr create --title "$title" --body "$body" --repo lnbits/lnbits-extensions + gh pr create --title "$title" --body "$body" --repo lnbits/lnbits-extensions From 2a872e0724140c0ac95c8e97a15d32dd56837ccb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dni=20=E2=9A=A1?= Date: Sat, 23 Sep 2023 19:51:58 +0200 Subject: [PATCH 02/18] revert fix workflow --- .github/workflows/release.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 30808d1..7ec9b48 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -44,10 +44,16 @@ jobs: cd lnbits-extensions git checkout -b $branch + # if there is another open PR + git pull origin $branch || echo "branch does not exist" + sh util.sh update_extension $repo_name $tag git add -A git commit -am "$title" git push origin $branch - gh pr create --title "$title" --body "$body" --repo lnbits/lnbits-extensions + # check if pr exists before creating it + gh config set pager cat + check=$(gh pr list -H $branch | wc -l) + test $check -ne 0 || gh pr create --title "$title" --body "$body" --repo lnbits/lnbits-extensions From e71b59ec387d0461571efe980ae9f81d41cce58c Mon Sep 17 00:00:00 2001 From: blackcoffeexbt <87530449+blackcoffeexbt@users.noreply.github.com> Date: Sun, 24 Sep 2023 16:55:25 +0100 Subject: [PATCH 03/18] Change start function name to match example extension name (#6) --- __init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/__init__.py b/__init__.py index a78330e..6f1ad8f 100644 --- a/__init__.py +++ b/__init__.py @@ -29,6 +29,6 @@ def example_renderer(): from .views_api import * # noqa: F401,F403 -def tpos_start(): +def example_start(): loop = asyncio.get_event_loop() loop.create_task(catch_everything_and_restart(wait_for_paid_invoices)) From 41fbd84b4102c629428187b4d006602443e2c23e Mon Sep 17 00:00:00 2001 From: Tiago Vasconcelos Date: Mon, 25 Sep 2023 15:27:37 +0100 Subject: [PATCH 04/18] allow custom path (#5) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * allow custom path * update minversion to 0.11.0 --------- Co-authored-by: dni ⚡ --- __init__.py | 4 +--- config.json | 3 ++- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/__init__.py b/__init__.py index 6f1ad8f..5e41edc 100644 --- a/__init__.py +++ b/__init__.py @@ -1,7 +1,6 @@ import asyncio from fastapi import APIRouter -from fastapi.staticfiles import StaticFiles from lnbits.db import Database from lnbits.helpers import template_renderer @@ -14,14 +13,13 @@ example_static_files = [ { "path": "/example/static", - "app": StaticFiles(packages=[("lnbits", "extensions/example/static")]), "name": "example_static", } ] def example_renderer(): - return template_renderer(["lnbits/extensions/example/templates"]) + return template_renderer(["example/templates"]) from .tasks import wait_for_paid_invoices diff --git a/config.json b/config.json index d906c62..034219d 100644 --- a/config.json +++ b/config.json @@ -2,5 +2,6 @@ "name": "Build your own!", "short_description": "Extension building guide", "tile": "/example/static/bitcoin-extension.png", - "contributors": ["github_username"] + "contributors": ["github_username"], + "min_lnbits_version": "0.11.0" } From 9585f2a2c2066745e1fff8a40340eacea1fbacee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dni=20=E2=9A=A1?= Date: Mon, 15 Apr 2024 12:55:56 +0200 Subject: [PATCH 05/18] fix: properly start/stop tasks (#8) https://github.com/lnbits/lnbits/issues/2411 --- __init__.py | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/__init__.py b/__init__.py index 5e41edc..4bb5a1b 100644 --- a/__init__.py +++ b/__init__.py @@ -1,10 +1,11 @@ import asyncio from fastapi import APIRouter +from loguru import logger from lnbits.db import Database from lnbits.helpers import template_renderer -from lnbits.tasks import catch_everything_and_restart +from lnbits.tasks import create_permanent_unique_task db = Database("ext_example") @@ -27,6 +28,15 @@ def example_renderer(): from .views_api import * # noqa: F401,F403 +scheduled_tasks: list[asyncio.Task] = [] + +def example_stop(): + for task in scheduled_tasks: + try: + task.cancel() + except Exception as ex: + logger.warning(ex) + def example_start(): - loop = asyncio.get_event_loop() - loop.create_task(catch_everything_and_restart(wait_for_paid_invoices)) + task = create_permanent_unique_task("ext_example", wait_for_paid_invoices) + scheduled_tasks.append(task) From fb7e897f1aed5aac537cc915dd35958b5e4096e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dni=20=E2=9A=A1?= Date: Wed, 17 Apr 2024 09:34:17 +0200 Subject: [PATCH 06/18] feat: big code quality improvement (#9) * feat: add some code quality to extensions * linting from main repo * bugfixes * makefile * pyproject * CI linting --- .github/workflows/lint.yml | 10 + .github/workflows/release.yml | 15 +- .gitignore | 3 + .pre-commit-config.yaml | 27 + .prettierrc | 12 + Makefile | 47 + __init__.py | 28 +- config.json | 11 +- manifest.json | 14 +- models.py | 9 +- package-lock.json | 59 + package.json | 15 + poetry.lock | 2494 +++++++++++++++++++++++++++++++++ pyproject.toml | 86 ++ tasks.py | 10 +- test | 0 views.py | 19 +- views_api.py | 17 +- 18 files changed, 2813 insertions(+), 63 deletions(-) create mode 100644 .github/workflows/lint.yml create mode 100644 .pre-commit-config.yaml create mode 100644 .prettierrc create mode 100644 Makefile create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 poetry.lock create mode 100644 pyproject.toml delete mode 100644 test diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml new file mode 100644 index 0000000..4e02f97 --- /dev/null +++ b/.github/workflows/lint.yml @@ -0,0 +1,10 @@ +name: lint +on: + push: + branches: + - main + pull_request: + +jobs: + lint: + uses: lnbits/lnbits/.github/workflows/lint.yml@dev diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 7ec9b48..27c8a60 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,10 +1,9 @@ on: push: tags: - - "v[0-9]+.[0-9]+.[0-9]+" + - 'v[0-9]+.[0-9]+.[0-9]+' jobs: - release: runs-on: ubuntu-latest steps: @@ -34,12 +33,12 @@ jobs: - name: Create pull request in extensions repo env: GH_TOKEN: ${{ secrets.EXT_GITHUB }} - repo_name: "${{ github.event.repository.name }}" - tag: "${{ github.ref_name }}" - branch: "update-${{ github.event.repository.name }}-${{ github.ref_name }}" - title: "[UPDATE] ${{ github.event.repository.name }} to ${{ github.ref_name }}" - body: "https://github.com/lnbits/${{ github.event.repository.name }}/releases/${{ github.ref_name }}" - archive: "https://github.com/lnbits/${{ github.event.repository.name }}/archive/refs/tags/${{ github.ref_name }}.zip" + repo_name: '${{ github.event.repository.name }}' + tag: '${{ github.ref_name }}' + branch: 'update-${{ github.event.repository.name }}-${{ github.ref_name }}' + title: '[UPDATE] ${{ github.event.repository.name }} to ${{ github.ref_name }}' + body: 'https://github.com/lnbits/${{ github.event.repository.name }}/releases/${{ github.ref_name }}' + archive: 'https://github.com/lnbits/${{ github.event.repository.name }}/archive/refs/tags/${{ github.ref_name }}.zip' run: | cd lnbits-extensions git checkout -b $branch diff --git a/.gitignore b/.gitignore index bee8a64..0152b6e 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,4 @@ __pycache__ +node_modules +.mypy_cache +.venv diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 0000000..4746a3f --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,27 @@ +repos: + - repo: https://github.com/pre-commit/pre-commit-hooks + rev: v4.3.0 + hooks: + - id: trailing-whitespace + - id: end-of-file-fixer + - id: check-yaml + - id: check-added-large-files + - id: check-docstring-first + - id: check-json + - id: debug-statements + - id: mixed-line-ending + - id: check-case-conflict + - repo: https://github.com/psf/black + rev: 24.2.0 + hooks: + - id: black + - repo: https://github.com/astral-sh/ruff-pre-commit + rev: v0.3.2 + hooks: + - id: ruff + args: [--fix, --exit-non-zero-on-fix] + - repo: https://github.com/pre-commit/mirrors-prettier + rev: 'v4.0.0-alpha.8' + hooks: + - id: prettier + types_or: [css, javascript, html, json] diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..725c398 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,12 @@ +{ + "semi": false, + "arrowParens": "avoid", + "insertPragma": false, + "printWidth": 80, + "proseWrap": "preserve", + "singleQuote": true, + "trailingComma": "none", + "useTabs": false, + "bracketSameLine": false, + "bracketSpacing": false +} diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..9a08146 --- /dev/null +++ b/Makefile @@ -0,0 +1,47 @@ +all: format check + +format: prettier black ruff + +check: mypy pyright checkblack checkruff checkprettier + +prettier: + poetry run ./node_modules/.bin/prettier --write . +pyright: + poetry run ./node_modules/.bin/pyright + +mypy: + poetry run mypy . + +black: + poetry run black . + +ruff: + poetry run ruff check . --fix + +checkruff: + poetry run ruff check . + +checkprettier: + poetry run ./node_modules/.bin/prettier --check . + +checkblack: + poetry run black --check . + +checkeditorconfig: + editorconfig-checker + +test: + PYTHONUNBUFFERED=1 \ + DEBUG=true \ + poetry run pytest +install-pre-commit-hook: + @echo "Installing pre-commit hook to git" + @echo "Uninstall the hook with poetry run pre-commit uninstall" + poetry run pre-commit install + +pre-commit: + poetry run pre-commit run --all-files + + +checkbundle: + @echo "skipping checkbundle" diff --git a/__init__.py b/__init__.py index 4bb5a1b..34ef08d 100644 --- a/__init__.py +++ b/__init__.py @@ -1,15 +1,21 @@ import asyncio from fastapi import APIRouter -from loguru import logger - from lnbits.db import Database -from lnbits.helpers import template_renderer from lnbits.tasks import create_permanent_unique_task +from loguru import logger + +from .tasks import wait_for_paid_invoices +from .views import example_ext_generic +from .views_api import example_ext_api db = Database("ext_example") +scheduled_tasks: list[asyncio.Task] = [] + example_ext: APIRouter = APIRouter(prefix="/example", tags=["example"]) +example_ext.include_router(example_ext_generic) +example_ext.include_router(example_ext_api) example_static_files = [ { @@ -19,17 +25,6 @@ ] -def example_renderer(): - return template_renderer(["example/templates"]) - - -from .tasks import wait_for_paid_invoices -from .views import * # noqa: F401,F403 -from .views_api import * # noqa: F401,F403 - - -scheduled_tasks: list[asyncio.Task] = [] - def example_stop(): for task in scheduled_tasks: try: @@ -37,6 +32,9 @@ def example_stop(): except Exception as ex: logger.warning(ex) + def example_start(): - task = create_permanent_unique_task("ext_example", wait_for_paid_invoices) + # ignore will be removed in lnbits `0.12.6` + # https://github.com/lnbits/lnbits/pull/2417 + task = create_permanent_unique_task("ext_testing", wait_for_paid_invoices) # type: ignore scheduled_tasks.append(task) diff --git a/config.json b/config.json index 034219d..268c1fb 100644 --- a/config.json +++ b/config.json @@ -1,7 +1,8 @@ { - "name": "Build your own!", - "short_description": "Extension building guide", - "tile": "/example/static/bitcoin-extension.png", - "contributors": ["github_username"], - "min_lnbits_version": "0.11.0" + "name": "Build your own!", + "short_description": "Extension building guide", + "tile": "/example/static/bitcoin-extension.png", + "contributors": ["github_username"], + "min_lnbits_version": "0.12.6", + "donate": "donate@legend.lnbits.com" } diff --git a/manifest.json b/manifest.json index 1e36eae..e7c1f9e 100644 --- a/manifest.json +++ b/manifest.json @@ -1,9 +1,9 @@ { - "repos": [ - { - "id": "example", - "organisation": "lnbits", - "repository": "example" - } - ] + "repos": [ + { + "id": "example", + "organisation": "lnbits", + "repository": "example" + } + ] } diff --git a/models.py b/models.py index bfeb751..9d29fd7 100644 --- a/models.py +++ b/models.py @@ -1,5 +1,6 @@ -# from pydantic import BaseModel +from pydantic import BaseModel -# class Example(BaseModel): -# id: str -# wallet: str + +class Example(BaseModel): + id: str + wallet: str diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..85932c2 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,59 @@ +{ + "name": "example", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "example", + "version": "1.0.0", + "license": "ISC", + "dependencies": { + "prettier": "^3.2.5", + "pyright": "^1.1.358" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/prettier": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.5.tgz", + "integrity": "sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==", + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/pyright": { + "version": "1.1.358", + "resolved": "https://registry.npmjs.org/pyright/-/pyright-1.1.358.tgz", + "integrity": "sha512-M3zlRf+7bK/8vv5Q1EyfW9hQ2J0yOyS7j2GRwBrl2bJKPTS2AtPy8eR3IAitfOclENxUFDA/4PilHq0IrCj8Yg==", + "bin": { + "pyright": "index.js", + "pyright-langserver": "langserver.index.js" + }, + "engines": { + "node": ">=14.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..0a23031 --- /dev/null +++ b/package.json @@ -0,0 +1,15 @@ +{ + "name": "example", + "version": "1.0.0", + "description": "For more about LNBits extension check [this tutorial](https://github.com/lnbits/lnbits/wiki/LNbits-Extensions)", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "author": "", + "license": "ISC", + "dependencies": { + "prettier": "^3.2.5", + "pyright": "^1.1.358" + } +} diff --git a/poetry.lock b/poetry.lock new file mode 100644 index 0000000..9d742f6 --- /dev/null +++ b/poetry.lock @@ -0,0 +1,2494 @@ +# This file is automatically @generated by Poetry 1.8.2 and should not be changed by hand. + +[[package]] +name = "anyio" +version = "4.3.0" +description = "High level compatibility layer for multiple asynchronous event loop implementations" +optional = false +python-versions = ">=3.8" +files = [ + {file = "anyio-4.3.0-py3-none-any.whl", hash = "sha256:048e05d0f6caeed70d731f3db756d35dcc1f35747c8c403364a8332c630441b8"}, + {file = "anyio-4.3.0.tar.gz", hash = "sha256:f75253795a87df48568485fd18cdd2a3fa5c4f7c5be8e5e36637733fce06fed6"}, +] + +[package.dependencies] +exceptiongroup = {version = ">=1.0.2", markers = "python_version < \"3.11\""} +idna = ">=2.8" +sniffio = ">=1.1" +typing-extensions = {version = ">=4.1", markers = "python_version < \"3.11\""} + +[package.extras] +doc = ["Sphinx (>=7)", "packaging", "sphinx-autodoc-typehints (>=1.2.0)", "sphinx-rtd-theme"] +test = ["anyio[trio]", "coverage[toml] (>=7)", "exceptiongroup (>=1.2.0)", "hypothesis (>=4.0)", "psutil (>=5.9)", "pytest (>=7.0)", "pytest-mock (>=3.6.1)", "trustme", "uvloop (>=0.17)"] +trio = ["trio (>=0.23)"] + +[[package]] +name = "asn1crypto" +version = "1.5.1" +description = "Fast ASN.1 parser and serializer with definitions for private keys, public keys, certificates, CRL, OCSP, CMS, PKCS#3, PKCS#7, PKCS#8, PKCS#12, PKCS#5, X.509 and TSP" +optional = false +python-versions = "*" +files = [ + {file = "asn1crypto-1.5.1-py2.py3-none-any.whl", hash = "sha256:db4e40728b728508912cbb3d44f19ce188f218e9eba635821bb4b68564f8fd67"}, + {file = "asn1crypto-1.5.1.tar.gz", hash = "sha256:13ae38502be632115abf8a24cbe5f4da52e3b5231990aff31123c805306ccb9c"}, +] + +[[package]] +name = "attrs" +version = "23.2.0" +description = "Classes Without Boilerplate" +optional = false +python-versions = ">=3.7" +files = [ + {file = "attrs-23.2.0-py3-none-any.whl", hash = "sha256:99b87a485a5820b23b879f04c2305b44b951b502fd64be915879d77a7e8fc6f1"}, + {file = "attrs-23.2.0.tar.gz", hash = "sha256:935dc3b529c262f6cf76e50877d35a4bd3c1de194fd41f47a2b7ae8f19971f30"}, +] + +[package.extras] +cov = ["attrs[tests]", "coverage[toml] (>=5.3)"] +dev = ["attrs[tests]", "pre-commit"] +docs = ["furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib-towncrier", "towncrier", "zope-interface"] +tests = ["attrs[tests-no-zope]", "zope-interface"] +tests-mypy = ["mypy (>=1.6)", "pytest-mypy-plugins"] +tests-no-zope = ["attrs[tests-mypy]", "cloudpickle", "hypothesis", "pympler", "pytest (>=4.3.0)", "pytest-xdist[psutil]"] + +[[package]] +name = "base58" +version = "2.1.1" +description = "Base58 and Base58Check implementation." +optional = false +python-versions = ">=3.5" +files = [ + {file = "base58-2.1.1-py3-none-any.whl", hash = "sha256:11a36f4d3ce51dfc1043f3218591ac4eb1ceb172919cebe05b52a5bcc8d245c2"}, + {file = "base58-2.1.1.tar.gz", hash = "sha256:c5d0cb3f5b6e81e8e35da5754388ddcc6d0d14b6c6a132cb93d69ed580a7278c"}, +] + +[package.extras] +tests = ["PyHamcrest (>=2.0.2)", "mypy", "pytest (>=4.6)", "pytest-benchmark", "pytest-cov", "pytest-flake8"] + +[[package]] +name = "bcrypt" +version = "4.1.2" +description = "Modern password hashing for your software and your servers" +optional = false +python-versions = ">=3.7" +files = [ + {file = "bcrypt-4.1.2-cp37-abi3-macosx_10_12_universal2.whl", hash = "sha256:ac621c093edb28200728a9cca214d7e838529e557027ef0581685909acd28b5e"}, + {file = "bcrypt-4.1.2-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ea505c97a5c465ab8c3ba75c0805a102ce526695cd6818c6de3b1a38f6f60da1"}, + {file = "bcrypt-4.1.2-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:57fa9442758da926ed33a91644649d3e340a71e2d0a5a8de064fb621fd5a3326"}, + {file = "bcrypt-4.1.2-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:eb3bd3321517916696233b5e0c67fd7d6281f0ef48e66812db35fc963a422a1c"}, + {file = "bcrypt-4.1.2-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:6cad43d8c63f34b26aef462b6f5e44fdcf9860b723d2453b5d391258c4c8e966"}, + {file = "bcrypt-4.1.2-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:44290ccc827d3a24604f2c8bcd00d0da349e336e6503656cb8192133e27335e2"}, + {file = "bcrypt-4.1.2-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:732b3920a08eacf12f93e6b04ea276c489f1c8fb49344f564cca2adb663b3e4c"}, + {file = "bcrypt-4.1.2-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:1c28973decf4e0e69cee78c68e30a523be441972c826703bb93099868a8ff5b5"}, + {file = "bcrypt-4.1.2-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:b8df79979c5bae07f1db22dcc49cc5bccf08a0380ca5c6f391cbb5790355c0b0"}, + {file = "bcrypt-4.1.2-cp37-abi3-win32.whl", hash = "sha256:fbe188b878313d01b7718390f31528be4010fed1faa798c5a1d0469c9c48c369"}, + {file = "bcrypt-4.1.2-cp37-abi3-win_amd64.whl", hash = "sha256:9800ae5bd5077b13725e2e3934aa3c9c37e49d3ea3d06318010aa40f54c63551"}, + {file = "bcrypt-4.1.2-cp39-abi3-macosx_10_12_universal2.whl", hash = "sha256:71b8be82bc46cedd61a9f4ccb6c1a493211d031415a34adde3669ee1b0afbb63"}, + {file = "bcrypt-4.1.2-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:68e3c6642077b0c8092580c819c1684161262b2e30c4f45deb000c38947bf483"}, + {file = "bcrypt-4.1.2-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:387e7e1af9a4dd636b9505a465032f2f5cb8e61ba1120e79a0e1cd0b512f3dfc"}, + {file = "bcrypt-4.1.2-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:f70d9c61f9c4ca7d57f3bfe88a5ccf62546ffbadf3681bb1e268d9d2e41c91a7"}, + {file = "bcrypt-4.1.2-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:2a298db2a8ab20056120b45e86c00a0a5eb50ec4075b6142db35f593b97cb3fb"}, + {file = "bcrypt-4.1.2-cp39-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:ba55e40de38a24e2d78d34c2d36d6e864f93e0d79d0b6ce915e4335aa81d01b1"}, + {file = "bcrypt-4.1.2-cp39-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:3566a88234e8de2ccae31968127b0ecccbb4cddb629da744165db72b58d88ca4"}, + {file = "bcrypt-4.1.2-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:b90e216dc36864ae7132cb151ffe95155a37a14e0de3a8f64b49655dd959ff9c"}, + {file = "bcrypt-4.1.2-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:69057b9fc5093ea1ab00dd24ede891f3e5e65bee040395fb1e66ee196f9c9b4a"}, + {file = "bcrypt-4.1.2-cp39-abi3-win32.whl", hash = "sha256:02d9ef8915f72dd6daaef40e0baeef8a017ce624369f09754baf32bb32dba25f"}, + {file = "bcrypt-4.1.2-cp39-abi3-win_amd64.whl", hash = "sha256:be3ab1071662f6065899fe08428e45c16aa36e28bc42921c4901a191fda6ee42"}, + {file = "bcrypt-4.1.2-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:d75fc8cd0ba23f97bae88a6ec04e9e5351ff3c6ad06f38fe32ba50cbd0d11946"}, + {file = "bcrypt-4.1.2-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:a97e07e83e3262599434816f631cc4c7ca2aa8e9c072c1b1a7fec2ae809a1d2d"}, + {file = "bcrypt-4.1.2-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:e51c42750b7585cee7892c2614be0d14107fad9581d1738d954a262556dd1aab"}, + {file = "bcrypt-4.1.2-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:ba4e4cc26610581a6329b3937e02d319f5ad4b85b074846bf4fef8a8cf51e7bb"}, + {file = "bcrypt-4.1.2.tar.gz", hash = "sha256:33313a1200a3ae90b75587ceac502b048b840fc69e7f7a0905b5f87fac7a1258"}, +] + +[package.extras] +tests = ["pytest (>=3.2.1,!=3.3.0)"] +typecheck = ["mypy"] + +[[package]] +name = "bech32" +version = "1.2.0" +description = "Reference implementation for Bech32 and segwit addresses." +optional = false +python-versions = ">=3.5" +files = [ + {file = "bech32-1.2.0-py3-none-any.whl", hash = "sha256:990dc8e5a5e4feabbdf55207b5315fdd9b73db40be294a19b3752cde9e79d981"}, + {file = "bech32-1.2.0.tar.gz", hash = "sha256:7d6db8214603bd7871fcfa6c0826ef68b85b0abd90fa21c285a9c5e21d2bd899"}, +] + +[[package]] +name = "bitarray" +version = "2.9.2" +description = "efficient arrays of booleans -- C extension" +optional = false +python-versions = "*" +files = [ + {file = "bitarray-2.9.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:917905de565d9576eb20f53c797c15ba88b9f4f19728acabec8d01eee1d3756a"}, + {file = "bitarray-2.9.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b35bfcb08b7693ab4bf9059111a6e9f14e07d57ac93cd967c420db58ab9b71e1"}, + {file = "bitarray-2.9.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ea1923d2e7880f9e1959e035da661767b5a2e16a45dfd57d6aa831e8b65ee1bf"}, + {file = "bitarray-2.9.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1e0b63a565e8a311cc8348ff1262d5784df0f79d64031d546411afd5dd7ef67d"}, + {file = "bitarray-2.9.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cf0620da2b81946d28c0b16f3e3704d38e9837d85ee4f0652816e2609aaa4fed"}, + {file = "bitarray-2.9.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:79a9b8b05f2876c7195a2b698c47528e86a73c61ea203394ff8e7a4434bda5c8"}, + {file = "bitarray-2.9.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:345c76b349ff145549652436235c5532e5bfe9db690db6f0a6ad301c62b9ef21"}, + {file = "bitarray-2.9.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4e2936f090bf3f4d1771f44f9077ebccdbc0415d2b598d51a969afcb519df505"}, + {file = "bitarray-2.9.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:f9346e98fc2abcef90b942973087e2462af6d3e3710e82938078d3493f7fef52"}, + {file = "bitarray-2.9.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e6ec283d4741befb86e8c3ea2e9ac1d17416c956d392107e45263e736954b1f7"}, + {file = "bitarray-2.9.2-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:962892646599529917ef26266091e4cb3077c88b93c3833a909d68dcc971c4e3"}, + {file = "bitarray-2.9.2-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:e8da5355d7d75a52df5b84750989e34e39919ec7e59fafc4c104cc1607ab2d31"}, + {file = "bitarray-2.9.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:603e7d640e54ad764d2b4da6b61e126259af84f253a20f512dd10689566e5478"}, + {file = "bitarray-2.9.2-cp310-cp310-win32.whl", hash = "sha256:f00079f8e69d75c2a417de7961a77612bb77ef46c09bc74607d86de4740771ef"}, + {file = "bitarray-2.9.2-cp310-cp310-win_amd64.whl", hash = "sha256:1bb33673e7f7190a65f0a940c1ef63266abdb391f4a3e544a47542d40a81f536"}, + {file = "bitarray-2.9.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:fe71fd4b76380c2772f96f1e53a524da7063645d647a4fcd3b651bdd80ca0f2e"}, + {file = "bitarray-2.9.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:d527172919cdea1e13994a66d9708a80c3d33dedcf2f0548e4925e600fef3a3a"}, + {file = "bitarray-2.9.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:052c5073bdcaa9dd10628d99d37a2f33ec09364b86dd1f6281e2d9f8d3db3060"}, + {file = "bitarray-2.9.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e064caa55a6ed493aca1eda06f8b3f689778bc780a75e6ad7724642ba5dc62f7"}, + {file = "bitarray-2.9.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:508069a04f658210fdeee85a7a0ca84db4bcc110cbb1d21f692caa13210f24a7"}, + {file = "bitarray-2.9.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4da73ebd537d75fa7bccfc2228fcaedea0803f21dd9d0bf0d3b67fef3c4af294"}, + {file = "bitarray-2.9.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5cb378eaa65cd43098f11ff5d27e48ee3b956d2c00d2d6b5bfc2a09fe183be47"}, + {file = "bitarray-2.9.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d14c790b91f6cbcd9b718f88ed737c78939980c69ac8c7f03dd7e60040c12951"}, + {file = "bitarray-2.9.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:7eea9318293bc0ea6447e9ebfba600a62f3428bea7e9c6d42170ae4f481dbab3"}, + {file = "bitarray-2.9.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:b76ffec27c7450b8a334f967366a9ebadaea66ee43f5b530c12861b1a991f503"}, + {file = "bitarray-2.9.2-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:76b76a07d4ee611405045c6950a1e24c4362b6b44808d4ad6eea75e0dbc59af4"}, + {file = "bitarray-2.9.2-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:c7d16beeaaab15b075990cd26963d6b5b22e8c5becd131781514a00b8bdd04bd"}, + {file = "bitarray-2.9.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:60df43e868a615c7e15117a1e1c2e5e11f48f6457280eba6ddf8fbefbec7da99"}, + {file = "bitarray-2.9.2-cp311-cp311-win32.whl", hash = "sha256:e788608ed7767b7b3bbde6d49058bccdf94df0de9ca75d13aa99020cc7e68095"}, + {file = "bitarray-2.9.2-cp311-cp311-win_amd64.whl", hash = "sha256:a23397da092ef0a8cfe729571da64c2fc30ac18243caa82ac7c4f965087506ff"}, + {file = "bitarray-2.9.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:90e3a281ffe3897991091b7c46fca38c2675bfd4399ffe79dfeded6c52715436"}, + {file = "bitarray-2.9.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:bed637b674db5e6c8a97a4a321e3e4d73e72d50b5c6b29950008a93069cc64cd"}, + {file = "bitarray-2.9.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:e49066d251dbbe4e6e3a5c3937d85b589e40e2669ad0eef41a00f82ec17d844b"}, + {file = "bitarray-2.9.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3c4344e96642e2211fb3a50558feff682c31563a4c64529a931769d40832ca79"}, + {file = "bitarray-2.9.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:aeb60962ec4813c539a59fbd4f383509c7222b62c3fb1faa76b54943a613e33a"}, + {file = "bitarray-2.9.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ed0f7982f10581bb16553719e5e8f933e003f5b22f7d25a68bdb30fac630a6ff"}, + {file = "bitarray-2.9.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c71d1cabdeee0cdda4669168618f0e46b7dace207b29da7b63aaa1adc2b54081"}, + {file = "bitarray-2.9.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b0ef2d0a6f1502d38d911d25609b44c6cc27bee0a4363dd295df78b075041b60"}, + {file = "bitarray-2.9.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:6f71d92f533770fb027388b35b6e11988ab89242b883f48a6fe7202d238c61f8"}, + {file = "bitarray-2.9.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:ba0734aa300757c924f3faf8148e1b8c247176a0ac8e16aefdf9c1eb19e868f7"}, + {file = "bitarray-2.9.2-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:d91406f413ccbf4af6ab5ae7bc78f772a95609f9ddd14123db36ef8c37116d95"}, + {file = "bitarray-2.9.2-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:87abb7f80c0a042f3fe8e5264da1a2756267450bb602110d5327b8eaff7682e7"}, + {file = "bitarray-2.9.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4b558ce85579b51a2e38703877d1e93b7728a7af664dd45a34e833534f0b755d"}, + {file = "bitarray-2.9.2-cp312-cp312-win32.whl", hash = "sha256:dac2399ee2889fbdd3472bfc2ede74c34cceb1ccf29a339964281a16eb1d3188"}, + {file = "bitarray-2.9.2-cp312-cp312-win_amd64.whl", hash = "sha256:48a30d718d1a6dfc22a49547450107abe8f4afdf2abdcbe76eb9ed88edc49498"}, + {file = "bitarray-2.9.2-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:2c6be1b651fad8f3adb7a5aa12c65b612cd9b89530969af941844ae680f7d981"}, + {file = "bitarray-2.9.2-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c5b399ae6ab975257ec359f03b48fc00b1c1cd109471e41903548469b8feae5c"}, + {file = "bitarray-2.9.2-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0b3543c8a1cb286ad105f11c25d8d0f712f41c5c55f90be39f0e5a1376c7d0b0"}, + {file = "bitarray-2.9.2-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:03adaacb79e2fb8f483ab3a67665eec53bb3fd0cd5dbd7358741aef124688db3"}, + {file = "bitarray-2.9.2-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9ae5b0657380d2581e13e46864d147a52c1e2bbac9f59b59c576e42fa7d10cf0"}, + {file = "bitarray-2.9.2-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7c1f4bf6ea8eb9d7f30808c2e9894237a96650adfecbf5f3643862dc5982f89e"}, + {file = "bitarray-2.9.2-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:a8873089be2aa15494c0f81af1209f6e1237d762c5065bc4766c1b84321e1b50"}, + {file = "bitarray-2.9.2-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:677e67f50e2559efc677a4366707070933ad5418b8347a603a49a070890b19bc"}, + {file = "bitarray-2.9.2-cp36-cp36m-musllinux_1_1_ppc64le.whl", hash = "sha256:a620d8ce4ea2f1c73c6b6b1399e14cb68c6915e2be3fad5808c2998ed55b4acf"}, + {file = "bitarray-2.9.2-cp36-cp36m-musllinux_1_1_s390x.whl", hash = "sha256:64115ccabbdbe279c24c367b629c6b1d3da9ed36c7420129e27c338a3971bfee"}, + {file = "bitarray-2.9.2-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:5d6fb422772e75385b76ad1c52f45a68bd4efafd8be8d0061c11877be74c4d43"}, + {file = "bitarray-2.9.2-cp36-cp36m-win32.whl", hash = "sha256:852e202875dd6dfd6139ce7ec4e98dac2b17d8d25934dc99900831e81c3adaef"}, + {file = "bitarray-2.9.2-cp36-cp36m-win_amd64.whl", hash = "sha256:7dfefdcb0dc6a3ba9936063cec65a74595571b375beabe18742b3d91d087eefd"}, + {file = "bitarray-2.9.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:b306c4cf66912511422060f7f5e1149c8bdb404f8e00e600561b0749fdd45659"}, + {file = "bitarray-2.9.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a09c4f81635408e3387348f415521d4b94198c562c23330f560596a6aaa26eaf"}, + {file = "bitarray-2.9.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5361413fd2ecfdf44dc8f065177dc6aba97fa80a91b815586cb388763acf7f8d"}, + {file = "bitarray-2.9.2-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e8a9475d415ef1eaae7942df6f780fa4dcd48fce32825eda591a17abba869299"}, + {file = "bitarray-2.9.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c9b87baa7bfff9a5878fcc1bffe49ecde6e647a72a64b39a69cd8a2992a43a34"}, + {file = "bitarray-2.9.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bb6b86cfdfc503e92cb71c68766a24565359136961642504a7cc9faf936d9c88"}, + {file = "bitarray-2.9.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:cd56b8ae87ebc71bcacbd73615098e8a8de952ecbb5785b6b4e2b07da8a06e1f"}, + {file = "bitarray-2.9.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:3fa909cfd675004aed8b4cc9df352415933656e0155a6209d878b7cb615c787e"}, + {file = "bitarray-2.9.2-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:b069ca9bf728e0c5c5b60e00a89df9af34cc170c695c3bfa3b372d8f40288efb"}, + {file = "bitarray-2.9.2-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:6067f2f07a7121749858c7daa93c8774325c91590b3e81a299621e347740c2ae"}, + {file = "bitarray-2.9.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:321841cdad1dd0f58fe62e80e9c9c7531f8ebf8be93f047401e930dc47425b1e"}, + {file = "bitarray-2.9.2-cp37-cp37m-win32.whl", hash = "sha256:54e16e32e60973bb83c315de9975bc1bcfc9bd50bb13001c31da159bc49b0ca1"}, + {file = "bitarray-2.9.2-cp37-cp37m-win_amd64.whl", hash = "sha256:f4dcadb7b8034aa3491ee8f5a69b3d9ba9d7d1e55c3cc1fc45be313e708277f8"}, + {file = "bitarray-2.9.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:c8919fdbd3bb596b104388b56ae4b266eb28da1f2f7dff2e1f9334a21840fe96"}, + {file = "bitarray-2.9.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:eb7a9d8a2e400a1026de341ad48e21670a6261a75b06df162c5c39b0d0e7c8f4"}, + {file = "bitarray-2.9.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:6ec84668dd7b937874a2b2c293cd14ba84f37be0d196dead852e0ada9815d807"}, + {file = "bitarray-2.9.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f2de9a31c34e543ae089fd2a5ced01292f725190e379921384f695e2d7184bd3"}, + {file = "bitarray-2.9.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9521f49ae121a17c0a41e5112249e6fa7f6a571245b1118de81fb86e7c1bc1ce"}, + {file = "bitarray-2.9.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a6cc6545d6d76542aee3d18c1c9485fb7b9812b8df4ebe52c4535ec42081b48f"}, + {file = "bitarray-2.9.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:856bbe1616425f71c0df5ef2e8755e878d9504d5a531acba58ab4273c52c117a"}, + {file = "bitarray-2.9.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d4bba8042ea6ab331ade91bc435d81ad72fddb098e49108610b0ce7780c14e68"}, + {file = "bitarray-2.9.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:a035da89c959d98afc813e3c62f052690d67cfd55a36592f25d734b70de7d4b0"}, + {file = "bitarray-2.9.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:6d70b1579da7fb71be5a841a1f965d19aca0ef27f629cfc07d06b09aafd0a333"}, + {file = "bitarray-2.9.2-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:405b83bed28efaae6d86b6ab287c75712ead0adbfab2a1075a1b7ab47dad4d62"}, + {file = "bitarray-2.9.2-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:7eb8be687c50da0b397d5e0ab7ca200b5ebb639e79a9f5e285851d1944c94be9"}, + {file = "bitarray-2.9.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:eceb551dfeaf19c609003a69a0cf8264b0efd7abc3791a11dfabf4788daf0d19"}, + {file = "bitarray-2.9.2-cp38-cp38-win32.whl", hash = "sha256:bb198c6ed1edbcdaf3d1fa3c9c9d1cdb7e179a5134ef5ee660b53cdec43b34e7"}, + {file = "bitarray-2.9.2-cp38-cp38-win_amd64.whl", hash = "sha256:648d2f2685590b0103c67a937c2fb9e09bcc8dfb166f0c7c77bd341902a6f5b3"}, + {file = "bitarray-2.9.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:ea816dc8f8e65841a8bbdd30e921edffeeb6f76efe6a1eb0da147b60d539d1cf"}, + {file = "bitarray-2.9.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4d0e32530f941c41eddfc77600ec89b65184cb909c549336463a738fab3ed285"}, + {file = "bitarray-2.9.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4a22266fb416a3b6c258bf7f83c9fe531ba0b755a56986a81ad69dc0f3bcc070"}, + {file = "bitarray-2.9.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fc6d3e80dd8239850f2604833ff3168b28909c8a9357abfed95632cccd17e3e7"}, + {file = "bitarray-2.9.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f135e804986b12bf14f2cd1eb86674c47dea86c4c5f0fa13c88978876b97ebe6"}, + {file = "bitarray-2.9.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:87580c7f7d14f7ec401eda7adac1e2a25e95153e9c339872c8ae61b3208819a1"}, + {file = "bitarray-2.9.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:64b433e26993127732ac7b66a7821b2537c3044355798de7c5fcb0af34b8296f"}, + {file = "bitarray-2.9.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1e497c535f2a9b68c69d36631bf2dba243e05eb343b00b9c7bbdc8c601c6802d"}, + {file = "bitarray-2.9.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:e40b3cb9fa1edb4e0175d7c06345c49c7925fe93e39ef55ecb0bc40c906b0c09"}, + {file = "bitarray-2.9.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:f2f8692f95c9e377eb19ca519d30d1f884b02feb7e115f798de47570a359e43f"}, + {file = "bitarray-2.9.2-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:f0b84fc50b6dbeced4fa390688c07c10a73222810fb0e08392bd1a1b8259de36"}, + {file = "bitarray-2.9.2-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:d656ad38c942e38a470ddbce26b5020e08e1a7ea86b8fd413bb9024b5189993a"}, + {file = "bitarray-2.9.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:6ab0f1dbfe5070db98771a56aa14797595acd45a1af9eadfb193851a270e7996"}, + {file = "bitarray-2.9.2-cp39-cp39-win32.whl", hash = "sha256:0a99b23ac845a9ea3157782c97465e6ae026fe0c7c4c1ed1d88f759fd6ea52d9"}, + {file = "bitarray-2.9.2-cp39-cp39-win_amd64.whl", hash = "sha256:9bbcfc7c279e8d74b076e514e669b683f77b4a2a328585b3f16d4c5259c91222"}, + {file = "bitarray-2.9.2-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:43847799461d8ba71deb4d97b47250c2c2fb66d82cd3cb8b4caf52bb97c03034"}, + {file = "bitarray-2.9.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f4f44381b0a4bdf64416082f4f0e7140377ae962c0ced6f983c6d7bbfc034040"}, + {file = "bitarray-2.9.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a484061616fb4b158b80789bd3cb511f399d2116525a8b29b6334c68abc2310f"}, + {file = "bitarray-2.9.2-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1ff9e38356cc803e06134cf8ae9758e836ccd1b793135ef3db53c7c5d71e93bc"}, + {file = "bitarray-2.9.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:b44105792fbdcfbda3e26ee88786790fda409da4c71f6c2b73888108cf8f062f"}, + {file = "bitarray-2.9.2-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:7e913098de169c7fc890638ce5e171387363eb812579e637c44261460ac00aa2"}, + {file = "bitarray-2.9.2-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d6fe315355cdfe3ed22ef355b8bdc81a805ca4d0949d921576560e5b227a1112"}, + {file = "bitarray-2.9.2-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f708e91fdbe443f3bec2df394ed42328fb9b0446dff5cb4199023ac6499e09fd"}, + {file = "bitarray-2.9.2-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5b7b09489b71f9f1f64c0fa0977e250ec24500767dab7383ba9912495849cadf"}, + {file = "bitarray-2.9.2-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:128cc3488176145b9b137fdcf54c1c201809bbb8dd30b260ee40afe915843b43"}, + {file = "bitarray-2.9.2-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:21f21e7f56206be346bdbda2a6bdb2165a5e6a11821f88fd4911c5a6bbbdc7e2"}, + {file = "bitarray-2.9.2-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5f4dd3af86dd8a617eb6464622fb64ca86e61ce99b59b5c35d8cd33f9c30603d"}, + {file = "bitarray-2.9.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6465de861aff7a2559f226b37982007417eab8c3557543879987f58b453519bd"}, + {file = "bitarray-2.9.2-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dbaf2bb71d6027152d603f1d5f31e0dfd5e50173d06f877bec484e5396d4594b"}, + {file = "bitarray-2.9.2-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:2f32948c86e0d230a296686db28191b67ed229756f84728847daa0c7ab7406e3"}, + {file = "bitarray-2.9.2-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:be94e5a685e60f9d24532af8fe5c268002e9016fa80272a94727f435de3d1003"}, + {file = "bitarray-2.9.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5cc9381fd54f3c23ae1039f977bfd6d041a5c3c1518104f616643c3a5a73b15"}, + {file = "bitarray-2.9.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cd926e8ae4d1ed1ac4a8f37212a62886292f692bc1739fde98013bf210c2d175"}, + {file = "bitarray-2.9.2-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:461a3dafb9d5fda0bb3385dc507d78b1984b49da3fe4c6d56c869a54373b7008"}, + {file = "bitarray-2.9.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:393cb27fd859af5fd9c16eb26b1c59b17b390ff66b3ae5d0dd258270191baf13"}, + {file = "bitarray-2.9.2.tar.gz", hash = "sha256:a8f286a51a32323715d77755ed959f94bef13972e9a2fe71b609e40e6d27957e"}, +] + +[[package]] +name = "bitstring" +version = "4.1.4" +description = "Simple construction, analysis and modification of binary data." +optional = false +python-versions = ">=3.7" +files = [ + {file = "bitstring-4.1.4-py3-none-any.whl", hash = "sha256:da46c4d6f8f3fb75a85566fdd33d5083ba8b8f268ed76f34eefe5a00da426192"}, + {file = "bitstring-4.1.4.tar.gz", hash = "sha256:94f3f1c45383ebe8fd4a359424ffeb75c2f290760ae8fcac421b44f89ac85213"}, +] + +[package.dependencies] +bitarray = ">=2.8.0,<3.0.0" + +[[package]] +name = "black" +version = "24.4.0" +description = "The uncompromising code formatter." +optional = false +python-versions = ">=3.8" +files = [ + {file = "black-24.4.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6ad001a9ddd9b8dfd1b434d566be39b1cd502802c8d38bbb1ba612afda2ef436"}, + {file = "black-24.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e3a3a092b8b756c643fe45f4624dbd5a389f770a4ac294cf4d0fce6af86addaf"}, + {file = "black-24.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dae79397f367ac8d7adb6c779813328f6d690943f64b32983e896bcccd18cbad"}, + {file = "black-24.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:71d998b73c957444fb7c52096c3843875f4b6b47a54972598741fe9a7f737fcb"}, + {file = "black-24.4.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:8e5537f456a22cf5cfcb2707803431d2feeb82ab3748ade280d6ccd0b40ed2e8"}, + {file = "black-24.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:64e60a7edd71fd542a10a9643bf369bfd2644de95ec71e86790b063aa02ff745"}, + {file = "black-24.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5cd5b4f76056cecce3e69b0d4c228326d2595f506797f40b9233424e2524c070"}, + {file = "black-24.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:64578cf99b6b46a6301bc28bdb89f9d6f9b592b1c5837818a177c98525dbe397"}, + {file = "black-24.4.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:f95cece33329dc4aa3b0e1a771c41075812e46cf3d6e3f1dfe3d91ff09826ed2"}, + {file = "black-24.4.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:4396ca365a4310beef84d446ca5016f671b10f07abdba3e4e4304218d2c71d33"}, + {file = "black-24.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:44d99dfdf37a2a00a6f7a8dcbd19edf361d056ee51093b2445de7ca09adac965"}, + {file = "black-24.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:21f9407063ec71c5580b8ad975653c66508d6a9f57bd008bb8691d273705adcd"}, + {file = "black-24.4.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:652e55bb722ca026299eb74e53880ee2315b181dfdd44dca98e43448620ddec1"}, + {file = "black-24.4.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7f2966b9b2b3b7104fca9d75b2ee856fe3fdd7ed9e47c753a4bb1a675f2caab8"}, + {file = "black-24.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1bb9ca06e556a09f7f7177bc7cb604e5ed2d2df1e9119e4f7d2f1f7071c32e5d"}, + {file = "black-24.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:d4e71cdebdc8efeb6deaf5f2deb28325f8614d48426bed118ecc2dcaefb9ebf3"}, + {file = "black-24.4.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6644f97a7ef6f401a150cca551a1ff97e03c25d8519ee0bbc9b0058772882665"}, + {file = "black-24.4.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:75a2d0b4f5eb81f7eebc31f788f9830a6ce10a68c91fbe0fade34fff7a2836e6"}, + {file = "black-24.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eb949f56a63c5e134dfdca12091e98ffb5fd446293ebae123d10fc1abad00b9e"}, + {file = "black-24.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:7852b05d02b5b9a8c893ab95863ef8986e4dda29af80bbbda94d7aee1abf8702"}, + {file = "black-24.4.0-py3-none-any.whl", hash = "sha256:74eb9b5420e26b42c00a3ff470dc0cd144b80a766128b1771d07643165e08d0e"}, + {file = "black-24.4.0.tar.gz", hash = "sha256:f07b69fda20578367eaebbd670ff8fc653ab181e1ff95d84497f9fa20e7d0641"}, +] + +[package.dependencies] +click = ">=8.0.0" +mypy-extensions = ">=0.4.3" +packaging = ">=22.0" +pathspec = ">=0.9.0" +platformdirs = ">=2" +tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""} +typing-extensions = {version = ">=4.0.1", markers = "python_version < \"3.11\""} + +[package.extras] +colorama = ["colorama (>=0.4.3)"] +d = ["aiohttp (>=3.7.4)", "aiohttp (>=3.7.4,!=3.9.0)"] +jupyter = ["ipython (>=7.8.0)", "tokenize-rt (>=3.2.0)"] +uvloop = ["uvloop (>=0.15.2)"] + +[[package]] +name = "bolt11" +version = "2.0.5" +description = "A library for encoding and decoding BOLT11 payment requests." +optional = false +python-versions = ">=3.8.1" +files = [ + {file = "bolt11-2.0.5-py3-none-any.whl", hash = "sha256:6791c2edee804a4a8a7d092c689f8d2c01212271a33963ede4a988b7a6ce1b81"}, + {file = "bolt11-2.0.5.tar.gz", hash = "sha256:e6be2748b0c4a017900761f63d9944c1dde8f22fd2829006679a0e2346eaa47b"}, +] + +[package.dependencies] +base58 = "*" +bech32 = "*" +bitstring = "*" +click = "*" +ecdsa = "*" +secp256k1 = "*" + +[[package]] +name = "certifi" +version = "2024.2.2" +description = "Python package for providing Mozilla's CA Bundle." +optional = false +python-versions = ">=3.6" +files = [ + {file = "certifi-2024.2.2-py3-none-any.whl", hash = "sha256:dc383c07b76109f368f6106eee2b593b04a011ea4d55f652c6ca24a754d1cdd1"}, + {file = "certifi-2024.2.2.tar.gz", hash = "sha256:0569859f95fc761b18b45ef421b1290a0f65f147e92a1e5eb3e635f9a5e4e66f"}, +] + +[[package]] +name = "cffi" +version = "1.16.0" +description = "Foreign Function Interface for Python calling C code." +optional = false +python-versions = ">=3.8" +files = [ + {file = "cffi-1.16.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6b3d6606d369fc1da4fd8c357d026317fbb9c9b75d36dc16e90e84c26854b088"}, + {file = "cffi-1.16.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ac0f5edd2360eea2f1daa9e26a41db02dd4b0451b48f7c318e217ee092a213e9"}, + {file = "cffi-1.16.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7e61e3e4fa664a8588aa25c883eab612a188c725755afff6289454d6362b9673"}, + {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a72e8961a86d19bdb45851d8f1f08b041ea37d2bd8d4fd19903bc3083d80c896"}, + {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5b50bf3f55561dac5438f8e70bfcdfd74543fd60df5fa5f62d94e5867deca684"}, + {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7651c50c8c5ef7bdb41108b7b8c5a83013bfaa8a935590c5d74627c047a583c7"}, + {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e4108df7fe9b707191e55f33efbcb2d81928e10cea45527879a4749cbe472614"}, + {file = "cffi-1.16.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:32c68ef735dbe5857c810328cb2481e24722a59a2003018885514d4c09af9743"}, + {file = "cffi-1.16.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:673739cb539f8cdaa07d92d02efa93c9ccf87e345b9a0b556e3ecc666718468d"}, + {file = "cffi-1.16.0-cp310-cp310-win32.whl", hash = "sha256:9f90389693731ff1f659e55c7d1640e2ec43ff725cc61b04b2f9c6d8d017df6a"}, + {file = "cffi-1.16.0-cp310-cp310-win_amd64.whl", hash = "sha256:e6024675e67af929088fda399b2094574609396b1decb609c55fa58b028a32a1"}, + {file = "cffi-1.16.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b84834d0cf97e7d27dd5b7f3aca7b6e9263c56308ab9dc8aae9784abb774d404"}, + {file = "cffi-1.16.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1b8ebc27c014c59692bb2664c7d13ce7a6e9a629be20e54e7271fa696ff2b417"}, + {file = "cffi-1.16.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ee07e47c12890ef248766a6e55bd38ebfb2bb8edd4142d56db91b21ea68b7627"}, + {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8a9d3ebe49f084ad71f9269834ceccbf398253c9fac910c4fd7053ff1386936"}, + {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e70f54f1796669ef691ca07d046cd81a29cb4deb1e5f942003f401c0c4a2695d"}, + {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5bf44d66cdf9e893637896c7faa22298baebcd18d1ddb6d2626a6e39793a1d56"}, + {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7b78010e7b97fef4bee1e896df8a4bbb6712b7f05b7ef630f9d1da00f6444d2e"}, + {file = "cffi-1.16.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c6a164aa47843fb1b01e941d385aab7215563bb8816d80ff3a363a9f8448a8dc"}, + {file = "cffi-1.16.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e09f3ff613345df5e8c3667da1d918f9149bd623cd9070c983c013792a9a62eb"}, + {file = "cffi-1.16.0-cp311-cp311-win32.whl", hash = "sha256:2c56b361916f390cd758a57f2e16233eb4f64bcbeee88a4881ea90fca14dc6ab"}, + {file = "cffi-1.16.0-cp311-cp311-win_amd64.whl", hash = "sha256:db8e577c19c0fda0beb7e0d4e09e0ba74b1e4c092e0e40bfa12fe05b6f6d75ba"}, + {file = "cffi-1.16.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:fa3a0128b152627161ce47201262d3140edb5a5c3da88d73a1b790a959126956"}, + {file = "cffi-1.16.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:68e7c44931cc171c54ccb702482e9fc723192e88d25a0e133edd7aff8fcd1f6e"}, + {file = "cffi-1.16.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:abd808f9c129ba2beda4cfc53bde801e5bcf9d6e0f22f095e45327c038bfe68e"}, + {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88e2b3c14bdb32e440be531ade29d3c50a1a59cd4e51b1dd8b0865c54ea5d2e2"}, + {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fcc8eb6d5902bb1cf6dc4f187ee3ea80a1eba0a89aba40a5cb20a5087d961357"}, + {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b7be2d771cdba2942e13215c4e340bfd76398e9227ad10402a8767ab1865d2e6"}, + {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e715596e683d2ce000574bae5d07bd522c781a822866c20495e52520564f0969"}, + {file = "cffi-1.16.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:2d92b25dbf6cae33f65005baf472d2c245c050b1ce709cc4588cdcdd5495b520"}, + {file = "cffi-1.16.0-cp312-cp312-win32.whl", hash = "sha256:b2ca4e77f9f47c55c194982e10f058db063937845bb2b7a86c84a6cfe0aefa8b"}, + {file = "cffi-1.16.0-cp312-cp312-win_amd64.whl", hash = "sha256:68678abf380b42ce21a5f2abde8efee05c114c2fdb2e9eef2efdb0257fba1235"}, + {file = "cffi-1.16.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0c9ef6ff37e974b73c25eecc13952c55bceed9112be2d9d938ded8e856138bcc"}, + {file = "cffi-1.16.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a09582f178759ee8128d9270cd1344154fd473bb77d94ce0aeb2a93ebf0feaf0"}, + {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e760191dd42581e023a68b758769e2da259b5d52e3103c6060ddc02c9edb8d7b"}, + {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:80876338e19c951fdfed6198e70bc88f1c9758b94578d5a7c4c91a87af3cf31c"}, + {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a6a14b17d7e17fa0d207ac08642c8820f84f25ce17a442fd15e27ea18d67c59b"}, + {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6602bc8dc6f3a9e02b6c22c4fc1e47aa50f8f8e6d3f78a5e16ac33ef5fefa324"}, + {file = "cffi-1.16.0-cp38-cp38-win32.whl", hash = "sha256:131fd094d1065b19540c3d72594260f118b231090295d8c34e19a7bbcf2e860a"}, + {file = "cffi-1.16.0-cp38-cp38-win_amd64.whl", hash = "sha256:31d13b0f99e0836b7ff893d37af07366ebc90b678b6664c955b54561fc36ef36"}, + {file = "cffi-1.16.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:582215a0e9adbe0e379761260553ba11c58943e4bbe9c36430c4ca6ac74b15ed"}, + {file = "cffi-1.16.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b29ebffcf550f9da55bec9e02ad430c992a87e5f512cd63388abb76f1036d8d2"}, + {file = "cffi-1.16.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dc9b18bf40cc75f66f40a7379f6a9513244fe33c0e8aa72e2d56b0196a7ef872"}, + {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9cb4a35b3642fc5c005a6755a5d17c6c8b6bcb6981baf81cea8bfbc8903e8ba8"}, + {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b86851a328eedc692acf81fb05444bdf1891747c25af7529e39ddafaf68a4f3f"}, + {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c0f31130ebc2d37cdd8e44605fb5fa7ad59049298b3f745c74fa74c62fbfcfc4"}, + {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f8e709127c6c77446a8c0a8c8bf3c8ee706a06cd44b1e827c3e6a2ee6b8c098"}, + {file = "cffi-1.16.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:748dcd1e3d3d7cd5443ef03ce8685043294ad6bd7c02a38d1bd367cfd968e000"}, + {file = "cffi-1.16.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8895613bcc094d4a1b2dbe179d88d7fb4a15cee43c052e8885783fac397d91fe"}, + {file = "cffi-1.16.0-cp39-cp39-win32.whl", hash = "sha256:ed86a35631f7bfbb28e108dd96773b9d5a6ce4811cf6ea468bb6a359b256b1e4"}, + {file = "cffi-1.16.0-cp39-cp39-win_amd64.whl", hash = "sha256:3686dffb02459559c74dd3d81748269ffb0eb027c39a6fc99502de37d501faa8"}, + {file = "cffi-1.16.0.tar.gz", hash = "sha256:bcb3ef43e58665bbda2fb198698fcae6776483e0c4a631aa5647806c25e02cc0"}, +] + +[package.dependencies] +pycparser = "*" + +[[package]] +name = "cfgv" +version = "3.4.0" +description = "Validate configuration and produce human readable error messages." +optional = false +python-versions = ">=3.8" +files = [ + {file = "cfgv-3.4.0-py2.py3-none-any.whl", hash = "sha256:b7265b1f29fd3316bfcd2b330d63d024f2bfd8bcb8b0272f8e19a504856c48f9"}, + {file = "cfgv-3.4.0.tar.gz", hash = "sha256:e52591d4c5f5dead8e0f673fb16db7949d2cfb3f7da4582893288f0ded8fe560"}, +] + +[[package]] +name = "charset-normalizer" +version = "3.3.2" +description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." +optional = false +python-versions = ">=3.7.0" +files = [ + {file = "charset-normalizer-3.3.2.tar.gz", hash = "sha256:f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:25baf083bf6f6b341f4121c2f3c548875ee6f5339300e08be3f2b2ba1721cdd3"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:06435b539f889b1f6f4ac1758871aae42dc3a8c0e24ac9e60c2384973ad73027"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9063e24fdb1e498ab71cb7419e24622516c4a04476b17a2dab57e8baa30d6e03"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6897af51655e3691ff853668779c7bad41579facacf5fd7253b0133308cf000d"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1d3193f4a680c64b4b6a9115943538edb896edc190f0b222e73761716519268e"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cd70574b12bb8a4d2aaa0094515df2463cb429d8536cfb6c7ce983246983e5a6"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8465322196c8b4d7ab6d1e049e4c5cb460d0394da4a27d23cc242fbf0034b6b5"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a9a8e9031d613fd2009c182b69c7b2c1ef8239a0efb1df3f7c8da66d5dd3d537"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:beb58fe5cdb101e3a055192ac291b7a21e3b7ef4f67fa1d74e331a7f2124341c"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e06ed3eb3218bc64786f7db41917d4e686cc4856944f53d5bdf83a6884432e12"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:2e81c7b9c8979ce92ed306c249d46894776a909505d8f5a4ba55b14206e3222f"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:572c3763a264ba47b3cf708a44ce965d98555f618ca42c926a9c1616d8f34269"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fd1abc0d89e30cc4e02e4064dc67fcc51bd941eb395c502aac3ec19fab46b519"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-win32.whl", hash = "sha256:3d47fa203a7bd9c5b6cee4736ee84ca03b8ef23193c0d1ca99b5089f72645c73"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:10955842570876604d404661fbccbc9c7e684caf432c09c715ec38fbae45ae09"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:802fe99cca7457642125a8a88a084cef28ff0cf9407060f7b93dca5aa25480db"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:573f6eac48f4769d667c4442081b1794f52919e7edada77495aaed9236d13a96"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:549a3a73da901d5bc3ce8d24e0600d1fa85524c10287f6004fbab87672bf3e1e"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f27273b60488abe721a075bcca6d7f3964f9f6f067c8c4c605743023d7d3944f"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ceae2f17a9c33cb48e3263960dc5fc8005351ee19db217e9b1bb15d28c02574"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:65f6f63034100ead094b8744b3b97965785388f308a64cf8d7c34f2f2e5be0c4"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:753f10e867343b4511128c6ed8c82f7bec3bd026875576dfd88483c5c73b2fd8"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4a78b2b446bd7c934f5dcedc588903fb2f5eec172f3d29e52a9096a43722adfc"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e537484df0d8f426ce2afb2d0f8e1c3d0b114b83f8850e5f2fbea0e797bd82ae"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:eb6904c354526e758fda7167b33005998fb68c46fbc10e013ca97f21ca5c8887"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:deb6be0ac38ece9ba87dea880e438f25ca3eddfac8b002a2ec3d9183a454e8ae"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:4ab2fe47fae9e0f9dee8c04187ce5d09f48eabe611be8259444906793ab7cbce"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:80402cd6ee291dcb72644d6eac93785fe2c8b9cb30893c1af5b8fdd753b9d40f"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-win32.whl", hash = "sha256:7cd13a2e3ddeed6913a65e66e94b51d80a041145a026c27e6bb76c31a853c6ab"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:663946639d296df6a2bb2aa51b60a2454ca1cb29835324c640dafb5ff2131a77"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:0b2b64d2bb6d3fb9112bafa732def486049e63de9618b5843bcdd081d8144cd8"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:ddbb2551d7e0102e7252db79ba445cdab71b26640817ab1e3e3648dad515003b"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:55086ee1064215781fff39a1af09518bc9255b50d6333f2e4c74ca09fac6a8f6"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8f4a014bc36d3c57402e2977dada34f9c12300af536839dc38c0beab8878f38a"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a10af20b82360ab00827f916a6058451b723b4e65030c5a18577c8b2de5b3389"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8d756e44e94489e49571086ef83b2bb8ce311e730092d2c34ca8f7d925cb20aa"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:90d558489962fd4918143277a773316e56c72da56ec7aa3dc3dbbe20fdfed15b"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ac7ffc7ad6d040517be39eb591cac5ff87416c2537df6ba3cba3bae290c0fed"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:7ed9e526742851e8d5cc9e6cf41427dfc6068d4f5a3bb03659444b4cabf6bc26"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:8bdb58ff7ba23002a4c5808d608e4e6c687175724f54a5dade5fa8c67b604e4d"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:6b3251890fff30ee142c44144871185dbe13b11bab478a88887a639655be1068"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:b4a23f61ce87adf89be746c8a8974fe1c823c891d8f86eb218bb957c924bb143"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:efcb3f6676480691518c177e3b465bcddf57cea040302f9f4e6e191af91174d4"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-win32.whl", hash = "sha256:d965bba47ddeec8cd560687584e88cf699fd28f192ceb452d1d7ee807c5597b7"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:96b02a3dc4381e5494fad39be677abcb5e6634bf7b4fa83a6dd3112607547001"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:95f2a5796329323b8f0512e09dbb7a1860c46a39da62ecb2324f116fa8fdc85c"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c002b4ffc0be611f0d9da932eb0f704fe2602a9a949d1f738e4c34c75b0863d5"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a981a536974bbc7a512cf44ed14938cf01030a99e9b3a06dd59578882f06f985"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3287761bc4ee9e33561a7e058c72ac0938c4f57fe49a09eae428fd88aafe7bb6"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:42cb296636fcc8b0644486d15c12376cb9fa75443e00fb25de0b8602e64c1714"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0a55554a2fa0d408816b3b5cedf0045f4b8e1a6065aec45849de2d6f3f8e9786"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:c083af607d2515612056a31f0a8d9e0fcb5876b7bfc0abad3ecd275bc4ebc2d5"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:87d1351268731db79e0f8e745d92493ee2841c974128ef629dc518b937d9194c"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:bd8f7df7d12c2db9fab40bdd87a7c09b1530128315d047a086fa3ae3435cb3a8"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:c180f51afb394e165eafe4ac2936a14bee3eb10debc9d9e4db8958fe36afe711"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:8c622a5fe39a48f78944a87d4fb8a53ee07344641b0562c540d840748571b811"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-win32.whl", hash = "sha256:db364eca23f876da6f9e16c9da0df51aa4f104a972735574842618b8c6d999d4"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-win_amd64.whl", hash = "sha256:86216b5cee4b06df986d214f664305142d9c76df9b6512be2738aa72a2048f99"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:6463effa3186ea09411d50efc7d85360b38d5f09b870c48e4600f63af490e56a"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6c4caeef8fa63d06bd437cd4bdcf3ffefe6738fb1b25951440d80dc7df8c03ac"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:37e55c8e51c236f95b033f6fb391d7d7970ba5fe7ff453dad675e88cf303377a"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb69256e180cb6c8a894fee62b3afebae785babc1ee98b81cdf68bbca1987f33"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ae5f4161f18c61806f411a13b0310bea87f987c7d2ecdbdaad0e94eb2e404238"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b2b0a0c0517616b6869869f8c581d4eb2dd83a4d79e0ebcb7d373ef9956aeb0a"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:45485e01ff4d3630ec0d9617310448a8702f70e9c01906b0d0118bdf9d124cf2"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eb00ed941194665c332bf8e078baf037d6c35d7c4f3102ea2d4f16ca94a26dc8"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:2127566c664442652f024c837091890cb1942c30937add288223dc895793f898"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a50aebfa173e157099939b17f18600f72f84eed3049e743b68ad15bd69b6bf99"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:4d0d1650369165a14e14e1e47b372cfcb31d6ab44e6e33cb2d4e57265290044d"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:923c0c831b7cfcb071580d3f46c4baf50f174be571576556269530f4bbd79d04"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:06a81e93cd441c56a9b65d8e1d043daeb97a3d0856d177d5c90ba85acb3db087"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-win32.whl", hash = "sha256:6ef1d82a3af9d3eecdba2321dc1b3c238245d890843e040e41e470ffa64c3e25"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-win_amd64.whl", hash = "sha256:eb8821e09e916165e160797a6c17edda0679379a4be5c716c260e836e122f54b"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:c235ebd9baae02f1b77bcea61bce332cb4331dc3617d254df3323aa01ab47bd4"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5b4c145409bef602a690e7cfad0a15a55c13320ff7a3ad7ca59c13bb8ba4d45d"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:68d1f8a9e9e37c1223b656399be5d6b448dea850bed7d0f87a8311f1ff3dabb0"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22afcb9f253dac0696b5a4be4a1c0f8762f8239e21b99680099abd9b2b1b2269"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e27ad930a842b4c5eb8ac0016b0a54f5aebbe679340c26101df33424142c143c"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1f79682fbe303db92bc2b1136016a38a42e835d932bab5b3b1bfcfbf0640e519"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b261ccdec7821281dade748d088bb6e9b69e6d15b30652b74cbbac25e280b796"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:122c7fa62b130ed55f8f285bfd56d5f4b4a5b503609d181f9ad85e55c89f4185"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:d0eccceffcb53201b5bfebb52600a5fb483a20b61da9dbc885f8b103cbe7598c"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:9f96df6923e21816da7e0ad3fd47dd8f94b2a5ce594e00677c0013018b813458"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:7f04c839ed0b6b98b1a7501a002144b76c18fb1c1850c8b98d458ac269e26ed2"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:34d1c8da1e78d2e001f363791c98a272bb734000fcef47a491c1e3b0505657a8"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ff8fa367d09b717b2a17a052544193ad76cd49979c805768879cb63d9ca50561"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-win32.whl", hash = "sha256:aed38f6e4fb3f5d6bf81bfa990a07806be9d83cf7bacef998ab1a9bd660a581f"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-win_amd64.whl", hash = "sha256:b01b88d45a6fcb69667cd6d2f7a9aeb4bf53760d7fc536bf679ec94fe9f3ff3d"}, + {file = "charset_normalizer-3.3.2-py3-none-any.whl", hash = "sha256:3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc"}, +] + +[[package]] +name = "click" +version = "8.1.7" +description = "Composable command line interface toolkit" +optional = false +python-versions = ">=3.7" +files = [ + {file = "click-8.1.7-py3-none-any.whl", hash = "sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28"}, + {file = "click-8.1.7.tar.gz", hash = "sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de"}, +] + +[package.dependencies] +colorama = {version = "*", markers = "platform_system == \"Windows\""} + +[[package]] +name = "coincurve" +version = "18.0.0" +description = "Cross-platform Python CFFI bindings for libsecp256k1" +optional = false +python-versions = ">=3.7" +files = [ + {file = "coincurve-18.0.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0b1a42eba91b9e4f833309e94bc6a270b1700cb4567d4809ef91f00968b57925"}, + {file = "coincurve-18.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:116bf1b60a6e72e23c6b153d7c79f0e565d82973d917a3cecf655ffb29263163"}, + {file = "coincurve-18.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d53e2a268142924c24e9b786b3e6c3603fae54bb8211560036b0e9ce6a9f2dbc"}, + {file = "coincurve-18.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b31ab366fadff16ecfdde96ffc07e70fee83850f88bd1f985a8b4977a68bbfb"}, + {file = "coincurve-18.0.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:07e3c37cfadac6896668a130ea46296a3dfdeea0160fd66a51e377ad00795269"}, + {file = "coincurve-18.0.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:f3e5f2a2d774050b3ea8bf2167f2d598fde58d7690779931516714d98b65d884"}, + {file = "coincurve-18.0.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:83379dd70291480df2052554851bfd17444c003aef7c4bb02d96d73eec69fe28"}, + {file = "coincurve-18.0.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:33678f6b43edbeab6605584c725305f4f814239780c53eba0f8e4bc4a52b1d1a"}, + {file = "coincurve-18.0.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f40646d5f29ac9026f8cc1b368bc9ab68710fad055b64fbec020f9bbfc99b242"}, + {file = "coincurve-18.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:779da694dea1b1d09e16b00e079f6a1195290ce9568f39c95cddf35f1f49ec49"}, + {file = "coincurve-18.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7844f01904e32317a00696a27fd771860e53a2fa62e5c66eace9337d2742c9e6"}, + {file = "coincurve-18.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:257c6171cd0301c119ef41360f0d0c2fb5cc288717b33d3bd5482a4c9ae04551"}, + {file = "coincurve-18.0.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f8bcb9c40fd730cf377fa448f1304355d6497fb3d00b7b0a69a10dfcc14a6d28"}, + {file = "coincurve-18.0.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e3abb7f65e2b5fb66a15e374faeaafe6700fdb83fb66d1873ddff91c395a3b74"}, + {file = "coincurve-18.0.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:f44b9ba588b34795d1b4074f9a9fa372adef3fde58300bf32f40a69e8cd72a23"}, + {file = "coincurve-18.0.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:908467330cd3047c71105a08394c4f3e7dce76e4371b030ba8b0ef863013e3ca"}, + {file = "coincurve-18.0.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:599b1b3cf097cae920d97f31a5b8e8aff185ca8fa5d8a785b2edf7b199fb9731"}, + {file = "coincurve-18.0.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2d2c20d108580bce5efedb980688031462168f4de2446de95898b48a249127a2"}, + {file = "coincurve-18.0.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eba563f7f70c10323227d1890072172bd84df6f814c9a6b012033b214426b6cf"}, + {file = "coincurve-18.0.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:412a06b7d1b8229f25318f05e76310298da5ad55d73851eabac7ddfdcdc5bff4"}, + {file = "coincurve-18.0.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:286969b6f789bbd9d744d28350a3630c1cb3ee045263469a28892f70a4a6654a"}, + {file = "coincurve-18.0.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:14700463009c7d799a746929728223aa53ff1ece394ea408516d98d637434883"}, + {file = "coincurve-18.0.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:7f1142252e870f091b2c2c21cc1fadfdd29af23d02e99f29add0f14d1ba94b4c"}, + {file = "coincurve-18.0.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:cd11d2ca5b7e989c5ce1af217a2ad78c19c21afca786f198d1b1a408d6f408dc"}, + {file = "coincurve-18.0.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:1bce17d7475cee9db2c2fa7af07eaab582732b378acf6dcaee417de1df2d8661"}, + {file = "coincurve-18.0.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4ab662b67454fea7f0a5ae855ba6ad9410bcaebe68b97f4dade7b5944dec3a11"}, + {file = "coincurve-18.0.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:23b9ced9cce32dabb4bc15fa6449252fa51efddf0268481973e4c3772a5a68c6"}, + {file = "coincurve-18.0.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d05641cf31d68514c47cb54105d20acbae79fc3ee3942454eaaf411babb3f880"}, + {file = "coincurve-18.0.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:a7b31efe56b3f6434828ad5f6ecde4a95747bb69b59032746482eebb8f3456a4"}, + {file = "coincurve-18.0.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:2d95103ed43df855121cd925869ae2589360a8d94fcd61b236958deacfb9a359"}, + {file = "coincurve-18.0.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:abeb4c1d78e1a81a3f1c99a406cd858669582ada2d976e876ef694f57dec95ca"}, + {file = "coincurve-18.0.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:fceca9d6ecaa1e8f891675e4f4ff530d54e41c648fc6e8a816835ffa640fa899"}, + {file = "coincurve-18.0.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e009f06287507158f16c82cc313c0f3bfd0e9ec1e82d1a4d5fa1c5b6c0060f69"}, + {file = "coincurve-18.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6a0c0c1e492ef08efe99d25a23d535e2bff667bbef43d71a6f8893ae811b3d81"}, + {file = "coincurve-18.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3caf58877bcf41eb4c1be7a2d54317f0b31541d99ba248dae28821b19c52a0db"}, + {file = "coincurve-18.0.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8964e680c622a2b5eea940abdf51c77c1bd3d4fde2a04cec2420bf91981b198a"}, + {file = "coincurve-18.0.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:73e464e0ace77c686fdc54590e5592905b6802f9fc20a0c023f0b1585669d6a3"}, + {file = "coincurve-18.0.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:ba9eaddd50a2ce0d891af7cee11c2e048d1f0f44bf87db00a5c4b1eee7e3391b"}, + {file = "coincurve-18.0.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8290903d4629f27f9f3cdeec72ffa97536c5a6ed5ba7e3413b2707991c650fbe"}, + {file = "coincurve-18.0.0-py3-none-win32.whl", hash = "sha256:c60690bd7704d8563968d2dded33eb514875a52b5964f085409965ad041b2555"}, + {file = "coincurve-18.0.0-py3-none-win_amd64.whl", hash = "sha256:704d1abf2e78def33988368592233a8ec9b98bfc45dfa2ec9e898adfad46e5ad"}, + {file = "coincurve-18.0.0.tar.gz", hash = "sha256:c86626afe417a09d8e80e56780efcae3ae516203b23b5ade84813916e1c94fc1"}, +] + +[package.dependencies] +asn1crypto = "*" +cffi = ">=1.3.0" + +[[package]] +name = "colorama" +version = "0.4.6" +description = "Cross-platform colored terminal text." +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" +files = [ + {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, + {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, +] + +[[package]] +name = "cryptography" +version = "41.0.7" +description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." +optional = false +python-versions = ">=3.7" +files = [ + {file = "cryptography-41.0.7-cp37-abi3-macosx_10_12_universal2.whl", hash = "sha256:3c78451b78313fa81607fa1b3f1ae0a5ddd8014c38a02d9db0616133987b9cdf"}, + {file = "cryptography-41.0.7-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:928258ba5d6f8ae644e764d0f996d61a8777559f72dfeb2eea7e2fe0ad6e782d"}, + {file = "cryptography-41.0.7-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5a1b41bc97f1ad230a41657d9155113c7521953869ae57ac39ac7f1bb471469a"}, + {file = "cryptography-41.0.7-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:841df4caa01008bad253bce2a6f7b47f86dc9f08df4b433c404def869f590a15"}, + {file = "cryptography-41.0.7-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:5429ec739a29df2e29e15d082f1d9ad683701f0ec7709ca479b3ff2708dae65a"}, + {file = "cryptography-41.0.7-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:43f2552a2378b44869fe8827aa19e69512e3245a219104438692385b0ee119d1"}, + {file = "cryptography-41.0.7-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:af03b32695b24d85a75d40e1ba39ffe7db7ffcb099fe507b39fd41a565f1b157"}, + {file = "cryptography-41.0.7-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:49f0805fc0b2ac8d4882dd52f4a3b935b210935d500b6b805f321addc8177406"}, + {file = "cryptography-41.0.7-cp37-abi3-win32.whl", hash = "sha256:f983596065a18a2183e7f79ab3fd4c475205b839e02cbc0efbbf9666c4b3083d"}, + {file = "cryptography-41.0.7-cp37-abi3-win_amd64.whl", hash = "sha256:90452ba79b8788fa380dfb587cca692976ef4e757b194b093d845e8d99f612f2"}, + {file = "cryptography-41.0.7-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:079b85658ea2f59c4f43b70f8119a52414cdb7be34da5d019a77bf96d473b960"}, + {file = "cryptography-41.0.7-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:b640981bf64a3e978a56167594a0e97db71c89a479da8e175d8bb5be5178c003"}, + {file = "cryptography-41.0.7-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:e3114da6d7f95d2dee7d3f4eec16dacff819740bbab931aff8648cb13c5ff5e7"}, + {file = "cryptography-41.0.7-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:d5ec85080cce7b0513cfd233914eb8b7bbd0633f1d1703aa28d1dd5a72f678ec"}, + {file = "cryptography-41.0.7-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:7a698cb1dac82c35fcf8fe3417a3aaba97de16a01ac914b89a0889d364d2f6be"}, + {file = "cryptography-41.0.7-pp38-pypy38_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:37a138589b12069efb424220bf78eac59ca68b95696fc622b6ccc1c0a197204a"}, + {file = "cryptography-41.0.7-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:68a2dec79deebc5d26d617bfdf6e8aab065a4f34934b22d3b5010df3ba36612c"}, + {file = "cryptography-41.0.7-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:09616eeaef406f99046553b8a40fbf8b1e70795a91885ba4c96a70793de5504a"}, + {file = "cryptography-41.0.7-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:48a0476626da912a44cc078f9893f292f0b3e4c739caf289268168d8f4702a39"}, + {file = "cryptography-41.0.7-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:c7f3201ec47d5207841402594f1d7950879ef890c0c495052fa62f58283fde1a"}, + {file = "cryptography-41.0.7-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:c5ca78485a255e03c32b513f8c2bc39fedb7f5c5f8535545bdc223a03b24f248"}, + {file = "cryptography-41.0.7-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:d6c391c021ab1f7a82da5d8d0b3cee2f4b2c455ec86c8aebbc84837a631ff309"}, + {file = "cryptography-41.0.7.tar.gz", hash = "sha256:13f93ce9bea8016c253b34afc6bd6a75993e5c40672ed5405a9c832f0d4a00bc"}, +] + +[package.dependencies] +cffi = ">=1.12" + +[package.extras] +docs = ["sphinx (>=5.3.0)", "sphinx-rtd-theme (>=1.1.1)"] +docstest = ["pyenchant (>=1.6.11)", "sphinxcontrib-spelling (>=4.0.1)", "twine (>=1.12.0)"] +nox = ["nox"] +pep8test = ["black", "check-sdist", "mypy", "ruff"] +sdist = ["build"] +ssh = ["bcrypt (>=3.1.5)"] +test = ["pretend", "pytest (>=6.2.0)", "pytest-benchmark", "pytest-cov", "pytest-xdist"] +test-randomorder = ["pytest-randomly"] + +[[package]] +name = "deprecated" +version = "1.2.14" +description = "Python @deprecated decorator to deprecate old python classes, functions or methods." +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +files = [ + {file = "Deprecated-1.2.14-py2.py3-none-any.whl", hash = "sha256:6fac8b097794a90302bdbb17b9b815e732d3c4720583ff1b198499d78470466c"}, + {file = "Deprecated-1.2.14.tar.gz", hash = "sha256:e5323eb936458dccc2582dc6f9c322c852a775a27065ff2b0c4970b9d53d01b3"}, +] + +[package.dependencies] +wrapt = ">=1.10,<2" + +[package.extras] +dev = ["PyTest", "PyTest-Cov", "bump2version (<1)", "sphinx (<2)", "tox"] + +[[package]] +name = "distlib" +version = "0.3.8" +description = "Distribution utilities" +optional = false +python-versions = "*" +files = [ + {file = "distlib-0.3.8-py2.py3-none-any.whl", hash = "sha256:034db59a0b96f8ca18035f36290806a9a6e6bd9d1ff91e45a7f172eb17e51784"}, + {file = "distlib-0.3.8.tar.gz", hash = "sha256:1530ea13e350031b6312d8580ddb6b27a104275a31106523b8f123787f494f64"}, +] + +[[package]] +name = "dnspython" +version = "2.6.1" +description = "DNS toolkit" +optional = false +python-versions = ">=3.8" +files = [ + {file = "dnspython-2.6.1-py3-none-any.whl", hash = "sha256:5ef3b9680161f6fa89daf8ad451b5f1a33b18ae8a1c6778cdf4b43f08c0a6e50"}, + {file = "dnspython-2.6.1.tar.gz", hash = "sha256:e8f0f9c23a7b7cb99ded64e6c3a6f3e701d78f50c55e002b839dea7225cff7cc"}, +] + +[package.extras] +dev = ["black (>=23.1.0)", "coverage (>=7.0)", "flake8 (>=7)", "mypy (>=1.8)", "pylint (>=3)", "pytest (>=7.4)", "pytest-cov (>=4.1.0)", "sphinx (>=7.2.0)", "twine (>=4.0.0)", "wheel (>=0.42.0)"] +dnssec = ["cryptography (>=41)"] +doh = ["h2 (>=4.1.0)", "httpcore (>=1.0.0)", "httpx (>=0.26.0)"] +doq = ["aioquic (>=0.9.25)"] +idna = ["idna (>=3.6)"] +trio = ["trio (>=0.23)"] +wmi = ["wmi (>=1.5.1)"] + +[[package]] +name = "ecdsa" +version = "0.18.0" +description = "ECDSA cryptographic signature library (pure python)" +optional = false +python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" +files = [ + {file = "ecdsa-0.18.0-py2.py3-none-any.whl", hash = "sha256:80600258e7ed2f16b9aa1d7c295bd70194109ad5a30fdee0eaeefef1d4c559dd"}, + {file = "ecdsa-0.18.0.tar.gz", hash = "sha256:190348041559e21b22a1d65cee485282ca11a6f81d503fddb84d5017e9ed1e49"}, +] + +[package.dependencies] +six = ">=1.9.0" + +[package.extras] +gmpy = ["gmpy"] +gmpy2 = ["gmpy2"] + +[[package]] +name = "email-validator" +version = "2.1.1" +description = "A robust email address syntax and deliverability validation library." +optional = false +python-versions = ">=3.8" +files = [ + {file = "email_validator-2.1.1-py3-none-any.whl", hash = "sha256:97d882d174e2a65732fb43bfce81a3a834cbc1bde8bf419e30ef5ea976370a05"}, + {file = "email_validator-2.1.1.tar.gz", hash = "sha256:200a70680ba08904be6d1eef729205cc0d687634399a5924d842533efb824b84"}, +] + +[package.dependencies] +dnspython = ">=2.0.0" +idna = ">=2.0.0" + +[[package]] +name = "embit" +version = "0.7.0" +description = "yet another bitcoin library" +optional = false +python-versions = "*" +files = [ + {file = "embit-0.7.0.tar.gz", hash = "sha256:3dbd42582b5c3e40623e7b2af02956ba6019f6e1ca1c3363f27aa9f9bca03366"}, +] + +[[package]] +name = "environs" +version = "9.5.0" +description = "simplified environment variable parsing" +optional = false +python-versions = ">=3.6" +files = [ + {file = "environs-9.5.0-py2.py3-none-any.whl", hash = "sha256:1e549569a3de49c05f856f40bce86979e7d5ffbbc4398e7f338574c220189124"}, + {file = "environs-9.5.0.tar.gz", hash = "sha256:a76307b36fbe856bdca7ee9161e6c466fd7fcffc297109a118c59b54e27e30c9"}, +] + +[package.dependencies] +marshmallow = ">=3.0.0" +python-dotenv = "*" + +[package.extras] +dev = ["dj-database-url", "dj-email-url", "django-cache-url", "flake8 (==4.0.1)", "flake8-bugbear (==21.9.2)", "mypy (==0.910)", "pre-commit (>=2.4,<3.0)", "pytest", "tox"] +django = ["dj-database-url", "dj-email-url", "django-cache-url"] +lint = ["flake8 (==4.0.1)", "flake8-bugbear (==21.9.2)", "mypy (==0.910)", "pre-commit (>=2.4,<3.0)"] +tests = ["dj-database-url", "dj-email-url", "django-cache-url", "pytest"] + +[[package]] +name = "exceptiongroup" +version = "1.2.0" +description = "Backport of PEP 654 (exception groups)" +optional = false +python-versions = ">=3.7" +files = [ + {file = "exceptiongroup-1.2.0-py3-none-any.whl", hash = "sha256:4bfd3996ac73b41e9b9628b04e079f193850720ea5945fc96a08633c66912f14"}, + {file = "exceptiongroup-1.2.0.tar.gz", hash = "sha256:91f5c769735f051a4290d52edd0858999b57e5876e9f85937691bd4c9fa3ed68"}, +] + +[package.extras] +test = ["pytest (>=6)"] + +[[package]] +name = "fastapi" +version = "0.109.2" +description = "FastAPI framework, high performance, easy to learn, fast to code, ready for production" +optional = false +python-versions = ">=3.8" +files = [ + {file = "fastapi-0.109.2-py3-none-any.whl", hash = "sha256:2c9bab24667293b501cad8dd388c05240c850b58ec5876ee3283c47d6e1e3a4d"}, + {file = "fastapi-0.109.2.tar.gz", hash = "sha256:f3817eac96fe4f65a2ebb4baa000f394e55f5fccdaf7f75250804bc58f354f73"}, +] + +[package.dependencies] +pydantic = ">=1.7.4,<1.8 || >1.8,<1.8.1 || >1.8.1,<2.0.0 || >2.0.0,<2.0.1 || >2.0.1,<2.1.0 || >2.1.0,<3.0.0" +starlette = ">=0.36.3,<0.37.0" +typing-extensions = ">=4.8.0" + +[package.extras] +all = ["email-validator (>=2.0.0)", "httpx (>=0.23.0)", "itsdangerous (>=1.1.0)", "jinja2 (>=2.11.2)", "orjson (>=3.2.1)", "pydantic-extra-types (>=2.0.0)", "pydantic-settings (>=2.0.0)", "python-multipart (>=0.0.7)", "pyyaml (>=5.3.1)", "ujson (>=4.0.1,!=4.0.2,!=4.1.0,!=4.2.0,!=4.3.0,!=5.0.0,!=5.1.0)", "uvicorn[standard] (>=0.12.0)"] + +[[package]] +name = "fastapi-sso" +version = "0.9.1" +description = "FastAPI plugin to enable SSO to most common providers (such as Facebook login, Google login and login via Microsoft Office 365 Account)" +optional = false +python-versions = ">=3.8,<4.0" +files = [ + {file = "fastapi_sso-0.9.1-py3-none-any.whl", hash = "sha256:94ad5a3e5710bef423c829224358740aa349d8934ce58cf943364d9bb18e6aeb"}, + {file = "fastapi_sso-0.9.1.tar.gz", hash = "sha256:0a9a3abdbb5ed20787ff47b749cd23e25a48e8a42230767a1f897f585223337f"}, +] + +[package.dependencies] +fastapi = ">=0.80" +httpx = ">=0.23.0" +oauthlib = ">=3.1.0" +pydantic = {version = ">=1.8.0", extras = ["email"]} + +[[package]] +name = "filelock" +version = "3.13.4" +description = "A platform independent file lock." +optional = false +python-versions = ">=3.8" +files = [ + {file = "filelock-3.13.4-py3-none-any.whl", hash = "sha256:404e5e9253aa60ad457cae1be07c0f0ca90a63931200a47d9b6a6af84fd7b45f"}, + {file = "filelock-3.13.4.tar.gz", hash = "sha256:d13f466618bfde72bd2c18255e269f72542c6e70e7bac83a0232d6b1cc5c8cf4"}, +] + +[package.extras] +docs = ["furo (>=2023.9.10)", "sphinx (>=7.2.6)", "sphinx-autodoc-typehints (>=1.25.2)"] +testing = ["covdefaults (>=2.3)", "coverage (>=7.3.2)", "diff-cover (>=8.0.1)", "pytest (>=7.4.3)", "pytest-cov (>=4.1)", "pytest-mock (>=3.12)", "pytest-timeout (>=2.2)"] +typing = ["typing-extensions (>=4.8)"] + +[[package]] +name = "grpcio" +version = "1.58.0" +description = "HTTP/2-based RPC framework" +optional = false +python-versions = ">=3.7" +files = [ + {file = "grpcio-1.58.0-cp310-cp310-linux_armv7l.whl", hash = "sha256:3e6bebf1dfdbeb22afd95650e4f019219fef3ab86d3fca8ebade52e4bc39389a"}, + {file = "grpcio-1.58.0-cp310-cp310-macosx_12_0_universal2.whl", hash = "sha256:cde11577d5b6fd73a00e6bfa3cf5f428f3f33c2d2878982369b5372bbc4acc60"}, + {file = "grpcio-1.58.0-cp310-cp310-manylinux_2_17_aarch64.whl", hash = "sha256:a2d67ff99e70e86b2be46c1017ae40b4840d09467d5455b2708de6d4c127e143"}, + {file = "grpcio-1.58.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1ed979b273a81de36fc9c6716d9fb09dd3443efa18dcc8652501df11da9583e9"}, + {file = "grpcio-1.58.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:458899d2ebd55d5ca2350fd3826dfd8fcb11fe0f79828ae75e2b1e6051d50a29"}, + {file = "grpcio-1.58.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:bc7ffef430b80345729ff0a6825e9d96ac87efe39216e87ac58c6c4ef400de93"}, + {file = "grpcio-1.58.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:5b23d75e5173faa3d1296a7bedffb25afd2fddb607ef292dfc651490c7b53c3d"}, + {file = "grpcio-1.58.0-cp310-cp310-win32.whl", hash = "sha256:fad9295fe02455d4f158ad72c90ef8b4bcaadfdb5efb5795f7ab0786ad67dd58"}, + {file = "grpcio-1.58.0-cp310-cp310-win_amd64.whl", hash = "sha256:bc325fed4d074367bebd465a20763586e5e1ed5b943e9d8bc7c162b1f44fd602"}, + {file = "grpcio-1.58.0-cp311-cp311-linux_armv7l.whl", hash = "sha256:652978551af02373a5a313e07bfef368f406b5929cf2d50fa7e4027f913dbdb4"}, + {file = "grpcio-1.58.0-cp311-cp311-macosx_10_10_universal2.whl", hash = "sha256:9f13a171281ebb4d7b1ba9f06574bce2455dcd3f2f6d1fbe0fd0d84615c74045"}, + {file = "grpcio-1.58.0-cp311-cp311-manylinux_2_17_aarch64.whl", hash = "sha256:8774219e21b05f750eef8adc416e9431cf31b98f6ce9def288e4cea1548cbd22"}, + {file = "grpcio-1.58.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:09206106848462763f7f273ca93d2d2d4d26cab475089e0de830bb76be04e9e8"}, + {file = "grpcio-1.58.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:62831d5e251dd7561d9d9e83a0b8655084b2a1f8ea91e4bd6b3cedfefd32c9d2"}, + {file = "grpcio-1.58.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:212f38c6a156862098f6bdc9a79bf850760a751d259d8f8f249fc6d645105855"}, + {file = "grpcio-1.58.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:4b12754af201bb993e6e2efd7812085ddaaef21d0a6f0ff128b97de1ef55aa4a"}, + {file = "grpcio-1.58.0-cp311-cp311-win32.whl", hash = "sha256:3886b4d56bd4afeac518dbc05933926198aa967a7d1d237a318e6fbc47141577"}, + {file = "grpcio-1.58.0-cp311-cp311-win_amd64.whl", hash = "sha256:002f228d197fea12797a14e152447044e14fb4fdb2eb5d6cfa496f29ddbf79ef"}, + {file = "grpcio-1.58.0-cp37-cp37m-linux_armv7l.whl", hash = "sha256:b5e8db0aff0a4819946215f156bd722b6f6c8320eb8419567ffc74850c9fd205"}, + {file = "grpcio-1.58.0-cp37-cp37m-macosx_10_10_universal2.whl", hash = "sha256:201e550b7e2ede113b63e718e7ece93cef5b0fbf3c45e8fe4541a5a4305acd15"}, + {file = "grpcio-1.58.0-cp37-cp37m-manylinux_2_17_aarch64.whl", hash = "sha256:d79b660681eb9bc66cc7cbf78d1b1b9e335ee56f6ea1755d34a31108b80bd3c8"}, + {file = "grpcio-1.58.0-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2ef8d4a76d2c7d8065aba829f8d0bc0055495c998dce1964ca5b302d02514fb3"}, + {file = "grpcio-1.58.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6cba491c638c76d3dc6c191d9c75041ca5b8f5c6de4b8327ecdcab527f130bb4"}, + {file = "grpcio-1.58.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:6801ff6652ecd2aae08ef994a3e49ff53de29e69e9cd0fd604a79ae4e545a95c"}, + {file = "grpcio-1.58.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:24edec346e69e672daf12b2c88e95c6f737f3792d08866101d8c5f34370c54fd"}, + {file = "grpcio-1.58.0-cp37-cp37m-win_amd64.whl", hash = "sha256:7e473a7abad9af48e3ab5f3b5d237d18208024d28ead65a459bd720401bd2f8f"}, + {file = "grpcio-1.58.0-cp38-cp38-linux_armv7l.whl", hash = "sha256:4891bbb4bba58acd1d620759b3be11245bfe715eb67a4864c8937b855b7ed7fa"}, + {file = "grpcio-1.58.0-cp38-cp38-macosx_10_10_universal2.whl", hash = "sha256:e9f995a8a421405958ff30599b4d0eec244f28edc760de82f0412c71c61763d2"}, + {file = "grpcio-1.58.0-cp38-cp38-manylinux_2_17_aarch64.whl", hash = "sha256:2f85f87e2f087d9f632c085b37440a3169fda9cdde80cb84057c2fc292f8cbdf"}, + {file = "grpcio-1.58.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eb6b92036ff312d5b4182fa72e8735d17aceca74d0d908a7f08e375456f03e07"}, + {file = "grpcio-1.58.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d81c2b2b24c32139dd2536972f1060678c6b9fbd106842a9fcdecf07b233eccd"}, + {file = "grpcio-1.58.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:fbcecb6aedd5c1891db1d70efbfbdc126c986645b5dd616a045c07d6bd2dfa86"}, + {file = "grpcio-1.58.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:92ae871a902cf19833328bd6498ec007b265aabf2fda845ab5bd10abcaf4c8c6"}, + {file = "grpcio-1.58.0-cp38-cp38-win32.whl", hash = "sha256:dc72e04620d49d3007771c0e0348deb23ca341c0245d610605dddb4ac65a37cb"}, + {file = "grpcio-1.58.0-cp38-cp38-win_amd64.whl", hash = "sha256:1c1c5238c6072470c7f1614bf7c774ffde6b346a100521de9ce791d1e4453afe"}, + {file = "grpcio-1.58.0-cp39-cp39-linux_armv7l.whl", hash = "sha256:fe643af248442221db027da43ed43e53b73e11f40c9043738de9a2b4b6ca7697"}, + {file = "grpcio-1.58.0-cp39-cp39-macosx_10_10_universal2.whl", hash = "sha256:128eb1f8e70676d05b1b0c8e6600320fc222b3f8c985a92224248b1367122188"}, + {file = "grpcio-1.58.0-cp39-cp39-manylinux_2_17_aarch64.whl", hash = "sha256:039003a5e0ae7d41c86c768ef8b3ee2c558aa0a23cf04bf3c23567f37befa092"}, + {file = "grpcio-1.58.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8f061722cad3f9aabb3fbb27f3484ec9d4667b7328d1a7800c3c691a98f16bb0"}, + {file = "grpcio-1.58.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba0af11938acf8cd4cf815c46156bcde36fa5850518120920d52620cc3ec1830"}, + {file = "grpcio-1.58.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:d4cef77ad2fed42b1ba9143465856d7e737279854e444925d5ba45fc1f3ba727"}, + {file = "grpcio-1.58.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:24765a627eb4d9288ace32d5104161c3654128fe27f2808ecd6e9b0cfa7fc8b9"}, + {file = "grpcio-1.58.0-cp39-cp39-win32.whl", hash = "sha256:f0241f7eb0d2303a545136c59bc565a35c4fc3b924ccbd69cb482f4828d6f31c"}, + {file = "grpcio-1.58.0-cp39-cp39-win_amd64.whl", hash = "sha256:dcfba7befe3a55dab6fe1eb7fc9359dc0c7f7272b30a70ae0af5d5b063842f28"}, + {file = "grpcio-1.58.0.tar.gz", hash = "sha256:532410c51ccd851b706d1fbc00a87be0f5312bd6f8e5dbf89d4e99c7f79d7499"}, +] + +[package.extras] +protobuf = ["grpcio-tools (>=1.58.0)"] + +[[package]] +name = "h11" +version = "0.14.0" +description = "A pure-Python, bring-your-own-I/O implementation of HTTP/1.1" +optional = false +python-versions = ">=3.7" +files = [ + {file = "h11-0.14.0-py3-none-any.whl", hash = "sha256:e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761"}, + {file = "h11-0.14.0.tar.gz", hash = "sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d"}, +] + +[[package]] +name = "http-ece" +version = "1.2.0" +description = "Encrypted Content Encoding for HTTP" +optional = false +python-versions = "*" +files = [ + {file = "http_ece-1.2.0.tar.gz", hash = "sha256:b5920f8efb8e1b5fb025713e3b36fda54336262010634b26dc1f98f85d1eb3de"}, +] + +[package.dependencies] +cryptography = ">=2.5" + +[[package]] +name = "httpcore" +version = "0.18.0" +description = "A minimal low-level HTTP client." +optional = false +python-versions = ">=3.8" +files = [ + {file = "httpcore-0.18.0-py3-none-any.whl", hash = "sha256:adc5398ee0a476567bf87467063ee63584a8bce86078bf748e48754f60202ced"}, + {file = "httpcore-0.18.0.tar.gz", hash = "sha256:13b5e5cd1dca1a6636a6aaea212b19f4f85cd88c366a2b82304181b769aab3c9"}, +] + +[package.dependencies] +anyio = ">=3.0,<5.0" +certifi = "*" +h11 = ">=0.13,<0.15" +sniffio = "==1.*" + +[package.extras] +http2 = ["h2 (>=3,<5)"] +socks = ["socksio (==1.*)"] + +[[package]] +name = "httpx" +version = "0.25.0" +description = "The next generation HTTP client." +optional = false +python-versions = ">=3.8" +files = [ + {file = "httpx-0.25.0-py3-none-any.whl", hash = "sha256:181ea7f8ba3a82578be86ef4171554dd45fec26a02556a744db029a0a27b7100"}, + {file = "httpx-0.25.0.tar.gz", hash = "sha256:47ecda285389cb32bb2691cc6e069e3ab0205956f681c5b2ad2325719751d875"}, +] + +[package.dependencies] +certifi = "*" +httpcore = ">=0.18.0,<0.19.0" +idna = "*" +sniffio = "*" + +[package.extras] +brotli = ["brotli", "brotlicffi"] +cli = ["click (==8.*)", "pygments (==2.*)", "rich (>=10,<14)"] +http2 = ["h2 (>=3,<5)"] +socks = ["socksio (==1.*)"] + +[[package]] +name = "identify" +version = "2.5.35" +description = "File identification library for Python" +optional = false +python-versions = ">=3.8" +files = [ + {file = "identify-2.5.35-py2.py3-none-any.whl", hash = "sha256:c4de0081837b211594f8e877a6b4fad7ca32bbfc1a9307fdd61c28bfe923f13e"}, + {file = "identify-2.5.35.tar.gz", hash = "sha256:10a7ca245cfcd756a554a7288159f72ff105ad233c7c4b9c6f0f4d108f5f6791"}, +] + +[package.extras] +license = ["ukkonen"] + +[[package]] +name = "idna" +version = "3.7" +description = "Internationalized Domain Names in Applications (IDNA)" +optional = false +python-versions = ">=3.5" +files = [ + {file = "idna-3.7-py3-none-any.whl", hash = "sha256:82fee1fc78add43492d3a1898bfa6d8a904cc97d8427f683ed8e798d07761aa0"}, + {file = "idna-3.7.tar.gz", hash = "sha256:028ff3aadf0609c1fd278d8ea3089299412a7a8b9bd005dd08b9f8285bcb5cfc"}, +] + +[[package]] +name = "importlib-resources" +version = "6.4.0" +description = "Read resources from Python packages" +optional = false +python-versions = ">=3.8" +files = [ + {file = "importlib_resources-6.4.0-py3-none-any.whl", hash = "sha256:50d10f043df931902d4194ea07ec57960f66a80449ff867bfe782b4c486ba78c"}, + {file = "importlib_resources-6.4.0.tar.gz", hash = "sha256:cdb2b453b8046ca4e3798eb1d84f3cce1446a0e8e7b5ef4efb600f19fc398145"}, +] + +[package.dependencies] +zipp = {version = ">=3.1.0", markers = "python_version < \"3.10\""} + +[package.extras] +docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (<7.2.5)", "sphinx (>=3.5)", "sphinx-lint"] +testing = ["jaraco.test (>=5.4)", "pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy", "pytest-ruff (>=0.2.1)", "zipp (>=3.17)"] + +[[package]] +name = "iniconfig" +version = "2.0.0" +description = "brain-dead simple config-ini parsing" +optional = false +python-versions = ">=3.7" +files = [ + {file = "iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374"}, + {file = "iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3"}, +] + +[[package]] +name = "itsdangerous" +version = "2.1.2" +description = "Safely pass data to untrusted environments and back." +optional = false +python-versions = ">=3.7" +files = [ + {file = "itsdangerous-2.1.2-py3-none-any.whl", hash = "sha256:2c2349112351b88699d8d4b6b075022c0808887cb7ad10069318a8b0bc88db44"}, + {file = "itsdangerous-2.1.2.tar.gz", hash = "sha256:5dbbc68b317e5e42f327f9021763545dc3fc3bfe22e6deb96aaf1fc38874156a"}, +] + +[[package]] +name = "jinja2" +version = "3.1.3" +description = "A very fast and expressive template engine." +optional = false +python-versions = ">=3.7" +files = [ + {file = "Jinja2-3.1.3-py3-none-any.whl", hash = "sha256:7d6d50dd97d52cbc355597bd845fabfbac3f551e1f99619e39a35ce8c370b5fa"}, + {file = "Jinja2-3.1.3.tar.gz", hash = "sha256:ac8bd6544d4bb2c9792bf3a159e80bba8fda7f07e81bc3aed565432d5925ba90"}, +] + +[package.dependencies] +MarkupSafe = ">=2.0" + +[package.extras] +i18n = ["Babel (>=2.7)"] + +[[package]] +name = "limits" +version = "3.10.1" +description = "Rate limiting utilities" +optional = false +python-versions = ">=3.7" +files = [ + {file = "limits-3.10.1-py3-none-any.whl", hash = "sha256:446242f5a6f7b8c7744e286a70793264ed81bca97860f94b821347284d14fbe9"}, + {file = "limits-3.10.1.tar.gz", hash = "sha256:1ee31d169d498da267a1b72183ae5940afc64b17b4ed4dfd977f6ea5607c2cfb"}, +] + +[package.dependencies] +deprecated = ">=1.2" +importlib-resources = ">=1.3" +packaging = ">=21,<25" +typing-extensions = "*" + +[package.extras] +all = ["aetcd", "coredis (>=3.4.0,<5)", "emcache (>=0.6.1)", "emcache (>=1)", "etcd3", "motor (>=3,<4)", "pymemcache (>3,<5.0.0)", "pymongo (>4.1,<5)", "redis (>3,!=4.5.2,!=4.5.3,<6.0.0)", "redis (>=4.2.0,!=4.5.2,!=4.5.3)"] +async-etcd = ["aetcd"] +async-memcached = ["emcache (>=0.6.1)", "emcache (>=1)"] +async-mongodb = ["motor (>=3,<4)"] +async-redis = ["coredis (>=3.4.0,<5)"] +etcd = ["etcd3"] +memcached = ["pymemcache (>3,<5.0.0)"] +mongodb = ["pymongo (>4.1,<5)"] +redis = ["redis (>3,!=4.5.2,!=4.5.3,<6.0.0)"] +rediscluster = ["redis (>=4.2.0,!=4.5.2,!=4.5.3)"] + +[[package]] +name = "lnbits" +version = "0.12.6" +description = "LNbits, free and open-source Lightning wallet and accounts system." +optional = false +python-versions = "<4.0,>=3.9" +files = [ + {file = "lnbits-0.12.6-py3-none-any.whl", hash = "sha256:330a82358fa361278958a6be0d0ce24b6fc33654faa0b673bd77cb08b1724944"}, + {file = "lnbits-0.12.6.tar.gz", hash = "sha256:256fced2bf82d2a0e8da00a0c9c14cde71a68778f8b2f9b111374be80b2fceb2"}, +] + +[package.dependencies] +bcrypt = ">=4.1.1,<5.0.0" +bech32 = "1.2.0" +bolt11 = "2.0.5" +click = "8.1.7" +ecdsa = "0.18.0" +embit = "0.7.0" +environs = "9.5.0" +fastapi = "0.109.2" +fastapi-sso = ">=0.9.1,<0.10.0" +grpcio = "1.58.0" +httpx = "0.25.0" +itsdangerous = ">=2.1.2,<3.0.0" +jinja2 = "3.1.3" +lnurl = "0.4.2" +loguru = "0.7.2" +packaging = "23.1" +passlib = ">=1.7.4,<2.0.0" +protobuf = "4.24.3" +psycopg2-binary = "2.9.7" +pycryptodomex = "3.19.1" +pydantic = "1.10.9" +pyln-client = "23.8" +pyqrcode = "1.2.1" +python-crontab = "3.0.0" +python-jose = ">=3.3.0,<4.0.0" +pywebpush = "1.14.0" +secp256k1 = "0.14.0" +shortuuid = "1.0.11" +slowapi = "0.1.9" +sqlalchemy = "1.3.24" +sqlalchemy-aio = "0.17.0" +sse-starlette = "1.6.5" +typing-extensions = "4.8.0" +uvicorn = "0.23.2" +uvloop = "0.17.0" +websocket-client = "1.6.3" +websockets = "11.0.3" + +[package.extras] +liquid = ["wallycore (>=1.0.0,<2.0.0)"] + +[[package]] +name = "lnurl" +version = "0.4.2" +description = "LNURL implementation for Python." +optional = false +python-versions = ">=3.9,<4.0" +files = [ + {file = "lnurl-0.4.2-py3-none-any.whl", hash = "sha256:93f79ae7e0b0c66fed5b29ac1520e85e3e2c8648561a4b42974f0b7bffd34d84"}, + {file = "lnurl-0.4.2.tar.gz", hash = "sha256:c5e708b255d5333a0c08ceffe90ae4be6d2d09eb51dc8c35d19d8aa4cb21842a"}, +] + +[package.dependencies] +bech32 = ">=1.2.0,<2.0.0" +pydantic = ">=1,<2" +requests = ">=2.31.0,<3.0.0" + +[[package]] +name = "loguru" +version = "0.7.2" +description = "Python logging made (stupidly) simple" +optional = false +python-versions = ">=3.5" +files = [ + {file = "loguru-0.7.2-py3-none-any.whl", hash = "sha256:003d71e3d3ed35f0f8984898359d65b79e5b21943f78af86aa5491210429b8eb"}, + {file = "loguru-0.7.2.tar.gz", hash = "sha256:e671a53522515f34fd406340ee968cb9ecafbc4b36c679da03c18fd8d0bd51ac"}, +] + +[package.dependencies] +colorama = {version = ">=0.3.4", markers = "sys_platform == \"win32\""} +win32-setctime = {version = ">=1.0.0", markers = "sys_platform == \"win32\""} + +[package.extras] +dev = ["Sphinx (==7.2.5)", "colorama (==0.4.5)", "colorama (==0.4.6)", "exceptiongroup (==1.1.3)", "freezegun (==1.1.0)", "freezegun (==1.2.2)", "mypy (==v0.910)", "mypy (==v0.971)", "mypy (==v1.4.1)", "mypy (==v1.5.1)", "pre-commit (==3.4.0)", "pytest (==6.1.2)", "pytest (==7.4.0)", "pytest-cov (==2.12.1)", "pytest-cov (==4.1.0)", "pytest-mypy-plugins (==1.9.3)", "pytest-mypy-plugins (==3.0.0)", "sphinx-autobuild (==2021.3.14)", "sphinx-rtd-theme (==1.3.0)", "tox (==3.27.1)", "tox (==4.11.0)"] + +[[package]] +name = "markupsafe" +version = "2.1.5" +description = "Safely add untrusted strings to HTML/XML markup." +optional = false +python-versions = ">=3.7" +files = [ + {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a17a92de5231666cfbe003f0e4b9b3a7ae3afb1ec2845aadc2bacc93ff85febc"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:72b6be590cc35924b02c78ef34b467da4ba07e4e0f0454a2c5907f473fc50ce5"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e61659ba32cf2cf1481e575d0462554625196a1f2fc06a1c777d3f48e8865d46"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2174c595a0d73a3080ca3257b40096db99799265e1c27cc5a610743acd86d62f"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ae2ad8ae6ebee9d2d94b17fb62763125f3f374c25618198f40cbb8b525411900"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:075202fa5b72c86ad32dc7d0b56024ebdbcf2048c0ba09f1cde31bfdd57bcfff"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:598e3276b64aff0e7b3451b72e94fa3c238d452e7ddcd893c3ab324717456bad"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fce659a462a1be54d2ffcacea5e3ba2d74daa74f30f5f143fe0c58636e355fdd"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-win32.whl", hash = "sha256:d9fad5155d72433c921b782e58892377c44bd6252b5af2f67f16b194987338a4"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-win_amd64.whl", hash = "sha256:bf50cd79a75d181c9181df03572cdce0fbb75cc353bc350712073108cba98de5"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:629ddd2ca402ae6dbedfceeba9c46d5f7b2a61d9749597d4307f943ef198fc1f"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5b7b716f97b52c5a14bffdf688f971b2d5ef4029127f1ad7a513973cfd818df2"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6ec585f69cec0aa07d945b20805be741395e28ac1627333b1c5b0105962ffced"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b91c037585eba9095565a3556f611e3cbfaa42ca1e865f7b8015fe5c7336d5a5"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7502934a33b54030eaf1194c21c692a534196063db72176b0c4028e140f8f32c"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0e397ac966fdf721b2c528cf028494e86172b4feba51d65f81ffd65c63798f3f"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c061bb86a71b42465156a3ee7bd58c8c2ceacdbeb95d05a99893e08b8467359a"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:3a57fdd7ce31c7ff06cdfbf31dafa96cc533c21e443d57f5b1ecc6cdc668ec7f"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-win32.whl", hash = "sha256:397081c1a0bfb5124355710fe79478cdbeb39626492b15d399526ae53422b906"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-win_amd64.whl", hash = "sha256:2b7c57a4dfc4f16f7142221afe5ba4e093e09e728ca65c51f5620c9aaeb9a617"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:8dec4936e9c3100156f8a2dc89c4b88d5c435175ff03413b443469c7c8c5f4d1"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:3c6b973f22eb18a789b1460b4b91bf04ae3f0c4234a0a6aa6b0a92f6f7b951d4"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ac07bad82163452a6884fe8fa0963fb98c2346ba78d779ec06bd7a6262132aee"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5dfb42c4604dddc8e4305050aa6deb084540643ed5804d7455b5df8fe16f5e5"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ea3d8a3d18833cf4304cd2fc9cbb1efe188ca9b5efef2bdac7adc20594a0e46b"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d050b3361367a06d752db6ead6e7edeb0009be66bc3bae0ee9d97fb326badc2a"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:bec0a414d016ac1a18862a519e54b2fd0fc8bbfd6890376898a6c0891dd82e9f"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:58c98fee265677f63a4385256a6d7683ab1832f3ddd1e66fe948d5880c21a169"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-win32.whl", hash = "sha256:8590b4ae07a35970728874632fed7bd57b26b0102df2d2b233b6d9d82f6c62ad"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-win_amd64.whl", hash = "sha256:823b65d8706e32ad2df51ed89496147a42a2a6e01c13cfb6ffb8b1e92bc910bb"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c8b29db45f8fe46ad280a7294f5c3ec36dbac9491f2d1c17345be8e69cc5928f"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ec6a563cff360b50eed26f13adc43e61bc0c04d94b8be985e6fb24b81f6dcfdf"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a549b9c31bec33820e885335b451286e2969a2d9e24879f83fe904a5ce59d70a"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4f11aa001c540f62c6166c7726f71f7573b52c68c31f014c25cc7901deea0b52"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:7b2e5a267c855eea6b4283940daa6e88a285f5f2a67f2220203786dfa59b37e9"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:2d2d793e36e230fd32babe143b04cec8a8b3eb8a3122d2aceb4a371e6b09b8df"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:ce409136744f6521e39fd8e2a24c53fa18ad67aa5bc7c2cf83645cce5b5c4e50"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-win32.whl", hash = "sha256:4096e9de5c6fdf43fb4f04c26fb114f61ef0bf2e5604b6ee3019d51b69e8c371"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-win_amd64.whl", hash = "sha256:4275d846e41ecefa46e2015117a9f491e57a71ddd59bbead77e904dc02b1bed2"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:656f7526c69fac7f600bd1f400991cc282b417d17539a1b228617081106feb4a"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:97cafb1f3cbcd3fd2b6fbfb99ae11cdb14deea0736fc2b0952ee177f2b813a46"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f3fbcb7ef1f16e48246f704ab79d79da8a46891e2da03f8783a5b6fa41a9532"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fa9db3f79de01457b03d4f01b34cf91bc0048eb2c3846ff26f66687c2f6d16ab"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffee1f21e5ef0d712f9033568f8344d5da8cc2869dbd08d87c84656e6a2d2f68"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:5dedb4db619ba5a2787a94d877bc8ffc0566f92a01c0ef214865e54ecc9ee5e0"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:30b600cf0a7ac9234b2638fbc0fb6158ba5bdcdf46aeb631ead21248b9affbc4"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8dd717634f5a044f860435c1d8c16a270ddf0ef8588d4887037c5028b859b0c3"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-win32.whl", hash = "sha256:daa4ee5a243f0f20d528d939d06670a298dd39b1ad5f8a72a4275124a7819eff"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-win_amd64.whl", hash = "sha256:619bc166c4f2de5caa5a633b8b7326fbe98e0ccbfacabd87268a2b15ff73a029"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7a68b554d356a91cce1236aa7682dc01df0edba8d043fd1ce607c49dd3c1edcf"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:db0b55e0f3cc0be60c1f19efdde9a637c32740486004f20d1cff53c3c0ece4d2"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e53af139f8579a6d5f7b76549125f0d94d7e630761a2111bc431fd820e163b8"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:17b950fccb810b3293638215058e432159d2b71005c74371d784862b7e4683f3"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4c31f53cdae6ecfa91a77820e8b151dba54ab528ba65dfd235c80b086d68a465"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:bff1b4290a66b490a2f4719358c0cdcd9bafb6b8f061e45c7a2460866bf50c2e"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:bc1667f8b83f48511b94671e0e441401371dfd0f0a795c7daa4a3cd1dde55bea"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5049256f536511ee3f7e1b3f87d1d1209d327e818e6ae1365e8653d7e3abb6a6"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-win32.whl", hash = "sha256:00e046b6dd71aa03a41079792f8473dc494d564611a8f89bbbd7cb93295ebdcf"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-win_amd64.whl", hash = "sha256:fa173ec60341d6bb97a89f5ea19c85c5643c1e7dedebc22f5181eb73573142c5"}, + {file = "MarkupSafe-2.1.5.tar.gz", hash = "sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b"}, +] + +[[package]] +name = "marshmallow" +version = "3.21.1" +description = "A lightweight library for converting complex datatypes to and from native Python datatypes." +optional = false +python-versions = ">=3.8" +files = [ + {file = "marshmallow-3.21.1-py3-none-any.whl", hash = "sha256:f085493f79efb0644f270a9bf2892843142d80d7174bbbd2f3713f2a589dc633"}, + {file = "marshmallow-3.21.1.tar.gz", hash = "sha256:4e65e9e0d80fc9e609574b9983cf32579f305c718afb30d7233ab818571768c3"}, +] + +[package.dependencies] +packaging = ">=17.0" + +[package.extras] +dev = ["marshmallow[tests]", "pre-commit (>=3.5,<4.0)", "tox"] +docs = ["alabaster (==0.7.16)", "autodocsumm (==0.2.12)", "sphinx (==7.2.6)", "sphinx-issues (==4.0.0)", "sphinx-version-warning (==1.1.2)"] +tests = ["pytest", "pytz", "simplejson"] + +[[package]] +name = "mypy" +version = "1.9.0" +description = "Optional static typing for Python" +optional = false +python-versions = ">=3.8" +files = [ + {file = "mypy-1.9.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:f8a67616990062232ee4c3952f41c779afac41405806042a8126fe96e098419f"}, + {file = "mypy-1.9.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d357423fa57a489e8c47b7c85dfb96698caba13d66e086b412298a1a0ea3b0ed"}, + {file = "mypy-1.9.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:49c87c15aed320de9b438ae7b00c1ac91cd393c1b854c2ce538e2a72d55df150"}, + {file = "mypy-1.9.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:48533cdd345c3c2e5ef48ba3b0d3880b257b423e7995dada04248725c6f77374"}, + {file = "mypy-1.9.0-cp310-cp310-win_amd64.whl", hash = "sha256:4d3dbd346cfec7cb98e6cbb6e0f3c23618af826316188d587d1c1bc34f0ede03"}, + {file = "mypy-1.9.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:653265f9a2784db65bfca694d1edd23093ce49740b2244cde583aeb134c008f3"}, + {file = "mypy-1.9.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3a3c007ff3ee90f69cf0a15cbcdf0995749569b86b6d2f327af01fd1b8aee9dc"}, + {file = "mypy-1.9.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2418488264eb41f69cc64a69a745fad4a8f86649af4b1041a4c64ee61fc61129"}, + {file = "mypy-1.9.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:68edad3dc7d70f2f17ae4c6c1b9471a56138ca22722487eebacfd1eb5321d612"}, + {file = "mypy-1.9.0-cp311-cp311-win_amd64.whl", hash = "sha256:85ca5fcc24f0b4aeedc1d02f93707bccc04733f21d41c88334c5482219b1ccb3"}, + {file = "mypy-1.9.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:aceb1db093b04db5cd390821464504111b8ec3e351eb85afd1433490163d60cd"}, + {file = "mypy-1.9.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0235391f1c6f6ce487b23b9dbd1327b4ec33bb93934aa986efe8a9563d9349e6"}, + {file = "mypy-1.9.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d4d5ddc13421ba3e2e082a6c2d74c2ddb3979c39b582dacd53dd5d9431237185"}, + {file = "mypy-1.9.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:190da1ee69b427d7efa8aa0d5e5ccd67a4fb04038c380237a0d96829cb157913"}, + {file = "mypy-1.9.0-cp312-cp312-win_amd64.whl", hash = "sha256:fe28657de3bfec596bbeef01cb219833ad9d38dd5393fc649f4b366840baefe6"}, + {file = "mypy-1.9.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:e54396d70be04b34f31d2edf3362c1edd023246c82f1730bbf8768c28db5361b"}, + {file = "mypy-1.9.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:5e6061f44f2313b94f920e91b204ec600982961e07a17e0f6cd83371cb23f5c2"}, + {file = "mypy-1.9.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:81a10926e5473c5fc3da8abb04119a1f5811a236dc3a38d92015cb1e6ba4cb9e"}, + {file = "mypy-1.9.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:b685154e22e4e9199fc95f298661deea28aaede5ae16ccc8cbb1045e716b3e04"}, + {file = "mypy-1.9.0-cp38-cp38-win_amd64.whl", hash = "sha256:5d741d3fc7c4da608764073089e5f58ef6352bedc223ff58f2f038c2c4698a89"}, + {file = "mypy-1.9.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:587ce887f75dd9700252a3abbc9c97bbe165a4a630597845c61279cf32dfbf02"}, + {file = "mypy-1.9.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f88566144752999351725ac623471661c9d1cd8caa0134ff98cceeea181789f4"}, + {file = "mypy-1.9.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:61758fabd58ce4b0720ae1e2fea5cfd4431591d6d590b197775329264f86311d"}, + {file = "mypy-1.9.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:e49499be624dead83927e70c756970a0bc8240e9f769389cdf5714b0784ca6bf"}, + {file = "mypy-1.9.0-cp39-cp39-win_amd64.whl", hash = "sha256:571741dc4194b4f82d344b15e8837e8c5fcc462d66d076748142327626a1b6e9"}, + {file = "mypy-1.9.0-py3-none-any.whl", hash = "sha256:a260627a570559181a9ea5de61ac6297aa5af202f06fd7ab093ce74e7181e43e"}, + {file = "mypy-1.9.0.tar.gz", hash = "sha256:3cc5da0127e6a478cddd906068496a97a7618a21ce9b54bde5bf7e539c7af974"}, +] + +[package.dependencies] +mypy-extensions = ">=1.0.0" +tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""} +typing-extensions = ">=4.1.0" + +[package.extras] +dmypy = ["psutil (>=4.0)"] +install-types = ["pip"] +mypyc = ["setuptools (>=50)"] +reports = ["lxml"] + +[[package]] +name = "mypy-extensions" +version = "1.0.0" +description = "Type system extensions for programs checked with the mypy type checker." +optional = false +python-versions = ">=3.5" +files = [ + {file = "mypy_extensions-1.0.0-py3-none-any.whl", hash = "sha256:4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d"}, + {file = "mypy_extensions-1.0.0.tar.gz", hash = "sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782"}, +] + +[[package]] +name = "nodeenv" +version = "1.8.0" +description = "Node.js virtual environment builder" +optional = false +python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*" +files = [ + {file = "nodeenv-1.8.0-py2.py3-none-any.whl", hash = "sha256:df865724bb3c3adc86b3876fa209771517b0cfe596beff01a92700e0e8be4cec"}, + {file = "nodeenv-1.8.0.tar.gz", hash = "sha256:d51e0c37e64fbf47d017feac3145cdbb58836d7eee8c6f6d3b6880c5456227d2"}, +] + +[package.dependencies] +setuptools = "*" + +[[package]] +name = "oauthlib" +version = "3.2.2" +description = "A generic, spec-compliant, thorough implementation of the OAuth request-signing logic" +optional = false +python-versions = ">=3.6" +files = [ + {file = "oauthlib-3.2.2-py3-none-any.whl", hash = "sha256:8139f29aac13e25d502680e9e19963e83f16838d48a0d71c287fe40e7067fbca"}, + {file = "oauthlib-3.2.2.tar.gz", hash = "sha256:9859c40929662bec5d64f34d01c99e093149682a3f38915dc0655d5a633dd918"}, +] + +[package.extras] +rsa = ["cryptography (>=3.0.0)"] +signals = ["blinker (>=1.4.0)"] +signedtoken = ["cryptography (>=3.0.0)", "pyjwt (>=2.0.0,<3)"] + +[[package]] +name = "outcome" +version = "1.3.0.post0" +description = "Capture the outcome of Python function calls." +optional = false +python-versions = ">=3.7" +files = [ + {file = "outcome-1.3.0.post0-py2.py3-none-any.whl", hash = "sha256:e771c5ce06d1415e356078d3bdd68523f284b4ce5419828922b6871e65eda82b"}, + {file = "outcome-1.3.0.post0.tar.gz", hash = "sha256:9dcf02e65f2971b80047b377468e72a268e15c0af3cf1238e6ff14f7f91143b8"}, +] + +[package.dependencies] +attrs = ">=19.2.0" + +[[package]] +name = "packaging" +version = "23.1" +description = "Core utilities for Python packages" +optional = false +python-versions = ">=3.7" +files = [ + {file = "packaging-23.1-py3-none-any.whl", hash = "sha256:994793af429502c4ea2ebf6bf664629d07c1a9fe974af92966e4b8d2df7edc61"}, + {file = "packaging-23.1.tar.gz", hash = "sha256:a392980d2b6cffa644431898be54b0045151319d1e7ec34f0cfed48767dd334f"}, +] + +[[package]] +name = "passlib" +version = "1.7.4" +description = "comprehensive password hashing framework supporting over 30 schemes" +optional = false +python-versions = "*" +files = [ + {file = "passlib-1.7.4-py2.py3-none-any.whl", hash = "sha256:aa6bca462b8d8bda89c70b382f0c298a20b5560af6cbfa2dce410c0a2fb669f1"}, + {file = "passlib-1.7.4.tar.gz", hash = "sha256:defd50f72b65c5402ab2c573830a6978e5f202ad0d984793c8dde2c4152ebe04"}, +] + +[package.extras] +argon2 = ["argon2-cffi (>=18.2.0)"] +bcrypt = ["bcrypt (>=3.1.0)"] +build-docs = ["cloud-sptheme (>=1.10.1)", "sphinx (>=1.6)", "sphinxcontrib-fulltoc (>=1.2.0)"] +totp = ["cryptography"] + +[[package]] +name = "pathspec" +version = "0.12.1" +description = "Utility library for gitignore style pattern matching of file paths." +optional = false +python-versions = ">=3.8" +files = [ + {file = "pathspec-0.12.1-py3-none-any.whl", hash = "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08"}, + {file = "pathspec-0.12.1.tar.gz", hash = "sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712"}, +] + +[[package]] +name = "platformdirs" +version = "4.2.0" +description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." +optional = false +python-versions = ">=3.8" +files = [ + {file = "platformdirs-4.2.0-py3-none-any.whl", hash = "sha256:0614df2a2f37e1a662acbd8e2b25b92ccf8632929bc6d43467e17fe89c75e068"}, + {file = "platformdirs-4.2.0.tar.gz", hash = "sha256:ef0cc731df711022c174543cb70a9b5bd22e5a9337c8624ef2c2ceb8ddad8768"}, +] + +[package.extras] +docs = ["furo (>=2023.9.10)", "proselint (>=0.13)", "sphinx (>=7.2.6)", "sphinx-autodoc-typehints (>=1.25.2)"] +test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.4.3)", "pytest-cov (>=4.1)", "pytest-mock (>=3.12)"] + +[[package]] +name = "pluggy" +version = "1.4.0" +description = "plugin and hook calling mechanisms for python" +optional = false +python-versions = ">=3.8" +files = [ + {file = "pluggy-1.4.0-py3-none-any.whl", hash = "sha256:7db9f7b503d67d1c5b95f59773ebb58a8c1c288129a88665838012cfb07b8981"}, + {file = "pluggy-1.4.0.tar.gz", hash = "sha256:8c85c2876142a764e5b7548e7d9a0e0ddb46f5185161049a79b7e974454223be"}, +] + +[package.extras] +dev = ["pre-commit", "tox"] +testing = ["pytest", "pytest-benchmark"] + +[[package]] +name = "pre-commit" +version = "3.7.0" +description = "A framework for managing and maintaining multi-language pre-commit hooks." +optional = false +python-versions = ">=3.9" +files = [ + {file = "pre_commit-3.7.0-py2.py3-none-any.whl", hash = "sha256:5eae9e10c2b5ac51577c3452ec0a490455c45a0533f7960f993a0d01e59decab"}, + {file = "pre_commit-3.7.0.tar.gz", hash = "sha256:e209d61b8acdcf742404408531f0c37d49d2c734fd7cff2d6076083d191cb060"}, +] + +[package.dependencies] +cfgv = ">=2.0.0" +identify = ">=1.0.0" +nodeenv = ">=0.11.1" +pyyaml = ">=5.1" +virtualenv = ">=20.10.0" + +[[package]] +name = "protobuf" +version = "4.24.3" +description = "" +optional = false +python-versions = ">=3.7" +files = [ + {file = "protobuf-4.24.3-cp310-abi3-win32.whl", hash = "sha256:20651f11b6adc70c0f29efbe8f4a94a74caf61b6200472a9aea6e19898f9fcf4"}, + {file = "protobuf-4.24.3-cp310-abi3-win_amd64.whl", hash = "sha256:3d42e9e4796a811478c783ef63dc85b5a104b44aaaca85d4864d5b886e4b05e3"}, + {file = "protobuf-4.24.3-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:6e514e8af0045be2b56e56ae1bb14f43ce7ffa0f68b1c793670ccbe2c4fc7d2b"}, + {file = "protobuf-4.24.3-cp37-abi3-manylinux2014_aarch64.whl", hash = "sha256:ba53c2f04798a326774f0e53b9c759eaef4f6a568ea7072ec6629851c8435959"}, + {file = "protobuf-4.24.3-cp37-abi3-manylinux2014_x86_64.whl", hash = "sha256:f6ccbcf027761a2978c1406070c3788f6de4a4b2cc20800cc03d52df716ad675"}, + {file = "protobuf-4.24.3-cp37-cp37m-win32.whl", hash = "sha256:1b182c7181a2891e8f7f3a1b5242e4ec54d1f42582485a896e4de81aa17540c2"}, + {file = "protobuf-4.24.3-cp37-cp37m-win_amd64.whl", hash = "sha256:b0271a701e6782880d65a308ba42bc43874dabd1a0a0f41f72d2dac3b57f8e76"}, + {file = "protobuf-4.24.3-cp38-cp38-win32.whl", hash = "sha256:e29d79c913f17a60cf17c626f1041e5288e9885c8579832580209de8b75f2a52"}, + {file = "protobuf-4.24.3-cp38-cp38-win_amd64.whl", hash = "sha256:067f750169bc644da2e1ef18c785e85071b7c296f14ac53e0900e605da588719"}, + {file = "protobuf-4.24.3-cp39-cp39-win32.whl", hash = "sha256:2da777d34b4f4f7613cdf85c70eb9a90b1fbef9d36ae4a0ccfe014b0b07906f1"}, + {file = "protobuf-4.24.3-cp39-cp39-win_amd64.whl", hash = "sha256:f631bb982c5478e0c1c70eab383af74a84be66945ebf5dd6b06fc90079668d0b"}, + {file = "protobuf-4.24.3-py3-none-any.whl", hash = "sha256:f6f8dc65625dadaad0c8545319c2e2f0424fede988368893ca3844261342c11a"}, + {file = "protobuf-4.24.3.tar.gz", hash = "sha256:12e9ad2ec079b833176d2921be2cb24281fa591f0b119b208b788adc48c2561d"}, +] + +[[package]] +name = "psycopg2-binary" +version = "2.9.7" +description = "psycopg2 - Python-PostgreSQL Database Adapter" +optional = false +python-versions = ">=3.6" +files = [ + {file = "psycopg2-binary-2.9.7.tar.gz", hash = "sha256:1b918f64a51ffe19cd2e230b3240ba481330ce1d4b7875ae67305bd1d37b041c"}, + {file = "psycopg2_binary-2.9.7-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ea5f8ee87f1eddc818fc04649d952c526db4426d26bab16efbe5a0c52b27d6ab"}, + {file = "psycopg2_binary-2.9.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2993ccb2b7e80844d534e55e0f12534c2871952f78e0da33c35e648bf002bbff"}, + {file = "psycopg2_binary-2.9.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dbbc3c5d15ed76b0d9db7753c0db40899136ecfe97d50cbde918f630c5eb857a"}, + {file = "psycopg2_binary-2.9.7-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:692df8763b71d42eb8343f54091368f6f6c9cfc56dc391858cdb3c3ef1e3e584"}, + {file = "psycopg2_binary-2.9.7-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9dcfd5d37e027ec393a303cc0a216be564b96c80ba532f3d1e0d2b5e5e4b1e6e"}, + {file = "psycopg2_binary-2.9.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:17cc17a70dfb295a240db7f65b6d8153c3d81efb145d76da1e4a096e9c5c0e63"}, + {file = "psycopg2_binary-2.9.7-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:e5666632ba2b0d9757b38fc17337d84bdf932d38563c5234f5f8c54fd01349c9"}, + {file = "psycopg2_binary-2.9.7-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:7db7b9b701974c96a88997d458b38ccb110eba8f805d4b4f74944aac48639b42"}, + {file = "psycopg2_binary-2.9.7-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:c82986635a16fb1fa15cd5436035c88bc65c3d5ced1cfaac7f357ee9e9deddd4"}, + {file = "psycopg2_binary-2.9.7-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:4fe13712357d802080cfccbf8c6266a3121dc0e27e2144819029095ccf708372"}, + {file = "psycopg2_binary-2.9.7-cp310-cp310-win32.whl", hash = "sha256:122641b7fab18ef76b18860dd0c772290566b6fb30cc08e923ad73d17461dc63"}, + {file = "psycopg2_binary-2.9.7-cp310-cp310-win_amd64.whl", hash = "sha256:f8651cf1f144f9ee0fa7d1a1df61a9184ab72962531ca99f077bbdcba3947c58"}, + {file = "psycopg2_binary-2.9.7-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4ecc15666f16f97709106d87284c136cdc82647e1c3f8392a672616aed3c7151"}, + {file = "psycopg2_binary-2.9.7-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3fbb1184c7e9d28d67671992970718c05af5f77fc88e26fd7136613c4ece1f89"}, + {file = "psycopg2_binary-2.9.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8a7968fd20bd550431837656872c19575b687f3f6f98120046228e451e4064df"}, + {file = "psycopg2_binary-2.9.7-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:094af2e77a1976efd4956a031028774b827029729725e136514aae3cdf49b87b"}, + {file = "psycopg2_binary-2.9.7-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:26484e913d472ecb6b45937ea55ce29c57c662066d222fb0fbdc1fab457f18c5"}, + {file = "psycopg2_binary-2.9.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f309b77a7c716e6ed9891b9b42953c3ff7d533dc548c1e33fddc73d2f5e21f9"}, + {file = "psycopg2_binary-2.9.7-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:6d92e139ca388ccfe8c04aacc163756e55ba4c623c6ba13d5d1595ed97523e4b"}, + {file = "psycopg2_binary-2.9.7-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:2df562bb2e4e00ee064779902d721223cfa9f8f58e7e52318c97d139cf7f012d"}, + {file = "psycopg2_binary-2.9.7-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:4eec5d36dbcfc076caab61a2114c12094c0b7027d57e9e4387b634e8ab36fd44"}, + {file = "psycopg2_binary-2.9.7-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:1011eeb0c51e5b9ea1016f0f45fa23aca63966a4c0afcf0340ccabe85a9f65bd"}, + {file = "psycopg2_binary-2.9.7-cp311-cp311-win32.whl", hash = "sha256:ded8e15f7550db9e75c60b3d9fcbc7737fea258a0f10032cdb7edc26c2a671fd"}, + {file = "psycopg2_binary-2.9.7-cp311-cp311-win_amd64.whl", hash = "sha256:8a136c8aaf6615653450817a7abe0fc01e4ea720ae41dfb2823eccae4b9062a3"}, + {file = "psycopg2_binary-2.9.7-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:2dec5a75a3a5d42b120e88e6ed3e3b37b46459202bb8e36cd67591b6e5feebc1"}, + {file = "psycopg2_binary-2.9.7-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fc10da7e7df3380426521e8c1ed975d22df678639da2ed0ec3244c3dc2ab54c8"}, + {file = "psycopg2_binary-2.9.7-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ee919b676da28f78f91b464fb3e12238bd7474483352a59c8a16c39dfc59f0c5"}, + {file = "psycopg2_binary-2.9.7-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:eb1c0e682138f9067a58fc3c9a9bf1c83d8e08cfbee380d858e63196466d5c86"}, + {file = "psycopg2_binary-2.9.7-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:00d8db270afb76f48a499f7bb8fa70297e66da67288471ca873db88382850bf4"}, + {file = "psycopg2_binary-2.9.7-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:9b0c2b466b2f4d89ccc33784c4ebb1627989bd84a39b79092e560e937a11d4ac"}, + {file = "psycopg2_binary-2.9.7-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:51d1b42d44f4ffb93188f9b39e6d1c82aa758fdb8d9de65e1ddfe7a7d250d7ad"}, + {file = "psycopg2_binary-2.9.7-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:11abdbfc6f7f7dea4a524b5f4117369b0d757725798f1593796be6ece20266cb"}, + {file = "psycopg2_binary-2.9.7-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:f02f4a72cc3ab2565c6d9720f0343cb840fb2dc01a2e9ecb8bc58ccf95dc5c06"}, + {file = "psycopg2_binary-2.9.7-cp37-cp37m-win32.whl", hash = "sha256:81d5dd2dd9ab78d31a451e357315f201d976c131ca7d43870a0e8063b6b7a1ec"}, + {file = "psycopg2_binary-2.9.7-cp37-cp37m-win_amd64.whl", hash = "sha256:62cb6de84d7767164a87ca97e22e5e0a134856ebcb08f21b621c6125baf61f16"}, + {file = "psycopg2_binary-2.9.7-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:59f7e9109a59dfa31efa022e94a244736ae401526682de504e87bd11ce870c22"}, + {file = "psycopg2_binary-2.9.7-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:95a7a747bdc3b010bb6a980f053233e7610276d55f3ca506afff4ad7749ab58a"}, + {file = "psycopg2_binary-2.9.7-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c721ee464e45ecf609ff8c0a555018764974114f671815a0a7152aedb9f3343"}, + {file = "psycopg2_binary-2.9.7-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f4f37bbc6588d402980ffbd1f3338c871368fb4b1cfa091debe13c68bb3852b3"}, + {file = "psycopg2_binary-2.9.7-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ac83ab05e25354dad798401babaa6daa9577462136ba215694865394840e31f8"}, + {file = "psycopg2_binary-2.9.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:024eaeb2a08c9a65cd5f94b31ace1ee3bb3f978cd4d079406aef85169ba01f08"}, + {file = "psycopg2_binary-2.9.7-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:1c31c2606ac500dbd26381145684d87730a2fac9a62ebcfbaa2b119f8d6c19f4"}, + {file = "psycopg2_binary-2.9.7-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:42a62ef0e5abb55bf6ffb050eb2b0fcd767261fa3faf943a4267539168807522"}, + {file = "psycopg2_binary-2.9.7-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:7952807f95c8eba6a8ccb14e00bf170bb700cafcec3924d565235dffc7dc4ae8"}, + {file = "psycopg2_binary-2.9.7-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:e02bc4f2966475a7393bd0f098e1165d470d3fa816264054359ed4f10f6914ea"}, + {file = "psycopg2_binary-2.9.7-cp38-cp38-win32.whl", hash = "sha256:fdca0511458d26cf39b827a663d7d87db6f32b93efc22442a742035728603d5f"}, + {file = "psycopg2_binary-2.9.7-cp38-cp38-win_amd64.whl", hash = "sha256:d0b16e5bb0ab78583f0ed7ab16378a0f8a89a27256bb5560402749dbe8a164d7"}, + {file = "psycopg2_binary-2.9.7-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6822c9c63308d650db201ba22fe6648bd6786ca6d14fdaf273b17e15608d0852"}, + {file = "psycopg2_binary-2.9.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:8f94cb12150d57ea433e3e02aabd072205648e86f1d5a0a692d60242f7809b15"}, + {file = "psycopg2_binary-2.9.7-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5ee89587696d808c9a00876065d725d4ae606f5f7853b961cdbc348b0f7c9a1"}, + {file = "psycopg2_binary-2.9.7-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ad5ec10b53cbb57e9a2e77b67e4e4368df56b54d6b00cc86398578f1c635f329"}, + {file = "psycopg2_binary-2.9.7-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:642df77484b2dcaf87d4237792246d8068653f9e0f5c025e2c692fc56b0dda70"}, + {file = "psycopg2_binary-2.9.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a6a8b575ac45af1eaccbbcdcf710ab984fd50af048fe130672377f78aaff6fc1"}, + {file = "psycopg2_binary-2.9.7-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:f955aa50d7d5220fcb6e38f69ea126eafecd812d96aeed5d5f3597f33fad43bb"}, + {file = "psycopg2_binary-2.9.7-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:ad26d4eeaa0d722b25814cce97335ecf1b707630258f14ac4d2ed3d1d8415265"}, + {file = "psycopg2_binary-2.9.7-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:ced63c054bdaf0298f62681d5dcae3afe60cbae332390bfb1acf0e23dcd25fc8"}, + {file = "psycopg2_binary-2.9.7-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:2b04da24cbde33292ad34a40db9832a80ad12de26486ffeda883413c9e1b1d5e"}, + {file = "psycopg2_binary-2.9.7-cp39-cp39-win32.whl", hash = "sha256:18f12632ab516c47c1ac4841a78fddea6508a8284c7cf0f292cb1a523f2e2379"}, + {file = "psycopg2_binary-2.9.7-cp39-cp39-win_amd64.whl", hash = "sha256:eb3b8d55924a6058a26db69fb1d3e7e32695ff8b491835ba9f479537e14dcf9f"}, +] + +[[package]] +name = "py-vapid" +version = "1.9.0" +description = "Simple VAPID header generation library" +optional = false +python-versions = "*" +files = [ + {file = "py-vapid-1.9.0.tar.gz", hash = "sha256:0664ab7899742ef2b287397a4d461ef691ed0cc2f587205128d8cf617ffdb919"}, +] + +[package.dependencies] +cryptography = ">=2.5" + +[[package]] +name = "pyasn1" +version = "0.6.0" +description = "Pure-Python implementation of ASN.1 types and DER/BER/CER codecs (X.208)" +optional = false +python-versions = ">=3.8" +files = [ + {file = "pyasn1-0.6.0-py2.py3-none-any.whl", hash = "sha256:cca4bb0f2df5504f02f6f8a775b6e416ff9b0b3b16f7ee80b5a3153d9b804473"}, + {file = "pyasn1-0.6.0.tar.gz", hash = "sha256:3a35ab2c4b5ef98e17dfdec8ab074046fbda76e281c5a706ccd82328cfc8f64c"}, +] + +[[package]] +name = "pycparser" +version = "2.22" +description = "C parser in Python" +optional = false +python-versions = ">=3.8" +files = [ + {file = "pycparser-2.22-py3-none-any.whl", hash = "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc"}, + {file = "pycparser-2.22.tar.gz", hash = "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6"}, +] + +[[package]] +name = "pycryptodomex" +version = "3.19.1" +description = "Cryptographic library for Python" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +files = [ + {file = "pycryptodomex-3.19.1-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:b5c336dc698650283ad06f8c0237a984087d0af9f403ff21d633507335628156"}, + {file = "pycryptodomex-3.19.1-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:c9cb88ed323be1aa642b3c17cd5caa1a03c3a8fbad092d48ecefe88e328ffae3"}, + {file = "pycryptodomex-3.19.1-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:0b42e2743893f386dfb58fe24a4c8be5305c3d1c825d5f23d9e63fd0700d1110"}, + {file = "pycryptodomex-3.19.1-cp27-cp27m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:10c2eed4efdfa084b602ab922e699a0a2ba82053baebfc8afcaf27489def7955"}, + {file = "pycryptodomex-3.19.1-cp27-cp27m-musllinux_1_1_aarch64.whl", hash = "sha256:e94a7e986b117b72e9472f8eafdd81748dafff30815401f9760f759f1debe9ef"}, + {file = "pycryptodomex-3.19.1-cp27-cp27m-win32.whl", hash = "sha256:23707238b024b36c35dd3428f5af6c1f0c5ef54c21e387a2063633717699b8b2"}, + {file = "pycryptodomex-3.19.1-cp27-cp27m-win_amd64.whl", hash = "sha256:c1ae2fb8d5d6771670436dcc889b293e363c97647a6d31c21eebc12b7b760010"}, + {file = "pycryptodomex-3.19.1-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:d7a77391fd351ff1bdf8475558ddc6e92950218cb905419ee14aa02f370f1054"}, + {file = "pycryptodomex-3.19.1-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:c9332b04bf3f838327087b028f690f4ddb9341eb014a0221e79b9c19a77f7555"}, + {file = "pycryptodomex-3.19.1-cp27-cp27mu-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:beb5f0664f49b6093da179ee8e27c1d670779f50b9ece0886ce491bb8bd63728"}, + {file = "pycryptodomex-3.19.1-cp27-cp27mu-musllinux_1_1_aarch64.whl", hash = "sha256:d45d0d35a238d838b872598fa865bbfb31aaef9aeeda77c68b04ef79f9a469dc"}, + {file = "pycryptodomex-3.19.1-cp35-abi3-macosx_10_9_universal2.whl", hash = "sha256:ed3bdda44cc05dd13eee697ab9bea6928531bb7b218e68e66d0d3eb2ebab043e"}, + {file = "pycryptodomex-3.19.1-cp35-abi3-macosx_10_9_x86_64.whl", hash = "sha256:ae75eea2e908383fd4c659fdcfe9621a72869e3e3ee73904227e93b7f7b80b54"}, + {file = "pycryptodomex-3.19.1-cp35-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:371bbe0be17b4dd8cc0c2f378d75ea33f00d5a39884c09a672016ac40145a5fa"}, + {file = "pycryptodomex-3.19.1-cp35-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:96000b837bcd8e3bf86b419924a056c978e45027281e4318650c81c25a3ef6cc"}, + {file = "pycryptodomex-3.19.1-cp35-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:011e859026ecbd15b8e720e8992361186e582cf726c50bde6ff8c0c05e820ddf"}, + {file = "pycryptodomex-3.19.1-cp35-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:76414d39df6b45bcc4f38cf1ba2031e0f4b8e99d1ba3c2eee31ffe1b9f039733"}, + {file = "pycryptodomex-3.19.1-cp35-abi3-musllinux_1_1_i686.whl", hash = "sha256:1c04cfff163c05d033bf28e3c4429d8222796738c7b6c1638b9d7090b904611e"}, + {file = "pycryptodomex-3.19.1-cp35-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:de5a43901e47e7a6938490fc5de3074f6e35c8b481a75b227c0d24d6099bd41d"}, + {file = "pycryptodomex-3.19.1-cp35-abi3-win32.whl", hash = "sha256:f24f49fc6bd706d87048654d6be6c7c967d6836d4879e3a7c439275fab9948ad"}, + {file = "pycryptodomex-3.19.1-cp35-abi3-win_amd64.whl", hash = "sha256:f8b3d9e7c17c1ffc1fa5b11c0bbab8a5df3de8596bb32ad30281b21e5ede4bf5"}, + {file = "pycryptodomex-3.19.1-pp27-pypy_73-manylinux2010_x86_64.whl", hash = "sha256:ac562e239d98cfef763866c0aee4586affb0d58c592202f06c87241af99db241"}, + {file = "pycryptodomex-3.19.1-pp27-pypy_73-win32.whl", hash = "sha256:39eb1f82ac3ba3e39d866f38e480e8fa53fcdd22260340f05f54a8188d47d510"}, + {file = "pycryptodomex-3.19.1-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:0bc4b7bfaac56e6dfd62044847443a3d110c7abea7fcb0d68c1aea64ed3a6697"}, + {file = "pycryptodomex-3.19.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8dffe067d5fff14dba4d18ff7d459cc2a47576d82dafbff13a8f1199c3353e41"}, + {file = "pycryptodomex-3.19.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:aab7941c2ff53eb63cb26252770e4f14386d79ce07baeffbf98a1323c1646545"}, + {file = "pycryptodomex-3.19.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:3f3c58971784fba0e014bc3f8aed1197b86719631e1b597d36d7354be5598312"}, + {file = "pycryptodomex-3.19.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:5ca98de2e5ac100e57a7116309723360e8f799f722509e376dc396cdf65eec9c"}, + {file = "pycryptodomex-3.19.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f8a97b1acd36e9ce9d4067d94a8be99c458f0eb8070828639302a95cfcf0770b"}, + {file = "pycryptodomex-3.19.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:62f51a63d73153482729904381dd2de86800b0733a8814ee8f072fa73e5c92fb"}, + {file = "pycryptodomex-3.19.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:9919a1edd2a83c4dfb69f1d8a4c0c5efde7147ef15b07775633372b80c90b5d8"}, + {file = "pycryptodomex-3.19.1.tar.gz", hash = "sha256:0b7154aff2272962355f8941fd514104a88cb29db2d8f43a29af900d6398eb1c"}, +] + +[[package]] +name = "pydantic" +version = "1.10.9" +description = "Data validation and settings management using python type hints" +optional = false +python-versions = ">=3.7" +files = [ + {file = "pydantic-1.10.9-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e692dec4a40bfb40ca530e07805b1208c1de071a18d26af4a2a0d79015b352ca"}, + {file = "pydantic-1.10.9-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:3c52eb595db83e189419bf337b59154bdcca642ee4b2a09e5d7797e41ace783f"}, + {file = "pydantic-1.10.9-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:939328fd539b8d0edf244327398a667b6b140afd3bf7e347cf9813c736211896"}, + {file = "pydantic-1.10.9-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b48d3d634bca23b172f47f2335c617d3fcb4b3ba18481c96b7943a4c634f5c8d"}, + {file = "pydantic-1.10.9-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:f0b7628fb8efe60fe66fd4adadd7ad2304014770cdc1f4934db41fe46cc8825f"}, + {file = "pydantic-1.10.9-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:e1aa5c2410769ca28aa9a7841b80d9d9a1c5f223928ca8bec7e7c9a34d26b1d4"}, + {file = "pydantic-1.10.9-cp310-cp310-win_amd64.whl", hash = "sha256:eec39224b2b2e861259d6f3c8b6290d4e0fbdce147adb797484a42278a1a486f"}, + {file = "pydantic-1.10.9-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:d111a21bbbfd85c17248130deac02bbd9b5e20b303338e0dbe0faa78330e37e0"}, + {file = "pydantic-1.10.9-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2e9aec8627a1a6823fc62fb96480abe3eb10168fd0d859ee3d3b395105ae19a7"}, + {file = "pydantic-1.10.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:07293ab08e7b4d3c9d7de4949a0ea571f11e4557d19ea24dd3ae0c524c0c334d"}, + {file = "pydantic-1.10.9-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7ee829b86ce984261d99ff2fd6e88f2230068d96c2a582f29583ed602ef3fc2c"}, + {file = "pydantic-1.10.9-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:4b466a23009ff5cdd7076eb56aca537c745ca491293cc38e72bf1e0e00de5b91"}, + {file = "pydantic-1.10.9-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:7847ca62e581e6088d9000f3c497267868ca2fa89432714e21a4fb33a04d52e8"}, + {file = "pydantic-1.10.9-cp311-cp311-win_amd64.whl", hash = "sha256:7845b31959468bc5b78d7b95ec52fe5be32b55d0d09983a877cca6aedc51068f"}, + {file = "pydantic-1.10.9-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:517a681919bf880ce1dac7e5bc0c3af1e58ba118fd774da2ffcd93c5f96eaece"}, + {file = "pydantic-1.10.9-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:67195274fd27780f15c4c372f4ba9a5c02dad6d50647b917b6a92bf00b3d301a"}, + {file = "pydantic-1.10.9-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2196c06484da2b3fded1ab6dbe182bdabeb09f6318b7fdc412609ee2b564c49a"}, + {file = "pydantic-1.10.9-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:6257bb45ad78abacda13f15bde5886efd6bf549dd71085e64b8dcf9919c38b60"}, + {file = "pydantic-1.10.9-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:3283b574b01e8dbc982080d8287c968489d25329a463b29a90d4157de4f2baaf"}, + {file = "pydantic-1.10.9-cp37-cp37m-win_amd64.whl", hash = "sha256:5f8bbaf4013b9a50e8100333cc4e3fa2f81214033e05ac5aa44fa24a98670a29"}, + {file = "pydantic-1.10.9-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:b9cd67fb763248cbe38f0593cd8611bfe4b8ad82acb3bdf2b0898c23415a1f82"}, + {file = "pydantic-1.10.9-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:f50e1764ce9353be67267e7fd0da08349397c7db17a562ad036aa7c8f4adfdb6"}, + {file = "pydantic-1.10.9-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:73ef93e5e1d3c8e83f1ff2e7fdd026d9e063c7e089394869a6e2985696693766"}, + {file = "pydantic-1.10.9-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:128d9453d92e6e81e881dd7e2484e08d8b164da5507f62d06ceecf84bf2e21d3"}, + {file = "pydantic-1.10.9-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:ad428e92ab68798d9326bb3e5515bc927444a3d71a93b4a2ca02a8a5d795c572"}, + {file = "pydantic-1.10.9-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:fab81a92f42d6d525dd47ced310b0c3e10c416bbfae5d59523e63ea22f82b31e"}, + {file = "pydantic-1.10.9-cp38-cp38-win_amd64.whl", hash = "sha256:963671eda0b6ba6926d8fc759e3e10335e1dc1b71ff2a43ed2efd6996634dafb"}, + {file = "pydantic-1.10.9-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:970b1bdc6243ef663ba5c7e36ac9ab1f2bfecb8ad297c9824b542d41a750b298"}, + {file = "pydantic-1.10.9-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:7e1d5290044f620f80cf1c969c542a5468f3656de47b41aa78100c5baa2b8276"}, + {file = "pydantic-1.10.9-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:83fcff3c7df7adff880622a98022626f4f6dbce6639a88a15a3ce0f96466cb60"}, + {file = "pydantic-1.10.9-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0da48717dc9495d3a8f215e0d012599db6b8092db02acac5e0d58a65248ec5bc"}, + {file = "pydantic-1.10.9-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:0a2aabdc73c2a5960e87c3ffebca6ccde88665616d1fd6d3db3178ef427b267a"}, + {file = "pydantic-1.10.9-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:9863b9420d99dfa9c064042304868e8ba08e89081428a1c471858aa2af6f57c4"}, + {file = "pydantic-1.10.9-cp39-cp39-win_amd64.whl", hash = "sha256:e7c9900b43ac14110efa977be3da28931ffc74c27e96ee89fbcaaf0b0fe338e1"}, + {file = "pydantic-1.10.9-py3-none-any.whl", hash = "sha256:6cafde02f6699ce4ff643417d1a9223716ec25e228ddc3b436fe7e2d25a1f305"}, + {file = "pydantic-1.10.9.tar.gz", hash = "sha256:95c70da2cd3b6ddf3b9645ecaa8d98f3d80c606624b6d245558d202cd23ea3be"}, +] + +[package.dependencies] +email-validator = {version = ">=1.0.3", optional = true, markers = "extra == \"email\""} +typing-extensions = ">=4.2.0" + +[package.extras] +dotenv = ["python-dotenv (>=0.10.4)"] +email = ["email-validator (>=1.0.3)"] + +[[package]] +name = "pyln-bolt7" +version = "1.0.246" +description = "BOLT7" +optional = false +python-versions = ">=3.7,<4.0" +files = [ + {file = "pyln-bolt7-1.0.246.tar.gz", hash = "sha256:2b53744fa21c1b12d2c9c9df153651b122e38fa65d4a5c3f2957317ee148e089"}, + {file = "pyln_bolt7-1.0.246-py3-none-any.whl", hash = "sha256:54d48ec27fdc8751762cb068b0a9f2757a58fb57933c6d8f8255d02c27eb63c5"}, +] + +[[package]] +name = "pyln-client" +version = "23.8" +description = "Client library and plugin library for Core Lightning" +optional = false +python-versions = ">=3.8,<4.0" +files = [ + {file = "pyln_client-23.8-py3-none-any.whl", hash = "sha256:a63a9541f422ed3d1d42483a5f37cdfa0014715b620616384d8ee048c4f95f42"}, + {file = "pyln_client-23.8.tar.gz", hash = "sha256:578004c640d869707ed8de267f35e01994c092035d20ebc5a325415412b52021"}, +] + +[package.dependencies] +pyln-bolt7 = ">=1.0" +pyln-proto = ">=23" + +[[package]] +name = "pyln-proto" +version = "24.2.1" +description = "This package implements some of the Lightning Network protocol in pure python. It is intended for protocol testing and some minor tooling only. It is not deemed secure enough to handle any amount of real funds (you have been warned!)." +optional = false +python-versions = "<4.0,>=3.8" +files = [ + {file = "pyln_proto-24.2.1-py3-none-any.whl", hash = "sha256:0948515187d1813179daa0a6809d23a34c36b0cbd37951688e1d26c648aa0fef"}, + {file = "pyln_proto-24.2.1.tar.gz", hash = "sha256:5d9f0fa50180f922727b80e99d267e374ac0337d0fccae51b82d3084c88537b5"}, +] + +[package.dependencies] +base58 = ">=2.1.1,<3.0.0" +bitstring = ">=4.1.0,<5.0.0" +coincurve = ">=18,<19" +cryptography = ">=41,<42" +PySocks = ">=1,<2" + +[[package]] +name = "pyqrcode" +version = "1.2.1" +description = "A QR code generator written purely in Python with SVG, EPS, PNG and terminal output." +optional = false +python-versions = "*" +files = [ + {file = "PyQRCode-1.2.1.tar.gz", hash = "sha256:fdbf7634733e56b72e27f9bce46e4550b75a3a2c420414035cae9d9d26b234d5"}, + {file = "PyQRCode-1.2.1.zip", hash = "sha256:1b2812775fa6ff5c527977c4cd2ccb07051ca7d0bc0aecf937a43864abe5eff6"}, +] + +[package.extras] +png = ["pypng (>=0.0.13)"] + +[[package]] +name = "pysocks" +version = "1.7.1" +description = "A Python SOCKS client module. See https://github.com/Anorov/PySocks for more information." +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +files = [ + {file = "PySocks-1.7.1-py27-none-any.whl", hash = "sha256:08e69f092cc6dbe92a0fdd16eeb9b9ffbc13cadfe5ca4c7bd92ffb078b293299"}, + {file = "PySocks-1.7.1-py3-none-any.whl", hash = "sha256:2725bd0a9925919b9b51739eea5f9e2bae91e83288108a9ad338b2e3a4435ee5"}, + {file = "PySocks-1.7.1.tar.gz", hash = "sha256:3f8804571ebe159c380ac6de37643bb4685970655d3bba243530d6558b799aa0"}, +] + +[[package]] +name = "pytest" +version = "7.4.4" +description = "pytest: simple powerful testing with Python" +optional = false +python-versions = ">=3.7" +files = [ + {file = "pytest-7.4.4-py3-none-any.whl", hash = "sha256:b090cdf5ed60bf4c45261be03239c2c1c22df034fbffe691abe93cd80cea01d8"}, + {file = "pytest-7.4.4.tar.gz", hash = "sha256:2cf0005922c6ace4a3e2ec8b4080eb0d9753fdc93107415332f50ce9e7994280"}, +] + +[package.dependencies] +colorama = {version = "*", markers = "sys_platform == \"win32\""} +exceptiongroup = {version = ">=1.0.0rc8", markers = "python_version < \"3.11\""} +iniconfig = "*" +packaging = "*" +pluggy = ">=0.12,<2.0" +tomli = {version = ">=1.0.0", markers = "python_version < \"3.11\""} + +[package.extras] +testing = ["argcomplete", "attrs (>=19.2.0)", "hypothesis (>=3.56)", "mock", "nose", "pygments (>=2.7.2)", "requests", "setuptools", "xmlschema"] + +[[package]] +name = "pytest-asyncio" +version = "0.21.1" +description = "Pytest support for asyncio" +optional = false +python-versions = ">=3.7" +files = [ + {file = "pytest-asyncio-0.21.1.tar.gz", hash = "sha256:40a7eae6dded22c7b604986855ea48400ab15b069ae38116e8c01238e9eeb64d"}, + {file = "pytest_asyncio-0.21.1-py3-none-any.whl", hash = "sha256:8666c1c8ac02631d7c51ba282e0c69a8a452b211ffedf2599099845da5c5c37b"}, +] + +[package.dependencies] +pytest = ">=7.0.0" + +[package.extras] +docs = ["sphinx (>=5.3)", "sphinx-rtd-theme (>=1.0)"] +testing = ["coverage (>=6.2)", "flaky (>=3.5.0)", "hypothesis (>=5.7.1)", "mypy (>=0.931)", "pytest-trio (>=0.7.0)"] + +[[package]] +name = "python-crontab" +version = "3.0.0" +description = "Python Crontab API" +optional = false +python-versions = "*" +files = [ + {file = "python-crontab-3.0.0.tar.gz", hash = "sha256:79fb7465039ddfd4fb93d072d6ee0d45c1ac8bf1597f0686ea14fd4361dba379"}, + {file = "python_crontab-3.0.0-py3-none-any.whl", hash = "sha256:6d5ba3c190ec76e4d252989a1644fcb233dbf53fbc8fceeb9febe1657b9fb1d4"}, +] + +[package.dependencies] +python-dateutil = "*" + +[package.extras] +cron-description = ["cron-descriptor"] +cron-schedule = ["croniter"] + +[[package]] +name = "python-dateutil" +version = "2.9.0.post0" +description = "Extensions to the standard Python datetime module" +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" +files = [ + {file = "python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3"}, + {file = "python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427"}, +] + +[package.dependencies] +six = ">=1.5" + +[[package]] +name = "python-dotenv" +version = "1.0.1" +description = "Read key-value pairs from a .env file and set them as environment variables" +optional = false +python-versions = ">=3.8" +files = [ + {file = "python-dotenv-1.0.1.tar.gz", hash = "sha256:e324ee90a023d808f1959c46bcbc04446a10ced277783dc6ee09987c37ec10ca"}, + {file = "python_dotenv-1.0.1-py3-none-any.whl", hash = "sha256:f7b63ef50f1b690dddf550d03497b66d609393b40b564ed0d674909a68ebf16a"}, +] + +[package.extras] +cli = ["click (>=5.0)"] + +[[package]] +name = "python-jose" +version = "3.3.0" +description = "JOSE implementation in Python" +optional = false +python-versions = "*" +files = [ + {file = "python-jose-3.3.0.tar.gz", hash = "sha256:55779b5e6ad599c6336191246e95eb2293a9ddebd555f796a65f838f07e5d78a"}, + {file = "python_jose-3.3.0-py2.py3-none-any.whl", hash = "sha256:9b1376b023f8b298536eedd47ae1089bcdb848f1535ab30555cd92002d78923a"}, +] + +[package.dependencies] +ecdsa = "!=0.15" +pyasn1 = "*" +rsa = "*" + +[package.extras] +cryptography = ["cryptography (>=3.4.0)"] +pycrypto = ["pyasn1", "pycrypto (>=2.6.0,<2.7.0)"] +pycryptodome = ["pyasn1", "pycryptodome (>=3.3.1,<4.0.0)"] + +[[package]] +name = "pywebpush" +version = "1.14.0" +description = "WebPush publication library" +optional = false +python-versions = "*" +files = [ + {file = "pywebpush-1.14.0.tar.gz", hash = "sha256:6c36e1679268219e693ba940db2bf254c240ca02664de102b7269afc3c545731"}, +] + +[package.dependencies] +cryptography = ">=2.6.1" +http-ece = ">=1.1.0" +py-vapid = ">=1.7.0" +requests = ">=2.21.0" +six = ">=1.15.0" + +[[package]] +name = "pyyaml" +version = "6.0.1" +description = "YAML parser and emitter for Python" +optional = false +python-versions = ">=3.6" +files = [ + {file = "PyYAML-6.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d858aa552c999bc8a8d57426ed01e40bef403cd8ccdd0fc5f6f04a00414cac2a"}, + {file = "PyYAML-6.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fd66fc5d0da6d9815ba2cebeb4205f95818ff4b79c3ebe268e75d961704af52f"}, + {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:69b023b2b4daa7548bcfbd4aa3da05b3a74b772db9e23b982788168117739938"}, + {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:81e0b275a9ecc9c0c0c07b4b90ba548307583c125f54d5b6946cfee6360c733d"}, + {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba336e390cd8e4d1739f42dfe9bb83a3cc2e80f567d8805e11b46f4a943f5515"}, + {file = "PyYAML-6.0.1-cp310-cp310-win32.whl", hash = "sha256:bd4af7373a854424dabd882decdc5579653d7868b8fb26dc7d0e99f823aa5924"}, + {file = "PyYAML-6.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:fd1592b3fdf65fff2ad0004b5e363300ef59ced41c2e6b3a99d4089fa8c5435d"}, + {file = "PyYAML-6.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6965a7bc3cf88e5a1c3bd2e0b5c22f8d677dc88a455344035f03399034eb3007"}, + {file = "PyYAML-6.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f003ed9ad21d6a4713f0a9b5a7a0a79e08dd0f221aff4525a2be4c346ee60aab"}, + {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:42f8152b8dbc4fe7d96729ec2b99c7097d656dc1213a3229ca5383f973a5ed6d"}, + {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:062582fca9fabdd2c8b54a3ef1c978d786e0f6b3a1510e0ac93ef59e0ddae2bc"}, + {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d2b04aac4d386b172d5b9692e2d2da8de7bfb6c387fa4f801fbf6fb2e6ba4673"}, + {file = "PyYAML-6.0.1-cp311-cp311-win32.whl", hash = "sha256:1635fd110e8d85d55237ab316b5b011de701ea0f29d07611174a1b42f1444741"}, + {file = "PyYAML-6.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34"}, + {file = "PyYAML-6.0.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:50550eb667afee136e9a77d6dc71ae76a44df8b3e51e41b77f6de2932bfe0f47"}, + {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1fe35611261b29bd1de0070f0b2f47cb6ff71fa6595c077e42bd0c419fa27b98"}, + {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:704219a11b772aea0d8ecd7058d0082713c3562b4e271b849ad7dc4a5c90c13c"}, + {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:afd7e57eddb1a54f0f1a974bc4391af8bcce0b444685d936840f125cf046d5bd"}, + {file = "PyYAML-6.0.1-cp36-cp36m-win32.whl", hash = "sha256:fca0e3a251908a499833aa292323f32437106001d436eca0e6e7833256674585"}, + {file = "PyYAML-6.0.1-cp36-cp36m-win_amd64.whl", hash = "sha256:f22ac1c3cac4dbc50079e965eba2c1058622631e526bd9afd45fedd49ba781fa"}, + {file = "PyYAML-6.0.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:b1275ad35a5d18c62a7220633c913e1b42d44b46ee12554e5fd39c70a243d6a3"}, + {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:18aeb1bf9a78867dc38b259769503436b7c72f7a1f1f4c93ff9a17de54319b27"}, + {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:596106435fa6ad000c2991a98fa58eeb8656ef2325d7e158344fb33864ed87e3"}, + {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:baa90d3f661d43131ca170712d903e6295d1f7a0f595074f151c0aed377c9b9c"}, + {file = "PyYAML-6.0.1-cp37-cp37m-win32.whl", hash = "sha256:9046c58c4395dff28dd494285c82ba00b546adfc7ef001486fbf0324bc174fba"}, + {file = "PyYAML-6.0.1-cp37-cp37m-win_amd64.whl", hash = "sha256:4fb147e7a67ef577a588a0e2c17b6db51dda102c71de36f8549b6816a96e1867"}, + {file = "PyYAML-6.0.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1d4c7e777c441b20e32f52bd377e0c409713e8bb1386e1099c2415f26e479595"}, + {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a0cd17c15d3bb3fa06978b4e8958dcdc6e0174ccea823003a106c7d4d7899ac5"}, + {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:28c119d996beec18c05208a8bd78cbe4007878c6dd15091efb73a30e90539696"}, + {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7e07cbde391ba96ab58e532ff4803f79c4129397514e1413a7dc761ccd755735"}, + {file = "PyYAML-6.0.1-cp38-cp38-win32.whl", hash = "sha256:184c5108a2aca3c5b3d3bf9395d50893a7ab82a38004c8f61c258d4428e80206"}, + {file = "PyYAML-6.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:1e2722cc9fbb45d9b87631ac70924c11d3a401b2d7f410cc0e3bbf249f2dca62"}, + {file = "PyYAML-6.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9eb6caa9a297fc2c2fb8862bc5370d0303ddba53ba97e71f08023b6cd73d16a8"}, + {file = "PyYAML-6.0.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c8098ddcc2a85b61647b2590f825f3db38891662cfc2fc776415143f599bb859"}, + {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5773183b6446b2c99bb77e77595dd486303b4faab2b086e7b17bc6bef28865f6"}, + {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b786eecbdf8499b9ca1d697215862083bd6d2a99965554781d0d8d1ad31e13a0"}, + {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc1bf2925a1ecd43da378f4db9e4f799775d6367bdb94671027b73b393a7c42c"}, + {file = "PyYAML-6.0.1-cp39-cp39-win32.whl", hash = "sha256:faca3bdcf85b2fc05d06ff3fbc1f83e1391b3e724afa3feba7d13eeab355484c"}, + {file = "PyYAML-6.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:510c9deebc5c0225e8c96813043e62b680ba2f9c50a08d3724c7f28a747d1486"}, + {file = "PyYAML-6.0.1.tar.gz", hash = "sha256:bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43"}, +] + +[[package]] +name = "represent" +version = "2.1" +description = "Create __repr__ automatically or declaratively." +optional = false +python-versions = ">=3.8" +files = [ + {file = "Represent-2.1-py3-none-any.whl", hash = "sha256:94fd22d7fec378240c598b20b233f80545ec7eb1131076e2d3d759cee9be2588"}, + {file = "Represent-2.1.tar.gz", hash = "sha256:0b2d015c14e7ba6b3b5e6a7ba131a952013fe944339ac538764ce728a75dbcac"}, +] + +[package.extras] +docstest = ["furo", "parver", "sphinx"] +test = ["ipython", "pytest", "rich"] + +[[package]] +name = "requests" +version = "2.31.0" +description = "Python HTTP for Humans." +optional = false +python-versions = ">=3.7" +files = [ + {file = "requests-2.31.0-py3-none-any.whl", hash = "sha256:58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f"}, + {file = "requests-2.31.0.tar.gz", hash = "sha256:942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1"}, +] + +[package.dependencies] +certifi = ">=2017.4.17" +charset-normalizer = ">=2,<4" +idna = ">=2.5,<4" +urllib3 = ">=1.21.1,<3" + +[package.extras] +socks = ["PySocks (>=1.5.6,!=1.5.7)"] +use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] + +[[package]] +name = "rsa" +version = "4.9" +description = "Pure-Python RSA implementation" +optional = false +python-versions = ">=3.6,<4" +files = [ + {file = "rsa-4.9-py3-none-any.whl", hash = "sha256:90260d9058e514786967344d0ef75fa8727eed8a7d2e43ce9f4bcf1b536174f7"}, + {file = "rsa-4.9.tar.gz", hash = "sha256:e38464a49c6c85d7f1351b0126661487a7e0a14a50f1675ec50eb34d4f20ef21"}, +] + +[package.dependencies] +pyasn1 = ">=0.1.3" + +[[package]] +name = "ruff" +version = "0.3.7" +description = "An extremely fast Python linter and code formatter, written in Rust." +optional = false +python-versions = ">=3.7" +files = [ + {file = "ruff-0.3.7-py3-none-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:0e8377cccb2f07abd25e84fc5b2cbe48eeb0fea9f1719cad7caedb061d70e5ce"}, + {file = "ruff-0.3.7-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:15a4d1cc1e64e556fa0d67bfd388fed416b7f3b26d5d1c3e7d192c897e39ba4b"}, + {file = "ruff-0.3.7-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d28bdf3d7dc71dd46929fafeec98ba89b7c3550c3f0978e36389b5631b793663"}, + {file = "ruff-0.3.7-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:379b67d4f49774ba679593b232dcd90d9e10f04d96e3c8ce4a28037ae473f7bb"}, + {file = "ruff-0.3.7-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c060aea8ad5ef21cdfbbe05475ab5104ce7827b639a78dd55383a6e9895b7c51"}, + {file = "ruff-0.3.7-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:ebf8f615dde968272d70502c083ebf963b6781aacd3079081e03b32adfe4d58a"}, + {file = "ruff-0.3.7-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d48098bd8f5c38897b03604f5428901b65e3c97d40b3952e38637b5404b739a2"}, + {file = "ruff-0.3.7-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:da8a4fda219bf9024692b1bc68c9cff4b80507879ada8769dc7e985755d662ea"}, + {file = "ruff-0.3.7-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c44e0149f1d8b48c4d5c33d88c677a4aa22fd09b1683d6a7ff55b816b5d074f"}, + {file = "ruff-0.3.7-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:3050ec0af72b709a62ecc2aca941b9cd479a7bf2b36cc4562f0033d688e44fa1"}, + {file = "ruff-0.3.7-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:a29cc38e4c1ab00da18a3f6777f8b50099d73326981bb7d182e54a9a21bb4ff7"}, + {file = "ruff-0.3.7-py3-none-musllinux_1_2_i686.whl", hash = "sha256:5b15cc59c19edca917f51b1956637db47e200b0fc5e6e1878233d3a938384b0b"}, + {file = "ruff-0.3.7-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:e491045781b1e38b72c91247cf4634f040f8d0cb3e6d3d64d38dcf43616650b4"}, + {file = "ruff-0.3.7-py3-none-win32.whl", hash = "sha256:bc931de87593d64fad3a22e201e55ad76271f1d5bfc44e1a1887edd0903c7d9f"}, + {file = "ruff-0.3.7-py3-none-win_amd64.whl", hash = "sha256:5ef0e501e1e39f35e03c2acb1d1238c595b8bb36cf7a170e7c1df1b73da00e74"}, + {file = "ruff-0.3.7-py3-none-win_arm64.whl", hash = "sha256:789e144f6dc7019d1f92a812891c645274ed08af6037d11fc65fcbc183b7d59f"}, + {file = "ruff-0.3.7.tar.gz", hash = "sha256:d5c1aebee5162c2226784800ae031f660c350e7a3402c4d1f8ea4e97e232e3ba"}, +] + +[[package]] +name = "secp256k1" +version = "0.14.0" +description = "FFI bindings to libsecp256k1" +optional = false +python-versions = "*" +files = [ + {file = "secp256k1-0.14.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:f666c67dcf1dc69e1448b2ede5e12aaf382b600204a61dbc65e4f82cea444405"}, + {file = "secp256k1-0.14.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:fcabb3c3497a902fb61eec72d1b69bf72747d7bcc2a732d56d9319a1e8322262"}, + {file = "secp256k1-0.14.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:7a27c479ab60571502516a1506a562d0a9df062de8ad645313fabfcc97252816"}, + {file = "secp256k1-0.14.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:f4b9306bff6dde020444dfee9ca9b9f5b20ca53a2c0b04898361a3f43d5daf2e"}, + {file = "secp256k1-0.14.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:72735da6cb28273e924431cd40aa607e7f80ef09608c8c9300be2e0e1d2417b4"}, + {file = "secp256k1-0.14.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:87f4ad42a370f768910585989a301d1d65de17dcd86f6e8def9b021364b34d5c"}, + {file = "secp256k1-0.14.0-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:130f119b06142e597c10eb4470b5a38eae865362d01aaef06b113478d77f728d"}, + {file = "secp256k1-0.14.0-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:3aedcfe6eb1c5fa7c6be25b7cc91c76d8eb984271920ba0f7a934ae41ed56f51"}, + {file = "secp256k1-0.14.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:c91dd3154f6c46ac798d9a41166120e1751222587f54516cc3f378f56ce4ac82"}, + {file = "secp256k1-0.14.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:fec790cb6d0d37129ca0ce5b3f8e85692d5fb618d1c440f189453d18694035df"}, + {file = "secp256k1-0.14.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:63eb148196b8f646922d4be6739b17fbbf50ebb3a020078c823e2445d88b7a81"}, + {file = "secp256k1-0.14.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:adc23a4c5d24c95191638eb2ca313097827f07db102e77b59faed15d50c98cae"}, + {file = "secp256k1-0.14.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:ce0314788d3248b275426501228969fd32f6501c9d1837902ee0e7bd8264a36f"}, + {file = "secp256k1-0.14.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:bc761894b3634021686714278fc62b73395fa3eded33453eadfd8a00a6c44ef3"}, + {file = "secp256k1-0.14.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:373dc8bca735f3c2d73259aa2711a9ecea2f3c7edbb663555fe3422e3dd76102"}, + {file = "secp256k1-0.14.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:fe3f503c9dfdf663b500d3e0688ad842e116c2907ad3f1e1d685812df3f56290"}, + {file = "secp256k1-0.14.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:4b1bf09953cde181132cf5e9033065615e5c2694e803165e2db763efa47695e5"}, + {file = "secp256k1-0.14.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:6af07be5f8612628c3638dc7b208f6cc78d0abae3e25797eadb13890c7d5da81"}, + {file = "secp256k1-0.14.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:a8dbd75a9fb6f42de307f3c5e24573fe59c3374637cbf39136edc66c200a4029"}, + {file = "secp256k1-0.14.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:97a30c8dae633cb18135c76b6517ae99dc59106818e8985be70dbc05dcc06c0d"}, + {file = "secp256k1-0.14.0-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:f4062d8c101aa63b9ecb3709f1f075ad9c01b6672869bbaa1bd77271816936a7"}, + {file = "secp256k1-0.14.0-pp37-pypy37_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:c9e7c024ff17e9b9d7c392bb2a917da231d6cb40ab119389ff1f51dca10339a4"}, + {file = "secp256k1-0.14.0.tar.gz", hash = "sha256:82c06712d69ef945220c8b53c1a0d424c2ff6a1f64aee609030df79ad8383397"}, +] + +[package.dependencies] +cffi = ">=1.3.0" + +[[package]] +name = "setuptools" +version = "69.5.1" +description = "Easily download, build, install, upgrade, and uninstall Python packages" +optional = false +python-versions = ">=3.8" +files = [ + {file = "setuptools-69.5.1-py3-none-any.whl", hash = "sha256:c636ac361bc47580504644275c9ad802c50415c7522212252c033bd15f301f32"}, + {file = "setuptools-69.5.1.tar.gz", hash = "sha256:6c1fccdac05a97e598fb0ae3bbed5904ccb317337a51139dcd51453611bbb987"}, +] + +[package.extras] +docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier"] +testing = ["build[virtualenv]", "filelock (>=3.4.0)", "importlib-metadata", "ini2toml[lite] (>=0.9)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "mypy (==1.9)", "packaging (>=23.2)", "pip (>=19.1)", "pytest (>=6,!=8.1.1)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-home (>=0.5)", "pytest-mypy", "pytest-perf", "pytest-ruff (>=0.2.1)", "pytest-timeout", "pytest-xdist (>=3)", "tomli", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] +testing-integration = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "packaging (>=23.2)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"] + +[[package]] +name = "shortuuid" +version = "1.0.11" +description = "A generator library for concise, unambiguous and URL-safe UUIDs." +optional = false +python-versions = ">=3.5" +files = [ + {file = "shortuuid-1.0.11-py3-none-any.whl", hash = "sha256:27ea8f28b1bd0bf8f15057a3ece57275d2059d2b0bb02854f02189962c13b6aa"}, + {file = "shortuuid-1.0.11.tar.gz", hash = "sha256:fc75f2615914815a8e4cb1501b3a513745cb66ef0fd5fc6fb9f8c3fa3481f789"}, +] + +[[package]] +name = "six" +version = "1.16.0" +description = "Python 2 and 3 compatibility utilities" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" +files = [ + {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"}, + {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, +] + +[[package]] +name = "slowapi" +version = "0.1.9" +description = "A rate limiting extension for Starlette and Fastapi" +optional = false +python-versions = ">=3.7,<4.0" +files = [ + {file = "slowapi-0.1.9-py3-none-any.whl", hash = "sha256:cfad116cfb84ad9d763ee155c1e5c5cbf00b0d47399a769b227865f5df576e36"}, + {file = "slowapi-0.1.9.tar.gz", hash = "sha256:639192d0f1ca01b1c6d95bf6c71d794c3a9ee189855337b4821f7f457dddad77"}, +] + +[package.dependencies] +limits = ">=2.3" + +[package.extras] +redis = ["redis (>=3.4.1,<4.0.0)"] + +[[package]] +name = "sniffio" +version = "1.3.1" +description = "Sniff out which async library your code is running under" +optional = false +python-versions = ">=3.7" +files = [ + {file = "sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2"}, + {file = "sniffio-1.3.1.tar.gz", hash = "sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc"}, +] + +[[package]] +name = "sqlalchemy" +version = "1.3.24" +description = "Database Abstraction Library" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +files = [ + {file = "SQLAlchemy-1.3.24-cp27-cp27m-macosx_10_14_x86_64.whl", hash = "sha256:87a2725ad7d41cd7376373c15fd8bf674e9c33ca56d0b8036add2d634dba372e"}, + {file = "SQLAlchemy-1.3.24-cp27-cp27m-win32.whl", hash = "sha256:f597a243b8550a3a0b15122b14e49d8a7e622ba1c9d29776af741f1845478d79"}, + {file = "SQLAlchemy-1.3.24-cp27-cp27m-win_amd64.whl", hash = "sha256:fc4cddb0b474b12ed7bdce6be1b9edc65352e8ce66bc10ff8cbbfb3d4047dbf4"}, + {file = "SQLAlchemy-1.3.24-cp35-cp35m-macosx_10_14_x86_64.whl", hash = "sha256:f1149d6e5c49d069163e58a3196865e4321bad1803d7886e07d8710de392c548"}, + {file = "SQLAlchemy-1.3.24-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:14f0eb5db872c231b20c18b1e5806352723a3a89fb4254af3b3e14f22eaaec75"}, + {file = "SQLAlchemy-1.3.24-cp35-cp35m-manylinux2010_x86_64.whl", hash = "sha256:e98d09f487267f1e8d1179bf3b9d7709b30a916491997137dd24d6ae44d18d79"}, + {file = "SQLAlchemy-1.3.24-cp35-cp35m-manylinux2014_aarch64.whl", hash = "sha256:fc1f2a5a5963e2e73bac4926bdaf7790c4d7d77e8fc0590817880e22dd9d0b8b"}, + {file = "SQLAlchemy-1.3.24-cp35-cp35m-win32.whl", hash = "sha256:f3c5c52f7cb8b84bfaaf22d82cb9e6e9a8297f7c2ed14d806a0f5e4d22e83fb7"}, + {file = "SQLAlchemy-1.3.24-cp35-cp35m-win_amd64.whl", hash = "sha256:0352db1befcbed2f9282e72843f1963860bf0e0472a4fa5cf8ee084318e0e6ab"}, + {file = "SQLAlchemy-1.3.24-cp36-cp36m-macosx_10_14_x86_64.whl", hash = "sha256:2ed6343b625b16bcb63c5b10523fd15ed8934e1ed0f772c534985e9f5e73d894"}, + {file = "SQLAlchemy-1.3.24-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:34fcec18f6e4b24b4a5f6185205a04f1eab1e56f8f1d028a2a03694ebcc2ddd4"}, + {file = "SQLAlchemy-1.3.24-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:e47e257ba5934550d7235665eee6c911dc7178419b614ba9e1fbb1ce6325b14f"}, + {file = "SQLAlchemy-1.3.24-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:816de75418ea0953b5eb7b8a74933ee5a46719491cd2b16f718afc4b291a9658"}, + {file = "SQLAlchemy-1.3.24-cp36-cp36m-win32.whl", hash = "sha256:26155ea7a243cbf23287f390dba13d7927ffa1586d3208e0e8d615d0c506f996"}, + {file = "SQLAlchemy-1.3.24-cp36-cp36m-win_amd64.whl", hash = "sha256:f03bd97650d2e42710fbe4cf8a59fae657f191df851fc9fc683ecef10746a375"}, + {file = "SQLAlchemy-1.3.24-cp37-cp37m-macosx_10_14_x86_64.whl", hash = "sha256:a006d05d9aa052657ee3e4dc92544faae5fcbaafc6128217310945610d862d39"}, + {file = "SQLAlchemy-1.3.24-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:1e2f89d2e5e3c7a88e25a3b0e43626dba8db2aa700253023b82e630d12b37109"}, + {file = "SQLAlchemy-1.3.24-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:0d5d862b1cfbec5028ce1ecac06a3b42bc7703eb80e4b53fceb2738724311443"}, + {file = "SQLAlchemy-1.3.24-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:0172423a27fbcae3751ef016663b72e1a516777de324a76e30efa170dbd3dd2d"}, + {file = "SQLAlchemy-1.3.24-cp37-cp37m-win32.whl", hash = "sha256:d37843fb8df90376e9e91336724d78a32b988d3d20ab6656da4eb8ee3a45b63c"}, + {file = "SQLAlchemy-1.3.24-cp37-cp37m-win_amd64.whl", hash = "sha256:c10ff6112d119f82b1618b6dc28126798481b9355d8748b64b9b55051eb4f01b"}, + {file = "SQLAlchemy-1.3.24-cp38-cp38-macosx_10_14_x86_64.whl", hash = "sha256:861e459b0e97673af6cc5e7f597035c2e3acdfb2608132665406cded25ba64c7"}, + {file = "SQLAlchemy-1.3.24-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:5de2464c254380d8a6c20a2746614d5a436260be1507491442cf1088e59430d2"}, + {file = "SQLAlchemy-1.3.24-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:d375d8ccd3cebae8d90270f7aa8532fe05908f79e78ae489068f3b4eee5994e8"}, + {file = "SQLAlchemy-1.3.24-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:014ea143572fee1c18322b7908140ad23b3994036ef4c0d630110faf942652f8"}, + {file = "SQLAlchemy-1.3.24-cp38-cp38-win32.whl", hash = "sha256:6607ae6cd3a07f8a4c3198ffbf256c261661965742e2b5265a77cd5c679c9bba"}, + {file = "SQLAlchemy-1.3.24-cp38-cp38-win_amd64.whl", hash = "sha256:fcb251305fa24a490b6a9ee2180e5f8252915fb778d3dafc70f9cc3f863827b9"}, + {file = "SQLAlchemy-1.3.24-cp39-cp39-macosx_10_14_x86_64.whl", hash = "sha256:01aa5f803db724447c1d423ed583e42bf5264c597fd55e4add4301f163b0be48"}, + {file = "SQLAlchemy-1.3.24-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:4d0e3515ef98aa4f0dc289ff2eebb0ece6260bbf37c2ea2022aad63797eacf60"}, + {file = "SQLAlchemy-1.3.24-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:bce28277f308db43a6b4965734366f533b3ff009571ec7ffa583cb77539b84d6"}, + {file = "SQLAlchemy-1.3.24-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:8110e6c414d3efc574543109ee618fe2c1f96fa31833a1ff36cc34e968c4f233"}, + {file = "SQLAlchemy-1.3.24-cp39-cp39-win32.whl", hash = "sha256:ee5f5188edb20a29c1cc4a039b074fdc5575337c9a68f3063449ab47757bb064"}, + {file = "SQLAlchemy-1.3.24-cp39-cp39-win_amd64.whl", hash = "sha256:09083c2487ca3c0865dc588e07aeaa25416da3d95f7482c07e92f47e080aa17b"}, + {file = "SQLAlchemy-1.3.24.tar.gz", hash = "sha256:ebbb777cbf9312359b897bf81ba00dae0f5cb69fba2a18265dcc18a6f5ef7519"}, +] + +[package.extras] +mssql = ["pyodbc"] +mssql-pymssql = ["pymssql"] +mssql-pyodbc = ["pyodbc"] +mysql = ["mysqlclient"] +oracle = ["cx-oracle"] +postgresql = ["psycopg2"] +postgresql-pg8000 = ["pg8000 (<1.16.6)"] +postgresql-psycopg2binary = ["psycopg2-binary"] +postgresql-psycopg2cffi = ["psycopg2cffi"] +pymysql = ["pymysql", "pymysql (<1)"] + +[[package]] +name = "sqlalchemy-aio" +version = "0.17.0" +description = "Async support for SQLAlchemy." +optional = false +python-versions = ">=3.6" +files = [ + {file = "sqlalchemy_aio-0.17.0-py3-none-any.whl", hash = "sha256:3f4aa392c38f032d6734826a4138a0f02ed3122d442ed142be1e5964f2a33b60"}, + {file = "sqlalchemy_aio-0.17.0.tar.gz", hash = "sha256:f531c7982662d71dfc0b117e77bb2ed544e25cd5361e76cf9f5208edcfb71f7b"}, +] + +[package.dependencies] +outcome = "*" +represent = ">=1.4" +sqlalchemy = "<1.4" + +[package.extras] +test = ["pytest (>=5.4)", "pytest-asyncio (>=0.14)", "pytest-trio (>=0.6)"] +test-noextras = ["pytest (>=5.4)", "pytest-asyncio (>=0.14)"] +trio = ["trio (>=0.15)"] + +[[package]] +name = "sse-starlette" +version = "1.6.5" +description = "\"SSE plugin for Starlette\"" +optional = false +python-versions = ">=3.8" +files = [ + {file = "sse-starlette-1.6.5.tar.gz", hash = "sha256:819f2c421fb37067380fe3dcaba246c476b02651b7bb7601099a378ad802a0ac"}, + {file = "sse_starlette-1.6.5-py3-none-any.whl", hash = "sha256:68b6b7eb49be0c72a2af80a055994c13afcaa4761b29226beb208f954c25a642"}, +] + +[package.dependencies] +starlette = "*" + +[[package]] +name = "starlette" +version = "0.36.3" +description = "The little ASGI library that shines." +optional = false +python-versions = ">=3.8" +files = [ + {file = "starlette-0.36.3-py3-none-any.whl", hash = "sha256:13d429aa93a61dc40bf503e8c801db1f1bca3dc706b10ef2434a36123568f044"}, + {file = "starlette-0.36.3.tar.gz", hash = "sha256:90a671733cfb35771d8cc605e0b679d23b992f8dcfad48cc60b38cb29aeb7080"}, +] + +[package.dependencies] +anyio = ">=3.4.0,<5" +typing-extensions = {version = ">=3.10.0", markers = "python_version < \"3.10\""} + +[package.extras] +full = ["httpx (>=0.22.0)", "itsdangerous", "jinja2", "python-multipart (>=0.0.7)", "pyyaml"] + +[[package]] +name = "tomli" +version = "2.0.1" +description = "A lil' TOML parser" +optional = false +python-versions = ">=3.7" +files = [ + {file = "tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"}, + {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"}, +] + +[[package]] +name = "typing-extensions" +version = "4.8.0" +description = "Backported and Experimental Type Hints for Python 3.8+" +optional = false +python-versions = ">=3.8" +files = [ + {file = "typing_extensions-4.8.0-py3-none-any.whl", hash = "sha256:8f92fc8806f9a6b641eaa5318da32b44d401efaac0f6678c9bc448ba3605faa0"}, + {file = "typing_extensions-4.8.0.tar.gz", hash = "sha256:df8e4339e9cb77357558cbdbceca33c303714cf861d1eef15e1070055ae8b7ef"}, +] + +[[package]] +name = "urllib3" +version = "2.2.1" +description = "HTTP library with thread-safe connection pooling, file post, and more." +optional = false +python-versions = ">=3.8" +files = [ + {file = "urllib3-2.2.1-py3-none-any.whl", hash = "sha256:450b20ec296a467077128bff42b73080516e71b56ff59a60a02bef2232c4fa9d"}, + {file = "urllib3-2.2.1.tar.gz", hash = "sha256:d0570876c61ab9e520d776c38acbbb5b05a776d3f9ff98a5c8fd5162a444cf19"}, +] + +[package.extras] +brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"] +h2 = ["h2 (>=4,<5)"] +socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"] +zstd = ["zstandard (>=0.18.0)"] + +[[package]] +name = "uvicorn" +version = "0.23.2" +description = "The lightning-fast ASGI server." +optional = false +python-versions = ">=3.8" +files = [ + {file = "uvicorn-0.23.2-py3-none-any.whl", hash = "sha256:1f9be6558f01239d4fdf22ef8126c39cb1ad0addf76c40e760549d2c2f43ab53"}, + {file = "uvicorn-0.23.2.tar.gz", hash = "sha256:4d3cc12d7727ba72b64d12d3cc7743124074c0a69f7b201512fc50c3e3f1569a"}, +] + +[package.dependencies] +click = ">=7.0" +h11 = ">=0.8" +typing-extensions = {version = ">=4.0", markers = "python_version < \"3.11\""} + +[package.extras] +standard = ["colorama (>=0.4)", "httptools (>=0.5.0)", "python-dotenv (>=0.13)", "pyyaml (>=5.1)", "uvloop (>=0.14.0,!=0.15.0,!=0.15.1)", "watchfiles (>=0.13)", "websockets (>=10.4)"] + +[[package]] +name = "uvloop" +version = "0.17.0" +description = "Fast implementation of asyncio event loop on top of libuv" +optional = false +python-versions = ">=3.7" +files = [ + {file = "uvloop-0.17.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:ce9f61938d7155f79d3cb2ffa663147d4a76d16e08f65e2c66b77bd41b356718"}, + {file = "uvloop-0.17.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:68532f4349fd3900b839f588972b3392ee56042e440dd5873dfbbcd2cc67617c"}, + {file = "uvloop-0.17.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0949caf774b9fcefc7c5756bacbbbd3fc4c05a6b7eebc7c7ad6f825b23998d6d"}, + {file = "uvloop-0.17.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ff3d00b70ce95adce264462c930fbaecb29718ba6563db354608f37e49e09024"}, + {file = "uvloop-0.17.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:a5abddb3558d3f0a78949c750644a67be31e47936042d4f6c888dd6f3c95f4aa"}, + {file = "uvloop-0.17.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:8efcadc5a0003d3a6e887ccc1fb44dec25594f117a94e3127954c05cf144d811"}, + {file = "uvloop-0.17.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:3378eb62c63bf336ae2070599e49089005771cc651c8769aaad72d1bd9385a7c"}, + {file = "uvloop-0.17.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6aafa5a78b9e62493539456f8b646f85abc7093dd997f4976bb105537cf2635e"}, + {file = "uvloop-0.17.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c686a47d57ca910a2572fddfe9912819880b8765e2f01dc0dd12a9bf8573e539"}, + {file = "uvloop-0.17.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:864e1197139d651a76c81757db5eb199db8866e13acb0dfe96e6fc5d1cf45fc4"}, + {file = "uvloop-0.17.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:2a6149e1defac0faf505406259561bc14b034cdf1d4711a3ddcdfbaa8d825a05"}, + {file = "uvloop-0.17.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:6708f30db9117f115eadc4f125c2a10c1a50d711461699a0cbfaa45b9a78e376"}, + {file = "uvloop-0.17.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:23609ca361a7fc587031429fa25ad2ed7242941adec948f9d10c045bfecab06b"}, + {file = "uvloop-0.17.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2deae0b0fb00a6af41fe60a675cec079615b01d68beb4cc7b722424406b126a8"}, + {file = "uvloop-0.17.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:45cea33b208971e87a31c17622e4b440cac231766ec11e5d22c76fab3bf9df62"}, + {file = "uvloop-0.17.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:9b09e0f0ac29eee0451d71798878eae5a4e6a91aa275e114037b27f7db72702d"}, + {file = "uvloop-0.17.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:dbbaf9da2ee98ee2531e0c780455f2841e4675ff580ecf93fe5c48fe733b5667"}, + {file = "uvloop-0.17.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:a4aee22ece20958888eedbad20e4dbb03c37533e010fb824161b4f05e641f738"}, + {file = "uvloop-0.17.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:307958f9fc5c8bb01fad752d1345168c0abc5d62c1b72a4a8c6c06f042b45b20"}, + {file = "uvloop-0.17.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3ebeeec6a6641d0adb2ea71dcfb76017602ee2bfd8213e3fcc18d8f699c5104f"}, + {file = "uvloop-0.17.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1436c8673c1563422213ac6907789ecb2b070f5939b9cbff9ef7113f2b531595"}, + {file = "uvloop-0.17.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:8887d675a64cfc59f4ecd34382e5b4f0ef4ae1da37ed665adba0c2badf0d6578"}, + {file = "uvloop-0.17.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:3db8de10ed684995a7f34a001f15b374c230f7655ae840964d51496e2f8a8474"}, + {file = "uvloop-0.17.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7d37dccc7ae63e61f7b96ee2e19c40f153ba6ce730d8ba4d3b4e9738c1dccc1b"}, + {file = "uvloop-0.17.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:cbbe908fda687e39afd6ea2a2f14c2c3e43f2ca88e3a11964b297822358d0e6c"}, + {file = "uvloop-0.17.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3d97672dc709fa4447ab83276f344a165075fd9f366a97b712bdd3fee05efae8"}, + {file = "uvloop-0.17.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f1e507c9ee39c61bfddd79714e4f85900656db1aec4d40c6de55648e85c2799c"}, + {file = "uvloop-0.17.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:c092a2c1e736086d59ac8e41f9c98f26bbf9b9222a76f21af9dfe949b99b2eb9"}, + {file = "uvloop-0.17.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:30babd84706115626ea78ea5dbc7dd8d0d01a2e9f9b306d24ca4ed5796c66ded"}, + {file = "uvloop-0.17.0.tar.gz", hash = "sha256:0ddf6baf9cf11a1a22c71487f39f15b2cf78eb5bde7e5b45fbb99e8a9d91b9e1"}, +] + +[package.extras] +dev = ["Cython (>=0.29.32,<0.30.0)", "Sphinx (>=4.1.2,<4.2.0)", "aiohttp", "flake8 (>=3.9.2,<3.10.0)", "mypy (>=0.800)", "psutil", "pyOpenSSL (>=22.0.0,<22.1.0)", "pycodestyle (>=2.7.0,<2.8.0)", "pytest (>=3.6.0)", "sphinx-rtd-theme (>=0.5.2,<0.6.0)", "sphinxcontrib-asyncio (>=0.3.0,<0.4.0)"] +docs = ["Sphinx (>=4.1.2,<4.2.0)", "sphinx-rtd-theme (>=0.5.2,<0.6.0)", "sphinxcontrib-asyncio (>=0.3.0,<0.4.0)"] +test = ["Cython (>=0.29.32,<0.30.0)", "aiohttp", "flake8 (>=3.9.2,<3.10.0)", "mypy (>=0.800)", "psutil", "pyOpenSSL (>=22.0.0,<22.1.0)", "pycodestyle (>=2.7.0,<2.8.0)"] + +[[package]] +name = "virtualenv" +version = "20.25.1" +description = "Virtual Python Environment builder" +optional = false +python-versions = ">=3.7" +files = [ + {file = "virtualenv-20.25.1-py3-none-any.whl", hash = "sha256:961c026ac520bac5f69acb8ea063e8a4f071bcc9457b9c1f28f6b085c511583a"}, + {file = "virtualenv-20.25.1.tar.gz", hash = "sha256:e08e13ecdca7a0bd53798f356d5831434afa5b07b93f0abdf0797b7a06ffe197"}, +] + +[package.dependencies] +distlib = ">=0.3.7,<1" +filelock = ">=3.12.2,<4" +platformdirs = ">=3.9.1,<5" + +[package.extras] +docs = ["furo (>=2023.7.26)", "proselint (>=0.13)", "sphinx (>=7.1.2)", "sphinx-argparse (>=0.4)", "sphinxcontrib-towncrier (>=0.2.1a0)", "towncrier (>=23.6)"] +test = ["covdefaults (>=2.3)", "coverage (>=7.2.7)", "coverage-enable-subprocess (>=1)", "flaky (>=3.7)", "packaging (>=23.1)", "pytest (>=7.4)", "pytest-env (>=0.8.2)", "pytest-freezer (>=0.4.8)", "pytest-mock (>=3.11.1)", "pytest-randomly (>=3.12)", "pytest-timeout (>=2.1)", "setuptools (>=68)", "time-machine (>=2.10)"] + +[[package]] +name = "websocket-client" +version = "1.6.3" +description = "WebSocket client for Python with low level API options" +optional = false +python-versions = ">=3.8" +files = [ + {file = "websocket-client-1.6.3.tar.gz", hash = "sha256:3aad25d31284266bcfcfd1fd8a743f63282305a364b8d0948a43bd606acc652f"}, + {file = "websocket_client-1.6.3-py3-none-any.whl", hash = "sha256:6cfc30d051ebabb73a5fa246efdcc14c8fbebbd0330f8984ac3bb6d9edd2ad03"}, +] + +[package.extras] +docs = ["Sphinx (>=6.0)", "sphinx-rtd-theme (>=1.1.0)"] +optional = ["python-socks", "wsaccel"] +test = ["websockets"] + +[[package]] +name = "websockets" +version = "11.0.3" +description = "An implementation of the WebSocket Protocol (RFC 6455 & 7692)" +optional = false +python-versions = ">=3.7" +files = [ + {file = "websockets-11.0.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:3ccc8a0c387629aec40f2fc9fdcb4b9d5431954f934da3eaf16cdc94f67dbfac"}, + {file = "websockets-11.0.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d67ac60a307f760c6e65dad586f556dde58e683fab03323221a4e530ead6f74d"}, + {file = "websockets-11.0.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:84d27a4832cc1a0ee07cdcf2b0629a8a72db73f4cf6de6f0904f6661227f256f"}, + {file = "websockets-11.0.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ffd7dcaf744f25f82190856bc26ed81721508fc5cbf2a330751e135ff1283564"}, + {file = "websockets-11.0.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7622a89d696fc87af8e8d280d9b421db5133ef5b29d3f7a1ce9f1a7bf7fcfa11"}, + {file = "websockets-11.0.3-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bceab846bac555aff6427d060f2fcfff71042dba6f5fca7dc4f75cac815e57ca"}, + {file = "websockets-11.0.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:54c6e5b3d3a8936a4ab6870d46bdd6ec500ad62bde9e44462c32d18f1e9a8e54"}, + {file = "websockets-11.0.3-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:41f696ba95cd92dc047e46b41b26dd24518384749ed0d99bea0a941ca87404c4"}, + {file = "websockets-11.0.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:86d2a77fd490ae3ff6fae1c6ceaecad063d3cc2320b44377efdde79880e11526"}, + {file = "websockets-11.0.3-cp310-cp310-win32.whl", hash = "sha256:2d903ad4419f5b472de90cd2d40384573b25da71e33519a67797de17ef849b69"}, + {file = "websockets-11.0.3-cp310-cp310-win_amd64.whl", hash = "sha256:1d2256283fa4b7f4c7d7d3e84dc2ece74d341bce57d5b9bf385df109c2a1a82f"}, + {file = "websockets-11.0.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:e848f46a58b9fcf3d06061d17be388caf70ea5b8cc3466251963c8345e13f7eb"}, + {file = "websockets-11.0.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:aa5003845cdd21ac0dc6c9bf661c5beddd01116f6eb9eb3c8e272353d45b3288"}, + {file = "websockets-11.0.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:b58cbf0697721120866820b89f93659abc31c1e876bf20d0b3d03cef14faf84d"}, + {file = "websockets-11.0.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:660e2d9068d2bedc0912af508f30bbeb505bbbf9774d98def45f68278cea20d3"}, + {file = "websockets-11.0.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c1f0524f203e3bd35149f12157438f406eff2e4fb30f71221c8a5eceb3617b6b"}, + {file = "websockets-11.0.3-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:def07915168ac8f7853812cc593c71185a16216e9e4fa886358a17ed0fd9fcf6"}, + {file = "websockets-11.0.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:b30c6590146e53149f04e85a6e4fcae068df4289e31e4aee1fdf56a0dead8f97"}, + {file = "websockets-11.0.3-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:619d9f06372b3a42bc29d0cd0354c9bb9fb39c2cbc1a9c5025b4538738dbffaf"}, + {file = "websockets-11.0.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:01f5567d9cf6f502d655151645d4e8b72b453413d3819d2b6f1185abc23e82dd"}, + {file = "websockets-11.0.3-cp311-cp311-win32.whl", hash = "sha256:e1459677e5d12be8bbc7584c35b992eea142911a6236a3278b9b5ce3326f282c"}, + {file = "websockets-11.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:e7837cb169eca3b3ae94cc5787c4fed99eef74c0ab9506756eea335e0d6f3ed8"}, + {file = "websockets-11.0.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:9f59a3c656fef341a99e3d63189852be7084c0e54b75734cde571182c087b152"}, + {file = "websockets-11.0.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2529338a6ff0eb0b50c7be33dc3d0e456381157a31eefc561771ee431134a97f"}, + {file = "websockets-11.0.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:34fd59a4ac42dff6d4681d8843217137f6bc85ed29722f2f7222bd619d15e95b"}, + {file = "websockets-11.0.3-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:332d126167ddddec94597c2365537baf9ff62dfcc9db4266f263d455f2f031cb"}, + {file = "websockets-11.0.3-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:6505c1b31274723ccaf5f515c1824a4ad2f0d191cec942666b3d0f3aa4cb4007"}, + {file = "websockets-11.0.3-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:f467ba0050b7de85016b43f5a22b46383ef004c4f672148a8abf32bc999a87f0"}, + {file = "websockets-11.0.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:9d9acd80072abcc98bd2c86c3c9cd4ac2347b5a5a0cae7ed5c0ee5675f86d9af"}, + {file = "websockets-11.0.3-cp37-cp37m-win32.whl", hash = "sha256:e590228200fcfc7e9109509e4d9125eace2042fd52b595dd22bbc34bb282307f"}, + {file = "websockets-11.0.3-cp37-cp37m-win_amd64.whl", hash = "sha256:b16fff62b45eccb9c7abb18e60e7e446998093cdcb50fed33134b9b6878836de"}, + {file = "websockets-11.0.3-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:fb06eea71a00a7af0ae6aefbb932fb8a7df3cb390cc217d51a9ad7343de1b8d0"}, + {file = "websockets-11.0.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:8a34e13a62a59c871064dfd8ffb150867e54291e46d4a7cf11d02c94a5275bae"}, + {file = "websockets-11.0.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4841ed00f1026dfbced6fca7d963c4e7043aa832648671b5138008dc5a8f6d99"}, + {file = "websockets-11.0.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a073fc9ab1c8aff37c99f11f1641e16da517770e31a37265d2755282a5d28aa"}, + {file = "websockets-11.0.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:68b977f21ce443d6d378dbd5ca38621755f2063d6fdb3335bda981d552cfff86"}, + {file = "websockets-11.0.3-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e1a99a7a71631f0efe727c10edfba09ea6bee4166a6f9c19aafb6c0b5917d09c"}, + {file = "websockets-11.0.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:bee9fcb41db2a23bed96c6b6ead6489702c12334ea20a297aa095ce6d31370d0"}, + {file = "websockets-11.0.3-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:4b253869ea05a5a073ebfdcb5cb3b0266a57c3764cf6fe114e4cd90f4bfa5f5e"}, + {file = "websockets-11.0.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:1553cb82942b2a74dd9b15a018dce645d4e68674de2ca31ff13ebc2d9f283788"}, + {file = "websockets-11.0.3-cp38-cp38-win32.whl", hash = "sha256:f61bdb1df43dc9c131791fbc2355535f9024b9a04398d3bd0684fc16ab07df74"}, + {file = "websockets-11.0.3-cp38-cp38-win_amd64.whl", hash = "sha256:03aae4edc0b1c68498f41a6772d80ac7c1e33c06c6ffa2ac1c27a07653e79d6f"}, + {file = "websockets-11.0.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:777354ee16f02f643a4c7f2b3eff8027a33c9861edc691a2003531f5da4f6bc8"}, + {file = "websockets-11.0.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:8c82f11964f010053e13daafdc7154ce7385ecc538989a354ccc7067fd7028fd"}, + {file = "websockets-11.0.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:3580dd9c1ad0701169e4d6fc41e878ffe05e6bdcaf3c412f9d559389d0c9e016"}, + {file = "websockets-11.0.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6f1a3f10f836fab6ca6efa97bb952300b20ae56b409414ca85bff2ad241d2a61"}, + {file = "websockets-11.0.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:df41b9bc27c2c25b486bae7cf42fccdc52ff181c8c387bfd026624a491c2671b"}, + {file = "websockets-11.0.3-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:279e5de4671e79a9ac877427f4ac4ce93751b8823f276b681d04b2156713b9dd"}, + {file = "websockets-11.0.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:1fdf26fa8a6a592f8f9235285b8affa72748dc12e964a5518c6c5e8f916716f7"}, + {file = "websockets-11.0.3-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:69269f3a0b472e91125b503d3c0b3566bda26da0a3261c49f0027eb6075086d1"}, + {file = "websockets-11.0.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:97b52894d948d2f6ea480171a27122d77af14ced35f62e5c892ca2fae9344311"}, + {file = "websockets-11.0.3-cp39-cp39-win32.whl", hash = "sha256:c7f3cb904cce8e1be667c7e6fef4516b98d1a6a0635a58a57528d577ac18a128"}, + {file = "websockets-11.0.3-cp39-cp39-win_amd64.whl", hash = "sha256:c792ea4eabc0159535608fc5658a74d1a81020eb35195dd63214dcf07556f67e"}, + {file = "websockets-11.0.3-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:f2e58f2c36cc52d41f2659e4c0cbf7353e28c8c9e63e30d8c6d3494dc9fdedcf"}, + {file = "websockets-11.0.3-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:de36fe9c02995c7e6ae6efe2e205816f5f00c22fd1fbf343d4d18c3d5ceac2f5"}, + {file = "websockets-11.0.3-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0ac56b661e60edd453585f4bd68eb6a29ae25b5184fd5ba51e97652580458998"}, + {file = "websockets-11.0.3-pp37-pypy37_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e052b8467dd07d4943936009f46ae5ce7b908ddcac3fda581656b1b19c083d9b"}, + {file = "websockets-11.0.3-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:42cc5452a54a8e46a032521d7365da775823e21bfba2895fb7b77633cce031bb"}, + {file = "websockets-11.0.3-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:e6316827e3e79b7b8e7d8e3b08f4e331af91a48e794d5d8b099928b6f0b85f20"}, + {file = "websockets-11.0.3-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8531fdcad636d82c517b26a448dcfe62f720e1922b33c81ce695d0edb91eb931"}, + {file = "websockets-11.0.3-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c114e8da9b475739dde229fd3bc6b05a6537a88a578358bc8eb29b4030fac9c9"}, + {file = "websockets-11.0.3-pp38-pypy38_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e063b1865974611313a3849d43f2c3f5368093691349cf3c7c8f8f75ad7cb280"}, + {file = "websockets-11.0.3-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:92b2065d642bf8c0a82d59e59053dd2fdde64d4ed44efe4870fa816c1232647b"}, + {file = "websockets-11.0.3-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:0ee68fe502f9031f19d495dae2c268830df2760c0524cbac5d759921ba8c8e82"}, + {file = "websockets-11.0.3-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dcacf2c7a6c3a84e720d1bb2b543c675bf6c40e460300b628bab1b1efc7c034c"}, + {file = "websockets-11.0.3-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b67c6f5e5a401fc56394f191f00f9b3811fe843ee93f4a70df3c389d1adf857d"}, + {file = "websockets-11.0.3-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1d5023a4b6a5b183dc838808087033ec5df77580485fc533e7dab2567851b0a4"}, + {file = "websockets-11.0.3-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:ed058398f55163a79bb9f06a90ef9ccc063b204bb346c4de78efc5d15abfe602"}, + {file = "websockets-11.0.3-py3-none-any.whl", hash = "sha256:6681ba9e7f8f3b19440921e99efbb40fc89f26cd71bf539e45d8c8a25c976dc6"}, + {file = "websockets-11.0.3.tar.gz", hash = "sha256:88fc51d9a26b10fc331be344f1781224a375b78488fc343620184e95a4b27016"}, +] + +[[package]] +name = "win32-setctime" +version = "1.1.0" +description = "A small Python utility to set file creation time on Windows" +optional = false +python-versions = ">=3.5" +files = [ + {file = "win32_setctime-1.1.0-py3-none-any.whl", hash = "sha256:231db239e959c2fe7eb1d7dc129f11172354f98361c4fa2d6d2d7e278baa8aad"}, + {file = "win32_setctime-1.1.0.tar.gz", hash = "sha256:15cf5750465118d6929ae4de4eb46e8edae9a5634350c01ba582df868e932cb2"}, +] + +[package.extras] +dev = ["black (>=19.3b0)", "pytest (>=4.6.2)"] + +[[package]] +name = "wrapt" +version = "1.16.0" +description = "Module for decorators, wrappers and monkey patching." +optional = false +python-versions = ">=3.6" +files = [ + {file = "wrapt-1.16.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ffa565331890b90056c01db69c0fe634a776f8019c143a5ae265f9c6bc4bd6d4"}, + {file = "wrapt-1.16.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e4fdb9275308292e880dcbeb12546df7f3e0f96c6b41197e0cf37d2826359020"}, + {file = "wrapt-1.16.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bb2dee3874a500de01c93d5c71415fcaef1d858370d405824783e7a8ef5db440"}, + {file = "wrapt-1.16.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2a88e6010048489cda82b1326889ec075a8c856c2e6a256072b28eaee3ccf487"}, + {file = "wrapt-1.16.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ac83a914ebaf589b69f7d0a1277602ff494e21f4c2f743313414378f8f50a4cf"}, + {file = "wrapt-1.16.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:73aa7d98215d39b8455f103de64391cb79dfcad601701a3aa0dddacf74911d72"}, + {file = "wrapt-1.16.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:807cc8543a477ab7422f1120a217054f958a66ef7314f76dd9e77d3f02cdccd0"}, + {file = "wrapt-1.16.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:bf5703fdeb350e36885f2875d853ce13172ae281c56e509f4e6eca049bdfb136"}, + {file = "wrapt-1.16.0-cp310-cp310-win32.whl", hash = "sha256:f6b2d0c6703c988d334f297aa5df18c45e97b0af3679bb75059e0e0bd8b1069d"}, + {file = "wrapt-1.16.0-cp310-cp310-win_amd64.whl", hash = "sha256:decbfa2f618fa8ed81c95ee18a387ff973143c656ef800c9f24fb7e9c16054e2"}, + {file = "wrapt-1.16.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1a5db485fe2de4403f13fafdc231b0dbae5eca4359232d2efc79025527375b09"}, + {file = "wrapt-1.16.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:75ea7d0ee2a15733684badb16de6794894ed9c55aa5e9903260922f0482e687d"}, + {file = "wrapt-1.16.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a452f9ca3e3267cd4d0fcf2edd0d035b1934ac2bd7e0e57ac91ad6b95c0c6389"}, + {file = "wrapt-1.16.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:43aa59eadec7890d9958748db829df269f0368521ba6dc68cc172d5d03ed8060"}, + {file = "wrapt-1.16.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:72554a23c78a8e7aa02abbd699d129eead8b147a23c56e08d08dfc29cfdddca1"}, + {file = "wrapt-1.16.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:d2efee35b4b0a347e0d99d28e884dfd82797852d62fcd7ebdeee26f3ceb72cf3"}, + {file = "wrapt-1.16.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:6dcfcffe73710be01d90cae08c3e548d90932d37b39ef83969ae135d36ef3956"}, + {file = "wrapt-1.16.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:eb6e651000a19c96f452c85132811d25e9264d836951022d6e81df2fff38337d"}, + {file = "wrapt-1.16.0-cp311-cp311-win32.whl", hash = "sha256:66027d667efe95cc4fa945af59f92c5a02c6f5bb6012bff9e60542c74c75c362"}, + {file = "wrapt-1.16.0-cp311-cp311-win_amd64.whl", hash = "sha256:aefbc4cb0a54f91af643660a0a150ce2c090d3652cf4052a5397fb2de549cd89"}, + {file = "wrapt-1.16.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:5eb404d89131ec9b4f748fa5cfb5346802e5ee8836f57d516576e61f304f3b7b"}, + {file = "wrapt-1.16.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:9090c9e676d5236a6948330e83cb89969f433b1943a558968f659ead07cb3b36"}, + {file = "wrapt-1.16.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:94265b00870aa407bd0cbcfd536f17ecde43b94fb8d228560a1e9d3041462d73"}, + {file = "wrapt-1.16.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f2058f813d4f2b5e3a9eb2eb3faf8f1d99b81c3e51aeda4b168406443e8ba809"}, + {file = "wrapt-1.16.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:98b5e1f498a8ca1858a1cdbffb023bfd954da4e3fa2c0cb5853d40014557248b"}, + {file = "wrapt-1.16.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:14d7dc606219cdd7405133c713f2c218d4252f2a469003f8c46bb92d5d095d81"}, + {file = "wrapt-1.16.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:49aac49dc4782cb04f58986e81ea0b4768e4ff197b57324dcbd7699c5dfb40b9"}, + {file = "wrapt-1.16.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:418abb18146475c310d7a6dc71143d6f7adec5b004ac9ce08dc7a34e2babdc5c"}, + {file = "wrapt-1.16.0-cp312-cp312-win32.whl", hash = "sha256:685f568fa5e627e93f3b52fda002c7ed2fa1800b50ce51f6ed1d572d8ab3e7fc"}, + {file = "wrapt-1.16.0-cp312-cp312-win_amd64.whl", hash = "sha256:dcdba5c86e368442528f7060039eda390cc4091bfd1dca41e8046af7c910dda8"}, + {file = "wrapt-1.16.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:d462f28826f4657968ae51d2181a074dfe03c200d6131690b7d65d55b0f360f8"}, + {file = "wrapt-1.16.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a33a747400b94b6d6b8a165e4480264a64a78c8a4c734b62136062e9a248dd39"}, + {file = "wrapt-1.16.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b3646eefa23daeba62643a58aac816945cadc0afaf21800a1421eeba5f6cfb9c"}, + {file = "wrapt-1.16.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ebf019be5c09d400cf7b024aa52b1f3aeebeff51550d007e92c3c1c4afc2a40"}, + {file = "wrapt-1.16.0-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:0d2691979e93d06a95a26257adb7bfd0c93818e89b1406f5a28f36e0d8c1e1fc"}, + {file = "wrapt-1.16.0-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:1acd723ee2a8826f3d53910255643e33673e1d11db84ce5880675954183ec47e"}, + {file = "wrapt-1.16.0-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:bc57efac2da352a51cc4658878a68d2b1b67dbe9d33c36cb826ca449d80a8465"}, + {file = "wrapt-1.16.0-cp36-cp36m-win32.whl", hash = "sha256:da4813f751142436b075ed7aa012a8778aa43a99f7b36afe9b742d3ed8bdc95e"}, + {file = "wrapt-1.16.0-cp36-cp36m-win_amd64.whl", hash = "sha256:6f6eac2360f2d543cc875a0e5efd413b6cbd483cb3ad7ebf888884a6e0d2e966"}, + {file = "wrapt-1.16.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:a0ea261ce52b5952bf669684a251a66df239ec6d441ccb59ec7afa882265d593"}, + {file = "wrapt-1.16.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7bd2d7ff69a2cac767fbf7a2b206add2e9a210e57947dd7ce03e25d03d2de292"}, + {file = "wrapt-1.16.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9159485323798c8dc530a224bd3ffcf76659319ccc7bbd52e01e73bd0241a0c5"}, + {file = "wrapt-1.16.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a86373cf37cd7764f2201b76496aba58a52e76dedfaa698ef9e9688bfd9e41cf"}, + {file = "wrapt-1.16.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:73870c364c11f03ed072dda68ff7aea6d2a3a5c3fe250d917a429c7432e15228"}, + {file = "wrapt-1.16.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:b935ae30c6e7400022b50f8d359c03ed233d45b725cfdd299462f41ee5ffba6f"}, + {file = "wrapt-1.16.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:db98ad84a55eb09b3c32a96c576476777e87c520a34e2519d3e59c44710c002c"}, + {file = "wrapt-1.16.0-cp37-cp37m-win32.whl", hash = "sha256:9153ed35fc5e4fa3b2fe97bddaa7cbec0ed22412b85bcdaf54aeba92ea37428c"}, + {file = "wrapt-1.16.0-cp37-cp37m-win_amd64.whl", hash = "sha256:66dfbaa7cfa3eb707bbfcd46dab2bc6207b005cbc9caa2199bcbc81d95071a00"}, + {file = "wrapt-1.16.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1dd50a2696ff89f57bd8847647a1c363b687d3d796dc30d4dd4a9d1689a706f0"}, + {file = "wrapt-1.16.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:44a2754372e32ab315734c6c73b24351d06e77ffff6ae27d2ecf14cf3d229202"}, + {file = "wrapt-1.16.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8e9723528b9f787dc59168369e42ae1c3b0d3fadb2f1a71de14531d321ee05b0"}, + {file = "wrapt-1.16.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dbed418ba5c3dce92619656802cc5355cb679e58d0d89b50f116e4a9d5a9603e"}, + {file = "wrapt-1.16.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:941988b89b4fd6b41c3f0bfb20e92bd23746579736b7343283297c4c8cbae68f"}, + {file = "wrapt-1.16.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:6a42cd0cfa8ffc1915aef79cb4284f6383d8a3e9dcca70c445dcfdd639d51267"}, + {file = "wrapt-1.16.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:1ca9b6085e4f866bd584fb135a041bfc32cab916e69f714a7d1d397f8c4891ca"}, + {file = "wrapt-1.16.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:d5e49454f19ef621089e204f862388d29e6e8d8b162efce05208913dde5b9ad6"}, + {file = "wrapt-1.16.0-cp38-cp38-win32.whl", hash = "sha256:c31f72b1b6624c9d863fc095da460802f43a7c6868c5dda140f51da24fd47d7b"}, + {file = "wrapt-1.16.0-cp38-cp38-win_amd64.whl", hash = "sha256:490b0ee15c1a55be9c1bd8609b8cecd60e325f0575fc98f50058eae366e01f41"}, + {file = "wrapt-1.16.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9b201ae332c3637a42f02d1045e1d0cccfdc41f1f2f801dafbaa7e9b4797bfc2"}, + {file = "wrapt-1.16.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:2076fad65c6736184e77d7d4729b63a6d1ae0b70da4868adeec40989858eb3fb"}, + {file = "wrapt-1.16.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c5cd603b575ebceca7da5a3a251e69561bec509e0b46e4993e1cac402b7247b8"}, + {file = "wrapt-1.16.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b47cfad9e9bbbed2339081f4e346c93ecd7ab504299403320bf85f7f85c7d46c"}, + {file = "wrapt-1.16.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f8212564d49c50eb4565e502814f694e240c55551a5f1bc841d4fcaabb0a9b8a"}, + {file = "wrapt-1.16.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:5f15814a33e42b04e3de432e573aa557f9f0f56458745c2074952f564c50e664"}, + {file = "wrapt-1.16.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:db2e408d983b0e61e238cf579c09ef7020560441906ca990fe8412153e3b291f"}, + {file = "wrapt-1.16.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:edfad1d29c73f9b863ebe7082ae9321374ccb10879eeabc84ba3b69f2579d537"}, + {file = "wrapt-1.16.0-cp39-cp39-win32.whl", hash = "sha256:ed867c42c268f876097248e05b6117a65bcd1e63b779e916fe2e33cd6fd0d3c3"}, + {file = "wrapt-1.16.0-cp39-cp39-win_amd64.whl", hash = "sha256:eb1b046be06b0fce7249f1d025cd359b4b80fc1c3e24ad9eca33e0dcdb2e4a35"}, + {file = "wrapt-1.16.0-py3-none-any.whl", hash = "sha256:6906c4100a8fcbf2fa735f6059214bb13b97f75b1a61777fcf6432121ef12ef1"}, + {file = "wrapt-1.16.0.tar.gz", hash = "sha256:5f370f952971e7d17c7d1ead40e49f32345a7f7a5373571ef44d800d06b1899d"}, +] + +[[package]] +name = "zipp" +version = "3.18.1" +description = "Backport of pathlib-compatible object wrapper for zip files" +optional = false +python-versions = ">=3.8" +files = [ + {file = "zipp-3.18.1-py3-none-any.whl", hash = "sha256:206f5a15f2af3dbaee80769fb7dc6f249695e940acca08dfb2a4769fe61e538b"}, + {file = "zipp-3.18.1.tar.gz", hash = "sha256:2884ed22e7d8961de1c9a05142eb69a247f120291bc0206a00a7642f09b5b715"}, +] + +[package.extras] +docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] +testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-ignore-flaky", "pytest-mypy", "pytest-ruff (>=0.2.1)"] + +[metadata] +lock-version = "2.0" +python-versions = "^3.10 | ^3.9" +content-hash = "3094709ec77c4cbb4260ff3787ec4b71229d028f97492ec918b59ac78e5e2a4d" diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..2d002ea --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,86 @@ +[tool.poetry] +name = "lnbits-example" +version = "0.0.0" +description = "LNbits, free and open-source Lightning wallet and accounts system." +authors = ["Alan Bits "] + +[tool.poetry.dependencies] +python = "^3.10 | ^3.9" +lnbits = "*" + +[tool.poetry.group.dev.dependencies] +black = "^24.3.0" +pytest-asyncio = "^0.21.0" +pytest = "^7.3.2" +mypy = "^1.5.1" +pre-commit = "^3.2.2" +ruff = "^0.3.2" + +[build-system] +requires = ["poetry-core>=1.0.0"] +build-backend = "poetry.core.masonry.api" + +[[tool.mypy.overrides]] +module = [ + "lnbits.*", + "loguru.*", + "fastapi.*", + "pydantic.*", +] +ignore_missing_imports = "True" + +[tool.pytest.ini_options] +log_cli = false +testpaths = [ + "tests" +] + +[tool.black] +line-length = 88 + +[tool.ruff] +# Same as Black. + 10% rule of black +line-length = 88 + +[tool.ruff.lint] +# Enable: +# F - pyflakes +# E - pycodestyle errors +# W - pycodestyle warnings +# I - isort +# A - flake8-builtins +# C - mccabe +# N - naming +# UP - pyupgrade +# RUF - ruff +# B - bugbear +select = ["F", "E", "W", "I", "A", "C", "N", "UP", "RUF", "B"] +# UP007: pyupgrade: use X | Y instead of Optional. (python3.10) +ignore = ["UP007"] + +# Allow autofix for all enabled rules (when `--fix`) is provided. +fixable = ["ALL"] +unfixable = [] + +# Allow unused variables when underscore-prefixed. +dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$" + +# needed for pydantic +[tool.ruff.lint.pep8-naming] +classmethod-decorators = [ + "root_validator", +] + +# Ignore unused imports in __init__.py files. +# [tool.ruff.lint.extend-per-file-ignores] +# "__init__.py" = ["F401", "F403"] + +# [tool.ruff.lint.mccabe] +# max-complexity = 10 + +[tool.ruff.lint.flake8-bugbear] +# Allow default arguments like, e.g., `data: List[str] = fastapi.Query(None)`. +extend-immutable-calls = [ + "fastapi.Depends", + "fastapi.Query", +] diff --git a/tasks.py b/tasks.py index 9231942..8d92ab3 100644 --- a/tasks.py +++ b/tasks.py @@ -4,16 +4,14 @@ import asyncio -from loguru import logger - from lnbits.core.models import Payment -from lnbits.helpers import get_current_extension_name from lnbits.tasks import register_invoice_listener +from loguru import logger async def wait_for_paid_invoices(): invoice_queue = asyncio.Queue() - register_invoice_listener(invoice_queue, get_current_extension_name()) + register_invoice_listener(invoice_queue, "example") while True: payment = await invoice_queue.get() @@ -22,8 +20,6 @@ async def wait_for_paid_invoices(): async def on_invoice_paid(payment: Payment) -> None: if ( - payment.extra.get("tag") != "example" + payment.extra.get("tag") == "example" ): # Will grab any payment with the tag "example" logger.debug(payment) - # Do something - return diff --git a/test b/test deleted file mode 100644 index e69de29..0000000 diff --git a/views.py b/views.py index b69b519..bd9298c 100644 --- a/views.py +++ b/views.py @@ -1,20 +1,19 @@ -from fastapi import Depends, Request -from fastapi.templating import Jinja2Templates -from starlette.responses import HTMLResponse - +from fastapi import APIRouter, Depends, Request +from fastapi.responses import HTMLResponse from lnbits.core.models import User from lnbits.decorators import check_user_exists +from lnbits.helpers import template_renderer -from . import example_ext, example_renderer - -templates = Jinja2Templates(directory="templates") +example_ext_generic = APIRouter(tags=["example"]) -@example_ext.get("/", response_class=HTMLResponse) +@example_ext_generic.get( + "/", description="Example generic endpoint", response_class=HTMLResponse +) async def index( request: Request, user: User = Depends(check_user_exists), ): - return example_renderer().TemplateResponse( - "example/index.html", {"request": request, "user": user.dict()} + return template_renderer(["example/templates"]).TemplateResponse( + request, "example/index.html", {"user": user.dict()} ) diff --git a/views_api.py b/views_api.py index 556096c..02906ac 100644 --- a/views_api.py +++ b/views_api.py @@ -1,13 +1,16 @@ -# views_api.py is for you API endpoints that could be hit by another service +from fastapi import APIRouter -# add your dependencies here +from .models import Example -from . import example_ext +# views_api.py is for you API endpoints that could be hit by another service -# add your endpoints here +example_ext_api = APIRouter( + prefix="/api/v1", + tags=["example"], +) -@example_ext.get("/api/v1/test/{test_data}") -async def api_example(test_data): +@example_ext_api.get("/{example_data}", description="Example API endpoint") +async def api_example(example_data: str) -> Example: # Do some python things and return the data - return test_data + return Example(id="1", wallet=example_data) From 6bbc4927793bca44c510f1cbd3d15157a088e2d1 Mon Sep 17 00:00:00 2001 From: Arc <33088785+arcbtc@users.noreply.github.com> Date: Wed, 24 Apr 2024 10:36:03 +0100 Subject: [PATCH 07/18] Adds extended description and vetted readme (#11) * Adds extended description and vetted readme * make format --- config.json | 29 +++++++++++++++++++++++++++-- static/1.png | Bin 0 -> 198146 bytes static/2.png | Bin 0 -> 261128 bytes static/3.png | Bin 0 -> 182701 bytes templates/example/index.html | 29 ++++++++++++++++++++++++++--- toc.md | 29 +++++++++++++++++++++++++++++ views_api.py | 24 +++++++++++++++++++++--- 7 files changed, 103 insertions(+), 8 deletions(-) create mode 100644 static/1.png create mode 100644 static/2.png create mode 100644 static/3.png create mode 100644 toc.md diff --git a/config.json b/config.json index 268c1fb..78b2727 100644 --- a/config.json +++ b/config.json @@ -2,7 +2,32 @@ "name": "Build your own!", "short_description": "Extension building guide", "tile": "/example/static/bitcoin-extension.png", - "contributors": ["github_username"], "min_lnbits_version": "0.12.6", - "donate": "donate@legend.lnbits.com" + "donate": "donate@legend.lnbits.com", + "contributors": [ + { + "name": "Ben Arc", + "uri": "mailto:ben@lnbits.com", + "role": "Developer" + }, + { + "name": "DNI", + "uri": "https://github.com/dni", + "role": "Developer" + } + ], + "images": [ + { + "uri": "/example/static/1.png" + }, + { + "uri": "/example/static/2.png" + }, + { + "uri": "/example/static/3.png" + } + ], + "descrition_md": "https://raw.githubusercontent.com/lnbits/example/main/README.md", + "terms_and_conditions_md": "https://raw.githubusercontent.com/lnbits/example/main/toc.md", + "license": "MIT" } diff --git a/static/1.png b/static/1.png new file mode 100644 index 0000000000000000000000000000000000000000..10b367334be71a7b56ab62dace6fea8b952e9d97 GIT binary patch literal 198146 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�_eGgMwZ+EyT-_0ec*kGfq~Z6 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 z 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

*PM@tBcBE-hR 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

- Coming soon... + +
@@ -394,7 +400,8 @@ exampleData: [], tab: 'frameworks', framworktab: 'fastapi', - usefultab: 'magicalg' + usefultab: 'magicalg', + vettedData: '' } }, ///// Where functions live ///// @@ -414,6 +421,21 @@ LNbits.utils.notifyApiError(error) // Error will be passed to the frontend }) }, + getVettedReadme: function () { + // This is a function that gets the vetted readme from the LNbits repo and converts it from makrdown to html. + LNbits.api + .request( + 'GET', + '/example/api/v1/vetted', + this.g.user.wallets[0].inkey + ) + .then(response => { + this.vettedData = LNbits.utils.convertMarkdown(response.data) + }) + .catch(error => { + LNbits.utils.notifyApiError(error) + }) + }, initWs: async function () { if (location.protocol !== 'http:') { localUrl = @@ -445,6 +467,7 @@ self = this // Often used to run a real object, rather than the event (all a bit confusing really) self.exampleFunction('lorum') self.initWs() + self.getVettedReadme() } }) diff --git a/toc.md b/toc.md new file mode 100644 index 0000000..baa0342 --- /dev/null +++ b/toc.md @@ -0,0 +1,29 @@ +# Terms and Conditions for LNbits Extension + +## 1. Acceptance of Terms + +By installing and using the LNbits extension ("Extension"), you agree to be bound by these terms and conditions ("Terms"). If you do not agree to these Terms, do not use the Extension. + +## 2. License + +The Extension is free and open-source software, released under [specify the FOSS license here, e.g., GPL-3.0, MIT, etc.]. You are permitted to use, copy, modify, and distribute the Extension under the terms of that license. + +## 3. No Warranty + +The Extension is provided "as is" and with all faults, and the developer expressly disclaims all warranties of any kind, whether express, implied, statutory, or otherwise, including but not limited to warranties of merchantability, fitness for a particular purpose, non-infringement, and any warranties arising out of course of dealing or usage of trade. No advice or information, whether oral or written, obtained from the developer or elsewhere will create any warranty not expressly stated in this Terms. + +## 4. Limitation of Liability + +In no event will the developer be liable to you or any third party for any direct, indirect, incidental, special, consequential, or punitive damages, including lost profit, lost revenue, loss of data, or other damages arising out of or in connection with your use of the Extension, even if the developer has been advised of the possibility of such damages. The foregoing limitation of liability shall apply to the fullest extent permitted by law in the applicable jurisdiction. + +## 5. Modification of Terms + +The developer reserves the right to modify these Terms at any time. You are advised to review these Terms periodically for any changes. Changes to these Terms are effective when they are posted on the appropriate location within or associated with the Extension. + +## 6. General Provisions + +If any provision of these Terms is held to be invalid or unenforceable, that provision will be enforced to the maximum extent permissible, and the other provisions of these Terms will remain in full force and effect. These Terms constitute the entire agreement between you and the developer regarding the use of the Extension. + +## 7. Contact Information + +If you have any questions about these Terms, please contact the developer at [developer's contact information]. diff --git a/views_api.py b/views_api.py index 02906ac..e07ff05 100644 --- a/views_api.py +++ b/views_api.py @@ -1,6 +1,10 @@ -from fastapi import APIRouter - +from fastapi import APIRouter, Depends +from loguru import logger from .models import Example +from http import HTTPStatus +import httpx +from fastapi.exceptions import HTTPException +from lnbits.decorators import get_key_type, WalletTypeInfo # views_api.py is for you API endpoints that could be hit by another service @@ -10,7 +14,21 @@ ) -@example_ext_api.get("/{example_data}", description="Example API endpoint") +@example_ext_api.get("/test/{example_data}", description="Example API endpoint") async def api_example(example_data: str) -> Example: # Do some python things and return the data return Example(id="1", wallet=example_data) + + +@example_ext_api.get("/vetted", description="Get the vetted extension readme") +async def api_get_vetted(wallet: WalletTypeInfo = Depends(get_key_type)): + try: + async with httpx.AsyncClient() as client: + resp = await client.get( + "https://raw.githubusercontent.com/lnbits/lnbits-extensions/main/README.md" + ) + return resp.text + except Exception as e: + raise HTTPException( + status_code=HTTPStatus.INTERNAL_SERVER_ERROR, detail=str(e) + ) from e From 0b4703567549c8740620db994914084e5ab2f51f Mon Sep 17 00:00:00 2001 From: Arc <33088785+arcbtc@users.noreply.github.com> Date: Wed, 24 Apr 2024 22:00:23 +0100 Subject: [PATCH 08/18] Update to extended description (#13) * typo * updated images * Added description * make format * ruff ruff --- config.json | 10 +++++----- description.md | 9 +++++++++ views_api.py | 9 +++++---- 3 files changed, 19 insertions(+), 9 deletions(-) create mode 100644 description.md diff --git a/config.json b/config.json index 78b2727..79fcab2 100644 --- a/config.json +++ b/config.json @@ -1,7 +1,7 @@ { "name": "Build your own!", "short_description": "Extension building guide", - "tile": "/example/static/bitcoin-extension.png", + "tile": "https://raw.githubusercontent.com/lnbits/example/main/static/bitcoin-extension.png", "min_lnbits_version": "0.12.6", "donate": "donate@legend.lnbits.com", "contributors": [ @@ -18,16 +18,16 @@ ], "images": [ { - "uri": "/example/static/1.png" + "uri": "https://raw.githubusercontent.com/lnbits/example/main/static/1.png" }, { - "uri": "/example/static/2.png" + "uri": "https://raw.githubusercontent.com/lnbits/example/main/static/2.png" }, { - "uri": "/example/static/3.png" + "uri": "https://raw.githubusercontent.com/lnbits/example/main/static/3.png" } ], - "descrition_md": "https://raw.githubusercontent.com/lnbits/example/main/README.md", + "description_md": "https://raw.githubusercontent.com/lnbits/example/main/description.md", "terms_and_conditions_md": "https://raw.githubusercontent.com/lnbits/example/main/toc.md", "license": "MIT" } diff --git a/description.md b/description.md new file mode 100644 index 0000000..fec4196 --- /dev/null +++ b/description.md @@ -0,0 +1,9 @@ +An easily clonable extension that can be used a base for building a new extension. + +THe usual development enviroment is: + +- Clone the myextension repo to your own repo +- Edit the cloned repos manifest to your details +- Install into LNbits +- Delete the cloned extensions folder in your LNbits install +- Create a symbolic link to the extensions folder, from the where you have pulled your extension `ln -s /where/you/cloned/myextension /your/lnbits/installl/lnbits/lnbits/extensions/` diff --git a/views_api.py b/views_api.py index e07ff05..1cbf8d4 100644 --- a/views_api.py +++ b/views_api.py @@ -1,10 +1,11 @@ -from fastapi import APIRouter, Depends -from loguru import logger -from .models import Example from http import HTTPStatus + import httpx +from fastapi import APIRouter, Depends from fastapi.exceptions import HTTPException -from lnbits.decorators import get_key_type, WalletTypeInfo +from lnbits.decorators import WalletTypeInfo, get_key_type + +from .models import Example # views_api.py is for you API endpoints that could be hit by another service From 7eace0097fe3f07031e0bfe7b10f92315c77d826 Mon Sep 17 00:00:00 2001 From: Vlad Stan Date: Wed, 4 Sep 2024 19:03:32 +0300 Subject: [PATCH 09/18] test: add hidden data for extension install test --- templates/example/index.html | 1 + 1 file changed, 1 insertion(+) diff --git a/templates/example/index.html b/templates/example/index.html index 28b2d68..d0c2221 100644 --- a/templates/example/index.html +++ b/templates/example/index.html @@ -471,4 +471,5 @@ } }) + {% endblock %} From 5cfd10b3e9fd41e05cbefe59ccacb066f1f68cbd Mon Sep 17 00:00:00 2001 From: Vlad Stan Date: Wed, 4 Sep 2024 19:05:38 +0300 Subject: [PATCH 10/18] test: extension upgrade test data --- templates/example/index.html | 2 +- views_api.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/templates/example/index.html b/templates/example/index.html index d0c2221..7aa383b 100644 --- a/templates/example/index.html +++ b/templates/example/index.html @@ -471,5 +471,5 @@ } }) - + {% endblock %} diff --git a/views_api.py b/views_api.py index 1cbf8d4..27d0d03 100644 --- a/views_api.py +++ b/views_api.py @@ -18,7 +18,7 @@ @example_ext_api.get("/test/{example_data}", description="Example API endpoint") async def api_example(example_data: str) -> Example: # Do some python things and return the data - return Example(id="1", wallet=example_data) + return Example(id="2", wallet=example_data) @example_ext_api.get("/vetted", description="Get the vetted extension readme") From ff5103cce3df8f214627863543c7c7f9bd822325 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dni=20=E2=9A=A1?= Date: Wed, 23 Oct 2024 16:12:23 +0200 Subject: [PATCH 11/18] feat: update to v1.0.0 (#15) --- __init__.py | 7 +- config.json | 2 +- poetry.lock | 2421 ++++++++++++++++++---------------- pyproject.toml | 2 +- static/js/index.js | 85 ++ tasks.py | 8 +- templates/example/index.html | 107 +- views.py | 2 +- views_api.py | 41 +- 9 files changed, 1392 insertions(+), 1283 deletions(-) create mode 100644 static/js/index.js diff --git a/__init__.py b/__init__.py index 34ef08d..5aba793 100644 --- a/__init__.py +++ b/__init__.py @@ -2,7 +2,6 @@ from fastapi import APIRouter from lnbits.db import Database -from lnbits.tasks import create_permanent_unique_task from loguru import logger from .tasks import wait_for_paid_invoices @@ -34,7 +33,7 @@ def example_stop(): def example_start(): - # ignore will be removed in lnbits `0.12.6` - # https://github.com/lnbits/lnbits/pull/2417 - task = create_permanent_unique_task("ext_testing", wait_for_paid_invoices) # type: ignore + from lnbits.tasks import create_permanent_unique_task + + task = create_permanent_unique_task("ext_testing", wait_for_paid_invoices) scheduled_tasks.append(task) diff --git a/config.json b/config.json index 79fcab2..d88f035 100644 --- a/config.json +++ b/config.json @@ -2,7 +2,7 @@ "name": "Build your own!", "short_description": "Extension building guide", "tile": "https://raw.githubusercontent.com/lnbits/example/main/static/bitcoin-extension.png", - "min_lnbits_version": "0.12.6", + "min_lnbits_version": "1.0.0", "donate": "donate@legend.lnbits.com", "contributors": [ { diff --git a/poetry.lock b/poetry.lock index 9d742f6..847d128 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,14 +1,32 @@ -# This file is automatically @generated by Poetry 1.8.2 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.8.3 and should not be changed by hand. + +[[package]] +name = "aiosqlite" +version = "0.20.0" +description = "asyncio bridge to the standard sqlite3 module" +optional = false +python-versions = ">=3.8" +files = [ + {file = "aiosqlite-0.20.0-py3-none-any.whl", hash = "sha256:36a1deaca0cac40ebe32aac9977a6e2bbc7f5189f23f4a54d5908986729e5bd6"}, + {file = "aiosqlite-0.20.0.tar.gz", hash = "sha256:6d35c8c256637f4672f843c31021464090805bf925385ac39473fb16eaaca3d7"}, +] + +[package.dependencies] +typing_extensions = ">=4.0" + +[package.extras] +dev = ["attribution (==1.7.0)", "black (==24.2.0)", "coverage[toml] (==7.4.1)", "flake8 (==7.0.0)", "flake8-bugbear (==24.2.6)", "flit (==3.9.0)", "mypy (==1.8.0)", "ufmt (==2.3.0)", "usort (==1.0.8.post1)"] +docs = ["sphinx (==7.2.6)", "sphinx-mdinclude (==0.5.3)"] [[package]] name = "anyio" -version = "4.3.0" +version = "4.6.2.post1" description = "High level compatibility layer for multiple asynchronous event loop implementations" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" files = [ - {file = "anyio-4.3.0-py3-none-any.whl", hash = "sha256:048e05d0f6caeed70d731f3db756d35dcc1f35747c8c403364a8332c630441b8"}, - {file = "anyio-4.3.0.tar.gz", hash = "sha256:f75253795a87df48568485fd18cdd2a3fa5c4f7c5be8e5e36637733fce06fed6"}, + {file = "anyio-4.6.2.post1-py3-none-any.whl", hash = "sha256:6d170c36fba3bdd840c73d3868c1e777e33676a69c3a72cf0a0d5d6d8009b61d"}, + {file = "anyio-4.6.2.post1.tar.gz", hash = "sha256:4c8bc31ccdb51c7f7bd251f51c609e038d63e34219b44aa86e47576389880b4c"}, ] [package.dependencies] @@ -18,9 +36,9 @@ sniffio = ">=1.1" typing-extensions = {version = ">=4.1", markers = "python_version < \"3.11\""} [package.extras] -doc = ["Sphinx (>=7)", "packaging", "sphinx-autodoc-typehints (>=1.2.0)", "sphinx-rtd-theme"] -test = ["anyio[trio]", "coverage[toml] (>=7)", "exceptiongroup (>=1.2.0)", "hypothesis (>=4.0)", "psutil (>=5.9)", "pytest (>=7.0)", "pytest-mock (>=3.6.1)", "trustme", "uvloop (>=0.17)"] -trio = ["trio (>=0.23)"] +doc = ["Sphinx (>=7.4,<8.0)", "packaging", "sphinx-autodoc-typehints (>=1.2.0)", "sphinx-rtd-theme"] +test = ["anyio[trio]", "coverage[toml] (>=7)", "exceptiongroup (>=1.2.0)", "hypothesis (>=4.0)", "psutil (>=5.9)", "pytest (>=7.0)", "pytest-mock (>=3.6.1)", "trustme", "truststore (>=0.9.1)", "uvloop (>=0.21.0b1)"] +trio = ["trio (>=0.26.1)"] [[package]] name = "asn1crypto" @@ -34,23 +52,72 @@ files = [ ] [[package]] -name = "attrs" -version = "23.2.0" -description = "Classes Without Boilerplate" +name = "async-timeout" +version = "4.0.3" +description = "Timeout context manager for asyncio programs" optional = false python-versions = ">=3.7" files = [ - {file = "attrs-23.2.0-py3-none-any.whl", hash = "sha256:99b87a485a5820b23b879f04c2305b44b951b502fd64be915879d77a7e8fc6f1"}, - {file = "attrs-23.2.0.tar.gz", hash = "sha256:935dc3b529c262f6cf76e50877d35a4bd3c1de194fd41f47a2b7ae8f19971f30"}, + {file = "async-timeout-4.0.3.tar.gz", hash = "sha256:4640d96be84d82d02ed59ea2b7105a0f7b33abe8703703cd0ab0bf87c427522f"}, + {file = "async_timeout-4.0.3-py3-none-any.whl", hash = "sha256:7405140ff1230c310e51dc27b3145b9092d659ce68ff733fb0cefe3ee42be028"}, +] + +[[package]] +name = "asyncpg" +version = "0.29.0" +description = "An asyncio PostgreSQL driver" +optional = false +python-versions = ">=3.8.0" +files = [ + {file = "asyncpg-0.29.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:72fd0ef9f00aeed37179c62282a3d14262dbbafb74ec0ba16e1b1864d8a12169"}, + {file = "asyncpg-0.29.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:52e8f8f9ff6e21f9b39ca9f8e3e33a5fcdceaf5667a8c5c32bee158e313be385"}, + {file = "asyncpg-0.29.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a9e6823a7012be8b68301342ba33b4740e5a166f6bbda0aee32bc01638491a22"}, + {file = "asyncpg-0.29.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:746e80d83ad5d5464cfbf94315eb6744222ab00aa4e522b704322fb182b83610"}, + {file = "asyncpg-0.29.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:ff8e8109cd6a46ff852a5e6bab8b0a047d7ea42fcb7ca5ae6eaae97d8eacf397"}, + {file = "asyncpg-0.29.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:97eb024685b1d7e72b1972863de527c11ff87960837919dac6e34754768098eb"}, + {file = "asyncpg-0.29.0-cp310-cp310-win32.whl", hash = "sha256:5bbb7f2cafd8d1fa3e65431833de2642f4b2124be61a449fa064e1a08d27e449"}, + {file = "asyncpg-0.29.0-cp310-cp310-win_amd64.whl", hash = "sha256:76c3ac6530904838a4b650b2880f8e7af938ee049e769ec2fba7cd66469d7772"}, + {file = "asyncpg-0.29.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:d4900ee08e85af01adb207519bb4e14b1cae8fd21e0ccf80fac6aa60b6da37b4"}, + {file = "asyncpg-0.29.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a65c1dcd820d5aea7c7d82a3fdcb70e096f8f70d1a8bf93eb458e49bfad036ac"}, + {file = "asyncpg-0.29.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5b52e46f165585fd6af4863f268566668407c76b2c72d366bb8b522fa66f1870"}, + {file = "asyncpg-0.29.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dc600ee8ef3dd38b8d67421359779f8ccec30b463e7aec7ed481c8346decf99f"}, + {file = "asyncpg-0.29.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:039a261af4f38f949095e1e780bae84a25ffe3e370175193174eb08d3cecab23"}, + {file = "asyncpg-0.29.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:6feaf2d8f9138d190e5ec4390c1715c3e87b37715cd69b2c3dfca616134efd2b"}, + {file = "asyncpg-0.29.0-cp311-cp311-win32.whl", hash = "sha256:1e186427c88225ef730555f5fdda6c1812daa884064bfe6bc462fd3a71c4b675"}, + {file = "asyncpg-0.29.0-cp311-cp311-win_amd64.whl", hash = "sha256:cfe73ffae35f518cfd6e4e5f5abb2618ceb5ef02a2365ce64f132601000587d3"}, + {file = "asyncpg-0.29.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:6011b0dc29886ab424dc042bf9eeb507670a3b40aece3439944006aafe023178"}, + {file = "asyncpg-0.29.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b544ffc66b039d5ec5a7454667f855f7fec08e0dfaf5a5490dfafbb7abbd2cfb"}, + {file = "asyncpg-0.29.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d84156d5fb530b06c493f9e7635aa18f518fa1d1395ef240d211cb563c4e2364"}, + {file = "asyncpg-0.29.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:54858bc25b49d1114178d65a88e48ad50cb2b6f3e475caa0f0c092d5f527c106"}, + {file = "asyncpg-0.29.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:bde17a1861cf10d5afce80a36fca736a86769ab3579532c03e45f83ba8a09c59"}, + {file = "asyncpg-0.29.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:37a2ec1b9ff88d8773d3eb6d3784dc7e3fee7756a5317b67f923172a4748a175"}, + {file = "asyncpg-0.29.0-cp312-cp312-win32.whl", hash = "sha256:bb1292d9fad43112a85e98ecdc2e051602bce97c199920586be83254d9dafc02"}, + {file = "asyncpg-0.29.0-cp312-cp312-win_amd64.whl", hash = "sha256:2245be8ec5047a605e0b454c894e54bf2ec787ac04b1cb7e0d3c67aa1e32f0fe"}, + {file = "asyncpg-0.29.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0009a300cae37b8c525e5b449233d59cd9868fd35431abc470a3e364d2b85cb9"}, + {file = "asyncpg-0.29.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:5cad1324dbb33f3ca0cd2074d5114354ed3be2b94d48ddfd88af75ebda7c43cc"}, + {file = "asyncpg-0.29.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:012d01df61e009015944ac7543d6ee30c2dc1eb2f6b10b62a3f598beb6531548"}, + {file = "asyncpg-0.29.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:000c996c53c04770798053e1730d34e30cb645ad95a63265aec82da9093d88e7"}, + {file = "asyncpg-0.29.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:e0bfe9c4d3429706cf70d3249089de14d6a01192d617e9093a8e941fea8ee775"}, + {file = "asyncpg-0.29.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:642a36eb41b6313ffa328e8a5c5c2b5bea6ee138546c9c3cf1bffaad8ee36dd9"}, + {file = "asyncpg-0.29.0-cp38-cp38-win32.whl", hash = "sha256:a921372bbd0aa3a5822dd0409da61b4cd50df89ae85150149f8c119f23e8c408"}, + {file = "asyncpg-0.29.0-cp38-cp38-win_amd64.whl", hash = "sha256:103aad2b92d1506700cbf51cd8bb5441e7e72e87a7b3a2ca4e32c840f051a6a3"}, + {file = "asyncpg-0.29.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5340dd515d7e52f4c11ada32171d87c05570479dc01dc66d03ee3e150fb695da"}, + {file = "asyncpg-0.29.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e17b52c6cf83e170d3d865571ba574577ab8e533e7361a2b8ce6157d02c665d3"}, + {file = "asyncpg-0.29.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f100d23f273555f4b19b74a96840aa27b85e99ba4b1f18d4ebff0734e78dc090"}, + {file = "asyncpg-0.29.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:48e7c58b516057126b363cec8ca02b804644fd012ef8e6c7e23386b7d5e6ce83"}, + {file = "asyncpg-0.29.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:f9ea3f24eb4c49a615573724d88a48bd1b7821c890c2effe04f05382ed9e8810"}, + {file = "asyncpg-0.29.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8d36c7f14a22ec9e928f15f92a48207546ffe68bc412f3be718eedccdf10dc5c"}, + {file = "asyncpg-0.29.0-cp39-cp39-win32.whl", hash = "sha256:797ab8123ebaed304a1fad4d7576d5376c3a006a4100380fb9d517f0b59c1ab2"}, + {file = "asyncpg-0.29.0-cp39-cp39-win_amd64.whl", hash = "sha256:cce08a178858b426ae1aa8409b5cc171def45d4293626e7aa6510696d46decd8"}, + {file = "asyncpg-0.29.0.tar.gz", hash = "sha256:d1c49e1f44fffafd9a55e1a9b101590859d881d639ea2922516f5d9c512d354e"}, ] +[package.dependencies] +async-timeout = {version = ">=4.0.3", markers = "python_version < \"3.12.0\""} + [package.extras] -cov = ["attrs[tests]", "coverage[toml] (>=5.3)"] -dev = ["attrs[tests]", "pre-commit"] -docs = ["furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib-towncrier", "towncrier", "zope-interface"] -tests = ["attrs[tests-no-zope]", "zope-interface"] -tests-mypy = ["mypy (>=1.6)", "pytest-mypy-plugins"] -tests-no-zope = ["attrs[tests-mypy]", "cloudpickle", "hypothesis", "pympler", "pytest (>=4.3.0)", "pytest-xdist[psutil]"] +docs = ["Sphinx (>=5.3.0,<5.4.0)", "sphinx-rtd-theme (>=1.2.2)", "sphinxcontrib-asyncio (>=0.3.0,<0.4.0)"] +test = ["flake8 (>=6.1,<7.0)", "uvloop (>=0.15.3)"] [[package]] name = "base58" @@ -68,38 +135,38 @@ tests = ["PyHamcrest (>=2.0.2)", "mypy", "pytest (>=4.6)", "pytest-benchmark", " [[package]] name = "bcrypt" -version = "4.1.2" +version = "4.2.0" description = "Modern password hashing for your software and your servers" optional = false python-versions = ">=3.7" files = [ - {file = "bcrypt-4.1.2-cp37-abi3-macosx_10_12_universal2.whl", hash = "sha256:ac621c093edb28200728a9cca214d7e838529e557027ef0581685909acd28b5e"}, - {file = "bcrypt-4.1.2-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ea505c97a5c465ab8c3ba75c0805a102ce526695cd6818c6de3b1a38f6f60da1"}, - {file = "bcrypt-4.1.2-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:57fa9442758da926ed33a91644649d3e340a71e2d0a5a8de064fb621fd5a3326"}, - {file = "bcrypt-4.1.2-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:eb3bd3321517916696233b5e0c67fd7d6281f0ef48e66812db35fc963a422a1c"}, - {file = "bcrypt-4.1.2-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:6cad43d8c63f34b26aef462b6f5e44fdcf9860b723d2453b5d391258c4c8e966"}, - {file = "bcrypt-4.1.2-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:44290ccc827d3a24604f2c8bcd00d0da349e336e6503656cb8192133e27335e2"}, - {file = "bcrypt-4.1.2-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:732b3920a08eacf12f93e6b04ea276c489f1c8fb49344f564cca2adb663b3e4c"}, - {file = "bcrypt-4.1.2-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:1c28973decf4e0e69cee78c68e30a523be441972c826703bb93099868a8ff5b5"}, - {file = "bcrypt-4.1.2-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:b8df79979c5bae07f1db22dcc49cc5bccf08a0380ca5c6f391cbb5790355c0b0"}, - {file = "bcrypt-4.1.2-cp37-abi3-win32.whl", hash = "sha256:fbe188b878313d01b7718390f31528be4010fed1faa798c5a1d0469c9c48c369"}, - {file = "bcrypt-4.1.2-cp37-abi3-win_amd64.whl", hash = "sha256:9800ae5bd5077b13725e2e3934aa3c9c37e49d3ea3d06318010aa40f54c63551"}, - {file = "bcrypt-4.1.2-cp39-abi3-macosx_10_12_universal2.whl", hash = "sha256:71b8be82bc46cedd61a9f4ccb6c1a493211d031415a34adde3669ee1b0afbb63"}, - {file = "bcrypt-4.1.2-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:68e3c6642077b0c8092580c819c1684161262b2e30c4f45deb000c38947bf483"}, - {file = "bcrypt-4.1.2-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:387e7e1af9a4dd636b9505a465032f2f5cb8e61ba1120e79a0e1cd0b512f3dfc"}, - {file = "bcrypt-4.1.2-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:f70d9c61f9c4ca7d57f3bfe88a5ccf62546ffbadf3681bb1e268d9d2e41c91a7"}, - {file = "bcrypt-4.1.2-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:2a298db2a8ab20056120b45e86c00a0a5eb50ec4075b6142db35f593b97cb3fb"}, - {file = "bcrypt-4.1.2-cp39-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:ba55e40de38a24e2d78d34c2d36d6e864f93e0d79d0b6ce915e4335aa81d01b1"}, - {file = "bcrypt-4.1.2-cp39-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:3566a88234e8de2ccae31968127b0ecccbb4cddb629da744165db72b58d88ca4"}, - {file = "bcrypt-4.1.2-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:b90e216dc36864ae7132cb151ffe95155a37a14e0de3a8f64b49655dd959ff9c"}, - {file = "bcrypt-4.1.2-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:69057b9fc5093ea1ab00dd24ede891f3e5e65bee040395fb1e66ee196f9c9b4a"}, - {file = "bcrypt-4.1.2-cp39-abi3-win32.whl", hash = "sha256:02d9ef8915f72dd6daaef40e0baeef8a017ce624369f09754baf32bb32dba25f"}, - {file = "bcrypt-4.1.2-cp39-abi3-win_amd64.whl", hash = "sha256:be3ab1071662f6065899fe08428e45c16aa36e28bc42921c4901a191fda6ee42"}, - {file = "bcrypt-4.1.2-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:d75fc8cd0ba23f97bae88a6ec04e9e5351ff3c6ad06f38fe32ba50cbd0d11946"}, - {file = "bcrypt-4.1.2-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:a97e07e83e3262599434816f631cc4c7ca2aa8e9c072c1b1a7fec2ae809a1d2d"}, - {file = "bcrypt-4.1.2-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:e51c42750b7585cee7892c2614be0d14107fad9581d1738d954a262556dd1aab"}, - {file = "bcrypt-4.1.2-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:ba4e4cc26610581a6329b3937e02d319f5ad4b85b074846bf4fef8a8cf51e7bb"}, - {file = "bcrypt-4.1.2.tar.gz", hash = "sha256:33313a1200a3ae90b75587ceac502b048b840fc69e7f7a0905b5f87fac7a1258"}, + {file = "bcrypt-4.2.0-cp37-abi3-macosx_10_12_universal2.whl", hash = "sha256:096a15d26ed6ce37a14c1ac1e48119660f21b24cba457f160a4b830f3fe6b5cb"}, + {file = "bcrypt-4.2.0-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c02d944ca89d9b1922ceb8a46460dd17df1ba37ab66feac4870f6862a1533c00"}, + {file = "bcrypt-4.2.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1d84cf6d877918620b687b8fd1bf7781d11e8a0998f576c7aa939776b512b98d"}, + {file = "bcrypt-4.2.0-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:1bb429fedbe0249465cdd85a58e8376f31bb315e484f16e68ca4c786dcc04291"}, + {file = "bcrypt-4.2.0-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:655ea221910bcac76ea08aaa76df427ef8625f92e55a8ee44fbf7753dbabb328"}, + {file = "bcrypt-4.2.0-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:1ee38e858bf5d0287c39b7a1fc59eec64bbf880c7d504d3a06a96c16e14058e7"}, + {file = "bcrypt-4.2.0-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:0da52759f7f30e83f1e30a888d9163a81353ef224d82dc58eb5bb52efcabc399"}, + {file = "bcrypt-4.2.0-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:3698393a1b1f1fd5714524193849d0c6d524d33523acca37cd28f02899285060"}, + {file = "bcrypt-4.2.0-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:762a2c5fb35f89606a9fde5e51392dad0cd1ab7ae64149a8b935fe8d79dd5ed7"}, + {file = "bcrypt-4.2.0-cp37-abi3-win32.whl", hash = "sha256:5a1e8aa9b28ae28020a3ac4b053117fb51c57a010b9f969603ed885f23841458"}, + {file = "bcrypt-4.2.0-cp37-abi3-win_amd64.whl", hash = "sha256:8f6ede91359e5df88d1f5c1ef47428a4420136f3ce97763e31b86dd8280fbdf5"}, + {file = "bcrypt-4.2.0-cp39-abi3-macosx_10_12_universal2.whl", hash = "sha256:c52aac18ea1f4a4f65963ea4f9530c306b56ccd0c6f8c8da0c06976e34a6e841"}, + {file = "bcrypt-4.2.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3bbbfb2734f0e4f37c5136130405332640a1e46e6b23e000eeff2ba8d005da68"}, + {file = "bcrypt-4.2.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3413bd60460f76097ee2e0a493ccebe4a7601918219c02f503984f0a7ee0aebe"}, + {file = "bcrypt-4.2.0-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:8d7bb9c42801035e61c109c345a28ed7e84426ae4865511eb82e913df18f58c2"}, + {file = "bcrypt-4.2.0-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:3d3a6d28cb2305b43feac298774b997e372e56c7c7afd90a12b3dc49b189151c"}, + {file = "bcrypt-4.2.0-cp39-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:9c1c4ad86351339c5f320ca372dfba6cb6beb25e8efc659bedd918d921956bae"}, + {file = "bcrypt-4.2.0-cp39-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:27fe0f57bb5573104b5a6de5e4153c60814c711b29364c10a75a54bb6d7ff48d"}, + {file = "bcrypt-4.2.0-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:8ac68872c82f1add6a20bd489870c71b00ebacd2e9134a8aa3f98a0052ab4b0e"}, + {file = "bcrypt-4.2.0-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:cb2a8ec2bc07d3553ccebf0746bbf3d19426d1c6d1adbd4fa48925f66af7b9e8"}, + {file = "bcrypt-4.2.0-cp39-abi3-win32.whl", hash = "sha256:77800b7147c9dc905db1cba26abe31e504d8247ac73580b4aa179f98e6608f34"}, + {file = "bcrypt-4.2.0-cp39-abi3-win_amd64.whl", hash = "sha256:61ed14326ee023917ecd093ee6ef422a72f3aec6f07e21ea5f10622b735538a9"}, + {file = "bcrypt-4.2.0-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:39e1d30c7233cfc54f5c3f2c825156fe044efdd3e0b9d309512cc514a263ec2a"}, + {file = "bcrypt-4.2.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:f4f4acf526fcd1c34e7ce851147deedd4e26e6402369304220250598b26448db"}, + {file = "bcrypt-4.2.0-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:1ff39b78a52cf03fdf902635e4c81e544714861ba3f0efc56558979dd4f09170"}, + {file = "bcrypt-4.2.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:373db9abe198e8e2c70d12b479464e0d5092cc122b20ec504097b5f2297ed184"}, + {file = "bcrypt-4.2.0.tar.gz", hash = "sha256:cf69eaf5185fd58f268f805b505ce31f9b9fc2d64b376642164e9244540c1221"}, ] [package.extras] @@ -119,178 +186,193 @@ files = [ [[package]] name = "bitarray" -version = "2.9.2" +version = "2.9.3" description = "efficient arrays of booleans -- C extension" optional = false python-versions = "*" files = [ - {file = "bitarray-2.9.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:917905de565d9576eb20f53c797c15ba88b9f4f19728acabec8d01eee1d3756a"}, - {file = "bitarray-2.9.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b35bfcb08b7693ab4bf9059111a6e9f14e07d57ac93cd967c420db58ab9b71e1"}, - {file = "bitarray-2.9.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ea1923d2e7880f9e1959e035da661767b5a2e16a45dfd57d6aa831e8b65ee1bf"}, - {file = "bitarray-2.9.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1e0b63a565e8a311cc8348ff1262d5784df0f79d64031d546411afd5dd7ef67d"}, - {file = "bitarray-2.9.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cf0620da2b81946d28c0b16f3e3704d38e9837d85ee4f0652816e2609aaa4fed"}, - {file = "bitarray-2.9.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:79a9b8b05f2876c7195a2b698c47528e86a73c61ea203394ff8e7a4434bda5c8"}, - {file = "bitarray-2.9.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:345c76b349ff145549652436235c5532e5bfe9db690db6f0a6ad301c62b9ef21"}, - {file = "bitarray-2.9.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4e2936f090bf3f4d1771f44f9077ebccdbc0415d2b598d51a969afcb519df505"}, - {file = "bitarray-2.9.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:f9346e98fc2abcef90b942973087e2462af6d3e3710e82938078d3493f7fef52"}, - {file = "bitarray-2.9.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e6ec283d4741befb86e8c3ea2e9ac1d17416c956d392107e45263e736954b1f7"}, - {file = "bitarray-2.9.2-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:962892646599529917ef26266091e4cb3077c88b93c3833a909d68dcc971c4e3"}, - {file = "bitarray-2.9.2-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:e8da5355d7d75a52df5b84750989e34e39919ec7e59fafc4c104cc1607ab2d31"}, - {file = "bitarray-2.9.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:603e7d640e54ad764d2b4da6b61e126259af84f253a20f512dd10689566e5478"}, - {file = "bitarray-2.9.2-cp310-cp310-win32.whl", hash = "sha256:f00079f8e69d75c2a417de7961a77612bb77ef46c09bc74607d86de4740771ef"}, - {file = "bitarray-2.9.2-cp310-cp310-win_amd64.whl", hash = "sha256:1bb33673e7f7190a65f0a940c1ef63266abdb391f4a3e544a47542d40a81f536"}, - {file = "bitarray-2.9.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:fe71fd4b76380c2772f96f1e53a524da7063645d647a4fcd3b651bdd80ca0f2e"}, - {file = "bitarray-2.9.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:d527172919cdea1e13994a66d9708a80c3d33dedcf2f0548e4925e600fef3a3a"}, - {file = "bitarray-2.9.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:052c5073bdcaa9dd10628d99d37a2f33ec09364b86dd1f6281e2d9f8d3db3060"}, - {file = "bitarray-2.9.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e064caa55a6ed493aca1eda06f8b3f689778bc780a75e6ad7724642ba5dc62f7"}, - {file = "bitarray-2.9.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:508069a04f658210fdeee85a7a0ca84db4bcc110cbb1d21f692caa13210f24a7"}, - {file = "bitarray-2.9.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4da73ebd537d75fa7bccfc2228fcaedea0803f21dd9d0bf0d3b67fef3c4af294"}, - {file = "bitarray-2.9.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5cb378eaa65cd43098f11ff5d27e48ee3b956d2c00d2d6b5bfc2a09fe183be47"}, - {file = "bitarray-2.9.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d14c790b91f6cbcd9b718f88ed737c78939980c69ac8c7f03dd7e60040c12951"}, - {file = "bitarray-2.9.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:7eea9318293bc0ea6447e9ebfba600a62f3428bea7e9c6d42170ae4f481dbab3"}, - {file = "bitarray-2.9.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:b76ffec27c7450b8a334f967366a9ebadaea66ee43f5b530c12861b1a991f503"}, - {file = "bitarray-2.9.2-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:76b76a07d4ee611405045c6950a1e24c4362b6b44808d4ad6eea75e0dbc59af4"}, - {file = "bitarray-2.9.2-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:c7d16beeaaab15b075990cd26963d6b5b22e8c5becd131781514a00b8bdd04bd"}, - {file = "bitarray-2.9.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:60df43e868a615c7e15117a1e1c2e5e11f48f6457280eba6ddf8fbefbec7da99"}, - {file = "bitarray-2.9.2-cp311-cp311-win32.whl", hash = "sha256:e788608ed7767b7b3bbde6d49058bccdf94df0de9ca75d13aa99020cc7e68095"}, - {file = "bitarray-2.9.2-cp311-cp311-win_amd64.whl", hash = "sha256:a23397da092ef0a8cfe729571da64c2fc30ac18243caa82ac7c4f965087506ff"}, - {file = "bitarray-2.9.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:90e3a281ffe3897991091b7c46fca38c2675bfd4399ffe79dfeded6c52715436"}, - {file = "bitarray-2.9.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:bed637b674db5e6c8a97a4a321e3e4d73e72d50b5c6b29950008a93069cc64cd"}, - {file = "bitarray-2.9.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:e49066d251dbbe4e6e3a5c3937d85b589e40e2669ad0eef41a00f82ec17d844b"}, - {file = "bitarray-2.9.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3c4344e96642e2211fb3a50558feff682c31563a4c64529a931769d40832ca79"}, - {file = "bitarray-2.9.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:aeb60962ec4813c539a59fbd4f383509c7222b62c3fb1faa76b54943a613e33a"}, - {file = "bitarray-2.9.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ed0f7982f10581bb16553719e5e8f933e003f5b22f7d25a68bdb30fac630a6ff"}, - {file = "bitarray-2.9.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c71d1cabdeee0cdda4669168618f0e46b7dace207b29da7b63aaa1adc2b54081"}, - {file = "bitarray-2.9.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b0ef2d0a6f1502d38d911d25609b44c6cc27bee0a4363dd295df78b075041b60"}, - {file = "bitarray-2.9.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:6f71d92f533770fb027388b35b6e11988ab89242b883f48a6fe7202d238c61f8"}, - {file = "bitarray-2.9.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:ba0734aa300757c924f3faf8148e1b8c247176a0ac8e16aefdf9c1eb19e868f7"}, - {file = "bitarray-2.9.2-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:d91406f413ccbf4af6ab5ae7bc78f772a95609f9ddd14123db36ef8c37116d95"}, - {file = "bitarray-2.9.2-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:87abb7f80c0a042f3fe8e5264da1a2756267450bb602110d5327b8eaff7682e7"}, - {file = "bitarray-2.9.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4b558ce85579b51a2e38703877d1e93b7728a7af664dd45a34e833534f0b755d"}, - {file = "bitarray-2.9.2-cp312-cp312-win32.whl", hash = "sha256:dac2399ee2889fbdd3472bfc2ede74c34cceb1ccf29a339964281a16eb1d3188"}, - {file = "bitarray-2.9.2-cp312-cp312-win_amd64.whl", hash = "sha256:48a30d718d1a6dfc22a49547450107abe8f4afdf2abdcbe76eb9ed88edc49498"}, - {file = "bitarray-2.9.2-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:2c6be1b651fad8f3adb7a5aa12c65b612cd9b89530969af941844ae680f7d981"}, - {file = "bitarray-2.9.2-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c5b399ae6ab975257ec359f03b48fc00b1c1cd109471e41903548469b8feae5c"}, - {file = "bitarray-2.9.2-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0b3543c8a1cb286ad105f11c25d8d0f712f41c5c55f90be39f0e5a1376c7d0b0"}, - {file = "bitarray-2.9.2-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:03adaacb79e2fb8f483ab3a67665eec53bb3fd0cd5dbd7358741aef124688db3"}, - {file = "bitarray-2.9.2-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9ae5b0657380d2581e13e46864d147a52c1e2bbac9f59b59c576e42fa7d10cf0"}, - {file = "bitarray-2.9.2-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7c1f4bf6ea8eb9d7f30808c2e9894237a96650adfecbf5f3643862dc5982f89e"}, - {file = "bitarray-2.9.2-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:a8873089be2aa15494c0f81af1209f6e1237d762c5065bc4766c1b84321e1b50"}, - {file = "bitarray-2.9.2-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:677e67f50e2559efc677a4366707070933ad5418b8347a603a49a070890b19bc"}, - {file = "bitarray-2.9.2-cp36-cp36m-musllinux_1_1_ppc64le.whl", hash = "sha256:a620d8ce4ea2f1c73c6b6b1399e14cb68c6915e2be3fad5808c2998ed55b4acf"}, - {file = "bitarray-2.9.2-cp36-cp36m-musllinux_1_1_s390x.whl", hash = "sha256:64115ccabbdbe279c24c367b629c6b1d3da9ed36c7420129e27c338a3971bfee"}, - {file = "bitarray-2.9.2-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:5d6fb422772e75385b76ad1c52f45a68bd4efafd8be8d0061c11877be74c4d43"}, - {file = "bitarray-2.9.2-cp36-cp36m-win32.whl", hash = "sha256:852e202875dd6dfd6139ce7ec4e98dac2b17d8d25934dc99900831e81c3adaef"}, - {file = "bitarray-2.9.2-cp36-cp36m-win_amd64.whl", hash = "sha256:7dfefdcb0dc6a3ba9936063cec65a74595571b375beabe18742b3d91d087eefd"}, - {file = "bitarray-2.9.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:b306c4cf66912511422060f7f5e1149c8bdb404f8e00e600561b0749fdd45659"}, - {file = "bitarray-2.9.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a09c4f81635408e3387348f415521d4b94198c562c23330f560596a6aaa26eaf"}, - {file = "bitarray-2.9.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5361413fd2ecfdf44dc8f065177dc6aba97fa80a91b815586cb388763acf7f8d"}, - {file = "bitarray-2.9.2-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e8a9475d415ef1eaae7942df6f780fa4dcd48fce32825eda591a17abba869299"}, - {file = "bitarray-2.9.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c9b87baa7bfff9a5878fcc1bffe49ecde6e647a72a64b39a69cd8a2992a43a34"}, - {file = "bitarray-2.9.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bb6b86cfdfc503e92cb71c68766a24565359136961642504a7cc9faf936d9c88"}, - {file = "bitarray-2.9.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:cd56b8ae87ebc71bcacbd73615098e8a8de952ecbb5785b6b4e2b07da8a06e1f"}, - {file = "bitarray-2.9.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:3fa909cfd675004aed8b4cc9df352415933656e0155a6209d878b7cb615c787e"}, - {file = "bitarray-2.9.2-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:b069ca9bf728e0c5c5b60e00a89df9af34cc170c695c3bfa3b372d8f40288efb"}, - {file = "bitarray-2.9.2-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:6067f2f07a7121749858c7daa93c8774325c91590b3e81a299621e347740c2ae"}, - {file = "bitarray-2.9.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:321841cdad1dd0f58fe62e80e9c9c7531f8ebf8be93f047401e930dc47425b1e"}, - {file = "bitarray-2.9.2-cp37-cp37m-win32.whl", hash = "sha256:54e16e32e60973bb83c315de9975bc1bcfc9bd50bb13001c31da159bc49b0ca1"}, - {file = "bitarray-2.9.2-cp37-cp37m-win_amd64.whl", hash = "sha256:f4dcadb7b8034aa3491ee8f5a69b3d9ba9d7d1e55c3cc1fc45be313e708277f8"}, - {file = "bitarray-2.9.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:c8919fdbd3bb596b104388b56ae4b266eb28da1f2f7dff2e1f9334a21840fe96"}, - {file = "bitarray-2.9.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:eb7a9d8a2e400a1026de341ad48e21670a6261a75b06df162c5c39b0d0e7c8f4"}, - {file = "bitarray-2.9.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:6ec84668dd7b937874a2b2c293cd14ba84f37be0d196dead852e0ada9815d807"}, - {file = "bitarray-2.9.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f2de9a31c34e543ae089fd2a5ced01292f725190e379921384f695e2d7184bd3"}, - {file = "bitarray-2.9.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9521f49ae121a17c0a41e5112249e6fa7f6a571245b1118de81fb86e7c1bc1ce"}, - {file = "bitarray-2.9.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a6cc6545d6d76542aee3d18c1c9485fb7b9812b8df4ebe52c4535ec42081b48f"}, - {file = "bitarray-2.9.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:856bbe1616425f71c0df5ef2e8755e878d9504d5a531acba58ab4273c52c117a"}, - {file = "bitarray-2.9.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d4bba8042ea6ab331ade91bc435d81ad72fddb098e49108610b0ce7780c14e68"}, - {file = "bitarray-2.9.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:a035da89c959d98afc813e3c62f052690d67cfd55a36592f25d734b70de7d4b0"}, - {file = "bitarray-2.9.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:6d70b1579da7fb71be5a841a1f965d19aca0ef27f629cfc07d06b09aafd0a333"}, - {file = "bitarray-2.9.2-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:405b83bed28efaae6d86b6ab287c75712ead0adbfab2a1075a1b7ab47dad4d62"}, - {file = "bitarray-2.9.2-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:7eb8be687c50da0b397d5e0ab7ca200b5ebb639e79a9f5e285851d1944c94be9"}, - {file = "bitarray-2.9.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:eceb551dfeaf19c609003a69a0cf8264b0efd7abc3791a11dfabf4788daf0d19"}, - {file = "bitarray-2.9.2-cp38-cp38-win32.whl", hash = "sha256:bb198c6ed1edbcdaf3d1fa3c9c9d1cdb7e179a5134ef5ee660b53cdec43b34e7"}, - {file = "bitarray-2.9.2-cp38-cp38-win_amd64.whl", hash = "sha256:648d2f2685590b0103c67a937c2fb9e09bcc8dfb166f0c7c77bd341902a6f5b3"}, - {file = "bitarray-2.9.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:ea816dc8f8e65841a8bbdd30e921edffeeb6f76efe6a1eb0da147b60d539d1cf"}, - {file = "bitarray-2.9.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4d0e32530f941c41eddfc77600ec89b65184cb909c549336463a738fab3ed285"}, - {file = "bitarray-2.9.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4a22266fb416a3b6c258bf7f83c9fe531ba0b755a56986a81ad69dc0f3bcc070"}, - {file = "bitarray-2.9.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fc6d3e80dd8239850f2604833ff3168b28909c8a9357abfed95632cccd17e3e7"}, - {file = "bitarray-2.9.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f135e804986b12bf14f2cd1eb86674c47dea86c4c5f0fa13c88978876b97ebe6"}, - {file = "bitarray-2.9.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:87580c7f7d14f7ec401eda7adac1e2a25e95153e9c339872c8ae61b3208819a1"}, - {file = "bitarray-2.9.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:64b433e26993127732ac7b66a7821b2537c3044355798de7c5fcb0af34b8296f"}, - {file = "bitarray-2.9.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1e497c535f2a9b68c69d36631bf2dba243e05eb343b00b9c7bbdc8c601c6802d"}, - {file = "bitarray-2.9.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:e40b3cb9fa1edb4e0175d7c06345c49c7925fe93e39ef55ecb0bc40c906b0c09"}, - {file = "bitarray-2.9.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:f2f8692f95c9e377eb19ca519d30d1f884b02feb7e115f798de47570a359e43f"}, - {file = "bitarray-2.9.2-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:f0b84fc50b6dbeced4fa390688c07c10a73222810fb0e08392bd1a1b8259de36"}, - {file = "bitarray-2.9.2-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:d656ad38c942e38a470ddbce26b5020e08e1a7ea86b8fd413bb9024b5189993a"}, - {file = "bitarray-2.9.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:6ab0f1dbfe5070db98771a56aa14797595acd45a1af9eadfb193851a270e7996"}, - {file = "bitarray-2.9.2-cp39-cp39-win32.whl", hash = "sha256:0a99b23ac845a9ea3157782c97465e6ae026fe0c7c4c1ed1d88f759fd6ea52d9"}, - {file = "bitarray-2.9.2-cp39-cp39-win_amd64.whl", hash = "sha256:9bbcfc7c279e8d74b076e514e669b683f77b4a2a328585b3f16d4c5259c91222"}, - {file = "bitarray-2.9.2-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:43847799461d8ba71deb4d97b47250c2c2fb66d82cd3cb8b4caf52bb97c03034"}, - {file = "bitarray-2.9.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f4f44381b0a4bdf64416082f4f0e7140377ae962c0ced6f983c6d7bbfc034040"}, - {file = "bitarray-2.9.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a484061616fb4b158b80789bd3cb511f399d2116525a8b29b6334c68abc2310f"}, - {file = "bitarray-2.9.2-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1ff9e38356cc803e06134cf8ae9758e836ccd1b793135ef3db53c7c5d71e93bc"}, - {file = "bitarray-2.9.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:b44105792fbdcfbda3e26ee88786790fda409da4c71f6c2b73888108cf8f062f"}, - {file = "bitarray-2.9.2-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:7e913098de169c7fc890638ce5e171387363eb812579e637c44261460ac00aa2"}, - {file = "bitarray-2.9.2-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d6fe315355cdfe3ed22ef355b8bdc81a805ca4d0949d921576560e5b227a1112"}, - {file = "bitarray-2.9.2-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f708e91fdbe443f3bec2df394ed42328fb9b0446dff5cb4199023ac6499e09fd"}, - {file = "bitarray-2.9.2-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5b7b09489b71f9f1f64c0fa0977e250ec24500767dab7383ba9912495849cadf"}, - {file = "bitarray-2.9.2-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:128cc3488176145b9b137fdcf54c1c201809bbb8dd30b260ee40afe915843b43"}, - {file = "bitarray-2.9.2-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:21f21e7f56206be346bdbda2a6bdb2165a5e6a11821f88fd4911c5a6bbbdc7e2"}, - {file = "bitarray-2.9.2-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5f4dd3af86dd8a617eb6464622fb64ca86e61ce99b59b5c35d8cd33f9c30603d"}, - {file = "bitarray-2.9.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6465de861aff7a2559f226b37982007417eab8c3557543879987f58b453519bd"}, - {file = "bitarray-2.9.2-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dbaf2bb71d6027152d603f1d5f31e0dfd5e50173d06f877bec484e5396d4594b"}, - {file = "bitarray-2.9.2-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:2f32948c86e0d230a296686db28191b67ed229756f84728847daa0c7ab7406e3"}, - {file = "bitarray-2.9.2-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:be94e5a685e60f9d24532af8fe5c268002e9016fa80272a94727f435de3d1003"}, - {file = "bitarray-2.9.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5cc9381fd54f3c23ae1039f977bfd6d041a5c3c1518104f616643c3a5a73b15"}, - {file = "bitarray-2.9.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cd926e8ae4d1ed1ac4a8f37212a62886292f692bc1739fde98013bf210c2d175"}, - {file = "bitarray-2.9.2-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:461a3dafb9d5fda0bb3385dc507d78b1984b49da3fe4c6d56c869a54373b7008"}, - {file = "bitarray-2.9.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:393cb27fd859af5fd9c16eb26b1c59b17b390ff66b3ae5d0dd258270191baf13"}, - {file = "bitarray-2.9.2.tar.gz", hash = "sha256:a8f286a51a32323715d77755ed959f94bef13972e9a2fe71b609e40e6d27957e"}, + {file = "bitarray-2.9.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:2cf5f5400636c7dda797fd681795ce63932458620fe8c40955890380acba9f62"}, + {file = "bitarray-2.9.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:3487b4718ffa5942fab777835ee36085f8dda7ec4bd0b28433efb117f84852b6"}, + {file = "bitarray-2.9.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:10f44b1e4994035408bea54d7bf0aec79744cad709706bedf28091a48bb7f1a4"}, + {file = "bitarray-2.9.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cb5c16f97c65add6535748a9c98c70e7ca79759c38a2eb990127fef72f76111a"}, + {file = "bitarray-2.9.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:13dbfc42971ba84e9c4ba070f720df6570285a3f89187f07ef422efcb611c19f"}, + {file = "bitarray-2.9.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1c28076acfbe7f9a5494d7ae98094a6e209c390c340938845f294818ebf5e4d3"}, + {file = "bitarray-2.9.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4b7cdd21835936d9a66477836ca23b2cb63295142cb9d9158883e2c0f1f8f6bd"}, + {file = "bitarray-2.9.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9f60887ab3a46e507fa6f8544d8d4b0748da48718591dfe3fe80c62bdea60f10"}, + {file = "bitarray-2.9.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:f75e1abd4a37cba3002521d3f5e2b50ef4f4a74342207cad3f52468411d5d8ba"}, + {file = "bitarray-2.9.3-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:dc63da9695383c048b83f5ab77eab35a55bbb2e77c7b6e762eba219929b45b84"}, + {file = "bitarray-2.9.3-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:6fe5a57b859d9bc9c2fd27c78c4b7b83158faf984202de6fb44618caeebfff10"}, + {file = "bitarray-2.9.3-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:1fe5a37bd9441a5ecc2f6e71b43df7176fa376a542ef97484310b8b46a45649a"}, + {file = "bitarray-2.9.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:8a16e42c169ca818d6a15b5dd5acd5d2a26af0fa0588e1036e0e58d01f8387d4"}, + {file = "bitarray-2.9.3-cp310-cp310-win32.whl", hash = "sha256:5e6b5e7940af3474ffaa930cd1ce8215181cbe864d6b5ddb67a15d3c15e935cd"}, + {file = "bitarray-2.9.3-cp310-cp310-win_amd64.whl", hash = "sha256:c63dbb99ef2ab1281871678624f9c9a5f1682b826e668ce559275ec488b3fa8b"}, + {file = "bitarray-2.9.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:49fb93b488d180f5c84b79fe687c585a84bf0295ff035d63e09ee24ce1da0558"}, + {file = "bitarray-2.9.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c2944fb83bbc2aa7f29a713bc4f8c1318e54fa0d06a72bedd350a3fb4a4b91d8"}, + {file = "bitarray-2.9.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3612d9d3788dc62f1922c917b1539f1cdf02cecc9faef8ae213a8b36093136ca"}, + {file = "bitarray-2.9.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:90a9300cdb7c99b1e692bb790cba8acecee1a345a83e58e28c94a0d87c522237"}, + {file = "bitarray-2.9.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1211ed66acbbb221fd7554abf4206a384d79e6192d5cb95325c5c361bbb52a74"}, + {file = "bitarray-2.9.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:67757279386accf93eba76b8f97b5acf1664a3e350cbea5f300f53490f8764fd"}, + {file = "bitarray-2.9.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:64e19c6a99c32f460c2613f797f77aa37d8e298891d00ea5355158cce80e11ec"}, + {file = "bitarray-2.9.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:72734bd3775f43c5a75385730abb9f84fee6c627eb14f579de4be478f1615c8c"}, + {file = "bitarray-2.9.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:a92703471b5d3316c7481bc1852f620f42f7a1b62be27f39d13694827635786f"}, + {file = "bitarray-2.9.3-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:d5d77c81300ca430d4b195ccfbb629d6858258f541b6e96c6b11ec1563cd2681"}, + {file = "bitarray-2.9.3-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:3ba8a29c0d091c952ced1607ce715f5e0524899f24333a493807d00f5938463d"}, + {file = "bitarray-2.9.3-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:418171d035b191dbe5e86cd2bfb5c3e1ae7d947edc22857a897d1c7251674ae5"}, + {file = "bitarray-2.9.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:1e0bd272eba256183be2a17488f9cb096d2e6d3435ecf2e28c1e0857c6d20749"}, + {file = "bitarray-2.9.3-cp311-cp311-win32.whl", hash = "sha256:cc3fd2b0637a619cf13e122bbcf4729ae214d5f25623675597e67c25f9edfe61"}, + {file = "bitarray-2.9.3-cp311-cp311-win_amd64.whl", hash = "sha256:e1fc2a81a585dbe5e367682156e6350d908a56e2ffd6ca651b0af01994db596f"}, + {file = "bitarray-2.9.3-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:dc47be026f76f1728af00dc7140cec8483fe2f0c476bbf2a59ef47865e00ff96"}, + {file = "bitarray-2.9.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:82b091742ff511cdb06f90af0d2c22e7af3dbff9b8212e2e0d88dfef6a8570b3"}, + {file = "bitarray-2.9.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2d5edb4302a0e3a3d1d0eeb891de3c615d4cb7a446fb41c21eecdcfb29400a6f"}, + {file = "bitarray-2.9.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb4786c5525069c19820549dd2f42d33632bc42959ad167138bd8ee5024b922b"}, + {file = "bitarray-2.9.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9bfe2de2b4df61ccb9244871a0fdf1fff83be0c1bd7187048c3cf7f81c5fe631"}, + {file = "bitarray-2.9.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:31e4f69538f95d2934587d957eea0d283162322dd1af29e57122b20b8cd60f92"}, + {file = "bitarray-2.9.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8ca44908b2bc08d8995770018638d62626706864f9c599b7818225a12f3dbc2c"}, + {file = "bitarray-2.9.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:279f8de5d251ee521e365df29c927d9b5732f1ed4f373d2dbbd278fcbad94ff5"}, + {file = "bitarray-2.9.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:c49bb631b38431c09ecd534d56ef04264397d24d18c4ee6653c84e14ae09d92d"}, + {file = "bitarray-2.9.3-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:192bffc93ee9a5b6c833c98d1dcc81f5633ddd726b85e18341387d0c1d51f691"}, + {file = "bitarray-2.9.3-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c516cec28c6511df51d87033f40ec420324a2247469b0c989d344f4d27ea37d2"}, + {file = "bitarray-2.9.3-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:66241cb9a1c1db294f46cd440141e57e8242874e38f3f61877f72d92ae14768a"}, + {file = "bitarray-2.9.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ab1f0e7631110c89bea7b605c0c35832333eb9cc97e5de05d71c76d42a1858c9"}, + {file = "bitarray-2.9.3-cp312-cp312-win32.whl", hash = "sha256:42aa5bee6fe8ad3385eaf5c6585016bbc38a7b75efb52ce5c6f8e00e05237dfa"}, + {file = "bitarray-2.9.3-cp312-cp312-win_amd64.whl", hash = "sha256:dc3fd647d845b94fac3652390866f921f914a17f3807a031c826f68dae3f43e3"}, + {file = "bitarray-2.9.3-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:fcfcc1989e3e021a282624017b7fb754210f5332e933b1c3ebc79643727b6551"}, + {file = "bitarray-2.9.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:71b1e229a706798a9e106ca7b03d4c63455deb40b18c92950ec073a05a8f8285"}, + {file = "bitarray-2.9.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:4bb49556d3d505d24c942a4206ad4d0d40e89fa3016a7ea6edc994d5c08d4a8e"}, + {file = "bitarray-2.9.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b4466aa1e533a59d5f7fd37219d154ec3f2ba73fce3d8a2e11080ec475bc15fb"}, + {file = "bitarray-2.9.3-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a9b75adc0fd0bf278bea89dc3d679d74e10d2df98d3d074b7f3d36f323138818"}, + {file = "bitarray-2.9.3-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:701582bbbeac372b1cd8a3c9daf6c2336dc2d22e14373a6271d788bc4f2b6edc"}, + {file = "bitarray-2.9.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9ea1f119668bbdbd68008031491515e84441e505163918819994b28f295f762c"}, + {file = "bitarray-2.9.3-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9f400bc18a70bfdb073532c3054ecd78a0e64f96ff7b6140adde5b122580ec2b"}, + {file = "bitarray-2.9.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:aacff5656fb3e15cede7d02903da2634d376aa928d7a81ec8df19b0724d7972a"}, + {file = "bitarray-2.9.3-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:8a2ae42a14cbf766d4478d7101da6359b0648dd813e60eb3486ac56ad2f5add3"}, + {file = "bitarray-2.9.3-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:616698edb547d10f0b960cb9f2e8629c55a420dd4c2b1ab46706f49a1815621d"}, + {file = "bitarray-2.9.3-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:f277c50ba184929dfeed39b6cf9468e3446093521b0aeb52bd54a21ca08f5473"}, + {file = "bitarray-2.9.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:661237739b385c90d8837d5e96b06de093cc6e610236977e198f88f5a979686e"}, + {file = "bitarray-2.9.3-cp313-cp313-win32.whl", hash = "sha256:68acec6c19d798051f178a1197b76f891985f683f95a4b12811b68e58b080f5a"}, + {file = "bitarray-2.9.3-cp313-cp313-win_amd64.whl", hash = "sha256:3055720afdcfd7e8f630fa16db7bed7e55c9d0a1f4756195e3b250e203f3b436"}, + {file = "bitarray-2.9.3-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:72bf17d0e7d8a4f645655a07999d23e42472cbf2100b8dad7ce26586075241d7"}, + {file = "bitarray-2.9.3-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3cfd332b5f1ad8c4dc3cc79ecef33c19b42d8d8e6a39fd5c9ecb5855be0b9723"}, + {file = "bitarray-2.9.3-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d5b466ef1e48f25621c9d27e95deb5e33b8656827ed8aa530b972de73870bd1f"}, + {file = "bitarray-2.9.3-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:938cf26fdaf4d0adfac82d830c025523c5d36ddead0470b735286028231c1784"}, + {file = "bitarray-2.9.3-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a0f766669e768ef9a2b23ecfa710b38b6a48da3f91755113c79320b207ae255d"}, + {file = "bitarray-2.9.3-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5b6337c0c64044f35ddfb241143244aac707a68f34ae31a71dad115f773ccc8b"}, + {file = "bitarray-2.9.3-cp36-cp36m-musllinux_1_2_aarch64.whl", hash = "sha256:731b59540167f8b2b20f69f487ecee2339fc4657059906a16cb51acac17f89c3"}, + {file = "bitarray-2.9.3-cp36-cp36m-musllinux_1_2_i686.whl", hash = "sha256:4feed0539a9d6432361fc4d3820eea3a81fa631d542f166cf8430aad81a971da"}, + {file = "bitarray-2.9.3-cp36-cp36m-musllinux_1_2_ppc64le.whl", hash = "sha256:eb65c96a42e73f35175ec738d67992ffdf054c20abee3933cfcfa2343fa1187d"}, + {file = "bitarray-2.9.3-cp36-cp36m-musllinux_1_2_s390x.whl", hash = "sha256:4f40ceac94d182de6135759d81289683ff3e4cf0da709bc5826a7fe00d754114"}, + {file = "bitarray-2.9.3-cp36-cp36m-musllinux_1_2_x86_64.whl", hash = "sha256:5b29f7844080a281635a231a37e99f0bd6f567af6cf19f4f6d212137f99a9cdf"}, + {file = "bitarray-2.9.3-cp36-cp36m-win32.whl", hash = "sha256:947cf522a3b339b73114d12417fd848fa01303dbaa7883ced4c87688dba5637c"}, + {file = "bitarray-2.9.3-cp36-cp36m-win_amd64.whl", hash = "sha256:ea794ea60d514d68777a87a74106110db7a4bbc2c46720e67010e3071afefb95"}, + {file = "bitarray-2.9.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c7bc7cb79dcac8bdce23b305e671c06eaeffb012fa065b8c33bc51df7e1733f0"}, + {file = "bitarray-2.9.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6d6380ad0f929ad9220abadd1c9b7234271c4b6ea9c753a88611d489e93a8f2e"}, + {file = "bitarray-2.9.3-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:05f4e2451e2ad450b41ede8440e52c1fd798e81027e1dc2256292ec0787d3bf1"}, + {file = "bitarray-2.9.3-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7267885c98138f3707c710d5b08eedef150a3e5112c760cfe1200f3366fd7064"}, + {file = "bitarray-2.9.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:976957423cb41df8fe0eb811dbb53d8c5ab1ca3beec7a3ca7ff679be44a72714"}, + {file = "bitarray-2.9.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c0ec5141a69f73ed6ff17ea7344d5cc166e087095bfe3661dbb42b519e76aa16"}, + {file = "bitarray-2.9.3-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:218a1b7c0652a3c1020f903ded0f9768c3719fb6d43a6e9d346e985292992d35"}, + {file = "bitarray-2.9.3-cp37-cp37m-musllinux_1_2_i686.whl", hash = "sha256:cf0c9ebf2df280794244e1e12ed626357506ddaa2f0d6f69efe493ae7bbf4bf7"}, + {file = "bitarray-2.9.3-cp37-cp37m-musllinux_1_2_ppc64le.whl", hash = "sha256:c450a04a7e091b57d4c0bd1531648522cd0ef26913ad0e5dea0432ea29b0e5c1"}, + {file = "bitarray-2.9.3-cp37-cp37m-musllinux_1_2_s390x.whl", hash = "sha256:a212eb89a50e32ef4969387e44a7410447dc59587615e3966d090edc338a1b85"}, + {file = "bitarray-2.9.3-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:4269232026212ee6b73379b88a578107a6b36a6182307a49d5509686c7495261"}, + {file = "bitarray-2.9.3-cp37-cp37m-win32.whl", hash = "sha256:8a0fb358e6a43f216c3fb0871e2ac14c16563aec363c23bc2fbbb18f6201285d"}, + {file = "bitarray-2.9.3-cp37-cp37m-win_amd64.whl", hash = "sha256:a8368774cdc737eec8fce6f28d0abc095fbc0edccf8fab8d29fddc264b68def9"}, + {file = "bitarray-2.9.3-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:7d0724a4fef6ded914075a3385ea2d05afdeed567902f83490ed4e7e7e75d9bf"}, + {file = "bitarray-2.9.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0e11b37c6dff6f41ebc49914628824ceb8c8d6ebd0fda2ebe3c0fe0c63e8621e"}, + {file = "bitarray-2.9.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:085f4081d72c7468f82f722a9f113e03a1f7a4c132ef4c2a4e680c5d78b7db00"}, + {file = "bitarray-2.9.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b530b5fbed2900634fbc43f546e384abd72ad9c49795ff5bd6a93cac1aa9c4d8"}, + {file = "bitarray-2.9.3-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:09ff88e4385967571146fb0d270442de39393d44198f4d108f3350cfd6486f0b"}, + {file = "bitarray-2.9.3-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a344bb212ddf87db4976a6711d274660a5d887da4fd3faafcdaa092152f85a6d"}, + {file = "bitarray-2.9.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cc569c96b990f92fd5946d5b50501fee48b01a116a286d1de7961ebd9c6f06f3"}, + {file = "bitarray-2.9.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f2fbbe7938ef8a7abe3e8519fa0578b51d2787f7171d3144e7d373551b5851fd"}, + {file = "bitarray-2.9.3-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:0b5912fab904507b47217509b01aa903d7f98b6e725e490a7f01661f4d9a4fa7"}, + {file = "bitarray-2.9.3-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:0c836ccfca9cf60927256738ef234dfe500565492eff269610cdd1bca56801d0"}, + {file = "bitarray-2.9.3-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:af0e4441ebf51c18fc450962f1e201c96f444d63b17cc8dcf7c0b05111bd4486"}, + {file = "bitarray-2.9.3-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:9e9b57175fb6fe76d7ddd0647e06a25f6e23f4b54b5febf337c5a840ab37dc3b"}, + {file = "bitarray-2.9.3-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:7f7de81721ae9492926bd067007ac974692182bb83fc8f0ba330a67f37a018bd"}, + {file = "bitarray-2.9.3-cp38-cp38-win32.whl", hash = "sha256:4beafb6b6e344385480df6611fdebfcb3579bbb40636ce1ddf5e72fb744e095f"}, + {file = "bitarray-2.9.3-cp38-cp38-win_amd64.whl", hash = "sha256:d8eaeca98900bd6f06a29cdef57999813a67d314f661d14901d71e04f4cf9f00"}, + {file = "bitarray-2.9.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:413965d9d384aef90e58b959f4a39f1d5060b145c26080297b7b4cf23cf38faa"}, + {file = "bitarray-2.9.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:2fbb56f2bb89c3a15304a6c0ea56013dc340a98337d9bbd7fc5c21451dc05f8c"}, + {file = "bitarray-2.9.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b8a84f39f7885627711473872d8fc58fc7a0a1e4ecd9ddf42daf9a3643432742"}, + {file = "bitarray-2.9.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:45147a9c8580e857c1344d15bd49d2b4387777bd582a2ede11be2ba740653f28"}, + {file = "bitarray-2.9.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ed255423dc60c6b2d5c0d90c13dea2962a31929767fdf1c525ab3210269e75c5"}, + {file = "bitarray-2.9.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4f5bd02671ea5c4ad52bbfe0e8e8197b6e8fa85dec1e93a4a05448c19354cc65"}, + {file = "bitarray-2.9.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d1c99c58f044549c93fb6d4cda22678deccaed19845eaa2e6917b5b7ca058f2d"}, + {file = "bitarray-2.9.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:921ee87681e32e17d1849e11c96eb6a8a7edaa1269dd26831013daf8546bde05"}, + {file = "bitarray-2.9.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:2ed97d8ec40c4658d9f9aa8f26cb473f44fa1dbccba3fa3fbe4a102e38c6a8d7"}, + {file = "bitarray-2.9.3-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:9d7f7db37edb9c50c9aad6a18f2e87dd7dc5ff2a33406821804a03263fedb2ca"}, + {file = "bitarray-2.9.3-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:292f726cdb9efc744ed0a1d7453c44151526648148a28d9a2495cc7c7b2c62a8"}, + {file = "bitarray-2.9.3-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:2cc94784238782a9376f307b1aa9a85ce77b6eded9f82d2fe062db7fdb02c645"}, + {file = "bitarray-2.9.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:5051436b1d318f6ce0df3b2f8a60bfa66a54c1d9e8719d6cb6b448140e7061f2"}, + {file = "bitarray-2.9.3-cp39-cp39-win32.whl", hash = "sha256:a3d436c686ce59fd0b93438ed2c0e1d3e1716e56bce64b874d05b9f49f1ca5d1"}, + {file = "bitarray-2.9.3-cp39-cp39-win_amd64.whl", hash = "sha256:f168fc45664266a560f2cb28a327041b7f69d4a7faad8ab89e0a1dd7c270a70d"}, + {file = "bitarray-2.9.3-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:ae36787299cff41f212aee33cfe1defee13979a41552665a412b6ca3fa8f7eb8"}, + {file = "bitarray-2.9.3-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:42afe48abb8eeb386d93e7f1165ace1dd027f136a8a31edd2b20bc57a0c071d7"}, + {file = "bitarray-2.9.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:451ceecdb86bb95ae101b0d65c8c4524d692ae3666662fef8c89877ce17748c5"}, + {file = "bitarray-2.9.3-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f4d67d3e3de2aede737b12cd75a84963700c941b77b579c14bd05517e05d7a9f"}, + {file = "bitarray-2.9.3-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:2406d13ded84049b4238815a5821e44d6f58ba00fbb6b705b6ef8ccd88be8f03"}, + {file = "bitarray-2.9.3-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:0db944fc2a048020fc940841ef46c0295b045d45a5a582cba69f78962a49a384"}, + {file = "bitarray-2.9.3-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:25c603f141171a7d108773d5136d14e572c473e4cdb3fb464c39c8a138522eb2"}, + {file = "bitarray-2.9.3-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:86c06b02705305cab0914d209caa24effda81316e2f2555a71a9aa399b75c5a5"}, + {file = "bitarray-2.9.3-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3ddda45b24a802eaaca8f794e6267ff2b62de5fe7b900b76d6f662d95192bebf"}, + {file = "bitarray-2.9.3-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:81490623950d04870c6dd4d7e6df2eb68dd04eca8bec327895ebee8bbe0cc3c7"}, + {file = "bitarray-2.9.3-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:a9e69ac6a514cc574891c24a50847022dac2fef8c3f4df530f92820a07337755"}, + {file = "bitarray-2.9.3-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:545c695ee69d26b41351ced4c76244d8b6225669fc0af3652ff8ed5a6b28325d"}, + {file = "bitarray-2.9.3-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fbb2e6daabd2a64d091ac7460b0c5c5f9268199ae9a8ce32737cf5273987f1fa"}, + {file = "bitarray-2.9.3-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a969e5cf63144b944ee8d0a0739f53ef1ae54725b5e01258d690a8995d880526"}, + {file = "bitarray-2.9.3-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:73bbb9301ac9000f869c51db2cc5fcc6541985d3fcdcfe6e02f90c9e672a00be"}, + {file = "bitarray-2.9.3-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:7c07e346926488a85a48542d898f4168f3587ec42379fef0d18be301e08a3f27"}, + {file = "bitarray-2.9.3-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4a26d8a14cd8ee496306f2afac34833502dd1ae826355af309333b6f252b23fe"}, + {file = "bitarray-2.9.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cef148ed37c892395ca182d6a235524165a9f765f4283d0a1ced891e7c43c67a"}, + {file = "bitarray-2.9.3-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:94f35a8f0c8a50ee98a8bef9a070d0b68ecf623f20a2148cc039aba5557346a6"}, + {file = "bitarray-2.9.3-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:b03207460daae828e2743874c84264e8d96a8c6156490279092b624cd5d2de08"}, + {file = "bitarray-2.9.3.tar.gz", hash = "sha256:9eff55cf189b0c37ba97156a00d640eb7392db58a8049be6f26ff2712b93fa89"}, ] [[package]] name = "bitstring" -version = "4.1.4" +version = "4.2.3" description = "Simple construction, analysis and modification of binary data." optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "bitstring-4.1.4-py3-none-any.whl", hash = "sha256:da46c4d6f8f3fb75a85566fdd33d5083ba8b8f268ed76f34eefe5a00da426192"}, - {file = "bitstring-4.1.4.tar.gz", hash = "sha256:94f3f1c45383ebe8fd4a359424ffeb75c2f290760ae8fcac421b44f89ac85213"}, + {file = "bitstring-4.2.3-py3-none-any.whl", hash = "sha256:20ed0036e2fcf0323acb0f92f0b7b178516a080f3e91061470aa019ac4ede404"}, + {file = "bitstring-4.2.3.tar.gz", hash = "sha256:e0c447af3fda0d114f77b88c2d199f02f97ee7e957e6d719f40f41cf15fbb897"}, ] [package.dependencies] -bitarray = ">=2.8.0,<3.0.0" +bitarray = ">=2.9.0,<3.0.0" [[package]] name = "black" -version = "24.4.0" +version = "24.10.0" description = "The uncompromising code formatter." optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" files = [ - {file = "black-24.4.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6ad001a9ddd9b8dfd1b434d566be39b1cd502802c8d38bbb1ba612afda2ef436"}, - {file = "black-24.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e3a3a092b8b756c643fe45f4624dbd5a389f770a4ac294cf4d0fce6af86addaf"}, - {file = "black-24.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dae79397f367ac8d7adb6c779813328f6d690943f64b32983e896bcccd18cbad"}, - {file = "black-24.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:71d998b73c957444fb7c52096c3843875f4b6b47a54972598741fe9a7f737fcb"}, - {file = "black-24.4.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:8e5537f456a22cf5cfcb2707803431d2feeb82ab3748ade280d6ccd0b40ed2e8"}, - {file = "black-24.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:64e60a7edd71fd542a10a9643bf369bfd2644de95ec71e86790b063aa02ff745"}, - {file = "black-24.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5cd5b4f76056cecce3e69b0d4c228326d2595f506797f40b9233424e2524c070"}, - {file = "black-24.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:64578cf99b6b46a6301bc28bdb89f9d6f9b592b1c5837818a177c98525dbe397"}, - {file = "black-24.4.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:f95cece33329dc4aa3b0e1a771c41075812e46cf3d6e3f1dfe3d91ff09826ed2"}, - {file = "black-24.4.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:4396ca365a4310beef84d446ca5016f671b10f07abdba3e4e4304218d2c71d33"}, - {file = "black-24.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:44d99dfdf37a2a00a6f7a8dcbd19edf361d056ee51093b2445de7ca09adac965"}, - {file = "black-24.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:21f9407063ec71c5580b8ad975653c66508d6a9f57bd008bb8691d273705adcd"}, - {file = "black-24.4.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:652e55bb722ca026299eb74e53880ee2315b181dfdd44dca98e43448620ddec1"}, - {file = "black-24.4.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7f2966b9b2b3b7104fca9d75b2ee856fe3fdd7ed9e47c753a4bb1a675f2caab8"}, - {file = "black-24.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1bb9ca06e556a09f7f7177bc7cb604e5ed2d2df1e9119e4f7d2f1f7071c32e5d"}, - {file = "black-24.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:d4e71cdebdc8efeb6deaf5f2deb28325f8614d48426bed118ecc2dcaefb9ebf3"}, - {file = "black-24.4.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6644f97a7ef6f401a150cca551a1ff97e03c25d8519ee0bbc9b0058772882665"}, - {file = "black-24.4.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:75a2d0b4f5eb81f7eebc31f788f9830a6ce10a68c91fbe0fade34fff7a2836e6"}, - {file = "black-24.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eb949f56a63c5e134dfdca12091e98ffb5fd446293ebae123d10fc1abad00b9e"}, - {file = "black-24.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:7852b05d02b5b9a8c893ab95863ef8986e4dda29af80bbbda94d7aee1abf8702"}, - {file = "black-24.4.0-py3-none-any.whl", hash = "sha256:74eb9b5420e26b42c00a3ff470dc0cd144b80a766128b1771d07643165e08d0e"}, - {file = "black-24.4.0.tar.gz", hash = "sha256:f07b69fda20578367eaebbd670ff8fc653ab181e1ff95d84497f9fa20e7d0641"}, + {file = "black-24.10.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e6668650ea4b685440857138e5fe40cde4d652633b1bdffc62933d0db4ed9812"}, + {file = "black-24.10.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:1c536fcf674217e87b8cc3657b81809d3c085d7bf3ef262ead700da345bfa6ea"}, + {file = "black-24.10.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:649fff99a20bd06c6f727d2a27f401331dc0cc861fb69cde910fe95b01b5928f"}, + {file = "black-24.10.0-cp310-cp310-win_amd64.whl", hash = "sha256:fe4d6476887de70546212c99ac9bd803d90b42fc4767f058a0baa895013fbb3e"}, + {file = "black-24.10.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5a2221696a8224e335c28816a9d331a6c2ae15a2ee34ec857dcf3e45dbfa99ad"}, + {file = "black-24.10.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f9da3333530dbcecc1be13e69c250ed8dfa67f43c4005fb537bb426e19200d50"}, + {file = "black-24.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4007b1393d902b48b36958a216c20c4482f601569d19ed1df294a496eb366392"}, + {file = "black-24.10.0-cp311-cp311-win_amd64.whl", hash = "sha256:394d4ddc64782e51153eadcaaca95144ac4c35e27ef9b0a42e121ae7e57a9175"}, + {file = "black-24.10.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:b5e39e0fae001df40f95bd8cc36b9165c5e2ea88900167bddf258bacef9bbdc3"}, + {file = "black-24.10.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:d37d422772111794b26757c5b55a3eade028aa3fde43121ab7b673d050949d65"}, + {file = "black-24.10.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:14b3502784f09ce2443830e3133dacf2c0110d45191ed470ecb04d0f5f6fcb0f"}, + {file = "black-24.10.0-cp312-cp312-win_amd64.whl", hash = "sha256:30d2c30dc5139211dda799758559d1b049f7f14c580c409d6ad925b74a4208a8"}, + {file = "black-24.10.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:1cbacacb19e922a1d75ef2b6ccaefcd6e93a2c05ede32f06a21386a04cedb981"}, + {file = "black-24.10.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:1f93102e0c5bb3907451063e08b9876dbeac810e7da5a8bfb7aeb5a9ef89066b"}, + {file = "black-24.10.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ddacb691cdcdf77b96f549cf9591701d8db36b2f19519373d60d31746068dbf2"}, + {file = "black-24.10.0-cp313-cp313-win_amd64.whl", hash = "sha256:680359d932801c76d2e9c9068d05c6b107f2584b2a5b88831c83962eb9984c1b"}, + {file = "black-24.10.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:17374989640fbca88b6a448129cd1745c5eb8d9547b464f281b251dd00155ccd"}, + {file = "black-24.10.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:63f626344343083322233f175aaf372d326de8436f5928c042639a4afbbf1d3f"}, + {file = "black-24.10.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ccfa1d0cb6200857f1923b602f978386a3a2758a65b52e0950299ea014be6800"}, + {file = "black-24.10.0-cp39-cp39-win_amd64.whl", hash = "sha256:2cd9c95431d94adc56600710f8813ee27eea544dd118d45896bb734e9d7a0dc7"}, + {file = "black-24.10.0-py3-none-any.whl", hash = "sha256:3bb2b7a1f7b685f85b11fed1ef10f8a9148bceb49853e47a294a3dd963c1dd7d"}, + {file = "black-24.10.0.tar.gz", hash = "sha256:846ea64c97afe3bc677b761787993be4991810ecc7a4a937816dd6bddedc4875"}, ] [package.dependencies] @@ -304,19 +386,19 @@ typing-extensions = {version = ">=4.0.1", markers = "python_version < \"3.11\""} [package.extras] colorama = ["colorama (>=0.4.3)"] -d = ["aiohttp (>=3.7.4)", "aiohttp (>=3.7.4,!=3.9.0)"] +d = ["aiohttp (>=3.10)"] jupyter = ["ipython (>=7.8.0)", "tokenize-rt (>=3.2.0)"] uvloop = ["uvloop (>=0.15.2)"] [[package]] name = "bolt11" -version = "2.0.5" +version = "2.1.0" description = "A library for encoding and decoding BOLT11 payment requests." optional = false python-versions = ">=3.8.1" files = [ - {file = "bolt11-2.0.5-py3-none-any.whl", hash = "sha256:6791c2edee804a4a8a7d092c689f8d2c01212271a33963ede4a988b7a6ce1b81"}, - {file = "bolt11-2.0.5.tar.gz", hash = "sha256:e6be2748b0c4a017900761f63d9944c1dde8f22fd2829006679a0e2346eaa47b"}, + {file = "bolt11-2.1.0-py3-none-any.whl", hash = "sha256:1535e441233414a9d8031a99fd3be07de4674bffda948033579404d44a42f614"}, + {file = "bolt11-2.1.0.tar.gz", hash = "sha256:177c63cd88d1eaba669eddb5937364676226253f2e9e5b77e8fe317ef32e62dd"}, ] [package.dependencies] @@ -324,79 +406,93 @@ base58 = "*" bech32 = "*" bitstring = "*" click = "*" -ecdsa = "*" -secp256k1 = "*" +coincurve = "*" [[package]] name = "certifi" -version = "2024.2.2" +version = "2024.8.30" description = "Python package for providing Mozilla's CA Bundle." optional = false python-versions = ">=3.6" files = [ - {file = "certifi-2024.2.2-py3-none-any.whl", hash = "sha256:dc383c07b76109f368f6106eee2b593b04a011ea4d55f652c6ca24a754d1cdd1"}, - {file = "certifi-2024.2.2.tar.gz", hash = "sha256:0569859f95fc761b18b45ef421b1290a0f65f147e92a1e5eb3e635f9a5e4e66f"}, + {file = "certifi-2024.8.30-py3-none-any.whl", hash = "sha256:922820b53db7a7257ffbda3f597266d435245903d80737e34f8a45ff3e3230d8"}, + {file = "certifi-2024.8.30.tar.gz", hash = "sha256:bec941d2aa8195e248a60b31ff9f0558284cf01a52591ceda73ea9afffd69fd9"}, ] [[package]] name = "cffi" -version = "1.16.0" +version = "1.17.1" description = "Foreign Function Interface for Python calling C code." optional = false python-versions = ">=3.8" files = [ - {file = "cffi-1.16.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6b3d6606d369fc1da4fd8c357d026317fbb9c9b75d36dc16e90e84c26854b088"}, - {file = "cffi-1.16.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ac0f5edd2360eea2f1daa9e26a41db02dd4b0451b48f7c318e217ee092a213e9"}, - {file = "cffi-1.16.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7e61e3e4fa664a8588aa25c883eab612a188c725755afff6289454d6362b9673"}, - {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a72e8961a86d19bdb45851d8f1f08b041ea37d2bd8d4fd19903bc3083d80c896"}, - {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5b50bf3f55561dac5438f8e70bfcdfd74543fd60df5fa5f62d94e5867deca684"}, - {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7651c50c8c5ef7bdb41108b7b8c5a83013bfaa8a935590c5d74627c047a583c7"}, - {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e4108df7fe9b707191e55f33efbcb2d81928e10cea45527879a4749cbe472614"}, - {file = "cffi-1.16.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:32c68ef735dbe5857c810328cb2481e24722a59a2003018885514d4c09af9743"}, - {file = "cffi-1.16.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:673739cb539f8cdaa07d92d02efa93c9ccf87e345b9a0b556e3ecc666718468d"}, - {file = "cffi-1.16.0-cp310-cp310-win32.whl", hash = "sha256:9f90389693731ff1f659e55c7d1640e2ec43ff725cc61b04b2f9c6d8d017df6a"}, - {file = "cffi-1.16.0-cp310-cp310-win_amd64.whl", hash = "sha256:e6024675e67af929088fda399b2094574609396b1decb609c55fa58b028a32a1"}, - {file = "cffi-1.16.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b84834d0cf97e7d27dd5b7f3aca7b6e9263c56308ab9dc8aae9784abb774d404"}, - {file = "cffi-1.16.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1b8ebc27c014c59692bb2664c7d13ce7a6e9a629be20e54e7271fa696ff2b417"}, - {file = "cffi-1.16.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ee07e47c12890ef248766a6e55bd38ebfb2bb8edd4142d56db91b21ea68b7627"}, - {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8a9d3ebe49f084ad71f9269834ceccbf398253c9fac910c4fd7053ff1386936"}, - {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e70f54f1796669ef691ca07d046cd81a29cb4deb1e5f942003f401c0c4a2695d"}, - {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5bf44d66cdf9e893637896c7faa22298baebcd18d1ddb6d2626a6e39793a1d56"}, - {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7b78010e7b97fef4bee1e896df8a4bbb6712b7f05b7ef630f9d1da00f6444d2e"}, - {file = "cffi-1.16.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c6a164aa47843fb1b01e941d385aab7215563bb8816d80ff3a363a9f8448a8dc"}, - {file = "cffi-1.16.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e09f3ff613345df5e8c3667da1d918f9149bd623cd9070c983c013792a9a62eb"}, - {file = "cffi-1.16.0-cp311-cp311-win32.whl", hash = "sha256:2c56b361916f390cd758a57f2e16233eb4f64bcbeee88a4881ea90fca14dc6ab"}, - {file = "cffi-1.16.0-cp311-cp311-win_amd64.whl", hash = "sha256:db8e577c19c0fda0beb7e0d4e09e0ba74b1e4c092e0e40bfa12fe05b6f6d75ba"}, - {file = "cffi-1.16.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:fa3a0128b152627161ce47201262d3140edb5a5c3da88d73a1b790a959126956"}, - {file = "cffi-1.16.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:68e7c44931cc171c54ccb702482e9fc723192e88d25a0e133edd7aff8fcd1f6e"}, - {file = "cffi-1.16.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:abd808f9c129ba2beda4cfc53bde801e5bcf9d6e0f22f095e45327c038bfe68e"}, - {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88e2b3c14bdb32e440be531ade29d3c50a1a59cd4e51b1dd8b0865c54ea5d2e2"}, - {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fcc8eb6d5902bb1cf6dc4f187ee3ea80a1eba0a89aba40a5cb20a5087d961357"}, - {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b7be2d771cdba2942e13215c4e340bfd76398e9227ad10402a8767ab1865d2e6"}, - {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e715596e683d2ce000574bae5d07bd522c781a822866c20495e52520564f0969"}, - {file = "cffi-1.16.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:2d92b25dbf6cae33f65005baf472d2c245c050b1ce709cc4588cdcdd5495b520"}, - {file = "cffi-1.16.0-cp312-cp312-win32.whl", hash = "sha256:b2ca4e77f9f47c55c194982e10f058db063937845bb2b7a86c84a6cfe0aefa8b"}, - {file = "cffi-1.16.0-cp312-cp312-win_amd64.whl", hash = "sha256:68678abf380b42ce21a5f2abde8efee05c114c2fdb2e9eef2efdb0257fba1235"}, - {file = "cffi-1.16.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0c9ef6ff37e974b73c25eecc13952c55bceed9112be2d9d938ded8e856138bcc"}, - {file = "cffi-1.16.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a09582f178759ee8128d9270cd1344154fd473bb77d94ce0aeb2a93ebf0feaf0"}, - {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e760191dd42581e023a68b758769e2da259b5d52e3103c6060ddc02c9edb8d7b"}, - {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:80876338e19c951fdfed6198e70bc88f1c9758b94578d5a7c4c91a87af3cf31c"}, - {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a6a14b17d7e17fa0d207ac08642c8820f84f25ce17a442fd15e27ea18d67c59b"}, - {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6602bc8dc6f3a9e02b6c22c4fc1e47aa50f8f8e6d3f78a5e16ac33ef5fefa324"}, - {file = "cffi-1.16.0-cp38-cp38-win32.whl", hash = "sha256:131fd094d1065b19540c3d72594260f118b231090295d8c34e19a7bbcf2e860a"}, - {file = "cffi-1.16.0-cp38-cp38-win_amd64.whl", hash = "sha256:31d13b0f99e0836b7ff893d37af07366ebc90b678b6664c955b54561fc36ef36"}, - {file = "cffi-1.16.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:582215a0e9adbe0e379761260553ba11c58943e4bbe9c36430c4ca6ac74b15ed"}, - {file = "cffi-1.16.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b29ebffcf550f9da55bec9e02ad430c992a87e5f512cd63388abb76f1036d8d2"}, - {file = "cffi-1.16.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dc9b18bf40cc75f66f40a7379f6a9513244fe33c0e8aa72e2d56b0196a7ef872"}, - {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9cb4a35b3642fc5c005a6755a5d17c6c8b6bcb6981baf81cea8bfbc8903e8ba8"}, - {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b86851a328eedc692acf81fb05444bdf1891747c25af7529e39ddafaf68a4f3f"}, - {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c0f31130ebc2d37cdd8e44605fb5fa7ad59049298b3f745c74fa74c62fbfcfc4"}, - {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f8e709127c6c77446a8c0a8c8bf3c8ee706a06cd44b1e827c3e6a2ee6b8c098"}, - {file = "cffi-1.16.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:748dcd1e3d3d7cd5443ef03ce8685043294ad6bd7c02a38d1bd367cfd968e000"}, - {file = "cffi-1.16.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8895613bcc094d4a1b2dbe179d88d7fb4a15cee43c052e8885783fac397d91fe"}, - {file = "cffi-1.16.0-cp39-cp39-win32.whl", hash = "sha256:ed86a35631f7bfbb28e108dd96773b9d5a6ce4811cf6ea468bb6a359b256b1e4"}, - {file = "cffi-1.16.0-cp39-cp39-win_amd64.whl", hash = "sha256:3686dffb02459559c74dd3d81748269ffb0eb027c39a6fc99502de37d501faa8"}, - {file = "cffi-1.16.0.tar.gz", hash = "sha256:bcb3ef43e58665bbda2fb198698fcae6776483e0c4a631aa5647806c25e02cc0"}, + {file = "cffi-1.17.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:df8b1c11f177bc2313ec4b2d46baec87a5f3e71fc8b45dab2ee7cae86d9aba14"}, + {file = "cffi-1.17.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8f2cdc858323644ab277e9bb925ad72ae0e67f69e804f4898c070998d50b1a67"}, + {file = "cffi-1.17.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:edae79245293e15384b51f88b00613ba9f7198016a5948b5dddf4917d4d26382"}, + {file = "cffi-1.17.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:45398b671ac6d70e67da8e4224a065cec6a93541bb7aebe1b198a61b58c7b702"}, + {file = "cffi-1.17.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ad9413ccdeda48c5afdae7e4fa2192157e991ff761e7ab8fdd8926f40b160cc3"}, + {file = "cffi-1.17.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5da5719280082ac6bd9aa7becb3938dc9f9cbd57fac7d2871717b1feb0902ab6"}, + {file = "cffi-1.17.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2bb1a08b8008b281856e5971307cc386a8e9c5b625ac297e853d36da6efe9c17"}, + {file = "cffi-1.17.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:045d61c734659cc045141be4bae381a41d89b741f795af1dd018bfb532fd0df8"}, + {file = "cffi-1.17.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:6883e737d7d9e4899a8a695e00ec36bd4e5e4f18fabe0aca0efe0a4b44cdb13e"}, + {file = "cffi-1.17.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:6b8b4a92e1c65048ff98cfe1f735ef8f1ceb72e3d5f0c25fdb12087a23da22be"}, + {file = "cffi-1.17.1-cp310-cp310-win32.whl", hash = "sha256:c9c3d058ebabb74db66e431095118094d06abf53284d9c81f27300d0e0d8bc7c"}, + {file = "cffi-1.17.1-cp310-cp310-win_amd64.whl", hash = "sha256:0f048dcf80db46f0098ccac01132761580d28e28bc0f78ae0d58048063317e15"}, + {file = "cffi-1.17.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a45e3c6913c5b87b3ff120dcdc03f6131fa0065027d0ed7ee6190736a74cd401"}, + {file = "cffi-1.17.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:30c5e0cb5ae493c04c8b42916e52ca38079f1b235c2f8ae5f4527b963c401caf"}, + {file = "cffi-1.17.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f75c7ab1f9e4aca5414ed4d8e5c0e303a34f4421f8a0d47a4d019ceff0ab6af4"}, + {file = "cffi-1.17.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a1ed2dd2972641495a3ec98445e09766f077aee98a1c896dcb4ad0d303628e41"}, + {file = "cffi-1.17.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:46bf43160c1a35f7ec506d254e5c890f3c03648a4dbac12d624e4490a7046cd1"}, + {file = "cffi-1.17.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a24ed04c8ffd54b0729c07cee15a81d964e6fee0e3d4d342a27b020d22959dc6"}, + {file = "cffi-1.17.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:610faea79c43e44c71e1ec53a554553fa22321b65fae24889706c0a84d4ad86d"}, + {file = "cffi-1.17.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:a9b15d491f3ad5d692e11f6b71f7857e7835eb677955c00cc0aefcd0669adaf6"}, + {file = "cffi-1.17.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:de2ea4b5833625383e464549fec1bc395c1bdeeb5f25c4a3a82b5a8c756ec22f"}, + {file = "cffi-1.17.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:fc48c783f9c87e60831201f2cce7f3b2e4846bf4d8728eabe54d60700b318a0b"}, + {file = "cffi-1.17.1-cp311-cp311-win32.whl", hash = "sha256:85a950a4ac9c359340d5963966e3e0a94a676bd6245a4b55bc43949eee26a655"}, + {file = "cffi-1.17.1-cp311-cp311-win_amd64.whl", hash = "sha256:caaf0640ef5f5517f49bc275eca1406b0ffa6aa184892812030f04c2abf589a0"}, + {file = "cffi-1.17.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:805b4371bf7197c329fcb3ead37e710d1bca9da5d583f5073b799d5c5bd1eee4"}, + {file = "cffi-1.17.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:733e99bc2df47476e3848417c5a4540522f234dfd4ef3ab7fafdf555b082ec0c"}, + {file = "cffi-1.17.1-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1257bdabf294dceb59f5e70c64a3e2f462c30c7ad68092d01bbbfb1c16b1ba36"}, + {file = "cffi-1.17.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da95af8214998d77a98cc14e3a3bd00aa191526343078b530ceb0bd710fb48a5"}, + {file = "cffi-1.17.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d63afe322132c194cf832bfec0dc69a99fb9bb6bbd550f161a49e9e855cc78ff"}, + {file = "cffi-1.17.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f79fc4fc25f1c8698ff97788206bb3c2598949bfe0fef03d299eb1b5356ada99"}, + {file = "cffi-1.17.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b62ce867176a75d03a665bad002af8e6d54644fad99a3c70905c543130e39d93"}, + {file = "cffi-1.17.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:386c8bf53c502fff58903061338ce4f4950cbdcb23e2902d86c0f722b786bbe3"}, + {file = "cffi-1.17.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4ceb10419a9adf4460ea14cfd6bc43d08701f0835e979bf821052f1805850fe8"}, + {file = "cffi-1.17.1-cp312-cp312-win32.whl", hash = "sha256:a08d7e755f8ed21095a310a693525137cfe756ce62d066e53f502a83dc550f65"}, + {file = "cffi-1.17.1-cp312-cp312-win_amd64.whl", hash = "sha256:51392eae71afec0d0c8fb1a53b204dbb3bcabcb3c9b807eedf3e1e6ccf2de903"}, + {file = "cffi-1.17.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f3a2b4222ce6b60e2e8b337bb9596923045681d71e5a082783484d845390938e"}, + {file = "cffi-1.17.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0984a4925a435b1da406122d4d7968dd861c1385afe3b45ba82b750f229811e2"}, + {file = "cffi-1.17.1-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d01b12eeeb4427d3110de311e1774046ad344f5b1a7403101878976ecd7a10f3"}, + {file = "cffi-1.17.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:706510fe141c86a69c8ddc029c7910003a17353970cff3b904ff0686a5927683"}, + {file = "cffi-1.17.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de55b766c7aa2e2a3092c51e0483d700341182f08e67c63630d5b6f200bb28e5"}, + {file = "cffi-1.17.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c59d6e989d07460165cc5ad3c61f9fd8f1b4796eacbd81cee78957842b834af4"}, + {file = "cffi-1.17.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd398dbc6773384a17fe0d3e7eeb8d1a21c2200473ee6806bb5e6a8e62bb73dd"}, + {file = "cffi-1.17.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:3edc8d958eb099c634dace3c7e16560ae474aa3803a5df240542b305d14e14ed"}, + {file = "cffi-1.17.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:72e72408cad3d5419375fc87d289076ee319835bdfa2caad331e377589aebba9"}, + {file = "cffi-1.17.1-cp313-cp313-win32.whl", hash = "sha256:e03eab0a8677fa80d646b5ddece1cbeaf556c313dcfac435ba11f107ba117b5d"}, + {file = "cffi-1.17.1-cp313-cp313-win_amd64.whl", hash = "sha256:f6a16c31041f09ead72d69f583767292f750d24913dadacf5756b966aacb3f1a"}, + {file = "cffi-1.17.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:636062ea65bd0195bc012fea9321aca499c0504409f413dc88af450b57ffd03b"}, + {file = "cffi-1.17.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c7eac2ef9b63c79431bc4b25f1cd649d7f061a28808cbc6c47b534bd789ef964"}, + {file = "cffi-1.17.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e221cf152cff04059d011ee126477f0d9588303eb57e88923578ace7baad17f9"}, + {file = "cffi-1.17.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:31000ec67d4221a71bd3f67df918b1f88f676f1c3b535a7eb473255fdc0b83fc"}, + {file = "cffi-1.17.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6f17be4345073b0a7b8ea599688f692ac3ef23ce28e5df79c04de519dbc4912c"}, + {file = "cffi-1.17.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e2b1fac190ae3ebfe37b979cc1ce69c81f4e4fe5746bb401dca63a9062cdaf1"}, + {file = "cffi-1.17.1-cp38-cp38-win32.whl", hash = "sha256:7596d6620d3fa590f677e9ee430df2958d2d6d6de2feeae5b20e82c00b76fbf8"}, + {file = "cffi-1.17.1-cp38-cp38-win_amd64.whl", hash = "sha256:78122be759c3f8a014ce010908ae03364d00a1f81ab5c7f4a7a5120607ea56e1"}, + {file = "cffi-1.17.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b2ab587605f4ba0bf81dc0cb08a41bd1c0a5906bd59243d56bad7668a6fc6c16"}, + {file = "cffi-1.17.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:28b16024becceed8c6dfbc75629e27788d8a3f9030691a1dbf9821a128b22c36"}, + {file = "cffi-1.17.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1d599671f396c4723d016dbddb72fe8e0397082b0a77a4fab8028923bec050e8"}, + {file = "cffi-1.17.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ca74b8dbe6e8e8263c0ffd60277de77dcee6c837a3d0881d8c1ead7268c9e576"}, + {file = "cffi-1.17.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f7f5baafcc48261359e14bcd6d9bff6d4b28d9103847c9e136694cb0501aef87"}, + {file = "cffi-1.17.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:98e3969bcff97cae1b2def8ba499ea3d6f31ddfdb7635374834cf89a1a08ecf0"}, + {file = "cffi-1.17.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cdf5ce3acdfd1661132f2a9c19cac174758dc2352bfe37d98aa7512c6b7178b3"}, + {file = "cffi-1.17.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:9755e4345d1ec879e3849e62222a18c7174d65a6a92d5b346b1863912168b595"}, + {file = "cffi-1.17.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:f1e22e8c4419538cb197e4dd60acc919d7696e5ef98ee4da4e01d3f8cfa4cc5a"}, + {file = "cffi-1.17.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:c03e868a0b3bc35839ba98e74211ed2b05d2119be4e8a0f224fba9384f1fe02e"}, + {file = "cffi-1.17.1-cp39-cp39-win32.whl", hash = "sha256:e31ae45bc2e29f6b2abd0de1cc3b9d5205aa847cafaecb8af1476a609a2f6eb7"}, + {file = "cffi-1.17.1-cp39-cp39-win_amd64.whl", hash = "sha256:d016c76bdd850f3c626af19b0542c9677ba156e4ee4fccfdd7848803533ef662"}, + {file = "cffi-1.17.1.tar.gz", hash = "sha256:1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824"}, ] [package.dependencies] @@ -415,101 +511,116 @@ files = [ [[package]] name = "charset-normalizer" -version = "3.3.2" +version = "3.4.0" description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." optional = false python-versions = ">=3.7.0" files = [ - {file = "charset-normalizer-3.3.2.tar.gz", hash = "sha256:f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:25baf083bf6f6b341f4121c2f3c548875ee6f5339300e08be3f2b2ba1721cdd3"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:06435b539f889b1f6f4ac1758871aae42dc3a8c0e24ac9e60c2384973ad73027"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9063e24fdb1e498ab71cb7419e24622516c4a04476b17a2dab57e8baa30d6e03"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6897af51655e3691ff853668779c7bad41579facacf5fd7253b0133308cf000d"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1d3193f4a680c64b4b6a9115943538edb896edc190f0b222e73761716519268e"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cd70574b12bb8a4d2aaa0094515df2463cb429d8536cfb6c7ce983246983e5a6"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8465322196c8b4d7ab6d1e049e4c5cb460d0394da4a27d23cc242fbf0034b6b5"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a9a8e9031d613fd2009c182b69c7b2c1ef8239a0efb1df3f7c8da66d5dd3d537"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:beb58fe5cdb101e3a055192ac291b7a21e3b7ef4f67fa1d74e331a7f2124341c"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e06ed3eb3218bc64786f7db41917d4e686cc4856944f53d5bdf83a6884432e12"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:2e81c7b9c8979ce92ed306c249d46894776a909505d8f5a4ba55b14206e3222f"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:572c3763a264ba47b3cf708a44ce965d98555f618ca42c926a9c1616d8f34269"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fd1abc0d89e30cc4e02e4064dc67fcc51bd941eb395c502aac3ec19fab46b519"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-win32.whl", hash = "sha256:3d47fa203a7bd9c5b6cee4736ee84ca03b8ef23193c0d1ca99b5089f72645c73"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:10955842570876604d404661fbccbc9c7e684caf432c09c715ec38fbae45ae09"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:802fe99cca7457642125a8a88a084cef28ff0cf9407060f7b93dca5aa25480db"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:573f6eac48f4769d667c4442081b1794f52919e7edada77495aaed9236d13a96"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:549a3a73da901d5bc3ce8d24e0600d1fa85524c10287f6004fbab87672bf3e1e"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f27273b60488abe721a075bcca6d7f3964f9f6f067c8c4c605743023d7d3944f"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ceae2f17a9c33cb48e3263960dc5fc8005351ee19db217e9b1bb15d28c02574"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:65f6f63034100ead094b8744b3b97965785388f308a64cf8d7c34f2f2e5be0c4"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:753f10e867343b4511128c6ed8c82f7bec3bd026875576dfd88483c5c73b2fd8"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4a78b2b446bd7c934f5dcedc588903fb2f5eec172f3d29e52a9096a43722adfc"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e537484df0d8f426ce2afb2d0f8e1c3d0b114b83f8850e5f2fbea0e797bd82ae"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:eb6904c354526e758fda7167b33005998fb68c46fbc10e013ca97f21ca5c8887"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:deb6be0ac38ece9ba87dea880e438f25ca3eddfac8b002a2ec3d9183a454e8ae"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:4ab2fe47fae9e0f9dee8c04187ce5d09f48eabe611be8259444906793ab7cbce"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:80402cd6ee291dcb72644d6eac93785fe2c8b9cb30893c1af5b8fdd753b9d40f"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-win32.whl", hash = "sha256:7cd13a2e3ddeed6913a65e66e94b51d80a041145a026c27e6bb76c31a853c6ab"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:663946639d296df6a2bb2aa51b60a2454ca1cb29835324c640dafb5ff2131a77"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:0b2b64d2bb6d3fb9112bafa732def486049e63de9618b5843bcdd081d8144cd8"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:ddbb2551d7e0102e7252db79ba445cdab71b26640817ab1e3e3648dad515003b"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:55086ee1064215781fff39a1af09518bc9255b50d6333f2e4c74ca09fac6a8f6"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8f4a014bc36d3c57402e2977dada34f9c12300af536839dc38c0beab8878f38a"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a10af20b82360ab00827f916a6058451b723b4e65030c5a18577c8b2de5b3389"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8d756e44e94489e49571086ef83b2bb8ce311e730092d2c34ca8f7d925cb20aa"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:90d558489962fd4918143277a773316e56c72da56ec7aa3dc3dbbe20fdfed15b"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ac7ffc7ad6d040517be39eb591cac5ff87416c2537df6ba3cba3bae290c0fed"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:7ed9e526742851e8d5cc9e6cf41427dfc6068d4f5a3bb03659444b4cabf6bc26"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:8bdb58ff7ba23002a4c5808d608e4e6c687175724f54a5dade5fa8c67b604e4d"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:6b3251890fff30ee142c44144871185dbe13b11bab478a88887a639655be1068"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:b4a23f61ce87adf89be746c8a8974fe1c823c891d8f86eb218bb957c924bb143"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:efcb3f6676480691518c177e3b465bcddf57cea040302f9f4e6e191af91174d4"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-win32.whl", hash = "sha256:d965bba47ddeec8cd560687584e88cf699fd28f192ceb452d1d7ee807c5597b7"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:96b02a3dc4381e5494fad39be677abcb5e6634bf7b4fa83a6dd3112607547001"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:95f2a5796329323b8f0512e09dbb7a1860c46a39da62ecb2324f116fa8fdc85c"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c002b4ffc0be611f0d9da932eb0f704fe2602a9a949d1f738e4c34c75b0863d5"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a981a536974bbc7a512cf44ed14938cf01030a99e9b3a06dd59578882f06f985"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3287761bc4ee9e33561a7e058c72ac0938c4f57fe49a09eae428fd88aafe7bb6"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:42cb296636fcc8b0644486d15c12376cb9fa75443e00fb25de0b8602e64c1714"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0a55554a2fa0d408816b3b5cedf0045f4b8e1a6065aec45849de2d6f3f8e9786"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:c083af607d2515612056a31f0a8d9e0fcb5876b7bfc0abad3ecd275bc4ebc2d5"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:87d1351268731db79e0f8e745d92493ee2841c974128ef629dc518b937d9194c"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:bd8f7df7d12c2db9fab40bdd87a7c09b1530128315d047a086fa3ae3435cb3a8"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:c180f51afb394e165eafe4ac2936a14bee3eb10debc9d9e4db8958fe36afe711"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:8c622a5fe39a48f78944a87d4fb8a53ee07344641b0562c540d840748571b811"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-win32.whl", hash = "sha256:db364eca23f876da6f9e16c9da0df51aa4f104a972735574842618b8c6d999d4"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-win_amd64.whl", hash = "sha256:86216b5cee4b06df986d214f664305142d9c76df9b6512be2738aa72a2048f99"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:6463effa3186ea09411d50efc7d85360b38d5f09b870c48e4600f63af490e56a"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6c4caeef8fa63d06bd437cd4bdcf3ffefe6738fb1b25951440d80dc7df8c03ac"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:37e55c8e51c236f95b033f6fb391d7d7970ba5fe7ff453dad675e88cf303377a"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb69256e180cb6c8a894fee62b3afebae785babc1ee98b81cdf68bbca1987f33"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ae5f4161f18c61806f411a13b0310bea87f987c7d2ecdbdaad0e94eb2e404238"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b2b0a0c0517616b6869869f8c581d4eb2dd83a4d79e0ebcb7d373ef9956aeb0a"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:45485e01ff4d3630ec0d9617310448a8702f70e9c01906b0d0118bdf9d124cf2"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eb00ed941194665c332bf8e078baf037d6c35d7c4f3102ea2d4f16ca94a26dc8"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:2127566c664442652f024c837091890cb1942c30937add288223dc895793f898"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a50aebfa173e157099939b17f18600f72f84eed3049e743b68ad15bd69b6bf99"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:4d0d1650369165a14e14e1e47b372cfcb31d6ab44e6e33cb2d4e57265290044d"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:923c0c831b7cfcb071580d3f46c4baf50f174be571576556269530f4bbd79d04"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:06a81e93cd441c56a9b65d8e1d043daeb97a3d0856d177d5c90ba85acb3db087"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-win32.whl", hash = "sha256:6ef1d82a3af9d3eecdba2321dc1b3c238245d890843e040e41e470ffa64c3e25"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-win_amd64.whl", hash = "sha256:eb8821e09e916165e160797a6c17edda0679379a4be5c716c260e836e122f54b"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:c235ebd9baae02f1b77bcea61bce332cb4331dc3617d254df3323aa01ab47bd4"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5b4c145409bef602a690e7cfad0a15a55c13320ff7a3ad7ca59c13bb8ba4d45d"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:68d1f8a9e9e37c1223b656399be5d6b448dea850bed7d0f87a8311f1ff3dabb0"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22afcb9f253dac0696b5a4be4a1c0f8762f8239e21b99680099abd9b2b1b2269"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e27ad930a842b4c5eb8ac0016b0a54f5aebbe679340c26101df33424142c143c"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1f79682fbe303db92bc2b1136016a38a42e835d932bab5b3b1bfcfbf0640e519"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b261ccdec7821281dade748d088bb6e9b69e6d15b30652b74cbbac25e280b796"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:122c7fa62b130ed55f8f285bfd56d5f4b4a5b503609d181f9ad85e55c89f4185"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:d0eccceffcb53201b5bfebb52600a5fb483a20b61da9dbc885f8b103cbe7598c"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:9f96df6923e21816da7e0ad3fd47dd8f94b2a5ce594e00677c0013018b813458"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:7f04c839ed0b6b98b1a7501a002144b76c18fb1c1850c8b98d458ac269e26ed2"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:34d1c8da1e78d2e001f363791c98a272bb734000fcef47a491c1e3b0505657a8"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ff8fa367d09b717b2a17a052544193ad76cd49979c805768879cb63d9ca50561"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-win32.whl", hash = "sha256:aed38f6e4fb3f5d6bf81bfa990a07806be9d83cf7bacef998ab1a9bd660a581f"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-win_amd64.whl", hash = "sha256:b01b88d45a6fcb69667cd6d2f7a9aeb4bf53760d7fc536bf679ec94fe9f3ff3d"}, - {file = "charset_normalizer-3.3.2-py3-none-any.whl", hash = "sha256:3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:4f9fc98dad6c2eaa32fc3af1417d95b5e3d08aff968df0cd320066def971f9a6"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0de7b687289d3c1b3e8660d0741874abe7888100efe14bd0f9fd7141bcbda92b"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5ed2e36c3e9b4f21dd9422f6893dec0abf2cca553af509b10cd630f878d3eb99"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40d3ff7fc90b98c637bda91c89d51264a3dcf210cade3a2c6f838c7268d7a4ca"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1110e22af8ca26b90bd6364fe4c763329b0ebf1ee213ba32b68c73de5752323d"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:86f4e8cca779080f66ff4f191a685ced73d2f72d50216f7112185dc02b90b9b7"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f683ddc7eedd742e2889d2bfb96d69573fde1d92fcb811979cdb7165bb9c7d3"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:27623ba66c183eca01bf9ff833875b459cad267aeeb044477fedac35e19ba907"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:f606a1881d2663630ea5b8ce2efe2111740df4b687bd78b34a8131baa007f79b"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:0b309d1747110feb25d7ed6b01afdec269c647d382c857ef4663bbe6ad95a912"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:136815f06a3ae311fae551c3df1f998a1ebd01ddd424aa5603a4336997629e95"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:14215b71a762336254351b00ec720a8e85cada43b987da5a042e4ce3e82bd68e"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:79983512b108e4a164b9c8d34de3992f76d48cadc9554c9e60b43f308988aabe"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-win32.whl", hash = "sha256:c94057af19bc953643a33581844649a7fdab902624d2eb739738a30e2b3e60fc"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:55f56e2ebd4e3bc50442fbc0888c9d8c94e4e06a933804e2af3e89e2f9c1c749"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:0d99dd8ff461990f12d6e42c7347fd9ab2532fb70e9621ba520f9e8637161d7c"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c57516e58fd17d03ebe67e181a4e4e2ccab1168f8c2976c6a334d4f819fe5944"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6dba5d19c4dfab08e58d5b36304b3f92f3bd5d42c1a3fa37b5ba5cdf6dfcbcee"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bf4475b82be41b07cc5e5ff94810e6a01f276e37c2d55571e3fe175e467a1a1c"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ce031db0408e487fd2775d745ce30a7cd2923667cf3b69d48d219f1d8f5ddeb6"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8ff4e7cdfdb1ab5698e675ca622e72d58a6fa2a8aa58195de0c0061288e6e3ea"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3710a9751938947e6327ea9f3ea6332a09bf0ba0c09cae9cb1f250bd1f1549bc"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:82357d85de703176b5587dbe6ade8ff67f9f69a41c0733cf2425378b49954de5"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:47334db71978b23ebcf3c0f9f5ee98b8d65992b65c9c4f2d34c2eaf5bcaf0594"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:8ce7fd6767a1cc5a92a639b391891bf1c268b03ec7e021c7d6d902285259685c"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:f1a2f519ae173b5b6a2c9d5fa3116ce16e48b3462c8b96dfdded11055e3d6365"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:63bc5c4ae26e4bc6be6469943b8253c0fd4e4186c43ad46e713ea61a0ba49129"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:bcb4f8ea87d03bc51ad04add8ceaf9b0f085ac045ab4d74e73bbc2dc033f0236"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-win32.whl", hash = "sha256:9ae4ef0b3f6b41bad6366fb0ea4fc1d7ed051528e113a60fa2a65a9abb5b1d99"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:cee4373f4d3ad28f1ab6290684d8e2ebdb9e7a1b74fdc39e4c211995f77bec27"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:0713f3adb9d03d49d365b70b84775d0a0d18e4ab08d12bc46baa6132ba78aaf6"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:de7376c29d95d6719048c194a9cf1a1b0393fbe8488a22008610b0361d834ecf"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:4a51b48f42d9358460b78725283f04bddaf44a9358197b889657deba38f329db"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b295729485b06c1a0683af02a9e42d2caa9db04a373dc38a6a58cdd1e8abddf1"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ee803480535c44e7f5ad00788526da7d85525cfefaf8acf8ab9a310000be4b03"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3d59d125ffbd6d552765510e3f31ed75ebac2c7470c7274195b9161a32350284"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8cda06946eac330cbe6598f77bb54e690b4ca93f593dee1568ad22b04f347c15"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:07afec21bbbbf8a5cc3651aa96b980afe2526e7f048fdfb7f1014d84acc8b6d8"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6b40e8d38afe634559e398cc32b1472f376a4099c75fe6299ae607e404c033b2"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:b8dcd239c743aa2f9c22ce674a145e0a25cb1566c495928440a181ca1ccf6719"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:84450ba661fb96e9fd67629b93d2941c871ca86fc38d835d19d4225ff946a631"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:44aeb140295a2f0659e113b31cfe92c9061622cadbc9e2a2f7b8ef6b1e29ef4b"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:1db4e7fefefd0f548d73e2e2e041f9df5c59e178b4c72fbac4cc6f535cfb1565"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-win32.whl", hash = "sha256:5726cf76c982532c1863fb64d8c6dd0e4c90b6ece9feb06c9f202417a31f7dd7"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:b197e7094f232959f8f20541ead1d9862ac5ebea1d58e9849c1bf979255dfac9"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:dd4eda173a9fcccb5f2e2bd2a9f423d180194b1bf17cf59e3269899235b2a114"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e9e3c4c9e1ed40ea53acf11e2a386383c3304212c965773704e4603d589343ed"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:92a7e36b000bf022ef3dbb9c46bfe2d52c047d5e3f3343f43204263c5addc250"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:54b6a92d009cbe2fb11054ba694bc9e284dad30a26757b1e372a1fdddaf21920"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ffd9493de4c922f2a38c2bf62b831dcec90ac673ed1ca182fe11b4d8e9f2a64"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:35c404d74c2926d0287fbd63ed5d27eb911eb9e4a3bb2c6d294f3cfd4a9e0c23"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4796efc4faf6b53a18e3d46343535caed491776a22af773f366534056c4e1fbc"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e7fdd52961feb4c96507aa649550ec2a0d527c086d284749b2f582f2d40a2e0d"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:92db3c28b5b2a273346bebb24857fda45601aef6ae1c011c0a997106581e8a88"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ab973df98fc99ab39080bfb0eb3a925181454d7c3ac8a1e695fddfae696d9e90"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:4b67fdab07fdd3c10bb21edab3cbfe8cf5696f453afce75d815d9d7223fbe88b"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:aa41e526a5d4a9dfcfbab0716c7e8a1b215abd3f3df5a45cf18a12721d31cb5d"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ffc519621dce0c767e96b9c53f09c5d215578e10b02c285809f76509a3931482"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-win32.whl", hash = "sha256:f19c1585933c82098c2a520f8ec1227f20e339e33aca8fa6f956f6691b784e67"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-win_amd64.whl", hash = "sha256:707b82d19e65c9bd28b81dde95249b07bf9f5b90ebe1ef17d9b57473f8a64b7b"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:dbe03226baf438ac4fda9e2d0715022fd579cb641c4cf639fa40d53b2fe6f3e2"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dd9a8bd8900e65504a305bf8ae6fa9fbc66de94178c420791d0293702fce2df7"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b8831399554b92b72af5932cdbbd4ddc55c55f631bb13ff8fe4e6536a06c5c51"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a14969b8691f7998e74663b77b4c36c0337cb1df552da83d5c9004a93afdb574"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dcaf7c1524c0542ee2fc82cc8ec337f7a9f7edee2532421ab200d2b920fc97cf"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:425c5f215d0eecee9a56cdb703203dda90423247421bf0d67125add85d0c4455"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:d5b054862739d276e09928de37c79ddeec42a6e1bfc55863be96a36ba22926f6"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_i686.whl", hash = "sha256:f3e73a4255342d4eb26ef6df01e3962e73aa29baa3124a8e824c5d3364a65748"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_ppc64le.whl", hash = "sha256:2f6c34da58ea9c1a9515621f4d9ac379871a8f21168ba1b5e09d74250de5ad62"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_s390x.whl", hash = "sha256:f09cb5a7bbe1ecae6e87901a2eb23e0256bb524a79ccc53eb0b7629fbe7677c4"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:0099d79bdfcf5c1f0c2c72f91516702ebf8b0b8ddd8905f97a8aecf49712c621"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-win32.whl", hash = "sha256:9c98230f5042f4945f957d006edccc2af1e03ed5e37ce7c373f00a5a4daa6149"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-win_amd64.whl", hash = "sha256:62f60aebecfc7f4b82e3f639a7d1433a20ec32824db2199a11ad4f5e146ef5ee"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:af73657b7a68211996527dbfeffbb0864e043d270580c5aef06dc4b659a4b578"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:cab5d0b79d987c67f3b9e9c53f54a61360422a5a0bc075f43cab5621d530c3b6"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:9289fd5dddcf57bab41d044f1756550f9e7cf0c8e373b8cdf0ce8773dc4bd417"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6b493a043635eb376e50eedf7818f2f322eabbaa974e948bd8bdd29eb7ef2a51"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9fa2566ca27d67c86569e8c85297aaf413ffab85a8960500f12ea34ff98e4c41"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a8e538f46104c815be19c975572d74afb53f29650ea2025bbfaef359d2de2f7f"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6fd30dc99682dc2c603c2b315bded2799019cea829f8bf57dc6b61efde6611c8"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2006769bd1640bdf4d5641c69a3d63b71b81445473cac5ded39740a226fa88ab"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:dc15e99b2d8a656f8e666854404f1ba54765871104e50c8e9813af8a7db07f12"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:ab2e5bef076f5a235c3774b4f4028a680432cded7cad37bba0fd90d64b187d19"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:4ec9dd88a5b71abfc74e9df5ebe7921c35cbb3b641181a531ca65cdb5e8e4dea"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:43193c5cda5d612f247172016c4bb71251c784d7a4d9314677186a838ad34858"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:aa693779a8b50cd97570e5a0f343538a8dbd3e496fa5dcb87e29406ad0299654"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-win32.whl", hash = "sha256:7706f5850360ac01d80c89bcef1640683cc12ed87f42579dab6c5d3ed6888613"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:c3e446d253bd88f6377260d07c895816ebf33ffffd56c1c792b13bff9c3e1ade"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:980b4f289d1d90ca5efcf07958d3eb38ed9c0b7676bf2831a54d4f66f9c27dfa"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f28f891ccd15c514a0981f3b9db9aa23d62fe1a99997512b0491d2ed323d229a"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a8aacce6e2e1edcb6ac625fb0f8c3a9570ccc7bfba1f63419b3769ccf6a00ed0"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bd7af3717683bea4c87acd8c0d3d5b44d56120b26fd3f8a692bdd2d5260c620a"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5ff2ed8194587faf56555927b3aa10e6fb69d931e33953943bc4f837dfee2242"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e91f541a85298cf35433bf66f3fab2a4a2cff05c127eeca4af174f6d497f0d4b"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:309a7de0a0ff3040acaebb35ec45d18db4b28232f21998851cfa709eeff49d62"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:285e96d9d53422efc0d7a17c60e59f37fbf3dfa942073f666db4ac71e8d726d0"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:5d447056e2ca60382d460a604b6302d8db69476fd2015c81e7c35417cfabe4cd"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:20587d20f557fe189b7947d8e7ec5afa110ccf72a3128d61a2a387c3313f46be"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:130272c698667a982a5d0e626851ceff662565379baf0ff2cc58067b81d4f11d"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:ab22fbd9765e6954bc0bcff24c25ff71dcbfdb185fcdaca49e81bac68fe724d3"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:7782afc9b6b42200f7362858f9e73b1f8316afb276d316336c0ec3bd73312742"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-win32.whl", hash = "sha256:2de62e8801ddfff069cd5c504ce3bc9672b23266597d4e4f50eda28846c322f2"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:95c3c157765b031331dd4db3c775e58deaee050a3042fcad72cbc4189d7c8dca"}, + {file = "charset_normalizer-3.4.0-py3-none-any.whl", hash = "sha256:fe9f97feb71aa9896b81973a7bbada8c49501dc73e58a10fcef6663af95e5079"}, + {file = "charset_normalizer-3.4.0.tar.gz", hash = "sha256:223217c3d4f82c3ac5e29032b3f1c2eb0fb591b72161f86d93f5719079dae93e"}, ] [[package]] @@ -528,59 +639,70 @@ colorama = {version = "*", markers = "platform_system == \"Windows\""} [[package]] name = "coincurve" -version = "18.0.0" +version = "20.0.0" description = "Cross-platform Python CFFI bindings for libsecp256k1" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "coincurve-18.0.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0b1a42eba91b9e4f833309e94bc6a270b1700cb4567d4809ef91f00968b57925"}, - {file = "coincurve-18.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:116bf1b60a6e72e23c6b153d7c79f0e565d82973d917a3cecf655ffb29263163"}, - {file = "coincurve-18.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d53e2a268142924c24e9b786b3e6c3603fae54bb8211560036b0e9ce6a9f2dbc"}, - {file = "coincurve-18.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b31ab366fadff16ecfdde96ffc07e70fee83850f88bd1f985a8b4977a68bbfb"}, - {file = "coincurve-18.0.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:07e3c37cfadac6896668a130ea46296a3dfdeea0160fd66a51e377ad00795269"}, - {file = "coincurve-18.0.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:f3e5f2a2d774050b3ea8bf2167f2d598fde58d7690779931516714d98b65d884"}, - {file = "coincurve-18.0.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:83379dd70291480df2052554851bfd17444c003aef7c4bb02d96d73eec69fe28"}, - {file = "coincurve-18.0.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:33678f6b43edbeab6605584c725305f4f814239780c53eba0f8e4bc4a52b1d1a"}, - {file = "coincurve-18.0.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f40646d5f29ac9026f8cc1b368bc9ab68710fad055b64fbec020f9bbfc99b242"}, - {file = "coincurve-18.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:779da694dea1b1d09e16b00e079f6a1195290ce9568f39c95cddf35f1f49ec49"}, - {file = "coincurve-18.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7844f01904e32317a00696a27fd771860e53a2fa62e5c66eace9337d2742c9e6"}, - {file = "coincurve-18.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:257c6171cd0301c119ef41360f0d0c2fb5cc288717b33d3bd5482a4c9ae04551"}, - {file = "coincurve-18.0.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f8bcb9c40fd730cf377fa448f1304355d6497fb3d00b7b0a69a10dfcc14a6d28"}, - {file = "coincurve-18.0.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e3abb7f65e2b5fb66a15e374faeaafe6700fdb83fb66d1873ddff91c395a3b74"}, - {file = "coincurve-18.0.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:f44b9ba588b34795d1b4074f9a9fa372adef3fde58300bf32f40a69e8cd72a23"}, - {file = "coincurve-18.0.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:908467330cd3047c71105a08394c4f3e7dce76e4371b030ba8b0ef863013e3ca"}, - {file = "coincurve-18.0.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:599b1b3cf097cae920d97f31a5b8e8aff185ca8fa5d8a785b2edf7b199fb9731"}, - {file = "coincurve-18.0.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2d2c20d108580bce5efedb980688031462168f4de2446de95898b48a249127a2"}, - {file = "coincurve-18.0.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eba563f7f70c10323227d1890072172bd84df6f814c9a6b012033b214426b6cf"}, - {file = "coincurve-18.0.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:412a06b7d1b8229f25318f05e76310298da5ad55d73851eabac7ddfdcdc5bff4"}, - {file = "coincurve-18.0.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:286969b6f789bbd9d744d28350a3630c1cb3ee045263469a28892f70a4a6654a"}, - {file = "coincurve-18.0.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:14700463009c7d799a746929728223aa53ff1ece394ea408516d98d637434883"}, - {file = "coincurve-18.0.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:7f1142252e870f091b2c2c21cc1fadfdd29af23d02e99f29add0f14d1ba94b4c"}, - {file = "coincurve-18.0.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:cd11d2ca5b7e989c5ce1af217a2ad78c19c21afca786f198d1b1a408d6f408dc"}, - {file = "coincurve-18.0.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:1bce17d7475cee9db2c2fa7af07eaab582732b378acf6dcaee417de1df2d8661"}, - {file = "coincurve-18.0.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4ab662b67454fea7f0a5ae855ba6ad9410bcaebe68b97f4dade7b5944dec3a11"}, - {file = "coincurve-18.0.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:23b9ced9cce32dabb4bc15fa6449252fa51efddf0268481973e4c3772a5a68c6"}, - {file = "coincurve-18.0.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d05641cf31d68514c47cb54105d20acbae79fc3ee3942454eaaf411babb3f880"}, - {file = "coincurve-18.0.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:a7b31efe56b3f6434828ad5f6ecde4a95747bb69b59032746482eebb8f3456a4"}, - {file = "coincurve-18.0.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:2d95103ed43df855121cd925869ae2589360a8d94fcd61b236958deacfb9a359"}, - {file = "coincurve-18.0.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:abeb4c1d78e1a81a3f1c99a406cd858669582ada2d976e876ef694f57dec95ca"}, - {file = "coincurve-18.0.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:fceca9d6ecaa1e8f891675e4f4ff530d54e41c648fc6e8a816835ffa640fa899"}, - {file = "coincurve-18.0.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e009f06287507158f16c82cc313c0f3bfd0e9ec1e82d1a4d5fa1c5b6c0060f69"}, - {file = "coincurve-18.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6a0c0c1e492ef08efe99d25a23d535e2bff667bbef43d71a6f8893ae811b3d81"}, - {file = "coincurve-18.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3caf58877bcf41eb4c1be7a2d54317f0b31541d99ba248dae28821b19c52a0db"}, - {file = "coincurve-18.0.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8964e680c622a2b5eea940abdf51c77c1bd3d4fde2a04cec2420bf91981b198a"}, - {file = "coincurve-18.0.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:73e464e0ace77c686fdc54590e5592905b6802f9fc20a0c023f0b1585669d6a3"}, - {file = "coincurve-18.0.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:ba9eaddd50a2ce0d891af7cee11c2e048d1f0f44bf87db00a5c4b1eee7e3391b"}, - {file = "coincurve-18.0.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8290903d4629f27f9f3cdeec72ffa97536c5a6ed5ba7e3413b2707991c650fbe"}, - {file = "coincurve-18.0.0-py3-none-win32.whl", hash = "sha256:c60690bd7704d8563968d2dded33eb514875a52b5964f085409965ad041b2555"}, - {file = "coincurve-18.0.0-py3-none-win_amd64.whl", hash = "sha256:704d1abf2e78def33988368592233a8ec9b98bfc45dfa2ec9e898adfad46e5ad"}, - {file = "coincurve-18.0.0.tar.gz", hash = "sha256:c86626afe417a09d8e80e56780efcae3ae516203b23b5ade84813916e1c94fc1"}, + {file = "coincurve-20.0.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d559b22828638390118cae9372a1bb6f6594f5584c311deb1de6a83163a0919b"}, + {file = "coincurve-20.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:33d7f6ebd90fcc550f819f7f2cce2af525c342aac07f0ccda46ad8956ad9d99b"}, + {file = "coincurve-20.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22d70dd55d13fd427418eb41c20fde0a20a5e5f016e2b1bb94710701e759e7e0"}, + {file = "coincurve-20.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:46f18d481eaae72c169f334cde1fd22011a884e0c9c6adc3fdc1fd13df8236a3"}, + {file = "coincurve-20.0.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9de1ec57f43c3526bc462be58fb97910dc1fdd5acab6c71eda9f9719a5bd7489"}, + {file = "coincurve-20.0.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:a6f007c44c726b5c0b3724093c0d4fb8e294f6b6869beb02d7473b21777473a3"}, + {file = "coincurve-20.0.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:0ff1f3b81330db5092c24da2102e4fcba5094f14945b3eb40746456ceabdd6d9"}, + {file = "coincurve-20.0.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:82f7de97694d9343f26bd1c8e081b168e5f525894c12445548ce458af227f536"}, + {file = "coincurve-20.0.0-cp310-cp310-win_amd64.whl", hash = "sha256:e905b4b084b4f3b61e5a5d58ac2632fd1d07b7b13b4c6d778335a6ca1dafd7a3"}, + {file = "coincurve-20.0.0-cp310-cp310-win_arm64.whl", hash = "sha256:3657bb5ed0baf1cf8cf356e7d44aa90a7902cc3dd4a435c6d4d0bed0553ad4f7"}, + {file = "coincurve-20.0.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:44087d1126d43925bf9a2391ce5601bf30ce0dba4466c239172dc43226696018"}, + {file = "coincurve-20.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:5ccf0ba38b0f307a9b3ce28933f6c71dc12ef3a0985712ca09f48591afd597c8"}, + {file = "coincurve-20.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:566bc5986debdf8572b6be824fd4de03d533c49f3de778e29f69017ae3fe82d8"}, + {file = "coincurve-20.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f4d70283168e146f025005c15406086513d5d35e89a60cf4326025930d45013a"}, + {file = "coincurve-20.0.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:763c6122dd7d5e7a81c86414ce360dbe9a2d4afa1ca6c853ee03d63820b3d0c5"}, + {file = "coincurve-20.0.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:f00c361c356bcea386d47a191bb8ac60429f4b51c188966a201bfecaf306ff7f"}, + {file = "coincurve-20.0.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:4af57bdadd2e64d117dd0b33cfefe76e90c7a6c496a7b034fc65fd01ec249b15"}, + {file = "coincurve-20.0.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:a26437b7cbde13fb6e09261610b788ca2a0ca2195c62030afd1e1e0d1a62e035"}, + {file = "coincurve-20.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:ed51f8bba35e6c7676ad65539c3dbc35acf014fc402101fa24f6b0a15a74ab9e"}, + {file = "coincurve-20.0.0-cp311-cp311-win_arm64.whl", hash = "sha256:594b840fc25d74118407edbbbc754b815f1bba9759dbf4f67f1c2b78396df2d3"}, + {file = "coincurve-20.0.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:4df4416a6c0370d777aa725a25b14b04e45aa228da1251c258ff91444643f688"}, + {file = "coincurve-20.0.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1ccc3e4db55abf3fc0e604a187fdb05f0702bc5952e503d9a75f4ae6eeb4cb3a"}, + {file = "coincurve-20.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ac8335b1658a2ef5b3eb66d52647742fe8c6f413ad5b9d5310d7ea6d8060d40f"}, + {file = "coincurve-20.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c7ac025e485a0229fd5394e0bf6b4a75f8a4f6cee0dcf6f0b01a2ef05c5210ff"}, + {file = "coincurve-20.0.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e46e3f1c21b3330857bcb1a3a5b942f645c8bce912a8a2b252216f34acfe4195"}, + {file = "coincurve-20.0.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:df9ff9b17a1d27271bf476cf3fa92df4c151663b11a55d8cea838b8f88d83624"}, + {file = "coincurve-20.0.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:4155759f071375699282e03b3d95fb473ee05c022641c077533e0d906311e57a"}, + {file = "coincurve-20.0.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:0530b9dd02fc6f6c2916716974b79bdab874227f560c422801ade290e3fc5013"}, + {file = "coincurve-20.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:eacf9c0ce8739c84549a89c083b1f3526c8780b84517ee75d6b43d276e55f8a0"}, + {file = "coincurve-20.0.0-cp312-cp312-win_arm64.whl", hash = "sha256:52a67bfddbd6224dfa42085c88ad176559801b57d6a8bd30d92ee040de88b7b3"}, + {file = "coincurve-20.0.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:61e951b1d695b62376f60519a84c4facaf756eeb9c5aff975bea0942833f185d"}, + {file = "coincurve-20.0.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4e9e548db77f4ea34c0d748dddefc698adb0ee3fab23ed19f80fb2118dac70f6"}, + {file = "coincurve-20.0.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8cdbf0da0e0809366fdfff236b7eb6e663669c7b1f46361a4c4d05f5b7e94c57"}, + {file = "coincurve-20.0.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d72222b4ecd3952e8ffcbf59bc7e0d1b181161ba170b60e5c8e1f359a43bbe7e"}, + {file = "coincurve-20.0.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9add43c4807f0c17a940ce4076334c28f51d09c145cd478400e89dcfb83fb59d"}, + {file = "coincurve-20.0.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:bcc94cceea6ec8863815134083e6221a034b1ecef822d0277cf6ad2e70009b7f"}, + {file = "coincurve-20.0.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:1ffbdfef6a6d147988eabaed681287a9a7e6ba45ecc0a8b94ba62ad0a7656d97"}, + {file = "coincurve-20.0.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:13335c19c7e5f36eaba2a53c68073d981980d7dc7abfee68d29f2da887ccd24e"}, + {file = "coincurve-20.0.0-cp38-cp38-win_amd64.whl", hash = "sha256:7fbfb8d16cf2bea2cf48fc5246d4cb0a06607d73bb5c57c007c9aed7509f855e"}, + {file = "coincurve-20.0.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4870047704cddaae7f0266a549c927407c2ba0ec92d689e3d2b511736812a905"}, + {file = "coincurve-20.0.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:81ce41263517b0a9f43cd570c87720b3c13324929584fa28d2e4095969b6015d"}, + {file = "coincurve-20.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:572083ccce6c7b514d482f25f394368f4ae888f478bd0b067519d33160ea2fcc"}, + {file = "coincurve-20.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ee5bc78a31a2f1370baf28aaff3949bc48f940a12b0359d1cd2c4115742874e6"}, + {file = "coincurve-20.0.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f2895d032e281c4e747947aae4bcfeef7c57eabfd9be22886c0ca4e1365c7c1f"}, + {file = "coincurve-20.0.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:d3e2f21957ada0e1742edbde117bb41758fa8691b69c8d186c23e9e522ea71cd"}, + {file = "coincurve-20.0.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:c2baa26b1aad1947ca07b3aa9e6a98940c5141c6bdd0f9b44d89e36da7282ffa"}, + {file = "coincurve-20.0.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:7eacc7944ddf9e2b7448ecbe84753841ab9874b8c332a4f5cc3b2f184db9f4a2"}, + {file = "coincurve-20.0.0-cp39-cp39-win_amd64.whl", hash = "sha256:c293c095dc690178b822cadaaeb81de3cc0d28f8bdf8216ed23551dcce153a26"}, + {file = "coincurve-20.0.0-cp39-cp39-win_arm64.whl", hash = "sha256:11a47083a0b7092d3eb50929f74ffd947c4a5e7035796b81310ea85289088c7a"}, + {file = "coincurve-20.0.0.tar.gz", hash = "sha256:872419e404300302e938849b6b92a196fabdad651060b559dc310e52f8392829"}, ] [package.dependencies] asn1crypto = "*" cffi = ">=1.3.0" +[package.extras] +dev = ["coverage", "pytest", "pytest-benchmark"] + [[package]] name = "colorama" version = "0.4.6" @@ -594,47 +716,56 @@ files = [ [[package]] name = "cryptography" -version = "41.0.7" +version = "42.0.8" description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." optional = false python-versions = ">=3.7" files = [ - {file = "cryptography-41.0.7-cp37-abi3-macosx_10_12_universal2.whl", hash = "sha256:3c78451b78313fa81607fa1b3f1ae0a5ddd8014c38a02d9db0616133987b9cdf"}, - {file = "cryptography-41.0.7-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:928258ba5d6f8ae644e764d0f996d61a8777559f72dfeb2eea7e2fe0ad6e782d"}, - {file = "cryptography-41.0.7-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5a1b41bc97f1ad230a41657d9155113c7521953869ae57ac39ac7f1bb471469a"}, - {file = "cryptography-41.0.7-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:841df4caa01008bad253bce2a6f7b47f86dc9f08df4b433c404def869f590a15"}, - {file = "cryptography-41.0.7-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:5429ec739a29df2e29e15d082f1d9ad683701f0ec7709ca479b3ff2708dae65a"}, - {file = "cryptography-41.0.7-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:43f2552a2378b44869fe8827aa19e69512e3245a219104438692385b0ee119d1"}, - {file = "cryptography-41.0.7-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:af03b32695b24d85a75d40e1ba39ffe7db7ffcb099fe507b39fd41a565f1b157"}, - {file = "cryptography-41.0.7-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:49f0805fc0b2ac8d4882dd52f4a3b935b210935d500b6b805f321addc8177406"}, - {file = "cryptography-41.0.7-cp37-abi3-win32.whl", hash = "sha256:f983596065a18a2183e7f79ab3fd4c475205b839e02cbc0efbbf9666c4b3083d"}, - {file = "cryptography-41.0.7-cp37-abi3-win_amd64.whl", hash = "sha256:90452ba79b8788fa380dfb587cca692976ef4e757b194b093d845e8d99f612f2"}, - {file = "cryptography-41.0.7-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:079b85658ea2f59c4f43b70f8119a52414cdb7be34da5d019a77bf96d473b960"}, - {file = "cryptography-41.0.7-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:b640981bf64a3e978a56167594a0e97db71c89a479da8e175d8bb5be5178c003"}, - {file = "cryptography-41.0.7-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:e3114da6d7f95d2dee7d3f4eec16dacff819740bbab931aff8648cb13c5ff5e7"}, - {file = "cryptography-41.0.7-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:d5ec85080cce7b0513cfd233914eb8b7bbd0633f1d1703aa28d1dd5a72f678ec"}, - {file = "cryptography-41.0.7-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:7a698cb1dac82c35fcf8fe3417a3aaba97de16a01ac914b89a0889d364d2f6be"}, - {file = "cryptography-41.0.7-pp38-pypy38_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:37a138589b12069efb424220bf78eac59ca68b95696fc622b6ccc1c0a197204a"}, - {file = "cryptography-41.0.7-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:68a2dec79deebc5d26d617bfdf6e8aab065a4f34934b22d3b5010df3ba36612c"}, - {file = "cryptography-41.0.7-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:09616eeaef406f99046553b8a40fbf8b1e70795a91885ba4c96a70793de5504a"}, - {file = "cryptography-41.0.7-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:48a0476626da912a44cc078f9893f292f0b3e4c739caf289268168d8f4702a39"}, - {file = "cryptography-41.0.7-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:c7f3201ec47d5207841402594f1d7950879ef890c0c495052fa62f58283fde1a"}, - {file = "cryptography-41.0.7-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:c5ca78485a255e03c32b513f8c2bc39fedb7f5c5f8535545bdc223a03b24f248"}, - {file = "cryptography-41.0.7-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:d6c391c021ab1f7a82da5d8d0b3cee2f4b2c455ec86c8aebbc84837a631ff309"}, - {file = "cryptography-41.0.7.tar.gz", hash = "sha256:13f93ce9bea8016c253b34afc6bd6a75993e5c40672ed5405a9c832f0d4a00bc"}, + {file = "cryptography-42.0.8-cp37-abi3-macosx_10_12_universal2.whl", hash = "sha256:81d8a521705787afe7a18d5bfb47ea9d9cc068206270aad0b96a725022e18d2e"}, + {file = "cryptography-42.0.8-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:961e61cefdcb06e0c6d7e3a1b22ebe8b996eb2bf50614e89384be54c48c6b63d"}, + {file = "cryptography-42.0.8-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e3ec3672626e1b9e55afd0df6d774ff0e953452886e06e0f1eb7eb0c832e8902"}, + {file = "cryptography-42.0.8-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e599b53fd95357d92304510fb7bda8523ed1f79ca98dce2f43c115950aa78801"}, + {file = "cryptography-42.0.8-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:5226d5d21ab681f432a9c1cf8b658c0cb02533eece706b155e5fbd8a0cdd3949"}, + {file = "cryptography-42.0.8-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:6b7c4f03ce01afd3b76cf69a5455caa9cfa3de8c8f493e0d3ab7d20611c8dae9"}, + {file = "cryptography-42.0.8-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:2346b911eb349ab547076f47f2e035fc8ff2c02380a7cbbf8d87114fa0f1c583"}, + {file = "cryptography-42.0.8-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:ad803773e9df0b92e0a817d22fd8a3675493f690b96130a5e24f1b8fabbea9c7"}, + {file = "cryptography-42.0.8-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:2f66d9cd9147ee495a8374a45ca445819f8929a3efcd2e3df6428e46c3cbb10b"}, + {file = "cryptography-42.0.8-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:d45b940883a03e19e944456a558b67a41160e367a719833c53de6911cabba2b7"}, + {file = "cryptography-42.0.8-cp37-abi3-win32.whl", hash = "sha256:a0c5b2b0585b6af82d7e385f55a8bc568abff8923af147ee3c07bd8b42cda8b2"}, + {file = "cryptography-42.0.8-cp37-abi3-win_amd64.whl", hash = "sha256:57080dee41209e556a9a4ce60d229244f7a66ef52750f813bfbe18959770cfba"}, + {file = "cryptography-42.0.8-cp39-abi3-macosx_10_12_universal2.whl", hash = "sha256:dea567d1b0e8bc5764b9443858b673b734100c2871dc93163f58c46a97a83d28"}, + {file = "cryptography-42.0.8-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c4783183f7cb757b73b2ae9aed6599b96338eb957233c58ca8f49a49cc32fd5e"}, + {file = "cryptography-42.0.8-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a0608251135d0e03111152e41f0cc2392d1e74e35703960d4190b2e0f4ca9c70"}, + {file = "cryptography-42.0.8-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:dc0fdf6787f37b1c6b08e6dfc892d9d068b5bdb671198c72072828b80bd5fe4c"}, + {file = "cryptography-42.0.8-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:9c0c1716c8447ee7dbf08d6db2e5c41c688544c61074b54fc4564196f55c25a7"}, + {file = "cryptography-42.0.8-cp39-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:fff12c88a672ab9c9c1cf7b0c80e3ad9e2ebd9d828d955c126be4fd3e5578c9e"}, + {file = "cryptography-42.0.8-cp39-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:cafb92b2bc622cd1aa6a1dce4b93307792633f4c5fe1f46c6b97cf67073ec961"}, + {file = "cryptography-42.0.8-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:31f721658a29331f895a5a54e7e82075554ccfb8b163a18719d342f5ffe5ecb1"}, + {file = "cryptography-42.0.8-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:b297f90c5723d04bcc8265fc2a0f86d4ea2e0f7ab4b6994459548d3a6b992a14"}, + {file = "cryptography-42.0.8-cp39-abi3-win32.whl", hash = "sha256:2f88d197e66c65be5e42cd72e5c18afbfae3f741742070e3019ac8f4ac57262c"}, + {file = "cryptography-42.0.8-cp39-abi3-win_amd64.whl", hash = "sha256:fa76fbb7596cc5839320000cdd5d0955313696d9511debab7ee7278fc8b5c84a"}, + {file = "cryptography-42.0.8-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:ba4f0a211697362e89ad822e667d8d340b4d8d55fae72cdd619389fb5912eefe"}, + {file = "cryptography-42.0.8-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:81884c4d096c272f00aeb1f11cf62ccd39763581645b0812e99a91505fa48e0c"}, + {file = "cryptography-42.0.8-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:c9bb2ae11bfbab395bdd072985abde58ea9860ed84e59dbc0463a5d0159f5b71"}, + {file = "cryptography-42.0.8-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:7016f837e15b0a1c119d27ecd89b3515f01f90a8615ed5e9427e30d9cdbfed3d"}, + {file = "cryptography-42.0.8-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:5a94eccb2a81a309806027e1670a358b99b8fe8bfe9f8d329f27d72c094dde8c"}, + {file = "cryptography-42.0.8-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:dec9b018df185f08483f294cae6ccac29e7a6e0678996587363dc352dc65c842"}, + {file = "cryptography-42.0.8-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:343728aac38decfdeecf55ecab3264b015be68fc2816ca800db649607aeee648"}, + {file = "cryptography-42.0.8-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:013629ae70b40af70c9a7a5db40abe5d9054e6f4380e50ce769947b73bf3caad"}, + {file = "cryptography-42.0.8.tar.gz", hash = "sha256:8d09d05439ce7baa8e9e95b07ec5b6c886f548deb7e0f69ef25f64b3bce842f2"}, ] [package.dependencies] -cffi = ">=1.12" +cffi = {version = ">=1.12", markers = "platform_python_implementation != \"PyPy\""} [package.extras] docs = ["sphinx (>=5.3.0)", "sphinx-rtd-theme (>=1.1.1)"] -docstest = ["pyenchant (>=1.6.11)", "sphinxcontrib-spelling (>=4.0.1)", "twine (>=1.12.0)"] +docstest = ["pyenchant (>=1.6.11)", "readme-renderer", "sphinxcontrib-spelling (>=4.0.1)"] nox = ["nox"] -pep8test = ["black", "check-sdist", "mypy", "ruff"] +pep8test = ["check-sdist", "click", "mypy", "ruff"] sdist = ["build"] ssh = ["bcrypt (>=3.1.5)"] -test = ["pretend", "pytest (>=6.2.0)", "pytest-benchmark", "pytest-cov", "pytest-xdist"] +test = ["certifi", "pretend", "pytest (>=6.2.0)", "pytest-benchmark", "pytest-cov", "pytest-xdist"] test-randomorder = ["pytest-randomly"] [[package]] @@ -656,44 +787,44 @@ dev = ["PyTest", "PyTest-Cov", "bump2version (<1)", "sphinx (<2)", "tox"] [[package]] name = "distlib" -version = "0.3.8" +version = "0.3.9" description = "Distribution utilities" optional = false python-versions = "*" files = [ - {file = "distlib-0.3.8-py2.py3-none-any.whl", hash = "sha256:034db59a0b96f8ca18035f36290806a9a6e6bd9d1ff91e45a7f172eb17e51784"}, - {file = "distlib-0.3.8.tar.gz", hash = "sha256:1530ea13e350031b6312d8580ddb6b27a104275a31106523b8f123787f494f64"}, + {file = "distlib-0.3.9-py2.py3-none-any.whl", hash = "sha256:47f8c22fd27c27e25a65601af709b38e4f0a45ea4fc2e710f65755fa8caaaf87"}, + {file = "distlib-0.3.9.tar.gz", hash = "sha256:a60f20dea646b8a33f3e7772f74dc0b2d0772d2837ee1342a00645c81edf9403"}, ] [[package]] name = "dnspython" -version = "2.6.1" +version = "2.7.0" description = "DNS toolkit" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" files = [ - {file = "dnspython-2.6.1-py3-none-any.whl", hash = "sha256:5ef3b9680161f6fa89daf8ad451b5f1a33b18ae8a1c6778cdf4b43f08c0a6e50"}, - {file = "dnspython-2.6.1.tar.gz", hash = "sha256:e8f0f9c23a7b7cb99ded64e6c3a6f3e701d78f50c55e002b839dea7225cff7cc"}, + {file = "dnspython-2.7.0-py3-none-any.whl", hash = "sha256:b4c34b7d10b51bcc3a5071e7b8dee77939f1e878477eeecc965e9835f63c6c86"}, + {file = "dnspython-2.7.0.tar.gz", hash = "sha256:ce9c432eda0dc91cf618a5cedf1a4e142651196bbcd2c80e89ed5a907e5cfaf1"}, ] [package.extras] -dev = ["black (>=23.1.0)", "coverage (>=7.0)", "flake8 (>=7)", "mypy (>=1.8)", "pylint (>=3)", "pytest (>=7.4)", "pytest-cov (>=4.1.0)", "sphinx (>=7.2.0)", "twine (>=4.0.0)", "wheel (>=0.42.0)"] -dnssec = ["cryptography (>=41)"] +dev = ["black (>=23.1.0)", "coverage (>=7.0)", "flake8 (>=7)", "hypercorn (>=0.16.0)", "mypy (>=1.8)", "pylint (>=3)", "pytest (>=7.4)", "pytest-cov (>=4.1.0)", "quart-trio (>=0.11.0)", "sphinx (>=7.2.0)", "sphinx-rtd-theme (>=2.0.0)", "twine (>=4.0.0)", "wheel (>=0.42.0)"] +dnssec = ["cryptography (>=43)"] doh = ["h2 (>=4.1.0)", "httpcore (>=1.0.0)", "httpx (>=0.26.0)"] -doq = ["aioquic (>=0.9.25)"] -idna = ["idna (>=3.6)"] +doq = ["aioquic (>=1.0.0)"] +idna = ["idna (>=3.7)"] trio = ["trio (>=0.23)"] wmi = ["wmi (>=1.5.1)"] [[package]] name = "ecdsa" -version = "0.18.0" +version = "0.19.0" description = "ECDSA cryptographic signature library (pure python)" optional = false -python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.6" files = [ - {file = "ecdsa-0.18.0-py2.py3-none-any.whl", hash = "sha256:80600258e7ed2f16b9aa1d7c295bd70194109ad5a30fdee0eaeefef1d4c559dd"}, - {file = "ecdsa-0.18.0.tar.gz", hash = "sha256:190348041559e21b22a1d65cee485282ca11a6f81d503fddb84d5017e9ed1e49"}, + {file = "ecdsa-0.19.0-py2.py3-none-any.whl", hash = "sha256:2cea9b88407fdac7bbeca0833b189e4c9c53f2ef1e1eaa29f6224dbc809b707a"}, + {file = "ecdsa-0.19.0.tar.gz", hash = "sha256:60eaad1199659900dd0af521ed462b793bbdf867432b3948e87416ae4caf6bf8"}, ] [package.dependencies] @@ -705,13 +836,13 @@ gmpy2 = ["gmpy2"] [[package]] name = "email-validator" -version = "2.1.1" +version = "2.2.0" description = "A robust email address syntax and deliverability validation library." optional = false python-versions = ">=3.8" files = [ - {file = "email_validator-2.1.1-py3-none-any.whl", hash = "sha256:97d882d174e2a65732fb43bfce81a3a834cbc1bde8bf419e30ef5ea976370a05"}, - {file = "email_validator-2.1.1.tar.gz", hash = "sha256:200a70680ba08904be6d1eef729205cc0d687634399a5924d842533efb824b84"}, + {file = "email_validator-2.2.0-py3-none-any.whl", hash = "sha256:561977c2d73ce3611850a06fa56b414621e0c8faa9d66f2611407d87465da631"}, + {file = "email_validator-2.2.0.tar.gz", hash = "sha256:cb690f344c617a714f22e66ae771445a1ceb46821152df8e165c5f9a364582b7"}, ] [package.dependencies] @@ -720,14 +851,17 @@ idna = ">=2.0.0" [[package]] name = "embit" -version = "0.7.0" -description = "yet another bitcoin library" +version = "0.8.0" +description = "A minimal bitcoin library for MicroPython and Python3 with a focus on embedded systems." optional = false python-versions = "*" files = [ - {file = "embit-0.7.0.tar.gz", hash = "sha256:3dbd42582b5c3e40623e7b2af02956ba6019f6e1ca1c3363f27aa9f9bca03366"}, + {file = "embit-0.8.0.tar.gz", hash = "sha256:8bf4b10073c67400370ce523fb16f035fe759f6fdd987c579bdcc268d75ed770"}, ] +[package.extras] +dev = ["black", "mkdocs", "mkdocs-material", "mkdocstrings[python]", "mypy", "pre-commit", "pytest", "pytest-cov", "requests"] + [[package]] name = "environs" version = "9.5.0" @@ -751,13 +885,13 @@ tests = ["dj-database-url", "dj-email-url", "django-cache-url", "pytest"] [[package]] name = "exceptiongroup" -version = "1.2.0" +version = "1.2.2" description = "Backport of PEP 654 (exception groups)" optional = false python-versions = ">=3.7" files = [ - {file = "exceptiongroup-1.2.0-py3-none-any.whl", hash = "sha256:4bfd3996ac73b41e9b9628b04e079f193850720ea5945fc96a08633c66912f14"}, - {file = "exceptiongroup-1.2.0.tar.gz", hash = "sha256:91f5c769735f051a4290d52edd0858999b57e5876e9f85937691bd4c9fa3ed68"}, + {file = "exceptiongroup-1.2.2-py3-none-any.whl", hash = "sha256:3111b9d131c238bec2f8f516e123e14ba243563fb135d3fe885990585aa7795b"}, + {file = "exceptiongroup-1.2.2.tar.gz", hash = "sha256:47c2edf7c6738fafb49fd34290706d1a1a2f4d1c6df275526b62cbb4aa5393cc"}, ] [package.extras] @@ -765,32 +899,33 @@ test = ["pytest (>=6)"] [[package]] name = "fastapi" -version = "0.109.2" +version = "0.115.2" description = "FastAPI framework, high performance, easy to learn, fast to code, ready for production" optional = false python-versions = ">=3.8" files = [ - {file = "fastapi-0.109.2-py3-none-any.whl", hash = "sha256:2c9bab24667293b501cad8dd388c05240c850b58ec5876ee3283c47d6e1e3a4d"}, - {file = "fastapi-0.109.2.tar.gz", hash = "sha256:f3817eac96fe4f65a2ebb4baa000f394e55f5fccdaf7f75250804bc58f354f73"}, + {file = "fastapi-0.115.2-py3-none-any.whl", hash = "sha256:61704c71286579cc5a598763905928f24ee98bfcc07aabe84cfefb98812bbc86"}, + {file = "fastapi-0.115.2.tar.gz", hash = "sha256:3995739e0b09fa12f984bce8fa9ae197b35d433750d3d312422d846e283697ee"}, ] [package.dependencies] pydantic = ">=1.7.4,<1.8 || >1.8,<1.8.1 || >1.8.1,<2.0.0 || >2.0.0,<2.0.1 || >2.0.1,<2.1.0 || >2.1.0,<3.0.0" -starlette = ">=0.36.3,<0.37.0" +starlette = ">=0.37.2,<0.41.0" typing-extensions = ">=4.8.0" [package.extras] -all = ["email-validator (>=2.0.0)", "httpx (>=0.23.0)", "itsdangerous (>=1.1.0)", "jinja2 (>=2.11.2)", "orjson (>=3.2.1)", "pydantic-extra-types (>=2.0.0)", "pydantic-settings (>=2.0.0)", "python-multipart (>=0.0.7)", "pyyaml (>=5.3.1)", "ujson (>=4.0.1,!=4.0.2,!=4.1.0,!=4.2.0,!=4.3.0,!=5.0.0,!=5.1.0)", "uvicorn[standard] (>=0.12.0)"] +all = ["email-validator (>=2.0.0)", "fastapi-cli[standard] (>=0.0.5)", "httpx (>=0.23.0)", "itsdangerous (>=1.1.0)", "jinja2 (>=2.11.2)", "orjson (>=3.2.1)", "pydantic-extra-types (>=2.0.0)", "pydantic-settings (>=2.0.0)", "python-multipart (>=0.0.7)", "pyyaml (>=5.3.1)", "ujson (>=4.0.1,!=4.0.2,!=4.1.0,!=4.2.0,!=4.3.0,!=5.0.0,!=5.1.0)", "uvicorn[standard] (>=0.12.0)"] +standard = ["email-validator (>=2.0.0)", "fastapi-cli[standard] (>=0.0.5)", "httpx (>=0.23.0)", "jinja2 (>=2.11.2)", "python-multipart (>=0.0.7)", "uvicorn[standard] (>=0.12.0)"] [[package]] name = "fastapi-sso" -version = "0.9.1" +version = "0.15.0" description = "FastAPI plugin to enable SSO to most common providers (such as Facebook login, Google login and login via Microsoft Office 365 Account)" optional = false -python-versions = ">=3.8,<4.0" +python-versions = "<4.0,>=3.8" files = [ - {file = "fastapi_sso-0.9.1-py3-none-any.whl", hash = "sha256:94ad5a3e5710bef423c829224358740aa349d8934ce58cf943364d9bb18e6aeb"}, - {file = "fastapi_sso-0.9.1.tar.gz", hash = "sha256:0a9a3abdbb5ed20787ff47b749cd23e25a48e8a42230767a1f897f585223337f"}, + {file = "fastapi_sso-0.15.0-py3-none-any.whl", hash = "sha256:071e0c204181bdb6a8afad2714f9f6abad32bd8984b9e57500ff0d2b680fdb37"}, + {file = "fastapi_sso-0.15.0.tar.gz", hash = "sha256:9717c3e0f88ae7cccb43fa1827e6b85fa2621a4c41b21347ddebf719b40abc15"}, ] [package.dependencies] @@ -801,76 +936,163 @@ pydantic = {version = ">=1.8.0", extras = ["email"]} [[package]] name = "filelock" -version = "3.13.4" +version = "3.16.1" description = "A platform independent file lock." optional = false python-versions = ">=3.8" files = [ - {file = "filelock-3.13.4-py3-none-any.whl", hash = "sha256:404e5e9253aa60ad457cae1be07c0f0ca90a63931200a47d9b6a6af84fd7b45f"}, - {file = "filelock-3.13.4.tar.gz", hash = "sha256:d13f466618bfde72bd2c18255e269f72542c6e70e7bac83a0232d6b1cc5c8cf4"}, + {file = "filelock-3.16.1-py3-none-any.whl", hash = "sha256:2082e5703d51fbf98ea75855d9d5527e33d8ff23099bec374a134febee6946b0"}, + {file = "filelock-3.16.1.tar.gz", hash = "sha256:c249fbfcd5db47e5e2d6d62198e565475ee65e4831e2561c8e313fa7eb961435"}, +] + +[package.extras] +docs = ["furo (>=2024.8.6)", "sphinx (>=8.0.2)", "sphinx-autodoc-typehints (>=2.4.1)"] +testing = ["covdefaults (>=2.3)", "coverage (>=7.6.1)", "diff-cover (>=9.2)", "pytest (>=8.3.3)", "pytest-asyncio (>=0.24)", "pytest-cov (>=5)", "pytest-mock (>=3.14)", "pytest-timeout (>=2.3.1)", "virtualenv (>=20.26.4)"] +typing = ["typing-extensions (>=4.12.2)"] + +[[package]] +name = "greenlet" +version = "3.1.1" +description = "Lightweight in-process concurrent programming" +optional = false +python-versions = ">=3.7" +files = [ + {file = "greenlet-3.1.1-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:0bbae94a29c9e5c7e4a2b7f0aae5c17e8e90acbfd3bf6270eeba60c39fce3563"}, + {file = "greenlet-3.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0fde093fb93f35ca72a556cf72c92ea3ebfda3d79fc35bb19fbe685853869a83"}, + {file = "greenlet-3.1.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:36b89d13c49216cadb828db8dfa6ce86bbbc476a82d3a6c397f0efae0525bdd0"}, + {file = "greenlet-3.1.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:94b6150a85e1b33b40b1464a3f9988dcc5251d6ed06842abff82e42632fac120"}, + {file = "greenlet-3.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:93147c513fac16385d1036b7e5b102c7fbbdb163d556b791f0f11eada7ba65dc"}, + {file = "greenlet-3.1.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:da7a9bff22ce038e19bf62c4dd1ec8391062878710ded0a845bcf47cc0200617"}, + {file = "greenlet-3.1.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:b2795058c23988728eec1f36a4e5e4ebad22f8320c85f3587b539b9ac84128d7"}, + {file = "greenlet-3.1.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:ed10eac5830befbdd0c32f83e8aa6288361597550ba669b04c48f0f9a2c843c6"}, + {file = "greenlet-3.1.1-cp310-cp310-win_amd64.whl", hash = "sha256:77c386de38a60d1dfb8e55b8c1101d68c79dfdd25c7095d51fec2dd800892b80"}, + {file = "greenlet-3.1.1-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:e4d333e558953648ca09d64f13e6d8f0523fa705f51cae3f03b5983489958c70"}, + {file = "greenlet-3.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:09fc016b73c94e98e29af67ab7b9a879c307c6731a2c9da0db5a7d9b7edd1159"}, + {file = "greenlet-3.1.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d5e975ca70269d66d17dd995dafc06f1b06e8cb1ec1e9ed54c1d1e4a7c4cf26e"}, + {file = "greenlet-3.1.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3b2813dc3de8c1ee3f924e4d4227999285fd335d1bcc0d2be6dc3f1f6a318ec1"}, + {file = "greenlet-3.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e347b3bfcf985a05e8c0b7d462ba6f15b1ee1c909e2dcad795e49e91b152c383"}, + {file = "greenlet-3.1.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9e8f8c9cb53cdac7ba9793c276acd90168f416b9ce36799b9b885790f8ad6c0a"}, + {file = "greenlet-3.1.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:62ee94988d6b4722ce0028644418d93a52429e977d742ca2ccbe1c4f4a792511"}, + {file = "greenlet-3.1.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:1776fd7f989fc6b8d8c8cb8da1f6b82c5814957264d1f6cf818d475ec2bf6395"}, + {file = "greenlet-3.1.1-cp311-cp311-win_amd64.whl", hash = "sha256:48ca08c771c268a768087b408658e216133aecd835c0ded47ce955381105ba39"}, + {file = "greenlet-3.1.1-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:4afe7ea89de619adc868e087b4d2359282058479d7cfb94970adf4b55284574d"}, + {file = "greenlet-3.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f406b22b7c9a9b4f8aa9d2ab13d6ae0ac3e85c9a809bd590ad53fed2bf70dc79"}, + {file = "greenlet-3.1.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c3a701fe5a9695b238503ce5bbe8218e03c3bcccf7e204e455e7462d770268aa"}, + {file = "greenlet-3.1.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2846930c65b47d70b9d178e89c7e1a69c95c1f68ea5aa0a58646b7a96df12441"}, + {file = "greenlet-3.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:99cfaa2110534e2cf3ba31a7abcac9d328d1d9f1b95beede58294a60348fba36"}, + {file = "greenlet-3.1.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1443279c19fca463fc33e65ef2a935a5b09bb90f978beab37729e1c3c6c25fe9"}, + {file = "greenlet-3.1.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:b7cede291382a78f7bb5f04a529cb18e068dd29e0fb27376074b6d0317bf4dd0"}, + {file = "greenlet-3.1.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:23f20bb60ae298d7d8656c6ec6db134bca379ecefadb0b19ce6f19d1f232a942"}, + {file = "greenlet-3.1.1-cp312-cp312-win_amd64.whl", hash = "sha256:7124e16b4c55d417577c2077be379514321916d5790fa287c9ed6f23bd2ffd01"}, + {file = "greenlet-3.1.1-cp313-cp313-macosx_11_0_universal2.whl", hash = "sha256:05175c27cb459dcfc05d026c4232f9de8913ed006d42713cb8a5137bd49375f1"}, + {file = "greenlet-3.1.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:935e943ec47c4afab8965954bf49bfa639c05d4ccf9ef6e924188f762145c0ff"}, + {file = "greenlet-3.1.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:667a9706c970cb552ede35aee17339a18e8f2a87a51fba2ed39ceeeb1004798a"}, + {file = "greenlet-3.1.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b8a678974d1f3aa55f6cc34dc480169d58f2e6d8958895d68845fa4ab566509e"}, + {file = "greenlet-3.1.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:efc0f674aa41b92da8c49e0346318c6075d734994c3c4e4430b1c3f853e498e4"}, + {file = "greenlet-3.1.1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0153404a4bb921f0ff1abeb5ce8a5131da56b953eda6e14b88dc6bbc04d2049e"}, + {file = "greenlet-3.1.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:275f72decf9932639c1c6dd1013a1bc266438eb32710016a1c742df5da6e60a1"}, + {file = "greenlet-3.1.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:c4aab7f6381f38a4b42f269057aee279ab0fc7bf2e929e3d4abfae97b682a12c"}, + {file = "greenlet-3.1.1-cp313-cp313-win_amd64.whl", hash = "sha256:b42703b1cf69f2aa1df7d1030b9d77d3e584a70755674d60e710f0af570f3761"}, + {file = "greenlet-3.1.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f1695e76146579f8c06c1509c7ce4dfe0706f49c6831a817ac04eebb2fd02011"}, + {file = "greenlet-3.1.1-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7876452af029456b3f3549b696bb36a06db7c90747740c5302f74a9e9fa14b13"}, + {file = "greenlet-3.1.1-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4ead44c85f8ab905852d3de8d86f6f8baf77109f9da589cb4fa142bd3b57b475"}, + {file = "greenlet-3.1.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8320f64b777d00dd7ccdade271eaf0cad6636343293a25074cc5566160e4de7b"}, + {file = "greenlet-3.1.1-cp313-cp313t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6510bf84a6b643dabba74d3049ead221257603a253d0a9873f55f6a59a65f822"}, + {file = "greenlet-3.1.1-cp313-cp313t-musllinux_1_1_aarch64.whl", hash = "sha256:04b013dc07c96f83134b1e99888e7a79979f1a247e2a9f59697fa14b5862ed01"}, + {file = "greenlet-3.1.1-cp313-cp313t-musllinux_1_1_x86_64.whl", hash = "sha256:411f015496fec93c1c8cd4e5238da364e1da7a124bcb293f085bf2860c32c6f6"}, + {file = "greenlet-3.1.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:47da355d8687fd65240c364c90a31569a133b7b60de111c255ef5b606f2ae291"}, + {file = "greenlet-3.1.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:98884ecf2ffb7d7fe6bd517e8eb99d31ff7855a840fa6d0d63cd07c037f6a981"}, + {file = "greenlet-3.1.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f1d4aeb8891338e60d1ab6127af1fe45def5259def8094b9c7e34690c8858803"}, + {file = "greenlet-3.1.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:db32b5348615a04b82240cc67983cb315309e88d444a288934ee6ceaebcad6cc"}, + {file = "greenlet-3.1.1-cp37-cp37m-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:dcc62f31eae24de7f8dce72134c8651c58000d3b1868e01392baea7c32c247de"}, + {file = "greenlet-3.1.1-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:1d3755bcb2e02de341c55b4fca7a745a24a9e7212ac953f6b3a48d117d7257aa"}, + {file = "greenlet-3.1.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:b8da394b34370874b4572676f36acabac172602abf054cbc4ac910219f3340af"}, + {file = "greenlet-3.1.1-cp37-cp37m-win32.whl", hash = "sha256:a0dfc6c143b519113354e780a50381508139b07d2177cb6ad6a08278ec655798"}, + {file = "greenlet-3.1.1-cp37-cp37m-win_amd64.whl", hash = "sha256:54558ea205654b50c438029505def3834e80f0869a70fb15b871c29b4575ddef"}, + {file = "greenlet-3.1.1-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:346bed03fe47414091be4ad44786d1bd8bef0c3fcad6ed3dee074a032ab408a9"}, + {file = "greenlet-3.1.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dfc59d69fc48664bc693842bd57acfdd490acafda1ab52c7836e3fc75c90a111"}, + {file = "greenlet-3.1.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d21e10da6ec19b457b82636209cbe2331ff4306b54d06fa04b7c138ba18c8a81"}, + {file = "greenlet-3.1.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:37b9de5a96111fc15418819ab4c4432e4f3c2ede61e660b1e33971eba26ef9ba"}, + {file = "greenlet-3.1.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6ef9ea3f137e5711f0dbe5f9263e8c009b7069d8a1acea822bd5e9dae0ae49c8"}, + {file = "greenlet-3.1.1-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:85f3ff71e2e60bd4b4932a043fbbe0f499e263c628390b285cb599154a3b03b1"}, + {file = "greenlet-3.1.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:95ffcf719966dd7c453f908e208e14cde192e09fde6c7186c8f1896ef778d8cd"}, + {file = "greenlet-3.1.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:03a088b9de532cbfe2ba2034b2b85e82df37874681e8c470d6fb2f8c04d7e4b7"}, + {file = "greenlet-3.1.1-cp38-cp38-win32.whl", hash = "sha256:8b8b36671f10ba80e159378df9c4f15c14098c4fd73a36b9ad715f057272fbef"}, + {file = "greenlet-3.1.1-cp38-cp38-win_amd64.whl", hash = "sha256:7017b2be767b9d43cc31416aba48aab0d2309ee31b4dbf10a1d38fb7972bdf9d"}, + {file = "greenlet-3.1.1-cp39-cp39-macosx_11_0_universal2.whl", hash = "sha256:396979749bd95f018296af156201d6211240e7a23090f50a8d5d18c370084dc3"}, + {file = "greenlet-3.1.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ca9d0ff5ad43e785350894d97e13633a66e2b50000e8a183a50a88d834752d42"}, + {file = "greenlet-3.1.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f6ff3b14f2df4c41660a7dec01045a045653998784bf8cfcb5a525bdffffbc8f"}, + {file = "greenlet-3.1.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:94ebba31df2aa506d7b14866fed00ac141a867e63143fe5bca82a8e503b36437"}, + {file = "greenlet-3.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:73aaad12ac0ff500f62cebed98d8789198ea0e6f233421059fa68a5aa7220145"}, + {file = "greenlet-3.1.1-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:63e4844797b975b9af3a3fb8f7866ff08775f5426925e1e0bbcfe7932059a12c"}, + {file = "greenlet-3.1.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:7939aa3ca7d2a1593596e7ac6d59391ff30281ef280d8632fa03d81f7c5f955e"}, + {file = "greenlet-3.1.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:d0028e725ee18175c6e422797c407874da24381ce0690d6b9396c204c7f7276e"}, + {file = "greenlet-3.1.1-cp39-cp39-win32.whl", hash = "sha256:5e06afd14cbaf9e00899fae69b24a32f2196c19de08fcb9f4779dd4f004e5e7c"}, + {file = "greenlet-3.1.1-cp39-cp39-win_amd64.whl", hash = "sha256:3319aa75e0e0639bc15ff54ca327e8dc7a6fe404003496e3c6925cd3142e0e22"}, + {file = "greenlet-3.1.1.tar.gz", hash = "sha256:4ce3ac6cdb6adf7946475d7ef31777c26d94bccc377e070a7986bd2d5c515467"}, ] [package.extras] -docs = ["furo (>=2023.9.10)", "sphinx (>=7.2.6)", "sphinx-autodoc-typehints (>=1.25.2)"] -testing = ["covdefaults (>=2.3)", "coverage (>=7.3.2)", "diff-cover (>=8.0.1)", "pytest (>=7.4.3)", "pytest-cov (>=4.1)", "pytest-mock (>=3.12)", "pytest-timeout (>=2.2)"] -typing = ["typing-extensions (>=4.8)"] +docs = ["Sphinx", "furo"] +test = ["objgraph", "psutil"] [[package]] name = "grpcio" -version = "1.58.0" +version = "1.66.1" description = "HTTP/2-based RPC framework" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "grpcio-1.58.0-cp310-cp310-linux_armv7l.whl", hash = "sha256:3e6bebf1dfdbeb22afd95650e4f019219fef3ab86d3fca8ebade52e4bc39389a"}, - {file = "grpcio-1.58.0-cp310-cp310-macosx_12_0_universal2.whl", hash = "sha256:cde11577d5b6fd73a00e6bfa3cf5f428f3f33c2d2878982369b5372bbc4acc60"}, - {file = "grpcio-1.58.0-cp310-cp310-manylinux_2_17_aarch64.whl", hash = "sha256:a2d67ff99e70e86b2be46c1017ae40b4840d09467d5455b2708de6d4c127e143"}, - {file = "grpcio-1.58.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1ed979b273a81de36fc9c6716d9fb09dd3443efa18dcc8652501df11da9583e9"}, - {file = "grpcio-1.58.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:458899d2ebd55d5ca2350fd3826dfd8fcb11fe0f79828ae75e2b1e6051d50a29"}, - {file = "grpcio-1.58.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:bc7ffef430b80345729ff0a6825e9d96ac87efe39216e87ac58c6c4ef400de93"}, - {file = "grpcio-1.58.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:5b23d75e5173faa3d1296a7bedffb25afd2fddb607ef292dfc651490c7b53c3d"}, - {file = "grpcio-1.58.0-cp310-cp310-win32.whl", hash = "sha256:fad9295fe02455d4f158ad72c90ef8b4bcaadfdb5efb5795f7ab0786ad67dd58"}, - {file = "grpcio-1.58.0-cp310-cp310-win_amd64.whl", hash = "sha256:bc325fed4d074367bebd465a20763586e5e1ed5b943e9d8bc7c162b1f44fd602"}, - {file = "grpcio-1.58.0-cp311-cp311-linux_armv7l.whl", hash = "sha256:652978551af02373a5a313e07bfef368f406b5929cf2d50fa7e4027f913dbdb4"}, - {file = "grpcio-1.58.0-cp311-cp311-macosx_10_10_universal2.whl", hash = "sha256:9f13a171281ebb4d7b1ba9f06574bce2455dcd3f2f6d1fbe0fd0d84615c74045"}, - {file = "grpcio-1.58.0-cp311-cp311-manylinux_2_17_aarch64.whl", hash = "sha256:8774219e21b05f750eef8adc416e9431cf31b98f6ce9def288e4cea1548cbd22"}, - {file = "grpcio-1.58.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:09206106848462763f7f273ca93d2d2d4d26cab475089e0de830bb76be04e9e8"}, - {file = "grpcio-1.58.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:62831d5e251dd7561d9d9e83a0b8655084b2a1f8ea91e4bd6b3cedfefd32c9d2"}, - {file = "grpcio-1.58.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:212f38c6a156862098f6bdc9a79bf850760a751d259d8f8f249fc6d645105855"}, - {file = "grpcio-1.58.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:4b12754af201bb993e6e2efd7812085ddaaef21d0a6f0ff128b97de1ef55aa4a"}, - {file = "grpcio-1.58.0-cp311-cp311-win32.whl", hash = "sha256:3886b4d56bd4afeac518dbc05933926198aa967a7d1d237a318e6fbc47141577"}, - {file = "grpcio-1.58.0-cp311-cp311-win_amd64.whl", hash = "sha256:002f228d197fea12797a14e152447044e14fb4fdb2eb5d6cfa496f29ddbf79ef"}, - {file = "grpcio-1.58.0-cp37-cp37m-linux_armv7l.whl", hash = "sha256:b5e8db0aff0a4819946215f156bd722b6f6c8320eb8419567ffc74850c9fd205"}, - {file = "grpcio-1.58.0-cp37-cp37m-macosx_10_10_universal2.whl", hash = "sha256:201e550b7e2ede113b63e718e7ece93cef5b0fbf3c45e8fe4541a5a4305acd15"}, - {file = "grpcio-1.58.0-cp37-cp37m-manylinux_2_17_aarch64.whl", hash = "sha256:d79b660681eb9bc66cc7cbf78d1b1b9e335ee56f6ea1755d34a31108b80bd3c8"}, - {file = "grpcio-1.58.0-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2ef8d4a76d2c7d8065aba829f8d0bc0055495c998dce1964ca5b302d02514fb3"}, - {file = "grpcio-1.58.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6cba491c638c76d3dc6c191d9c75041ca5b8f5c6de4b8327ecdcab527f130bb4"}, - {file = "grpcio-1.58.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:6801ff6652ecd2aae08ef994a3e49ff53de29e69e9cd0fd604a79ae4e545a95c"}, - {file = "grpcio-1.58.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:24edec346e69e672daf12b2c88e95c6f737f3792d08866101d8c5f34370c54fd"}, - {file = "grpcio-1.58.0-cp37-cp37m-win_amd64.whl", hash = "sha256:7e473a7abad9af48e3ab5f3b5d237d18208024d28ead65a459bd720401bd2f8f"}, - {file = "grpcio-1.58.0-cp38-cp38-linux_armv7l.whl", hash = "sha256:4891bbb4bba58acd1d620759b3be11245bfe715eb67a4864c8937b855b7ed7fa"}, - {file = "grpcio-1.58.0-cp38-cp38-macosx_10_10_universal2.whl", hash = "sha256:e9f995a8a421405958ff30599b4d0eec244f28edc760de82f0412c71c61763d2"}, - {file = "grpcio-1.58.0-cp38-cp38-manylinux_2_17_aarch64.whl", hash = "sha256:2f85f87e2f087d9f632c085b37440a3169fda9cdde80cb84057c2fc292f8cbdf"}, - {file = "grpcio-1.58.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eb6b92036ff312d5b4182fa72e8735d17aceca74d0d908a7f08e375456f03e07"}, - {file = "grpcio-1.58.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d81c2b2b24c32139dd2536972f1060678c6b9fbd106842a9fcdecf07b233eccd"}, - {file = "grpcio-1.58.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:fbcecb6aedd5c1891db1d70efbfbdc126c986645b5dd616a045c07d6bd2dfa86"}, - {file = "grpcio-1.58.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:92ae871a902cf19833328bd6498ec007b265aabf2fda845ab5bd10abcaf4c8c6"}, - {file = "grpcio-1.58.0-cp38-cp38-win32.whl", hash = "sha256:dc72e04620d49d3007771c0e0348deb23ca341c0245d610605dddb4ac65a37cb"}, - {file = "grpcio-1.58.0-cp38-cp38-win_amd64.whl", hash = "sha256:1c1c5238c6072470c7f1614bf7c774ffde6b346a100521de9ce791d1e4453afe"}, - {file = "grpcio-1.58.0-cp39-cp39-linux_armv7l.whl", hash = "sha256:fe643af248442221db027da43ed43e53b73e11f40c9043738de9a2b4b6ca7697"}, - {file = "grpcio-1.58.0-cp39-cp39-macosx_10_10_universal2.whl", hash = "sha256:128eb1f8e70676d05b1b0c8e6600320fc222b3f8c985a92224248b1367122188"}, - {file = "grpcio-1.58.0-cp39-cp39-manylinux_2_17_aarch64.whl", hash = "sha256:039003a5e0ae7d41c86c768ef8b3ee2c558aa0a23cf04bf3c23567f37befa092"}, - {file = "grpcio-1.58.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8f061722cad3f9aabb3fbb27f3484ec9d4667b7328d1a7800c3c691a98f16bb0"}, - {file = "grpcio-1.58.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba0af11938acf8cd4cf815c46156bcde36fa5850518120920d52620cc3ec1830"}, - {file = "grpcio-1.58.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:d4cef77ad2fed42b1ba9143465856d7e737279854e444925d5ba45fc1f3ba727"}, - {file = "grpcio-1.58.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:24765a627eb4d9288ace32d5104161c3654128fe27f2808ecd6e9b0cfa7fc8b9"}, - {file = "grpcio-1.58.0-cp39-cp39-win32.whl", hash = "sha256:f0241f7eb0d2303a545136c59bc565a35c4fc3b924ccbd69cb482f4828d6f31c"}, - {file = "grpcio-1.58.0-cp39-cp39-win_amd64.whl", hash = "sha256:dcfba7befe3a55dab6fe1eb7fc9359dc0c7f7272b30a70ae0af5d5b063842f28"}, - {file = "grpcio-1.58.0.tar.gz", hash = "sha256:532410c51ccd851b706d1fbc00a87be0f5312bd6f8e5dbf89d4e99c7f79d7499"}, + {file = "grpcio-1.66.1-cp310-cp310-linux_armv7l.whl", hash = "sha256:4877ba180591acdf127afe21ec1c7ff8a5ecf0fe2600f0d3c50e8c4a1cbc6492"}, + {file = "grpcio-1.66.1-cp310-cp310-macosx_12_0_universal2.whl", hash = "sha256:3750c5a00bd644c75f4507f77a804d0189d97a107eb1481945a0cf3af3e7a5ac"}, + {file = "grpcio-1.66.1-cp310-cp310-manylinux_2_17_aarch64.whl", hash = "sha256:a013c5fbb12bfb5f927444b477a26f1080755a931d5d362e6a9a720ca7dbae60"}, + {file = "grpcio-1.66.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b1b24c23d51a1e8790b25514157d43f0a4dce1ac12b3f0b8e9f66a5e2c4c132f"}, + {file = "grpcio-1.66.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b7ffb8ea674d68de4cac6f57d2498fef477cef582f1fa849e9f844863af50083"}, + {file = "grpcio-1.66.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:307b1d538140f19ccbd3aed7a93d8f71103c5d525f3c96f8616111614b14bf2a"}, + {file = "grpcio-1.66.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:1c17ebcec157cfb8dd445890a03e20caf6209a5bd4ac5b040ae9dbc59eef091d"}, + {file = "grpcio-1.66.1-cp310-cp310-win32.whl", hash = "sha256:ef82d361ed5849d34cf09105d00b94b6728d289d6b9235513cb2fcc79f7c432c"}, + {file = "grpcio-1.66.1-cp310-cp310-win_amd64.whl", hash = "sha256:292a846b92cdcd40ecca46e694997dd6b9be6c4c01a94a0dfb3fcb75d20da858"}, + {file = "grpcio-1.66.1-cp311-cp311-linux_armv7l.whl", hash = "sha256:c30aeceeaff11cd5ddbc348f37c58bcb96da8d5aa93fed78ab329de5f37a0d7a"}, + {file = "grpcio-1.66.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:8a1e224ce6f740dbb6b24c58f885422deebd7eb724aff0671a847f8951857c26"}, + {file = "grpcio-1.66.1-cp311-cp311-manylinux_2_17_aarch64.whl", hash = "sha256:a66fe4dc35d2330c185cfbb42959f57ad36f257e0cc4557d11d9f0a3f14311df"}, + {file = "grpcio-1.66.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e3ba04659e4fce609de2658fe4dbf7d6ed21987a94460f5f92df7579fd5d0e22"}, + {file = "grpcio-1.66.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4573608e23f7e091acfbe3e84ac2045680b69751d8d67685ffa193a4429fedb1"}, + {file = "grpcio-1.66.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:7e06aa1f764ec8265b19d8f00140b8c4b6ca179a6dc67aa9413867c47e1fb04e"}, + {file = "grpcio-1.66.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:3885f037eb11f1cacc41f207b705f38a44b69478086f40608959bf5ad85826dd"}, + {file = "grpcio-1.66.1-cp311-cp311-win32.whl", hash = "sha256:97ae7edd3f3f91480e48ede5d3e7d431ad6005bfdbd65c1b56913799ec79e791"}, + {file = "grpcio-1.66.1-cp311-cp311-win_amd64.whl", hash = "sha256:cfd349de4158d797db2bd82d2020554a121674e98fbe6b15328456b3bf2495bb"}, + {file = "grpcio-1.66.1-cp312-cp312-linux_armv7l.whl", hash = "sha256:a92c4f58c01c77205df6ff999faa008540475c39b835277fb8883b11cada127a"}, + {file = "grpcio-1.66.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:fdb14bad0835914f325349ed34a51940bc2ad965142eb3090081593c6e347be9"}, + {file = "grpcio-1.66.1-cp312-cp312-manylinux_2_17_aarch64.whl", hash = "sha256:f03a5884c56256e08fd9e262e11b5cfacf1af96e2ce78dc095d2c41ccae2c80d"}, + {file = "grpcio-1.66.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2ca2559692d8e7e245d456877a85ee41525f3ed425aa97eb7a70fc9a79df91a0"}, + {file = "grpcio-1.66.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:84ca1be089fb4446490dd1135828bd42a7c7f8421e74fa581611f7afdf7ab761"}, + {file = "grpcio-1.66.1-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:d639c939ad7c440c7b2819a28d559179a4508783f7e5b991166f8d7a34b52815"}, + {file = "grpcio-1.66.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:b9feb4e5ec8dc2d15709f4d5fc367794d69277f5d680baf1910fc9915c633524"}, + {file = "grpcio-1.66.1-cp312-cp312-win32.whl", hash = "sha256:7101db1bd4cd9b880294dec41a93fcdce465bdbb602cd8dc5bd2d6362b618759"}, + {file = "grpcio-1.66.1-cp312-cp312-win_amd64.whl", hash = "sha256:b0aa03d240b5539648d996cc60438f128c7f46050989e35b25f5c18286c86734"}, + {file = "grpcio-1.66.1-cp38-cp38-linux_armv7l.whl", hash = "sha256:ecfe735e7a59e5a98208447293ff8580e9db1e890e232b8b292dc8bd15afc0d2"}, + {file = "grpcio-1.66.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:4825a3aa5648010842e1c9d35a082187746aa0cdbf1b7a2a930595a94fb10fce"}, + {file = "grpcio-1.66.1-cp38-cp38-manylinux_2_17_aarch64.whl", hash = "sha256:f517fd7259fe823ef3bd21e508b653d5492e706e9f0ef82c16ce3347a8a5620c"}, + {file = "grpcio-1.66.1-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f1fe60d0772831d96d263b53d83fb9a3d050a94b0e94b6d004a5ad111faa5b5b"}, + {file = "grpcio-1.66.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:31a049daa428f928f21090403e5d18ea02670e3d5d172581670be006100db9ef"}, + {file = "grpcio-1.66.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:6f914386e52cbdeb5d2a7ce3bf1fdfacbe9d818dd81b6099a05b741aaf3848bb"}, + {file = "grpcio-1.66.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:bff2096bdba686019fb32d2dde45b95981f0d1490e054400f70fc9a8af34b49d"}, + {file = "grpcio-1.66.1-cp38-cp38-win32.whl", hash = "sha256:aa8ba945c96e73de29d25331b26f3e416e0c0f621e984a3ebdb2d0d0b596a3b3"}, + {file = "grpcio-1.66.1-cp38-cp38-win_amd64.whl", hash = "sha256:161d5c535c2bdf61b95080e7f0f017a1dfcb812bf54093e71e5562b16225b4ce"}, + {file = "grpcio-1.66.1-cp39-cp39-linux_armv7l.whl", hash = "sha256:d0cd7050397b3609ea51727b1811e663ffda8bda39c6a5bb69525ef12414b503"}, + {file = "grpcio-1.66.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:0e6c9b42ded5d02b6b1fea3a25f036a2236eeb75d0579bfd43c0018c88bf0a3e"}, + {file = "grpcio-1.66.1-cp39-cp39-manylinux_2_17_aarch64.whl", hash = "sha256:c9f80f9fad93a8cf71c7f161778ba47fd730d13a343a46258065c4deb4b550c0"}, + {file = "grpcio-1.66.1-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5dd67ed9da78e5121efc5c510f0122a972216808d6de70953a740560c572eb44"}, + {file = "grpcio-1.66.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:48b0d92d45ce3be2084b92fb5bae2f64c208fea8ceed7fccf6a7b524d3c4942e"}, + {file = "grpcio-1.66.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:4d813316d1a752be6f5c4360c49f55b06d4fe212d7df03253dfdae90c8a402bb"}, + {file = "grpcio-1.66.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:9c9bebc6627873ec27a70fc800f6083a13c70b23a5564788754b9ee52c5aef6c"}, + {file = "grpcio-1.66.1-cp39-cp39-win32.whl", hash = "sha256:30a1c2cf9390c894c90bbc70147f2372130ad189cffef161f0432d0157973f45"}, + {file = "grpcio-1.66.1-cp39-cp39-win_amd64.whl", hash = "sha256:17663598aadbedc3cacd7bbde432f541c8e07d2496564e22b214b22c7523dac8"}, + {file = "grpcio-1.66.1.tar.gz", hash = "sha256:35334f9c9745add3e357e3372756fd32d925bd52c41da97f4dfdafbde0bf0ee2"}, ] [package.extras] -protobuf = ["grpcio-tools (>=1.58.0)"] +protobuf = ["grpcio-tools (>=1.66.1)"] [[package]] name = "h11" @@ -885,12 +1107,12 @@ files = [ [[package]] name = "http-ece" -version = "1.2.0" +version = "1.2.1" description = "Encrypted Content Encoding for HTTP" optional = false python-versions = "*" files = [ - {file = "http_ece-1.2.0.tar.gz", hash = "sha256:b5920f8efb8e1b5fb025713e3b36fda54336262010634b26dc1f98f85d1eb3de"}, + {file = "http_ece-1.2.1.tar.gz", hash = "sha256:8c6ab23116bbf6affda894acfd5f2ca0fb8facbcbb72121c11c75c33e7ce8cff"}, ] [package.dependencies] @@ -898,39 +1120,40 @@ cryptography = ">=2.5" [[package]] name = "httpcore" -version = "0.18.0" +version = "1.0.6" description = "A minimal low-level HTTP client." optional = false python-versions = ">=3.8" files = [ - {file = "httpcore-0.18.0-py3-none-any.whl", hash = "sha256:adc5398ee0a476567bf87467063ee63584a8bce86078bf748e48754f60202ced"}, - {file = "httpcore-0.18.0.tar.gz", hash = "sha256:13b5e5cd1dca1a6636a6aaea212b19f4f85cd88c366a2b82304181b769aab3c9"}, + {file = "httpcore-1.0.6-py3-none-any.whl", hash = "sha256:27b59625743b85577a8c0e10e55b50b5368a4f2cfe8cc7bcfa9cf00829c2682f"}, + {file = "httpcore-1.0.6.tar.gz", hash = "sha256:73f6dbd6eb8c21bbf7ef8efad555481853f5f6acdeaff1edb0694289269ee17f"}, ] [package.dependencies] -anyio = ">=3.0,<5.0" certifi = "*" h11 = ">=0.13,<0.15" -sniffio = "==1.*" [package.extras] +asyncio = ["anyio (>=4.0,<5.0)"] http2 = ["h2 (>=3,<5)"] socks = ["socksio (==1.*)"] +trio = ["trio (>=0.22.0,<1.0)"] [[package]] name = "httpx" -version = "0.25.0" +version = "0.27.0" description = "The next generation HTTP client." optional = false python-versions = ">=3.8" files = [ - {file = "httpx-0.25.0-py3-none-any.whl", hash = "sha256:181ea7f8ba3a82578be86ef4171554dd45fec26a02556a744db029a0a27b7100"}, - {file = "httpx-0.25.0.tar.gz", hash = "sha256:47ecda285389cb32bb2691cc6e069e3ab0205956f681c5b2ad2325719751d875"}, + {file = "httpx-0.27.0-py3-none-any.whl", hash = "sha256:71d5465162c13681bff01ad59b2cc68dd838ea1f10e51574bac27103f00c91a5"}, + {file = "httpx-0.27.0.tar.gz", hash = "sha256:a0cb88a46f32dc874e04ee956e4c2764aba2aa228f650b06788ba6bda2962ab5"}, ] [package.dependencies] +anyio = "*" certifi = "*" -httpcore = ">=0.18.0,<0.19.0" +httpcore = "==1.*" idna = "*" sniffio = "*" @@ -942,13 +1165,13 @@ socks = ["socksio (==1.*)"] [[package]] name = "identify" -version = "2.5.35" +version = "2.6.1" description = "File identification library for Python" optional = false python-versions = ">=3.8" files = [ - {file = "identify-2.5.35-py2.py3-none-any.whl", hash = "sha256:c4de0081837b211594f8e877a6b4fad7ca32bbfc1a9307fdd61c28bfe923f13e"}, - {file = "identify-2.5.35.tar.gz", hash = "sha256:10a7ca245cfcd756a554a7288159f72ff105ad233c7c4b9c6f0f4d108f5f6791"}, + {file = "identify-2.6.1-py2.py3-none-any.whl", hash = "sha256:53863bcac7caf8d2ed85bd20312ea5dcfc22226800f6d6881f232d861db5a8f0"}, + {file = "identify-2.6.1.tar.gz", hash = "sha256:91478c5fb7c3aac5ff7bf9b4344f803843dc586832d5f110d672b19aa1984c98"}, ] [package.extras] @@ -956,32 +1179,39 @@ license = ["ukkonen"] [[package]] name = "idna" -version = "3.7" +version = "3.10" description = "Internationalized Domain Names in Applications (IDNA)" optional = false -python-versions = ">=3.5" +python-versions = ">=3.6" files = [ - {file = "idna-3.7-py3-none-any.whl", hash = "sha256:82fee1fc78add43492d3a1898bfa6d8a904cc97d8427f683ed8e798d07761aa0"}, - {file = "idna-3.7.tar.gz", hash = "sha256:028ff3aadf0609c1fd278d8ea3089299412a7a8b9bd005dd08b9f8285bcb5cfc"}, + {file = "idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3"}, + {file = "idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9"}, ] +[package.extras] +all = ["flake8 (>=7.1.1)", "mypy (>=1.11.2)", "pytest (>=8.3.2)", "ruff (>=0.6.2)"] + [[package]] name = "importlib-resources" -version = "6.4.0" +version = "6.4.5" description = "Read resources from Python packages" optional = false python-versions = ">=3.8" files = [ - {file = "importlib_resources-6.4.0-py3-none-any.whl", hash = "sha256:50d10f043df931902d4194ea07ec57960f66a80449ff867bfe782b4c486ba78c"}, - {file = "importlib_resources-6.4.0.tar.gz", hash = "sha256:cdb2b453b8046ca4e3798eb1d84f3cce1446a0e8e7b5ef4efb600f19fc398145"}, + {file = "importlib_resources-6.4.5-py3-none-any.whl", hash = "sha256:ac29d5f956f01d5e4bb63102a5a19957f1b9175e45649977264a1416783bb717"}, + {file = "importlib_resources-6.4.5.tar.gz", hash = "sha256:980862a1d16c9e147a59603677fa2aa5fd82b87f223b6cb870695bcfce830065"}, ] [package.dependencies] zipp = {version = ">=3.1.0", markers = "python_version < \"3.10\""} [package.extras] -docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (<7.2.5)", "sphinx (>=3.5)", "sphinx-lint"] -testing = ["jaraco.test (>=5.4)", "pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy", "pytest-ruff (>=0.2.1)", "zipp (>=3.17)"] +check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)"] +cover = ["pytest-cov"] +doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] +enabler = ["pytest-enabler (>=2.2)"] +test = ["jaraco.test (>=5.4)", "pytest (>=6,!=8.1.*)", "zipp (>=3.17)"] +type = ["pytest-mypy"] [[package]] name = "iniconfig" @@ -996,24 +1226,24 @@ files = [ [[package]] name = "itsdangerous" -version = "2.1.2" +version = "2.2.0" description = "Safely pass data to untrusted environments and back." optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "itsdangerous-2.1.2-py3-none-any.whl", hash = "sha256:2c2349112351b88699d8d4b6b075022c0808887cb7ad10069318a8b0bc88db44"}, - {file = "itsdangerous-2.1.2.tar.gz", hash = "sha256:5dbbc68b317e5e42f327f9021763545dc3fc3bfe22e6deb96aaf1fc38874156a"}, + {file = "itsdangerous-2.2.0-py3-none-any.whl", hash = "sha256:c6242fc49e35958c8b15141343aa660db5fc54d4f13a1db01a3f5891b98700ef"}, + {file = "itsdangerous-2.2.0.tar.gz", hash = "sha256:e0050c0b7da1eea53ffaf149c0cfbb5c6e2e2b69c4bef22c81fa6eb73e5f6173"}, ] [[package]] name = "jinja2" -version = "3.1.3" +version = "3.1.4" description = "A very fast and expressive template engine." optional = false python-versions = ">=3.7" files = [ - {file = "Jinja2-3.1.3-py3-none-any.whl", hash = "sha256:7d6d50dd97d52cbc355597bd845fabfbac3f551e1f99619e39a35ce8c370b5fa"}, - {file = "Jinja2-3.1.3.tar.gz", hash = "sha256:ac8bd6544d4bb2c9792bf3a159e80bba8fda7f07e81bc3aed565432d5925ba90"}, + {file = "jinja2-3.1.4-py3-none-any.whl", hash = "sha256:bc5dd2abb727a5319567b7a813e6a2e7318c39f4f487cfe6c89c6f9c7d25197d"}, + {file = "jinja2-3.1.4.tar.gz", hash = "sha256:4a3aee7acbbe7303aede8e9648d13b8bf88a429282aa6122a993f0ac800cb369"}, ] [package.dependencies] @@ -1024,13 +1254,13 @@ i18n = ["Babel (>=2.7)"] [[package]] name = "limits" -version = "3.10.1" +version = "3.13.0" description = "Rate limiting utilities" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "limits-3.10.1-py3-none-any.whl", hash = "sha256:446242f5a6f7b8c7744e286a70793264ed81bca97860f94b821347284d14fbe9"}, - {file = "limits-3.10.1.tar.gz", hash = "sha256:1ee31d169d498da267a1b72183ae5940afc64b17b4ed4dfd977f6ea5607c2cfb"}, + {file = "limits-3.13.0-py3-none-any.whl", hash = "sha256:9767f7233da4255e9904b79908a728e8ec0984c0b086058b4cbbd309aea553f6"}, + {file = "limits-3.13.0.tar.gz", hash = "sha256:6571b0c567bfa175a35fed9f8a954c0c92f1c3200804282f1b8f1de4ad98a953"}, ] [package.dependencies] @@ -1053,72 +1283,75 @@ rediscluster = ["redis (>=4.2.0,!=4.5.2,!=4.5.3)"] [[package]] name = "lnbits" -version = "0.12.6" +version = "1.0.0rc5" description = "LNbits, free and open-source Lightning wallet and accounts system." optional = false python-versions = "<4.0,>=3.9" files = [ - {file = "lnbits-0.12.6-py3-none-any.whl", hash = "sha256:330a82358fa361278958a6be0d0ce24b6fc33654faa0b673bd77cb08b1724944"}, - {file = "lnbits-0.12.6.tar.gz", hash = "sha256:256fced2bf82d2a0e8da00a0c9c14cde71a68778f8b2f9b111374be80b2fceb2"}, + {file = "lnbits-1.0.0rc5-py3-none-any.whl", hash = "sha256:3107a9c6711720299add7880b62c020cbf34cee2486d47f2c3ddd3f6b4a76b9d"}, + {file = "lnbits-1.0.0rc5.tar.gz", hash = "sha256:f5559efa5d9b81f89acc1510db052d6300b3e93e1d0acdc70204689501865a51"}, ] [package.dependencies] -bcrypt = ">=4.1.1,<5.0.0" +aiosqlite = "0.20.0" +asyncpg = "0.29.0" +bcrypt = "4.2.0" bech32 = "1.2.0" -bolt11 = "2.0.5" +bolt11 = "2.1.0" click = "8.1.7" -ecdsa = "0.18.0" -embit = "0.7.0" +ecdsa = "0.19.0" +embit = "0.8.0" environs = "9.5.0" -fastapi = "0.109.2" -fastapi-sso = ">=0.9.1,<0.10.0" -grpcio = "1.58.0" -httpx = "0.25.0" -itsdangerous = ">=2.1.2,<3.0.0" -jinja2 = "3.1.3" -lnurl = "0.4.2" +fastapi = "0.115.2" +fastapi-sso = "0.15.0" +grpcio = "1.66.1" +httpx = "0.27.0" +itsdangerous = "2.2.0" +jinja2 = "3.1.4" +lnurl = "0.5.3" loguru = "0.7.2" -packaging = "23.1" -passlib = ">=1.7.4,<2.0.0" -protobuf = "4.24.3" -psycopg2-binary = "2.9.7" -pycryptodomex = "3.19.1" -pydantic = "1.10.9" -pyln-client = "23.8" +packaging = "24.0" +passlib = "1.7.4" +protobuf = "5.28.0" +pycryptodomex = "3.20.0" +pydantic = "1.10.18" +pyjwt = "2.9.0" +pyln-client = "24.8.1" pyqrcode = "1.2.1" -python-crontab = "3.0.0" -python-jose = ">=3.3.0,<4.0.0" -pywebpush = "1.14.0" +python-crontab = "3.2.0" +pywebpush = "1.14.1" secp256k1 = "0.14.0" -shortuuid = "1.0.11" +shortuuid = "1.0.13" slowapi = "0.1.9" -sqlalchemy = "1.3.24" -sqlalchemy-aio = "0.17.0" -sse-starlette = "1.6.5" -typing-extensions = "4.8.0" -uvicorn = "0.23.2" -uvloop = "0.17.0" -websocket-client = "1.6.3" +sqlalchemy = "1.4.54" +sse-starlette = "1.8.2" +typing-extensions = "4.12.2" +uvicorn = "0.30.6" +uvloop = "0.19.0" +websocket-client = "1.8.0" websockets = "11.0.3" [package.extras] -liquid = ["wallycore (>=1.0.0,<2.0.0)"] +breez = ["breez-sdk (==0.5.2)"] +liquid = ["wallycore (==1.3.0)"] [[package]] name = "lnurl" -version = "0.4.2" +version = "0.5.3" description = "LNURL implementation for Python." optional = false -python-versions = ">=3.9,<4.0" +python-versions = "<4.0,>=3.9" files = [ - {file = "lnurl-0.4.2-py3-none-any.whl", hash = "sha256:93f79ae7e0b0c66fed5b29ac1520e85e3e2c8648561a4b42974f0b7bffd34d84"}, - {file = "lnurl-0.4.2.tar.gz", hash = "sha256:c5e708b255d5333a0c08ceffe90ae4be6d2d09eb51dc8c35d19d8aa4cb21842a"}, + {file = "lnurl-0.5.3-py3-none-any.whl", hash = "sha256:feaf6c60b0b7f104894ef3accbd30d23d52e038c2797c58432baea7f4a8aa952"}, + {file = "lnurl-0.5.3.tar.gz", hash = "sha256:60154bcfdbb98fb143eeca970a16d73a582f28e057a826b5f222259411c497fe"}, ] [package.dependencies] bech32 = ">=1.2.0,<2.0.0" +bolt11 = ">=2.0.5,<3.0.0" +ecdsa = ">=0.19.0,<0.20.0" +httpx = ">=0.27.0,<0.28.0" pydantic = ">=1,<2" -requests = ">=2.31.0,<3.0.0" [[package]] name = "loguru" @@ -1140,132 +1373,138 @@ dev = ["Sphinx (==7.2.5)", "colorama (==0.4.5)", "colorama (==0.4.6)", "exceptio [[package]] name = "markupsafe" -version = "2.1.5" +version = "3.0.2" description = "Safely add untrusted strings to HTML/XML markup." optional = false -python-versions = ">=3.7" +python-versions = ">=3.9" files = [ - {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a17a92de5231666cfbe003f0e4b9b3a7ae3afb1ec2845aadc2bacc93ff85febc"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:72b6be590cc35924b02c78ef34b467da4ba07e4e0f0454a2c5907f473fc50ce5"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e61659ba32cf2cf1481e575d0462554625196a1f2fc06a1c777d3f48e8865d46"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2174c595a0d73a3080ca3257b40096db99799265e1c27cc5a610743acd86d62f"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ae2ad8ae6ebee9d2d94b17fb62763125f3f374c25618198f40cbb8b525411900"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:075202fa5b72c86ad32dc7d0b56024ebdbcf2048c0ba09f1cde31bfdd57bcfff"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:598e3276b64aff0e7b3451b72e94fa3c238d452e7ddcd893c3ab324717456bad"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fce659a462a1be54d2ffcacea5e3ba2d74daa74f30f5f143fe0c58636e355fdd"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-win32.whl", hash = "sha256:d9fad5155d72433c921b782e58892377c44bd6252b5af2f67f16b194987338a4"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-win_amd64.whl", hash = "sha256:bf50cd79a75d181c9181df03572cdce0fbb75cc353bc350712073108cba98de5"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:629ddd2ca402ae6dbedfceeba9c46d5f7b2a61d9749597d4307f943ef198fc1f"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5b7b716f97b52c5a14bffdf688f971b2d5ef4029127f1ad7a513973cfd818df2"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6ec585f69cec0aa07d945b20805be741395e28ac1627333b1c5b0105962ffced"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b91c037585eba9095565a3556f611e3cbfaa42ca1e865f7b8015fe5c7336d5a5"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7502934a33b54030eaf1194c21c692a534196063db72176b0c4028e140f8f32c"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0e397ac966fdf721b2c528cf028494e86172b4feba51d65f81ffd65c63798f3f"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c061bb86a71b42465156a3ee7bd58c8c2ceacdbeb95d05a99893e08b8467359a"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:3a57fdd7ce31c7ff06cdfbf31dafa96cc533c21e443d57f5b1ecc6cdc668ec7f"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-win32.whl", hash = "sha256:397081c1a0bfb5124355710fe79478cdbeb39626492b15d399526ae53422b906"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-win_amd64.whl", hash = "sha256:2b7c57a4dfc4f16f7142221afe5ba4e093e09e728ca65c51f5620c9aaeb9a617"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:8dec4936e9c3100156f8a2dc89c4b88d5c435175ff03413b443469c7c8c5f4d1"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:3c6b973f22eb18a789b1460b4b91bf04ae3f0c4234a0a6aa6b0a92f6f7b951d4"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ac07bad82163452a6884fe8fa0963fb98c2346ba78d779ec06bd7a6262132aee"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5dfb42c4604dddc8e4305050aa6deb084540643ed5804d7455b5df8fe16f5e5"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ea3d8a3d18833cf4304cd2fc9cbb1efe188ca9b5efef2bdac7adc20594a0e46b"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d050b3361367a06d752db6ead6e7edeb0009be66bc3bae0ee9d97fb326badc2a"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:bec0a414d016ac1a18862a519e54b2fd0fc8bbfd6890376898a6c0891dd82e9f"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:58c98fee265677f63a4385256a6d7683ab1832f3ddd1e66fe948d5880c21a169"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-win32.whl", hash = "sha256:8590b4ae07a35970728874632fed7bd57b26b0102df2d2b233b6d9d82f6c62ad"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-win_amd64.whl", hash = "sha256:823b65d8706e32ad2df51ed89496147a42a2a6e01c13cfb6ffb8b1e92bc910bb"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c8b29db45f8fe46ad280a7294f5c3ec36dbac9491f2d1c17345be8e69cc5928f"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ec6a563cff360b50eed26f13adc43e61bc0c04d94b8be985e6fb24b81f6dcfdf"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a549b9c31bec33820e885335b451286e2969a2d9e24879f83fe904a5ce59d70a"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4f11aa001c540f62c6166c7726f71f7573b52c68c31f014c25cc7901deea0b52"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:7b2e5a267c855eea6b4283940daa6e88a285f5f2a67f2220203786dfa59b37e9"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:2d2d793e36e230fd32babe143b04cec8a8b3eb8a3122d2aceb4a371e6b09b8df"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:ce409136744f6521e39fd8e2a24c53fa18ad67aa5bc7c2cf83645cce5b5c4e50"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-win32.whl", hash = "sha256:4096e9de5c6fdf43fb4f04c26fb114f61ef0bf2e5604b6ee3019d51b69e8c371"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-win_amd64.whl", hash = "sha256:4275d846e41ecefa46e2015117a9f491e57a71ddd59bbead77e904dc02b1bed2"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:656f7526c69fac7f600bd1f400991cc282b417d17539a1b228617081106feb4a"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:97cafb1f3cbcd3fd2b6fbfb99ae11cdb14deea0736fc2b0952ee177f2b813a46"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f3fbcb7ef1f16e48246f704ab79d79da8a46891e2da03f8783a5b6fa41a9532"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fa9db3f79de01457b03d4f01b34cf91bc0048eb2c3846ff26f66687c2f6d16ab"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffee1f21e5ef0d712f9033568f8344d5da8cc2869dbd08d87c84656e6a2d2f68"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:5dedb4db619ba5a2787a94d877bc8ffc0566f92a01c0ef214865e54ecc9ee5e0"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:30b600cf0a7ac9234b2638fbc0fb6158ba5bdcdf46aeb631ead21248b9affbc4"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8dd717634f5a044f860435c1d8c16a270ddf0ef8588d4887037c5028b859b0c3"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-win32.whl", hash = "sha256:daa4ee5a243f0f20d528d939d06670a298dd39b1ad5f8a72a4275124a7819eff"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-win_amd64.whl", hash = "sha256:619bc166c4f2de5caa5a633b8b7326fbe98e0ccbfacabd87268a2b15ff73a029"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7a68b554d356a91cce1236aa7682dc01df0edba8d043fd1ce607c49dd3c1edcf"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:db0b55e0f3cc0be60c1f19efdde9a637c32740486004f20d1cff53c3c0ece4d2"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e53af139f8579a6d5f7b76549125f0d94d7e630761a2111bc431fd820e163b8"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:17b950fccb810b3293638215058e432159d2b71005c74371d784862b7e4683f3"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4c31f53cdae6ecfa91a77820e8b151dba54ab528ba65dfd235c80b086d68a465"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:bff1b4290a66b490a2f4719358c0cdcd9bafb6b8f061e45c7a2460866bf50c2e"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:bc1667f8b83f48511b94671e0e441401371dfd0f0a795c7daa4a3cd1dde55bea"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5049256f536511ee3f7e1b3f87d1d1209d327e818e6ae1365e8653d7e3abb6a6"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-win32.whl", hash = "sha256:00e046b6dd71aa03a41079792f8473dc494d564611a8f89bbbd7cb93295ebdcf"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-win_amd64.whl", hash = "sha256:fa173ec60341d6bb97a89f5ea19c85c5643c1e7dedebc22f5181eb73573142c5"}, - {file = "MarkupSafe-2.1.5.tar.gz", hash = "sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7e94c425039cde14257288fd61dcfb01963e658efbc0ff54f5306b06054700f8"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9e2d922824181480953426608b81967de705c3cef4d1af983af849d7bd619158"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:38a9ef736c01fccdd6600705b09dc574584b89bea478200c5fbf112a6b0d5579"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bbcb445fa71794da8f178f0f6d66789a28d7319071af7a496d4d507ed566270d"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:57cb5a3cf367aeb1d316576250f65edec5bb3be939e9247ae594b4bcbc317dfb"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:3809ede931876f5b2ec92eef964286840ed3540dadf803dd570c3b7e13141a3b"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e07c3764494e3776c602c1e78e298937c3315ccc9043ead7e685b7f2b8d47b3c"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b424c77b206d63d500bcb69fa55ed8d0e6a3774056bdc4839fc9298a7edca171"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-win32.whl", hash = "sha256:fcabf5ff6eea076f859677f5f0b6b5c1a51e70a376b0579e0eadef8db48c6b50"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:6af100e168aa82a50e186c82875a5893c5597a0c1ccdb0d8b40240b1f28b969a"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9025b4018f3a1314059769c7bf15441064b2207cb3f065e6ea1e7359cb46db9d"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:93335ca3812df2f366e80509ae119189886b0f3c2b81325d39efdb84a1e2ae93"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2cb8438c3cbb25e220c2ab33bb226559e7afb3baec11c4f218ffa7308603c832"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a123e330ef0853c6e822384873bef7507557d8e4a082961e1defa947aa59ba84"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1e084f686b92e5b83186b07e8a17fc09e38fff551f3602b249881fec658d3eca"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d8213e09c917a951de9d09ecee036d5c7d36cb6cb7dbaece4c71a60d79fb9798"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:5b02fb34468b6aaa40dfc198d813a641e3a63b98c2b05a16b9f80b7ec314185e"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:0bff5e0ae4ef2e1ae4fdf2dfd5b76c75e5c2fa4132d05fc1b0dabcd20c7e28c4"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-win32.whl", hash = "sha256:6c89876f41da747c8d3677a2b540fb32ef5715f97b66eeb0c6b66f5e3ef6f59d"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:70a87b411535ccad5ef2f1df5136506a10775d267e197e4cf531ced10537bd6b"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:9778bd8ab0a994ebf6f84c2b949e65736d5575320a17ae8984a77fab08db94cf"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:846ade7b71e3536c4e56b386c2a47adf5741d2d8b94ec9dc3e92e5e1ee1e2225"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1c99d261bd2d5f6b59325c92c73df481e05e57f19837bdca8413b9eac4bd8028"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e17c96c14e19278594aa4841ec148115f9c7615a47382ecb6b82bd8fea3ab0c8"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:88416bd1e65dcea10bc7569faacb2c20ce071dd1f87539ca2ab364bf6231393c"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2181e67807fc2fa785d0592dc2d6206c019b9502410671cc905d132a92866557"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:52305740fe773d09cffb16f8ed0427942901f00adedac82ec8b67752f58a1b22"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ad10d3ded218f1039f11a75f8091880239651b52e9bb592ca27de44eed242a48"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-win32.whl", hash = "sha256:0f4ca02bea9a23221c0182836703cbf8930c5e9454bacce27e767509fa286a30"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:8e06879fc22a25ca47312fbe7c8264eb0b662f6db27cb2d3bbbc74b1df4b9b87"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ba9527cdd4c926ed0760bc301f6728ef34d841f405abf9d4f959c478421e4efd"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f8b3d067f2e40fe93e1ccdd6b2e1d16c43140e76f02fb1319a05cf2b79d99430"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:569511d3b58c8791ab4c2e1285575265991e6d8f8700c7be0e88f86cb0672094"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15ab75ef81add55874e7ab7055e9c397312385bd9ced94920f2802310c930396"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f3818cb119498c0678015754eba762e0d61e5b52d34c8b13d770f0719f7b1d79"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:cdb82a876c47801bb54a690c5ae105a46b392ac6099881cdfb9f6e95e4014c6a"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:cabc348d87e913db6ab4aa100f01b08f481097838bdddf7c7a84b7575b7309ca"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:444dcda765c8a838eaae23112db52f1efaf750daddb2d9ca300bcae1039adc5c"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-win32.whl", hash = "sha256:bcf3e58998965654fdaff38e58584d8937aa3096ab5354d493c77d1fdd66d7a1"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:e6a2a455bd412959b57a172ce6328d2dd1f01cb2135efda2e4576e8a23fa3b0f"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:b5a6b3ada725cea8a5e634536b1b01c30bcdcd7f9c6fff4151548d5bf6b3a36c"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:a904af0a6162c73e3edcb969eeeb53a63ceeb5d8cf642fade7d39e7963a22ddb"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4aa4e5faecf353ed117801a068ebab7b7e09ffb6e1d5e412dc852e0da018126c"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0ef13eaeee5b615fb07c9a7dadb38eac06a0608b41570d8ade51c56539e509d"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d16a81a06776313e817c951135cf7340a3e91e8c1ff2fac444cfd75fffa04afe"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:6381026f158fdb7c72a168278597a5e3a5222e83ea18f543112b2662a9b699c5"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:3d79d162e7be8f996986c064d1c7c817f6df3a77fe3d6859f6f9e7be4b8c213a"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:131a3c7689c85f5ad20f9f6fb1b866f402c445b220c19fe4308c0b147ccd2ad9"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-win32.whl", hash = "sha256:ba8062ed2cf21c07a9e295d5b8a2a5ce678b913b45fdf68c32d95d6c1291e0b6"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-win_amd64.whl", hash = "sha256:e444a31f8db13eb18ada366ab3cf45fd4b31e4db1236a4448f68778c1d1a5a2f"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:eaa0a10b7f72326f1372a713e73c3f739b524b3af41feb43e4921cb529f5929a"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:48032821bbdf20f5799ff537c7ac3d1fba0ba032cfc06194faffa8cda8b560ff"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a9d3f5f0901fdec14d8d2f66ef7d035f2157240a433441719ac9a3fba440b13"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:88b49a3b9ff31e19998750c38e030fc7bb937398b1f78cfa599aaef92d693144"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cfad01eed2c2e0c01fd0ecd2ef42c492f7f93902e39a42fc9ee1692961443a29"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:1225beacc926f536dc82e45f8a4d68502949dc67eea90eab715dea3a21c1b5f0"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:3169b1eefae027567d1ce6ee7cae382c57fe26e82775f460f0b2778beaad66c0"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:eb7972a85c54febfb25b5c4b4f3af4dcc731994c7da0d8a0b4a6eb0640e1d178"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-win32.whl", hash = "sha256:8c4e8c3ce11e1f92f6536ff07154f9d49677ebaaafc32db9db4620bc11ed480f"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:6e296a513ca3d94054c2c881cc913116e90fd030ad1c656b3869762b754f5f8a"}, + {file = "markupsafe-3.0.2.tar.gz", hash = "sha256:ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0"}, ] [[package]] name = "marshmallow" -version = "3.21.1" +version = "3.23.0" description = "A lightweight library for converting complex datatypes to and from native Python datatypes." optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" files = [ - {file = "marshmallow-3.21.1-py3-none-any.whl", hash = "sha256:f085493f79efb0644f270a9bf2892843142d80d7174bbbd2f3713f2a589dc633"}, - {file = "marshmallow-3.21.1.tar.gz", hash = "sha256:4e65e9e0d80fc9e609574b9983cf32579f305c718afb30d7233ab818571768c3"}, + {file = "marshmallow-3.23.0-py3-none-any.whl", hash = "sha256:82f20a2397834fe6d9611b241f2f7e7b680ed89c49f84728a1ad937be6b4bdf4"}, + {file = "marshmallow-3.23.0.tar.gz", hash = "sha256:98d8827a9f10c03d44ead298d2e99c6aea8197df18ccfad360dae7f89a50da2e"}, ] [package.dependencies] packaging = ">=17.0" [package.extras] -dev = ["marshmallow[tests]", "pre-commit (>=3.5,<4.0)", "tox"] -docs = ["alabaster (==0.7.16)", "autodocsumm (==0.2.12)", "sphinx (==7.2.6)", "sphinx-issues (==4.0.0)", "sphinx-version-warning (==1.1.2)"] -tests = ["pytest", "pytz", "simplejson"] +dev = ["marshmallow[tests]", "pre-commit (>=3.5,<5.0)", "tox"] +docs = ["alabaster (==1.0.0)", "autodocsumm (==0.2.13)", "sphinx (==8.1.3)", "sphinx-issues (==5.0.0)", "sphinx-version-warning (==1.1.2)"] +tests = ["pytest", "simplejson"] [[package]] name = "mypy" -version = "1.9.0" +version = "1.12.1" description = "Optional static typing for Python" optional = false python-versions = ">=3.8" files = [ - {file = "mypy-1.9.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:f8a67616990062232ee4c3952f41c779afac41405806042a8126fe96e098419f"}, - {file = "mypy-1.9.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d357423fa57a489e8c47b7c85dfb96698caba13d66e086b412298a1a0ea3b0ed"}, - {file = "mypy-1.9.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:49c87c15aed320de9b438ae7b00c1ac91cd393c1b854c2ce538e2a72d55df150"}, - {file = "mypy-1.9.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:48533cdd345c3c2e5ef48ba3b0d3880b257b423e7995dada04248725c6f77374"}, - {file = "mypy-1.9.0-cp310-cp310-win_amd64.whl", hash = "sha256:4d3dbd346cfec7cb98e6cbb6e0f3c23618af826316188d587d1c1bc34f0ede03"}, - {file = "mypy-1.9.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:653265f9a2784db65bfca694d1edd23093ce49740b2244cde583aeb134c008f3"}, - {file = "mypy-1.9.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3a3c007ff3ee90f69cf0a15cbcdf0995749569b86b6d2f327af01fd1b8aee9dc"}, - {file = "mypy-1.9.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2418488264eb41f69cc64a69a745fad4a8f86649af4b1041a4c64ee61fc61129"}, - {file = "mypy-1.9.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:68edad3dc7d70f2f17ae4c6c1b9471a56138ca22722487eebacfd1eb5321d612"}, - {file = "mypy-1.9.0-cp311-cp311-win_amd64.whl", hash = "sha256:85ca5fcc24f0b4aeedc1d02f93707bccc04733f21d41c88334c5482219b1ccb3"}, - {file = "mypy-1.9.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:aceb1db093b04db5cd390821464504111b8ec3e351eb85afd1433490163d60cd"}, - {file = "mypy-1.9.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0235391f1c6f6ce487b23b9dbd1327b4ec33bb93934aa986efe8a9563d9349e6"}, - {file = "mypy-1.9.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d4d5ddc13421ba3e2e082a6c2d74c2ddb3979c39b582dacd53dd5d9431237185"}, - {file = "mypy-1.9.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:190da1ee69b427d7efa8aa0d5e5ccd67a4fb04038c380237a0d96829cb157913"}, - {file = "mypy-1.9.0-cp312-cp312-win_amd64.whl", hash = "sha256:fe28657de3bfec596bbeef01cb219833ad9d38dd5393fc649f4b366840baefe6"}, - {file = "mypy-1.9.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:e54396d70be04b34f31d2edf3362c1edd023246c82f1730bbf8768c28db5361b"}, - {file = "mypy-1.9.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:5e6061f44f2313b94f920e91b204ec600982961e07a17e0f6cd83371cb23f5c2"}, - {file = "mypy-1.9.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:81a10926e5473c5fc3da8abb04119a1f5811a236dc3a38d92015cb1e6ba4cb9e"}, - {file = "mypy-1.9.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:b685154e22e4e9199fc95f298661deea28aaede5ae16ccc8cbb1045e716b3e04"}, - {file = "mypy-1.9.0-cp38-cp38-win_amd64.whl", hash = "sha256:5d741d3fc7c4da608764073089e5f58ef6352bedc223ff58f2f038c2c4698a89"}, - {file = "mypy-1.9.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:587ce887f75dd9700252a3abbc9c97bbe165a4a630597845c61279cf32dfbf02"}, - {file = "mypy-1.9.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f88566144752999351725ac623471661c9d1cd8caa0134ff98cceeea181789f4"}, - {file = "mypy-1.9.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:61758fabd58ce4b0720ae1e2fea5cfd4431591d6d590b197775329264f86311d"}, - {file = "mypy-1.9.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:e49499be624dead83927e70c756970a0bc8240e9f769389cdf5714b0784ca6bf"}, - {file = "mypy-1.9.0-cp39-cp39-win_amd64.whl", hash = "sha256:571741dc4194b4f82d344b15e8837e8c5fcc462d66d076748142327626a1b6e9"}, - {file = "mypy-1.9.0-py3-none-any.whl", hash = "sha256:a260627a570559181a9ea5de61ac6297aa5af202f06fd7ab093ce74e7181e43e"}, - {file = "mypy-1.9.0.tar.gz", hash = "sha256:3cc5da0127e6a478cddd906068496a97a7618a21ce9b54bde5bf7e539c7af974"}, + {file = "mypy-1.12.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:3d7d4371829184e22fda4015278fbfdef0327a4b955a483012bd2d423a788801"}, + {file = "mypy-1.12.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f59f1dfbf497d473201356966e353ef09d4daec48caeacc0254db8ef633a28a5"}, + {file = "mypy-1.12.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b947097fae68004b8328c55161ac9db7d3566abfef72d9d41b47a021c2fba6b1"}, + {file = "mypy-1.12.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:96af62050971c5241afb4701c15189ea9507db89ad07794a4ee7b4e092dc0627"}, + {file = "mypy-1.12.1-cp310-cp310-win_amd64.whl", hash = "sha256:d90da248f4c2dba6c44ddcfea94bb361e491962f05f41990ff24dbd09969ce20"}, + {file = "mypy-1.12.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1230048fec1380faf240be6385e709c8570604d2d27ec6ca7e573e3bc09c3735"}, + {file = "mypy-1.12.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:02dcfe270c6ea13338210908f8cadc8d31af0f04cee8ca996438fe6a97b4ec66"}, + {file = "mypy-1.12.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a5a437c9102a6a252d9e3a63edc191a3aed5f2fcb786d614722ee3f4472e33f6"}, + {file = "mypy-1.12.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:186e0c8346efc027ee1f9acf5ca734425fc4f7dc2b60144f0fbe27cc19dc7931"}, + {file = "mypy-1.12.1-cp311-cp311-win_amd64.whl", hash = "sha256:673ba1140a478b50e6d265c03391702fa11a5c5aff3f54d69a62a48da32cb811"}, + {file = "mypy-1.12.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:9fb83a7be97c498176fb7486cafbb81decccaef1ac339d837c377b0ce3743a7f"}, + {file = "mypy-1.12.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:389e307e333879c571029d5b93932cf838b811d3f5395ed1ad05086b52148fb0"}, + {file = "mypy-1.12.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:94b2048a95a21f7a9ebc9fbd075a4fcd310410d078aa0228dbbad7f71335e042"}, + {file = "mypy-1.12.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4ee5932370ccf7ebf83f79d1c157a5929d7ea36313027b0d70a488493dc1b179"}, + {file = "mypy-1.12.1-cp312-cp312-win_amd64.whl", hash = "sha256:19bf51f87a295e7ab2894f1d8167622b063492d754e69c3c2fed6563268cb42a"}, + {file = "mypy-1.12.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:d34167d43613ffb1d6c6cdc0cc043bb106cac0aa5d6a4171f77ab92a3c758bcc"}, + {file = "mypy-1.12.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:427878aa54f2e2c5d8db31fa9010c599ed9f994b3b49e64ae9cd9990c40bd635"}, + {file = "mypy-1.12.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5fcde63ea2c9f69d6be859a1e6dd35955e87fa81de95bc240143cf00de1f7f81"}, + {file = "mypy-1.12.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:d54d840f6c052929f4a3d2aab2066af0f45a020b085fe0e40d4583db52aab4e4"}, + {file = "mypy-1.12.1-cp313-cp313-win_amd64.whl", hash = "sha256:20db6eb1ca3d1de8ece00033b12f793f1ea9da767334b7e8c626a4872090cf02"}, + {file = "mypy-1.12.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:b16fe09f9c741d85a2e3b14a5257a27a4f4886c171d562bc5a5e90d8591906b8"}, + {file = "mypy-1.12.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:0dcc1e843d58f444fce19da4cce5bd35c282d4bde232acdeca8279523087088a"}, + {file = "mypy-1.12.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e10ba7de5c616e44ad21005fa13450cd0de7caaa303a626147d45307492e4f2d"}, + {file = "mypy-1.12.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:0e6fe449223fa59fbee351db32283838a8fee8059e0028e9e6494a03802b4004"}, + {file = "mypy-1.12.1-cp38-cp38-win_amd64.whl", hash = "sha256:dc6e2a2195a290a7fd5bac3e60b586d77fc88e986eba7feced8b778c373f9afe"}, + {file = "mypy-1.12.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:de5b2a8988b4e1269a98beaf0e7cc71b510d050dce80c343b53b4955fff45f19"}, + {file = "mypy-1.12.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:843826966f1d65925e8b50d2b483065c51fc16dc5d72647e0236aae51dc8d77e"}, + {file = "mypy-1.12.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9fe20f89da41a95e14c34b1ddb09c80262edcc295ad891f22cc4b60013e8f78d"}, + {file = "mypy-1.12.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8135ffec02121a75f75dc97c81af7c14aa4ae0dda277132cfcd6abcd21551bfd"}, + {file = "mypy-1.12.1-cp39-cp39-win_amd64.whl", hash = "sha256:a7b76fa83260824300cc4834a3ab93180db19876bce59af921467fd03e692810"}, + {file = "mypy-1.12.1-py3-none-any.whl", hash = "sha256:ce561a09e3bb9863ab77edf29ae3a50e65685ad74bba1431278185b7e5d5486e"}, + {file = "mypy-1.12.1.tar.gz", hash = "sha256:f5b3936f7a6d0e8280c9bdef94c7ce4847f5cdfc258fbb2c29a8c1711e8bb96d"}, ] [package.dependencies] mypy-extensions = ">=1.0.0" tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""} -typing-extensions = ">=4.1.0" +typing-extensions = ">=4.6.0" [package.extras] dmypy = ["psutil (>=4.0)"] @@ -1286,18 +1525,15 @@ files = [ [[package]] name = "nodeenv" -version = "1.8.0" +version = "1.9.1" description = "Node.js virtual environment builder" optional = false -python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*" +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" files = [ - {file = "nodeenv-1.8.0-py2.py3-none-any.whl", hash = "sha256:df865724bb3c3adc86b3876fa209771517b0cfe596beff01a92700e0e8be4cec"}, - {file = "nodeenv-1.8.0.tar.gz", hash = "sha256:d51e0c37e64fbf47d017feac3145cdbb58836d7eee8c6f6d3b6880c5456227d2"}, + {file = "nodeenv-1.9.1-py2.py3-none-any.whl", hash = "sha256:ba11c9782d29c27c70ffbdda2d7415098754709be8a7056d79a737cd901155c9"}, + {file = "nodeenv-1.9.1.tar.gz", hash = "sha256:6ec12890a2dab7946721edbfbcd91f3319c6ccc9aec47be7c7e6b7011ee6645f"}, ] -[package.dependencies] -setuptools = "*" - [[package]] name = "oauthlib" version = "3.2.2" @@ -1314,29 +1550,15 @@ rsa = ["cryptography (>=3.0.0)"] signals = ["blinker (>=1.4.0)"] signedtoken = ["cryptography (>=3.0.0)", "pyjwt (>=2.0.0,<3)"] -[[package]] -name = "outcome" -version = "1.3.0.post0" -description = "Capture the outcome of Python function calls." -optional = false -python-versions = ">=3.7" -files = [ - {file = "outcome-1.3.0.post0-py2.py3-none-any.whl", hash = "sha256:e771c5ce06d1415e356078d3bdd68523f284b4ce5419828922b6871e65eda82b"}, - {file = "outcome-1.3.0.post0.tar.gz", hash = "sha256:9dcf02e65f2971b80047b377468e72a268e15c0af3cf1238e6ff14f7f91143b8"}, -] - -[package.dependencies] -attrs = ">=19.2.0" - [[package]] name = "packaging" -version = "23.1" +version = "24.0" description = "Core utilities for Python packages" optional = false python-versions = ">=3.7" files = [ - {file = "packaging-23.1-py3-none-any.whl", hash = "sha256:994793af429502c4ea2ebf6bf664629d07c1a9fe974af92966e4b8d2df7edc61"}, - {file = "packaging-23.1.tar.gz", hash = "sha256:a392980d2b6cffa644431898be54b0045151319d1e7ec34f0cfed48767dd334f"}, + {file = "packaging-24.0-py3-none-any.whl", hash = "sha256:2ddfb553fdf02fb784c234c7ba6ccc288296ceabec964ad2eae3777778130bc5"}, + {file = "packaging-24.0.tar.gz", hash = "sha256:eb82c5e3e56209074766e6885bb04b8c38a0c015d0a30036ebe7ece34c9989e9"}, ] [[package]] @@ -1369,28 +1591,29 @@ files = [ [[package]] name = "platformdirs" -version = "4.2.0" -description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." +version = "4.3.6" +description = "A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`." optional = false python-versions = ">=3.8" files = [ - {file = "platformdirs-4.2.0-py3-none-any.whl", hash = "sha256:0614df2a2f37e1a662acbd8e2b25b92ccf8632929bc6d43467e17fe89c75e068"}, - {file = "platformdirs-4.2.0.tar.gz", hash = "sha256:ef0cc731df711022c174543cb70a9b5bd22e5a9337c8624ef2c2ceb8ddad8768"}, + {file = "platformdirs-4.3.6-py3-none-any.whl", hash = "sha256:73e575e1408ab8103900836b97580d5307456908a03e92031bab39e4554cc3fb"}, + {file = "platformdirs-4.3.6.tar.gz", hash = "sha256:357fb2acbc885b0419afd3ce3ed34564c13c9b95c89360cd9563f73aa5e2b907"}, ] [package.extras] -docs = ["furo (>=2023.9.10)", "proselint (>=0.13)", "sphinx (>=7.2.6)", "sphinx-autodoc-typehints (>=1.25.2)"] -test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.4.3)", "pytest-cov (>=4.1)", "pytest-mock (>=3.12)"] +docs = ["furo (>=2024.8.6)", "proselint (>=0.14)", "sphinx (>=8.0.2)", "sphinx-autodoc-typehints (>=2.4)"] +test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=8.3.2)", "pytest-cov (>=5)", "pytest-mock (>=3.14)"] +type = ["mypy (>=1.11.2)"] [[package]] name = "pluggy" -version = "1.4.0" +version = "1.5.0" description = "plugin and hook calling mechanisms for python" optional = false python-versions = ">=3.8" files = [ - {file = "pluggy-1.4.0-py3-none-any.whl", hash = "sha256:7db9f7b503d67d1c5b95f59773ebb58a8c1c288129a88665838012cfb07b8981"}, - {file = "pluggy-1.4.0.tar.gz", hash = "sha256:8c85c2876142a764e5b7548e7d9a0e0ddb46f5185161049a79b7e974454223be"}, + {file = "pluggy-1.5.0-py3-none-any.whl", hash = "sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669"}, + {file = "pluggy-1.5.0.tar.gz", hash = "sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1"}, ] [package.extras] @@ -1399,13 +1622,13 @@ testing = ["pytest", "pytest-benchmark"] [[package]] name = "pre-commit" -version = "3.7.0" +version = "3.8.0" description = "A framework for managing and maintaining multi-language pre-commit hooks." optional = false python-versions = ">=3.9" files = [ - {file = "pre_commit-3.7.0-py2.py3-none-any.whl", hash = "sha256:5eae9e10c2b5ac51577c3452ec0a490455c45a0533f7960f993a0d01e59decab"}, - {file = "pre_commit-3.7.0.tar.gz", hash = "sha256:e209d61b8acdcf742404408531f0c37d49d2c734fd7cff2d6076083d191cb060"}, + {file = "pre_commit-3.8.0-py2.py3-none-any.whl", hash = "sha256:9a90a53bf82fdd8778d58085faf8d83df56e40dfe18f45b19446e26bf1b3a63f"}, + {file = "pre_commit-3.8.0.tar.gz", hash = "sha256:8bb6494d4a20423842e198980c9ecf9f96607a07ea29549e180eef9ae80fe7af"}, ] [package.dependencies] @@ -1417,119 +1640,37 @@ virtualenv = ">=20.10.0" [[package]] name = "protobuf" -version = "4.24.3" +version = "5.28.0" description = "" optional = false -python-versions = ">=3.7" -files = [ - {file = "protobuf-4.24.3-cp310-abi3-win32.whl", hash = "sha256:20651f11b6adc70c0f29efbe8f4a94a74caf61b6200472a9aea6e19898f9fcf4"}, - {file = "protobuf-4.24.3-cp310-abi3-win_amd64.whl", hash = "sha256:3d42e9e4796a811478c783ef63dc85b5a104b44aaaca85d4864d5b886e4b05e3"}, - {file = "protobuf-4.24.3-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:6e514e8af0045be2b56e56ae1bb14f43ce7ffa0f68b1c793670ccbe2c4fc7d2b"}, - {file = "protobuf-4.24.3-cp37-abi3-manylinux2014_aarch64.whl", hash = "sha256:ba53c2f04798a326774f0e53b9c759eaef4f6a568ea7072ec6629851c8435959"}, - {file = "protobuf-4.24.3-cp37-abi3-manylinux2014_x86_64.whl", hash = "sha256:f6ccbcf027761a2978c1406070c3788f6de4a4b2cc20800cc03d52df716ad675"}, - {file = "protobuf-4.24.3-cp37-cp37m-win32.whl", hash = "sha256:1b182c7181a2891e8f7f3a1b5242e4ec54d1f42582485a896e4de81aa17540c2"}, - {file = "protobuf-4.24.3-cp37-cp37m-win_amd64.whl", hash = "sha256:b0271a701e6782880d65a308ba42bc43874dabd1a0a0f41f72d2dac3b57f8e76"}, - {file = "protobuf-4.24.3-cp38-cp38-win32.whl", hash = "sha256:e29d79c913f17a60cf17c626f1041e5288e9885c8579832580209de8b75f2a52"}, - {file = "protobuf-4.24.3-cp38-cp38-win_amd64.whl", hash = "sha256:067f750169bc644da2e1ef18c785e85071b7c296f14ac53e0900e605da588719"}, - {file = "protobuf-4.24.3-cp39-cp39-win32.whl", hash = "sha256:2da777d34b4f4f7613cdf85c70eb9a90b1fbef9d36ae4a0ccfe014b0b07906f1"}, - {file = "protobuf-4.24.3-cp39-cp39-win_amd64.whl", hash = "sha256:f631bb982c5478e0c1c70eab383af74a84be66945ebf5dd6b06fc90079668d0b"}, - {file = "protobuf-4.24.3-py3-none-any.whl", hash = "sha256:f6f8dc65625dadaad0c8545319c2e2f0424fede988368893ca3844261342c11a"}, - {file = "protobuf-4.24.3.tar.gz", hash = "sha256:12e9ad2ec079b833176d2921be2cb24281fa591f0b119b208b788adc48c2561d"}, -] - -[[package]] -name = "psycopg2-binary" -version = "2.9.7" -description = "psycopg2 - Python-PostgreSQL Database Adapter" -optional = false -python-versions = ">=3.6" +python-versions = ">=3.8" files = [ - {file = "psycopg2-binary-2.9.7.tar.gz", hash = "sha256:1b918f64a51ffe19cd2e230b3240ba481330ce1d4b7875ae67305bd1d37b041c"}, - {file = "psycopg2_binary-2.9.7-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ea5f8ee87f1eddc818fc04649d952c526db4426d26bab16efbe5a0c52b27d6ab"}, - {file = "psycopg2_binary-2.9.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2993ccb2b7e80844d534e55e0f12534c2871952f78e0da33c35e648bf002bbff"}, - {file = "psycopg2_binary-2.9.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dbbc3c5d15ed76b0d9db7753c0db40899136ecfe97d50cbde918f630c5eb857a"}, - {file = "psycopg2_binary-2.9.7-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:692df8763b71d42eb8343f54091368f6f6c9cfc56dc391858cdb3c3ef1e3e584"}, - {file = "psycopg2_binary-2.9.7-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9dcfd5d37e027ec393a303cc0a216be564b96c80ba532f3d1e0d2b5e5e4b1e6e"}, - {file = "psycopg2_binary-2.9.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:17cc17a70dfb295a240db7f65b6d8153c3d81efb145d76da1e4a096e9c5c0e63"}, - {file = "psycopg2_binary-2.9.7-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:e5666632ba2b0d9757b38fc17337d84bdf932d38563c5234f5f8c54fd01349c9"}, - {file = "psycopg2_binary-2.9.7-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:7db7b9b701974c96a88997d458b38ccb110eba8f805d4b4f74944aac48639b42"}, - {file = "psycopg2_binary-2.9.7-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:c82986635a16fb1fa15cd5436035c88bc65c3d5ced1cfaac7f357ee9e9deddd4"}, - {file = "psycopg2_binary-2.9.7-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:4fe13712357d802080cfccbf8c6266a3121dc0e27e2144819029095ccf708372"}, - {file = "psycopg2_binary-2.9.7-cp310-cp310-win32.whl", hash = "sha256:122641b7fab18ef76b18860dd0c772290566b6fb30cc08e923ad73d17461dc63"}, - {file = "psycopg2_binary-2.9.7-cp310-cp310-win_amd64.whl", hash = "sha256:f8651cf1f144f9ee0fa7d1a1df61a9184ab72962531ca99f077bbdcba3947c58"}, - {file = "psycopg2_binary-2.9.7-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4ecc15666f16f97709106d87284c136cdc82647e1c3f8392a672616aed3c7151"}, - {file = "psycopg2_binary-2.9.7-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3fbb1184c7e9d28d67671992970718c05af5f77fc88e26fd7136613c4ece1f89"}, - {file = "psycopg2_binary-2.9.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8a7968fd20bd550431837656872c19575b687f3f6f98120046228e451e4064df"}, - {file = "psycopg2_binary-2.9.7-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:094af2e77a1976efd4956a031028774b827029729725e136514aae3cdf49b87b"}, - {file = "psycopg2_binary-2.9.7-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:26484e913d472ecb6b45937ea55ce29c57c662066d222fb0fbdc1fab457f18c5"}, - {file = "psycopg2_binary-2.9.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f309b77a7c716e6ed9891b9b42953c3ff7d533dc548c1e33fddc73d2f5e21f9"}, - {file = "psycopg2_binary-2.9.7-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:6d92e139ca388ccfe8c04aacc163756e55ba4c623c6ba13d5d1595ed97523e4b"}, - {file = "psycopg2_binary-2.9.7-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:2df562bb2e4e00ee064779902d721223cfa9f8f58e7e52318c97d139cf7f012d"}, - {file = "psycopg2_binary-2.9.7-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:4eec5d36dbcfc076caab61a2114c12094c0b7027d57e9e4387b634e8ab36fd44"}, - {file = "psycopg2_binary-2.9.7-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:1011eeb0c51e5b9ea1016f0f45fa23aca63966a4c0afcf0340ccabe85a9f65bd"}, - {file = "psycopg2_binary-2.9.7-cp311-cp311-win32.whl", hash = "sha256:ded8e15f7550db9e75c60b3d9fcbc7737fea258a0f10032cdb7edc26c2a671fd"}, - {file = "psycopg2_binary-2.9.7-cp311-cp311-win_amd64.whl", hash = "sha256:8a136c8aaf6615653450817a7abe0fc01e4ea720ae41dfb2823eccae4b9062a3"}, - {file = "psycopg2_binary-2.9.7-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:2dec5a75a3a5d42b120e88e6ed3e3b37b46459202bb8e36cd67591b6e5feebc1"}, - {file = "psycopg2_binary-2.9.7-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fc10da7e7df3380426521e8c1ed975d22df678639da2ed0ec3244c3dc2ab54c8"}, - {file = "psycopg2_binary-2.9.7-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ee919b676da28f78f91b464fb3e12238bd7474483352a59c8a16c39dfc59f0c5"}, - {file = "psycopg2_binary-2.9.7-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:eb1c0e682138f9067a58fc3c9a9bf1c83d8e08cfbee380d858e63196466d5c86"}, - {file = "psycopg2_binary-2.9.7-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:00d8db270afb76f48a499f7bb8fa70297e66da67288471ca873db88382850bf4"}, - {file = "psycopg2_binary-2.9.7-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:9b0c2b466b2f4d89ccc33784c4ebb1627989bd84a39b79092e560e937a11d4ac"}, - {file = "psycopg2_binary-2.9.7-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:51d1b42d44f4ffb93188f9b39e6d1c82aa758fdb8d9de65e1ddfe7a7d250d7ad"}, - {file = "psycopg2_binary-2.9.7-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:11abdbfc6f7f7dea4a524b5f4117369b0d757725798f1593796be6ece20266cb"}, - {file = "psycopg2_binary-2.9.7-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:f02f4a72cc3ab2565c6d9720f0343cb840fb2dc01a2e9ecb8bc58ccf95dc5c06"}, - {file = "psycopg2_binary-2.9.7-cp37-cp37m-win32.whl", hash = "sha256:81d5dd2dd9ab78d31a451e357315f201d976c131ca7d43870a0e8063b6b7a1ec"}, - {file = "psycopg2_binary-2.9.7-cp37-cp37m-win_amd64.whl", hash = "sha256:62cb6de84d7767164a87ca97e22e5e0a134856ebcb08f21b621c6125baf61f16"}, - {file = "psycopg2_binary-2.9.7-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:59f7e9109a59dfa31efa022e94a244736ae401526682de504e87bd11ce870c22"}, - {file = "psycopg2_binary-2.9.7-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:95a7a747bdc3b010bb6a980f053233e7610276d55f3ca506afff4ad7749ab58a"}, - {file = "psycopg2_binary-2.9.7-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c721ee464e45ecf609ff8c0a555018764974114f671815a0a7152aedb9f3343"}, - {file = "psycopg2_binary-2.9.7-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f4f37bbc6588d402980ffbd1f3338c871368fb4b1cfa091debe13c68bb3852b3"}, - {file = "psycopg2_binary-2.9.7-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ac83ab05e25354dad798401babaa6daa9577462136ba215694865394840e31f8"}, - {file = "psycopg2_binary-2.9.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:024eaeb2a08c9a65cd5f94b31ace1ee3bb3f978cd4d079406aef85169ba01f08"}, - {file = "psycopg2_binary-2.9.7-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:1c31c2606ac500dbd26381145684d87730a2fac9a62ebcfbaa2b119f8d6c19f4"}, - {file = "psycopg2_binary-2.9.7-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:42a62ef0e5abb55bf6ffb050eb2b0fcd767261fa3faf943a4267539168807522"}, - {file = "psycopg2_binary-2.9.7-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:7952807f95c8eba6a8ccb14e00bf170bb700cafcec3924d565235dffc7dc4ae8"}, - {file = "psycopg2_binary-2.9.7-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:e02bc4f2966475a7393bd0f098e1165d470d3fa816264054359ed4f10f6914ea"}, - {file = "psycopg2_binary-2.9.7-cp38-cp38-win32.whl", hash = "sha256:fdca0511458d26cf39b827a663d7d87db6f32b93efc22442a742035728603d5f"}, - {file = "psycopg2_binary-2.9.7-cp38-cp38-win_amd64.whl", hash = "sha256:d0b16e5bb0ab78583f0ed7ab16378a0f8a89a27256bb5560402749dbe8a164d7"}, - {file = "psycopg2_binary-2.9.7-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6822c9c63308d650db201ba22fe6648bd6786ca6d14fdaf273b17e15608d0852"}, - {file = "psycopg2_binary-2.9.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:8f94cb12150d57ea433e3e02aabd072205648e86f1d5a0a692d60242f7809b15"}, - {file = "psycopg2_binary-2.9.7-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5ee89587696d808c9a00876065d725d4ae606f5f7853b961cdbc348b0f7c9a1"}, - {file = "psycopg2_binary-2.9.7-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ad5ec10b53cbb57e9a2e77b67e4e4368df56b54d6b00cc86398578f1c635f329"}, - {file = "psycopg2_binary-2.9.7-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:642df77484b2dcaf87d4237792246d8068653f9e0f5c025e2c692fc56b0dda70"}, - {file = "psycopg2_binary-2.9.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a6a8b575ac45af1eaccbbcdcf710ab984fd50af048fe130672377f78aaff6fc1"}, - {file = "psycopg2_binary-2.9.7-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:f955aa50d7d5220fcb6e38f69ea126eafecd812d96aeed5d5f3597f33fad43bb"}, - {file = "psycopg2_binary-2.9.7-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:ad26d4eeaa0d722b25814cce97335ecf1b707630258f14ac4d2ed3d1d8415265"}, - {file = "psycopg2_binary-2.9.7-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:ced63c054bdaf0298f62681d5dcae3afe60cbae332390bfb1acf0e23dcd25fc8"}, - {file = "psycopg2_binary-2.9.7-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:2b04da24cbde33292ad34a40db9832a80ad12de26486ffeda883413c9e1b1d5e"}, - {file = "psycopg2_binary-2.9.7-cp39-cp39-win32.whl", hash = "sha256:18f12632ab516c47c1ac4841a78fddea6508a8284c7cf0f292cb1a523f2e2379"}, - {file = "psycopg2_binary-2.9.7-cp39-cp39-win_amd64.whl", hash = "sha256:eb3b8d55924a6058a26db69fb1d3e7e32695ff8b491835ba9f479537e14dcf9f"}, + {file = "protobuf-5.28.0-cp310-abi3-win32.whl", hash = "sha256:66c3edeedb774a3508ae70d87b3a19786445fe9a068dd3585e0cefa8a77b83d0"}, + {file = "protobuf-5.28.0-cp310-abi3-win_amd64.whl", hash = "sha256:6d7cc9e60f976cf3e873acb9a40fed04afb5d224608ed5c1a105db4a3f09c5b6"}, + {file = "protobuf-5.28.0-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:532627e8fdd825cf8767a2d2b94d77e874d5ddb0adefb04b237f7cc296748681"}, + {file = "protobuf-5.28.0-cp38-abi3-manylinux2014_aarch64.whl", hash = "sha256:018db9056b9d75eb93d12a9d35120f97a84d9a919bcab11ed56ad2d399d6e8dd"}, + {file = "protobuf-5.28.0-cp38-abi3-manylinux2014_x86_64.whl", hash = "sha256:6206afcb2d90181ae8722798dcb56dc76675ab67458ac24c0dd7d75d632ac9bd"}, + {file = "protobuf-5.28.0-cp38-cp38-win32.whl", hash = "sha256:eef7a8a2f4318e2cb2dee8666d26e58eaf437c14788f3a2911d0c3da40405ae8"}, + {file = "protobuf-5.28.0-cp38-cp38-win_amd64.whl", hash = "sha256:d001a73c8bc2bf5b5c1360d59dd7573744e163b3607fa92788b7f3d5fefbd9a5"}, + {file = "protobuf-5.28.0-cp39-cp39-win32.whl", hash = "sha256:dde9fcaa24e7a9654f4baf2a55250b13a5ea701493d904c54069776b99a8216b"}, + {file = "protobuf-5.28.0-cp39-cp39-win_amd64.whl", hash = "sha256:853db610214e77ee817ecf0514e0d1d052dff7f63a0c157aa6eabae98db8a8de"}, + {file = "protobuf-5.28.0-py3-none-any.whl", hash = "sha256:510ed78cd0980f6d3218099e874714cdf0d8a95582e7b059b06cabad855ed0a0"}, + {file = "protobuf-5.28.0.tar.gz", hash = "sha256:dde74af0fa774fa98892209992295adbfb91da3fa98c8f67a88afe8f5a349add"}, ] [[package]] name = "py-vapid" -version = "1.9.0" +version = "1.9.1" description = "Simple VAPID header generation library" optional = false python-versions = "*" files = [ - {file = "py-vapid-1.9.0.tar.gz", hash = "sha256:0664ab7899742ef2b287397a4d461ef691ed0cc2f587205128d8cf617ffdb919"}, + {file = "py_vapid-1.9.1.tar.gz", hash = "sha256:fe2b5461bf45c7baff1039df6981f03b87faa87cde0482addfa35b3fe636ac1b"}, ] [package.dependencies] cryptography = ">=2.5" -[[package]] -name = "pyasn1" -version = "0.6.0" -description = "Pure-Python implementation of ASN.1 types and DER/BER/CER codecs (X.208)" -optional = false -python-versions = ">=3.8" -files = [ - {file = "pyasn1-0.6.0-py2.py3-none-any.whl", hash = "sha256:cca4bb0f2df5504f02f6f8a775b6e416ff9b0b3b16f7ee80b5a3153d9b804473"}, - {file = "pyasn1-0.6.0.tar.gz", hash = "sha256:3a35ab2c4b5ef98e17dfdec8ab074046fbda76e281c5a706ccd82328cfc8f64c"}, -] - [[package]] name = "pycparser" version = "2.22" @@ -1543,88 +1684,95 @@ files = [ [[package]] name = "pycryptodomex" -version = "3.19.1" +version = "3.20.0" description = "Cryptographic library for Python" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" files = [ - {file = "pycryptodomex-3.19.1-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:b5c336dc698650283ad06f8c0237a984087d0af9f403ff21d633507335628156"}, - {file = "pycryptodomex-3.19.1-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:c9cb88ed323be1aa642b3c17cd5caa1a03c3a8fbad092d48ecefe88e328ffae3"}, - {file = "pycryptodomex-3.19.1-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:0b42e2743893f386dfb58fe24a4c8be5305c3d1c825d5f23d9e63fd0700d1110"}, - {file = "pycryptodomex-3.19.1-cp27-cp27m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:10c2eed4efdfa084b602ab922e699a0a2ba82053baebfc8afcaf27489def7955"}, - {file = "pycryptodomex-3.19.1-cp27-cp27m-musllinux_1_1_aarch64.whl", hash = "sha256:e94a7e986b117b72e9472f8eafdd81748dafff30815401f9760f759f1debe9ef"}, - {file = "pycryptodomex-3.19.1-cp27-cp27m-win32.whl", hash = "sha256:23707238b024b36c35dd3428f5af6c1f0c5ef54c21e387a2063633717699b8b2"}, - {file = "pycryptodomex-3.19.1-cp27-cp27m-win_amd64.whl", hash = "sha256:c1ae2fb8d5d6771670436dcc889b293e363c97647a6d31c21eebc12b7b760010"}, - {file = "pycryptodomex-3.19.1-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:d7a77391fd351ff1bdf8475558ddc6e92950218cb905419ee14aa02f370f1054"}, - {file = "pycryptodomex-3.19.1-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:c9332b04bf3f838327087b028f690f4ddb9341eb014a0221e79b9c19a77f7555"}, - {file = "pycryptodomex-3.19.1-cp27-cp27mu-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:beb5f0664f49b6093da179ee8e27c1d670779f50b9ece0886ce491bb8bd63728"}, - {file = "pycryptodomex-3.19.1-cp27-cp27mu-musllinux_1_1_aarch64.whl", hash = "sha256:d45d0d35a238d838b872598fa865bbfb31aaef9aeeda77c68b04ef79f9a469dc"}, - {file = "pycryptodomex-3.19.1-cp35-abi3-macosx_10_9_universal2.whl", hash = "sha256:ed3bdda44cc05dd13eee697ab9bea6928531bb7b218e68e66d0d3eb2ebab043e"}, - {file = "pycryptodomex-3.19.1-cp35-abi3-macosx_10_9_x86_64.whl", hash = "sha256:ae75eea2e908383fd4c659fdcfe9621a72869e3e3ee73904227e93b7f7b80b54"}, - {file = "pycryptodomex-3.19.1-cp35-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:371bbe0be17b4dd8cc0c2f378d75ea33f00d5a39884c09a672016ac40145a5fa"}, - {file = "pycryptodomex-3.19.1-cp35-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:96000b837bcd8e3bf86b419924a056c978e45027281e4318650c81c25a3ef6cc"}, - {file = "pycryptodomex-3.19.1-cp35-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:011e859026ecbd15b8e720e8992361186e582cf726c50bde6ff8c0c05e820ddf"}, - {file = "pycryptodomex-3.19.1-cp35-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:76414d39df6b45bcc4f38cf1ba2031e0f4b8e99d1ba3c2eee31ffe1b9f039733"}, - {file = "pycryptodomex-3.19.1-cp35-abi3-musllinux_1_1_i686.whl", hash = "sha256:1c04cfff163c05d033bf28e3c4429d8222796738c7b6c1638b9d7090b904611e"}, - {file = "pycryptodomex-3.19.1-cp35-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:de5a43901e47e7a6938490fc5de3074f6e35c8b481a75b227c0d24d6099bd41d"}, - {file = "pycryptodomex-3.19.1-cp35-abi3-win32.whl", hash = "sha256:f24f49fc6bd706d87048654d6be6c7c967d6836d4879e3a7c439275fab9948ad"}, - {file = "pycryptodomex-3.19.1-cp35-abi3-win_amd64.whl", hash = "sha256:f8b3d9e7c17c1ffc1fa5b11c0bbab8a5df3de8596bb32ad30281b21e5ede4bf5"}, - {file = "pycryptodomex-3.19.1-pp27-pypy_73-manylinux2010_x86_64.whl", hash = "sha256:ac562e239d98cfef763866c0aee4586affb0d58c592202f06c87241af99db241"}, - {file = "pycryptodomex-3.19.1-pp27-pypy_73-win32.whl", hash = "sha256:39eb1f82ac3ba3e39d866f38e480e8fa53fcdd22260340f05f54a8188d47d510"}, - {file = "pycryptodomex-3.19.1-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:0bc4b7bfaac56e6dfd62044847443a3d110c7abea7fcb0d68c1aea64ed3a6697"}, - {file = "pycryptodomex-3.19.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8dffe067d5fff14dba4d18ff7d459cc2a47576d82dafbff13a8f1199c3353e41"}, - {file = "pycryptodomex-3.19.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:aab7941c2ff53eb63cb26252770e4f14386d79ce07baeffbf98a1323c1646545"}, - {file = "pycryptodomex-3.19.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:3f3c58971784fba0e014bc3f8aed1197b86719631e1b597d36d7354be5598312"}, - {file = "pycryptodomex-3.19.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:5ca98de2e5ac100e57a7116309723360e8f799f722509e376dc396cdf65eec9c"}, - {file = "pycryptodomex-3.19.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f8a97b1acd36e9ce9d4067d94a8be99c458f0eb8070828639302a95cfcf0770b"}, - {file = "pycryptodomex-3.19.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:62f51a63d73153482729904381dd2de86800b0733a8814ee8f072fa73e5c92fb"}, - {file = "pycryptodomex-3.19.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:9919a1edd2a83c4dfb69f1d8a4c0c5efde7147ef15b07775633372b80c90b5d8"}, - {file = "pycryptodomex-3.19.1.tar.gz", hash = "sha256:0b7154aff2272962355f8941fd514104a88cb29db2d8f43a29af900d6398eb1c"}, + {file = "pycryptodomex-3.20.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:645bd4ca6f543685d643dadf6a856cc382b654cc923460e3a10a49c1b3832aeb"}, + {file = "pycryptodomex-3.20.0-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:ff5c9a67f8a4fba4aed887216e32cbc48f2a6fb2673bb10a99e43be463e15913"}, + {file = "pycryptodomex-3.20.0-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:8ee606964553c1a0bc74057dd8782a37d1c2bc0f01b83193b6f8bb14523b877b"}, + {file = "pycryptodomex-3.20.0-cp27-cp27m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7805830e0c56d88f4d491fa5ac640dfc894c5ec570d1ece6ed1546e9df2e98d6"}, + {file = "pycryptodomex-3.20.0-cp27-cp27m-musllinux_1_1_aarch64.whl", hash = "sha256:bc3ee1b4d97081260d92ae813a83de4d2653206967c4a0a017580f8b9548ddbc"}, + {file = "pycryptodomex-3.20.0-cp27-cp27m-win32.whl", hash = "sha256:8af1a451ff9e123d0d8bd5d5e60f8e3315c3a64f3cdd6bc853e26090e195cdc8"}, + {file = "pycryptodomex-3.20.0-cp27-cp27m-win_amd64.whl", hash = "sha256:cbe71b6712429650e3883dc81286edb94c328ffcd24849accac0a4dbcc76958a"}, + {file = "pycryptodomex-3.20.0-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:76bd15bb65c14900d98835fcd10f59e5e0435077431d3a394b60b15864fddd64"}, + {file = "pycryptodomex-3.20.0-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:653b29b0819605fe0898829c8ad6400a6ccde096146730c2da54eede9b7b8baa"}, + {file = "pycryptodomex-3.20.0-cp27-cp27mu-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:62a5ec91388984909bb5398ea49ee61b68ecb579123694bffa172c3b0a107079"}, + {file = "pycryptodomex-3.20.0-cp27-cp27mu-musllinux_1_1_aarch64.whl", hash = "sha256:108e5f1c1cd70ffce0b68739c75734437c919d2eaec8e85bffc2c8b4d2794305"}, + {file = "pycryptodomex-3.20.0-cp35-abi3-macosx_10_9_universal2.whl", hash = "sha256:59af01efb011b0e8b686ba7758d59cf4a8263f9ad35911bfe3f416cee4f5c08c"}, + {file = "pycryptodomex-3.20.0-cp35-abi3-macosx_10_9_x86_64.whl", hash = "sha256:82ee7696ed8eb9a82c7037f32ba9b7c59e51dda6f105b39f043b6ef293989cb3"}, + {file = "pycryptodomex-3.20.0-cp35-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:91852d4480a4537d169c29a9d104dda44094c78f1f5b67bca76c29a91042b623"}, + {file = "pycryptodomex-3.20.0-cp35-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bca649483d5ed251d06daf25957f802e44e6bb6df2e8f218ae71968ff8f8edc4"}, + {file = "pycryptodomex-3.20.0-cp35-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6e186342cfcc3aafaad565cbd496060e5a614b441cacc3995ef0091115c1f6c5"}, + {file = "pycryptodomex-3.20.0-cp35-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:25cd61e846aaab76d5791d006497134602a9e451e954833018161befc3b5b9ed"}, + {file = "pycryptodomex-3.20.0-cp35-abi3-musllinux_1_1_i686.whl", hash = "sha256:9c682436c359b5ada67e882fec34689726a09c461efd75b6ea77b2403d5665b7"}, + {file = "pycryptodomex-3.20.0-cp35-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:7a7a8f33a1f1fb762ede6cc9cbab8f2a9ba13b196bfaf7bc6f0b39d2ba315a43"}, + {file = "pycryptodomex-3.20.0-cp35-abi3-win32.whl", hash = "sha256:c39778fd0548d78917b61f03c1fa8bfda6cfcf98c767decf360945fe6f97461e"}, + {file = "pycryptodomex-3.20.0-cp35-abi3-win_amd64.whl", hash = "sha256:2a47bcc478741b71273b917232f521fd5704ab4b25d301669879e7273d3586cc"}, + {file = "pycryptodomex-3.20.0-pp27-pypy_73-manylinux2010_x86_64.whl", hash = "sha256:1be97461c439a6af4fe1cf8bf6ca5936d3db252737d2f379cc6b2e394e12a458"}, + {file = "pycryptodomex-3.20.0-pp27-pypy_73-win32.whl", hash = "sha256:19764605feea0df966445d46533729b645033f134baeb3ea26ad518c9fdf212c"}, + {file = "pycryptodomex-3.20.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:f2e497413560e03421484189a6b65e33fe800d3bd75590e6d78d4dfdb7accf3b"}, + {file = "pycryptodomex-3.20.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e48217c7901edd95f9f097feaa0388da215ed14ce2ece803d3f300b4e694abea"}, + {file = "pycryptodomex-3.20.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d00fe8596e1cc46b44bf3907354e9377aa030ec4cd04afbbf6e899fc1e2a7781"}, + {file = "pycryptodomex-3.20.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:88afd7a3af7ddddd42c2deda43d53d3dfc016c11327d0915f90ca34ebda91499"}, + {file = "pycryptodomex-3.20.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:d3584623e68a5064a04748fb6d76117a21a7cb5eaba20608a41c7d0c61721794"}, + {file = "pycryptodomex-3.20.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0daad007b685db36d977f9de73f61f8da2a7104e20aca3effd30752fd56f73e1"}, + {file = "pycryptodomex-3.20.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5dcac11031a71348faaed1f403a0debd56bf5404232284cf8c761ff918886ebc"}, + {file = "pycryptodomex-3.20.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:69138068268127cd605e03438312d8f271135a33140e2742b417d027a0539427"}, + {file = "pycryptodomex-3.20.0.tar.gz", hash = "sha256:7a710b79baddd65b806402e14766c721aee8fb83381769c27920f26476276c1e"}, ] [[package]] name = "pydantic" -version = "1.10.9" +version = "1.10.18" description = "Data validation and settings management using python type hints" optional = false python-versions = ">=3.7" files = [ - {file = "pydantic-1.10.9-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e692dec4a40bfb40ca530e07805b1208c1de071a18d26af4a2a0d79015b352ca"}, - {file = "pydantic-1.10.9-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:3c52eb595db83e189419bf337b59154bdcca642ee4b2a09e5d7797e41ace783f"}, - {file = "pydantic-1.10.9-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:939328fd539b8d0edf244327398a667b6b140afd3bf7e347cf9813c736211896"}, - {file = "pydantic-1.10.9-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b48d3d634bca23b172f47f2335c617d3fcb4b3ba18481c96b7943a4c634f5c8d"}, - {file = "pydantic-1.10.9-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:f0b7628fb8efe60fe66fd4adadd7ad2304014770cdc1f4934db41fe46cc8825f"}, - {file = "pydantic-1.10.9-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:e1aa5c2410769ca28aa9a7841b80d9d9a1c5f223928ca8bec7e7c9a34d26b1d4"}, - {file = "pydantic-1.10.9-cp310-cp310-win_amd64.whl", hash = "sha256:eec39224b2b2e861259d6f3c8b6290d4e0fbdce147adb797484a42278a1a486f"}, - {file = "pydantic-1.10.9-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:d111a21bbbfd85c17248130deac02bbd9b5e20b303338e0dbe0faa78330e37e0"}, - {file = "pydantic-1.10.9-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2e9aec8627a1a6823fc62fb96480abe3eb10168fd0d859ee3d3b395105ae19a7"}, - {file = "pydantic-1.10.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:07293ab08e7b4d3c9d7de4949a0ea571f11e4557d19ea24dd3ae0c524c0c334d"}, - {file = "pydantic-1.10.9-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7ee829b86ce984261d99ff2fd6e88f2230068d96c2a582f29583ed602ef3fc2c"}, - {file = "pydantic-1.10.9-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:4b466a23009ff5cdd7076eb56aca537c745ca491293cc38e72bf1e0e00de5b91"}, - {file = "pydantic-1.10.9-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:7847ca62e581e6088d9000f3c497267868ca2fa89432714e21a4fb33a04d52e8"}, - {file = "pydantic-1.10.9-cp311-cp311-win_amd64.whl", hash = "sha256:7845b31959468bc5b78d7b95ec52fe5be32b55d0d09983a877cca6aedc51068f"}, - {file = "pydantic-1.10.9-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:517a681919bf880ce1dac7e5bc0c3af1e58ba118fd774da2ffcd93c5f96eaece"}, - {file = "pydantic-1.10.9-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:67195274fd27780f15c4c372f4ba9a5c02dad6d50647b917b6a92bf00b3d301a"}, - {file = "pydantic-1.10.9-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2196c06484da2b3fded1ab6dbe182bdabeb09f6318b7fdc412609ee2b564c49a"}, - {file = "pydantic-1.10.9-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:6257bb45ad78abacda13f15bde5886efd6bf549dd71085e64b8dcf9919c38b60"}, - {file = "pydantic-1.10.9-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:3283b574b01e8dbc982080d8287c968489d25329a463b29a90d4157de4f2baaf"}, - {file = "pydantic-1.10.9-cp37-cp37m-win_amd64.whl", hash = "sha256:5f8bbaf4013b9a50e8100333cc4e3fa2f81214033e05ac5aa44fa24a98670a29"}, - {file = "pydantic-1.10.9-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:b9cd67fb763248cbe38f0593cd8611bfe4b8ad82acb3bdf2b0898c23415a1f82"}, - {file = "pydantic-1.10.9-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:f50e1764ce9353be67267e7fd0da08349397c7db17a562ad036aa7c8f4adfdb6"}, - {file = "pydantic-1.10.9-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:73ef93e5e1d3c8e83f1ff2e7fdd026d9e063c7e089394869a6e2985696693766"}, - {file = "pydantic-1.10.9-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:128d9453d92e6e81e881dd7e2484e08d8b164da5507f62d06ceecf84bf2e21d3"}, - {file = "pydantic-1.10.9-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:ad428e92ab68798d9326bb3e5515bc927444a3d71a93b4a2ca02a8a5d795c572"}, - {file = "pydantic-1.10.9-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:fab81a92f42d6d525dd47ced310b0c3e10c416bbfae5d59523e63ea22f82b31e"}, - {file = "pydantic-1.10.9-cp38-cp38-win_amd64.whl", hash = "sha256:963671eda0b6ba6926d8fc759e3e10335e1dc1b71ff2a43ed2efd6996634dafb"}, - {file = "pydantic-1.10.9-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:970b1bdc6243ef663ba5c7e36ac9ab1f2bfecb8ad297c9824b542d41a750b298"}, - {file = "pydantic-1.10.9-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:7e1d5290044f620f80cf1c969c542a5468f3656de47b41aa78100c5baa2b8276"}, - {file = "pydantic-1.10.9-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:83fcff3c7df7adff880622a98022626f4f6dbce6639a88a15a3ce0f96466cb60"}, - {file = "pydantic-1.10.9-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0da48717dc9495d3a8f215e0d012599db6b8092db02acac5e0d58a65248ec5bc"}, - {file = "pydantic-1.10.9-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:0a2aabdc73c2a5960e87c3ffebca6ccde88665616d1fd6d3db3178ef427b267a"}, - {file = "pydantic-1.10.9-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:9863b9420d99dfa9c064042304868e8ba08e89081428a1c471858aa2af6f57c4"}, - {file = "pydantic-1.10.9-cp39-cp39-win_amd64.whl", hash = "sha256:e7c9900b43ac14110efa977be3da28931ffc74c27e96ee89fbcaaf0b0fe338e1"}, - {file = "pydantic-1.10.9-py3-none-any.whl", hash = "sha256:6cafde02f6699ce4ff643417d1a9223716ec25e228ddc3b436fe7e2d25a1f305"}, - {file = "pydantic-1.10.9.tar.gz", hash = "sha256:95c70da2cd3b6ddf3b9645ecaa8d98f3d80c606624b6d245558d202cd23ea3be"}, + {file = "pydantic-1.10.18-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e405ffcc1254d76bb0e760db101ee8916b620893e6edfbfee563b3c6f7a67c02"}, + {file = "pydantic-1.10.18-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e306e280ebebc65040034bff1a0a81fd86b2f4f05daac0131f29541cafd80b80"}, + {file = "pydantic-1.10.18-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:11d9d9b87b50338b1b7de4ebf34fd29fdb0d219dc07ade29effc74d3d2609c62"}, + {file = "pydantic-1.10.18-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b661ce52c7b5e5f600c0c3c5839e71918346af2ef20062705ae76b5c16914cab"}, + {file = "pydantic-1.10.18-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:c20f682defc9ef81cd7eaa485879ab29a86a0ba58acf669a78ed868e72bb89e0"}, + {file = "pydantic-1.10.18-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c5ae6b7c8483b1e0bf59e5f1843e4fd8fd405e11df7de217ee65b98eb5462861"}, + {file = "pydantic-1.10.18-cp310-cp310-win_amd64.whl", hash = "sha256:74fe19dda960b193b0eb82c1f4d2c8e5e26918d9cda858cbf3f41dd28549cb70"}, + {file = "pydantic-1.10.18-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:72fa46abace0a7743cc697dbb830a41ee84c9db8456e8d77a46d79b537efd7ec"}, + {file = "pydantic-1.10.18-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ef0fe7ad7cbdb5f372463d42e6ed4ca9c443a52ce544472d8842a0576d830da5"}, + {file = "pydantic-1.10.18-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a00e63104346145389b8e8f500bc6a241e729feaf0559b88b8aa513dd2065481"}, + {file = "pydantic-1.10.18-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ae6fa2008e1443c46b7b3a5eb03800121868d5ab6bc7cda20b5df3e133cde8b3"}, + {file = "pydantic-1.10.18-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:9f463abafdc92635da4b38807f5b9972276be7c8c5121989768549fceb8d2588"}, + {file = "pydantic-1.10.18-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:3445426da503c7e40baccefb2b2989a0c5ce6b163679dd75f55493b460f05a8f"}, + {file = "pydantic-1.10.18-cp311-cp311-win_amd64.whl", hash = "sha256:467a14ee2183bc9c902579bb2f04c3d3dac00eff52e252850509a562255b2a33"}, + {file = "pydantic-1.10.18-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:efbc8a7f9cb5fe26122acba1852d8dcd1e125e723727c59dcd244da7bdaa54f2"}, + {file = "pydantic-1.10.18-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:24a4a159d0f7a8e26bf6463b0d3d60871d6a52eac5bb6a07a7df85c806f4c048"}, + {file = "pydantic-1.10.18-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b74be007703547dc52e3c37344d130a7bfacca7df112a9e5ceeb840a9ce195c7"}, + {file = "pydantic-1.10.18-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fcb20d4cb355195c75000a49bb4a31d75e4295200df620f454bbc6bdf60ca890"}, + {file = "pydantic-1.10.18-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:46f379b8cb8a3585e3f61bf9ae7d606c70d133943f339d38b76e041ec234953f"}, + {file = "pydantic-1.10.18-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:cbfbca662ed3729204090c4d09ee4beeecc1a7ecba5a159a94b5a4eb24e3759a"}, + {file = "pydantic-1.10.18-cp312-cp312-win_amd64.whl", hash = "sha256:c6d0a9f9eccaf7f438671a64acf654ef0d045466e63f9f68a579e2383b63f357"}, + {file = "pydantic-1.10.18-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:3d5492dbf953d7d849751917e3b2433fb26010d977aa7a0765c37425a4026ff1"}, + {file = "pydantic-1.10.18-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fe734914977eed33033b70bfc097e1baaffb589517863955430bf2e0846ac30f"}, + {file = "pydantic-1.10.18-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:15fdbe568beaca9aacfccd5ceadfb5f1a235087a127e8af5e48df9d8a45ae85c"}, + {file = "pydantic-1.10.18-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:c3e742f62198c9eb9201781fbebe64533a3bbf6a76a91b8d438d62b813079dbc"}, + {file = "pydantic-1.10.18-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:19a3bd00b9dafc2cd7250d94d5b578edf7a0bd7daf102617153ff9a8fa37871c"}, + {file = "pydantic-1.10.18-cp37-cp37m-win_amd64.whl", hash = "sha256:2ce3fcf75b2bae99aa31bd4968de0474ebe8c8258a0110903478bd83dfee4e3b"}, + {file = "pydantic-1.10.18-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:335a32d72c51a313b33fa3a9b0fe283503272ef6467910338e123f90925f0f03"}, + {file = "pydantic-1.10.18-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:34a3613c7edb8c6fa578e58e9abe3c0f5e7430e0fc34a65a415a1683b9c32d9a"}, + {file = "pydantic-1.10.18-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e9ee4e6ca1d9616797fa2e9c0bfb8815912c7d67aca96f77428e316741082a1b"}, + {file = "pydantic-1.10.18-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:23e8ec1ce4e57b4f441fc91e3c12adba023fedd06868445a5b5f1d48f0ab3682"}, + {file = "pydantic-1.10.18-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:44ae8a3e35a54d2e8fa88ed65e1b08967a9ef8c320819a969bfa09ce5528fafe"}, + {file = "pydantic-1.10.18-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:d5389eb3b48a72da28c6e061a247ab224381435256eb541e175798483368fdd3"}, + {file = "pydantic-1.10.18-cp38-cp38-win_amd64.whl", hash = "sha256:069b9c9fc645474d5ea3653788b544a9e0ccd3dca3ad8c900c4c6eac844b4620"}, + {file = "pydantic-1.10.18-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:80b982d42515632eb51f60fa1d217dfe0729f008e81a82d1544cc392e0a50ddf"}, + {file = "pydantic-1.10.18-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:aad8771ec8dbf9139b01b56f66386537c6fe4e76c8f7a47c10261b69ad25c2c9"}, + {file = "pydantic-1.10.18-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:941a2eb0a1509bd7f31e355912eb33b698eb0051730b2eaf9e70e2e1589cae1d"}, + {file = "pydantic-1.10.18-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:65f7361a09b07915a98efd17fdec23103307a54db2000bb92095457ca758d485"}, + {file = "pydantic-1.10.18-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:6951f3f47cb5ca4da536ab161ac0163cab31417d20c54c6de5ddcab8bc813c3f"}, + {file = "pydantic-1.10.18-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:7a4c5eec138a9b52c67f664c7d51d4c7234c5ad65dd8aacd919fb47445a62c86"}, + {file = "pydantic-1.10.18-cp39-cp39-win_amd64.whl", hash = "sha256:49e26c51ca854286bffc22b69787a8d4063a62bf7d83dc21d44d2ff426108518"}, + {file = "pydantic-1.10.18-py3-none-any.whl", hash = "sha256:06a189b81ffc52746ec9c8c007f16e5167c8b0a696e1a726369327e3db7b2a82"}, + {file = "pydantic-1.10.18.tar.gz", hash = "sha256:baebdff1907d1d96a139c25136a9bb7d17e118f133a76a2ef3b845e831e3403a"}, ] [package.dependencies] @@ -1635,6 +1783,23 @@ typing-extensions = ">=4.2.0" dotenv = ["python-dotenv (>=0.10.4)"] email = ["email-validator (>=1.0.3)"] +[[package]] +name = "pyjwt" +version = "2.9.0" +description = "JSON Web Token implementation in Python" +optional = false +python-versions = ">=3.8" +files = [ + {file = "PyJWT-2.9.0-py3-none-any.whl", hash = "sha256:3b02fb0f44517787776cf48f2ae25d8e14f300e6d7545a4315cee571a415e850"}, + {file = "pyjwt-2.9.0.tar.gz", hash = "sha256:7e1e5b56cc735432a7369cbfa0efe50fa113ebecdc04ae6922deba8b84582d0c"}, +] + +[package.extras] +crypto = ["cryptography (>=3.4.0)"] +dev = ["coverage[toml] (==5.0.4)", "cryptography (>=3.4.0)", "pre-commit", "pytest (>=6.0.0,<7.0.0)", "sphinx", "sphinx-rtd-theme", "zope.interface"] +docs = ["sphinx", "sphinx-rtd-theme", "zope.interface"] +tests = ["coverage[toml] (==5.0.4)", "pytest (>=6.0.0,<7.0.0)"] + [[package]] name = "pyln-bolt7" version = "1.0.246" @@ -1648,13 +1813,13 @@ files = [ [[package]] name = "pyln-client" -version = "23.8" +version = "24.8.1" description = "Client library and plugin library for Core Lightning" optional = false -python-versions = ">=3.8,<4.0" +python-versions = "<4.0,>=3.8" files = [ - {file = "pyln_client-23.8-py3-none-any.whl", hash = "sha256:a63a9541f422ed3d1d42483a5f37cdfa0014715b620616384d8ee048c4f95f42"}, - {file = "pyln_client-23.8.tar.gz", hash = "sha256:578004c640d869707ed8de267f35e01994c092035d20ebc5a325415412b52021"}, + {file = "pyln_client-24.8.1-py3-none-any.whl", hash = "sha256:4a389de96813a23b587007f181a5d4ba37bb8a4ac6bed7074a591b6b710e4615"}, + {file = "pyln_client-24.8.1.tar.gz", hash = "sha256:47e1bcadc91df511b7dbd66059d25a6c67fb0d49953291762272abf151fe8846"}, ] [package.dependencies] @@ -1663,20 +1828,20 @@ pyln-proto = ">=23" [[package]] name = "pyln-proto" -version = "24.2.1" +version = "24.8.2" description = "This package implements some of the Lightning Network protocol in pure python. It is intended for protocol testing and some minor tooling only. It is not deemed secure enough to handle any amount of real funds (you have been warned!)." optional = false python-versions = "<4.0,>=3.8" files = [ - {file = "pyln_proto-24.2.1-py3-none-any.whl", hash = "sha256:0948515187d1813179daa0a6809d23a34c36b0cbd37951688e1d26c648aa0fef"}, - {file = "pyln_proto-24.2.1.tar.gz", hash = "sha256:5d9f0fa50180f922727b80e99d267e374ac0337d0fccae51b82d3084c88537b5"}, + {file = "pyln_proto-24.8.2-py3-none-any.whl", hash = "sha256:9c6c080c41fff40b119ea518fae37b1c8d4e917fa55389002afceffd4850ec98"}, + {file = "pyln_proto-24.8.2.tar.gz", hash = "sha256:efa222284e2990f7227f0243acc0e9ec5acd3bb89bb66ecad9f7dfb22b09fc90"}, ] [package.dependencies] base58 = ">=2.1.1,<3.0.0" bitstring = ">=4.1.0,<5.0.0" -coincurve = ">=18,<19" -cryptography = ">=41,<42" +coincurve = ">=20,<21" +cryptography = ">=42,<43" PySocks = ">=1,<2" [[package]] @@ -1729,13 +1894,13 @@ testing = ["argcomplete", "attrs (>=19.2.0)", "hypothesis (>=3.56)", "mock", "no [[package]] name = "pytest-asyncio" -version = "0.21.1" +version = "0.21.2" description = "Pytest support for asyncio" optional = false python-versions = ">=3.7" files = [ - {file = "pytest-asyncio-0.21.1.tar.gz", hash = "sha256:40a7eae6dded22c7b604986855ea48400ab15b069ae38116e8c01238e9eeb64d"}, - {file = "pytest_asyncio-0.21.1-py3-none-any.whl", hash = "sha256:8666c1c8ac02631d7c51ba282e0c69a8a452b211ffedf2599099845da5c5c37b"}, + {file = "pytest_asyncio-0.21.2-py3-none-any.whl", hash = "sha256:ab664c88bb7998f711d8039cacd4884da6430886ae8bbd4eded552ed2004f16b"}, + {file = "pytest_asyncio-0.21.2.tar.gz", hash = "sha256:d67738fc232b94b326b9d060750beb16e0074210b98dd8b58a5239fa2a154f45"}, ] [package.dependencies] @@ -1747,13 +1912,13 @@ testing = ["coverage (>=6.2)", "flaky (>=3.5.0)", "hypothesis (>=5.7.1)", "mypy [[package]] name = "python-crontab" -version = "3.0.0" +version = "3.2.0" description = "Python Crontab API" optional = false python-versions = "*" files = [ - {file = "python-crontab-3.0.0.tar.gz", hash = "sha256:79fb7465039ddfd4fb93d072d6ee0d45c1ac8bf1597f0686ea14fd4361dba379"}, - {file = "python_crontab-3.0.0-py3-none-any.whl", hash = "sha256:6d5ba3c190ec76e4d252989a1644fcb233dbf53fbc8fceeb9febe1657b9fb1d4"}, + {file = "python_crontab-3.2.0-py3-none-any.whl", hash = "sha256:82cb9b6a312d41ff66fd3caf3eed7115c28c195bfb50711bc2b4b9592feb9fe5"}, + {file = "python_crontab-3.2.0.tar.gz", hash = "sha256:40067d1dd39ade3460b2ad8557c7651514cd3851deffff61c5c60e1227c5c36b"}, ] [package.dependencies] @@ -1791,35 +1956,15 @@ files = [ [package.extras] cli = ["click (>=5.0)"] -[[package]] -name = "python-jose" -version = "3.3.0" -description = "JOSE implementation in Python" -optional = false -python-versions = "*" -files = [ - {file = "python-jose-3.3.0.tar.gz", hash = "sha256:55779b5e6ad599c6336191246e95eb2293a9ddebd555f796a65f838f07e5d78a"}, - {file = "python_jose-3.3.0-py2.py3-none-any.whl", hash = "sha256:9b1376b023f8b298536eedd47ae1089bcdb848f1535ab30555cd92002d78923a"}, -] - -[package.dependencies] -ecdsa = "!=0.15" -pyasn1 = "*" -rsa = "*" - -[package.extras] -cryptography = ["cryptography (>=3.4.0)"] -pycrypto = ["pyasn1", "pycrypto (>=2.6.0,<2.7.0)"] -pycryptodome = ["pyasn1", "pycryptodome (>=3.3.1,<4.0.0)"] - [[package]] name = "pywebpush" -version = "1.14.0" +version = "1.14.1" description = "WebPush publication library" optional = false python-versions = "*" files = [ - {file = "pywebpush-1.14.0.tar.gz", hash = "sha256:6c36e1679268219e693ba940db2bf254c240ca02664de102b7269afc3c545731"}, + {file = "pywebpush-1.14.1-py3-none-any.whl", hash = "sha256:2865ee65cf44375f7cbdcfd5ba915a9d84c239900c6fba2245efd8d8314a3e84"}, + {file = "pywebpush-1.14.1.tar.gz", hash = "sha256:f88d7e2bf5e87c616dfb04b8c95c119238c511659b02f735ee77cc16842855ee"}, ] [package.dependencies] @@ -1831,77 +1976,75 @@ six = ">=1.15.0" [[package]] name = "pyyaml" -version = "6.0.1" +version = "6.0.2" description = "YAML parser and emitter for Python" optional = false -python-versions = ">=3.6" -files = [ - {file = "PyYAML-6.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d858aa552c999bc8a8d57426ed01e40bef403cd8ccdd0fc5f6f04a00414cac2a"}, - {file = "PyYAML-6.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fd66fc5d0da6d9815ba2cebeb4205f95818ff4b79c3ebe268e75d961704af52f"}, - {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:69b023b2b4daa7548bcfbd4aa3da05b3a74b772db9e23b982788168117739938"}, - {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:81e0b275a9ecc9c0c0c07b4b90ba548307583c125f54d5b6946cfee6360c733d"}, - {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba336e390cd8e4d1739f42dfe9bb83a3cc2e80f567d8805e11b46f4a943f5515"}, - {file = "PyYAML-6.0.1-cp310-cp310-win32.whl", hash = "sha256:bd4af7373a854424dabd882decdc5579653d7868b8fb26dc7d0e99f823aa5924"}, - {file = "PyYAML-6.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:fd1592b3fdf65fff2ad0004b5e363300ef59ced41c2e6b3a99d4089fa8c5435d"}, - {file = "PyYAML-6.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6965a7bc3cf88e5a1c3bd2e0b5c22f8d677dc88a455344035f03399034eb3007"}, - {file = "PyYAML-6.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f003ed9ad21d6a4713f0a9b5a7a0a79e08dd0f221aff4525a2be4c346ee60aab"}, - {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:42f8152b8dbc4fe7d96729ec2b99c7097d656dc1213a3229ca5383f973a5ed6d"}, - {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:062582fca9fabdd2c8b54a3ef1c978d786e0f6b3a1510e0ac93ef59e0ddae2bc"}, - {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d2b04aac4d386b172d5b9692e2d2da8de7bfb6c387fa4f801fbf6fb2e6ba4673"}, - {file = "PyYAML-6.0.1-cp311-cp311-win32.whl", hash = "sha256:1635fd110e8d85d55237ab316b5b011de701ea0f29d07611174a1b42f1444741"}, - {file = "PyYAML-6.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34"}, - {file = "PyYAML-6.0.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:50550eb667afee136e9a77d6dc71ae76a44df8b3e51e41b77f6de2932bfe0f47"}, - {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1fe35611261b29bd1de0070f0b2f47cb6ff71fa6595c077e42bd0c419fa27b98"}, - {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:704219a11b772aea0d8ecd7058d0082713c3562b4e271b849ad7dc4a5c90c13c"}, - {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:afd7e57eddb1a54f0f1a974bc4391af8bcce0b444685d936840f125cf046d5bd"}, - {file = "PyYAML-6.0.1-cp36-cp36m-win32.whl", hash = "sha256:fca0e3a251908a499833aa292323f32437106001d436eca0e6e7833256674585"}, - {file = "PyYAML-6.0.1-cp36-cp36m-win_amd64.whl", hash = "sha256:f22ac1c3cac4dbc50079e965eba2c1058622631e526bd9afd45fedd49ba781fa"}, - {file = "PyYAML-6.0.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:b1275ad35a5d18c62a7220633c913e1b42d44b46ee12554e5fd39c70a243d6a3"}, - {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:18aeb1bf9a78867dc38b259769503436b7c72f7a1f1f4c93ff9a17de54319b27"}, - {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:596106435fa6ad000c2991a98fa58eeb8656ef2325d7e158344fb33864ed87e3"}, - {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:baa90d3f661d43131ca170712d903e6295d1f7a0f595074f151c0aed377c9b9c"}, - {file = "PyYAML-6.0.1-cp37-cp37m-win32.whl", hash = "sha256:9046c58c4395dff28dd494285c82ba00b546adfc7ef001486fbf0324bc174fba"}, - {file = "PyYAML-6.0.1-cp37-cp37m-win_amd64.whl", hash = "sha256:4fb147e7a67ef577a588a0e2c17b6db51dda102c71de36f8549b6816a96e1867"}, - {file = "PyYAML-6.0.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1d4c7e777c441b20e32f52bd377e0c409713e8bb1386e1099c2415f26e479595"}, - {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a0cd17c15d3bb3fa06978b4e8958dcdc6e0174ccea823003a106c7d4d7899ac5"}, - {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:28c119d996beec18c05208a8bd78cbe4007878c6dd15091efb73a30e90539696"}, - {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7e07cbde391ba96ab58e532ff4803f79c4129397514e1413a7dc761ccd755735"}, - {file = "PyYAML-6.0.1-cp38-cp38-win32.whl", hash = "sha256:184c5108a2aca3c5b3d3bf9395d50893a7ab82a38004c8f61c258d4428e80206"}, - {file = "PyYAML-6.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:1e2722cc9fbb45d9b87631ac70924c11d3a401b2d7f410cc0e3bbf249f2dca62"}, - {file = "PyYAML-6.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9eb6caa9a297fc2c2fb8862bc5370d0303ddba53ba97e71f08023b6cd73d16a8"}, - {file = "PyYAML-6.0.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c8098ddcc2a85b61647b2590f825f3db38891662cfc2fc776415143f599bb859"}, - {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5773183b6446b2c99bb77e77595dd486303b4faab2b086e7b17bc6bef28865f6"}, - {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b786eecbdf8499b9ca1d697215862083bd6d2a99965554781d0d8d1ad31e13a0"}, - {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc1bf2925a1ecd43da378f4db9e4f799775d6367bdb94671027b73b393a7c42c"}, - {file = "PyYAML-6.0.1-cp39-cp39-win32.whl", hash = "sha256:faca3bdcf85b2fc05d06ff3fbc1f83e1391b3e724afa3feba7d13eeab355484c"}, - {file = "PyYAML-6.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:510c9deebc5c0225e8c96813043e62b680ba2f9c50a08d3724c7f28a747d1486"}, - {file = "PyYAML-6.0.1.tar.gz", hash = "sha256:bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43"}, -] - -[[package]] -name = "represent" -version = "2.1" -description = "Create __repr__ automatically or declaratively." -optional = false python-versions = ">=3.8" files = [ - {file = "Represent-2.1-py3-none-any.whl", hash = "sha256:94fd22d7fec378240c598b20b233f80545ec7eb1131076e2d3d759cee9be2588"}, - {file = "Represent-2.1.tar.gz", hash = "sha256:0b2d015c14e7ba6b3b5e6a7ba131a952013fe944339ac538764ce728a75dbcac"}, + {file = "PyYAML-6.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0a9a2848a5b7feac301353437eb7d5957887edbf81d56e903999a75a3d743086"}, + {file = "PyYAML-6.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:29717114e51c84ddfba879543fb232a6ed60086602313ca38cce623c1d62cfbf"}, + {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8824b5a04a04a047e72eea5cec3bc266db09e35de6bdfe34c9436ac5ee27d237"}, + {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c36280e6fb8385e520936c3cb3b8042851904eba0e58d277dca80a5cfed590b"}, + {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ec031d5d2feb36d1d1a24380e4db6d43695f3748343d99434e6f5f9156aaa2ed"}, + {file = "PyYAML-6.0.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:936d68689298c36b53b29f23c6dbb74de12b4ac12ca6cfe0e047bedceea56180"}, + {file = "PyYAML-6.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:23502f431948090f597378482b4812b0caae32c22213aecf3b55325e049a6c68"}, + {file = "PyYAML-6.0.2-cp310-cp310-win32.whl", hash = "sha256:2e99c6826ffa974fe6e27cdb5ed0021786b03fc98e5ee3c5bfe1fd5015f42b99"}, + {file = "PyYAML-6.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:a4d3091415f010369ae4ed1fc6b79def9416358877534caf6a0fdd2146c87a3e"}, + {file = "PyYAML-6.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cc1c1159b3d456576af7a3e4d1ba7e6924cb39de8f67111c735f6fc832082774"}, + {file = "PyYAML-6.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1e2120ef853f59c7419231f3bf4e7021f1b936f6ebd222406c3b60212205d2ee"}, + {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d225db5a45f21e78dd9358e58a98702a0302f2659a3c6cd320564b75b86f47c"}, + {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5ac9328ec4831237bec75defaf839f7d4564be1e6b25ac710bd1a96321cc8317"}, + {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ad2a3decf9aaba3d29c8f537ac4b243e36bef957511b4766cb0057d32b0be85"}, + {file = "PyYAML-6.0.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:ff3824dc5261f50c9b0dfb3be22b4567a6f938ccce4587b38952d85fd9e9afe4"}, + {file = "PyYAML-6.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:797b4f722ffa07cc8d62053e4cff1486fa6dc094105d13fea7b1de7d8bf71c9e"}, + {file = "PyYAML-6.0.2-cp311-cp311-win32.whl", hash = "sha256:11d8f3dd2b9c1207dcaf2ee0bbbfd5991f571186ec9cc78427ba5bd32afae4b5"}, + {file = "PyYAML-6.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:e10ce637b18caea04431ce14fabcf5c64a1c61ec9c56b071a4b7ca131ca52d44"}, + {file = "PyYAML-6.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab"}, + {file = "PyYAML-6.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725"}, + {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5"}, + {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425"}, + {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476"}, + {file = "PyYAML-6.0.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48"}, + {file = "PyYAML-6.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b"}, + {file = "PyYAML-6.0.2-cp312-cp312-win32.whl", hash = "sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4"}, + {file = "PyYAML-6.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8"}, + {file = "PyYAML-6.0.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba"}, + {file = "PyYAML-6.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1"}, + {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133"}, + {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484"}, + {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5"}, + {file = "PyYAML-6.0.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc"}, + {file = "PyYAML-6.0.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652"}, + {file = "PyYAML-6.0.2-cp313-cp313-win32.whl", hash = "sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183"}, + {file = "PyYAML-6.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563"}, + {file = "PyYAML-6.0.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:24471b829b3bf607e04e88d79542a9d48bb037c2267d7927a874e6c205ca7e9a"}, + {file = "PyYAML-6.0.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d7fded462629cfa4b685c5416b949ebad6cec74af5e2d42905d41e257e0869f5"}, + {file = "PyYAML-6.0.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d84a1718ee396f54f3a086ea0a66d8e552b2ab2017ef8b420e92edbc841c352d"}, + {file = "PyYAML-6.0.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9056c1ecd25795207ad294bcf39f2db3d845767be0ea6e6a34d856f006006083"}, + {file = "PyYAML-6.0.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:82d09873e40955485746739bcb8b4586983670466c23382c19cffecbf1fd8706"}, + {file = "PyYAML-6.0.2-cp38-cp38-win32.whl", hash = "sha256:43fa96a3ca0d6b1812e01ced1044a003533c47f6ee8aca31724f78e93ccc089a"}, + {file = "PyYAML-6.0.2-cp38-cp38-win_amd64.whl", hash = "sha256:01179a4a8559ab5de078078f37e5c1a30d76bb88519906844fd7bdea1b7729ff"}, + {file = "PyYAML-6.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:688ba32a1cffef67fd2e9398a2efebaea461578b0923624778664cc1c914db5d"}, + {file = "PyYAML-6.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a8786accb172bd8afb8be14490a16625cbc387036876ab6ba70912730faf8e1f"}, + {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8e03406cac8513435335dbab54c0d385e4a49e4945d2909a581c83647ca0290"}, + {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f753120cb8181e736c57ef7636e83f31b9c0d1722c516f7e86cf15b7aa57ff12"}, + {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3b1fdb9dc17f5a7677423d508ab4f243a726dea51fa5e70992e59a7411c89d19"}, + {file = "PyYAML-6.0.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:0b69e4ce7a131fe56b7e4d770c67429700908fc0752af059838b1cfb41960e4e"}, + {file = "PyYAML-6.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a9f8c2e67970f13b16084e04f134610fd1d374bf477b17ec1599185cf611d725"}, + {file = "PyYAML-6.0.2-cp39-cp39-win32.whl", hash = "sha256:6395c297d42274772abc367baaa79683958044e5d3835486c16da75d2a694631"}, + {file = "PyYAML-6.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:39693e1f8320ae4f43943590b49779ffb98acb81f788220ea932a6b6c51004d8"}, + {file = "pyyaml-6.0.2.tar.gz", hash = "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e"}, ] -[package.extras] -docstest = ["furo", "parver", "sphinx"] -test = ["ipython", "pytest", "rich"] - [[package]] name = "requests" -version = "2.31.0" +version = "2.32.3" description = "Python HTTP for Humans." optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "requests-2.31.0-py3-none-any.whl", hash = "sha256:58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f"}, - {file = "requests-2.31.0.tar.gz", hash = "sha256:942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1"}, + {file = "requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6"}, + {file = "requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760"}, ] [package.dependencies] @@ -1914,20 +2057,6 @@ urllib3 = ">=1.21.1,<3" socks = ["PySocks (>=1.5.6,!=1.5.7)"] use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] -[[package]] -name = "rsa" -version = "4.9" -description = "Pure-Python RSA implementation" -optional = false -python-versions = ">=3.6,<4" -files = [ - {file = "rsa-4.9-py3-none-any.whl", hash = "sha256:90260d9058e514786967344d0ef75fa8727eed8a7d2e43ce9f4bcf1b536174f7"}, - {file = "rsa-4.9.tar.gz", hash = "sha256:e38464a49c6c85d7f1351b0126661487a7e0a14a50f1675ec50eb34d4f20ef21"}, -] - -[package.dependencies] -pyasn1 = ">=0.1.3" - [[package]] name = "ruff" version = "0.3.7" @@ -1989,31 +2118,15 @@ files = [ [package.dependencies] cffi = ">=1.3.0" -[[package]] -name = "setuptools" -version = "69.5.1" -description = "Easily download, build, install, upgrade, and uninstall Python packages" -optional = false -python-versions = ">=3.8" -files = [ - {file = "setuptools-69.5.1-py3-none-any.whl", hash = "sha256:c636ac361bc47580504644275c9ad802c50415c7522212252c033bd15f301f32"}, - {file = "setuptools-69.5.1.tar.gz", hash = "sha256:6c1fccdac05a97e598fb0ae3bbed5904ccb317337a51139dcd51453611bbb987"}, -] - -[package.extras] -docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier"] -testing = ["build[virtualenv]", "filelock (>=3.4.0)", "importlib-metadata", "ini2toml[lite] (>=0.9)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "mypy (==1.9)", "packaging (>=23.2)", "pip (>=19.1)", "pytest (>=6,!=8.1.1)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-home (>=0.5)", "pytest-mypy", "pytest-perf", "pytest-ruff (>=0.2.1)", "pytest-timeout", "pytest-xdist (>=3)", "tomli", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] -testing-integration = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "packaging (>=23.2)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"] - [[package]] name = "shortuuid" -version = "1.0.11" +version = "1.0.13" description = "A generator library for concise, unambiguous and URL-safe UUIDs." optional = false -python-versions = ">=3.5" +python-versions = ">=3.6" files = [ - {file = "shortuuid-1.0.11-py3-none-any.whl", hash = "sha256:27ea8f28b1bd0bf8f15057a3ece57275d2059d2b0bb02854f02189962c13b6aa"}, - {file = "shortuuid-1.0.11.tar.gz", hash = "sha256:fc75f2615914815a8e4cb1501b3a513745cb66ef0fd5fc6fb9f8c3fa3481f789"}, + {file = "shortuuid-1.0.13-py3-none-any.whl", hash = "sha256:a482a497300b49b4953e15108a7913244e1bb0d41f9d332f5e9925dba33a3c5a"}, + {file = "shortuuid-1.0.13.tar.gz", hash = "sha256:3bb9cf07f606260584b1df46399c0b87dd84773e7b25912b7e391e30797c5e72"}, ] [[package]] @@ -2057,103 +2170,107 @@ files = [ [[package]] name = "sqlalchemy" -version = "1.3.24" +version = "1.4.54" description = "Database Abstraction Library" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -files = [ - {file = "SQLAlchemy-1.3.24-cp27-cp27m-macosx_10_14_x86_64.whl", hash = "sha256:87a2725ad7d41cd7376373c15fd8bf674e9c33ca56d0b8036add2d634dba372e"}, - {file = "SQLAlchemy-1.3.24-cp27-cp27m-win32.whl", hash = "sha256:f597a243b8550a3a0b15122b14e49d8a7e622ba1c9d29776af741f1845478d79"}, - {file = "SQLAlchemy-1.3.24-cp27-cp27m-win_amd64.whl", hash = "sha256:fc4cddb0b474b12ed7bdce6be1b9edc65352e8ce66bc10ff8cbbfb3d4047dbf4"}, - {file = "SQLAlchemy-1.3.24-cp35-cp35m-macosx_10_14_x86_64.whl", hash = "sha256:f1149d6e5c49d069163e58a3196865e4321bad1803d7886e07d8710de392c548"}, - {file = "SQLAlchemy-1.3.24-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:14f0eb5db872c231b20c18b1e5806352723a3a89fb4254af3b3e14f22eaaec75"}, - {file = "SQLAlchemy-1.3.24-cp35-cp35m-manylinux2010_x86_64.whl", hash = "sha256:e98d09f487267f1e8d1179bf3b9d7709b30a916491997137dd24d6ae44d18d79"}, - {file = "SQLAlchemy-1.3.24-cp35-cp35m-manylinux2014_aarch64.whl", hash = "sha256:fc1f2a5a5963e2e73bac4926bdaf7790c4d7d77e8fc0590817880e22dd9d0b8b"}, - {file = "SQLAlchemy-1.3.24-cp35-cp35m-win32.whl", hash = "sha256:f3c5c52f7cb8b84bfaaf22d82cb9e6e9a8297f7c2ed14d806a0f5e4d22e83fb7"}, - {file = "SQLAlchemy-1.3.24-cp35-cp35m-win_amd64.whl", hash = "sha256:0352db1befcbed2f9282e72843f1963860bf0e0472a4fa5cf8ee084318e0e6ab"}, - {file = "SQLAlchemy-1.3.24-cp36-cp36m-macosx_10_14_x86_64.whl", hash = "sha256:2ed6343b625b16bcb63c5b10523fd15ed8934e1ed0f772c534985e9f5e73d894"}, - {file = "SQLAlchemy-1.3.24-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:34fcec18f6e4b24b4a5f6185205a04f1eab1e56f8f1d028a2a03694ebcc2ddd4"}, - {file = "SQLAlchemy-1.3.24-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:e47e257ba5934550d7235665eee6c911dc7178419b614ba9e1fbb1ce6325b14f"}, - {file = "SQLAlchemy-1.3.24-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:816de75418ea0953b5eb7b8a74933ee5a46719491cd2b16f718afc4b291a9658"}, - {file = "SQLAlchemy-1.3.24-cp36-cp36m-win32.whl", hash = "sha256:26155ea7a243cbf23287f390dba13d7927ffa1586d3208e0e8d615d0c506f996"}, - {file = "SQLAlchemy-1.3.24-cp36-cp36m-win_amd64.whl", hash = "sha256:f03bd97650d2e42710fbe4cf8a59fae657f191df851fc9fc683ecef10746a375"}, - {file = "SQLAlchemy-1.3.24-cp37-cp37m-macosx_10_14_x86_64.whl", hash = "sha256:a006d05d9aa052657ee3e4dc92544faae5fcbaafc6128217310945610d862d39"}, - {file = "SQLAlchemy-1.3.24-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:1e2f89d2e5e3c7a88e25a3b0e43626dba8db2aa700253023b82e630d12b37109"}, - {file = "SQLAlchemy-1.3.24-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:0d5d862b1cfbec5028ce1ecac06a3b42bc7703eb80e4b53fceb2738724311443"}, - {file = "SQLAlchemy-1.3.24-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:0172423a27fbcae3751ef016663b72e1a516777de324a76e30efa170dbd3dd2d"}, - {file = "SQLAlchemy-1.3.24-cp37-cp37m-win32.whl", hash = "sha256:d37843fb8df90376e9e91336724d78a32b988d3d20ab6656da4eb8ee3a45b63c"}, - {file = "SQLAlchemy-1.3.24-cp37-cp37m-win_amd64.whl", hash = "sha256:c10ff6112d119f82b1618b6dc28126798481b9355d8748b64b9b55051eb4f01b"}, - {file = "SQLAlchemy-1.3.24-cp38-cp38-macosx_10_14_x86_64.whl", hash = "sha256:861e459b0e97673af6cc5e7f597035c2e3acdfb2608132665406cded25ba64c7"}, - {file = "SQLAlchemy-1.3.24-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:5de2464c254380d8a6c20a2746614d5a436260be1507491442cf1088e59430d2"}, - {file = "SQLAlchemy-1.3.24-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:d375d8ccd3cebae8d90270f7aa8532fe05908f79e78ae489068f3b4eee5994e8"}, - {file = "SQLAlchemy-1.3.24-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:014ea143572fee1c18322b7908140ad23b3994036ef4c0d630110faf942652f8"}, - {file = "SQLAlchemy-1.3.24-cp38-cp38-win32.whl", hash = "sha256:6607ae6cd3a07f8a4c3198ffbf256c261661965742e2b5265a77cd5c679c9bba"}, - {file = "SQLAlchemy-1.3.24-cp38-cp38-win_amd64.whl", hash = "sha256:fcb251305fa24a490b6a9ee2180e5f8252915fb778d3dafc70f9cc3f863827b9"}, - {file = "SQLAlchemy-1.3.24-cp39-cp39-macosx_10_14_x86_64.whl", hash = "sha256:01aa5f803db724447c1d423ed583e42bf5264c597fd55e4add4301f163b0be48"}, - {file = "SQLAlchemy-1.3.24-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:4d0e3515ef98aa4f0dc289ff2eebb0ece6260bbf37c2ea2022aad63797eacf60"}, - {file = "SQLAlchemy-1.3.24-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:bce28277f308db43a6b4965734366f533b3ff009571ec7ffa583cb77539b84d6"}, - {file = "SQLAlchemy-1.3.24-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:8110e6c414d3efc574543109ee618fe2c1f96fa31833a1ff36cc34e968c4f233"}, - {file = "SQLAlchemy-1.3.24-cp39-cp39-win32.whl", hash = "sha256:ee5f5188edb20a29c1cc4a039b074fdc5575337c9a68f3063449ab47757bb064"}, - {file = "SQLAlchemy-1.3.24-cp39-cp39-win_amd64.whl", hash = "sha256:09083c2487ca3c0865dc588e07aeaa25416da3d95f7482c07e92f47e080aa17b"}, - {file = "SQLAlchemy-1.3.24.tar.gz", hash = "sha256:ebbb777cbf9312359b897bf81ba00dae0f5cb69fba2a18265dcc18a6f5ef7519"}, +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" +files = [ + {file = "SQLAlchemy-1.4.54-cp310-cp310-macosx_12_0_x86_64.whl", hash = "sha256:af00236fe21c4d4f4c227b6ccc19b44c594160cc3ff28d104cdce85855369277"}, + {file = "SQLAlchemy-1.4.54-cp310-cp310-manylinux1_x86_64.manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_5_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1183599e25fa38a1a322294b949da02b4f0da13dbc2688ef9dbe746df573f8a6"}, + {file = "SQLAlchemy-1.4.54-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1990d5a6a5dc358a0894c8ca02043fb9a5ad9538422001fb2826e91c50f1d539"}, + {file = "SQLAlchemy-1.4.54-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:14b3f4783275339170984cadda66e3ec011cce87b405968dc8d51cf0f9997b0d"}, + {file = "SQLAlchemy-1.4.54-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6b24364150738ce488333b3fb48bfa14c189a66de41cd632796fbcacb26b4585"}, + {file = "SQLAlchemy-1.4.54-cp310-cp310-win32.whl", hash = "sha256:a8a72259a1652f192c68377be7011eac3c463e9892ef2948828c7d58e4829988"}, + {file = "SQLAlchemy-1.4.54-cp310-cp310-win_amd64.whl", hash = "sha256:b67589f7955924865344e6eacfdcf70675e64f36800a576aa5e961f0008cde2a"}, + {file = "SQLAlchemy-1.4.54-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:b05e0626ec1c391432eabb47a8abd3bf199fb74bfde7cc44a26d2b1b352c2c6e"}, + {file = "SQLAlchemy-1.4.54-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:13e91d6892b5fcb94a36ba061fb7a1f03d0185ed9d8a77c84ba389e5bb05e936"}, + {file = "SQLAlchemy-1.4.54-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fb59a11689ff3c58e7652260127f9e34f7f45478a2f3ef831ab6db7bcd72108f"}, + {file = "SQLAlchemy-1.4.54-cp311-cp311-win32.whl", hash = "sha256:1390ca2d301a2708fd4425c6d75528d22f26b8f5cbc9faba1ddca136671432bc"}, + {file = "SQLAlchemy-1.4.54-cp311-cp311-win_amd64.whl", hash = "sha256:2b37931eac4b837c45e2522066bda221ac6d80e78922fb77c75eb12e4dbcdee5"}, + {file = "SQLAlchemy-1.4.54-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:3f01c2629a7d6b30d8afe0326b8c649b74825a0e1ebdcb01e8ffd1c920deb07d"}, + {file = "SQLAlchemy-1.4.54-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9c24dd161c06992ed16c5e528a75878edbaeced5660c3db88c820f1f0d3fe1f4"}, + {file = "SQLAlchemy-1.4.54-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b5e0d47d619c739bdc636bbe007da4519fc953393304a5943e0b5aec96c9877c"}, + {file = "SQLAlchemy-1.4.54-cp312-cp312-win32.whl", hash = "sha256:12bc0141b245918b80d9d17eca94663dbd3f5266ac77a0be60750f36102bbb0f"}, + {file = "SQLAlchemy-1.4.54-cp312-cp312-win_amd64.whl", hash = "sha256:f941aaf15f47f316123e1933f9ea91a6efda73a161a6ab6046d1cde37be62c88"}, + {file = "SQLAlchemy-1.4.54-cp36-cp36m-macosx_10_14_x86_64.whl", hash = "sha256:a41611835010ed4ea4c7aed1da5b58aac78ee7e70932a91ed2705a7b38e40f52"}, + {file = "SQLAlchemy-1.4.54-cp36-cp36m-manylinux1_x86_64.manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_5_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1e8c1b9ecaf9f2590337d5622189aeb2f0dbc54ba0232fa0856cf390957584a9"}, + {file = "SQLAlchemy-1.4.54-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0de620f978ca273ce027769dc8db7e6ee72631796187adc8471b3c76091b809e"}, + {file = "SQLAlchemy-1.4.54-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:c5a2530400a6e7e68fd1552a55515de6a4559122e495f73554a51cedafc11669"}, + {file = "SQLAlchemy-1.4.54-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d0cf7076c8578b3de4e43a046cc7a1af8466e1c3f5e64167189fe8958a4f9c02"}, + {file = "SQLAlchemy-1.4.54-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:f1e1b92ee4ee9ffc68624ace218b89ca5ca667607ccee4541a90cc44999b9aea"}, + {file = "SQLAlchemy-1.4.54-cp37-cp37m-manylinux1_x86_64.manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_5_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:41cffc63c7c83dfc30c4cab5b4308ba74440a9633c4509c51a0c52431fb0f8ab"}, + {file = "SQLAlchemy-1.4.54-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b5933c45d11cbd9694b1540aa9076816cc7406964c7b16a380fd84d3a5fe3241"}, + {file = "SQLAlchemy-1.4.54-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:cafe0ba3a96d0845121433cffa2b9232844a2609fce694fcc02f3f31214ece28"}, + {file = "SQLAlchemy-1.4.54-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a19f816f4702d7b1951d7576026c7124b9bfb64a9543e571774cf517b7a50b29"}, + {file = "SQLAlchemy-1.4.54-cp37-cp37m-win32.whl", hash = "sha256:76c2ba7b5a09863d0a8166fbc753af96d561818c572dbaf697c52095938e7be4"}, + {file = "SQLAlchemy-1.4.54-cp37-cp37m-win_amd64.whl", hash = "sha256:a86b0e4be775902a5496af4fb1b60d8a2a457d78f531458d294360b8637bb014"}, + {file = "SQLAlchemy-1.4.54-cp38-cp38-macosx_12_0_x86_64.whl", hash = "sha256:a49730afb716f3f675755afec109895cab95bc9875db7ffe2e42c1b1c6279482"}, + {file = "SQLAlchemy-1.4.54-cp38-cp38-manylinux1_x86_64.manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_5_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:26e78444bc77d089e62874dc74df05a5c71f01ac598010a327881a48408d0064"}, + {file = "SQLAlchemy-1.4.54-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:02d2ecb9508f16ab9c5af466dfe5a88e26adf2e1a8d1c56eb616396ccae2c186"}, + {file = "SQLAlchemy-1.4.54-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:394b0135900b62dbf63e4809cdc8ac923182af2816d06ea61cd6763943c2cc05"}, + {file = "SQLAlchemy-1.4.54-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5ed3576675c187e3baa80b02c4c9d0edfab78eff4e89dd9da736b921333a2432"}, + {file = "SQLAlchemy-1.4.54-cp38-cp38-win32.whl", hash = "sha256:fc9ffd9a38e21fad3e8c5a88926d57f94a32546e937e0be46142b2702003eba7"}, + {file = "SQLAlchemy-1.4.54-cp38-cp38-win_amd64.whl", hash = "sha256:a01bc25eb7a5688656c8770f931d5cb4a44c7de1b3cec69b84cc9745d1e4cc10"}, + {file = "SQLAlchemy-1.4.54-cp39-cp39-macosx_12_0_x86_64.whl", hash = "sha256:0b76bbb1cbae618d10679be8966f6d66c94f301cfc15cb49e2f2382563fb6efb"}, + {file = "SQLAlchemy-1.4.54-cp39-cp39-manylinux1_x86_64.manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_5_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cdb2886c0be2c6c54d0651d5a61c29ef347e8eec81fd83afebbf7b59b80b7393"}, + {file = "SQLAlchemy-1.4.54-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:954816850777ac234a4e32b8c88ac1f7847088a6e90cfb8f0e127a1bf3feddff"}, + {file = "SQLAlchemy-1.4.54-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:1d83cd1cc03c22d922ec94d0d5f7b7c96b1332f5e122e81b1a61fb22da77879a"}, + {file = "SQLAlchemy-1.4.54-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1576fba3616f79496e2f067262200dbf4aab1bb727cd7e4e006076686413c80c"}, + {file = "SQLAlchemy-1.4.54-cp39-cp39-win32.whl", hash = "sha256:3112de9e11ff1957148c6de1df2bc5cc1440ee36783412e5eedc6f53638a577d"}, + {file = "SQLAlchemy-1.4.54-cp39-cp39-win_amd64.whl", hash = "sha256:6da60fb24577f989535b8fc8b2ddc4212204aaf02e53c4c7ac94ac364150ed08"}, + {file = "sqlalchemy-1.4.54.tar.gz", hash = "sha256:4470fbed088c35dc20b78a39aaf4ae54fe81790c783b3264872a0224f437c31a"}, ] +[package.dependencies] +greenlet = {version = "!=0.4.17", markers = "python_version >= \"3\" and (platform_machine == \"aarch64\" or platform_machine == \"ppc64le\" or platform_machine == \"x86_64\" or platform_machine == \"amd64\" or platform_machine == \"AMD64\" or platform_machine == \"win32\" or platform_machine == \"WIN32\")"} + [package.extras] +aiomysql = ["aiomysql (>=0.2.0)", "greenlet (!=0.4.17)"] +aiosqlite = ["aiosqlite", "greenlet (!=0.4.17)", "typing_extensions (!=3.10.0.1)"] +asyncio = ["greenlet (!=0.4.17)"] +asyncmy = ["asyncmy (>=0.2.3,!=0.2.4)", "greenlet (!=0.4.17)"] +mariadb-connector = ["mariadb (>=1.0.1,!=1.1.2)", "mariadb (>=1.0.1,!=1.1.2)"] mssql = ["pyodbc"] -mssql-pymssql = ["pymssql"] -mssql-pyodbc = ["pyodbc"] -mysql = ["mysqlclient"] -oracle = ["cx-oracle"] -postgresql = ["psycopg2"] -postgresql-pg8000 = ["pg8000 (<1.16.6)"] +mssql-pymssql = ["pymssql", "pymssql"] +mssql-pyodbc = ["pyodbc", "pyodbc"] +mypy = ["mypy (>=0.910)", "sqlalchemy2-stubs"] +mysql = ["mysqlclient (>=1.4.0)", "mysqlclient (>=1.4.0,<2)"] +mysql-connector = ["mysql-connector-python", "mysql-connector-python"] +oracle = ["cx_oracle (>=7)", "cx_oracle (>=7,<8)"] +postgresql = ["psycopg2 (>=2.7)"] +postgresql-asyncpg = ["asyncpg", "asyncpg", "greenlet (!=0.4.17)", "greenlet (!=0.4.17)"] +postgresql-pg8000 = ["pg8000 (>=1.16.6,!=1.29.0)", "pg8000 (>=1.16.6,!=1.29.0)"] postgresql-psycopg2binary = ["psycopg2-binary"] postgresql-psycopg2cffi = ["psycopg2cffi"] pymysql = ["pymysql", "pymysql (<1)"] - -[[package]] -name = "sqlalchemy-aio" -version = "0.17.0" -description = "Async support for SQLAlchemy." -optional = false -python-versions = ">=3.6" -files = [ - {file = "sqlalchemy_aio-0.17.0-py3-none-any.whl", hash = "sha256:3f4aa392c38f032d6734826a4138a0f02ed3122d442ed142be1e5964f2a33b60"}, - {file = "sqlalchemy_aio-0.17.0.tar.gz", hash = "sha256:f531c7982662d71dfc0b117e77bb2ed544e25cd5361e76cf9f5208edcfb71f7b"}, -] - -[package.dependencies] -outcome = "*" -represent = ">=1.4" -sqlalchemy = "<1.4" - -[package.extras] -test = ["pytest (>=5.4)", "pytest-asyncio (>=0.14)", "pytest-trio (>=0.6)"] -test-noextras = ["pytest (>=5.4)", "pytest-asyncio (>=0.14)"] -trio = ["trio (>=0.15)"] +sqlcipher = ["sqlcipher3_binary"] [[package]] name = "sse-starlette" -version = "1.6.5" -description = "\"SSE plugin for Starlette\"" +version = "1.8.2" +description = "SSE plugin for Starlette" optional = false python-versions = ">=3.8" files = [ - {file = "sse-starlette-1.6.5.tar.gz", hash = "sha256:819f2c421fb37067380fe3dcaba246c476b02651b7bb7601099a378ad802a0ac"}, - {file = "sse_starlette-1.6.5-py3-none-any.whl", hash = "sha256:68b6b7eb49be0c72a2af80a055994c13afcaa4761b29226beb208f954c25a642"}, + {file = "sse_starlette-1.8.2-py3-none-any.whl", hash = "sha256:70cc7ef5aca4abe8a25dec1284cce4fe644dd7bf0c406d3e852e516092b7f849"}, + {file = "sse_starlette-1.8.2.tar.gz", hash = "sha256:e0f9b8dec41adc092a0a6e0694334bd3cfd3084c44c497a6ebc1fb4bdd919acd"}, ] [package.dependencies] +anyio = "*" +fastapi = "*" starlette = "*" +uvicorn = "*" [[package]] name = "starlette" -version = "0.36.3" +version = "0.40.0" description = "The little ASGI library that shines." optional = false python-versions = ">=3.8" files = [ - {file = "starlette-0.36.3-py3-none-any.whl", hash = "sha256:13d429aa93a61dc40bf503e8c801db1f1bca3dc706b10ef2434a36123568f044"}, - {file = "starlette-0.36.3.tar.gz", hash = "sha256:90a671733cfb35771d8cc605e0b679d23b992f8dcfad48cc60b38cb29aeb7080"}, + {file = "starlette-0.40.0-py3-none-any.whl", hash = "sha256:c494a22fae73805376ea6bf88439783ecfba9aac88a43911b48c653437e784c4"}, + {file = "starlette-0.40.0.tar.gz", hash = "sha256:1a3139688fb298ce5e2d661d37046a66ad996ce94be4d4983be019a23a04ea35"}, ] [package.dependencies] @@ -2165,35 +2282,35 @@ full = ["httpx (>=0.22.0)", "itsdangerous", "jinja2", "python-multipart (>=0.0.7 [[package]] name = "tomli" -version = "2.0.1" +version = "2.0.2" description = "A lil' TOML parser" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"}, - {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"}, + {file = "tomli-2.0.2-py3-none-any.whl", hash = "sha256:2ebe24485c53d303f690b0ec092806a085f07af5a5aa1464f3931eec36caaa38"}, + {file = "tomli-2.0.2.tar.gz", hash = "sha256:d46d457a85337051c36524bc5349dd91b1877838e2979ac5ced3e710ed8a60ed"}, ] [[package]] name = "typing-extensions" -version = "4.8.0" +version = "4.12.2" description = "Backported and Experimental Type Hints for Python 3.8+" optional = false python-versions = ">=3.8" files = [ - {file = "typing_extensions-4.8.0-py3-none-any.whl", hash = "sha256:8f92fc8806f9a6b641eaa5318da32b44d401efaac0f6678c9bc448ba3605faa0"}, - {file = "typing_extensions-4.8.0.tar.gz", hash = "sha256:df8e4339e9cb77357558cbdbceca33c303714cf861d1eef15e1070055ae8b7ef"}, + {file = "typing_extensions-4.12.2-py3-none-any.whl", hash = "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d"}, + {file = "typing_extensions-4.12.2.tar.gz", hash = "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8"}, ] [[package]] name = "urllib3" -version = "2.2.1" +version = "2.2.3" description = "HTTP library with thread-safe connection pooling, file post, and more." optional = false python-versions = ">=3.8" files = [ - {file = "urllib3-2.2.1-py3-none-any.whl", hash = "sha256:450b20ec296a467077128bff42b73080516e71b56ff59a60a02bef2232c4fa9d"}, - {file = "urllib3-2.2.1.tar.gz", hash = "sha256:d0570876c61ab9e520d776c38acbbb5b05a776d3f9ff98a5c8fd5162a444cf19"}, + {file = "urllib3-2.2.3-py3-none-any.whl", hash = "sha256:ca899ca043dcb1bafa3e262d73aa25c465bfb49e0bd9dd5d59f1d0acba2f8fac"}, + {file = "urllib3-2.2.3.tar.gz", hash = "sha256:e7d814a81dad81e6caf2ec9fdedb284ecc9c73076b62654547cc64ccdcae26e9"}, ] [package.extras] @@ -2204,13 +2321,13 @@ zstd = ["zstandard (>=0.18.0)"] [[package]] name = "uvicorn" -version = "0.23.2" +version = "0.30.6" description = "The lightning-fast ASGI server." optional = false python-versions = ">=3.8" files = [ - {file = "uvicorn-0.23.2-py3-none-any.whl", hash = "sha256:1f9be6558f01239d4fdf22ef8126c39cb1ad0addf76c40e760549d2c2f43ab53"}, - {file = "uvicorn-0.23.2.tar.gz", hash = "sha256:4d3cc12d7727ba72b64d12d3cc7743124074c0a69f7b201512fc50c3e3f1569a"}, + {file = "uvicorn-0.30.6-py3-none-any.whl", hash = "sha256:65fd46fe3fda5bdc1b03b94eb634923ff18cd35b2f084813ea79d1f103f711b5"}, + {file = "uvicorn-0.30.6.tar.gz", hash = "sha256:4b15decdda1e72be08209e860a1e10e92439ad5b97cf44cc945fcbee66fc5788"}, ] [package.dependencies] @@ -2223,57 +2340,57 @@ standard = ["colorama (>=0.4)", "httptools (>=0.5.0)", "python-dotenv (>=0.13)", [[package]] name = "uvloop" -version = "0.17.0" +version = "0.19.0" description = "Fast implementation of asyncio event loop on top of libuv" optional = false -python-versions = ">=3.7" -files = [ - {file = "uvloop-0.17.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:ce9f61938d7155f79d3cb2ffa663147d4a76d16e08f65e2c66b77bd41b356718"}, - {file = "uvloop-0.17.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:68532f4349fd3900b839f588972b3392ee56042e440dd5873dfbbcd2cc67617c"}, - {file = "uvloop-0.17.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0949caf774b9fcefc7c5756bacbbbd3fc4c05a6b7eebc7c7ad6f825b23998d6d"}, - {file = "uvloop-0.17.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ff3d00b70ce95adce264462c930fbaecb29718ba6563db354608f37e49e09024"}, - {file = "uvloop-0.17.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:a5abddb3558d3f0a78949c750644a67be31e47936042d4f6c888dd6f3c95f4aa"}, - {file = "uvloop-0.17.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:8efcadc5a0003d3a6e887ccc1fb44dec25594f117a94e3127954c05cf144d811"}, - {file = "uvloop-0.17.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:3378eb62c63bf336ae2070599e49089005771cc651c8769aaad72d1bd9385a7c"}, - {file = "uvloop-0.17.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6aafa5a78b9e62493539456f8b646f85abc7093dd997f4976bb105537cf2635e"}, - {file = "uvloop-0.17.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c686a47d57ca910a2572fddfe9912819880b8765e2f01dc0dd12a9bf8573e539"}, - {file = "uvloop-0.17.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:864e1197139d651a76c81757db5eb199db8866e13acb0dfe96e6fc5d1cf45fc4"}, - {file = "uvloop-0.17.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:2a6149e1defac0faf505406259561bc14b034cdf1d4711a3ddcdfbaa8d825a05"}, - {file = "uvloop-0.17.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:6708f30db9117f115eadc4f125c2a10c1a50d711461699a0cbfaa45b9a78e376"}, - {file = "uvloop-0.17.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:23609ca361a7fc587031429fa25ad2ed7242941adec948f9d10c045bfecab06b"}, - {file = "uvloop-0.17.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2deae0b0fb00a6af41fe60a675cec079615b01d68beb4cc7b722424406b126a8"}, - {file = "uvloop-0.17.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:45cea33b208971e87a31c17622e4b440cac231766ec11e5d22c76fab3bf9df62"}, - {file = "uvloop-0.17.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:9b09e0f0ac29eee0451d71798878eae5a4e6a91aa275e114037b27f7db72702d"}, - {file = "uvloop-0.17.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:dbbaf9da2ee98ee2531e0c780455f2841e4675ff580ecf93fe5c48fe733b5667"}, - {file = "uvloop-0.17.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:a4aee22ece20958888eedbad20e4dbb03c37533e010fb824161b4f05e641f738"}, - {file = "uvloop-0.17.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:307958f9fc5c8bb01fad752d1345168c0abc5d62c1b72a4a8c6c06f042b45b20"}, - {file = "uvloop-0.17.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3ebeeec6a6641d0adb2ea71dcfb76017602ee2bfd8213e3fcc18d8f699c5104f"}, - {file = "uvloop-0.17.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1436c8673c1563422213ac6907789ecb2b070f5939b9cbff9ef7113f2b531595"}, - {file = "uvloop-0.17.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:8887d675a64cfc59f4ecd34382e5b4f0ef4ae1da37ed665adba0c2badf0d6578"}, - {file = "uvloop-0.17.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:3db8de10ed684995a7f34a001f15b374c230f7655ae840964d51496e2f8a8474"}, - {file = "uvloop-0.17.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7d37dccc7ae63e61f7b96ee2e19c40f153ba6ce730d8ba4d3b4e9738c1dccc1b"}, - {file = "uvloop-0.17.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:cbbe908fda687e39afd6ea2a2f14c2c3e43f2ca88e3a11964b297822358d0e6c"}, - {file = "uvloop-0.17.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3d97672dc709fa4447ab83276f344a165075fd9f366a97b712bdd3fee05efae8"}, - {file = "uvloop-0.17.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f1e507c9ee39c61bfddd79714e4f85900656db1aec4d40c6de55648e85c2799c"}, - {file = "uvloop-0.17.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:c092a2c1e736086d59ac8e41f9c98f26bbf9b9222a76f21af9dfe949b99b2eb9"}, - {file = "uvloop-0.17.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:30babd84706115626ea78ea5dbc7dd8d0d01a2e9f9b306d24ca4ed5796c66ded"}, - {file = "uvloop-0.17.0.tar.gz", hash = "sha256:0ddf6baf9cf11a1a22c71487f39f15b2cf78eb5bde7e5b45fbb99e8a9d91b9e1"}, +python-versions = ">=3.8.0" +files = [ + {file = "uvloop-0.19.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:de4313d7f575474c8f5a12e163f6d89c0a878bc49219641d49e6f1444369a90e"}, + {file = "uvloop-0.19.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:5588bd21cf1fcf06bded085f37e43ce0e00424197e7c10e77afd4bbefffef428"}, + {file = "uvloop-0.19.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7b1fd71c3843327f3bbc3237bedcdb6504fd50368ab3e04d0410e52ec293f5b8"}, + {file = "uvloop-0.19.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5a05128d315e2912791de6088c34136bfcdd0c7cbc1cf85fd6fd1bb321b7c849"}, + {file = "uvloop-0.19.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:cd81bdc2b8219cb4b2556eea39d2e36bfa375a2dd021404f90a62e44efaaf957"}, + {file = "uvloop-0.19.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:5f17766fb6da94135526273080f3455a112f82570b2ee5daa64d682387fe0dcd"}, + {file = "uvloop-0.19.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:4ce6b0af8f2729a02a5d1575feacb2a94fc7b2e983868b009d51c9a9d2149bef"}, + {file = "uvloop-0.19.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:31e672bb38b45abc4f26e273be83b72a0d28d074d5b370fc4dcf4c4eb15417d2"}, + {file = "uvloop-0.19.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:570fc0ed613883d8d30ee40397b79207eedd2624891692471808a95069a007c1"}, + {file = "uvloop-0.19.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5138821e40b0c3e6c9478643b4660bd44372ae1e16a322b8fc07478f92684e24"}, + {file = "uvloop-0.19.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:91ab01c6cd00e39cde50173ba4ec68a1e578fee9279ba64f5221810a9e786533"}, + {file = "uvloop-0.19.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:47bf3e9312f63684efe283f7342afb414eea4d3011542155c7e625cd799c3b12"}, + {file = "uvloop-0.19.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:da8435a3bd498419ee8c13c34b89b5005130a476bda1d6ca8cfdde3de35cd650"}, + {file = "uvloop-0.19.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:02506dc23a5d90e04d4f65c7791e65cf44bd91b37f24cfc3ef6cf2aff05dc7ec"}, + {file = "uvloop-0.19.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2693049be9d36fef81741fddb3f441673ba12a34a704e7b4361efb75cf30befc"}, + {file = "uvloop-0.19.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7010271303961c6f0fe37731004335401eb9075a12680738731e9c92ddd96ad6"}, + {file = "uvloop-0.19.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:5daa304d2161d2918fa9a17d5635099a2f78ae5b5960e742b2fcfbb7aefaa593"}, + {file = "uvloop-0.19.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:7207272c9520203fea9b93843bb775d03e1cf88a80a936ce760f60bb5add92f3"}, + {file = "uvloop-0.19.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:78ab247f0b5671cc887c31d33f9b3abfb88d2614b84e4303f1a63b46c046c8bd"}, + {file = "uvloop-0.19.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:472d61143059c84947aa8bb74eabbace30d577a03a1805b77933d6bd13ddebbd"}, + {file = "uvloop-0.19.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:45bf4c24c19fb8a50902ae37c5de50da81de4922af65baf760f7c0c42e1088be"}, + {file = "uvloop-0.19.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:271718e26b3e17906b28b67314c45d19106112067205119dddbd834c2b7ce797"}, + {file = "uvloop-0.19.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:34175c9fd2a4bc3adc1380e1261f60306344e3407c20a4d684fd5f3be010fa3d"}, + {file = "uvloop-0.19.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:e27f100e1ff17f6feeb1f33968bc185bf8ce41ca557deee9d9bbbffeb72030b7"}, + {file = "uvloop-0.19.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:13dfdf492af0aa0a0edf66807d2b465607d11c4fa48f4a1fd41cbea5b18e8e8b"}, + {file = "uvloop-0.19.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6e3d4e85ac060e2342ff85e90d0c04157acb210b9ce508e784a944f852a40e67"}, + {file = "uvloop-0.19.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8ca4956c9ab567d87d59d49fa3704cf29e37109ad348f2d5223c9bf761a332e7"}, + {file = "uvloop-0.19.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f467a5fd23b4fc43ed86342641f3936a68ded707f4627622fa3f82a120e18256"}, + {file = "uvloop-0.19.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:492e2c32c2af3f971473bc22f086513cedfc66a130756145a931a90c3958cb17"}, + {file = "uvloop-0.19.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:2df95fca285a9f5bfe730e51945ffe2fa71ccbfdde3b0da5772b4ee4f2e770d5"}, + {file = "uvloop-0.19.0.tar.gz", hash = "sha256:0246f4fd1bf2bf702e06b0d45ee91677ee5c31242f39aab4ea6fe0c51aedd0fd"}, ] [package.extras] -dev = ["Cython (>=0.29.32,<0.30.0)", "Sphinx (>=4.1.2,<4.2.0)", "aiohttp", "flake8 (>=3.9.2,<3.10.0)", "mypy (>=0.800)", "psutil", "pyOpenSSL (>=22.0.0,<22.1.0)", "pycodestyle (>=2.7.0,<2.8.0)", "pytest (>=3.6.0)", "sphinx-rtd-theme (>=0.5.2,<0.6.0)", "sphinxcontrib-asyncio (>=0.3.0,<0.4.0)"] docs = ["Sphinx (>=4.1.2,<4.2.0)", "sphinx-rtd-theme (>=0.5.2,<0.6.0)", "sphinxcontrib-asyncio (>=0.3.0,<0.4.0)"] -test = ["Cython (>=0.29.32,<0.30.0)", "aiohttp", "flake8 (>=3.9.2,<3.10.0)", "mypy (>=0.800)", "psutil", "pyOpenSSL (>=22.0.0,<22.1.0)", "pycodestyle (>=2.7.0,<2.8.0)"] +test = ["Cython (>=0.29.36,<0.30.0)", "aiohttp (==3.9.0b0)", "aiohttp (>=3.8.1)", "flake8 (>=5.0,<6.0)", "mypy (>=0.800)", "psutil", "pyOpenSSL (>=23.0.0,<23.1.0)", "pycodestyle (>=2.9.0,<2.10.0)"] [[package]] name = "virtualenv" -version = "20.25.1" +version = "20.27.0" description = "Virtual Python Environment builder" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "virtualenv-20.25.1-py3-none-any.whl", hash = "sha256:961c026ac520bac5f69acb8ea063e8a4f071bcc9457b9c1f28f6b085c511583a"}, - {file = "virtualenv-20.25.1.tar.gz", hash = "sha256:e08e13ecdca7a0bd53798f356d5831434afa5b07b93f0abdf0797b7a06ffe197"}, + {file = "virtualenv-20.27.0-py3-none-any.whl", hash = "sha256:44a72c29cceb0ee08f300b314848c86e57bf8d1f13107a5e671fb9274138d655"}, + {file = "virtualenv-20.27.0.tar.gz", hash = "sha256:2ca56a68ed615b8fe4326d11a0dca5dfbe8fd68510fb6c6349163bed3c15f2b2"}, ] [package.dependencies] @@ -2282,22 +2399,22 @@ filelock = ">=3.12.2,<4" platformdirs = ">=3.9.1,<5" [package.extras] -docs = ["furo (>=2023.7.26)", "proselint (>=0.13)", "sphinx (>=7.1.2)", "sphinx-argparse (>=0.4)", "sphinxcontrib-towncrier (>=0.2.1a0)", "towncrier (>=23.6)"] +docs = ["furo (>=2023.7.26)", "proselint (>=0.13)", "sphinx (>=7.1.2,!=7.3)", "sphinx-argparse (>=0.4)", "sphinxcontrib-towncrier (>=0.2.1a0)", "towncrier (>=23.6)"] test = ["covdefaults (>=2.3)", "coverage (>=7.2.7)", "coverage-enable-subprocess (>=1)", "flaky (>=3.7)", "packaging (>=23.1)", "pytest (>=7.4)", "pytest-env (>=0.8.2)", "pytest-freezer (>=0.4.8)", "pytest-mock (>=3.11.1)", "pytest-randomly (>=3.12)", "pytest-timeout (>=2.1)", "setuptools (>=68)", "time-machine (>=2.10)"] [[package]] name = "websocket-client" -version = "1.6.3" +version = "1.8.0" description = "WebSocket client for Python with low level API options" optional = false python-versions = ">=3.8" files = [ - {file = "websocket-client-1.6.3.tar.gz", hash = "sha256:3aad25d31284266bcfcfd1fd8a743f63282305a364b8d0948a43bd606acc652f"}, - {file = "websocket_client-1.6.3-py3-none-any.whl", hash = "sha256:6cfc30d051ebabb73a5fa246efdcc14c8fbebbd0330f8984ac3bb6d9edd2ad03"}, + {file = "websocket_client-1.8.0-py3-none-any.whl", hash = "sha256:17b44cc997f5c498e809b22cdf2d9c7a9e71c02c8cc2b6c56e7c2d1239bfa526"}, + {file = "websocket_client-1.8.0.tar.gz", hash = "sha256:3239df9f44da632f96012472805d40a23281a991027ce11d2f45a6f24ac4c3da"}, ] [package.extras] -docs = ["Sphinx (>=6.0)", "sphinx-rtd-theme (>=1.1.0)"] +docs = ["Sphinx (>=6.0)", "myst-parser (>=2.0.0)", "sphinx-rtd-theme (>=1.1.0)"] optional = ["python-socks", "wsaccel"] test = ["websockets"] @@ -2475,20 +2592,24 @@ files = [ [[package]] name = "zipp" -version = "3.18.1" +version = "3.20.2" description = "Backport of pathlib-compatible object wrapper for zip files" optional = false python-versions = ">=3.8" files = [ - {file = "zipp-3.18.1-py3-none-any.whl", hash = "sha256:206f5a15f2af3dbaee80769fb7dc6f249695e940acca08dfb2a4769fe61e538b"}, - {file = "zipp-3.18.1.tar.gz", hash = "sha256:2884ed22e7d8961de1c9a05142eb69a247f120291bc0206a00a7642f09b5b715"}, + {file = "zipp-3.20.2-py3-none-any.whl", hash = "sha256:a817ac80d6cf4b23bf7f2828b7cabf326f15a001bea8b1f9b49631780ba28350"}, + {file = "zipp-3.20.2.tar.gz", hash = "sha256:bc9eb26f4506fda01b81bcde0ca78103b6e62f991b381fec825435c836edbc29"}, ] [package.extras] -docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] -testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-ignore-flaky", "pytest-mypy", "pytest-ruff (>=0.2.1)"] +check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)"] +cover = ["pytest-cov"] +doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] +enabler = ["pytest-enabler (>=2.2)"] +test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", "jaraco.test", "more-itertools", "pytest (>=6,!=8.1.*)", "pytest-ignore-flaky"] +type = ["pytest-mypy"] [metadata] lock-version = "2.0" python-versions = "^3.10 | ^3.9" -content-hash = "3094709ec77c4cbb4260ff3787ec4b71229d028f97492ec918b59ac78e5e2a4d" +content-hash = "3c44aa4c67a390622291459f117b591302ed643bf86e0953c9f3b6c31dc3d504" diff --git a/pyproject.toml b/pyproject.toml index 2d002ea..b25aa79 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -6,7 +6,7 @@ authors = ["Alan Bits "] [tool.poetry.dependencies] python = "^3.10 | ^3.9" -lnbits = "*" +lnbits = {version = "*", allow-prereleases = true} [tool.poetry.group.dev.dependencies] black = "^24.3.0" diff --git a/static/js/index.js b/static/js/index.js new file mode 100644 index 0000000..1c7d625 --- /dev/null +++ b/static/js/index.js @@ -0,0 +1,85 @@ +const mapObject = obj => { + // obj.date = Quasar.date.formatDate(new Date(obj.time), 'YYYY-MM-DD HH:mm') + // here you can do something with the mapped data + return obj +} + +window.app = Vue.createApp({ + el: '#vue', + mixins: [windowMixin], + // Declare models/variables + data() { + return { + protocol: window.location.protocol, + location: '//' + window.location.hostname, + thingDialog: { + show: false, + data: {} + }, + someBool: true, + splitterModel: 20, + exampleData: [], + tab: 'frameworks', + framworktab: 'fastapi', + usefultab: 'magicalg', + vettedData: '' + } + }, + // Where functions live + methods: { + exampleFunction(data) { + LNbits.api + .request( + 'GET', // Type of request + '/example/api/v1/test/00000000', // URL of the endpoint + this.g.user.wallets[0].inkey, // Often endpoints require a key + data + ) + .then(response => { + this.exampleData = response.data.map(mapObject) // Often whats returned is mapped onto some model + }) + // Error will be passed to the frontend + .catch(LNbits.utils.notifyApiError) + }, + getVettedReadme() { + // This is a function that gets the vetted readme from the LNbits repo and converts it from makrdown to html. + LNbits.api + .request('GET', '/example/api/v1/vetted', this.g.user.wallets[0].inkey) + .then(response => { + this.vettedData = LNbits.utils.convertMarkdown(response.data) + }) + .catch(LNbits.utils.notifyApiError) + }, + async initWs() { + if (location.protocol !== 'http:') { + localUrl = + 'wss://' + + document.domain + + ':' + + location.port + + '/api/v1/ws/32872r23g29' + } else { + localUrl = + 'ws://' + + document.domain + + ':' + + location.port + + '/api/v1/ws/32872r23g29' + } + this.ws = new WebSocket(localUrl) + this.ws.addEventListener('message', async ({data}) => { + const res = data.toString() + document.getElementById('text-to-change').innerHTML = res + }) + }, + sendThingDialog() { + console.log(this.thingDialog) + } + }, + // To run on startup + created() { + this.exampleFunction('lorum') + this.initWs() + this.getVettedReadme() + } +}) diff --git a/tasks.py b/tasks.py index 8d92ab3..8440644 100644 --- a/tasks.py +++ b/tasks.py @@ -11,7 +11,7 @@ async def wait_for_paid_invoices(): invoice_queue = asyncio.Queue() - register_invoice_listener(invoice_queue, "example") + register_invoice_listener(invoice_queue, "ext_example") while True: payment = await invoice_queue.get() @@ -19,7 +19,7 @@ async def wait_for_paid_invoices(): async def on_invoice_paid(payment: Payment) -> None: - if ( - payment.extra.get("tag") == "example" - ): # Will grab any payment with the tag "example" + # Will grab any payment with the tag "example" + if payment.extra.get("tag") == "example": + logger.info("example extension received payment") logger.debug(payment) diff --git a/templates/example/index.html b/templates/example/index.html index 7aa383b..b0997a9 100644 --- a/templates/example/index.html +++ b/templates/example/index.html @@ -1,6 +1,8 @@ {% extends "base.html" %} {% from "macros.jinja" import window_vars with context -%} {% block page %} - +%} {% block scripts %} {{ window_vars(user) }} + + +{% endblock %} {% block page %} @@ -371,105 +373,4 @@ -{% endblock %} {% block scripts %} {{ window_vars(user) }} - - - {% endblock %} diff --git a/views.py b/views.py index bd9298c..8a2844f 100644 --- a/views.py +++ b/views.py @@ -15,5 +15,5 @@ async def index( user: User = Depends(check_user_exists), ): return template_renderer(["example/templates"]).TemplateResponse( - request, "example/index.html", {"user": user.dict()} + request, "example/index.html", {"user": user.json()} ) diff --git a/views_api.py b/views_api.py index 27d0d03..22ac107 100644 --- a/views_api.py +++ b/views_api.py @@ -1,9 +1,8 @@ from http import HTTPStatus import httpx -from fastapi import APIRouter, Depends -from fastapi.exceptions import HTTPException -from lnbits.decorators import WalletTypeInfo, get_key_type +from fastapi import APIRouter, Depends, HTTPException +from lnbits.decorators import require_invoice_key from .models import Example @@ -16,20 +15,24 @@ @example_ext_api.get("/test/{example_data}", description="Example API endpoint") -async def api_example(example_data: str) -> Example: - # Do some python things and return the data - return Example(id="2", wallet=example_data) - - -@example_ext_api.get("/vetted", description="Get the vetted extension readme") -async def api_get_vetted(wallet: WalletTypeInfo = Depends(get_key_type)): - try: - async with httpx.AsyncClient() as client: - resp = await client.get( - "https://raw.githubusercontent.com/lnbits/lnbits-extensions/main/README.md" - ) - return resp.text - except Exception as e: +async def api_example(example_data: str) -> list[Example]: + if example_data != "00000000": raise HTTPException( - status_code=HTTPStatus.INTERNAL_SERVER_ERROR, detail=str(e) - ) from e + status_code=HTTPStatus.BAD_REQUEST, + detail="Invalid example data", + ) + # Do some python things and return the data + return [Example(id="1", wallet=example_data), Example(id="2", wallet=example_data)] + + +@example_ext_api.get( + "/vetted", + description="Get the vetted extension readme", + dependencies=[Depends(require_invoice_key)], +) +async def api_get_vetted(): + async with httpx.AsyncClient() as client: + resp = await client.get( + "https://raw.githubusercontent.com/lnbits/lnbits-extensions/main/README.md" + ) + return resp.text From 6f4d31ceaf72ed0c63f4b3871778b178521a92ae Mon Sep 17 00:00:00 2001 From: Vlad Stan Date: Wed, 13 Nov 2024 10:43:15 +0200 Subject: [PATCH 12/18] feat: return `v1` data --- templates/example/index.html | 2 +- views_api.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/templates/example/index.html b/templates/example/index.html index b0997a9..76aa13f 100644 --- a/templates/example/index.html +++ b/templates/example/index.html @@ -1,7 +1,7 @@ {% extends "base.html" %} {% from "macros.jinja" import window_vars with context %} {% block scripts %} {{ window_vars(user) }} - + {% endblock %} {% block page %} diff --git a/views_api.py b/views_api.py index 22ac107..d90ca72 100644 --- a/views_api.py +++ b/views_api.py @@ -15,14 +15,14 @@ @example_ext_api.get("/test/{example_data}", description="Example API endpoint") -async def api_example(example_data: str) -> list[Example]: +async def api_example(example_data: str) -> Example: if example_data != "00000000": raise HTTPException( status_code=HTTPStatus.BAD_REQUEST, detail="Invalid example data", ) # Do some python things and return the data - return [Example(id="1", wallet=example_data), Example(id="2", wallet=example_data)] + return Example(id="1", wallet=example_data) @example_ext_api.get( From 61b0d2d616e455ce336565904e9b3ae1097bee99 Mon Sep 17 00:00:00 2001 From: Vlad Stan Date: Wed, 13 Nov 2024 10:44:02 +0200 Subject: [PATCH 13/18] feat: return `v2` data --- templates/example/index.html | 2 +- views_api.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/templates/example/index.html b/templates/example/index.html index 76aa13f..b0997a9 100644 --- a/templates/example/index.html +++ b/templates/example/index.html @@ -1,7 +1,7 @@ {% extends "base.html" %} {% from "macros.jinja" import window_vars with context %} {% block scripts %} {{ window_vars(user) }} - + {% endblock %} {% block page %} diff --git a/views_api.py b/views_api.py index d90ca72..6669ee6 100644 --- a/views_api.py +++ b/views_api.py @@ -22,7 +22,7 @@ async def api_example(example_data: str) -> Example: detail="Invalid example data", ) # Do some python things and return the data - return Example(id="1", wallet=example_data) + return Example(id="2", wallet=example_data) @example_ext_api.get( From 7f7f4fb3448c07a3a44ebf402b62f33dcab1e635 Mon Sep 17 00:00:00 2001 From: arcbtc Date: Mon, 10 Feb 2025 22:31:35 +0000 Subject: [PATCH 14/18] fixed --- __init__.py | 17 +- crud.py | 16 ++ models.py | 4 + static/js/index.js | 5 +- templates/example/index.html | 488 +++++++++++++++++------------------ views_api.py | 11 +- 6 files changed, 283 insertions(+), 258 deletions(-) diff --git a/__init__.py b/__init__.py index 5aba793..039132c 100644 --- a/__init__.py +++ b/__init__.py @@ -1,17 +1,13 @@ import asyncio from fastapi import APIRouter -from lnbits.db import Database from loguru import logger +from .crud import db from .tasks import wait_for_paid_invoices from .views import example_ext_generic from .views_api import example_ext_api -db = Database("ext_example") - -scheduled_tasks: list[asyncio.Task] = [] - example_ext: APIRouter = APIRouter(prefix="/example", tags=["example"]) example_ext.include_router(example_ext_generic) example_ext.include_router(example_ext_api) @@ -23,6 +19,8 @@ } ] +scheduled_tasks: list[asyncio.Task] = [] + def example_stop(): for task in scheduled_tasks: @@ -37,3 +35,12 @@ def example_start(): task = create_permanent_unique_task("ext_testing", wait_for_paid_invoices) scheduled_tasks.append(task) + + +__all__ = [ + "db", + "example_ext", + "example_static_files", + "example_start", + "example_stop", +] diff --git a/crud.py b/crud.py index 8e5508f..608db57 100644 --- a/crud.py +++ b/crud.py @@ -1,5 +1,21 @@ # crud.py is for communication with your extensions database # add your dependencies here +# from .models import createExample, Example +from lnbits.db import Database + +db = Database("ext_example") # add your fnctions here + +# async def create_a_record(data: Example) -> createExample: +# example_id = urlsafe_short_hash() +# example = Example(id=example_id, **data.dict()) +# await db.insert("example.example", example) +# return example + + +# async def get_a_record(example_id: str) -> Optional[Example]: +# return await db.fetchone( +# "SELECT * FROM example.example WHERE id = :id", {"id": example_id}, Example +# ) diff --git a/models.py b/models.py index 9d29fd7..a9e665b 100644 --- a/models.py +++ b/models.py @@ -4,3 +4,7 @@ class Example(BaseModel): id: str wallet: str + + +class CreateExample(BaseModel): + wallet: str diff --git a/static/js/index.js b/static/js/index.js index 1c7d625..a6ca6d2 100644 --- a/static/js/index.js +++ b/static/js/index.js @@ -22,7 +22,8 @@ window.app = Vue.createApp({ tab: 'frameworks', framworktab: 'fastapi', usefultab: 'magicalg', - vettedData: '' + vettedData: '', + baseUrl: window.location.origin } }, // Where functions live @@ -36,7 +37,7 @@ window.app = Vue.createApp({ data ) .then(response => { - this.exampleData = response.data.map(mapObject) // Often whats returned is mapped onto some model + this.exampleData.push(mapObject(response.data)) // Often whats returned is mapped onto some model }) // Error will be passed to the frontend .catch(LNbits.utils.notifyApiError) diff --git a/templates/example/index.html b/templates/example/index.html index b0997a9..93f1633 100644 --- a/templates/example/index.html +++ b/templates/example/index.html @@ -76,9 +76,13 @@ > - - - + + + @@ -87,279 +91,275 @@
Frameworks
-
- + + + FASTAPI + + QUASAR + + VUE-JS + - -
+

+ Content can be conditionally rendered using Vue's + v-if: +

+ +
+
Useful Tools
- - - + {% endraw %} +
- +
Good Practice
Coming soon...
- +
Dev Enviroment
Coming soon...
- + + +
Useful links
+ + + + + + + LNbits GitHub Repository + + Includes the LNbits repo and other useful repositories like + lnbits-extensions for submitting extensions + and many LNbits-related projects. + + + + + + + + + + LNbits YouTube Channel + + Features useful tutorials and updates, including how to build + your own extension. + + + + + + + + + + Makerbits YouTube Channel + + Offers great hardware tutorials for projects that integrate + with LNbits. + + + + +
Good Practice
From 866a1b97a36732a3badad2beff692f5fa174c00a Mon Sep 17 00:00:00 2001 From: arcbtc Date: Thu, 13 Feb 2025 02:47:32 +0000 Subject: [PATCH 16/18] tile update --- config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.json b/config.json index d88f035..7c60240 100644 --- a/config.json +++ b/config.json @@ -1,7 +1,7 @@ { "name": "Build your own!", "short_description": "Extension building guide", - "tile": "https://raw.githubusercontent.com/lnbits/example/main/static/bitcoin-extension.png", + "tile": "/example/main/static/bitcoin-extension.png", "min_lnbits_version": "1.0.0", "donate": "donate@legend.lnbits.com", "contributors": [ From e595c574d6d0721170de165a8559f120900ccf19 Mon Sep 17 00:00:00 2001 From: arcbtc Date: Sat, 15 Feb 2025 15:46:55 +0000 Subject: [PATCH 17/18] Tile tweak --- config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.json b/config.json index 7c60240..ee20315 100644 --- a/config.json +++ b/config.json @@ -1,7 +1,7 @@ { "name": "Build your own!", "short_description": "Extension building guide", - "tile": "/example/main/static/bitcoin-extension.png", + "tile": "/example/static/bitcoin-extension.png", "min_lnbits_version": "1.0.0", "donate": "donate@legend.lnbits.com", "contributors": [ From d61e26c3b6471345e96f243ae6b995d29260c65c Mon Sep 17 00:00:00 2001 From: Tiago Vasconcelos Date: Mon, 25 Aug 2025 14:33:13 +0100 Subject: [PATCH 18/18] update to uv (#16) --- .github/workflows/release.yml | 2 +- Makefile | 24 +- __init__.py | 2 +- poetry.lock | 2615 --------------------------------- pyproject.toml | 49 +- uv.lock | 2200 +++++++++++++++++++++++++++ 6 files changed, 2246 insertions(+), 2646 deletions(-) delete mode 100644 poetry.lock create mode 100644 uv.lock diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 27c8a60..35da9bc 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -19,7 +19,7 @@ jobs: needs: [release] runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: token: ${{ secrets.EXT_GITHUB }} repository: lnbits/lnbits-extensions diff --git a/Makefile b/Makefile index 9a08146..0fac253 100644 --- a/Makefile +++ b/Makefile @@ -5,27 +5,27 @@ format: prettier black ruff check: mypy pyright checkblack checkruff checkprettier prettier: - poetry run ./node_modules/.bin/prettier --write . + uv run ./node_modules/.bin/prettier --write . pyright: - poetry run ./node_modules/.bin/pyright + uv run ./node_modules/.bin/pyright mypy: - poetry run mypy . + uv run mypy . black: - poetry run black . + uv run black . ruff: - poetry run ruff check . --fix + uv run ruff check . --fix checkruff: - poetry run ruff check . + uv run ruff check . checkprettier: - poetry run ./node_modules/.bin/prettier --check . + uv run ./node_modules/.bin/prettier --check . checkblack: - poetry run black --check . + uv run black --check . checkeditorconfig: editorconfig-checker @@ -33,14 +33,14 @@ checkeditorconfig: test: PYTHONUNBUFFERED=1 \ DEBUG=true \ - poetry run pytest + uv run pytest install-pre-commit-hook: @echo "Installing pre-commit hook to git" - @echo "Uninstall the hook with poetry run pre-commit uninstall" - poetry run pre-commit install + @echo "Uninstall the hook with uv run pre-commit uninstall" + uv run pre-commit install pre-commit: - poetry run pre-commit run --all-files + uv run pre-commit run --all-files checkbundle: diff --git a/__init__.py b/__init__.py index 039132c..353d3b4 100644 --- a/__init__.py +++ b/__init__.py @@ -40,7 +40,7 @@ def example_start(): __all__ = [ "db", "example_ext", - "example_static_files", "example_start", + "example_static_files", "example_stop", ] diff --git a/poetry.lock b/poetry.lock deleted file mode 100644 index 847d128..0000000 --- a/poetry.lock +++ /dev/null @@ -1,2615 +0,0 @@ -# This file is automatically @generated by Poetry 1.8.3 and should not be changed by hand. - -[[package]] -name = "aiosqlite" -version = "0.20.0" -description = "asyncio bridge to the standard sqlite3 module" -optional = false -python-versions = ">=3.8" -files = [ - {file = "aiosqlite-0.20.0-py3-none-any.whl", hash = "sha256:36a1deaca0cac40ebe32aac9977a6e2bbc7f5189f23f4a54d5908986729e5bd6"}, - {file = "aiosqlite-0.20.0.tar.gz", hash = "sha256:6d35c8c256637f4672f843c31021464090805bf925385ac39473fb16eaaca3d7"}, -] - -[package.dependencies] -typing_extensions = ">=4.0" - -[package.extras] -dev = ["attribution (==1.7.0)", "black (==24.2.0)", "coverage[toml] (==7.4.1)", "flake8 (==7.0.0)", "flake8-bugbear (==24.2.6)", "flit (==3.9.0)", "mypy (==1.8.0)", "ufmt (==2.3.0)", "usort (==1.0.8.post1)"] -docs = ["sphinx (==7.2.6)", "sphinx-mdinclude (==0.5.3)"] - -[[package]] -name = "anyio" -version = "4.6.2.post1" -description = "High level compatibility layer for multiple asynchronous event loop implementations" -optional = false -python-versions = ">=3.9" -files = [ - {file = "anyio-4.6.2.post1-py3-none-any.whl", hash = "sha256:6d170c36fba3bdd840c73d3868c1e777e33676a69c3a72cf0a0d5d6d8009b61d"}, - {file = "anyio-4.6.2.post1.tar.gz", hash = "sha256:4c8bc31ccdb51c7f7bd251f51c609e038d63e34219b44aa86e47576389880b4c"}, -] - -[package.dependencies] -exceptiongroup = {version = ">=1.0.2", markers = "python_version < \"3.11\""} -idna = ">=2.8" -sniffio = ">=1.1" -typing-extensions = {version = ">=4.1", markers = "python_version < \"3.11\""} - -[package.extras] -doc = ["Sphinx (>=7.4,<8.0)", "packaging", "sphinx-autodoc-typehints (>=1.2.0)", "sphinx-rtd-theme"] -test = ["anyio[trio]", "coverage[toml] (>=7)", "exceptiongroup (>=1.2.0)", "hypothesis (>=4.0)", "psutil (>=5.9)", "pytest (>=7.0)", "pytest-mock (>=3.6.1)", "trustme", "truststore (>=0.9.1)", "uvloop (>=0.21.0b1)"] -trio = ["trio (>=0.26.1)"] - -[[package]] -name = "asn1crypto" -version = "1.5.1" -description = "Fast ASN.1 parser and serializer with definitions for private keys, public keys, certificates, CRL, OCSP, CMS, PKCS#3, PKCS#7, PKCS#8, PKCS#12, PKCS#5, X.509 and TSP" -optional = false -python-versions = "*" -files = [ - {file = "asn1crypto-1.5.1-py2.py3-none-any.whl", hash = "sha256:db4e40728b728508912cbb3d44f19ce188f218e9eba635821bb4b68564f8fd67"}, - {file = "asn1crypto-1.5.1.tar.gz", hash = "sha256:13ae38502be632115abf8a24cbe5f4da52e3b5231990aff31123c805306ccb9c"}, -] - -[[package]] -name = "async-timeout" -version = "4.0.3" -description = "Timeout context manager for asyncio programs" -optional = false -python-versions = ">=3.7" -files = [ - {file = "async-timeout-4.0.3.tar.gz", hash = "sha256:4640d96be84d82d02ed59ea2b7105a0f7b33abe8703703cd0ab0bf87c427522f"}, - {file = "async_timeout-4.0.3-py3-none-any.whl", hash = "sha256:7405140ff1230c310e51dc27b3145b9092d659ce68ff733fb0cefe3ee42be028"}, -] - -[[package]] -name = "asyncpg" -version = "0.29.0" -description = "An asyncio PostgreSQL driver" -optional = false -python-versions = ">=3.8.0" -files = [ - {file = "asyncpg-0.29.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:72fd0ef9f00aeed37179c62282a3d14262dbbafb74ec0ba16e1b1864d8a12169"}, - {file = "asyncpg-0.29.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:52e8f8f9ff6e21f9b39ca9f8e3e33a5fcdceaf5667a8c5c32bee158e313be385"}, - {file = "asyncpg-0.29.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a9e6823a7012be8b68301342ba33b4740e5a166f6bbda0aee32bc01638491a22"}, - {file = "asyncpg-0.29.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:746e80d83ad5d5464cfbf94315eb6744222ab00aa4e522b704322fb182b83610"}, - {file = "asyncpg-0.29.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:ff8e8109cd6a46ff852a5e6bab8b0a047d7ea42fcb7ca5ae6eaae97d8eacf397"}, - {file = "asyncpg-0.29.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:97eb024685b1d7e72b1972863de527c11ff87960837919dac6e34754768098eb"}, - {file = "asyncpg-0.29.0-cp310-cp310-win32.whl", hash = "sha256:5bbb7f2cafd8d1fa3e65431833de2642f4b2124be61a449fa064e1a08d27e449"}, - {file = "asyncpg-0.29.0-cp310-cp310-win_amd64.whl", hash = "sha256:76c3ac6530904838a4b650b2880f8e7af938ee049e769ec2fba7cd66469d7772"}, - {file = "asyncpg-0.29.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:d4900ee08e85af01adb207519bb4e14b1cae8fd21e0ccf80fac6aa60b6da37b4"}, - {file = "asyncpg-0.29.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a65c1dcd820d5aea7c7d82a3fdcb70e096f8f70d1a8bf93eb458e49bfad036ac"}, - {file = "asyncpg-0.29.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5b52e46f165585fd6af4863f268566668407c76b2c72d366bb8b522fa66f1870"}, - {file = "asyncpg-0.29.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dc600ee8ef3dd38b8d67421359779f8ccec30b463e7aec7ed481c8346decf99f"}, - {file = "asyncpg-0.29.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:039a261af4f38f949095e1e780bae84a25ffe3e370175193174eb08d3cecab23"}, - {file = "asyncpg-0.29.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:6feaf2d8f9138d190e5ec4390c1715c3e87b37715cd69b2c3dfca616134efd2b"}, - {file = "asyncpg-0.29.0-cp311-cp311-win32.whl", hash = "sha256:1e186427c88225ef730555f5fdda6c1812daa884064bfe6bc462fd3a71c4b675"}, - {file = "asyncpg-0.29.0-cp311-cp311-win_amd64.whl", hash = "sha256:cfe73ffae35f518cfd6e4e5f5abb2618ceb5ef02a2365ce64f132601000587d3"}, - {file = "asyncpg-0.29.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:6011b0dc29886ab424dc042bf9eeb507670a3b40aece3439944006aafe023178"}, - {file = "asyncpg-0.29.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b544ffc66b039d5ec5a7454667f855f7fec08e0dfaf5a5490dfafbb7abbd2cfb"}, - {file = "asyncpg-0.29.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d84156d5fb530b06c493f9e7635aa18f518fa1d1395ef240d211cb563c4e2364"}, - {file = "asyncpg-0.29.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:54858bc25b49d1114178d65a88e48ad50cb2b6f3e475caa0f0c092d5f527c106"}, - {file = "asyncpg-0.29.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:bde17a1861cf10d5afce80a36fca736a86769ab3579532c03e45f83ba8a09c59"}, - {file = "asyncpg-0.29.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:37a2ec1b9ff88d8773d3eb6d3784dc7e3fee7756a5317b67f923172a4748a175"}, - {file = "asyncpg-0.29.0-cp312-cp312-win32.whl", hash = "sha256:bb1292d9fad43112a85e98ecdc2e051602bce97c199920586be83254d9dafc02"}, - {file = "asyncpg-0.29.0-cp312-cp312-win_amd64.whl", hash = "sha256:2245be8ec5047a605e0b454c894e54bf2ec787ac04b1cb7e0d3c67aa1e32f0fe"}, - {file = "asyncpg-0.29.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0009a300cae37b8c525e5b449233d59cd9868fd35431abc470a3e364d2b85cb9"}, - {file = "asyncpg-0.29.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:5cad1324dbb33f3ca0cd2074d5114354ed3be2b94d48ddfd88af75ebda7c43cc"}, - {file = "asyncpg-0.29.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:012d01df61e009015944ac7543d6ee30c2dc1eb2f6b10b62a3f598beb6531548"}, - {file = "asyncpg-0.29.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:000c996c53c04770798053e1730d34e30cb645ad95a63265aec82da9093d88e7"}, - {file = "asyncpg-0.29.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:e0bfe9c4d3429706cf70d3249089de14d6a01192d617e9093a8e941fea8ee775"}, - {file = "asyncpg-0.29.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:642a36eb41b6313ffa328e8a5c5c2b5bea6ee138546c9c3cf1bffaad8ee36dd9"}, - {file = "asyncpg-0.29.0-cp38-cp38-win32.whl", hash = "sha256:a921372bbd0aa3a5822dd0409da61b4cd50df89ae85150149f8c119f23e8c408"}, - {file = "asyncpg-0.29.0-cp38-cp38-win_amd64.whl", hash = "sha256:103aad2b92d1506700cbf51cd8bb5441e7e72e87a7b3a2ca4e32c840f051a6a3"}, - {file = "asyncpg-0.29.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5340dd515d7e52f4c11ada32171d87c05570479dc01dc66d03ee3e150fb695da"}, - {file = "asyncpg-0.29.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e17b52c6cf83e170d3d865571ba574577ab8e533e7361a2b8ce6157d02c665d3"}, - {file = "asyncpg-0.29.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f100d23f273555f4b19b74a96840aa27b85e99ba4b1f18d4ebff0734e78dc090"}, - {file = "asyncpg-0.29.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:48e7c58b516057126b363cec8ca02b804644fd012ef8e6c7e23386b7d5e6ce83"}, - {file = "asyncpg-0.29.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:f9ea3f24eb4c49a615573724d88a48bd1b7821c890c2effe04f05382ed9e8810"}, - {file = "asyncpg-0.29.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8d36c7f14a22ec9e928f15f92a48207546ffe68bc412f3be718eedccdf10dc5c"}, - {file = "asyncpg-0.29.0-cp39-cp39-win32.whl", hash = "sha256:797ab8123ebaed304a1fad4d7576d5376c3a006a4100380fb9d517f0b59c1ab2"}, - {file = "asyncpg-0.29.0-cp39-cp39-win_amd64.whl", hash = "sha256:cce08a178858b426ae1aa8409b5cc171def45d4293626e7aa6510696d46decd8"}, - {file = "asyncpg-0.29.0.tar.gz", hash = "sha256:d1c49e1f44fffafd9a55e1a9b101590859d881d639ea2922516f5d9c512d354e"}, -] - -[package.dependencies] -async-timeout = {version = ">=4.0.3", markers = "python_version < \"3.12.0\""} - -[package.extras] -docs = ["Sphinx (>=5.3.0,<5.4.0)", "sphinx-rtd-theme (>=1.2.2)", "sphinxcontrib-asyncio (>=0.3.0,<0.4.0)"] -test = ["flake8 (>=6.1,<7.0)", "uvloop (>=0.15.3)"] - -[[package]] -name = "base58" -version = "2.1.1" -description = "Base58 and Base58Check implementation." -optional = false -python-versions = ">=3.5" -files = [ - {file = "base58-2.1.1-py3-none-any.whl", hash = "sha256:11a36f4d3ce51dfc1043f3218591ac4eb1ceb172919cebe05b52a5bcc8d245c2"}, - {file = "base58-2.1.1.tar.gz", hash = "sha256:c5d0cb3f5b6e81e8e35da5754388ddcc6d0d14b6c6a132cb93d69ed580a7278c"}, -] - -[package.extras] -tests = ["PyHamcrest (>=2.0.2)", "mypy", "pytest (>=4.6)", "pytest-benchmark", "pytest-cov", "pytest-flake8"] - -[[package]] -name = "bcrypt" -version = "4.2.0" -description = "Modern password hashing for your software and your servers" -optional = false -python-versions = ">=3.7" -files = [ - {file = "bcrypt-4.2.0-cp37-abi3-macosx_10_12_universal2.whl", hash = "sha256:096a15d26ed6ce37a14c1ac1e48119660f21b24cba457f160a4b830f3fe6b5cb"}, - {file = "bcrypt-4.2.0-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c02d944ca89d9b1922ceb8a46460dd17df1ba37ab66feac4870f6862a1533c00"}, - {file = "bcrypt-4.2.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1d84cf6d877918620b687b8fd1bf7781d11e8a0998f576c7aa939776b512b98d"}, - {file = "bcrypt-4.2.0-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:1bb429fedbe0249465cdd85a58e8376f31bb315e484f16e68ca4c786dcc04291"}, - {file = "bcrypt-4.2.0-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:655ea221910bcac76ea08aaa76df427ef8625f92e55a8ee44fbf7753dbabb328"}, - {file = "bcrypt-4.2.0-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:1ee38e858bf5d0287c39b7a1fc59eec64bbf880c7d504d3a06a96c16e14058e7"}, - {file = "bcrypt-4.2.0-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:0da52759f7f30e83f1e30a888d9163a81353ef224d82dc58eb5bb52efcabc399"}, - {file = "bcrypt-4.2.0-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:3698393a1b1f1fd5714524193849d0c6d524d33523acca37cd28f02899285060"}, - {file = "bcrypt-4.2.0-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:762a2c5fb35f89606a9fde5e51392dad0cd1ab7ae64149a8b935fe8d79dd5ed7"}, - {file = "bcrypt-4.2.0-cp37-abi3-win32.whl", hash = "sha256:5a1e8aa9b28ae28020a3ac4b053117fb51c57a010b9f969603ed885f23841458"}, - {file = "bcrypt-4.2.0-cp37-abi3-win_amd64.whl", hash = "sha256:8f6ede91359e5df88d1f5c1ef47428a4420136f3ce97763e31b86dd8280fbdf5"}, - {file = "bcrypt-4.2.0-cp39-abi3-macosx_10_12_universal2.whl", hash = "sha256:c52aac18ea1f4a4f65963ea4f9530c306b56ccd0c6f8c8da0c06976e34a6e841"}, - {file = "bcrypt-4.2.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3bbbfb2734f0e4f37c5136130405332640a1e46e6b23e000eeff2ba8d005da68"}, - {file = "bcrypt-4.2.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3413bd60460f76097ee2e0a493ccebe4a7601918219c02f503984f0a7ee0aebe"}, - {file = "bcrypt-4.2.0-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:8d7bb9c42801035e61c109c345a28ed7e84426ae4865511eb82e913df18f58c2"}, - {file = "bcrypt-4.2.0-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:3d3a6d28cb2305b43feac298774b997e372e56c7c7afd90a12b3dc49b189151c"}, - {file = "bcrypt-4.2.0-cp39-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:9c1c4ad86351339c5f320ca372dfba6cb6beb25e8efc659bedd918d921956bae"}, - {file = "bcrypt-4.2.0-cp39-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:27fe0f57bb5573104b5a6de5e4153c60814c711b29364c10a75a54bb6d7ff48d"}, - {file = "bcrypt-4.2.0-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:8ac68872c82f1add6a20bd489870c71b00ebacd2e9134a8aa3f98a0052ab4b0e"}, - {file = "bcrypt-4.2.0-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:cb2a8ec2bc07d3553ccebf0746bbf3d19426d1c6d1adbd4fa48925f66af7b9e8"}, - {file = "bcrypt-4.2.0-cp39-abi3-win32.whl", hash = "sha256:77800b7147c9dc905db1cba26abe31e504d8247ac73580b4aa179f98e6608f34"}, - {file = "bcrypt-4.2.0-cp39-abi3-win_amd64.whl", hash = "sha256:61ed14326ee023917ecd093ee6ef422a72f3aec6f07e21ea5f10622b735538a9"}, - {file = "bcrypt-4.2.0-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:39e1d30c7233cfc54f5c3f2c825156fe044efdd3e0b9d309512cc514a263ec2a"}, - {file = "bcrypt-4.2.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:f4f4acf526fcd1c34e7ce851147deedd4e26e6402369304220250598b26448db"}, - {file = "bcrypt-4.2.0-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:1ff39b78a52cf03fdf902635e4c81e544714861ba3f0efc56558979dd4f09170"}, - {file = "bcrypt-4.2.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:373db9abe198e8e2c70d12b479464e0d5092cc122b20ec504097b5f2297ed184"}, - {file = "bcrypt-4.2.0.tar.gz", hash = "sha256:cf69eaf5185fd58f268f805b505ce31f9b9fc2d64b376642164e9244540c1221"}, -] - -[package.extras] -tests = ["pytest (>=3.2.1,!=3.3.0)"] -typecheck = ["mypy"] - -[[package]] -name = "bech32" -version = "1.2.0" -description = "Reference implementation for Bech32 and segwit addresses." -optional = false -python-versions = ">=3.5" -files = [ - {file = "bech32-1.2.0-py3-none-any.whl", hash = "sha256:990dc8e5a5e4feabbdf55207b5315fdd9b73db40be294a19b3752cde9e79d981"}, - {file = "bech32-1.2.0.tar.gz", hash = "sha256:7d6db8214603bd7871fcfa6c0826ef68b85b0abd90fa21c285a9c5e21d2bd899"}, -] - -[[package]] -name = "bitarray" -version = "2.9.3" -description = "efficient arrays of booleans -- C extension" -optional = false -python-versions = "*" -files = [ - {file = "bitarray-2.9.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:2cf5f5400636c7dda797fd681795ce63932458620fe8c40955890380acba9f62"}, - {file = "bitarray-2.9.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:3487b4718ffa5942fab777835ee36085f8dda7ec4bd0b28433efb117f84852b6"}, - {file = "bitarray-2.9.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:10f44b1e4994035408bea54d7bf0aec79744cad709706bedf28091a48bb7f1a4"}, - {file = "bitarray-2.9.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cb5c16f97c65add6535748a9c98c70e7ca79759c38a2eb990127fef72f76111a"}, - {file = "bitarray-2.9.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:13dbfc42971ba84e9c4ba070f720df6570285a3f89187f07ef422efcb611c19f"}, - {file = "bitarray-2.9.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1c28076acfbe7f9a5494d7ae98094a6e209c390c340938845f294818ebf5e4d3"}, - {file = "bitarray-2.9.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4b7cdd21835936d9a66477836ca23b2cb63295142cb9d9158883e2c0f1f8f6bd"}, - {file = "bitarray-2.9.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9f60887ab3a46e507fa6f8544d8d4b0748da48718591dfe3fe80c62bdea60f10"}, - {file = "bitarray-2.9.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:f75e1abd4a37cba3002521d3f5e2b50ef4f4a74342207cad3f52468411d5d8ba"}, - {file = "bitarray-2.9.3-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:dc63da9695383c048b83f5ab77eab35a55bbb2e77c7b6e762eba219929b45b84"}, - {file = "bitarray-2.9.3-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:6fe5a57b859d9bc9c2fd27c78c4b7b83158faf984202de6fb44618caeebfff10"}, - {file = "bitarray-2.9.3-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:1fe5a37bd9441a5ecc2f6e71b43df7176fa376a542ef97484310b8b46a45649a"}, - {file = "bitarray-2.9.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:8a16e42c169ca818d6a15b5dd5acd5d2a26af0fa0588e1036e0e58d01f8387d4"}, - {file = "bitarray-2.9.3-cp310-cp310-win32.whl", hash = "sha256:5e6b5e7940af3474ffaa930cd1ce8215181cbe864d6b5ddb67a15d3c15e935cd"}, - {file = "bitarray-2.9.3-cp310-cp310-win_amd64.whl", hash = "sha256:c63dbb99ef2ab1281871678624f9c9a5f1682b826e668ce559275ec488b3fa8b"}, - {file = "bitarray-2.9.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:49fb93b488d180f5c84b79fe687c585a84bf0295ff035d63e09ee24ce1da0558"}, - {file = "bitarray-2.9.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c2944fb83bbc2aa7f29a713bc4f8c1318e54fa0d06a72bedd350a3fb4a4b91d8"}, - {file = "bitarray-2.9.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3612d9d3788dc62f1922c917b1539f1cdf02cecc9faef8ae213a8b36093136ca"}, - {file = "bitarray-2.9.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:90a9300cdb7c99b1e692bb790cba8acecee1a345a83e58e28c94a0d87c522237"}, - {file = "bitarray-2.9.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1211ed66acbbb221fd7554abf4206a384d79e6192d5cb95325c5c361bbb52a74"}, - {file = "bitarray-2.9.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:67757279386accf93eba76b8f97b5acf1664a3e350cbea5f300f53490f8764fd"}, - {file = "bitarray-2.9.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:64e19c6a99c32f460c2613f797f77aa37d8e298891d00ea5355158cce80e11ec"}, - {file = "bitarray-2.9.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:72734bd3775f43c5a75385730abb9f84fee6c627eb14f579de4be478f1615c8c"}, - {file = "bitarray-2.9.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:a92703471b5d3316c7481bc1852f620f42f7a1b62be27f39d13694827635786f"}, - {file = "bitarray-2.9.3-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:d5d77c81300ca430d4b195ccfbb629d6858258f541b6e96c6b11ec1563cd2681"}, - {file = "bitarray-2.9.3-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:3ba8a29c0d091c952ced1607ce715f5e0524899f24333a493807d00f5938463d"}, - {file = "bitarray-2.9.3-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:418171d035b191dbe5e86cd2bfb5c3e1ae7d947edc22857a897d1c7251674ae5"}, - {file = "bitarray-2.9.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:1e0bd272eba256183be2a17488f9cb096d2e6d3435ecf2e28c1e0857c6d20749"}, - {file = "bitarray-2.9.3-cp311-cp311-win32.whl", hash = "sha256:cc3fd2b0637a619cf13e122bbcf4729ae214d5f25623675597e67c25f9edfe61"}, - {file = "bitarray-2.9.3-cp311-cp311-win_amd64.whl", hash = "sha256:e1fc2a81a585dbe5e367682156e6350d908a56e2ffd6ca651b0af01994db596f"}, - {file = "bitarray-2.9.3-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:dc47be026f76f1728af00dc7140cec8483fe2f0c476bbf2a59ef47865e00ff96"}, - {file = "bitarray-2.9.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:82b091742ff511cdb06f90af0d2c22e7af3dbff9b8212e2e0d88dfef6a8570b3"}, - {file = "bitarray-2.9.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2d5edb4302a0e3a3d1d0eeb891de3c615d4cb7a446fb41c21eecdcfb29400a6f"}, - {file = "bitarray-2.9.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb4786c5525069c19820549dd2f42d33632bc42959ad167138bd8ee5024b922b"}, - {file = "bitarray-2.9.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9bfe2de2b4df61ccb9244871a0fdf1fff83be0c1bd7187048c3cf7f81c5fe631"}, - {file = "bitarray-2.9.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:31e4f69538f95d2934587d957eea0d283162322dd1af29e57122b20b8cd60f92"}, - {file = "bitarray-2.9.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8ca44908b2bc08d8995770018638d62626706864f9c599b7818225a12f3dbc2c"}, - {file = "bitarray-2.9.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:279f8de5d251ee521e365df29c927d9b5732f1ed4f373d2dbbd278fcbad94ff5"}, - {file = "bitarray-2.9.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:c49bb631b38431c09ecd534d56ef04264397d24d18c4ee6653c84e14ae09d92d"}, - {file = "bitarray-2.9.3-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:192bffc93ee9a5b6c833c98d1dcc81f5633ddd726b85e18341387d0c1d51f691"}, - {file = "bitarray-2.9.3-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c516cec28c6511df51d87033f40ec420324a2247469b0c989d344f4d27ea37d2"}, - {file = "bitarray-2.9.3-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:66241cb9a1c1db294f46cd440141e57e8242874e38f3f61877f72d92ae14768a"}, - {file = "bitarray-2.9.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ab1f0e7631110c89bea7b605c0c35832333eb9cc97e5de05d71c76d42a1858c9"}, - {file = "bitarray-2.9.3-cp312-cp312-win32.whl", hash = "sha256:42aa5bee6fe8ad3385eaf5c6585016bbc38a7b75efb52ce5c6f8e00e05237dfa"}, - {file = "bitarray-2.9.3-cp312-cp312-win_amd64.whl", hash = "sha256:dc3fd647d845b94fac3652390866f921f914a17f3807a031c826f68dae3f43e3"}, - {file = "bitarray-2.9.3-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:fcfcc1989e3e021a282624017b7fb754210f5332e933b1c3ebc79643727b6551"}, - {file = "bitarray-2.9.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:71b1e229a706798a9e106ca7b03d4c63455deb40b18c92950ec073a05a8f8285"}, - {file = "bitarray-2.9.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:4bb49556d3d505d24c942a4206ad4d0d40e89fa3016a7ea6edc994d5c08d4a8e"}, - {file = "bitarray-2.9.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b4466aa1e533a59d5f7fd37219d154ec3f2ba73fce3d8a2e11080ec475bc15fb"}, - {file = "bitarray-2.9.3-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a9b75adc0fd0bf278bea89dc3d679d74e10d2df98d3d074b7f3d36f323138818"}, - {file = "bitarray-2.9.3-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:701582bbbeac372b1cd8a3c9daf6c2336dc2d22e14373a6271d788bc4f2b6edc"}, - {file = "bitarray-2.9.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9ea1f119668bbdbd68008031491515e84441e505163918819994b28f295f762c"}, - {file = "bitarray-2.9.3-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9f400bc18a70bfdb073532c3054ecd78a0e64f96ff7b6140adde5b122580ec2b"}, - {file = "bitarray-2.9.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:aacff5656fb3e15cede7d02903da2634d376aa928d7a81ec8df19b0724d7972a"}, - {file = "bitarray-2.9.3-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:8a2ae42a14cbf766d4478d7101da6359b0648dd813e60eb3486ac56ad2f5add3"}, - {file = "bitarray-2.9.3-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:616698edb547d10f0b960cb9f2e8629c55a420dd4c2b1ab46706f49a1815621d"}, - {file = "bitarray-2.9.3-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:f277c50ba184929dfeed39b6cf9468e3446093521b0aeb52bd54a21ca08f5473"}, - {file = "bitarray-2.9.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:661237739b385c90d8837d5e96b06de093cc6e610236977e198f88f5a979686e"}, - {file = "bitarray-2.9.3-cp313-cp313-win32.whl", hash = "sha256:68acec6c19d798051f178a1197b76f891985f683f95a4b12811b68e58b080f5a"}, - {file = "bitarray-2.9.3-cp313-cp313-win_amd64.whl", hash = "sha256:3055720afdcfd7e8f630fa16db7bed7e55c9d0a1f4756195e3b250e203f3b436"}, - {file = "bitarray-2.9.3-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:72bf17d0e7d8a4f645655a07999d23e42472cbf2100b8dad7ce26586075241d7"}, - {file = "bitarray-2.9.3-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3cfd332b5f1ad8c4dc3cc79ecef33c19b42d8d8e6a39fd5c9ecb5855be0b9723"}, - {file = "bitarray-2.9.3-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d5b466ef1e48f25621c9d27e95deb5e33b8656827ed8aa530b972de73870bd1f"}, - {file = "bitarray-2.9.3-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:938cf26fdaf4d0adfac82d830c025523c5d36ddead0470b735286028231c1784"}, - {file = "bitarray-2.9.3-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a0f766669e768ef9a2b23ecfa710b38b6a48da3f91755113c79320b207ae255d"}, - {file = "bitarray-2.9.3-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5b6337c0c64044f35ddfb241143244aac707a68f34ae31a71dad115f773ccc8b"}, - {file = "bitarray-2.9.3-cp36-cp36m-musllinux_1_2_aarch64.whl", hash = "sha256:731b59540167f8b2b20f69f487ecee2339fc4657059906a16cb51acac17f89c3"}, - {file = "bitarray-2.9.3-cp36-cp36m-musllinux_1_2_i686.whl", hash = "sha256:4feed0539a9d6432361fc4d3820eea3a81fa631d542f166cf8430aad81a971da"}, - {file = "bitarray-2.9.3-cp36-cp36m-musllinux_1_2_ppc64le.whl", hash = "sha256:eb65c96a42e73f35175ec738d67992ffdf054c20abee3933cfcfa2343fa1187d"}, - {file = "bitarray-2.9.3-cp36-cp36m-musllinux_1_2_s390x.whl", hash = "sha256:4f40ceac94d182de6135759d81289683ff3e4cf0da709bc5826a7fe00d754114"}, - {file = "bitarray-2.9.3-cp36-cp36m-musllinux_1_2_x86_64.whl", hash = "sha256:5b29f7844080a281635a231a37e99f0bd6f567af6cf19f4f6d212137f99a9cdf"}, - {file = "bitarray-2.9.3-cp36-cp36m-win32.whl", hash = "sha256:947cf522a3b339b73114d12417fd848fa01303dbaa7883ced4c87688dba5637c"}, - {file = "bitarray-2.9.3-cp36-cp36m-win_amd64.whl", hash = "sha256:ea794ea60d514d68777a87a74106110db7a4bbc2c46720e67010e3071afefb95"}, - {file = "bitarray-2.9.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c7bc7cb79dcac8bdce23b305e671c06eaeffb012fa065b8c33bc51df7e1733f0"}, - {file = "bitarray-2.9.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6d6380ad0f929ad9220abadd1c9b7234271c4b6ea9c753a88611d489e93a8f2e"}, - {file = "bitarray-2.9.3-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:05f4e2451e2ad450b41ede8440e52c1fd798e81027e1dc2256292ec0787d3bf1"}, - {file = "bitarray-2.9.3-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7267885c98138f3707c710d5b08eedef150a3e5112c760cfe1200f3366fd7064"}, - {file = "bitarray-2.9.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:976957423cb41df8fe0eb811dbb53d8c5ab1ca3beec7a3ca7ff679be44a72714"}, - {file = "bitarray-2.9.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c0ec5141a69f73ed6ff17ea7344d5cc166e087095bfe3661dbb42b519e76aa16"}, - {file = "bitarray-2.9.3-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:218a1b7c0652a3c1020f903ded0f9768c3719fb6d43a6e9d346e985292992d35"}, - {file = "bitarray-2.9.3-cp37-cp37m-musllinux_1_2_i686.whl", hash = "sha256:cf0c9ebf2df280794244e1e12ed626357506ddaa2f0d6f69efe493ae7bbf4bf7"}, - {file = "bitarray-2.9.3-cp37-cp37m-musllinux_1_2_ppc64le.whl", hash = "sha256:c450a04a7e091b57d4c0bd1531648522cd0ef26913ad0e5dea0432ea29b0e5c1"}, - {file = "bitarray-2.9.3-cp37-cp37m-musllinux_1_2_s390x.whl", hash = "sha256:a212eb89a50e32ef4969387e44a7410447dc59587615e3966d090edc338a1b85"}, - {file = "bitarray-2.9.3-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:4269232026212ee6b73379b88a578107a6b36a6182307a49d5509686c7495261"}, - {file = "bitarray-2.9.3-cp37-cp37m-win32.whl", hash = "sha256:8a0fb358e6a43f216c3fb0871e2ac14c16563aec363c23bc2fbbb18f6201285d"}, - {file = "bitarray-2.9.3-cp37-cp37m-win_amd64.whl", hash = "sha256:a8368774cdc737eec8fce6f28d0abc095fbc0edccf8fab8d29fddc264b68def9"}, - {file = "bitarray-2.9.3-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:7d0724a4fef6ded914075a3385ea2d05afdeed567902f83490ed4e7e7e75d9bf"}, - {file = "bitarray-2.9.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0e11b37c6dff6f41ebc49914628824ceb8c8d6ebd0fda2ebe3c0fe0c63e8621e"}, - {file = "bitarray-2.9.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:085f4081d72c7468f82f722a9f113e03a1f7a4c132ef4c2a4e680c5d78b7db00"}, - {file = "bitarray-2.9.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b530b5fbed2900634fbc43f546e384abd72ad9c49795ff5bd6a93cac1aa9c4d8"}, - {file = "bitarray-2.9.3-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:09ff88e4385967571146fb0d270442de39393d44198f4d108f3350cfd6486f0b"}, - {file = "bitarray-2.9.3-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a344bb212ddf87db4976a6711d274660a5d887da4fd3faafcdaa092152f85a6d"}, - {file = "bitarray-2.9.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cc569c96b990f92fd5946d5b50501fee48b01a116a286d1de7961ebd9c6f06f3"}, - {file = "bitarray-2.9.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f2fbbe7938ef8a7abe3e8519fa0578b51d2787f7171d3144e7d373551b5851fd"}, - {file = "bitarray-2.9.3-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:0b5912fab904507b47217509b01aa903d7f98b6e725e490a7f01661f4d9a4fa7"}, - {file = "bitarray-2.9.3-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:0c836ccfca9cf60927256738ef234dfe500565492eff269610cdd1bca56801d0"}, - {file = "bitarray-2.9.3-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:af0e4441ebf51c18fc450962f1e201c96f444d63b17cc8dcf7c0b05111bd4486"}, - {file = "bitarray-2.9.3-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:9e9b57175fb6fe76d7ddd0647e06a25f6e23f4b54b5febf337c5a840ab37dc3b"}, - {file = "bitarray-2.9.3-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:7f7de81721ae9492926bd067007ac974692182bb83fc8f0ba330a67f37a018bd"}, - {file = "bitarray-2.9.3-cp38-cp38-win32.whl", hash = "sha256:4beafb6b6e344385480df6611fdebfcb3579bbb40636ce1ddf5e72fb744e095f"}, - {file = "bitarray-2.9.3-cp38-cp38-win_amd64.whl", hash = "sha256:d8eaeca98900bd6f06a29cdef57999813a67d314f661d14901d71e04f4cf9f00"}, - {file = "bitarray-2.9.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:413965d9d384aef90e58b959f4a39f1d5060b145c26080297b7b4cf23cf38faa"}, - {file = "bitarray-2.9.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:2fbb56f2bb89c3a15304a6c0ea56013dc340a98337d9bbd7fc5c21451dc05f8c"}, - {file = "bitarray-2.9.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b8a84f39f7885627711473872d8fc58fc7a0a1e4ecd9ddf42daf9a3643432742"}, - {file = "bitarray-2.9.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:45147a9c8580e857c1344d15bd49d2b4387777bd582a2ede11be2ba740653f28"}, - {file = "bitarray-2.9.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ed255423dc60c6b2d5c0d90c13dea2962a31929767fdf1c525ab3210269e75c5"}, - {file = "bitarray-2.9.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4f5bd02671ea5c4ad52bbfe0e8e8197b6e8fa85dec1e93a4a05448c19354cc65"}, - {file = "bitarray-2.9.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d1c99c58f044549c93fb6d4cda22678deccaed19845eaa2e6917b5b7ca058f2d"}, - {file = "bitarray-2.9.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:921ee87681e32e17d1849e11c96eb6a8a7edaa1269dd26831013daf8546bde05"}, - {file = "bitarray-2.9.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:2ed97d8ec40c4658d9f9aa8f26cb473f44fa1dbccba3fa3fbe4a102e38c6a8d7"}, - {file = "bitarray-2.9.3-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:9d7f7db37edb9c50c9aad6a18f2e87dd7dc5ff2a33406821804a03263fedb2ca"}, - {file = "bitarray-2.9.3-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:292f726cdb9efc744ed0a1d7453c44151526648148a28d9a2495cc7c7b2c62a8"}, - {file = "bitarray-2.9.3-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:2cc94784238782a9376f307b1aa9a85ce77b6eded9f82d2fe062db7fdb02c645"}, - {file = "bitarray-2.9.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:5051436b1d318f6ce0df3b2f8a60bfa66a54c1d9e8719d6cb6b448140e7061f2"}, - {file = "bitarray-2.9.3-cp39-cp39-win32.whl", hash = "sha256:a3d436c686ce59fd0b93438ed2c0e1d3e1716e56bce64b874d05b9f49f1ca5d1"}, - {file = "bitarray-2.9.3-cp39-cp39-win_amd64.whl", hash = "sha256:f168fc45664266a560f2cb28a327041b7f69d4a7faad8ab89e0a1dd7c270a70d"}, - {file = "bitarray-2.9.3-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:ae36787299cff41f212aee33cfe1defee13979a41552665a412b6ca3fa8f7eb8"}, - {file = "bitarray-2.9.3-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:42afe48abb8eeb386d93e7f1165ace1dd027f136a8a31edd2b20bc57a0c071d7"}, - {file = "bitarray-2.9.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:451ceecdb86bb95ae101b0d65c8c4524d692ae3666662fef8c89877ce17748c5"}, - {file = "bitarray-2.9.3-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f4d67d3e3de2aede737b12cd75a84963700c941b77b579c14bd05517e05d7a9f"}, - {file = "bitarray-2.9.3-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:2406d13ded84049b4238815a5821e44d6f58ba00fbb6b705b6ef8ccd88be8f03"}, - {file = "bitarray-2.9.3-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:0db944fc2a048020fc940841ef46c0295b045d45a5a582cba69f78962a49a384"}, - {file = "bitarray-2.9.3-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:25c603f141171a7d108773d5136d14e572c473e4cdb3fb464c39c8a138522eb2"}, - {file = "bitarray-2.9.3-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:86c06b02705305cab0914d209caa24effda81316e2f2555a71a9aa399b75c5a5"}, - {file = "bitarray-2.9.3-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3ddda45b24a802eaaca8f794e6267ff2b62de5fe7b900b76d6f662d95192bebf"}, - {file = "bitarray-2.9.3-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:81490623950d04870c6dd4d7e6df2eb68dd04eca8bec327895ebee8bbe0cc3c7"}, - {file = "bitarray-2.9.3-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:a9e69ac6a514cc574891c24a50847022dac2fef8c3f4df530f92820a07337755"}, - {file = "bitarray-2.9.3-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:545c695ee69d26b41351ced4c76244d8b6225669fc0af3652ff8ed5a6b28325d"}, - {file = "bitarray-2.9.3-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fbb2e6daabd2a64d091ac7460b0c5c5f9268199ae9a8ce32737cf5273987f1fa"}, - {file = "bitarray-2.9.3-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a969e5cf63144b944ee8d0a0739f53ef1ae54725b5e01258d690a8995d880526"}, - {file = "bitarray-2.9.3-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:73bbb9301ac9000f869c51db2cc5fcc6541985d3fcdcfe6e02f90c9e672a00be"}, - {file = "bitarray-2.9.3-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:7c07e346926488a85a48542d898f4168f3587ec42379fef0d18be301e08a3f27"}, - {file = "bitarray-2.9.3-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4a26d8a14cd8ee496306f2afac34833502dd1ae826355af309333b6f252b23fe"}, - {file = "bitarray-2.9.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cef148ed37c892395ca182d6a235524165a9f765f4283d0a1ced891e7c43c67a"}, - {file = "bitarray-2.9.3-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:94f35a8f0c8a50ee98a8bef9a070d0b68ecf623f20a2148cc039aba5557346a6"}, - {file = "bitarray-2.9.3-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:b03207460daae828e2743874c84264e8d96a8c6156490279092b624cd5d2de08"}, - {file = "bitarray-2.9.3.tar.gz", hash = "sha256:9eff55cf189b0c37ba97156a00d640eb7392db58a8049be6f26ff2712b93fa89"}, -] - -[[package]] -name = "bitstring" -version = "4.2.3" -description = "Simple construction, analysis and modification of binary data." -optional = false -python-versions = ">=3.8" -files = [ - {file = "bitstring-4.2.3-py3-none-any.whl", hash = "sha256:20ed0036e2fcf0323acb0f92f0b7b178516a080f3e91061470aa019ac4ede404"}, - {file = "bitstring-4.2.3.tar.gz", hash = "sha256:e0c447af3fda0d114f77b88c2d199f02f97ee7e957e6d719f40f41cf15fbb897"}, -] - -[package.dependencies] -bitarray = ">=2.9.0,<3.0.0" - -[[package]] -name = "black" -version = "24.10.0" -description = "The uncompromising code formatter." -optional = false -python-versions = ">=3.9" -files = [ - {file = "black-24.10.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e6668650ea4b685440857138e5fe40cde4d652633b1bdffc62933d0db4ed9812"}, - {file = "black-24.10.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:1c536fcf674217e87b8cc3657b81809d3c085d7bf3ef262ead700da345bfa6ea"}, - {file = "black-24.10.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:649fff99a20bd06c6f727d2a27f401331dc0cc861fb69cde910fe95b01b5928f"}, - {file = "black-24.10.0-cp310-cp310-win_amd64.whl", hash = "sha256:fe4d6476887de70546212c99ac9bd803d90b42fc4767f058a0baa895013fbb3e"}, - {file = "black-24.10.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5a2221696a8224e335c28816a9d331a6c2ae15a2ee34ec857dcf3e45dbfa99ad"}, - {file = "black-24.10.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f9da3333530dbcecc1be13e69c250ed8dfa67f43c4005fb537bb426e19200d50"}, - {file = "black-24.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4007b1393d902b48b36958a216c20c4482f601569d19ed1df294a496eb366392"}, - {file = "black-24.10.0-cp311-cp311-win_amd64.whl", hash = "sha256:394d4ddc64782e51153eadcaaca95144ac4c35e27ef9b0a42e121ae7e57a9175"}, - {file = "black-24.10.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:b5e39e0fae001df40f95bd8cc36b9165c5e2ea88900167bddf258bacef9bbdc3"}, - {file = "black-24.10.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:d37d422772111794b26757c5b55a3eade028aa3fde43121ab7b673d050949d65"}, - {file = "black-24.10.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:14b3502784f09ce2443830e3133dacf2c0110d45191ed470ecb04d0f5f6fcb0f"}, - {file = "black-24.10.0-cp312-cp312-win_amd64.whl", hash = "sha256:30d2c30dc5139211dda799758559d1b049f7f14c580c409d6ad925b74a4208a8"}, - {file = "black-24.10.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:1cbacacb19e922a1d75ef2b6ccaefcd6e93a2c05ede32f06a21386a04cedb981"}, - {file = "black-24.10.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:1f93102e0c5bb3907451063e08b9876dbeac810e7da5a8bfb7aeb5a9ef89066b"}, - {file = "black-24.10.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ddacb691cdcdf77b96f549cf9591701d8db36b2f19519373d60d31746068dbf2"}, - {file = "black-24.10.0-cp313-cp313-win_amd64.whl", hash = "sha256:680359d932801c76d2e9c9068d05c6b107f2584b2a5b88831c83962eb9984c1b"}, - {file = "black-24.10.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:17374989640fbca88b6a448129cd1745c5eb8d9547b464f281b251dd00155ccd"}, - {file = "black-24.10.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:63f626344343083322233f175aaf372d326de8436f5928c042639a4afbbf1d3f"}, - {file = "black-24.10.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ccfa1d0cb6200857f1923b602f978386a3a2758a65b52e0950299ea014be6800"}, - {file = "black-24.10.0-cp39-cp39-win_amd64.whl", hash = "sha256:2cd9c95431d94adc56600710f8813ee27eea544dd118d45896bb734e9d7a0dc7"}, - {file = "black-24.10.0-py3-none-any.whl", hash = "sha256:3bb2b7a1f7b685f85b11fed1ef10f8a9148bceb49853e47a294a3dd963c1dd7d"}, - {file = "black-24.10.0.tar.gz", hash = "sha256:846ea64c97afe3bc677b761787993be4991810ecc7a4a937816dd6bddedc4875"}, -] - -[package.dependencies] -click = ">=8.0.0" -mypy-extensions = ">=0.4.3" -packaging = ">=22.0" -pathspec = ">=0.9.0" -platformdirs = ">=2" -tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""} -typing-extensions = {version = ">=4.0.1", markers = "python_version < \"3.11\""} - -[package.extras] -colorama = ["colorama (>=0.4.3)"] -d = ["aiohttp (>=3.10)"] -jupyter = ["ipython (>=7.8.0)", "tokenize-rt (>=3.2.0)"] -uvloop = ["uvloop (>=0.15.2)"] - -[[package]] -name = "bolt11" -version = "2.1.0" -description = "A library for encoding and decoding BOLT11 payment requests." -optional = false -python-versions = ">=3.8.1" -files = [ - {file = "bolt11-2.1.0-py3-none-any.whl", hash = "sha256:1535e441233414a9d8031a99fd3be07de4674bffda948033579404d44a42f614"}, - {file = "bolt11-2.1.0.tar.gz", hash = "sha256:177c63cd88d1eaba669eddb5937364676226253f2e9e5b77e8fe317ef32e62dd"}, -] - -[package.dependencies] -base58 = "*" -bech32 = "*" -bitstring = "*" -click = "*" -coincurve = "*" - -[[package]] -name = "certifi" -version = "2024.8.30" -description = "Python package for providing Mozilla's CA Bundle." -optional = false -python-versions = ">=3.6" -files = [ - {file = "certifi-2024.8.30-py3-none-any.whl", hash = "sha256:922820b53db7a7257ffbda3f597266d435245903d80737e34f8a45ff3e3230d8"}, - {file = "certifi-2024.8.30.tar.gz", hash = "sha256:bec941d2aa8195e248a60b31ff9f0558284cf01a52591ceda73ea9afffd69fd9"}, -] - -[[package]] -name = "cffi" -version = "1.17.1" -description = "Foreign Function Interface for Python calling C code." -optional = false -python-versions = ">=3.8" -files = [ - {file = "cffi-1.17.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:df8b1c11f177bc2313ec4b2d46baec87a5f3e71fc8b45dab2ee7cae86d9aba14"}, - {file = "cffi-1.17.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8f2cdc858323644ab277e9bb925ad72ae0e67f69e804f4898c070998d50b1a67"}, - {file = "cffi-1.17.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:edae79245293e15384b51f88b00613ba9f7198016a5948b5dddf4917d4d26382"}, - {file = "cffi-1.17.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:45398b671ac6d70e67da8e4224a065cec6a93541bb7aebe1b198a61b58c7b702"}, - {file = "cffi-1.17.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ad9413ccdeda48c5afdae7e4fa2192157e991ff761e7ab8fdd8926f40b160cc3"}, - {file = "cffi-1.17.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5da5719280082ac6bd9aa7becb3938dc9f9cbd57fac7d2871717b1feb0902ab6"}, - {file = "cffi-1.17.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2bb1a08b8008b281856e5971307cc386a8e9c5b625ac297e853d36da6efe9c17"}, - {file = "cffi-1.17.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:045d61c734659cc045141be4bae381a41d89b741f795af1dd018bfb532fd0df8"}, - {file = "cffi-1.17.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:6883e737d7d9e4899a8a695e00ec36bd4e5e4f18fabe0aca0efe0a4b44cdb13e"}, - {file = "cffi-1.17.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:6b8b4a92e1c65048ff98cfe1f735ef8f1ceb72e3d5f0c25fdb12087a23da22be"}, - {file = "cffi-1.17.1-cp310-cp310-win32.whl", hash = "sha256:c9c3d058ebabb74db66e431095118094d06abf53284d9c81f27300d0e0d8bc7c"}, - {file = "cffi-1.17.1-cp310-cp310-win_amd64.whl", hash = "sha256:0f048dcf80db46f0098ccac01132761580d28e28bc0f78ae0d58048063317e15"}, - {file = "cffi-1.17.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a45e3c6913c5b87b3ff120dcdc03f6131fa0065027d0ed7ee6190736a74cd401"}, - {file = "cffi-1.17.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:30c5e0cb5ae493c04c8b42916e52ca38079f1b235c2f8ae5f4527b963c401caf"}, - {file = "cffi-1.17.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f75c7ab1f9e4aca5414ed4d8e5c0e303a34f4421f8a0d47a4d019ceff0ab6af4"}, - {file = "cffi-1.17.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a1ed2dd2972641495a3ec98445e09766f077aee98a1c896dcb4ad0d303628e41"}, - {file = "cffi-1.17.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:46bf43160c1a35f7ec506d254e5c890f3c03648a4dbac12d624e4490a7046cd1"}, - {file = "cffi-1.17.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a24ed04c8ffd54b0729c07cee15a81d964e6fee0e3d4d342a27b020d22959dc6"}, - {file = "cffi-1.17.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:610faea79c43e44c71e1ec53a554553fa22321b65fae24889706c0a84d4ad86d"}, - {file = "cffi-1.17.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:a9b15d491f3ad5d692e11f6b71f7857e7835eb677955c00cc0aefcd0669adaf6"}, - {file = "cffi-1.17.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:de2ea4b5833625383e464549fec1bc395c1bdeeb5f25c4a3a82b5a8c756ec22f"}, - {file = "cffi-1.17.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:fc48c783f9c87e60831201f2cce7f3b2e4846bf4d8728eabe54d60700b318a0b"}, - {file = "cffi-1.17.1-cp311-cp311-win32.whl", hash = "sha256:85a950a4ac9c359340d5963966e3e0a94a676bd6245a4b55bc43949eee26a655"}, - {file = "cffi-1.17.1-cp311-cp311-win_amd64.whl", hash = "sha256:caaf0640ef5f5517f49bc275eca1406b0ffa6aa184892812030f04c2abf589a0"}, - {file = "cffi-1.17.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:805b4371bf7197c329fcb3ead37e710d1bca9da5d583f5073b799d5c5bd1eee4"}, - {file = "cffi-1.17.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:733e99bc2df47476e3848417c5a4540522f234dfd4ef3ab7fafdf555b082ec0c"}, - {file = "cffi-1.17.1-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1257bdabf294dceb59f5e70c64a3e2f462c30c7ad68092d01bbbfb1c16b1ba36"}, - {file = "cffi-1.17.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da95af8214998d77a98cc14e3a3bd00aa191526343078b530ceb0bd710fb48a5"}, - {file = "cffi-1.17.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d63afe322132c194cf832bfec0dc69a99fb9bb6bbd550f161a49e9e855cc78ff"}, - {file = "cffi-1.17.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f79fc4fc25f1c8698ff97788206bb3c2598949bfe0fef03d299eb1b5356ada99"}, - {file = "cffi-1.17.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b62ce867176a75d03a665bad002af8e6d54644fad99a3c70905c543130e39d93"}, - {file = "cffi-1.17.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:386c8bf53c502fff58903061338ce4f4950cbdcb23e2902d86c0f722b786bbe3"}, - {file = "cffi-1.17.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4ceb10419a9adf4460ea14cfd6bc43d08701f0835e979bf821052f1805850fe8"}, - {file = "cffi-1.17.1-cp312-cp312-win32.whl", hash = "sha256:a08d7e755f8ed21095a310a693525137cfe756ce62d066e53f502a83dc550f65"}, - {file = "cffi-1.17.1-cp312-cp312-win_amd64.whl", hash = "sha256:51392eae71afec0d0c8fb1a53b204dbb3bcabcb3c9b807eedf3e1e6ccf2de903"}, - {file = "cffi-1.17.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f3a2b4222ce6b60e2e8b337bb9596923045681d71e5a082783484d845390938e"}, - {file = "cffi-1.17.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0984a4925a435b1da406122d4d7968dd861c1385afe3b45ba82b750f229811e2"}, - {file = "cffi-1.17.1-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d01b12eeeb4427d3110de311e1774046ad344f5b1a7403101878976ecd7a10f3"}, - {file = "cffi-1.17.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:706510fe141c86a69c8ddc029c7910003a17353970cff3b904ff0686a5927683"}, - {file = "cffi-1.17.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de55b766c7aa2e2a3092c51e0483d700341182f08e67c63630d5b6f200bb28e5"}, - {file = "cffi-1.17.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c59d6e989d07460165cc5ad3c61f9fd8f1b4796eacbd81cee78957842b834af4"}, - {file = "cffi-1.17.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd398dbc6773384a17fe0d3e7eeb8d1a21c2200473ee6806bb5e6a8e62bb73dd"}, - {file = "cffi-1.17.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:3edc8d958eb099c634dace3c7e16560ae474aa3803a5df240542b305d14e14ed"}, - {file = "cffi-1.17.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:72e72408cad3d5419375fc87d289076ee319835bdfa2caad331e377589aebba9"}, - {file = "cffi-1.17.1-cp313-cp313-win32.whl", hash = "sha256:e03eab0a8677fa80d646b5ddece1cbeaf556c313dcfac435ba11f107ba117b5d"}, - {file = "cffi-1.17.1-cp313-cp313-win_amd64.whl", hash = "sha256:f6a16c31041f09ead72d69f583767292f750d24913dadacf5756b966aacb3f1a"}, - {file = "cffi-1.17.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:636062ea65bd0195bc012fea9321aca499c0504409f413dc88af450b57ffd03b"}, - {file = "cffi-1.17.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c7eac2ef9b63c79431bc4b25f1cd649d7f061a28808cbc6c47b534bd789ef964"}, - {file = "cffi-1.17.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e221cf152cff04059d011ee126477f0d9588303eb57e88923578ace7baad17f9"}, - {file = "cffi-1.17.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:31000ec67d4221a71bd3f67df918b1f88f676f1c3b535a7eb473255fdc0b83fc"}, - {file = "cffi-1.17.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6f17be4345073b0a7b8ea599688f692ac3ef23ce28e5df79c04de519dbc4912c"}, - {file = "cffi-1.17.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e2b1fac190ae3ebfe37b979cc1ce69c81f4e4fe5746bb401dca63a9062cdaf1"}, - {file = "cffi-1.17.1-cp38-cp38-win32.whl", hash = "sha256:7596d6620d3fa590f677e9ee430df2958d2d6d6de2feeae5b20e82c00b76fbf8"}, - {file = "cffi-1.17.1-cp38-cp38-win_amd64.whl", hash = "sha256:78122be759c3f8a014ce010908ae03364d00a1f81ab5c7f4a7a5120607ea56e1"}, - {file = "cffi-1.17.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b2ab587605f4ba0bf81dc0cb08a41bd1c0a5906bd59243d56bad7668a6fc6c16"}, - {file = "cffi-1.17.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:28b16024becceed8c6dfbc75629e27788d8a3f9030691a1dbf9821a128b22c36"}, - {file = "cffi-1.17.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1d599671f396c4723d016dbddb72fe8e0397082b0a77a4fab8028923bec050e8"}, - {file = "cffi-1.17.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ca74b8dbe6e8e8263c0ffd60277de77dcee6c837a3d0881d8c1ead7268c9e576"}, - {file = "cffi-1.17.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f7f5baafcc48261359e14bcd6d9bff6d4b28d9103847c9e136694cb0501aef87"}, - {file = "cffi-1.17.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:98e3969bcff97cae1b2def8ba499ea3d6f31ddfdb7635374834cf89a1a08ecf0"}, - {file = "cffi-1.17.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cdf5ce3acdfd1661132f2a9c19cac174758dc2352bfe37d98aa7512c6b7178b3"}, - {file = "cffi-1.17.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:9755e4345d1ec879e3849e62222a18c7174d65a6a92d5b346b1863912168b595"}, - {file = "cffi-1.17.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:f1e22e8c4419538cb197e4dd60acc919d7696e5ef98ee4da4e01d3f8cfa4cc5a"}, - {file = "cffi-1.17.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:c03e868a0b3bc35839ba98e74211ed2b05d2119be4e8a0f224fba9384f1fe02e"}, - {file = "cffi-1.17.1-cp39-cp39-win32.whl", hash = "sha256:e31ae45bc2e29f6b2abd0de1cc3b9d5205aa847cafaecb8af1476a609a2f6eb7"}, - {file = "cffi-1.17.1-cp39-cp39-win_amd64.whl", hash = "sha256:d016c76bdd850f3c626af19b0542c9677ba156e4ee4fccfdd7848803533ef662"}, - {file = "cffi-1.17.1.tar.gz", hash = "sha256:1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824"}, -] - -[package.dependencies] -pycparser = "*" - -[[package]] -name = "cfgv" -version = "3.4.0" -description = "Validate configuration and produce human readable error messages." -optional = false -python-versions = ">=3.8" -files = [ - {file = "cfgv-3.4.0-py2.py3-none-any.whl", hash = "sha256:b7265b1f29fd3316bfcd2b330d63d024f2bfd8bcb8b0272f8e19a504856c48f9"}, - {file = "cfgv-3.4.0.tar.gz", hash = "sha256:e52591d4c5f5dead8e0f673fb16db7949d2cfb3f7da4582893288f0ded8fe560"}, -] - -[[package]] -name = "charset-normalizer" -version = "3.4.0" -description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." -optional = false -python-versions = ">=3.7.0" -files = [ - {file = "charset_normalizer-3.4.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:4f9fc98dad6c2eaa32fc3af1417d95b5e3d08aff968df0cd320066def971f9a6"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0de7b687289d3c1b3e8660d0741874abe7888100efe14bd0f9fd7141bcbda92b"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5ed2e36c3e9b4f21dd9422f6893dec0abf2cca553af509b10cd630f878d3eb99"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40d3ff7fc90b98c637bda91c89d51264a3dcf210cade3a2c6f838c7268d7a4ca"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1110e22af8ca26b90bd6364fe4c763329b0ebf1ee213ba32b68c73de5752323d"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:86f4e8cca779080f66ff4f191a685ced73d2f72d50216f7112185dc02b90b9b7"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f683ddc7eedd742e2889d2bfb96d69573fde1d92fcb811979cdb7165bb9c7d3"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:27623ba66c183eca01bf9ff833875b459cad267aeeb044477fedac35e19ba907"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:f606a1881d2663630ea5b8ce2efe2111740df4b687bd78b34a8131baa007f79b"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:0b309d1747110feb25d7ed6b01afdec269c647d382c857ef4663bbe6ad95a912"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:136815f06a3ae311fae551c3df1f998a1ebd01ddd424aa5603a4336997629e95"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:14215b71a762336254351b00ec720a8e85cada43b987da5a042e4ce3e82bd68e"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:79983512b108e4a164b9c8d34de3992f76d48cadc9554c9e60b43f308988aabe"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-win32.whl", hash = "sha256:c94057af19bc953643a33581844649a7fdab902624d2eb739738a30e2b3e60fc"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:55f56e2ebd4e3bc50442fbc0888c9d8c94e4e06a933804e2af3e89e2f9c1c749"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:0d99dd8ff461990f12d6e42c7347fd9ab2532fb70e9621ba520f9e8637161d7c"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c57516e58fd17d03ebe67e181a4e4e2ccab1168f8c2976c6a334d4f819fe5944"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6dba5d19c4dfab08e58d5b36304b3f92f3bd5d42c1a3fa37b5ba5cdf6dfcbcee"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bf4475b82be41b07cc5e5ff94810e6a01f276e37c2d55571e3fe175e467a1a1c"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ce031db0408e487fd2775d745ce30a7cd2923667cf3b69d48d219f1d8f5ddeb6"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8ff4e7cdfdb1ab5698e675ca622e72d58a6fa2a8aa58195de0c0061288e6e3ea"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3710a9751938947e6327ea9f3ea6332a09bf0ba0c09cae9cb1f250bd1f1549bc"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:82357d85de703176b5587dbe6ade8ff67f9f69a41c0733cf2425378b49954de5"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:47334db71978b23ebcf3c0f9f5ee98b8d65992b65c9c4f2d34c2eaf5bcaf0594"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:8ce7fd6767a1cc5a92a639b391891bf1c268b03ec7e021c7d6d902285259685c"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:f1a2f519ae173b5b6a2c9d5fa3116ce16e48b3462c8b96dfdded11055e3d6365"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:63bc5c4ae26e4bc6be6469943b8253c0fd4e4186c43ad46e713ea61a0ba49129"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:bcb4f8ea87d03bc51ad04add8ceaf9b0f085ac045ab4d74e73bbc2dc033f0236"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-win32.whl", hash = "sha256:9ae4ef0b3f6b41bad6366fb0ea4fc1d7ed051528e113a60fa2a65a9abb5b1d99"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:cee4373f4d3ad28f1ab6290684d8e2ebdb9e7a1b74fdc39e4c211995f77bec27"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:0713f3adb9d03d49d365b70b84775d0a0d18e4ab08d12bc46baa6132ba78aaf6"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:de7376c29d95d6719048c194a9cf1a1b0393fbe8488a22008610b0361d834ecf"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:4a51b48f42d9358460b78725283f04bddaf44a9358197b889657deba38f329db"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b295729485b06c1a0683af02a9e42d2caa9db04a373dc38a6a58cdd1e8abddf1"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ee803480535c44e7f5ad00788526da7d85525cfefaf8acf8ab9a310000be4b03"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3d59d125ffbd6d552765510e3f31ed75ebac2c7470c7274195b9161a32350284"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8cda06946eac330cbe6598f77bb54e690b4ca93f593dee1568ad22b04f347c15"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:07afec21bbbbf8a5cc3651aa96b980afe2526e7f048fdfb7f1014d84acc8b6d8"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6b40e8d38afe634559e398cc32b1472f376a4099c75fe6299ae607e404c033b2"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:b8dcd239c743aa2f9c22ce674a145e0a25cb1566c495928440a181ca1ccf6719"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:84450ba661fb96e9fd67629b93d2941c871ca86fc38d835d19d4225ff946a631"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:44aeb140295a2f0659e113b31cfe92c9061622cadbc9e2a2f7b8ef6b1e29ef4b"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:1db4e7fefefd0f548d73e2e2e041f9df5c59e178b4c72fbac4cc6f535cfb1565"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-win32.whl", hash = "sha256:5726cf76c982532c1863fb64d8c6dd0e4c90b6ece9feb06c9f202417a31f7dd7"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:b197e7094f232959f8f20541ead1d9862ac5ebea1d58e9849c1bf979255dfac9"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:dd4eda173a9fcccb5f2e2bd2a9f423d180194b1bf17cf59e3269899235b2a114"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e9e3c4c9e1ed40ea53acf11e2a386383c3304212c965773704e4603d589343ed"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:92a7e36b000bf022ef3dbb9c46bfe2d52c047d5e3f3343f43204263c5addc250"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:54b6a92d009cbe2fb11054ba694bc9e284dad30a26757b1e372a1fdddaf21920"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ffd9493de4c922f2a38c2bf62b831dcec90ac673ed1ca182fe11b4d8e9f2a64"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:35c404d74c2926d0287fbd63ed5d27eb911eb9e4a3bb2c6d294f3cfd4a9e0c23"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4796efc4faf6b53a18e3d46343535caed491776a22af773f366534056c4e1fbc"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e7fdd52961feb4c96507aa649550ec2a0d527c086d284749b2f582f2d40a2e0d"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:92db3c28b5b2a273346bebb24857fda45601aef6ae1c011c0a997106581e8a88"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ab973df98fc99ab39080bfb0eb3a925181454d7c3ac8a1e695fddfae696d9e90"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:4b67fdab07fdd3c10bb21edab3cbfe8cf5696f453afce75d815d9d7223fbe88b"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:aa41e526a5d4a9dfcfbab0716c7e8a1b215abd3f3df5a45cf18a12721d31cb5d"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ffc519621dce0c767e96b9c53f09c5d215578e10b02c285809f76509a3931482"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-win32.whl", hash = "sha256:f19c1585933c82098c2a520f8ec1227f20e339e33aca8fa6f956f6691b784e67"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-win_amd64.whl", hash = "sha256:707b82d19e65c9bd28b81dde95249b07bf9f5b90ebe1ef17d9b57473f8a64b7b"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:dbe03226baf438ac4fda9e2d0715022fd579cb641c4cf639fa40d53b2fe6f3e2"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dd9a8bd8900e65504a305bf8ae6fa9fbc66de94178c420791d0293702fce2df7"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b8831399554b92b72af5932cdbbd4ddc55c55f631bb13ff8fe4e6536a06c5c51"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a14969b8691f7998e74663b77b4c36c0337cb1df552da83d5c9004a93afdb574"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dcaf7c1524c0542ee2fc82cc8ec337f7a9f7edee2532421ab200d2b920fc97cf"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:425c5f215d0eecee9a56cdb703203dda90423247421bf0d67125add85d0c4455"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:d5b054862739d276e09928de37c79ddeec42a6e1bfc55863be96a36ba22926f6"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_i686.whl", hash = "sha256:f3e73a4255342d4eb26ef6df01e3962e73aa29baa3124a8e824c5d3364a65748"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_ppc64le.whl", hash = "sha256:2f6c34da58ea9c1a9515621f4d9ac379871a8f21168ba1b5e09d74250de5ad62"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_s390x.whl", hash = "sha256:f09cb5a7bbe1ecae6e87901a2eb23e0256bb524a79ccc53eb0b7629fbe7677c4"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:0099d79bdfcf5c1f0c2c72f91516702ebf8b0b8ddd8905f97a8aecf49712c621"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-win32.whl", hash = "sha256:9c98230f5042f4945f957d006edccc2af1e03ed5e37ce7c373f00a5a4daa6149"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-win_amd64.whl", hash = "sha256:62f60aebecfc7f4b82e3f639a7d1433a20ec32824db2199a11ad4f5e146ef5ee"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:af73657b7a68211996527dbfeffbb0864e043d270580c5aef06dc4b659a4b578"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:cab5d0b79d987c67f3b9e9c53f54a61360422a5a0bc075f43cab5621d530c3b6"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:9289fd5dddcf57bab41d044f1756550f9e7cf0c8e373b8cdf0ce8773dc4bd417"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6b493a043635eb376e50eedf7818f2f322eabbaa974e948bd8bdd29eb7ef2a51"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9fa2566ca27d67c86569e8c85297aaf413ffab85a8960500f12ea34ff98e4c41"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a8e538f46104c815be19c975572d74afb53f29650ea2025bbfaef359d2de2f7f"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6fd30dc99682dc2c603c2b315bded2799019cea829f8bf57dc6b61efde6611c8"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2006769bd1640bdf4d5641c69a3d63b71b81445473cac5ded39740a226fa88ab"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:dc15e99b2d8a656f8e666854404f1ba54765871104e50c8e9813af8a7db07f12"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:ab2e5bef076f5a235c3774b4f4028a680432cded7cad37bba0fd90d64b187d19"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:4ec9dd88a5b71abfc74e9df5ebe7921c35cbb3b641181a531ca65cdb5e8e4dea"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:43193c5cda5d612f247172016c4bb71251c784d7a4d9314677186a838ad34858"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:aa693779a8b50cd97570e5a0f343538a8dbd3e496fa5dcb87e29406ad0299654"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-win32.whl", hash = "sha256:7706f5850360ac01d80c89bcef1640683cc12ed87f42579dab6c5d3ed6888613"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:c3e446d253bd88f6377260d07c895816ebf33ffffd56c1c792b13bff9c3e1ade"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:980b4f289d1d90ca5efcf07958d3eb38ed9c0b7676bf2831a54d4f66f9c27dfa"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f28f891ccd15c514a0981f3b9db9aa23d62fe1a99997512b0491d2ed323d229a"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a8aacce6e2e1edcb6ac625fb0f8c3a9570ccc7bfba1f63419b3769ccf6a00ed0"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bd7af3717683bea4c87acd8c0d3d5b44d56120b26fd3f8a692bdd2d5260c620a"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5ff2ed8194587faf56555927b3aa10e6fb69d931e33953943bc4f837dfee2242"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e91f541a85298cf35433bf66f3fab2a4a2cff05c127eeca4af174f6d497f0d4b"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:309a7de0a0ff3040acaebb35ec45d18db4b28232f21998851cfa709eeff49d62"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:285e96d9d53422efc0d7a17c60e59f37fbf3dfa942073f666db4ac71e8d726d0"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:5d447056e2ca60382d460a604b6302d8db69476fd2015c81e7c35417cfabe4cd"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:20587d20f557fe189b7947d8e7ec5afa110ccf72a3128d61a2a387c3313f46be"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:130272c698667a982a5d0e626851ceff662565379baf0ff2cc58067b81d4f11d"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:ab22fbd9765e6954bc0bcff24c25ff71dcbfdb185fcdaca49e81bac68fe724d3"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:7782afc9b6b42200f7362858f9e73b1f8316afb276d316336c0ec3bd73312742"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-win32.whl", hash = "sha256:2de62e8801ddfff069cd5c504ce3bc9672b23266597d4e4f50eda28846c322f2"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:95c3c157765b031331dd4db3c775e58deaee050a3042fcad72cbc4189d7c8dca"}, - {file = "charset_normalizer-3.4.0-py3-none-any.whl", hash = "sha256:fe9f97feb71aa9896b81973a7bbada8c49501dc73e58a10fcef6663af95e5079"}, - {file = "charset_normalizer-3.4.0.tar.gz", hash = "sha256:223217c3d4f82c3ac5e29032b3f1c2eb0fb591b72161f86d93f5719079dae93e"}, -] - -[[package]] -name = "click" -version = "8.1.7" -description = "Composable command line interface toolkit" -optional = false -python-versions = ">=3.7" -files = [ - {file = "click-8.1.7-py3-none-any.whl", hash = "sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28"}, - {file = "click-8.1.7.tar.gz", hash = "sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de"}, -] - -[package.dependencies] -colorama = {version = "*", markers = "platform_system == \"Windows\""} - -[[package]] -name = "coincurve" -version = "20.0.0" -description = "Cross-platform Python CFFI bindings for libsecp256k1" -optional = false -python-versions = ">=3.8" -files = [ - {file = "coincurve-20.0.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d559b22828638390118cae9372a1bb6f6594f5584c311deb1de6a83163a0919b"}, - {file = "coincurve-20.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:33d7f6ebd90fcc550f819f7f2cce2af525c342aac07f0ccda46ad8956ad9d99b"}, - {file = "coincurve-20.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22d70dd55d13fd427418eb41c20fde0a20a5e5f016e2b1bb94710701e759e7e0"}, - {file = "coincurve-20.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:46f18d481eaae72c169f334cde1fd22011a884e0c9c6adc3fdc1fd13df8236a3"}, - {file = "coincurve-20.0.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9de1ec57f43c3526bc462be58fb97910dc1fdd5acab6c71eda9f9719a5bd7489"}, - {file = "coincurve-20.0.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:a6f007c44c726b5c0b3724093c0d4fb8e294f6b6869beb02d7473b21777473a3"}, - {file = "coincurve-20.0.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:0ff1f3b81330db5092c24da2102e4fcba5094f14945b3eb40746456ceabdd6d9"}, - {file = "coincurve-20.0.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:82f7de97694d9343f26bd1c8e081b168e5f525894c12445548ce458af227f536"}, - {file = "coincurve-20.0.0-cp310-cp310-win_amd64.whl", hash = "sha256:e905b4b084b4f3b61e5a5d58ac2632fd1d07b7b13b4c6d778335a6ca1dafd7a3"}, - {file = "coincurve-20.0.0-cp310-cp310-win_arm64.whl", hash = "sha256:3657bb5ed0baf1cf8cf356e7d44aa90a7902cc3dd4a435c6d4d0bed0553ad4f7"}, - {file = "coincurve-20.0.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:44087d1126d43925bf9a2391ce5601bf30ce0dba4466c239172dc43226696018"}, - {file = "coincurve-20.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:5ccf0ba38b0f307a9b3ce28933f6c71dc12ef3a0985712ca09f48591afd597c8"}, - {file = "coincurve-20.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:566bc5986debdf8572b6be824fd4de03d533c49f3de778e29f69017ae3fe82d8"}, - {file = "coincurve-20.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f4d70283168e146f025005c15406086513d5d35e89a60cf4326025930d45013a"}, - {file = "coincurve-20.0.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:763c6122dd7d5e7a81c86414ce360dbe9a2d4afa1ca6c853ee03d63820b3d0c5"}, - {file = "coincurve-20.0.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:f00c361c356bcea386d47a191bb8ac60429f4b51c188966a201bfecaf306ff7f"}, - {file = "coincurve-20.0.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:4af57bdadd2e64d117dd0b33cfefe76e90c7a6c496a7b034fc65fd01ec249b15"}, - {file = "coincurve-20.0.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:a26437b7cbde13fb6e09261610b788ca2a0ca2195c62030afd1e1e0d1a62e035"}, - {file = "coincurve-20.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:ed51f8bba35e6c7676ad65539c3dbc35acf014fc402101fa24f6b0a15a74ab9e"}, - {file = "coincurve-20.0.0-cp311-cp311-win_arm64.whl", hash = "sha256:594b840fc25d74118407edbbbc754b815f1bba9759dbf4f67f1c2b78396df2d3"}, - {file = "coincurve-20.0.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:4df4416a6c0370d777aa725a25b14b04e45aa228da1251c258ff91444643f688"}, - {file = "coincurve-20.0.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1ccc3e4db55abf3fc0e604a187fdb05f0702bc5952e503d9a75f4ae6eeb4cb3a"}, - {file = "coincurve-20.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ac8335b1658a2ef5b3eb66d52647742fe8c6f413ad5b9d5310d7ea6d8060d40f"}, - {file = "coincurve-20.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c7ac025e485a0229fd5394e0bf6b4a75f8a4f6cee0dcf6f0b01a2ef05c5210ff"}, - {file = "coincurve-20.0.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e46e3f1c21b3330857bcb1a3a5b942f645c8bce912a8a2b252216f34acfe4195"}, - {file = "coincurve-20.0.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:df9ff9b17a1d27271bf476cf3fa92df4c151663b11a55d8cea838b8f88d83624"}, - {file = "coincurve-20.0.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:4155759f071375699282e03b3d95fb473ee05c022641c077533e0d906311e57a"}, - {file = "coincurve-20.0.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:0530b9dd02fc6f6c2916716974b79bdab874227f560c422801ade290e3fc5013"}, - {file = "coincurve-20.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:eacf9c0ce8739c84549a89c083b1f3526c8780b84517ee75d6b43d276e55f8a0"}, - {file = "coincurve-20.0.0-cp312-cp312-win_arm64.whl", hash = "sha256:52a67bfddbd6224dfa42085c88ad176559801b57d6a8bd30d92ee040de88b7b3"}, - {file = "coincurve-20.0.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:61e951b1d695b62376f60519a84c4facaf756eeb9c5aff975bea0942833f185d"}, - {file = "coincurve-20.0.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4e9e548db77f4ea34c0d748dddefc698adb0ee3fab23ed19f80fb2118dac70f6"}, - {file = "coincurve-20.0.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8cdbf0da0e0809366fdfff236b7eb6e663669c7b1f46361a4c4d05f5b7e94c57"}, - {file = "coincurve-20.0.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d72222b4ecd3952e8ffcbf59bc7e0d1b181161ba170b60e5c8e1f359a43bbe7e"}, - {file = "coincurve-20.0.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9add43c4807f0c17a940ce4076334c28f51d09c145cd478400e89dcfb83fb59d"}, - {file = "coincurve-20.0.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:bcc94cceea6ec8863815134083e6221a034b1ecef822d0277cf6ad2e70009b7f"}, - {file = "coincurve-20.0.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:1ffbdfef6a6d147988eabaed681287a9a7e6ba45ecc0a8b94ba62ad0a7656d97"}, - {file = "coincurve-20.0.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:13335c19c7e5f36eaba2a53c68073d981980d7dc7abfee68d29f2da887ccd24e"}, - {file = "coincurve-20.0.0-cp38-cp38-win_amd64.whl", hash = "sha256:7fbfb8d16cf2bea2cf48fc5246d4cb0a06607d73bb5c57c007c9aed7509f855e"}, - {file = "coincurve-20.0.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4870047704cddaae7f0266a549c927407c2ba0ec92d689e3d2b511736812a905"}, - {file = "coincurve-20.0.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:81ce41263517b0a9f43cd570c87720b3c13324929584fa28d2e4095969b6015d"}, - {file = "coincurve-20.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:572083ccce6c7b514d482f25f394368f4ae888f478bd0b067519d33160ea2fcc"}, - {file = "coincurve-20.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ee5bc78a31a2f1370baf28aaff3949bc48f940a12b0359d1cd2c4115742874e6"}, - {file = "coincurve-20.0.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f2895d032e281c4e747947aae4bcfeef7c57eabfd9be22886c0ca4e1365c7c1f"}, - {file = "coincurve-20.0.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:d3e2f21957ada0e1742edbde117bb41758fa8691b69c8d186c23e9e522ea71cd"}, - {file = "coincurve-20.0.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:c2baa26b1aad1947ca07b3aa9e6a98940c5141c6bdd0f9b44d89e36da7282ffa"}, - {file = "coincurve-20.0.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:7eacc7944ddf9e2b7448ecbe84753841ab9874b8c332a4f5cc3b2f184db9f4a2"}, - {file = "coincurve-20.0.0-cp39-cp39-win_amd64.whl", hash = "sha256:c293c095dc690178b822cadaaeb81de3cc0d28f8bdf8216ed23551dcce153a26"}, - {file = "coincurve-20.0.0-cp39-cp39-win_arm64.whl", hash = "sha256:11a47083a0b7092d3eb50929f74ffd947c4a5e7035796b81310ea85289088c7a"}, - {file = "coincurve-20.0.0.tar.gz", hash = "sha256:872419e404300302e938849b6b92a196fabdad651060b559dc310e52f8392829"}, -] - -[package.dependencies] -asn1crypto = "*" -cffi = ">=1.3.0" - -[package.extras] -dev = ["coverage", "pytest", "pytest-benchmark"] - -[[package]] -name = "colorama" -version = "0.4.6" -description = "Cross-platform colored terminal text." -optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" -files = [ - {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, - {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, -] - -[[package]] -name = "cryptography" -version = "42.0.8" -description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." -optional = false -python-versions = ">=3.7" -files = [ - {file = "cryptography-42.0.8-cp37-abi3-macosx_10_12_universal2.whl", hash = "sha256:81d8a521705787afe7a18d5bfb47ea9d9cc068206270aad0b96a725022e18d2e"}, - {file = "cryptography-42.0.8-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:961e61cefdcb06e0c6d7e3a1b22ebe8b996eb2bf50614e89384be54c48c6b63d"}, - {file = "cryptography-42.0.8-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e3ec3672626e1b9e55afd0df6d774ff0e953452886e06e0f1eb7eb0c832e8902"}, - {file = "cryptography-42.0.8-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e599b53fd95357d92304510fb7bda8523ed1f79ca98dce2f43c115950aa78801"}, - {file = "cryptography-42.0.8-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:5226d5d21ab681f432a9c1cf8b658c0cb02533eece706b155e5fbd8a0cdd3949"}, - {file = "cryptography-42.0.8-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:6b7c4f03ce01afd3b76cf69a5455caa9cfa3de8c8f493e0d3ab7d20611c8dae9"}, - {file = "cryptography-42.0.8-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:2346b911eb349ab547076f47f2e035fc8ff2c02380a7cbbf8d87114fa0f1c583"}, - {file = "cryptography-42.0.8-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:ad803773e9df0b92e0a817d22fd8a3675493f690b96130a5e24f1b8fabbea9c7"}, - {file = "cryptography-42.0.8-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:2f66d9cd9147ee495a8374a45ca445819f8929a3efcd2e3df6428e46c3cbb10b"}, - {file = "cryptography-42.0.8-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:d45b940883a03e19e944456a558b67a41160e367a719833c53de6911cabba2b7"}, - {file = "cryptography-42.0.8-cp37-abi3-win32.whl", hash = "sha256:a0c5b2b0585b6af82d7e385f55a8bc568abff8923af147ee3c07bd8b42cda8b2"}, - {file = "cryptography-42.0.8-cp37-abi3-win_amd64.whl", hash = "sha256:57080dee41209e556a9a4ce60d229244f7a66ef52750f813bfbe18959770cfba"}, - {file = "cryptography-42.0.8-cp39-abi3-macosx_10_12_universal2.whl", hash = "sha256:dea567d1b0e8bc5764b9443858b673b734100c2871dc93163f58c46a97a83d28"}, - {file = "cryptography-42.0.8-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c4783183f7cb757b73b2ae9aed6599b96338eb957233c58ca8f49a49cc32fd5e"}, - {file = "cryptography-42.0.8-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a0608251135d0e03111152e41f0cc2392d1e74e35703960d4190b2e0f4ca9c70"}, - {file = "cryptography-42.0.8-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:dc0fdf6787f37b1c6b08e6dfc892d9d068b5bdb671198c72072828b80bd5fe4c"}, - {file = "cryptography-42.0.8-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:9c0c1716c8447ee7dbf08d6db2e5c41c688544c61074b54fc4564196f55c25a7"}, - {file = "cryptography-42.0.8-cp39-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:fff12c88a672ab9c9c1cf7b0c80e3ad9e2ebd9d828d955c126be4fd3e5578c9e"}, - {file = "cryptography-42.0.8-cp39-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:cafb92b2bc622cd1aa6a1dce4b93307792633f4c5fe1f46c6b97cf67073ec961"}, - {file = "cryptography-42.0.8-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:31f721658a29331f895a5a54e7e82075554ccfb8b163a18719d342f5ffe5ecb1"}, - {file = "cryptography-42.0.8-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:b297f90c5723d04bcc8265fc2a0f86d4ea2e0f7ab4b6994459548d3a6b992a14"}, - {file = "cryptography-42.0.8-cp39-abi3-win32.whl", hash = "sha256:2f88d197e66c65be5e42cd72e5c18afbfae3f741742070e3019ac8f4ac57262c"}, - {file = "cryptography-42.0.8-cp39-abi3-win_amd64.whl", hash = "sha256:fa76fbb7596cc5839320000cdd5d0955313696d9511debab7ee7278fc8b5c84a"}, - {file = "cryptography-42.0.8-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:ba4f0a211697362e89ad822e667d8d340b4d8d55fae72cdd619389fb5912eefe"}, - {file = "cryptography-42.0.8-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:81884c4d096c272f00aeb1f11cf62ccd39763581645b0812e99a91505fa48e0c"}, - {file = "cryptography-42.0.8-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:c9bb2ae11bfbab395bdd072985abde58ea9860ed84e59dbc0463a5d0159f5b71"}, - {file = "cryptography-42.0.8-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:7016f837e15b0a1c119d27ecd89b3515f01f90a8615ed5e9427e30d9cdbfed3d"}, - {file = "cryptography-42.0.8-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:5a94eccb2a81a309806027e1670a358b99b8fe8bfe9f8d329f27d72c094dde8c"}, - {file = "cryptography-42.0.8-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:dec9b018df185f08483f294cae6ccac29e7a6e0678996587363dc352dc65c842"}, - {file = "cryptography-42.0.8-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:343728aac38decfdeecf55ecab3264b015be68fc2816ca800db649607aeee648"}, - {file = "cryptography-42.0.8-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:013629ae70b40af70c9a7a5db40abe5d9054e6f4380e50ce769947b73bf3caad"}, - {file = "cryptography-42.0.8.tar.gz", hash = "sha256:8d09d05439ce7baa8e9e95b07ec5b6c886f548deb7e0f69ef25f64b3bce842f2"}, -] - -[package.dependencies] -cffi = {version = ">=1.12", markers = "platform_python_implementation != \"PyPy\""} - -[package.extras] -docs = ["sphinx (>=5.3.0)", "sphinx-rtd-theme (>=1.1.1)"] -docstest = ["pyenchant (>=1.6.11)", "readme-renderer", "sphinxcontrib-spelling (>=4.0.1)"] -nox = ["nox"] -pep8test = ["check-sdist", "click", "mypy", "ruff"] -sdist = ["build"] -ssh = ["bcrypt (>=3.1.5)"] -test = ["certifi", "pretend", "pytest (>=6.2.0)", "pytest-benchmark", "pytest-cov", "pytest-xdist"] -test-randomorder = ["pytest-randomly"] - -[[package]] -name = "deprecated" -version = "1.2.14" -description = "Python @deprecated decorator to deprecate old python classes, functions or methods." -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -files = [ - {file = "Deprecated-1.2.14-py2.py3-none-any.whl", hash = "sha256:6fac8b097794a90302bdbb17b9b815e732d3c4720583ff1b198499d78470466c"}, - {file = "Deprecated-1.2.14.tar.gz", hash = "sha256:e5323eb936458dccc2582dc6f9c322c852a775a27065ff2b0c4970b9d53d01b3"}, -] - -[package.dependencies] -wrapt = ">=1.10,<2" - -[package.extras] -dev = ["PyTest", "PyTest-Cov", "bump2version (<1)", "sphinx (<2)", "tox"] - -[[package]] -name = "distlib" -version = "0.3.9" -description = "Distribution utilities" -optional = false -python-versions = "*" -files = [ - {file = "distlib-0.3.9-py2.py3-none-any.whl", hash = "sha256:47f8c22fd27c27e25a65601af709b38e4f0a45ea4fc2e710f65755fa8caaaf87"}, - {file = "distlib-0.3.9.tar.gz", hash = "sha256:a60f20dea646b8a33f3e7772f74dc0b2d0772d2837ee1342a00645c81edf9403"}, -] - -[[package]] -name = "dnspython" -version = "2.7.0" -description = "DNS toolkit" -optional = false -python-versions = ">=3.9" -files = [ - {file = "dnspython-2.7.0-py3-none-any.whl", hash = "sha256:b4c34b7d10b51bcc3a5071e7b8dee77939f1e878477eeecc965e9835f63c6c86"}, - {file = "dnspython-2.7.0.tar.gz", hash = "sha256:ce9c432eda0dc91cf618a5cedf1a4e142651196bbcd2c80e89ed5a907e5cfaf1"}, -] - -[package.extras] -dev = ["black (>=23.1.0)", "coverage (>=7.0)", "flake8 (>=7)", "hypercorn (>=0.16.0)", "mypy (>=1.8)", "pylint (>=3)", "pytest (>=7.4)", "pytest-cov (>=4.1.0)", "quart-trio (>=0.11.0)", "sphinx (>=7.2.0)", "sphinx-rtd-theme (>=2.0.0)", "twine (>=4.0.0)", "wheel (>=0.42.0)"] -dnssec = ["cryptography (>=43)"] -doh = ["h2 (>=4.1.0)", "httpcore (>=1.0.0)", "httpx (>=0.26.0)"] -doq = ["aioquic (>=1.0.0)"] -idna = ["idna (>=3.7)"] -trio = ["trio (>=0.23)"] -wmi = ["wmi (>=1.5.1)"] - -[[package]] -name = "ecdsa" -version = "0.19.0" -description = "ECDSA cryptographic signature library (pure python)" -optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.6" -files = [ - {file = "ecdsa-0.19.0-py2.py3-none-any.whl", hash = "sha256:2cea9b88407fdac7bbeca0833b189e4c9c53f2ef1e1eaa29f6224dbc809b707a"}, - {file = "ecdsa-0.19.0.tar.gz", hash = "sha256:60eaad1199659900dd0af521ed462b793bbdf867432b3948e87416ae4caf6bf8"}, -] - -[package.dependencies] -six = ">=1.9.0" - -[package.extras] -gmpy = ["gmpy"] -gmpy2 = ["gmpy2"] - -[[package]] -name = "email-validator" -version = "2.2.0" -description = "A robust email address syntax and deliverability validation library." -optional = false -python-versions = ">=3.8" -files = [ - {file = "email_validator-2.2.0-py3-none-any.whl", hash = "sha256:561977c2d73ce3611850a06fa56b414621e0c8faa9d66f2611407d87465da631"}, - {file = "email_validator-2.2.0.tar.gz", hash = "sha256:cb690f344c617a714f22e66ae771445a1ceb46821152df8e165c5f9a364582b7"}, -] - -[package.dependencies] -dnspython = ">=2.0.0" -idna = ">=2.0.0" - -[[package]] -name = "embit" -version = "0.8.0" -description = "A minimal bitcoin library for MicroPython and Python3 with a focus on embedded systems." -optional = false -python-versions = "*" -files = [ - {file = "embit-0.8.0.tar.gz", hash = "sha256:8bf4b10073c67400370ce523fb16f035fe759f6fdd987c579bdcc268d75ed770"}, -] - -[package.extras] -dev = ["black", "mkdocs", "mkdocs-material", "mkdocstrings[python]", "mypy", "pre-commit", "pytest", "pytest-cov", "requests"] - -[[package]] -name = "environs" -version = "9.5.0" -description = "simplified environment variable parsing" -optional = false -python-versions = ">=3.6" -files = [ - {file = "environs-9.5.0-py2.py3-none-any.whl", hash = "sha256:1e549569a3de49c05f856f40bce86979e7d5ffbbc4398e7f338574c220189124"}, - {file = "environs-9.5.0.tar.gz", hash = "sha256:a76307b36fbe856bdca7ee9161e6c466fd7fcffc297109a118c59b54e27e30c9"}, -] - -[package.dependencies] -marshmallow = ">=3.0.0" -python-dotenv = "*" - -[package.extras] -dev = ["dj-database-url", "dj-email-url", "django-cache-url", "flake8 (==4.0.1)", "flake8-bugbear (==21.9.2)", "mypy (==0.910)", "pre-commit (>=2.4,<3.0)", "pytest", "tox"] -django = ["dj-database-url", "dj-email-url", "django-cache-url"] -lint = ["flake8 (==4.0.1)", "flake8-bugbear (==21.9.2)", "mypy (==0.910)", "pre-commit (>=2.4,<3.0)"] -tests = ["dj-database-url", "dj-email-url", "django-cache-url", "pytest"] - -[[package]] -name = "exceptiongroup" -version = "1.2.2" -description = "Backport of PEP 654 (exception groups)" -optional = false -python-versions = ">=3.7" -files = [ - {file = "exceptiongroup-1.2.2-py3-none-any.whl", hash = "sha256:3111b9d131c238bec2f8f516e123e14ba243563fb135d3fe885990585aa7795b"}, - {file = "exceptiongroup-1.2.2.tar.gz", hash = "sha256:47c2edf7c6738fafb49fd34290706d1a1a2f4d1c6df275526b62cbb4aa5393cc"}, -] - -[package.extras] -test = ["pytest (>=6)"] - -[[package]] -name = "fastapi" -version = "0.115.2" -description = "FastAPI framework, high performance, easy to learn, fast to code, ready for production" -optional = false -python-versions = ">=3.8" -files = [ - {file = "fastapi-0.115.2-py3-none-any.whl", hash = "sha256:61704c71286579cc5a598763905928f24ee98bfcc07aabe84cfefb98812bbc86"}, - {file = "fastapi-0.115.2.tar.gz", hash = "sha256:3995739e0b09fa12f984bce8fa9ae197b35d433750d3d312422d846e283697ee"}, -] - -[package.dependencies] -pydantic = ">=1.7.4,<1.8 || >1.8,<1.8.1 || >1.8.1,<2.0.0 || >2.0.0,<2.0.1 || >2.0.1,<2.1.0 || >2.1.0,<3.0.0" -starlette = ">=0.37.2,<0.41.0" -typing-extensions = ">=4.8.0" - -[package.extras] -all = ["email-validator (>=2.0.0)", "fastapi-cli[standard] (>=0.0.5)", "httpx (>=0.23.0)", "itsdangerous (>=1.1.0)", "jinja2 (>=2.11.2)", "orjson (>=3.2.1)", "pydantic-extra-types (>=2.0.0)", "pydantic-settings (>=2.0.0)", "python-multipart (>=0.0.7)", "pyyaml (>=5.3.1)", "ujson (>=4.0.1,!=4.0.2,!=4.1.0,!=4.2.0,!=4.3.0,!=5.0.0,!=5.1.0)", "uvicorn[standard] (>=0.12.0)"] -standard = ["email-validator (>=2.0.0)", "fastapi-cli[standard] (>=0.0.5)", "httpx (>=0.23.0)", "jinja2 (>=2.11.2)", "python-multipart (>=0.0.7)", "uvicorn[standard] (>=0.12.0)"] - -[[package]] -name = "fastapi-sso" -version = "0.15.0" -description = "FastAPI plugin to enable SSO to most common providers (such as Facebook login, Google login and login via Microsoft Office 365 Account)" -optional = false -python-versions = "<4.0,>=3.8" -files = [ - {file = "fastapi_sso-0.15.0-py3-none-any.whl", hash = "sha256:071e0c204181bdb6a8afad2714f9f6abad32bd8984b9e57500ff0d2b680fdb37"}, - {file = "fastapi_sso-0.15.0.tar.gz", hash = "sha256:9717c3e0f88ae7cccb43fa1827e6b85fa2621a4c41b21347ddebf719b40abc15"}, -] - -[package.dependencies] -fastapi = ">=0.80" -httpx = ">=0.23.0" -oauthlib = ">=3.1.0" -pydantic = {version = ">=1.8.0", extras = ["email"]} - -[[package]] -name = "filelock" -version = "3.16.1" -description = "A platform independent file lock." -optional = false -python-versions = ">=3.8" -files = [ - {file = "filelock-3.16.1-py3-none-any.whl", hash = "sha256:2082e5703d51fbf98ea75855d9d5527e33d8ff23099bec374a134febee6946b0"}, - {file = "filelock-3.16.1.tar.gz", hash = "sha256:c249fbfcd5db47e5e2d6d62198e565475ee65e4831e2561c8e313fa7eb961435"}, -] - -[package.extras] -docs = ["furo (>=2024.8.6)", "sphinx (>=8.0.2)", "sphinx-autodoc-typehints (>=2.4.1)"] -testing = ["covdefaults (>=2.3)", "coverage (>=7.6.1)", "diff-cover (>=9.2)", "pytest (>=8.3.3)", "pytest-asyncio (>=0.24)", "pytest-cov (>=5)", "pytest-mock (>=3.14)", "pytest-timeout (>=2.3.1)", "virtualenv (>=20.26.4)"] -typing = ["typing-extensions (>=4.12.2)"] - -[[package]] -name = "greenlet" -version = "3.1.1" -description = "Lightweight in-process concurrent programming" -optional = false -python-versions = ">=3.7" -files = [ - {file = "greenlet-3.1.1-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:0bbae94a29c9e5c7e4a2b7f0aae5c17e8e90acbfd3bf6270eeba60c39fce3563"}, - {file = "greenlet-3.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0fde093fb93f35ca72a556cf72c92ea3ebfda3d79fc35bb19fbe685853869a83"}, - {file = "greenlet-3.1.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:36b89d13c49216cadb828db8dfa6ce86bbbc476a82d3a6c397f0efae0525bdd0"}, - {file = "greenlet-3.1.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:94b6150a85e1b33b40b1464a3f9988dcc5251d6ed06842abff82e42632fac120"}, - {file = "greenlet-3.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:93147c513fac16385d1036b7e5b102c7fbbdb163d556b791f0f11eada7ba65dc"}, - {file = "greenlet-3.1.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:da7a9bff22ce038e19bf62c4dd1ec8391062878710ded0a845bcf47cc0200617"}, - {file = "greenlet-3.1.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:b2795058c23988728eec1f36a4e5e4ebad22f8320c85f3587b539b9ac84128d7"}, - {file = "greenlet-3.1.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:ed10eac5830befbdd0c32f83e8aa6288361597550ba669b04c48f0f9a2c843c6"}, - {file = "greenlet-3.1.1-cp310-cp310-win_amd64.whl", hash = "sha256:77c386de38a60d1dfb8e55b8c1101d68c79dfdd25c7095d51fec2dd800892b80"}, - {file = "greenlet-3.1.1-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:e4d333e558953648ca09d64f13e6d8f0523fa705f51cae3f03b5983489958c70"}, - {file = "greenlet-3.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:09fc016b73c94e98e29af67ab7b9a879c307c6731a2c9da0db5a7d9b7edd1159"}, - {file = "greenlet-3.1.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d5e975ca70269d66d17dd995dafc06f1b06e8cb1ec1e9ed54c1d1e4a7c4cf26e"}, - {file = "greenlet-3.1.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3b2813dc3de8c1ee3f924e4d4227999285fd335d1bcc0d2be6dc3f1f6a318ec1"}, - {file = "greenlet-3.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e347b3bfcf985a05e8c0b7d462ba6f15b1ee1c909e2dcad795e49e91b152c383"}, - {file = "greenlet-3.1.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9e8f8c9cb53cdac7ba9793c276acd90168f416b9ce36799b9b885790f8ad6c0a"}, - {file = "greenlet-3.1.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:62ee94988d6b4722ce0028644418d93a52429e977d742ca2ccbe1c4f4a792511"}, - {file = "greenlet-3.1.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:1776fd7f989fc6b8d8c8cb8da1f6b82c5814957264d1f6cf818d475ec2bf6395"}, - {file = "greenlet-3.1.1-cp311-cp311-win_amd64.whl", hash = "sha256:48ca08c771c268a768087b408658e216133aecd835c0ded47ce955381105ba39"}, - {file = "greenlet-3.1.1-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:4afe7ea89de619adc868e087b4d2359282058479d7cfb94970adf4b55284574d"}, - {file = "greenlet-3.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f406b22b7c9a9b4f8aa9d2ab13d6ae0ac3e85c9a809bd590ad53fed2bf70dc79"}, - {file = "greenlet-3.1.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c3a701fe5a9695b238503ce5bbe8218e03c3bcccf7e204e455e7462d770268aa"}, - {file = "greenlet-3.1.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2846930c65b47d70b9d178e89c7e1a69c95c1f68ea5aa0a58646b7a96df12441"}, - {file = "greenlet-3.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:99cfaa2110534e2cf3ba31a7abcac9d328d1d9f1b95beede58294a60348fba36"}, - {file = "greenlet-3.1.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1443279c19fca463fc33e65ef2a935a5b09bb90f978beab37729e1c3c6c25fe9"}, - {file = "greenlet-3.1.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:b7cede291382a78f7bb5f04a529cb18e068dd29e0fb27376074b6d0317bf4dd0"}, - {file = "greenlet-3.1.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:23f20bb60ae298d7d8656c6ec6db134bca379ecefadb0b19ce6f19d1f232a942"}, - {file = "greenlet-3.1.1-cp312-cp312-win_amd64.whl", hash = "sha256:7124e16b4c55d417577c2077be379514321916d5790fa287c9ed6f23bd2ffd01"}, - {file = "greenlet-3.1.1-cp313-cp313-macosx_11_0_universal2.whl", hash = "sha256:05175c27cb459dcfc05d026c4232f9de8913ed006d42713cb8a5137bd49375f1"}, - {file = "greenlet-3.1.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:935e943ec47c4afab8965954bf49bfa639c05d4ccf9ef6e924188f762145c0ff"}, - {file = "greenlet-3.1.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:667a9706c970cb552ede35aee17339a18e8f2a87a51fba2ed39ceeeb1004798a"}, - {file = "greenlet-3.1.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b8a678974d1f3aa55f6cc34dc480169d58f2e6d8958895d68845fa4ab566509e"}, - {file = "greenlet-3.1.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:efc0f674aa41b92da8c49e0346318c6075d734994c3c4e4430b1c3f853e498e4"}, - {file = "greenlet-3.1.1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0153404a4bb921f0ff1abeb5ce8a5131da56b953eda6e14b88dc6bbc04d2049e"}, - {file = "greenlet-3.1.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:275f72decf9932639c1c6dd1013a1bc266438eb32710016a1c742df5da6e60a1"}, - {file = "greenlet-3.1.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:c4aab7f6381f38a4b42f269057aee279ab0fc7bf2e929e3d4abfae97b682a12c"}, - {file = "greenlet-3.1.1-cp313-cp313-win_amd64.whl", hash = "sha256:b42703b1cf69f2aa1df7d1030b9d77d3e584a70755674d60e710f0af570f3761"}, - {file = "greenlet-3.1.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f1695e76146579f8c06c1509c7ce4dfe0706f49c6831a817ac04eebb2fd02011"}, - {file = "greenlet-3.1.1-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7876452af029456b3f3549b696bb36a06db7c90747740c5302f74a9e9fa14b13"}, - {file = "greenlet-3.1.1-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4ead44c85f8ab905852d3de8d86f6f8baf77109f9da589cb4fa142bd3b57b475"}, - {file = "greenlet-3.1.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8320f64b777d00dd7ccdade271eaf0cad6636343293a25074cc5566160e4de7b"}, - {file = "greenlet-3.1.1-cp313-cp313t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6510bf84a6b643dabba74d3049ead221257603a253d0a9873f55f6a59a65f822"}, - {file = "greenlet-3.1.1-cp313-cp313t-musllinux_1_1_aarch64.whl", hash = "sha256:04b013dc07c96f83134b1e99888e7a79979f1a247e2a9f59697fa14b5862ed01"}, - {file = "greenlet-3.1.1-cp313-cp313t-musllinux_1_1_x86_64.whl", hash = "sha256:411f015496fec93c1c8cd4e5238da364e1da7a124bcb293f085bf2860c32c6f6"}, - {file = "greenlet-3.1.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:47da355d8687fd65240c364c90a31569a133b7b60de111c255ef5b606f2ae291"}, - {file = "greenlet-3.1.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:98884ecf2ffb7d7fe6bd517e8eb99d31ff7855a840fa6d0d63cd07c037f6a981"}, - {file = "greenlet-3.1.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f1d4aeb8891338e60d1ab6127af1fe45def5259def8094b9c7e34690c8858803"}, - {file = "greenlet-3.1.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:db32b5348615a04b82240cc67983cb315309e88d444a288934ee6ceaebcad6cc"}, - {file = "greenlet-3.1.1-cp37-cp37m-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:dcc62f31eae24de7f8dce72134c8651c58000d3b1868e01392baea7c32c247de"}, - {file = "greenlet-3.1.1-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:1d3755bcb2e02de341c55b4fca7a745a24a9e7212ac953f6b3a48d117d7257aa"}, - {file = "greenlet-3.1.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:b8da394b34370874b4572676f36acabac172602abf054cbc4ac910219f3340af"}, - {file = "greenlet-3.1.1-cp37-cp37m-win32.whl", hash = "sha256:a0dfc6c143b519113354e780a50381508139b07d2177cb6ad6a08278ec655798"}, - {file = "greenlet-3.1.1-cp37-cp37m-win_amd64.whl", hash = "sha256:54558ea205654b50c438029505def3834e80f0869a70fb15b871c29b4575ddef"}, - {file = "greenlet-3.1.1-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:346bed03fe47414091be4ad44786d1bd8bef0c3fcad6ed3dee074a032ab408a9"}, - {file = "greenlet-3.1.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dfc59d69fc48664bc693842bd57acfdd490acafda1ab52c7836e3fc75c90a111"}, - {file = "greenlet-3.1.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d21e10da6ec19b457b82636209cbe2331ff4306b54d06fa04b7c138ba18c8a81"}, - {file = "greenlet-3.1.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:37b9de5a96111fc15418819ab4c4432e4f3c2ede61e660b1e33971eba26ef9ba"}, - {file = "greenlet-3.1.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6ef9ea3f137e5711f0dbe5f9263e8c009b7069d8a1acea822bd5e9dae0ae49c8"}, - {file = "greenlet-3.1.1-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:85f3ff71e2e60bd4b4932a043fbbe0f499e263c628390b285cb599154a3b03b1"}, - {file = "greenlet-3.1.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:95ffcf719966dd7c453f908e208e14cde192e09fde6c7186c8f1896ef778d8cd"}, - {file = "greenlet-3.1.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:03a088b9de532cbfe2ba2034b2b85e82df37874681e8c470d6fb2f8c04d7e4b7"}, - {file = "greenlet-3.1.1-cp38-cp38-win32.whl", hash = "sha256:8b8b36671f10ba80e159378df9c4f15c14098c4fd73a36b9ad715f057272fbef"}, - {file = "greenlet-3.1.1-cp38-cp38-win_amd64.whl", hash = "sha256:7017b2be767b9d43cc31416aba48aab0d2309ee31b4dbf10a1d38fb7972bdf9d"}, - {file = "greenlet-3.1.1-cp39-cp39-macosx_11_0_universal2.whl", hash = "sha256:396979749bd95f018296af156201d6211240e7a23090f50a8d5d18c370084dc3"}, - {file = "greenlet-3.1.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ca9d0ff5ad43e785350894d97e13633a66e2b50000e8a183a50a88d834752d42"}, - {file = "greenlet-3.1.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f6ff3b14f2df4c41660a7dec01045a045653998784bf8cfcb5a525bdffffbc8f"}, - {file = "greenlet-3.1.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:94ebba31df2aa506d7b14866fed00ac141a867e63143fe5bca82a8e503b36437"}, - {file = "greenlet-3.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:73aaad12ac0ff500f62cebed98d8789198ea0e6f233421059fa68a5aa7220145"}, - {file = "greenlet-3.1.1-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:63e4844797b975b9af3a3fb8f7866ff08775f5426925e1e0bbcfe7932059a12c"}, - {file = "greenlet-3.1.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:7939aa3ca7d2a1593596e7ac6d59391ff30281ef280d8632fa03d81f7c5f955e"}, - {file = "greenlet-3.1.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:d0028e725ee18175c6e422797c407874da24381ce0690d6b9396c204c7f7276e"}, - {file = "greenlet-3.1.1-cp39-cp39-win32.whl", hash = "sha256:5e06afd14cbaf9e00899fae69b24a32f2196c19de08fcb9f4779dd4f004e5e7c"}, - {file = "greenlet-3.1.1-cp39-cp39-win_amd64.whl", hash = "sha256:3319aa75e0e0639bc15ff54ca327e8dc7a6fe404003496e3c6925cd3142e0e22"}, - {file = "greenlet-3.1.1.tar.gz", hash = "sha256:4ce3ac6cdb6adf7946475d7ef31777c26d94bccc377e070a7986bd2d5c515467"}, -] - -[package.extras] -docs = ["Sphinx", "furo"] -test = ["objgraph", "psutil"] - -[[package]] -name = "grpcio" -version = "1.66.1" -description = "HTTP/2-based RPC framework" -optional = false -python-versions = ">=3.8" -files = [ - {file = "grpcio-1.66.1-cp310-cp310-linux_armv7l.whl", hash = "sha256:4877ba180591acdf127afe21ec1c7ff8a5ecf0fe2600f0d3c50e8c4a1cbc6492"}, - {file = "grpcio-1.66.1-cp310-cp310-macosx_12_0_universal2.whl", hash = "sha256:3750c5a00bd644c75f4507f77a804d0189d97a107eb1481945a0cf3af3e7a5ac"}, - {file = "grpcio-1.66.1-cp310-cp310-manylinux_2_17_aarch64.whl", hash = "sha256:a013c5fbb12bfb5f927444b477a26f1080755a931d5d362e6a9a720ca7dbae60"}, - {file = "grpcio-1.66.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b1b24c23d51a1e8790b25514157d43f0a4dce1ac12b3f0b8e9f66a5e2c4c132f"}, - {file = "grpcio-1.66.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b7ffb8ea674d68de4cac6f57d2498fef477cef582f1fa849e9f844863af50083"}, - {file = "grpcio-1.66.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:307b1d538140f19ccbd3aed7a93d8f71103c5d525f3c96f8616111614b14bf2a"}, - {file = "grpcio-1.66.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:1c17ebcec157cfb8dd445890a03e20caf6209a5bd4ac5b040ae9dbc59eef091d"}, - {file = "grpcio-1.66.1-cp310-cp310-win32.whl", hash = "sha256:ef82d361ed5849d34cf09105d00b94b6728d289d6b9235513cb2fcc79f7c432c"}, - {file = "grpcio-1.66.1-cp310-cp310-win_amd64.whl", hash = "sha256:292a846b92cdcd40ecca46e694997dd6b9be6c4c01a94a0dfb3fcb75d20da858"}, - {file = "grpcio-1.66.1-cp311-cp311-linux_armv7l.whl", hash = "sha256:c30aeceeaff11cd5ddbc348f37c58bcb96da8d5aa93fed78ab329de5f37a0d7a"}, - {file = "grpcio-1.66.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:8a1e224ce6f740dbb6b24c58f885422deebd7eb724aff0671a847f8951857c26"}, - {file = "grpcio-1.66.1-cp311-cp311-manylinux_2_17_aarch64.whl", hash = "sha256:a66fe4dc35d2330c185cfbb42959f57ad36f257e0cc4557d11d9f0a3f14311df"}, - {file = "grpcio-1.66.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e3ba04659e4fce609de2658fe4dbf7d6ed21987a94460f5f92df7579fd5d0e22"}, - {file = "grpcio-1.66.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4573608e23f7e091acfbe3e84ac2045680b69751d8d67685ffa193a4429fedb1"}, - {file = "grpcio-1.66.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:7e06aa1f764ec8265b19d8f00140b8c4b6ca179a6dc67aa9413867c47e1fb04e"}, - {file = "grpcio-1.66.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:3885f037eb11f1cacc41f207b705f38a44b69478086f40608959bf5ad85826dd"}, - {file = "grpcio-1.66.1-cp311-cp311-win32.whl", hash = "sha256:97ae7edd3f3f91480e48ede5d3e7d431ad6005bfdbd65c1b56913799ec79e791"}, - {file = "grpcio-1.66.1-cp311-cp311-win_amd64.whl", hash = "sha256:cfd349de4158d797db2bd82d2020554a121674e98fbe6b15328456b3bf2495bb"}, - {file = "grpcio-1.66.1-cp312-cp312-linux_armv7l.whl", hash = "sha256:a92c4f58c01c77205df6ff999faa008540475c39b835277fb8883b11cada127a"}, - {file = "grpcio-1.66.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:fdb14bad0835914f325349ed34a51940bc2ad965142eb3090081593c6e347be9"}, - {file = "grpcio-1.66.1-cp312-cp312-manylinux_2_17_aarch64.whl", hash = "sha256:f03a5884c56256e08fd9e262e11b5cfacf1af96e2ce78dc095d2c41ccae2c80d"}, - {file = "grpcio-1.66.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2ca2559692d8e7e245d456877a85ee41525f3ed425aa97eb7a70fc9a79df91a0"}, - {file = "grpcio-1.66.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:84ca1be089fb4446490dd1135828bd42a7c7f8421e74fa581611f7afdf7ab761"}, - {file = "grpcio-1.66.1-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:d639c939ad7c440c7b2819a28d559179a4508783f7e5b991166f8d7a34b52815"}, - {file = "grpcio-1.66.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:b9feb4e5ec8dc2d15709f4d5fc367794d69277f5d680baf1910fc9915c633524"}, - {file = "grpcio-1.66.1-cp312-cp312-win32.whl", hash = "sha256:7101db1bd4cd9b880294dec41a93fcdce465bdbb602cd8dc5bd2d6362b618759"}, - {file = "grpcio-1.66.1-cp312-cp312-win_amd64.whl", hash = "sha256:b0aa03d240b5539648d996cc60438f128c7f46050989e35b25f5c18286c86734"}, - {file = "grpcio-1.66.1-cp38-cp38-linux_armv7l.whl", hash = "sha256:ecfe735e7a59e5a98208447293ff8580e9db1e890e232b8b292dc8bd15afc0d2"}, - {file = "grpcio-1.66.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:4825a3aa5648010842e1c9d35a082187746aa0cdbf1b7a2a930595a94fb10fce"}, - {file = "grpcio-1.66.1-cp38-cp38-manylinux_2_17_aarch64.whl", hash = "sha256:f517fd7259fe823ef3bd21e508b653d5492e706e9f0ef82c16ce3347a8a5620c"}, - {file = "grpcio-1.66.1-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f1fe60d0772831d96d263b53d83fb9a3d050a94b0e94b6d004a5ad111faa5b5b"}, - {file = "grpcio-1.66.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:31a049daa428f928f21090403e5d18ea02670e3d5d172581670be006100db9ef"}, - {file = "grpcio-1.66.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:6f914386e52cbdeb5d2a7ce3bf1fdfacbe9d818dd81b6099a05b741aaf3848bb"}, - {file = "grpcio-1.66.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:bff2096bdba686019fb32d2dde45b95981f0d1490e054400f70fc9a8af34b49d"}, - {file = "grpcio-1.66.1-cp38-cp38-win32.whl", hash = "sha256:aa8ba945c96e73de29d25331b26f3e416e0c0f621e984a3ebdb2d0d0b596a3b3"}, - {file = "grpcio-1.66.1-cp38-cp38-win_amd64.whl", hash = "sha256:161d5c535c2bdf61b95080e7f0f017a1dfcb812bf54093e71e5562b16225b4ce"}, - {file = "grpcio-1.66.1-cp39-cp39-linux_armv7l.whl", hash = "sha256:d0cd7050397b3609ea51727b1811e663ffda8bda39c6a5bb69525ef12414b503"}, - {file = "grpcio-1.66.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:0e6c9b42ded5d02b6b1fea3a25f036a2236eeb75d0579bfd43c0018c88bf0a3e"}, - {file = "grpcio-1.66.1-cp39-cp39-manylinux_2_17_aarch64.whl", hash = "sha256:c9f80f9fad93a8cf71c7f161778ba47fd730d13a343a46258065c4deb4b550c0"}, - {file = "grpcio-1.66.1-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5dd67ed9da78e5121efc5c510f0122a972216808d6de70953a740560c572eb44"}, - {file = "grpcio-1.66.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:48b0d92d45ce3be2084b92fb5bae2f64c208fea8ceed7fccf6a7b524d3c4942e"}, - {file = "grpcio-1.66.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:4d813316d1a752be6f5c4360c49f55b06d4fe212d7df03253dfdae90c8a402bb"}, - {file = "grpcio-1.66.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:9c9bebc6627873ec27a70fc800f6083a13c70b23a5564788754b9ee52c5aef6c"}, - {file = "grpcio-1.66.1-cp39-cp39-win32.whl", hash = "sha256:30a1c2cf9390c894c90bbc70147f2372130ad189cffef161f0432d0157973f45"}, - {file = "grpcio-1.66.1-cp39-cp39-win_amd64.whl", hash = "sha256:17663598aadbedc3cacd7bbde432f541c8e07d2496564e22b214b22c7523dac8"}, - {file = "grpcio-1.66.1.tar.gz", hash = "sha256:35334f9c9745add3e357e3372756fd32d925bd52c41da97f4dfdafbde0bf0ee2"}, -] - -[package.extras] -protobuf = ["grpcio-tools (>=1.66.1)"] - -[[package]] -name = "h11" -version = "0.14.0" -description = "A pure-Python, bring-your-own-I/O implementation of HTTP/1.1" -optional = false -python-versions = ">=3.7" -files = [ - {file = "h11-0.14.0-py3-none-any.whl", hash = "sha256:e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761"}, - {file = "h11-0.14.0.tar.gz", hash = "sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d"}, -] - -[[package]] -name = "http-ece" -version = "1.2.1" -description = "Encrypted Content Encoding for HTTP" -optional = false -python-versions = "*" -files = [ - {file = "http_ece-1.2.1.tar.gz", hash = "sha256:8c6ab23116bbf6affda894acfd5f2ca0fb8facbcbb72121c11c75c33e7ce8cff"}, -] - -[package.dependencies] -cryptography = ">=2.5" - -[[package]] -name = "httpcore" -version = "1.0.6" -description = "A minimal low-level HTTP client." -optional = false -python-versions = ">=3.8" -files = [ - {file = "httpcore-1.0.6-py3-none-any.whl", hash = "sha256:27b59625743b85577a8c0e10e55b50b5368a4f2cfe8cc7bcfa9cf00829c2682f"}, - {file = "httpcore-1.0.6.tar.gz", hash = "sha256:73f6dbd6eb8c21bbf7ef8efad555481853f5f6acdeaff1edb0694289269ee17f"}, -] - -[package.dependencies] -certifi = "*" -h11 = ">=0.13,<0.15" - -[package.extras] -asyncio = ["anyio (>=4.0,<5.0)"] -http2 = ["h2 (>=3,<5)"] -socks = ["socksio (==1.*)"] -trio = ["trio (>=0.22.0,<1.0)"] - -[[package]] -name = "httpx" -version = "0.27.0" -description = "The next generation HTTP client." -optional = false -python-versions = ">=3.8" -files = [ - {file = "httpx-0.27.0-py3-none-any.whl", hash = "sha256:71d5465162c13681bff01ad59b2cc68dd838ea1f10e51574bac27103f00c91a5"}, - {file = "httpx-0.27.0.tar.gz", hash = "sha256:a0cb88a46f32dc874e04ee956e4c2764aba2aa228f650b06788ba6bda2962ab5"}, -] - -[package.dependencies] -anyio = "*" -certifi = "*" -httpcore = "==1.*" -idna = "*" -sniffio = "*" - -[package.extras] -brotli = ["brotli", "brotlicffi"] -cli = ["click (==8.*)", "pygments (==2.*)", "rich (>=10,<14)"] -http2 = ["h2 (>=3,<5)"] -socks = ["socksio (==1.*)"] - -[[package]] -name = "identify" -version = "2.6.1" -description = "File identification library for Python" -optional = false -python-versions = ">=3.8" -files = [ - {file = "identify-2.6.1-py2.py3-none-any.whl", hash = "sha256:53863bcac7caf8d2ed85bd20312ea5dcfc22226800f6d6881f232d861db5a8f0"}, - {file = "identify-2.6.1.tar.gz", hash = "sha256:91478c5fb7c3aac5ff7bf9b4344f803843dc586832d5f110d672b19aa1984c98"}, -] - -[package.extras] -license = ["ukkonen"] - -[[package]] -name = "idna" -version = "3.10" -description = "Internationalized Domain Names in Applications (IDNA)" -optional = false -python-versions = ">=3.6" -files = [ - {file = "idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3"}, - {file = "idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9"}, -] - -[package.extras] -all = ["flake8 (>=7.1.1)", "mypy (>=1.11.2)", "pytest (>=8.3.2)", "ruff (>=0.6.2)"] - -[[package]] -name = "importlib-resources" -version = "6.4.5" -description = "Read resources from Python packages" -optional = false -python-versions = ">=3.8" -files = [ - {file = "importlib_resources-6.4.5-py3-none-any.whl", hash = "sha256:ac29d5f956f01d5e4bb63102a5a19957f1b9175e45649977264a1416783bb717"}, - {file = "importlib_resources-6.4.5.tar.gz", hash = "sha256:980862a1d16c9e147a59603677fa2aa5fd82b87f223b6cb870695bcfce830065"}, -] - -[package.dependencies] -zipp = {version = ">=3.1.0", markers = "python_version < \"3.10\""} - -[package.extras] -check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)"] -cover = ["pytest-cov"] -doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] -enabler = ["pytest-enabler (>=2.2)"] -test = ["jaraco.test (>=5.4)", "pytest (>=6,!=8.1.*)", "zipp (>=3.17)"] -type = ["pytest-mypy"] - -[[package]] -name = "iniconfig" -version = "2.0.0" -description = "brain-dead simple config-ini parsing" -optional = false -python-versions = ">=3.7" -files = [ - {file = "iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374"}, - {file = "iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3"}, -] - -[[package]] -name = "itsdangerous" -version = "2.2.0" -description = "Safely pass data to untrusted environments and back." -optional = false -python-versions = ">=3.8" -files = [ - {file = "itsdangerous-2.2.0-py3-none-any.whl", hash = "sha256:c6242fc49e35958c8b15141343aa660db5fc54d4f13a1db01a3f5891b98700ef"}, - {file = "itsdangerous-2.2.0.tar.gz", hash = "sha256:e0050c0b7da1eea53ffaf149c0cfbb5c6e2e2b69c4bef22c81fa6eb73e5f6173"}, -] - -[[package]] -name = "jinja2" -version = "3.1.4" -description = "A very fast and expressive template engine." -optional = false -python-versions = ">=3.7" -files = [ - {file = "jinja2-3.1.4-py3-none-any.whl", hash = "sha256:bc5dd2abb727a5319567b7a813e6a2e7318c39f4f487cfe6c89c6f9c7d25197d"}, - {file = "jinja2-3.1.4.tar.gz", hash = "sha256:4a3aee7acbbe7303aede8e9648d13b8bf88a429282aa6122a993f0ac800cb369"}, -] - -[package.dependencies] -MarkupSafe = ">=2.0" - -[package.extras] -i18n = ["Babel (>=2.7)"] - -[[package]] -name = "limits" -version = "3.13.0" -description = "Rate limiting utilities" -optional = false -python-versions = ">=3.8" -files = [ - {file = "limits-3.13.0-py3-none-any.whl", hash = "sha256:9767f7233da4255e9904b79908a728e8ec0984c0b086058b4cbbd309aea553f6"}, - {file = "limits-3.13.0.tar.gz", hash = "sha256:6571b0c567bfa175a35fed9f8a954c0c92f1c3200804282f1b8f1de4ad98a953"}, -] - -[package.dependencies] -deprecated = ">=1.2" -importlib-resources = ">=1.3" -packaging = ">=21,<25" -typing-extensions = "*" - -[package.extras] -all = ["aetcd", "coredis (>=3.4.0,<5)", "emcache (>=0.6.1)", "emcache (>=1)", "etcd3", "motor (>=3,<4)", "pymemcache (>3,<5.0.0)", "pymongo (>4.1,<5)", "redis (>3,!=4.5.2,!=4.5.3,<6.0.0)", "redis (>=4.2.0,!=4.5.2,!=4.5.3)"] -async-etcd = ["aetcd"] -async-memcached = ["emcache (>=0.6.1)", "emcache (>=1)"] -async-mongodb = ["motor (>=3,<4)"] -async-redis = ["coredis (>=3.4.0,<5)"] -etcd = ["etcd3"] -memcached = ["pymemcache (>3,<5.0.0)"] -mongodb = ["pymongo (>4.1,<5)"] -redis = ["redis (>3,!=4.5.2,!=4.5.3,<6.0.0)"] -rediscluster = ["redis (>=4.2.0,!=4.5.2,!=4.5.3)"] - -[[package]] -name = "lnbits" -version = "1.0.0rc5" -description = "LNbits, free and open-source Lightning wallet and accounts system." -optional = false -python-versions = "<4.0,>=3.9" -files = [ - {file = "lnbits-1.0.0rc5-py3-none-any.whl", hash = "sha256:3107a9c6711720299add7880b62c020cbf34cee2486d47f2c3ddd3f6b4a76b9d"}, - {file = "lnbits-1.0.0rc5.tar.gz", hash = "sha256:f5559efa5d9b81f89acc1510db052d6300b3e93e1d0acdc70204689501865a51"}, -] - -[package.dependencies] -aiosqlite = "0.20.0" -asyncpg = "0.29.0" -bcrypt = "4.2.0" -bech32 = "1.2.0" -bolt11 = "2.1.0" -click = "8.1.7" -ecdsa = "0.19.0" -embit = "0.8.0" -environs = "9.5.0" -fastapi = "0.115.2" -fastapi-sso = "0.15.0" -grpcio = "1.66.1" -httpx = "0.27.0" -itsdangerous = "2.2.0" -jinja2 = "3.1.4" -lnurl = "0.5.3" -loguru = "0.7.2" -packaging = "24.0" -passlib = "1.7.4" -protobuf = "5.28.0" -pycryptodomex = "3.20.0" -pydantic = "1.10.18" -pyjwt = "2.9.0" -pyln-client = "24.8.1" -pyqrcode = "1.2.1" -python-crontab = "3.2.0" -pywebpush = "1.14.1" -secp256k1 = "0.14.0" -shortuuid = "1.0.13" -slowapi = "0.1.9" -sqlalchemy = "1.4.54" -sse-starlette = "1.8.2" -typing-extensions = "4.12.2" -uvicorn = "0.30.6" -uvloop = "0.19.0" -websocket-client = "1.8.0" -websockets = "11.0.3" - -[package.extras] -breez = ["breez-sdk (==0.5.2)"] -liquid = ["wallycore (==1.3.0)"] - -[[package]] -name = "lnurl" -version = "0.5.3" -description = "LNURL implementation for Python." -optional = false -python-versions = "<4.0,>=3.9" -files = [ - {file = "lnurl-0.5.3-py3-none-any.whl", hash = "sha256:feaf6c60b0b7f104894ef3accbd30d23d52e038c2797c58432baea7f4a8aa952"}, - {file = "lnurl-0.5.3.tar.gz", hash = "sha256:60154bcfdbb98fb143eeca970a16d73a582f28e057a826b5f222259411c497fe"}, -] - -[package.dependencies] -bech32 = ">=1.2.0,<2.0.0" -bolt11 = ">=2.0.5,<3.0.0" -ecdsa = ">=0.19.0,<0.20.0" -httpx = ">=0.27.0,<0.28.0" -pydantic = ">=1,<2" - -[[package]] -name = "loguru" -version = "0.7.2" -description = "Python logging made (stupidly) simple" -optional = false -python-versions = ">=3.5" -files = [ - {file = "loguru-0.7.2-py3-none-any.whl", hash = "sha256:003d71e3d3ed35f0f8984898359d65b79e5b21943f78af86aa5491210429b8eb"}, - {file = "loguru-0.7.2.tar.gz", hash = "sha256:e671a53522515f34fd406340ee968cb9ecafbc4b36c679da03c18fd8d0bd51ac"}, -] - -[package.dependencies] -colorama = {version = ">=0.3.4", markers = "sys_platform == \"win32\""} -win32-setctime = {version = ">=1.0.0", markers = "sys_platform == \"win32\""} - -[package.extras] -dev = ["Sphinx (==7.2.5)", "colorama (==0.4.5)", "colorama (==0.4.6)", "exceptiongroup (==1.1.3)", "freezegun (==1.1.0)", "freezegun (==1.2.2)", "mypy (==v0.910)", "mypy (==v0.971)", "mypy (==v1.4.1)", "mypy (==v1.5.1)", "pre-commit (==3.4.0)", "pytest (==6.1.2)", "pytest (==7.4.0)", "pytest-cov (==2.12.1)", "pytest-cov (==4.1.0)", "pytest-mypy-plugins (==1.9.3)", "pytest-mypy-plugins (==3.0.0)", "sphinx-autobuild (==2021.3.14)", "sphinx-rtd-theme (==1.3.0)", "tox (==3.27.1)", "tox (==4.11.0)"] - -[[package]] -name = "markupsafe" -version = "3.0.2" -description = "Safely add untrusted strings to HTML/XML markup." -optional = false -python-versions = ">=3.9" -files = [ - {file = "MarkupSafe-3.0.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7e94c425039cde14257288fd61dcfb01963e658efbc0ff54f5306b06054700f8"}, - {file = "MarkupSafe-3.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9e2d922824181480953426608b81967de705c3cef4d1af983af849d7bd619158"}, - {file = "MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:38a9ef736c01fccdd6600705b09dc574584b89bea478200c5fbf112a6b0d5579"}, - {file = "MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bbcb445fa71794da8f178f0f6d66789a28d7319071af7a496d4d507ed566270d"}, - {file = "MarkupSafe-3.0.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:57cb5a3cf367aeb1d316576250f65edec5bb3be939e9247ae594b4bcbc317dfb"}, - {file = "MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:3809ede931876f5b2ec92eef964286840ed3540dadf803dd570c3b7e13141a3b"}, - {file = "MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e07c3764494e3776c602c1e78e298937c3315ccc9043ead7e685b7f2b8d47b3c"}, - {file = "MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b424c77b206d63d500bcb69fa55ed8d0e6a3774056bdc4839fc9298a7edca171"}, - {file = "MarkupSafe-3.0.2-cp310-cp310-win32.whl", hash = "sha256:fcabf5ff6eea076f859677f5f0b6b5c1a51e70a376b0579e0eadef8db48c6b50"}, - {file = "MarkupSafe-3.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:6af100e168aa82a50e186c82875a5893c5597a0c1ccdb0d8b40240b1f28b969a"}, - {file = "MarkupSafe-3.0.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9025b4018f3a1314059769c7bf15441064b2207cb3f065e6ea1e7359cb46db9d"}, - {file = "MarkupSafe-3.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:93335ca3812df2f366e80509ae119189886b0f3c2b81325d39efdb84a1e2ae93"}, - {file = "MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2cb8438c3cbb25e220c2ab33bb226559e7afb3baec11c4f218ffa7308603c832"}, - {file = "MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a123e330ef0853c6e822384873bef7507557d8e4a082961e1defa947aa59ba84"}, - {file = "MarkupSafe-3.0.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1e084f686b92e5b83186b07e8a17fc09e38fff551f3602b249881fec658d3eca"}, - {file = "MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d8213e09c917a951de9d09ecee036d5c7d36cb6cb7dbaece4c71a60d79fb9798"}, - {file = "MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:5b02fb34468b6aaa40dfc198d813a641e3a63b98c2b05a16b9f80b7ec314185e"}, - {file = "MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:0bff5e0ae4ef2e1ae4fdf2dfd5b76c75e5c2fa4132d05fc1b0dabcd20c7e28c4"}, - {file = "MarkupSafe-3.0.2-cp311-cp311-win32.whl", hash = "sha256:6c89876f41da747c8d3677a2b540fb32ef5715f97b66eeb0c6b66f5e3ef6f59d"}, - {file = "MarkupSafe-3.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:70a87b411535ccad5ef2f1df5136506a10775d267e197e4cf531ced10537bd6b"}, - {file = "MarkupSafe-3.0.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:9778bd8ab0a994ebf6f84c2b949e65736d5575320a17ae8984a77fab08db94cf"}, - {file = "MarkupSafe-3.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:846ade7b71e3536c4e56b386c2a47adf5741d2d8b94ec9dc3e92e5e1ee1e2225"}, - {file = "MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1c99d261bd2d5f6b59325c92c73df481e05e57f19837bdca8413b9eac4bd8028"}, - {file = "MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e17c96c14e19278594aa4841ec148115f9c7615a47382ecb6b82bd8fea3ab0c8"}, - {file = "MarkupSafe-3.0.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:88416bd1e65dcea10bc7569faacb2c20ce071dd1f87539ca2ab364bf6231393c"}, - {file = "MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2181e67807fc2fa785d0592dc2d6206c019b9502410671cc905d132a92866557"}, - {file = "MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:52305740fe773d09cffb16f8ed0427942901f00adedac82ec8b67752f58a1b22"}, - {file = "MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ad10d3ded218f1039f11a75f8091880239651b52e9bb592ca27de44eed242a48"}, - {file = "MarkupSafe-3.0.2-cp312-cp312-win32.whl", hash = "sha256:0f4ca02bea9a23221c0182836703cbf8930c5e9454bacce27e767509fa286a30"}, - {file = "MarkupSafe-3.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:8e06879fc22a25ca47312fbe7c8264eb0b662f6db27cb2d3bbbc74b1df4b9b87"}, - {file = "MarkupSafe-3.0.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ba9527cdd4c926ed0760bc301f6728ef34d841f405abf9d4f959c478421e4efd"}, - {file = "MarkupSafe-3.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f8b3d067f2e40fe93e1ccdd6b2e1d16c43140e76f02fb1319a05cf2b79d99430"}, - {file = "MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:569511d3b58c8791ab4c2e1285575265991e6d8f8700c7be0e88f86cb0672094"}, - {file = "MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15ab75ef81add55874e7ab7055e9c397312385bd9ced94920f2802310c930396"}, - {file = "MarkupSafe-3.0.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f3818cb119498c0678015754eba762e0d61e5b52d34c8b13d770f0719f7b1d79"}, - {file = "MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:cdb82a876c47801bb54a690c5ae105a46b392ac6099881cdfb9f6e95e4014c6a"}, - {file = "MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:cabc348d87e913db6ab4aa100f01b08f481097838bdddf7c7a84b7575b7309ca"}, - {file = "MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:444dcda765c8a838eaae23112db52f1efaf750daddb2d9ca300bcae1039adc5c"}, - {file = "MarkupSafe-3.0.2-cp313-cp313-win32.whl", hash = "sha256:bcf3e58998965654fdaff38e58584d8937aa3096ab5354d493c77d1fdd66d7a1"}, - {file = "MarkupSafe-3.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:e6a2a455bd412959b57a172ce6328d2dd1f01cb2135efda2e4576e8a23fa3b0f"}, - {file = "MarkupSafe-3.0.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:b5a6b3ada725cea8a5e634536b1b01c30bcdcd7f9c6fff4151548d5bf6b3a36c"}, - {file = "MarkupSafe-3.0.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:a904af0a6162c73e3edcb969eeeb53a63ceeb5d8cf642fade7d39e7963a22ddb"}, - {file = "MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4aa4e5faecf353ed117801a068ebab7b7e09ffb6e1d5e412dc852e0da018126c"}, - {file = "MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0ef13eaeee5b615fb07c9a7dadb38eac06a0608b41570d8ade51c56539e509d"}, - {file = "MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d16a81a06776313e817c951135cf7340a3e91e8c1ff2fac444cfd75fffa04afe"}, - {file = "MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:6381026f158fdb7c72a168278597a5e3a5222e83ea18f543112b2662a9b699c5"}, - {file = "MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:3d79d162e7be8f996986c064d1c7c817f6df3a77fe3d6859f6f9e7be4b8c213a"}, - {file = "MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:131a3c7689c85f5ad20f9f6fb1b866f402c445b220c19fe4308c0b147ccd2ad9"}, - {file = "MarkupSafe-3.0.2-cp313-cp313t-win32.whl", hash = "sha256:ba8062ed2cf21c07a9e295d5b8a2a5ce678b913b45fdf68c32d95d6c1291e0b6"}, - {file = "MarkupSafe-3.0.2-cp313-cp313t-win_amd64.whl", hash = "sha256:e444a31f8db13eb18ada366ab3cf45fd4b31e4db1236a4448f68778c1d1a5a2f"}, - {file = "MarkupSafe-3.0.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:eaa0a10b7f72326f1372a713e73c3f739b524b3af41feb43e4921cb529f5929a"}, - {file = "MarkupSafe-3.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:48032821bbdf20f5799ff537c7ac3d1fba0ba032cfc06194faffa8cda8b560ff"}, - {file = "MarkupSafe-3.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a9d3f5f0901fdec14d8d2f66ef7d035f2157240a433441719ac9a3fba440b13"}, - {file = "MarkupSafe-3.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:88b49a3b9ff31e19998750c38e030fc7bb937398b1f78cfa599aaef92d693144"}, - {file = "MarkupSafe-3.0.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cfad01eed2c2e0c01fd0ecd2ef42c492f7f93902e39a42fc9ee1692961443a29"}, - {file = "MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:1225beacc926f536dc82e45f8a4d68502949dc67eea90eab715dea3a21c1b5f0"}, - {file = "MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:3169b1eefae027567d1ce6ee7cae382c57fe26e82775f460f0b2778beaad66c0"}, - {file = "MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:eb7972a85c54febfb25b5c4b4f3af4dcc731994c7da0d8a0b4a6eb0640e1d178"}, - {file = "MarkupSafe-3.0.2-cp39-cp39-win32.whl", hash = "sha256:8c4e8c3ce11e1f92f6536ff07154f9d49677ebaaafc32db9db4620bc11ed480f"}, - {file = "MarkupSafe-3.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:6e296a513ca3d94054c2c881cc913116e90fd030ad1c656b3869762b754f5f8a"}, - {file = "markupsafe-3.0.2.tar.gz", hash = "sha256:ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0"}, -] - -[[package]] -name = "marshmallow" -version = "3.23.0" -description = "A lightweight library for converting complex datatypes to and from native Python datatypes." -optional = false -python-versions = ">=3.9" -files = [ - {file = "marshmallow-3.23.0-py3-none-any.whl", hash = "sha256:82f20a2397834fe6d9611b241f2f7e7b680ed89c49f84728a1ad937be6b4bdf4"}, - {file = "marshmallow-3.23.0.tar.gz", hash = "sha256:98d8827a9f10c03d44ead298d2e99c6aea8197df18ccfad360dae7f89a50da2e"}, -] - -[package.dependencies] -packaging = ">=17.0" - -[package.extras] -dev = ["marshmallow[tests]", "pre-commit (>=3.5,<5.0)", "tox"] -docs = ["alabaster (==1.0.0)", "autodocsumm (==0.2.13)", "sphinx (==8.1.3)", "sphinx-issues (==5.0.0)", "sphinx-version-warning (==1.1.2)"] -tests = ["pytest", "simplejson"] - -[[package]] -name = "mypy" -version = "1.12.1" -description = "Optional static typing for Python" -optional = false -python-versions = ">=3.8" -files = [ - {file = "mypy-1.12.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:3d7d4371829184e22fda4015278fbfdef0327a4b955a483012bd2d423a788801"}, - {file = "mypy-1.12.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f59f1dfbf497d473201356966e353ef09d4daec48caeacc0254db8ef633a28a5"}, - {file = "mypy-1.12.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b947097fae68004b8328c55161ac9db7d3566abfef72d9d41b47a021c2fba6b1"}, - {file = "mypy-1.12.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:96af62050971c5241afb4701c15189ea9507db89ad07794a4ee7b4e092dc0627"}, - {file = "mypy-1.12.1-cp310-cp310-win_amd64.whl", hash = "sha256:d90da248f4c2dba6c44ddcfea94bb361e491962f05f41990ff24dbd09969ce20"}, - {file = "mypy-1.12.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1230048fec1380faf240be6385e709c8570604d2d27ec6ca7e573e3bc09c3735"}, - {file = "mypy-1.12.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:02dcfe270c6ea13338210908f8cadc8d31af0f04cee8ca996438fe6a97b4ec66"}, - {file = "mypy-1.12.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a5a437c9102a6a252d9e3a63edc191a3aed5f2fcb786d614722ee3f4472e33f6"}, - {file = "mypy-1.12.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:186e0c8346efc027ee1f9acf5ca734425fc4f7dc2b60144f0fbe27cc19dc7931"}, - {file = "mypy-1.12.1-cp311-cp311-win_amd64.whl", hash = "sha256:673ba1140a478b50e6d265c03391702fa11a5c5aff3f54d69a62a48da32cb811"}, - {file = "mypy-1.12.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:9fb83a7be97c498176fb7486cafbb81decccaef1ac339d837c377b0ce3743a7f"}, - {file = "mypy-1.12.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:389e307e333879c571029d5b93932cf838b811d3f5395ed1ad05086b52148fb0"}, - {file = "mypy-1.12.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:94b2048a95a21f7a9ebc9fbd075a4fcd310410d078aa0228dbbad7f71335e042"}, - {file = "mypy-1.12.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4ee5932370ccf7ebf83f79d1c157a5929d7ea36313027b0d70a488493dc1b179"}, - {file = "mypy-1.12.1-cp312-cp312-win_amd64.whl", hash = "sha256:19bf51f87a295e7ab2894f1d8167622b063492d754e69c3c2fed6563268cb42a"}, - {file = "mypy-1.12.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:d34167d43613ffb1d6c6cdc0cc043bb106cac0aa5d6a4171f77ab92a3c758bcc"}, - {file = "mypy-1.12.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:427878aa54f2e2c5d8db31fa9010c599ed9f994b3b49e64ae9cd9990c40bd635"}, - {file = "mypy-1.12.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5fcde63ea2c9f69d6be859a1e6dd35955e87fa81de95bc240143cf00de1f7f81"}, - {file = "mypy-1.12.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:d54d840f6c052929f4a3d2aab2066af0f45a020b085fe0e40d4583db52aab4e4"}, - {file = "mypy-1.12.1-cp313-cp313-win_amd64.whl", hash = "sha256:20db6eb1ca3d1de8ece00033b12f793f1ea9da767334b7e8c626a4872090cf02"}, - {file = "mypy-1.12.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:b16fe09f9c741d85a2e3b14a5257a27a4f4886c171d562bc5a5e90d8591906b8"}, - {file = "mypy-1.12.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:0dcc1e843d58f444fce19da4cce5bd35c282d4bde232acdeca8279523087088a"}, - {file = "mypy-1.12.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e10ba7de5c616e44ad21005fa13450cd0de7caaa303a626147d45307492e4f2d"}, - {file = "mypy-1.12.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:0e6fe449223fa59fbee351db32283838a8fee8059e0028e9e6494a03802b4004"}, - {file = "mypy-1.12.1-cp38-cp38-win_amd64.whl", hash = "sha256:dc6e2a2195a290a7fd5bac3e60b586d77fc88e986eba7feced8b778c373f9afe"}, - {file = "mypy-1.12.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:de5b2a8988b4e1269a98beaf0e7cc71b510d050dce80c343b53b4955fff45f19"}, - {file = "mypy-1.12.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:843826966f1d65925e8b50d2b483065c51fc16dc5d72647e0236aae51dc8d77e"}, - {file = "mypy-1.12.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9fe20f89da41a95e14c34b1ddb09c80262edcc295ad891f22cc4b60013e8f78d"}, - {file = "mypy-1.12.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8135ffec02121a75f75dc97c81af7c14aa4ae0dda277132cfcd6abcd21551bfd"}, - {file = "mypy-1.12.1-cp39-cp39-win_amd64.whl", hash = "sha256:a7b76fa83260824300cc4834a3ab93180db19876bce59af921467fd03e692810"}, - {file = "mypy-1.12.1-py3-none-any.whl", hash = "sha256:ce561a09e3bb9863ab77edf29ae3a50e65685ad74bba1431278185b7e5d5486e"}, - {file = "mypy-1.12.1.tar.gz", hash = "sha256:f5b3936f7a6d0e8280c9bdef94c7ce4847f5cdfc258fbb2c29a8c1711e8bb96d"}, -] - -[package.dependencies] -mypy-extensions = ">=1.0.0" -tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""} -typing-extensions = ">=4.6.0" - -[package.extras] -dmypy = ["psutil (>=4.0)"] -install-types = ["pip"] -mypyc = ["setuptools (>=50)"] -reports = ["lxml"] - -[[package]] -name = "mypy-extensions" -version = "1.0.0" -description = "Type system extensions for programs checked with the mypy type checker." -optional = false -python-versions = ">=3.5" -files = [ - {file = "mypy_extensions-1.0.0-py3-none-any.whl", hash = "sha256:4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d"}, - {file = "mypy_extensions-1.0.0.tar.gz", hash = "sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782"}, -] - -[[package]] -name = "nodeenv" -version = "1.9.1" -description = "Node.js virtual environment builder" -optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" -files = [ - {file = "nodeenv-1.9.1-py2.py3-none-any.whl", hash = "sha256:ba11c9782d29c27c70ffbdda2d7415098754709be8a7056d79a737cd901155c9"}, - {file = "nodeenv-1.9.1.tar.gz", hash = "sha256:6ec12890a2dab7946721edbfbcd91f3319c6ccc9aec47be7c7e6b7011ee6645f"}, -] - -[[package]] -name = "oauthlib" -version = "3.2.2" -description = "A generic, spec-compliant, thorough implementation of the OAuth request-signing logic" -optional = false -python-versions = ">=3.6" -files = [ - {file = "oauthlib-3.2.2-py3-none-any.whl", hash = "sha256:8139f29aac13e25d502680e9e19963e83f16838d48a0d71c287fe40e7067fbca"}, - {file = "oauthlib-3.2.2.tar.gz", hash = "sha256:9859c40929662bec5d64f34d01c99e093149682a3f38915dc0655d5a633dd918"}, -] - -[package.extras] -rsa = ["cryptography (>=3.0.0)"] -signals = ["blinker (>=1.4.0)"] -signedtoken = ["cryptography (>=3.0.0)", "pyjwt (>=2.0.0,<3)"] - -[[package]] -name = "packaging" -version = "24.0" -description = "Core utilities for Python packages" -optional = false -python-versions = ">=3.7" -files = [ - {file = "packaging-24.0-py3-none-any.whl", hash = "sha256:2ddfb553fdf02fb784c234c7ba6ccc288296ceabec964ad2eae3777778130bc5"}, - {file = "packaging-24.0.tar.gz", hash = "sha256:eb82c5e3e56209074766e6885bb04b8c38a0c015d0a30036ebe7ece34c9989e9"}, -] - -[[package]] -name = "passlib" -version = "1.7.4" -description = "comprehensive password hashing framework supporting over 30 schemes" -optional = false -python-versions = "*" -files = [ - {file = "passlib-1.7.4-py2.py3-none-any.whl", hash = "sha256:aa6bca462b8d8bda89c70b382f0c298a20b5560af6cbfa2dce410c0a2fb669f1"}, - {file = "passlib-1.7.4.tar.gz", hash = "sha256:defd50f72b65c5402ab2c573830a6978e5f202ad0d984793c8dde2c4152ebe04"}, -] - -[package.extras] -argon2 = ["argon2-cffi (>=18.2.0)"] -bcrypt = ["bcrypt (>=3.1.0)"] -build-docs = ["cloud-sptheme (>=1.10.1)", "sphinx (>=1.6)", "sphinxcontrib-fulltoc (>=1.2.0)"] -totp = ["cryptography"] - -[[package]] -name = "pathspec" -version = "0.12.1" -description = "Utility library for gitignore style pattern matching of file paths." -optional = false -python-versions = ">=3.8" -files = [ - {file = "pathspec-0.12.1-py3-none-any.whl", hash = "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08"}, - {file = "pathspec-0.12.1.tar.gz", hash = "sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712"}, -] - -[[package]] -name = "platformdirs" -version = "4.3.6" -description = "A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`." -optional = false -python-versions = ">=3.8" -files = [ - {file = "platformdirs-4.3.6-py3-none-any.whl", hash = "sha256:73e575e1408ab8103900836b97580d5307456908a03e92031bab39e4554cc3fb"}, - {file = "platformdirs-4.3.6.tar.gz", hash = "sha256:357fb2acbc885b0419afd3ce3ed34564c13c9b95c89360cd9563f73aa5e2b907"}, -] - -[package.extras] -docs = ["furo (>=2024.8.6)", "proselint (>=0.14)", "sphinx (>=8.0.2)", "sphinx-autodoc-typehints (>=2.4)"] -test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=8.3.2)", "pytest-cov (>=5)", "pytest-mock (>=3.14)"] -type = ["mypy (>=1.11.2)"] - -[[package]] -name = "pluggy" -version = "1.5.0" -description = "plugin and hook calling mechanisms for python" -optional = false -python-versions = ">=3.8" -files = [ - {file = "pluggy-1.5.0-py3-none-any.whl", hash = "sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669"}, - {file = "pluggy-1.5.0.tar.gz", hash = "sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1"}, -] - -[package.extras] -dev = ["pre-commit", "tox"] -testing = ["pytest", "pytest-benchmark"] - -[[package]] -name = "pre-commit" -version = "3.8.0" -description = "A framework for managing and maintaining multi-language pre-commit hooks." -optional = false -python-versions = ">=3.9" -files = [ - {file = "pre_commit-3.8.0-py2.py3-none-any.whl", hash = "sha256:9a90a53bf82fdd8778d58085faf8d83df56e40dfe18f45b19446e26bf1b3a63f"}, - {file = "pre_commit-3.8.0.tar.gz", hash = "sha256:8bb6494d4a20423842e198980c9ecf9f96607a07ea29549e180eef9ae80fe7af"}, -] - -[package.dependencies] -cfgv = ">=2.0.0" -identify = ">=1.0.0" -nodeenv = ">=0.11.1" -pyyaml = ">=5.1" -virtualenv = ">=20.10.0" - -[[package]] -name = "protobuf" -version = "5.28.0" -description = "" -optional = false -python-versions = ">=3.8" -files = [ - {file = "protobuf-5.28.0-cp310-abi3-win32.whl", hash = "sha256:66c3edeedb774a3508ae70d87b3a19786445fe9a068dd3585e0cefa8a77b83d0"}, - {file = "protobuf-5.28.0-cp310-abi3-win_amd64.whl", hash = "sha256:6d7cc9e60f976cf3e873acb9a40fed04afb5d224608ed5c1a105db4a3f09c5b6"}, - {file = "protobuf-5.28.0-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:532627e8fdd825cf8767a2d2b94d77e874d5ddb0adefb04b237f7cc296748681"}, - {file = "protobuf-5.28.0-cp38-abi3-manylinux2014_aarch64.whl", hash = "sha256:018db9056b9d75eb93d12a9d35120f97a84d9a919bcab11ed56ad2d399d6e8dd"}, - {file = "protobuf-5.28.0-cp38-abi3-manylinux2014_x86_64.whl", hash = "sha256:6206afcb2d90181ae8722798dcb56dc76675ab67458ac24c0dd7d75d632ac9bd"}, - {file = "protobuf-5.28.0-cp38-cp38-win32.whl", hash = "sha256:eef7a8a2f4318e2cb2dee8666d26e58eaf437c14788f3a2911d0c3da40405ae8"}, - {file = "protobuf-5.28.0-cp38-cp38-win_amd64.whl", hash = "sha256:d001a73c8bc2bf5b5c1360d59dd7573744e163b3607fa92788b7f3d5fefbd9a5"}, - {file = "protobuf-5.28.0-cp39-cp39-win32.whl", hash = "sha256:dde9fcaa24e7a9654f4baf2a55250b13a5ea701493d904c54069776b99a8216b"}, - {file = "protobuf-5.28.0-cp39-cp39-win_amd64.whl", hash = "sha256:853db610214e77ee817ecf0514e0d1d052dff7f63a0c157aa6eabae98db8a8de"}, - {file = "protobuf-5.28.0-py3-none-any.whl", hash = "sha256:510ed78cd0980f6d3218099e874714cdf0d8a95582e7b059b06cabad855ed0a0"}, - {file = "protobuf-5.28.0.tar.gz", hash = "sha256:dde74af0fa774fa98892209992295adbfb91da3fa98c8f67a88afe8f5a349add"}, -] - -[[package]] -name = "py-vapid" -version = "1.9.1" -description = "Simple VAPID header generation library" -optional = false -python-versions = "*" -files = [ - {file = "py_vapid-1.9.1.tar.gz", hash = "sha256:fe2b5461bf45c7baff1039df6981f03b87faa87cde0482addfa35b3fe636ac1b"}, -] - -[package.dependencies] -cryptography = ">=2.5" - -[[package]] -name = "pycparser" -version = "2.22" -description = "C parser in Python" -optional = false -python-versions = ">=3.8" -files = [ - {file = "pycparser-2.22-py3-none-any.whl", hash = "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc"}, - {file = "pycparser-2.22.tar.gz", hash = "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6"}, -] - -[[package]] -name = "pycryptodomex" -version = "3.20.0" -description = "Cryptographic library for Python" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" -files = [ - {file = "pycryptodomex-3.20.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:645bd4ca6f543685d643dadf6a856cc382b654cc923460e3a10a49c1b3832aeb"}, - {file = "pycryptodomex-3.20.0-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:ff5c9a67f8a4fba4aed887216e32cbc48f2a6fb2673bb10a99e43be463e15913"}, - {file = "pycryptodomex-3.20.0-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:8ee606964553c1a0bc74057dd8782a37d1c2bc0f01b83193b6f8bb14523b877b"}, - {file = "pycryptodomex-3.20.0-cp27-cp27m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7805830e0c56d88f4d491fa5ac640dfc894c5ec570d1ece6ed1546e9df2e98d6"}, - {file = "pycryptodomex-3.20.0-cp27-cp27m-musllinux_1_1_aarch64.whl", hash = "sha256:bc3ee1b4d97081260d92ae813a83de4d2653206967c4a0a017580f8b9548ddbc"}, - {file = "pycryptodomex-3.20.0-cp27-cp27m-win32.whl", hash = "sha256:8af1a451ff9e123d0d8bd5d5e60f8e3315c3a64f3cdd6bc853e26090e195cdc8"}, - {file = "pycryptodomex-3.20.0-cp27-cp27m-win_amd64.whl", hash = "sha256:cbe71b6712429650e3883dc81286edb94c328ffcd24849accac0a4dbcc76958a"}, - {file = "pycryptodomex-3.20.0-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:76bd15bb65c14900d98835fcd10f59e5e0435077431d3a394b60b15864fddd64"}, - {file = "pycryptodomex-3.20.0-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:653b29b0819605fe0898829c8ad6400a6ccde096146730c2da54eede9b7b8baa"}, - {file = "pycryptodomex-3.20.0-cp27-cp27mu-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:62a5ec91388984909bb5398ea49ee61b68ecb579123694bffa172c3b0a107079"}, - {file = "pycryptodomex-3.20.0-cp27-cp27mu-musllinux_1_1_aarch64.whl", hash = "sha256:108e5f1c1cd70ffce0b68739c75734437c919d2eaec8e85bffc2c8b4d2794305"}, - {file = "pycryptodomex-3.20.0-cp35-abi3-macosx_10_9_universal2.whl", hash = "sha256:59af01efb011b0e8b686ba7758d59cf4a8263f9ad35911bfe3f416cee4f5c08c"}, - {file = "pycryptodomex-3.20.0-cp35-abi3-macosx_10_9_x86_64.whl", hash = "sha256:82ee7696ed8eb9a82c7037f32ba9b7c59e51dda6f105b39f043b6ef293989cb3"}, - {file = "pycryptodomex-3.20.0-cp35-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:91852d4480a4537d169c29a9d104dda44094c78f1f5b67bca76c29a91042b623"}, - {file = "pycryptodomex-3.20.0-cp35-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bca649483d5ed251d06daf25957f802e44e6bb6df2e8f218ae71968ff8f8edc4"}, - {file = "pycryptodomex-3.20.0-cp35-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6e186342cfcc3aafaad565cbd496060e5a614b441cacc3995ef0091115c1f6c5"}, - {file = "pycryptodomex-3.20.0-cp35-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:25cd61e846aaab76d5791d006497134602a9e451e954833018161befc3b5b9ed"}, - {file = "pycryptodomex-3.20.0-cp35-abi3-musllinux_1_1_i686.whl", hash = "sha256:9c682436c359b5ada67e882fec34689726a09c461efd75b6ea77b2403d5665b7"}, - {file = "pycryptodomex-3.20.0-cp35-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:7a7a8f33a1f1fb762ede6cc9cbab8f2a9ba13b196bfaf7bc6f0b39d2ba315a43"}, - {file = "pycryptodomex-3.20.0-cp35-abi3-win32.whl", hash = "sha256:c39778fd0548d78917b61f03c1fa8bfda6cfcf98c767decf360945fe6f97461e"}, - {file = "pycryptodomex-3.20.0-cp35-abi3-win_amd64.whl", hash = "sha256:2a47bcc478741b71273b917232f521fd5704ab4b25d301669879e7273d3586cc"}, - {file = "pycryptodomex-3.20.0-pp27-pypy_73-manylinux2010_x86_64.whl", hash = "sha256:1be97461c439a6af4fe1cf8bf6ca5936d3db252737d2f379cc6b2e394e12a458"}, - {file = "pycryptodomex-3.20.0-pp27-pypy_73-win32.whl", hash = "sha256:19764605feea0df966445d46533729b645033f134baeb3ea26ad518c9fdf212c"}, - {file = "pycryptodomex-3.20.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:f2e497413560e03421484189a6b65e33fe800d3bd75590e6d78d4dfdb7accf3b"}, - {file = "pycryptodomex-3.20.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e48217c7901edd95f9f097feaa0388da215ed14ce2ece803d3f300b4e694abea"}, - {file = "pycryptodomex-3.20.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d00fe8596e1cc46b44bf3907354e9377aa030ec4cd04afbbf6e899fc1e2a7781"}, - {file = "pycryptodomex-3.20.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:88afd7a3af7ddddd42c2deda43d53d3dfc016c11327d0915f90ca34ebda91499"}, - {file = "pycryptodomex-3.20.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:d3584623e68a5064a04748fb6d76117a21a7cb5eaba20608a41c7d0c61721794"}, - {file = "pycryptodomex-3.20.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0daad007b685db36d977f9de73f61f8da2a7104e20aca3effd30752fd56f73e1"}, - {file = "pycryptodomex-3.20.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5dcac11031a71348faaed1f403a0debd56bf5404232284cf8c761ff918886ebc"}, - {file = "pycryptodomex-3.20.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:69138068268127cd605e03438312d8f271135a33140e2742b417d027a0539427"}, - {file = "pycryptodomex-3.20.0.tar.gz", hash = "sha256:7a710b79baddd65b806402e14766c721aee8fb83381769c27920f26476276c1e"}, -] - -[[package]] -name = "pydantic" -version = "1.10.18" -description = "Data validation and settings management using python type hints" -optional = false -python-versions = ">=3.7" -files = [ - {file = "pydantic-1.10.18-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e405ffcc1254d76bb0e760db101ee8916b620893e6edfbfee563b3c6f7a67c02"}, - {file = "pydantic-1.10.18-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e306e280ebebc65040034bff1a0a81fd86b2f4f05daac0131f29541cafd80b80"}, - {file = "pydantic-1.10.18-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:11d9d9b87b50338b1b7de4ebf34fd29fdb0d219dc07ade29effc74d3d2609c62"}, - {file = "pydantic-1.10.18-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b661ce52c7b5e5f600c0c3c5839e71918346af2ef20062705ae76b5c16914cab"}, - {file = "pydantic-1.10.18-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:c20f682defc9ef81cd7eaa485879ab29a86a0ba58acf669a78ed868e72bb89e0"}, - {file = "pydantic-1.10.18-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c5ae6b7c8483b1e0bf59e5f1843e4fd8fd405e11df7de217ee65b98eb5462861"}, - {file = "pydantic-1.10.18-cp310-cp310-win_amd64.whl", hash = "sha256:74fe19dda960b193b0eb82c1f4d2c8e5e26918d9cda858cbf3f41dd28549cb70"}, - {file = "pydantic-1.10.18-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:72fa46abace0a7743cc697dbb830a41ee84c9db8456e8d77a46d79b537efd7ec"}, - {file = "pydantic-1.10.18-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ef0fe7ad7cbdb5f372463d42e6ed4ca9c443a52ce544472d8842a0576d830da5"}, - {file = "pydantic-1.10.18-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a00e63104346145389b8e8f500bc6a241e729feaf0559b88b8aa513dd2065481"}, - {file = "pydantic-1.10.18-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ae6fa2008e1443c46b7b3a5eb03800121868d5ab6bc7cda20b5df3e133cde8b3"}, - {file = "pydantic-1.10.18-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:9f463abafdc92635da4b38807f5b9972276be7c8c5121989768549fceb8d2588"}, - {file = "pydantic-1.10.18-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:3445426da503c7e40baccefb2b2989a0c5ce6b163679dd75f55493b460f05a8f"}, - {file = "pydantic-1.10.18-cp311-cp311-win_amd64.whl", hash = "sha256:467a14ee2183bc9c902579bb2f04c3d3dac00eff52e252850509a562255b2a33"}, - {file = "pydantic-1.10.18-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:efbc8a7f9cb5fe26122acba1852d8dcd1e125e723727c59dcd244da7bdaa54f2"}, - {file = "pydantic-1.10.18-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:24a4a159d0f7a8e26bf6463b0d3d60871d6a52eac5bb6a07a7df85c806f4c048"}, - {file = "pydantic-1.10.18-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b74be007703547dc52e3c37344d130a7bfacca7df112a9e5ceeb840a9ce195c7"}, - {file = "pydantic-1.10.18-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fcb20d4cb355195c75000a49bb4a31d75e4295200df620f454bbc6bdf60ca890"}, - {file = "pydantic-1.10.18-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:46f379b8cb8a3585e3f61bf9ae7d606c70d133943f339d38b76e041ec234953f"}, - {file = "pydantic-1.10.18-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:cbfbca662ed3729204090c4d09ee4beeecc1a7ecba5a159a94b5a4eb24e3759a"}, - {file = "pydantic-1.10.18-cp312-cp312-win_amd64.whl", hash = "sha256:c6d0a9f9eccaf7f438671a64acf654ef0d045466e63f9f68a579e2383b63f357"}, - {file = "pydantic-1.10.18-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:3d5492dbf953d7d849751917e3b2433fb26010d977aa7a0765c37425a4026ff1"}, - {file = "pydantic-1.10.18-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fe734914977eed33033b70bfc097e1baaffb589517863955430bf2e0846ac30f"}, - {file = "pydantic-1.10.18-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:15fdbe568beaca9aacfccd5ceadfb5f1a235087a127e8af5e48df9d8a45ae85c"}, - {file = "pydantic-1.10.18-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:c3e742f62198c9eb9201781fbebe64533a3bbf6a76a91b8d438d62b813079dbc"}, - {file = "pydantic-1.10.18-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:19a3bd00b9dafc2cd7250d94d5b578edf7a0bd7daf102617153ff9a8fa37871c"}, - {file = "pydantic-1.10.18-cp37-cp37m-win_amd64.whl", hash = "sha256:2ce3fcf75b2bae99aa31bd4968de0474ebe8c8258a0110903478bd83dfee4e3b"}, - {file = "pydantic-1.10.18-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:335a32d72c51a313b33fa3a9b0fe283503272ef6467910338e123f90925f0f03"}, - {file = "pydantic-1.10.18-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:34a3613c7edb8c6fa578e58e9abe3c0f5e7430e0fc34a65a415a1683b9c32d9a"}, - {file = "pydantic-1.10.18-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e9ee4e6ca1d9616797fa2e9c0bfb8815912c7d67aca96f77428e316741082a1b"}, - {file = "pydantic-1.10.18-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:23e8ec1ce4e57b4f441fc91e3c12adba023fedd06868445a5b5f1d48f0ab3682"}, - {file = "pydantic-1.10.18-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:44ae8a3e35a54d2e8fa88ed65e1b08967a9ef8c320819a969bfa09ce5528fafe"}, - {file = "pydantic-1.10.18-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:d5389eb3b48a72da28c6e061a247ab224381435256eb541e175798483368fdd3"}, - {file = "pydantic-1.10.18-cp38-cp38-win_amd64.whl", hash = "sha256:069b9c9fc645474d5ea3653788b544a9e0ccd3dca3ad8c900c4c6eac844b4620"}, - {file = "pydantic-1.10.18-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:80b982d42515632eb51f60fa1d217dfe0729f008e81a82d1544cc392e0a50ddf"}, - {file = "pydantic-1.10.18-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:aad8771ec8dbf9139b01b56f66386537c6fe4e76c8f7a47c10261b69ad25c2c9"}, - {file = "pydantic-1.10.18-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:941a2eb0a1509bd7f31e355912eb33b698eb0051730b2eaf9e70e2e1589cae1d"}, - {file = "pydantic-1.10.18-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:65f7361a09b07915a98efd17fdec23103307a54db2000bb92095457ca758d485"}, - {file = "pydantic-1.10.18-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:6951f3f47cb5ca4da536ab161ac0163cab31417d20c54c6de5ddcab8bc813c3f"}, - {file = "pydantic-1.10.18-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:7a4c5eec138a9b52c67f664c7d51d4c7234c5ad65dd8aacd919fb47445a62c86"}, - {file = "pydantic-1.10.18-cp39-cp39-win_amd64.whl", hash = "sha256:49e26c51ca854286bffc22b69787a8d4063a62bf7d83dc21d44d2ff426108518"}, - {file = "pydantic-1.10.18-py3-none-any.whl", hash = "sha256:06a189b81ffc52746ec9c8c007f16e5167c8b0a696e1a726369327e3db7b2a82"}, - {file = "pydantic-1.10.18.tar.gz", hash = "sha256:baebdff1907d1d96a139c25136a9bb7d17e118f133a76a2ef3b845e831e3403a"}, -] - -[package.dependencies] -email-validator = {version = ">=1.0.3", optional = true, markers = "extra == \"email\""} -typing-extensions = ">=4.2.0" - -[package.extras] -dotenv = ["python-dotenv (>=0.10.4)"] -email = ["email-validator (>=1.0.3)"] - -[[package]] -name = "pyjwt" -version = "2.9.0" -description = "JSON Web Token implementation in Python" -optional = false -python-versions = ">=3.8" -files = [ - {file = "PyJWT-2.9.0-py3-none-any.whl", hash = "sha256:3b02fb0f44517787776cf48f2ae25d8e14f300e6d7545a4315cee571a415e850"}, - {file = "pyjwt-2.9.0.tar.gz", hash = "sha256:7e1e5b56cc735432a7369cbfa0efe50fa113ebecdc04ae6922deba8b84582d0c"}, -] - -[package.extras] -crypto = ["cryptography (>=3.4.0)"] -dev = ["coverage[toml] (==5.0.4)", "cryptography (>=3.4.0)", "pre-commit", "pytest (>=6.0.0,<7.0.0)", "sphinx", "sphinx-rtd-theme", "zope.interface"] -docs = ["sphinx", "sphinx-rtd-theme", "zope.interface"] -tests = ["coverage[toml] (==5.0.4)", "pytest (>=6.0.0,<7.0.0)"] - -[[package]] -name = "pyln-bolt7" -version = "1.0.246" -description = "BOLT7" -optional = false -python-versions = ">=3.7,<4.0" -files = [ - {file = "pyln-bolt7-1.0.246.tar.gz", hash = "sha256:2b53744fa21c1b12d2c9c9df153651b122e38fa65d4a5c3f2957317ee148e089"}, - {file = "pyln_bolt7-1.0.246-py3-none-any.whl", hash = "sha256:54d48ec27fdc8751762cb068b0a9f2757a58fb57933c6d8f8255d02c27eb63c5"}, -] - -[[package]] -name = "pyln-client" -version = "24.8.1" -description = "Client library and plugin library for Core Lightning" -optional = false -python-versions = "<4.0,>=3.8" -files = [ - {file = "pyln_client-24.8.1-py3-none-any.whl", hash = "sha256:4a389de96813a23b587007f181a5d4ba37bb8a4ac6bed7074a591b6b710e4615"}, - {file = "pyln_client-24.8.1.tar.gz", hash = "sha256:47e1bcadc91df511b7dbd66059d25a6c67fb0d49953291762272abf151fe8846"}, -] - -[package.dependencies] -pyln-bolt7 = ">=1.0" -pyln-proto = ">=23" - -[[package]] -name = "pyln-proto" -version = "24.8.2" -description = "This package implements some of the Lightning Network protocol in pure python. It is intended for protocol testing and some minor tooling only. It is not deemed secure enough to handle any amount of real funds (you have been warned!)." -optional = false -python-versions = "<4.0,>=3.8" -files = [ - {file = "pyln_proto-24.8.2-py3-none-any.whl", hash = "sha256:9c6c080c41fff40b119ea518fae37b1c8d4e917fa55389002afceffd4850ec98"}, - {file = "pyln_proto-24.8.2.tar.gz", hash = "sha256:efa222284e2990f7227f0243acc0e9ec5acd3bb89bb66ecad9f7dfb22b09fc90"}, -] - -[package.dependencies] -base58 = ">=2.1.1,<3.0.0" -bitstring = ">=4.1.0,<5.0.0" -coincurve = ">=20,<21" -cryptography = ">=42,<43" -PySocks = ">=1,<2" - -[[package]] -name = "pyqrcode" -version = "1.2.1" -description = "A QR code generator written purely in Python with SVG, EPS, PNG and terminal output." -optional = false -python-versions = "*" -files = [ - {file = "PyQRCode-1.2.1.tar.gz", hash = "sha256:fdbf7634733e56b72e27f9bce46e4550b75a3a2c420414035cae9d9d26b234d5"}, - {file = "PyQRCode-1.2.1.zip", hash = "sha256:1b2812775fa6ff5c527977c4cd2ccb07051ca7d0bc0aecf937a43864abe5eff6"}, -] - -[package.extras] -png = ["pypng (>=0.0.13)"] - -[[package]] -name = "pysocks" -version = "1.7.1" -description = "A Python SOCKS client module. See https://github.com/Anorov/PySocks for more information." -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -files = [ - {file = "PySocks-1.7.1-py27-none-any.whl", hash = "sha256:08e69f092cc6dbe92a0fdd16eeb9b9ffbc13cadfe5ca4c7bd92ffb078b293299"}, - {file = "PySocks-1.7.1-py3-none-any.whl", hash = "sha256:2725bd0a9925919b9b51739eea5f9e2bae91e83288108a9ad338b2e3a4435ee5"}, - {file = "PySocks-1.7.1.tar.gz", hash = "sha256:3f8804571ebe159c380ac6de37643bb4685970655d3bba243530d6558b799aa0"}, -] - -[[package]] -name = "pytest" -version = "7.4.4" -description = "pytest: simple powerful testing with Python" -optional = false -python-versions = ">=3.7" -files = [ - {file = "pytest-7.4.4-py3-none-any.whl", hash = "sha256:b090cdf5ed60bf4c45261be03239c2c1c22df034fbffe691abe93cd80cea01d8"}, - {file = "pytest-7.4.4.tar.gz", hash = "sha256:2cf0005922c6ace4a3e2ec8b4080eb0d9753fdc93107415332f50ce9e7994280"}, -] - -[package.dependencies] -colorama = {version = "*", markers = "sys_platform == \"win32\""} -exceptiongroup = {version = ">=1.0.0rc8", markers = "python_version < \"3.11\""} -iniconfig = "*" -packaging = "*" -pluggy = ">=0.12,<2.0" -tomli = {version = ">=1.0.0", markers = "python_version < \"3.11\""} - -[package.extras] -testing = ["argcomplete", "attrs (>=19.2.0)", "hypothesis (>=3.56)", "mock", "nose", "pygments (>=2.7.2)", "requests", "setuptools", "xmlschema"] - -[[package]] -name = "pytest-asyncio" -version = "0.21.2" -description = "Pytest support for asyncio" -optional = false -python-versions = ">=3.7" -files = [ - {file = "pytest_asyncio-0.21.2-py3-none-any.whl", hash = "sha256:ab664c88bb7998f711d8039cacd4884da6430886ae8bbd4eded552ed2004f16b"}, - {file = "pytest_asyncio-0.21.2.tar.gz", hash = "sha256:d67738fc232b94b326b9d060750beb16e0074210b98dd8b58a5239fa2a154f45"}, -] - -[package.dependencies] -pytest = ">=7.0.0" - -[package.extras] -docs = ["sphinx (>=5.3)", "sphinx-rtd-theme (>=1.0)"] -testing = ["coverage (>=6.2)", "flaky (>=3.5.0)", "hypothesis (>=5.7.1)", "mypy (>=0.931)", "pytest-trio (>=0.7.0)"] - -[[package]] -name = "python-crontab" -version = "3.2.0" -description = "Python Crontab API" -optional = false -python-versions = "*" -files = [ - {file = "python_crontab-3.2.0-py3-none-any.whl", hash = "sha256:82cb9b6a312d41ff66fd3caf3eed7115c28c195bfb50711bc2b4b9592feb9fe5"}, - {file = "python_crontab-3.2.0.tar.gz", hash = "sha256:40067d1dd39ade3460b2ad8557c7651514cd3851deffff61c5c60e1227c5c36b"}, -] - -[package.dependencies] -python-dateutil = "*" - -[package.extras] -cron-description = ["cron-descriptor"] -cron-schedule = ["croniter"] - -[[package]] -name = "python-dateutil" -version = "2.9.0.post0" -description = "Extensions to the standard Python datetime module" -optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" -files = [ - {file = "python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3"}, - {file = "python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427"}, -] - -[package.dependencies] -six = ">=1.5" - -[[package]] -name = "python-dotenv" -version = "1.0.1" -description = "Read key-value pairs from a .env file and set them as environment variables" -optional = false -python-versions = ">=3.8" -files = [ - {file = "python-dotenv-1.0.1.tar.gz", hash = "sha256:e324ee90a023d808f1959c46bcbc04446a10ced277783dc6ee09987c37ec10ca"}, - {file = "python_dotenv-1.0.1-py3-none-any.whl", hash = "sha256:f7b63ef50f1b690dddf550d03497b66d609393b40b564ed0d674909a68ebf16a"}, -] - -[package.extras] -cli = ["click (>=5.0)"] - -[[package]] -name = "pywebpush" -version = "1.14.1" -description = "WebPush publication library" -optional = false -python-versions = "*" -files = [ - {file = "pywebpush-1.14.1-py3-none-any.whl", hash = "sha256:2865ee65cf44375f7cbdcfd5ba915a9d84c239900c6fba2245efd8d8314a3e84"}, - {file = "pywebpush-1.14.1.tar.gz", hash = "sha256:f88d7e2bf5e87c616dfb04b8c95c119238c511659b02f735ee77cc16842855ee"}, -] - -[package.dependencies] -cryptography = ">=2.6.1" -http-ece = ">=1.1.0" -py-vapid = ">=1.7.0" -requests = ">=2.21.0" -six = ">=1.15.0" - -[[package]] -name = "pyyaml" -version = "6.0.2" -description = "YAML parser and emitter for Python" -optional = false -python-versions = ">=3.8" -files = [ - {file = "PyYAML-6.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0a9a2848a5b7feac301353437eb7d5957887edbf81d56e903999a75a3d743086"}, - {file = "PyYAML-6.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:29717114e51c84ddfba879543fb232a6ed60086602313ca38cce623c1d62cfbf"}, - {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8824b5a04a04a047e72eea5cec3bc266db09e35de6bdfe34c9436ac5ee27d237"}, - {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c36280e6fb8385e520936c3cb3b8042851904eba0e58d277dca80a5cfed590b"}, - {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ec031d5d2feb36d1d1a24380e4db6d43695f3748343d99434e6f5f9156aaa2ed"}, - {file = "PyYAML-6.0.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:936d68689298c36b53b29f23c6dbb74de12b4ac12ca6cfe0e047bedceea56180"}, - {file = "PyYAML-6.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:23502f431948090f597378482b4812b0caae32c22213aecf3b55325e049a6c68"}, - {file = "PyYAML-6.0.2-cp310-cp310-win32.whl", hash = "sha256:2e99c6826ffa974fe6e27cdb5ed0021786b03fc98e5ee3c5bfe1fd5015f42b99"}, - {file = "PyYAML-6.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:a4d3091415f010369ae4ed1fc6b79def9416358877534caf6a0fdd2146c87a3e"}, - {file = "PyYAML-6.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cc1c1159b3d456576af7a3e4d1ba7e6924cb39de8f67111c735f6fc832082774"}, - {file = "PyYAML-6.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1e2120ef853f59c7419231f3bf4e7021f1b936f6ebd222406c3b60212205d2ee"}, - {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d225db5a45f21e78dd9358e58a98702a0302f2659a3c6cd320564b75b86f47c"}, - {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5ac9328ec4831237bec75defaf839f7d4564be1e6b25ac710bd1a96321cc8317"}, - {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ad2a3decf9aaba3d29c8f537ac4b243e36bef957511b4766cb0057d32b0be85"}, - {file = "PyYAML-6.0.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:ff3824dc5261f50c9b0dfb3be22b4567a6f938ccce4587b38952d85fd9e9afe4"}, - {file = "PyYAML-6.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:797b4f722ffa07cc8d62053e4cff1486fa6dc094105d13fea7b1de7d8bf71c9e"}, - {file = "PyYAML-6.0.2-cp311-cp311-win32.whl", hash = "sha256:11d8f3dd2b9c1207dcaf2ee0bbbfd5991f571186ec9cc78427ba5bd32afae4b5"}, - {file = "PyYAML-6.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:e10ce637b18caea04431ce14fabcf5c64a1c61ec9c56b071a4b7ca131ca52d44"}, - {file = "PyYAML-6.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab"}, - {file = "PyYAML-6.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725"}, - {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5"}, - {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425"}, - {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476"}, - {file = "PyYAML-6.0.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48"}, - {file = "PyYAML-6.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b"}, - {file = "PyYAML-6.0.2-cp312-cp312-win32.whl", hash = "sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4"}, - {file = "PyYAML-6.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8"}, - {file = "PyYAML-6.0.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba"}, - {file = "PyYAML-6.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1"}, - {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133"}, - {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484"}, - {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5"}, - {file = "PyYAML-6.0.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc"}, - {file = "PyYAML-6.0.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652"}, - {file = "PyYAML-6.0.2-cp313-cp313-win32.whl", hash = "sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183"}, - {file = "PyYAML-6.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563"}, - {file = "PyYAML-6.0.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:24471b829b3bf607e04e88d79542a9d48bb037c2267d7927a874e6c205ca7e9a"}, - {file = "PyYAML-6.0.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d7fded462629cfa4b685c5416b949ebad6cec74af5e2d42905d41e257e0869f5"}, - {file = "PyYAML-6.0.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d84a1718ee396f54f3a086ea0a66d8e552b2ab2017ef8b420e92edbc841c352d"}, - {file = "PyYAML-6.0.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9056c1ecd25795207ad294bcf39f2db3d845767be0ea6e6a34d856f006006083"}, - {file = "PyYAML-6.0.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:82d09873e40955485746739bcb8b4586983670466c23382c19cffecbf1fd8706"}, - {file = "PyYAML-6.0.2-cp38-cp38-win32.whl", hash = "sha256:43fa96a3ca0d6b1812e01ced1044a003533c47f6ee8aca31724f78e93ccc089a"}, - {file = "PyYAML-6.0.2-cp38-cp38-win_amd64.whl", hash = "sha256:01179a4a8559ab5de078078f37e5c1a30d76bb88519906844fd7bdea1b7729ff"}, - {file = "PyYAML-6.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:688ba32a1cffef67fd2e9398a2efebaea461578b0923624778664cc1c914db5d"}, - {file = "PyYAML-6.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a8786accb172bd8afb8be14490a16625cbc387036876ab6ba70912730faf8e1f"}, - {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8e03406cac8513435335dbab54c0d385e4a49e4945d2909a581c83647ca0290"}, - {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f753120cb8181e736c57ef7636e83f31b9c0d1722c516f7e86cf15b7aa57ff12"}, - {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3b1fdb9dc17f5a7677423d508ab4f243a726dea51fa5e70992e59a7411c89d19"}, - {file = "PyYAML-6.0.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:0b69e4ce7a131fe56b7e4d770c67429700908fc0752af059838b1cfb41960e4e"}, - {file = "PyYAML-6.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a9f8c2e67970f13b16084e04f134610fd1d374bf477b17ec1599185cf611d725"}, - {file = "PyYAML-6.0.2-cp39-cp39-win32.whl", hash = "sha256:6395c297d42274772abc367baaa79683958044e5d3835486c16da75d2a694631"}, - {file = "PyYAML-6.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:39693e1f8320ae4f43943590b49779ffb98acb81f788220ea932a6b6c51004d8"}, - {file = "pyyaml-6.0.2.tar.gz", hash = "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e"}, -] - -[[package]] -name = "requests" -version = "2.32.3" -description = "Python HTTP for Humans." -optional = false -python-versions = ">=3.8" -files = [ - {file = "requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6"}, - {file = "requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760"}, -] - -[package.dependencies] -certifi = ">=2017.4.17" -charset-normalizer = ">=2,<4" -idna = ">=2.5,<4" -urllib3 = ">=1.21.1,<3" - -[package.extras] -socks = ["PySocks (>=1.5.6,!=1.5.7)"] -use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] - -[[package]] -name = "ruff" -version = "0.3.7" -description = "An extremely fast Python linter and code formatter, written in Rust." -optional = false -python-versions = ">=3.7" -files = [ - {file = "ruff-0.3.7-py3-none-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:0e8377cccb2f07abd25e84fc5b2cbe48eeb0fea9f1719cad7caedb061d70e5ce"}, - {file = "ruff-0.3.7-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:15a4d1cc1e64e556fa0d67bfd388fed416b7f3b26d5d1c3e7d192c897e39ba4b"}, - {file = "ruff-0.3.7-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d28bdf3d7dc71dd46929fafeec98ba89b7c3550c3f0978e36389b5631b793663"}, - {file = "ruff-0.3.7-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:379b67d4f49774ba679593b232dcd90d9e10f04d96e3c8ce4a28037ae473f7bb"}, - {file = "ruff-0.3.7-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c060aea8ad5ef21cdfbbe05475ab5104ce7827b639a78dd55383a6e9895b7c51"}, - {file = "ruff-0.3.7-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:ebf8f615dde968272d70502c083ebf963b6781aacd3079081e03b32adfe4d58a"}, - {file = "ruff-0.3.7-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d48098bd8f5c38897b03604f5428901b65e3c97d40b3952e38637b5404b739a2"}, - {file = "ruff-0.3.7-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:da8a4fda219bf9024692b1bc68c9cff4b80507879ada8769dc7e985755d662ea"}, - {file = "ruff-0.3.7-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c44e0149f1d8b48c4d5c33d88c677a4aa22fd09b1683d6a7ff55b816b5d074f"}, - {file = "ruff-0.3.7-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:3050ec0af72b709a62ecc2aca941b9cd479a7bf2b36cc4562f0033d688e44fa1"}, - {file = "ruff-0.3.7-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:a29cc38e4c1ab00da18a3f6777f8b50099d73326981bb7d182e54a9a21bb4ff7"}, - {file = "ruff-0.3.7-py3-none-musllinux_1_2_i686.whl", hash = "sha256:5b15cc59c19edca917f51b1956637db47e200b0fc5e6e1878233d3a938384b0b"}, - {file = "ruff-0.3.7-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:e491045781b1e38b72c91247cf4634f040f8d0cb3e6d3d64d38dcf43616650b4"}, - {file = "ruff-0.3.7-py3-none-win32.whl", hash = "sha256:bc931de87593d64fad3a22e201e55ad76271f1d5bfc44e1a1887edd0903c7d9f"}, - {file = "ruff-0.3.7-py3-none-win_amd64.whl", hash = "sha256:5ef0e501e1e39f35e03c2acb1d1238c595b8bb36cf7a170e7c1df1b73da00e74"}, - {file = "ruff-0.3.7-py3-none-win_arm64.whl", hash = "sha256:789e144f6dc7019d1f92a812891c645274ed08af6037d11fc65fcbc183b7d59f"}, - {file = "ruff-0.3.7.tar.gz", hash = "sha256:d5c1aebee5162c2226784800ae031f660c350e7a3402c4d1f8ea4e97e232e3ba"}, -] - -[[package]] -name = "secp256k1" -version = "0.14.0" -description = "FFI bindings to libsecp256k1" -optional = false -python-versions = "*" -files = [ - {file = "secp256k1-0.14.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:f666c67dcf1dc69e1448b2ede5e12aaf382b600204a61dbc65e4f82cea444405"}, - {file = "secp256k1-0.14.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:fcabb3c3497a902fb61eec72d1b69bf72747d7bcc2a732d56d9319a1e8322262"}, - {file = "secp256k1-0.14.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:7a27c479ab60571502516a1506a562d0a9df062de8ad645313fabfcc97252816"}, - {file = "secp256k1-0.14.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:f4b9306bff6dde020444dfee9ca9b9f5b20ca53a2c0b04898361a3f43d5daf2e"}, - {file = "secp256k1-0.14.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:72735da6cb28273e924431cd40aa607e7f80ef09608c8c9300be2e0e1d2417b4"}, - {file = "secp256k1-0.14.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:87f4ad42a370f768910585989a301d1d65de17dcd86f6e8def9b021364b34d5c"}, - {file = "secp256k1-0.14.0-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:130f119b06142e597c10eb4470b5a38eae865362d01aaef06b113478d77f728d"}, - {file = "secp256k1-0.14.0-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:3aedcfe6eb1c5fa7c6be25b7cc91c76d8eb984271920ba0f7a934ae41ed56f51"}, - {file = "secp256k1-0.14.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:c91dd3154f6c46ac798d9a41166120e1751222587f54516cc3f378f56ce4ac82"}, - {file = "secp256k1-0.14.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:fec790cb6d0d37129ca0ce5b3f8e85692d5fb618d1c440f189453d18694035df"}, - {file = "secp256k1-0.14.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:63eb148196b8f646922d4be6739b17fbbf50ebb3a020078c823e2445d88b7a81"}, - {file = "secp256k1-0.14.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:adc23a4c5d24c95191638eb2ca313097827f07db102e77b59faed15d50c98cae"}, - {file = "secp256k1-0.14.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:ce0314788d3248b275426501228969fd32f6501c9d1837902ee0e7bd8264a36f"}, - {file = "secp256k1-0.14.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:bc761894b3634021686714278fc62b73395fa3eded33453eadfd8a00a6c44ef3"}, - {file = "secp256k1-0.14.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:373dc8bca735f3c2d73259aa2711a9ecea2f3c7edbb663555fe3422e3dd76102"}, - {file = "secp256k1-0.14.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:fe3f503c9dfdf663b500d3e0688ad842e116c2907ad3f1e1d685812df3f56290"}, - {file = "secp256k1-0.14.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:4b1bf09953cde181132cf5e9033065615e5c2694e803165e2db763efa47695e5"}, - {file = "secp256k1-0.14.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:6af07be5f8612628c3638dc7b208f6cc78d0abae3e25797eadb13890c7d5da81"}, - {file = "secp256k1-0.14.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:a8dbd75a9fb6f42de307f3c5e24573fe59c3374637cbf39136edc66c200a4029"}, - {file = "secp256k1-0.14.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:97a30c8dae633cb18135c76b6517ae99dc59106818e8985be70dbc05dcc06c0d"}, - {file = "secp256k1-0.14.0-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:f4062d8c101aa63b9ecb3709f1f075ad9c01b6672869bbaa1bd77271816936a7"}, - {file = "secp256k1-0.14.0-pp37-pypy37_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:c9e7c024ff17e9b9d7c392bb2a917da231d6cb40ab119389ff1f51dca10339a4"}, - {file = "secp256k1-0.14.0.tar.gz", hash = "sha256:82c06712d69ef945220c8b53c1a0d424c2ff6a1f64aee609030df79ad8383397"}, -] - -[package.dependencies] -cffi = ">=1.3.0" - -[[package]] -name = "shortuuid" -version = "1.0.13" -description = "A generator library for concise, unambiguous and URL-safe UUIDs." -optional = false -python-versions = ">=3.6" -files = [ - {file = "shortuuid-1.0.13-py3-none-any.whl", hash = "sha256:a482a497300b49b4953e15108a7913244e1bb0d41f9d332f5e9925dba33a3c5a"}, - {file = "shortuuid-1.0.13.tar.gz", hash = "sha256:3bb9cf07f606260584b1df46399c0b87dd84773e7b25912b7e391e30797c5e72"}, -] - -[[package]] -name = "six" -version = "1.16.0" -description = "Python 2 and 3 compatibility utilities" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" -files = [ - {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"}, - {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, -] - -[[package]] -name = "slowapi" -version = "0.1.9" -description = "A rate limiting extension for Starlette and Fastapi" -optional = false -python-versions = ">=3.7,<4.0" -files = [ - {file = "slowapi-0.1.9-py3-none-any.whl", hash = "sha256:cfad116cfb84ad9d763ee155c1e5c5cbf00b0d47399a769b227865f5df576e36"}, - {file = "slowapi-0.1.9.tar.gz", hash = "sha256:639192d0f1ca01b1c6d95bf6c71d794c3a9ee189855337b4821f7f457dddad77"}, -] - -[package.dependencies] -limits = ">=2.3" - -[package.extras] -redis = ["redis (>=3.4.1,<4.0.0)"] - -[[package]] -name = "sniffio" -version = "1.3.1" -description = "Sniff out which async library your code is running under" -optional = false -python-versions = ">=3.7" -files = [ - {file = "sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2"}, - {file = "sniffio-1.3.1.tar.gz", hash = "sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc"}, -] - -[[package]] -name = "sqlalchemy" -version = "1.4.54" -description = "Database Abstraction Library" -optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" -files = [ - {file = "SQLAlchemy-1.4.54-cp310-cp310-macosx_12_0_x86_64.whl", hash = "sha256:af00236fe21c4d4f4c227b6ccc19b44c594160cc3ff28d104cdce85855369277"}, - {file = "SQLAlchemy-1.4.54-cp310-cp310-manylinux1_x86_64.manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_5_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1183599e25fa38a1a322294b949da02b4f0da13dbc2688ef9dbe746df573f8a6"}, - {file = "SQLAlchemy-1.4.54-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1990d5a6a5dc358a0894c8ca02043fb9a5ad9538422001fb2826e91c50f1d539"}, - {file = "SQLAlchemy-1.4.54-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:14b3f4783275339170984cadda66e3ec011cce87b405968dc8d51cf0f9997b0d"}, - {file = "SQLAlchemy-1.4.54-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6b24364150738ce488333b3fb48bfa14c189a66de41cd632796fbcacb26b4585"}, - {file = "SQLAlchemy-1.4.54-cp310-cp310-win32.whl", hash = "sha256:a8a72259a1652f192c68377be7011eac3c463e9892ef2948828c7d58e4829988"}, - {file = "SQLAlchemy-1.4.54-cp310-cp310-win_amd64.whl", hash = "sha256:b67589f7955924865344e6eacfdcf70675e64f36800a576aa5e961f0008cde2a"}, - {file = "SQLAlchemy-1.4.54-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:b05e0626ec1c391432eabb47a8abd3bf199fb74bfde7cc44a26d2b1b352c2c6e"}, - {file = "SQLAlchemy-1.4.54-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:13e91d6892b5fcb94a36ba061fb7a1f03d0185ed9d8a77c84ba389e5bb05e936"}, - {file = "SQLAlchemy-1.4.54-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fb59a11689ff3c58e7652260127f9e34f7f45478a2f3ef831ab6db7bcd72108f"}, - {file = "SQLAlchemy-1.4.54-cp311-cp311-win32.whl", hash = "sha256:1390ca2d301a2708fd4425c6d75528d22f26b8f5cbc9faba1ddca136671432bc"}, - {file = "SQLAlchemy-1.4.54-cp311-cp311-win_amd64.whl", hash = "sha256:2b37931eac4b837c45e2522066bda221ac6d80e78922fb77c75eb12e4dbcdee5"}, - {file = "SQLAlchemy-1.4.54-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:3f01c2629a7d6b30d8afe0326b8c649b74825a0e1ebdcb01e8ffd1c920deb07d"}, - {file = "SQLAlchemy-1.4.54-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9c24dd161c06992ed16c5e528a75878edbaeced5660c3db88c820f1f0d3fe1f4"}, - {file = "SQLAlchemy-1.4.54-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b5e0d47d619c739bdc636bbe007da4519fc953393304a5943e0b5aec96c9877c"}, - {file = "SQLAlchemy-1.4.54-cp312-cp312-win32.whl", hash = "sha256:12bc0141b245918b80d9d17eca94663dbd3f5266ac77a0be60750f36102bbb0f"}, - {file = "SQLAlchemy-1.4.54-cp312-cp312-win_amd64.whl", hash = "sha256:f941aaf15f47f316123e1933f9ea91a6efda73a161a6ab6046d1cde37be62c88"}, - {file = "SQLAlchemy-1.4.54-cp36-cp36m-macosx_10_14_x86_64.whl", hash = "sha256:a41611835010ed4ea4c7aed1da5b58aac78ee7e70932a91ed2705a7b38e40f52"}, - {file = "SQLAlchemy-1.4.54-cp36-cp36m-manylinux1_x86_64.manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_5_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1e8c1b9ecaf9f2590337d5622189aeb2f0dbc54ba0232fa0856cf390957584a9"}, - {file = "SQLAlchemy-1.4.54-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0de620f978ca273ce027769dc8db7e6ee72631796187adc8471b3c76091b809e"}, - {file = "SQLAlchemy-1.4.54-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:c5a2530400a6e7e68fd1552a55515de6a4559122e495f73554a51cedafc11669"}, - {file = "SQLAlchemy-1.4.54-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d0cf7076c8578b3de4e43a046cc7a1af8466e1c3f5e64167189fe8958a4f9c02"}, - {file = "SQLAlchemy-1.4.54-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:f1e1b92ee4ee9ffc68624ace218b89ca5ca667607ccee4541a90cc44999b9aea"}, - {file = "SQLAlchemy-1.4.54-cp37-cp37m-manylinux1_x86_64.manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_5_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:41cffc63c7c83dfc30c4cab5b4308ba74440a9633c4509c51a0c52431fb0f8ab"}, - {file = "SQLAlchemy-1.4.54-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b5933c45d11cbd9694b1540aa9076816cc7406964c7b16a380fd84d3a5fe3241"}, - {file = "SQLAlchemy-1.4.54-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:cafe0ba3a96d0845121433cffa2b9232844a2609fce694fcc02f3f31214ece28"}, - {file = "SQLAlchemy-1.4.54-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a19f816f4702d7b1951d7576026c7124b9bfb64a9543e571774cf517b7a50b29"}, - {file = "SQLAlchemy-1.4.54-cp37-cp37m-win32.whl", hash = "sha256:76c2ba7b5a09863d0a8166fbc753af96d561818c572dbaf697c52095938e7be4"}, - {file = "SQLAlchemy-1.4.54-cp37-cp37m-win_amd64.whl", hash = "sha256:a86b0e4be775902a5496af4fb1b60d8a2a457d78f531458d294360b8637bb014"}, - {file = "SQLAlchemy-1.4.54-cp38-cp38-macosx_12_0_x86_64.whl", hash = "sha256:a49730afb716f3f675755afec109895cab95bc9875db7ffe2e42c1b1c6279482"}, - {file = "SQLAlchemy-1.4.54-cp38-cp38-manylinux1_x86_64.manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_5_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:26e78444bc77d089e62874dc74df05a5c71f01ac598010a327881a48408d0064"}, - {file = "SQLAlchemy-1.4.54-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:02d2ecb9508f16ab9c5af466dfe5a88e26adf2e1a8d1c56eb616396ccae2c186"}, - {file = "SQLAlchemy-1.4.54-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:394b0135900b62dbf63e4809cdc8ac923182af2816d06ea61cd6763943c2cc05"}, - {file = "SQLAlchemy-1.4.54-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5ed3576675c187e3baa80b02c4c9d0edfab78eff4e89dd9da736b921333a2432"}, - {file = "SQLAlchemy-1.4.54-cp38-cp38-win32.whl", hash = "sha256:fc9ffd9a38e21fad3e8c5a88926d57f94a32546e937e0be46142b2702003eba7"}, - {file = "SQLAlchemy-1.4.54-cp38-cp38-win_amd64.whl", hash = "sha256:a01bc25eb7a5688656c8770f931d5cb4a44c7de1b3cec69b84cc9745d1e4cc10"}, - {file = "SQLAlchemy-1.4.54-cp39-cp39-macosx_12_0_x86_64.whl", hash = "sha256:0b76bbb1cbae618d10679be8966f6d66c94f301cfc15cb49e2f2382563fb6efb"}, - {file = "SQLAlchemy-1.4.54-cp39-cp39-manylinux1_x86_64.manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_5_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cdb2886c0be2c6c54d0651d5a61c29ef347e8eec81fd83afebbf7b59b80b7393"}, - {file = "SQLAlchemy-1.4.54-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:954816850777ac234a4e32b8c88ac1f7847088a6e90cfb8f0e127a1bf3feddff"}, - {file = "SQLAlchemy-1.4.54-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:1d83cd1cc03c22d922ec94d0d5f7b7c96b1332f5e122e81b1a61fb22da77879a"}, - {file = "SQLAlchemy-1.4.54-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1576fba3616f79496e2f067262200dbf4aab1bb727cd7e4e006076686413c80c"}, - {file = "SQLAlchemy-1.4.54-cp39-cp39-win32.whl", hash = "sha256:3112de9e11ff1957148c6de1df2bc5cc1440ee36783412e5eedc6f53638a577d"}, - {file = "SQLAlchemy-1.4.54-cp39-cp39-win_amd64.whl", hash = "sha256:6da60fb24577f989535b8fc8b2ddc4212204aaf02e53c4c7ac94ac364150ed08"}, - {file = "sqlalchemy-1.4.54.tar.gz", hash = "sha256:4470fbed088c35dc20b78a39aaf4ae54fe81790c783b3264872a0224f437c31a"}, -] - -[package.dependencies] -greenlet = {version = "!=0.4.17", markers = "python_version >= \"3\" and (platform_machine == \"aarch64\" or platform_machine == \"ppc64le\" or platform_machine == \"x86_64\" or platform_machine == \"amd64\" or platform_machine == \"AMD64\" or platform_machine == \"win32\" or platform_machine == \"WIN32\")"} - -[package.extras] -aiomysql = ["aiomysql (>=0.2.0)", "greenlet (!=0.4.17)"] -aiosqlite = ["aiosqlite", "greenlet (!=0.4.17)", "typing_extensions (!=3.10.0.1)"] -asyncio = ["greenlet (!=0.4.17)"] -asyncmy = ["asyncmy (>=0.2.3,!=0.2.4)", "greenlet (!=0.4.17)"] -mariadb-connector = ["mariadb (>=1.0.1,!=1.1.2)", "mariadb (>=1.0.1,!=1.1.2)"] -mssql = ["pyodbc"] -mssql-pymssql = ["pymssql", "pymssql"] -mssql-pyodbc = ["pyodbc", "pyodbc"] -mypy = ["mypy (>=0.910)", "sqlalchemy2-stubs"] -mysql = ["mysqlclient (>=1.4.0)", "mysqlclient (>=1.4.0,<2)"] -mysql-connector = ["mysql-connector-python", "mysql-connector-python"] -oracle = ["cx_oracle (>=7)", "cx_oracle (>=7,<8)"] -postgresql = ["psycopg2 (>=2.7)"] -postgresql-asyncpg = ["asyncpg", "asyncpg", "greenlet (!=0.4.17)", "greenlet (!=0.4.17)"] -postgresql-pg8000 = ["pg8000 (>=1.16.6,!=1.29.0)", "pg8000 (>=1.16.6,!=1.29.0)"] -postgresql-psycopg2binary = ["psycopg2-binary"] -postgresql-psycopg2cffi = ["psycopg2cffi"] -pymysql = ["pymysql", "pymysql (<1)"] -sqlcipher = ["sqlcipher3_binary"] - -[[package]] -name = "sse-starlette" -version = "1.8.2" -description = "SSE plugin for Starlette" -optional = false -python-versions = ">=3.8" -files = [ - {file = "sse_starlette-1.8.2-py3-none-any.whl", hash = "sha256:70cc7ef5aca4abe8a25dec1284cce4fe644dd7bf0c406d3e852e516092b7f849"}, - {file = "sse_starlette-1.8.2.tar.gz", hash = "sha256:e0f9b8dec41adc092a0a6e0694334bd3cfd3084c44c497a6ebc1fb4bdd919acd"}, -] - -[package.dependencies] -anyio = "*" -fastapi = "*" -starlette = "*" -uvicorn = "*" - -[[package]] -name = "starlette" -version = "0.40.0" -description = "The little ASGI library that shines." -optional = false -python-versions = ">=3.8" -files = [ - {file = "starlette-0.40.0-py3-none-any.whl", hash = "sha256:c494a22fae73805376ea6bf88439783ecfba9aac88a43911b48c653437e784c4"}, - {file = "starlette-0.40.0.tar.gz", hash = "sha256:1a3139688fb298ce5e2d661d37046a66ad996ce94be4d4983be019a23a04ea35"}, -] - -[package.dependencies] -anyio = ">=3.4.0,<5" -typing-extensions = {version = ">=3.10.0", markers = "python_version < \"3.10\""} - -[package.extras] -full = ["httpx (>=0.22.0)", "itsdangerous", "jinja2", "python-multipart (>=0.0.7)", "pyyaml"] - -[[package]] -name = "tomli" -version = "2.0.2" -description = "A lil' TOML parser" -optional = false -python-versions = ">=3.8" -files = [ - {file = "tomli-2.0.2-py3-none-any.whl", hash = "sha256:2ebe24485c53d303f690b0ec092806a085f07af5a5aa1464f3931eec36caaa38"}, - {file = "tomli-2.0.2.tar.gz", hash = "sha256:d46d457a85337051c36524bc5349dd91b1877838e2979ac5ced3e710ed8a60ed"}, -] - -[[package]] -name = "typing-extensions" -version = "4.12.2" -description = "Backported and Experimental Type Hints for Python 3.8+" -optional = false -python-versions = ">=3.8" -files = [ - {file = "typing_extensions-4.12.2-py3-none-any.whl", hash = "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d"}, - {file = "typing_extensions-4.12.2.tar.gz", hash = "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8"}, -] - -[[package]] -name = "urllib3" -version = "2.2.3" -description = "HTTP library with thread-safe connection pooling, file post, and more." -optional = false -python-versions = ">=3.8" -files = [ - {file = "urllib3-2.2.3-py3-none-any.whl", hash = "sha256:ca899ca043dcb1bafa3e262d73aa25c465bfb49e0bd9dd5d59f1d0acba2f8fac"}, - {file = "urllib3-2.2.3.tar.gz", hash = "sha256:e7d814a81dad81e6caf2ec9fdedb284ecc9c73076b62654547cc64ccdcae26e9"}, -] - -[package.extras] -brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"] -h2 = ["h2 (>=4,<5)"] -socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"] -zstd = ["zstandard (>=0.18.0)"] - -[[package]] -name = "uvicorn" -version = "0.30.6" -description = "The lightning-fast ASGI server." -optional = false -python-versions = ">=3.8" -files = [ - {file = "uvicorn-0.30.6-py3-none-any.whl", hash = "sha256:65fd46fe3fda5bdc1b03b94eb634923ff18cd35b2f084813ea79d1f103f711b5"}, - {file = "uvicorn-0.30.6.tar.gz", hash = "sha256:4b15decdda1e72be08209e860a1e10e92439ad5b97cf44cc945fcbee66fc5788"}, -] - -[package.dependencies] -click = ">=7.0" -h11 = ">=0.8" -typing-extensions = {version = ">=4.0", markers = "python_version < \"3.11\""} - -[package.extras] -standard = ["colorama (>=0.4)", "httptools (>=0.5.0)", "python-dotenv (>=0.13)", "pyyaml (>=5.1)", "uvloop (>=0.14.0,!=0.15.0,!=0.15.1)", "watchfiles (>=0.13)", "websockets (>=10.4)"] - -[[package]] -name = "uvloop" -version = "0.19.0" -description = "Fast implementation of asyncio event loop on top of libuv" -optional = false -python-versions = ">=3.8.0" -files = [ - {file = "uvloop-0.19.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:de4313d7f575474c8f5a12e163f6d89c0a878bc49219641d49e6f1444369a90e"}, - {file = "uvloop-0.19.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:5588bd21cf1fcf06bded085f37e43ce0e00424197e7c10e77afd4bbefffef428"}, - {file = "uvloop-0.19.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7b1fd71c3843327f3bbc3237bedcdb6504fd50368ab3e04d0410e52ec293f5b8"}, - {file = "uvloop-0.19.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5a05128d315e2912791de6088c34136bfcdd0c7cbc1cf85fd6fd1bb321b7c849"}, - {file = "uvloop-0.19.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:cd81bdc2b8219cb4b2556eea39d2e36bfa375a2dd021404f90a62e44efaaf957"}, - {file = "uvloop-0.19.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:5f17766fb6da94135526273080f3455a112f82570b2ee5daa64d682387fe0dcd"}, - {file = "uvloop-0.19.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:4ce6b0af8f2729a02a5d1575feacb2a94fc7b2e983868b009d51c9a9d2149bef"}, - {file = "uvloop-0.19.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:31e672bb38b45abc4f26e273be83b72a0d28d074d5b370fc4dcf4c4eb15417d2"}, - {file = "uvloop-0.19.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:570fc0ed613883d8d30ee40397b79207eedd2624891692471808a95069a007c1"}, - {file = "uvloop-0.19.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5138821e40b0c3e6c9478643b4660bd44372ae1e16a322b8fc07478f92684e24"}, - {file = "uvloop-0.19.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:91ab01c6cd00e39cde50173ba4ec68a1e578fee9279ba64f5221810a9e786533"}, - {file = "uvloop-0.19.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:47bf3e9312f63684efe283f7342afb414eea4d3011542155c7e625cd799c3b12"}, - {file = "uvloop-0.19.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:da8435a3bd498419ee8c13c34b89b5005130a476bda1d6ca8cfdde3de35cd650"}, - {file = "uvloop-0.19.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:02506dc23a5d90e04d4f65c7791e65cf44bd91b37f24cfc3ef6cf2aff05dc7ec"}, - {file = "uvloop-0.19.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2693049be9d36fef81741fddb3f441673ba12a34a704e7b4361efb75cf30befc"}, - {file = "uvloop-0.19.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7010271303961c6f0fe37731004335401eb9075a12680738731e9c92ddd96ad6"}, - {file = "uvloop-0.19.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:5daa304d2161d2918fa9a17d5635099a2f78ae5b5960e742b2fcfbb7aefaa593"}, - {file = "uvloop-0.19.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:7207272c9520203fea9b93843bb775d03e1cf88a80a936ce760f60bb5add92f3"}, - {file = "uvloop-0.19.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:78ab247f0b5671cc887c31d33f9b3abfb88d2614b84e4303f1a63b46c046c8bd"}, - {file = "uvloop-0.19.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:472d61143059c84947aa8bb74eabbace30d577a03a1805b77933d6bd13ddebbd"}, - {file = "uvloop-0.19.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:45bf4c24c19fb8a50902ae37c5de50da81de4922af65baf760f7c0c42e1088be"}, - {file = "uvloop-0.19.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:271718e26b3e17906b28b67314c45d19106112067205119dddbd834c2b7ce797"}, - {file = "uvloop-0.19.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:34175c9fd2a4bc3adc1380e1261f60306344e3407c20a4d684fd5f3be010fa3d"}, - {file = "uvloop-0.19.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:e27f100e1ff17f6feeb1f33968bc185bf8ce41ca557deee9d9bbbffeb72030b7"}, - {file = "uvloop-0.19.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:13dfdf492af0aa0a0edf66807d2b465607d11c4fa48f4a1fd41cbea5b18e8e8b"}, - {file = "uvloop-0.19.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6e3d4e85ac060e2342ff85e90d0c04157acb210b9ce508e784a944f852a40e67"}, - {file = "uvloop-0.19.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8ca4956c9ab567d87d59d49fa3704cf29e37109ad348f2d5223c9bf761a332e7"}, - {file = "uvloop-0.19.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f467a5fd23b4fc43ed86342641f3936a68ded707f4627622fa3f82a120e18256"}, - {file = "uvloop-0.19.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:492e2c32c2af3f971473bc22f086513cedfc66a130756145a931a90c3958cb17"}, - {file = "uvloop-0.19.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:2df95fca285a9f5bfe730e51945ffe2fa71ccbfdde3b0da5772b4ee4f2e770d5"}, - {file = "uvloop-0.19.0.tar.gz", hash = "sha256:0246f4fd1bf2bf702e06b0d45ee91677ee5c31242f39aab4ea6fe0c51aedd0fd"}, -] - -[package.extras] -docs = ["Sphinx (>=4.1.2,<4.2.0)", "sphinx-rtd-theme (>=0.5.2,<0.6.0)", "sphinxcontrib-asyncio (>=0.3.0,<0.4.0)"] -test = ["Cython (>=0.29.36,<0.30.0)", "aiohttp (==3.9.0b0)", "aiohttp (>=3.8.1)", "flake8 (>=5.0,<6.0)", "mypy (>=0.800)", "psutil", "pyOpenSSL (>=23.0.0,<23.1.0)", "pycodestyle (>=2.9.0,<2.10.0)"] - -[[package]] -name = "virtualenv" -version = "20.27.0" -description = "Virtual Python Environment builder" -optional = false -python-versions = ">=3.8" -files = [ - {file = "virtualenv-20.27.0-py3-none-any.whl", hash = "sha256:44a72c29cceb0ee08f300b314848c86e57bf8d1f13107a5e671fb9274138d655"}, - {file = "virtualenv-20.27.0.tar.gz", hash = "sha256:2ca56a68ed615b8fe4326d11a0dca5dfbe8fd68510fb6c6349163bed3c15f2b2"}, -] - -[package.dependencies] -distlib = ">=0.3.7,<1" -filelock = ">=3.12.2,<4" -platformdirs = ">=3.9.1,<5" - -[package.extras] -docs = ["furo (>=2023.7.26)", "proselint (>=0.13)", "sphinx (>=7.1.2,!=7.3)", "sphinx-argparse (>=0.4)", "sphinxcontrib-towncrier (>=0.2.1a0)", "towncrier (>=23.6)"] -test = ["covdefaults (>=2.3)", "coverage (>=7.2.7)", "coverage-enable-subprocess (>=1)", "flaky (>=3.7)", "packaging (>=23.1)", "pytest (>=7.4)", "pytest-env (>=0.8.2)", "pytest-freezer (>=0.4.8)", "pytest-mock (>=3.11.1)", "pytest-randomly (>=3.12)", "pytest-timeout (>=2.1)", "setuptools (>=68)", "time-machine (>=2.10)"] - -[[package]] -name = "websocket-client" -version = "1.8.0" -description = "WebSocket client for Python with low level API options" -optional = false -python-versions = ">=3.8" -files = [ - {file = "websocket_client-1.8.0-py3-none-any.whl", hash = "sha256:17b44cc997f5c498e809b22cdf2d9c7a9e71c02c8cc2b6c56e7c2d1239bfa526"}, - {file = "websocket_client-1.8.0.tar.gz", hash = "sha256:3239df9f44da632f96012472805d40a23281a991027ce11d2f45a6f24ac4c3da"}, -] - -[package.extras] -docs = ["Sphinx (>=6.0)", "myst-parser (>=2.0.0)", "sphinx-rtd-theme (>=1.1.0)"] -optional = ["python-socks", "wsaccel"] -test = ["websockets"] - -[[package]] -name = "websockets" -version = "11.0.3" -description = "An implementation of the WebSocket Protocol (RFC 6455 & 7692)" -optional = false -python-versions = ">=3.7" -files = [ - {file = "websockets-11.0.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:3ccc8a0c387629aec40f2fc9fdcb4b9d5431954f934da3eaf16cdc94f67dbfac"}, - {file = "websockets-11.0.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d67ac60a307f760c6e65dad586f556dde58e683fab03323221a4e530ead6f74d"}, - {file = "websockets-11.0.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:84d27a4832cc1a0ee07cdcf2b0629a8a72db73f4cf6de6f0904f6661227f256f"}, - {file = "websockets-11.0.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ffd7dcaf744f25f82190856bc26ed81721508fc5cbf2a330751e135ff1283564"}, - {file = "websockets-11.0.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7622a89d696fc87af8e8d280d9b421db5133ef5b29d3f7a1ce9f1a7bf7fcfa11"}, - {file = "websockets-11.0.3-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bceab846bac555aff6427d060f2fcfff71042dba6f5fca7dc4f75cac815e57ca"}, - {file = "websockets-11.0.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:54c6e5b3d3a8936a4ab6870d46bdd6ec500ad62bde9e44462c32d18f1e9a8e54"}, - {file = "websockets-11.0.3-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:41f696ba95cd92dc047e46b41b26dd24518384749ed0d99bea0a941ca87404c4"}, - {file = "websockets-11.0.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:86d2a77fd490ae3ff6fae1c6ceaecad063d3cc2320b44377efdde79880e11526"}, - {file = "websockets-11.0.3-cp310-cp310-win32.whl", hash = "sha256:2d903ad4419f5b472de90cd2d40384573b25da71e33519a67797de17ef849b69"}, - {file = "websockets-11.0.3-cp310-cp310-win_amd64.whl", hash = "sha256:1d2256283fa4b7f4c7d7d3e84dc2ece74d341bce57d5b9bf385df109c2a1a82f"}, - {file = "websockets-11.0.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:e848f46a58b9fcf3d06061d17be388caf70ea5b8cc3466251963c8345e13f7eb"}, - {file = "websockets-11.0.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:aa5003845cdd21ac0dc6c9bf661c5beddd01116f6eb9eb3c8e272353d45b3288"}, - {file = "websockets-11.0.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:b58cbf0697721120866820b89f93659abc31c1e876bf20d0b3d03cef14faf84d"}, - {file = "websockets-11.0.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:660e2d9068d2bedc0912af508f30bbeb505bbbf9774d98def45f68278cea20d3"}, - {file = "websockets-11.0.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c1f0524f203e3bd35149f12157438f406eff2e4fb30f71221c8a5eceb3617b6b"}, - {file = "websockets-11.0.3-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:def07915168ac8f7853812cc593c71185a16216e9e4fa886358a17ed0fd9fcf6"}, - {file = "websockets-11.0.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:b30c6590146e53149f04e85a6e4fcae068df4289e31e4aee1fdf56a0dead8f97"}, - {file = "websockets-11.0.3-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:619d9f06372b3a42bc29d0cd0354c9bb9fb39c2cbc1a9c5025b4538738dbffaf"}, - {file = "websockets-11.0.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:01f5567d9cf6f502d655151645d4e8b72b453413d3819d2b6f1185abc23e82dd"}, - {file = "websockets-11.0.3-cp311-cp311-win32.whl", hash = "sha256:e1459677e5d12be8bbc7584c35b992eea142911a6236a3278b9b5ce3326f282c"}, - {file = "websockets-11.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:e7837cb169eca3b3ae94cc5787c4fed99eef74c0ab9506756eea335e0d6f3ed8"}, - {file = "websockets-11.0.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:9f59a3c656fef341a99e3d63189852be7084c0e54b75734cde571182c087b152"}, - {file = "websockets-11.0.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2529338a6ff0eb0b50c7be33dc3d0e456381157a31eefc561771ee431134a97f"}, - {file = "websockets-11.0.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:34fd59a4ac42dff6d4681d8843217137f6bc85ed29722f2f7222bd619d15e95b"}, - {file = "websockets-11.0.3-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:332d126167ddddec94597c2365537baf9ff62dfcc9db4266f263d455f2f031cb"}, - {file = "websockets-11.0.3-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:6505c1b31274723ccaf5f515c1824a4ad2f0d191cec942666b3d0f3aa4cb4007"}, - {file = "websockets-11.0.3-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:f467ba0050b7de85016b43f5a22b46383ef004c4f672148a8abf32bc999a87f0"}, - {file = "websockets-11.0.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:9d9acd80072abcc98bd2c86c3c9cd4ac2347b5a5a0cae7ed5c0ee5675f86d9af"}, - {file = "websockets-11.0.3-cp37-cp37m-win32.whl", hash = "sha256:e590228200fcfc7e9109509e4d9125eace2042fd52b595dd22bbc34bb282307f"}, - {file = "websockets-11.0.3-cp37-cp37m-win_amd64.whl", hash = "sha256:b16fff62b45eccb9c7abb18e60e7e446998093cdcb50fed33134b9b6878836de"}, - {file = "websockets-11.0.3-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:fb06eea71a00a7af0ae6aefbb932fb8a7df3cb390cc217d51a9ad7343de1b8d0"}, - {file = "websockets-11.0.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:8a34e13a62a59c871064dfd8ffb150867e54291e46d4a7cf11d02c94a5275bae"}, - {file = "websockets-11.0.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4841ed00f1026dfbced6fca7d963c4e7043aa832648671b5138008dc5a8f6d99"}, - {file = "websockets-11.0.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a073fc9ab1c8aff37c99f11f1641e16da517770e31a37265d2755282a5d28aa"}, - {file = "websockets-11.0.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:68b977f21ce443d6d378dbd5ca38621755f2063d6fdb3335bda981d552cfff86"}, - {file = "websockets-11.0.3-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e1a99a7a71631f0efe727c10edfba09ea6bee4166a6f9c19aafb6c0b5917d09c"}, - {file = "websockets-11.0.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:bee9fcb41db2a23bed96c6b6ead6489702c12334ea20a297aa095ce6d31370d0"}, - {file = "websockets-11.0.3-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:4b253869ea05a5a073ebfdcb5cb3b0266a57c3764cf6fe114e4cd90f4bfa5f5e"}, - {file = "websockets-11.0.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:1553cb82942b2a74dd9b15a018dce645d4e68674de2ca31ff13ebc2d9f283788"}, - {file = "websockets-11.0.3-cp38-cp38-win32.whl", hash = "sha256:f61bdb1df43dc9c131791fbc2355535f9024b9a04398d3bd0684fc16ab07df74"}, - {file = "websockets-11.0.3-cp38-cp38-win_amd64.whl", hash = "sha256:03aae4edc0b1c68498f41a6772d80ac7c1e33c06c6ffa2ac1c27a07653e79d6f"}, - {file = "websockets-11.0.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:777354ee16f02f643a4c7f2b3eff8027a33c9861edc691a2003531f5da4f6bc8"}, - {file = "websockets-11.0.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:8c82f11964f010053e13daafdc7154ce7385ecc538989a354ccc7067fd7028fd"}, - {file = "websockets-11.0.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:3580dd9c1ad0701169e4d6fc41e878ffe05e6bdcaf3c412f9d559389d0c9e016"}, - {file = "websockets-11.0.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6f1a3f10f836fab6ca6efa97bb952300b20ae56b409414ca85bff2ad241d2a61"}, - {file = "websockets-11.0.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:df41b9bc27c2c25b486bae7cf42fccdc52ff181c8c387bfd026624a491c2671b"}, - {file = "websockets-11.0.3-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:279e5de4671e79a9ac877427f4ac4ce93751b8823f276b681d04b2156713b9dd"}, - {file = "websockets-11.0.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:1fdf26fa8a6a592f8f9235285b8affa72748dc12e964a5518c6c5e8f916716f7"}, - {file = "websockets-11.0.3-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:69269f3a0b472e91125b503d3c0b3566bda26da0a3261c49f0027eb6075086d1"}, - {file = "websockets-11.0.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:97b52894d948d2f6ea480171a27122d77af14ced35f62e5c892ca2fae9344311"}, - {file = "websockets-11.0.3-cp39-cp39-win32.whl", hash = "sha256:c7f3cb904cce8e1be667c7e6fef4516b98d1a6a0635a58a57528d577ac18a128"}, - {file = "websockets-11.0.3-cp39-cp39-win_amd64.whl", hash = "sha256:c792ea4eabc0159535608fc5658a74d1a81020eb35195dd63214dcf07556f67e"}, - {file = "websockets-11.0.3-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:f2e58f2c36cc52d41f2659e4c0cbf7353e28c8c9e63e30d8c6d3494dc9fdedcf"}, - {file = "websockets-11.0.3-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:de36fe9c02995c7e6ae6efe2e205816f5f00c22fd1fbf343d4d18c3d5ceac2f5"}, - {file = "websockets-11.0.3-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0ac56b661e60edd453585f4bd68eb6a29ae25b5184fd5ba51e97652580458998"}, - {file = "websockets-11.0.3-pp37-pypy37_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e052b8467dd07d4943936009f46ae5ce7b908ddcac3fda581656b1b19c083d9b"}, - {file = "websockets-11.0.3-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:42cc5452a54a8e46a032521d7365da775823e21bfba2895fb7b77633cce031bb"}, - {file = "websockets-11.0.3-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:e6316827e3e79b7b8e7d8e3b08f4e331af91a48e794d5d8b099928b6f0b85f20"}, - {file = "websockets-11.0.3-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8531fdcad636d82c517b26a448dcfe62f720e1922b33c81ce695d0edb91eb931"}, - {file = "websockets-11.0.3-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c114e8da9b475739dde229fd3bc6b05a6537a88a578358bc8eb29b4030fac9c9"}, - {file = "websockets-11.0.3-pp38-pypy38_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e063b1865974611313a3849d43f2c3f5368093691349cf3c7c8f8f75ad7cb280"}, - {file = "websockets-11.0.3-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:92b2065d642bf8c0a82d59e59053dd2fdde64d4ed44efe4870fa816c1232647b"}, - {file = "websockets-11.0.3-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:0ee68fe502f9031f19d495dae2c268830df2760c0524cbac5d759921ba8c8e82"}, - {file = "websockets-11.0.3-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dcacf2c7a6c3a84e720d1bb2b543c675bf6c40e460300b628bab1b1efc7c034c"}, - {file = "websockets-11.0.3-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b67c6f5e5a401fc56394f191f00f9b3811fe843ee93f4a70df3c389d1adf857d"}, - {file = "websockets-11.0.3-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1d5023a4b6a5b183dc838808087033ec5df77580485fc533e7dab2567851b0a4"}, - {file = "websockets-11.0.3-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:ed058398f55163a79bb9f06a90ef9ccc063b204bb346c4de78efc5d15abfe602"}, - {file = "websockets-11.0.3-py3-none-any.whl", hash = "sha256:6681ba9e7f8f3b19440921e99efbb40fc89f26cd71bf539e45d8c8a25c976dc6"}, - {file = "websockets-11.0.3.tar.gz", hash = "sha256:88fc51d9a26b10fc331be344f1781224a375b78488fc343620184e95a4b27016"}, -] - -[[package]] -name = "win32-setctime" -version = "1.1.0" -description = "A small Python utility to set file creation time on Windows" -optional = false -python-versions = ">=3.5" -files = [ - {file = "win32_setctime-1.1.0-py3-none-any.whl", hash = "sha256:231db239e959c2fe7eb1d7dc129f11172354f98361c4fa2d6d2d7e278baa8aad"}, - {file = "win32_setctime-1.1.0.tar.gz", hash = "sha256:15cf5750465118d6929ae4de4eb46e8edae9a5634350c01ba582df868e932cb2"}, -] - -[package.extras] -dev = ["black (>=19.3b0)", "pytest (>=4.6.2)"] - -[[package]] -name = "wrapt" -version = "1.16.0" -description = "Module for decorators, wrappers and monkey patching." -optional = false -python-versions = ">=3.6" -files = [ - {file = "wrapt-1.16.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ffa565331890b90056c01db69c0fe634a776f8019c143a5ae265f9c6bc4bd6d4"}, - {file = "wrapt-1.16.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e4fdb9275308292e880dcbeb12546df7f3e0f96c6b41197e0cf37d2826359020"}, - {file = "wrapt-1.16.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bb2dee3874a500de01c93d5c71415fcaef1d858370d405824783e7a8ef5db440"}, - {file = "wrapt-1.16.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2a88e6010048489cda82b1326889ec075a8c856c2e6a256072b28eaee3ccf487"}, - {file = "wrapt-1.16.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ac83a914ebaf589b69f7d0a1277602ff494e21f4c2f743313414378f8f50a4cf"}, - {file = "wrapt-1.16.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:73aa7d98215d39b8455f103de64391cb79dfcad601701a3aa0dddacf74911d72"}, - {file = "wrapt-1.16.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:807cc8543a477ab7422f1120a217054f958a66ef7314f76dd9e77d3f02cdccd0"}, - {file = "wrapt-1.16.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:bf5703fdeb350e36885f2875d853ce13172ae281c56e509f4e6eca049bdfb136"}, - {file = "wrapt-1.16.0-cp310-cp310-win32.whl", hash = "sha256:f6b2d0c6703c988d334f297aa5df18c45e97b0af3679bb75059e0e0bd8b1069d"}, - {file = "wrapt-1.16.0-cp310-cp310-win_amd64.whl", hash = "sha256:decbfa2f618fa8ed81c95ee18a387ff973143c656ef800c9f24fb7e9c16054e2"}, - {file = "wrapt-1.16.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1a5db485fe2de4403f13fafdc231b0dbae5eca4359232d2efc79025527375b09"}, - {file = "wrapt-1.16.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:75ea7d0ee2a15733684badb16de6794894ed9c55aa5e9903260922f0482e687d"}, - {file = "wrapt-1.16.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a452f9ca3e3267cd4d0fcf2edd0d035b1934ac2bd7e0e57ac91ad6b95c0c6389"}, - {file = "wrapt-1.16.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:43aa59eadec7890d9958748db829df269f0368521ba6dc68cc172d5d03ed8060"}, - {file = "wrapt-1.16.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:72554a23c78a8e7aa02abbd699d129eead8b147a23c56e08d08dfc29cfdddca1"}, - {file = "wrapt-1.16.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:d2efee35b4b0a347e0d99d28e884dfd82797852d62fcd7ebdeee26f3ceb72cf3"}, - {file = "wrapt-1.16.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:6dcfcffe73710be01d90cae08c3e548d90932d37b39ef83969ae135d36ef3956"}, - {file = "wrapt-1.16.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:eb6e651000a19c96f452c85132811d25e9264d836951022d6e81df2fff38337d"}, - {file = "wrapt-1.16.0-cp311-cp311-win32.whl", hash = "sha256:66027d667efe95cc4fa945af59f92c5a02c6f5bb6012bff9e60542c74c75c362"}, - {file = "wrapt-1.16.0-cp311-cp311-win_amd64.whl", hash = "sha256:aefbc4cb0a54f91af643660a0a150ce2c090d3652cf4052a5397fb2de549cd89"}, - {file = "wrapt-1.16.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:5eb404d89131ec9b4f748fa5cfb5346802e5ee8836f57d516576e61f304f3b7b"}, - {file = "wrapt-1.16.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:9090c9e676d5236a6948330e83cb89969f433b1943a558968f659ead07cb3b36"}, - {file = "wrapt-1.16.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:94265b00870aa407bd0cbcfd536f17ecde43b94fb8d228560a1e9d3041462d73"}, - {file = "wrapt-1.16.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f2058f813d4f2b5e3a9eb2eb3faf8f1d99b81c3e51aeda4b168406443e8ba809"}, - {file = "wrapt-1.16.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:98b5e1f498a8ca1858a1cdbffb023bfd954da4e3fa2c0cb5853d40014557248b"}, - {file = "wrapt-1.16.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:14d7dc606219cdd7405133c713f2c218d4252f2a469003f8c46bb92d5d095d81"}, - {file = "wrapt-1.16.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:49aac49dc4782cb04f58986e81ea0b4768e4ff197b57324dcbd7699c5dfb40b9"}, - {file = "wrapt-1.16.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:418abb18146475c310d7a6dc71143d6f7adec5b004ac9ce08dc7a34e2babdc5c"}, - {file = "wrapt-1.16.0-cp312-cp312-win32.whl", hash = "sha256:685f568fa5e627e93f3b52fda002c7ed2fa1800b50ce51f6ed1d572d8ab3e7fc"}, - {file = "wrapt-1.16.0-cp312-cp312-win_amd64.whl", hash = "sha256:dcdba5c86e368442528f7060039eda390cc4091bfd1dca41e8046af7c910dda8"}, - {file = "wrapt-1.16.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:d462f28826f4657968ae51d2181a074dfe03c200d6131690b7d65d55b0f360f8"}, - {file = "wrapt-1.16.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a33a747400b94b6d6b8a165e4480264a64a78c8a4c734b62136062e9a248dd39"}, - {file = "wrapt-1.16.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b3646eefa23daeba62643a58aac816945cadc0afaf21800a1421eeba5f6cfb9c"}, - {file = "wrapt-1.16.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ebf019be5c09d400cf7b024aa52b1f3aeebeff51550d007e92c3c1c4afc2a40"}, - {file = "wrapt-1.16.0-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:0d2691979e93d06a95a26257adb7bfd0c93818e89b1406f5a28f36e0d8c1e1fc"}, - {file = "wrapt-1.16.0-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:1acd723ee2a8826f3d53910255643e33673e1d11db84ce5880675954183ec47e"}, - {file = "wrapt-1.16.0-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:bc57efac2da352a51cc4658878a68d2b1b67dbe9d33c36cb826ca449d80a8465"}, - {file = "wrapt-1.16.0-cp36-cp36m-win32.whl", hash = "sha256:da4813f751142436b075ed7aa012a8778aa43a99f7b36afe9b742d3ed8bdc95e"}, - {file = "wrapt-1.16.0-cp36-cp36m-win_amd64.whl", hash = "sha256:6f6eac2360f2d543cc875a0e5efd413b6cbd483cb3ad7ebf888884a6e0d2e966"}, - {file = "wrapt-1.16.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:a0ea261ce52b5952bf669684a251a66df239ec6d441ccb59ec7afa882265d593"}, - {file = "wrapt-1.16.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7bd2d7ff69a2cac767fbf7a2b206add2e9a210e57947dd7ce03e25d03d2de292"}, - {file = "wrapt-1.16.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9159485323798c8dc530a224bd3ffcf76659319ccc7bbd52e01e73bd0241a0c5"}, - {file = "wrapt-1.16.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a86373cf37cd7764f2201b76496aba58a52e76dedfaa698ef9e9688bfd9e41cf"}, - {file = "wrapt-1.16.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:73870c364c11f03ed072dda68ff7aea6d2a3a5c3fe250d917a429c7432e15228"}, - {file = "wrapt-1.16.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:b935ae30c6e7400022b50f8d359c03ed233d45b725cfdd299462f41ee5ffba6f"}, - {file = "wrapt-1.16.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:db98ad84a55eb09b3c32a96c576476777e87c520a34e2519d3e59c44710c002c"}, - {file = "wrapt-1.16.0-cp37-cp37m-win32.whl", hash = "sha256:9153ed35fc5e4fa3b2fe97bddaa7cbec0ed22412b85bcdaf54aeba92ea37428c"}, - {file = "wrapt-1.16.0-cp37-cp37m-win_amd64.whl", hash = "sha256:66dfbaa7cfa3eb707bbfcd46dab2bc6207b005cbc9caa2199bcbc81d95071a00"}, - {file = "wrapt-1.16.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1dd50a2696ff89f57bd8847647a1c363b687d3d796dc30d4dd4a9d1689a706f0"}, - {file = "wrapt-1.16.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:44a2754372e32ab315734c6c73b24351d06e77ffff6ae27d2ecf14cf3d229202"}, - {file = "wrapt-1.16.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8e9723528b9f787dc59168369e42ae1c3b0d3fadb2f1a71de14531d321ee05b0"}, - {file = "wrapt-1.16.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dbed418ba5c3dce92619656802cc5355cb679e58d0d89b50f116e4a9d5a9603e"}, - {file = "wrapt-1.16.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:941988b89b4fd6b41c3f0bfb20e92bd23746579736b7343283297c4c8cbae68f"}, - {file = "wrapt-1.16.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:6a42cd0cfa8ffc1915aef79cb4284f6383d8a3e9dcca70c445dcfdd639d51267"}, - {file = "wrapt-1.16.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:1ca9b6085e4f866bd584fb135a041bfc32cab916e69f714a7d1d397f8c4891ca"}, - {file = "wrapt-1.16.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:d5e49454f19ef621089e204f862388d29e6e8d8b162efce05208913dde5b9ad6"}, - {file = "wrapt-1.16.0-cp38-cp38-win32.whl", hash = "sha256:c31f72b1b6624c9d863fc095da460802f43a7c6868c5dda140f51da24fd47d7b"}, - {file = "wrapt-1.16.0-cp38-cp38-win_amd64.whl", hash = "sha256:490b0ee15c1a55be9c1bd8609b8cecd60e325f0575fc98f50058eae366e01f41"}, - {file = "wrapt-1.16.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9b201ae332c3637a42f02d1045e1d0cccfdc41f1f2f801dafbaa7e9b4797bfc2"}, - {file = "wrapt-1.16.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:2076fad65c6736184e77d7d4729b63a6d1ae0b70da4868adeec40989858eb3fb"}, - {file = "wrapt-1.16.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c5cd603b575ebceca7da5a3a251e69561bec509e0b46e4993e1cac402b7247b8"}, - {file = "wrapt-1.16.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b47cfad9e9bbbed2339081f4e346c93ecd7ab504299403320bf85f7f85c7d46c"}, - {file = "wrapt-1.16.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f8212564d49c50eb4565e502814f694e240c55551a5f1bc841d4fcaabb0a9b8a"}, - {file = "wrapt-1.16.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:5f15814a33e42b04e3de432e573aa557f9f0f56458745c2074952f564c50e664"}, - {file = "wrapt-1.16.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:db2e408d983b0e61e238cf579c09ef7020560441906ca990fe8412153e3b291f"}, - {file = "wrapt-1.16.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:edfad1d29c73f9b863ebe7082ae9321374ccb10879eeabc84ba3b69f2579d537"}, - {file = "wrapt-1.16.0-cp39-cp39-win32.whl", hash = "sha256:ed867c42c268f876097248e05b6117a65bcd1e63b779e916fe2e33cd6fd0d3c3"}, - {file = "wrapt-1.16.0-cp39-cp39-win_amd64.whl", hash = "sha256:eb1b046be06b0fce7249f1d025cd359b4b80fc1c3e24ad9eca33e0dcdb2e4a35"}, - {file = "wrapt-1.16.0-py3-none-any.whl", hash = "sha256:6906c4100a8fcbf2fa735f6059214bb13b97f75b1a61777fcf6432121ef12ef1"}, - {file = "wrapt-1.16.0.tar.gz", hash = "sha256:5f370f952971e7d17c7d1ead40e49f32345a7f7a5373571ef44d800d06b1899d"}, -] - -[[package]] -name = "zipp" -version = "3.20.2" -description = "Backport of pathlib-compatible object wrapper for zip files" -optional = false -python-versions = ">=3.8" -files = [ - {file = "zipp-3.20.2-py3-none-any.whl", hash = "sha256:a817ac80d6cf4b23bf7f2828b7cabf326f15a001bea8b1f9b49631780ba28350"}, - {file = "zipp-3.20.2.tar.gz", hash = "sha256:bc9eb26f4506fda01b81bcde0ca78103b6e62f991b381fec825435c836edbc29"}, -] - -[package.extras] -check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)"] -cover = ["pytest-cov"] -doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] -enabler = ["pytest-enabler (>=2.2)"] -test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", "jaraco.test", "more-itertools", "pytest (>=6,!=8.1.*)", "pytest-ignore-flaky"] -type = ["pytest-mypy"] - -[metadata] -lock-version = "2.0" -python-versions = "^3.10 | ^3.9" -content-hash = "3c44aa4c67a390622291459f117b591302ed643bf86e0953c9f3b6c31dc3d504" diff --git a/pyproject.toml b/pyproject.toml index b25aa79..d475b4a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,31 +1,43 @@ -[tool.poetry] +[project] name = "lnbits-example" version = "0.0.0" +requires-python = ">=3.10,<3.13" description = "LNbits, free and open-source Lightning wallet and accounts system." -authors = ["Alan Bits "] +authors = [{ name = "Alan Bits", email = "alan@lnbits.com" }] +urls = { Homepage = "https://lnbits.com", Repository = "https://github.com/lnbits/example" } -[tool.poetry.dependencies] -python = "^3.10 | ^3.9" -lnbits = {version = "*", allow-prereleases = true} +dependencies = [ "lnbits>1" ] -[tool.poetry.group.dev.dependencies] -black = "^24.3.0" -pytest-asyncio = "^0.21.0" -pytest = "^7.3.2" -mypy = "^1.5.1" -pre-commit = "^3.2.2" -ruff = "^0.3.2" +[tool.uv] +dev-dependencies = [ + "black", + "pytest-asyncio", + "pytest", + "mypy", + "pre-commit", + "ruff", +] + +[tool.mypy] +exclude = "(nostr/*)" +plugins = ["pydantic.mypy"] -[build-system] -requires = ["poetry-core>=1.0.0"] -build-backend = "poetry.core.masonry.api" +[tool.pydantic-mypy] +init_forbid_extra = true +init_typed = true +warn_required_dynamic_aliases = true +warn_untyped_fields = true [[tool.mypy.overrides]] module = [ "lnbits.*", + "lnurl.*", "loguru.*", "fastapi.*", "pydantic.*", + "pyqrcode.*", + "shortuuid.*", + "httpx.*", ] ignore_missing_imports = "True" @@ -41,6 +53,9 @@ line-length = 88 [tool.ruff] # Same as Black. + 10% rule of black line-length = 88 +exclude = [ + "nostr", +] [tool.ruff.lint] # Enable: @@ -55,8 +70,7 @@ line-length = 88 # RUF - ruff # B - bugbear select = ["F", "E", "W", "I", "A", "C", "N", "UP", "RUF", "B"] -# UP007: pyupgrade: use X | Y instead of Optional. (python3.10) -ignore = ["UP007"] +ignore = ["C901"] # Allow autofix for all enabled rules (when `--fix`) is provided. fixable = ["ALL"] @@ -68,6 +82,7 @@ dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$" # needed for pydantic [tool.ruff.lint.pep8-naming] classmethod-decorators = [ + "validator", "root_validator", ] diff --git a/uv.lock b/uv.lock new file mode 100644 index 0000000..7d4cf50 --- /dev/null +++ b/uv.lock @@ -0,0 +1,2200 @@ +version = 1 +revision = 3 +requires-python = ">=3.10, <3.13" + +[[package]] +name = "aiohappyeyeballs" +version = "2.6.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/26/30/f84a107a9c4331c14b2b586036f40965c128aa4fee4dda5d3d51cb14ad54/aiohappyeyeballs-2.6.1.tar.gz", hash = "sha256:c3f9d0113123803ccadfdf3f0faa505bc78e6a72d1cc4806cbd719826e943558", size = 22760, upload-time = "2025-03-12T01:42:48.764Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0f/15/5bf3b99495fb160b63f95972b81750f18f7f4e02ad051373b669d17d44f2/aiohappyeyeballs-2.6.1-py3-none-any.whl", hash = "sha256:f349ba8f4b75cb25c99c5c2d84e997e485204d2902a9597802b0371f09331fb8", size = 15265, upload-time = "2025-03-12T01:42:47.083Z" }, +] + +[[package]] +name = "aiohttp" +version = "3.12.15" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "aiohappyeyeballs" }, + { name = "aiosignal" }, + { name = "async-timeout", marker = "python_full_version < '3.11'" }, + { name = "attrs" }, + { name = "frozenlist" }, + { name = "multidict" }, + { name = "propcache" }, + { name = "yarl" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/9b/e7/d92a237d8802ca88483906c388f7c201bbe96cd80a165ffd0ac2f6a8d59f/aiohttp-3.12.15.tar.gz", hash = "sha256:4fc61385e9c98d72fcdf47e6dd81833f47b2f77c114c29cd64a361be57a763a2", size = 7823716, upload-time = "2025-07-29T05:52:32.215Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/47/dc/ef9394bde9080128ad401ac7ede185267ed637df03b51f05d14d1c99ad67/aiohttp-3.12.15-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:b6fc902bff74d9b1879ad55f5404153e2b33a82e72a95c89cec5eb6cc9e92fbc", size = 703921, upload-time = "2025-07-29T05:49:43.584Z" }, + { url = "https://files.pythonhosted.org/packages/8f/42/63fccfc3a7ed97eb6e1a71722396f409c46b60a0552d8a56d7aad74e0df5/aiohttp-3.12.15-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:098e92835b8119b54c693f2f88a1dec690e20798ca5f5fe5f0520245253ee0af", size = 480288, upload-time = "2025-07-29T05:49:47.851Z" }, + { url = "https://files.pythonhosted.org/packages/9c/a2/7b8a020549f66ea2a68129db6960a762d2393248f1994499f8ba9728bbed/aiohttp-3.12.15-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:40b3fee496a47c3b4a39a731954c06f0bd9bd3e8258c059a4beb76ac23f8e421", size = 468063, upload-time = "2025-07-29T05:49:49.789Z" }, + { url = "https://files.pythonhosted.org/packages/8f/f5/d11e088da9176e2ad8220338ae0000ed5429a15f3c9dfd983f39105399cd/aiohttp-3.12.15-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2ce13fcfb0bb2f259fb42106cdc63fa5515fb85b7e87177267d89a771a660b79", size = 1650122, upload-time = "2025-07-29T05:49:51.874Z" }, + { url = "https://files.pythonhosted.org/packages/b0/6b/b60ce2757e2faed3d70ed45dafee48cee7bfb878785a9423f7e883f0639c/aiohttp-3.12.15-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:3beb14f053222b391bf9cf92ae82e0171067cc9c8f52453a0f1ec7c37df12a77", size = 1624176, upload-time = "2025-07-29T05:49:53.805Z" }, + { url = "https://files.pythonhosted.org/packages/dd/de/8c9fde2072a1b72c4fadecf4f7d4be7a85b1d9a4ab333d8245694057b4c6/aiohttp-3.12.15-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4c39e87afe48aa3e814cac5f535bc6199180a53e38d3f51c5e2530f5aa4ec58c", size = 1696583, upload-time = "2025-07-29T05:49:55.338Z" }, + { url = "https://files.pythonhosted.org/packages/0c/ad/07f863ca3d895a1ad958a54006c6dafb4f9310f8c2fdb5f961b8529029d3/aiohttp-3.12.15-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d5f1b4ce5bc528a6ee38dbf5f39bbf11dd127048726323b72b8e85769319ffc4", size = 1738896, upload-time = "2025-07-29T05:49:57.045Z" }, + { url = "https://files.pythonhosted.org/packages/20/43/2bd482ebe2b126533e8755a49b128ec4e58f1a3af56879a3abdb7b42c54f/aiohttp-3.12.15-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1004e67962efabbaf3f03b11b4c43b834081c9e3f9b32b16a7d97d4708a9abe6", size = 1643561, upload-time = "2025-07-29T05:49:58.762Z" }, + { url = "https://files.pythonhosted.org/packages/23/40/2fa9f514c4cf4cbae8d7911927f81a1901838baf5e09a8b2c299de1acfe5/aiohttp-3.12.15-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8faa08fcc2e411f7ab91d1541d9d597d3a90e9004180edb2072238c085eac8c2", size = 1583685, upload-time = "2025-07-29T05:50:00.375Z" }, + { url = "https://files.pythonhosted.org/packages/b8/c3/94dc7357bc421f4fb978ca72a201a6c604ee90148f1181790c129396ceeb/aiohttp-3.12.15-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:fe086edf38b2222328cdf89af0dde2439ee173b8ad7cb659b4e4c6f385b2be3d", size = 1627533, upload-time = "2025-07-29T05:50:02.306Z" }, + { url = "https://files.pythonhosted.org/packages/bf/3f/1f8911fe1844a07001e26593b5c255a685318943864b27b4e0267e840f95/aiohttp-3.12.15-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:79b26fe467219add81d5e47b4a4ba0f2394e8b7c7c3198ed36609f9ba161aecb", size = 1638319, upload-time = "2025-07-29T05:50:04.282Z" }, + { url = "https://files.pythonhosted.org/packages/4e/46/27bf57a99168c4e145ffee6b63d0458b9c66e58bb70687c23ad3d2f0bd17/aiohttp-3.12.15-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:b761bac1192ef24e16706d761aefcb581438b34b13a2f069a6d343ec8fb693a5", size = 1613776, upload-time = "2025-07-29T05:50:05.863Z" }, + { url = "https://files.pythonhosted.org/packages/0f/7e/1d2d9061a574584bb4ad3dbdba0da90a27fdc795bc227def3a46186a8bc1/aiohttp-3.12.15-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:e153e8adacfe2af562861b72f8bc47f8a5c08e010ac94eebbe33dc21d677cd5b", size = 1693359, upload-time = "2025-07-29T05:50:07.563Z" }, + { url = "https://files.pythonhosted.org/packages/08/98/bee429b52233c4a391980a5b3b196b060872a13eadd41c3a34be9b1469ed/aiohttp-3.12.15-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:fc49c4de44977aa8601a00edbf157e9a421f227aa7eb477d9e3df48343311065", size = 1716598, upload-time = "2025-07-29T05:50:09.33Z" }, + { url = "https://files.pythonhosted.org/packages/57/39/b0314c1ea774df3392751b686104a3938c63ece2b7ce0ba1ed7c0b4a934f/aiohttp-3.12.15-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:2776c7ec89c54a47029940177e75c8c07c29c66f73464784971d6a81904ce9d1", size = 1644940, upload-time = "2025-07-29T05:50:11.334Z" }, + { url = "https://files.pythonhosted.org/packages/1b/83/3dacb8d3f8f512c8ca43e3fa8a68b20583bd25636ffa4e56ee841ffd79ae/aiohttp-3.12.15-cp310-cp310-win32.whl", hash = "sha256:2c7d81a277fa78b2203ab626ced1487420e8c11a8e373707ab72d189fcdad20a", size = 429239, upload-time = "2025-07-29T05:50:12.803Z" }, + { url = "https://files.pythonhosted.org/packages/eb/f9/470b5daba04d558c9673ca2034f28d067f3202a40e17804425f0c331c89f/aiohttp-3.12.15-cp310-cp310-win_amd64.whl", hash = "sha256:83603f881e11f0f710f8e2327817c82e79431ec976448839f3cd05d7afe8f830", size = 452297, upload-time = "2025-07-29T05:50:14.266Z" }, + { url = "https://files.pythonhosted.org/packages/20/19/9e86722ec8e835959bd97ce8c1efa78cf361fa4531fca372551abcc9cdd6/aiohttp-3.12.15-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:d3ce17ce0220383a0f9ea07175eeaa6aa13ae5a41f30bc61d84df17f0e9b1117", size = 711246, upload-time = "2025-07-29T05:50:15.937Z" }, + { url = "https://files.pythonhosted.org/packages/71/f9/0a31fcb1a7d4629ac9d8f01f1cb9242e2f9943f47f5d03215af91c3c1a26/aiohttp-3.12.15-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:010cc9bbd06db80fe234d9003f67e97a10fe003bfbedb40da7d71c1008eda0fe", size = 483515, upload-time = "2025-07-29T05:50:17.442Z" }, + { url = "https://files.pythonhosted.org/packages/62/6c/94846f576f1d11df0c2e41d3001000527c0fdf63fce7e69b3927a731325d/aiohttp-3.12.15-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3f9d7c55b41ed687b9d7165b17672340187f87a773c98236c987f08c858145a9", size = 471776, upload-time = "2025-07-29T05:50:19.568Z" }, + { url = "https://files.pythonhosted.org/packages/f8/6c/f766d0aaafcee0447fad0328da780d344489c042e25cd58fde566bf40aed/aiohttp-3.12.15-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bc4fbc61bb3548d3b482f9ac7ddd0f18c67e4225aaa4e8552b9f1ac7e6bda9e5", size = 1741977, upload-time = "2025-07-29T05:50:21.665Z" }, + { url = "https://files.pythonhosted.org/packages/17/e5/fb779a05ba6ff44d7bc1e9d24c644e876bfff5abe5454f7b854cace1b9cc/aiohttp-3.12.15-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:7fbc8a7c410bb3ad5d595bb7118147dfbb6449d862cc1125cf8867cb337e8728", size = 1690645, upload-time = "2025-07-29T05:50:23.333Z" }, + { url = "https://files.pythonhosted.org/packages/37/4e/a22e799c2035f5d6a4ad2cf8e7c1d1bd0923192871dd6e367dafb158b14c/aiohttp-3.12.15-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:74dad41b3458dbb0511e760fb355bb0b6689e0630de8a22b1b62a98777136e16", size = 1789437, upload-time = "2025-07-29T05:50:25.007Z" }, + { url = "https://files.pythonhosted.org/packages/28/e5/55a33b991f6433569babb56018b2fb8fb9146424f8b3a0c8ecca80556762/aiohttp-3.12.15-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3b6f0af863cf17e6222b1735a756d664159e58855da99cfe965134a3ff63b0b0", size = 1828482, upload-time = "2025-07-29T05:50:26.693Z" }, + { url = "https://files.pythonhosted.org/packages/c6/82/1ddf0ea4f2f3afe79dffed5e8a246737cff6cbe781887a6a170299e33204/aiohttp-3.12.15-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b5b7fe4972d48a4da367043b8e023fb70a04d1490aa7d68800e465d1b97e493b", size = 1730944, upload-time = "2025-07-29T05:50:28.382Z" }, + { url = "https://files.pythonhosted.org/packages/1b/96/784c785674117b4cb3877522a177ba1b5e4db9ce0fd519430b5de76eec90/aiohttp-3.12.15-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6443cca89553b7a5485331bc9bedb2342b08d073fa10b8c7d1c60579c4a7b9bd", size = 1668020, upload-time = "2025-07-29T05:50:30.032Z" }, + { url = "https://files.pythonhosted.org/packages/12/8a/8b75f203ea7e5c21c0920d84dd24a5c0e971fe1e9b9ebbf29ae7e8e39790/aiohttp-3.12.15-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:6c5f40ec615e5264f44b4282ee27628cea221fcad52f27405b80abb346d9f3f8", size = 1716292, upload-time = "2025-07-29T05:50:31.983Z" }, + { url = "https://files.pythonhosted.org/packages/47/0b/a1451543475bb6b86a5cfc27861e52b14085ae232896a2654ff1231c0992/aiohttp-3.12.15-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:2abbb216a1d3a2fe86dbd2edce20cdc5e9ad0be6378455b05ec7f77361b3ab50", size = 1711451, upload-time = "2025-07-29T05:50:33.989Z" }, + { url = "https://files.pythonhosted.org/packages/55/fd/793a23a197cc2f0d29188805cfc93aa613407f07e5f9da5cd1366afd9d7c/aiohttp-3.12.15-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:db71ce547012a5420a39c1b744d485cfb823564d01d5d20805977f5ea1345676", size = 1691634, upload-time = "2025-07-29T05:50:35.846Z" }, + { url = "https://files.pythonhosted.org/packages/ca/bf/23a335a6670b5f5dfc6d268328e55a22651b440fca341a64fccf1eada0c6/aiohttp-3.12.15-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:ced339d7c9b5030abad5854aa5413a77565e5b6e6248ff927d3e174baf3badf7", size = 1785238, upload-time = "2025-07-29T05:50:37.597Z" }, + { url = "https://files.pythonhosted.org/packages/57/4f/ed60a591839a9d85d40694aba5cef86dde9ee51ce6cca0bb30d6eb1581e7/aiohttp-3.12.15-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:7c7dd29c7b5bda137464dc9bfc738d7ceea46ff70309859ffde8c022e9b08ba7", size = 1805701, upload-time = "2025-07-29T05:50:39.591Z" }, + { url = "https://files.pythonhosted.org/packages/85/e0/444747a9455c5de188c0f4a0173ee701e2e325d4b2550e9af84abb20cdba/aiohttp-3.12.15-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:421da6fd326460517873274875c6c5a18ff225b40da2616083c5a34a7570b685", size = 1718758, upload-time = "2025-07-29T05:50:41.292Z" }, + { url = "https://files.pythonhosted.org/packages/36/ab/1006278d1ffd13a698e5dd4bfa01e5878f6bddefc296c8b62649753ff249/aiohttp-3.12.15-cp311-cp311-win32.whl", hash = "sha256:4420cf9d179ec8dfe4be10e7d0fe47d6d606485512ea2265b0d8c5113372771b", size = 428868, upload-time = "2025-07-29T05:50:43.063Z" }, + { url = "https://files.pythonhosted.org/packages/10/97/ad2b18700708452400278039272032170246a1bf8ec5d832772372c71f1a/aiohttp-3.12.15-cp311-cp311-win_amd64.whl", hash = "sha256:edd533a07da85baa4b423ee8839e3e91681c7bfa19b04260a469ee94b778bf6d", size = 453273, upload-time = "2025-07-29T05:50:44.613Z" }, + { url = "https://files.pythonhosted.org/packages/63/97/77cb2450d9b35f517d6cf506256bf4f5bda3f93a66b4ad64ba7fc917899c/aiohttp-3.12.15-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:802d3868f5776e28f7bf69d349c26fc0efadb81676d0afa88ed00d98a26340b7", size = 702333, upload-time = "2025-07-29T05:50:46.507Z" }, + { url = "https://files.pythonhosted.org/packages/83/6d/0544e6b08b748682c30b9f65640d006e51f90763b41d7c546693bc22900d/aiohttp-3.12.15-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:f2800614cd560287be05e33a679638e586a2d7401f4ddf99e304d98878c29444", size = 476948, upload-time = "2025-07-29T05:50:48.067Z" }, + { url = "https://files.pythonhosted.org/packages/3a/1d/c8c40e611e5094330284b1aea8a4b02ca0858f8458614fa35754cab42b9c/aiohttp-3.12.15-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8466151554b593909d30a0a125d638b4e5f3836e5aecde85b66b80ded1cb5b0d", size = 469787, upload-time = "2025-07-29T05:50:49.669Z" }, + { url = "https://files.pythonhosted.org/packages/38/7d/b76438e70319796bfff717f325d97ce2e9310f752a267bfdf5192ac6082b/aiohttp-3.12.15-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2e5a495cb1be69dae4b08f35a6c4579c539e9b5706f606632102c0f855bcba7c", size = 1716590, upload-time = "2025-07-29T05:50:51.368Z" }, + { url = "https://files.pythonhosted.org/packages/79/b1/60370d70cdf8b269ee1444b390cbd72ce514f0d1cd1a715821c784d272c9/aiohttp-3.12.15-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:6404dfc8cdde35c69aaa489bb3542fb86ef215fc70277c892be8af540e5e21c0", size = 1699241, upload-time = "2025-07-29T05:50:53.628Z" }, + { url = "https://files.pythonhosted.org/packages/a3/2b/4968a7b8792437ebc12186db31523f541943e99bda8f30335c482bea6879/aiohttp-3.12.15-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3ead1c00f8521a5c9070fcb88f02967b1d8a0544e6d85c253f6968b785e1a2ab", size = 1754335, upload-time = "2025-07-29T05:50:55.394Z" }, + { url = "https://files.pythonhosted.org/packages/fb/c1/49524ed553f9a0bec1a11fac09e790f49ff669bcd14164f9fab608831c4d/aiohttp-3.12.15-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6990ef617f14450bc6b34941dba4f12d5613cbf4e33805932f853fbd1cf18bfb", size = 1800491, upload-time = "2025-07-29T05:50:57.202Z" }, + { url = "https://files.pythonhosted.org/packages/de/5e/3bf5acea47a96a28c121b167f5ef659cf71208b19e52a88cdfa5c37f1fcc/aiohttp-3.12.15-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd736ed420f4db2b8148b52b46b88ed038d0354255f9a73196b7bbce3ea97545", size = 1719929, upload-time = "2025-07-29T05:50:59.192Z" }, + { url = "https://files.pythonhosted.org/packages/39/94/8ae30b806835bcd1cba799ba35347dee6961a11bd507db634516210e91d8/aiohttp-3.12.15-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3c5092ce14361a73086b90c6efb3948ffa5be2f5b6fbcf52e8d8c8b8848bb97c", size = 1635733, upload-time = "2025-07-29T05:51:01.394Z" }, + { url = "https://files.pythonhosted.org/packages/7a/46/06cdef71dd03acd9da7f51ab3a9107318aee12ad38d273f654e4f981583a/aiohttp-3.12.15-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:aaa2234bb60c4dbf82893e934d8ee8dea30446f0647e024074237a56a08c01bd", size = 1696790, upload-time = "2025-07-29T05:51:03.657Z" }, + { url = "https://files.pythonhosted.org/packages/02/90/6b4cfaaf92ed98d0ec4d173e78b99b4b1a7551250be8937d9d67ecb356b4/aiohttp-3.12.15-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:6d86a2fbdd14192e2f234a92d3b494dd4457e683ba07e5905a0b3ee25389ac9f", size = 1718245, upload-time = "2025-07-29T05:51:05.911Z" }, + { url = "https://files.pythonhosted.org/packages/2e/e6/2593751670fa06f080a846f37f112cbe6f873ba510d070136a6ed46117c6/aiohttp-3.12.15-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:a041e7e2612041a6ddf1c6a33b883be6a421247c7afd47e885969ee4cc58bd8d", size = 1658899, upload-time = "2025-07-29T05:51:07.753Z" }, + { url = "https://files.pythonhosted.org/packages/8f/28/c15bacbdb8b8eb5bf39b10680d129ea7410b859e379b03190f02fa104ffd/aiohttp-3.12.15-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:5015082477abeafad7203757ae44299a610e89ee82a1503e3d4184e6bafdd519", size = 1738459, upload-time = "2025-07-29T05:51:09.56Z" }, + { url = "https://files.pythonhosted.org/packages/00/de/c269cbc4faa01fb10f143b1670633a8ddd5b2e1ffd0548f7aa49cb5c70e2/aiohttp-3.12.15-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:56822ff5ddfd1b745534e658faba944012346184fbfe732e0d6134b744516eea", size = 1766434, upload-time = "2025-07-29T05:51:11.423Z" }, + { url = "https://files.pythonhosted.org/packages/52/b0/4ff3abd81aa7d929b27d2e1403722a65fc87b763e3a97b3a2a494bfc63bc/aiohttp-3.12.15-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b2acbbfff69019d9014508c4ba0401822e8bae5a5fdc3b6814285b71231b60f3", size = 1726045, upload-time = "2025-07-29T05:51:13.689Z" }, + { url = "https://files.pythonhosted.org/packages/71/16/949225a6a2dd6efcbd855fbd90cf476052e648fb011aa538e3b15b89a57a/aiohttp-3.12.15-cp312-cp312-win32.whl", hash = "sha256:d849b0901b50f2185874b9a232f38e26b9b3d4810095a7572eacea939132d4e1", size = 423591, upload-time = "2025-07-29T05:51:15.452Z" }, + { url = "https://files.pythonhosted.org/packages/2b/d8/fa65d2a349fe938b76d309db1a56a75c4fb8cc7b17a398b698488a939903/aiohttp-3.12.15-cp312-cp312-win_amd64.whl", hash = "sha256:b390ef5f62bb508a9d67cb3bba9b8356e23b3996da7062f1a57ce1a79d2b3d34", size = 450266, upload-time = "2025-07-29T05:51:17.239Z" }, +] + +[[package]] +name = "aiosignal" +version = "1.4.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "frozenlist" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/61/62/06741b579156360248d1ec624842ad0edf697050bbaf7c3e46394e106ad1/aiosignal-1.4.0.tar.gz", hash = "sha256:f47eecd9468083c2029cc99945502cb7708b082c232f9aca65da147157b251c7", size = 25007, upload-time = "2025-07-03T22:54:43.528Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fb/76/641ae371508676492379f16e2fa48f4e2c11741bd63c48be4b12a6b09cba/aiosignal-1.4.0-py3-none-any.whl", hash = "sha256:053243f8b92b990551949e63930a839ff0cf0b0ebbe0597b0f3fb19e1a0fe82e", size = 7490, upload-time = "2025-07-03T22:54:42.156Z" }, +] + +[[package]] +name = "aiosqlite" +version = "0.21.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/13/7d/8bca2bf9a247c2c5dfeec1d7a5f40db6518f88d314b8bca9da29670d2671/aiosqlite-0.21.0.tar.gz", hash = "sha256:131bb8056daa3bc875608c631c678cda73922a2d4ba8aec373b19f18c17e7aa3", size = 13454, upload-time = "2025-02-03T07:30:16.235Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f5/10/6c25ed6de94c49f88a91fa5018cb4c0f3625f31d5be9f771ebe5cc7cd506/aiosqlite-0.21.0-py3-none-any.whl", hash = "sha256:2549cf4057f95f53dcba16f2b64e8e2791d7e1adedb13197dd8ed77bb226d7d0", size = 15792, upload-time = "2025-02-03T07:30:13.6Z" }, +] + +[[package]] +name = "anyio" +version = "4.10.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "exceptiongroup", marker = "python_full_version < '3.11'" }, + { name = "idna" }, + { name = "sniffio" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/f1/b4/636b3b65173d3ce9a38ef5f0522789614e590dab6a8d505340a4efe4c567/anyio-4.10.0.tar.gz", hash = "sha256:3f3fae35c96039744587aa5b8371e7e8e603c0702999535961dd336026973ba6", size = 213252, upload-time = "2025-08-04T08:54:26.451Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6f/12/e5e0282d673bb9746bacfb6e2dba8719989d3660cdb2ea79aee9a9651afb/anyio-4.10.0-py3-none-any.whl", hash = "sha256:60e474ac86736bbfd6f210f7a61218939c318f43f9972497381f1c5e930ed3d1", size = 107213, upload-time = "2025-08-04T08:54:24.882Z" }, +] + +[[package]] +name = "asn1crypto" +version = "1.5.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/de/cf/d547feed25b5244fcb9392e288ff9fdc3280b10260362fc45d37a798a6ee/asn1crypto-1.5.1.tar.gz", hash = "sha256:13ae38502be632115abf8a24cbe5f4da52e3b5231990aff31123c805306ccb9c", size = 121080, upload-time = "2022-03-15T14:46:52.889Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c9/7f/09065fd9e27da0eda08b4d6897f1c13535066174cc023af248fc2a8d5e5a/asn1crypto-1.5.1-py2.py3-none-any.whl", hash = "sha256:db4e40728b728508912cbb3d44f19ce188f218e9eba635821bb4b68564f8fd67", size = 105045, upload-time = "2022-03-15T14:46:51.055Z" }, +] + +[[package]] +name = "async-timeout" +version = "5.0.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a5/ae/136395dfbfe00dfc94da3f3e136d0b13f394cba8f4841120e34226265780/async_timeout-5.0.1.tar.gz", hash = "sha256:d9321a7a3d5a6a5e187e824d2fa0793ce379a202935782d555d6e9d2735677d3", size = 9274, upload-time = "2024-11-06T16:41:39.6Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fe/ba/e2081de779ca30d473f21f5b30e0e737c438205440784c7dfc81efc2b029/async_timeout-5.0.1-py3-none-any.whl", hash = "sha256:39e3809566ff85354557ec2398b55e096c8364bacac9405a7a1fa429e77fe76c", size = 6233, upload-time = "2024-11-06T16:41:37.9Z" }, +] + +[[package]] +name = "asyncpg" +version = "0.30.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "async-timeout", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/2f/4c/7c991e080e106d854809030d8584e15b2e996e26f16aee6d757e387bc17d/asyncpg-0.30.0.tar.gz", hash = "sha256:c551e9928ab6707602f44811817f82ba3c446e018bfe1d3abecc8ba5f3eac851", size = 957746, upload-time = "2024-10-20T00:30:41.127Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/bb/07/1650a8c30e3a5c625478fa8aafd89a8dd7d85999bf7169b16f54973ebf2c/asyncpg-0.30.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:bfb4dd5ae0699bad2b233672c8fc5ccbd9ad24b89afded02341786887e37927e", size = 673143, upload-time = "2024-10-20T00:29:08.846Z" }, + { url = "https://files.pythonhosted.org/packages/a0/9a/568ff9b590d0954553c56806766914c149609b828c426c5118d4869111d3/asyncpg-0.30.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:dc1f62c792752a49f88b7e6f774c26077091b44caceb1983509edc18a2222ec0", size = 645035, upload-time = "2024-10-20T00:29:12.02Z" }, + { url = "https://files.pythonhosted.org/packages/de/11/6f2fa6c902f341ca10403743701ea952bca896fc5b07cc1f4705d2bb0593/asyncpg-0.30.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3152fef2e265c9c24eec4ee3d22b4f4d2703d30614b0b6753e9ed4115c8a146f", size = 2912384, upload-time = "2024-10-20T00:29:13.644Z" }, + { url = "https://files.pythonhosted.org/packages/83/83/44bd393919c504ffe4a82d0aed8ea0e55eb1571a1dea6a4922b723f0a03b/asyncpg-0.30.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c7255812ac85099a0e1ffb81b10dc477b9973345793776b128a23e60148dd1af", size = 2947526, upload-time = "2024-10-20T00:29:15.871Z" }, + { url = "https://files.pythonhosted.org/packages/08/85/e23dd3a2b55536eb0ded80c457b0693352262dc70426ef4d4a6fc994fa51/asyncpg-0.30.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:578445f09f45d1ad7abddbff2a3c7f7c291738fdae0abffbeb737d3fc3ab8b75", size = 2895390, upload-time = "2024-10-20T00:29:19.346Z" }, + { url = "https://files.pythonhosted.org/packages/9b/26/fa96c8f4877d47dc6c1864fef5500b446522365da3d3d0ee89a5cce71a3f/asyncpg-0.30.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:c42f6bb65a277ce4d93f3fba46b91a265631c8df7250592dd4f11f8b0152150f", size = 3015630, upload-time = "2024-10-20T00:29:21.186Z" }, + { url = "https://files.pythonhosted.org/packages/34/00/814514eb9287614188a5179a8b6e588a3611ca47d41937af0f3a844b1b4b/asyncpg-0.30.0-cp310-cp310-win32.whl", hash = "sha256:aa403147d3e07a267ada2ae34dfc9324e67ccc4cdca35261c8c22792ba2b10cf", size = 568760, upload-time = "2024-10-20T00:29:22.769Z" }, + { url = "https://files.pythonhosted.org/packages/f0/28/869a7a279400f8b06dd237266fdd7220bc5f7c975348fea5d1e6909588e9/asyncpg-0.30.0-cp310-cp310-win_amd64.whl", hash = "sha256:fb622c94db4e13137c4c7f98834185049cc50ee01d8f657ef898b6407c7b9c50", size = 625764, upload-time = "2024-10-20T00:29:25.882Z" }, + { url = "https://files.pythonhosted.org/packages/4c/0e/f5d708add0d0b97446c402db7e8dd4c4183c13edaabe8a8500b411e7b495/asyncpg-0.30.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5e0511ad3dec5f6b4f7a9e063591d407eee66b88c14e2ea636f187da1dcfff6a", size = 674506, upload-time = "2024-10-20T00:29:27.988Z" }, + { url = "https://files.pythonhosted.org/packages/6a/a0/67ec9a75cb24a1d99f97b8437c8d56da40e6f6bd23b04e2f4ea5d5ad82ac/asyncpg-0.30.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:915aeb9f79316b43c3207363af12d0e6fd10776641a7de8a01212afd95bdf0ed", size = 645922, upload-time = "2024-10-20T00:29:29.391Z" }, + { url = "https://files.pythonhosted.org/packages/5c/d9/a7584f24174bd86ff1053b14bb841f9e714380c672f61c906eb01d8ec433/asyncpg-0.30.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1c198a00cce9506fcd0bf219a799f38ac7a237745e1d27f0e1f66d3707c84a5a", size = 3079565, upload-time = "2024-10-20T00:29:30.832Z" }, + { url = "https://files.pythonhosted.org/packages/a0/d7/a4c0f9660e333114bdb04d1a9ac70db690dd4ae003f34f691139a5cbdae3/asyncpg-0.30.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3326e6d7381799e9735ca2ec9fd7be4d5fef5dcbc3cb555d8a463d8460607956", size = 3109962, upload-time = "2024-10-20T00:29:33.114Z" }, + { url = "https://files.pythonhosted.org/packages/3c/21/199fd16b5a981b1575923cbb5d9cf916fdc936b377e0423099f209e7e73d/asyncpg-0.30.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:51da377487e249e35bd0859661f6ee2b81db11ad1f4fc036194bc9cb2ead5056", size = 3064791, upload-time = "2024-10-20T00:29:34.677Z" }, + { url = "https://files.pythonhosted.org/packages/77/52/0004809b3427534a0c9139c08c87b515f1c77a8376a50ae29f001e53962f/asyncpg-0.30.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:bc6d84136f9c4d24d358f3b02be4b6ba358abd09f80737d1ac7c444f36108454", size = 3188696, upload-time = "2024-10-20T00:29:36.389Z" }, + { url = "https://files.pythonhosted.org/packages/52/cb/fbad941cd466117be58b774a3f1cc9ecc659af625f028b163b1e646a55fe/asyncpg-0.30.0-cp311-cp311-win32.whl", hash = "sha256:574156480df14f64c2d76450a3f3aaaf26105869cad3865041156b38459e935d", size = 567358, upload-time = "2024-10-20T00:29:37.915Z" }, + { url = "https://files.pythonhosted.org/packages/3c/0a/0a32307cf166d50e1ad120d9b81a33a948a1a5463ebfa5a96cc5606c0863/asyncpg-0.30.0-cp311-cp311-win_amd64.whl", hash = "sha256:3356637f0bd830407b5597317b3cb3571387ae52ddc3bca6233682be88bbbc1f", size = 629375, upload-time = "2024-10-20T00:29:39.987Z" }, + { url = "https://files.pythonhosted.org/packages/4b/64/9d3e887bb7b01535fdbc45fbd5f0a8447539833b97ee69ecdbb7a79d0cb4/asyncpg-0.30.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:c902a60b52e506d38d7e80e0dd5399f657220f24635fee368117b8b5fce1142e", size = 673162, upload-time = "2024-10-20T00:29:41.88Z" }, + { url = "https://files.pythonhosted.org/packages/6e/eb/8b236663f06984f212a087b3e849731f917ab80f84450e943900e8ca4052/asyncpg-0.30.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:aca1548e43bbb9f0f627a04666fedaca23db0a31a84136ad1f868cb15deb6e3a", size = 637025, upload-time = "2024-10-20T00:29:43.352Z" }, + { url = "https://files.pythonhosted.org/packages/cc/57/2dc240bb263d58786cfaa60920779af6e8d32da63ab9ffc09f8312bd7a14/asyncpg-0.30.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6c2a2ef565400234a633da0eafdce27e843836256d40705d83ab7ec42074efb3", size = 3496243, upload-time = "2024-10-20T00:29:44.922Z" }, + { url = "https://files.pythonhosted.org/packages/f4/40/0ae9d061d278b10713ea9021ef6b703ec44698fe32178715a501ac696c6b/asyncpg-0.30.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1292b84ee06ac8a2ad8e51c7475aa309245874b61333d97411aab835c4a2f737", size = 3575059, upload-time = "2024-10-20T00:29:46.891Z" }, + { url = "https://files.pythonhosted.org/packages/c3/75/d6b895a35a2c6506952247640178e5f768eeb28b2e20299b6a6f1d743ba0/asyncpg-0.30.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:0f5712350388d0cd0615caec629ad53c81e506b1abaaf8d14c93f54b35e3595a", size = 3473596, upload-time = "2024-10-20T00:29:49.201Z" }, + { url = "https://files.pythonhosted.org/packages/c8/e7/3693392d3e168ab0aebb2d361431375bd22ffc7b4a586a0fc060d519fae7/asyncpg-0.30.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:db9891e2d76e6f425746c5d2da01921e9a16b5a71a1c905b13f30e12a257c4af", size = 3641632, upload-time = "2024-10-20T00:29:50.768Z" }, + { url = "https://files.pythonhosted.org/packages/32/ea/15670cea95745bba3f0352341db55f506a820b21c619ee66b7d12ea7867d/asyncpg-0.30.0-cp312-cp312-win32.whl", hash = "sha256:68d71a1be3d83d0570049cd1654a9bdfe506e794ecc98ad0873304a9f35e411e", size = 560186, upload-time = "2024-10-20T00:29:52.394Z" }, + { url = "https://files.pythonhosted.org/packages/7e/6b/fe1fad5cee79ca5f5c27aed7bd95baee529c1bf8a387435c8ba4fe53d5c1/asyncpg-0.30.0-cp312-cp312-win_amd64.whl", hash = "sha256:9a0292c6af5c500523949155ec17b7fe01a00ace33b68a476d6b5059f9630305", size = 621064, upload-time = "2024-10-20T00:29:53.757Z" }, +] + +[[package]] +name = "attrs" +version = "25.3.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/5a/b0/1367933a8532ee6ff8d63537de4f1177af4bff9f3e829baf7331f595bb24/attrs-25.3.0.tar.gz", hash = "sha256:75d7cefc7fb576747b2c81b4442d4d4a1ce0900973527c011d1030fd3bf4af1b", size = 812032, upload-time = "2025-03-13T11:10:22.779Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/77/06/bb80f5f86020c4551da315d78b3ab75e8228f89f0162f2c3a819e407941a/attrs-25.3.0-py3-none-any.whl", hash = "sha256:427318ce031701fea540783410126f03899a97ffc6f61596ad581ac2e40e3bc3", size = 63815, upload-time = "2025-03-13T11:10:21.14Z" }, +] + +[[package]] +name = "backports-asyncio-runner" +version = "1.2.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/8e/ff/70dca7d7cb1cbc0edb2c6cc0c38b65cba36cccc491eca64cabd5fe7f8670/backports_asyncio_runner-1.2.0.tar.gz", hash = "sha256:a5aa7b2b7d8f8bfcaa2b57313f70792df84e32a2a746f585213373f900b42162", size = 69893, upload-time = "2025-07-02T02:27:15.685Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a0/59/76ab57e3fe74484f48a53f8e337171b4a2349e506eabe136d7e01d059086/backports_asyncio_runner-1.2.0-py3-none-any.whl", hash = "sha256:0da0a936a8aeb554eccb426dc55af3ba63bcdc69fa1a600b5bb305413a4477b5", size = 12313, upload-time = "2025-07-02T02:27:14.263Z" }, +] + +[[package]] +name = "backports-datetime-fromisoformat" +version = "2.0.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/71/81/eff3184acb1d9dc3ce95a98b6f3c81a49b4be296e664db8e1c2eeabef3d9/backports_datetime_fromisoformat-2.0.3.tar.gz", hash = "sha256:b58edc8f517b66b397abc250ecc737969486703a66eb97e01e6d51291b1a139d", size = 23588, upload-time = "2024-12-28T20:18:15.017Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/42/4b/d6b051ca4b3d76f23c2c436a9669f3be616b8cf6461a7e8061c7c4269642/backports_datetime_fromisoformat-2.0.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5f681f638f10588fa3c101ee9ae2b63d3734713202ddfcfb6ec6cea0778a29d4", size = 27561, upload-time = "2024-12-28T20:16:47.974Z" }, + { url = "https://files.pythonhosted.org/packages/6d/40/e39b0d471e55eb1b5c7c81edab605c02f71c786d59fb875f0a6f23318747/backports_datetime_fromisoformat-2.0.3-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:cd681460e9142f1249408e5aee6d178c6d89b49e06d44913c8fdfb6defda8d1c", size = 34448, upload-time = "2024-12-28T20:16:50.712Z" }, + { url = "https://files.pythonhosted.org/packages/f2/28/7a5c87c5561d14f1c9af979231fdf85d8f9fad7a95ff94e56d2205e2520a/backports_datetime_fromisoformat-2.0.3-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:ee68bc8735ae5058695b76d3bb2aee1d137c052a11c8303f1e966aa23b72b65b", size = 27093, upload-time = "2024-12-28T20:16:52.994Z" }, + { url = "https://files.pythonhosted.org/packages/80/ba/f00296c5c4536967c7d1136107fdb91c48404fe769a4a6fd5ab045629af8/backports_datetime_fromisoformat-2.0.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8273fe7932db65d952a43e238318966eab9e49e8dd546550a41df12175cc2be4", size = 52836, upload-time = "2024-12-28T20:16:55.283Z" }, + { url = "https://files.pythonhosted.org/packages/e3/92/bb1da57a069ddd601aee352a87262c7ae93467e66721d5762f59df5021a6/backports_datetime_fromisoformat-2.0.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:39d57ea50aa5a524bb239688adc1d1d824c31b6094ebd39aa164d6cadb85de22", size = 52798, upload-time = "2024-12-28T20:16:56.64Z" }, + { url = "https://files.pythonhosted.org/packages/df/ef/b6cfd355982e817ccdb8d8d109f720cab6e06f900784b034b30efa8fa832/backports_datetime_fromisoformat-2.0.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:ac6272f87693e78209dc72e84cf9ab58052027733cd0721c55356d3c881791cf", size = 52891, upload-time = "2024-12-28T20:16:58.887Z" }, + { url = "https://files.pythonhosted.org/packages/37/39/b13e3ae8a7c5d88b68a6e9248ffe7066534b0cfe504bf521963e61b6282d/backports_datetime_fromisoformat-2.0.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:44c497a71f80cd2bcfc26faae8857cf8e79388e3d5fbf79d2354b8c360547d58", size = 52955, upload-time = "2024-12-28T20:17:00.028Z" }, + { url = "https://files.pythonhosted.org/packages/1e/e4/70cffa3ce1eb4f2ff0c0d6f5d56285aacead6bd3879b27a2ba57ab261172/backports_datetime_fromisoformat-2.0.3-cp310-cp310-win_amd64.whl", hash = "sha256:6335a4c9e8af329cb1ded5ab41a666e1448116161905a94e054f205aa6d263bc", size = 29323, upload-time = "2024-12-28T20:17:01.125Z" }, + { url = "https://files.pythonhosted.org/packages/62/f5/5bc92030deadf34c365d908d4533709341fb05d0082db318774fdf1b2bcb/backports_datetime_fromisoformat-2.0.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e2e4b66e017253cdbe5a1de49e0eecff3f66cd72bcb1229d7db6e6b1832c0443", size = 27626, upload-time = "2024-12-28T20:17:03.448Z" }, + { url = "https://files.pythonhosted.org/packages/28/45/5885737d51f81dfcd0911dd5c16b510b249d4c4cf6f4a991176e0358a42a/backports_datetime_fromisoformat-2.0.3-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:43e2d648e150777e13bbc2549cc960373e37bf65bd8a5d2e0cef40e16e5d8dd0", size = 34588, upload-time = "2024-12-28T20:17:04.459Z" }, + { url = "https://files.pythonhosted.org/packages/bc/6d/bd74de70953f5dd3e768c8fc774af942af0ce9f211e7c38dd478fa7ea910/backports_datetime_fromisoformat-2.0.3-cp311-cp311-macosx_11_0_x86_64.whl", hash = "sha256:4ce6326fd86d5bae37813c7bf1543bae9e4c215ec6f5afe4c518be2635e2e005", size = 27162, upload-time = "2024-12-28T20:17:06.752Z" }, + { url = "https://files.pythonhosted.org/packages/47/ba/1d14b097f13cce45b2b35db9898957578b7fcc984e79af3b35189e0d332f/backports_datetime_fromisoformat-2.0.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d7c8fac333bf860208fd522a5394369ee3c790d0aa4311f515fcc4b6c5ef8d75", size = 54482, upload-time = "2024-12-28T20:17:08.15Z" }, + { url = "https://files.pythonhosted.org/packages/25/e9/a2a7927d053b6fa148b64b5e13ca741ca254c13edca99d8251e9a8a09cfe/backports_datetime_fromisoformat-2.0.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:24a4da5ab3aa0cc293dc0662a0c6d1da1a011dc1edcbc3122a288cfed13a0b45", size = 54362, upload-time = "2024-12-28T20:17:10.605Z" }, + { url = "https://files.pythonhosted.org/packages/c1/99/394fb5e80131a7d58c49b89e78a61733a9994885804a0bb582416dd10c6f/backports_datetime_fromisoformat-2.0.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:58ea11e3bf912bd0a36b0519eae2c5b560b3cb972ea756e66b73fb9be460af01", size = 54162, upload-time = "2024-12-28T20:17:12.301Z" }, + { url = "https://files.pythonhosted.org/packages/88/25/1940369de573c752889646d70b3fe8645e77b9e17984e72a554b9b51ffc4/backports_datetime_fromisoformat-2.0.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:8a375c7dbee4734318714a799b6c697223e4bbb57232af37fbfff88fb48a14c6", size = 54118, upload-time = "2024-12-28T20:17:13.609Z" }, + { url = "https://files.pythonhosted.org/packages/b7/46/f275bf6c61683414acaf42b2df7286d68cfef03e98b45c168323d7707778/backports_datetime_fromisoformat-2.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:ac677b1664c4585c2e014739f6678137c8336815406052349c85898206ec7061", size = 29329, upload-time = "2024-12-28T20:17:16.124Z" }, + { url = "https://files.pythonhosted.org/packages/a2/0f/69bbdde2e1e57c09b5f01788804c50e68b29890aada999f2b1a40519def9/backports_datetime_fromisoformat-2.0.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:66ce47ee1ba91e146149cf40565c3d750ea1be94faf660ca733d8601e0848147", size = 27630, upload-time = "2024-12-28T20:17:19.442Z" }, + { url = "https://files.pythonhosted.org/packages/d5/1d/1c84a50c673c87518b1adfeafcfd149991ed1f7aedc45d6e5eac2f7d19d7/backports_datetime_fromisoformat-2.0.3-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:8b7e069910a66b3bba61df35b5f879e5253ff0821a70375b9daf06444d046fa4", size = 34707, upload-time = "2024-12-28T20:17:21.79Z" }, + { url = "https://files.pythonhosted.org/packages/71/44/27eae384e7e045cda83f70b551d04b4a0b294f9822d32dea1cbf1592de59/backports_datetime_fromisoformat-2.0.3-cp312-cp312-macosx_11_0_x86_64.whl", hash = "sha256:a3b5d1d04a9e0f7b15aa1e647c750631a873b298cdd1255687bb68779fe8eb35", size = 27280, upload-time = "2024-12-28T20:17:24.503Z" }, + { url = "https://files.pythonhosted.org/packages/a7/7a/a4075187eb6bbb1ff6beb7229db5f66d1070e6968abeb61e056fa51afa5e/backports_datetime_fromisoformat-2.0.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ec1b95986430e789c076610aea704db20874f0781b8624f648ca9fb6ef67c6e1", size = 55094, upload-time = "2024-12-28T20:17:25.546Z" }, + { url = "https://files.pythonhosted.org/packages/71/03/3fced4230c10af14aacadc195fe58e2ced91d011217b450c2e16a09a98c8/backports_datetime_fromisoformat-2.0.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ffe5f793db59e2f1d45ec35a1cf51404fdd69df9f6952a0c87c3060af4c00e32", size = 55605, upload-time = "2024-12-28T20:17:29.208Z" }, + { url = "https://files.pythonhosted.org/packages/f6/0a/4b34a838c57bd16d3e5861ab963845e73a1041034651f7459e9935289cfd/backports_datetime_fromisoformat-2.0.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:620e8e73bd2595dfff1b4d256a12b67fce90ece3de87b38e1dde46b910f46f4d", size = 55353, upload-time = "2024-12-28T20:17:32.433Z" }, + { url = "https://files.pythonhosted.org/packages/d9/68/07d13c6e98e1cad85606a876367ede2de46af859833a1da12c413c201d78/backports_datetime_fromisoformat-2.0.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:4cf9c0a985d68476c1cabd6385c691201dda2337d7453fb4da9679ce9f23f4e7", size = 55298, upload-time = "2024-12-28T20:17:34.919Z" }, + { url = "https://files.pythonhosted.org/packages/60/33/45b4d5311f42360f9b900dea53ab2bb20a3d61d7f9b7c37ddfcb3962f86f/backports_datetime_fromisoformat-2.0.3-cp312-cp312-win_amd64.whl", hash = "sha256:d144868a73002e6e2e6fef72333e7b0129cecdd121aa8f1edba7107fd067255d", size = 29375, upload-time = "2024-12-28T20:17:36.018Z" }, + { url = "https://files.pythonhosted.org/packages/be/03/7eaa9f9bf290395d57fd30d7f1f2f9dff60c06a31c237dc2beb477e8f899/backports_datetime_fromisoformat-2.0.3-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:90e202e72a3d5aae673fcc8c9a4267d56b2f532beeb9173361293625fe4d2039", size = 28980, upload-time = "2024-12-28T20:18:06.554Z" }, + { url = "https://files.pythonhosted.org/packages/47/80/a0ecf33446c7349e79f54cc532933780341d20cff0ee12b5bfdcaa47067e/backports_datetime_fromisoformat-2.0.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2df98ef1b76f5a58bb493dda552259ba60c3a37557d848e039524203951c9f06", size = 28449, upload-time = "2024-12-28T20:18:07.77Z" }, +] + +[[package]] +name = "base58" +version = "2.1.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/7f/45/8ae61209bb9015f516102fa559a2914178da1d5868428bd86a1b4421141d/base58-2.1.1.tar.gz", hash = "sha256:c5d0cb3f5b6e81e8e35da5754388ddcc6d0d14b6c6a132cb93d69ed580a7278c", size = 6528, upload-time = "2021-10-30T22:12:17.858Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/4a/45/ec96b29162a402fc4c1c5512d114d7b3787b9d1c2ec241d9568b4816ee23/base58-2.1.1-py3-none-any.whl", hash = "sha256:11a36f4d3ce51dfc1043f3218591ac4eb1ceb172919cebe05b52a5bcc8d245c2", size = 5621, upload-time = "2021-10-30T22:12:16.658Z" }, +] + +[[package]] +name = "bech32" +version = "1.2.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ab/fe/b67ac9b123e25a3c1b8fc3f3c92648804516ab44215adb165284e024c43f/bech32-1.2.0.tar.gz", hash = "sha256:7d6db8214603bd7871fcfa6c0826ef68b85b0abd90fa21c285a9c5e21d2bd899", size = 3695, upload-time = "2020-02-17T15:31:09.763Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b6/41/7022a226e5a6ac7091a95ba36bad057012ab7330b9894ad4e14e31d0b858/bech32-1.2.0-py3-none-any.whl", hash = "sha256:990dc8e5a5e4feabbdf55207b5315fdd9b73db40be294a19b3752cde9e79d981", size = 4587, upload-time = "2020-02-17T15:31:08.299Z" }, +] + +[[package]] +name = "bitarray" +version = "3.7.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/70/56/844ba2a8e272146ece382eb529893858cee82b8c4048be69eef8b488dabd/bitarray-3.7.0.tar.gz", hash = "sha256:ae8fb4107c7a43f8979875dc465cab605b75b108e0db7a92da1a727128d0c865", size = 151501, upload-time = "2025-08-24T18:55:21.443Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/de/c1/4527788f0ae9e0cd548f8c8fb69d46bba2d96238cbc2cd42280fed99d922/bitarray-3.7.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:867cf634303387cced450b3901d89743469cd11ae9253840a294c3b6d1c1ec0e", size = 147706, upload-time = "2025-08-24T18:51:53.845Z" }, + { url = "https://files.pythonhosted.org/packages/ef/83/20c896782e22ef173104050b9002e0b497a8d76bfac28fb059f7e92f336b/bitarray-3.7.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e41a2123ef755bbbfed688d9a95accf64031ccf840429f8eb36c7c04a784a22e", size = 144027, upload-time = "2025-08-24T18:51:56.069Z" }, + { url = "https://files.pythonhosted.org/packages/cf/9c/150f782406b512e024441588595c1c550b57125ced36ce0cd1307c36d709/bitarray-3.7.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:42c35ece0ba07e177c944e4f26cd91158bcecdce8745902d891ed07ddf58b018", size = 319953, upload-time = "2025-08-24T18:51:57.582Z" }, + { url = "https://files.pythonhosted.org/packages/05/7e/b479deee3844e59c689e872d9ca7b2e4942c5059c9bb586941b954c4b755/bitarray-3.7.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:eff0a7f5ce1c0c7845e9a2e9150e6d747e54166b8bf26b81e5d1f50e42efb1a8", size = 339058, upload-time = "2025-08-24T18:51:58.717Z" }, + { url = "https://files.pythonhosted.org/packages/0e/17/a9bc75c33115d598e816107c56a3bf6338c59ba5bda7f165b9db98e53e25/bitarray-3.7.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a9f3b79eeee60d26e5e18fab1523a42551065e8ea31ae0bce6705a4a91dc136b", size = 329552, upload-time = "2025-08-24T18:52:00.372Z" }, + { url = "https://files.pythonhosted.org/packages/76/d4/60ab745c6c7c3f8b5d7f968597a5df4232fb90224c0bc92ba0aa039ecf8c/bitarray-3.7.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9ec2fb71937428e095100105244c42591b83d6cc3f5047024ac25d2fa1be7374", size = 322192, upload-time = "2025-08-24T18:52:01.774Z" }, + { url = "https://files.pythonhosted.org/packages/0d/3e/5b5fed780a6e601cfa500b76c5271e46b68019217bb1cc11b6c8733bcd2e/bitarray-3.7.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0e8dcbfe78fec5040a1e5921ba0d9b8589430a6684be494eeef61592504e2697", size = 310486, upload-time = "2025-08-24T18:52:02.946Z" }, + { url = "https://files.pythonhosted.org/packages/ea/0d/7c16628d7cc44781e5d1c768b12dcacb94f8f61afd2e7895b5f4f7502e54/bitarray-3.7.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:0393c51eb1b19a442c5a97d48c9f1d56e2ee4893fb98801c22860d71560ce716", size = 314849, upload-time = "2025-08-24T18:52:04.193Z" }, + { url = "https://files.pythonhosted.org/packages/5e/ba/d13a7e838c382d022036a4a844e7723042167b7d7ae5d73d573c57e91b79/bitarray-3.7.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:900b201fa8bd0d9761be74a5954eb7986dc486064120edce6007186ce793c116", size = 311277, upload-time = "2025-08-24T18:52:05.557Z" }, + { url = "https://files.pythonhosted.org/packages/ce/ac/4232f9f0215d669f6d2f4042a743ef21f0aa7c59861f97be0e450ff37190/bitarray-3.7.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:42e8f4c9b1e04134d1241b70aa7746633d97b4789036f3437217e730470aefb8", size = 339737, upload-time = "2025-08-24T18:52:07.007Z" }, + { url = "https://files.pythonhosted.org/packages/11/26/8e59621bbffb503a728e3329c12549e3348b8ff0c11b44204557684d7d1d/bitarray-3.7.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:1081e4f94ce12165e5780df31a5aa16ff454cab241276b464a908a93b83f0840", size = 339715, upload-time = "2025-08-24T18:52:08.441Z" }, + { url = "https://files.pythonhosted.org/packages/bd/76/bf921d8bbb77004379e2cf424955a8472fa85f7c27a989b7b459432252d4/bitarray-3.7.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:8029bbe15e832c8d38bcac9b08e3c34659f63ba86003be3940c24619d7549ce2", size = 320138, upload-time = "2025-08-24T18:52:09.476Z" }, + { url = "https://files.pythonhosted.org/packages/1e/86/dab491dcc8fdf0af56bef28018545bc7eb73175032b456d625cb365bf4c3/bitarray-3.7.0-cp310-cp310-win32.whl", hash = "sha256:530398cc5b2bf0ee7df25364fab6d6a831aeb7f4af66743f8fdd7c03fc8cbc46", size = 141258, upload-time = "2025-08-24T18:52:10.526Z" }, + { url = "https://files.pythonhosted.org/packages/99/3a/61dff96f49cc03460403141b053dfbc89fe6dde5aecbb2e049ebac0f0469/bitarray-3.7.0-cp310-cp310-win_amd64.whl", hash = "sha256:0f9fdd7d3e52be4eb8d5459257de7ad80b4607bf8d6e6ce62e7b68815213c081", size = 148018, upload-time = "2025-08-24T18:52:11.811Z" }, + { url = "https://files.pythonhosted.org/packages/0a/22/525b1df71dd3b1acaa284301121fd3a38c5625bd497e9c07a9b1ca077c84/bitarray-3.7.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:416f7d6643ea25ee0e6ebac00408fc56a821cf69f2b5fd9e21ff63be519c75b9", size = 147704, upload-time = "2025-08-24T18:52:12.871Z" }, + { url = "https://files.pythonhosted.org/packages/3c/78/3ef00b7c265110e923d39e16b6efc0271d88c9bb6b728d48b299bba26c27/bitarray-3.7.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:8fc11c850c6d1b3c6afa77c66d013c133b90f122202cf1041ee4b74fde4063ed", size = 144024, upload-time = "2025-08-24T18:52:13.937Z" }, + { url = "https://files.pythonhosted.org/packages/0e/7f/4a88ffac4e42d4fc44a0a76ab39dc766f7dabd5f8eed9b2feb9a83ded520/bitarray-3.7.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ea1f9b66ba0654e6df9737a0328ce299f9f7224c2cd618ead3b01991ec76b13e", size = 327580, upload-time = "2025-08-24T18:52:15.053Z" }, + { url = "https://files.pythonhosted.org/packages/10/9d/b8d927ba8ded5128a8d33f1a08757ec1bedd011d80bb168fe877f2272181/bitarray-3.7.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c0da2fd1a6f7bbb2a814b998e205322ac65e910518cd4c6198f5671313a30b45", size = 347640, upload-time = "2025-08-24T18:52:16.556Z" }, + { url = "https://files.pythonhosted.org/packages/26/eb/59dad077946d57c017591c03465c9aee95c21049625e5a240032f7c6f07c/bitarray-3.7.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1f0e5f825afb8f3fc8394b9e0eff72caf0cca96bb99e46d19712cc6206f03565", size = 338634, upload-time = "2025-08-24T18:52:18.687Z" }, + { url = "https://files.pythonhosted.org/packages/0f/6c/4ac3288fdb789ea8ce3fa26b03342208234bfd8e3a71c2142250ecbda4b5/bitarray-3.7.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e3c75a39e5483c47d3b0b5977667972784ec5bbbe1d99b83bf7b1c8cd5144fe1", size = 330042, upload-time = "2025-08-24T18:52:19.87Z" }, + { url = "https://files.pythonhosted.org/packages/e6/53/0a8f582dd4743a86c4bbcc2df6220f3a7b5d87743101b06ad6ce2ff26d3b/bitarray-3.7.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:98578730cf1550f7f1668dc3bf255f8377a98c85247cc5c5a8de33d4f94863d8", size = 318838, upload-time = "2025-08-24T18:52:21.434Z" }, + { url = "https://files.pythonhosted.org/packages/98/ea/29e5b9e167e960982a244f7f898187fdb303ed01fbe11aea5488da273ea4/bitarray-3.7.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:f44d6c93fdd2963c57ccc4c097886c39eef147834739a3b313f948456c125d67", size = 322826, upload-time = "2025-08-24T18:52:22.912Z" }, + { url = "https://files.pythonhosted.org/packages/0e/c0/044f819f680da8d551ed8817e862e36d8c7aa7303d823b9956c860f821d6/bitarray-3.7.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:49cace19eef85897407adba86b5adee5b4dfdf22ce3ee6cee75e7a29c30cf15f", size = 318831, upload-time = "2025-08-24T18:52:24.029Z" }, + { url = "https://files.pythonhosted.org/packages/ff/12/1d23f9ff8fb7108c84533481fa639744bb33ca669cb9837361177b617377/bitarray-3.7.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:eb4e79abbc15bda5e3270a73b1082515f28df876c5d4ce3f7c4d92f908f88047", size = 347446, upload-time = "2025-08-24T18:52:25.216Z" }, + { url = "https://files.pythonhosted.org/packages/3a/0c/8faf9a0a16e85f61e3b445cf8a6fa4304bc46f579559fdfc8505558cba2a/bitarray-3.7.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:1c40e33b4cf24b3cb5a528ec938f40d5fc67dc94d9cf5a68b6d7a9b376af02ed", size = 347778, upload-time = "2025-08-24T18:52:27.153Z" }, + { url = "https://files.pythonhosted.org/packages/e8/4b/818b1f8eb06804bd5769db014ba6b27b873b6c2ca3698c3a012b34ab8171/bitarray-3.7.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:f074a890ed64527644449777f7e0cb61428bc35544e748d920a82b0fffaaab94", size = 328254, upload-time = "2025-08-24T18:52:28.313Z" }, + { url = "https://files.pythonhosted.org/packages/ff/d5/a67d239de4abaa275a1275ec54f433e7d9101a5b5fa195aae4d262168f91/bitarray-3.7.0-cp311-cp311-win32.whl", hash = "sha256:328bf5aa8c810dc79394c6f6bc690914cb292288fffb84cca8d28dd9cd407261", size = 141412, upload-time = "2025-08-24T18:52:30.225Z" }, + { url = "https://files.pythonhosted.org/packages/f3/4c/fcc8ff363e8a41339708b5446b9f2553fad019a5db915c646587f41d460d/bitarray-3.7.0-cp311-cp311-win_amd64.whl", hash = "sha256:f6a9ffe3630984066a80c5878ec3f3993e04633a7d0cafcf34a9e5e8f8c7636c", size = 148232, upload-time = "2025-08-24T18:52:31.304Z" }, + { url = "https://files.pythonhosted.org/packages/be/db/c6f1dd4b35ce2da758d7c4550becc70e856775f3a734e2b548c0ad943805/bitarray-3.7.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:f721e616338f41d064ce52fb91d195e8a022f5881dd3773fa8cb1275fbd343b2", size = 147404, upload-time = "2025-08-24T18:52:32.654Z" }, + { url = "https://files.pythonhosted.org/packages/01/42/3f63f936c54ca519a9f2769a7d81a34aad31c31a7c6f8cd96dd9a903443a/bitarray-3.7.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:aa951121660396c284e12522f7dc66ac2229874513c33486aceae2819fd53eba", size = 143978, upload-time = "2025-08-24T18:52:34.047Z" }, + { url = "https://files.pythonhosted.org/packages/1f/74/d4d28a0385f52913c020600b6051bdfefa205971d95e58451b1ab93f2ff0/bitarray-3.7.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:76c3770dcfea68f50f65a38ead040a8faea806c507ab565d9b6decd5b1d33629", size = 330333, upload-time = "2025-08-24T18:52:35.371Z" }, + { url = "https://files.pythonhosted.org/packages/4c/9a/ed56824f6903af41a69f22e95fec8e5d894b4fe7c6c625b9d2339695366f/bitarray-3.7.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a35d2d26913c08ed1524ac170cacfb94f792bd92dd0f18216a1f02216550faee", size = 349618, upload-time = "2025-08-24T18:52:36.963Z" }, + { url = "https://files.pythonhosted.org/packages/35/20/2b2e1d9b6f5384041215253e9947a5078d97e46fdb4e1d64d119f4dec125/bitarray-3.7.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:86372794fa347b711bc07c32b37b3dac1f73c1113356e6525db1b51f7d2c37d8", size = 341305, upload-time = "2025-08-24T18:52:38.272Z" }, + { url = "https://files.pythonhosted.org/packages/17/a7/aa390fb95e5e79428ee1423323e445de634defae330b3bb888649b4dac05/bitarray-3.7.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2826e7e1857f6dbe27fcc40830ddce8e40bc83cd1f6d53647145ca17eba55ec3", size = 332930, upload-time = "2025-08-24T18:52:39.482Z" }, + { url = "https://files.pythonhosted.org/packages/25/3a/9e0ebd9f639948f1789b27f7a1738ea8a91a0861fe3b44ffd2799164e566/bitarray-3.7.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3e21a15b451d0aa1fdb40d6b1b0a0f9f8b490a1f9603681e0e95cfdbd9001b83", size = 321167, upload-time = "2025-08-24T18:52:41.122Z" }, + { url = "https://files.pythonhosted.org/packages/99/c1/16b63b4b12140ab2e8d48fc0cd6cd6ed20fcb1b23a89ba0b9071dff98195/bitarray-3.7.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:0420f1af0f1e33b179f6250dfa121fbe53309920a62e5caccc5d6d28511587bf", size = 325053, upload-time = "2025-08-24T18:52:42.755Z" }, + { url = "https://files.pythonhosted.org/packages/59/02/988957c60fcb6bcd8350e5537ec6a42921a3d69badd129b1aad794130cc5/bitarray-3.7.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:aa8933d21af63c8e2bb01a93502105e748401038300bd592eb302f3393941217", size = 321871, upload-time = "2025-08-24T18:52:45.016Z" }, + { url = "https://files.pythonhosted.org/packages/55/71/782065704445c594866bf944d2394c3ca977f77ed681afa293f479e2a613/bitarray-3.7.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:7e6bf5dcb390b0cab2f687cf124de24ca5a844ef53478cb879c88390770dc5fb", size = 349406, upload-time = "2025-08-24T18:52:46.305Z" }, + { url = "https://files.pythonhosted.org/packages/9c/04/17b6b97826c44e9acd5506e41c39b4ac9d02cacdb48d0af4c497dbc50e67/bitarray-3.7.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:4e1dc968c6cc79d255b54892c72958da4f9468ef780ca412b9343844421617f8", size = 350564, upload-time = "2025-08-24T18:52:47.647Z" }, + { url = "https://files.pythonhosted.org/packages/0f/c0/f38222eb223fce62b407ee067a6338dd23a08e79518fa23127e6ab39822b/bitarray-3.7.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:fdba3ea398176322b56ce29b811415b44d2b516afb522c7e74f1f6d52115718f", size = 331420, upload-time = "2025-08-24T18:52:48.945Z" }, + { url = "https://files.pythonhosted.org/packages/cd/22/73cb7b49407764648ab5778f95cf1228922d6ece3614df392ef1ff174d1d/bitarray-3.7.0-cp312-cp312-win32.whl", hash = "sha256:b1745ce9e0f957b543ef5cb79ade885d4c29b03dd175663aba1a95053307e737", size = 141505, upload-time = "2025-08-24T18:52:50.121Z" }, + { url = "https://files.pythonhosted.org/packages/8e/83/81b203dcd5986e9dba866a5e75a8f94e0d3d8b59c6dc76df211ff8d33740/bitarray-3.7.0-cp312-cp312-win_amd64.whl", hash = "sha256:3c2a5c72e20368195b967957b47a05f56eb7ca6f81bd41e2720924e7a76885e8", size = 148496, upload-time = "2025-08-24T18:52:51.6Z" }, + { url = "https://files.pythonhosted.org/packages/d2/32/a529ba3a9db1374b9745b7e53ef984af472893b2fd3dcbcff1b56f71747b/bitarray-3.7.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:35833dc4f6418961fb1ded5001979f5130190d0a1cf293f6dde4557046d0fac4", size = 143479, upload-time = "2025-08-24T18:54:39.028Z" }, + { url = "https://files.pythonhosted.org/packages/9b/1c/021d6722b494fcc454e7ee68966663857e6c66355165fd0da0cfddf5c418/bitarray-3.7.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:00f7278844a9b0d4e38f6397de490680d84d7baaf68249d778e38339e36b3359", size = 139925, upload-time = "2025-08-24T18:54:40.859Z" }, + { url = "https://files.pythonhosted.org/packages/19/db/5b5e4b969ebe97be4bce78fbf0ae0f985bf7e35ffafbdb1638a176bfaaaa/bitarray-3.7.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:96909e8049c78e593269b186fab2a270d803641b595074b6c0352d10a1b4a297", size = 148826, upload-time = "2025-08-24T18:54:42.713Z" }, + { url = "https://files.pythonhosted.org/packages/93/4a/8260925b0c8f2b731de5ae094a274fe56b74edb055a6bbce07cdd26dcab7/bitarray-3.7.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f8d7efe74c83b6ea1845e054a70001343b020ef930894869916069989f6b4293", size = 149665, upload-time = "2025-08-24T18:54:44.589Z" }, + { url = "https://files.pythonhosted.org/packages/48/6f/f4fdc007a73e28ae39effef9cb50f8fbd0ca8e3532d458fd96a903a3ba14/bitarray-3.7.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2cf889b98c82fe1fc8c507e6ace4fc986a89203e2079f073d05af12414a97617", size = 151398, upload-time = "2025-08-24T18:54:46.411Z" }, + { url = "https://files.pythonhosted.org/packages/d6/7c/8313d981d66f2ff20e8277c1b410ecd1a12354726ce0890956ad0f278451/bitarray-3.7.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:ac56caf0d0d00815444d18560d97ae3f1130e14e250438b02354c7cdcaa6eec3", size = 146881, upload-time = "2025-08-24T18:54:47.923Z" }, +] + +[[package]] +name = "bitstring" +version = "4.3.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "bitarray" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/15/a8/a80c890db75d5bdd5314b5de02c4144c7de94fd0cefcae51acaeb14c6a3f/bitstring-4.3.1.tar.gz", hash = "sha256:a08bc09d3857216d4c0f412a1611056f1cc2b64fd254fb1e8a0afba7cfa1a95a", size = 251426, upload-time = "2025-03-22T09:39:06.978Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/75/2d/174566b533755ddf8efb32a5503af61c756a983de379f8ad3aed6a982d38/bitstring-4.3.1-py3-none-any.whl", hash = "sha256:69d1587f0ac18dc7d93fc7e80d5f447161a33e57027e726dc18a0a8bacf1711a", size = 71930, upload-time = "2025-03-22T09:39:05.163Z" }, +] + +[[package]] +name = "black" +version = "25.1.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "click" }, + { name = "mypy-extensions" }, + { name = "packaging" }, + { name = "pathspec" }, + { name = "platformdirs" }, + { name = "tomli", marker = "python_full_version < '3.11'" }, + { name = "typing-extensions", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/94/49/26a7b0f3f35da4b5a65f081943b7bcd22d7002f5f0fb8098ec1ff21cb6ef/black-25.1.0.tar.gz", hash = "sha256:33496d5cd1222ad73391352b4ae8da15253c5de89b93a80b3e2c8d9a19ec2666", size = 649449, upload-time = "2025-01-29T04:15:40.373Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/4d/3b/4ba3f93ac8d90410423fdd31d7541ada9bcee1df32fb90d26de41ed40e1d/black-25.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:759e7ec1e050a15f89b770cefbf91ebee8917aac5c20483bc2d80a6c3a04df32", size = 1629419, upload-time = "2025-01-29T05:37:06.642Z" }, + { url = "https://files.pythonhosted.org/packages/b4/02/0bde0485146a8a5e694daed47561785e8b77a0466ccc1f3e485d5ef2925e/black-25.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0e519ecf93120f34243e6b0054db49c00a35f84f195d5bce7e9f5cfc578fc2da", size = 1461080, upload-time = "2025-01-29T05:37:09.321Z" }, + { url = "https://files.pythonhosted.org/packages/52/0e/abdf75183c830eaca7589144ff96d49bce73d7ec6ad12ef62185cc0f79a2/black-25.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:055e59b198df7ac0b7efca5ad7ff2516bca343276c466be72eb04a3bcc1f82d7", size = 1766886, upload-time = "2025-01-29T04:18:24.432Z" }, + { url = "https://files.pythonhosted.org/packages/dc/a6/97d8bb65b1d8a41f8a6736222ba0a334db7b7b77b8023ab4568288f23973/black-25.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:db8ea9917d6f8fc62abd90d944920d95e73c83a5ee3383493e35d271aca872e9", size = 1419404, upload-time = "2025-01-29T04:19:04.296Z" }, + { url = "https://files.pythonhosted.org/packages/7e/4f/87f596aca05c3ce5b94b8663dbfe242a12843caaa82dd3f85f1ffdc3f177/black-25.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a39337598244de4bae26475f77dda852ea00a93bd4c728e09eacd827ec929df0", size = 1614372, upload-time = "2025-01-29T05:37:11.71Z" }, + { url = "https://files.pythonhosted.org/packages/e7/d0/2c34c36190b741c59c901e56ab7f6e54dad8df05a6272a9747ecef7c6036/black-25.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:96c1c7cd856bba8e20094e36e0f948718dc688dba4a9d78c3adde52b9e6c2299", size = 1442865, upload-time = "2025-01-29T05:37:14.309Z" }, + { url = "https://files.pythonhosted.org/packages/21/d4/7518c72262468430ead45cf22bd86c883a6448b9eb43672765d69a8f1248/black-25.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bce2e264d59c91e52d8000d507eb20a9aca4a778731a08cfff7e5ac4a4bb7096", size = 1749699, upload-time = "2025-01-29T04:18:17.688Z" }, + { url = "https://files.pythonhosted.org/packages/58/db/4f5beb989b547f79096e035c4981ceb36ac2b552d0ac5f2620e941501c99/black-25.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:172b1dbff09f86ce6f4eb8edf9dede08b1fce58ba194c87d7a4f1a5aa2f5b3c2", size = 1428028, upload-time = "2025-01-29T04:18:51.711Z" }, + { url = "https://files.pythonhosted.org/packages/83/71/3fe4741df7adf015ad8dfa082dd36c94ca86bb21f25608eb247b4afb15b2/black-25.1.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4b60580e829091e6f9238c848ea6750efed72140b91b048770b64e74fe04908b", size = 1650988, upload-time = "2025-01-29T05:37:16.707Z" }, + { url = "https://files.pythonhosted.org/packages/13/f3/89aac8a83d73937ccd39bbe8fc6ac8860c11cfa0af5b1c96d081facac844/black-25.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1e2978f6df243b155ef5fa7e558a43037c3079093ed5d10fd84c43900f2d8ecc", size = 1453985, upload-time = "2025-01-29T05:37:18.273Z" }, + { url = "https://files.pythonhosted.org/packages/6f/22/b99efca33f1f3a1d2552c714b1e1b5ae92efac6c43e790ad539a163d1754/black-25.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:3b48735872ec535027d979e8dcb20bf4f70b5ac75a8ea99f127c106a7d7aba9f", size = 1783816, upload-time = "2025-01-29T04:18:33.823Z" }, + { url = "https://files.pythonhosted.org/packages/18/7e/a27c3ad3822b6f2e0e00d63d58ff6299a99a5b3aee69fa77cd4b0076b261/black-25.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:ea0213189960bda9cf99be5b8c8ce66bb054af5e9e861249cd23471bd7b0b3ba", size = 1440860, upload-time = "2025-01-29T04:19:12.944Z" }, + { url = "https://files.pythonhosted.org/packages/09/71/54e999902aed72baf26bca0d50781b01838251a462612966e9fc4891eadd/black-25.1.0-py3-none-any.whl", hash = "sha256:95e8176dae143ba9097f351d174fdaf0ccd29efb414b362ae3fd72bf0f710717", size = 207646, upload-time = "2025-01-29T04:15:38.082Z" }, +] + +[[package]] +name = "bolt11" +version = "2.1.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "base58" }, + { name = "bech32" }, + { name = "bitstring" }, + { name = "click" }, + { name = "coincurve" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/16/39/4b151129bac9a5a7bce390531659de760b065c679d6a47b20f9fa034f4e1/bolt11-2.1.1.tar.gz", hash = "sha256:4e903d77208bfc4de8fc7e183a0689ea54afe874c91d62524d3b8c09492fa7ea", size = 13872, upload-time = "2025-03-12T13:33:09.668Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9d/9e/78e59887cbf94116bdc890af7726ae264d55df14f1c777724c656e8a35fe/bolt11-2.1.1-py3-none-any.whl", hash = "sha256:fd4edb9e73e27bf5e017f47c97f7c6827b523fcf9cab152b123961ca78323e2d", size = 17102, upload-time = "2025-03-12T13:33:08.142Z" }, +] + +[[package]] +name = "certifi" +version = "2025.8.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/dc/67/960ebe6bf230a96cda2e0abcf73af550ec4f090005363542f0765df162e0/certifi-2025.8.3.tar.gz", hash = "sha256:e564105f78ded564e3ae7c923924435e1daa7463faeab5bb932bc53ffae63407", size = 162386, upload-time = "2025-08-03T03:07:47.08Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e5/48/1549795ba7742c948d2ad169c1c8cdbae65bc450d6cd753d124b17c8cd32/certifi-2025.8.3-py3-none-any.whl", hash = "sha256:f6c12493cfb1b06ba2ff328595af9350c65d6644968e5d3a2ffd78699af217a5", size = 161216, upload-time = "2025-08-03T03:07:45.777Z" }, +] + +[[package]] +name = "cffi" +version = "1.17.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pycparser" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/fc/97/c783634659c2920c3fc70419e3af40972dbaf758daa229a7d6ea6135c90d/cffi-1.17.1.tar.gz", hash = "sha256:1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824", size = 516621, upload-time = "2024-09-04T20:45:21.852Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/90/07/f44ca684db4e4f08a3fdc6eeb9a0d15dc6883efc7b8c90357fdbf74e186c/cffi-1.17.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:df8b1c11f177bc2313ec4b2d46baec87a5f3e71fc8b45dab2ee7cae86d9aba14", size = 182191, upload-time = "2024-09-04T20:43:30.027Z" }, + { url = "https://files.pythonhosted.org/packages/08/fd/cc2fedbd887223f9f5d170c96e57cbf655df9831a6546c1727ae13fa977a/cffi-1.17.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8f2cdc858323644ab277e9bb925ad72ae0e67f69e804f4898c070998d50b1a67", size = 178592, upload-time = "2024-09-04T20:43:32.108Z" }, + { url = "https://files.pythonhosted.org/packages/de/cc/4635c320081c78d6ffc2cab0a76025b691a91204f4aa317d568ff9280a2d/cffi-1.17.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:edae79245293e15384b51f88b00613ba9f7198016a5948b5dddf4917d4d26382", size = 426024, upload-time = "2024-09-04T20:43:34.186Z" }, + { url = "https://files.pythonhosted.org/packages/b6/7b/3b2b250f3aab91abe5f8a51ada1b717935fdaec53f790ad4100fe2ec64d1/cffi-1.17.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:45398b671ac6d70e67da8e4224a065cec6a93541bb7aebe1b198a61b58c7b702", size = 448188, upload-time = "2024-09-04T20:43:36.286Z" }, + { url = "https://files.pythonhosted.org/packages/d3/48/1b9283ebbf0ec065148d8de05d647a986c5f22586b18120020452fff8f5d/cffi-1.17.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ad9413ccdeda48c5afdae7e4fa2192157e991ff761e7ab8fdd8926f40b160cc3", size = 455571, upload-time = "2024-09-04T20:43:38.586Z" }, + { url = "https://files.pythonhosted.org/packages/40/87/3b8452525437b40f39ca7ff70276679772ee7e8b394934ff60e63b7b090c/cffi-1.17.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5da5719280082ac6bd9aa7becb3938dc9f9cbd57fac7d2871717b1feb0902ab6", size = 436687, upload-time = "2024-09-04T20:43:40.084Z" }, + { url = "https://files.pythonhosted.org/packages/8d/fb/4da72871d177d63649ac449aec2e8a29efe0274035880c7af59101ca2232/cffi-1.17.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2bb1a08b8008b281856e5971307cc386a8e9c5b625ac297e853d36da6efe9c17", size = 446211, upload-time = "2024-09-04T20:43:41.526Z" }, + { url = "https://files.pythonhosted.org/packages/ab/a0/62f00bcb411332106c02b663b26f3545a9ef136f80d5df746c05878f8c4b/cffi-1.17.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:045d61c734659cc045141be4bae381a41d89b741f795af1dd018bfb532fd0df8", size = 461325, upload-time = "2024-09-04T20:43:43.117Z" }, + { url = "https://files.pythonhosted.org/packages/36/83/76127035ed2e7e27b0787604d99da630ac3123bfb02d8e80c633f218a11d/cffi-1.17.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:6883e737d7d9e4899a8a695e00ec36bd4e5e4f18fabe0aca0efe0a4b44cdb13e", size = 438784, upload-time = "2024-09-04T20:43:45.256Z" }, + { url = "https://files.pythonhosted.org/packages/21/81/a6cd025db2f08ac88b901b745c163d884641909641f9b826e8cb87645942/cffi-1.17.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:6b8b4a92e1c65048ff98cfe1f735ef8f1ceb72e3d5f0c25fdb12087a23da22be", size = 461564, upload-time = "2024-09-04T20:43:46.779Z" }, + { url = "https://files.pythonhosted.org/packages/f8/fe/4d41c2f200c4a457933dbd98d3cf4e911870877bd94d9656cc0fcb390681/cffi-1.17.1-cp310-cp310-win32.whl", hash = "sha256:c9c3d058ebabb74db66e431095118094d06abf53284d9c81f27300d0e0d8bc7c", size = 171804, upload-time = "2024-09-04T20:43:48.186Z" }, + { url = "https://files.pythonhosted.org/packages/d1/b6/0b0f5ab93b0df4acc49cae758c81fe4e5ef26c3ae2e10cc69249dfd8b3ab/cffi-1.17.1-cp310-cp310-win_amd64.whl", hash = "sha256:0f048dcf80db46f0098ccac01132761580d28e28bc0f78ae0d58048063317e15", size = 181299, upload-time = "2024-09-04T20:43:49.812Z" }, + { url = "https://files.pythonhosted.org/packages/6b/f4/927e3a8899e52a27fa57a48607ff7dc91a9ebe97399b357b85a0c7892e00/cffi-1.17.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a45e3c6913c5b87b3ff120dcdc03f6131fa0065027d0ed7ee6190736a74cd401", size = 182264, upload-time = "2024-09-04T20:43:51.124Z" }, + { url = "https://files.pythonhosted.org/packages/6c/f5/6c3a8efe5f503175aaddcbea6ad0d2c96dad6f5abb205750d1b3df44ef29/cffi-1.17.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:30c5e0cb5ae493c04c8b42916e52ca38079f1b235c2f8ae5f4527b963c401caf", size = 178651, upload-time = "2024-09-04T20:43:52.872Z" }, + { url = "https://files.pythonhosted.org/packages/94/dd/a3f0118e688d1b1a57553da23b16bdade96d2f9bcda4d32e7d2838047ff7/cffi-1.17.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f75c7ab1f9e4aca5414ed4d8e5c0e303a34f4421f8a0d47a4d019ceff0ab6af4", size = 445259, upload-time = "2024-09-04T20:43:56.123Z" }, + { url = "https://files.pythonhosted.org/packages/2e/ea/70ce63780f096e16ce8588efe039d3c4f91deb1dc01e9c73a287939c79a6/cffi-1.17.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a1ed2dd2972641495a3ec98445e09766f077aee98a1c896dcb4ad0d303628e41", size = 469200, upload-time = "2024-09-04T20:43:57.891Z" }, + { url = "https://files.pythonhosted.org/packages/1c/a0/a4fa9f4f781bda074c3ddd57a572b060fa0df7655d2a4247bbe277200146/cffi-1.17.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:46bf43160c1a35f7ec506d254e5c890f3c03648a4dbac12d624e4490a7046cd1", size = 477235, upload-time = "2024-09-04T20:44:00.18Z" }, + { url = "https://files.pythonhosted.org/packages/62/12/ce8710b5b8affbcdd5c6e367217c242524ad17a02fe5beec3ee339f69f85/cffi-1.17.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a24ed04c8ffd54b0729c07cee15a81d964e6fee0e3d4d342a27b020d22959dc6", size = 459721, upload-time = "2024-09-04T20:44:01.585Z" }, + { url = "https://files.pythonhosted.org/packages/ff/6b/d45873c5e0242196f042d555526f92aa9e0c32355a1be1ff8c27f077fd37/cffi-1.17.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:610faea79c43e44c71e1ec53a554553fa22321b65fae24889706c0a84d4ad86d", size = 467242, upload-time = "2024-09-04T20:44:03.467Z" }, + { url = "https://files.pythonhosted.org/packages/1a/52/d9a0e523a572fbccf2955f5abe883cfa8bcc570d7faeee06336fbd50c9fc/cffi-1.17.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:a9b15d491f3ad5d692e11f6b71f7857e7835eb677955c00cc0aefcd0669adaf6", size = 477999, upload-time = "2024-09-04T20:44:05.023Z" }, + { url = "https://files.pythonhosted.org/packages/44/74/f2a2460684a1a2d00ca799ad880d54652841a780c4c97b87754f660c7603/cffi-1.17.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:de2ea4b5833625383e464549fec1bc395c1bdeeb5f25c4a3a82b5a8c756ec22f", size = 454242, upload-time = "2024-09-04T20:44:06.444Z" }, + { url = "https://files.pythonhosted.org/packages/f8/4a/34599cac7dfcd888ff54e801afe06a19c17787dfd94495ab0c8d35fe99fb/cffi-1.17.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:fc48c783f9c87e60831201f2cce7f3b2e4846bf4d8728eabe54d60700b318a0b", size = 478604, upload-time = "2024-09-04T20:44:08.206Z" }, + { url = "https://files.pythonhosted.org/packages/34/33/e1b8a1ba29025adbdcda5fb3a36f94c03d771c1b7b12f726ff7fef2ebe36/cffi-1.17.1-cp311-cp311-win32.whl", hash = "sha256:85a950a4ac9c359340d5963966e3e0a94a676bd6245a4b55bc43949eee26a655", size = 171727, upload-time = "2024-09-04T20:44:09.481Z" }, + { url = "https://files.pythonhosted.org/packages/3d/97/50228be003bb2802627d28ec0627837ac0bf35c90cf769812056f235b2d1/cffi-1.17.1-cp311-cp311-win_amd64.whl", hash = "sha256:caaf0640ef5f5517f49bc275eca1406b0ffa6aa184892812030f04c2abf589a0", size = 181400, upload-time = "2024-09-04T20:44:10.873Z" }, + { url = "https://files.pythonhosted.org/packages/5a/84/e94227139ee5fb4d600a7a4927f322e1d4aea6fdc50bd3fca8493caba23f/cffi-1.17.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:805b4371bf7197c329fcb3ead37e710d1bca9da5d583f5073b799d5c5bd1eee4", size = 183178, upload-time = "2024-09-04T20:44:12.232Z" }, + { url = "https://files.pythonhosted.org/packages/da/ee/fb72c2b48656111c4ef27f0f91da355e130a923473bf5ee75c5643d00cca/cffi-1.17.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:733e99bc2df47476e3848417c5a4540522f234dfd4ef3ab7fafdf555b082ec0c", size = 178840, upload-time = "2024-09-04T20:44:13.739Z" }, + { url = "https://files.pythonhosted.org/packages/cc/b6/db007700f67d151abadf508cbfd6a1884f57eab90b1bb985c4c8c02b0f28/cffi-1.17.1-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1257bdabf294dceb59f5e70c64a3e2f462c30c7ad68092d01bbbfb1c16b1ba36", size = 454803, upload-time = "2024-09-04T20:44:15.231Z" }, + { url = "https://files.pythonhosted.org/packages/1a/df/f8d151540d8c200eb1c6fba8cd0dfd40904f1b0682ea705c36e6c2e97ab3/cffi-1.17.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da95af8214998d77a98cc14e3a3bd00aa191526343078b530ceb0bd710fb48a5", size = 478850, upload-time = "2024-09-04T20:44:17.188Z" }, + { url = "https://files.pythonhosted.org/packages/28/c0/b31116332a547fd2677ae5b78a2ef662dfc8023d67f41b2a83f7c2aa78b1/cffi-1.17.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d63afe322132c194cf832bfec0dc69a99fb9bb6bbd550f161a49e9e855cc78ff", size = 485729, upload-time = "2024-09-04T20:44:18.688Z" }, + { url = "https://files.pythonhosted.org/packages/91/2b/9a1ddfa5c7f13cab007a2c9cc295b70fbbda7cb10a286aa6810338e60ea1/cffi-1.17.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f79fc4fc25f1c8698ff97788206bb3c2598949bfe0fef03d299eb1b5356ada99", size = 471256, upload-time = "2024-09-04T20:44:20.248Z" }, + { url = "https://files.pythonhosted.org/packages/b2/d5/da47df7004cb17e4955df6a43d14b3b4ae77737dff8bf7f8f333196717bf/cffi-1.17.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b62ce867176a75d03a665bad002af8e6d54644fad99a3c70905c543130e39d93", size = 479424, upload-time = "2024-09-04T20:44:21.673Z" }, + { url = "https://files.pythonhosted.org/packages/0b/ac/2a28bcf513e93a219c8a4e8e125534f4f6db03e3179ba1c45e949b76212c/cffi-1.17.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:386c8bf53c502fff58903061338ce4f4950cbdcb23e2902d86c0f722b786bbe3", size = 484568, upload-time = "2024-09-04T20:44:23.245Z" }, + { url = "https://files.pythonhosted.org/packages/d4/38/ca8a4f639065f14ae0f1d9751e70447a261f1a30fa7547a828ae08142465/cffi-1.17.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4ceb10419a9adf4460ea14cfd6bc43d08701f0835e979bf821052f1805850fe8", size = 488736, upload-time = "2024-09-04T20:44:24.757Z" }, + { url = "https://files.pythonhosted.org/packages/86/c5/28b2d6f799ec0bdecf44dced2ec5ed43e0eb63097b0f58c293583b406582/cffi-1.17.1-cp312-cp312-win32.whl", hash = "sha256:a08d7e755f8ed21095a310a693525137cfe756ce62d066e53f502a83dc550f65", size = 172448, upload-time = "2024-09-04T20:44:26.208Z" }, + { url = "https://files.pythonhosted.org/packages/50/b9/db34c4755a7bd1cb2d1603ac3863f22bcecbd1ba29e5ee841a4bc510b294/cffi-1.17.1-cp312-cp312-win_amd64.whl", hash = "sha256:51392eae71afec0d0c8fb1a53b204dbb3bcabcb3c9b807eedf3e1e6ccf2de903", size = 181976, upload-time = "2024-09-04T20:44:27.578Z" }, +] + +[[package]] +name = "cfgv" +version = "3.4.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/11/74/539e56497d9bd1d484fd863dd69cbbfa653cd2aa27abfe35653494d85e94/cfgv-3.4.0.tar.gz", hash = "sha256:e52591d4c5f5dead8e0f673fb16db7949d2cfb3f7da4582893288f0ded8fe560", size = 7114, upload-time = "2023-08-12T20:38:17.776Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c5/55/51844dd50c4fc7a33b653bfaba4c2456f06955289ca770a5dbd5fd267374/cfgv-3.4.0-py2.py3-none-any.whl", hash = "sha256:b7265b1f29fd3316bfcd2b330d63d024f2bfd8bcb8b0272f8e19a504856c48f9", size = 7249, upload-time = "2023-08-12T20:38:16.269Z" }, +] + +[[package]] +name = "charset-normalizer" +version = "3.4.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/83/2d/5fd176ceb9b2fc619e63405525573493ca23441330fcdaee6bef9460e924/charset_normalizer-3.4.3.tar.gz", hash = "sha256:6fce4b8500244f6fcb71465d4a4930d132ba9ab8e71a7859e6a5d59851068d14", size = 122371, upload-time = "2025-08-09T07:57:28.46Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d6/98/f3b8013223728a99b908c9344da3aa04ee6e3fa235f19409033eda92fb78/charset_normalizer-3.4.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:fb7f67a1bfa6e40b438170ebdc8158b78dc465a5a67b6dde178a46987b244a72", size = 207695, upload-time = "2025-08-09T07:55:36.452Z" }, + { url = "https://files.pythonhosted.org/packages/21/40/5188be1e3118c82dcb7c2a5ba101b783822cfb413a0268ed3be0468532de/charset_normalizer-3.4.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:cc9370a2da1ac13f0153780040f465839e6cccb4a1e44810124b4e22483c93fe", size = 147153, upload-time = "2025-08-09T07:55:38.467Z" }, + { url = "https://files.pythonhosted.org/packages/37/60/5d0d74bc1e1380f0b72c327948d9c2aca14b46a9efd87604e724260f384c/charset_normalizer-3.4.3-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:07a0eae9e2787b586e129fdcbe1af6997f8d0e5abaa0bc98c0e20e124d67e601", size = 160428, upload-time = "2025-08-09T07:55:40.072Z" }, + { url = "https://files.pythonhosted.org/packages/85/9a/d891f63722d9158688de58d050c59dc3da560ea7f04f4c53e769de5140f5/charset_normalizer-3.4.3-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:74d77e25adda8581ffc1c720f1c81ca082921329452eba58b16233ab1842141c", size = 157627, upload-time = "2025-08-09T07:55:41.706Z" }, + { url = "https://files.pythonhosted.org/packages/65/1a/7425c952944a6521a9cfa7e675343f83fd82085b8af2b1373a2409c683dc/charset_normalizer-3.4.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d0e909868420b7049dafd3a31d45125b31143eec59235311fc4c57ea26a4acd2", size = 152388, upload-time = "2025-08-09T07:55:43.262Z" }, + { url = "https://files.pythonhosted.org/packages/f0/c9/a2c9c2a355a8594ce2446085e2ec97fd44d323c684ff32042e2a6b718e1d/charset_normalizer-3.4.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:c6f162aabe9a91a309510d74eeb6507fab5fff92337a15acbe77753d88d9dcf0", size = 150077, upload-time = "2025-08-09T07:55:44.903Z" }, + { url = "https://files.pythonhosted.org/packages/3b/38/20a1f44e4851aa1c9105d6e7110c9d020e093dfa5836d712a5f074a12bf7/charset_normalizer-3.4.3-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:4ca4c094de7771a98d7fbd67d9e5dbf1eb73efa4f744a730437d8a3a5cf994f0", size = 161631, upload-time = "2025-08-09T07:55:46.346Z" }, + { url = "https://files.pythonhosted.org/packages/a4/fa/384d2c0f57edad03d7bec3ebefb462090d8905b4ff5a2d2525f3bb711fac/charset_normalizer-3.4.3-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:02425242e96bcf29a49711b0ca9f37e451da7c70562bc10e8ed992a5a7a25cc0", size = 159210, upload-time = "2025-08-09T07:55:47.539Z" }, + { url = "https://files.pythonhosted.org/packages/33/9e/eca49d35867ca2db336b6ca27617deed4653b97ebf45dfc21311ce473c37/charset_normalizer-3.4.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:78deba4d8f9590fe4dae384aeff04082510a709957e968753ff3c48399f6f92a", size = 153739, upload-time = "2025-08-09T07:55:48.744Z" }, + { url = "https://files.pythonhosted.org/packages/2a/91/26c3036e62dfe8de8061182d33be5025e2424002125c9500faff74a6735e/charset_normalizer-3.4.3-cp310-cp310-win32.whl", hash = "sha256:d79c198e27580c8e958906f803e63cddb77653731be08851c7df0b1a14a8fc0f", size = 99825, upload-time = "2025-08-09T07:55:50.305Z" }, + { url = "https://files.pythonhosted.org/packages/e2/c6/f05db471f81af1fa01839d44ae2a8bfeec8d2a8b4590f16c4e7393afd323/charset_normalizer-3.4.3-cp310-cp310-win_amd64.whl", hash = "sha256:c6e490913a46fa054e03699c70019ab869e990270597018cef1d8562132c2669", size = 107452, upload-time = "2025-08-09T07:55:51.461Z" }, + { url = "https://files.pythonhosted.org/packages/7f/b5/991245018615474a60965a7c9cd2b4efbaabd16d582a5547c47ee1c7730b/charset_normalizer-3.4.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:b256ee2e749283ef3ddcff51a675ff43798d92d746d1a6e4631bf8c707d22d0b", size = 204483, upload-time = "2025-08-09T07:55:53.12Z" }, + { url = "https://files.pythonhosted.org/packages/c7/2a/ae245c41c06299ec18262825c1569c5d3298fc920e4ddf56ab011b417efd/charset_normalizer-3.4.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:13faeacfe61784e2559e690fc53fa4c5ae97c6fcedb8eb6fb8d0a15b475d2c64", size = 145520, upload-time = "2025-08-09T07:55:54.712Z" }, + { url = "https://files.pythonhosted.org/packages/3a/a4/b3b6c76e7a635748c4421d2b92c7b8f90a432f98bda5082049af37ffc8e3/charset_normalizer-3.4.3-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:00237675befef519d9af72169d8604a067d92755e84fe76492fef5441db05b91", size = 158876, upload-time = "2025-08-09T07:55:56.024Z" }, + { url = "https://files.pythonhosted.org/packages/e2/e6/63bb0e10f90a8243c5def74b5b105b3bbbfb3e7bb753915fe333fb0c11ea/charset_normalizer-3.4.3-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:585f3b2a80fbd26b048a0be90c5aae8f06605d3c92615911c3a2b03a8a3b796f", size = 156083, upload-time = "2025-08-09T07:55:57.582Z" }, + { url = "https://files.pythonhosted.org/packages/87/df/b7737ff046c974b183ea9aa111b74185ac8c3a326c6262d413bd5a1b8c69/charset_normalizer-3.4.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0e78314bdc32fa80696f72fa16dc61168fda4d6a0c014e0380f9d02f0e5d8a07", size = 150295, upload-time = "2025-08-09T07:55:59.147Z" }, + { url = "https://files.pythonhosted.org/packages/61/f1/190d9977e0084d3f1dc169acd060d479bbbc71b90bf3e7bf7b9927dec3eb/charset_normalizer-3.4.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:96b2b3d1a83ad55310de8c7b4a2d04d9277d5591f40761274856635acc5fcb30", size = 148379, upload-time = "2025-08-09T07:56:00.364Z" }, + { url = "https://files.pythonhosted.org/packages/4c/92/27dbe365d34c68cfe0ca76f1edd70e8705d82b378cb54ebbaeabc2e3029d/charset_normalizer-3.4.3-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:939578d9d8fd4299220161fdd76e86c6a251987476f5243e8864a7844476ba14", size = 160018, upload-time = "2025-08-09T07:56:01.678Z" }, + { url = "https://files.pythonhosted.org/packages/99/04/baae2a1ea1893a01635d475b9261c889a18fd48393634b6270827869fa34/charset_normalizer-3.4.3-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:fd10de089bcdcd1be95a2f73dbe6254798ec1bda9f450d5828c96f93e2536b9c", size = 157430, upload-time = "2025-08-09T07:56:02.87Z" }, + { url = "https://files.pythonhosted.org/packages/2f/36/77da9c6a328c54d17b960c89eccacfab8271fdaaa228305330915b88afa9/charset_normalizer-3.4.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:1e8ac75d72fa3775e0b7cb7e4629cec13b7514d928d15ef8ea06bca03ef01cae", size = 151600, upload-time = "2025-08-09T07:56:04.089Z" }, + { url = "https://files.pythonhosted.org/packages/64/d4/9eb4ff2c167edbbf08cdd28e19078bf195762e9bd63371689cab5ecd3d0d/charset_normalizer-3.4.3-cp311-cp311-win32.whl", hash = "sha256:6cf8fd4c04756b6b60146d98cd8a77d0cdae0e1ca20329da2ac85eed779b6849", size = 99616, upload-time = "2025-08-09T07:56:05.658Z" }, + { url = "https://files.pythonhosted.org/packages/f4/9c/996a4a028222e7761a96634d1820de8a744ff4327a00ada9c8942033089b/charset_normalizer-3.4.3-cp311-cp311-win_amd64.whl", hash = "sha256:31a9a6f775f9bcd865d88ee350f0ffb0e25936a7f930ca98995c05abf1faf21c", size = 107108, upload-time = "2025-08-09T07:56:07.176Z" }, + { url = "https://files.pythonhosted.org/packages/e9/5e/14c94999e418d9b87682734589404a25854d5f5d0408df68bc15b6ff54bb/charset_normalizer-3.4.3-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:e28e334d3ff134e88989d90ba04b47d84382a828c061d0d1027b1b12a62b39b1", size = 205655, upload-time = "2025-08-09T07:56:08.475Z" }, + { url = "https://files.pythonhosted.org/packages/7d/a8/c6ec5d389672521f644505a257f50544c074cf5fc292d5390331cd6fc9c3/charset_normalizer-3.4.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0cacf8f7297b0c4fcb74227692ca46b4a5852f8f4f24b3c766dd94a1075c4884", size = 146223, upload-time = "2025-08-09T07:56:09.708Z" }, + { url = "https://files.pythonhosted.org/packages/fc/eb/a2ffb08547f4e1e5415fb69eb7db25932c52a52bed371429648db4d84fb1/charset_normalizer-3.4.3-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c6fd51128a41297f5409deab284fecbe5305ebd7e5a1f959bee1c054622b7018", size = 159366, upload-time = "2025-08-09T07:56:11.326Z" }, + { url = "https://files.pythonhosted.org/packages/82/10/0fd19f20c624b278dddaf83b8464dcddc2456cb4b02bb902a6da126b87a1/charset_normalizer-3.4.3-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:3cfb2aad70f2c6debfbcb717f23b7eb55febc0bb23dcffc0f076009da10c6392", size = 157104, upload-time = "2025-08-09T07:56:13.014Z" }, + { url = "https://files.pythonhosted.org/packages/16/ab/0233c3231af734f5dfcf0844aa9582d5a1466c985bbed6cedab85af9bfe3/charset_normalizer-3.4.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1606f4a55c0fd363d754049cdf400175ee96c992b1f8018b993941f221221c5f", size = 151830, upload-time = "2025-08-09T07:56:14.428Z" }, + { url = "https://files.pythonhosted.org/packages/ae/02/e29e22b4e02839a0e4a06557b1999d0a47db3567e82989b5bb21f3fbbd9f/charset_normalizer-3.4.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:027b776c26d38b7f15b26a5da1044f376455fb3766df8fc38563b4efbc515154", size = 148854, upload-time = "2025-08-09T07:56:16.051Z" }, + { url = "https://files.pythonhosted.org/packages/05/6b/e2539a0a4be302b481e8cafb5af8792da8093b486885a1ae4d15d452bcec/charset_normalizer-3.4.3-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:42e5088973e56e31e4fa58eb6bd709e42fc03799c11c42929592889a2e54c491", size = 160670, upload-time = "2025-08-09T07:56:17.314Z" }, + { url = "https://files.pythonhosted.org/packages/31/e7/883ee5676a2ef217a40ce0bffcc3d0dfbf9e64cbcfbdf822c52981c3304b/charset_normalizer-3.4.3-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:cc34f233c9e71701040d772aa7490318673aa7164a0efe3172b2981218c26d93", size = 158501, upload-time = "2025-08-09T07:56:18.641Z" }, + { url = "https://files.pythonhosted.org/packages/c1/35/6525b21aa0db614cf8b5792d232021dca3df7f90a1944db934efa5d20bb1/charset_normalizer-3.4.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:320e8e66157cc4e247d9ddca8e21f427efc7a04bbd0ac8a9faf56583fa543f9f", size = 153173, upload-time = "2025-08-09T07:56:20.289Z" }, + { url = "https://files.pythonhosted.org/packages/50/ee/f4704bad8201de513fdc8aac1cabc87e38c5818c93857140e06e772b5892/charset_normalizer-3.4.3-cp312-cp312-win32.whl", hash = "sha256:fb6fecfd65564f208cbf0fba07f107fb661bcd1a7c389edbced3f7a493f70e37", size = 99822, upload-time = "2025-08-09T07:56:21.551Z" }, + { url = "https://files.pythonhosted.org/packages/39/f5/3b3836ca6064d0992c58c7561c6b6eee1b3892e9665d650c803bd5614522/charset_normalizer-3.4.3-cp312-cp312-win_amd64.whl", hash = "sha256:86df271bf921c2ee3818f0522e9a5b8092ca2ad8b065ece5d7d9d0e9f4849bcc", size = 107543, upload-time = "2025-08-09T07:56:23.115Z" }, + { url = "https://files.pythonhosted.org/packages/8a/1f/f041989e93b001bc4e44bb1669ccdcf54d3f00e628229a85b08d330615c5/charset_normalizer-3.4.3-py3-none-any.whl", hash = "sha256:ce571ab16d890d23b5c278547ba694193a45011ff86a9162a71307ed9f86759a", size = 53175, upload-time = "2025-08-09T07:57:26.864Z" }, +] + +[[package]] +name = "click" +version = "8.2.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/60/6c/8ca2efa64cf75a977a0d7fac081354553ebe483345c734fb6b6515d96bbc/click-8.2.1.tar.gz", hash = "sha256:27c491cc05d968d271d5a1db13e3b5a184636d9d930f148c50b038f0d0646202", size = 286342, upload-time = "2025-05-20T23:19:49.832Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/85/32/10bb5764d90a8eee674e9dc6f4db6a0ab47c8c4d0d83c27f7c39ac415a4d/click-8.2.1-py3-none-any.whl", hash = "sha256:61a3265b914e850b85317d0b3109c7f8cd35a670f963866005d6ef1d5175a12b", size = 102215, upload-time = "2025-05-20T23:19:47.796Z" }, +] + +[[package]] +name = "coincurve" +version = "20.0.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "asn1crypto" }, + { name = "cffi" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/d9/4c/9e5e51e6c12cec6444c86697992f9c6ccffa19f84d042ff939c8b89206ff/coincurve-20.0.0.tar.gz", hash = "sha256:872419e404300302e938849b6b92a196fabdad651060b559dc310e52f8392829", size = 122865, upload-time = "2024-06-02T18:15:50.787Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/14/0c/f6a8b06f461089aeab441824134ea5d5824dba3acaac0a9dbf8444cbe1d6/coincurve-20.0.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d559b22828638390118cae9372a1bb6f6594f5584c311deb1de6a83163a0919b", size = 1255634, upload-time = "2024-06-02T18:14:26.381Z" }, + { url = "https://files.pythonhosted.org/packages/62/c2/0dbabd2c6648f49f730fdcbba84c53b5ffaf452fca85c750633141fe049c/coincurve-20.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:33d7f6ebd90fcc550f819f7f2cce2af525c342aac07f0ccda46ad8956ad9d99b", size = 1255532, upload-time = "2024-06-02T18:14:28.792Z" }, + { url = "https://files.pythonhosted.org/packages/f5/77/c4fa50f8cb5d050a9bcab806503acdd1705b0dfb5c554eed15cc18bc12e8/coincurve-20.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22d70dd55d13fd427418eb41c20fde0a20a5e5f016e2b1bb94710701e759e7e0", size = 1191928, upload-time = "2024-06-02T18:14:30.874Z" }, + { url = "https://files.pythonhosted.org/packages/a3/11/6254ea354a32a3a1d70722daf58f2ebf0f689f0940eaced5127233416553/coincurve-20.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:46f18d481eaae72c169f334cde1fd22011a884e0c9c6adc3fdc1fd13df8236a3", size = 1194364, upload-time = "2024-06-02T18:14:32.684Z" }, + { url = "https://files.pythonhosted.org/packages/a7/a9/d8717d41eb02688691adc30d7348f7c5fdc78e977f4cea83ee84622050b5/coincurve-20.0.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9de1ec57f43c3526bc462be58fb97910dc1fdd5acab6c71eda9f9719a5bd7489", size = 1204658, upload-time = "2024-06-02T18:14:33.919Z" }, + { url = "https://files.pythonhosted.org/packages/55/13/40923832d99c18fb01a00f83e5f6f702156e71cc0eb5d6281535eee662af/coincurve-20.0.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:a6f007c44c726b5c0b3724093c0d4fb8e294f6b6869beb02d7473b21777473a3", size = 1215298, upload-time = "2024-06-02T18:14:35.318Z" }, + { url = "https://files.pythonhosted.org/packages/4d/87/646462a7a7810c7a3dcadae8969e1b78d535bcff072c26b17588e93a39b8/coincurve-20.0.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:0ff1f3b81330db5092c24da2102e4fcba5094f14945b3eb40746456ceabdd6d9", size = 1204504, upload-time = "2024-06-02T18:14:36.567Z" }, + { url = "https://files.pythonhosted.org/packages/01/58/fbb9a312d559aee701491435b691e409fb0efa12eabf269ff651d537fed4/coincurve-20.0.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:82f7de97694d9343f26bd1c8e081b168e5f525894c12445548ce458af227f536", size = 1209298, upload-time = "2024-06-02T18:14:38.384Z" }, + { url = "https://files.pythonhosted.org/packages/ee/d0/1d5679c000b31f3b32512632d98571f2bb752cd25c127d6f5bf3711b6eae/coincurve-20.0.0-cp310-cp310-win_amd64.whl", hash = "sha256:e905b4b084b4f3b61e5a5d58ac2632fd1d07b7b13b4c6d778335a6ca1dafd7a3", size = 1198934, upload-time = "2024-06-02T18:14:39.788Z" }, + { url = "https://files.pythonhosted.org/packages/a3/f6/8c1499f730fac49ec13740fb1c015ce8082fa6b917790056988559f22212/coincurve-20.0.0-cp310-cp310-win_arm64.whl", hash = "sha256:3657bb5ed0baf1cf8cf356e7d44aa90a7902cc3dd4a435c6d4d0bed0553ad4f7", size = 1193319, upload-time = "2024-06-02T18:14:41.165Z" }, + { url = "https://files.pythonhosted.org/packages/24/a7/d60a41b3f0a546854c9b7ca65ab99a5fdf1c9e158ae264a580de8f23fd1c/coincurve-20.0.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:44087d1126d43925bf9a2391ce5601bf30ce0dba4466c239172dc43226696018", size = 1255635, upload-time = "2024-06-02T18:14:42.483Z" }, + { url = "https://files.pythonhosted.org/packages/b7/4a/727fab66c0fbecfd7beeb38467910bd3652a77df649565e30160a9d2bae2/coincurve-20.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:5ccf0ba38b0f307a9b3ce28933f6c71dc12ef3a0985712ca09f48591afd597c8", size = 1255536, upload-time = "2024-06-02T18:14:44.077Z" }, + { url = "https://files.pythonhosted.org/packages/0f/8b/25d4ae5bb60665023e6d71681fada88ee95b5010dae6fc0b44d8b23b8df1/coincurve-20.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:566bc5986debdf8572b6be824fd4de03d533c49f3de778e29f69017ae3fe82d8", size = 1191928, upload-time = "2024-06-02T18:14:45.739Z" }, + { url = "https://files.pythonhosted.org/packages/0d/86/8c32c512fa27bfe7cfe70329fd43ebac23c0c8cec202cf6e4f52854e7ce3/coincurve-20.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f4d70283168e146f025005c15406086513d5d35e89a60cf4326025930d45013a", size = 1194365, upload-time = "2024-06-02T18:14:47.008Z" }, + { url = "https://files.pythonhosted.org/packages/fe/74/fefbe512f54df7d02a7ea4821b87cf199a91b3565cdf0c94448b3f6b1af1/coincurve-20.0.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:763c6122dd7d5e7a81c86414ce360dbe9a2d4afa1ca6c853ee03d63820b3d0c5", size = 1204658, upload-time = "2024-06-02T18:14:48.348Z" }, + { url = "https://files.pythonhosted.org/packages/09/68/05b29f881f628ce8e8468f5f7420f6c4d7c129f43964e81d15bf388ae67a/coincurve-20.0.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:f00c361c356bcea386d47a191bb8ac60429f4b51c188966a201bfecaf306ff7f", size = 1215301, upload-time = "2024-06-02T18:14:49.84Z" }, + { url = "https://files.pythonhosted.org/packages/ee/5d/d91549cf5a163797b0724dc2dcd551b908b6beddb6598b37743df7f6f3ec/coincurve-20.0.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:4af57bdadd2e64d117dd0b33cfefe76e90c7a6c496a7b034fc65fd01ec249b15", size = 1204505, upload-time = "2024-06-02T18:14:51.816Z" }, + { url = "https://files.pythonhosted.org/packages/37/0f/898022e08760fb57d281f3695576e859b0f8a8ac629670223d9066c3f60d/coincurve-20.0.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:a26437b7cbde13fb6e09261610b788ca2a0ca2195c62030afd1e1e0d1a62e035", size = 1209305, upload-time = "2024-06-02T18:14:53.39Z" }, + { url = "https://files.pythonhosted.org/packages/57/b9/643567d3f680ddf8d1bf10a56112ae7755296500d8eaaef498be637a8533/coincurve-20.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:ed51f8bba35e6c7676ad65539c3dbc35acf014fc402101fa24f6b0a15a74ab9e", size = 1198932, upload-time = "2024-06-02T18:14:54.751Z" }, + { url = "https://files.pythonhosted.org/packages/b3/3a/898f5c12469b292042608dd0702bcb0420ec32bac6b1ca2a0dd790f922bd/coincurve-20.0.0-cp311-cp311-win_arm64.whl", hash = "sha256:594b840fc25d74118407edbbbc754b815f1bba9759dbf4f67f1c2b78396df2d3", size = 1193318, upload-time = "2024-06-02T18:14:55.981Z" }, + { url = "https://files.pythonhosted.org/packages/8f/24/e1bf259dd57186fbdc7cec51909db320884162cfad5ec72cbaa63573ff9d/coincurve-20.0.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:4df4416a6c0370d777aa725a25b14b04e45aa228da1251c258ff91444643f688", size = 1255671, upload-time = "2024-06-02T18:14:57.863Z" }, + { url = "https://files.pythonhosted.org/packages/0a/c5/1817f87d1cd5ff50d8537fe60fb96f66b76dd02da885d970952e6189a801/coincurve-20.0.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1ccc3e4db55abf3fc0e604a187fdb05f0702bc5952e503d9a75f4ae6eeb4cb3a", size = 1255565, upload-time = "2024-06-02T18:14:59.128Z" }, + { url = "https://files.pythonhosted.org/packages/90/9f/35e15f993717ed1dcc4c26d9771f073a1054af26808a0f421783bb4cd7e0/coincurve-20.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ac8335b1658a2ef5b3eb66d52647742fe8c6f413ad5b9d5310d7ea6d8060d40f", size = 1191953, upload-time = "2024-06-02T18:15:01.047Z" }, + { url = "https://files.pythonhosted.org/packages/4a/3d/6a9bc32e69b738b5e05f5027bace1da6722352a4a447e495d3c03a601d99/coincurve-20.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c7ac025e485a0229fd5394e0bf6b4a75f8a4f6cee0dcf6f0b01a2ef05c5210ff", size = 1194425, upload-time = "2024-06-02T18:15:02.919Z" }, + { url = "https://files.pythonhosted.org/packages/1a/a6/15424973dc47fc7c87e3c0f8859f6f1b1032582ee9f1b85fdd5d1e33d630/coincurve-20.0.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e46e3f1c21b3330857bcb1a3a5b942f645c8bce912a8a2b252216f34acfe4195", size = 1204678, upload-time = "2024-06-02T18:15:04.308Z" }, + { url = "https://files.pythonhosted.org/packages/6a/e7/71ddb4d66c11c4ad13e729362f8852e048ae452eba3dfcf57751842bb292/coincurve-20.0.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:df9ff9b17a1d27271bf476cf3fa92df4c151663b11a55d8cea838b8f88d83624", size = 1215395, upload-time = "2024-06-02T18:15:05.701Z" }, + { url = "https://files.pythonhosted.org/packages/b9/7d/03e0a19cfff1d86f5d019afc69cfbff02caada701ed5a4a50abc63d4261c/coincurve-20.0.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:4155759f071375699282e03b3d95fb473ee05c022641c077533e0d906311e57a", size = 1204552, upload-time = "2024-06-02T18:15:07.107Z" }, + { url = "https://files.pythonhosted.org/packages/07/cd/e9bd4ca7d931653a35c74194da04191a9aecc54b8f48a554cd538dc810e4/coincurve-20.0.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:0530b9dd02fc6f6c2916716974b79bdab874227f560c422801ade290e3fc5013", size = 1209392, upload-time = "2024-06-02T18:15:08.663Z" }, + { url = "https://files.pythonhosted.org/packages/99/54/260053f14f74b99b645084231e1c76994134ded49407a3bba23a8ffc0ff6/coincurve-20.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:eacf9c0ce8739c84549a89c083b1f3526c8780b84517ee75d6b43d276e55f8a0", size = 1198932, upload-time = "2024-06-02T18:15:10.786Z" }, + { url = "https://files.pythonhosted.org/packages/b4/b5/c465e09345dd38b9415f5d47ae7683b3f461db02fcc03e699b6b5687ab2b/coincurve-20.0.0-cp312-cp312-win_arm64.whl", hash = "sha256:52a67bfddbd6224dfa42085c88ad176559801b57d6a8bd30d92ee040de88b7b3", size = 1193324, upload-time = "2024-06-02T18:15:12.511Z" }, +] + +[[package]] +name = "colorama" +version = "0.4.6" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697, upload-time = "2022-10-25T02:36:22.414Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335, upload-time = "2022-10-25T02:36:20.889Z" }, +] + +[[package]] +name = "cryptography" +version = "42.0.8" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cffi", marker = "platform_python_implementation != 'PyPy'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/93/a7/1498799a2ea06148463a9a2c10ab2f6a921a74fb19e231b27dc412a748e2/cryptography-42.0.8.tar.gz", hash = "sha256:8d09d05439ce7baa8e9e95b07ec5b6c886f548deb7e0f69ef25f64b3bce842f2", size = 671250, upload-time = "2024-06-04T19:55:08.609Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f9/8b/1b929ba8139430e09e140e6939c2b29c18df1f2fc2149e41bdbdcdaf5d1f/cryptography-42.0.8-cp37-abi3-macosx_10_12_universal2.whl", hash = "sha256:81d8a521705787afe7a18d5bfb47ea9d9cc068206270aad0b96a725022e18d2e", size = 5899961, upload-time = "2024-06-04T19:53:57.933Z" }, + { url = "https://files.pythonhosted.org/packages/fa/5d/31d833daa800e4fab33209843095df7adb4a78ea536929145534cbc15026/cryptography-42.0.8-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:961e61cefdcb06e0c6d7e3a1b22ebe8b996eb2bf50614e89384be54c48c6b63d", size = 3114353, upload-time = "2024-06-04T19:54:12.171Z" }, + { url = "https://files.pythonhosted.org/packages/5d/32/f6326c70a9f0f258a201d3b2632bca586ea24d214cec3cf36e374040e273/cryptography-42.0.8-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e3ec3672626e1b9e55afd0df6d774ff0e953452886e06e0f1eb7eb0c832e8902", size = 3647773, upload-time = "2024-06-04T19:54:07.051Z" }, + { url = "https://files.pythonhosted.org/packages/35/66/2d87e9ca95c82c7ee5f2c09716fc4c4242c1ae6647b9bd27e55e920e9f10/cryptography-42.0.8-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e599b53fd95357d92304510fb7bda8523ed1f79ca98dce2f43c115950aa78801", size = 3839763, upload-time = "2024-06-04T19:54:30.383Z" }, + { url = "https://files.pythonhosted.org/packages/c2/de/8083fa2e68d403553a01a9323f4f8b9d7ffed09928ba25635c29fb28c1e7/cryptography-42.0.8-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:5226d5d21ab681f432a9c1cf8b658c0cb02533eece706b155e5fbd8a0cdd3949", size = 3632661, upload-time = "2024-06-04T19:54:32.955Z" }, + { url = "https://files.pythonhosted.org/packages/07/40/d6f6819c62e808ea74639c3c640f7edd636b86cce62cb14943996a15df92/cryptography-42.0.8-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:6b7c4f03ce01afd3b76cf69a5455caa9cfa3de8c8f493e0d3ab7d20611c8dae9", size = 3851536, upload-time = "2024-06-04T19:53:53.131Z" }, + { url = "https://files.pythonhosted.org/packages/5c/46/de71d48abf2b6d3c808f4fbb0f4dc44a4e72786be23df0541aa2a3f6fd7e/cryptography-42.0.8-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:2346b911eb349ab547076f47f2e035fc8ff2c02380a7cbbf8d87114fa0f1c583", size = 3754209, upload-time = "2024-06-04T19:54:55.259Z" }, + { url = "https://files.pythonhosted.org/packages/25/c9/86f04e150c5d5d5e4a731a2c1e0e43da84d901f388e3fea3d5de98d689a7/cryptography-42.0.8-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:ad803773e9df0b92e0a817d22fd8a3675493f690b96130a5e24f1b8fabbea9c7", size = 3923551, upload-time = "2024-06-04T19:54:16.46Z" }, + { url = "https://files.pythonhosted.org/packages/53/c2/903014dafb7271fb148887d4355b2e90319cad6e810663be622b0c933fc9/cryptography-42.0.8-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:2f66d9cd9147ee495a8374a45ca445819f8929a3efcd2e3df6428e46c3cbb10b", size = 3739265, upload-time = "2024-06-04T19:54:23.194Z" }, + { url = "https://files.pythonhosted.org/packages/95/26/82d704d988a193cbdc69ac3b41c687c36eaed1642cce52530ad810c35645/cryptography-42.0.8-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:d45b940883a03e19e944456a558b67a41160e367a719833c53de6911cabba2b7", size = 3937371, upload-time = "2024-06-04T19:55:04.303Z" }, + { url = "https://files.pythonhosted.org/packages/cf/71/4e0d05c9acd638a225f57fb6162aa3d03613c11b76893c23ea4675bb28c5/cryptography-42.0.8-cp37-abi3-win32.whl", hash = "sha256:a0c5b2b0585b6af82d7e385f55a8bc568abff8923af147ee3c07bd8b42cda8b2", size = 2438849, upload-time = "2024-06-04T19:54:27.39Z" }, + { url = "https://files.pythonhosted.org/packages/06/0f/78da3cad74f2ba6c45321dc90394d70420ea846730dc042ef527f5a224b5/cryptography-42.0.8-cp37-abi3-win_amd64.whl", hash = "sha256:57080dee41209e556a9a4ce60d229244f7a66ef52750f813bfbe18959770cfba", size = 2889090, upload-time = "2024-06-04T19:54:14.245Z" }, + { url = "https://files.pythonhosted.org/packages/60/12/f064af29190cdb1d38fe07f3db6126091639e1dece7ec77c4ff037d49193/cryptography-42.0.8-cp39-abi3-macosx_10_12_universal2.whl", hash = "sha256:dea567d1b0e8bc5764b9443858b673b734100c2871dc93163f58c46a97a83d28", size = 5901232, upload-time = "2024-06-04T19:54:52.722Z" }, + { url = "https://files.pythonhosted.org/packages/43/c2/4a3eef67e009a522711ebd8ac89424c3a7fe591ece7035d964419ad52a1d/cryptography-42.0.8-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c4783183f7cb757b73b2ae9aed6599b96338eb957233c58ca8f49a49cc32fd5e", size = 3648711, upload-time = "2024-06-04T19:54:44.323Z" }, + { url = "https://files.pythonhosted.org/packages/49/1c/9f6d13cc8041c05eebff1154e4e71bedd1db8e174fff999054435994187a/cryptography-42.0.8-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a0608251135d0e03111152e41f0cc2392d1e74e35703960d4190b2e0f4ca9c70", size = 3841968, upload-time = "2024-06-04T19:54:57.911Z" }, + { url = "https://files.pythonhosted.org/packages/5f/f9/c3d4f19b82bdb25a3d857fe96e7e571c981810e47e3f299cc13ac429066a/cryptography-42.0.8-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:dc0fdf6787f37b1c6b08e6dfc892d9d068b5bdb671198c72072828b80bd5fe4c", size = 3633032, upload-time = "2024-06-04T19:54:48.518Z" }, + { url = "https://files.pythonhosted.org/packages/fa/e2/b7e6e8c261536c489d9cf908769880d94bd5d9a187e166b0dc838d2e6a56/cryptography-42.0.8-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:9c0c1716c8447ee7dbf08d6db2e5c41c688544c61074b54fc4564196f55c25a7", size = 3852478, upload-time = "2024-06-04T19:54:50.599Z" }, + { url = "https://files.pythonhosted.org/packages/a2/68/e16751f6b859bc120f53fddbf3ebada5c34f0e9689d8af32884d8b2e4b4c/cryptography-42.0.8-cp39-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:fff12c88a672ab9c9c1cf7b0c80e3ad9e2ebd9d828d955c126be4fd3e5578c9e", size = 3754102, upload-time = "2024-06-04T19:54:46.231Z" }, + { url = "https://files.pythonhosted.org/packages/0f/38/85c74d0ac4c540780e072b1e6f148ecb718418c1062edcb20d22f3ec5bbb/cryptography-42.0.8-cp39-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:cafb92b2bc622cd1aa6a1dce4b93307792633f4c5fe1f46c6b97cf67073ec961", size = 3925042, upload-time = "2024-06-04T19:54:34.767Z" }, + { url = "https://files.pythonhosted.org/packages/89/f4/a8b982e88eb5350407ebdbf4717b55043271d878705329e107f4783555f2/cryptography-42.0.8-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:31f721658a29331f895a5a54e7e82075554ccfb8b163a18719d342f5ffe5ecb1", size = 3738833, upload-time = "2024-06-04T19:54:05.231Z" }, + { url = "https://files.pythonhosted.org/packages/fd/2b/be327b580645927bb1a1f32d5a175b897a9b956bc085b095e15c40bac9ed/cryptography-42.0.8-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:b297f90c5723d04bcc8265fc2a0f86d4ea2e0f7ab4b6994459548d3a6b992a14", size = 3938751, upload-time = "2024-06-04T19:54:37.837Z" }, + { url = "https://files.pythonhosted.org/packages/3c/d5/c6a78ffccdbe4516711ebaa9ed2c7eb6ac5dfa3dc920f2c7e920af2418b0/cryptography-42.0.8-cp39-abi3-win32.whl", hash = "sha256:2f88d197e66c65be5e42cd72e5c18afbfae3f741742070e3019ac8f4ac57262c", size = 2439281, upload-time = "2024-06-04T19:53:55.903Z" }, + { url = "https://files.pythonhosted.org/packages/a2/7b/b0d330852dd5953daee6b15f742f15d9f18e9c0154eb4cfcc8718f0436da/cryptography-42.0.8-cp39-abi3-win_amd64.whl", hash = "sha256:fa76fbb7596cc5839320000cdd5d0955313696d9511debab7ee7278fc8b5c84a", size = 2886038, upload-time = "2024-06-04T19:54:18.707Z" }, + { url = "https://files.pythonhosted.org/packages/a3/fe/1e21699f0a7904e8a30d4fc6db262958f1edf5e505a02e7d97a5b419e482/cryptography-42.0.8-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:ba4f0a211697362e89ad822e667d8d340b4d8d55fae72cdd619389fb5912eefe", size = 3014449, upload-time = "2024-06-04T19:54:40.379Z" }, + { url = "https://files.pythonhosted.org/packages/d5/f3/61b398b5ec61f4b6ffbf746227df7ebb421696458d9625d634043f236a13/cryptography-42.0.8-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:81884c4d096c272f00aeb1f11cf62ccd39763581645b0812e99a91505fa48e0c", size = 3558533, upload-time = "2024-06-04T19:54:42.123Z" }, + { url = "https://files.pythonhosted.org/packages/c1/e2/60b05e720766e185ef097d07068bd878a51d613ef91e4c241750f9c9192b/cryptography-42.0.8-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:c9bb2ae11bfbab395bdd072985abde58ea9860ed84e59dbc0463a5d0159f5b71", size = 3759330, upload-time = "2024-06-04T19:54:09.258Z" }, + { url = "https://files.pythonhosted.org/packages/10/38/2c8dae407d301eaf942e377a5b2b30485cfa0df03c6c2dcc2ac044054ed9/cryptography-42.0.8-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:7016f837e15b0a1c119d27ecd89b3515f01f90a8615ed5e9427e30d9cdbfed3d", size = 2801764, upload-time = "2024-06-04T19:54:25.455Z" }, +] + +[[package]] +name = "deprecated" +version = "1.2.18" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "wrapt" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/98/97/06afe62762c9a8a86af0cfb7bfdab22a43ad17138b07af5b1a58442690a2/deprecated-1.2.18.tar.gz", hash = "sha256:422b6f6d859da6f2ef57857761bfb392480502a64c3028ca9bbe86085d72115d", size = 2928744, upload-time = "2025-01-27T10:46:25.7Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6e/c6/ac0b6c1e2d138f1002bcf799d330bd6d85084fece321e662a14223794041/Deprecated-1.2.18-py2.py3-none-any.whl", hash = "sha256:bd5011788200372a32418f888e326a09ff80d0214bd961147cfed01b5c018eec", size = 9998, upload-time = "2025-01-27T10:46:09.186Z" }, +] + +[[package]] +name = "distlib" +version = "0.4.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/96/8e/709914eb2b5749865801041647dc7f4e6d00b549cfe88b65ca192995f07c/distlib-0.4.0.tar.gz", hash = "sha256:feec40075be03a04501a973d81f633735b4b69f98b05450592310c0f401a4e0d", size = 614605, upload-time = "2025-07-17T16:52:00.465Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/33/6b/e0547afaf41bf2c42e52430072fa5658766e3d65bd4b03a563d1b6336f57/distlib-0.4.0-py2.py3-none-any.whl", hash = "sha256:9659f7d87e46584a30b5780e43ac7a2143098441670ff0a49d5f9034c54a6c16", size = 469047, upload-time = "2025-07-17T16:51:58.613Z" }, +] + +[[package]] +name = "dnspython" +version = "2.7.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b5/4a/263763cb2ba3816dd94b08ad3a33d5fdae34ecb856678773cc40a3605829/dnspython-2.7.0.tar.gz", hash = "sha256:ce9c432eda0dc91cf618a5cedf1a4e142651196bbcd2c80e89ed5a907e5cfaf1", size = 345197, upload-time = "2024-10-05T20:14:59.362Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/68/1b/e0a87d256e40e8c888847551b20a017a6b98139178505dc7ffb96f04e954/dnspython-2.7.0-py3-none-any.whl", hash = "sha256:b4c34b7d10b51bcc3a5071e7b8dee77939f1e878477eeecc965e9835f63c6c86", size = 313632, upload-time = "2024-10-05T20:14:57.687Z" }, +] + +[[package]] +name = "ecdsa" +version = "0.19.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "six" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/c0/1f/924e3caae75f471eae4b26bd13b698f6af2c44279f67af317439c2f4c46a/ecdsa-0.19.1.tar.gz", hash = "sha256:478cba7b62555866fcb3bb3fe985e06decbdb68ef55713c4e5ab98c57d508e61", size = 201793, upload-time = "2025-03-13T11:52:43.25Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cb/a3/460c57f094a4a165c84a1341c373b0a4f5ec6ac244b998d5021aade89b77/ecdsa-0.19.1-py2.py3-none-any.whl", hash = "sha256:30638e27cf77b7e15c4c4cc1973720149e1033827cfd00661ca5c8cc0cdb24c3", size = 150607, upload-time = "2025-03-13T11:52:41.757Z" }, +] + +[[package]] +name = "email-validator" +version = "2.2.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "dnspython" }, + { name = "idna" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/48/ce/13508a1ec3f8bb981ae4ca79ea40384becc868bfae97fd1c942bb3a001b1/email_validator-2.2.0.tar.gz", hash = "sha256:cb690f344c617a714f22e66ae771445a1ceb46821152df8e165c5f9a364582b7", size = 48967, upload-time = "2024-06-20T11:30:30.034Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d7/ee/bf0adb559ad3c786f12bcbc9296b3f5675f529199bef03e2df281fa1fadb/email_validator-2.2.0-py3-none-any.whl", hash = "sha256:561977c2d73ce3611850a06fa56b414621e0c8faa9d66f2611407d87465da631", size = 33521, upload-time = "2024-06-20T11:30:28.248Z" }, +] + +[[package]] +name = "embit" +version = "0.8.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/83/88/b054b00ade6d2a41749e15976cdcec4b7ec4656ac1cb917ce3de395528d1/embit-0.8.0.tar.gz", hash = "sha256:8bf4b10073c67400370ce523fb16f035fe759f6fdd987c579bdcc268d75ed770", size = 763120, upload-time = "2024-05-30T10:56:48.944Z" } + +[[package]] +name = "environs" +version = "14.2.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "marshmallow" }, + { name = "python-dotenv" }, + { name = "typing-extensions", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/2e/eb/805549ab44db6a9a8206973e8283b49734b903f85d3fed549db78b0817fc/environs-14.2.0.tar.gz", hash = "sha256:2b6c78a77dfefb57ca30d43a232270ecc82adabf67ab318e018084b9a3529e9b", size = 32317, upload-time = "2025-05-22T19:25:01.614Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5b/75/e309b90c6f95a6e01aa86425ff567d3c634eea33bde915f3ceb910092461/environs-14.2.0-py3-none-any.whl", hash = "sha256:22669a58d53c5b86a25d0231c4a41a6ebeb82d3942b8fbd9cf645890c92a1843", size = 15733, upload-time = "2025-05-22T19:24:59.666Z" }, +] + +[[package]] +name = "exceptiongroup" +version = "1.3.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/0b/9f/a65090624ecf468cdca03533906e7c69ed7588582240cfe7cc9e770b50eb/exceptiongroup-1.3.0.tar.gz", hash = "sha256:b241f5885f560bc56a59ee63ca4c6a8bfa46ae4ad651af316d4e81817bb9fd88", size = 29749, upload-time = "2025-05-10T17:42:51.123Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/36/f4/c6e662dade71f56cd2f3735141b265c3c79293c109549c1e6933b0651ffc/exceptiongroup-1.3.0-py3-none-any.whl", hash = "sha256:4d111e6e0c13d0644cad6ddaa7ed0261a0b36971f6d23e7ec9b4b9097da78a10", size = 16674, upload-time = "2025-05-10T17:42:49.33Z" }, +] + +[[package]] +name = "fastapi" +version = "0.115.13" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pydantic" }, + { name = "starlette" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/20/64/ec0788201b5554e2a87c49af26b77a4d132f807a0fa9675257ac92c6aa0e/fastapi-0.115.13.tar.gz", hash = "sha256:55d1d25c2e1e0a0a50aceb1c8705cd932def273c102bff0b1c1da88b3c6eb307", size = 295680, upload-time = "2025-06-17T11:49:45.575Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/59/4a/e17764385382062b0edbb35a26b7cf76d71e27e456546277a42ba6545c6e/fastapi-0.115.13-py3-none-any.whl", hash = "sha256:0a0cab59afa7bab22f5eb347f8c9864b681558c278395e94035a741fc10cd865", size = 95315, upload-time = "2025-06-17T11:49:44.106Z" }, +] + +[[package]] +name = "fastapi-sso" +version = "0.18.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "fastapi" }, + { name = "httpx" }, + { name = "oauthlib" }, + { name = "pydantic", extra = ["email"] }, + { name = "pyjwt" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/d2/57/cc971c018af5d09eb5f8d1cd12abdd99ab4c59ea5c0b0b1b96349ffe117d/fastapi_sso-0.18.0.tar.gz", hash = "sha256:d8df5a686af7a6a7be248817544b405cf77f7e9ffcd5d0d7d2a196fd071964bc", size = 16811, upload-time = "2025-03-20T17:09:09.958Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6e/03/70ca13994f5569d343a9f99dba2930c8ae3471171f161b8887d44b6c526f/fastapi_sso-0.18.0-py3-none-any.whl", hash = "sha256:727754ad770b70690f1471f7b0a9e17c6dfd8ebd6e477616d3bde1eaf62e53dc", size = 26103, upload-time = "2025-03-20T17:09:08.656Z" }, +] + +[[package]] +name = "filelock" +version = "3.19.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/40/bb/0ab3e58d22305b6f5440629d20683af28959bf793d98d11950e305c1c326/filelock-3.19.1.tar.gz", hash = "sha256:66eda1888b0171c998b35be2bcc0f6d75c388a7ce20c3f3f37aa8e96c2dddf58", size = 17687, upload-time = "2025-08-14T16:56:03.016Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/42/14/42b2651a2f46b022ccd948bca9f2d5af0fd8929c4eec235b8d6d844fbe67/filelock-3.19.1-py3-none-any.whl", hash = "sha256:d38e30481def20772f5baf097c122c3babc4fcdb7e14e57049eb9d88c6dc017d", size = 15988, upload-time = "2025-08-14T16:56:01.633Z" }, +] + +[[package]] +name = "filetype" +version = "1.2.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/bb/29/745f7d30d47fe0f251d3ad3dc2978a23141917661998763bebb6da007eb1/filetype-1.2.0.tar.gz", hash = "sha256:66b56cd6474bf41d8c54660347d37afcc3f7d1970648de365c102ef77548aadb", size = 998020, upload-time = "2022-11-02T17:34:04.141Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/18/79/1b8fa1bb3568781e84c9200f951c735f3f157429f44be0495da55894d620/filetype-1.2.0-py2.py3-none-any.whl", hash = "sha256:7ce71b6880181241cf7ac8697a2f1eb6a8bd9b429f7ad6d27b8db9ba5f1c2d25", size = 19970, upload-time = "2022-11-02T17:34:01.425Z" }, +] + +[[package]] +name = "frozenlist" +version = "1.7.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/79/b1/b64018016eeb087db503b038296fd782586432b9c077fc5c7839e9cb6ef6/frozenlist-1.7.0.tar.gz", hash = "sha256:2e310d81923c2437ea8670467121cc3e9b0f76d3043cc1d2331d56c7fb7a3a8f", size = 45078, upload-time = "2025-06-09T23:02:35.538Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/af/36/0da0a49409f6b47cc2d060dc8c9040b897b5902a8a4e37d9bc1deb11f680/frozenlist-1.7.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:cc4df77d638aa2ed703b878dd093725b72a824c3c546c076e8fdf276f78ee84a", size = 81304, upload-time = "2025-06-09T22:59:46.226Z" }, + { url = "https://files.pythonhosted.org/packages/77/f0/77c11d13d39513b298e267b22eb6cb559c103d56f155aa9a49097221f0b6/frozenlist-1.7.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:716a9973a2cc963160394f701964fe25012600f3d311f60c790400b00e568b61", size = 47735, upload-time = "2025-06-09T22:59:48.133Z" }, + { url = "https://files.pythonhosted.org/packages/37/12/9d07fa18971a44150593de56b2f2947c46604819976784bcf6ea0d5db43b/frozenlist-1.7.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a0fd1bad056a3600047fb9462cff4c5322cebc59ebf5d0a3725e0ee78955001d", size = 46775, upload-time = "2025-06-09T22:59:49.564Z" }, + { url = "https://files.pythonhosted.org/packages/70/34/f73539227e06288fcd1f8a76853e755b2b48bca6747e99e283111c18bcd4/frozenlist-1.7.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3789ebc19cb811163e70fe2bd354cea097254ce6e707ae42e56f45e31e96cb8e", size = 224644, upload-time = "2025-06-09T22:59:51.35Z" }, + { url = "https://files.pythonhosted.org/packages/fb/68/c1d9c2f4a6e438e14613bad0f2973567586610cc22dcb1e1241da71de9d3/frozenlist-1.7.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:af369aa35ee34f132fcfad5be45fbfcde0e3a5f6a1ec0712857f286b7d20cca9", size = 222125, upload-time = "2025-06-09T22:59:52.884Z" }, + { url = "https://files.pythonhosted.org/packages/b9/d0/98e8f9a515228d708344d7c6986752be3e3192d1795f748c24bcf154ad99/frozenlist-1.7.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ac64b6478722eeb7a3313d494f8342ef3478dff539d17002f849101b212ef97c", size = 233455, upload-time = "2025-06-09T22:59:54.74Z" }, + { url = "https://files.pythonhosted.org/packages/79/df/8a11bcec5600557f40338407d3e5bea80376ed1c01a6c0910fcfdc4b8993/frozenlist-1.7.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f89f65d85774f1797239693cef07ad4c97fdd0639544bad9ac4b869782eb1981", size = 227339, upload-time = "2025-06-09T22:59:56.187Z" }, + { url = "https://files.pythonhosted.org/packages/50/82/41cb97d9c9a5ff94438c63cc343eb7980dac4187eb625a51bdfdb7707314/frozenlist-1.7.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1073557c941395fdfcfac13eb2456cb8aad89f9de27bae29fabca8e563b12615", size = 212969, upload-time = "2025-06-09T22:59:57.604Z" }, + { url = "https://files.pythonhosted.org/packages/13/47/f9179ee5ee4f55629e4f28c660b3fdf2775c8bfde8f9c53f2de2d93f52a9/frozenlist-1.7.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1ed8d2fa095aae4bdc7fdd80351009a48d286635edffee66bf865e37a9125c50", size = 222862, upload-time = "2025-06-09T22:59:59.498Z" }, + { url = "https://files.pythonhosted.org/packages/1a/52/df81e41ec6b953902c8b7e3a83bee48b195cb0e5ec2eabae5d8330c78038/frozenlist-1.7.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:24c34bea555fe42d9f928ba0a740c553088500377448febecaa82cc3e88aa1fa", size = 222492, upload-time = "2025-06-09T23:00:01.026Z" }, + { url = "https://files.pythonhosted.org/packages/84/17/30d6ea87fa95a9408245a948604b82c1a4b8b3e153cea596421a2aef2754/frozenlist-1.7.0-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:69cac419ac6a6baad202c85aaf467b65ac860ac2e7f2ac1686dc40dbb52f6577", size = 238250, upload-time = "2025-06-09T23:00:03.401Z" }, + { url = "https://files.pythonhosted.org/packages/8f/00/ecbeb51669e3c3df76cf2ddd66ae3e48345ec213a55e3887d216eb4fbab3/frozenlist-1.7.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:960d67d0611f4c87da7e2ae2eacf7ea81a5be967861e0c63cf205215afbfac59", size = 218720, upload-time = "2025-06-09T23:00:05.282Z" }, + { url = "https://files.pythonhosted.org/packages/1a/c0/c224ce0e0eb31cc57f67742071bb470ba8246623c1823a7530be0e76164c/frozenlist-1.7.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:41be2964bd4b15bf575e5daee5a5ce7ed3115320fb3c2b71fca05582ffa4dc9e", size = 232585, upload-time = "2025-06-09T23:00:07.962Z" }, + { url = "https://files.pythonhosted.org/packages/55/3c/34cb694abf532f31f365106deebdeac9e45c19304d83cf7d51ebbb4ca4d1/frozenlist-1.7.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:46d84d49e00c9429238a7ce02dc0be8f6d7cd0cd405abd1bebdc991bf27c15bd", size = 234248, upload-time = "2025-06-09T23:00:09.428Z" }, + { url = "https://files.pythonhosted.org/packages/98/c0/2052d8b6cecda2e70bd81299e3512fa332abb6dcd2969b9c80dfcdddbf75/frozenlist-1.7.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:15900082e886edb37480335d9d518cec978afc69ccbc30bd18610b7c1b22a718", size = 221621, upload-time = "2025-06-09T23:00:11.32Z" }, + { url = "https://files.pythonhosted.org/packages/c5/bf/7dcebae315436903b1d98ffb791a09d674c88480c158aa171958a3ac07f0/frozenlist-1.7.0-cp310-cp310-win32.whl", hash = "sha256:400ddd24ab4e55014bba442d917203c73b2846391dd42ca5e38ff52bb18c3c5e", size = 39578, upload-time = "2025-06-09T23:00:13.526Z" }, + { url = "https://files.pythonhosted.org/packages/8f/5f/f69818f017fa9a3d24d1ae39763e29b7f60a59e46d5f91b9c6b21622f4cd/frozenlist-1.7.0-cp310-cp310-win_amd64.whl", hash = "sha256:6eb93efb8101ef39d32d50bce242c84bcbddb4f7e9febfa7b524532a239b4464", size = 43830, upload-time = "2025-06-09T23:00:14.98Z" }, + { url = "https://files.pythonhosted.org/packages/34/7e/803dde33760128acd393a27eb002f2020ddb8d99d30a44bfbaab31c5f08a/frozenlist-1.7.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:aa51e147a66b2d74de1e6e2cf5921890de6b0f4820b257465101d7f37b49fb5a", size = 82251, upload-time = "2025-06-09T23:00:16.279Z" }, + { url = "https://files.pythonhosted.org/packages/75/a9/9c2c5760b6ba45eae11334db454c189d43d34a4c0b489feb2175e5e64277/frozenlist-1.7.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:9b35db7ce1cd71d36ba24f80f0c9e7cff73a28d7a74e91fe83e23d27c7828750", size = 48183, upload-time = "2025-06-09T23:00:17.698Z" }, + { url = "https://files.pythonhosted.org/packages/47/be/4038e2d869f8a2da165f35a6befb9158c259819be22eeaf9c9a8f6a87771/frozenlist-1.7.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:34a69a85e34ff37791e94542065c8416c1afbf820b68f720452f636d5fb990cd", size = 47107, upload-time = "2025-06-09T23:00:18.952Z" }, + { url = "https://files.pythonhosted.org/packages/79/26/85314b8a83187c76a37183ceed886381a5f992975786f883472fcb6dc5f2/frozenlist-1.7.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4a646531fa8d82c87fe4bb2e596f23173caec9185bfbca5d583b4ccfb95183e2", size = 237333, upload-time = "2025-06-09T23:00:20.275Z" }, + { url = "https://files.pythonhosted.org/packages/1f/fd/e5b64f7d2c92a41639ffb2ad44a6a82f347787abc0c7df5f49057cf11770/frozenlist-1.7.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:79b2ffbba483f4ed36a0f236ccb85fbb16e670c9238313709638167670ba235f", size = 231724, upload-time = "2025-06-09T23:00:21.705Z" }, + { url = "https://files.pythonhosted.org/packages/20/fb/03395c0a43a5976af4bf7534759d214405fbbb4c114683f434dfdd3128ef/frozenlist-1.7.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a26f205c9ca5829cbf82bb2a84b5c36f7184c4316617d7ef1b271a56720d6b30", size = 245842, upload-time = "2025-06-09T23:00:23.148Z" }, + { url = "https://files.pythonhosted.org/packages/d0/15/c01c8e1dffdac5d9803507d824f27aed2ba76b6ed0026fab4d9866e82f1f/frozenlist-1.7.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bcacfad3185a623fa11ea0e0634aac7b691aa925d50a440f39b458e41c561d98", size = 239767, upload-time = "2025-06-09T23:00:25.103Z" }, + { url = "https://files.pythonhosted.org/packages/14/99/3f4c6fe882c1f5514b6848aa0a69b20cb5e5d8e8f51a339d48c0e9305ed0/frozenlist-1.7.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:72c1b0fe8fe451b34f12dce46445ddf14bd2a5bcad7e324987194dc8e3a74c86", size = 224130, upload-time = "2025-06-09T23:00:27.061Z" }, + { url = "https://files.pythonhosted.org/packages/4d/83/220a374bd7b2aeba9d0725130665afe11de347d95c3620b9b82cc2fcab97/frozenlist-1.7.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:61d1a5baeaac6c0798ff6edfaeaa00e0e412d49946c53fae8d4b8e8b3566c4ae", size = 235301, upload-time = "2025-06-09T23:00:29.02Z" }, + { url = "https://files.pythonhosted.org/packages/03/3c/3e3390d75334a063181625343e8daab61b77e1b8214802cc4e8a1bb678fc/frozenlist-1.7.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:7edf5c043c062462f09b6820de9854bf28cc6cc5b6714b383149745e287181a8", size = 234606, upload-time = "2025-06-09T23:00:30.514Z" }, + { url = "https://files.pythonhosted.org/packages/23/1e/58232c19608b7a549d72d9903005e2d82488f12554a32de2d5fb59b9b1ba/frozenlist-1.7.0-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:d50ac7627b3a1bd2dcef6f9da89a772694ec04d9a61b66cf87f7d9446b4a0c31", size = 248372, upload-time = "2025-06-09T23:00:31.966Z" }, + { url = "https://files.pythonhosted.org/packages/c0/a4/e4a567e01702a88a74ce8a324691e62a629bf47d4f8607f24bf1c7216e7f/frozenlist-1.7.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:ce48b2fece5aeb45265bb7a58259f45027db0abff478e3077e12b05b17fb9da7", size = 229860, upload-time = "2025-06-09T23:00:33.375Z" }, + { url = "https://files.pythonhosted.org/packages/73/a6/63b3374f7d22268b41a9db73d68a8233afa30ed164c46107b33c4d18ecdd/frozenlist-1.7.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:fe2365ae915a1fafd982c146754e1de6ab3478def8a59c86e1f7242d794f97d5", size = 245893, upload-time = "2025-06-09T23:00:35.002Z" }, + { url = "https://files.pythonhosted.org/packages/6d/eb/d18b3f6e64799a79673c4ba0b45e4cfbe49c240edfd03a68be20002eaeaa/frozenlist-1.7.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:45a6f2fdbd10e074e8814eb98b05292f27bad7d1883afbe009d96abdcf3bc898", size = 246323, upload-time = "2025-06-09T23:00:36.468Z" }, + { url = "https://files.pythonhosted.org/packages/5a/f5/720f3812e3d06cd89a1d5db9ff6450088b8f5c449dae8ffb2971a44da506/frozenlist-1.7.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:21884e23cffabb157a9dd7e353779077bf5b8f9a58e9b262c6caad2ef5f80a56", size = 233149, upload-time = "2025-06-09T23:00:37.963Z" }, + { url = "https://files.pythonhosted.org/packages/69/68/03efbf545e217d5db8446acfd4c447c15b7c8cf4dbd4a58403111df9322d/frozenlist-1.7.0-cp311-cp311-win32.whl", hash = "sha256:284d233a8953d7b24f9159b8a3496fc1ddc00f4db99c324bd5fb5f22d8698ea7", size = 39565, upload-time = "2025-06-09T23:00:39.753Z" }, + { url = "https://files.pythonhosted.org/packages/58/17/fe61124c5c333ae87f09bb67186d65038834a47d974fc10a5fadb4cc5ae1/frozenlist-1.7.0-cp311-cp311-win_amd64.whl", hash = "sha256:387cbfdcde2f2353f19c2f66bbb52406d06ed77519ac7ee21be0232147c2592d", size = 44019, upload-time = "2025-06-09T23:00:40.988Z" }, + { url = "https://files.pythonhosted.org/packages/ef/a2/c8131383f1e66adad5f6ecfcce383d584ca94055a34d683bbb24ac5f2f1c/frozenlist-1.7.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:3dbf9952c4bb0e90e98aec1bd992b3318685005702656bc6f67c1a32b76787f2", size = 81424, upload-time = "2025-06-09T23:00:42.24Z" }, + { url = "https://files.pythonhosted.org/packages/4c/9d/02754159955088cb52567337d1113f945b9e444c4960771ea90eb73de8db/frozenlist-1.7.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:1f5906d3359300b8a9bb194239491122e6cf1444c2efb88865426f170c262cdb", size = 47952, upload-time = "2025-06-09T23:00:43.481Z" }, + { url = "https://files.pythonhosted.org/packages/01/7a/0046ef1bd6699b40acd2067ed6d6670b4db2f425c56980fa21c982c2a9db/frozenlist-1.7.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:3dabd5a8f84573c8d10d8859a50ea2dec01eea372031929871368c09fa103478", size = 46688, upload-time = "2025-06-09T23:00:44.793Z" }, + { url = "https://files.pythonhosted.org/packages/d6/a2/a910bafe29c86997363fb4c02069df4ff0b5bc39d33c5198b4e9dd42d8f8/frozenlist-1.7.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aa57daa5917f1738064f302bf2626281a1cb01920c32f711fbc7bc36111058a8", size = 243084, upload-time = "2025-06-09T23:00:46.125Z" }, + { url = "https://files.pythonhosted.org/packages/64/3e/5036af9d5031374c64c387469bfcc3af537fc0f5b1187d83a1cf6fab1639/frozenlist-1.7.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:c193dda2b6d49f4c4398962810fa7d7c78f032bf45572b3e04dd5249dff27e08", size = 233524, upload-time = "2025-06-09T23:00:47.73Z" }, + { url = "https://files.pythonhosted.org/packages/06/39/6a17b7c107a2887e781a48ecf20ad20f1c39d94b2a548c83615b5b879f28/frozenlist-1.7.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bfe2b675cf0aaa6d61bf8fbffd3c274b3c9b7b1623beb3809df8a81399a4a9c4", size = 248493, upload-time = "2025-06-09T23:00:49.742Z" }, + { url = "https://files.pythonhosted.org/packages/be/00/711d1337c7327d88c44d91dd0f556a1c47fb99afc060ae0ef66b4d24793d/frozenlist-1.7.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8fc5d5cda37f62b262405cf9652cf0856839c4be8ee41be0afe8858f17f4c94b", size = 244116, upload-time = "2025-06-09T23:00:51.352Z" }, + { url = "https://files.pythonhosted.org/packages/24/fe/74e6ec0639c115df13d5850e75722750adabdc7de24e37e05a40527ca539/frozenlist-1.7.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b0d5ce521d1dd7d620198829b87ea002956e4319002ef0bc8d3e6d045cb4646e", size = 224557, upload-time = "2025-06-09T23:00:52.855Z" }, + { url = "https://files.pythonhosted.org/packages/8d/db/48421f62a6f77c553575201e89048e97198046b793f4a089c79a6e3268bd/frozenlist-1.7.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:488d0a7d6a0008ca0db273c542098a0fa9e7dfaa7e57f70acef43f32b3f69dca", size = 241820, upload-time = "2025-06-09T23:00:54.43Z" }, + { url = "https://files.pythonhosted.org/packages/1d/fa/cb4a76bea23047c8462976ea7b7a2bf53997a0ca171302deae9d6dd12096/frozenlist-1.7.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:15a7eaba63983d22c54d255b854e8108e7e5f3e89f647fc854bd77a237e767df", size = 236542, upload-time = "2025-06-09T23:00:56.409Z" }, + { url = "https://files.pythonhosted.org/packages/5d/32/476a4b5cfaa0ec94d3f808f193301debff2ea42288a099afe60757ef6282/frozenlist-1.7.0-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:1eaa7e9c6d15df825bf255649e05bd8a74b04a4d2baa1ae46d9c2d00b2ca2cb5", size = 249350, upload-time = "2025-06-09T23:00:58.468Z" }, + { url = "https://files.pythonhosted.org/packages/8d/ba/9a28042f84a6bf8ea5dbc81cfff8eaef18d78b2a1ad9d51c7bc5b029ad16/frozenlist-1.7.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:e4389e06714cfa9d47ab87f784a7c5be91d3934cd6e9a7b85beef808297cc025", size = 225093, upload-time = "2025-06-09T23:01:00.015Z" }, + { url = "https://files.pythonhosted.org/packages/bc/29/3a32959e68f9cf000b04e79ba574527c17e8842e38c91d68214a37455786/frozenlist-1.7.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:73bd45e1488c40b63fe5a7df892baf9e2a4d4bb6409a2b3b78ac1c6236178e01", size = 245482, upload-time = "2025-06-09T23:01:01.474Z" }, + { url = "https://files.pythonhosted.org/packages/80/e8/edf2f9e00da553f07f5fa165325cfc302dead715cab6ac8336a5f3d0adc2/frozenlist-1.7.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:99886d98e1643269760e5fe0df31e5ae7050788dd288947f7f007209b8c33f08", size = 249590, upload-time = "2025-06-09T23:01:02.961Z" }, + { url = "https://files.pythonhosted.org/packages/1c/80/9a0eb48b944050f94cc51ee1c413eb14a39543cc4f760ed12657a5a3c45a/frozenlist-1.7.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:290a172aae5a4c278c6da8a96222e6337744cd9c77313efe33d5670b9f65fc43", size = 237785, upload-time = "2025-06-09T23:01:05.095Z" }, + { url = "https://files.pythonhosted.org/packages/f3/74/87601e0fb0369b7a2baf404ea921769c53b7ae00dee7dcfe5162c8c6dbf0/frozenlist-1.7.0-cp312-cp312-win32.whl", hash = "sha256:426c7bc70e07cfebc178bc4c2bf2d861d720c4fff172181eeb4a4c41d4ca2ad3", size = 39487, upload-time = "2025-06-09T23:01:06.54Z" }, + { url = "https://files.pythonhosted.org/packages/0b/15/c026e9a9fc17585a9d461f65d8593d281fedf55fbf7eb53f16c6df2392f9/frozenlist-1.7.0-cp312-cp312-win_amd64.whl", hash = "sha256:563b72efe5da92e02eb68c59cb37205457c977aa7a449ed1b37e6939e5c47c6a", size = 43874, upload-time = "2025-06-09T23:01:07.752Z" }, + { url = "https://files.pythonhosted.org/packages/ee/45/b82e3c16be2182bff01179db177fe144d58b5dc787a7d4492c6ed8b9317f/frozenlist-1.7.0-py3-none-any.whl", hash = "sha256:9a5af342e34f7e97caf8c995864c7a396418ae2859cc6fdf1b1073020d516a7e", size = 13106, upload-time = "2025-06-09T23:02:34.204Z" }, +] + +[[package]] +name = "greenlet" +version = "3.2.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/03/b8/704d753a5a45507a7aab61f18db9509302ed3d0a27ac7e0359ec2905b1a6/greenlet-3.2.4.tar.gz", hash = "sha256:0dca0d95ff849f9a364385f36ab49f50065d76964944638be9691e1832e9f86d", size = 188260, upload-time = "2025-08-07T13:24:33.51Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7d/ed/6bfa4109fcb23a58819600392564fea69cdc6551ffd5e69ccf1d52a40cbc/greenlet-3.2.4-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:8c68325b0d0acf8d91dde4e6f930967dd52a5302cd4062932a6b2e7c2969f47c", size = 271061, upload-time = "2025-08-07T13:17:15.373Z" }, + { url = "https://files.pythonhosted.org/packages/2a/fc/102ec1a2fc015b3a7652abab7acf3541d58c04d3d17a8d3d6a44adae1eb1/greenlet-3.2.4-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:94385f101946790ae13da500603491f04a76b6e4c059dab271b3ce2e283b2590", size = 629475, upload-time = "2025-08-07T13:42:54.009Z" }, + { url = "https://files.pythonhosted.org/packages/c5/26/80383131d55a4ac0fb08d71660fd77e7660b9db6bdb4e8884f46d9f2cc04/greenlet-3.2.4-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:f10fd42b5ee276335863712fa3da6608e93f70629c631bf77145021600abc23c", size = 640802, upload-time = "2025-08-07T13:45:25.52Z" }, + { url = "https://files.pythonhosted.org/packages/9f/7c/e7833dbcd8f376f3326bd728c845d31dcde4c84268d3921afcae77d90d08/greenlet-3.2.4-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:c8c9e331e58180d0d83c5b7999255721b725913ff6bc6cf39fa2a45841a4fd4b", size = 636703, upload-time = "2025-08-07T13:53:12.622Z" }, + { url = "https://files.pythonhosted.org/packages/e9/49/547b93b7c0428ede7b3f309bc965986874759f7d89e4e04aeddbc9699acb/greenlet-3.2.4-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:58b97143c9cc7b86fc458f215bd0932f1757ce649e05b640fea2e79b54cedb31", size = 635417, upload-time = "2025-08-07T13:18:25.189Z" }, + { url = "https://files.pythonhosted.org/packages/7f/91/ae2eb6b7979e2f9b035a9f612cf70f1bf54aad4e1d125129bef1eae96f19/greenlet-3.2.4-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c2ca18a03a8cfb5b25bc1cbe20f3d9a4c80d8c3b13ba3df49ac3961af0b1018d", size = 584358, upload-time = "2025-08-07T13:18:23.708Z" }, + { url = "https://files.pythonhosted.org/packages/f7/85/433de0c9c0252b22b16d413c9407e6cb3b41df7389afc366ca204dbc1393/greenlet-3.2.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:9fe0a28a7b952a21e2c062cd5756d34354117796c6d9215a87f55e38d15402c5", size = 1113550, upload-time = "2025-08-07T13:42:37.467Z" }, + { url = "https://files.pythonhosted.org/packages/a1/8d/88f3ebd2bc96bf7747093696f4335a0a8a4c5acfcf1b757717c0d2474ba3/greenlet-3.2.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:8854167e06950ca75b898b104b63cc646573aa5fef1353d4508ecdd1ee76254f", size = 1137126, upload-time = "2025-08-07T13:18:20.239Z" }, + { url = "https://files.pythonhosted.org/packages/d6/6f/b60b0291d9623c496638c582297ead61f43c4b72eef5e9c926ef4565ec13/greenlet-3.2.4-cp310-cp310-win_amd64.whl", hash = "sha256:73f49b5368b5359d04e18d15828eecc1806033db5233397748f4ca813ff1056c", size = 298654, upload-time = "2025-08-07T13:50:00.469Z" }, + { url = "https://files.pythonhosted.org/packages/a4/de/f28ced0a67749cac23fecb02b694f6473f47686dff6afaa211d186e2ef9c/greenlet-3.2.4-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:96378df1de302bc38e99c3a9aa311967b7dc80ced1dcc6f171e99842987882a2", size = 272305, upload-time = "2025-08-07T13:15:41.288Z" }, + { url = "https://files.pythonhosted.org/packages/09/16/2c3792cba130000bf2a31c5272999113f4764fd9d874fb257ff588ac779a/greenlet-3.2.4-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:1ee8fae0519a337f2329cb78bd7a8e128ec0f881073d43f023c7b8d4831d5246", size = 632472, upload-time = "2025-08-07T13:42:55.044Z" }, + { url = "https://files.pythonhosted.org/packages/ae/8f/95d48d7e3d433e6dae5b1682e4292242a53f22df82e6d3dda81b1701a960/greenlet-3.2.4-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:94abf90142c2a18151632371140b3dba4dee031633fe614cb592dbb6c9e17bc3", size = 644646, upload-time = "2025-08-07T13:45:26.523Z" }, + { url = "https://files.pythonhosted.org/packages/d5/5e/405965351aef8c76b8ef7ad370e5da58d57ef6068df197548b015464001a/greenlet-3.2.4-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:4d1378601b85e2e5171b99be8d2dc85f594c79967599328f95c1dc1a40f1c633", size = 640519, upload-time = "2025-08-07T13:53:13.928Z" }, + { url = "https://files.pythonhosted.org/packages/25/5d/382753b52006ce0218297ec1b628e048c4e64b155379331f25a7316eb749/greenlet-3.2.4-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:0db5594dce18db94f7d1650d7489909b57afde4c580806b8d9203b6e79cdc079", size = 639707, upload-time = "2025-08-07T13:18:27.146Z" }, + { url = "https://files.pythonhosted.org/packages/1f/8e/abdd3f14d735b2929290a018ecf133c901be4874b858dd1c604b9319f064/greenlet-3.2.4-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2523e5246274f54fdadbce8494458a2ebdcdbc7b802318466ac5606d3cded1f8", size = 587684, upload-time = "2025-08-07T13:18:25.164Z" }, + { url = "https://files.pythonhosted.org/packages/5d/65/deb2a69c3e5996439b0176f6651e0052542bb6c8f8ec2e3fba97c9768805/greenlet-3.2.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:1987de92fec508535687fb807a5cea1560f6196285a4cde35c100b8cd632cc52", size = 1116647, upload-time = "2025-08-07T13:42:38.655Z" }, + { url = "https://files.pythonhosted.org/packages/3f/cc/b07000438a29ac5cfb2194bfc128151d52f333cee74dd7dfe3fb733fc16c/greenlet-3.2.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:55e9c5affaa6775e2c6b67659f3a71684de4c549b3dd9afca3bc773533d284fa", size = 1142073, upload-time = "2025-08-07T13:18:21.737Z" }, + { url = "https://files.pythonhosted.org/packages/d8/0f/30aef242fcab550b0b3520b8e3561156857c94288f0332a79928c31a52cf/greenlet-3.2.4-cp311-cp311-win_amd64.whl", hash = "sha256:9c40adce87eaa9ddb593ccb0fa6a07caf34015a29bf8d344811665b573138db9", size = 299100, upload-time = "2025-08-07T13:44:12.287Z" }, + { url = "https://files.pythonhosted.org/packages/44/69/9b804adb5fd0671f367781560eb5eb586c4d495277c93bde4307b9e28068/greenlet-3.2.4-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:3b67ca49f54cede0186854a008109d6ee71f66bd57bb36abd6d0a0267b540cdd", size = 274079, upload-time = "2025-08-07T13:15:45.033Z" }, + { url = "https://files.pythonhosted.org/packages/46/e9/d2a80c99f19a153eff70bc451ab78615583b8dac0754cfb942223d2c1a0d/greenlet-3.2.4-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:ddf9164e7a5b08e9d22511526865780a576f19ddd00d62f8a665949327fde8bb", size = 640997, upload-time = "2025-08-07T13:42:56.234Z" }, + { url = "https://files.pythonhosted.org/packages/3b/16/035dcfcc48715ccd345f3a93183267167cdd162ad123cd93067d86f27ce4/greenlet-3.2.4-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:f28588772bb5fb869a8eb331374ec06f24a83a9c25bfa1f38b6993afe9c1e968", size = 655185, upload-time = "2025-08-07T13:45:27.624Z" }, + { url = "https://files.pythonhosted.org/packages/31/da/0386695eef69ffae1ad726881571dfe28b41970173947e7c558d9998de0f/greenlet-3.2.4-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:5c9320971821a7cb77cfab8d956fa8e39cd07ca44b6070db358ceb7f8797c8c9", size = 649926, upload-time = "2025-08-07T13:53:15.251Z" }, + { url = "https://files.pythonhosted.org/packages/68/88/69bf19fd4dc19981928ceacbc5fd4bb6bc2215d53199e367832e98d1d8fe/greenlet-3.2.4-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:c60a6d84229b271d44b70fb6e5fa23781abb5d742af7b808ae3f6efd7c9c60f6", size = 651839, upload-time = "2025-08-07T13:18:30.281Z" }, + { url = "https://files.pythonhosted.org/packages/19/0d/6660d55f7373b2ff8152401a83e02084956da23ae58cddbfb0b330978fe9/greenlet-3.2.4-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:3b3812d8d0c9579967815af437d96623f45c0f2ae5f04e366de62a12d83a8fb0", size = 607586, upload-time = "2025-08-07T13:18:28.544Z" }, + { url = "https://files.pythonhosted.org/packages/8e/1a/c953fdedd22d81ee4629afbb38d2f9d71e37d23caace44775a3a969147d4/greenlet-3.2.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:abbf57b5a870d30c4675928c37278493044d7c14378350b3aa5d484fa65575f0", size = 1123281, upload-time = "2025-08-07T13:42:39.858Z" }, + { url = "https://files.pythonhosted.org/packages/3f/c7/12381b18e21aef2c6bd3a636da1088b888b97b7a0362fac2e4de92405f97/greenlet-3.2.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:20fb936b4652b6e307b8f347665e2c615540d4b42b3b4c8a321d8286da7e520f", size = 1151142, upload-time = "2025-08-07T13:18:22.981Z" }, + { url = "https://files.pythonhosted.org/packages/e9/08/b0814846b79399e585f974bbeebf5580fbe59e258ea7be64d9dfb253c84f/greenlet-3.2.4-cp312-cp312-win_amd64.whl", hash = "sha256:a7d4e128405eea3814a12cc2605e0e6aedb4035bf32697f72deca74de4105e02", size = 299899, upload-time = "2025-08-07T13:38:53.448Z" }, +] + +[[package]] +name = "grpcio" +version = "1.69.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e4/87/06a145284cbe86c91ca517fe6b57be5efbb733c0d6374b407f0992054d18/grpcio-1.69.0.tar.gz", hash = "sha256:936fa44241b5379c5afc344e1260d467bee495747eaf478de825bab2791da6f5", size = 12738244, upload-time = "2025-01-05T05:53:20.27Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b0/6e/2f8ee5fb65aef962d0bd7e46b815e7b52820687e29c138eaee207a688abc/grpcio-1.69.0-cp310-cp310-linux_armv7l.whl", hash = "sha256:2060ca95a8db295ae828d0fc1c7f38fb26ccd5edf9aa51a0f44251f5da332e97", size = 5190753, upload-time = "2025-01-05T05:45:05.892Z" }, + { url = "https://files.pythonhosted.org/packages/89/07/028dcda44d40f9488f0a0de79c5ffc80e2c1bc5ed89da9483932e3ea67cf/grpcio-1.69.0-cp310-cp310-macosx_12_0_universal2.whl", hash = "sha256:2e52e107261fd8fa8fa457fe44bfadb904ae869d87c1280bf60f93ecd3e79278", size = 11096752, upload-time = "2025-01-05T05:45:11.517Z" }, + { url = "https://files.pythonhosted.org/packages/99/a0/c727041b1410605ba38b585b6b52c1a289d7fcd70a41bccbc2c58fc643b2/grpcio-1.69.0-cp310-cp310-manylinux_2_17_aarch64.whl", hash = "sha256:316463c0832d5fcdb5e35ff2826d9aa3f26758d29cdfb59a368c1d6c39615a11", size = 5705442, upload-time = "2025-01-05T05:45:18.828Z" }, + { url = "https://files.pythonhosted.org/packages/7a/2f/1c53f5d127ff882443b19c757d087da1908f41c58c4b098e8eaf6b2bb70a/grpcio-1.69.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:26c9a9c4ac917efab4704b18eed9082ed3b6ad19595f047e8173b5182fec0d5e", size = 6333796, upload-time = "2025-01-05T05:45:23.431Z" }, + { url = "https://files.pythonhosted.org/packages/cc/f6/2017da2a1b64e896af710253e5bfbb4188605cdc18bce3930dae5cdbf502/grpcio-1.69.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:90b3646ced2eae3a0599658eeccc5ba7f303bf51b82514c50715bdd2b109e5ec", size = 5954245, upload-time = "2025-01-05T05:45:27.374Z" }, + { url = "https://files.pythonhosted.org/packages/c1/65/1395bec928e99ba600464fb01b541e7e4cdd462e6db25259d755ef9f8d02/grpcio-1.69.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:3b75aea7c6cb91b341c85e7c1d9db1e09e1dd630b0717f836be94971e015031e", size = 6664854, upload-time = "2025-01-05T05:45:32.031Z" }, + { url = "https://files.pythonhosted.org/packages/40/57/8b3389cfeb92056c8b44288c9c4ed1d331bcad0215c4eea9ae4629e156d9/grpcio-1.69.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:5cfd14175f9db33d4b74d63de87c64bb0ee29ce475ce3c00c01ad2a3dc2a9e51", size = 6226854, upload-time = "2025-01-05T05:45:36.915Z" }, + { url = "https://files.pythonhosted.org/packages/cc/61/1f2bbeb7c15544dffc98b3f65c093e746019995e6f1e21dc3655eec3dc23/grpcio-1.69.0-cp310-cp310-win32.whl", hash = "sha256:9031069d36cb949205293cf0e243abd5e64d6c93e01b078c37921493a41b72dc", size = 3662734, upload-time = "2025-01-05T05:45:40.798Z" }, + { url = "https://files.pythonhosted.org/packages/ef/ba/bf1a6d9f5c17d2da849793d72039776c56c98c889c9527f6721b6ee57e6e/grpcio-1.69.0-cp310-cp310-win_amd64.whl", hash = "sha256:cc89b6c29f3dccbe12d7a3b3f1b3999db4882ae076c1c1f6df231d55dbd767a5", size = 4410306, upload-time = "2025-01-05T05:45:45.299Z" }, + { url = "https://files.pythonhosted.org/packages/8d/cd/ca256aeef64047881586331347cd5a68a4574ba1a236e293cd8eba34e355/grpcio-1.69.0-cp311-cp311-linux_armv7l.whl", hash = "sha256:8de1b192c29b8ce45ee26a700044717bcbbd21c697fa1124d440548964328561", size = 5198734, upload-time = "2025-01-05T05:45:49.29Z" }, + { url = "https://files.pythonhosted.org/packages/37/3f/10c1e5e0150bf59aa08ea6aebf38f87622f95f7f33f98954b43d1b2a3200/grpcio-1.69.0-cp311-cp311-macosx_10_14_universal2.whl", hash = "sha256:7e76accf38808f5c5c752b0ab3fd919eb14ff8fafb8db520ad1cc12afff74de6", size = 11135285, upload-time = "2025-01-05T05:45:53.724Z" }, + { url = "https://files.pythonhosted.org/packages/08/61/61cd116a572203a740684fcba3fef37a3524f1cf032b6568e1e639e59db0/grpcio-1.69.0-cp311-cp311-manylinux_2_17_aarch64.whl", hash = "sha256:d5658c3c2660417d82db51e168b277e0ff036d0b0f859fa7576c0ffd2aec1442", size = 5699468, upload-time = "2025-01-05T05:45:58.69Z" }, + { url = "https://files.pythonhosted.org/packages/01/f1/a841662e8e2465ba171c973b77d18fa7438ced535519b3c53617b7e6e25c/grpcio-1.69.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5494d0e52bf77a2f7eb17c6da662886ca0a731e56c1c85b93505bece8dc6cf4c", size = 6332337, upload-time = "2025-01-05T05:46:05.323Z" }, + { url = "https://files.pythonhosted.org/packages/62/b1/c30e932e02c2e0bfdb8df46fe3b0c47f518fb04158ebdc0eb96cc97d642f/grpcio-1.69.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4ed866f9edb574fd9be71bf64c954ce1b88fc93b2a4cbf94af221e9426eb14d6", size = 5949844, upload-time = "2025-01-05T05:46:09.727Z" }, + { url = "https://files.pythonhosted.org/packages/5e/cb/55327d43b6286100ffae7d1791be6178d13c917382f3e9f43f82e8b393cf/grpcio-1.69.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c5ba38aeac7a2fe353615c6b4213d1fbb3a3c34f86b4aaa8be08baaaee8cc56d", size = 6661828, upload-time = "2025-01-05T05:46:14.937Z" }, + { url = "https://files.pythonhosted.org/packages/6f/e4/120d72ae982d51cb9cabcd9672f8a1c6d62011b493a4d049d2abdf564db0/grpcio-1.69.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:f79e05f5bbf551c4057c227d1b041ace0e78462ac8128e2ad39ec58a382536d2", size = 6226026, upload-time = "2025-01-05T05:46:17.465Z" }, + { url = "https://files.pythonhosted.org/packages/96/e8/2cc15f11db506d7b1778f0587fa7bdd781602b05b3c4d75b7ca13de33d62/grpcio-1.69.0-cp311-cp311-win32.whl", hash = "sha256:bf1f8be0da3fcdb2c1e9f374f3c2d043d606d69f425cd685110dd6d0d2d61258", size = 3662653, upload-time = "2025-01-05T05:46:19.797Z" }, + { url = "https://files.pythonhosted.org/packages/42/78/3c5216829a48237fcb71a077f891328a435e980d9757a9ebc49114d88768/grpcio-1.69.0-cp311-cp311-win_amd64.whl", hash = "sha256:fb9302afc3a0e4ba0b225cd651ef8e478bf0070cf11a529175caecd5ea2474e7", size = 4412824, upload-time = "2025-01-05T05:46:22.421Z" }, + { url = "https://files.pythonhosted.org/packages/61/1d/8f28f147d7f3f5d6b6082f14e1e0f40d58e50bc2bd30d2377c730c57a286/grpcio-1.69.0-cp312-cp312-linux_armv7l.whl", hash = "sha256:fc18a4de8c33491ad6f70022af5c460b39611e39578a4d84de0fe92f12d5d47b", size = 5161414, upload-time = "2025-01-05T05:46:27.03Z" }, + { url = "https://files.pythonhosted.org/packages/35/4b/9ab8ea65e515e1844feced1ef9e7a5d8359c48d986c93f3d2a2006fbdb63/grpcio-1.69.0-cp312-cp312-macosx_10_14_universal2.whl", hash = "sha256:0f0270bd9ffbff6961fe1da487bdcd594407ad390cc7960e738725d4807b18c4", size = 11108909, upload-time = "2025-01-05T05:46:31.986Z" }, + { url = "https://files.pythonhosted.org/packages/99/68/1856fde2b3c3162bdfb9845978608deef3606e6907fdc2c87443fce6ecd0/grpcio-1.69.0-cp312-cp312-manylinux_2_17_aarch64.whl", hash = "sha256:dc48f99cc05e0698e689b51a05933253c69a8c8559a47f605cff83801b03af0e", size = 5658302, upload-time = "2025-01-05T05:46:37.05Z" }, + { url = "https://files.pythonhosted.org/packages/3e/21/3fa78d38dc5080d0d677103fad3a8cd55091635cc2069a7c06c7a54e6c4d/grpcio-1.69.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1e925954b18d41aeb5ae250262116d0970893b38232689c4240024e4333ac084", size = 6306201, upload-time = "2025-01-05T05:46:41.138Z" }, + { url = "https://files.pythonhosted.org/packages/f3/cb/5c47b82fd1baf43dba973ae399095d51aaf0085ab0439838b4cbb1e87e3c/grpcio-1.69.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:87d222569273720366f68a99cb62e6194681eb763ee1d3b1005840678d4884f9", size = 5919649, upload-time = "2025-01-05T05:46:45.366Z" }, + { url = "https://files.pythonhosted.org/packages/c6/67/59d1a56a0f9508a29ea03e1ce800bdfacc1f32b4f6b15274b2e057bf8758/grpcio-1.69.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:b62b0f41e6e01a3e5082000b612064c87c93a49b05f7602fe1b7aa9fd5171a1d", size = 6648974, upload-time = "2025-01-05T05:46:48.208Z" }, + { url = "https://files.pythonhosted.org/packages/f8/fe/ca70c14d98c6400095f19a0f4df8273d09c2106189751b564b26019f1dbe/grpcio-1.69.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:db6f9fd2578dbe37db4b2994c94a1d9c93552ed77dca80e1657bb8a05b898b55", size = 6215144, upload-time = "2025-01-05T05:46:50.891Z" }, + { url = "https://files.pythonhosted.org/packages/b3/94/b2b0a9fd487fc8262e20e6dd0ec90d9fa462c82a43b4855285620f6e9d01/grpcio-1.69.0-cp312-cp312-win32.whl", hash = "sha256:b192b81076073ed46f4b4dd612b8897d9a1e39d4eabd822e5da7b38497ed77e1", size = 3644552, upload-time = "2025-01-05T05:46:55.811Z" }, + { url = "https://files.pythonhosted.org/packages/93/99/81aec9f85412e3255a591ae2ccb799238e074be774e5f741abae08a23418/grpcio-1.69.0-cp312-cp312-win_amd64.whl", hash = "sha256:1227ff7836f7b3a4ab04e5754f1d001fa52a730685d3dc894ed8bc262cc96c01", size = 4399532, upload-time = "2025-01-05T05:46:58.348Z" }, +] + +[[package]] +name = "h11" +version = "0.16.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/01/ee/02a2c011bdab74c6fb3c75474d40b3052059d95df7e73351460c8588d963/h11-0.16.0.tar.gz", hash = "sha256:4e35b956cf45792e4caa5885e69fba00bdbc6ffafbfa020300e549b208ee5ff1", size = 101250, upload-time = "2025-04-24T03:35:25.427Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/04/4b/29cac41a4d98d144bf5f6d33995617b185d14b22401f75ca86f384e87ff1/h11-0.16.0-py3-none-any.whl", hash = "sha256:63cf8bbe7522de3bf65932fda1d9c2772064ffb3dae62d55932da54b31cb6c86", size = 37515, upload-time = "2025-04-24T03:35:24.344Z" }, +] + +[[package]] +name = "http-ece" +version = "1.2.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cryptography" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/7c/af/249d1576653b69c20b9ac30e284b63bd94af6a175d72d87813235caf2482/http_ece-1.2.1.tar.gz", hash = "sha256:8c6ab23116bbf6affda894acfd5f2ca0fb8facbcbb72121c11c75c33e7ce8cff", size = 8830, upload-time = "2024-08-08T00:10:47.301Z" } + +[[package]] +name = "httpcore" +version = "1.0.9" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "certifi" }, + { name = "h11" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/06/94/82699a10bca87a5556c9c59b5963f2d039dbd239f25bc2a63907a05a14cb/httpcore-1.0.9.tar.gz", hash = "sha256:6e34463af53fd2ab5d807f399a9b45ea31c3dfa2276f15a2c3f00afff6e176e8", size = 85484, upload-time = "2025-04-24T22:06:22.219Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7e/f5/f66802a942d491edb555dd61e3a9961140fd64c90bce1eafd741609d334d/httpcore-1.0.9-py3-none-any.whl", hash = "sha256:2d400746a40668fc9dec9810239072b40b4484b640a8c38fd654a024c7a1bf55", size = 78784, upload-time = "2025-04-24T22:06:20.566Z" }, +] + +[[package]] +name = "httpx" +version = "0.27.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "anyio" }, + { name = "certifi" }, + { name = "httpcore" }, + { name = "idna" }, + { name = "sniffio" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/5c/2d/3da5bdf4408b8b2800061c339f240c1802f2e82d55e50bd39c5a881f47f0/httpx-0.27.0.tar.gz", hash = "sha256:a0cb88a46f32dc874e04ee956e4c2764aba2aa228f650b06788ba6bda2962ab5", size = 126413, upload-time = "2024-02-21T13:07:52.434Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/41/7b/ddacf6dcebb42466abd03f368782142baa82e08fc0c1f8eaa05b4bae87d5/httpx-0.27.0-py3-none-any.whl", hash = "sha256:71d5465162c13681bff01ad59b2cc68dd838ea1f10e51574bac27103f00c91a5", size = 75590, upload-time = "2024-02-21T13:07:50.455Z" }, +] + +[[package]] +name = "identify" +version = "2.6.13" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/82/ca/ffbabe3635bb839aa36b3a893c91a9b0d368cb4d8073e03a12896970af82/identify-2.6.13.tar.gz", hash = "sha256:da8d6c828e773620e13bfa86ea601c5a5310ba4bcd65edf378198b56a1f9fb32", size = 99243, upload-time = "2025-08-09T19:35:00.6Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e7/ce/461b60a3ee109518c055953729bf9ed089a04db895d47e95444071dcdef2/identify-2.6.13-py2.py3-none-any.whl", hash = "sha256:60381139b3ae39447482ecc406944190f690d4a2997f2584062089848361b33b", size = 99153, upload-time = "2025-08-09T19:34:59.1Z" }, +] + +[[package]] +name = "idna" +version = "3.10" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9", size = 190490, upload-time = "2024-09-15T18:07:39.745Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3", size = 70442, upload-time = "2024-09-15T18:07:37.964Z" }, +] + +[[package]] +name = "iniconfig" +version = "2.1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f2/97/ebf4da567aa6827c909642694d71c9fcf53e5b504f2d96afea02718862f3/iniconfig-2.1.0.tar.gz", hash = "sha256:3abbd2e30b36733fee78f9c7f7308f2d0050e88f0087fd25c2645f63c773e1c7", size = 4793, upload-time = "2025-03-19T20:09:59.721Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2c/e1/e6716421ea10d38022b952c159d5161ca1193197fb744506875fbb87ea7b/iniconfig-2.1.0-py3-none-any.whl", hash = "sha256:9deba5723312380e77435581c6bf4935c94cbfab9b1ed33ef8d238ea168eb760", size = 6050, upload-time = "2025-03-19T20:10:01.071Z" }, +] + +[[package]] +name = "itsdangerous" +version = "2.2.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/9c/cb/8ac0172223afbccb63986cc25049b154ecfb5e85932587206f42317be31d/itsdangerous-2.2.0.tar.gz", hash = "sha256:e0050c0b7da1eea53ffaf149c0cfbb5c6e2e2b69c4bef22c81fa6eb73e5f6173", size = 54410, upload-time = "2024-04-16T21:28:15.614Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/04/96/92447566d16df59b2a776c0fb82dbc4d9e07cd95062562af01e408583fc4/itsdangerous-2.2.0-py3-none-any.whl", hash = "sha256:c6242fc49e35958c8b15141343aa660db5fc54d4f13a1db01a3f5891b98700ef", size = 16234, upload-time = "2024-04-16T21:28:14.499Z" }, +] + +[[package]] +name = "jinja2" +version = "3.1.6" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "markupsafe" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/df/bf/f7da0350254c0ed7c72f3e33cef02e048281fec7ecec5f032d4aac52226b/jinja2-3.1.6.tar.gz", hash = "sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d", size = 245115, upload-time = "2025-03-05T20:05:02.478Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl", hash = "sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67", size = 134899, upload-time = "2025-03-05T20:05:00.369Z" }, +] + +[[package]] +name = "jsonpath-ng" +version = "1.7.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "ply" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/6d/86/08646239a313f895186ff0a4573452038eed8c86f54380b3ebac34d32fb2/jsonpath-ng-1.7.0.tar.gz", hash = "sha256:f6f5f7fd4e5ff79c785f1573b394043b39849fb2bb47bcead935d12b00beab3c", size = 37838, upload-time = "2024-10-11T15:41:42.404Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/35/5a/73ecb3d82f8615f32ccdadeb9356726d6cae3a4bbc840b437ceb95708063/jsonpath_ng-1.7.0-py3-none-any.whl", hash = "sha256:f3d7f9e848cba1b6da28c55b1c26ff915dc9e0b1ba7e752a53d6da8d5cbd00b6", size = 30105, upload-time = "2024-11-20T17:58:30.418Z" }, +] + +[[package]] +name = "limits" +version = "5.5.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "deprecated" }, + { name = "packaging" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/76/17/7a2e9378c8b8bd4efe3573fd18d2793ad2a37051af5ccce94550a4e5d62d/limits-5.5.0.tar.gz", hash = "sha256:ee269fedb078a904608b264424d9ef4ab10555acc8d090b6fc1db70e913327ea", size = 95514, upload-time = "2025-08-05T18:23:54.771Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/bf/68/ee314018c28da75ece5a639898b4745bd0687c0487fc465811f0c4b9cd44/limits-5.5.0-py3-none-any.whl", hash = "sha256:57217d01ffa5114f7e233d1f5e5bdc6fe60c9b24ade387bf4d5e83c5cf929bae", size = 60948, upload-time = "2025-08-05T18:23:53.335Z" }, +] + +[[package]] +name = "lnbits" +version = "1.2.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "aiosqlite" }, + { name = "asyncpg" }, + { name = "bech32" }, + { name = "bolt11" }, + { name = "click" }, + { name = "ecdsa" }, + { name = "embit" }, + { name = "environs" }, + { name = "fastapi" }, + { name = "fastapi-sso" }, + { name = "filetype" }, + { name = "grpcio" }, + { name = "httpx" }, + { name = "itsdangerous" }, + { name = "jinja2" }, + { name = "jsonpath-ng" }, + { name = "lnurl" }, + { name = "loguru" }, + { name = "nostr-sdk" }, + { name = "packaging" }, + { name = "passlib" }, + { name = "protobuf" }, + { name = "pycryptodomex" }, + { name = "pydantic" }, + { name = "pyjwt" }, + { name = "pyln-client" }, + { name = "pynostr" }, + { name = "pyqrcode" }, + { name = "python-crontab" }, + { name = "python-multipart" }, + { name = "pywebpush" }, + { name = "secp256k1" }, + { name = "shortuuid" }, + { name = "slowapi" }, + { name = "sqlalchemy" }, + { name = "sse-starlette" }, + { name = "typing-extensions" }, + { name = "uvicorn" }, + { name = "uvloop" }, + { name = "websocket-client" }, + { name = "websockets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/d2/20/29ab04b4da57b41ae71c1f9a6de36d7a68d2db312887e8acb868b71b6649/lnbits-1.2.1.tar.gz", hash = "sha256:7770e90c7072657fb759f4615962a2dd05d064851f58343695a7dd922a6bc20b", size = 3060543, upload-time = "2025-07-11T10:41:22.902Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e0/be/24966f6bb3a9c62cfda0a22521d458c5b0fe85e17f39e40389bafedae3ca/lnbits-1.2.1-py3-none-any.whl", hash = "sha256:64d5b8dc0fe5b72f811e13ada1677b09f55f1070d3da901dc26102f47a07563b", size = 3213306, upload-time = "2025-07-11T10:41:20.773Z" }, +] + +[[package]] +name = "lnbits-example" +version = "0.0.0" +source = { virtual = "." } +dependencies = [ + { name = "lnbits" }, +] + +[package.dev-dependencies] +dev = [ + { name = "black" }, + { name = "mypy" }, + { name = "pre-commit" }, + { name = "pytest" }, + { name = "pytest-asyncio" }, + { name = "ruff" }, +] + +[package.metadata] +requires-dist = [{ name = "lnbits", specifier = ">1" }] + +[package.metadata.requires-dev] +dev = [ + { name = "black" }, + { name = "mypy" }, + { name = "pre-commit" }, + { name = "pytest" }, + { name = "pytest-asyncio" }, + { name = "ruff" }, +] + +[[package]] +name = "lnurl" +version = "0.5.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "bech32" }, + { name = "bolt11" }, + { name = "ecdsa" }, + { name = "httpx" }, + { name = "pydantic" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/eb/86/7cf41c5a441abd6c513c80edc3405f33032188fa3490c8f614f64c69493d/lnurl-0.5.3.tar.gz", hash = "sha256:60154bcfdbb98fb143eeca970a16d73a582f28e057a826b5f222259411c497fe", size = 13863, upload-time = "2024-09-03T09:38:48.799Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/64/36/7eaa8190bafa7810970644861299c0f759600a2c42eb7adc663fc304d4a1/lnurl-0.5.3-py3-none-any.whl", hash = "sha256:feaf6c60b0b7f104894ef3accbd30d23d52e038c2797c58432baea7f4a8aa952", size = 13672, upload-time = "2024-09-03T09:38:47.661Z" }, +] + +[[package]] +name = "loguru" +version = "0.7.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, + { name = "win32-setctime", marker = "sys_platform == 'win32'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/3a/05/a1dae3dffd1116099471c643b8924f5aa6524411dc6c63fdae648c4f1aca/loguru-0.7.3.tar.gz", hash = "sha256:19480589e77d47b8d85b2c827ad95d49bf31b0dcde16593892eb51dd18706eb6", size = 63559, upload-time = "2024-12-06T11:20:56.608Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0c/29/0348de65b8cc732daa3e33e67806420b2ae89bdce2b04af740289c5c6c8c/loguru-0.7.3-py3-none-any.whl", hash = "sha256:31a33c10c8e1e10422bfd431aeb5d351c7cf7fa671e3c4df004162264b28220c", size = 61595, upload-time = "2024-12-06T11:20:54.538Z" }, +] + +[[package]] +name = "markdown-it-py" +version = "4.0.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "mdurl" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/5b/f5/4ec618ed16cc4f8fb3b701563655a69816155e79e24a17b651541804721d/markdown_it_py-4.0.0.tar.gz", hash = "sha256:cb0a2b4aa34f932c007117b194e945bd74e0ec24133ceb5bac59009cda1cb9f3", size = 73070, upload-time = "2025-08-11T12:57:52.854Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/94/54/e7d793b573f298e1c9013b8c4dade17d481164aa517d1d7148619c2cedbf/markdown_it_py-4.0.0-py3-none-any.whl", hash = "sha256:87327c59b172c5011896038353a81343b6754500a08cd7a4973bb48c6d578147", size = 87321, upload-time = "2025-08-11T12:57:51.923Z" }, +] + +[[package]] +name = "markupsafe" +version = "3.0.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b2/97/5d42485e71dfc078108a86d6de8fa46db44a1a9295e89c5d6d4a06e23a62/markupsafe-3.0.2.tar.gz", hash = "sha256:ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0", size = 20537, upload-time = "2024-10-18T15:21:54.129Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/04/90/d08277ce111dd22f77149fd1a5d4653eeb3b3eaacbdfcbae5afb2600eebd/MarkupSafe-3.0.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7e94c425039cde14257288fd61dcfb01963e658efbc0ff54f5306b06054700f8", size = 14357, upload-time = "2024-10-18T15:20:51.44Z" }, + { url = "https://files.pythonhosted.org/packages/04/e1/6e2194baeae0bca1fae6629dc0cbbb968d4d941469cbab11a3872edff374/MarkupSafe-3.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9e2d922824181480953426608b81967de705c3cef4d1af983af849d7bd619158", size = 12393, upload-time = "2024-10-18T15:20:52.426Z" }, + { url = "https://files.pythonhosted.org/packages/1d/69/35fa85a8ece0a437493dc61ce0bb6d459dcba482c34197e3efc829aa357f/MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:38a9ef736c01fccdd6600705b09dc574584b89bea478200c5fbf112a6b0d5579", size = 21732, upload-time = "2024-10-18T15:20:53.578Z" }, + { url = "https://files.pythonhosted.org/packages/22/35/137da042dfb4720b638d2937c38a9c2df83fe32d20e8c8f3185dbfef05f7/MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bbcb445fa71794da8f178f0f6d66789a28d7319071af7a496d4d507ed566270d", size = 20866, upload-time = "2024-10-18T15:20:55.06Z" }, + { url = "https://files.pythonhosted.org/packages/29/28/6d029a903727a1b62edb51863232152fd335d602def598dade38996887f0/MarkupSafe-3.0.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:57cb5a3cf367aeb1d316576250f65edec5bb3be939e9247ae594b4bcbc317dfb", size = 20964, upload-time = "2024-10-18T15:20:55.906Z" }, + { url = "https://files.pythonhosted.org/packages/cc/cd/07438f95f83e8bc028279909d9c9bd39e24149b0d60053a97b2bc4f8aa51/MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:3809ede931876f5b2ec92eef964286840ed3540dadf803dd570c3b7e13141a3b", size = 21977, upload-time = "2024-10-18T15:20:57.189Z" }, + { url = "https://files.pythonhosted.org/packages/29/01/84b57395b4cc062f9c4c55ce0df7d3108ca32397299d9df00fedd9117d3d/MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e07c3764494e3776c602c1e78e298937c3315ccc9043ead7e685b7f2b8d47b3c", size = 21366, upload-time = "2024-10-18T15:20:58.235Z" }, + { url = "https://files.pythonhosted.org/packages/bd/6e/61ebf08d8940553afff20d1fb1ba7294b6f8d279df9fd0c0db911b4bbcfd/MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b424c77b206d63d500bcb69fa55ed8d0e6a3774056bdc4839fc9298a7edca171", size = 21091, upload-time = "2024-10-18T15:20:59.235Z" }, + { url = "https://files.pythonhosted.org/packages/11/23/ffbf53694e8c94ebd1e7e491de185124277964344733c45481f32ede2499/MarkupSafe-3.0.2-cp310-cp310-win32.whl", hash = "sha256:fcabf5ff6eea076f859677f5f0b6b5c1a51e70a376b0579e0eadef8db48c6b50", size = 15065, upload-time = "2024-10-18T15:21:00.307Z" }, + { url = "https://files.pythonhosted.org/packages/44/06/e7175d06dd6e9172d4a69a72592cb3f7a996a9c396eee29082826449bbc3/MarkupSafe-3.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:6af100e168aa82a50e186c82875a5893c5597a0c1ccdb0d8b40240b1f28b969a", size = 15514, upload-time = "2024-10-18T15:21:01.122Z" }, + { url = "https://files.pythonhosted.org/packages/6b/28/bbf83e3f76936960b850435576dd5e67034e200469571be53f69174a2dfd/MarkupSafe-3.0.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9025b4018f3a1314059769c7bf15441064b2207cb3f065e6ea1e7359cb46db9d", size = 14353, upload-time = "2024-10-18T15:21:02.187Z" }, + { url = "https://files.pythonhosted.org/packages/6c/30/316d194b093cde57d448a4c3209f22e3046c5bb2fb0820b118292b334be7/MarkupSafe-3.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:93335ca3812df2f366e80509ae119189886b0f3c2b81325d39efdb84a1e2ae93", size = 12392, upload-time = "2024-10-18T15:21:02.941Z" }, + { url = "https://files.pythonhosted.org/packages/f2/96/9cdafba8445d3a53cae530aaf83c38ec64c4d5427d975c974084af5bc5d2/MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2cb8438c3cbb25e220c2ab33bb226559e7afb3baec11c4f218ffa7308603c832", size = 23984, upload-time = "2024-10-18T15:21:03.953Z" }, + { url = "https://files.pythonhosted.org/packages/f1/a4/aefb044a2cd8d7334c8a47d3fb2c9f328ac48cb349468cc31c20b539305f/MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a123e330ef0853c6e822384873bef7507557d8e4a082961e1defa947aa59ba84", size = 23120, upload-time = "2024-10-18T15:21:06.495Z" }, + { url = "https://files.pythonhosted.org/packages/8d/21/5e4851379f88f3fad1de30361db501300d4f07bcad047d3cb0449fc51f8c/MarkupSafe-3.0.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1e084f686b92e5b83186b07e8a17fc09e38fff551f3602b249881fec658d3eca", size = 23032, upload-time = "2024-10-18T15:21:07.295Z" }, + { url = "https://files.pythonhosted.org/packages/00/7b/e92c64e079b2d0d7ddf69899c98842f3f9a60a1ae72657c89ce2655c999d/MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d8213e09c917a951de9d09ecee036d5c7d36cb6cb7dbaece4c71a60d79fb9798", size = 24057, upload-time = "2024-10-18T15:21:08.073Z" }, + { url = "https://files.pythonhosted.org/packages/f9/ac/46f960ca323037caa0a10662ef97d0a4728e890334fc156b9f9e52bcc4ca/MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:5b02fb34468b6aaa40dfc198d813a641e3a63b98c2b05a16b9f80b7ec314185e", size = 23359, upload-time = "2024-10-18T15:21:09.318Z" }, + { url = "https://files.pythonhosted.org/packages/69/84/83439e16197337b8b14b6a5b9c2105fff81d42c2a7c5b58ac7b62ee2c3b1/MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:0bff5e0ae4ef2e1ae4fdf2dfd5b76c75e5c2fa4132d05fc1b0dabcd20c7e28c4", size = 23306, upload-time = "2024-10-18T15:21:10.185Z" }, + { url = "https://files.pythonhosted.org/packages/9a/34/a15aa69f01e2181ed8d2b685c0d2f6655d5cca2c4db0ddea775e631918cd/MarkupSafe-3.0.2-cp311-cp311-win32.whl", hash = "sha256:6c89876f41da747c8d3677a2b540fb32ef5715f97b66eeb0c6b66f5e3ef6f59d", size = 15094, upload-time = "2024-10-18T15:21:11.005Z" }, + { url = "https://files.pythonhosted.org/packages/da/b8/3a3bd761922d416f3dc5d00bfbed11f66b1ab89a0c2b6e887240a30b0f6b/MarkupSafe-3.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:70a87b411535ccad5ef2f1df5136506a10775d267e197e4cf531ced10537bd6b", size = 15521, upload-time = "2024-10-18T15:21:12.911Z" }, + { url = "https://files.pythonhosted.org/packages/22/09/d1f21434c97fc42f09d290cbb6350d44eb12f09cc62c9476effdb33a18aa/MarkupSafe-3.0.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:9778bd8ab0a994ebf6f84c2b949e65736d5575320a17ae8984a77fab08db94cf", size = 14274, upload-time = "2024-10-18T15:21:13.777Z" }, + { url = "https://files.pythonhosted.org/packages/6b/b0/18f76bba336fa5aecf79d45dcd6c806c280ec44538b3c13671d49099fdd0/MarkupSafe-3.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:846ade7b71e3536c4e56b386c2a47adf5741d2d8b94ec9dc3e92e5e1ee1e2225", size = 12348, upload-time = "2024-10-18T15:21:14.822Z" }, + { url = "https://files.pythonhosted.org/packages/e0/25/dd5c0f6ac1311e9b40f4af06c78efde0f3b5cbf02502f8ef9501294c425b/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1c99d261bd2d5f6b59325c92c73df481e05e57f19837bdca8413b9eac4bd8028", size = 24149, upload-time = "2024-10-18T15:21:15.642Z" }, + { url = "https://files.pythonhosted.org/packages/f3/f0/89e7aadfb3749d0f52234a0c8c7867877876e0a20b60e2188e9850794c17/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e17c96c14e19278594aa4841ec148115f9c7615a47382ecb6b82bd8fea3ab0c8", size = 23118, upload-time = "2024-10-18T15:21:17.133Z" }, + { url = "https://files.pythonhosted.org/packages/d5/da/f2eeb64c723f5e3777bc081da884b414671982008c47dcc1873d81f625b6/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:88416bd1e65dcea10bc7569faacb2c20ce071dd1f87539ca2ab364bf6231393c", size = 22993, upload-time = "2024-10-18T15:21:18.064Z" }, + { url = "https://files.pythonhosted.org/packages/da/0e/1f32af846df486dce7c227fe0f2398dc7e2e51d4a370508281f3c1c5cddc/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2181e67807fc2fa785d0592dc2d6206c019b9502410671cc905d132a92866557", size = 24178, upload-time = "2024-10-18T15:21:18.859Z" }, + { url = "https://files.pythonhosted.org/packages/c4/f6/bb3ca0532de8086cbff5f06d137064c8410d10779c4c127e0e47d17c0b71/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:52305740fe773d09cffb16f8ed0427942901f00adedac82ec8b67752f58a1b22", size = 23319, upload-time = "2024-10-18T15:21:19.671Z" }, + { url = "https://files.pythonhosted.org/packages/a2/82/8be4c96ffee03c5b4a034e60a31294daf481e12c7c43ab8e34a1453ee48b/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ad10d3ded218f1039f11a75f8091880239651b52e9bb592ca27de44eed242a48", size = 23352, upload-time = "2024-10-18T15:21:20.971Z" }, + { url = "https://files.pythonhosted.org/packages/51/ae/97827349d3fcffee7e184bdf7f41cd6b88d9919c80f0263ba7acd1bbcb18/MarkupSafe-3.0.2-cp312-cp312-win32.whl", hash = "sha256:0f4ca02bea9a23221c0182836703cbf8930c5e9454bacce27e767509fa286a30", size = 15097, upload-time = "2024-10-18T15:21:22.646Z" }, + { url = "https://files.pythonhosted.org/packages/c1/80/a61f99dc3a936413c3ee4e1eecac96c0da5ed07ad56fd975f1a9da5bc630/MarkupSafe-3.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:8e06879fc22a25ca47312fbe7c8264eb0b662f6db27cb2d3bbbc74b1df4b9b87", size = 15601, upload-time = "2024-10-18T15:21:23.499Z" }, +] + +[[package]] +name = "marshmallow" +version = "4.0.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "backports-datetime-fromisoformat", marker = "python_full_version < '3.11'" }, + { name = "typing-extensions", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/1e/ff/26df5a9f5ac57ccf693a5854916ab47243039d2aa9e0fe5f5a0331e7b74b/marshmallow-4.0.0.tar.gz", hash = "sha256:3b6e80aac299a7935cfb97ed01d1854fb90b5079430969af92118ea1b12a8d55", size = 220507, upload-time = "2025-04-17T02:25:54.925Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d6/26/6cc45d156f44dbe1d5696d9e54042e4dcaf7b946c0b86df6a97d29706f32/marshmallow-4.0.0-py3-none-any.whl", hash = "sha256:e7b0528337e9990fd64950f8a6b3a1baabed09ad17a0dfb844d701151f92d203", size = 48420, upload-time = "2025-04-17T02:25:53.375Z" }, +] + +[[package]] +name = "mdurl" +version = "0.1.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba", size = 8729, upload-time = "2022-08-14T12:40:10.846Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b3/38/89ba8ad64ae25be8de66a6d463314cf1eb366222074cfda9ee839c56a4b4/mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8", size = 9979, upload-time = "2022-08-14T12:40:09.779Z" }, +] + +[[package]] +name = "multidict" +version = "6.6.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/69/7f/0652e6ed47ab288e3756ea9c0df8b14950781184d4bd7883f4d87dd41245/multidict-6.6.4.tar.gz", hash = "sha256:d2d4e4787672911b48350df02ed3fa3fffdc2f2e8ca06dd6afdf34189b76a9dd", size = 101843, upload-time = "2025-08-11T12:08:48.217Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/eb/6b/86f353088c1358e76fd30b0146947fddecee812703b604ee901e85cd2a80/multidict-6.6.4-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:b8aa6f0bd8125ddd04a6593437bad6a7e70f300ff4180a531654aa2ab3f6d58f", size = 77054, upload-time = "2025-08-11T12:06:02.99Z" }, + { url = "https://files.pythonhosted.org/packages/19/5d/c01dc3d3788bb877bd7f5753ea6eb23c1beeca8044902a8f5bfb54430f63/multidict-6.6.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b9e5853bbd7264baca42ffc53391b490d65fe62849bf2c690fa3f6273dbcd0cb", size = 44914, upload-time = "2025-08-11T12:06:05.264Z" }, + { url = "https://files.pythonhosted.org/packages/46/44/964dae19ea42f7d3e166474d8205f14bb811020e28bc423d46123ddda763/multidict-6.6.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0af5f9dee472371e36d6ae38bde009bd8ce65ac7335f55dcc240379d7bed1495", size = 44601, upload-time = "2025-08-11T12:06:06.627Z" }, + { url = "https://files.pythonhosted.org/packages/31/20/0616348a1dfb36cb2ab33fc9521de1f27235a397bf3f59338e583afadd17/multidict-6.6.4-cp310-cp310-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:d24f351e4d759f5054b641c81e8291e5d122af0fca5c72454ff77f7cbe492de8", size = 224821, upload-time = "2025-08-11T12:06:08.06Z" }, + { url = "https://files.pythonhosted.org/packages/14/26/5d8923c69c110ff51861af05bd27ca6783011b96725d59ccae6d9daeb627/multidict-6.6.4-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:db6a3810eec08280a172a6cd541ff4a5f6a97b161d93ec94e6c4018917deb6b7", size = 242608, upload-time = "2025-08-11T12:06:09.697Z" }, + { url = "https://files.pythonhosted.org/packages/5c/cc/e2ad3ba9459aa34fa65cf1f82a5c4a820a2ce615aacfb5143b8817f76504/multidict-6.6.4-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:a1b20a9d56b2d81e2ff52ecc0670d583eaabaa55f402e8d16dd062373dbbe796", size = 222324, upload-time = "2025-08-11T12:06:10.905Z" }, + { url = "https://files.pythonhosted.org/packages/19/db/4ed0f65701afbc2cb0c140d2d02928bb0fe38dd044af76e58ad7c54fd21f/multidict-6.6.4-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:8c9854df0eaa610a23494c32a6f44a3a550fb398b6b51a56e8c6b9b3689578db", size = 253234, upload-time = "2025-08-11T12:06:12.658Z" }, + { url = "https://files.pythonhosted.org/packages/94/c1/5160c9813269e39ae14b73debb907bfaaa1beee1762da8c4fb95df4764ed/multidict-6.6.4-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:4bb7627fd7a968f41905a4d6343b0d63244a0623f006e9ed989fa2b78f4438a0", size = 251613, upload-time = "2025-08-11T12:06:13.97Z" }, + { url = "https://files.pythonhosted.org/packages/05/a9/48d1bd111fc2f8fb98b2ed7f9a115c55a9355358432a19f53c0b74d8425d/multidict-6.6.4-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:caebafea30ed049c57c673d0b36238b1748683be2593965614d7b0e99125c877", size = 241649, upload-time = "2025-08-11T12:06:15.204Z" }, + { url = "https://files.pythonhosted.org/packages/85/2a/f7d743df0019408768af8a70d2037546a2be7b81fbb65f040d76caafd4c5/multidict-6.6.4-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:ad887a8250eb47d3ab083d2f98db7f48098d13d42eb7a3b67d8a5c795f224ace", size = 239238, upload-time = "2025-08-11T12:06:16.467Z" }, + { url = "https://files.pythonhosted.org/packages/cb/b8/4f4bb13323c2d647323f7919201493cf48ebe7ded971717bfb0f1a79b6bf/multidict-6.6.4-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:ed8358ae7d94ffb7c397cecb62cbac9578a83ecefc1eba27b9090ee910e2efb6", size = 233517, upload-time = "2025-08-11T12:06:18.107Z" }, + { url = "https://files.pythonhosted.org/packages/33/29/4293c26029ebfbba4f574febd2ed01b6f619cfa0d2e344217d53eef34192/multidict-6.6.4-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:ecab51ad2462197a4c000b6d5701fc8585b80eecb90583635d7e327b7b6923eb", size = 243122, upload-time = "2025-08-11T12:06:19.361Z" }, + { url = "https://files.pythonhosted.org/packages/20/60/a1c53628168aa22447bfde3a8730096ac28086704a0d8c590f3b63388d0c/multidict-6.6.4-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:c5c97aa666cf70e667dfa5af945424ba1329af5dd988a437efeb3a09430389fb", size = 248992, upload-time = "2025-08-11T12:06:20.661Z" }, + { url = "https://files.pythonhosted.org/packages/a3/3b/55443a0c372f33cae5d9ec37a6a973802884fa0ab3586659b197cf8cc5e9/multidict-6.6.4-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:9a950b7cf54099c1209f455ac5970b1ea81410f2af60ed9eb3c3f14f0bfcf987", size = 243708, upload-time = "2025-08-11T12:06:21.891Z" }, + { url = "https://files.pythonhosted.org/packages/7c/60/a18c6900086769312560b2626b18e8cca22d9e85b1186ba77f4755b11266/multidict-6.6.4-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:163c7ea522ea9365a8a57832dea7618e6cbdc3cd75f8c627663587459a4e328f", size = 237498, upload-time = "2025-08-11T12:06:23.206Z" }, + { url = "https://files.pythonhosted.org/packages/11/3d/8bdd8bcaff2951ce2affccca107a404925a2beafedd5aef0b5e4a71120a6/multidict-6.6.4-cp310-cp310-win32.whl", hash = "sha256:17d2cbbfa6ff20821396b25890f155f40c986f9cfbce5667759696d83504954f", size = 41415, upload-time = "2025-08-11T12:06:24.77Z" }, + { url = "https://files.pythonhosted.org/packages/c0/53/cab1ad80356a4cd1b685a254b680167059b433b573e53872fab245e9fc95/multidict-6.6.4-cp310-cp310-win_amd64.whl", hash = "sha256:ce9a40fbe52e57e7edf20113a4eaddfacac0561a0879734e636aa6d4bb5e3fb0", size = 46046, upload-time = "2025-08-11T12:06:25.893Z" }, + { url = "https://files.pythonhosted.org/packages/cf/9a/874212b6f5c1c2d870d0a7adc5bb4cfe9b0624fa15cdf5cf757c0f5087ae/multidict-6.6.4-cp310-cp310-win_arm64.whl", hash = "sha256:01d0959807a451fe9fdd4da3e139cb5b77f7328baf2140feeaf233e1d777b729", size = 43147, upload-time = "2025-08-11T12:06:27.534Z" }, + { url = "https://files.pythonhosted.org/packages/6b/7f/90a7f01e2d005d6653c689039977f6856718c75c5579445effb7e60923d1/multidict-6.6.4-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:c7a0e9b561e6460484318a7612e725df1145d46b0ef57c6b9866441bf6e27e0c", size = 76472, upload-time = "2025-08-11T12:06:29.006Z" }, + { url = "https://files.pythonhosted.org/packages/54/a3/bed07bc9e2bb302ce752f1dabc69e884cd6a676da44fb0e501b246031fdd/multidict-6.6.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6bf2f10f70acc7a2446965ffbc726e5fc0b272c97a90b485857e5c70022213eb", size = 44634, upload-time = "2025-08-11T12:06:30.374Z" }, + { url = "https://files.pythonhosted.org/packages/a7/4b/ceeb4f8f33cf81277da464307afeaf164fb0297947642585884f5cad4f28/multidict-6.6.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:66247d72ed62d5dd29752ffc1d3b88f135c6a8de8b5f63b7c14e973ef5bda19e", size = 44282, upload-time = "2025-08-11T12:06:31.958Z" }, + { url = "https://files.pythonhosted.org/packages/03/35/436a5da8702b06866189b69f655ffdb8f70796252a8772a77815f1812679/multidict-6.6.4-cp311-cp311-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:105245cc6b76f51e408451a844a54e6823bbd5a490ebfe5bdfc79798511ceded", size = 229696, upload-time = "2025-08-11T12:06:33.087Z" }, + { url = "https://files.pythonhosted.org/packages/b6/0e/915160be8fecf1fca35f790c08fb74ca684d752fcba62c11daaf3d92c216/multidict-6.6.4-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:cbbc54e58b34c3bae389ef00046be0961f30fef7cb0dd9c7756aee376a4f7683", size = 246665, upload-time = "2025-08-11T12:06:34.448Z" }, + { url = "https://files.pythonhosted.org/packages/08/ee/2f464330acd83f77dcc346f0b1a0eaae10230291450887f96b204b8ac4d3/multidict-6.6.4-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:56c6b3652f945c9bc3ac6c8178cd93132b8d82dd581fcbc3a00676c51302bc1a", size = 225485, upload-time = "2025-08-11T12:06:35.672Z" }, + { url = "https://files.pythonhosted.org/packages/71/cc/9a117f828b4d7fbaec6adeed2204f211e9caf0a012692a1ee32169f846ae/multidict-6.6.4-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:b95494daf857602eccf4c18ca33337dd2be705bccdb6dddbfc9d513e6addb9d9", size = 257318, upload-time = "2025-08-11T12:06:36.98Z" }, + { url = "https://files.pythonhosted.org/packages/25/77/62752d3dbd70e27fdd68e86626c1ae6bccfebe2bb1f84ae226363e112f5a/multidict-6.6.4-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:e5b1413361cef15340ab9dc61523e653d25723e82d488ef7d60a12878227ed50", size = 254689, upload-time = "2025-08-11T12:06:38.233Z" }, + { url = "https://files.pythonhosted.org/packages/00/6e/fac58b1072a6fc59af5e7acb245e8754d3e1f97f4f808a6559951f72a0d4/multidict-6.6.4-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e167bf899c3d724f9662ef00b4f7fef87a19c22b2fead198a6f68b263618df52", size = 246709, upload-time = "2025-08-11T12:06:39.517Z" }, + { url = "https://files.pythonhosted.org/packages/01/ef/4698d6842ef5e797c6db7744b0081e36fb5de3d00002cc4c58071097fac3/multidict-6.6.4-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:aaea28ba20a9026dfa77f4b80369e51cb767c61e33a2d4043399c67bd95fb7c6", size = 243185, upload-time = "2025-08-11T12:06:40.796Z" }, + { url = "https://files.pythonhosted.org/packages/aa/c9/d82e95ae1d6e4ef396934e9b0e942dfc428775f9554acf04393cce66b157/multidict-6.6.4-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:8c91cdb30809a96d9ecf442ec9bc45e8cfaa0f7f8bdf534e082c2443a196727e", size = 237838, upload-time = "2025-08-11T12:06:42.595Z" }, + { url = "https://files.pythonhosted.org/packages/57/cf/f94af5c36baaa75d44fab9f02e2a6bcfa0cd90acb44d4976a80960759dbc/multidict-6.6.4-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:1a0ccbfe93ca114c5d65a2471d52d8829e56d467c97b0e341cf5ee45410033b3", size = 246368, upload-time = "2025-08-11T12:06:44.304Z" }, + { url = "https://files.pythonhosted.org/packages/4a/fe/29f23460c3d995f6a4b678cb2e9730e7277231b981f0b234702f0177818a/multidict-6.6.4-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:55624b3f321d84c403cb7d8e6e982f41ae233d85f85db54ba6286f7295dc8a9c", size = 253339, upload-time = "2025-08-11T12:06:45.597Z" }, + { url = "https://files.pythonhosted.org/packages/29/b6/fd59449204426187b82bf8a75f629310f68c6adc9559dc922d5abe34797b/multidict-6.6.4-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:4a1fb393a2c9d202cb766c76208bd7945bc194eba8ac920ce98c6e458f0b524b", size = 246933, upload-time = "2025-08-11T12:06:46.841Z" }, + { url = "https://files.pythonhosted.org/packages/19/52/d5d6b344f176a5ac3606f7a61fb44dc746e04550e1a13834dff722b8d7d6/multidict-6.6.4-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:43868297a5759a845fa3a483fb4392973a95fb1de891605a3728130c52b8f40f", size = 242225, upload-time = "2025-08-11T12:06:48.588Z" }, + { url = "https://files.pythonhosted.org/packages/ec/d3/5b2281ed89ff4d5318d82478a2a2450fcdfc3300da48ff15c1778280ad26/multidict-6.6.4-cp311-cp311-win32.whl", hash = "sha256:ed3b94c5e362a8a84d69642dbeac615452e8af9b8eb825b7bc9f31a53a1051e2", size = 41306, upload-time = "2025-08-11T12:06:49.95Z" }, + { url = "https://files.pythonhosted.org/packages/74/7d/36b045c23a1ab98507aefd44fd8b264ee1dd5e5010543c6fccf82141ccef/multidict-6.6.4-cp311-cp311-win_amd64.whl", hash = "sha256:d8c112f7a90d8ca5d20213aa41eac690bb50a76da153e3afb3886418e61cb22e", size = 46029, upload-time = "2025-08-11T12:06:51.082Z" }, + { url = "https://files.pythonhosted.org/packages/0f/5e/553d67d24432c5cd52b49047f2d248821843743ee6d29a704594f656d182/multidict-6.6.4-cp311-cp311-win_arm64.whl", hash = "sha256:3bb0eae408fa1996d87247ca0d6a57b7fc1dcf83e8a5c47ab82c558c250d4adf", size = 43017, upload-time = "2025-08-11T12:06:52.243Z" }, + { url = "https://files.pythonhosted.org/packages/05/f6/512ffd8fd8b37fb2680e5ac35d788f1d71bbaf37789d21a820bdc441e565/multidict-6.6.4-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:0ffb87be160942d56d7b87b0fdf098e81ed565add09eaa1294268c7f3caac4c8", size = 76516, upload-time = "2025-08-11T12:06:53.393Z" }, + { url = "https://files.pythonhosted.org/packages/99/58/45c3e75deb8855c36bd66cc1658007589662ba584dbf423d01df478dd1c5/multidict-6.6.4-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:d191de6cbab2aff5de6c5723101705fd044b3e4c7cfd587a1929b5028b9714b3", size = 45394, upload-time = "2025-08-11T12:06:54.555Z" }, + { url = "https://files.pythonhosted.org/packages/fd/ca/e8c4472a93a26e4507c0b8e1f0762c0d8a32de1328ef72fd704ef9cc5447/multidict-6.6.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:38a0956dd92d918ad5feff3db8fcb4a5eb7dba114da917e1a88475619781b57b", size = 43591, upload-time = "2025-08-11T12:06:55.672Z" }, + { url = "https://files.pythonhosted.org/packages/05/51/edf414f4df058574a7265034d04c935aa84a89e79ce90fcf4df211f47b16/multidict-6.6.4-cp312-cp312-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:6865f6d3b7900ae020b495d599fcf3765653bc927951c1abb959017f81ae8287", size = 237215, upload-time = "2025-08-11T12:06:57.213Z" }, + { url = "https://files.pythonhosted.org/packages/c8/45/8b3d6dbad8cf3252553cc41abea09ad527b33ce47a5e199072620b296902/multidict-6.6.4-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0a2088c126b6f72db6c9212ad827d0ba088c01d951cee25e758c450da732c138", size = 258299, upload-time = "2025-08-11T12:06:58.946Z" }, + { url = "https://files.pythonhosted.org/packages/3c/e8/8ca2e9a9f5a435fc6db40438a55730a4bf4956b554e487fa1b9ae920f825/multidict-6.6.4-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:0f37bed7319b848097085d7d48116f545985db988e2256b2e6f00563a3416ee6", size = 242357, upload-time = "2025-08-11T12:07:00.301Z" }, + { url = "https://files.pythonhosted.org/packages/0f/84/80c77c99df05a75c28490b2af8f7cba2a12621186e0a8b0865d8e745c104/multidict-6.6.4-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:01368e3c94032ba6ca0b78e7ccb099643466cf24f8dc8eefcfdc0571d56e58f9", size = 268369, upload-time = "2025-08-11T12:07:01.638Z" }, + { url = "https://files.pythonhosted.org/packages/0d/e9/920bfa46c27b05fb3e1ad85121fd49f441492dca2449c5bcfe42e4565d8a/multidict-6.6.4-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:8fe323540c255db0bffee79ad7f048c909f2ab0edb87a597e1c17da6a54e493c", size = 269341, upload-time = "2025-08-11T12:07:02.943Z" }, + { url = "https://files.pythonhosted.org/packages/af/65/753a2d8b05daf496f4a9c367fe844e90a1b2cac78e2be2c844200d10cc4c/multidict-6.6.4-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b8eb3025f17b0a4c3cd08cda49acf312a19ad6e8a4edd9dbd591e6506d999402", size = 256100, upload-time = "2025-08-11T12:07:04.564Z" }, + { url = "https://files.pythonhosted.org/packages/09/54/655be13ae324212bf0bc15d665a4e34844f34c206f78801be42f7a0a8aaa/multidict-6.6.4-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:bbc14f0365534d35a06970d6a83478b249752e922d662dc24d489af1aa0d1be7", size = 253584, upload-time = "2025-08-11T12:07:05.914Z" }, + { url = "https://files.pythonhosted.org/packages/5c/74/ab2039ecc05264b5cec73eb018ce417af3ebb384ae9c0e9ed42cb33f8151/multidict-6.6.4-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:75aa52fba2d96bf972e85451b99d8e19cc37ce26fd016f6d4aa60da9ab2b005f", size = 251018, upload-time = "2025-08-11T12:07:08.301Z" }, + { url = "https://files.pythonhosted.org/packages/af/0a/ccbb244ac848e56c6427f2392741c06302bbfba49c0042f1eb3c5b606497/multidict-6.6.4-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:4fefd4a815e362d4f011919d97d7b4a1e566f1dde83dc4ad8cfb5b41de1df68d", size = 251477, upload-time = "2025-08-11T12:07:10.248Z" }, + { url = "https://files.pythonhosted.org/packages/0e/b0/0ed49bba775b135937f52fe13922bc64a7eaf0a3ead84a36e8e4e446e096/multidict-6.6.4-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:db9801fe021f59a5b375ab778973127ca0ac52429a26e2fd86aa9508f4d26eb7", size = 263575, upload-time = "2025-08-11T12:07:11.928Z" }, + { url = "https://files.pythonhosted.org/packages/3e/d9/7fb85a85e14de2e44dfb6a24f03c41e2af8697a6df83daddb0e9b7569f73/multidict-6.6.4-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:a650629970fa21ac1fb06ba25dabfc5b8a2054fcbf6ae97c758aa956b8dba802", size = 259649, upload-time = "2025-08-11T12:07:13.244Z" }, + { url = "https://files.pythonhosted.org/packages/03/9e/b3a459bcf9b6e74fa461a5222a10ff9b544cb1cd52fd482fb1b75ecda2a2/multidict-6.6.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:452ff5da78d4720d7516a3a2abd804957532dd69296cb77319c193e3ffb87e24", size = 251505, upload-time = "2025-08-11T12:07:14.57Z" }, + { url = "https://files.pythonhosted.org/packages/86/a2/8022f78f041dfe6d71e364001a5cf987c30edfc83c8a5fb7a3f0974cff39/multidict-6.6.4-cp312-cp312-win32.whl", hash = "sha256:8c2fcb12136530ed19572bbba61b407f655e3953ba669b96a35036a11a485793", size = 41888, upload-time = "2025-08-11T12:07:15.904Z" }, + { url = "https://files.pythonhosted.org/packages/c7/eb/d88b1780d43a56db2cba24289fa744a9d216c1a8546a0dc3956563fd53ea/multidict-6.6.4-cp312-cp312-win_amd64.whl", hash = "sha256:047d9425860a8c9544fed1b9584f0c8bcd31bcde9568b047c5e567a1025ecd6e", size = 46072, upload-time = "2025-08-11T12:07:17.045Z" }, + { url = "https://files.pythonhosted.org/packages/9f/16/b929320bf5750e2d9d4931835a4c638a19d2494a5b519caaaa7492ebe105/multidict-6.6.4-cp312-cp312-win_arm64.whl", hash = "sha256:14754eb72feaa1e8ae528468f24250dd997b8e2188c3d2f593f9eba259e4b364", size = 43222, upload-time = "2025-08-11T12:07:18.328Z" }, + { url = "https://files.pythonhosted.org/packages/fd/69/b547032297c7e63ba2af494edba695d781af8a0c6e89e4d06cf848b21d80/multidict-6.6.4-py3-none-any.whl", hash = "sha256:27d8f8e125c07cb954e54d75d04905a9bba8a439c1d84aca94949d4d03d8601c", size = 12313, upload-time = "2025-08-11T12:08:46.891Z" }, +] + +[[package]] +name = "mypy" +version = "1.17.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "mypy-extensions" }, + { name = "pathspec" }, + { name = "tomli", marker = "python_full_version < '3.11'" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/8e/22/ea637422dedf0bf36f3ef238eab4e455e2a0dcc3082b5cc067615347ab8e/mypy-1.17.1.tar.gz", hash = "sha256:25e01ec741ab5bb3eec8ba9cdb0f769230368a22c959c4937360efb89b7e9f01", size = 3352570, upload-time = "2025-07-31T07:54:19.204Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/77/a9/3d7aa83955617cdf02f94e50aab5c830d205cfa4320cf124ff64acce3a8e/mypy-1.17.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:3fbe6d5555bf608c47203baa3e72dbc6ec9965b3d7c318aa9a4ca76f465bd972", size = 11003299, upload-time = "2025-07-31T07:54:06.425Z" }, + { url = "https://files.pythonhosted.org/packages/83/e8/72e62ff837dd5caaac2b4a5c07ce769c8e808a00a65e5d8f94ea9c6f20ab/mypy-1.17.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:80ef5c058b7bce08c83cac668158cb7edea692e458d21098c7d3bce35a5d43e7", size = 10125451, upload-time = "2025-07-31T07:53:52.974Z" }, + { url = "https://files.pythonhosted.org/packages/7d/10/f3f3543f6448db11881776f26a0ed079865926b0c841818ee22de2c6bbab/mypy-1.17.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c4a580f8a70c69e4a75587bd925d298434057fe2a428faaf927ffe6e4b9a98df", size = 11916211, upload-time = "2025-07-31T07:53:18.879Z" }, + { url = "https://files.pythonhosted.org/packages/06/bf/63e83ed551282d67bb3f7fea2cd5561b08d2bb6eb287c096539feb5ddbc5/mypy-1.17.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:dd86bb649299f09d987a2eebb4d52d10603224500792e1bee18303bbcc1ce390", size = 12652687, upload-time = "2025-07-31T07:53:30.544Z" }, + { url = "https://files.pythonhosted.org/packages/69/66/68f2eeef11facf597143e85b694a161868b3b006a5fbad50e09ea117ef24/mypy-1.17.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:a76906f26bd8d51ea9504966a9c25419f2e668f012e0bdf3da4ea1526c534d94", size = 12896322, upload-time = "2025-07-31T07:53:50.74Z" }, + { url = "https://files.pythonhosted.org/packages/a3/87/8e3e9c2c8bd0d7e071a89c71be28ad088aaecbadf0454f46a540bda7bca6/mypy-1.17.1-cp310-cp310-win_amd64.whl", hash = "sha256:e79311f2d904ccb59787477b7bd5d26f3347789c06fcd7656fa500875290264b", size = 9507962, upload-time = "2025-07-31T07:53:08.431Z" }, + { url = "https://files.pythonhosted.org/packages/46/cf/eadc80c4e0a70db1c08921dcc220357ba8ab2faecb4392e3cebeb10edbfa/mypy-1.17.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ad37544be07c5d7fba814eb370e006df58fed8ad1ef33ed1649cb1889ba6ff58", size = 10921009, upload-time = "2025-07-31T07:53:23.037Z" }, + { url = "https://files.pythonhosted.org/packages/5d/c1/c869d8c067829ad30d9bdae051046561552516cfb3a14f7f0347b7d973ee/mypy-1.17.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:064e2ff508e5464b4bd807a7c1625bc5047c5022b85c70f030680e18f37273a5", size = 10047482, upload-time = "2025-07-31T07:53:26.151Z" }, + { url = "https://files.pythonhosted.org/packages/98/b9/803672bab3fe03cee2e14786ca056efda4bb511ea02dadcedde6176d06d0/mypy-1.17.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:70401bbabd2fa1aa7c43bb358f54037baf0586f41e83b0ae67dd0534fc64edfd", size = 11832883, upload-time = "2025-07-31T07:53:47.948Z" }, + { url = "https://files.pythonhosted.org/packages/88/fb/fcdac695beca66800918c18697b48833a9a6701de288452b6715a98cfee1/mypy-1.17.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e92bdc656b7757c438660f775f872a669b8ff374edc4d18277d86b63edba6b8b", size = 12566215, upload-time = "2025-07-31T07:54:04.031Z" }, + { url = "https://files.pythonhosted.org/packages/7f/37/a932da3d3dace99ee8eb2043b6ab03b6768c36eb29a02f98f46c18c0da0e/mypy-1.17.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:c1fdf4abb29ed1cb091cf432979e162c208a5ac676ce35010373ff29247bcad5", size = 12751956, upload-time = "2025-07-31T07:53:36.263Z" }, + { url = "https://files.pythonhosted.org/packages/8c/cf/6438a429e0f2f5cab8bc83e53dbebfa666476f40ee322e13cac5e64b79e7/mypy-1.17.1-cp311-cp311-win_amd64.whl", hash = "sha256:ff2933428516ab63f961644bc49bc4cbe42bbffb2cd3b71cc7277c07d16b1a8b", size = 9507307, upload-time = "2025-07-31T07:53:59.734Z" }, + { url = "https://files.pythonhosted.org/packages/17/a2/7034d0d61af8098ec47902108553122baa0f438df8a713be860f7407c9e6/mypy-1.17.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:69e83ea6553a3ba79c08c6e15dbd9bfa912ec1e493bf75489ef93beb65209aeb", size = 11086295, upload-time = "2025-07-31T07:53:28.124Z" }, + { url = "https://files.pythonhosted.org/packages/14/1f/19e7e44b594d4b12f6ba8064dbe136505cec813549ca3e5191e40b1d3cc2/mypy-1.17.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1b16708a66d38abb1e6b5702f5c2c87e133289da36f6a1d15f6a5221085c6403", size = 10112355, upload-time = "2025-07-31T07:53:21.121Z" }, + { url = "https://files.pythonhosted.org/packages/5b/69/baa33927e29e6b4c55d798a9d44db5d394072eef2bdc18c3e2048c9ed1e9/mypy-1.17.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:89e972c0035e9e05823907ad5398c5a73b9f47a002b22359b177d40bdaee7056", size = 11875285, upload-time = "2025-07-31T07:53:55.293Z" }, + { url = "https://files.pythonhosted.org/packages/90/13/f3a89c76b0a41e19490b01e7069713a30949d9a6c147289ee1521bcea245/mypy-1.17.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:03b6d0ed2b188e35ee6d5c36b5580cffd6da23319991c49ab5556c023ccf1341", size = 12737895, upload-time = "2025-07-31T07:53:43.623Z" }, + { url = "https://files.pythonhosted.org/packages/23/a1/c4ee79ac484241301564072e6476c5a5be2590bc2e7bfd28220033d2ef8f/mypy-1.17.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:c837b896b37cd103570d776bda106eabb8737aa6dd4f248451aecf53030cdbeb", size = 12931025, upload-time = "2025-07-31T07:54:17.125Z" }, + { url = "https://files.pythonhosted.org/packages/89/b8/7409477be7919a0608900e6320b155c72caab4fef46427c5cc75f85edadd/mypy-1.17.1-cp312-cp312-win_amd64.whl", hash = "sha256:665afab0963a4b39dff7c1fa563cc8b11ecff7910206db4b2e64dd1ba25aed19", size = 9584664, upload-time = "2025-07-31T07:54:12.842Z" }, + { url = "https://files.pythonhosted.org/packages/1d/f3/8fcd2af0f5b806f6cf463efaffd3c9548a28f84220493ecd38d127b6b66d/mypy-1.17.1-py3-none-any.whl", hash = "sha256:a9f52c0351c21fe24c21d8c0eb1f62967b262d6729393397b6f443c3b773c3b9", size = 2283411, upload-time = "2025-07-31T07:53:24.664Z" }, +] + +[[package]] +name = "mypy-extensions" +version = "1.1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a2/6e/371856a3fb9d31ca8dac321cda606860fa4548858c0cc45d9d1d4ca2628b/mypy_extensions-1.1.0.tar.gz", hash = "sha256:52e68efc3284861e772bbcd66823fde5ae21fd2fdb51c62a211403730b916558", size = 6343, upload-time = "2025-04-22T14:54:24.164Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/79/7b/2c79738432f5c924bef5071f933bcc9efd0473bac3b4aa584a6f7c1c8df8/mypy_extensions-1.1.0-py3-none-any.whl", hash = "sha256:1be4cccdb0f2482337c4743e60421de3a356cd97508abadd57d47403e94f5505", size = 4963, upload-time = "2025-04-22T14:54:22.983Z" }, +] + +[[package]] +name = "nodeenv" +version = "1.9.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/43/16/fc88b08840de0e0a72a2f9d8c6bae36be573e475a6326ae854bcc549fc45/nodeenv-1.9.1.tar.gz", hash = "sha256:6ec12890a2dab7946721edbfbcd91f3319c6ccc9aec47be7c7e6b7011ee6645f", size = 47437, upload-time = "2024-06-04T18:44:11.171Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d2/1d/1b658dbd2b9fa9c4c9f32accbfc0205d532c8c6194dc0f2a4c0428e7128a/nodeenv-1.9.1-py2.py3-none-any.whl", hash = "sha256:ba11c9782d29c27c70ffbdda2d7415098754709be8a7056d79a737cd901155c9", size = 22314, upload-time = "2024-06-04T18:44:08.352Z" }, +] + +[[package]] +name = "nostr-sdk" +version = "0.42.1" +source = { registry = "https://pypi.org/simple" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/09/4e/d413f3620707daad7649a7e83be7b395a0b4130372fb7dc90850e6eb4988/nostr_sdk-0.42.1-cp39-abi3-macosx_11_0_arm64.whl", hash = "sha256:57ac8b7a6f56bb619a3ef58fbfe1bd93e180d5cd73681b45eeaf5ae2dd45d345", size = 3925439, upload-time = "2025-05-26T09:08:53.522Z" }, + { url = "https://files.pythonhosted.org/packages/e5/2b/ae1dadd3390846d067bd6602f484e690232f868dc30f11d138262ec9ca97/nostr_sdk-0.42.1-cp39-abi3-macosx_11_0_x86_64.whl", hash = "sha256:8897a4c3c34aa3cf4d500e570a1697ba253f89223e8548d2b75da2006fc730eb", size = 3988204, upload-time = "2025-05-26T09:09:06.853Z" }, + { url = "https://files.pythonhosted.org/packages/e9/8d/f0f8def4999384df6739dd5dce8166454a6bacf73d374e5984b3f1d25e79/nostr_sdk-0.42.1-cp39-abi3-manylinux_2_17_aarch64.whl", hash = "sha256:166f1c7b1901813ad9a6296641384cbcc7e35c18ccdf3229d88fcd1e0b51d6ee", size = 3673138, upload-time = "2025-05-26T09:08:42.03Z" }, + { url = "https://files.pythonhosted.org/packages/fb/50/2fea941dcfcd311250f181913dd23031ad8422820acefe86914935c09a6e/nostr_sdk-0.42.1-cp39-abi3-manylinux_2_17_armv7l.whl", hash = "sha256:f2b86bc50805be59113c974665bdf4dcaaf76a1f591a9dba41f1d50acb674b3c", size = 3420691, upload-time = "2025-05-26T09:08:49.608Z" }, + { url = "https://files.pythonhosted.org/packages/cd/cf/cdf16f83a5ed1bfe88512fb4a899ec395296c6b63bb19d329d3cb51f20f6/nostr_sdk-0.42.1-cp39-abi3-manylinux_2_17_i686.whl", hash = "sha256:73b0c16494221a0faf8ec369a2609faba3f17ffd0f03620baa0ec83c58c49b71", size = 3706012, upload-time = "2025-05-26T09:08:57.181Z" }, + { url = "https://files.pythonhosted.org/packages/4a/ee/9b1e90670fe32bb4d520c73dfe25035dc989518f43ae9facf7d4e286179e/nostr_sdk-0.42.1-cp39-abi3-manylinux_2_17_x86_64.whl", hash = "sha256:f68663073630c8edee55d9bec689f019ea616ef6482857e7f72ba1dc1b4fa9cc", size = 3817054, upload-time = "2025-05-26T09:09:11.778Z" }, + { url = "https://files.pythonhosted.org/packages/f4/f3/8b62b3bc24c63a5c165669dfb444c877275959fe7983a80a5e0c60e8ff42/nostr_sdk-0.42.1-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:b6659308d7629e23be252455c46d81549fe6bf945915ec4a0cba2c4b61815c07", size = 3670777, upload-time = "2025-05-26T09:09:02.686Z" }, + { url = "https://files.pythonhosted.org/packages/62/14/78851a956ab8dae47c28812a89c93e883aeadf2655596522a72030943541/nostr_sdk-0.42.1-cp39-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:1fa8a8688cf17e838c31caf5c8a357b7c7c2ba3b6ee85e39c05c93e80d999b99", size = 3419180, upload-time = "2025-05-26T09:09:16.714Z" }, + { url = "https://files.pythonhosted.org/packages/b4/06/41bad843700ce7d47c2ef2a17ccd823db9e10504c4d368168f24c91f2d81/nostr_sdk-0.42.1-cp39-abi3-musllinux_1_2_i686.whl", hash = "sha256:0a89ae1c7b2c36025024511240aa10540aade2551e8b97d40b4a0b88feaabe8c", size = 3571964, upload-time = "2025-05-26T09:08:45.516Z" }, + { url = "https://files.pythonhosted.org/packages/f6/ea/d62f311a90faae44d4e0c0d6646c5a8dca10124bd5706fa3fa51156d892c/nostr_sdk-0.42.1-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:e3dda5d65591158a0c9794aa79a2f2ea7bbe3cfcba236645fbff8291d94946f1", size = 3822060, upload-time = "2025-05-26T09:08:39.336Z" }, + { url = "https://files.pythonhosted.org/packages/f3/39/935f70ee05a25de220d236774a1258d13b470595954bd5fd1ffcf4f5df2a/nostr_sdk-0.42.1-cp39-abi3-win32.whl", hash = "sha256:d20988c0d6dd16c183607dfdbd243e4f5cc9d8a4faa0c498df546fa8383da902", size = 3254061, upload-time = "2025-05-26T09:09:14.515Z" }, + { url = "https://files.pythonhosted.org/packages/7f/9e/d509f09b98c4d91f339bd68d3a9d6c313161e54554e392d001466206ca67/nostr_sdk-0.42.1-cp39-abi3-win_amd64.whl", hash = "sha256:35978a8e526e66d05a346546391c28d643dfca31117a95c51c940c994c422d7d", size = 3500340, upload-time = "2025-05-26T09:09:00.279Z" }, + { url = "https://files.pythonhosted.org/packages/bc/0f/f704d328499458434b45c54ef88bdfee803366e0c9ef32f3377e2f396921/nostr_sdk-0.42.1-cp39-abi3-win_arm64.whl", hash = "sha256:802c74f903b120b74bf501bf68c81d5ee1dc9f7f57801a53a507044a14b9a840", size = 3303179, upload-time = "2025-05-26T09:09:09.122Z" }, +] + +[[package]] +name = "oauthlib" +version = "3.3.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/0b/5f/19930f824ffeb0ad4372da4812c50edbd1434f678c90c2733e1188edfc63/oauthlib-3.3.1.tar.gz", hash = "sha256:0f0f8aa759826a193cf66c12ea1af1637f87b9b4622d46e866952bb022e538c9", size = 185918, upload-time = "2025-06-19T22:48:08.269Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/be/9c/92789c596b8df838baa98fa71844d84283302f7604ed565dafe5a6b5041a/oauthlib-3.3.1-py3-none-any.whl", hash = "sha256:88119c938d2b8fb88561af5f6ee0eec8cc8d552b7bb1f712743136eb7523b7a1", size = 160065, upload-time = "2025-06-19T22:48:06.508Z" }, +] + +[[package]] +name = "packaging" +version = "25.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a1/d4/1fc4078c65507b51b96ca8f8c3ba19e6a61c8253c72794544580a7b6c24d/packaging-25.0.tar.gz", hash = "sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f", size = 165727, upload-time = "2025-04-19T11:48:59.673Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/20/12/38679034af332785aac8774540895e234f4d07f7545804097de4b666afd8/packaging-25.0-py3-none-any.whl", hash = "sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484", size = 66469, upload-time = "2025-04-19T11:48:57.875Z" }, +] + +[[package]] +name = "passlib" +version = "1.7.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b6/06/9da9ee59a67fae7761aab3ccc84fa4f3f33f125b370f1ccdb915bf967c11/passlib-1.7.4.tar.gz", hash = "sha256:defd50f72b65c5402ab2c573830a6978e5f202ad0d984793c8dde2c4152ebe04", size = 689844, upload-time = "2020-10-08T19:00:52.121Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3b/a4/ab6b7589382ca3df236e03faa71deac88cae040af60c071a78d254a62172/passlib-1.7.4-py2.py3-none-any.whl", hash = "sha256:aa6bca462b8d8bda89c70b382f0c298a20b5560af6cbfa2dce410c0a2fb669f1", size = 525554, upload-time = "2020-10-08T19:00:49.856Z" }, +] + +[[package]] +name = "pathspec" +version = "0.12.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ca/bc/f35b8446f4531a7cb215605d100cd88b7ac6f44ab3fc94870c120ab3adbf/pathspec-0.12.1.tar.gz", hash = "sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712", size = 51043, upload-time = "2023-12-10T22:30:45Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cc/20/ff623b09d963f88bfde16306a54e12ee5ea43e9b597108672ff3a408aad6/pathspec-0.12.1-py3-none-any.whl", hash = "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08", size = 31191, upload-time = "2023-12-10T22:30:43.14Z" }, +] + +[[package]] +name = "platformdirs" +version = "4.3.8" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/fe/8b/3c73abc9c759ecd3f1f7ceff6685840859e8070c4d947c93fae71f6a0bf2/platformdirs-4.3.8.tar.gz", hash = "sha256:3d512d96e16bcb959a814c9f348431070822a6496326a4be0911c40b5a74c2bc", size = 21362, upload-time = "2025-05-07T22:47:42.121Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fe/39/979e8e21520d4e47a0bbe349e2713c0aac6f3d853d0e5b34d76206c439aa/platformdirs-4.3.8-py3-none-any.whl", hash = "sha256:ff7059bb7eb1179e2685604f4aaf157cfd9535242bd23742eadc3c13542139b4", size = 18567, upload-time = "2025-05-07T22:47:40.376Z" }, +] + +[[package]] +name = "pluggy" +version = "1.6.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f9/e2/3e91f31a7d2b083fe6ef3fa267035b518369d9511ffab804f839851d2779/pluggy-1.6.0.tar.gz", hash = "sha256:7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3", size = 69412, upload-time = "2025-05-15T12:30:07.975Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl", hash = "sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746", size = 20538, upload-time = "2025-05-15T12:30:06.134Z" }, +] + +[[package]] +name = "ply" +version = "3.11" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e5/69/882ee5c9d017149285cab114ebeab373308ef0f874fcdac9beb90e0ac4da/ply-3.11.tar.gz", hash = "sha256:00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3", size = 159130, upload-time = "2018-02-15T19:01:31.097Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a3/58/35da89ee790598a0700ea49b2a66594140f44dec458c07e8e3d4979137fc/ply-3.11-py2.py3-none-any.whl", hash = "sha256:096f9b8350b65ebd2fd1346b12452efe5b9607f7482813ffca50c22722a807ce", size = 49567, upload-time = "2018-02-15T19:01:27.172Z" }, +] + +[[package]] +name = "pre-commit" +version = "4.3.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cfgv" }, + { name = "identify" }, + { name = "nodeenv" }, + { name = "pyyaml" }, + { name = "virtualenv" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ff/29/7cf5bbc236333876e4b41f56e06857a87937ce4bf91e117a6991a2dbb02a/pre_commit-4.3.0.tar.gz", hash = "sha256:499fe450cc9d42e9d58e606262795ecb64dd05438943c62b66f6a8673da30b16", size = 193792, upload-time = "2025-08-09T18:56:14.651Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5b/a5/987a405322d78a73b66e39e4a90e4ef156fd7141bf71df987e50717c321b/pre_commit-4.3.0-py2.py3-none-any.whl", hash = "sha256:2b0747ad7e6e967169136edffee14c16e148a778a54e4f967921aa1ebf2308d8", size = 220965, upload-time = "2025-08-09T18:56:13.192Z" }, +] + +[[package]] +name = "propcache" +version = "0.3.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a6/16/43264e4a779dd8588c21a70f0709665ee8f611211bdd2c87d952cfa7c776/propcache-0.3.2.tar.gz", hash = "sha256:20d7d62e4e7ef05f221e0db2856b979540686342e7dd9973b815599c7057e168", size = 44139, upload-time = "2025-06-09T22:56:06.081Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ab/14/510deed325e262afeb8b360043c5d7c960da7d3ecd6d6f9496c9c56dc7f4/propcache-0.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:22d9962a358aedbb7a2e36187ff273adeaab9743373a272976d2e348d08c7770", size = 73178, upload-time = "2025-06-09T22:53:40.126Z" }, + { url = "https://files.pythonhosted.org/packages/cd/4e/ad52a7925ff01c1325653a730c7ec3175a23f948f08626a534133427dcff/propcache-0.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0d0fda578d1dc3f77b6b5a5dce3b9ad69a8250a891760a548df850a5e8da87f3", size = 43133, upload-time = "2025-06-09T22:53:41.965Z" }, + { url = "https://files.pythonhosted.org/packages/63/7c/e9399ba5da7780871db4eac178e9c2e204c23dd3e7d32df202092a1ed400/propcache-0.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:3def3da3ac3ce41562d85db655d18ebac740cb3fa4367f11a52b3da9d03a5cc3", size = 43039, upload-time = "2025-06-09T22:53:43.268Z" }, + { url = "https://files.pythonhosted.org/packages/22/e1/58da211eb8fdc6fc854002387d38f415a6ca5f5c67c1315b204a5d3e9d7a/propcache-0.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9bec58347a5a6cebf239daba9bda37dffec5b8d2ce004d9fe4edef3d2815137e", size = 201903, upload-time = "2025-06-09T22:53:44.872Z" }, + { url = "https://files.pythonhosted.org/packages/c4/0a/550ea0f52aac455cb90111c8bab995208443e46d925e51e2f6ebdf869525/propcache-0.3.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:55ffda449a507e9fbd4aca1a7d9aa6753b07d6166140e5a18d2ac9bc49eac220", size = 213362, upload-time = "2025-06-09T22:53:46.707Z" }, + { url = "https://files.pythonhosted.org/packages/5a/af/9893b7d878deda9bb69fcf54600b247fba7317761b7db11fede6e0f28bd0/propcache-0.3.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:64a67fb39229a8a8491dd42f864e5e263155e729c2e7ff723d6e25f596b1e8cb", size = 210525, upload-time = "2025-06-09T22:53:48.547Z" }, + { url = "https://files.pythonhosted.org/packages/7c/bb/38fd08b278ca85cde36d848091ad2b45954bc5f15cce494bb300b9285831/propcache-0.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9da1cf97b92b51253d5b68cf5a2b9e0dafca095e36b7f2da335e27dc6172a614", size = 198283, upload-time = "2025-06-09T22:53:50.067Z" }, + { url = "https://files.pythonhosted.org/packages/78/8c/9fe55bd01d362bafb413dfe508c48753111a1e269737fa143ba85693592c/propcache-0.3.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5f559e127134b07425134b4065be45b166183fdcb433cb6c24c8e4149056ad50", size = 191872, upload-time = "2025-06-09T22:53:51.438Z" }, + { url = "https://files.pythonhosted.org/packages/54/14/4701c33852937a22584e08abb531d654c8bcf7948a8f87ad0a4822394147/propcache-0.3.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:aff2e4e06435d61f11a428360a932138d0ec288b0a31dd9bd78d200bd4a2b339", size = 199452, upload-time = "2025-06-09T22:53:53.229Z" }, + { url = "https://files.pythonhosted.org/packages/16/44/447f2253d859602095356007657ee535e0093215ea0b3d1d6a41d16e5201/propcache-0.3.2-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:4927842833830942a5d0a56e6f4839bc484785b8e1ce8d287359794818633ba0", size = 191567, upload-time = "2025-06-09T22:53:54.541Z" }, + { url = "https://files.pythonhosted.org/packages/f2/b3/e4756258749bb2d3b46defcff606a2f47410bab82be5824a67e84015b267/propcache-0.3.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:6107ddd08b02654a30fb8ad7a132021759d750a82578b94cd55ee2772b6ebea2", size = 193015, upload-time = "2025-06-09T22:53:56.44Z" }, + { url = "https://files.pythonhosted.org/packages/1e/df/e6d3c7574233164b6330b9fd697beeac402afd367280e6dc377bb99b43d9/propcache-0.3.2-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:70bd8b9cd6b519e12859c99f3fc9a93f375ebd22a50296c3a295028bea73b9e7", size = 204660, upload-time = "2025-06-09T22:53:57.839Z" }, + { url = "https://files.pythonhosted.org/packages/b2/53/e4d31dd5170b4a0e2e6b730f2385a96410633b4833dc25fe5dffd1f73294/propcache-0.3.2-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:2183111651d710d3097338dd1893fcf09c9f54e27ff1a8795495a16a469cc90b", size = 206105, upload-time = "2025-06-09T22:53:59.638Z" }, + { url = "https://files.pythonhosted.org/packages/7f/fe/74d54cf9fbe2a20ff786e5f7afcfde446588f0cf15fb2daacfbc267b866c/propcache-0.3.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:fb075ad271405dcad8e2a7ffc9a750a3bf70e533bd86e89f0603e607b93aa64c", size = 196980, upload-time = "2025-06-09T22:54:01.071Z" }, + { url = "https://files.pythonhosted.org/packages/22/ec/c469c9d59dada8a7679625e0440b544fe72e99311a4679c279562051f6fc/propcache-0.3.2-cp310-cp310-win32.whl", hash = "sha256:404d70768080d3d3bdb41d0771037da19d8340d50b08e104ca0e7f9ce55fce70", size = 37679, upload-time = "2025-06-09T22:54:03.003Z" }, + { url = "https://files.pythonhosted.org/packages/38/35/07a471371ac89d418f8d0b699c75ea6dca2041fbda360823de21f6a9ce0a/propcache-0.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:7435d766f978b4ede777002e6b3b6641dd229cd1da8d3d3106a45770365f9ad9", size = 41459, upload-time = "2025-06-09T22:54:04.134Z" }, + { url = "https://files.pythonhosted.org/packages/80/8d/e8b436717ab9c2cfc23b116d2c297305aa4cd8339172a456d61ebf5669b8/propcache-0.3.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:0b8d2f607bd8f80ddc04088bc2a037fdd17884a6fcadc47a96e334d72f3717be", size = 74207, upload-time = "2025-06-09T22:54:05.399Z" }, + { url = "https://files.pythonhosted.org/packages/d6/29/1e34000e9766d112171764b9fa3226fa0153ab565d0c242c70e9945318a7/propcache-0.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:06766d8f34733416e2e34f46fea488ad5d60726bb9481d3cddf89a6fa2d9603f", size = 43648, upload-time = "2025-06-09T22:54:08.023Z" }, + { url = "https://files.pythonhosted.org/packages/46/92/1ad5af0df781e76988897da39b5f086c2bf0f028b7f9bd1f409bb05b6874/propcache-0.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a2dc1f4a1df4fecf4e6f68013575ff4af84ef6f478fe5344317a65d38a8e6dc9", size = 43496, upload-time = "2025-06-09T22:54:09.228Z" }, + { url = "https://files.pythonhosted.org/packages/b3/ce/e96392460f9fb68461fabab3e095cb00c8ddf901205be4eae5ce246e5b7e/propcache-0.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:be29c4f4810c5789cf10ddf6af80b041c724e629fa51e308a7a0fb19ed1ef7bf", size = 217288, upload-time = "2025-06-09T22:54:10.466Z" }, + { url = "https://files.pythonhosted.org/packages/c5/2a/866726ea345299f7ceefc861a5e782b045545ae6940851930a6adaf1fca6/propcache-0.3.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:59d61f6970ecbd8ff2e9360304d5c8876a6abd4530cb752c06586849ac8a9dc9", size = 227456, upload-time = "2025-06-09T22:54:11.828Z" }, + { url = "https://files.pythonhosted.org/packages/de/03/07d992ccb6d930398689187e1b3c718339a1c06b8b145a8d9650e4726166/propcache-0.3.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:62180e0b8dbb6b004baec00a7983e4cc52f5ada9cd11f48c3528d8cfa7b96a66", size = 225429, upload-time = "2025-06-09T22:54:13.823Z" }, + { url = "https://files.pythonhosted.org/packages/5d/e6/116ba39448753b1330f48ab8ba927dcd6cf0baea8a0ccbc512dfb49ba670/propcache-0.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c144ca294a204c470f18cf4c9d78887810d04a3e2fbb30eea903575a779159df", size = 213472, upload-time = "2025-06-09T22:54:15.232Z" }, + { url = "https://files.pythonhosted.org/packages/a6/85/f01f5d97e54e428885a5497ccf7f54404cbb4f906688a1690cd51bf597dc/propcache-0.3.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c5c2a784234c28854878d68978265617aa6dc0780e53d44b4d67f3651a17a9a2", size = 204480, upload-time = "2025-06-09T22:54:17.104Z" }, + { url = "https://files.pythonhosted.org/packages/e3/79/7bf5ab9033b8b8194cc3f7cf1aaa0e9c3256320726f64a3e1f113a812dce/propcache-0.3.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:5745bc7acdafa978ca1642891b82c19238eadc78ba2aaa293c6863b304e552d7", size = 214530, upload-time = "2025-06-09T22:54:18.512Z" }, + { url = "https://files.pythonhosted.org/packages/31/0b/bd3e0c00509b609317df4a18e6b05a450ef2d9a963e1d8bc9c9415d86f30/propcache-0.3.2-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:c0075bf773d66fa8c9d41f66cc132ecc75e5bb9dd7cce3cfd14adc5ca184cb95", size = 205230, upload-time = "2025-06-09T22:54:19.947Z" }, + { url = "https://files.pythonhosted.org/packages/7a/23/fae0ff9b54b0de4e819bbe559508da132d5683c32d84d0dc2ccce3563ed4/propcache-0.3.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:5f57aa0847730daceff0497f417c9de353c575d8da3579162cc74ac294c5369e", size = 206754, upload-time = "2025-06-09T22:54:21.716Z" }, + { url = "https://files.pythonhosted.org/packages/b7/7f/ad6a3c22630aaa5f618b4dc3c3598974a72abb4c18e45a50b3cdd091eb2f/propcache-0.3.2-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:eef914c014bf72d18efb55619447e0aecd5fb7c2e3fa7441e2e5d6099bddff7e", size = 218430, upload-time = "2025-06-09T22:54:23.17Z" }, + { url = "https://files.pythonhosted.org/packages/5b/2c/ba4f1c0e8a4b4c75910742f0d333759d441f65a1c7f34683b4a74c0ee015/propcache-0.3.2-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:2a4092e8549031e82facf3decdbc0883755d5bbcc62d3aea9d9e185549936dcf", size = 223884, upload-time = "2025-06-09T22:54:25.539Z" }, + { url = "https://files.pythonhosted.org/packages/88/e4/ebe30fc399e98572019eee82ad0caf512401661985cbd3da5e3140ffa1b0/propcache-0.3.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:85871b050f174bc0bfb437efbdb68aaf860611953ed12418e4361bc9c392749e", size = 211480, upload-time = "2025-06-09T22:54:26.892Z" }, + { url = "https://files.pythonhosted.org/packages/96/0a/7d5260b914e01d1d0906f7f38af101f8d8ed0dc47426219eeaf05e8ea7c2/propcache-0.3.2-cp311-cp311-win32.whl", hash = "sha256:36c8d9b673ec57900c3554264e630d45980fd302458e4ac801802a7fd2ef7897", size = 37757, upload-time = "2025-06-09T22:54:28.241Z" }, + { url = "https://files.pythonhosted.org/packages/e1/2d/89fe4489a884bc0da0c3278c552bd4ffe06a1ace559db5ef02ef24ab446b/propcache-0.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:e53af8cb6a781b02d2ea079b5b853ba9430fcbe18a8e3ce647d5982a3ff69f39", size = 41500, upload-time = "2025-06-09T22:54:29.4Z" }, + { url = "https://files.pythonhosted.org/packages/a8/42/9ca01b0a6f48e81615dca4765a8f1dd2c057e0540f6116a27dc5ee01dfb6/propcache-0.3.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:8de106b6c84506b31c27168582cd3cb3000a6412c16df14a8628e5871ff83c10", size = 73674, upload-time = "2025-06-09T22:54:30.551Z" }, + { url = "https://files.pythonhosted.org/packages/af/6e/21293133beb550f9c901bbece755d582bfaf2176bee4774000bd4dd41884/propcache-0.3.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:28710b0d3975117239c76600ea351934ac7b5ff56e60953474342608dbbb6154", size = 43570, upload-time = "2025-06-09T22:54:32.296Z" }, + { url = "https://files.pythonhosted.org/packages/0c/c8/0393a0a3a2b8760eb3bde3c147f62b20044f0ddac81e9d6ed7318ec0d852/propcache-0.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ce26862344bdf836650ed2487c3d724b00fbfec4233a1013f597b78c1cb73615", size = 43094, upload-time = "2025-06-09T22:54:33.929Z" }, + { url = "https://files.pythonhosted.org/packages/37/2c/489afe311a690399d04a3e03b069225670c1d489eb7b044a566511c1c498/propcache-0.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bca54bd347a253af2cf4544bbec232ab982f4868de0dd684246b67a51bc6b1db", size = 226958, upload-time = "2025-06-09T22:54:35.186Z" }, + { url = "https://files.pythonhosted.org/packages/9d/ca/63b520d2f3d418c968bf596839ae26cf7f87bead026b6192d4da6a08c467/propcache-0.3.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:55780d5e9a2ddc59711d727226bb1ba83a22dd32f64ee15594b9392b1f544eb1", size = 234894, upload-time = "2025-06-09T22:54:36.708Z" }, + { url = "https://files.pythonhosted.org/packages/11/60/1d0ed6fff455a028d678df30cc28dcee7af77fa2b0e6962ce1df95c9a2a9/propcache-0.3.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:035e631be25d6975ed87ab23153db6a73426a48db688070d925aa27e996fe93c", size = 233672, upload-time = "2025-06-09T22:54:38.062Z" }, + { url = "https://files.pythonhosted.org/packages/37/7c/54fd5301ef38505ab235d98827207176a5c9b2aa61939b10a460ca53e123/propcache-0.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ee6f22b6eaa39297c751d0e80c0d3a454f112f5c6481214fcf4c092074cecd67", size = 224395, upload-time = "2025-06-09T22:54:39.634Z" }, + { url = "https://files.pythonhosted.org/packages/ee/1a/89a40e0846f5de05fdc6779883bf46ba980e6df4d2ff8fb02643de126592/propcache-0.3.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7ca3aee1aa955438c4dba34fc20a9f390e4c79967257d830f137bd5a8a32ed3b", size = 212510, upload-time = "2025-06-09T22:54:41.565Z" }, + { url = "https://files.pythonhosted.org/packages/5e/33/ca98368586c9566a6b8d5ef66e30484f8da84c0aac3f2d9aec6d31a11bd5/propcache-0.3.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:7a4f30862869fa2b68380d677cc1c5fcf1e0f2b9ea0cf665812895c75d0ca3b8", size = 222949, upload-time = "2025-06-09T22:54:43.038Z" }, + { url = "https://files.pythonhosted.org/packages/ba/11/ace870d0aafe443b33b2f0b7efdb872b7c3abd505bfb4890716ad7865e9d/propcache-0.3.2-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:b77ec3c257d7816d9f3700013639db7491a434644c906a2578a11daf13176251", size = 217258, upload-time = "2025-06-09T22:54:44.376Z" }, + { url = "https://files.pythonhosted.org/packages/5b/d2/86fd6f7adffcfc74b42c10a6b7db721d1d9ca1055c45d39a1a8f2a740a21/propcache-0.3.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:cab90ac9d3f14b2d5050928483d3d3b8fb6b4018893fc75710e6aa361ecb2474", size = 213036, upload-time = "2025-06-09T22:54:46.243Z" }, + { url = "https://files.pythonhosted.org/packages/07/94/2d7d1e328f45ff34a0a284cf5a2847013701e24c2a53117e7c280a4316b3/propcache-0.3.2-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:0b504d29f3c47cf6b9e936c1852246c83d450e8e063d50562115a6be6d3a2535", size = 227684, upload-time = "2025-06-09T22:54:47.63Z" }, + { url = "https://files.pythonhosted.org/packages/b7/05/37ae63a0087677e90b1d14710e532ff104d44bc1efa3b3970fff99b891dc/propcache-0.3.2-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:ce2ac2675a6aa41ddb2a0c9cbff53780a617ac3d43e620f8fd77ba1c84dcfc06", size = 234562, upload-time = "2025-06-09T22:54:48.982Z" }, + { url = "https://files.pythonhosted.org/packages/a4/7c/3f539fcae630408d0bd8bf3208b9a647ccad10976eda62402a80adf8fc34/propcache-0.3.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:62b4239611205294cc433845b914131b2a1f03500ff3c1ed093ed216b82621e1", size = 222142, upload-time = "2025-06-09T22:54:50.424Z" }, + { url = "https://files.pythonhosted.org/packages/7c/d2/34b9eac8c35f79f8a962546b3e97e9d4b990c420ee66ac8255d5d9611648/propcache-0.3.2-cp312-cp312-win32.whl", hash = "sha256:df4a81b9b53449ebc90cc4deefb052c1dd934ba85012aa912c7ea7b7e38b60c1", size = 37711, upload-time = "2025-06-09T22:54:52.072Z" }, + { url = "https://files.pythonhosted.org/packages/19/61/d582be5d226cf79071681d1b46b848d6cb03d7b70af7063e33a2787eaa03/propcache-0.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:7046e79b989d7fe457bb755844019e10f693752d169076138abf17f31380800c", size = 41479, upload-time = "2025-06-09T22:54:53.234Z" }, + { url = "https://files.pythonhosted.org/packages/cc/35/cc0aaecf278bb4575b8555f2b137de5ab821595ddae9da9d3cd1da4072c7/propcache-0.3.2-py3-none-any.whl", hash = "sha256:98f1ec44fb675f5052cccc8e609c46ed23a35a1cfd18545ad4e29002d858a43f", size = 12663, upload-time = "2025-06-09T22:56:04.484Z" }, +] + +[[package]] +name = "protobuf" +version = "5.29.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d2/4f/1639b7b1633d8fd55f216ba01e21bf2c43384ab25ef3ddb35d85a52033e8/protobuf-5.29.1.tar.gz", hash = "sha256:683be02ca21a6ffe80db6dd02c0b5b2892322c59ca57fd6c872d652cb80549cb", size = 424965, upload-time = "2024-12-04T19:48:10.986Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/50/c7/28669b04691a376cf7d0617d612f126aa0fff763d57df0142f9bf474c5b8/protobuf-5.29.1-cp310-abi3-win32.whl", hash = "sha256:22c1f539024241ee545cbcb00ee160ad1877975690b16656ff87dde107b5f110", size = 422706, upload-time = "2024-12-04T19:47:54.119Z" }, + { url = "https://files.pythonhosted.org/packages/e3/33/dc7a7712f457456b7e0b16420ab8ba1cc8686751d3f28392eb43d0029ab9/protobuf-5.29.1-cp310-abi3-win_amd64.whl", hash = "sha256:1fc55267f086dd4050d18ef839d7bd69300d0d08c2a53ca7df3920cc271a3c34", size = 434505, upload-time = "2024-12-04T19:47:56.955Z" }, + { url = "https://files.pythonhosted.org/packages/e5/39/44239fb1c6ec557e1731d996a5de89a9eb1ada7a92491fcf9c5d714052ed/protobuf-5.29.1-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:d473655e29c0c4bbf8b69e9a8fb54645bc289dead6d753b952e7aa660254ae18", size = 417822, upload-time = "2024-12-04T19:47:58.194Z" }, + { url = "https://files.pythonhosted.org/packages/fb/4a/ec56f101d38d4bef2959a9750209809242d86cf8b897db00f2f98bfa360e/protobuf-5.29.1-cp38-abi3-manylinux2014_aarch64.whl", hash = "sha256:b5ba1d0e4c8a40ae0496d0e2ecfdbb82e1776928a205106d14ad6985a09ec155", size = 319572, upload-time = "2024-12-04T19:48:00.053Z" }, + { url = "https://files.pythonhosted.org/packages/04/52/c97c58a33b3d6c89a8138788576d372a90a6556f354799971c6b4d16d871/protobuf-5.29.1-cp38-abi3-manylinux2014_x86_64.whl", hash = "sha256:8ee1461b3af56145aca2800e6a3e2f928108c749ba8feccc6f5dd0062c410c0d", size = 319671, upload-time = "2024-12-04T19:48:01.325Z" }, + { url = "https://files.pythonhosted.org/packages/3b/24/c8c49df8f6587719e1d400109b16c10c6902d0c9adddc8fff82840146f99/protobuf-5.29.1-py3-none-any.whl", hash = "sha256:32600ddb9c2a53dedc25b8581ea0f1fd8ea04956373c0c07577ce58d312522e0", size = 172547, upload-time = "2024-12-04T19:48:09.17Z" }, +] + +[[package]] +name = "py-vapid" +version = "1.9.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cryptography" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ff/57/5c1c61f27ce01f939443cf3f6c279a295f7ec0327b18a1cbbcfefe0b5456/py_vapid-1.9.2.tar.gz", hash = "sha256:3c8973b6cf8384ad0c9ae64d6270ccc480e0b92c702d8f5ea2cc03e6b51247f9", size = 20300, upload-time = "2024-11-19T21:55:41.859Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/73/fb/b877a221b09dabcebeb073d5e7f19244f3fa1d5aec87092c359a6049a006/py_vapid-1.9.2-py3-none-any.whl", hash = "sha256:4ccf8a00fc54f1f99f66fb543c96f2c82622508ad814b6e9225f2c26948934d7", size = 21492, upload-time = "2024-11-19T21:55:40.832Z" }, +] + +[[package]] +name = "pycparser" +version = "2.22" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/1d/b2/31537cf4b1ca988837256c910a668b553fceb8f069bedc4b1c826024b52c/pycparser-2.22.tar.gz", hash = "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6", size = 172736, upload-time = "2024-03-30T13:22:22.564Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/13/a3/a812df4e2dd5696d1f351d58b8fe16a405b234ad2886a0dab9183fb78109/pycparser-2.22-py3-none-any.whl", hash = "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc", size = 117552, upload-time = "2024-03-30T13:22:20.476Z" }, +] + +[[package]] +name = "pycryptodomex" +version = "3.23.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/c9/85/e24bf90972a30b0fcd16c73009add1d7d7cd9140c2498a68252028899e41/pycryptodomex-3.23.0.tar.gz", hash = "sha256:71909758f010c82bc99b0abf4ea12012c98962fbf0583c2164f8b84533c2e4da", size = 4922157, upload-time = "2025-05-17T17:23:41.434Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/dd/9c/1a8f35daa39784ed8adf93a694e7e5dc15c23c741bbda06e1d45f8979e9e/pycryptodomex-3.23.0-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:06698f957fe1ab229a99ba2defeeae1c09af185baa909a31a5d1f9d42b1aaed6", size = 2499240, upload-time = "2025-05-17T17:22:46.953Z" }, + { url = "https://files.pythonhosted.org/packages/7a/62/f5221a191a97157d240cf6643747558759126c76ee92f29a3f4aee3197a5/pycryptodomex-3.23.0-cp37-abi3-macosx_10_9_x86_64.whl", hash = "sha256:b2c2537863eccef2d41061e82a881dcabb04944c5c06c5aa7110b577cc487545", size = 1644042, upload-time = "2025-05-17T17:22:49.098Z" }, + { url = "https://files.pythonhosted.org/packages/8c/fd/5a054543c8988d4ed7b612721d7e78a4b9bf36bc3c5ad45ef45c22d0060e/pycryptodomex-3.23.0-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:43c446e2ba8df8889e0e16f02211c25b4934898384c1ec1ec04d7889c0333587", size = 2186227, upload-time = "2025-05-17T17:22:51.139Z" }, + { url = "https://files.pythonhosted.org/packages/c8/a9/8862616a85cf450d2822dbd4fff1fcaba90877907a6ff5bc2672cafe42f8/pycryptodomex-3.23.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f489c4765093fb60e2edafdf223397bc716491b2b69fe74367b70d6999257a5c", size = 2272578, upload-time = "2025-05-17T17:22:53.676Z" }, + { url = "https://files.pythonhosted.org/packages/46/9f/bda9c49a7c1842820de674ab36c79f4fbeeee03f8ff0e4f3546c3889076b/pycryptodomex-3.23.0-cp37-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bdc69d0d3d989a1029df0eed67cc5e8e5d968f3724f4519bd03e0ec68df7543c", size = 2312166, upload-time = "2025-05-17T17:22:56.585Z" }, + { url = "https://files.pythonhosted.org/packages/03/cc/870b9bf8ca92866ca0186534801cf8d20554ad2a76ca959538041b7a7cf4/pycryptodomex-3.23.0-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:6bbcb1dd0f646484939e142462d9e532482bc74475cecf9c4903d4e1cd21f003", size = 2185467, upload-time = "2025-05-17T17:22:59.237Z" }, + { url = "https://files.pythonhosted.org/packages/96/e3/ce9348236d8e669fea5dd82a90e86be48b9c341210f44e25443162aba187/pycryptodomex-3.23.0-cp37-abi3-musllinux_1_2_i686.whl", hash = "sha256:8a4fcd42ccb04c31268d1efeecfccfd1249612b4de6374205376b8f280321744", size = 2346104, upload-time = "2025-05-17T17:23:02.112Z" }, + { url = "https://files.pythonhosted.org/packages/a5/e9/e869bcee87beb89040263c416a8a50204f7f7a83ac11897646c9e71e0daf/pycryptodomex-3.23.0-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:55ccbe27f049743a4caf4f4221b166560d3438d0b1e5ab929e07ae1702a4d6fd", size = 2271038, upload-time = "2025-05-17T17:23:04.872Z" }, + { url = "https://files.pythonhosted.org/packages/8d/67/09ee8500dd22614af5fbaa51a4aee6e342b5fa8aecf0a6cb9cbf52fa6d45/pycryptodomex-3.23.0-cp37-abi3-win32.whl", hash = "sha256:189afbc87f0b9f158386bf051f720e20fa6145975f1e76369303d0f31d1a8d7c", size = 1771969, upload-time = "2025-05-17T17:23:07.115Z" }, + { url = "https://files.pythonhosted.org/packages/69/96/11f36f71a865dd6df03716d33bd07a67e9d20f6b8d39820470b766af323c/pycryptodomex-3.23.0-cp37-abi3-win_amd64.whl", hash = "sha256:52e5ca58c3a0b0bd5e100a9fbc8015059b05cffc6c66ce9d98b4b45e023443b9", size = 1803124, upload-time = "2025-05-17T17:23:09.267Z" }, + { url = "https://files.pythonhosted.org/packages/f9/93/45c1cdcbeb182ccd2e144c693eaa097763b08b38cded279f0053ed53c553/pycryptodomex-3.23.0-cp37-abi3-win_arm64.whl", hash = "sha256:02d87b80778c171445d67e23d1caef279bf4b25c3597050ccd2e13970b57fd51", size = 1707161, upload-time = "2025-05-17T17:23:11.414Z" }, + { url = "https://files.pythonhosted.org/packages/f3/b8/3e76d948c3c4ac71335bbe75dac53e154b40b0f8f1f022dfa295257a0c96/pycryptodomex-3.23.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:ebfff755c360d674306e5891c564a274a47953562b42fb74a5c25b8fc1fb1cb5", size = 1627695, upload-time = "2025-05-17T17:23:17.38Z" }, + { url = "https://files.pythonhosted.org/packages/6a/cf/80f4297a4820dfdfd1c88cf6c4666a200f204b3488103d027b5edd9176ec/pycryptodomex-3.23.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eca54f4bb349d45afc17e3011ed4264ef1cc9e266699874cdd1349c504e64798", size = 1675772, upload-time = "2025-05-17T17:23:19.202Z" }, + { url = "https://files.pythonhosted.org/packages/d1/42/1e969ee0ad19fe3134b0e1b856c39bd0b70d47a4d0e81c2a8b05727394c9/pycryptodomex-3.23.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4f2596e643d4365e14d0879dc5aafe6355616c61c2176009270f3048f6d9a61f", size = 1668083, upload-time = "2025-05-17T17:23:21.867Z" }, + { url = "https://files.pythonhosted.org/packages/6e/c3/1de4f7631fea8a992a44ba632aa40e0008764c0fb9bf2854b0acf78c2cf2/pycryptodomex-3.23.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fdfac7cda115bca3a5abb2f9e43bc2fb66c2b65ab074913643803ca7083a79ea", size = 1706056, upload-time = "2025-05-17T17:23:24.031Z" }, + { url = "https://files.pythonhosted.org/packages/f2/5f/af7da8e6f1e42b52f44a24d08b8e4c726207434e2593732d39e7af5e7256/pycryptodomex-3.23.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:14c37aaece158d0ace436f76a7bb19093db3b4deade9797abfc39ec6cd6cc2fe", size = 1806478, upload-time = "2025-05-17T17:23:26.066Z" }, +] + +[[package]] +name = "pydantic" +version = "1.10.18" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/20/e6/89d6ba0c0a981fd7e3129d105502c4cf73fad1611b294c87b103f75b5837/pydantic-1.10.18.tar.gz", hash = "sha256:baebdff1907d1d96a139c25136a9bb7d17e118f133a76a2ef3b845e831e3403a", size = 354731, upload-time = "2024-08-22T23:18:50.891Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/93/1a/cad745befc17527e48ba071c8f98c4a8840fae04614f77f1fb1ac2bb7998/pydantic-1.10.18-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e405ffcc1254d76bb0e760db101ee8916b620893e6edfbfee563b3c6f7a67c02", size = 2608980, upload-time = "2024-08-22T23:17:35.432Z" }, + { url = "https://files.pythonhosted.org/packages/7e/e3/2becd3da22de005873337d7aae4a608095624a9cda87a7d36d912d7dca0a/pydantic-1.10.18-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e306e280ebebc65040034bff1a0a81fd86b2f4f05daac0131f29541cafd80b80", size = 2297349, upload-time = "2024-08-22T23:17:38.685Z" }, + { url = "https://files.pythonhosted.org/packages/0a/40/e05503faf87c6ee6cd0bcd954c510a0d4471a534ff5d1ebeed4957d56ecb/pydantic-1.10.18-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:11d9d9b87b50338b1b7de4ebf34fd29fdb0d219dc07ade29effc74d3d2609c62", size = 3122605, upload-time = "2024-08-22T23:17:40.476Z" }, + { url = "https://files.pythonhosted.org/packages/47/fb/da7a7ac29690678f8b868c0b5c1ae2e335fdebd2dd016a4d65072f3c7942/pydantic-1.10.18-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b661ce52c7b5e5f600c0c3c5839e71918346af2ef20062705ae76b5c16914cab", size = 3150697, upload-time = "2024-08-22T23:17:42.479Z" }, + { url = "https://files.pythonhosted.org/packages/05/18/b000a4f5c123747dc266e799058c18bb9dc4f0f61b18cd7cc9ecc8e37735/pydantic-1.10.18-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:c20f682defc9ef81cd7eaa485879ab29a86a0ba58acf669a78ed868e72bb89e0", size = 3181979, upload-time = "2024-08-22T23:17:44.422Z" }, + { url = "https://files.pythonhosted.org/packages/92/d2/29717af655b5eabaca1a1c17667ce7d0d88ba9c5f6dc138bf6c4f0600142/pydantic-1.10.18-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c5ae6b7c8483b1e0bf59e5f1843e4fd8fd405e11df7de217ee65b98eb5462861", size = 3142754, upload-time = "2024-08-22T23:17:46.288Z" }, + { url = "https://files.pythonhosted.org/packages/5d/a3/12da23a41ffb15acbfee1abe783178c4caea91dbe93d741a1ea18f8e3bd9/pydantic-1.10.18-cp310-cp310-win_amd64.whl", hash = "sha256:74fe19dda960b193b0eb82c1f4d2c8e5e26918d9cda858cbf3f41dd28549cb70", size = 2139059, upload-time = "2024-08-22T23:17:48.107Z" }, + { url = "https://files.pythonhosted.org/packages/42/c1/d5f1a844e2bc08ccb0330d2d656595e177aba494d69a3fd42e3a35f11526/pydantic-1.10.18-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:72fa46abace0a7743cc697dbb830a41ee84c9db8456e8d77a46d79b537efd7ec", size = 2582713, upload-time = "2024-08-22T23:17:49.882Z" }, + { url = "https://files.pythonhosted.org/packages/1b/f4/0cf037f5c03c4d8aa18439d0146e11c2cfcca936388993a6868c803f3db1/pydantic-1.10.18-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ef0fe7ad7cbdb5f372463d42e6ed4ca9c443a52ce544472d8842a0576d830da5", size = 2268850, upload-time = "2024-08-22T23:17:51.669Z" }, + { url = "https://files.pythonhosted.org/packages/d1/34/1a9c2745e28ca5891adbff2730c1f81f3e191aeb1c2108c8c7757dfa1989/pydantic-1.10.18-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a00e63104346145389b8e8f500bc6a241e729feaf0559b88b8aa513dd2065481", size = 3088192, upload-time = "2024-08-22T23:17:53.382Z" }, + { url = "https://files.pythonhosted.org/packages/32/d7/62134d1662af1af476b1103aea8b3ab928ff737624f8e23beeef1fbffde1/pydantic-1.10.18-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ae6fa2008e1443c46b7b3a5eb03800121868d5ab6bc7cda20b5df3e133cde8b3", size = 3119361, upload-time = "2024-08-22T23:17:55.219Z" }, + { url = "https://files.pythonhosted.org/packages/cf/e2/0e3b2250f470faa4ff150ff5e6729e1cec62e35abfc8f5150f4e794e4585/pydantic-1.10.18-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:9f463abafdc92635da4b38807f5b9972276be7c8c5121989768549fceb8d2588", size = 3163945, upload-time = "2024-08-22T23:17:57.016Z" }, + { url = "https://files.pythonhosted.org/packages/a2/de/ed086c435121c4bf915720528637e4fe7edc9b00057337512b122f1bc2db/pydantic-1.10.18-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:3445426da503c7e40baccefb2b2989a0c5ce6b163679dd75f55493b460f05a8f", size = 3114871, upload-time = "2024-08-22T23:17:58.466Z" }, + { url = "https://files.pythonhosted.org/packages/8d/e0/c50b1492846e946eed84b24d673ca7648f68a219c61c1a100f5b892089b4/pydantic-1.10.18-cp311-cp311-win_amd64.whl", hash = "sha256:467a14ee2183bc9c902579bb2f04c3d3dac00eff52e252850509a562255b2a33", size = 2118200, upload-time = "2024-08-22T23:18:00.353Z" }, + { url = "https://files.pythonhosted.org/packages/be/27/baa1ec62b24590bcf86e2c682cc47a7f57b5fd301cd2354c141a27adf2c4/pydantic-1.10.18-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:efbc8a7f9cb5fe26122acba1852d8dcd1e125e723727c59dcd244da7bdaa54f2", size = 2409940, upload-time = "2024-08-22T23:18:02.105Z" }, + { url = "https://files.pythonhosted.org/packages/b1/db/5189378620fef502cd1e7002dfe0d9f129e09eb1e4a51476ee5f4fbaeeab/pydantic-1.10.18-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:24a4a159d0f7a8e26bf6463b0d3d60871d6a52eac5bb6a07a7df85c806f4c048", size = 2165312, upload-time = "2024-08-22T23:18:03.981Z" }, + { url = "https://files.pythonhosted.org/packages/9b/8b/85ab3deec6cc18c1cabd5d8f329f26267d5bd2c4b6773a75c47f4e5cfd64/pydantic-1.10.18-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b74be007703547dc52e3c37344d130a7bfacca7df112a9e5ceeb840a9ce195c7", size = 2798664, upload-time = "2024-08-22T23:18:05.768Z" }, + { url = "https://files.pythonhosted.org/packages/4c/f9/1e1badfe27769d1f18d23c268776f67cff20e5411c2931da6bed0805fcc7/pydantic-1.10.18-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fcb20d4cb355195c75000a49bb4a31d75e4295200df620f454bbc6bdf60ca890", size = 2829080, upload-time = "2024-08-22T23:18:07.368Z" }, + { url = "https://files.pythonhosted.org/packages/35/4d/5a4e28a95e9fac3c3964836b10074f6b7cd789d6491876333c3ffbf8c14d/pydantic-1.10.18-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:46f379b8cb8a3585e3f61bf9ae7d606c70d133943f339d38b76e041ec234953f", size = 2862046, upload-time = "2024-08-22T23:18:09.21Z" }, + { url = "https://files.pythonhosted.org/packages/da/66/ab281b4a0754fcfce903d0fd6507341e7278b3a58fb6a0d9ad2240f09348/pydantic-1.10.18-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:cbfbca662ed3729204090c4d09ee4beeecc1a7ecba5a159a94b5a4eb24e3759a", size = 2822412, upload-time = "2024-08-22T23:18:11.252Z" }, + { url = "https://files.pythonhosted.org/packages/0b/6f/273755a76305ac86f7244623a60203cc0a6ab030d0daced3d4966e2023a2/pydantic-1.10.18-cp312-cp312-win_amd64.whl", hash = "sha256:c6d0a9f9eccaf7f438671a64acf654ef0d045466e63f9f68a579e2383b63f357", size = 1944247, upload-time = "2024-08-22T23:18:13.192Z" }, + { url = "https://files.pythonhosted.org/packages/67/a4/0048b8c96b97147de57f102034dd20a35178ff70cb28707e1fb17570c1bc/pydantic-1.10.18-py3-none-any.whl", hash = "sha256:06a189b81ffc52746ec9c8c007f16e5167c8b0a696e1a726369327e3db7b2a82", size = 165698, upload-time = "2024-08-22T23:18:49.599Z" }, +] + +[package.optional-dependencies] +email = [ + { name = "email-validator" }, +] + +[[package]] +name = "pygments" +version = "2.19.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b0/77/a5b8c569bf593b0140bde72ea885a803b82086995367bf2037de0159d924/pygments-2.19.2.tar.gz", hash = "sha256:636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887", size = 4968631, upload-time = "2025-06-21T13:39:12.283Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c7/21/705964c7812476f378728bdf590ca4b771ec72385c533964653c68e86bdc/pygments-2.19.2-py3-none-any.whl", hash = "sha256:86540386c03d588bb81d44bc3928634ff26449851e99741617ecb9037ee5ec0b", size = 1225217, upload-time = "2025-06-21T13:39:07.939Z" }, +] + +[[package]] +name = "pyjwt" +version = "2.10.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e7/46/bd74733ff231675599650d3e47f361794b22ef3e3770998dda30d3b63726/pyjwt-2.10.1.tar.gz", hash = "sha256:3cc5772eb20009233caf06e9d8a0577824723b44e6648ee0a2aedb6cf9381953", size = 87785, upload-time = "2024-11-28T03:43:29.933Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/61/ad/689f02752eeec26aed679477e80e632ef1b682313be70793d798c1d5fc8f/PyJWT-2.10.1-py3-none-any.whl", hash = "sha256:dcdd193e30abefd5debf142f9adfcdd2b58004e644f25406ffaebd50bd98dacb", size = 22997, upload-time = "2024-11-28T03:43:27.893Z" }, +] + +[[package]] +name = "pyln-bolt7" +version = "1.0.246" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/5e/3c/6d1d6643c6a501e998c17c25d40c3b68ab75be1d16d9055e6a9ffba30fe4/pyln-bolt7-1.0.246.tar.gz", hash = "sha256:2b53744fa21c1b12d2c9c9df153651b122e38fa65d4a5c3f2957317ee148e089", size = 17905, upload-time = "2022-08-31T17:28:20.093Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/35/f1/30b626e7cec279a2f84084898594c8e84537d6d9af9afbe9858f9a6d8e13/pyln_bolt7-1.0.246-py3-none-any.whl", hash = "sha256:54d48ec27fdc8751762cb068b0a9f2757a58fb57933c6d8f8255d02c27eb63c5", size = 18811, upload-time = "2022-08-31T17:28:22.137Z" }, +] + +[[package]] +name = "pyln-client" +version = "25.5" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pyln-bolt7" }, + { name = "pyln-proto" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/f6/f5/70dae7e6985ba44f53e1c634e204ecc4e9ccde8de6cd90e009672203023f/pyln_client-25.5.tar.gz", hash = "sha256:18656e667c7218f8b40c70f893b936aef4518e87e3ce99081bd52f89e6e5af85", size = 36015, upload-time = "2025-06-16T18:13:48.973Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c8/45/c504ed8ea59577d8093d377e2f657482f08e87b93aaa039e64421297ff55/pyln_client-25.5-py3-none-any.whl", hash = "sha256:269f9ab346ff679b532af2d24c2a524201884efc5b4781dd40685c8ccaec9507", size = 37362, upload-time = "2025-06-16T18:13:47.394Z" }, +] + +[[package]] +name = "pyln-proto" +version = "25.5" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "base58" }, + { name = "bitstring" }, + { name = "coincurve" }, + { name = "cryptography" }, + { name = "pysocks" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/44/6f/48b7879c11b698b0004e1b9cf820ce26454fbfa893181a009df7d7184189/pyln_proto-25.5.tar.gz", hash = "sha256:c5e38b726123af723f8c6a4f38ab310cbec46579f52c8e6f666e6beef320b96c", size = 27314, upload-time = "2025-06-16T18:13:46.302Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6d/31/4f5ef88ec5abe6a2e2b84f1bb5e1d0818d07f8afd372570916493849bf6c/pyln_proto-25.5-py3-none-any.whl", hash = "sha256:31abcf193744d6253b7f06b7712983c6a4d4c28815d46e1f3803eac17bfe1cf9", size = 31902, upload-time = "2025-06-16T18:13:45.07Z" }, +] + +[[package]] +name = "pynostr" +version = "0.6.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "coincurve" }, + { name = "cryptography" }, + { name = "requests" }, + { name = "rich" }, + { name = "tlv8" }, + { name = "tornado" }, + { name = "typer" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/08/b6/818c072bd98c6472c305fa0ce9822592a3c8601ebe550b02465404fa629b/pynostr-0.6.2.tar.gz", hash = "sha256:2974ea05b3ff41a1a4060e3b1813eb0ce0e60c0b81fbe668afaa65164c7f82f4", size = 52310, upload-time = "2023-03-16T20:54:02.826Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/67/4c/d76378abc44c15375708cb3eb8ee9f199879b905b4c2ceda9ea108dfae79/pynostr-0.6.2-py3-none-any.whl", hash = "sha256:d43fb236c73174093275ee0080b2f8ed17e974b2b516f0d73da4c9a3e908ddc5", size = 36301, upload-time = "2023-03-16T20:54:01.055Z" }, +] + +[[package]] +name = "pyqrcode" +version = "1.2.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/37/61/f07226075c347897937d4086ef8e55f0a62ae535e28069884ac68d979316/PyQRCode-1.2.1.tar.gz", hash = "sha256:fdbf7634733e56b72e27f9bce46e4550b75a3a2c420414035cae9d9d26b234d5", size = 36989, upload-time = "2016-06-20T03:28:03.411Z" } + +[[package]] +name = "pysocks" +version = "1.7.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/bd/11/293dd436aea955d45fc4e8a35b6ae7270f5b8e00b53cf6c024c83b657a11/PySocks-1.7.1.tar.gz", hash = "sha256:3f8804571ebe159c380ac6de37643bb4685970655d3bba243530d6558b799aa0", size = 284429, upload-time = "2019-09-20T02:07:35.714Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8d/59/b4572118e098ac8e46e399a1dd0f2d85403ce8bbaad9ec79373ed6badaf9/PySocks-1.7.1-py3-none-any.whl", hash = "sha256:2725bd0a9925919b9b51739eea5f9e2bae91e83288108a9ad338b2e3a4435ee5", size = 16725, upload-time = "2019-09-20T02:06:22.938Z" }, +] + +[[package]] +name = "pytest" +version = "8.4.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, + { name = "exceptiongroup", marker = "python_full_version < '3.11'" }, + { name = "iniconfig" }, + { name = "packaging" }, + { name = "pluggy" }, + { name = "pygments" }, + { name = "tomli", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/08/ba/45911d754e8eba3d5a841a5ce61a65a685ff1798421ac054f85aa8747dfb/pytest-8.4.1.tar.gz", hash = "sha256:7c67fd69174877359ed9371ec3af8a3d2b04741818c51e5e99cc1742251fa93c", size = 1517714, upload-time = "2025-06-18T05:48:06.109Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/29/16/c8a903f4c4dffe7a12843191437d7cd8e32751d5de349d45d3fe69544e87/pytest-8.4.1-py3-none-any.whl", hash = "sha256:539c70ba6fcead8e78eebbf1115e8b589e7565830d7d006a8723f19ac8a0afb7", size = 365474, upload-time = "2025-06-18T05:48:03.955Z" }, +] + +[[package]] +name = "pytest-asyncio" +version = "1.1.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "backports-asyncio-runner", marker = "python_full_version < '3.11'" }, + { name = "pytest" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/4e/51/f8794af39eeb870e87a8c8068642fc07bce0c854d6865d7dd0f2a9d338c2/pytest_asyncio-1.1.0.tar.gz", hash = "sha256:796aa822981e01b68c12e4827b8697108f7205020f24b5793b3c41555dab68ea", size = 46652, upload-time = "2025-07-16T04:29:26.393Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c7/9d/bf86eddabf8c6c9cb1ea9a869d6873b46f105a5d292d3a6f7071f5b07935/pytest_asyncio-1.1.0-py3-none-any.whl", hash = "sha256:5fe2d69607b0bd75c656d1211f969cadba035030156745ee09e7d71740e58ecf", size = 15157, upload-time = "2025-07-16T04:29:24.929Z" }, +] + +[[package]] +name = "python-crontab" +version = "3.2.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "python-dateutil" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/e2/f0/25775565c133d4e29eeb607bf9ddba0075f3af36041a1844dd207881047f/python_crontab-3.2.0.tar.gz", hash = "sha256:40067d1dd39ade3460b2ad8557c7651514cd3851deffff61c5c60e1227c5c36b", size = 57001, upload-time = "2024-07-01T22:29:10.903Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3b/91/832fb3b3a1f62bd2ab4924f6be0c7736c9bc4f84d3b153b74efcf6d4e4a1/python_crontab-3.2.0-py3-none-any.whl", hash = "sha256:82cb9b6a312d41ff66fd3caf3eed7115c28c195bfb50711bc2b4b9592feb9fe5", size = 27351, upload-time = "2024-07-01T22:29:08.549Z" }, +] + +[[package]] +name = "python-dateutil" +version = "2.9.0.post0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "six" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/66/c0/0c8b6ad9f17a802ee498c46e004a0eb49bc148f2fd230864601a86dcf6db/python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3", size = 342432, upload-time = "2024-03-01T18:36:20.211Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427", size = 229892, upload-time = "2024-03-01T18:36:18.57Z" }, +] + +[[package]] +name = "python-dotenv" +version = "1.1.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f6/b0/4bc07ccd3572a2f9df7e6782f52b0c6c90dcbb803ac4a167702d7d0dfe1e/python_dotenv-1.1.1.tar.gz", hash = "sha256:a8a6399716257f45be6a007360200409fce5cda2661e3dec71d23dc15f6189ab", size = 41978, upload-time = "2025-06-24T04:21:07.341Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5f/ed/539768cf28c661b5b068d66d96a2f155c4971a5d55684a514c1a0e0dec2f/python_dotenv-1.1.1-py3-none-any.whl", hash = "sha256:31f23644fe2602f88ff55e1f5c79ba497e01224ee7737937930c448e4d0e24dc", size = 20556, upload-time = "2025-06-24T04:21:06.073Z" }, +] + +[[package]] +name = "python-multipart" +version = "0.0.20" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f3/87/f44d7c9f274c7ee665a29b885ec97089ec5dc034c7f3fafa03da9e39a09e/python_multipart-0.0.20.tar.gz", hash = "sha256:8dd0cab45b8e23064ae09147625994d090fa46f5b0d1e13af944c331a7fa9d13", size = 37158, upload-time = "2024-12-16T19:45:46.972Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/45/58/38b5afbc1a800eeea951b9285d3912613f2603bdf897a4ab0f4bd7f405fc/python_multipart-0.0.20-py3-none-any.whl", hash = "sha256:8a62d3a8335e06589fe01f2a3e178cdcc632f3fbe0d492ad9ee0ec35aab1f104", size = 24546, upload-time = "2024-12-16T19:45:44.423Z" }, +] + +[[package]] +name = "pywebpush" +version = "2.0.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "aiohttp" }, + { name = "cryptography" }, + { name = "http-ece" }, + { name = "py-vapid" }, + { name = "requests" }, + { name = "six" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/41/ca/6e669bf676916d66c8c7adedc291e9a9758650f9d85ec040fda13e3c82f4/pywebpush-2.0.3.tar.gz", hash = "sha256:584878e3c243e873a22db8895505d95715bc796ef74cc1b8fe99f596174161e3", size = 25874, upload-time = "2024-11-19T21:30:20.444Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/90/8a/ecaa2a589338a038b89148b01a5db2dac53e45918342da69baca1fb058fc/pywebpush-2.0.3-py3-none-any.whl", hash = "sha256:04666441715bc547918d7668b2ac7ad5c4b5de7d0a6cf528daf61e0c4bc5431c", size = 21364, upload-time = "2024-11-19T21:30:19.312Z" }, +] + +[[package]] +name = "pyyaml" +version = "6.0.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/54/ed/79a089b6be93607fa5cdaedf301d7dfb23af5f25c398d5ead2525b063e17/pyyaml-6.0.2.tar.gz", hash = "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e", size = 130631, upload-time = "2024-08-06T20:33:50.674Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9b/95/a3fac87cb7158e231b5a6012e438c647e1a87f09f8e0d123acec8ab8bf71/PyYAML-6.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0a9a2848a5b7feac301353437eb7d5957887edbf81d56e903999a75a3d743086", size = 184199, upload-time = "2024-08-06T20:31:40.178Z" }, + { url = "https://files.pythonhosted.org/packages/c7/7a/68bd47624dab8fd4afbfd3c48e3b79efe09098ae941de5b58abcbadff5cb/PyYAML-6.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:29717114e51c84ddfba879543fb232a6ed60086602313ca38cce623c1d62cfbf", size = 171758, upload-time = "2024-08-06T20:31:42.173Z" }, + { url = "https://files.pythonhosted.org/packages/49/ee/14c54df452143b9ee9f0f29074d7ca5516a36edb0b4cc40c3f280131656f/PyYAML-6.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8824b5a04a04a047e72eea5cec3bc266db09e35de6bdfe34c9436ac5ee27d237", size = 718463, upload-time = "2024-08-06T20:31:44.263Z" }, + { url = "https://files.pythonhosted.org/packages/4d/61/de363a97476e766574650d742205be468921a7b532aa2499fcd886b62530/PyYAML-6.0.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c36280e6fb8385e520936c3cb3b8042851904eba0e58d277dca80a5cfed590b", size = 719280, upload-time = "2024-08-06T20:31:50.199Z" }, + { url = "https://files.pythonhosted.org/packages/6b/4e/1523cb902fd98355e2e9ea5e5eb237cbc5f3ad5f3075fa65087aa0ecb669/PyYAML-6.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ec031d5d2feb36d1d1a24380e4db6d43695f3748343d99434e6f5f9156aaa2ed", size = 751239, upload-time = "2024-08-06T20:31:52.292Z" }, + { url = "https://files.pythonhosted.org/packages/b7/33/5504b3a9a4464893c32f118a9cc045190a91637b119a9c881da1cf6b7a72/PyYAML-6.0.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:936d68689298c36b53b29f23c6dbb74de12b4ac12ca6cfe0e047bedceea56180", size = 695802, upload-time = "2024-08-06T20:31:53.836Z" }, + { url = "https://files.pythonhosted.org/packages/5c/20/8347dcabd41ef3a3cdc4f7b7a2aff3d06598c8779faa189cdbf878b626a4/PyYAML-6.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:23502f431948090f597378482b4812b0caae32c22213aecf3b55325e049a6c68", size = 720527, upload-time = "2024-08-06T20:31:55.565Z" }, + { url = "https://files.pythonhosted.org/packages/be/aa/5afe99233fb360d0ff37377145a949ae258aaab831bde4792b32650a4378/PyYAML-6.0.2-cp310-cp310-win32.whl", hash = "sha256:2e99c6826ffa974fe6e27cdb5ed0021786b03fc98e5ee3c5bfe1fd5015f42b99", size = 144052, upload-time = "2024-08-06T20:31:56.914Z" }, + { url = "https://files.pythonhosted.org/packages/b5/84/0fa4b06f6d6c958d207620fc60005e241ecedceee58931bb20138e1e5776/PyYAML-6.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:a4d3091415f010369ae4ed1fc6b79def9416358877534caf6a0fdd2146c87a3e", size = 161774, upload-time = "2024-08-06T20:31:58.304Z" }, + { url = "https://files.pythonhosted.org/packages/f8/aa/7af4e81f7acba21a4c6be026da38fd2b872ca46226673c89a758ebdc4fd2/PyYAML-6.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cc1c1159b3d456576af7a3e4d1ba7e6924cb39de8f67111c735f6fc832082774", size = 184612, upload-time = "2024-08-06T20:32:03.408Z" }, + { url = "https://files.pythonhosted.org/packages/8b/62/b9faa998fd185f65c1371643678e4d58254add437edb764a08c5a98fb986/PyYAML-6.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1e2120ef853f59c7419231f3bf4e7021f1b936f6ebd222406c3b60212205d2ee", size = 172040, upload-time = "2024-08-06T20:32:04.926Z" }, + { url = "https://files.pythonhosted.org/packages/ad/0c/c804f5f922a9a6563bab712d8dcc70251e8af811fce4524d57c2c0fd49a4/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d225db5a45f21e78dd9358e58a98702a0302f2659a3c6cd320564b75b86f47c", size = 736829, upload-time = "2024-08-06T20:32:06.459Z" }, + { url = "https://files.pythonhosted.org/packages/51/16/6af8d6a6b210c8e54f1406a6b9481febf9c64a3109c541567e35a49aa2e7/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5ac9328ec4831237bec75defaf839f7d4564be1e6b25ac710bd1a96321cc8317", size = 764167, upload-time = "2024-08-06T20:32:08.338Z" }, + { url = "https://files.pythonhosted.org/packages/75/e4/2c27590dfc9992f73aabbeb9241ae20220bd9452df27483b6e56d3975cc5/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ad2a3decf9aaba3d29c8f537ac4b243e36bef957511b4766cb0057d32b0be85", size = 762952, upload-time = "2024-08-06T20:32:14.124Z" }, + { url = "https://files.pythonhosted.org/packages/9b/97/ecc1abf4a823f5ac61941a9c00fe501b02ac3ab0e373c3857f7d4b83e2b6/PyYAML-6.0.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:ff3824dc5261f50c9b0dfb3be22b4567a6f938ccce4587b38952d85fd9e9afe4", size = 735301, upload-time = "2024-08-06T20:32:16.17Z" }, + { url = "https://files.pythonhosted.org/packages/45/73/0f49dacd6e82c9430e46f4a027baa4ca205e8b0a9dce1397f44edc23559d/PyYAML-6.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:797b4f722ffa07cc8d62053e4cff1486fa6dc094105d13fea7b1de7d8bf71c9e", size = 756638, upload-time = "2024-08-06T20:32:18.555Z" }, + { url = "https://files.pythonhosted.org/packages/22/5f/956f0f9fc65223a58fbc14459bf34b4cc48dec52e00535c79b8db361aabd/PyYAML-6.0.2-cp311-cp311-win32.whl", hash = "sha256:11d8f3dd2b9c1207dcaf2ee0bbbfd5991f571186ec9cc78427ba5bd32afae4b5", size = 143850, upload-time = "2024-08-06T20:32:19.889Z" }, + { url = "https://files.pythonhosted.org/packages/ed/23/8da0bbe2ab9dcdd11f4f4557ccaf95c10b9811b13ecced089d43ce59c3c8/PyYAML-6.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:e10ce637b18caea04431ce14fabcf5c64a1c61ec9c56b071a4b7ca131ca52d44", size = 161980, upload-time = "2024-08-06T20:32:21.273Z" }, + { url = "https://files.pythonhosted.org/packages/86/0c/c581167fc46d6d6d7ddcfb8c843a4de25bdd27e4466938109ca68492292c/PyYAML-6.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab", size = 183873, upload-time = "2024-08-06T20:32:25.131Z" }, + { url = "https://files.pythonhosted.org/packages/a8/0c/38374f5bb272c051e2a69281d71cba6fdb983413e6758b84482905e29a5d/PyYAML-6.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725", size = 173302, upload-time = "2024-08-06T20:32:26.511Z" }, + { url = "https://files.pythonhosted.org/packages/c3/93/9916574aa8c00aa06bbac729972eb1071d002b8e158bd0e83a3b9a20a1f7/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5", size = 739154, upload-time = "2024-08-06T20:32:28.363Z" }, + { url = "https://files.pythonhosted.org/packages/95/0f/b8938f1cbd09739c6da569d172531567dbcc9789e0029aa070856f123984/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425", size = 766223, upload-time = "2024-08-06T20:32:30.058Z" }, + { url = "https://files.pythonhosted.org/packages/b9/2b/614b4752f2e127db5cc206abc23a8c19678e92b23c3db30fc86ab731d3bd/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476", size = 767542, upload-time = "2024-08-06T20:32:31.881Z" }, + { url = "https://files.pythonhosted.org/packages/d4/00/dd137d5bcc7efea1836d6264f049359861cf548469d18da90cd8216cf05f/PyYAML-6.0.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48", size = 731164, upload-time = "2024-08-06T20:32:37.083Z" }, + { url = "https://files.pythonhosted.org/packages/c9/1f/4f998c900485e5c0ef43838363ba4a9723ac0ad73a9dc42068b12aaba4e4/PyYAML-6.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b", size = 756611, upload-time = "2024-08-06T20:32:38.898Z" }, + { url = "https://files.pythonhosted.org/packages/df/d1/f5a275fdb252768b7a11ec63585bc38d0e87c9e05668a139fea92b80634c/PyYAML-6.0.2-cp312-cp312-win32.whl", hash = "sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4", size = 140591, upload-time = "2024-08-06T20:32:40.241Z" }, + { url = "https://files.pythonhosted.org/packages/0c/e8/4f648c598b17c3d06e8753d7d13d57542b30d56e6c2dedf9c331ae56312e/PyYAML-6.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8", size = 156338, upload-time = "2024-08-06T20:32:41.93Z" }, +] + +[[package]] +name = "requests" +version = "2.32.5" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "certifi" }, + { name = "charset-normalizer" }, + { name = "idna" }, + { name = "urllib3" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/c9/74/b3ff8e6c8446842c3f5c837e9c3dfcfe2018ea6ecef224c710c85ef728f4/requests-2.32.5.tar.gz", hash = "sha256:dbba0bac56e100853db0ea71b82b4dfd5fe2bf6d3754a8893c3af500cec7d7cf", size = 134517, upload-time = "2025-08-18T20:46:02.573Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1e/db/4254e3eabe8020b458f1a747140d32277ec7a271daf1d235b70dc0b4e6e3/requests-2.32.5-py3-none-any.whl", hash = "sha256:2462f94637a34fd532264295e186976db0f5d453d1cdd31473c85a6a161affb6", size = 64738, upload-time = "2025-08-18T20:46:00.542Z" }, +] + +[[package]] +name = "rich" +version = "14.1.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "markdown-it-py" }, + { name = "pygments" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/fe/75/af448d8e52bf1d8fa6a9d089ca6c07ff4453d86c65c145d0a300bb073b9b/rich-14.1.0.tar.gz", hash = "sha256:e497a48b844b0320d45007cdebfeaeed8db2a4f4bcf49f15e455cfc4af11eaa8", size = 224441, upload-time = "2025-07-25T07:32:58.125Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e3/30/3c4d035596d3cf444529e0b2953ad0466f6049528a879d27534700580395/rich-14.1.0-py3-none-any.whl", hash = "sha256:536f5f1785986d6dbdea3c75205c473f970777b4a0d6c6dd1b696aa05a3fa04f", size = 243368, upload-time = "2025-07-25T07:32:56.73Z" }, +] + +[[package]] +name = "ruff" +version = "0.12.10" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/3b/eb/8c073deb376e46ae767f4961390d17545e8535921d2f65101720ed8bd434/ruff-0.12.10.tar.gz", hash = "sha256:189ab65149d11ea69a2d775343adf5f49bb2426fc4780f65ee33b423ad2e47f9", size = 5310076, upload-time = "2025-08-21T18:23:22.595Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/24/e7/560d049d15585d6c201f9eeacd2fd130def3741323e5ccf123786e0e3c95/ruff-0.12.10-py3-none-linux_armv6l.whl", hash = "sha256:8b593cb0fb55cc8692dac7b06deb29afda78c721c7ccfed22db941201b7b8f7b", size = 11935161, upload-time = "2025-08-21T18:22:26.965Z" }, + { url = "https://files.pythonhosted.org/packages/d1/b0/ad2464922a1113c365d12b8f80ed70fcfb39764288ac77c995156080488d/ruff-0.12.10-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:ebb7333a45d56efc7c110a46a69a1b32365d5c5161e7244aaf3aa20ce62399c1", size = 12660884, upload-time = "2025-08-21T18:22:30.925Z" }, + { url = "https://files.pythonhosted.org/packages/d7/f1/97f509b4108d7bae16c48389f54f005b62ce86712120fd8b2d8e88a7cb49/ruff-0.12.10-py3-none-macosx_11_0_arm64.whl", hash = "sha256:d59e58586829f8e4a9920788f6efba97a13d1fa320b047814e8afede381c6839", size = 11872754, upload-time = "2025-08-21T18:22:34.035Z" }, + { url = "https://files.pythonhosted.org/packages/12/ad/44f606d243f744a75adc432275217296095101f83f966842063d78eee2d3/ruff-0.12.10-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:822d9677b560f1fdeab69b89d1f444bf5459da4aa04e06e766cf0121771ab844", size = 12092276, upload-time = "2025-08-21T18:22:36.764Z" }, + { url = "https://files.pythonhosted.org/packages/06/1f/ed6c265e199568010197909b25c896d66e4ef2c5e1c3808caf461f6f3579/ruff-0.12.10-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:37b4a64f4062a50c75019c61c7017ff598cb444984b638511f48539d3a1c98db", size = 11734700, upload-time = "2025-08-21T18:22:39.822Z" }, + { url = "https://files.pythonhosted.org/packages/63/c5/b21cde720f54a1d1db71538c0bc9b73dee4b563a7dd7d2e404914904d7f5/ruff-0.12.10-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2c6f4064c69d2542029b2a61d39920c85240c39837599d7f2e32e80d36401d6e", size = 13468783, upload-time = "2025-08-21T18:22:42.559Z" }, + { url = "https://files.pythonhosted.org/packages/02/9e/39369e6ac7f2a1848f22fb0b00b690492f20811a1ac5c1fd1d2798329263/ruff-0.12.10-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:059e863ea3a9ade41407ad71c1de2badfbe01539117f38f763ba42a1206f7559", size = 14436642, upload-time = "2025-08-21T18:22:45.612Z" }, + { url = "https://files.pythonhosted.org/packages/e3/03/5da8cad4b0d5242a936eb203b58318016db44f5c5d351b07e3f5e211bb89/ruff-0.12.10-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1bef6161e297c68908b7218fa6e0e93e99a286e5ed9653d4be71e687dff101cf", size = 13859107, upload-time = "2025-08-21T18:22:48.886Z" }, + { url = "https://files.pythonhosted.org/packages/19/19/dd7273b69bf7f93a070c9cec9494a94048325ad18fdcf50114f07e6bf417/ruff-0.12.10-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4f1345fbf8fb0531cd722285b5f15af49b2932742fc96b633e883da8d841896b", size = 12886521, upload-time = "2025-08-21T18:22:51.567Z" }, + { url = "https://files.pythonhosted.org/packages/c0/1d/b4207ec35e7babaee62c462769e77457e26eb853fbdc877af29417033333/ruff-0.12.10-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1f68433c4fbc63efbfa3ba5db31727db229fa4e61000f452c540474b03de52a9", size = 13097528, upload-time = "2025-08-21T18:22:54.609Z" }, + { url = "https://files.pythonhosted.org/packages/ff/00/58f7b873b21114456e880b75176af3490d7a2836033779ca42f50de3b47a/ruff-0.12.10-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:141ce3d88803c625257b8a6debf4a0473eb6eed9643a6189b68838b43e78165a", size = 13080443, upload-time = "2025-08-21T18:22:57.413Z" }, + { url = "https://files.pythonhosted.org/packages/12/8c/9e6660007fb10189ccb78a02b41691288038e51e4788bf49b0a60f740604/ruff-0.12.10-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:f3fc21178cd44c98142ae7590f42ddcb587b8e09a3b849cbc84edb62ee95de60", size = 11896759, upload-time = "2025-08-21T18:23:00.473Z" }, + { url = "https://files.pythonhosted.org/packages/67/4c/6d092bb99ea9ea6ebda817a0e7ad886f42a58b4501a7e27cd97371d0ba54/ruff-0.12.10-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:7d1a4e0bdfafcd2e3e235ecf50bf0176f74dd37902f241588ae1f6c827a36c56", size = 11701463, upload-time = "2025-08-21T18:23:03.211Z" }, + { url = "https://files.pythonhosted.org/packages/59/80/d982c55e91df981f3ab62559371380616c57ffd0172d96850280c2b04fa8/ruff-0.12.10-py3-none-musllinux_1_2_i686.whl", hash = "sha256:e67d96827854f50b9e3e8327b031647e7bcc090dbe7bb11101a81a3a2cbf1cc9", size = 12691603, upload-time = "2025-08-21T18:23:06.935Z" }, + { url = "https://files.pythonhosted.org/packages/ad/37/63a9c788bbe0b0850611669ec6b8589838faf2f4f959647f2d3e320383ae/ruff-0.12.10-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:ae479e1a18b439c59138f066ae79cc0f3ee250712a873d00dbafadaad9481e5b", size = 13164356, upload-time = "2025-08-21T18:23:10.225Z" }, + { url = "https://files.pythonhosted.org/packages/47/d4/1aaa7fb201a74181989970ebccd12f88c0fc074777027e2a21de5a90657e/ruff-0.12.10-py3-none-win32.whl", hash = "sha256:9de785e95dc2f09846c5e6e1d3a3d32ecd0b283a979898ad427a9be7be22b266", size = 11896089, upload-time = "2025-08-21T18:23:14.232Z" }, + { url = "https://files.pythonhosted.org/packages/ad/14/2ad38fd4037daab9e023456a4a40ed0154e9971f8d6aed41bdea390aabd9/ruff-0.12.10-py3-none-win_amd64.whl", hash = "sha256:7837eca8787f076f67aba2ca559cefd9c5cbc3a9852fd66186f4201b87c1563e", size = 13004616, upload-time = "2025-08-21T18:23:17.422Z" }, + { url = "https://files.pythonhosted.org/packages/24/3c/21cf283d67af33a8e6ed242396863af195a8a6134ec581524fd22b9811b6/ruff-0.12.10-py3-none-win_arm64.whl", hash = "sha256:cc138cc06ed9d4bfa9d667a65af7172b47840e1a98b02ce7011c391e54635ffc", size = 12074225, upload-time = "2025-08-21T18:23:20.137Z" }, +] + +[[package]] +name = "secp256k1" +version = "0.14.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cffi" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/9b/41/bb668a6e4192303542d2d90c3b38d564af3c17c61bd7d4039af4f29405fe/secp256k1-0.14.0.tar.gz", hash = "sha256:82c06712d69ef945220c8b53c1a0d424c2ff6a1f64aee609030df79ad8383397", size = 2420607, upload-time = "2021-11-06T01:36:10.707Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/09/46/5d3ca364058d39160e3623f0babafe78c2236d359e86924aa07524377c98/secp256k1-0.14.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:f666c67dcf1dc69e1448b2ede5e12aaf382b600204a61dbc65e4f82cea444405", size = 1376587, upload-time = "2022-01-24T12:36:39.127Z" }, + { url = "https://files.pythonhosted.org/packages/ce/e2/5b1616593ed1fa0e07e87b9f5118dc098bd1ddb2a6a7698d82b0ff85ad3f/secp256k1-0.14.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:fcabb3c3497a902fb61eec72d1b69bf72747d7bcc2a732d56d9319a1e8322262", size = 1362187, upload-time = "2022-01-24T12:36:41.677Z" }, + { url = "https://files.pythonhosted.org/packages/c9/9c/8148f74dd1fc65d0b97c8cbb101b468e27a2e93a3f291807d0d8ebe4bbf3/secp256k1-0.14.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:7a27c479ab60571502516a1506a562d0a9df062de8ad645313fabfcc97252816", size = 1376363, upload-time = "2022-01-24T12:36:44.314Z" }, + { url = "https://files.pythonhosted.org/packages/64/11/ff6d18314bc05a8f66619959a61be2fb6f37793d73e1dd106954b0978d92/secp256k1-0.14.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:f4b9306bff6dde020444dfee9ca9b9f5b20ca53a2c0b04898361a3f43d5daf2e", size = 1369109, upload-time = "2022-01-24T12:36:46.782Z" }, +] + +[[package]] +name = "shellingham" +version = "1.5.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/58/15/8b3609fd3830ef7b27b655beb4b4e9c62313a4e8da8c676e142cc210d58e/shellingham-1.5.4.tar.gz", hash = "sha256:8dbca0739d487e5bd35ab3ca4b36e11c4078f3a234bfce294b0a0291363404de", size = 10310, upload-time = "2023-10-24T04:13:40.426Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e0/f9/0595336914c5619e5f28a1fb793285925a8cd4b432c9da0a987836c7f822/shellingham-1.5.4-py2.py3-none-any.whl", hash = "sha256:7ecfff8f2fd72616f7481040475a65b2bf8af90a56c89140852d1120324e8686", size = 9755, upload-time = "2023-10-24T04:13:38.866Z" }, +] + +[[package]] +name = "shortuuid" +version = "1.0.13" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/8c/e2/bcf761f3bff95856203f9559baf3741c416071dd200c0fc19fad7f078f86/shortuuid-1.0.13.tar.gz", hash = "sha256:3bb9cf07f606260584b1df46399c0b87dd84773e7b25912b7e391e30797c5e72", size = 9662, upload-time = "2024-03-11T20:11:06.879Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c0/44/21d6bf170bf40b41396480d8d49ad640bca3f2b02139cd52aa1e272830a5/shortuuid-1.0.13-py3-none-any.whl", hash = "sha256:a482a497300b49b4953e15108a7913244e1bb0d41f9d332f5e9925dba33a3c5a", size = 10529, upload-time = "2024-03-11T20:11:04.807Z" }, +] + +[[package]] +name = "six" +version = "1.17.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81", size = 34031, upload-time = "2024-12-04T17:35:28.174Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050, upload-time = "2024-12-04T17:35:26.475Z" }, +] + +[[package]] +name = "slowapi" +version = "0.1.9" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "limits" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a0/99/adfc7f94ca024736f061257d39118e1542bade7a52e86415a4c4ae92d8ff/slowapi-0.1.9.tar.gz", hash = "sha256:639192d0f1ca01b1c6d95bf6c71d794c3a9ee189855337b4821f7f457dddad77", size = 14028, upload-time = "2024-02-05T12:11:52.13Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2b/bb/f71c4b7d7e7eb3fc1e8c0458a8979b912f40b58002b9fbf37729b8cb464b/slowapi-0.1.9-py3-none-any.whl", hash = "sha256:cfad116cfb84ad9d763ee155c1e5c5cbf00b0d47399a769b227865f5df576e36", size = 14670, upload-time = "2024-02-05T12:11:50.898Z" }, +] + +[[package]] +name = "sniffio" +version = "1.3.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a2/87/a6771e1546d97e7e041b6ae58d80074f81b7d5121207425c964ddf5cfdbd/sniffio-1.3.1.tar.gz", hash = "sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc", size = 20372, upload-time = "2024-02-25T23:20:04.057Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235, upload-time = "2024-02-25T23:20:01.196Z" }, +] + +[[package]] +name = "sqlalchemy" +version = "1.4.54" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "greenlet", marker = "platform_machine == 'AMD64' or platform_machine == 'WIN32' or platform_machine == 'aarch64' or platform_machine == 'amd64' or platform_machine == 'ppc64le' or platform_machine == 'win32' or platform_machine == 'x86_64'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ce/af/20290b55d469e873cba9d41c0206ab5461ff49d759989b3fe65010f9d265/sqlalchemy-1.4.54.tar.gz", hash = "sha256:4470fbed088c35dc20b78a39aaf4ae54fe81790c783b3264872a0224f437c31a", size = 8470350, upload-time = "2024-09-05T15:54:10.398Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ef/7f/f7c1e0b65790649bd573f201aa958263a389f336d6e000a569275ff9bd97/SQLAlchemy-1.4.54-cp310-cp310-macosx_12_0_x86_64.whl", hash = "sha256:af00236fe21c4d4f4c227b6ccc19b44c594160cc3ff28d104cdce85855369277", size = 1573472, upload-time = "2024-09-05T17:38:45.351Z" }, + { url = "https://files.pythonhosted.org/packages/e1/da/ff7f0fe50844496db523613979651f076f44da8625b8ad89c503dcff0a52/SQLAlchemy-1.4.54-cp310-cp310-manylinux1_x86_64.manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_5_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1183599e25fa38a1a322294b949da02b4f0da13dbc2688ef9dbe746df573f8a6", size = 1639088, upload-time = "2024-09-05T17:46:37.726Z" }, + { url = "https://files.pythonhosted.org/packages/04/45/3a35bb156aa2fd87b66a4992bb8d65593efd7e16ca2e0597e68c32c29037/SQLAlchemy-1.4.54-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1990d5a6a5dc358a0894c8ca02043fb9a5ad9538422001fb2826e91c50f1d539", size = 1627447, upload-time = "2024-09-05T17:45:32.379Z" }, + { url = "https://files.pythonhosted.org/packages/fe/5b/ed36a50e7147d0d090cd8e35de3b18d2c69a3e85df3be5fe42a570d6c331/SQLAlchemy-1.4.54-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:14b3f4783275339170984cadda66e3ec011cce87b405968dc8d51cf0f9997b0d", size = 1639081, upload-time = "2024-09-05T17:46:39.895Z" }, + { url = "https://files.pythonhosted.org/packages/4b/75/bfbdeb5dece7bc98acb414751a62ee43398b34b10133b1853f4282597757/SQLAlchemy-1.4.54-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6b24364150738ce488333b3fb48bfa14c189a66de41cd632796fbcacb26b4585", size = 1638975, upload-time = "2024-09-05T17:46:41.569Z" }, + { url = "https://files.pythonhosted.org/packages/f7/62/358a9291d2fc3d51ad50557e126ad5f48200f199878437f7cb38817d607b/SQLAlchemy-1.4.54-cp310-cp310-win32.whl", hash = "sha256:a8a72259a1652f192c68377be7011eac3c463e9892ef2948828c7d58e4829988", size = 1591719, upload-time = "2024-09-05T17:52:26.646Z" }, + { url = "https://files.pythonhosted.org/packages/10/ad/87cd5578efdcef43a08ce4a21448192abf46bf69a5678ac0039e44364914/SQLAlchemy-1.4.54-cp310-cp310-win_amd64.whl", hash = "sha256:b67589f7955924865344e6eacfdcf70675e64f36800a576aa5e961f0008cde2a", size = 1593512, upload-time = "2024-09-05T17:51:21.402Z" }, + { url = "https://files.pythonhosted.org/packages/da/49/fb98983b5568e93696a25fd5bec1b789095b79a72d5f57c6effddaa81d0a/SQLAlchemy-1.4.54-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:b05e0626ec1c391432eabb47a8abd3bf199fb74bfde7cc44a26d2b1b352c2c6e", size = 1589301, upload-time = "2024-09-05T19:22:42.197Z" }, + { url = "https://files.pythonhosted.org/packages/03/98/5a81430bbd646991346cb088a2bdc84d1bcd3dbe6b0cfc1aaa898370e5c7/SQLAlchemy-1.4.54-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:13e91d6892b5fcb94a36ba061fb7a1f03d0185ed9d8a77c84ba389e5bb05e936", size = 1629553, upload-time = "2024-09-05T17:49:18.846Z" }, + { url = "https://files.pythonhosted.org/packages/f1/17/14e35db2b0d6deaa27691d014addbb0dd6f7e044f7ee465446a3c0c71404/SQLAlchemy-1.4.54-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fb59a11689ff3c58e7652260127f9e34f7f45478a2f3ef831ab6db7bcd72108f", size = 1627640, upload-time = "2024-09-05T17:48:01.558Z" }, + { url = "https://files.pythonhosted.org/packages/98/62/335006a8f2c98f704f391e1a0cc01446d1b1b9c198f579f03599f55bd860/SQLAlchemy-1.4.54-cp311-cp311-win32.whl", hash = "sha256:1390ca2d301a2708fd4425c6d75528d22f26b8f5cbc9faba1ddca136671432bc", size = 1591723, upload-time = "2024-09-05T17:53:17.486Z" }, + { url = "https://files.pythonhosted.org/packages/e2/a1/6b4b8c07082920f5445ec65c221fa33baab102aced5dcc2d87a15d3f8db4/SQLAlchemy-1.4.54-cp311-cp311-win_amd64.whl", hash = "sha256:2b37931eac4b837c45e2522066bda221ac6d80e78922fb77c75eb12e4dbcdee5", size = 1593511, upload-time = "2024-09-05T17:51:50.947Z" }, + { url = "https://files.pythonhosted.org/packages/a5/1b/aa9b99be95d1615f058b5827447c18505b7b3f1dfcbd6ce1b331c2107152/SQLAlchemy-1.4.54-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:3f01c2629a7d6b30d8afe0326b8c649b74825a0e1ebdcb01e8ffd1c920deb07d", size = 1589983, upload-time = "2024-09-05T17:39:02.132Z" }, + { url = "https://files.pythonhosted.org/packages/59/47/cb0fc64e5344f0a3d02216796c342525ab283f8f052d1c31a1d487d08aa0/SQLAlchemy-1.4.54-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9c24dd161c06992ed16c5e528a75878edbaeced5660c3db88c820f1f0d3fe1f4", size = 1630158, upload-time = "2024-09-05T17:50:13.255Z" }, + { url = "https://files.pythonhosted.org/packages/c0/8b/f45dd378f6c97e8ff9332ff3d03ecb0b8c491be5bb7a698783b5a2f358ec/SQLAlchemy-1.4.54-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b5e0d47d619c739bdc636bbe007da4519fc953393304a5943e0b5aec96c9877c", size = 1629232, upload-time = "2024-09-05T17:48:15.514Z" }, + { url = "https://files.pythonhosted.org/packages/0d/3c/884fe389f5bec86a310b81e79abaa1e26e5d78dc10a84d544a6822833e47/SQLAlchemy-1.4.54-cp312-cp312-win32.whl", hash = "sha256:12bc0141b245918b80d9d17eca94663dbd3f5266ac77a0be60750f36102bbb0f", size = 1592027, upload-time = "2024-09-05T17:54:02.253Z" }, + { url = "https://files.pythonhosted.org/packages/01/c3/c690d037be57efd3a69cde16a2ef1bd2a905dafe869434d33836de0983d0/SQLAlchemy-1.4.54-cp312-cp312-win_amd64.whl", hash = "sha256:f941aaf15f47f316123e1933f9ea91a6efda73a161a6ab6046d1cde37be62c88", size = 1593827, upload-time = "2024-09-05T17:52:07.454Z" }, +] + +[[package]] +name = "sse-starlette" +version = "2.3.6" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "anyio" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/8c/f4/989bc70cb8091eda43a9034ef969b25145291f3601703b82766e5172dfed/sse_starlette-2.3.6.tar.gz", hash = "sha256:0382336f7d4ec30160cf9ca0518962905e1b69b72d6c1c995131e0a703b436e3", size = 18284, upload-time = "2025-05-30T13:34:12.914Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/81/05/78850ac6e79af5b9508f8841b0f26aa9fd329a1ba00bf65453c2d312bcc8/sse_starlette-2.3.6-py3-none-any.whl", hash = "sha256:d49a8285b182f6e2228e2609c350398b2ca2c36216c2675d875f81e93548f760", size = 10606, upload-time = "2025-05-30T13:34:11.703Z" }, +] + +[[package]] +name = "starlette" +version = "0.46.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "anyio" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ce/20/08dfcd9c983f6a6f4a1000d934b9e6d626cff8d2eeb77a89a68eef20a2b7/starlette-0.46.2.tar.gz", hash = "sha256:7f7361f34eed179294600af672f565727419830b54b7b084efe44bb82d2fccd5", size = 2580846, upload-time = "2025-04-13T13:56:17.942Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8b/0c/9d30a4ebeb6db2b25a841afbb80f6ef9a854fc3b41be131d249a977b4959/starlette-0.46.2-py3-none-any.whl", hash = "sha256:595633ce89f8ffa71a015caed34a5b2dc1c0cdb3f0f1fbd1e69339cf2abeec35", size = 72037, upload-time = "2025-04-13T13:56:16.21Z" }, +] + +[[package]] +name = "tlv8" +version = "0.10.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/bb/89/6df40b0c5fd9a1c30711f569bd31446f89d1de6d23948b391775f6784d94/tlv8-0.10.0.tar.gz", hash = "sha256:7930a590267b809952272ac2a27ee81b99ec5191fa2eba08050e0daee4262684", size = 16054, upload-time = "2022-04-12T07:47:19.102Z" } + +[[package]] +name = "tomli" +version = "2.2.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/18/87/302344fed471e44a87289cf4967697d07e532f2421fdaf868a303cbae4ff/tomli-2.2.1.tar.gz", hash = "sha256:cd45e1dc79c835ce60f7404ec8119f2eb06d38b1deba146f07ced3bbc44505ff", size = 17175, upload-time = "2024-11-27T22:38:36.873Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/43/ca/75707e6efa2b37c77dadb324ae7d9571cb424e61ea73fad7c56c2d14527f/tomli-2.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:678e4fa69e4575eb77d103de3df8a895e1591b48e740211bd1067378c69e8249", size = 131077, upload-time = "2024-11-27T22:37:54.956Z" }, + { url = "https://files.pythonhosted.org/packages/c7/16/51ae563a8615d472fdbffc43a3f3d46588c264ac4f024f63f01283becfbb/tomli-2.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:023aa114dd824ade0100497eb2318602af309e5a55595f76b626d6d9f3b7b0a6", size = 123429, upload-time = "2024-11-27T22:37:56.698Z" }, + { url = "https://files.pythonhosted.org/packages/f1/dd/4f6cd1e7b160041db83c694abc78e100473c15d54620083dbd5aae7b990e/tomli-2.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ece47d672db52ac607a3d9599a9d48dcb2f2f735c6c2d1f34130085bb12b112a", size = 226067, upload-time = "2024-11-27T22:37:57.63Z" }, + { url = "https://files.pythonhosted.org/packages/a9/6b/c54ede5dc70d648cc6361eaf429304b02f2871a345bbdd51e993d6cdf550/tomli-2.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6972ca9c9cc9f0acaa56a8ca1ff51e7af152a9f87fb64623e31d5c83700080ee", size = 236030, upload-time = "2024-11-27T22:37:59.344Z" }, + { url = "https://files.pythonhosted.org/packages/1f/47/999514fa49cfaf7a92c805a86c3c43f4215621855d151b61c602abb38091/tomli-2.2.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c954d2250168d28797dd4e3ac5cf812a406cd5a92674ee4c8f123c889786aa8e", size = 240898, upload-time = "2024-11-27T22:38:00.429Z" }, + { url = "https://files.pythonhosted.org/packages/73/41/0a01279a7ae09ee1573b423318e7934674ce06eb33f50936655071d81a24/tomli-2.2.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8dd28b3e155b80f4d54beb40a441d366adcfe740969820caf156c019fb5c7ec4", size = 229894, upload-time = "2024-11-27T22:38:02.094Z" }, + { url = "https://files.pythonhosted.org/packages/55/18/5d8bc5b0a0362311ce4d18830a5d28943667599a60d20118074ea1b01bb7/tomli-2.2.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e59e304978767a54663af13c07b3d1af22ddee3bb2fb0618ca1593e4f593a106", size = 245319, upload-time = "2024-11-27T22:38:03.206Z" }, + { url = "https://files.pythonhosted.org/packages/92/a3/7ade0576d17f3cdf5ff44d61390d4b3febb8a9fc2b480c75c47ea048c646/tomli-2.2.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:33580bccab0338d00994d7f16f4c4ec25b776af3ffaac1ed74e0b3fc95e885a8", size = 238273, upload-time = "2024-11-27T22:38:04.217Z" }, + { url = "https://files.pythonhosted.org/packages/72/6f/fa64ef058ac1446a1e51110c375339b3ec6be245af9d14c87c4a6412dd32/tomli-2.2.1-cp311-cp311-win32.whl", hash = "sha256:465af0e0875402f1d226519c9904f37254b3045fc5084697cefb9bdde1ff99ff", size = 98310, upload-time = "2024-11-27T22:38:05.908Z" }, + { url = "https://files.pythonhosted.org/packages/6a/1c/4a2dcde4a51b81be3530565e92eda625d94dafb46dbeb15069df4caffc34/tomli-2.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:2d0f2fdd22b02c6d81637a3c95f8cd77f995846af7414c5c4b8d0545afa1bc4b", size = 108309, upload-time = "2024-11-27T22:38:06.812Z" }, + { url = "https://files.pythonhosted.org/packages/52/e1/f8af4c2fcde17500422858155aeb0d7e93477a0d59a98e56cbfe75070fd0/tomli-2.2.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4a8f6e44de52d5e6c657c9fe83b562f5f4256d8ebbfe4ff922c495620a7f6cea", size = 132762, upload-time = "2024-11-27T22:38:07.731Z" }, + { url = "https://files.pythonhosted.org/packages/03/b8/152c68bb84fc00396b83e7bbddd5ec0bd3dd409db4195e2a9b3e398ad2e3/tomli-2.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8d57ca8095a641b8237d5b079147646153d22552f1c637fd3ba7f4b0b29167a8", size = 123453, upload-time = "2024-11-27T22:38:09.384Z" }, + { url = "https://files.pythonhosted.org/packages/c8/d6/fc9267af9166f79ac528ff7e8c55c8181ded34eb4b0e93daa767b8841573/tomli-2.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e340144ad7ae1533cb897d406382b4b6fede8890a03738ff1683af800d54192", size = 233486, upload-time = "2024-11-27T22:38:10.329Z" }, + { url = "https://files.pythonhosted.org/packages/5c/51/51c3f2884d7bab89af25f678447ea7d297b53b5a3b5730a7cb2ef6069f07/tomli-2.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:db2b95f9de79181805df90bedc5a5ab4c165e6ec3fe99f970d0e302f384ad222", size = 242349, upload-time = "2024-11-27T22:38:11.443Z" }, + { url = "https://files.pythonhosted.org/packages/ab/df/bfa89627d13a5cc22402e441e8a931ef2108403db390ff3345c05253935e/tomli-2.2.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:40741994320b232529c802f8bc86da4e1aa9f413db394617b9a256ae0f9a7f77", size = 252159, upload-time = "2024-11-27T22:38:13.099Z" }, + { url = "https://files.pythonhosted.org/packages/9e/6e/fa2b916dced65763a5168c6ccb91066f7639bdc88b48adda990db10c8c0b/tomli-2.2.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:400e720fe168c0f8521520190686ef8ef033fb19fc493da09779e592861b78c6", size = 237243, upload-time = "2024-11-27T22:38:14.766Z" }, + { url = "https://files.pythonhosted.org/packages/b4/04/885d3b1f650e1153cbb93a6a9782c58a972b94ea4483ae4ac5cedd5e4a09/tomli-2.2.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:02abe224de6ae62c19f090f68da4e27b10af2b93213d36cf44e6e1c5abd19fdd", size = 259645, upload-time = "2024-11-27T22:38:15.843Z" }, + { url = "https://files.pythonhosted.org/packages/9c/de/6b432d66e986e501586da298e28ebeefd3edc2c780f3ad73d22566034239/tomli-2.2.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b82ebccc8c8a36f2094e969560a1b836758481f3dc360ce9a3277c65f374285e", size = 244584, upload-time = "2024-11-27T22:38:17.645Z" }, + { url = "https://files.pythonhosted.org/packages/1c/9a/47c0449b98e6e7d1be6cbac02f93dd79003234ddc4aaab6ba07a9a7482e2/tomli-2.2.1-cp312-cp312-win32.whl", hash = "sha256:889f80ef92701b9dbb224e49ec87c645ce5df3fa2cc548664eb8a25e03127a98", size = 98875, upload-time = "2024-11-27T22:38:19.159Z" }, + { url = "https://files.pythonhosted.org/packages/ef/60/9b9638f081c6f1261e2688bd487625cd1e660d0a85bd469e91d8db969734/tomli-2.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:7fc04e92e1d624a4a63c76474610238576942d6b8950a2d7f908a340494e67e4", size = 109418, upload-time = "2024-11-27T22:38:20.064Z" }, + { url = "https://files.pythonhosted.org/packages/6e/c2/61d3e0f47e2b74ef40a68b9e6ad5984f6241a942f7cd3bbfbdbd03861ea9/tomli-2.2.1-py3-none-any.whl", hash = "sha256:cb55c73c5f4408779d0cf3eef9f762b9c9f147a77de7b258bef0a5628adc85cc", size = 14257, upload-time = "2024-11-27T22:38:35.385Z" }, +] + +[[package]] +name = "tornado" +version = "6.5.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/09/ce/1eb500eae19f4648281bb2186927bb062d2438c2e5093d1360391afd2f90/tornado-6.5.2.tar.gz", hash = "sha256:ab53c8f9a0fa351e2c0741284e06c7a45da86afb544133201c5cc8578eb076a0", size = 510821, upload-time = "2025-08-08T18:27:00.78Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f6/48/6a7529df2c9cc12efd2e8f5dd219516184d703b34c06786809670df5b3bd/tornado-6.5.2-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:2436822940d37cde62771cff8774f4f00b3c8024fe482e16ca8387b8a2724db6", size = 442563, upload-time = "2025-08-08T18:26:42.945Z" }, + { url = "https://files.pythonhosted.org/packages/f2/b5/9b575a0ed3e50b00c40b08cbce82eb618229091d09f6d14bce80fc01cb0b/tornado-6.5.2-cp39-abi3-macosx_10_9_x86_64.whl", hash = "sha256:583a52c7aa94ee046854ba81d9ebb6c81ec0fd30386d96f7640c96dad45a03ef", size = 440729, upload-time = "2025-08-08T18:26:44.473Z" }, + { url = "https://files.pythonhosted.org/packages/1b/4e/619174f52b120efcf23633c817fd3fed867c30bff785e2cd5a53a70e483c/tornado-6.5.2-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b0fe179f28d597deab2842b86ed4060deec7388f1fd9c1b4a41adf8af058907e", size = 444295, upload-time = "2025-08-08T18:26:46.021Z" }, + { url = "https://files.pythonhosted.org/packages/95/fa/87b41709552bbd393c85dd18e4e3499dcd8983f66e7972926db8d96aa065/tornado-6.5.2-cp39-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b186e85d1e3536d69583d2298423744740986018e393d0321df7340e71898882", size = 443644, upload-time = "2025-08-08T18:26:47.625Z" }, + { url = "https://files.pythonhosted.org/packages/f9/41/fb15f06e33d7430ca89420283a8762a4e6b8025b800ea51796ab5e6d9559/tornado-6.5.2-cp39-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e792706668c87709709c18b353da1f7662317b563ff69f00bab83595940c7108", size = 443878, upload-time = "2025-08-08T18:26:50.599Z" }, + { url = "https://files.pythonhosted.org/packages/11/92/fe6d57da897776ad2e01e279170ea8ae726755b045fe5ac73b75357a5a3f/tornado-6.5.2-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:06ceb1300fd70cb20e43b1ad8aaee0266e69e7ced38fa910ad2e03285009ce7c", size = 444549, upload-time = "2025-08-08T18:26:51.864Z" }, + { url = "https://files.pythonhosted.org/packages/9b/02/c8f4f6c9204526daf3d760f4aa555a7a33ad0e60843eac025ccfd6ff4a93/tornado-6.5.2-cp39-abi3-musllinux_1_2_i686.whl", hash = "sha256:74db443e0f5251be86cbf37929f84d8c20c27a355dd452a5cfa2aada0d001ec4", size = 443973, upload-time = "2025-08-08T18:26:53.625Z" }, + { url = "https://files.pythonhosted.org/packages/ae/2d/f5f5707b655ce2317190183868cd0f6822a1121b4baeae509ceb9590d0bd/tornado-6.5.2-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:b5e735ab2889d7ed33b32a459cac490eda71a1ba6857b0118de476ab6c366c04", size = 443954, upload-time = "2025-08-08T18:26:55.072Z" }, + { url = "https://files.pythonhosted.org/packages/e8/59/593bd0f40f7355806bf6573b47b8c22f8e1374c9b6fd03114bd6b7a3dcfd/tornado-6.5.2-cp39-abi3-win32.whl", hash = "sha256:c6f29e94d9b37a95013bb669616352ddb82e3bfe8326fccee50583caebc8a5f0", size = 445023, upload-time = "2025-08-08T18:26:56.677Z" }, + { url = "https://files.pythonhosted.org/packages/c7/2a/f609b420c2f564a748a2d80ebfb2ee02a73ca80223af712fca591386cafb/tornado-6.5.2-cp39-abi3-win_amd64.whl", hash = "sha256:e56a5af51cc30dd2cae649429af65ca2f6571da29504a07995175df14c18f35f", size = 445427, upload-time = "2025-08-08T18:26:57.91Z" }, + { url = "https://files.pythonhosted.org/packages/5e/4f/e1f65e8f8c76d73658b33d33b81eed4322fb5085350e4328d5c956f0c8f9/tornado-6.5.2-cp39-abi3-win_arm64.whl", hash = "sha256:d6c33dc3672e3a1f3618eb63b7ef4683a7688e7b9e6e8f0d9aa5726360a004af", size = 444456, upload-time = "2025-08-08T18:26:59.207Z" }, +] + +[[package]] +name = "typer" +version = "0.16.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "click" }, + { name = "rich" }, + { name = "shellingham" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/43/78/d90f616bf5f88f8710ad067c1f8705bf7618059836ca084e5bb2a0855d75/typer-0.16.1.tar.gz", hash = "sha256:d358c65a464a7a90f338e3bb7ff0c74ac081449e53884b12ba658cbd72990614", size = 102836, upload-time = "2025-08-18T19:18:22.898Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2d/76/06dbe78f39b2203d2a47d5facc5df5102d0561e2807396471b5f7c5a30a1/typer-0.16.1-py3-none-any.whl", hash = "sha256:90ee01cb02d9b8395ae21ee3368421faf21fa138cb2a541ed369c08cec5237c9", size = 46397, upload-time = "2025-08-18T19:18:21.663Z" }, +] + +[[package]] +name = "typing-extensions" +version = "4.14.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d1/bc/51647cd02527e87d05cb083ccc402f93e441606ff1f01739a62c8ad09ba5/typing_extensions-4.14.0.tar.gz", hash = "sha256:8676b788e32f02ab42d9e7c61324048ae4c6d844a399eebace3d4979d75ceef4", size = 107423, upload-time = "2025-06-02T14:52:11.399Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/69/e0/552843e0d356fbb5256d21449fa957fa4eff3bbc135a74a691ee70c7c5da/typing_extensions-4.14.0-py3-none-any.whl", hash = "sha256:a1514509136dd0b477638fc68d6a91497af5076466ad0fa6c338e44e359944af", size = 43839, upload-time = "2025-06-02T14:52:10.026Z" }, +] + +[[package]] +name = "urllib3" +version = "2.5.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/15/22/9ee70a2574a4f4599c47dd506532914ce044817c7752a79b6a51286319bc/urllib3-2.5.0.tar.gz", hash = "sha256:3fc47733c7e419d4bc3f6b3dc2b4f890bb743906a30d56ba4a5bfa4bbff92760", size = 393185, upload-time = "2025-06-18T14:07:41.644Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a7/c2/fe1e52489ae3122415c51f387e221dd0773709bad6c6cdaa599e8a2c5185/urllib3-2.5.0-py3-none-any.whl", hash = "sha256:e6b01673c0fa6a13e374b50871808eb3bf7046c4b125b216f6bf1cc604cff0dc", size = 129795, upload-time = "2025-06-18T14:07:40.39Z" }, +] + +[[package]] +name = "uvicorn" +version = "0.34.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "click" }, + { name = "h11" }, + { name = "typing-extensions", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/de/ad/713be230bcda622eaa35c28f0d328c3675c371238470abdea52417f17a8e/uvicorn-0.34.3.tar.gz", hash = "sha256:35919a9a979d7a59334b6b10e05d77c1d0d574c50e0fc98b8b1a0f165708b55a", size = 76631, upload-time = "2025-06-01T07:48:17.531Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6d/0d/8adfeaa62945f90d19ddc461c55f4a50c258af7662d34b6a3d5d1f8646f6/uvicorn-0.34.3-py3-none-any.whl", hash = "sha256:16246631db62bdfbf069b0645177d6e8a77ba950cfedbfd093acef9444e4d885", size = 62431, upload-time = "2025-06-01T07:48:15.664Z" }, +] + +[[package]] +name = "uvloop" +version = "0.21.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/af/c0/854216d09d33c543f12a44b393c402e89a920b1a0a7dc634c42de91b9cf6/uvloop-0.21.0.tar.gz", hash = "sha256:3bf12b0fda68447806a7ad847bfa591613177275d35b6724b1ee573faa3704e3", size = 2492741, upload-time = "2024-10-14T23:38:35.489Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3d/76/44a55515e8c9505aa1420aebacf4dd82552e5e15691654894e90d0bd051a/uvloop-0.21.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:ec7e6b09a6fdded42403182ab6b832b71f4edaf7f37a9a0e371a01db5f0cb45f", size = 1442019, upload-time = "2024-10-14T23:37:20.068Z" }, + { url = "https://files.pythonhosted.org/packages/35/5a/62d5800358a78cc25c8a6c72ef8b10851bdb8cca22e14d9c74167b7f86da/uvloop-0.21.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:196274f2adb9689a289ad7d65700d37df0c0930fd8e4e743fa4834e850d7719d", size = 801898, upload-time = "2024-10-14T23:37:22.663Z" }, + { url = "https://files.pythonhosted.org/packages/f3/96/63695e0ebd7da6c741ccd4489b5947394435e198a1382349c17b1146bb97/uvloop-0.21.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f38b2e090258d051d68a5b14d1da7203a3c3677321cf32a95a6f4db4dd8b6f26", size = 3827735, upload-time = "2024-10-14T23:37:25.129Z" }, + { url = "https://files.pythonhosted.org/packages/61/e0/f0f8ec84979068ffae132c58c79af1de9cceeb664076beea86d941af1a30/uvloop-0.21.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:87c43e0f13022b998eb9b973b5e97200c8b90823454d4bc06ab33829e09fb9bb", size = 3825126, upload-time = "2024-10-14T23:37:27.59Z" }, + { url = "https://files.pythonhosted.org/packages/bf/fe/5e94a977d058a54a19df95f12f7161ab6e323ad49f4dabc28822eb2df7ea/uvloop-0.21.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:10d66943def5fcb6e7b37310eb6b5639fd2ccbc38df1177262b0640c3ca68c1f", size = 3705789, upload-time = "2024-10-14T23:37:29.385Z" }, + { url = "https://files.pythonhosted.org/packages/26/dd/c7179618e46092a77e036650c1f056041a028a35c4d76945089fcfc38af8/uvloop-0.21.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:67dd654b8ca23aed0a8e99010b4c34aca62f4b7fce88f39d452ed7622c94845c", size = 3800523, upload-time = "2024-10-14T23:37:32.048Z" }, + { url = "https://files.pythonhosted.org/packages/57/a7/4cf0334105c1160dd6819f3297f8700fda7fc30ab4f61fbf3e725acbc7cc/uvloop-0.21.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:c0f3fa6200b3108919f8bdabb9a7f87f20e7097ea3c543754cabc7d717d95cf8", size = 1447410, upload-time = "2024-10-14T23:37:33.612Z" }, + { url = "https://files.pythonhosted.org/packages/8c/7c/1517b0bbc2dbe784b563d6ab54f2ef88c890fdad77232c98ed490aa07132/uvloop-0.21.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0878c2640cf341b269b7e128b1a5fed890adc4455513ca710d77d5e93aa6d6a0", size = 805476, upload-time = "2024-10-14T23:37:36.11Z" }, + { url = "https://files.pythonhosted.org/packages/ee/ea/0bfae1aceb82a503f358d8d2fa126ca9dbdb2ba9c7866974faec1cb5875c/uvloop-0.21.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b9fb766bb57b7388745d8bcc53a359b116b8a04c83a2288069809d2b3466c37e", size = 3960855, upload-time = "2024-10-14T23:37:37.683Z" }, + { url = "https://files.pythonhosted.org/packages/8a/ca/0864176a649838b838f36d44bf31c451597ab363b60dc9e09c9630619d41/uvloop-0.21.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8a375441696e2eda1c43c44ccb66e04d61ceeffcd76e4929e527b7fa401b90fb", size = 3973185, upload-time = "2024-10-14T23:37:40.226Z" }, + { url = "https://files.pythonhosted.org/packages/30/bf/08ad29979a936d63787ba47a540de2132169f140d54aa25bc8c3df3e67f4/uvloop-0.21.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:baa0e6291d91649c6ba4ed4b2f982f9fa165b5bbd50a9e203c416a2797bab3c6", size = 3820256, upload-time = "2024-10-14T23:37:42.839Z" }, + { url = "https://files.pythonhosted.org/packages/da/e2/5cf6ef37e3daf2f06e651aae5ea108ad30df3cb269102678b61ebf1fdf42/uvloop-0.21.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:4509360fcc4c3bd2c70d87573ad472de40c13387f5fda8cb58350a1d7475e58d", size = 3937323, upload-time = "2024-10-14T23:37:45.337Z" }, + { url = "https://files.pythonhosted.org/packages/8c/4c/03f93178830dc7ce8b4cdee1d36770d2f5ebb6f3d37d354e061eefc73545/uvloop-0.21.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:359ec2c888397b9e592a889c4d72ba3d6befba8b2bb01743f72fffbde663b59c", size = 1471284, upload-time = "2024-10-14T23:37:47.833Z" }, + { url = "https://files.pythonhosted.org/packages/43/3e/92c03f4d05e50f09251bd8b2b2b584a2a7f8fe600008bcc4523337abe676/uvloop-0.21.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:f7089d2dc73179ce5ac255bdf37c236a9f914b264825fdaacaded6990a7fb4c2", size = 821349, upload-time = "2024-10-14T23:37:50.149Z" }, + { url = "https://files.pythonhosted.org/packages/a6/ef/a02ec5da49909dbbfb1fd205a9a1ac4e88ea92dcae885e7c961847cd51e2/uvloop-0.21.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:baa4dcdbd9ae0a372f2167a207cd98c9f9a1ea1188a8a526431eef2f8116cc8d", size = 4580089, upload-time = "2024-10-14T23:37:51.703Z" }, + { url = "https://files.pythonhosted.org/packages/06/a7/b4e6a19925c900be9f98bec0a75e6e8f79bb53bdeb891916609ab3958967/uvloop-0.21.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:86975dca1c773a2c9864f4c52c5a55631038e387b47eaf56210f873887b6c8dc", size = 4693770, upload-time = "2024-10-14T23:37:54.122Z" }, + { url = "https://files.pythonhosted.org/packages/ce/0c/f07435a18a4b94ce6bd0677d8319cd3de61f3a9eeb1e5f8ab4e8b5edfcb3/uvloop-0.21.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:461d9ae6660fbbafedd07559c6a2e57cd553b34b0065b6550685f6653a98c1cb", size = 4451321, upload-time = "2024-10-14T23:37:55.766Z" }, + { url = "https://files.pythonhosted.org/packages/8f/eb/f7032be105877bcf924709c97b1bf3b90255b4ec251f9340cef912559f28/uvloop-0.21.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:183aef7c8730e54c9a3ee3227464daed66e37ba13040bb3f350bc2ddc040f22f", size = 4659022, upload-time = "2024-10-14T23:37:58.195Z" }, +] + +[[package]] +name = "virtualenv" +version = "20.34.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "distlib" }, + { name = "filelock" }, + { name = "platformdirs" }, + { name = "typing-extensions", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/1c/14/37fcdba2808a6c615681cd216fecae00413c9dab44fb2e57805ecf3eaee3/virtualenv-20.34.0.tar.gz", hash = "sha256:44815b2c9dee7ed86e387b842a84f20b93f7f417f95886ca1996a72a4138eb1a", size = 6003808, upload-time = "2025-08-13T14:24:07.464Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/76/06/04c8e804f813cf972e3262f3f8584c232de64f0cde9f703b46cf53a45090/virtualenv-20.34.0-py3-none-any.whl", hash = "sha256:341f5afa7eee943e4984a9207c025feedd768baff6753cd660c857ceb3e36026", size = 5983279, upload-time = "2025-08-13T14:24:05.111Z" }, +] + +[[package]] +name = "websocket-client" +version = "1.8.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e6/30/fba0d96b4b5fbf5948ed3f4681f7da2f9f64512e1d303f94b4cc174c24a5/websocket_client-1.8.0.tar.gz", hash = "sha256:3239df9f44da632f96012472805d40a23281a991027ce11d2f45a6f24ac4c3da", size = 54648, upload-time = "2024-04-23T22:16:16.976Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5a/84/44687a29792a70e111c5c477230a72c4b957d88d16141199bf9acb7537a3/websocket_client-1.8.0-py3-none-any.whl", hash = "sha256:17b44cc997f5c498e809b22cdf2d9c7a9e71c02c8cc2b6c56e7c2d1239bfa526", size = 58826, upload-time = "2024-04-23T22:16:14.422Z" }, +] + +[[package]] +name = "websockets" +version = "15.0.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/21/e6/26d09fab466b7ca9c7737474c52be4f76a40301b08362eb2dbc19dcc16c1/websockets-15.0.1.tar.gz", hash = "sha256:82544de02076bafba038ce055ee6412d68da13ab47f0c60cab827346de828dee", size = 177016, upload-time = "2025-03-05T20:03:41.606Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1e/da/6462a9f510c0c49837bbc9345aca92d767a56c1fb2939e1579df1e1cdcf7/websockets-15.0.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d63efaa0cd96cf0c5fe4d581521d9fa87744540d4bc999ae6e08595a1014b45b", size = 175423, upload-time = "2025-03-05T20:01:35.363Z" }, + { url = "https://files.pythonhosted.org/packages/1c/9f/9d11c1a4eb046a9e106483b9ff69bce7ac880443f00e5ce64261b47b07e7/websockets-15.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ac60e3b188ec7574cb761b08d50fcedf9d77f1530352db4eef1707fe9dee7205", size = 173080, upload-time = "2025-03-05T20:01:37.304Z" }, + { url = "https://files.pythonhosted.org/packages/d5/4f/b462242432d93ea45f297b6179c7333dd0402b855a912a04e7fc61c0d71f/websockets-15.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5756779642579d902eed757b21b0164cd6fe338506a8083eb58af5c372e39d9a", size = 173329, upload-time = "2025-03-05T20:01:39.668Z" }, + { url = "https://files.pythonhosted.org/packages/6e/0c/6afa1f4644d7ed50284ac59cc70ef8abd44ccf7d45850d989ea7310538d0/websockets-15.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0fdfe3e2a29e4db3659dbd5bbf04560cea53dd9610273917799f1cde46aa725e", size = 182312, upload-time = "2025-03-05T20:01:41.815Z" }, + { url = "https://files.pythonhosted.org/packages/dd/d4/ffc8bd1350b229ca7a4db2a3e1c482cf87cea1baccd0ef3e72bc720caeec/websockets-15.0.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4c2529b320eb9e35af0fa3016c187dffb84a3ecc572bcee7c3ce302bfeba52bf", size = 181319, upload-time = "2025-03-05T20:01:43.967Z" }, + { url = "https://files.pythonhosted.org/packages/97/3a/5323a6bb94917af13bbb34009fac01e55c51dfde354f63692bf2533ffbc2/websockets-15.0.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ac1e5c9054fe23226fb11e05a6e630837f074174c4c2f0fe442996112a6de4fb", size = 181631, upload-time = "2025-03-05T20:01:46.104Z" }, + { url = "https://files.pythonhosted.org/packages/a6/cc/1aeb0f7cee59ef065724041bb7ed667b6ab1eeffe5141696cccec2687b66/websockets-15.0.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:5df592cd503496351d6dc14f7cdad49f268d8e618f80dce0cd5a36b93c3fc08d", size = 182016, upload-time = "2025-03-05T20:01:47.603Z" }, + { url = "https://files.pythonhosted.org/packages/79/f9/c86f8f7af208e4161a7f7e02774e9d0a81c632ae76db2ff22549e1718a51/websockets-15.0.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:0a34631031a8f05657e8e90903e656959234f3a04552259458aac0b0f9ae6fd9", size = 181426, upload-time = "2025-03-05T20:01:48.949Z" }, + { url = "https://files.pythonhosted.org/packages/c7/b9/828b0bc6753db905b91df6ae477c0b14a141090df64fb17f8a9d7e3516cf/websockets-15.0.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:3d00075aa65772e7ce9e990cab3ff1de702aa09be3940d1dc88d5abf1ab8a09c", size = 181360, upload-time = "2025-03-05T20:01:50.938Z" }, + { url = "https://files.pythonhosted.org/packages/89/fb/250f5533ec468ba6327055b7d98b9df056fb1ce623b8b6aaafb30b55d02e/websockets-15.0.1-cp310-cp310-win32.whl", hash = "sha256:1234d4ef35db82f5446dca8e35a7da7964d02c127b095e172e54397fb6a6c256", size = 176388, upload-time = "2025-03-05T20:01:52.213Z" }, + { url = "https://files.pythonhosted.org/packages/1c/46/aca7082012768bb98e5608f01658ff3ac8437e563eca41cf068bd5849a5e/websockets-15.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:39c1fec2c11dc8d89bba6b2bf1556af381611a173ac2b511cf7231622058af41", size = 176830, upload-time = "2025-03-05T20:01:53.922Z" }, + { url = "https://files.pythonhosted.org/packages/9f/32/18fcd5919c293a398db67443acd33fde142f283853076049824fc58e6f75/websockets-15.0.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:823c248b690b2fd9303ba00c4f66cd5e2d8c3ba4aa968b2779be9532a4dad431", size = 175423, upload-time = "2025-03-05T20:01:56.276Z" }, + { url = "https://files.pythonhosted.org/packages/76/70/ba1ad96b07869275ef42e2ce21f07a5b0148936688c2baf7e4a1f60d5058/websockets-15.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:678999709e68425ae2593acf2e3ebcbcf2e69885a5ee78f9eb80e6e371f1bf57", size = 173082, upload-time = "2025-03-05T20:01:57.563Z" }, + { url = "https://files.pythonhosted.org/packages/86/f2/10b55821dd40eb696ce4704a87d57774696f9451108cff0d2824c97e0f97/websockets-15.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d50fd1ee42388dcfb2b3676132c78116490976f1300da28eb629272d5d93e905", size = 173330, upload-time = "2025-03-05T20:01:59.063Z" }, + { url = "https://files.pythonhosted.org/packages/a5/90/1c37ae8b8a113d3daf1065222b6af61cc44102da95388ac0018fcb7d93d9/websockets-15.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d99e5546bf73dbad5bf3547174cd6cb8ba7273062a23808ffea025ecb1cf8562", size = 182878, upload-time = "2025-03-05T20:02:00.305Z" }, + { url = "https://files.pythonhosted.org/packages/8e/8d/96e8e288b2a41dffafb78e8904ea7367ee4f891dafc2ab8d87e2124cb3d3/websockets-15.0.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:66dd88c918e3287efc22409d426c8f729688d89a0c587c88971a0faa2c2f3792", size = 181883, upload-time = "2025-03-05T20:02:03.148Z" }, + { url = "https://files.pythonhosted.org/packages/93/1f/5d6dbf551766308f6f50f8baf8e9860be6182911e8106da7a7f73785f4c4/websockets-15.0.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8dd8327c795b3e3f219760fa603dcae1dcc148172290a8ab15158cf85a953413", size = 182252, upload-time = "2025-03-05T20:02:05.29Z" }, + { url = "https://files.pythonhosted.org/packages/d4/78/2d4fed9123e6620cbf1706c0de8a1632e1a28e7774d94346d7de1bba2ca3/websockets-15.0.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8fdc51055e6ff4adeb88d58a11042ec9a5eae317a0a53d12c062c8a8865909e8", size = 182521, upload-time = "2025-03-05T20:02:07.458Z" }, + { url = "https://files.pythonhosted.org/packages/e7/3b/66d4c1b444dd1a9823c4a81f50231b921bab54eee2f69e70319b4e21f1ca/websockets-15.0.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:693f0192126df6c2327cce3baa7c06f2a117575e32ab2308f7f8216c29d9e2e3", size = 181958, upload-time = "2025-03-05T20:02:09.842Z" }, + { url = "https://files.pythonhosted.org/packages/08/ff/e9eed2ee5fed6f76fdd6032ca5cd38c57ca9661430bb3d5fb2872dc8703c/websockets-15.0.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:54479983bd5fb469c38f2f5c7e3a24f9a4e70594cd68cd1fa6b9340dadaff7cf", size = 181918, upload-time = "2025-03-05T20:02:11.968Z" }, + { url = "https://files.pythonhosted.org/packages/d8/75/994634a49b7e12532be6a42103597b71098fd25900f7437d6055ed39930a/websockets-15.0.1-cp311-cp311-win32.whl", hash = "sha256:16b6c1b3e57799b9d38427dda63edcbe4926352c47cf88588c0be4ace18dac85", size = 176388, upload-time = "2025-03-05T20:02:13.32Z" }, + { url = "https://files.pythonhosted.org/packages/98/93/e36c73f78400a65f5e236cd376713c34182e6663f6889cd45a4a04d8f203/websockets-15.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:27ccee0071a0e75d22cb35849b1db43f2ecd3e161041ac1ee9d2352ddf72f065", size = 176828, upload-time = "2025-03-05T20:02:14.585Z" }, + { url = "https://files.pythonhosted.org/packages/51/6b/4545a0d843594f5d0771e86463606a3988b5a09ca5123136f8a76580dd63/websockets-15.0.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:3e90baa811a5d73f3ca0bcbf32064d663ed81318ab225ee4f427ad4e26e5aff3", size = 175437, upload-time = "2025-03-05T20:02:16.706Z" }, + { url = "https://files.pythonhosted.org/packages/f4/71/809a0f5f6a06522af902e0f2ea2757f71ead94610010cf570ab5c98e99ed/websockets-15.0.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:592f1a9fe869c778694f0aa806ba0374e97648ab57936f092fd9d87f8bc03665", size = 173096, upload-time = "2025-03-05T20:02:18.832Z" }, + { url = "https://files.pythonhosted.org/packages/3d/69/1a681dd6f02180916f116894181eab8b2e25b31e484c5d0eae637ec01f7c/websockets-15.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0701bc3cfcb9164d04a14b149fd74be7347a530ad3bbf15ab2c678a2cd3dd9a2", size = 173332, upload-time = "2025-03-05T20:02:20.187Z" }, + { url = "https://files.pythonhosted.org/packages/a6/02/0073b3952f5bce97eafbb35757f8d0d54812b6174ed8dd952aa08429bcc3/websockets-15.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e8b56bdcdb4505c8078cb6c7157d9811a85790f2f2b3632c7d1462ab5783d215", size = 183152, upload-time = "2025-03-05T20:02:22.286Z" }, + { url = "https://files.pythonhosted.org/packages/74/45/c205c8480eafd114b428284840da0b1be9ffd0e4f87338dc95dc6ff961a1/websockets-15.0.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0af68c55afbd5f07986df82831c7bff04846928ea8d1fd7f30052638788bc9b5", size = 182096, upload-time = "2025-03-05T20:02:24.368Z" }, + { url = "https://files.pythonhosted.org/packages/14/8f/aa61f528fba38578ec553c145857a181384c72b98156f858ca5c8e82d9d3/websockets-15.0.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:64dee438fed052b52e4f98f76c5790513235efaa1ef7f3f2192c392cd7c91b65", size = 182523, upload-time = "2025-03-05T20:02:25.669Z" }, + { url = "https://files.pythonhosted.org/packages/ec/6d/0267396610add5bc0d0d3e77f546d4cd287200804fe02323797de77dbce9/websockets-15.0.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:d5f6b181bb38171a8ad1d6aa58a67a6aa9d4b38d0f8c5f496b9e42561dfc62fe", size = 182790, upload-time = "2025-03-05T20:02:26.99Z" }, + { url = "https://files.pythonhosted.org/packages/02/05/c68c5adbf679cf610ae2f74a9b871ae84564462955d991178f95a1ddb7dd/websockets-15.0.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:5d54b09eba2bada6011aea5375542a157637b91029687eb4fdb2dab11059c1b4", size = 182165, upload-time = "2025-03-05T20:02:30.291Z" }, + { url = "https://files.pythonhosted.org/packages/29/93/bb672df7b2f5faac89761cb5fa34f5cec45a4026c383a4b5761c6cea5c16/websockets-15.0.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3be571a8b5afed347da347bfcf27ba12b069d9d7f42cb8c7028b5e98bbb12597", size = 182160, upload-time = "2025-03-05T20:02:31.634Z" }, + { url = "https://files.pythonhosted.org/packages/ff/83/de1f7709376dc3ca9b7eeb4b9a07b4526b14876b6d372a4dc62312bebee0/websockets-15.0.1-cp312-cp312-win32.whl", hash = "sha256:c338ffa0520bdb12fbc527265235639fb76e7bc7faafbb93f6ba80d9c06578a9", size = 176395, upload-time = "2025-03-05T20:02:33.017Z" }, + { url = "https://files.pythonhosted.org/packages/7d/71/abf2ebc3bbfa40f391ce1428c7168fb20582d0ff57019b69ea20fa698043/websockets-15.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:fcd5cf9e305d7b8338754470cf69cf81f420459dbae8a3b40cee57417f4614a7", size = 176841, upload-time = "2025-03-05T20:02:34.498Z" }, + { url = "https://files.pythonhosted.org/packages/02/9e/d40f779fa16f74d3468357197af8d6ad07e7c5a27ea1ca74ceb38986f77a/websockets-15.0.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:0c9e74d766f2818bb95f84c25be4dea09841ac0f734d1966f415e4edfc4ef1c3", size = 173109, upload-time = "2025-03-05T20:03:17.769Z" }, + { url = "https://files.pythonhosted.org/packages/bc/cd/5b887b8585a593073fd92f7c23ecd3985cd2c3175025a91b0d69b0551372/websockets-15.0.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:1009ee0c7739c08a0cd59de430d6de452a55e42d6b522de7aa15e6f67db0b8e1", size = 173343, upload-time = "2025-03-05T20:03:19.094Z" }, + { url = "https://files.pythonhosted.org/packages/fe/ae/d34f7556890341e900a95acf4886833646306269f899d58ad62f588bf410/websockets-15.0.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:76d1f20b1c7a2fa82367e04982e708723ba0e7b8d43aa643d3dcd404d74f1475", size = 174599, upload-time = "2025-03-05T20:03:21.1Z" }, + { url = "https://files.pythonhosted.org/packages/71/e6/5fd43993a87db364ec60fc1d608273a1a465c0caba69176dd160e197ce42/websockets-15.0.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f29d80eb9a9263b8d109135351caf568cc3f80b9928bccde535c235de55c22d9", size = 174207, upload-time = "2025-03-05T20:03:23.221Z" }, + { url = "https://files.pythonhosted.org/packages/2b/fb/c492d6daa5ec067c2988ac80c61359ace5c4c674c532985ac5a123436cec/websockets-15.0.1-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b359ed09954d7c18bbc1680f380c7301f92c60bf924171629c5db97febb12f04", size = 174155, upload-time = "2025-03-05T20:03:25.321Z" }, + { url = "https://files.pythonhosted.org/packages/68/a1/dcb68430b1d00b698ae7a7e0194433bce4f07ded185f0ee5fb21e2a2e91e/websockets-15.0.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:cad21560da69f4ce7658ca2cb83138fb4cf695a2ba3e475e0559e05991aa8122", size = 176884, upload-time = "2025-03-05T20:03:27.934Z" }, + { url = "https://files.pythonhosted.org/packages/fa/a8/5b41e0da817d64113292ab1f8247140aac61cbf6cfd085d6a0fa77f4984f/websockets-15.0.1-py3-none-any.whl", hash = "sha256:f7a866fbc1e97b5c617ee4116daaa09b722101d4a3c170c787450ba409f9736f", size = 169743, upload-time = "2025-03-05T20:03:39.41Z" }, +] + +[[package]] +name = "win32-setctime" +version = "1.2.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b3/8f/705086c9d734d3b663af0e9bb3d4de6578d08f46b1b101c2442fd9aecaa2/win32_setctime-1.2.0.tar.gz", hash = "sha256:ae1fdf948f5640aae05c511ade119313fb6a30d7eabe25fef9764dca5873c4c0", size = 4867, upload-time = "2024-12-07T15:28:28.314Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e1/07/c6fe3ad3e685340704d314d765b7912993bcb8dc198f0e7a89382d37974b/win32_setctime-1.2.0-py3-none-any.whl", hash = "sha256:95d644c4e708aba81dc3704a116d8cbc974d70b3bdb8be1d150e36be6e9d1390", size = 4083, upload-time = "2024-12-07T15:28:26.465Z" }, +] + +[[package]] +name = "wrapt" +version = "1.17.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/95/8f/aeb76c5b46e273670962298c23e7ddde79916cb74db802131d49a85e4b7d/wrapt-1.17.3.tar.gz", hash = "sha256:f66eb08feaa410fe4eebd17f2a2c8e2e46d3476e9f8c783daa8e09e0faa666d0", size = 55547, upload-time = "2025-08-12T05:53:21.714Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3f/23/bb82321b86411eb51e5a5db3fb8f8032fd30bd7c2d74bfe936136b2fa1d6/wrapt-1.17.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:88bbae4d40d5a46142e70d58bf664a89b6b4befaea7b2ecc14e03cedb8e06c04", size = 53482, upload-time = "2025-08-12T05:51:44.467Z" }, + { url = "https://files.pythonhosted.org/packages/45/69/f3c47642b79485a30a59c63f6d739ed779fb4cc8323205d047d741d55220/wrapt-1.17.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e6b13af258d6a9ad602d57d889f83b9d5543acd471eee12eb51f5b01f8eb1bc2", size = 38676, upload-time = "2025-08-12T05:51:32.636Z" }, + { url = "https://files.pythonhosted.org/packages/d1/71/e7e7f5670c1eafd9e990438e69d8fb46fa91a50785332e06b560c869454f/wrapt-1.17.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fd341868a4b6714a5962c1af0bd44f7c404ef78720c7de4892901e540417111c", size = 38957, upload-time = "2025-08-12T05:51:54.655Z" }, + { url = "https://files.pythonhosted.org/packages/de/17/9f8f86755c191d6779d7ddead1a53c7a8aa18bccb7cea8e7e72dfa6a8a09/wrapt-1.17.3-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:f9b2601381be482f70e5d1051a5965c25fb3625455a2bf520b5a077b22afb775", size = 81975, upload-time = "2025-08-12T05:52:30.109Z" }, + { url = "https://files.pythonhosted.org/packages/f2/15/dd576273491f9f43dd09fce517f6c2ce6eb4fe21681726068db0d0467096/wrapt-1.17.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:343e44b2a8e60e06a7e0d29c1671a0d9951f59174f3709962b5143f60a2a98bd", size = 83149, upload-time = "2025-08-12T05:52:09.316Z" }, + { url = "https://files.pythonhosted.org/packages/0c/c4/5eb4ce0d4814521fee7aa806264bf7a114e748ad05110441cd5b8a5c744b/wrapt-1.17.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:33486899acd2d7d3066156b03465b949da3fd41a5da6e394ec49d271baefcf05", size = 82209, upload-time = "2025-08-12T05:52:10.331Z" }, + { url = "https://files.pythonhosted.org/packages/31/4b/819e9e0eb5c8dc86f60dfc42aa4e2c0d6c3db8732bce93cc752e604bb5f5/wrapt-1.17.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:e6f40a8aa5a92f150bdb3e1c44b7e98fb7113955b2e5394122fa5532fec4b418", size = 81551, upload-time = "2025-08-12T05:52:31.137Z" }, + { url = "https://files.pythonhosted.org/packages/f8/83/ed6baf89ba3a56694700139698cf703aac9f0f9eb03dab92f57551bd5385/wrapt-1.17.3-cp310-cp310-win32.whl", hash = "sha256:a36692b8491d30a8c75f1dfee65bef119d6f39ea84ee04d9f9311f83c5ad9390", size = 36464, upload-time = "2025-08-12T05:53:01.204Z" }, + { url = "https://files.pythonhosted.org/packages/2f/90/ee61d36862340ad7e9d15a02529df6b948676b9a5829fd5e16640156627d/wrapt-1.17.3-cp310-cp310-win_amd64.whl", hash = "sha256:afd964fd43b10c12213574db492cb8f73b2f0826c8df07a68288f8f19af2ebe6", size = 38748, upload-time = "2025-08-12T05:53:00.209Z" }, + { url = "https://files.pythonhosted.org/packages/bd/c3/cefe0bd330d389c9983ced15d326f45373f4073c9f4a8c2f99b50bfea329/wrapt-1.17.3-cp310-cp310-win_arm64.whl", hash = "sha256:af338aa93554be859173c39c85243970dc6a289fa907402289eeae7543e1ae18", size = 36810, upload-time = "2025-08-12T05:52:51.906Z" }, + { url = "https://files.pythonhosted.org/packages/52/db/00e2a219213856074a213503fdac0511203dceefff26e1daa15250cc01a0/wrapt-1.17.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:273a736c4645e63ac582c60a56b0acb529ef07f78e08dc6bfadf6a46b19c0da7", size = 53482, upload-time = "2025-08-12T05:51:45.79Z" }, + { url = "https://files.pythonhosted.org/packages/5e/30/ca3c4a5eba478408572096fe9ce36e6e915994dd26a4e9e98b4f729c06d9/wrapt-1.17.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5531d911795e3f935a9c23eb1c8c03c211661a5060aab167065896bbf62a5f85", size = 38674, upload-time = "2025-08-12T05:51:34.629Z" }, + { url = "https://files.pythonhosted.org/packages/31/25/3e8cc2c46b5329c5957cec959cb76a10718e1a513309c31399a4dad07eb3/wrapt-1.17.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0610b46293c59a3adbae3dee552b648b984176f8562ee0dba099a56cfbe4df1f", size = 38959, upload-time = "2025-08-12T05:51:56.074Z" }, + { url = "https://files.pythonhosted.org/packages/5d/8f/a32a99fc03e4b37e31b57cb9cefc65050ea08147a8ce12f288616b05ef54/wrapt-1.17.3-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:b32888aad8b6e68f83a8fdccbf3165f5469702a7544472bdf41f582970ed3311", size = 82376, upload-time = "2025-08-12T05:52:32.134Z" }, + { url = "https://files.pythonhosted.org/packages/31/57/4930cb8d9d70d59c27ee1332a318c20291749b4fba31f113c2f8ac49a72e/wrapt-1.17.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8cccf4f81371f257440c88faed6b74f1053eef90807b77e31ca057b2db74edb1", size = 83604, upload-time = "2025-08-12T05:52:11.663Z" }, + { url = "https://files.pythonhosted.org/packages/a8/f3/1afd48de81d63dd66e01b263a6fbb86e1b5053b419b9b33d13e1f6d0f7d0/wrapt-1.17.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d8a210b158a34164de8bb68b0e7780041a903d7b00c87e906fb69928bf7890d5", size = 82782, upload-time = "2025-08-12T05:52:12.626Z" }, + { url = "https://files.pythonhosted.org/packages/1e/d7/4ad5327612173b144998232f98a85bb24b60c352afb73bc48e3e0d2bdc4e/wrapt-1.17.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:79573c24a46ce11aab457b472efd8d125e5a51da2d1d24387666cd85f54c05b2", size = 82076, upload-time = "2025-08-12T05:52:33.168Z" }, + { url = "https://files.pythonhosted.org/packages/bb/59/e0adfc831674a65694f18ea6dc821f9fcb9ec82c2ce7e3d73a88ba2e8718/wrapt-1.17.3-cp311-cp311-win32.whl", hash = "sha256:c31eebe420a9a5d2887b13000b043ff6ca27c452a9a22fa71f35f118e8d4bf89", size = 36457, upload-time = "2025-08-12T05:53:03.936Z" }, + { url = "https://files.pythonhosted.org/packages/83/88/16b7231ba49861b6f75fc309b11012ede4d6b0a9c90969d9e0db8d991aeb/wrapt-1.17.3-cp311-cp311-win_amd64.whl", hash = "sha256:0b1831115c97f0663cb77aa27d381237e73ad4f721391a9bfb2fe8bc25fa6e77", size = 38745, upload-time = "2025-08-12T05:53:02.885Z" }, + { url = "https://files.pythonhosted.org/packages/9a/1e/c4d4f3398ec073012c51d1c8d87f715f56765444e1a4b11e5180577b7e6e/wrapt-1.17.3-cp311-cp311-win_arm64.whl", hash = "sha256:5a7b3c1ee8265eb4c8f1b7d29943f195c00673f5ab60c192eba2d4a7eae5f46a", size = 36806, upload-time = "2025-08-12T05:52:53.368Z" }, + { url = "https://files.pythonhosted.org/packages/9f/41/cad1aba93e752f1f9268c77270da3c469883d56e2798e7df6240dcb2287b/wrapt-1.17.3-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:ab232e7fdb44cdfbf55fc3afa31bcdb0d8980b9b95c38b6405df2acb672af0e0", size = 53998, upload-time = "2025-08-12T05:51:47.138Z" }, + { url = "https://files.pythonhosted.org/packages/60/f8/096a7cc13097a1869fe44efe68dace40d2a16ecb853141394047f0780b96/wrapt-1.17.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:9baa544e6acc91130e926e8c802a17f3b16fbea0fd441b5a60f5cf2cc5c3deba", size = 39020, upload-time = "2025-08-12T05:51:35.906Z" }, + { url = "https://files.pythonhosted.org/packages/33/df/bdf864b8997aab4febb96a9ae5c124f700a5abd9b5e13d2a3214ec4be705/wrapt-1.17.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6b538e31eca1a7ea4605e44f81a48aa24c4632a277431a6ed3f328835901f4fd", size = 39098, upload-time = "2025-08-12T05:51:57.474Z" }, + { url = "https://files.pythonhosted.org/packages/9f/81/5d931d78d0eb732b95dc3ddaeeb71c8bb572fb01356e9133916cd729ecdd/wrapt-1.17.3-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:042ec3bb8f319c147b1301f2393bc19dba6e176b7da446853406d041c36c7828", size = 88036, upload-time = "2025-08-12T05:52:34.784Z" }, + { url = "https://files.pythonhosted.org/packages/ca/38/2e1785df03b3d72d34fc6252d91d9d12dc27a5c89caef3335a1bbb8908ca/wrapt-1.17.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3af60380ba0b7b5aeb329bc4e402acd25bd877e98b3727b0135cb5c2efdaefe9", size = 88156, upload-time = "2025-08-12T05:52:13.599Z" }, + { url = "https://files.pythonhosted.org/packages/b3/8b/48cdb60fe0603e34e05cffda0b2a4adab81fd43718e11111a4b0100fd7c1/wrapt-1.17.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:0b02e424deef65c9f7326d8c19220a2c9040c51dc165cddb732f16198c168396", size = 87102, upload-time = "2025-08-12T05:52:14.56Z" }, + { url = "https://files.pythonhosted.org/packages/3c/51/d81abca783b58f40a154f1b2c56db1d2d9e0d04fa2d4224e357529f57a57/wrapt-1.17.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:74afa28374a3c3a11b3b5e5fca0ae03bef8450d6aa3ab3a1e2c30e3a75d023dc", size = 87732, upload-time = "2025-08-12T05:52:36.165Z" }, + { url = "https://files.pythonhosted.org/packages/9e/b1/43b286ca1392a006d5336412d41663eeef1ad57485f3e52c767376ba7e5a/wrapt-1.17.3-cp312-cp312-win32.whl", hash = "sha256:4da9f45279fff3543c371d5ababc57a0384f70be244de7759c85a7f989cb4ebe", size = 36705, upload-time = "2025-08-12T05:53:07.123Z" }, + { url = "https://files.pythonhosted.org/packages/28/de/49493f962bd3c586ab4b88066e967aa2e0703d6ef2c43aa28cb83bf7b507/wrapt-1.17.3-cp312-cp312-win_amd64.whl", hash = "sha256:e71d5c6ebac14875668a1e90baf2ea0ef5b7ac7918355850c0908ae82bcb297c", size = 38877, upload-time = "2025-08-12T05:53:05.436Z" }, + { url = "https://files.pythonhosted.org/packages/f1/48/0f7102fe9cb1e8a5a77f80d4f0956d62d97034bbe88d33e94699f99d181d/wrapt-1.17.3-cp312-cp312-win_arm64.whl", hash = "sha256:604d076c55e2fdd4c1c03d06dc1a31b95130010517b5019db15365ec4a405fc6", size = 36885, upload-time = "2025-08-12T05:52:54.367Z" }, + { url = "https://files.pythonhosted.org/packages/1f/f6/a933bd70f98e9cf3e08167fc5cd7aaaca49147e48411c0bd5ae701bb2194/wrapt-1.17.3-py3-none-any.whl", hash = "sha256:7171ae35d2c33d326ac19dd8facb1e82e5fd04ef8c6c0e394d7af55a55051c22", size = 23591, upload-time = "2025-08-12T05:53:20.674Z" }, +] + +[[package]] +name = "yarl" +version = "1.20.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "idna" }, + { name = "multidict" }, + { name = "propcache" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/3c/fb/efaa23fa4e45537b827620f04cf8f3cd658b76642205162e072703a5b963/yarl-1.20.1.tar.gz", hash = "sha256:d017a4997ee50c91fd5466cef416231bb82177b93b029906cefc542ce14c35ac", size = 186428, upload-time = "2025-06-10T00:46:09.923Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cb/65/7fed0d774abf47487c64be14e9223749468922817b5e8792b8a64792a1bb/yarl-1.20.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:6032e6da6abd41e4acda34d75a816012717000fa6839f37124a47fcefc49bec4", size = 132910, upload-time = "2025-06-10T00:42:31.108Z" }, + { url = "https://files.pythonhosted.org/packages/8a/7b/988f55a52da99df9e56dc733b8e4e5a6ae2090081dc2754fc8fd34e60aa0/yarl-1.20.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:2c7b34d804b8cf9b214f05015c4fee2ebe7ed05cf581e7192c06555c71f4446a", size = 90644, upload-time = "2025-06-10T00:42:33.851Z" }, + { url = "https://files.pythonhosted.org/packages/f7/de/30d98f03e95d30c7e3cc093759982d038c8833ec2451001d45ef4854edc1/yarl-1.20.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0c869f2651cc77465f6cd01d938d91a11d9ea5d798738c1dc077f3de0b5e5fed", size = 89322, upload-time = "2025-06-10T00:42:35.688Z" }, + { url = "https://files.pythonhosted.org/packages/e0/7a/f2f314f5ebfe9200724b0b748de2186b927acb334cf964fd312eb86fc286/yarl-1.20.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:62915e6688eb4d180d93840cda4110995ad50c459bf931b8b3775b37c264af1e", size = 323786, upload-time = "2025-06-10T00:42:37.817Z" }, + { url = "https://files.pythonhosted.org/packages/15/3f/718d26f189db96d993d14b984ce91de52e76309d0fd1d4296f34039856aa/yarl-1.20.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:41ebd28167bc6af8abb97fec1a399f412eec5fd61a3ccbe2305a18b84fb4ca73", size = 319627, upload-time = "2025-06-10T00:42:39.937Z" }, + { url = "https://files.pythonhosted.org/packages/a5/76/8fcfbf5fa2369157b9898962a4a7d96764b287b085b5b3d9ffae69cdefd1/yarl-1.20.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:21242b4288a6d56f04ea193adde174b7e347ac46ce6bc84989ff7c1b1ecea84e", size = 339149, upload-time = "2025-06-10T00:42:42.627Z" }, + { url = "https://files.pythonhosted.org/packages/3c/95/d7fc301cc4661785967acc04f54a4a42d5124905e27db27bb578aac49b5c/yarl-1.20.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bea21cdae6c7eb02ba02a475f37463abfe0a01f5d7200121b03e605d6a0439f8", size = 333327, upload-time = "2025-06-10T00:42:44.842Z" }, + { url = "https://files.pythonhosted.org/packages/65/94/e21269718349582eee81efc5c1c08ee71c816bfc1585b77d0ec3f58089eb/yarl-1.20.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1f8a891e4a22a89f5dde7862994485e19db246b70bb288d3ce73a34422e55b23", size = 326054, upload-time = "2025-06-10T00:42:47.149Z" }, + { url = "https://files.pythonhosted.org/packages/32/ae/8616d1f07853704523519f6131d21f092e567c5af93de7e3e94b38d7f065/yarl-1.20.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dd803820d44c8853a109a34e3660e5a61beae12970da479cf44aa2954019bf70", size = 315035, upload-time = "2025-06-10T00:42:48.852Z" }, + { url = "https://files.pythonhosted.org/packages/48/aa/0ace06280861ef055855333707db5e49c6e3a08840a7ce62682259d0a6c0/yarl-1.20.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:b982fa7f74c80d5c0c7b5b38f908971e513380a10fecea528091405f519b9ebb", size = 338962, upload-time = "2025-06-10T00:42:51.024Z" }, + { url = "https://files.pythonhosted.org/packages/20/52/1e9d0e6916f45a8fb50e6844f01cb34692455f1acd548606cbda8134cd1e/yarl-1.20.1-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:33f29ecfe0330c570d997bcf1afd304377f2e48f61447f37e846a6058a4d33b2", size = 335399, upload-time = "2025-06-10T00:42:53.007Z" }, + { url = "https://files.pythonhosted.org/packages/f2/65/60452df742952c630e82f394cd409de10610481d9043aa14c61bf846b7b1/yarl-1.20.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:835ab2cfc74d5eb4a6a528c57f05688099da41cf4957cf08cad38647e4a83b30", size = 338649, upload-time = "2025-06-10T00:42:54.964Z" }, + { url = "https://files.pythonhosted.org/packages/7b/f5/6cd4ff38dcde57a70f23719a838665ee17079640c77087404c3d34da6727/yarl-1.20.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:46b5e0ccf1943a9a6e766b2c2b8c732c55b34e28be57d8daa2b3c1d1d4009309", size = 358563, upload-time = "2025-06-10T00:42:57.28Z" }, + { url = "https://files.pythonhosted.org/packages/d1/90/c42eefd79d0d8222cb3227bdd51b640c0c1d0aa33fe4cc86c36eccba77d3/yarl-1.20.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:df47c55f7d74127d1b11251fe6397d84afdde0d53b90bedb46a23c0e534f9d24", size = 357609, upload-time = "2025-06-10T00:42:59.055Z" }, + { url = "https://files.pythonhosted.org/packages/03/c8/cea6b232cb4617514232e0f8a718153a95b5d82b5290711b201545825532/yarl-1.20.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:76d12524d05841276b0e22573f28d5fbcb67589836772ae9244d90dd7d66aa13", size = 350224, upload-time = "2025-06-10T00:43:01.248Z" }, + { url = "https://files.pythonhosted.org/packages/ce/a3/eaa0ab9712f1f3d01faf43cf6f1f7210ce4ea4a7e9b28b489a2261ca8db9/yarl-1.20.1-cp310-cp310-win32.whl", hash = "sha256:6c4fbf6b02d70e512d7ade4b1f998f237137f1417ab07ec06358ea04f69134f8", size = 81753, upload-time = "2025-06-10T00:43:03.486Z" }, + { url = "https://files.pythonhosted.org/packages/8f/34/e4abde70a9256465fe31c88ed02c3f8502b7b5dead693a4f350a06413f28/yarl-1.20.1-cp310-cp310-win_amd64.whl", hash = "sha256:aef6c4d69554d44b7f9d923245f8ad9a707d971e6209d51279196d8e8fe1ae16", size = 86817, upload-time = "2025-06-10T00:43:05.231Z" }, + { url = "https://files.pythonhosted.org/packages/b1/18/893b50efc2350e47a874c5c2d67e55a0ea5df91186b2a6f5ac52eff887cd/yarl-1.20.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:47ee6188fea634bdfaeb2cc420f5b3b17332e6225ce88149a17c413c77ff269e", size = 133833, upload-time = "2025-06-10T00:43:07.393Z" }, + { url = "https://files.pythonhosted.org/packages/89/ed/b8773448030e6fc47fa797f099ab9eab151a43a25717f9ac043844ad5ea3/yarl-1.20.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:d0f6500f69e8402d513e5eedb77a4e1818691e8f45e6b687147963514d84b44b", size = 91070, upload-time = "2025-06-10T00:43:09.538Z" }, + { url = "https://files.pythonhosted.org/packages/e3/e3/409bd17b1e42619bf69f60e4f031ce1ccb29bd7380117a55529e76933464/yarl-1.20.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7a8900a42fcdaad568de58887c7b2f602962356908eedb7628eaf6021a6e435b", size = 89818, upload-time = "2025-06-10T00:43:11.575Z" }, + { url = "https://files.pythonhosted.org/packages/f8/77/64d8431a4d77c856eb2d82aa3de2ad6741365245a29b3a9543cd598ed8c5/yarl-1.20.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bad6d131fda8ef508b36be3ece16d0902e80b88ea7200f030a0f6c11d9e508d4", size = 347003, upload-time = "2025-06-10T00:43:14.088Z" }, + { url = "https://files.pythonhosted.org/packages/8d/d2/0c7e4def093dcef0bd9fa22d4d24b023788b0a33b8d0088b51aa51e21e99/yarl-1.20.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:df018d92fe22aaebb679a7f89fe0c0f368ec497e3dda6cb81a567610f04501f1", size = 336537, upload-time = "2025-06-10T00:43:16.431Z" }, + { url = "https://files.pythonhosted.org/packages/f0/f3/fc514f4b2cf02cb59d10cbfe228691d25929ce8f72a38db07d3febc3f706/yarl-1.20.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8f969afbb0a9b63c18d0feecf0db09d164b7a44a053e78a7d05f5df163e43833", size = 362358, upload-time = "2025-06-10T00:43:18.704Z" }, + { url = "https://files.pythonhosted.org/packages/ea/6d/a313ac8d8391381ff9006ac05f1d4331cee3b1efaa833a53d12253733255/yarl-1.20.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:812303eb4aa98e302886ccda58d6b099e3576b1b9276161469c25803a8db277d", size = 357362, upload-time = "2025-06-10T00:43:20.888Z" }, + { url = "https://files.pythonhosted.org/packages/00/70/8f78a95d6935a70263d46caa3dd18e1f223cf2f2ff2037baa01a22bc5b22/yarl-1.20.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:98c4a7d166635147924aa0bf9bfe8d8abad6fffa6102de9c99ea04a1376f91e8", size = 348979, upload-time = "2025-06-10T00:43:23.169Z" }, + { url = "https://files.pythonhosted.org/packages/cb/05/42773027968968f4f15143553970ee36ead27038d627f457cc44bbbeecf3/yarl-1.20.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:12e768f966538e81e6e7550f9086a6236b16e26cd964cf4df35349970f3551cf", size = 337274, upload-time = "2025-06-10T00:43:27.111Z" }, + { url = "https://files.pythonhosted.org/packages/05/be/665634aa196954156741ea591d2f946f1b78ceee8bb8f28488bf28c0dd62/yarl-1.20.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:fe41919b9d899661c5c28a8b4b0acf704510b88f27f0934ac7a7bebdd8938d5e", size = 363294, upload-time = "2025-06-10T00:43:28.96Z" }, + { url = "https://files.pythonhosted.org/packages/eb/90/73448401d36fa4e210ece5579895731f190d5119c4b66b43b52182e88cd5/yarl-1.20.1-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:8601bc010d1d7780592f3fc1bdc6c72e2b6466ea34569778422943e1a1f3c389", size = 358169, upload-time = "2025-06-10T00:43:30.701Z" }, + { url = "https://files.pythonhosted.org/packages/c3/b0/fce922d46dc1eb43c811f1889f7daa6001b27a4005587e94878570300881/yarl-1.20.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:daadbdc1f2a9033a2399c42646fbd46da7992e868a5fe9513860122d7fe7a73f", size = 362776, upload-time = "2025-06-10T00:43:32.51Z" }, + { url = "https://files.pythonhosted.org/packages/f1/0d/b172628fce039dae8977fd22caeff3eeebffd52e86060413f5673767c427/yarl-1.20.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:03aa1e041727cb438ca762628109ef1333498b122e4c76dd858d186a37cec845", size = 381341, upload-time = "2025-06-10T00:43:34.543Z" }, + { url = "https://files.pythonhosted.org/packages/6b/9b/5b886d7671f4580209e855974fe1cecec409aa4a89ea58b8f0560dc529b1/yarl-1.20.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:642980ef5e0fa1de5fa96d905c7e00cb2c47cb468bfcac5a18c58e27dbf8d8d1", size = 379988, upload-time = "2025-06-10T00:43:36.489Z" }, + { url = "https://files.pythonhosted.org/packages/73/be/75ef5fd0fcd8f083a5d13f78fd3f009528132a1f2a1d7c925c39fa20aa79/yarl-1.20.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:86971e2795584fe8c002356d3b97ef6c61862720eeff03db2a7c86b678d85b3e", size = 371113, upload-time = "2025-06-10T00:43:38.592Z" }, + { url = "https://files.pythonhosted.org/packages/50/4f/62faab3b479dfdcb741fe9e3f0323e2a7d5cd1ab2edc73221d57ad4834b2/yarl-1.20.1-cp311-cp311-win32.whl", hash = "sha256:597f40615b8d25812f14562699e287f0dcc035d25eb74da72cae043bb884d773", size = 81485, upload-time = "2025-06-10T00:43:41.038Z" }, + { url = "https://files.pythonhosted.org/packages/f0/09/d9c7942f8f05c32ec72cd5c8e041c8b29b5807328b68b4801ff2511d4d5e/yarl-1.20.1-cp311-cp311-win_amd64.whl", hash = "sha256:26ef53a9e726e61e9cd1cda6b478f17e350fb5800b4bd1cd9fe81c4d91cfeb2e", size = 86686, upload-time = "2025-06-10T00:43:42.692Z" }, + { url = "https://files.pythonhosted.org/packages/5f/9a/cb7fad7d73c69f296eda6815e4a2c7ed53fc70c2f136479a91c8e5fbdb6d/yarl-1.20.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:bdcc4cd244e58593a4379fe60fdee5ac0331f8eb70320a24d591a3be197b94a9", size = 133667, upload-time = "2025-06-10T00:43:44.369Z" }, + { url = "https://files.pythonhosted.org/packages/67/38/688577a1cb1e656e3971fb66a3492501c5a5df56d99722e57c98249e5b8a/yarl-1.20.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:b29a2c385a5f5b9c7d9347e5812b6f7ab267193c62d282a540b4fc528c8a9d2a", size = 91025, upload-time = "2025-06-10T00:43:46.295Z" }, + { url = "https://files.pythonhosted.org/packages/50/ec/72991ae51febeb11a42813fc259f0d4c8e0507f2b74b5514618d8b640365/yarl-1.20.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1112ae8154186dfe2de4732197f59c05a83dc814849a5ced892b708033f40dc2", size = 89709, upload-time = "2025-06-10T00:43:48.22Z" }, + { url = "https://files.pythonhosted.org/packages/99/da/4d798025490e89426e9f976702e5f9482005c548c579bdae792a4c37769e/yarl-1.20.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:90bbd29c4fe234233f7fa2b9b121fb63c321830e5d05b45153a2ca68f7d310ee", size = 352287, upload-time = "2025-06-10T00:43:49.924Z" }, + { url = "https://files.pythonhosted.org/packages/1a/26/54a15c6a567aac1c61b18aa0f4b8aa2e285a52d547d1be8bf48abe2b3991/yarl-1.20.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:680e19c7ce3710ac4cd964e90dad99bf9b5029372ba0c7cbfcd55e54d90ea819", size = 345429, upload-time = "2025-06-10T00:43:51.7Z" }, + { url = "https://files.pythonhosted.org/packages/d6/95/9dcf2386cb875b234353b93ec43e40219e14900e046bf6ac118f94b1e353/yarl-1.20.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4a979218c1fdb4246a05efc2cc23859d47c89af463a90b99b7c56094daf25a16", size = 365429, upload-time = "2025-06-10T00:43:53.494Z" }, + { url = "https://files.pythonhosted.org/packages/91/b2/33a8750f6a4bc224242a635f5f2cff6d6ad5ba651f6edcccf721992c21a0/yarl-1.20.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:255b468adf57b4a7b65d8aad5b5138dce6a0752c139965711bdcb81bc370e1b6", size = 363862, upload-time = "2025-06-10T00:43:55.766Z" }, + { url = "https://files.pythonhosted.org/packages/98/28/3ab7acc5b51f4434b181b0cee8f1f4b77a65919700a355fb3617f9488874/yarl-1.20.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a97d67108e79cfe22e2b430d80d7571ae57d19f17cda8bb967057ca8a7bf5bfd", size = 355616, upload-time = "2025-06-10T00:43:58.056Z" }, + { url = "https://files.pythonhosted.org/packages/36/a3/f666894aa947a371724ec7cd2e5daa78ee8a777b21509b4252dd7bd15e29/yarl-1.20.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8570d998db4ddbfb9a590b185a0a33dbf8aafb831d07a5257b4ec9948df9cb0a", size = 339954, upload-time = "2025-06-10T00:43:59.773Z" }, + { url = "https://files.pythonhosted.org/packages/f1/81/5f466427e09773c04219d3450d7a1256138a010b6c9f0af2d48565e9ad13/yarl-1.20.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:97c75596019baae7c71ccf1d8cc4738bc08134060d0adfcbe5642f778d1dca38", size = 365575, upload-time = "2025-06-10T00:44:02.051Z" }, + { url = "https://files.pythonhosted.org/packages/2e/e3/e4b0ad8403e97e6c9972dd587388940a032f030ebec196ab81a3b8e94d31/yarl-1.20.1-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:1c48912653e63aef91ff988c5432832692ac5a1d8f0fb8a33091520b5bbe19ef", size = 365061, upload-time = "2025-06-10T00:44:04.196Z" }, + { url = "https://files.pythonhosted.org/packages/ac/99/b8a142e79eb86c926f9f06452eb13ecb1bb5713bd01dc0038faf5452e544/yarl-1.20.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:4c3ae28f3ae1563c50f3d37f064ddb1511ecc1d5584e88c6b7c63cf7702a6d5f", size = 364142, upload-time = "2025-06-10T00:44:06.527Z" }, + { url = "https://files.pythonhosted.org/packages/34/f2/08ed34a4a506d82a1a3e5bab99ccd930a040f9b6449e9fd050320e45845c/yarl-1.20.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c5e9642f27036283550f5f57dc6156c51084b458570b9d0d96100c8bebb186a8", size = 381894, upload-time = "2025-06-10T00:44:08.379Z" }, + { url = "https://files.pythonhosted.org/packages/92/f8/9a3fbf0968eac704f681726eff595dce9b49c8a25cd92bf83df209668285/yarl-1.20.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:2c26b0c49220d5799f7b22c6838409ee9bc58ee5c95361a4d7831f03cc225b5a", size = 383378, upload-time = "2025-06-10T00:44:10.51Z" }, + { url = "https://files.pythonhosted.org/packages/af/85/9363f77bdfa1e4d690957cd39d192c4cacd1c58965df0470a4905253b54f/yarl-1.20.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:564ab3d517e3d01c408c67f2e5247aad4019dcf1969982aba3974b4093279004", size = 374069, upload-time = "2025-06-10T00:44:12.834Z" }, + { url = "https://files.pythonhosted.org/packages/35/99/9918c8739ba271dcd935400cff8b32e3cd319eaf02fcd023d5dcd487a7c8/yarl-1.20.1-cp312-cp312-win32.whl", hash = "sha256:daea0d313868da1cf2fac6b2d3a25c6e3a9e879483244be38c8e6a41f1d876a5", size = 81249, upload-time = "2025-06-10T00:44:14.731Z" }, + { url = "https://files.pythonhosted.org/packages/eb/83/5d9092950565481b413b31a23e75dd3418ff0a277d6e0abf3729d4d1ce25/yarl-1.20.1-cp312-cp312-win_amd64.whl", hash = "sha256:48ea7d7f9be0487339828a4de0360d7ce0efc06524a48e1810f945c45b813698", size = 86710, upload-time = "2025-06-10T00:44:16.716Z" }, + { url = "https://files.pythonhosted.org/packages/b4/2d/2345fce04cfd4bee161bf1e7d9cdc702e3e16109021035dbb24db654a622/yarl-1.20.1-py3-none-any.whl", hash = "sha256:83b8eb083fe4683c6115795d9fc1cfaf2cbbefb19b3a1cb68f6527460f483a77", size = 46542, upload-time = "2025-06-10T00:46:07.521Z" }, +]

6N2$P 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 HXD|OdP1NCc literal 0 HcmV?d00001 diff --git a/static/3.png b/static/3.png new file mode 100644 index 0000000000000000000000000000000000000000..343f926af8261b643a063f637e7ae71b33b347c0 GIT binary patch literal 182701 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�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%0DS@+di`ncJ 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 M89l(?cX&hyVZp literal 0 HcmV?d00001 diff --git a/templates/example/index.html b/templates/example/index.html index 36d325b..28b2d68 100644 --- a/templates/example/index.html +++ b/templates/example/index.html @@ -358,8 +358,14 @@ -