From b310547bcd5b345aeaed51d9f546ed9698f98e2e Mon Sep 17 00:00:00 2001 From: Guillermo Perez Date: Tue, 26 Nov 2024 22:29:55 +0100 Subject: [PATCH] Update build system * Use uv for venvs, build and publish (remove poetry) * Use ruff for lint and format checks * Simplify ci and release github pipelines * Make nox use uv * Clean nox, clean pyproject --- .github/workflows/ci.yml | 126 ++----- .github/workflows/release.yml | 24 ++ benchmark.py | 6 +- dev-requirements.txt | 2 - noxfile.py | 57 ++-- poetry.lock | 312 ------------------ pyproject.toml | 45 ++- .../connection/memcache_socket.py | 2 +- uv.lock | 271 +++++++++++++++ 9 files changed, 369 insertions(+), 476 deletions(-) create mode 100644 .github/workflows/release.yml delete mode 100644 dev-requirements.txt delete mode 100644 poetry.lock create mode 100644 uv.lock diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 520d3ca..65acbba 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,113 +1,31 @@ name: Continuous Integration -on: +on: + pull_request: push: + branches: + - main jobs: - tests: + lint: + name: Lint runs-on: ubuntu-latest - strategy: - matrix: - python-version: ['3.8', '3.11'] - name: Python ${{ matrix.python-version }} steps: - - uses: actions/checkout@main - - uses: actions/setup-python@main - with: - python-version: ${{ matrix.python-version }} - architecture: x64 - - run: pip install -r dev-requirements.txt - - run: nox -p ${{ matrix.python-version }} - - deploy-vnext: - runs-on: ubuntu-latest - needs: tests - if: github.ref == 'refs/heads/main' - - env: - NODE_ENV: production - - steps: - - uses: actions/checkout@main - - name: Set up Python 3.11 - uses: actions/setup-python@main - with: - python-version: '3.11' - architecture: x64 - - name: Install dependencies - run: | - pip install -r dev-requirements.txt - poetry install - - - name: Generate version - id: pkg-info - run: | - git clone --bare ${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY} ../metadata - pushd ../metadata - - latestTag=$(git rev-list --tags --max-count=1) - firstCommit=$(git rev-list --max-parents=0 HEAD) - build="$(git rev-list --count ${latestTag:=${firstCommit}}..HEAD)" - - popd - setupVer=$(grep "version = " pyproject.toml | cut -d' ' -f3 | sed "s/\"//g") - version="${setupVer}-dev${build}" - - echo ::set-output name=setup_version::${setupVer} - echo ::set-output name=version::${version} - - name: Prep pyproject.toml for release - env: - SETUP_VERSION: ${{ steps.pkg-info.outputs.setup_version }} - PKG_VERSION: ${{ steps.pkg-info.outputs.version }} - run: | - sed -i "s/version = \"${SETUP_VERSION}\"/version = \"${PKG_VERSION}\"/" ./pyproject.toml - - name: Build library package - run: poetry build - - - name: Deploy to pypi - uses: pypa/gh-action-pypi-publish@release/v1 - with: - user: __token__ - password: ${{ secrets.PYPI_PASSWORD }} - - deploy-latest: - runs-on: ubuntu-latest - needs: tests - if: startsWith(github.ref, 'refs/tags/v') - - env: - NODE_ENV: production + - uses: actions/checkout@v4 + - uses: astral-sh/setup-uv@v3 + - name: Lint + run: uv run -m nox -s lint + - name: Format check + run: uv run -m nox -s format + tests: + name: Run tests + strategy: + matrix: + os: [ubuntu-latest, macos-latest] + runs-on: ${{ matrix.os }} steps: - - uses: actions/checkout@main - - name: Set up Python 3.11 - uses: actions/setup-python@main - with: - python-version: '3.11' - architecture: x64 - - name: Install dependencies - run: | - pip install -r dev-requirements.txt - poetry install - - name: Generate version - id: pkg-info - run: | - setupVer=$(grep "version = " pyproject.toml | cut -d' ' -f3 | sed "s/\"//g") - - echo ::set-output name=setup_version::${setupVer} - echo ::set-output name=version::${GITHUB_REF#refs/tags/v} - - - name: Prep pyproject.toml for release - env: - SETUP_VERSION: ${{ steps.pkg-info.outputs.setup_version }} - PKG_VERSION: ${{ steps.pkg-info.outputs.version }} - run: | - sed -i "s/version = \"${SETUP_VERSION}\"/version = \"${PKG_VERSION}\"/" ./pyproject.toml - - name: Build library package - run: poetry build - - - name: Deploy to pypi - uses: pypa/gh-action-pypi-publish@release/v1 - with: - user: __token__ - password: ${{ secrets.PYPI_PASSWORD }} + - uses: actions/checkout@v4 + - uses: astral-sh/setup-uv@v3 + - name: Tests + run: uv run -m nox -s tests diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..b57643e --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,24 @@ +name: Release + +on: + push: + tags: + # Publish on any tag starting with a `v`, e.g. v1.2.3 + - v* + +jobs: + pypi: + name: Publish to PyPI + runs-on: ubuntu-latest + # Environment and permissions trusted publishing. + environment: + name: production + + permissions: + id-token: write + steps: + - uses: actions/checkout@v4 + - uses: astral-sh/setup-uv@v3 + - run: uv run -m nox + - run: uv build + - run: uv publish --token ${{ secrets.PYPI_PASSWORD }} diff --git a/benchmark.py b/benchmark.py index a5ff173..3f7f1cc 100644 --- a/benchmark.py +++ b/benchmark.py @@ -1,7 +1,6 @@ import gc import threading import time -import timeit from typing import Any, Callable, Optional import click @@ -19,7 +18,6 @@ ) from meta_memcache.executors.default import DefaultExecutor from meta_memcache.interfaces.cache_api import CacheApi -from meta_memcache.protocol import Success from meta_memcache.routers.default import DefaultRouter from meta_memcache.serializer import MixedSerializer from meta_memcache.settings import DEFAULT_MARK_DOWN_PERIOD_S @@ -141,12 +139,12 @@ def _build_client(self) -> CacheApi: def getter(self) -> None: count = 0 for _ in range(self.runs): - start_time = time.time() + start_time = time.perf_counter() while True: self.client.get(f"key{count%200}") count += 1 if count % self.ops_per_run == 0: - elapsed_time = time.time() - start_time + elapsed_time = time.perf_counter() - start_time ops_per_sec = self.ops_per_run / elapsed_time us = elapsed_time / self.ops_per_run * 1_000_000 print(f"Gets: {ops_per_sec:.2f} RPS / {us:.2f} us/req") diff --git a/dev-requirements.txt b/dev-requirements.txt deleted file mode 100644 index 2fe8161..0000000 --- a/dev-requirements.txt +++ /dev/null @@ -1,2 +0,0 @@ -nox==2023.4.22 -poetry==1.6.1 diff --git a/noxfile.py b/noxfile.py index 342ef68..3f53cd8 100644 --- a/noxfile.py +++ b/noxfile.py @@ -3,44 +3,46 @@ package = "meta_memcache" -nox.options.sessions = "lint", "types", "tests" -locations = "src", "tests", "noxfile.py" -DEFAULT_VERSION = "3.8" +nox.options.sessions = "lint", "format", "types", "tests" +locations = "src", "tests", "noxfile.py", "benchmark.py" +DEFAULT_VERSION = "3.11" DEFAULT_BENCHMARK_VERSIONS = ["3.11"] -VERSIONS = ["3.8", "3.11"] +VERSIONS = ["3.12", "3.11", "3.10"] + +# Default to uv backend: +nox.options.default_venv_backend = "uv|virtualenv" @session(python=DEFAULT_VERSION) -def black(session: Session) -> None: - """Run black code formatter.""" +def lint(session: Session) -> None: + """Lint using ruff.""" + args = session.posargs or locations + session.install("ruff", ".") + session.run("ruff", "check", *args) + +@session(python=DEFAULT_VERSION) +def format(session: Session) -> None: + """Format check using ruff.""" args = session.posargs or locations - session.install("black", ".") - session.run("black", *args) + session.install("ruff", ".") + session.run("ruff", "format", "--diff", *args) -@session(python=VERSIONS) -def lint(session: Session) -> None: - """Lint using flake8.""" +@session(python=DEFAULT_VERSION) +def fix_format(session: Session) -> None: + """Fix format using ruff.""" args = session.posargs or locations - session.install( - "flake8", - "flake8-annotations", - "flake8-bandit", - "flake8-black", - "flake8-bugbear", - "flake8-docstrings", - "bandit", - ".", - ) - session.run("flake8", *args) + session.install("ruff", ".") + session.run("ruff", "format", *args) @session(python=DEFAULT_VERSION) def types(session: Session) -> None: """Type-check using mypy.""" - session.run("poetry", "install", "--with", "extras", external=True) - session.install("mypy", ".") + # session.run("poetry", "install", "--with", "extras", external=True) + # session.install(".[cicd]") # Install the project and optional dependencies + session.install("mypy", ".[metrics]") session.run("mypy", "src/") @@ -48,11 +50,11 @@ def types(session: Session) -> None: def tests(session: Session) -> None: """Run the test suite.""" args = session.posargs or ["--cov"] - session.run("poetry", "install", "--with", "extras", external=True) session.install( "pytest", "pytest-cov", "pytest-mock", + ".[metrics]", ) session.run("pytest", *args, env={"PYTHONHASHSEED": "0"}) @@ -61,9 +63,6 @@ def tests(session: Session) -> None: def benchmark(session: Session) -> None: """Run the benchmark suite.""" args = session.posargs - session.run("poetry", "install", "--with", "extras", external=True) - session.install( - "click", - ) + session.install("click", ".") session.run("python", "--version") session.run("python", "benchmark.py", *args) diff --git a/poetry.lock b/poetry.lock deleted file mode 100644 index 5fa0e8d..0000000 --- a/poetry.lock +++ /dev/null @@ -1,312 +0,0 @@ -# This file is automatically @generated by Poetry 1.8.1 and should not be changed by hand. - -[[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 = "marisa-trie" -version = "1.0.0" -description = "Static memory-efficient and fast Trie-like structures for Python." -optional = false -python-versions = ">=3.7" -files = [ - {file = "marisa-trie-1.0.0.tar.gz", hash = "sha256:d8a68301f023a724eb379aaa1b10f88a9e1a458cc8a41b527c62507859b4a4d2"}, - {file = "marisa_trie-1.0.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:ac817d167f84bdc4de2a737fb5ffb635ba1a3fdf3dbbcc06541b2cb420416e79"}, - {file = "marisa_trie-1.0.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6bc75721f4fb8c1d1d0812d2ed17e57ff77e7192c792114af941c12dab1a4346"}, - {file = "marisa_trie-1.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:210cfa143a5f5dc5038a4255adc891eec4d55aa7eff409b70434b796b5de0f1f"}, - {file = "marisa_trie-1.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9794b840d4a211b78816ffb7839ac205e22d895f368b8d14fdf00e4a9615e6a5"}, - {file = "marisa_trie-1.0.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b29aecbffc474bb0353d9c73608bcb9fb36b1a44d9bf707e973c1ce8e63bda7b"}, - {file = "marisa_trie-1.0.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:6ea5e2436978c586f3a74b171eef088167291cddf71dbf4681418f61267d2254"}, - {file = "marisa_trie-1.0.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a1a9d78d9f3010fcb8c1a8c40565bb5115cd55766d501bb85828ce6d56e32314"}, - {file = "marisa_trie-1.0.0-cp310-cp310-win32.whl", hash = "sha256:bd1fa1b82272114b0f81595921f37ada7f29227f2ce23ef228a1af4ae0dbfe0e"}, - {file = "marisa_trie-1.0.0-cp310-cp310-win_amd64.whl", hash = "sha256:f43f73814678304a9384ada1ba15ef5f46e557f566a0209cc3d4bb0eda4792ad"}, - {file = "marisa_trie-1.0.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:0654229e476ac07719f9e427fafb902473eb5ca4284690cd2960872285945ee8"}, - {file = "marisa_trie-1.0.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a6c6800674003f60975cb578b1240dce91c8e276a1bdec9c0e280b9ef296fb54"}, - {file = "marisa_trie-1.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6fdd5e619fa44dba41276220186772c926860dfa9b791d8d8f29b3ce6c65a23a"}, - {file = "marisa_trie-1.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f53c54d7deeff79b65b3310ff763aa95e61cb6c5fe4bf63bc0ebe6e98be91fa4"}, - {file = "marisa_trie-1.0.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e9addb7095f7ba8076febb2928ed4be5a247ee31064da770ae97c3a772b9216d"}, - {file = "marisa_trie-1.0.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:eef6c2e2daacca171296c24f8972af2bbbfd529de678fd4c4c7e2b216f799e84"}, - {file = "marisa_trie-1.0.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:97187816838f5cdd5aeb7d1b170a8fd6688596e5ce53186696de18bb5abd8369"}, - {file = "marisa_trie-1.0.0-cp311-cp311-win32.whl", hash = "sha256:9297a6b1fff4761d493041a172c45e86ab409f1d0fb88d6a427e4d3f8d5e810f"}, - {file = "marisa_trie-1.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:8ce63d85d7a6821fee54bccf5c4d54f53b1d7ab48189db0779514f659f629cf9"}, - {file = "marisa_trie-1.0.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:ee16569ee02f27c43eb7280a8e4277add33e2bc9ff4ea9e5584cd0b487c5769b"}, - {file = "marisa_trie-1.0.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba8790022a91a4eca0cbe06669ab51f4275a5943a506e3a8b7b462d3f3cad85f"}, - {file = "marisa_trie-1.0.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:86eb98a38db8795928d6235e4e84285a64f8b85efa80836c4b29f66b5a114ba1"}, - {file = "marisa_trie-1.0.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:61370c3a5e93e05eb501c80c24346909eb4dd3595d733b4fd3847ec05204c22d"}, - {file = "marisa_trie-1.0.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:f93fdff76037a5b730830b78b1df6f20a4cafb24ba520a412a10b608b28a8477"}, - {file = "marisa_trie-1.0.0-cp37-cp37m-win32.whl", hash = "sha256:49f804013d2696feae1bb42a9f974dace2406bbce9624cddf82f5a08b91ea59f"}, - {file = "marisa_trie-1.0.0-cp37-cp37m-win_amd64.whl", hash = "sha256:9c46ed9d939e6c6234bda52ff13427967d5f9dbb73696175b0fb5c42b1200069"}, - {file = "marisa_trie-1.0.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:69621f0c317157e360ad465313de6d04fbc47b936a3d77284d2b7aa5fc8c05d4"}, - {file = "marisa_trie-1.0.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:d01e2482246c9563c22cf9883fed4f618f806e35e6aad3564060bfbdfae3e075"}, - {file = "marisa_trie-1.0.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:834c24627984eaddd145c559e905aabc78f12f3445ddaac8d013a928de57c321"}, - {file = "marisa_trie-1.0.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b0e868f19b2ccfc6b656aa86bb934ad68783aa717c37e5f88e60e240a2e829fb"}, - {file = "marisa_trie-1.0.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ddcbfbb09d067a2764534f6f7997d65ae681bf556304cc96f437f096810888f2"}, - {file = "marisa_trie-1.0.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:52ea8c5d05b638c9543520c77a03604907ef5e21214fe92ac4e22416b324bc6e"}, - {file = "marisa_trie-1.0.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:22a15b799e1266e923bbce6acd1501ddcfecf1fabd70c5ee224a895ecc0e0daa"}, - {file = "marisa_trie-1.0.0-cp38-cp38-win32.whl", hash = "sha256:ee0bbc6b58ad7a4ac14e47fd0de0ee77029d48fc97f19e896906fc136457a6be"}, - {file = "marisa_trie-1.0.0-cp38-cp38-win_amd64.whl", hash = "sha256:b4c7a39d0cc80fb5f93cc5290e32478ae7c16c5bbbc383a0b7ab14dad3cde53e"}, - {file = "marisa_trie-1.0.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:d6839f9e09a9b0bb8683c94da1a0eda4b3951b397235be540aaeb54dc3b737ca"}, - {file = "marisa_trie-1.0.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5b0e3bd20586d10a9f62914b4b0a0c1bbe526b396b5f456aa68afffe0d10073d"}, - {file = "marisa_trie-1.0.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:d3d6257fed955c40f49b1edb6a2e168aa01e6b4bbcdadedecfeb862b93c721e2"}, - {file = "marisa_trie-1.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:467054b237a8faef7b7b2143649a2a3603abc7bb88d6132844b9a2bb055cb638"}, - {file = "marisa_trie-1.0.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:801454d0a5533be485b285408e2838717527b02558116704725da33ebcd578c2"}, - {file = "marisa_trie-1.0.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:fd84fa78deaa7a121aef7eeacc54b4880946dd7935bdf8b453310ad870e5d7cc"}, - {file = "marisa_trie-1.0.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:16145c8dbcb9b2e9407170406ce096917ad3de4dcec7e70451c03f67e0cb4e46"}, - {file = "marisa_trie-1.0.0-cp39-cp39-win32.whl", hash = "sha256:bd5a880f19d24143f0ef244432b8bc8aee71217ba70731821779796786c34d86"}, - {file = "marisa_trie-1.0.0-cp39-cp39-win_amd64.whl", hash = "sha256:47b795fa2e434aa061ad95c0ac97d68d4f3593a0f253e29dcebdd7ff09681278"}, - {file = "marisa_trie-1.0.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:2028a77a21d56440175405fc8cf872e10f2af2ac928aa09f5958b0d036194c32"}, - {file = "marisa_trie-1.0.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:705614e13ca9b6b5751fd9baed7ae33517a0874e691e51492cdf85db056281d2"}, - {file = "marisa_trie-1.0.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6d8d292a45b4e8db985b395f6972a6177dee2fe399a739e02f99301f59908ef0"}, - {file = "marisa_trie-1.0.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:8a3b2de663aa0fa0251d0db8f336d8f5f4b8837c5ca34590cd662df13bef81a2"}, - {file = "marisa_trie-1.0.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:63241a0714c8eaf93d35799a183f70d34b55a2d547086f9572a1f1fc62343b61"}, - {file = "marisa_trie-1.0.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:00d743b069789c397c3fc677069146093b9df06e467a85ee9d5384cfce11823f"}, - {file = "marisa_trie-1.0.0-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b8a18ac806d147583d2f1c030abe0d69a9e3efa899f0d5e1af01807ba8649696"}, - {file = "marisa_trie-1.0.0-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:f534687cdfc570db8805f7a092033077d93bce54bf3cc46e7e098e9b15875749"}, - {file = "marisa_trie-1.0.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:9baf968893dc7c724c7e2d1958549c9c09774c1511bee13977edb8d5c2e668dc"}, - {file = "marisa_trie-1.0.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d81c905267dc1bc983e9c4b0e847f960560d9257b9c40724e90814655c734670"}, - {file = "marisa_trie-1.0.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b08caa6ce91b50130f857658f5370ed16b9d6fc44ccedf74d4a5efbea9ccf3eb"}, - {file = "marisa_trie-1.0.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:88533e799ab8a257896635b917850ebeef82b3d5b54c27736dccb2ce0f5d24e0"}, - {file = "marisa_trie-1.0.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:9e270208050788a3c92de28a691a25719c933fd086fa8d39cb0410d70fadfb54"}, - {file = "marisa_trie-1.0.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3bbb601ba1fee5ff1019c71149e1bc98fb9d5cfadf1790b934da24c49147e205"}, - {file = "marisa_trie-1.0.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:34ec0f3bb54479a49dd60bb712fee851e7c135504d84efcf030815a07a9a96f5"}, - {file = "marisa_trie-1.0.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:eba700d6f24906dff4e593be1af93ebf38c841b0755ee701c816674f133dee29"}, -] - -[package.dependencies] -setuptools = "*" - -[package.extras] -test = ["hypothesis", "pytest", "readme-renderer"] - -[[package]] -name = "meta-memcache-socket" -version = "0.1.3" -description = "" -optional = false -python-versions = ">=3.7" -files = [ - {file = "meta_memcache_socket-0.1.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9174d414cd1a843c1ab345fd4c7a6c5cdd9096f7317829edbd2d759271e33520"}, - {file = "meta_memcache_socket-0.1.3-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7eb3673dec5b98ef114f9b77ff2474381732804a128638f4419874d338d3c828"}, - {file = "meta_memcache_socket-0.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:03fb42564d08dae9ce1c33629aa61b5db430b8cb812d4063b5fa7ec410514a41"}, - {file = "meta_memcache_socket-0.1.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:20e3b9465fc1b64be33f557ec27ae5463ed28f2749dfc2a6cae1e6f398f702fa"}, - {file = "meta_memcache_socket-0.1.3-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:f2a1bcc8317804a6cc4a629ffce2c790120f28257e1419605e21cd194cd7ba0a"}, - {file = "meta_memcache_socket-0.1.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e7d5198eac22db11ed0dc427cbb415a55869160f40ab9c0017ed69da110acce7"}, - {file = "meta_memcache_socket-0.1.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f6f8a12abad527e8a14227b39629c3641ea6a1884f795c1fd7337958910dd2e6"}, - {file = "meta_memcache_socket-0.1.3-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6cf3ef38438f507f5598021328d5a7248ca8946e9ee54aaf9178bcf8d961c137"}, - {file = "meta_memcache_socket-0.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d36aff04f4ce121531d99f8f922fe00bc2aeed87cb3a2b239d63c89d90318323"}, - {file = "meta_memcache_socket-0.1.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a82b9fc9a6a2dbfadc81b8c7ae84cabc911e012d07dc88650d16d828b9fdf9a7"}, - {file = "meta_memcache_socket-0.1.3-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:777a274b6f2ee5854e25b9800852b5f3dcc06e949f2c582bd1b5d4dc1cb776e4"}, - {file = "meta_memcache_socket-0.1.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:646b6b728e8da57c9b40d9b770b7e604bf4601c89e7903368c63e241143005ad"}, - {file = "meta_memcache_socket-0.1.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9e3af5f9fc4a47882b5d3fe5571575506b77a5e6590cfca1fa21870f90b4d698"}, - {file = "meta_memcache_socket-0.1.3-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:4a44ed8383e5c942197fe20d389126f6e6bc6339a1bf75b54e598edb2d8732bf"}, - {file = "meta_memcache_socket-0.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:43da158b6e5ffa9b15b955850e330802a368424319709b445df81eea360ff9d2"}, - {file = "meta_memcache_socket-0.1.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:10db259605f76accbc74f8cd4b3b9c7a40697454a14eb565a4ccfb23fb4e0403"}, - {file = "meta_memcache_socket-0.1.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8d5f683aa323d411a8cbd28bca8cd02bb925e807224803ac353856f21f01c736"}, - {file = "meta_memcache_socket-0.1.3-cp37-cp37m-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b0538791b688f216b104203712c005115c583c90bc580105016a3396be35d93f"}, - {file = "meta_memcache_socket-0.1.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1b1751a1e8af35a1f235adac5f15966e8b041b31df8a3ce2b6b75fee053f2153"}, - {file = "meta_memcache_socket-0.1.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:722305fd69c758f15668ecc2906fffaac0d97a78deeab741681a3e93ab90420a"}, - {file = "meta_memcache_socket-0.1.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5eeec05c2ef7c32cf7ee39fad435efadd7a96332ab608b15633f64ae50332cc8"}, - {file = "meta_memcache_socket-0.1.3-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3f5540bbee6fbf7b88769005a097e1d8dfa9dcbf738502d991c7b7f63e3e9452"}, - {file = "meta_memcache_socket-0.1.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:393f9833530ef741251a13c1da3b47a3e71fcd84ca67016da644bfa083e3b557"}, - {file = "meta_memcache_socket-0.1.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:cd08417ac7c806144892d6ff14dd2f06964fec1db7f0ef921c797d041cabfa20"}, - {file = "meta_memcache_socket-0.1.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fa9830dbd568ee406925375b3159b4eb3d01a4d6dee6b4ded170c0f2d7ee472a"}, - {file = "meta_memcache_socket-0.1.3-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:4e3a8494c4873dc2dc00449199981cd725830bceb8606df9852d1fc563f35477"}, - {file = "meta_memcache_socket-0.1.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e0d2bbbaac00d5f088a4742a32beb9cbc9edc8af528ddf47333868004c715ead"}, - {file = "meta_memcache_socket-0.1.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b3de450a51f8597b4e271b8ac67bf259d50530993cd359aa372ea05007e402ac"}, - {file = "meta_memcache_socket-0.1.3-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d6401b287e6a13134bb20b0467e914f1594c32d43162b3905f3e7b828137c9d7"}, - {file = "meta_memcache_socket-0.1.3-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:437fd8b930af8d51d4303d45fd095e64b44a3ded895da260df503ee782adeb23"}, - {file = "meta_memcache_socket-0.1.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6ba59467026c573720722c10b3de82491766d3e263ef9a15fed1ad71dee35767"}, - {file = "meta_memcache_socket-0.1.3-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2c2ae75f88207fcc65a0f24174ae07099f47d5470e84ceca7843495854c4cfdd"}, - {file = "meta_memcache_socket-0.1.3-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ea33ba1237e694285eb2e3af9fb21e56685d20ad5ae05426f247cf4238e1aaee"}, - {file = "meta_memcache_socket-0.1.3-pp37-pypy37_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6f8036a511e0757725355153b8f760f348d71d299a34c96389f18ea2be3e00ba"}, - {file = "meta_memcache_socket-0.1.3-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e125adfcb9b2d866e6cd6933bae456187fd7cbf8414eb4c3cd1e7ae0495611aa"}, - {file = "meta_memcache_socket-0.1.3-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:148815ecfa25a19badc0e4bdfafb944de113e9c28365ed4d9008c95ad52c472f"}, - {file = "meta_memcache_socket-0.1.3-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e1dc31bee923ed3f80d112b1f55d415c0b01d08d07dcfb7fb6f4605d62f8636d"}, - {file = "meta_memcache_socket-0.1.3-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6a89b09bd8610cb45270720ee8b1460f96ac566085b1569ee4f296c369d7f1ad"}, - {file = "meta_memcache_socket-0.1.3-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ceb6f72cfb224c4d9b74ff681ea369b5a02639996e331be14b11d6da51ea6035"}, - {file = "meta_memcache_socket-0.1.3-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:700018613f33f7fcdecf4e0a56e801e73450d2491ad25a44ee7c27ea7c9a2b83"}, - {file = "meta_memcache_socket-0.1.3-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3572c9faabc60d27757b29f10218a51e69d4c5beeacee61875509c6ddf982de2"}, - {file = "meta_memcache_socket-0.1.3-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:1ca6daeb6fe239e293af26fc2d3ed37e77197f8f87ad4299eaa0072730a30929"}, - {file = "meta_memcache_socket-0.1.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:403e86606c0a5788033f87be3b58d436997b7c19afab2d430a7699b21acf27eb"}, - {file = "meta_memcache_socket-0.1.3-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2cf358fd7b75f6a0d634640b6aea5c8806bc4260afc248f033672bb496387fc9"}, - {file = "meta_memcache_socket-0.1.3.tar.gz", hash = "sha256:0f8072c4ae8cde332e00efb61dea25f3e7a8a562698b8fa1c455b7b7136eedb3"}, -] - -[[package]] -name = "prometheus-client" -version = "0.17.1" -description = "Python client for the Prometheus monitoring system." -optional = false -python-versions = ">=3.6" -files = [ - {file = "prometheus_client-0.17.1-py3-none-any.whl", hash = "sha256:e537f37160f6807b8202a6fc4764cdd19bac5480ddd3e0d463c3002b34462101"}, - {file = "prometheus_client-0.17.1.tar.gz", hash = "sha256:21e674f39831ae3f8acde238afd9a27a37d0d2fb5a28ea094f0ce25d2cbf2091"}, -] - -[package.extras] -twisted = ["twisted"] - -[[package]] -name = "pycparser" -version = "2.21" -description = "C parser in Python" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -files = [ - {file = "pycparser-2.21-py2.py3-none-any.whl", hash = "sha256:8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9"}, - {file = "pycparser-2.21.tar.gz", hash = "sha256:e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206"}, -] - -[[package]] -name = "setuptools" -version = "68.2.2" -description = "Easily download, build, install, upgrade, and uninstall Python packages" -optional = false -python-versions = ">=3.8" -files = [ - {file = "setuptools-68.2.2-py3-none-any.whl", hash = "sha256:b454a35605876da60632df1a60f736524eb73cc47bbc9f3f1ef1b644de74fd2a"}, - {file = "setuptools-68.2.2.tar.gz", hash = "sha256:4ac1475276d2f1c48684874089fefcd83bd7162ddaafb81fac866ba0db282a87"}, -] - -[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-hoverxref (<2)", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier"] -testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pip (>=19.1)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-ruff", "pytest-timeout", "pytest-xdist", "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.1)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"] - -[[package]] -name = "uhashring" -version = "2.3" -description = "Full featured consistent hashing python library compatible with ketama." -optional = false -python-versions = ">=3.7" -files = [ - {file = "uhashring-2.3-py3-none-any.whl", hash = "sha256:7ee8a25ca495a97effad10bd563c83b4054a6d7606d9530757049a04edab9297"}, - {file = "uhashring-2.3.tar.gz", hash = "sha256:9f76187e8d8e82f6e5519c995eef1f1bf44d4a5e0fc4fdd1219a044b10040612"}, -] - -[[package]] -name = "zstandard" -version = "0.22.0" -description = "Zstandard bindings for Python" -optional = false -python-versions = ">=3.8" -files = [ - {file = "zstandard-0.22.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:275df437ab03f8c033b8a2c181e51716c32d831082d93ce48002a5227ec93019"}, - {file = "zstandard-0.22.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2ac9957bc6d2403c4772c890916bf181b2653640da98f32e04b96e4d6fb3252a"}, - {file = "zstandard-0.22.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fe3390c538f12437b859d815040763abc728955a52ca6ff9c5d4ac707c4ad98e"}, - {file = "zstandard-0.22.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1958100b8a1cc3f27fa21071a55cb2ed32e9e5df4c3c6e661c193437f171cba2"}, - {file = "zstandard-0.22.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:93e1856c8313bc688d5df069e106a4bc962eef3d13372020cc6e3ebf5e045202"}, - {file = "zstandard-0.22.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:1a90ba9a4c9c884bb876a14be2b1d216609385efb180393df40e5172e7ecf356"}, - {file = "zstandard-0.22.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:3db41c5e49ef73641d5111554e1d1d3af106410a6c1fb52cf68912ba7a343a0d"}, - {file = "zstandard-0.22.0-cp310-cp310-win32.whl", hash = "sha256:d8593f8464fb64d58e8cb0b905b272d40184eac9a18d83cf8c10749c3eafcd7e"}, - {file = "zstandard-0.22.0-cp310-cp310-win_amd64.whl", hash = "sha256:f1a4b358947a65b94e2501ce3e078bbc929b039ede4679ddb0460829b12f7375"}, - {file = "zstandard-0.22.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:589402548251056878d2e7c8859286eb91bd841af117dbe4ab000e6450987e08"}, - {file = "zstandard-0.22.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a97079b955b00b732c6f280d5023e0eefe359045e8b83b08cf0333af9ec78f26"}, - {file = "zstandard-0.22.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:445b47bc32de69d990ad0f34da0e20f535914623d1e506e74d6bc5c9dc40bb09"}, - {file = "zstandard-0.22.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:33591d59f4956c9812f8063eff2e2c0065bc02050837f152574069f5f9f17775"}, - {file = "zstandard-0.22.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:888196c9c8893a1e8ff5e89b8f894e7f4f0e64a5af4d8f3c410f0319128bb2f8"}, - {file = "zstandard-0.22.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:53866a9d8ab363271c9e80c7c2e9441814961d47f88c9bc3b248142c32141d94"}, - {file = "zstandard-0.22.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:4ac59d5d6910b220141c1737b79d4a5aa9e57466e7469a012ed42ce2d3995e88"}, - {file = "zstandard-0.22.0-cp311-cp311-win32.whl", hash = "sha256:2b11ea433db22e720758cba584c9d661077121fcf60ab43351950ded20283440"}, - {file = "zstandard-0.22.0-cp311-cp311-win_amd64.whl", hash = "sha256:11f0d1aab9516a497137b41e3d3ed4bbf7b2ee2abc79e5c8b010ad286d7464bd"}, - {file = "zstandard-0.22.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:6c25b8eb733d4e741246151d895dd0308137532737f337411160ff69ca24f93a"}, - {file = "zstandard-0.22.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f9b2cde1cd1b2a10246dbc143ba49d942d14fb3d2b4bccf4618d475c65464912"}, - {file = "zstandard-0.22.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a88b7df61a292603e7cd662d92565d915796b094ffb3d206579aaebac6b85d5f"}, - {file = "zstandard-0.22.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:466e6ad8caefb589ed281c076deb6f0cd330e8bc13c5035854ffb9c2014b118c"}, - {file = "zstandard-0.22.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a1d67d0d53d2a138f9e29d8acdabe11310c185e36f0a848efa104d4e40b808e4"}, - {file = "zstandard-0.22.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:39b2853efc9403927f9065cc48c9980649462acbdf81cd4f0cb773af2fd734bc"}, - {file = "zstandard-0.22.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8a1b2effa96a5f019e72874969394edd393e2fbd6414a8208fea363a22803b45"}, - {file = "zstandard-0.22.0-cp312-cp312-win32.whl", hash = "sha256:88c5b4b47a8a138338a07fc94e2ba3b1535f69247670abfe422de4e0b344aae2"}, - {file = "zstandard-0.22.0-cp312-cp312-win_amd64.whl", hash = "sha256:de20a212ef3d00d609d0b22eb7cc798d5a69035e81839f549b538eff4105d01c"}, - {file = "zstandard-0.22.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:d75f693bb4e92c335e0645e8845e553cd09dc91616412d1d4650da835b5449df"}, - {file = "zstandard-0.22.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:36a47636c3de227cd765e25a21dc5dace00539b82ddd99ee36abae38178eff9e"}, - {file = "zstandard-0.22.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:68953dc84b244b053c0d5f137a21ae8287ecf51b20872eccf8eaac0302d3e3b0"}, - {file = "zstandard-0.22.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2612e9bb4977381184bb2463150336d0f7e014d6bb5d4a370f9a372d21916f69"}, - {file = "zstandard-0.22.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:23d2b3c2b8e7e5a6cb7922f7c27d73a9a615f0a5ab5d0e03dd533c477de23004"}, - {file = "zstandard-0.22.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:1d43501f5f31e22baf822720d82b5547f8a08f5386a883b32584a185675c8fbf"}, - {file = "zstandard-0.22.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:a493d470183ee620a3df1e6e55b3e4de8143c0ba1b16f3ded83208ea8ddfd91d"}, - {file = "zstandard-0.22.0-cp38-cp38-win32.whl", hash = "sha256:7034d381789f45576ec3f1fa0e15d741828146439228dc3f7c59856c5bcd3292"}, - {file = "zstandard-0.22.0-cp38-cp38-win_amd64.whl", hash = "sha256:d8fff0f0c1d8bc5d866762ae95bd99d53282337af1be9dc0d88506b340e74b73"}, - {file = "zstandard-0.22.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:2fdd53b806786bd6112d97c1f1e7841e5e4daa06810ab4b284026a1a0e484c0b"}, - {file = "zstandard-0.22.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:73a1d6bd01961e9fd447162e137ed949c01bdb830dfca487c4a14e9742dccc93"}, - {file = "zstandard-0.22.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9501f36fac6b875c124243a379267d879262480bf85b1dbda61f5ad4d01b75a3"}, - {file = "zstandard-0.22.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:48f260e4c7294ef275744210a4010f116048e0c95857befb7462e033f09442fe"}, - {file = "zstandard-0.22.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:959665072bd60f45c5b6b5d711f15bdefc9849dd5da9fb6c873e35f5d34d8cfb"}, - {file = "zstandard-0.22.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:d22fdef58976457c65e2796e6730a3ea4a254f3ba83777ecfc8592ff8d77d303"}, - {file = "zstandard-0.22.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a7ccf5825fd71d4542c8ab28d4d482aace885f5ebe4b40faaa290eed8e095a4c"}, - {file = "zstandard-0.22.0-cp39-cp39-win32.whl", hash = "sha256:f058a77ef0ece4e210bb0450e68408d4223f728b109764676e1a13537d056bb0"}, - {file = "zstandard-0.22.0-cp39-cp39-win_amd64.whl", hash = "sha256:e9e9d4e2e336c529d4c435baad846a181e39a982f823f7e4495ec0b0ec8538d2"}, - {file = "zstandard-0.22.0.tar.gz", hash = "sha256:8226a33c542bcb54cd6bd0a366067b610b41713b64c9abec1bc4533d69f51e70"}, -] - -[package.dependencies] -cffi = {version = ">=1.11", markers = "platform_python_implementation == \"PyPy\""} - -[package.extras] -cffi = ["cffi (>=1.11)"] - -[metadata] -lock-version = "2.0" -python-versions = "^3.8" -content-hash = "cf322463aadf9e9b187ed0f60ce8ec6fbd54666664dfd69410343edd2f6b1385" diff --git a/pyproject.toml b/pyproject.toml index bfb7d13..00d91b1 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,33 +1,27 @@ -[tool.poetry] +[project] +dependencies = [ + "uhashring >= 2.1, < 3", + "marisa-trie >= 1.2.1, < 1.3", + "zstandard >= 0.22.0, < 0.23", + "meta-memcache-socket >= 0.1.3, < 0.2", +] +authors = [{ name = "Guillermo Perez", email = "bisho@revenuecat.com" }] +license = { text = "MIT License" } name = "meta-memcache" version = "2.0.0" description = "Modern, pure python, memcache client with support for new meta commands." -license = "MIT" readme = "README.md" -homepage = "https://github.com/RevenueCat/meta-memcache-py" -repository = "https://github.com/RevenueCat/meta-memcache-py" -authors = ["Guillermo Perez "] -packages = [{include = "meta_memcache", from="src"}] +requires-python = ">=3.10" -[tool.poetry.dependencies] -python = "^3.8" -uhashring = "^2.1" -marisa-trie = "^1.0.0" -meta-memcache-socket = "0.1.3" -zstandard = "^0.22.0" +[project.optional-dependencies] +metrics = ["prometheus-client >= 0.17.1"] -[tool.poetry.group.extras.dependencies] -prometheus-client = "^0.17.1" +[project.urls] +homepage = "https://github.com/RevenueCat/meta-memcache-py" [tool.pytest.ini_options] addopts = "-ra" -testpaths = [ - "tests", -] - -[tool.isort] -profile = "black" -known_third_party = ["uhashring", "pytest", "pytest_mock", "marisa-trie", "zstandard"] +testpaths = ["tests"] [tool.coverage.paths] source = ["src", "*/site-packages"] @@ -39,6 +33,9 @@ source = ["meta_memcache"] [tool.coverage.report] show_missing = true -[build-system] -requires = ["poetry-core>=1.0.0"] -build-backend = "poetry.core.masonry.api" +[tool.ruff] +line-length = 88 + +[tool.ruff.lint.per-file-ignores] +"tests/*.py" = ["E731"] +"src/meta_memcache/__init__.py" = ["F401"] diff --git a/src/meta_memcache/connection/memcache_socket.py b/src/meta_memcache/connection/memcache_socket.py index ca8e41f..e62dc95 100644 --- a/src/meta_memcache/connection/memcache_socket.py +++ b/src/meta_memcache/connection/memcache_socket.py @@ -246,6 +246,6 @@ def get_value(self, size: int) -> memoryview: raise MemcacheError( f"Error parsing value: Expected {size} bytes, " f"terminated in \\r\\n, got {len(data)} bytes: " - f"{bytes(data)+bytes(endl)!r}", + f"{bytes(data) + bytes(endl)!r}", ) return data diff --git a/uv.lock b/uv.lock new file mode 100644 index 0000000..89f8478 --- /dev/null +++ b/uv.lock @@ -0,0 +1,271 @@ +version = 1 +requires-python = ">=3.10" + +[[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 } +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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { url = "https://files.pythonhosted.org/packages/f8/fe/4d41c2f200c4a457933dbd98d3cf4e911870877bd94d9656cc0fcb390681/cffi-1.17.1-cp310-cp310-win32.whl", hash = "sha256:c9c3d058ebabb74db66e431095118094d06abf53284d9c81f27300d0e0d8bc7c", size = 171804 }, + { url = "https://files.pythonhosted.org/packages/d1/b6/0b0f5ab93b0df4acc49cae758c81fe4e5ef26c3ae2e10cc69249dfd8b3ab/cffi-1.17.1-cp310-cp310-win_amd64.whl", hash = "sha256:0f048dcf80db46f0098ccac01132761580d28e28bc0f78ae0d58048063317e15", size = 181299 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { url = "https://files.pythonhosted.org/packages/34/33/e1b8a1ba29025adbdcda5fb3a36f94c03d771c1b7b12f726ff7fef2ebe36/cffi-1.17.1-cp311-cp311-win32.whl", hash = "sha256:85a950a4ac9c359340d5963966e3e0a94a676bd6245a4b55bc43949eee26a655", size = 171727 }, + { url = "https://files.pythonhosted.org/packages/3d/97/50228be003bb2802627d28ec0627837ac0bf35c90cf769812056f235b2d1/cffi-1.17.1-cp311-cp311-win_amd64.whl", hash = "sha256:caaf0640ef5f5517f49bc275eca1406b0ffa6aa184892812030f04c2abf589a0", size = 181400 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { 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 }, + { url = "https://files.pythonhosted.org/packages/86/c5/28b2d6f799ec0bdecf44dced2ec5ed43e0eb63097b0f58c293583b406582/cffi-1.17.1-cp312-cp312-win32.whl", hash = "sha256:a08d7e755f8ed21095a310a693525137cfe756ce62d066e53f502a83dc550f65", size = 172448 }, + { url = "https://files.pythonhosted.org/packages/50/b9/db34c4755a7bd1cb2d1603ac3863f22bcecbd1ba29e5ee841a4bc510b294/cffi-1.17.1-cp312-cp312-win_amd64.whl", hash = "sha256:51392eae71afec0d0c8fb1a53b204dbb3bcabcb3c9b807eedf3e1e6ccf2de903", size = 181976 }, + { url = "https://files.pythonhosted.org/packages/8d/f8/dd6c246b148639254dad4d6803eb6a54e8c85c6e11ec9df2cffa87571dbe/cffi-1.17.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f3a2b4222ce6b60e2e8b337bb9596923045681d71e5a082783484d845390938e", size = 182989 }, + { url = "https://files.pythonhosted.org/packages/8b/f1/672d303ddf17c24fc83afd712316fda78dc6fce1cd53011b839483e1ecc8/cffi-1.17.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0984a4925a435b1da406122d4d7968dd861c1385afe3b45ba82b750f229811e2", size = 178802 }, + { url = "https://files.pythonhosted.org/packages/0e/2d/eab2e858a91fdff70533cab61dcff4a1f55ec60425832ddfdc9cd36bc8af/cffi-1.17.1-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d01b12eeeb4427d3110de311e1774046ad344f5b1a7403101878976ecd7a10f3", size = 454792 }, + { url = "https://files.pythonhosted.org/packages/75/b2/fbaec7c4455c604e29388d55599b99ebcc250a60050610fadde58932b7ee/cffi-1.17.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:706510fe141c86a69c8ddc029c7910003a17353970cff3b904ff0686a5927683", size = 478893 }, + { url = "https://files.pythonhosted.org/packages/4f/b7/6e4a2162178bf1935c336d4da8a9352cccab4d3a5d7914065490f08c0690/cffi-1.17.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de55b766c7aa2e2a3092c51e0483d700341182f08e67c63630d5b6f200bb28e5", size = 485810 }, + { url = "https://files.pythonhosted.org/packages/c7/8a/1d0e4a9c26e54746dc08c2c6c037889124d4f59dffd853a659fa545f1b40/cffi-1.17.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c59d6e989d07460165cc5ad3c61f9fd8f1b4796eacbd81cee78957842b834af4", size = 471200 }, + { url = "https://files.pythonhosted.org/packages/26/9f/1aab65a6c0db35f43c4d1b4f580e8df53914310afc10ae0397d29d697af4/cffi-1.17.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd398dbc6773384a17fe0d3e7eeb8d1a21c2200473ee6806bb5e6a8e62bb73dd", size = 479447 }, + { url = "https://files.pythonhosted.org/packages/5f/e4/fb8b3dd8dc0e98edf1135ff067ae070bb32ef9d509d6cb0f538cd6f7483f/cffi-1.17.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:3edc8d958eb099c634dace3c7e16560ae474aa3803a5df240542b305d14e14ed", size = 484358 }, + { url = "https://files.pythonhosted.org/packages/f1/47/d7145bf2dc04684935d57d67dff9d6d795b2ba2796806bb109864be3a151/cffi-1.17.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:72e72408cad3d5419375fc87d289076ee319835bdfa2caad331e377589aebba9", size = 488469 }, + { url = "https://files.pythonhosted.org/packages/bf/ee/f94057fa6426481d663b88637a9a10e859e492c73d0384514a17d78ee205/cffi-1.17.1-cp313-cp313-win32.whl", hash = "sha256:e03eab0a8677fa80d646b5ddece1cbeaf556c313dcfac435ba11f107ba117b5d", size = 172475 }, + { url = "https://files.pythonhosted.org/packages/7c/fc/6a8cb64e5f0324877d503c854da15d76c1e50eb722e320b15345c4d0c6de/cffi-1.17.1-cp313-cp313-win_amd64.whl", hash = "sha256:f6a16c31041f09ead72d69f583767292f750d24913dadacf5756b966aacb3f1a", size = 182009 }, +] + +[[package]] +name = "marisa-trie" +version = "1.2.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "setuptools" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/31/15/9d9743897e4450b2de199ee673b50cb018980c4ced477d41cf91304a85e3/marisa_trie-1.2.1.tar.gz", hash = "sha256:3a27c408e2aefc03e0f1d25b2ff2afb85aac3568f6fa2ae2a53b57a2e87ce29d", size = 416124 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e4/83/ccf5b33f2123f3110705c608f8e0caa82002626511aafafc58f82e50d322/marisa_trie-1.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a2eb41d2f9114d8b7bd66772c237111e00d2bae2260824560eaa0a1e291ce9e8", size = 362200 }, + { url = "https://files.pythonhosted.org/packages/9d/74/f7ce1fc2ee480c7f8ceadd9b992caceaba442a97e5e99d6aea00d3635a0b/marisa_trie-1.2.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:9e956e6a46f604b17d570901e66f5214fb6f658c21e5e7665deace236793cef6", size = 192309 }, + { url = "https://files.pythonhosted.org/packages/e4/52/5dbbc13e57ce54c2ef0d04962d7d8f66edc69ed34310c734a2913199a581/marisa_trie-1.2.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:bd45142501300e7538b2e544905580918b67b1c82abed1275fe4c682c95635fa", size = 174713 }, + { url = "https://files.pythonhosted.org/packages/57/49/2580372f3f980aea95c23d05b2c1d3bbb9ee1ab8cfd441545153e44f1be7/marisa_trie-1.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a8443d116c612cfd1961fbf76769faf0561a46d8e317315dd13f9d9639ad500c", size = 1314808 }, + { url = "https://files.pythonhosted.org/packages/5a/ba/e12a4d450f265414cc68df6a116a78beece72b95f774f04d29cd48e08d19/marisa_trie-1.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:875a6248e60fbb48d947b574ffa4170f34981f9e579bde960d0f9a49ea393ecc", size = 1346678 }, + { url = "https://files.pythonhosted.org/packages/b2/81/8e130cb1eea741fd17694d821096f7ec9841f0e3d3c69b740257f5eeafa8/marisa_trie-1.2.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:746a7c60a17fccd3cfcfd4326926f02ea4fcdfc25d513411a0c4fc8e4a1ca51f", size = 1307254 }, + { url = "https://files.pythonhosted.org/packages/d7/d0/3deb5ea2bf7e4d845339875dbb31f3c3f66c8d6568723db1d137fb08a91c/marisa_trie-1.2.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:e70869737cc0e5bd903f620667da6c330d6737048d1f44db792a6af68a1d35be", size = 2194712 }, + { url = "https://files.pythonhosted.org/packages/9c/5f/b38d728dd30954816497b53425cfaddaf7b93ac0912db5911888f191b07a/marisa_trie-1.2.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:06b099dd743676dbcd8abd8465ceac8f6d97d8bfaabe2c83b965495523b4cef2", size = 2355625 }, + { url = "https://files.pythonhosted.org/packages/7e/4f/61c0faa9ae9e53600a1b7a0c367bc9db1a4fdc625402ec232c755a05e094/marisa_trie-1.2.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:d2a82eb21afdaf22b50d9b996472305c05ca67fc4ff5a026a220320c9c961db6", size = 2290290 }, + { url = "https://files.pythonhosted.org/packages/7c/7d/713b970fb3043248881ed776dbf4d54918398aa5dde843a38711d0d62c8f/marisa_trie-1.2.1-cp310-cp310-win32.whl", hash = "sha256:8951e7ce5d3167fbd085703b4cbb3f47948ed66826bef9a2173c379508776cf5", size = 130743 }, + { url = "https://files.pythonhosted.org/packages/cc/94/3d619cc82c30daeacd18a88674f4e6540ebfb7b4b7752ca0552793be80cf/marisa_trie-1.2.1-cp310-cp310-win_amd64.whl", hash = "sha256:5685a14b3099b1422c4f59fa38b0bf4b5342ee6cc38ae57df9666a0b28eeaad3", size = 151891 }, + { url = "https://files.pythonhosted.org/packages/4a/93/ffb01dfa22b6eee918e798e0bc3487427036c608aa4c065725f31aaf4104/marisa_trie-1.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ed3fb4ed7f2084597e862bcd56c56c5529e773729a426c083238682dba540e98", size = 362823 }, + { url = "https://files.pythonhosted.org/packages/6d/1d/5c36500ac350c278c9bdfd88e17fa846fa4136d75597c167141ed973cdf2/marisa_trie-1.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0fe69fb9ffb2767746181f7b3b29bbd3454d1d24717b5958e030494f3d3cddf3", size = 192741 }, + { url = "https://files.pythonhosted.org/packages/e8/04/87dd0840f3f720e511eba56193c02bf64d7d96df1ca9f6d19994f55154be/marisa_trie-1.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4728ed3ae372d1ea2cdbd5eaa27b8f20a10e415d1f9d153314831e67d963f281", size = 174995 }, + { url = "https://files.pythonhosted.org/packages/c9/51/9e903a7e13b7593e2e675d0ec4c390ca076dc5df1c1a0d5e85a513b886a3/marisa_trie-1.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8cf4f25cf895692b232f49aa5397af6aba78bb679fb917a05fce8d3cb1ee446d", size = 1384728 }, + { url = "https://files.pythonhosted.org/packages/e8/3f/7362a5ac60c2b0aad0f52cd57e7bd0c708f20d2660d8df85360f3d8f1c4b/marisa_trie-1.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7cca7f96236ffdbf49be4b2e42c132e3df05968ac424544034767650913524de", size = 1412620 }, + { url = "https://files.pythonhosted.org/packages/1f/bc/aaa3eaf6875f78a204a8da9692d56e3a36f89997dad2c388628385614576/marisa_trie-1.2.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d7eb20bf0e8b55a58d2a9b518aabc4c18278787bdba476c551dd1c1ed109e509", size = 1361555 }, + { url = "https://files.pythonhosted.org/packages/18/98/e11b5a6206c5d110f32adab37fa84a85410d684e9c731acdd5c9250e2ce4/marisa_trie-1.2.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:b1ec93f0d1ee6d7ab680a6d8ea1a08bf264636358e92692072170032dda652ba", size = 2257717 }, + { url = "https://files.pythonhosted.org/packages/d2/9d/6b4a40867875e738a67c5b29f83e2e490a66bd9067ace3dd9a5c497e2b7f/marisa_trie-1.2.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e2699255d7ac610dee26d4ae7bda5951d05c7d9123a22e1f7c6a6f1964e0a4e4", size = 2417044 }, + { url = "https://files.pythonhosted.org/packages/fe/61/e25613c72f2931757334b8bcf6b501569ef713f5ee9c6c7688ec460bd720/marisa_trie-1.2.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:c484410911182457a8a1a0249d0c09c01e2071b78a0a8538cd5f7fa45589b13a", size = 2351960 }, + { url = "https://files.pythonhosted.org/packages/19/0a/a90ccaf3eb476d13ec261f80c6c52defaf10ebc7f35eb2bcd7dfb533aef7/marisa_trie-1.2.1-cp311-cp311-win32.whl", hash = "sha256:ad548117744b2bcf0e3d97374608be0a92d18c2af13d98b728d37cd06248e571", size = 130446 }, + { url = "https://files.pythonhosted.org/packages/fc/98/574b4e143e0a2f5f71af8716b6c4a8a46220f75a6e0847ce7d11ee0ba4aa/marisa_trie-1.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:436f62d27714970b9cdd3b3c41bdad046f260e62ebb0daa38125ef70536fc73b", size = 152037 }, + { url = "https://files.pythonhosted.org/packages/4e/bf/8bd4ac8436b33fd46c9e1ffe3c2a131cd9744cc1649dbbe13308f744ef2b/marisa_trie-1.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:638506eacf20ca503fff72221a7e66a6eadbf28d6a4a6f949fcf5b1701bb05ec", size = 360041 }, + { url = "https://files.pythonhosted.org/packages/ab/dd/4d3151e302e66ae387885f6ec265bd189e096b0c43c1379bfd9a3b9d2543/marisa_trie-1.2.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:de1665eaafefa48a308e4753786519888021740501a15461c77bdfd57638e6b4", size = 190520 }, + { url = "https://files.pythonhosted.org/packages/00/28/ae5991c74fb90b173167a366a634c83445f948ad044d37287b478d6b457e/marisa_trie-1.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f713af9b8aa66a34cd3a78c7d150a560a75734713abe818a69021fd269e927fa", size = 174175 }, + { url = "https://files.pythonhosted.org/packages/5a/6a/fbfa89a8680eaabc6847a6c421e65427c43182db0c4bdb60e1516c81c822/marisa_trie-1.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b2a7d00f53f4945320b551bccb826b3fb26948bde1a10d50bb9802fabb611b10", size = 1354995 }, + { url = "https://files.pythonhosted.org/packages/9e/4c/2ba0b385e5f64ca4ddb0c10ec52ddf881bc4521f135948786fc339d1d6c8/marisa_trie-1.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:98042040d1d6085792e8d0f74004fc0f5f9ca6091c298f593dd81a22a4643854", size = 1390989 }, + { url = "https://files.pythonhosted.org/packages/6b/22/0791ed3045c91d0938345a86be472fc7c188b894f16c5dfad2ef31e7f882/marisa_trie-1.2.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6532615111eec2c79e711965ece0bc95adac1ff547a7fff5ffca525463116deb", size = 1328810 }, + { url = "https://files.pythonhosted.org/packages/9d/7d/3f566e563abae6efce7fc311c63282a447c611739b3cd66c0e36077c86f8/marisa_trie-1.2.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:20948e40ab2038e62b7000ca6b4a913bc16c91a2c2e6da501bd1f917eeb28d51", size = 2230222 }, + { url = "https://files.pythonhosted.org/packages/a5/0b/38fbb4611b5d1030242ddc2aa62e524438c8076e26f87395dbbf222dc62d/marisa_trie-1.2.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:66b23e5b35dd547f85bf98db7c749bc0ffc57916ade2534a6bbc32db9a4abc44", size = 2383620 }, + { url = "https://files.pythonhosted.org/packages/ae/17/4553c63de29904d5d2521a24cad817bc7883cfa90506ab702ec4dae59a7b/marisa_trie-1.2.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:6704adf0247d2dda42e876b793be40775dff46624309ad99bc7537098bee106d", size = 2329202 }, + { url = "https://files.pythonhosted.org/packages/45/08/6307a630e63cd763fe77ac56516faa67fa9cd342060691e40fabc84be6b0/marisa_trie-1.2.1-cp312-cp312-win32.whl", hash = "sha256:3ad356442c2fea4c2a6f514738ddf213d23930f942299a2b2c05df464a00848a", size = 129652 }, + { url = "https://files.pythonhosted.org/packages/a1/fe/67c357bfd92710d95a16b86e1453c663d565415d7f7838781c79ff7e1a7e/marisa_trie-1.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:f2806f75817392cedcacb24ac5d80b0350dde8d3861d67d045c1d9b109764114", size = 150845 }, + { url = "https://files.pythonhosted.org/packages/2a/a4/a110cd9952f0e72da7bafea1f0084b18b9e03952110d9083bfda52279f5c/marisa_trie-1.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:b5ea16e69bfda0ac028c921b58de1a4aaf83d43934892977368579cd3c0a2554", size = 354439 }, + { url = "https://files.pythonhosted.org/packages/3c/a5/a6099eb1c3fd8d7e93408c45501e1d08536ac57dfef02ec331f78e1ace18/marisa_trie-1.2.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:9f627f4e41be710b6cb6ed54b0128b229ac9d50e2054d9cde3af0fef277c23cf", size = 188187 }, + { url = "https://files.pythonhosted.org/packages/7c/cc/f637127e2beffa920d21f7fc45b4029575bcd1b28a90c0d90cb2b08c2205/marisa_trie-1.2.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:5e649f3dc8ab5476732094f2828cc90cac3be7c79bc0c8318b6fda0c1d248db4", size = 171484 }, + { url = "https://files.pythonhosted.org/packages/6d/0f/29f2ad7260b956570f69f25a542efa51ba76eb76ecd53c63ee9d21987c3d/marisa_trie-1.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:46e528ee71808c961baf8c3ce1c46a8337ec7a96cc55389d11baafe5b632f8e9", size = 1319770 }, + { url = "https://files.pythonhosted.org/packages/f2/12/0b69ed61fba59551a5f3d569af367afae614db7214ce1da12946ba9a433a/marisa_trie-1.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:36aa4401a1180615f74d575571a6550081d84fc6461e9aefc0bb7b2427af098e", size = 1356488 }, + { url = "https://files.pythonhosted.org/packages/33/23/483b110db7ffe8729d6ebea2bf74258aef51f10fef5775f99e4bac7aef69/marisa_trie-1.2.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ce59bcd2cda9bb52b0e90cc7f36413cd86c3d0ce7224143447424aafb9f4aa48", size = 1302334 }, + { url = "https://files.pythonhosted.org/packages/1c/6f/46c2be99ce925985127fdf78900f1673bce8cb72debfebee6dccd11032c6/marisa_trie-1.2.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f4cd800704a5fc57e53c39c3a6b0c9b1519ebdbcb644ede3ee67a06eb542697d", size = 2202624 }, + { url = "https://files.pythonhosted.org/packages/fd/b6/ef642327dbd4ec35be55d5682520b8f70fca98a54024f441ef2732f6b305/marisa_trie-1.2.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:2428b495003c189695fb91ceeb499f9fcced3a2dce853e17fa475519433c67ff", size = 2364206 }, + { url = "https://files.pythonhosted.org/packages/69/04/ef8197a79d0ab5043b781cc9b457bd11b81d4204fe78adf7625a67f48c21/marisa_trie-1.2.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:735c363d9aaac82eaf516a28f7c6b95084c2e176d8231c87328dc80e112a9afa", size = 2304801 }, + { url = "https://files.pythonhosted.org/packages/03/72/f87564d653daf31d8f33d9bf0121e99ccc21f18f5c485fb404ba06abc10e/marisa_trie-1.2.1-cp313-cp313-win32.whl", hash = "sha256:eba6ca45500ca1a042466a0684aacc9838e7f20fe2605521ee19f2853062798f", size = 128799 }, + { url = "https://files.pythonhosted.org/packages/27/40/5f9eb8b73030cc4b0d6817176e66079a62a2ddd9d5530da54f8011473428/marisa_trie-1.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:aa7cd17e1c690ce96c538b2f4aae003d9a498e65067dd433c52dd069009951d4", size = 149035 }, +] + +[[package]] +name = "meta-memcache" +version = "2.0.0" +source = { virtual = "." } +dependencies = [ + { name = "marisa-trie" }, + { name = "meta-memcache-socket" }, + { name = "uhashring" }, + { name = "zstandard" }, +] + +[package.optional-dependencies] +metrics = [ + { name = "prometheus-client" }, +] + +[package.metadata] +requires-dist = [ + { name = "marisa-trie", specifier = ">=1.2.1,<1.3" }, + { name = "meta-memcache-socket", specifier = ">=0.1.3,<0.2" }, + { name = "prometheus-client", marker = "extra == 'metrics'", specifier = ">=0.17.1" }, + { name = "uhashring", specifier = ">=2.1,<3" }, + { name = "zstandard", specifier = ">=0.22.0,<0.23" }, +] + +[[package]] +name = "meta-memcache-socket" +version = "0.1.5" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/5a/8b/711ab4f049ae6a7b4996c4277b9f31db348e6c563dd9a707d936a7ec0f62/meta_memcache_socket-0.1.5.tar.gz", hash = "sha256:2da5286dea0f6655bc1b551e0881cbeda2639f82228012a7ee05055ea9a9c255", size = 12813 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/78/9f/3c19b010d903fd4f19387ce500cc81d53a89d45146696c87f3b6eebcb829/meta_memcache_socket-0.1.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d34284f859bca2a1a7af0d76e85ac212a6f1ff31e6516b3f3673fa6943963c51", size = 295945 }, + { url = "https://files.pythonhosted.org/packages/37/b7/9f748a588d4f87dd64a797164c75c8fe2fe8672793a2e8386c14842589bf/meta_memcache_socket-0.1.5-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7c41fb6c57e6a9179cd046c6e3af07d63c76521e8889e2102205b264e4261faa", size = 303248 }, + { url = "https://files.pythonhosted.org/packages/e1/da/2720194a6d8d6712726e85c0f61133d1bec3c15a0c69e82416982d4a9ecf/meta_memcache_socket-0.1.5-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2279b387e816af45ae7dba5609823c2c263a6648c1c2a8ec5e4f87cf5d033080", size = 338656 }, + { url = "https://files.pythonhosted.org/packages/7b/44/5313a8ef3f8441b71cf76d5954a1856ee970aea3d85dd531e01f769d81f9/meta_memcache_socket-0.1.5-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b3749adb3348906c3de95df6c1a5489768e5473e46ca2d8c52ad74611e871710", size = 338350 }, + { url = "https://files.pythonhosted.org/packages/3c/fa/690f8b019026c2470b4fe3d36ac357f86e5e63ef94cdf77be6fc5dc7c800/meta_memcache_socket-0.1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6cba711d922101dbeab635d466f3ad0840805438f3e2d530ce578c12a438170b", size = 296979 }, + { url = "https://files.pythonhosted.org/packages/7d/97/9a4a2f333b3be6811fa674c42f1a1aa5441aa763b44aa545ef58cd5db55a/meta_memcache_socket-0.1.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:93f291528033feb42912dcd80783d84043fe19f10497460ee29dbb096b09fbd7", size = 315715 }, + { url = "https://files.pythonhosted.org/packages/8a/33/94b26b1c70ed61b667094d9b7c24fc31dde691ea05433a6bc7a8c4dc86b9/meta_memcache_socket-0.1.5-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:3322e62499d8fb52b4aeb743549e2eebbacd43ca74d913cafbfed5497bbc21e7", size = 473692 }, + { url = "https://files.pythonhosted.org/packages/eb/e7/f98c87eaa9f4b0e4102e36f3a6be3da724ab09107cff7689da1202ced61b/meta_memcache_socket-0.1.5-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:8158d824b1005881fdf45759c4299a26748fdac4982a85c9fb20e0d792cfab93", size = 565578 }, + { url = "https://files.pythonhosted.org/packages/37/ca/530467bc45dbbde1b52defb6b52edf80a959bdec9ddee744543ce81a1940/meta_memcache_socket-0.1.5-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:2bccc5a2831598faa8f85d4afea3fa3e530c82f02d95d30a8e7db27daef84de4", size = 493571 }, + { url = "https://files.pythonhosted.org/packages/61/d7/cbe730fbbbd0ec2b3d4303fe9938049d048e3faeb8d5f8ab3527e22c4ccc/meta_memcache_socket-0.1.5-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:39e70d60a9820b8aefe246dbadb85146f28f0ae4f1778f8ebc4a372a4b2698fa", size = 467198 }, + { url = "https://files.pythonhosted.org/packages/75/3a/b65f2ee962fc3b6abb1f55f4e343eae18d10c980aa1e17ca3b9a76760ec8/meta_memcache_socket-0.1.5-cp310-none-win32.whl", hash = "sha256:6f2dc72234b6481d49ab2ef14a1c6824701650e86fa5103baa8c6936ae1d9c31", size = 153144 }, + { url = "https://files.pythonhosted.org/packages/93/dc/b596c3482b99a4f70ad84635f7176672a46d17fbc1986796ade47ede7264/meta_memcache_socket-0.1.5-cp310-none-win_amd64.whl", hash = "sha256:f19148cc024f97586ead4986b44a448a039520d90b878ff12ede95d61865b48b", size = 161731 }, + { url = "https://files.pythonhosted.org/packages/a3/58/ba02d1036ba01a94706a9ddc2c03ae5c9043cec2e184b8b5e4d3b663f8c6/meta_memcache_socket-0.1.5-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:6905f8fbbd99df508e902ba06ce3094076f3c0cea8ea34b5754a254f22eced9a", size = 272061 }, + { url = "https://files.pythonhosted.org/packages/55/00/2ab5758bd1b513a2e6f35dc1f38878a194250c99e9fa9fec64b5e9ce7e37/meta_memcache_socket-0.1.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e303354b7db661731d4bb80da9ac29aad775a3bb6c81dc062eb20e08b43e00c0", size = 264054 }, + { url = "https://files.pythonhosted.org/packages/3c/27/cb1c730bdff414d4979f349d45137ec51000f0c0bfa8149bd418d67ba1a0/meta_memcache_socket-0.1.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7fb60423a5e20cf59f3b9b0006640142ed7ac2667056283f96fe93ab3eb0d33a", size = 295946 }, + { url = "https://files.pythonhosted.org/packages/16/fe/fab1b68a13723f9080e252d62bb92316fe77a46b7c9c20606caef4e1c4bd/meta_memcache_socket-0.1.5-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b9d0dc4d920060bcf5a2250972ad44f12a6a2a6c27c551e726b899c2224b276b", size = 303249 }, + { url = "https://files.pythonhosted.org/packages/86/97/a311287913121091fa097d034d971549f9639fe33341b996bf0c65b6a7a1/meta_memcache_socket-0.1.5-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:270956d3db4cc286b5ca868595ce90ef3c30860a5e2d6fcc3f7f82cbe15a6bd9", size = 338655 }, + { url = "https://files.pythonhosted.org/packages/c3/d2/4ec0dc4f9e00e53fb003c6d960faa91a1832f463b5e891199aa437fc6e15/meta_memcache_socket-0.1.5-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6b859a3b5e5ca5d7f19550483de6d5e166cda483ac7ed59b9850822b82f74822", size = 338349 }, + { url = "https://files.pythonhosted.org/packages/75/a6/941cb1168edd1beee067c84a0494d8663ad6b93c635e5ba275e8413cee1b/meta_memcache_socket-0.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b163895986bc4132494e9ae4c7d7e684b1c4af2aa334f7a2dd32532dc2d6b661", size = 297416 }, + { url = "https://files.pythonhosted.org/packages/6c/f1/5c42828261d5e5a0c9b589ffa4ca56d5ef988e42b036edfd2becdb53583b/meta_memcache_socket-0.1.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e6ab082c5201c589fd3749be00ba4c73294f571f728b90e0421e72914fce92f7", size = 316325 }, + { url = "https://files.pythonhosted.org/packages/d1/36/abc45faa7ee0b4e052dc0b692cc1465c399b1e1232a534081c225eb3af9b/meta_memcache_socket-0.1.5-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:f4f0c34c04845a87417ac7b1d584b9eb4b6b9901dd49b002c9f90a78712b47a7", size = 473697 }, + { url = "https://files.pythonhosted.org/packages/70/47/dfc58f0004ae5046601ca8df62e2e2fd1edfadd1208f6df292949ce99530/meta_memcache_socket-0.1.5-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:78ccbf652f2f6b6b13180fa9d2184b2f1a2db7433f744d5c5189fbe3ff53d7f1", size = 565580 }, + { url = "https://files.pythonhosted.org/packages/2a/ff/4ecb1e0c202166f70bb43de91582b8da6f750e28008220c25173a30dc647/meta_memcache_socket-0.1.5-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:1267821539ca313014e7dfae319a90174ddaeeb7a6f4029b27ccd17f13cf1921", size = 493573 }, + { url = "https://files.pythonhosted.org/packages/ac/94/c62028176a0b8293b15c0e3787e4f296a6d73291bc7cf21b3cd6ed721a47/meta_memcache_socket-0.1.5-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:eb6d2364481ba514950ea3bd9a096d5428594bb570268b48f3cf663e3d1f5cf7", size = 467203 }, + { url = "https://files.pythonhosted.org/packages/13/22/9dbcbfd007977f35d3ac66c6781b0899ee3ceae3bf3241e21ed3b6c5fa08/meta_memcache_socket-0.1.5-cp311-none-win32.whl", hash = "sha256:0a33f7273c93583f9eac1d8889d923614dc0e70ff7eaf20ee1644e689207c39c", size = 153508 }, + { url = "https://files.pythonhosted.org/packages/aa/c7/8d0e2aac1a67e4fc5d1e674911fe9ffc2f109017a3ec4146545f7d8ff418/meta_memcache_socket-0.1.5-cp311-none-win_amd64.whl", hash = "sha256:11145f5e919692d4f2fcbb89fef2593f0eb487a8e6cfa2a55f9befd7f3006431", size = 161984 }, + { url = "https://files.pythonhosted.org/packages/c0/8e/678ad851e71fe6e8773e49f1dba6b4ec5afb7731558aada645ec6524c153/meta_memcache_socket-0.1.5-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:4eceb3f771ea7d8ae899e2778f13587b8b81aec2ae21a3feb4714e703d8dcd9e", size = 267922 }, + { url = "https://files.pythonhosted.org/packages/f6/2d/eff7bfd56f866d0876c47a714e84a4c7d8677b33af60ef1a9f55714fe818/meta_memcache_socket-0.1.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ef504eaa670b0f0e5efadf887d05007b0b4c3c1a05742307fe3da63861fe9190", size = 261403 }, + { url = "https://files.pythonhosted.org/packages/a0/e3/7b9282f3e1c805a467e3a752f08f06b6aa43ff3a48a53b862b8b7d9b3872/meta_memcache_socket-0.1.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:909c45c0f635ec247159ba5a9e77112e091ac83a2d8d76138166f2118c300d46", size = 295948 }, + { url = "https://files.pythonhosted.org/packages/75/82/d0bc82cf461522f714ca49d4c6a1baa227250aa865fd52ba44ccd74e690e/meta_memcache_socket-0.1.5-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:4fa979aeeaae26ee67611668ee04ded592f8f9a7a770a6c04d53e4b5eb8e8d21", size = 303249 }, + { url = "https://files.pythonhosted.org/packages/c0/16/f991a719911a91e7876bed2d3790e95e9da3acaf8b025ad39e3aa30c03fe/meta_memcache_socket-0.1.5-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7f9a33b07b9496f2b58e59b97018254970c3480c0c3643189c3fb91b9a8ef7b8", size = 338655 }, + { url = "https://files.pythonhosted.org/packages/fe/a2/d945b8b978abe76bd1acae74e2f3dcf885be4ce9cdb5d65d9eb8bfa2b92b/meta_memcache_socket-0.1.5-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2b54f1a839dd749951345f27a93a1bcc60432d07797eabd63bce66aaf176bede", size = 338350 }, + { url = "https://files.pythonhosted.org/packages/f2/d2/0bb2118d2c24ea85ee4f98ebaced2b2bab0fb7a5f278d0826605b17826ab/meta_memcache_socket-0.1.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6591fb69043da9c62b2c65bfee24ea4d6802d789c249f470614f1175c4dc8ecf", size = 295070 }, + { url = "https://files.pythonhosted.org/packages/30/5d/8e8d954a3a3b45e4868c713544b10c58142c4b185801386f0141e4373616/meta_memcache_socket-0.1.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:02fbcaaf2b9da9e9331eed3e6e7b269a8556089067018f56041ab144b6a17fc1", size = 316037 }, + { url = "https://files.pythonhosted.org/packages/17/4b/f8d5dc0b37514443aa3ef9a6545761ce184e9968962b08ffa9790c479332/meta_memcache_socket-0.1.5-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1d73079b292d9094ce23727a0ab2aee4b1ccdca6e8b4ca2b57ea2eb5ecfe6c49", size = 473694 }, + { url = "https://files.pythonhosted.org/packages/41/db/0c0d8aa645c4a426849a242a7e5fe46b321f22c0209e2d6c13c35650d599/meta_memcache_socket-0.1.5-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:12bf3b1a91f5c2882d907c8063cd439762e018f684870ef324cd365435ac8f93", size = 565583 }, + { url = "https://files.pythonhosted.org/packages/ee/6e/609ee43284372740c2676f18ee1106d1faf00810985f6da5769ebd3cd486/meta_memcache_socket-0.1.5-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:242ac4f77a92d2f2ca85ffa6141e860d8505bc2b6674af39e349974491580a70", size = 493573 }, + { url = "https://files.pythonhosted.org/packages/b9/49/8fb765fd901e4446ab983f32ff248828a6a10f2e5b1c1a214ac6c459edec/meta_memcache_socket-0.1.5-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:426deb96165140e50c23bb6c7fc2ce5e3aa017faf8b3c5a3911ec53056139312", size = 467201 }, + { url = "https://files.pythonhosted.org/packages/06/2e/a8b59879fac498bf2e493edc355f41d9a06d5baf162dc1517afcd69d7f78/meta_memcache_socket-0.1.5-cp312-none-win32.whl", hash = "sha256:6830345d32eb5e23858af39cf3e583e82b84b3382f7b2541de65f45ad963a757", size = 153023 }, + { url = "https://files.pythonhosted.org/packages/8d/da/1c4ddb9f3d31d7fdcf2506d78d5eca6b4fff535b43f94ee2ac1419192f20/meta_memcache_socket-0.1.5-cp312-none-win_amd64.whl", hash = "sha256:09c6bf002cbdb9889eadc9687f1a9925adc1bf26ead9c1a536bd73b0f22a295b", size = 161653 }, + { url = "https://files.pythonhosted.org/packages/f3/39/3783021952293d9fd75e2fcd91800a877ab2b20fda1d7ef524c367192f44/meta_memcache_socket-0.1.5-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:abad3123380b2d8971e458859c06a91e59ee88837650887115ae279ed984bb66", size = 300485 }, + { url = "https://files.pythonhosted.org/packages/47/54/cef4b2e2064f22e6367a28b65029a483c66a3569c690264b50c706d6bd65/meta_memcache_socket-0.1.5-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:1b66d8a4a2f66a0ee9e68d6ce842a86d5d37ad1b81b66bc784eecd1f7e2f45f5", size = 306744 }, + { url = "https://files.pythonhosted.org/packages/4f/7e/1afaac11f8da409e6c8a9f9e166187104af4256d143d4dcf7f414207e071/meta_memcache_socket-0.1.5-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c6644de34209dc56f20cba7e9b692b2a29dd8b34c6680b04127b2001ea5d8a59", size = 341287 }, + { url = "https://files.pythonhosted.org/packages/1c/d3/fcd97d62fe17e82521946663c2d11e4cf00431fae144f5d4f79660719303/meta_memcache_socket-0.1.5-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e1a6d56689e21e28111ae1b4ab9b309c5614974c29a2521a3f646611d86879b5", size = 341043 }, + { url = "https://files.pythonhosted.org/packages/41/e5/0a279a5cbe838b60e7da6370e360fba8f04c7df27342bfbd9513c36b9c51/meta_memcache_socket-0.1.5-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ceb8f56df5b308a5086f2e96747aba33f558371af40b345cb35571070462e762", size = 300817 }, + { url = "https://files.pythonhosted.org/packages/7c/21/8e9c93d0f76d86a2864f0686d535278a750ab9a7fb6aaec6a9df722c56cd/meta_memcache_socket-0.1.5-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:482cd2c9080317d38c25ddc3ad922df18c64ad1c4f74a255c09f61f827d5e2b1", size = 319687 }, + { url = "https://files.pythonhosted.org/packages/e6/e0/10842ed222c9101b8f72ce5751fb50adaaf099007939c887c5da1d390787/meta_memcache_socket-0.1.5-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:4def87209f16ca4a1ba9fe8677c1cfe1afa82e1a8111961dbd9df347093b9272", size = 478198 }, + { url = "https://files.pythonhosted.org/packages/fb/39/94fd6834fdea68520221fc7f97e04514aec88c92e33e988c3925e5efd7d0/meta_memcache_socket-0.1.5-pp310-pypy310_pp73-musllinux_1_2_armv7l.whl", hash = "sha256:4247ff8ee513ca7017f3121f35ca4276f59b2783c0eab6dd735e23bc2da75c49", size = 569105 }, + { url = "https://files.pythonhosted.org/packages/71/77/6e50e1dffd1de50919f1c4e179414641989e4a55dfdb20a977be6b54e446/meta_memcache_socket-0.1.5-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:ce9a1ee7be0887f0472af99dbdd49beae4c223313825f5fc4a2e46b8380f514b", size = 497576 }, + { url = "https://files.pythonhosted.org/packages/b9/11/c8964c5c67e8e0ea4e47d715d4a91e56eb8b19d5de00a1167057c8c50b93/meta_memcache_socket-0.1.5-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:de68f1249c191481c8e46c61d1f194e77f747276300740b0ad35a490faed0122", size = 471452 }, +] + +[[package]] +name = "prometheus-client" +version = "0.21.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e1/54/a369868ed7a7f1ea5163030f4fc07d85d22d7a1d270560dab675188fb612/prometheus_client-0.21.0.tar.gz", hash = "sha256:96c83c606b71ff2b0a433c98889d275f51ffec6c5e267de37c7a2b5c9aa9233e", size = 78634 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/84/2d/46ed6436849c2c88228c3111865f44311cff784b4aabcdef4ea2545dbc3d/prometheus_client-0.21.0-py3-none-any.whl", hash = "sha256:4fa6b4dd0ac16d58bb587c04b1caae65b8c5043e85f778f42f5f632f6af2e166", size = 54686 }, +] + +[[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 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/13/a3/a812df4e2dd5696d1f351d58b8fe16a405b234ad2886a0dab9183fb78109/pycparser-2.22-py3-none-any.whl", hash = "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc", size = 117552 }, +] + +[[package]] +name = "setuptools" +version = "75.6.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/43/54/292f26c208734e9a7f067aea4a7e282c080750c4546559b58e2e45413ca0/setuptools-75.6.0.tar.gz", hash = "sha256:8199222558df7c86216af4f84c30e9b34a61d8ba19366cc914424cdbd28252f6", size = 1337429 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/55/21/47d163f615df1d30c094f6c8bbb353619274edccf0327b185cc2493c2c33/setuptools-75.6.0-py3-none-any.whl", hash = "sha256:ce74b49e8f7110f9bf04883b730f4765b774ef3ef28f722cce7c273d253aaf7d", size = 1224032 }, +] + +[[package]] +name = "uhashring" +version = "2.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/21/03/73622724451565a553759f021c15cbaf286ea343c5593879cf8a0d01f402/uhashring-2.3.tar.gz", hash = "sha256:9f76187e8d8e82f6e5519c995eef1f1bf44d4a5e0fc4fdd1219a044b10040612", size = 9266 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/be/13/a35f2805d7696efff6bafff78ff0c085797bfbac545d638491b7467b5017/uhashring-2.3-py3-none-any.whl", hash = "sha256:7ee8a25ca495a97effad10bd563c83b4054a6d7606d9530757049a04edab9297", size = 11066 }, +] + +[[package]] +name = "zstandard" +version = "0.22.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cffi", marker = "platform_python_implementation == 'PyPy'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/5d/91/2162ab4239b3bd6743e8e407bc2442fca0d326e2d77b3f4a88d90ad5a1fa/zstandard-0.22.0.tar.gz", hash = "sha256:8226a33c542bcb54cd6bd0a366067b610b41713b64c9abec1bc4533d69f51e70", size = 660738 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/aa/a4/b7cc74e836ec006427d18439c12b7898697c1eae91b06ffdfa63da8cd041/zstandard-0.22.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:275df437ab03f8c033b8a2c181e51716c32d831082d93ce48002a5227ec93019", size = 920944 }, + { url = "https://files.pythonhosted.org/packages/fc/e5/a1fa6f70764777553cb8ab668690ba793ebf512b3d415e28720d2275d445/zstandard-0.22.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2ac9957bc6d2403c4772c890916bf181b2653640da98f32e04b96e4d6fb3252a", size = 703353 }, + { url = "https://files.pythonhosted.org/packages/8e/3b/0284ed7b2612f793d2490339c1b772232c04a6f20dbbdec050020bd730b2/zstandard-0.22.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fe3390c538f12437b859d815040763abc728955a52ca6ff9c5d4ac707c4ad98e", size = 4914750 }, + { url = "https://files.pythonhosted.org/packages/c9/79/07f6d2670fa2708ae3b79aabb82da78e9cbdb08d9bafadf8638d356775ff/zstandard-0.22.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1958100b8a1cc3f27fa21071a55cb2ed32e9e5df4c3c6e661c193437f171cba2", size = 5430445 }, + { url = "https://files.pythonhosted.org/packages/28/fa/60d35409132b101694943043385ecd610c23f30148e8a15af84c46844b03/zstandard-0.22.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:93e1856c8313bc688d5df069e106a4bc962eef3d13372020cc6e3ebf5e045202", size = 4843872 }, + { url = "https://files.pythonhosted.org/packages/77/2a/910576262607524ff203f5fa849329f8fad6f67b7804a5ef00019f98c390/zstandard-0.22.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:1a90ba9a4c9c884bb876a14be2b1d216609385efb180393df40e5172e7ecf356", size = 4921277 }, + { url = "https://files.pythonhosted.org/packages/95/6b/aea6911a0dbbd5e67dd4e3db8f6b9b594ba05a0ae62f6f3c88cb609a7878/zstandard-0.22.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:3db41c5e49ef73641d5111554e1d1d3af106410a6c1fb52cf68912ba7a343a0d", size = 5444761 }, + { url = "https://files.pythonhosted.org/packages/57/ab/4e4207c78202dccc18be4a22f3ab6b7253bc705c7132385117b5969d9e84/zstandard-0.22.0-cp310-cp310-win32.whl", hash = "sha256:d8593f8464fb64d58e8cb0b905b272d40184eac9a18d83cf8c10749c3eafcd7e", size = 442565 }, + { url = "https://files.pythonhosted.org/packages/4f/2b/ba21c97380fc1b6c9a2c44b432a116599147171c24c084ea0ba6507a2107/zstandard-0.22.0-cp310-cp310-win_amd64.whl", hash = "sha256:f1a4b358947a65b94e2501ce3e078bbc929b039ede4679ddb0460829b12f7375", size = 511644 }, + { url = "https://files.pythonhosted.org/packages/32/41/80fc08ed96e68df920d28592710f5ed96fb288fda1fbb4b6aee5fdbaa5f6/zstandard-0.22.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:589402548251056878d2e7c8859286eb91bd841af117dbe4ab000e6450987e08", size = 921016 }, + { url = "https://files.pythonhosted.org/packages/54/fc/c1b1a1e140451f3362789f546731b3ef36c78668be19d7fc6fbd4326b535/zstandard-0.22.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a97079b955b00b732c6f280d5023e0eefe359045e8b83b08cf0333af9ec78f26", size = 703352 }, + { url = "https://files.pythonhosted.org/packages/68/fb/0a9389ee8ccc532ac4567562c7746bd7537d16bc5b079b2696fe3c510c37/zstandard-0.22.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:445b47bc32de69d990ad0f34da0e20f535914623d1e506e74d6bc5c9dc40bb09", size = 4918211 }, + { url = "https://files.pythonhosted.org/packages/80/6a/f8a618f84aafb9c373a959e7e51ad34bda73f1d99cd856c05c8f0b78e87f/zstandard-0.22.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:33591d59f4956c9812f8063eff2e2c0065bc02050837f152574069f5f9f17775", size = 5433363 }, + { url = "https://files.pythonhosted.org/packages/a4/e1/0b29be2d3a8d86053f284add5a0b4174c820fefc96183b01d5cbcedd498d/zstandard-0.22.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:888196c9c8893a1e8ff5e89b8f894e7f4f0e64a5af4d8f3c410f0319128bb2f8", size = 4847234 }, + { url = "https://files.pythonhosted.org/packages/55/0b/b23b1a6e4d4525f663162344d4896f396267e7f65607f16f7a62e1862a23/zstandard-0.22.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:53866a9d8ab363271c9e80c7c2e9441814961d47f88c9bc3b248142c32141d94", size = 4923512 }, + { url = "https://files.pythonhosted.org/packages/9f/da/e16b2a5613141aaa719e4b09cdadf5eb3fb099311ffc8c0b13785bdcbe1a/zstandard-0.22.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:4ac59d5d6910b220141c1737b79d4a5aa9e57466e7469a012ed42ce2d3995e88", size = 5447292 }, + { url = "https://files.pythonhosted.org/packages/ff/1d/ecca5dee2d173b3b70fa8d6bdeec17f9a875aa6fdac4a6bfaadf7c9668a1/zstandard-0.22.0-cp311-cp311-win32.whl", hash = "sha256:2b11ea433db22e720758cba584c9d661077121fcf60ab43351950ded20283440", size = 442566 }, + { url = "https://files.pythonhosted.org/packages/8a/bc/878a5b8f413d5fe902842fde08ecf317d3979c9728135034a519c409ce3f/zstandard-0.22.0-cp311-cp311-win_amd64.whl", hash = "sha256:11f0d1aab9516a497137b41e3d3ed4bbf7b2ee2abc79e5c8b010ad286d7464bd", size = 511638 }, + { url = "https://files.pythonhosted.org/packages/0f/f9/6b531e83f2e61bb9d66508113fd68557d990639be3dd37116af272932614/zstandard-0.22.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:6c25b8eb733d4e741246151d895dd0308137532737f337411160ff69ca24f93a", size = 920922 }, + { url = "https://files.pythonhosted.org/packages/7d/80/9e40e57ba17dbbf6c55bcf0ac4ee533c367285209f309bdd9ab290c40536/zstandard-0.22.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f9b2cde1cd1b2a10246dbc143ba49d942d14fb3d2b4bccf4618d475c65464912", size = 703142 }, + { url = "https://files.pythonhosted.org/packages/47/44/be2d67304ba9bf4694ffcaa99d146814d70c4cb0bfc00e0e86fdfae66a31/zstandard-0.22.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a88b7df61a292603e7cd662d92565d915796b094ffb3d206579aaebac6b85d5f", size = 4918778 }, + { url = "https://files.pythonhosted.org/packages/e5/01/080939755ca12ebbb7fc38b6f4ddecd5e8c416d571d4927ece1360baba2c/zstandard-0.22.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:466e6ad8caefb589ed281c076deb6f0cd330e8bc13c5035854ffb9c2014b118c", size = 5426393 }, + { url = "https://files.pythonhosted.org/packages/e1/68/66f1edfa9760213e9a85cf70a6c78a9db1a9d9bf0a36c7fdf9ed117bf163/zstandard-0.22.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a1d67d0d53d2a138f9e29d8acdabe11310c185e36f0a848efa104d4e40b808e4", size = 4845899 }, + { url = "https://files.pythonhosted.org/packages/cb/c5/d5f4521c5444f3d1e8bd0dc32b40766b0de1950eee46c734a3a98ddc8f96/zstandard-0.22.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:39b2853efc9403927f9065cc48c9980649462acbdf81cd4f0cb773af2fd734bc", size = 4920875 }, + { url = "https://files.pythonhosted.org/packages/f9/7a/2702eb29c3851a04f42e63443420520b392e432bdb30cb21c11dac1f5eb3/zstandard-0.22.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8a1b2effa96a5f019e72874969394edd393e2fbd6414a8208fea363a22803b45", size = 5451783 }, + { url = "https://files.pythonhosted.org/packages/08/3e/4b78e8378dfdb25f51a1123ec4e44f98a490d58ccf51104a3a9c6f821eb1/zstandard-0.22.0-cp312-cp312-win32.whl", hash = "sha256:88c5b4b47a8a138338a07fc94e2ba3b1535f69247670abfe422de4e0b344aae2", size = 442885 }, + { url = "https://files.pythonhosted.org/packages/b6/91/15feaf0d389f7d696ed0fbd75b51c6cbc04e9b8b474292a3bb2b5157e093/zstandard-0.22.0-cp312-cp312-win_amd64.whl", hash = "sha256:de20a212ef3d00d609d0b22eb7cc798d5a69035e81839f549b538eff4105d01c", size = 511809 }, +]