From 343d990fcc17e4a22adc58aaf7d60a594fd7517d Mon Sep 17 00:00:00 2001 From: Igor Ilic <30923996+dexters1@users.noreply.github.com> Date: Tue, 5 Aug 2025 12:48:24 +0200 Subject: [PATCH] Merge main vol 4 (#1200) ## Description ## DCO Affirmation I affirm that all code in every commit of this pull request conforms to the terms of the Topoteretes Developer Certificate of Origin. --------- Signed-off-by: Andrew Carbonetto Signed-off-by: Andy Kwok Co-authored-by: Vasilije <8619304+Vasilije1990@users.noreply.github.com> Co-authored-by: vasilije Co-authored-by: Andrew Carbonetto Co-authored-by: Andy Kwok --- CONTRIBUTING.md | 6 +- Dockerfile | 1 + cognee-mcp/Dockerfile | 1 + cognee-mcp/entrypoint.sh | 6 +- cognee-mcp/src/server.py | 3 + cognee-mcp/uv.lock | 2238 +++++++++-------- .../databases/graph/get_graph_engine.py | 57 + .../graph/neptune_driver/__init__.py | 15 + .../databases/graph/neptune_driver/adapter.py | 1427 +++++++++++ .../graph/neptune_driver/exceptions.py | 115 + .../graph/neptune_driver/neptune_utils.py | 224 ++ .../NeptuneAnalyticsAdapter.py | 449 ++++ .../hybrid/neptune_analytics/__init__.py | 0 .../databases/vector/create_vector_engine.py | 28 + cognee/tests/test_neptune_analytics_graph.py | 309 +++ cognee/tests/test_neptune_analytics_hybrid.py | 176 ++ cognee/tests/test_neptune_analytics_vector.py | 169 ++ docker-compose.yml | 44 +- .../neptune_analytics_example.py | 110 + notebooks/neptune-analytics-example.ipynb | 378 +++ notebooks/neptune_analytics_demo.png | Bin 0 -> 644018 bytes poetry.lock | 145 +- pyproject.toml | 1 + uv.lock | 1188 +++++---- 24 files changed, 5445 insertions(+), 1645 deletions(-) create mode 100644 cognee/infrastructure/databases/graph/neptune_driver/__init__.py create mode 100644 cognee/infrastructure/databases/graph/neptune_driver/adapter.py create mode 100644 cognee/infrastructure/databases/graph/neptune_driver/exceptions.py create mode 100644 cognee/infrastructure/databases/graph/neptune_driver/neptune_utils.py create mode 100644 cognee/infrastructure/databases/hybrid/neptune_analytics/NeptuneAnalyticsAdapter.py create mode 100644 cognee/infrastructure/databases/hybrid/neptune_analytics/__init__.py create mode 100644 cognee/tests/test_neptune_analytics_graph.py create mode 100644 cognee/tests/test_neptune_analytics_hybrid.py create mode 100644 cognee/tests/test_neptune_analytics_vector.py create mode 100644 examples/database_examples/neptune_analytics_example.py create mode 100644 notebooks/neptune-analytics-example.ipynb create mode 100644 notebooks/neptune_analytics_demo.png diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 6d8071b56..6ca815825 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -99,7 +99,9 @@ python cognee/cognee/tests/test_library.py ## 4. 📤 Submitting Changes -1. Push your changes: +1. Install ruff on your system +2. Run ```ruff format .``` and ``` ruff check ``` and fix the issues +3. Push your changes: ```shell git add . git commit -s -m "Description of your changes" @@ -107,7 +109,7 @@ git push origin feature/your-feature-name ``` 2. Create a Pull Request: - - Go to the [**cognee** repository](https://github.com/topoteretes/cognee) + - Go to the [**cognee** repository](https://github.com/topoteretes/cognee) or [cognee community repository](https://github.com/topoteretes/cognee-community) - Click "Compare & Pull Request" and open a PR against dev branch - Fill in the PR template with details about your changes diff --git a/Dockerfile b/Dockerfile index 77bfdff11..ce6feaa3d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -40,6 +40,7 @@ COPY alembic/ /app/alembic # Then, add the rest of the project source code and install it # Installing separately from its dependencies allows optimal layer caching COPY ./cognee /app/cognee +COPY ./distributed /app/distributed RUN --mount=type=cache,target=/root/.cache/uv \ uv sync --extra debug --extra api --extra postgres --extra qdrant --extra neo4j --extra llama-index --extra gemini --extra ollama --extra mistral --extra groq --extra anthropic --frozen --no-dev --no-editable diff --git a/cognee-mcp/Dockerfile b/cognee-mcp/Dockerfile index 4196fbede..68dce1844 100644 --- a/cognee-mcp/Dockerfile +++ b/cognee-mcp/Dockerfile @@ -51,6 +51,7 @@ RUN apt-get update && apt-get install -y \ WORKDIR /app +# Copy the virtual environment from the uv stage COPY --from=uv /usr/local /usr/local COPY --from=uv /app /app diff --git a/cognee-mcp/entrypoint.sh b/cognee-mcp/entrypoint.sh index 47988baf7..53da83c11 100644 --- a/cognee-mcp/entrypoint.sh +++ b/cognee-mcp/entrypoint.sh @@ -48,7 +48,7 @@ if [ "$ENVIRONMENT" = "dev" ] || [ "$ENVIRONMENT" = "local" ]; then if [ "$DEBUG" = "true" ]; then echo "Waiting for the debugger to attach..." if [ "$TRANSPORT_MODE" = "sse" ]; then - exec python -m debugpy --wait-for-client --listen 0.0.0.0:$DEBUG_PORT -m cognee --transport sse --no-migration + exec python -m debugpy --wait-for-client --listen 0.0.0.0:$DEBUG_PORT -m cognee --transport sse --host 0.0.0.0 --port $HTTP_PORT --no-migration elif [ "$TRANSPORT_MODE" = "http" ]; then exec python -m debugpy --wait-for-client --listen 0.0.0.0:$DEBUG_PORT -m cognee --transport http --host 0.0.0.0 --port $HTTP_PORT --no-migration else @@ -56,7 +56,7 @@ if [ "$ENVIRONMENT" = "dev" ] || [ "$ENVIRONMENT" = "local" ]; then fi else if [ "$TRANSPORT_MODE" = "sse" ]; then - exec cognee --transport sse --no-migration + exec cognee --transport sse --host 0.0.0.0 --port $HTTP_PORT --no-migration elif [ "$TRANSPORT_MODE" = "http" ]; then exec cognee --transport http --host 0.0.0.0 --port $HTTP_PORT --no-migration else @@ -65,7 +65,7 @@ if [ "$ENVIRONMENT" = "dev" ] || [ "$ENVIRONMENT" = "local" ]; then fi else if [ "$TRANSPORT_MODE" = "sse" ]; then - exec cognee --transport sse --no-migration + exec cognee --transport sse --host 0.0.0.0 --port $HTTP_PORT --no-migration elif [ "$TRANSPORT_MODE" = "http" ]; then exec cognee --transport http --host 0.0.0.0 --port $HTTP_PORT --no-migration else diff --git a/cognee-mcp/src/server.py b/cognee-mcp/src/server.py index 58ad13752..a657225f5 100755 --- a/cognee-mcp/src/server.py +++ b/cognee-mcp/src/server.py @@ -947,6 +947,9 @@ async def main(): args = parser.parse_args() + mcp.settings.host = args.host + mcp.settings.port = args.port + if not args.no_migration: # Run Alembic migrations from the main cognee directory where alembic.ini is located logger.info("Running database migrations...") diff --git a/cognee-mcp/uv.lock b/cognee-mcp/uv.lock index 4e725d4d7..bfa434b4f 100644 --- a/cognee-mcp/uv.lock +++ b/cognee-mcp/uv.lock @@ -2,7 +2,8 @@ version = 1 revision = 2 requires-python = ">=3.10" resolution-markers = [ - "python_full_version >= '3.13' and platform_python_implementation != 'PyPy' and sys_platform != 'emscripten'", + "python_full_version >= '3.14' and platform_python_implementation != 'PyPy' and sys_platform != 'emscripten'", + "python_full_version == '3.13.*' and platform_python_implementation != 'PyPy' and sys_platform != 'emscripten'", "python_full_version == '3.12.*' and platform_python_implementation != 'PyPy' and sys_platform != 'emscripten'", "python_full_version == '3.11.*' and platform_python_implementation != 'PyPy' and sys_platform != 'emscripten'", "python_full_version < '3.11' and platform_python_implementation != 'PyPy' and sys_platform != 'emscripten'", @@ -18,7 +19,7 @@ resolution-markers = [ [[package]] name = "aiobotocore" -version = "2.23.0" +version = "2.23.2" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "aiohttp" }, @@ -29,9 +30,9 @@ dependencies = [ { name = "python-dateutil" }, { name = "wrapt" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/9d/25/4b06ea1214ddf020a28df27dc7136ac9dfaf87929d51e6f6044dd350ed67/aiobotocore-2.23.0.tar.gz", hash = "sha256:0333931365a6c7053aee292fe6ef50c74690c4ae06bb019afdf706cb6f2f5e32", size = 115825, upload-time = "2025-06-12T23:46:38.055Z" } +sdist = { url = "https://files.pythonhosted.org/packages/1d/ae/523d48504902a6f17f6ec94311899f217f1bf64b9ca394c89c690c37434c/aiobotocore-2.23.2.tar.gz", hash = "sha256:9c2cbd6e813bb6c60b7f20fc11897976a583c57b0093a87bebfe80a9b08746b2", size = 115881, upload-time = "2025-07-24T17:48:15.957Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/ea/43/ccf9b29669cdb09fd4bfc0a8effeb2973b22a0f3c3be4142d0b485975d11/aiobotocore-2.23.0-py3-none-any.whl", hash = "sha256:8202cebbf147804a083a02bc282fbfda873bfdd0065fd34b64784acb7757b66e", size = 84161, upload-time = "2025-06-12T23:46:36.305Z" }, + { url = "https://files.pythonhosted.org/packages/c9/2e/55780065672a69ab3d16062368d358ace7eac196b246e6b15b07301f8fbf/aiobotocore-2.23.2-py3-none-any.whl", hash = "sha256:5ca24feb49be73bd6cd92e82e95aefb0647c07bb85ca57000a0361b9554503d8", size = 84301, upload-time = "2025-07-24T17:48:14.494Z" }, ] [package.optional-dependencies] @@ -59,7 +60,7 @@ wheels = [ [[package]] name = "aiohttp" -version = "3.12.14" +version = "3.12.15" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "aiohappyeyeballs" }, @@ -71,76 +72,76 @@ dependencies = [ { name = "propcache" }, { name = "yarl" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/e6/0b/e39ad954107ebf213a2325038a3e7a506be3d98e1435e1f82086eec4cde2/aiohttp-3.12.14.tar.gz", hash = "sha256:6e06e120e34d93100de448fd941522e11dafa78ef1a893c179901b7d66aa29f2", size = 7822921, upload-time = "2025-07-10T13:05:33.968Z" } +sdist = { url = "https://files.pythonhosted.org/packages/9b/e7/d92a237d8802ca88483906c388f7c201bbe96cd80a165ffd0ac2f6a8d59f/aiohttp-3.12.15.tar.gz", hash = "sha256:4fc61385e9c98d72fcdf47e6dd81833f47b2f77c114c29cd64a361be57a763a2", size = 7823716, upload-time = "2025-07-29T05:52:32.215Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/0c/88/f161f429f9de391eee6a5c2cffa54e2ecd5b7122ae99df247f7734dfefcb/aiohttp-3.12.14-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:906d5075b5ba0dd1c66fcaaf60eb09926a9fef3ca92d912d2a0bbdbecf8b1248", size = 702641, upload-time = "2025-07-10T13:02:38.98Z" }, - { url = "https://files.pythonhosted.org/packages/fe/b5/24fa382a69a25d242e2baa3e56d5ea5227d1b68784521aaf3a1a8b34c9a4/aiohttp-3.12.14-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c875bf6fc2fd1a572aba0e02ef4e7a63694778c5646cdbda346ee24e630d30fb", size = 479005, upload-time = "2025-07-10T13:02:42.714Z" }, - { url = "https://files.pythonhosted.org/packages/09/67/fda1bc34adbfaa950d98d934a23900918f9d63594928c70e55045838c943/aiohttp-3.12.14-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fbb284d15c6a45fab030740049d03c0ecd60edad9cd23b211d7e11d3be8d56fd", size = 466781, upload-time = "2025-07-10T13:02:44.639Z" }, - { url = "https://files.pythonhosted.org/packages/36/96/3ce1ea96d3cf6928b87cfb8cdd94650367f5c2f36e686a1f5568f0f13754/aiohttp-3.12.14-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:38e360381e02e1a05d36b223ecab7bc4a6e7b5ab15760022dc92589ee1d4238c", size = 1648841, upload-time = "2025-07-10T13:02:46.356Z" }, - { url = "https://files.pythonhosted.org/packages/be/04/ddea06cb4bc7d8db3745cf95e2c42f310aad485ca075bd685f0e4f0f6b65/aiohttp-3.12.14-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:aaf90137b5e5d84a53632ad95ebee5c9e3e7468f0aab92ba3f608adcb914fa95", size = 1622896, upload-time = "2025-07-10T13:02:48.422Z" }, - { url = "https://files.pythonhosted.org/packages/73/66/63942f104d33ce6ca7871ac6c1e2ebab48b88f78b2b7680c37de60f5e8cd/aiohttp-3.12.14-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e532a25e4a0a2685fa295a31acf65e027fbe2bea7a4b02cdfbbba8a064577663", size = 1695302, upload-time = "2025-07-10T13:02:50.078Z" }, - { url = "https://files.pythonhosted.org/packages/20/00/aab615742b953f04b48cb378ee72ada88555b47b860b98c21c458c030a23/aiohttp-3.12.14-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:eab9762c4d1b08ae04a6c77474e6136da722e34fdc0e6d6eab5ee93ac29f35d1", size = 1737617, upload-time = "2025-07-10T13:02:52.123Z" }, - { url = "https://files.pythonhosted.org/packages/d6/4f/ef6d9f77225cf27747368c37b3d69fac1f8d6f9d3d5de2d410d155639524/aiohttp-3.12.14-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:abe53c3812b2899889a7fca763cdfaeee725f5be68ea89905e4275476ffd7e61", size = 1642282, upload-time = "2025-07-10T13:02:53.899Z" }, - { url = "https://files.pythonhosted.org/packages/37/e1/e98a43c15aa52e9219a842f18c59cbae8bbe2d50c08d298f17e9e8bafa38/aiohttp-3.12.14-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5760909b7080aa2ec1d320baee90d03b21745573780a072b66ce633eb77a8656", size = 1582406, upload-time = "2025-07-10T13:02:55.515Z" }, - { url = "https://files.pythonhosted.org/packages/71/5c/29c6dfb49323bcdb0239bf3fc97ffcf0eaf86d3a60426a3287ec75d67721/aiohttp-3.12.14-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:02fcd3f69051467bbaa7f84d7ec3267478c7df18d68b2e28279116e29d18d4f3", size = 1626255, upload-time = "2025-07-10T13:02:57.343Z" }, - { url = "https://files.pythonhosted.org/packages/79/60/ec90782084090c4a6b459790cfd8d17be2c5662c9c4b2d21408b2f2dc36c/aiohttp-3.12.14-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:4dcd1172cd6794884c33e504d3da3c35648b8be9bfa946942d353b939d5f1288", size = 1637041, upload-time = "2025-07-10T13:02:59.008Z" }, - { url = "https://files.pythonhosted.org/packages/22/89/205d3ad30865c32bc472ac13f94374210745b05bd0f2856996cb34d53396/aiohttp-3.12.14-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:224d0da41355b942b43ad08101b1b41ce633a654128ee07e36d75133443adcda", size = 1612494, upload-time = "2025-07-10T13:03:00.618Z" }, - { url = "https://files.pythonhosted.org/packages/48/ae/2f66edaa8bd6db2a4cba0386881eb92002cdc70834e2a93d1d5607132c7e/aiohttp-3.12.14-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:e387668724f4d734e865c1776d841ed75b300ee61059aca0b05bce67061dcacc", size = 1692081, upload-time = "2025-07-10T13:03:02.154Z" }, - { url = "https://files.pythonhosted.org/packages/08/3a/fa73bfc6e21407ea57f7906a816f0dc73663d9549da703be05dbd76d2dc3/aiohttp-3.12.14-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:dec9cde5b5a24171e0b0a4ca064b1414950904053fb77c707efd876a2da525d8", size = 1715318, upload-time = "2025-07-10T13:03:04.322Z" }, - { url = "https://files.pythonhosted.org/packages/e3/b3/751124b8ceb0831c17960d06ee31a4732cb4a6a006fdbfa1153d07c52226/aiohttp-3.12.14-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:bbad68a2af4877cc103cd94af9160e45676fc6f0c14abb88e6e092b945c2c8e3", size = 1643660, upload-time = "2025-07-10T13:03:06.406Z" }, - { url = "https://files.pythonhosted.org/packages/81/3c/72477a1d34edb8ab8ce8013086a41526d48b64f77e381c8908d24e1c18f5/aiohttp-3.12.14-cp310-cp310-win32.whl", hash = "sha256:ee580cb7c00bd857b3039ebca03c4448e84700dc1322f860cf7a500a6f62630c", size = 428289, upload-time = "2025-07-10T13:03:08.274Z" }, - { url = "https://files.pythonhosted.org/packages/a2/c4/8aec4ccf1b822ec78e7982bd5cf971113ecce5f773f04039c76a083116fc/aiohttp-3.12.14-cp310-cp310-win_amd64.whl", hash = "sha256:cf4f05b8cea571e2ccc3ca744e35ead24992d90a72ca2cf7ab7a2efbac6716db", size = 451328, upload-time = "2025-07-10T13:03:10.146Z" }, - { url = "https://files.pythonhosted.org/packages/53/e1/8029b29316971c5fa89cec170274582619a01b3d82dd1036872acc9bc7e8/aiohttp-3.12.14-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:f4552ff7b18bcec18b60a90c6982049cdb9dac1dba48cf00b97934a06ce2e597", size = 709960, upload-time = "2025-07-10T13:03:11.936Z" }, - { url = "https://files.pythonhosted.org/packages/96/bd/4f204cf1e282041f7b7e8155f846583b19149e0872752711d0da5e9cc023/aiohttp-3.12.14-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:8283f42181ff6ccbcf25acaae4e8ab2ff7e92b3ca4a4ced73b2c12d8cd971393", size = 482235, upload-time = "2025-07-10T13:03:14.118Z" }, - { url = "https://files.pythonhosted.org/packages/d6/0f/2a580fcdd113fe2197a3b9df30230c7e85bb10bf56f7915457c60e9addd9/aiohttp-3.12.14-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:040afa180ea514495aaff7ad34ec3d27826eaa5d19812730fe9e529b04bb2179", size = 470501, upload-time = "2025-07-10T13:03:16.153Z" }, - { url = "https://files.pythonhosted.org/packages/38/78/2c1089f6adca90c3dd74915bafed6d6d8a87df5e3da74200f6b3a8b8906f/aiohttp-3.12.14-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b413c12f14c1149f0ffd890f4141a7471ba4b41234fe4fd4a0ff82b1dc299dbb", size = 1740696, upload-time = "2025-07-10T13:03:18.4Z" }, - { url = "https://files.pythonhosted.org/packages/4a/c8/ce6c7a34d9c589f007cfe064da2d943b3dee5aabc64eaecd21faf927ab11/aiohttp-3.12.14-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:1d6f607ce2e1a93315414e3d448b831238f1874b9968e1195b06efaa5c87e245", size = 1689365, upload-time = "2025-07-10T13:03:20.629Z" }, - { url = "https://files.pythonhosted.org/packages/18/10/431cd3d089de700756a56aa896faf3ea82bee39d22f89db7ddc957580308/aiohttp-3.12.14-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:565e70d03e924333004ed101599902bba09ebb14843c8ea39d657f037115201b", size = 1788157, upload-time = "2025-07-10T13:03:22.44Z" }, - { url = "https://files.pythonhosted.org/packages/fa/b2/26f4524184e0f7ba46671c512d4b03022633bcf7d32fa0c6f1ef49d55800/aiohttp-3.12.14-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4699979560728b168d5ab63c668a093c9570af2c7a78ea24ca5212c6cdc2b641", size = 1827203, upload-time = "2025-07-10T13:03:24.628Z" }, - { url = "https://files.pythonhosted.org/packages/e0/30/aadcdf71b510a718e3d98a7bfeaea2396ac847f218b7e8edb241b09bd99a/aiohttp-3.12.14-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ad5fdf6af93ec6c99bf800eba3af9a43d8bfd66dce920ac905c817ef4a712afe", size = 1729664, upload-time = "2025-07-10T13:03:26.412Z" }, - { url = "https://files.pythonhosted.org/packages/67/7f/7ccf11756ae498fdedc3d689a0c36ace8fc82f9d52d3517da24adf6e9a74/aiohttp-3.12.14-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4ac76627c0b7ee0e80e871bde0d376a057916cb008a8f3ffc889570a838f5cc7", size = 1666741, upload-time = "2025-07-10T13:03:28.167Z" }, - { url = "https://files.pythonhosted.org/packages/6b/4d/35ebc170b1856dd020c92376dbfe4297217625ef4004d56587024dc2289c/aiohttp-3.12.14-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:798204af1180885651b77bf03adc903743a86a39c7392c472891649610844635", size = 1715013, upload-time = "2025-07-10T13:03:30.018Z" }, - { url = "https://files.pythonhosted.org/packages/7b/24/46dc0380146f33e2e4aa088b92374b598f5bdcde1718c77e8d1a0094f1a4/aiohttp-3.12.14-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:4f1205f97de92c37dd71cf2d5bcfb65fdaed3c255d246172cce729a8d849b4da", size = 1710172, upload-time = "2025-07-10T13:03:31.821Z" }, - { url = "https://files.pythonhosted.org/packages/2f/0a/46599d7d19b64f4d0fe1b57bdf96a9a40b5c125f0ae0d8899bc22e91fdce/aiohttp-3.12.14-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:76ae6f1dd041f85065d9df77c6bc9c9703da9b5c018479d20262acc3df97d419", size = 1690355, upload-time = "2025-07-10T13:03:34.754Z" }, - { url = "https://files.pythonhosted.org/packages/08/86/b21b682e33d5ca317ef96bd21294984f72379454e689d7da584df1512a19/aiohttp-3.12.14-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:a194ace7bc43ce765338ca2dfb5661489317db216ea7ea700b0332878b392cab", size = 1783958, upload-time = "2025-07-10T13:03:36.53Z" }, - { url = "https://files.pythonhosted.org/packages/4f/45/f639482530b1396c365f23c5e3b1ae51c9bc02ba2b2248ca0c855a730059/aiohttp-3.12.14-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:16260e8e03744a6fe3fcb05259eeab8e08342c4c33decf96a9dad9f1187275d0", size = 1804423, upload-time = "2025-07-10T13:03:38.504Z" }, - { url = "https://files.pythonhosted.org/packages/7e/e5/39635a9e06eed1d73671bd4079a3caf9cf09a49df08490686f45a710b80e/aiohttp-3.12.14-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:8c779e5ebbf0e2e15334ea404fcce54009dc069210164a244d2eac8352a44b28", size = 1717479, upload-time = "2025-07-10T13:03:40.158Z" }, - { url = "https://files.pythonhosted.org/packages/51/e1/7f1c77515d369b7419c5b501196526dad3e72800946c0099594c1f0c20b4/aiohttp-3.12.14-cp311-cp311-win32.whl", hash = "sha256:a289f50bf1bd5be227376c067927f78079a7bdeccf8daa6a9e65c38bae14324b", size = 427907, upload-time = "2025-07-10T13:03:41.801Z" }, - { url = "https://files.pythonhosted.org/packages/06/24/a6bf915c85b7a5b07beba3d42b3282936b51e4578b64a51e8e875643c276/aiohttp-3.12.14-cp311-cp311-win_amd64.whl", hash = "sha256:0b8a69acaf06b17e9c54151a6c956339cf46db4ff72b3ac28516d0f7068f4ced", size = 452334, upload-time = "2025-07-10T13:03:43.485Z" }, - { url = "https://files.pythonhosted.org/packages/c3/0d/29026524e9336e33d9767a1e593ae2b24c2b8b09af7c2bd8193762f76b3e/aiohttp-3.12.14-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:a0ecbb32fc3e69bc25efcda7d28d38e987d007096cbbeed04f14a6662d0eee22", size = 701055, upload-time = "2025-07-10T13:03:45.59Z" }, - { url = "https://files.pythonhosted.org/packages/0a/b8/a5e8e583e6c8c1056f4b012b50a03c77a669c2e9bf012b7cf33d6bc4b141/aiohttp-3.12.14-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:0400f0ca9bb3e0b02f6466421f253797f6384e9845820c8b05e976398ac1d81a", size = 475670, upload-time = "2025-07-10T13:03:47.249Z" }, - { url = "https://files.pythonhosted.org/packages/29/e8/5202890c9e81a4ec2c2808dd90ffe024952e72c061729e1d49917677952f/aiohttp-3.12.14-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a56809fed4c8a830b5cae18454b7464e1529dbf66f71c4772e3cfa9cbec0a1ff", size = 468513, upload-time = "2025-07-10T13:03:49.377Z" }, - { url = "https://files.pythonhosted.org/packages/23/e5/d11db8c23d8923d3484a27468a40737d50f05b05eebbb6288bafcb467356/aiohttp-3.12.14-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:27f2e373276e4755691a963e5d11756d093e346119f0627c2d6518208483fb6d", size = 1715309, upload-time = "2025-07-10T13:03:51.556Z" }, - { url = "https://files.pythonhosted.org/packages/53/44/af6879ca0eff7a16b1b650b7ea4a827301737a350a464239e58aa7c387ef/aiohttp-3.12.14-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:ca39e433630e9a16281125ef57ece6817afd1d54c9f1bf32e901f38f16035869", size = 1697961, upload-time = "2025-07-10T13:03:53.511Z" }, - { url = "https://files.pythonhosted.org/packages/bb/94/18457f043399e1ec0e59ad8674c0372f925363059c276a45a1459e17f423/aiohttp-3.12.14-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9c748b3f8b14c77720132b2510a7d9907a03c20ba80f469e58d5dfd90c079a1c", size = 1753055, upload-time = "2025-07-10T13:03:55.368Z" }, - { url = "https://files.pythonhosted.org/packages/26/d9/1d3744dc588fafb50ff8a6226d58f484a2242b5dd93d8038882f55474d41/aiohttp-3.12.14-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f0a568abe1b15ce69d4cc37e23020720423f0728e3cb1f9bcd3f53420ec3bfe7", size = 1799211, upload-time = "2025-07-10T13:03:57.216Z" }, - { url = "https://files.pythonhosted.org/packages/73/12/2530fb2b08773f717ab2d249ca7a982ac66e32187c62d49e2c86c9bba9b4/aiohttp-3.12.14-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9888e60c2c54eaf56704b17feb558c7ed6b7439bca1e07d4818ab878f2083660", size = 1718649, upload-time = "2025-07-10T13:03:59.469Z" }, - { url = "https://files.pythonhosted.org/packages/b9/34/8d6015a729f6571341a311061b578e8b8072ea3656b3d72329fa0faa2c7c/aiohttp-3.12.14-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3006a1dc579b9156de01e7916d38c63dc1ea0679b14627a37edf6151bc530088", size = 1634452, upload-time = "2025-07-10T13:04:01.698Z" }, - { url = "https://files.pythonhosted.org/packages/ff/4b/08b83ea02595a582447aeb0c1986792d0de35fe7a22fb2125d65091cbaf3/aiohttp-3.12.14-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:aa8ec5c15ab80e5501a26719eb48a55f3c567da45c6ea5bb78c52c036b2655c7", size = 1695511, upload-time = "2025-07-10T13:04:04.165Z" }, - { url = "https://files.pythonhosted.org/packages/b5/66/9c7c31037a063eec13ecf1976185c65d1394ded4a5120dd5965e3473cb21/aiohttp-3.12.14-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:39b94e50959aa07844c7fe2206b9f75d63cc3ad1c648aaa755aa257f6f2498a9", size = 1716967, upload-time = "2025-07-10T13:04:06.132Z" }, - { url = "https://files.pythonhosted.org/packages/ba/02/84406e0ad1acb0fb61fd617651ab6de760b2d6a31700904bc0b33bd0894d/aiohttp-3.12.14-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:04c11907492f416dad9885d503fbfc5dcb6768d90cad8639a771922d584609d3", size = 1657620, upload-time = "2025-07-10T13:04:07.944Z" }, - { url = "https://files.pythonhosted.org/packages/07/53/da018f4013a7a179017b9a274b46b9a12cbeb387570f116964f498a6f211/aiohttp-3.12.14-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:88167bd9ab69bb46cee91bd9761db6dfd45b6e76a0438c7e884c3f8160ff21eb", size = 1737179, upload-time = "2025-07-10T13:04:10.182Z" }, - { url = "https://files.pythonhosted.org/packages/49/e8/ca01c5ccfeaafb026d85fa4f43ceb23eb80ea9c1385688db0ef322c751e9/aiohttp-3.12.14-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:791504763f25e8f9f251e4688195e8b455f8820274320204f7eafc467e609425", size = 1765156, upload-time = "2025-07-10T13:04:12.029Z" }, - { url = "https://files.pythonhosted.org/packages/22/32/5501ab525a47ba23c20613e568174d6c63aa09e2caa22cded5c6ea8e3ada/aiohttp-3.12.14-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:2785b112346e435dd3a1a67f67713a3fe692d288542f1347ad255683f066d8e0", size = 1724766, upload-time = "2025-07-10T13:04:13.961Z" }, - { url = "https://files.pythonhosted.org/packages/06/af/28e24574801fcf1657945347ee10df3892311c2829b41232be6089e461e7/aiohttp-3.12.14-cp312-cp312-win32.whl", hash = "sha256:15f5f4792c9c999a31d8decf444e79fcfd98497bf98e94284bf390a7bb8c1729", size = 422641, upload-time = "2025-07-10T13:04:16.018Z" }, - { url = "https://files.pythonhosted.org/packages/98/d5/7ac2464aebd2eecac38dbe96148c9eb487679c512449ba5215d233755582/aiohttp-3.12.14-cp312-cp312-win_amd64.whl", hash = "sha256:3b66e1a182879f579b105a80d5c4bd448b91a57e8933564bf41665064796a338", size = 449316, upload-time = "2025-07-10T13:04:18.289Z" }, - { url = "https://files.pythonhosted.org/packages/06/48/e0d2fa8ac778008071e7b79b93ab31ef14ab88804d7ba71b5c964a7c844e/aiohttp-3.12.14-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:3143a7893d94dc82bc409f7308bc10d60285a3cd831a68faf1aa0836c5c3c767", size = 695471, upload-time = "2025-07-10T13:04:20.124Z" }, - { url = "https://files.pythonhosted.org/packages/8d/e7/f73206afa33100804f790b71092888f47df65fd9a4cd0e6800d7c6826441/aiohttp-3.12.14-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:3d62ac3d506cef54b355bd34c2a7c230eb693880001dfcda0bf88b38f5d7af7e", size = 473128, upload-time = "2025-07-10T13:04:21.928Z" }, - { url = "https://files.pythonhosted.org/packages/df/e2/4dd00180be551a6e7ee979c20fc7c32727f4889ee3fd5b0586e0d47f30e1/aiohttp-3.12.14-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:48e43e075c6a438937c4de48ec30fa8ad8e6dfef122a038847456bfe7b947b63", size = 465426, upload-time = "2025-07-10T13:04:24.071Z" }, - { url = "https://files.pythonhosted.org/packages/de/dd/525ed198a0bb674a323e93e4d928443a680860802c44fa7922d39436b48b/aiohttp-3.12.14-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:077b4488411a9724cecc436cbc8c133e0d61e694995b8de51aaf351c7578949d", size = 1704252, upload-time = "2025-07-10T13:04:26.049Z" }, - { url = "https://files.pythonhosted.org/packages/d8/b1/01e542aed560a968f692ab4fc4323286e8bc4daae83348cd63588e4f33e3/aiohttp-3.12.14-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:d8c35632575653f297dcbc9546305b2c1133391089ab925a6a3706dfa775ccab", size = 1685514, upload-time = "2025-07-10T13:04:28.186Z" }, - { url = "https://files.pythonhosted.org/packages/b3/06/93669694dc5fdabdc01338791e70452d60ce21ea0946a878715688d5a191/aiohttp-3.12.14-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6b8ce87963f0035c6834b28f061df90cf525ff7c9b6283a8ac23acee6502afd4", size = 1737586, upload-time = "2025-07-10T13:04:30.195Z" }, - { url = "https://files.pythonhosted.org/packages/a5/3a/18991048ffc1407ca51efb49ba8bcc1645961f97f563a6c480cdf0286310/aiohttp-3.12.14-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f0a2cf66e32a2563bb0766eb24eae7e9a269ac0dc48db0aae90b575dc9583026", size = 1786958, upload-time = "2025-07-10T13:04:32.482Z" }, - { url = "https://files.pythonhosted.org/packages/30/a8/81e237f89a32029f9b4a805af6dffc378f8459c7b9942712c809ff9e76e5/aiohttp-3.12.14-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cdea089caf6d5cde975084a884c72d901e36ef9c2fd972c9f51efbbc64e96fbd", size = 1709287, upload-time = "2025-07-10T13:04:34.493Z" }, - { url = "https://files.pythonhosted.org/packages/8c/e3/bd67a11b0fe7fc12c6030473afd9e44223d456f500f7cf526dbaa259ae46/aiohttp-3.12.14-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8a7865f27db67d49e81d463da64a59365ebd6b826e0e4847aa111056dcb9dc88", size = 1622990, upload-time = "2025-07-10T13:04:36.433Z" }, - { url = "https://files.pythonhosted.org/packages/83/ba/e0cc8e0f0d9ce0904e3cf2d6fa41904e379e718a013c721b781d53dcbcca/aiohttp-3.12.14-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0ab5b38a6a39781d77713ad930cb5e7feea6f253de656a5f9f281a8f5931b086", size = 1676015, upload-time = "2025-07-10T13:04:38.958Z" }, - { url = "https://files.pythonhosted.org/packages/d8/b3/1e6c960520bda094c48b56de29a3d978254637ace7168dd97ddc273d0d6c/aiohttp-3.12.14-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:9b3b15acee5c17e8848d90a4ebc27853f37077ba6aec4d8cb4dbbea56d156933", size = 1707678, upload-time = "2025-07-10T13:04:41.275Z" }, - { url = "https://files.pythonhosted.org/packages/0a/19/929a3eb8c35b7f9f076a462eaa9830b32c7f27d3395397665caa5e975614/aiohttp-3.12.14-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:e4c972b0bdaac167c1e53e16a16101b17c6d0ed7eac178e653a07b9f7fad7151", size = 1650274, upload-time = "2025-07-10T13:04:43.483Z" }, - { url = "https://files.pythonhosted.org/packages/22/e5/81682a6f20dd1b18ce3d747de8eba11cbef9b270f567426ff7880b096b48/aiohttp-3.12.14-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:7442488b0039257a3bdbc55f7209587911f143fca11df9869578db6c26feeeb8", size = 1726408, upload-time = "2025-07-10T13:04:45.577Z" }, - { url = "https://files.pythonhosted.org/packages/8c/17/884938dffaa4048302985483f77dfce5ac18339aad9b04ad4aaa5e32b028/aiohttp-3.12.14-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:f68d3067eecb64c5e9bab4a26aa11bd676f4c70eea9ef6536b0a4e490639add3", size = 1759879, upload-time = "2025-07-10T13:04:47.663Z" }, - { url = "https://files.pythonhosted.org/packages/95/78/53b081980f50b5cf874359bde707a6eacd6c4be3f5f5c93937e48c9d0025/aiohttp-3.12.14-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:f88d3704c8b3d598a08ad17d06006cb1ca52a1182291f04979e305c8be6c9758", size = 1708770, upload-time = "2025-07-10T13:04:49.944Z" }, - { url = "https://files.pythonhosted.org/packages/ed/91/228eeddb008ecbe3ffa6c77b440597fdf640307162f0c6488e72c5a2d112/aiohttp-3.12.14-cp313-cp313-win32.whl", hash = "sha256:a3c99ab19c7bf375c4ae3debd91ca5d394b98b6089a03231d4c580ef3c2ae4c5", size = 421688, upload-time = "2025-07-10T13:04:51.993Z" }, - { url = "https://files.pythonhosted.org/packages/66/5f/8427618903343402fdafe2850738f735fd1d9409d2a8f9bcaae5e630d3ba/aiohttp-3.12.14-cp313-cp313-win_amd64.whl", hash = "sha256:3f8aad695e12edc9d571f878c62bedc91adf30c760c8632f09663e5f564f4baa", size = 448098, upload-time = "2025-07-10T13:04:53.999Z" }, + { url = "https://files.pythonhosted.org/packages/47/dc/ef9394bde9080128ad401ac7ede185267ed637df03b51f05d14d1c99ad67/aiohttp-3.12.15-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:b6fc902bff74d9b1879ad55f5404153e2b33a82e72a95c89cec5eb6cc9e92fbc", size = 703921, upload-time = "2025-07-29T05:49:43.584Z" }, + { url = "https://files.pythonhosted.org/packages/8f/42/63fccfc3a7ed97eb6e1a71722396f409c46b60a0552d8a56d7aad74e0df5/aiohttp-3.12.15-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:098e92835b8119b54c693f2f88a1dec690e20798ca5f5fe5f0520245253ee0af", size = 480288, upload-time = "2025-07-29T05:49:47.851Z" }, + { url = "https://files.pythonhosted.org/packages/9c/a2/7b8a020549f66ea2a68129db6960a762d2393248f1994499f8ba9728bbed/aiohttp-3.12.15-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:40b3fee496a47c3b4a39a731954c06f0bd9bd3e8258c059a4beb76ac23f8e421", size = 468063, upload-time = "2025-07-29T05:49:49.789Z" }, + { url = "https://files.pythonhosted.org/packages/8f/f5/d11e088da9176e2ad8220338ae0000ed5429a15f3c9dfd983f39105399cd/aiohttp-3.12.15-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2ce13fcfb0bb2f259fb42106cdc63fa5515fb85b7e87177267d89a771a660b79", size = 1650122, upload-time = "2025-07-29T05:49:51.874Z" }, + { url = "https://files.pythonhosted.org/packages/b0/6b/b60ce2757e2faed3d70ed45dafee48cee7bfb878785a9423f7e883f0639c/aiohttp-3.12.15-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:3beb14f053222b391bf9cf92ae82e0171067cc9c8f52453a0f1ec7c37df12a77", size = 1624176, upload-time = "2025-07-29T05:49:53.805Z" }, + { url = "https://files.pythonhosted.org/packages/dd/de/8c9fde2072a1b72c4fadecf4f7d4be7a85b1d9a4ab333d8245694057b4c6/aiohttp-3.12.15-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4c39e87afe48aa3e814cac5f535bc6199180a53e38d3f51c5e2530f5aa4ec58c", size = 1696583, upload-time = "2025-07-29T05:49:55.338Z" }, + { url = "https://files.pythonhosted.org/packages/0c/ad/07f863ca3d895a1ad958a54006c6dafb4f9310f8c2fdb5f961b8529029d3/aiohttp-3.12.15-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d5f1b4ce5bc528a6ee38dbf5f39bbf11dd127048726323b72b8e85769319ffc4", size = 1738896, upload-time = "2025-07-29T05:49:57.045Z" }, + { url = "https://files.pythonhosted.org/packages/20/43/2bd482ebe2b126533e8755a49b128ec4e58f1a3af56879a3abdb7b42c54f/aiohttp-3.12.15-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1004e67962efabbaf3f03b11b4c43b834081c9e3f9b32b16a7d97d4708a9abe6", size = 1643561, upload-time = "2025-07-29T05:49:58.762Z" }, + { url = "https://files.pythonhosted.org/packages/23/40/2fa9f514c4cf4cbae8d7911927f81a1901838baf5e09a8b2c299de1acfe5/aiohttp-3.12.15-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8faa08fcc2e411f7ab91d1541d9d597d3a90e9004180edb2072238c085eac8c2", size = 1583685, upload-time = "2025-07-29T05:50:00.375Z" }, + { url = "https://files.pythonhosted.org/packages/b8/c3/94dc7357bc421f4fb978ca72a201a6c604ee90148f1181790c129396ceeb/aiohttp-3.12.15-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:fe086edf38b2222328cdf89af0dde2439ee173b8ad7cb659b4e4c6f385b2be3d", size = 1627533, upload-time = "2025-07-29T05:50:02.306Z" }, + { url = "https://files.pythonhosted.org/packages/bf/3f/1f8911fe1844a07001e26593b5c255a685318943864b27b4e0267e840f95/aiohttp-3.12.15-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:79b26fe467219add81d5e47b4a4ba0f2394e8b7c7c3198ed36609f9ba161aecb", size = 1638319, upload-time = "2025-07-29T05:50:04.282Z" }, + { url = "https://files.pythonhosted.org/packages/4e/46/27bf57a99168c4e145ffee6b63d0458b9c66e58bb70687c23ad3d2f0bd17/aiohttp-3.12.15-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:b761bac1192ef24e16706d761aefcb581438b34b13a2f069a6d343ec8fb693a5", size = 1613776, upload-time = "2025-07-29T05:50:05.863Z" }, + { url = "https://files.pythonhosted.org/packages/0f/7e/1d2d9061a574584bb4ad3dbdba0da90a27fdc795bc227def3a46186a8bc1/aiohttp-3.12.15-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:e153e8adacfe2af562861b72f8bc47f8a5c08e010ac94eebbe33dc21d677cd5b", size = 1693359, upload-time = "2025-07-29T05:50:07.563Z" }, + { url = "https://files.pythonhosted.org/packages/08/98/bee429b52233c4a391980a5b3b196b060872a13eadd41c3a34be9b1469ed/aiohttp-3.12.15-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:fc49c4de44977aa8601a00edbf157e9a421f227aa7eb477d9e3df48343311065", size = 1716598, upload-time = "2025-07-29T05:50:09.33Z" }, + { url = "https://files.pythonhosted.org/packages/57/39/b0314c1ea774df3392751b686104a3938c63ece2b7ce0ba1ed7c0b4a934f/aiohttp-3.12.15-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:2776c7ec89c54a47029940177e75c8c07c29c66f73464784971d6a81904ce9d1", size = 1644940, upload-time = "2025-07-29T05:50:11.334Z" }, + { url = "https://files.pythonhosted.org/packages/1b/83/3dacb8d3f8f512c8ca43e3fa8a68b20583bd25636ffa4e56ee841ffd79ae/aiohttp-3.12.15-cp310-cp310-win32.whl", hash = "sha256:2c7d81a277fa78b2203ab626ced1487420e8c11a8e373707ab72d189fcdad20a", size = 429239, upload-time = "2025-07-29T05:50:12.803Z" }, + { url = "https://files.pythonhosted.org/packages/eb/f9/470b5daba04d558c9673ca2034f28d067f3202a40e17804425f0c331c89f/aiohttp-3.12.15-cp310-cp310-win_amd64.whl", hash = "sha256:83603f881e11f0f710f8e2327817c82e79431ec976448839f3cd05d7afe8f830", size = 452297, upload-time = "2025-07-29T05:50:14.266Z" }, + { url = "https://files.pythonhosted.org/packages/20/19/9e86722ec8e835959bd97ce8c1efa78cf361fa4531fca372551abcc9cdd6/aiohttp-3.12.15-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:d3ce17ce0220383a0f9ea07175eeaa6aa13ae5a41f30bc61d84df17f0e9b1117", size = 711246, upload-time = "2025-07-29T05:50:15.937Z" }, + { url = "https://files.pythonhosted.org/packages/71/f9/0a31fcb1a7d4629ac9d8f01f1cb9242e2f9943f47f5d03215af91c3c1a26/aiohttp-3.12.15-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:010cc9bbd06db80fe234d9003f67e97a10fe003bfbedb40da7d71c1008eda0fe", size = 483515, upload-time = "2025-07-29T05:50:17.442Z" }, + { url = "https://files.pythonhosted.org/packages/62/6c/94846f576f1d11df0c2e41d3001000527c0fdf63fce7e69b3927a731325d/aiohttp-3.12.15-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3f9d7c55b41ed687b9d7165b17672340187f87a773c98236c987f08c858145a9", size = 471776, upload-time = "2025-07-29T05:50:19.568Z" }, + { url = "https://files.pythonhosted.org/packages/f8/6c/f766d0aaafcee0447fad0328da780d344489c042e25cd58fde566bf40aed/aiohttp-3.12.15-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bc4fbc61bb3548d3b482f9ac7ddd0f18c67e4225aaa4e8552b9f1ac7e6bda9e5", size = 1741977, upload-time = "2025-07-29T05:50:21.665Z" }, + { url = "https://files.pythonhosted.org/packages/17/e5/fb779a05ba6ff44d7bc1e9d24c644e876bfff5abe5454f7b854cace1b9cc/aiohttp-3.12.15-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:7fbc8a7c410bb3ad5d595bb7118147dfbb6449d862cc1125cf8867cb337e8728", size = 1690645, upload-time = "2025-07-29T05:50:23.333Z" }, + { url = "https://files.pythonhosted.org/packages/37/4e/a22e799c2035f5d6a4ad2cf8e7c1d1bd0923192871dd6e367dafb158b14c/aiohttp-3.12.15-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:74dad41b3458dbb0511e760fb355bb0b6689e0630de8a22b1b62a98777136e16", size = 1789437, upload-time = "2025-07-29T05:50:25.007Z" }, + { url = "https://files.pythonhosted.org/packages/28/e5/55a33b991f6433569babb56018b2fb8fb9146424f8b3a0c8ecca80556762/aiohttp-3.12.15-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3b6f0af863cf17e6222b1735a756d664159e58855da99cfe965134a3ff63b0b0", size = 1828482, upload-time = "2025-07-29T05:50:26.693Z" }, + { url = "https://files.pythonhosted.org/packages/c6/82/1ddf0ea4f2f3afe79dffed5e8a246737cff6cbe781887a6a170299e33204/aiohttp-3.12.15-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b5b7fe4972d48a4da367043b8e023fb70a04d1490aa7d68800e465d1b97e493b", size = 1730944, upload-time = "2025-07-29T05:50:28.382Z" }, + { url = "https://files.pythonhosted.org/packages/1b/96/784c785674117b4cb3877522a177ba1b5e4db9ce0fd519430b5de76eec90/aiohttp-3.12.15-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6443cca89553b7a5485331bc9bedb2342b08d073fa10b8c7d1c60579c4a7b9bd", size = 1668020, upload-time = "2025-07-29T05:50:30.032Z" }, + { url = "https://files.pythonhosted.org/packages/12/8a/8b75f203ea7e5c21c0920d84dd24a5c0e971fe1e9b9ebbf29ae7e8e39790/aiohttp-3.12.15-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:6c5f40ec615e5264f44b4282ee27628cea221fcad52f27405b80abb346d9f3f8", size = 1716292, upload-time = "2025-07-29T05:50:31.983Z" }, + { url = "https://files.pythonhosted.org/packages/47/0b/a1451543475bb6b86a5cfc27861e52b14085ae232896a2654ff1231c0992/aiohttp-3.12.15-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:2abbb216a1d3a2fe86dbd2edce20cdc5e9ad0be6378455b05ec7f77361b3ab50", size = 1711451, upload-time = "2025-07-29T05:50:33.989Z" }, + { url = "https://files.pythonhosted.org/packages/55/fd/793a23a197cc2f0d29188805cfc93aa613407f07e5f9da5cd1366afd9d7c/aiohttp-3.12.15-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:db71ce547012a5420a39c1b744d485cfb823564d01d5d20805977f5ea1345676", size = 1691634, upload-time = "2025-07-29T05:50:35.846Z" }, + { url = "https://files.pythonhosted.org/packages/ca/bf/23a335a6670b5f5dfc6d268328e55a22651b440fca341a64fccf1eada0c6/aiohttp-3.12.15-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:ced339d7c9b5030abad5854aa5413a77565e5b6e6248ff927d3e174baf3badf7", size = 1785238, upload-time = "2025-07-29T05:50:37.597Z" }, + { url = "https://files.pythonhosted.org/packages/57/4f/ed60a591839a9d85d40694aba5cef86dde9ee51ce6cca0bb30d6eb1581e7/aiohttp-3.12.15-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:7c7dd29c7b5bda137464dc9bfc738d7ceea46ff70309859ffde8c022e9b08ba7", size = 1805701, upload-time = "2025-07-29T05:50:39.591Z" }, + { url = "https://files.pythonhosted.org/packages/85/e0/444747a9455c5de188c0f4a0173ee701e2e325d4b2550e9af84abb20cdba/aiohttp-3.12.15-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:421da6fd326460517873274875c6c5a18ff225b40da2616083c5a34a7570b685", size = 1718758, upload-time = "2025-07-29T05:50:41.292Z" }, + { url = "https://files.pythonhosted.org/packages/36/ab/1006278d1ffd13a698e5dd4bfa01e5878f6bddefc296c8b62649753ff249/aiohttp-3.12.15-cp311-cp311-win32.whl", hash = "sha256:4420cf9d179ec8dfe4be10e7d0fe47d6d606485512ea2265b0d8c5113372771b", size = 428868, upload-time = "2025-07-29T05:50:43.063Z" }, + { url = "https://files.pythonhosted.org/packages/10/97/ad2b18700708452400278039272032170246a1bf8ec5d832772372c71f1a/aiohttp-3.12.15-cp311-cp311-win_amd64.whl", hash = "sha256:edd533a07da85baa4b423ee8839e3e91681c7bfa19b04260a469ee94b778bf6d", size = 453273, upload-time = "2025-07-29T05:50:44.613Z" }, + { url = "https://files.pythonhosted.org/packages/63/97/77cb2450d9b35f517d6cf506256bf4f5bda3f93a66b4ad64ba7fc917899c/aiohttp-3.12.15-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:802d3868f5776e28f7bf69d349c26fc0efadb81676d0afa88ed00d98a26340b7", size = 702333, upload-time = "2025-07-29T05:50:46.507Z" }, + { url = "https://files.pythonhosted.org/packages/83/6d/0544e6b08b748682c30b9f65640d006e51f90763b41d7c546693bc22900d/aiohttp-3.12.15-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:f2800614cd560287be05e33a679638e586a2d7401f4ddf99e304d98878c29444", size = 476948, upload-time = "2025-07-29T05:50:48.067Z" }, + { url = "https://files.pythonhosted.org/packages/3a/1d/c8c40e611e5094330284b1aea8a4b02ca0858f8458614fa35754cab42b9c/aiohttp-3.12.15-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8466151554b593909d30a0a125d638b4e5f3836e5aecde85b66b80ded1cb5b0d", size = 469787, upload-time = "2025-07-29T05:50:49.669Z" }, + { url = "https://files.pythonhosted.org/packages/38/7d/b76438e70319796bfff717f325d97ce2e9310f752a267bfdf5192ac6082b/aiohttp-3.12.15-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2e5a495cb1be69dae4b08f35a6c4579c539e9b5706f606632102c0f855bcba7c", size = 1716590, upload-time = "2025-07-29T05:50:51.368Z" }, + { url = "https://files.pythonhosted.org/packages/79/b1/60370d70cdf8b269ee1444b390cbd72ce514f0d1cd1a715821c784d272c9/aiohttp-3.12.15-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:6404dfc8cdde35c69aaa489bb3542fb86ef215fc70277c892be8af540e5e21c0", size = 1699241, upload-time = "2025-07-29T05:50:53.628Z" }, + { url = "https://files.pythonhosted.org/packages/a3/2b/4968a7b8792437ebc12186db31523f541943e99bda8f30335c482bea6879/aiohttp-3.12.15-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3ead1c00f8521a5c9070fcb88f02967b1d8a0544e6d85c253f6968b785e1a2ab", size = 1754335, upload-time = "2025-07-29T05:50:55.394Z" }, + { url = "https://files.pythonhosted.org/packages/fb/c1/49524ed553f9a0bec1a11fac09e790f49ff669bcd14164f9fab608831c4d/aiohttp-3.12.15-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6990ef617f14450bc6b34941dba4f12d5613cbf4e33805932f853fbd1cf18bfb", size = 1800491, upload-time = "2025-07-29T05:50:57.202Z" }, + { url = "https://files.pythonhosted.org/packages/de/5e/3bf5acea47a96a28c121b167f5ef659cf71208b19e52a88cdfa5c37f1fcc/aiohttp-3.12.15-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd736ed420f4db2b8148b52b46b88ed038d0354255f9a73196b7bbce3ea97545", size = 1719929, upload-time = "2025-07-29T05:50:59.192Z" }, + { url = "https://files.pythonhosted.org/packages/39/94/8ae30b806835bcd1cba799ba35347dee6961a11bd507db634516210e91d8/aiohttp-3.12.15-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3c5092ce14361a73086b90c6efb3948ffa5be2f5b6fbcf52e8d8c8b8848bb97c", size = 1635733, upload-time = "2025-07-29T05:51:01.394Z" }, + { url = "https://files.pythonhosted.org/packages/7a/46/06cdef71dd03acd9da7f51ab3a9107318aee12ad38d273f654e4f981583a/aiohttp-3.12.15-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:aaa2234bb60c4dbf82893e934d8ee8dea30446f0647e024074237a56a08c01bd", size = 1696790, upload-time = "2025-07-29T05:51:03.657Z" }, + { url = "https://files.pythonhosted.org/packages/02/90/6b4cfaaf92ed98d0ec4d173e78b99b4b1a7551250be8937d9d67ecb356b4/aiohttp-3.12.15-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:6d86a2fbdd14192e2f234a92d3b494dd4457e683ba07e5905a0b3ee25389ac9f", size = 1718245, upload-time = "2025-07-29T05:51:05.911Z" }, + { url = "https://files.pythonhosted.org/packages/2e/e6/2593751670fa06f080a846f37f112cbe6f873ba510d070136a6ed46117c6/aiohttp-3.12.15-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:a041e7e2612041a6ddf1c6a33b883be6a421247c7afd47e885969ee4cc58bd8d", size = 1658899, upload-time = "2025-07-29T05:51:07.753Z" }, + { url = "https://files.pythonhosted.org/packages/8f/28/c15bacbdb8b8eb5bf39b10680d129ea7410b859e379b03190f02fa104ffd/aiohttp-3.12.15-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:5015082477abeafad7203757ae44299a610e89ee82a1503e3d4184e6bafdd519", size = 1738459, upload-time = "2025-07-29T05:51:09.56Z" }, + { url = "https://files.pythonhosted.org/packages/00/de/c269cbc4faa01fb10f143b1670633a8ddd5b2e1ffd0548f7aa49cb5c70e2/aiohttp-3.12.15-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:56822ff5ddfd1b745534e658faba944012346184fbfe732e0d6134b744516eea", size = 1766434, upload-time = "2025-07-29T05:51:11.423Z" }, + { url = "https://files.pythonhosted.org/packages/52/b0/4ff3abd81aa7d929b27d2e1403722a65fc87b763e3a97b3a2a494bfc63bc/aiohttp-3.12.15-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b2acbbfff69019d9014508c4ba0401822e8bae5a5fdc3b6814285b71231b60f3", size = 1726045, upload-time = "2025-07-29T05:51:13.689Z" }, + { url = "https://files.pythonhosted.org/packages/71/16/949225a6a2dd6efcbd855fbd90cf476052e648fb011aa538e3b15b89a57a/aiohttp-3.12.15-cp312-cp312-win32.whl", hash = "sha256:d849b0901b50f2185874b9a232f38e26b9b3d4810095a7572eacea939132d4e1", size = 423591, upload-time = "2025-07-29T05:51:15.452Z" }, + { url = "https://files.pythonhosted.org/packages/2b/d8/fa65d2a349fe938b76d309db1a56a75c4fb8cc7b17a398b698488a939903/aiohttp-3.12.15-cp312-cp312-win_amd64.whl", hash = "sha256:b390ef5f62bb508a9d67cb3bba9b8356e23b3996da7062f1a57ce1a79d2b3d34", size = 450266, upload-time = "2025-07-29T05:51:17.239Z" }, + { url = "https://files.pythonhosted.org/packages/f2/33/918091abcf102e39d15aba2476ad9e7bd35ddb190dcdd43a854000d3da0d/aiohttp-3.12.15-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:9f922ffd05034d439dde1c77a20461cf4a1b0831e6caa26151fe7aa8aaebc315", size = 696741, upload-time = "2025-07-29T05:51:19.021Z" }, + { url = "https://files.pythonhosted.org/packages/b5/2a/7495a81e39a998e400f3ecdd44a62107254803d1681d9189be5c2e4530cd/aiohttp-3.12.15-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:2ee8a8ac39ce45f3e55663891d4b1d15598c157b4d494a4613e704c8b43112cd", size = 474407, upload-time = "2025-07-29T05:51:21.165Z" }, + { url = "https://files.pythonhosted.org/packages/49/fc/a9576ab4be2dcbd0f73ee8675d16c707cfc12d5ee80ccf4015ba543480c9/aiohttp-3.12.15-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3eae49032c29d356b94eee45a3f39fdf4b0814b397638c2f718e96cfadf4c4e4", size = 466703, upload-time = "2025-07-29T05:51:22.948Z" }, + { url = "https://files.pythonhosted.org/packages/09/2f/d4bcc8448cf536b2b54eed48f19682031ad182faa3a3fee54ebe5b156387/aiohttp-3.12.15-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b97752ff12cc12f46a9b20327104448042fce5c33a624f88c18f66f9368091c7", size = 1705532, upload-time = "2025-07-29T05:51:25.211Z" }, + { url = "https://files.pythonhosted.org/packages/f1/f3/59406396083f8b489261e3c011aa8aee9df360a96ac8fa5c2e7e1b8f0466/aiohttp-3.12.15-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:894261472691d6fe76ebb7fcf2e5870a2ac284c7406ddc95823c8598a1390f0d", size = 1686794, upload-time = "2025-07-29T05:51:27.145Z" }, + { url = "https://files.pythonhosted.org/packages/dc/71/164d194993a8d114ee5656c3b7ae9c12ceee7040d076bf7b32fb98a8c5c6/aiohttp-3.12.15-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5fa5d9eb82ce98959fc1031c28198b431b4d9396894f385cb63f1e2f3f20ca6b", size = 1738865, upload-time = "2025-07-29T05:51:29.366Z" }, + { url = "https://files.pythonhosted.org/packages/1c/00/d198461b699188a93ead39cb458554d9f0f69879b95078dce416d3209b54/aiohttp-3.12.15-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f0fa751efb11a541f57db59c1dd821bec09031e01452b2b6217319b3a1f34f3d", size = 1788238, upload-time = "2025-07-29T05:51:31.285Z" }, + { url = "https://files.pythonhosted.org/packages/85/b8/9e7175e1fa0ac8e56baa83bf3c214823ce250d0028955dfb23f43d5e61fd/aiohttp-3.12.15-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5346b93e62ab51ee2a9d68e8f73c7cf96ffb73568a23e683f931e52450e4148d", size = 1710566, upload-time = "2025-07-29T05:51:33.219Z" }, + { url = "https://files.pythonhosted.org/packages/59/e4/16a8eac9df39b48ae102ec030fa9f726d3570732e46ba0c592aeeb507b93/aiohttp-3.12.15-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:049ec0360f939cd164ecbfd2873eaa432613d5e77d6b04535e3d1fbae5a9e645", size = 1624270, upload-time = "2025-07-29T05:51:35.195Z" }, + { url = "https://files.pythonhosted.org/packages/1f/f8/cd84dee7b6ace0740908fd0af170f9fab50c2a41ccbc3806aabcb1050141/aiohttp-3.12.15-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:b52dcf013b57464b6d1e51b627adfd69a8053e84b7103a7cd49c030f9ca44461", size = 1677294, upload-time = "2025-07-29T05:51:37.215Z" }, + { url = "https://files.pythonhosted.org/packages/ce/42/d0f1f85e50d401eccd12bf85c46ba84f947a84839c8a1c2c5f6e8ab1eb50/aiohttp-3.12.15-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:9b2af240143dd2765e0fb661fd0361a1b469cab235039ea57663cda087250ea9", size = 1708958, upload-time = "2025-07-29T05:51:39.328Z" }, + { url = "https://files.pythonhosted.org/packages/d5/6b/f6fa6c5790fb602538483aa5a1b86fcbad66244997e5230d88f9412ef24c/aiohttp-3.12.15-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ac77f709a2cde2cc71257ab2d8c74dd157c67a0558a0d2799d5d571b4c63d44d", size = 1651553, upload-time = "2025-07-29T05:51:41.356Z" }, + { url = "https://files.pythonhosted.org/packages/04/36/a6d36ad545fa12e61d11d1932eef273928b0495e6a576eb2af04297fdd3c/aiohttp-3.12.15-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:47f6b962246f0a774fbd3b6b7be25d59b06fdb2f164cf2513097998fc6a29693", size = 1727688, upload-time = "2025-07-29T05:51:43.452Z" }, + { url = "https://files.pythonhosted.org/packages/aa/c8/f195e5e06608a97a4e52c5d41c7927301bf757a8e8bb5bbf8cef6c314961/aiohttp-3.12.15-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:760fb7db442f284996e39cf9915a94492e1896baac44f06ae551974907922b64", size = 1761157, upload-time = "2025-07-29T05:51:45.643Z" }, + { url = "https://files.pythonhosted.org/packages/05/6a/ea199e61b67f25ba688d3ce93f63b49b0a4e3b3d380f03971b4646412fc6/aiohttp-3.12.15-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ad702e57dc385cae679c39d318def49aef754455f237499d5b99bea4ef582e51", size = 1710050, upload-time = "2025-07-29T05:51:48.203Z" }, + { url = "https://files.pythonhosted.org/packages/b4/2e/ffeb7f6256b33635c29dbed29a22a723ff2dd7401fff42ea60cf2060abfb/aiohttp-3.12.15-cp313-cp313-win32.whl", hash = "sha256:f813c3e9032331024de2eb2e32a88d86afb69291fbc37a3a3ae81cc9917fb3d0", size = 422647, upload-time = "2025-07-29T05:51:50.718Z" }, + { url = "https://files.pythonhosted.org/packages/1b/8e/78ee35774201f38d5e1ba079c9958f7629b1fd079459aea9467441dbfbf5/aiohttp-3.12.15-cp313-cp313-win_amd64.whl", hash = "sha256:1a649001580bdb37c6fdb1bebbd7e3bc688e8ec2b5c6f52edbb664662b17dc84", size = 449067, upload-time = "2025-07-29T05:51:52.549Z" }, ] [[package]] @@ -167,14 +168,14 @@ wheels = [ [[package]] name = "aiosqlite" -version = "0.20.0" +version = "0.21.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/0d/3a/22ff5415bf4d296c1e92b07fd746ad42c96781f13295a074d58e77747848/aiosqlite-0.20.0.tar.gz", hash = "sha256:6d35c8c256637f4672f843c31021464090805bf925385ac39473fb16eaaca3d7", size = 21691, upload-time = "2024-02-20T06:12:53.915Z" } +sdist = { url = "https://files.pythonhosted.org/packages/13/7d/8bca2bf9a247c2c5dfeec1d7a5f40db6518f88d314b8bca9da29670d2671/aiosqlite-0.21.0.tar.gz", hash = "sha256:131bb8056daa3bc875608c631c678cda73922a2d4ba8aec373b19f18c17e7aa3", size = 13454, upload-time = "2025-02-03T07:30:16.235Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/00/c4/c93eb22025a2de6b83263dfe3d7df2e19138e345bca6f18dba7394120930/aiosqlite-0.20.0-py3-none-any.whl", hash = "sha256:36a1deaca0cac40ebe32aac9977a6e2bbc7f5189f23f4a54d5908986729e5bd6", size = 15564, upload-time = "2024-02-20T06:12:50.657Z" }, + { url = "https://files.pythonhosted.org/packages/f5/10/6c25ed6de94c49f88a91fa5018cb4c0f3625f31d5be9f771ebe5cc7cd506/aiosqlite-0.21.0-py3-none-any.whl", hash = "sha256:2549cf4057f95f53dcba16f2b64e8e2791d7e1adedb13197dd8ed77bb226d7d0", size = 15792, upload-time = "2025-02-03T07:30:13.6Z" }, ] [[package]] @@ -322,15 +323,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/f9/58/cc6a08053f822f98f334d38a27687b69c6655fb05cd74a7a5e70a2aeed95/authlib-1.6.1-py2.py3-none-any.whl", hash = "sha256:e9d2031c34c6309373ab845afc24168fe9e93dc52d252631f52642f21f5ed06e", size = 239299, upload-time = "2025-07-20T07:38:39.259Z" }, ] -[[package]] -name = "babel" -version = "2.17.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/7d/6b/d52e42361e1aa00709585ecc30b3f9684b3ab62530771402248b1b1d6240/babel-2.17.0.tar.gz", hash = "sha256:0c54cffb19f690cdcc52a3b50bcbf71e07a808d1c80d549f2459b9d2cf0afb9d", size = 9951852, upload-time = "2025-02-01T15:17:41.026Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/b7/b8/3fe70c75fe32afc4bb507f75563d39bc5642255d1d94f1f23604725780bf/babel-2.17.0-py3-none-any.whl", hash = "sha256:4d0b53093fdfb4b21c92b5213dba5a1b23885afa8383709427046b21c366e5f2", size = 10182537, upload-time = "2025-02-01T15:17:37.39Z" }, -] - [[package]] name = "backoff" version = "2.2.1" @@ -340,20 +332,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/df/73/b6e24bd22e6720ca8ee9a85a0c4a2971af8497d8f3193fa05390cbd46e09/backoff-2.2.1-py3-none-any.whl", hash = "sha256:63579f9a0628e06278f7e47b7d7d5b6ce20dc65c5e96a6f3ca99a6adca0396e8", size = 15148, upload-time = "2022-10-05T19:19:30.546Z" }, ] -[[package]] -name = "backrefs" -version = "5.9" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/eb/a7/312f673df6a79003279e1f55619abbe7daebbb87c17c976ddc0345c04c7b/backrefs-5.9.tar.gz", hash = "sha256:808548cb708d66b82ee231f962cb36faaf4f2baab032f2fbb783e9c2fdddaa59", size = 5765857, upload-time = "2025-06-22T19:34:13.97Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/19/4d/798dc1f30468134906575156c089c492cf79b5a5fd373f07fe26c4d046bf/backrefs-5.9-py310-none-any.whl", hash = "sha256:db8e8ba0e9de81fcd635f440deab5ae5f2591b54ac1ebe0550a2ca063488cd9f", size = 380267, upload-time = "2025-06-22T19:34:05.252Z" }, - { url = "https://files.pythonhosted.org/packages/55/07/f0b3375bf0d06014e9787797e6b7cc02b38ac9ff9726ccfe834d94e9991e/backrefs-5.9-py311-none-any.whl", hash = "sha256:6907635edebbe9b2dc3de3a2befff44d74f30a4562adbb8b36f21252ea19c5cf", size = 392072, upload-time = "2025-06-22T19:34:06.743Z" }, - { url = "https://files.pythonhosted.org/packages/9d/12/4f345407259dd60a0997107758ba3f221cf89a9b5a0f8ed5b961aef97253/backrefs-5.9-py312-none-any.whl", hash = "sha256:7fdf9771f63e6028d7fee7e0c497c81abda597ea45d6b8f89e8ad76994f5befa", size = 397947, upload-time = "2025-06-22T19:34:08.172Z" }, - { url = "https://files.pythonhosted.org/packages/10/bf/fa31834dc27a7f05e5290eae47c82690edc3a7b37d58f7fb35a1bdbf355b/backrefs-5.9-py313-none-any.whl", hash = "sha256:cc37b19fa219e93ff825ed1fed8879e47b4d89aa7a1884860e2db64ccd7c676b", size = 399843, upload-time = "2025-06-22T19:34:09.68Z" }, - { url = "https://files.pythonhosted.org/packages/fc/24/b29af34b2c9c41645a9f4ff117bae860291780d73880f449e0b5d948c070/backrefs-5.9-py314-none-any.whl", hash = "sha256:df5e169836cc8acb5e440ebae9aad4bf9d15e226d3bad049cf3f6a5c20cc8dc9", size = 411762, upload-time = "2025-06-22T19:34:11.037Z" }, - { url = "https://files.pythonhosted.org/packages/41/ff/392bff89415399a979be4a65357a41d92729ae8580a66073d8ec8d810f98/backrefs-5.9-py39-none-any.whl", hash = "sha256:f48ee18f6252b8f5777a22a00a09a85de0ca931658f1dd96d4406a34f3748c60", size = 380265, upload-time = "2025-06-22T19:34:12.405Z" }, -] - [[package]] name = "bcrypt" version = "4.3.0" @@ -427,30 +405,30 @@ wheels = [ [[package]] name = "boto3" -version = "1.38.27" +version = "1.39.8" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "botocore" }, { name = "jmespath" }, { name = "s3transfer" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/e7/96/fc74d8521d2369dd8c412438401ff12e1350a1cd3eab5c758ed3dd5e5f82/boto3-1.38.27.tar.gz", hash = "sha256:94bd7fdd92d5701b362d4df100d21e28f8307a67ff56b6a8b0398119cf22f859", size = 111875, upload-time = "2025-05-30T19:32:41.352Z" } +sdist = { url = "https://files.pythonhosted.org/packages/d1/ef/f8dbe6482bdf9eb0230f2639483cdd40ef5aaa89c2fb651f2edeee9c248a/boto3-1.39.8.tar.gz", hash = "sha256:456ea6baef037eb6205d64e012259d14f0c9300c9b30603890746c1a0882fa01", size = 111829, upload-time = "2025-07-17T19:19:14.828Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/43/8b/b2361188bd1e293eede1bc165e2461d390394f71ec0c8c21211c8dabf62c/boto3-1.38.27-py3-none-any.whl", hash = "sha256:95f5fe688795303a8a15e8b7e7f255cadab35eae459d00cc281a4fd77252ea80", size = 139938, upload-time = "2025-05-30T19:32:38.006Z" }, + { url = "https://files.pythonhosted.org/packages/3c/f0/f3701472b2e6192e62d80e703186ae9c789b3d607ba22943702c500897d2/boto3-1.39.8-py3-none-any.whl", hash = "sha256:dcea5270ccced0b4b962eb5874cb71b6232ccfc6203e05bf834a314442e4a79c", size = 139886, upload-time = "2025-07-17T19:19:12.634Z" }, ] [[package]] name = "botocore" -version = "1.38.27" +version = "1.39.8" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "jmespath" }, { name = "python-dateutil" }, { name = "urllib3" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/36/5e/67899214ad57f7f26af5bd776ac5eb583dc4ecf5c1e52e2cbfdc200e487a/botocore-1.38.27.tar.gz", hash = "sha256:9788f7efe974328a38cbade64cc0b1e67d27944b899f88cb786ae362973133b6", size = 13919963, upload-time = "2025-05-30T19:32:29.657Z" } +sdist = { url = "https://files.pythonhosted.org/packages/32/57/16d3d21963975b9be180e96695abfb146695ae7db57f9a2d47e92d33ce9d/botocore-1.39.8.tar.gz", hash = "sha256:3848bd9057ea8dbc059e7764eda63bda575727ad1101dbd03636ab4a6f283fa5", size = 14205898, upload-time = "2025-07-17T19:19:03.832Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/7e/83/a753562020b69fa90cebc39e8af2c753b24dcdc74bee8355ee3f6cefdf34/botocore-1.38.27-py3-none-any.whl", hash = "sha256:a785d5e9a5eda88ad6ab9ed8b87d1f2ac409d0226bba6ff801c55359e94d91a8", size = 13580545, upload-time = "2025-05-30T19:32:26.712Z" }, + { url = "https://files.pythonhosted.org/packages/11/ac/51462dd35fc60d11cdce93ba82ccf1635a161ceadc646d89f67d666fff31/botocore-1.39.8-py3-none-any.whl", hash = "sha256:ab43f79c6893271934faba7ae1987a313d59576361c544c70a5391ade560891d", size = 13866818, upload-time = "2025-07-17T19:18:58.521Z" }, ] [[package]] @@ -464,11 +442,11 @@ wheels = [ [[package]] name = "certifi" -version = "2025.7.9" +version = "2025.7.14" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/de/8a/c729b6b60c66a38f590c4e774decc4b2ec7b0576be8f1aa984a53ffa812a/certifi-2025.7.9.tar.gz", hash = "sha256:c1d2ec05395148ee10cf672ffc28cd37ea0ab0d99f9cc74c43e588cbd111b079", size = 160386, upload-time = "2025-07-09T02:13:58.874Z" } +sdist = { url = "https://files.pythonhosted.org/packages/b3/76/52c535bcebe74590f296d6c77c86dabf761c41980e1347a2422e4aa2ae41/certifi-2025.7.14.tar.gz", hash = "sha256:8ea99dbdfaaf2ba2f9bac77b9249ef62ec5218e7c2b2e903378ed5fccf765995", size = 163981, upload-time = "2025-07-14T03:29:28.449Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/66/f3/80a3f974c8b535d394ff960a11ac20368e06b736da395b551a49ce950cce/certifi-2025.7.9-py3-none-any.whl", hash = "sha256:d842783a14f8fdd646895ac26f719a061408834473cfc10203f6a575beb15d39", size = 159230, upload-time = "2025-07-09T02:13:57.007Z" }, + { url = "https://files.pythonhosted.org/packages/4f/52/34c6cf5bb9285074dc3531c437b3919e825d976fde097a7a73f79e726d03/certifi-2025.7.14-py3-none-any.whl", hash = "sha256:6b31f564a415d79ee77df69d757bb49a5bb53bd9f756cbbe24394ffd6fc1f4b2", size = 162722, upload-time = "2025-07-14T03:29:26.863Z" }, ] [[package]] @@ -537,15 +515,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/c5/55/51844dd50c4fc7a33b653bfaba4c2456f06955289ca770a5dbd5fd267374/cfgv-3.4.0-py2.py3-none-any.whl", hash = "sha256:b7265b1f29fd3316bfcd2b330d63d024f2bfd8bcb8b0272f8e19a504856c48f9", size = 7249, upload-time = "2023-08-12T20:38:16.269Z" }, ] -[[package]] -name = "chardet" -version = "5.2.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/f3/0d/f7b6ab21ec75897ed80c17d79b15951a719226b9fababf1e40ea74d69079/chardet-5.2.0.tar.gz", hash = "sha256:1b3b6ff479a8c414bc3fa2c0852995695c4a026dcd6d0633b2dd092ca39c1cf7", size = 2069618, upload-time = "2023-08-01T19:23:02.662Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/38/6f/f5fbc992a329ee4e0f288c1fe0e2ad9485ed064cac731ed2fe47dcc38cbf/chardet-5.2.0-py3-none-any.whl", hash = "sha256:e1cf59446890a00105fe7b7912492ea04b6e6f06d4b742b2c788469e34c82970", size = 199385, upload-time = "2023-08-01T19:23:00.661Z" }, -] - [[package]] name = "charset-normalizer" version = "3.4.2" @@ -609,14 +578,14 @@ wheels = [ [[package]] name = "click" -version = "8.2.1" +version = "8.2.2" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "colorama", marker = "sys_platform == 'win32'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/60/6c/8ca2efa64cf75a977a0d7fac081354553ebe483345c734fb6b6515d96bbc/click-8.2.1.tar.gz", hash = "sha256:27c491cc05d968d271d5a1db13e3b5a184636d9d930f148c50b038f0d0646202", size = 286342, upload-time = "2025-05-20T23:19:49.832Z" } +sdist = { url = "https://files.pythonhosted.org/packages/e9/87/105111999772ec9730e3d4d910c723ea9763ece2ec441533a5cea1e87e3c/click-8.2.2.tar.gz", hash = "sha256:068616e6ef9705a07b6db727cb9c248f4eb9dae437a30239f56fa94b18b852ef", size = 263977, upload-time = "2025-08-02T02:23:41.102Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/85/32/10bb5764d90a8eee674e9dc6f4db6a0ab47c8c4d0d83c27f7c39ac415a4d/click-8.2.1-py3-none-any.whl", hash = "sha256:61a3265b914e850b85317d0b3109c7f8cd35a670f963866005d6ef1d5175a12b", size = 102215, upload-time = "2025-05-20T23:19:47.796Z" }, + { url = "https://files.pythonhosted.org/packages/ec/85/e7297e34133ae1cfde3bffd30c24e1ef055248251baa877834e048687a28/click-8.2.2-py3-none-any.whl", hash = "sha256:52e1e9f5d3db8c85aa76968c7c67ed41ddbacb167f43201511c8fd61eb5ba2ca", size = 103900, upload-time = "2025-08-02T02:23:39.299Z" }, ] [[package]] @@ -643,7 +612,8 @@ dependencies = [ { name = "networkx", version = "3.4.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, { name = "networkx", version = "3.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, { name = "nltk" }, - { name = "numpy" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "numpy", version = "2.3.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, { name = "onnxruntime" }, { name = "openai" }, { name = "pandas" }, @@ -746,8 +716,13 @@ wheels = [ name = "contourpy" version = "1.3.2" source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.11' and platform_python_implementation != 'PyPy' and sys_platform != 'emscripten'", + "python_full_version < '3.11' and platform_python_implementation == 'PyPy' and sys_platform != 'emscripten'", + "python_full_version < '3.11' and sys_platform == 'emscripten'", +] dependencies = [ - { name = "numpy" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/66/54/eb9bfc647b19f2009dd5c7f5ec51c4e6ca831725f1aea7a993034f483147/contourpy-1.3.2.tar.gz", hash = "sha256:b6945942715a034c671b7fc54f9588126b0b8bf23db2696e3ca8328f3ff0ab54", size = 13466130, upload-time = "2025-04-15T17:47:53.79Z" } wheels = [ @@ -809,6 +784,100 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/87/68/7f46fb537958e87427d98a4074bcde4b67a70b04900cfc5ce29bc2f556c1/contourpy-1.3.2-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:8c5acb8dddb0752bf252e01a3035b21443158910ac16a3b0d20e7fed7d534ce5", size = 221791, upload-time = "2025-04-15T17:45:24.794Z" }, ] +[[package]] +name = "contourpy" +version = "1.3.3" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.14' and platform_python_implementation != 'PyPy' and sys_platform != 'emscripten'", + "python_full_version == '3.13.*' and platform_python_implementation != 'PyPy' and sys_platform != 'emscripten'", + "python_full_version == '3.12.*' and platform_python_implementation != 'PyPy' and sys_platform != 'emscripten'", + "python_full_version == '3.11.*' and platform_python_implementation != 'PyPy' and sys_platform != 'emscripten'", + "python_full_version >= '3.13' and platform_python_implementation == 'PyPy' and sys_platform != 'emscripten'", + "python_full_version == '3.12.*' and platform_python_implementation == 'PyPy' and sys_platform != 'emscripten'", + "python_full_version == '3.11.*' and platform_python_implementation == 'PyPy' and sys_platform != 'emscripten'", + "python_full_version >= '3.13' and sys_platform == 'emscripten'", + "python_full_version == '3.12.*' and sys_platform == 'emscripten'", + "python_full_version == '3.11.*' and sys_platform == 'emscripten'", +] +dependencies = [ + { name = "numpy", version = "2.3.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/58/01/1253e6698a07380cd31a736d248a3f2a50a7c88779a1813da27503cadc2a/contourpy-1.3.3.tar.gz", hash = "sha256:083e12155b210502d0bca491432bb04d56dc3432f95a979b429f2848c3dbe880", size = 13466174, upload-time = "2025-07-26T12:03:12.549Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/91/2e/c4390a31919d8a78b90e8ecf87cd4b4c4f05a5b48d05ec17db8e5404c6f4/contourpy-1.3.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:709a48ef9a690e1343202916450bc48b9e51c049b089c7f79a267b46cffcdaa1", size = 288773, upload-time = "2025-07-26T12:01:02.277Z" }, + { url = "https://files.pythonhosted.org/packages/0d/44/c4b0b6095fef4dc9c420e041799591e3b63e9619e3044f7f4f6c21c0ab24/contourpy-1.3.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:23416f38bfd74d5d28ab8429cc4d63fa67d5068bd711a85edb1c3fb0c3e2f381", size = 270149, upload-time = "2025-07-26T12:01:04.072Z" }, + { url = "https://files.pythonhosted.org/packages/30/2e/dd4ced42fefac8470661d7cb7e264808425e6c5d56d175291e93890cce09/contourpy-1.3.3-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:929ddf8c4c7f348e4c0a5a3a714b5c8542ffaa8c22954862a46ca1813b667ee7", size = 329222, upload-time = "2025-07-26T12:01:05.688Z" }, + { url = "https://files.pythonhosted.org/packages/f2/74/cc6ec2548e3d276c71389ea4802a774b7aa3558223b7bade3f25787fafc2/contourpy-1.3.3-cp311-cp311-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:9e999574eddae35f1312c2b4b717b7885d4edd6cb46700e04f7f02db454e67c1", size = 377234, upload-time = "2025-07-26T12:01:07.054Z" }, + { url = "https://files.pythonhosted.org/packages/03/b3/64ef723029f917410f75c09da54254c5f9ea90ef89b143ccadb09df14c15/contourpy-1.3.3-cp311-cp311-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:0bf67e0e3f482cb69779dd3061b534eb35ac9b17f163d851e2a547d56dba0a3a", size = 380555, upload-time = "2025-07-26T12:01:08.801Z" }, + { url = "https://files.pythonhosted.org/packages/5f/4b/6157f24ca425b89fe2eb7e7be642375711ab671135be21e6faa100f7448c/contourpy-1.3.3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:51e79c1f7470158e838808d4a996fa9bac72c498e93d8ebe5119bc1e6becb0db", size = 355238, upload-time = "2025-07-26T12:01:10.319Z" }, + { url = "https://files.pythonhosted.org/packages/98/56/f914f0dd678480708a04cfd2206e7c382533249bc5001eb9f58aa693e200/contourpy-1.3.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:598c3aaece21c503615fd59c92a3598b428b2f01bfb4b8ca9c4edeecc2438620", size = 1326218, upload-time = "2025-07-26T12:01:12.659Z" }, + { url = "https://files.pythonhosted.org/packages/fb/d7/4a972334a0c971acd5172389671113ae82aa7527073980c38d5868ff1161/contourpy-1.3.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:322ab1c99b008dad206d406bb61d014cf0174df491ae9d9d0fac6a6fda4f977f", size = 1392867, upload-time = "2025-07-26T12:01:15.533Z" }, + { url = "https://files.pythonhosted.org/packages/75/3e/f2cc6cd56dc8cff46b1a56232eabc6feea52720083ea71ab15523daab796/contourpy-1.3.3-cp311-cp311-win32.whl", hash = "sha256:fd907ae12cd483cd83e414b12941c632a969171bf90fc937d0c9f268a31cafff", size = 183677, upload-time = "2025-07-26T12:01:17.088Z" }, + { url = "https://files.pythonhosted.org/packages/98/4b/9bd370b004b5c9d8045c6c33cf65bae018b27aca550a3f657cdc99acdbd8/contourpy-1.3.3-cp311-cp311-win_amd64.whl", hash = "sha256:3519428f6be58431c56581f1694ba8e50626f2dd550af225f82fb5f5814d2a42", size = 225234, upload-time = "2025-07-26T12:01:18.256Z" }, + { url = "https://files.pythonhosted.org/packages/d9/b6/71771e02c2e004450c12b1120a5f488cad2e4d5b590b1af8bad060360fe4/contourpy-1.3.3-cp311-cp311-win_arm64.whl", hash = "sha256:15ff10bfada4bf92ec8b31c62bf7c1834c244019b4a33095a68000d7075df470", size = 193123, upload-time = "2025-07-26T12:01:19.848Z" }, + { url = "https://files.pythonhosted.org/packages/be/45/adfee365d9ea3d853550b2e735f9d66366701c65db7855cd07621732ccfc/contourpy-1.3.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:b08a32ea2f8e42cf1d4be3169a98dd4be32bafe4f22b6c4cb4ba810fa9e5d2cb", size = 293419, upload-time = "2025-07-26T12:01:21.16Z" }, + { url = "https://files.pythonhosted.org/packages/53/3e/405b59cfa13021a56bba395a6b3aca8cec012b45bf177b0eaf7a202cde2c/contourpy-1.3.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:556dba8fb6f5d8742f2923fe9457dbdd51e1049c4a43fd3986a0b14a1d815fc6", size = 273979, upload-time = "2025-07-26T12:01:22.448Z" }, + { url = "https://files.pythonhosted.org/packages/d4/1c/a12359b9b2ca3a845e8f7f9ac08bdf776114eb931392fcad91743e2ea17b/contourpy-1.3.3-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:92d9abc807cf7d0e047b95ca5d957cf4792fcd04e920ca70d48add15c1a90ea7", size = 332653, upload-time = "2025-07-26T12:01:24.155Z" }, + { url = "https://files.pythonhosted.org/packages/63/12/897aeebfb475b7748ea67b61e045accdfcf0d971f8a588b67108ed7f5512/contourpy-1.3.3-cp312-cp312-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:b2e8faa0ed68cb29af51edd8e24798bb661eac3bd9f65420c1887b6ca89987c8", size = 379536, upload-time = "2025-07-26T12:01:25.91Z" }, + { url = "https://files.pythonhosted.org/packages/43/8a/a8c584b82deb248930ce069e71576fc09bd7174bbd35183b7943fb1064fd/contourpy-1.3.3-cp312-cp312-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:626d60935cf668e70a5ce6ff184fd713e9683fb458898e4249b63be9e28286ea", size = 384397, upload-time = "2025-07-26T12:01:27.152Z" }, + { url = "https://files.pythonhosted.org/packages/cc/8f/ec6289987824b29529d0dfda0d74a07cec60e54b9c92f3c9da4c0ac732de/contourpy-1.3.3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4d00e655fcef08aba35ec9610536bfe90267d7ab5ba944f7032549c55a146da1", size = 362601, upload-time = "2025-07-26T12:01:28.808Z" }, + { url = "https://files.pythonhosted.org/packages/05/0a/a3fe3be3ee2dceb3e615ebb4df97ae6f3828aa915d3e10549ce016302bd1/contourpy-1.3.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:451e71b5a7d597379ef572de31eeb909a87246974d960049a9848c3bc6c41bf7", size = 1331288, upload-time = "2025-07-26T12:01:31.198Z" }, + { url = "https://files.pythonhosted.org/packages/33/1d/acad9bd4e97f13f3e2b18a3977fe1b4a37ecf3d38d815333980c6c72e963/contourpy-1.3.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:459c1f020cd59fcfe6650180678a9993932d80d44ccde1fa1868977438f0b411", size = 1403386, upload-time = "2025-07-26T12:01:33.947Z" }, + { url = "https://files.pythonhosted.org/packages/cf/8f/5847f44a7fddf859704217a99a23a4f6417b10e5ab1256a179264561540e/contourpy-1.3.3-cp312-cp312-win32.whl", hash = "sha256:023b44101dfe49d7d53932be418477dba359649246075c996866106da069af69", size = 185018, upload-time = "2025-07-26T12:01:35.64Z" }, + { url = "https://files.pythonhosted.org/packages/19/e8/6026ed58a64563186a9ee3f29f41261fd1828f527dd93d33b60feca63352/contourpy-1.3.3-cp312-cp312-win_amd64.whl", hash = "sha256:8153b8bfc11e1e4d75bcb0bff1db232f9e10b274e0929de9d608027e0d34ff8b", size = 226567, upload-time = "2025-07-26T12:01:36.804Z" }, + { url = "https://files.pythonhosted.org/packages/d1/e2/f05240d2c39a1ed228d8328a78b6f44cd695f7ef47beb3e684cf93604f86/contourpy-1.3.3-cp312-cp312-win_arm64.whl", hash = "sha256:07ce5ed73ecdc4a03ffe3e1b3e3c1166db35ae7584be76f65dbbe28a7791b0cc", size = 193655, upload-time = "2025-07-26T12:01:37.999Z" }, + { url = "https://files.pythonhosted.org/packages/68/35/0167aad910bbdb9599272bd96d01a9ec6852f36b9455cf2ca67bd4cc2d23/contourpy-1.3.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:177fb367556747a686509d6fef71d221a4b198a3905fe824430e5ea0fda54eb5", size = 293257, upload-time = "2025-07-26T12:01:39.367Z" }, + { url = "https://files.pythonhosted.org/packages/96/e4/7adcd9c8362745b2210728f209bfbcf7d91ba868a2c5f40d8b58f54c509b/contourpy-1.3.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:d002b6f00d73d69333dac9d0b8d5e84d9724ff9ef044fd63c5986e62b7c9e1b1", size = 274034, upload-time = "2025-07-26T12:01:40.645Z" }, + { url = "https://files.pythonhosted.org/packages/73/23/90e31ceeed1de63058a02cb04b12f2de4b40e3bef5e082a7c18d9c8ae281/contourpy-1.3.3-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:348ac1f5d4f1d66d3322420f01d42e43122f43616e0f194fc1c9f5d830c5b286", size = 334672, upload-time = "2025-07-26T12:01:41.942Z" }, + { url = "https://files.pythonhosted.org/packages/ed/93/b43d8acbe67392e659e1d984700e79eb67e2acb2bd7f62012b583a7f1b55/contourpy-1.3.3-cp313-cp313-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:655456777ff65c2c548b7c454af9c6f33f16c8884f11083244b5819cc214f1b5", size = 381234, upload-time = "2025-07-26T12:01:43.499Z" }, + { url = "https://files.pythonhosted.org/packages/46/3b/bec82a3ea06f66711520f75a40c8fc0b113b2a75edb36aa633eb11c4f50f/contourpy-1.3.3-cp313-cp313-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:644a6853d15b2512d67881586bd03f462c7ab755db95f16f14d7e238f2852c67", size = 385169, upload-time = "2025-07-26T12:01:45.219Z" }, + { url = "https://files.pythonhosted.org/packages/4b/32/e0f13a1c5b0f8572d0ec6ae2f6c677b7991fafd95da523159c19eff0696a/contourpy-1.3.3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4debd64f124ca62069f313a9cb86656ff087786016d76927ae2cf37846b006c9", size = 362859, upload-time = "2025-07-26T12:01:46.519Z" }, + { url = "https://files.pythonhosted.org/packages/33/71/e2a7945b7de4e58af42d708a219f3b2f4cff7386e6b6ab0a0fa0033c49a9/contourpy-1.3.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a15459b0f4615b00bbd1e91f1b9e19b7e63aea7483d03d804186f278c0af2659", size = 1332062, upload-time = "2025-07-26T12:01:48.964Z" }, + { url = "https://files.pythonhosted.org/packages/12/fc/4e87ac754220ccc0e807284f88e943d6d43b43843614f0a8afa469801db0/contourpy-1.3.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ca0fdcd73925568ca027e0b17ab07aad764be4706d0a925b89227e447d9737b7", size = 1403932, upload-time = "2025-07-26T12:01:51.979Z" }, + { url = "https://files.pythonhosted.org/packages/a6/2e/adc197a37443f934594112222ac1aa7dc9a98faf9c3842884df9a9d8751d/contourpy-1.3.3-cp313-cp313-win32.whl", hash = "sha256:b20c7c9a3bf701366556e1b1984ed2d0cedf999903c51311417cf5f591d8c78d", size = 185024, upload-time = "2025-07-26T12:01:53.245Z" }, + { url = "https://files.pythonhosted.org/packages/18/0b/0098c214843213759692cc638fce7de5c289200a830e5035d1791d7a2338/contourpy-1.3.3-cp313-cp313-win_amd64.whl", hash = "sha256:1cadd8b8969f060ba45ed7c1b714fe69185812ab43bd6b86a9123fe8f99c3263", size = 226578, upload-time = "2025-07-26T12:01:54.422Z" }, + { url = "https://files.pythonhosted.org/packages/8a/9a/2f6024a0c5995243cd63afdeb3651c984f0d2bc727fd98066d40e141ad73/contourpy-1.3.3-cp313-cp313-win_arm64.whl", hash = "sha256:fd914713266421b7536de2bfa8181aa8c699432b6763a0ea64195ebe28bff6a9", size = 193524, upload-time = "2025-07-26T12:01:55.73Z" }, + { url = "https://files.pythonhosted.org/packages/c0/b3/f8a1a86bd3298513f500e5b1f5fd92b69896449f6cab6a146a5d52715479/contourpy-1.3.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:88df9880d507169449d434c293467418b9f6cbe82edd19284aa0409e7fdb933d", size = 306730, upload-time = "2025-07-26T12:01:57.051Z" }, + { url = "https://files.pythonhosted.org/packages/3f/11/4780db94ae62fc0c2053909b65dc3246bd7cecfc4f8a20d957ad43aa4ad8/contourpy-1.3.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:d06bb1f751ba5d417047db62bca3c8fde202b8c11fb50742ab3ab962c81e8216", size = 287897, upload-time = "2025-07-26T12:01:58.663Z" }, + { url = "https://files.pythonhosted.org/packages/ae/15/e59f5f3ffdd6f3d4daa3e47114c53daabcb18574a26c21f03dc9e4e42ff0/contourpy-1.3.3-cp313-cp313t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e4e6b05a45525357e382909a4c1600444e2a45b4795163d3b22669285591c1ae", size = 326751, upload-time = "2025-07-26T12:02:00.343Z" }, + { url = "https://files.pythonhosted.org/packages/0f/81/03b45cfad088e4770b1dcf72ea78d3802d04200009fb364d18a493857210/contourpy-1.3.3-cp313-cp313t-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:ab3074b48c4e2cf1a960e6bbeb7f04566bf36b1861d5c9d4d8ac04b82e38ba20", size = 375486, upload-time = "2025-07-26T12:02:02.128Z" }, + { url = "https://files.pythonhosted.org/packages/0c/ba/49923366492ffbdd4486e970d421b289a670ae8cf539c1ea9a09822b371a/contourpy-1.3.3-cp313-cp313t-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:6c3d53c796f8647d6deb1abe867daeb66dcc8a97e8455efa729516b997b8ed99", size = 388106, upload-time = "2025-07-26T12:02:03.615Z" }, + { url = "https://files.pythonhosted.org/packages/9f/52/5b00ea89525f8f143651f9f03a0df371d3cbd2fccd21ca9b768c7a6500c2/contourpy-1.3.3-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:50ed930df7289ff2a8d7afeb9603f8289e5704755c7e5c3bbd929c90c817164b", size = 352548, upload-time = "2025-07-26T12:02:05.165Z" }, + { url = "https://files.pythonhosted.org/packages/32/1d/a209ec1a3a3452d490f6b14dd92e72280c99ae3d1e73da74f8277d4ee08f/contourpy-1.3.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:4feffb6537d64b84877da813a5c30f1422ea5739566abf0bd18065ac040e120a", size = 1322297, upload-time = "2025-07-26T12:02:07.379Z" }, + { url = "https://files.pythonhosted.org/packages/bc/9e/46f0e8ebdd884ca0e8877e46a3f4e633f6c9c8c4f3f6e72be3fe075994aa/contourpy-1.3.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:2b7e9480ffe2b0cd2e787e4df64270e3a0440d9db8dc823312e2c940c167df7e", size = 1391023, upload-time = "2025-07-26T12:02:10.171Z" }, + { url = "https://files.pythonhosted.org/packages/b9/70/f308384a3ae9cd2209e0849f33c913f658d3326900d0ff5d378d6a1422d2/contourpy-1.3.3-cp313-cp313t-win32.whl", hash = "sha256:283edd842a01e3dcd435b1c5116798d661378d83d36d337b8dde1d16a5fc9ba3", size = 196157, upload-time = "2025-07-26T12:02:11.488Z" }, + { url = "https://files.pythonhosted.org/packages/b2/dd/880f890a6663b84d9e34a6f88cded89d78f0091e0045a284427cb6b18521/contourpy-1.3.3-cp313-cp313t-win_amd64.whl", hash = "sha256:87acf5963fc2b34825e5b6b048f40e3635dd547f590b04d2ab317c2619ef7ae8", size = 240570, upload-time = "2025-07-26T12:02:12.754Z" }, + { url = "https://files.pythonhosted.org/packages/80/99/2adc7d8ffead633234817ef8e9a87115c8a11927a94478f6bb3d3f4d4f7d/contourpy-1.3.3-cp313-cp313t-win_arm64.whl", hash = "sha256:3c30273eb2a55024ff31ba7d052dde990d7d8e5450f4bbb6e913558b3d6c2301", size = 199713, upload-time = "2025-07-26T12:02:14.4Z" }, + { url = "https://files.pythonhosted.org/packages/72/8b/4546f3ab60f78c514ffb7d01a0bd743f90de36f0019d1be84d0a708a580a/contourpy-1.3.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:fde6c716d51c04b1c25d0b90364d0be954624a0ee9d60e23e850e8d48353d07a", size = 292189, upload-time = "2025-07-26T12:02:16.095Z" }, + { url = "https://files.pythonhosted.org/packages/fd/e1/3542a9cb596cadd76fcef413f19c79216e002623158befe6daa03dbfa88c/contourpy-1.3.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:cbedb772ed74ff5be440fa8eee9bd49f64f6e3fc09436d9c7d8f1c287b121d77", size = 273251, upload-time = "2025-07-26T12:02:17.524Z" }, + { url = "https://files.pythonhosted.org/packages/b1/71/f93e1e9471d189f79d0ce2497007731c1e6bf9ef6d1d61b911430c3db4e5/contourpy-1.3.3-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:22e9b1bd7a9b1d652cd77388465dc358dafcd2e217d35552424aa4f996f524f5", size = 335810, upload-time = "2025-07-26T12:02:18.9Z" }, + { url = "https://files.pythonhosted.org/packages/91/f9/e35f4c1c93f9275d4e38681a80506b5510e9327350c51f8d4a5a724d178c/contourpy-1.3.3-cp314-cp314-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a22738912262aa3e254e4f3cb079a95a67132fc5a063890e224393596902f5a4", size = 382871, upload-time = "2025-07-26T12:02:20.418Z" }, + { url = "https://files.pythonhosted.org/packages/b5/71/47b512f936f66a0a900d81c396a7e60d73419868fba959c61efed7a8ab46/contourpy-1.3.3-cp314-cp314-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:afe5a512f31ee6bd7d0dda52ec9864c984ca3d66664444f2d72e0dc4eb832e36", size = 386264, upload-time = "2025-07-26T12:02:21.916Z" }, + { url = "https://files.pythonhosted.org/packages/04/5f/9ff93450ba96b09c7c2b3f81c94de31c89f92292f1380261bd7195bea4ea/contourpy-1.3.3-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f64836de09927cba6f79dcd00fdd7d5329f3fccc633468507079c829ca4db4e3", size = 363819, upload-time = "2025-07-26T12:02:23.759Z" }, + { url = "https://files.pythonhosted.org/packages/3e/a6/0b185d4cc480ee494945cde102cb0149ae830b5fa17bf855b95f2e70ad13/contourpy-1.3.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:1fd43c3be4c8e5fd6e4f2baeae35ae18176cf2e5cced681cca908addf1cdd53b", size = 1333650, upload-time = "2025-07-26T12:02:26.181Z" }, + { url = "https://files.pythonhosted.org/packages/43/d7/afdc95580ca56f30fbcd3060250f66cedbde69b4547028863abd8aa3b47e/contourpy-1.3.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:6afc576f7b33cf00996e5c1102dc2a8f7cc89e39c0b55df93a0b78c1bd992b36", size = 1404833, upload-time = "2025-07-26T12:02:28.782Z" }, + { url = "https://files.pythonhosted.org/packages/e2/e2/366af18a6d386f41132a48f033cbd2102e9b0cf6345d35ff0826cd984566/contourpy-1.3.3-cp314-cp314-win32.whl", hash = "sha256:66c8a43a4f7b8df8b71ee1840e4211a3c8d93b214b213f590e18a1beca458f7d", size = 189692, upload-time = "2025-07-26T12:02:30.128Z" }, + { url = "https://files.pythonhosted.org/packages/7d/c2/57f54b03d0f22d4044b8afb9ca0e184f8b1afd57b4f735c2fa70883dc601/contourpy-1.3.3-cp314-cp314-win_amd64.whl", hash = "sha256:cf9022ef053f2694e31d630feaacb21ea24224be1c3ad0520b13d844274614fd", size = 232424, upload-time = "2025-07-26T12:02:31.395Z" }, + { url = "https://files.pythonhosted.org/packages/18/79/a9416650df9b525737ab521aa181ccc42d56016d2123ddcb7b58e926a42c/contourpy-1.3.3-cp314-cp314-win_arm64.whl", hash = "sha256:95b181891b4c71de4bb404c6621e7e2390745f887f2a026b2d99e92c17892339", size = 198300, upload-time = "2025-07-26T12:02:32.956Z" }, + { url = "https://files.pythonhosted.org/packages/1f/42/38c159a7d0f2b7b9c04c64ab317042bb6952b713ba875c1681529a2932fe/contourpy-1.3.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:33c82d0138c0a062380332c861387650c82e4cf1747aaa6938b9b6516762e772", size = 306769, upload-time = "2025-07-26T12:02:34.2Z" }, + { url = "https://files.pythonhosted.org/packages/c3/6c/26a8205f24bca10974e77460de68d3d7c63e282e23782f1239f226fcae6f/contourpy-1.3.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:ea37e7b45949df430fe649e5de8351c423430046a2af20b1c1961cae3afcda77", size = 287892, upload-time = "2025-07-26T12:02:35.807Z" }, + { url = "https://files.pythonhosted.org/packages/66/06/8a475c8ab718ebfd7925661747dbb3c3ee9c82ac834ccb3570be49d129f4/contourpy-1.3.3-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d304906ecc71672e9c89e87c4675dc5c2645e1f4269a5063b99b0bb29f232d13", size = 326748, upload-time = "2025-07-26T12:02:37.193Z" }, + { url = "https://files.pythonhosted.org/packages/b4/a3/c5ca9f010a44c223f098fccd8b158bb1cb287378a31ac141f04730dc49be/contourpy-1.3.3-cp314-cp314t-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:ca658cd1a680a5c9ea96dc61cdbae1e85c8f25849843aa799dfd3cb370ad4fbe", size = 375554, upload-time = "2025-07-26T12:02:38.894Z" }, + { url = "https://files.pythonhosted.org/packages/80/5b/68bd33ae63fac658a4145088c1e894405e07584a316738710b636c6d0333/contourpy-1.3.3-cp314-cp314t-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:ab2fd90904c503739a75b7c8c5c01160130ba67944a7b77bbf36ef8054576e7f", size = 388118, upload-time = "2025-07-26T12:02:40.642Z" }, + { url = "https://files.pythonhosted.org/packages/40/52/4c285a6435940ae25d7410a6c36bda5145839bc3f0beb20c707cda18b9d2/contourpy-1.3.3-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b7301b89040075c30e5768810bc96a8e8d78085b47d8be6e4c3f5a0b4ed478a0", size = 352555, upload-time = "2025-07-26T12:02:42.25Z" }, + { url = "https://files.pythonhosted.org/packages/24/ee/3e81e1dd174f5c7fefe50e85d0892de05ca4e26ef1c9a59c2a57e43b865a/contourpy-1.3.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:2a2a8b627d5cc6b7c41a4beff6c5ad5eb848c88255fda4a8745f7e901b32d8e4", size = 1322295, upload-time = "2025-07-26T12:02:44.668Z" }, + { url = "https://files.pythonhosted.org/packages/3c/b2/6d913d4d04e14379de429057cd169e5e00f6c2af3bb13e1710bcbdb5da12/contourpy-1.3.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:fd6ec6be509c787f1caf6b247f0b1ca598bef13f4ddeaa126b7658215529ba0f", size = 1391027, upload-time = "2025-07-26T12:02:47.09Z" }, + { url = "https://files.pythonhosted.org/packages/93/8a/68a4ec5c55a2971213d29a9374913f7e9f18581945a7a31d1a39b5d2dfe5/contourpy-1.3.3-cp314-cp314t-win32.whl", hash = "sha256:e74a9a0f5e3fff48fb5a7f2fd2b9b70a3fe014a67522f79b7cca4c0c7e43c9ae", size = 202428, upload-time = "2025-07-26T12:02:48.691Z" }, + { url = "https://files.pythonhosted.org/packages/fa/96/fd9f641ffedc4fa3ace923af73b9d07e869496c9cc7a459103e6e978992f/contourpy-1.3.3-cp314-cp314t-win_amd64.whl", hash = "sha256:13b68d6a62db8eafaebb8039218921399baf6e47bf85006fd8529f2a08ef33fc", size = 250331, upload-time = "2025-07-26T12:02:50.137Z" }, + { url = "https://files.pythonhosted.org/packages/ae/8c/469afb6465b853afff216f9528ffda78a915ff880ed58813ba4faf4ba0b6/contourpy-1.3.3-cp314-cp314t-win_arm64.whl", hash = "sha256:b7448cb5a725bb1e35ce88771b86fba35ef418952474492cf7c764059933ff8b", size = 203831, upload-time = "2025-07-26T12:02:51.449Z" }, + { url = "https://files.pythonhosted.org/packages/a5/29/8dcfe16f0107943fa92388c23f6e05cff0ba58058c4c95b00280d4c75a14/contourpy-1.3.3-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:cd5dfcaeb10f7b7f9dc8941717c6c2ade08f587be2226222c12b25f0483ed497", size = 278809, upload-time = "2025-07-26T12:02:52.74Z" }, + { url = "https://files.pythonhosted.org/packages/85/a9/8b37ef4f7dafeb335daee3c8254645ef5725be4d9c6aa70b50ec46ef2f7e/contourpy-1.3.3-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:0c1fc238306b35f246d61a1d416a627348b5cf0648648a031e14bb8705fcdfe8", size = 261593, upload-time = "2025-07-26T12:02:54.037Z" }, + { url = "https://files.pythonhosted.org/packages/0a/59/ebfb8c677c75605cc27f7122c90313fd2f375ff3c8d19a1694bda74aaa63/contourpy-1.3.3-pp311-pypy311_pp73-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:70f9aad7de812d6541d29d2bbf8feb22ff7e1c299523db288004e3157ff4674e", size = 302202, upload-time = "2025-07-26T12:02:55.947Z" }, + { url = "https://files.pythonhosted.org/packages/3c/37/21972a15834d90bfbfb009b9d004779bd5a07a0ec0234e5ba8f64d5736f4/contourpy-1.3.3-pp311-pypy311_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5ed3657edf08512fc3fe81b510e35c2012fbd3081d2e26160f27ca28affec989", size = 329207, upload-time = "2025-07-26T12:02:57.468Z" }, + { url = "https://files.pythonhosted.org/packages/0c/58/bd257695f39d05594ca4ad60df5bcb7e32247f9951fd09a9b8edb82d1daa/contourpy-1.3.3-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:3d1a3799d62d45c18bafd41c5fa05120b96a28079f2393af559b843d1a966a77", size = 225315, upload-time = "2025-07-26T12:02:58.801Z" }, +] + [[package]] name = "cryptography" version = "45.0.5" @@ -867,7 +936,7 @@ wheels = [ [[package]] name = "cyclopts" -version = "3.22.3" +version = "3.22.5" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "attrs" }, @@ -876,9 +945,9 @@ dependencies = [ { name = "rich-rst" }, { name = "typing-extensions", marker = "python_full_version < '3.11'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/c8/05/9d5a0a8f4628f6a1230b43e0c34a7dc45c40a17045a09f4a5d7145da12e2/cyclopts-3.22.3.tar.gz", hash = "sha256:7df1d05e4b56b07079e13880b457b78522101531e2947af1a68f182e89742b34", size = 74837, upload-time = "2025-07-23T23:25:09.815Z" } +sdist = { url = "https://files.pythonhosted.org/packages/a3/d5/24c6c894f3833bc93d4944c2064309dfd633c0becf93e16fc79d76edd388/cyclopts-3.22.5.tar.gz", hash = "sha256:fa2450b9840abc41c6aa37af5eaeafc7a1264e08054e3a2fe39d49aa154f592a", size = 74890, upload-time = "2025-07-31T18:18:37.336Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/16/1f/4b9f6986add9f6ff361c1bfffeb08fc2f2f6752f8adf8d4dcf0a988b6f28/cyclopts-3.22.3-py3-none-any.whl", hash = "sha256:771ae584868c8beeac74184a96e9fad3726c787b17e47a6f0d5f42cece1df57a", size = 84941, upload-time = "2025-07-23T23:25:08.527Z" }, + { url = "https://files.pythonhosted.org/packages/df/e5/a7b6db64f08cfe065e531ec6b508fa7dac704fab70d05adb5bc0c2c1d1b6/cyclopts-3.22.5-py3-none-any.whl", hash = "sha256:92efb4a094d9812718d7efe0bffa319a19cb661f230dbf24406c18cd8809fb82", size = 84994, upload-time = "2025-07-31T18:18:35.939Z" }, ] [[package]] @@ -896,27 +965,27 @@ wheels = [ [[package]] name = "debugpy" -version = "1.8.14" +version = "1.8.15" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/bd/75/087fe07d40f490a78782ff3b0a30e3968936854105487decdb33446d4b0e/debugpy-1.8.14.tar.gz", hash = "sha256:7cd287184318416850aa8b60ac90105837bb1e59531898c07569d197d2ed5322", size = 1641444, upload-time = "2025-04-10T19:46:10.981Z" } +sdist = { url = "https://files.pythonhosted.org/packages/8c/8b/3a9a28ddb750a76eaec445c7f4d3147ea2c579a97dbd9e25d39001b92b21/debugpy-1.8.15.tar.gz", hash = "sha256:58d7a20b7773ab5ee6bdfb2e6cf622fdf1e40c9d5aef2857d85391526719ac00", size = 1643279, upload-time = "2025-07-15T16:43:29.135Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/fc/df/156df75a41aaebd97cee9d3870fe68f8001b6c1c4ca023e221cfce69bece/debugpy-1.8.14-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:93fee753097e85623cab1c0e6a68c76308cd9f13ffdf44127e6fab4fbf024339", size = 2076510, upload-time = "2025-04-10T19:46:13.315Z" }, - { url = "https://files.pythonhosted.org/packages/69/cd/4fc391607bca0996db5f3658762106e3d2427beaef9bfd363fd370a3c054/debugpy-1.8.14-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3d937d93ae4fa51cdc94d3e865f535f185d5f9748efb41d0d49e33bf3365bd79", size = 3559614, upload-time = "2025-04-10T19:46:14.647Z" }, - { url = "https://files.pythonhosted.org/packages/1a/42/4e6d2b9d63e002db79edfd0cb5656f1c403958915e0e73ab3e9220012eec/debugpy-1.8.14-cp310-cp310-win32.whl", hash = "sha256:c442f20577b38cc7a9aafecffe1094f78f07fb8423c3dddb384e6b8f49fd2987", size = 5208588, upload-time = "2025-04-10T19:46:16.233Z" }, - { url = "https://files.pythonhosted.org/packages/97/b1/cc9e4e5faadc9d00df1a64a3c2d5c5f4b9df28196c39ada06361c5141f89/debugpy-1.8.14-cp310-cp310-win_amd64.whl", hash = "sha256:f117dedda6d969c5c9483e23f573b38f4e39412845c7bc487b6f2648df30fe84", size = 5241043, upload-time = "2025-04-10T19:46:17.768Z" }, - { url = "https://files.pythonhosted.org/packages/67/e8/57fe0c86915671fd6a3d2d8746e40485fd55e8d9e682388fbb3a3d42b86f/debugpy-1.8.14-cp311-cp311-macosx_14_0_universal2.whl", hash = "sha256:1b2ac8c13b2645e0b1eaf30e816404990fbdb168e193322be8f545e8c01644a9", size = 2175064, upload-time = "2025-04-10T19:46:19.486Z" }, - { url = "https://files.pythonhosted.org/packages/3b/97/2b2fd1b1c9569c6764ccdb650a6f752e4ac31be465049563c9eb127a8487/debugpy-1.8.14-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cf431c343a99384ac7eab2f763980724834f933a271e90496944195318c619e2", size = 3132359, upload-time = "2025-04-10T19:46:21.192Z" }, - { url = "https://files.pythonhosted.org/packages/c0/ee/b825c87ed06256ee2a7ed8bab8fb3bb5851293bf9465409fdffc6261c426/debugpy-1.8.14-cp311-cp311-win32.whl", hash = "sha256:c99295c76161ad8d507b413cd33422d7c542889fbb73035889420ac1fad354f2", size = 5133269, upload-time = "2025-04-10T19:46:23.047Z" }, - { url = "https://files.pythonhosted.org/packages/d5/a6/6c70cd15afa43d37839d60f324213843174c1d1e6bb616bd89f7c1341bac/debugpy-1.8.14-cp311-cp311-win_amd64.whl", hash = "sha256:7816acea4a46d7e4e50ad8d09d963a680ecc814ae31cdef3622eb05ccacf7b01", size = 5158156, upload-time = "2025-04-10T19:46:24.521Z" }, - { url = "https://files.pythonhosted.org/packages/d9/2a/ac2df0eda4898f29c46eb6713a5148e6f8b2b389c8ec9e425a4a1d67bf07/debugpy-1.8.14-cp312-cp312-macosx_14_0_universal2.whl", hash = "sha256:8899c17920d089cfa23e6005ad9f22582fd86f144b23acb9feeda59e84405b84", size = 2501268, upload-time = "2025-04-10T19:46:26.044Z" }, - { url = "https://files.pythonhosted.org/packages/10/53/0a0cb5d79dd9f7039169f8bf94a144ad3efa52cc519940b3b7dde23bcb89/debugpy-1.8.14-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f6bb5c0dcf80ad5dbc7b7d6eac484e2af34bdacdf81df09b6a3e62792b722826", size = 4221077, upload-time = "2025-04-10T19:46:27.464Z" }, - { url = "https://files.pythonhosted.org/packages/f8/d5/84e01821f362327bf4828728aa31e907a2eca7c78cd7c6ec062780d249f8/debugpy-1.8.14-cp312-cp312-win32.whl", hash = "sha256:281d44d248a0e1791ad0eafdbbd2912ff0de9eec48022a5bfbc332957487ed3f", size = 5255127, upload-time = "2025-04-10T19:46:29.467Z" }, - { url = "https://files.pythonhosted.org/packages/33/16/1ed929d812c758295cac7f9cf3dab5c73439c83d9091f2d91871e648093e/debugpy-1.8.14-cp312-cp312-win_amd64.whl", hash = "sha256:5aa56ef8538893e4502a7d79047fe39b1dae08d9ae257074c6464a7b290b806f", size = 5297249, upload-time = "2025-04-10T19:46:31.538Z" }, - { url = "https://files.pythonhosted.org/packages/4d/e4/395c792b243f2367d84202dc33689aa3d910fb9826a7491ba20fc9e261f5/debugpy-1.8.14-cp313-cp313-macosx_14_0_universal2.whl", hash = "sha256:329a15d0660ee09fec6786acdb6e0443d595f64f5d096fc3e3ccf09a4259033f", size = 2485676, upload-time = "2025-04-10T19:46:32.96Z" }, - { url = "https://files.pythonhosted.org/packages/ba/f1/6f2ee3f991327ad9e4c2f8b82611a467052a0fb0e247390192580e89f7ff/debugpy-1.8.14-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0f920c7f9af409d90f5fd26e313e119d908b0dd2952c2393cd3247a462331f15", size = 4217514, upload-time = "2025-04-10T19:46:34.336Z" }, - { url = "https://files.pythonhosted.org/packages/79/28/b9d146f8f2dc535c236ee09ad3e5ac899adb39d7a19b49f03ac95d216beb/debugpy-1.8.14-cp313-cp313-win32.whl", hash = "sha256:3784ec6e8600c66cbdd4ca2726c72d8ca781e94bce2f396cc606d458146f8f4e", size = 5254756, upload-time = "2025-04-10T19:46:36.199Z" }, - { url = "https://files.pythonhosted.org/packages/e0/62/a7b4a57013eac4ccaef6977966e6bec5c63906dd25a86e35f155952e29a1/debugpy-1.8.14-cp313-cp313-win_amd64.whl", hash = "sha256:684eaf43c95a3ec39a96f1f5195a7ff3d4144e4a18d69bb66beeb1a6de605d6e", size = 5297119, upload-time = "2025-04-10T19:46:38.141Z" }, - { url = "https://files.pythonhosted.org/packages/97/1a/481f33c37ee3ac8040d3d51fc4c4e4e7e61cb08b8bc8971d6032acc2279f/debugpy-1.8.14-py2.py3-none-any.whl", hash = "sha256:5cd9a579d553b6cb9759a7908a41988ee6280b961f24f63336835d9418216a20", size = 5256230, upload-time = "2025-04-10T19:46:54.077Z" }, + { url = "https://files.pythonhosted.org/packages/69/51/0b4315169f0d945271db037ae6b98c0548a2d48cc036335cd1b2f5516c1b/debugpy-1.8.15-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:e9a8125c85172e3ec30985012e7a81ea5e70bbb836637f8a4104f454f9b06c97", size = 2084890, upload-time = "2025-07-15T16:43:31.239Z" }, + { url = "https://files.pythonhosted.org/packages/36/cc/a5391dedb079280d7b72418022e00ba8227ae0b5bc8b2e3d1ecffc5d6b01/debugpy-1.8.15-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7fd0b6b5eccaa745c214fd240ea82f46049d99ef74b185a3517dad3ea1ec55d9", size = 3561470, upload-time = "2025-07-15T16:43:32.515Z" }, + { url = "https://files.pythonhosted.org/packages/e8/92/acf64b92010c66b33c077dee3862c733798a2c90e7d14b25c01d771e2a0d/debugpy-1.8.15-cp310-cp310-win32.whl", hash = "sha256:8181cce4d344010f6bfe94a531c351a46a96b0f7987750932b2908e7a1e14a55", size = 5229194, upload-time = "2025-07-15T16:43:33.997Z" }, + { url = "https://files.pythonhosted.org/packages/3f/f5/c58c015c9ff78de35901bea3ab4dbf7946d7a4aa867ee73875df06ba6468/debugpy-1.8.15-cp310-cp310-win_amd64.whl", hash = "sha256:af2dcae4e4cd6e8b35f982ccab29fe65f7e8766e10720a717bc80c464584ee21", size = 5260900, upload-time = "2025-07-15T16:43:35.413Z" }, + { url = "https://files.pythonhosted.org/packages/d2/b3/1c44a2ed311199ab11c2299c9474a6c7cd80d19278defd333aeb7c287995/debugpy-1.8.15-cp311-cp311-macosx_14_0_universal2.whl", hash = "sha256:babc4fb1962dd6a37e94d611280e3d0d11a1f5e6c72ac9b3d87a08212c4b6dd3", size = 2183442, upload-time = "2025-07-15T16:43:36.733Z" }, + { url = "https://files.pythonhosted.org/packages/f6/69/e2dcb721491e1c294d348681227c9b44fb95218f379aa88e12a19d85528d/debugpy-1.8.15-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f778e68f2986a58479d0ac4f643e0b8c82fdd97c2e200d4d61e7c2d13838eb53", size = 3134215, upload-time = "2025-07-15T16:43:38.116Z" }, + { url = "https://files.pythonhosted.org/packages/17/76/4ce63b95d8294dcf2fd1820860b300a420d077df4e93afcaa25a984c2ca7/debugpy-1.8.15-cp311-cp311-win32.whl", hash = "sha256:f9d1b5abd75cd965e2deabb1a06b0e93a1546f31f9f621d2705e78104377c702", size = 5154037, upload-time = "2025-07-15T16:43:39.471Z" }, + { url = "https://files.pythonhosted.org/packages/c2/a7/e5a7c784465eb9c976d84408873d597dc7ce74a0fc69ed009548a1a94813/debugpy-1.8.15-cp311-cp311-win_amd64.whl", hash = "sha256:62954fb904bec463e2b5a415777f6d1926c97febb08ef1694da0e5d1463c5c3b", size = 5178133, upload-time = "2025-07-15T16:43:40.969Z" }, + { url = "https://files.pythonhosted.org/packages/ab/4a/4508d256e52897f5cdfee6a6d7580974811e911c6d01321df3264508a5ac/debugpy-1.8.15-cp312-cp312-macosx_14_0_universal2.whl", hash = "sha256:3dcc7225cb317469721ab5136cda9ff9c8b6e6fb43e87c9e15d5b108b99d01ba", size = 2511197, upload-time = "2025-07-15T16:43:42.343Z" }, + { url = "https://files.pythonhosted.org/packages/99/8d/7f6ef1097e7fecf26b4ef72338d08e41644a41b7ee958a19f494ffcffc29/debugpy-1.8.15-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:047a493ca93c85ccede1dbbaf4e66816794bdc214213dde41a9a61e42d27f8fc", size = 4229517, upload-time = "2025-07-15T16:43:44.14Z" }, + { url = "https://files.pythonhosted.org/packages/3f/e8/e8c6a9aa33a9c9c6dacbf31747384f6ed2adde4de2e9693c766bdf323aa3/debugpy-1.8.15-cp312-cp312-win32.whl", hash = "sha256:b08e9b0bc260cf324c890626961dad4ffd973f7568fbf57feb3c3a65ab6b6327", size = 5276132, upload-time = "2025-07-15T16:43:45.529Z" }, + { url = "https://files.pythonhosted.org/packages/e9/ad/231050c6177b3476b85fcea01e565dac83607b5233d003ff067e2ee44d8f/debugpy-1.8.15-cp312-cp312-win_amd64.whl", hash = "sha256:e2a4fe357c92334272eb2845fcfcdbec3ef9f22c16cf613c388ac0887aed15fa", size = 5317645, upload-time = "2025-07-15T16:43:46.968Z" }, + { url = "https://files.pythonhosted.org/packages/28/70/2928aad2310726d5920b18ed9f54b9f06df5aa4c10cf9b45fa18ff0ab7e8/debugpy-1.8.15-cp313-cp313-macosx_14_0_universal2.whl", hash = "sha256:f5e01291ad7d6649aed5773256c5bba7a1a556196300232de1474c3c372592bf", size = 2495538, upload-time = "2025-07-15T16:43:48.927Z" }, + { url = "https://files.pythonhosted.org/packages/9e/c6/9b8ffb4ca91fac8b2877eef63c9cc0e87dd2570b1120054c272815ec4cd0/debugpy-1.8.15-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:94dc0f0d00e528d915e0ce1c78e771475b2335b376c49afcc7382ee0b146bab6", size = 4221874, upload-time = "2025-07-15T16:43:50.282Z" }, + { url = "https://files.pythonhosted.org/packages/55/8a/9b8d59674b4bf489318c7c46a1aab58e606e583651438084b7e029bf3c43/debugpy-1.8.15-cp313-cp313-win32.whl", hash = "sha256:fcf0748d4f6e25f89dc5e013d1129ca6f26ad4da405e0723a4f704583896a709", size = 5275949, upload-time = "2025-07-15T16:43:52.079Z" }, + { url = "https://files.pythonhosted.org/packages/72/83/9e58e6fdfa8710a5e6ec06c2401241b9ad48b71c0a7eb99570a1f1edb1d3/debugpy-1.8.15-cp313-cp313-win_amd64.whl", hash = "sha256:73c943776cb83e36baf95e8f7f8da765896fd94b05991e7bc162456d25500683", size = 5317720, upload-time = "2025-07-15T16:43:53.703Z" }, + { url = "https://files.pythonhosted.org/packages/07/d5/98748d9860e767a1248b5e31ffa7ce8cb7006e97bf8abbf3d891d0a8ba4e/debugpy-1.8.15-py2.py3-none-any.whl", hash = "sha256:bce2e6c5ff4f2e00b98d45e7e01a49c7b489ff6df5f12d881c67d2f1ac635f3d", size = 5282697, upload-time = "2025-07-15T16:44:07.996Z" }, ] [[package]] @@ -956,12 +1025,21 @@ wheels = [ ] [[package]] -name = "distlib" -version = "0.3.9" +name = "diskcache" +version = "5.6.3" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/0d/dd/1bec4c5ddb504ca60fc29472f3d27e8d4da1257a854e1d96742f15c1d02d/distlib-0.3.9.tar.gz", hash = "sha256:a60f20dea646b8a33f3e7772f74dc0b2d0772d2837ee1342a00645c81edf9403", size = 613923, upload-time = "2024-10-09T18:35:47.551Z" } +sdist = { url = "https://files.pythonhosted.org/packages/3f/21/1c1ffc1a039ddcc459db43cc108658f32c57d271d7289a2794e401d0fdb6/diskcache-5.6.3.tar.gz", hash = "sha256:2c3a3fa2743d8535d832ec61c2054a1641f41775aa7c556758a109941e33e4fc", size = 67916, upload-time = "2023-08-31T06:12:00.316Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/91/a1/cf2472db20f7ce4a6be1253a81cfdf85ad9c7885ffbed7047fb72c24cf87/distlib-0.3.9-py2.py3-none-any.whl", hash = "sha256:47f8c22fd27c27e25a65601af709b38e4f0a45ea4fc2e710f65755fa8caaaf87", size = 468973, upload-time = "2024-10-09T18:35:44.272Z" }, + { url = "https://files.pythonhosted.org/packages/3f/27/4570e78fc0bf5ea0ca45eb1de3818a23787af9b390c0b0a0033a1b8236f9/diskcache-5.6.3-py3-none-any.whl", hash = "sha256:5e31b2d5fbad117cc363ebaf6b689474db18a1f6438bc82358b024abd4c2ca19", size = 45550, upload-time = "2023-08-31T06:11:58.822Z" }, +] + +[[package]] +name = "distlib" +version = "0.4.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/96/8e/709914eb2b5749865801041647dc7f4e6d00b549cfe88b65ca192995f07c/distlib-0.4.0.tar.gz", hash = "sha256:feec40075be03a04501a973d81f633735b4b69f98b05450592310c0f401a4e0d", size = 614605, upload-time = "2025-07-17T16:52:00.465Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/33/6b/e0547afaf41bf2c42e52430072fa5658766e3d65bd4b03a563d1b6336f57/distlib-0.4.0-py2.py3-none-any.whl", hash = "sha256:9659f7d87e46584a30b5780e43ac7a2143098441670ff0a49d5f9034c54a6c16", size = 469047, upload-time = "2025-07-17T16:51:58.613Z" }, ] [[package]] @@ -975,7 +1053,7 @@ wheels = [ [[package]] name = "dlt" -version = "1.13.0" +version = "1.14.1" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "click" }, @@ -1006,9 +1084,9 @@ dependencies = [ { name = "tzdata" }, { name = "win-precise-time", marker = "python_full_version < '3.13' and os_name == 'nt'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/c8/4b/b0e2a7f2b0c3c0fe75892a50803e284f05c65cd6db834d752986c500facb/dlt-1.13.0.tar.gz", hash = "sha256:485d40e806daa707f2cdd5e2045aa467ca40fd380f046e882826af4bb76d2ba0", size = 770236, upload-time = "2025-07-08T19:42:22.553Z" } +sdist = { url = "https://files.pythonhosted.org/packages/1e/4f/5836de7f12eb9a64442210649b52f885bd115d2afc9f930219653480ce7d/dlt-1.14.1.tar.gz", hash = "sha256:2fb1f65fd9d755e0fd7f8b694655d8e7dd438b5251e8513d0be3fc9c952aae6e", size = 776261, upload-time = "2025-07-16T20:03:37.419Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/71/f4/969640b5f866620f6f5851c7a46053393c9580476464c0f8f641185aaaa9/dlt-1.13.0-py3-none-any.whl", hash = "sha256:4c15dfa57c2d983eee2959b47ab07eee0ead5d2556c5721e4cc8d02bbbcee9e8", size = 986044, upload-time = "2025-07-08T19:42:20.539Z" }, + { url = "https://files.pythonhosted.org/packages/bd/25/d8e2150c31cf21c434d4fd4d14fe0028f2361173413338aedd323161986b/dlt-1.14.1-py3-none-any.whl", hash = "sha256:209b74213684e779ab3d63dcd25e4ab5d125e9f7a5949dae020665e2fc9f6baf", size = 992705, upload-time = "2025-07-16T20:03:34.09Z" }, ] [package.optional-dependencies] @@ -1028,20 +1106,20 @@ wheels = [ [[package]] name = "docstring-parser" -version = "0.16" +version = "0.17.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/08/12/9c22a58c0b1e29271051222d8906257616da84135af9ed167c9e28f85cb3/docstring_parser-0.16.tar.gz", hash = "sha256:538beabd0af1e2db0146b6bd3caa526c35a34d61af9fd2887f3a8a27a739aa6e", size = 26565, upload-time = "2024-03-15T10:39:44.419Z" } +sdist = { url = "https://files.pythonhosted.org/packages/b2/9d/c3b43da9515bd270df0f80548d9944e389870713cc1fe2b8fb35fe2bcefd/docstring_parser-0.17.0.tar.gz", hash = "sha256:583de4a309722b3315439bb31d64ba3eebada841f2e2cee23b99df001434c912", size = 27442, upload-time = "2025-07-21T07:35:01.868Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/d5/7c/e9fcff7623954d86bdc17782036cbf715ecab1bec4847c008557affe1ca8/docstring_parser-0.16-py3-none-any.whl", hash = "sha256:bf0a1387354d3691d102edef7ec124f219ef639982d096e26e3b60aeffa90637", size = 36533, upload-time = "2024-03-15T10:39:41.527Z" }, + { url = "https://files.pythonhosted.org/packages/55/e2/2537ebcff11c1ee1ff17d8d0b6f4db75873e3b0fb32c2d4a2ee31ecb310a/docstring_parser-0.17.0-py3-none-any.whl", hash = "sha256:cf2569abd23dce8099b300f9b4fa8191e9582dda731fd533daf54c4551658708", size = 36896, upload-time = "2025-07-21T07:35:00.684Z" }, ] [[package]] name = "docutils" -version = "0.21.2" +version = "0.22" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/ae/ed/aefcc8cd0ba62a0560c3c18c33925362d46c6075480bfa4df87b28e169a9/docutils-0.21.2.tar.gz", hash = "sha256:3a6b18732edf182daa3cd12775bbb338cf5691468f91eeeb109deff6ebfa986f", size = 2204444, upload-time = "2024-04-23T18:57:18.24Z" } +sdist = { url = "https://files.pythonhosted.org/packages/e9/86/5b41c32ecedcfdb4c77b28b6cb14234f252075f8cdb254531727a35547dd/docutils-0.22.tar.gz", hash = "sha256:ba9d57750e92331ebe7c08a1bbf7a7f8143b86c476acd51528b042216a6aad0f", size = 2277984, upload-time = "2025-07-29T15:20:31.06Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/8f/d7/9322c609343d929e75e7e5e6255e614fcc67572cfd083959cdef3b7aad79/docutils-0.21.2-py3-none-any.whl", hash = "sha256:dafca5b9e384f0e419294eb4d2ff9fa826435bf15f15b7bd45723e8ad76811b2", size = 587408, upload-time = "2024-04-23T18:57:14.835Z" }, + { url = "https://files.pythonhosted.org/packages/44/57/8db39bc5f98f042e0153b1de9fb88e1a409a33cda4dd7f723c2ed71e01f6/docutils-0.22-py3-none-any.whl", hash = "sha256:4ed966a0e96a0477d852f7af31bdcb3adc049fbb35ccba358c2ea8a03287615e", size = 630709, upload-time = "2025-07-29T15:20:28.335Z" }, ] [[package]] @@ -1089,16 +1167,16 @@ wheels = [ [[package]] name = "fastapi" -version = "0.115.7" +version = "0.116.1" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "pydantic" }, { name = "starlette" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/a2/f5/3f921e59f189e513adb9aef826e2841672d50a399fead4e69afdeb808ff4/fastapi-0.115.7.tar.gz", hash = "sha256:0f106da6c01d88a6786b3248fb4d7a940d071f6f488488898ad5d354b25ed015", size = 293177, upload-time = "2025-01-22T22:54:27.791Z" } +sdist = { url = "https://files.pythonhosted.org/packages/78/d7/6c8b3bfe33eeffa208183ec037fee0cce9f7f024089ab1c5d12ef04bd27c/fastapi-0.116.1.tar.gz", hash = "sha256:ed52cbf946abfd70c5a0dccb24673f0670deeb517a88b3544d03c2a6bf283143", size = 296485, upload-time = "2025-07-11T16:22:32.057Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e6/7f/bbd4dcf0faf61bc68a01939256e2ed02d681e9334c1a3cef24d5f77aba9f/fastapi-0.115.7-py3-none-any.whl", hash = "sha256:eb6a8c8bf7f26009e8147111ff15b5177a0e19bb4a45bc3486ab14804539d21e", size = 94777, upload-time = "2025-01-22T22:54:25.878Z" }, + { url = "https://files.pythonhosted.org/packages/e5/47/d63c60f59a59467fda0f93f46335c9d18526d7071f025cb5b89d5353ea42/fastapi-0.116.1-py3-none-any.whl", hash = "sha256:c46ac7c312df840f0c9e220f7964bada936781bc4e2e6eb71f1c4d7553786565", size = 95631, upload-time = "2025-07-11T16:22:30.485Z" }, ] [[package]] @@ -1144,7 +1222,8 @@ dependencies = [ { name = "huggingface-hub", marker = "python_full_version < '3.13'" }, { name = "loguru", marker = "python_full_version < '3.13'" }, { name = "mmh3", marker = "python_full_version < '3.13'" }, - { name = "numpy", marker = "python_full_version < '3.13'" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "numpy", version = "2.3.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11' and python_full_version < '3.13'" }, { name = "onnxruntime", marker = "python_full_version < '3.13'" }, { name = "pillow", marker = "python_full_version < '3.13'" }, { name = "py-rust-stemmers", marker = "python_full_version < '3.13'" }, @@ -1159,7 +1238,7 @@ wheels = [ [[package]] name = "fastmcp" -version = "2.10.6" +version = "2.11.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "authlib" }, @@ -1167,15 +1246,16 @@ dependencies = [ { name = "exceptiongroup" }, { name = "httpx" }, { name = "mcp" }, + { name = "openapi-core" }, { name = "openapi-pydantic" }, { name = "pydantic", extra = ["email"] }, { name = "pyperclip" }, { name = "python-dotenv" }, { name = "rich" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/00/a0/eceb88277ef9e3a442e099377a9b9c29fb2fa724e234486e03a44ca1c677/fastmcp-2.10.6.tar.gz", hash = "sha256:5a7b3301f9f1b64610430caef743ac70175c4b812e1949f037e4db65b0a42c5a", size = 1640538, upload-time = "2025-07-19T20:02:12.543Z" } +sdist = { url = "https://files.pythonhosted.org/packages/c2/02/0701624e938fe4d1f13464de9bdc27be9aba2e4c4d41edab3ea496d31751/fastmcp-2.11.0.tar.gz", hash = "sha256:af0c52988607d8e9197df300e91880169e8fe24fd6ca177dca6a9eb6b245ce3c", size = 2663877, upload-time = "2025-08-01T21:30:11.629Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/dc/05/4958cccbe862958d862b6a15f2d10d2f5ec3c411268dcb131a433e5e7a0d/fastmcp-2.10.6-py3-none-any.whl", hash = "sha256:9782416a8848cc0f4cfcc578e5c17834da620bef8ecf4d0daabf5dd1272411a2", size = 202613, upload-time = "2025-07-19T20:02:11.47Z" }, + { url = "https://files.pythonhosted.org/packages/0c/9a/51108b68e77650a7289b5f1ceff8dc0929ab48a26d1d2015f22121a9d183/fastmcp-2.11.0-py3-none-any.whl", hash = "sha256:8709a04522e66fda407b469fbe4d3290651aa7b06097b91c097e9a973c9b9bb3", size = 256193, upload-time = "2025-08-01T21:30:09.905Z" }, ] [[package]] @@ -1207,43 +1287,43 @@ wheels = [ [[package]] name = "fonttools" -version = "4.58.5" +version = "4.59.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/52/97/5735503e58d3816b0989955ef9b2df07e4c99b246469bd8b3823a14095da/fonttools-4.58.5.tar.gz", hash = "sha256:b2a35b0a19f1837284b3a23dd64fd7761b8911d50911ecd2bdbaf5b2d1b5df9c", size = 3526243, upload-time = "2025-07-03T14:04:47.736Z" } +sdist = { url = "https://files.pythonhosted.org/packages/8a/27/ec3c723bfdf86f34c5c82bf6305df3e0f0d8ea798d2d3a7cb0c0a866d286/fonttools-4.59.0.tar.gz", hash = "sha256:be392ec3529e2f57faa28709d60723a763904f71a2b63aabe14fee6648fe3b14", size = 3532521, upload-time = "2025-07-16T12:04:54.613Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/0b/cd/d2a50d9e9e9f01491993acd557051a05b0bbe57eb47710c6381dca741ac9/fonttools-4.58.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d500d399aa4e92d969a0d21052696fa762385bb23c3e733703af4a195ad9f34c", size = 2749015, upload-time = "2025-07-03T14:03:15.683Z" }, - { url = "https://files.pythonhosted.org/packages/ee/5e/8f9a4781f79042b2efb68a1636b9013c54f80311dbbc05e6a4bacdaf7661/fonttools-4.58.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b00530b84f87792891874938bd42f47af2f7f4c2a1d70466e6eb7166577853ab", size = 2319224, upload-time = "2025-07-03T14:03:18.627Z" }, - { url = "https://files.pythonhosted.org/packages/51/87/dddb6c9b4af1f49b100e3ec84d45c769947fd8e58943d35a58f27aa017b0/fonttools-4.58.5-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c5579fb3744dfec151b5c29b35857df83e01f06fe446e8c2ebaf1effd7e6cdce", size = 4839510, upload-time = "2025-07-03T14:03:22.785Z" }, - { url = "https://files.pythonhosted.org/packages/30/57/63fd49a3328e39e3f8868dd0b0f00370f4f40c4bd44a8478efad3338ebd9/fonttools-4.58.5-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:adf440deecfcc2390998e649156e3bdd0b615863228c484732dc06ac04f57385", size = 4768294, upload-time = "2025-07-03T14:03:24.853Z" }, - { url = "https://files.pythonhosted.org/packages/84/1a/e943dfecf56b48d7e684be7c37749c48560461d14f480b4e7c42285976ce/fonttools-4.58.5-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:a81769fc4d473c808310c9ed91fbe01b67f615e3196fb9773e093939f59e6783", size = 4820057, upload-time = "2025-07-03T14:03:26.939Z" }, - { url = "https://files.pythonhosted.org/packages/02/68/04e9dd0b711ca720f5473adde9325941c73faf947b771ea21fac9e3613c3/fonttools-4.58.5-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:0162a6a37b0ca70d8505311d541e291cd6cab54d1a986ae3d2686c56c0581e8f", size = 4927299, upload-time = "2025-07-03T14:03:29.136Z" }, - { url = "https://files.pythonhosted.org/packages/80/82/9d36a24c47ae4b93377332343b4f018c965e9c4835bbebaed951f99784d0/fonttools-4.58.5-cp310-cp310-win32.whl", hash = "sha256:1cde303422198fdc7f502dbdf1bf65306166cdb9446debd6c7fb826b4d66a530", size = 2203042, upload-time = "2025-07-03T14:03:31.139Z" }, - { url = "https://files.pythonhosted.org/packages/b7/d1/c2c3582d575ef901cad6cfbe77aa5396debd652f51bf32b6963245f00dfa/fonttools-4.58.5-cp310-cp310-win_amd64.whl", hash = "sha256:75cf8c2812c898dd3d70d62b2b768df4eeb524a83fb987a512ddb3863d6a8c54", size = 2247338, upload-time = "2025-07-03T14:03:33.24Z" }, - { url = "https://files.pythonhosted.org/packages/14/50/26c683bf6f30dcbde6955c8e07ec6af23764aab86ff06b36383654ab6739/fonttools-4.58.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:cda226253bf14c559bc5a17c570d46abd70315c9a687d91c0e01147f87736182", size = 2769557, upload-time = "2025-07-03T14:03:35.383Z" }, - { url = "https://files.pythonhosted.org/packages/b1/00/c3c75fb6196b9ff9988e6a82319ae23f4ae7098e1c01e2408e58d2e7d9c7/fonttools-4.58.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:83a96e4a4e65efd6c098da549ec34f328f08963acd2d7bc910ceba01d2dc73e6", size = 2329367, upload-time = "2025-07-03T14:03:37.322Z" }, - { url = "https://files.pythonhosted.org/packages/59/e9/6946366c8e88650c199da9b284559de5d47a6e66ed6d175a166953347959/fonttools-4.58.5-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2d172b92dff59ef8929b4452d5a7b19b8e92081aa87bfb2d82b03b1ff14fc667", size = 5019491, upload-time = "2025-07-03T14:03:39.759Z" }, - { url = "https://files.pythonhosted.org/packages/76/12/2f3f7d09bba7a93bd48dcb54b170fba665f0b7e80e959ac831b907d40785/fonttools-4.58.5-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:0bfddfd09aafbbfb3bd98ae67415fbe51eccd614c17db0c8844fe724fbc5d43d", size = 4961579, upload-time = "2025-07-03T14:03:41.611Z" }, - { url = "https://files.pythonhosted.org/packages/2c/95/87e84071189e51c714074646dfac8275b2e9c6b2b118600529cc74f7451e/fonttools-4.58.5-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:cfde5045f1bc92ad11b4b7551807564045a1b38cb037eb3c2bc4e737cd3a8d0f", size = 4997792, upload-time = "2025-07-03T14:03:44.529Z" }, - { url = "https://files.pythonhosted.org/packages/73/47/5c4df7473ecbeb8aa4e01373e4f614ca33f53227fe13ae673c6d5ca99be7/fonttools-4.58.5-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:3515ac47a9a5ac025d2899d195198314023d89492340ba86e4ba79451f7518a8", size = 5109361, upload-time = "2025-07-03T14:03:46.693Z" }, - { url = "https://files.pythonhosted.org/packages/06/00/31406853c570210232b845e08e5a566e15495910790381566ffdbdc7f9a2/fonttools-4.58.5-cp311-cp311-win32.whl", hash = "sha256:9f7e2ab9c10b6811b4f12a0768661325a48e664ec0a0530232c1605896a598db", size = 2201369, upload-time = "2025-07-03T14:03:48.885Z" }, - { url = "https://files.pythonhosted.org/packages/c5/90/ac0facb57962cef53a5734d0be5d2f2936e55aa5c62647c38ca3497263d8/fonttools-4.58.5-cp311-cp311-win_amd64.whl", hash = "sha256:126c16ec4a672c9cb5c1c255dc438d15436b470afc8e9cac25a2d39dd2dc26eb", size = 2249021, upload-time = "2025-07-03T14:03:51.232Z" }, - { url = "https://files.pythonhosted.org/packages/d6/68/66b498ee66f3e7e92fd68476c2509508082b7f57d68c0cdb4b8573f44331/fonttools-4.58.5-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:c3af3fefaafb570a03051a0d6899b8374dcf8e6a4560e42575843aef33bdbad6", size = 2754751, upload-time = "2025-07-03T14:03:52.976Z" }, - { url = "https://files.pythonhosted.org/packages/f1/1e/edbc14b79290980c3944a1f43098624bc8965f534964aa03d52041f24cb4/fonttools-4.58.5-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:688137789dbd44e8757ad77b49a771539d8069195ffa9a8bcf18176e90bbd86d", size = 2322342, upload-time = "2025-07-03T14:03:54.957Z" }, - { url = "https://files.pythonhosted.org/packages/c1/d7/3c87cf147185d91c2e946460a5cf68c236427b4a23ab96793ccb7d8017c9/fonttools-4.58.5-cp312-cp312-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:2af65836cf84cd7cb882d0b353bdc73643a497ce23b7414c26499bb8128ca1af", size = 4897011, upload-time = "2025-07-03T14:03:56.829Z" }, - { url = "https://files.pythonhosted.org/packages/a0/d6/fbb44cc85d4195fe54356658bd9f934328b4f74ae14addd90b4b5558b5c9/fonttools-4.58.5-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d2d79cfeb456bf438cb9fb87437634d4d6f228f27572ca5c5355e58472d5519d", size = 4942291, upload-time = "2025-07-03T14:03:59.204Z" }, - { url = "https://files.pythonhosted.org/packages/4d/c8/453f82e21aedf25cdc2ae619c03a73512398cec9bd8b6c3b1c571e0b6632/fonttools-4.58.5-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:0feac9dda9a48a7a342a593f35d50a5cee2dbd27a03a4c4a5192834a4853b204", size = 4886824, upload-time = "2025-07-03T14:04:01.517Z" }, - { url = "https://files.pythonhosted.org/packages/40/54/e9190001b8e22d123f78925b2f508c866d9d18531694b979277ad45d59b0/fonttools-4.58.5-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:36555230e168511e83ad8637232268649634b8dfff6ef58f46e1ebc057a041ad", size = 5038510, upload-time = "2025-07-03T14:04:03.917Z" }, - { url = "https://files.pythonhosted.org/packages/cf/9c/07cdad4774841a6304aabae939f8cbb9538cb1d8e97f5016b334da98e73a/fonttools-4.58.5-cp312-cp312-win32.whl", hash = "sha256:26ec05319353842d127bd02516eacb25b97ca83966e40e9ad6fab85cab0576f4", size = 2188459, upload-time = "2025-07-03T14:04:06.103Z" }, - { url = "https://files.pythonhosted.org/packages/0e/4d/1eaaad22781d55f49d1b184563842172aeb6a4fe53c029e503be81114314/fonttools-4.58.5-cp312-cp312-win_amd64.whl", hash = "sha256:778a632e538f82c1920579c0c01566a8f83dc24470c96efbf2fbac698907f569", size = 2236565, upload-time = "2025-07-03T14:04:08.27Z" }, - { url = "https://files.pythonhosted.org/packages/3a/ee/764dd8b99891f815241f449345863cfed9e546923d9cef463f37fd1d7168/fonttools-4.58.5-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:f4b6f1360da13cecc88c0d60716145b31e1015fbe6a59e32f73a4404e2ea92cf", size = 2745867, upload-time = "2025-07-03T14:04:10.586Z" }, - { url = "https://files.pythonhosted.org/packages/e2/23/8fef484c02fef55e226dfeac4339a015c5480b6a496064058491759ac71e/fonttools-4.58.5-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:4a036822e915692aa2c03e2decc60f49a8190f8111b639c947a4f4e5774d0d7a", size = 2317933, upload-time = "2025-07-03T14:04:12.335Z" }, - { url = "https://files.pythonhosted.org/packages/ab/47/f92b135864fa777e11ad68420bf89446c91a572fe2782745586f8e6aac0c/fonttools-4.58.5-cp313-cp313-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:a6d7709fcf4577b0f294ee6327088884ca95046e1eccde87c53bbba4d5008541", size = 4877844, upload-time = "2025-07-03T14:04:14.58Z" }, - { url = "https://files.pythonhosted.org/packages/3e/65/6c1a83511d8ac32411930495645edb3f8dfabebcb78f08cf6009ba2585ec/fonttools-4.58.5-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b9b5099ca99b79d6d67162778b1b1616fc0e1de02c1a178248a0da8d78a33852", size = 4940106, upload-time = "2025-07-03T14:04:16.563Z" }, - { url = "https://files.pythonhosted.org/packages/fa/90/df8eb77d6cf266cbbba01866a1349a3e9121e0a63002cf8d6754e994f755/fonttools-4.58.5-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:3f2c05a8d82a4d15aebfdb3506e90793aea16e0302cec385134dd960647a36c0", size = 4879458, upload-time = "2025-07-03T14:04:19.584Z" }, - { url = "https://files.pythonhosted.org/packages/26/b1/e32f8de51b7afcfea6ad62780da2fa73212c43a32cd8cafcc852189d7949/fonttools-4.58.5-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:79f0c4b1cc63839b61deeac646d8dba46f8ed40332c2ac1b9997281462c2e4ba", size = 5021917, upload-time = "2025-07-03T14:04:21.736Z" }, - { url = "https://files.pythonhosted.org/packages/89/72/578aa7fe32918dd763c62f447aaed672d665ee10e3eeb1725f4d6493fe96/fonttools-4.58.5-cp313-cp313-win32.whl", hash = "sha256:a1a9a2c462760976882131cbab7d63407813413a2d32cd699e86a1ff22bf7aa5", size = 2186827, upload-time = "2025-07-03T14:04:24.237Z" }, - { url = "https://files.pythonhosted.org/packages/71/a3/21e921b16cb9c029d3308e0cb79c9a937e9ff1fc1ee28c2419f0957b9e7c/fonttools-4.58.5-cp313-cp313-win_amd64.whl", hash = "sha256:bca61b14031a4b7dc87e14bf6ca34c275f8e4b9f7a37bc2fe746b532a924cf30", size = 2235706, upload-time = "2025-07-03T14:04:26.082Z" }, - { url = "https://files.pythonhosted.org/packages/d7/d4/1d85a1996b6188cd2713230e002d79a6f3a289bb17cef600cba385848b72/fonttools-4.58.5-py3-none-any.whl", hash = "sha256:e48a487ed24d9b611c5c4b25db1e50e69e9854ca2670e39a3486ffcd98863ec4", size = 1115318, upload-time = "2025-07-03T14:04:45.378Z" }, + { url = "https://files.pythonhosted.org/packages/1c/1f/3dcae710b7c4b56e79442b03db64f6c9f10c3348f7af40339dffcefb581e/fonttools-4.59.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:524133c1be38445c5c0575eacea42dbd44374b310b1ffc4b60ff01d881fabb96", size = 2761846, upload-time = "2025-07-16T12:03:33.267Z" }, + { url = "https://files.pythonhosted.org/packages/eb/0e/ae3a1884fa1549acac1191cc9ec039142f6ac0e9cbc139c2e6a3dab967da/fonttools-4.59.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:21e606b2d38fed938dde871c5736822dd6bda7a4631b92e509a1f5cd1b90c5df", size = 2332060, upload-time = "2025-07-16T12:03:36.472Z" }, + { url = "https://files.pythonhosted.org/packages/75/46/58bff92a7216829159ac7bdb1d05a48ad1b8ab8c539555f12d29fdecfdd4/fonttools-4.59.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e93df708c69a193fc7987192f94df250f83f3851fda49413f02ba5dded639482", size = 4852354, upload-time = "2025-07-16T12:03:39.102Z" }, + { url = "https://files.pythonhosted.org/packages/05/57/767e31e48861045d89691128bd81fd4c62b62150f9a17a666f731ce4f197/fonttools-4.59.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:62224a9bb85b4b66d1b46d45cbe43d71cbf8f527d332b177e3b96191ffbc1e64", size = 4781132, upload-time = "2025-07-16T12:03:41.415Z" }, + { url = "https://files.pythonhosted.org/packages/d7/78/adb5e9b0af5c6ce469e8b0e112f144eaa84b30dd72a486e9c778a9b03b31/fonttools-4.59.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:b8974b2a266b54c96709bd5e239979cddfd2dbceed331aa567ea1d7c4a2202db", size = 4832901, upload-time = "2025-07-16T12:03:43.115Z" }, + { url = "https://files.pythonhosted.org/packages/ac/92/bc3881097fbf3d56d112bec308c863c058e5d4c9c65f534e8ae58450ab8a/fonttools-4.59.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:209b75943d158f610b78320eacb5539aa9e920bee2c775445b2846c65d20e19d", size = 4940140, upload-time = "2025-07-16T12:03:44.781Z" }, + { url = "https://files.pythonhosted.org/packages/4a/54/39cdb23f0eeda2e07ae9cb189f2b6f41da89aabc682d3a387b3ff4a4ed29/fonttools-4.59.0-cp310-cp310-win32.whl", hash = "sha256:4c908a7036f0f3677f8afa577bcd973e3e20ddd2f7c42a33208d18bee95cdb6f", size = 2215890, upload-time = "2025-07-16T12:03:46.961Z" }, + { url = "https://files.pythonhosted.org/packages/d8/eb/f8388d9e19f95d8df2449febe9b1a38ddd758cfdb7d6de3a05198d785d61/fonttools-4.59.0-cp310-cp310-win_amd64.whl", hash = "sha256:8b4309a2775e4feee7356e63b163969a215d663399cce1b3d3b65e7ec2d9680e", size = 2260191, upload-time = "2025-07-16T12:03:48.908Z" }, + { url = "https://files.pythonhosted.org/packages/06/96/520733d9602fa1bf6592e5354c6721ac6fc9ea72bc98d112d0c38b967199/fonttools-4.59.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:841b2186adce48903c0fef235421ae21549020eca942c1da773ac380b056ab3c", size = 2782387, upload-time = "2025-07-16T12:03:51.424Z" }, + { url = "https://files.pythonhosted.org/packages/87/6a/170fce30b9bce69077d8eec9bea2cfd9f7995e8911c71be905e2eba6368b/fonttools-4.59.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:9bcc1e77fbd1609198966ded6b2a9897bd6c6bcbd2287a2fc7d75f1a254179c5", size = 2342194, upload-time = "2025-07-16T12:03:53.295Z" }, + { url = "https://files.pythonhosted.org/packages/b0/b6/7c8166c0066856f1408092f7968ac744060cf72ca53aec9036106f57eeca/fonttools-4.59.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:37c377f7cb2ab2eca8a0b319c68146d34a339792f9420fca6cd49cf28d370705", size = 5032333, upload-time = "2025-07-16T12:03:55.177Z" }, + { url = "https://files.pythonhosted.org/packages/eb/0c/707c5a19598eafcafd489b73c4cb1c142102d6197e872f531512d084aa76/fonttools-4.59.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:fa39475eaccb98f9199eccfda4298abaf35ae0caec676ffc25b3a5e224044464", size = 4974422, upload-time = "2025-07-16T12:03:57.406Z" }, + { url = "https://files.pythonhosted.org/packages/f6/e7/6d33737d9fe632a0f59289b6f9743a86d2a9d0673de2a0c38c0f54729822/fonttools-4.59.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d3972b13148c1d1fbc092b27678a33b3080d1ac0ca305742b0119b75f9e87e38", size = 5010631, upload-time = "2025-07-16T12:03:59.449Z" }, + { url = "https://files.pythonhosted.org/packages/63/e1/a4c3d089ab034a578820c8f2dff21ef60daf9668034a1e4fb38bb1cc3398/fonttools-4.59.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:a408c3c51358c89b29cfa5317cf11518b7ce5de1717abb55c5ae2d2921027de6", size = 5122198, upload-time = "2025-07-16T12:04:01.542Z" }, + { url = "https://files.pythonhosted.org/packages/09/77/ca82b9c12fa4de3c520b7760ee61787640cf3fde55ef1b0bfe1de38c8153/fonttools-4.59.0-cp311-cp311-win32.whl", hash = "sha256:6770d7da00f358183d8fd5c4615436189e4f683bdb6affb02cad3d221d7bb757", size = 2214216, upload-time = "2025-07-16T12:04:03.515Z" }, + { url = "https://files.pythonhosted.org/packages/ab/25/5aa7ca24b560b2f00f260acf32c4cf29d7aaf8656e159a336111c18bc345/fonttools-4.59.0-cp311-cp311-win_amd64.whl", hash = "sha256:84fc186980231a287b28560d3123bd255d3c6b6659828c642b4cf961e2b923d0", size = 2261879, upload-time = "2025-07-16T12:04:05.015Z" }, + { url = "https://files.pythonhosted.org/packages/e2/77/b1c8af22f4265e951cd2e5535dbef8859efcef4fb8dee742d368c967cddb/fonttools-4.59.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:f9b3a78f69dcbd803cf2fb3f972779875b244c1115481dfbdd567b2c22b31f6b", size = 2767562, upload-time = "2025-07-16T12:04:06.895Z" }, + { url = "https://files.pythonhosted.org/packages/ff/5a/aeb975699588176bb357e8b398dfd27e5d3a2230d92b81ab8cbb6187358d/fonttools-4.59.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:57bb7e26928573ee7c6504f54c05860d867fd35e675769f3ce01b52af38d48e2", size = 2335168, upload-time = "2025-07-16T12:04:08.695Z" }, + { url = "https://files.pythonhosted.org/packages/54/97/c6101a7e60ae138c4ef75b22434373a0da50a707dad523dd19a4889315bf/fonttools-4.59.0-cp312-cp312-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:4536f2695fe5c1ffb528d84a35a7d3967e5558d2af58b4775e7ab1449d65767b", size = 4909850, upload-time = "2025-07-16T12:04:10.761Z" }, + { url = "https://files.pythonhosted.org/packages/bd/6c/fa4d18d641054f7bff878cbea14aa9433f292b9057cb1700d8e91a4d5f4f/fonttools-4.59.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:885bde7d26e5b40e15c47bd5def48b38cbd50830a65f98122a8fb90962af7cd1", size = 4955131, upload-time = "2025-07-16T12:04:12.846Z" }, + { url = "https://files.pythonhosted.org/packages/20/5c/331947fc1377deb928a69bde49f9003364f5115e5cbe351eea99e39412a2/fonttools-4.59.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6801aeddb6acb2c42eafa45bc1cb98ba236871ae6f33f31e984670b749a8e58e", size = 4899667, upload-time = "2025-07-16T12:04:14.558Z" }, + { url = "https://files.pythonhosted.org/packages/8a/46/b66469dfa26b8ff0baa7654b2cc7851206c6d57fe3abdabbaab22079a119/fonttools-4.59.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:31003b6a10f70742a63126b80863ab48175fb8272a18ca0846c0482968f0588e", size = 5051349, upload-time = "2025-07-16T12:04:16.388Z" }, + { url = "https://files.pythonhosted.org/packages/2e/05/ebfb6b1f3a4328ab69787d106a7d92ccde77ce66e98659df0f9e3f28d93d/fonttools-4.59.0-cp312-cp312-win32.whl", hash = "sha256:fbce6dae41b692a5973d0f2158f782b9ad05babc2c2019a970a1094a23909b1b", size = 2201315, upload-time = "2025-07-16T12:04:18.557Z" }, + { url = "https://files.pythonhosted.org/packages/09/45/d2bdc9ea20bbadec1016fd0db45696d573d7a26d95ab5174ffcb6d74340b/fonttools-4.59.0-cp312-cp312-win_amd64.whl", hash = "sha256:332bfe685d1ac58ca8d62b8d6c71c2e52a6c64bc218dc8f7825c9ea51385aa01", size = 2249408, upload-time = "2025-07-16T12:04:20.489Z" }, + { url = "https://files.pythonhosted.org/packages/f3/bb/390990e7c457d377b00890d9f96a3ca13ae2517efafb6609c1756e213ba4/fonttools-4.59.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:78813b49d749e1bb4db1c57f2d4d7e6db22c253cb0a86ad819f5dc197710d4b2", size = 2758704, upload-time = "2025-07-16T12:04:22.217Z" }, + { url = "https://files.pythonhosted.org/packages/df/6f/d730d9fcc9b410a11597092bd2eb9ca53e5438c6cb90e4b3047ce1b723e9/fonttools-4.59.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:401b1941ce37e78b8fd119b419b617277c65ae9417742a63282257434fd68ea2", size = 2330764, upload-time = "2025-07-16T12:04:23.985Z" }, + { url = "https://files.pythonhosted.org/packages/75/b4/b96bb66f6f8cc4669de44a158099b249c8159231d254ab6b092909388be5/fonttools-4.59.0-cp313-cp313-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:efd7e6660674e234e29937bc1481dceb7e0336bfae75b856b4fb272b5093c5d4", size = 4890699, upload-time = "2025-07-16T12:04:25.664Z" }, + { url = "https://files.pythonhosted.org/packages/b5/57/7969af50b26408be12baa317c6147588db5b38af2759e6df94554dbc5fdb/fonttools-4.59.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:51ab1ff33c19e336c02dee1e9fd1abd974a4ca3d8f7eef2a104d0816a241ce97", size = 4952934, upload-time = "2025-07-16T12:04:27.733Z" }, + { url = "https://files.pythonhosted.org/packages/d6/e2/dd968053b6cf1f46c904f5bd409b22341477c017d8201619a265e50762d3/fonttools-4.59.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a9bf8adc9e1f3012edc8f09b08336272aec0c55bc677422273e21280db748f7c", size = 4892319, upload-time = "2025-07-16T12:04:30.074Z" }, + { url = "https://files.pythonhosted.org/packages/6b/95/a59810d8eda09129f83467a4e58f84205dc6994ebaeb9815406363e07250/fonttools-4.59.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:37e01c6ec0c98599778c2e688350d624fa4770fbd6144551bd5e032f1199171c", size = 5034753, upload-time = "2025-07-16T12:04:32.292Z" }, + { url = "https://files.pythonhosted.org/packages/a5/84/51a69ee89ff8d1fea0c6997e946657e25a3f08513de8435fe124929f3eef/fonttools-4.59.0-cp313-cp313-win32.whl", hash = "sha256:70d6b3ceaa9cc5a6ac52884f3b3d9544e8e231e95b23f138bdb78e6d4dc0eae3", size = 2199688, upload-time = "2025-07-16T12:04:34.444Z" }, + { url = "https://files.pythonhosted.org/packages/a0/ee/f626cd372932d828508137a79b85167fdcf3adab2e3bed433f295c596c6a/fonttools-4.59.0-cp313-cp313-win_amd64.whl", hash = "sha256:26731739daa23b872643f0e4072d5939960237d540c35c14e6a06d47d71ca8fe", size = 2248560, upload-time = "2025-07-16T12:04:36.034Z" }, + { url = "https://files.pythonhosted.org/packages/d0/9c/df0ef2c51845a13043e5088f7bb988ca6cd5bb82d5d4203d6a158aa58cf2/fonttools-4.59.0-py3-none-any.whl", hash = "sha256:241313683afd3baacb32a6bd124d0bce7404bc5280e12e291bae1b9bba28711d", size = 1128050, upload-time = "2025-07-16T12:04:52.687Z" }, ] [[package]] @@ -1349,18 +1429,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/44/4b/e0cfc1a6f17e990f3e64b7d941ddc4acdc7b19d6edd51abf495f32b1a9e4/fsspec-2025.3.2-py3-none-any.whl", hash = "sha256:2daf8dc3d1dfa65b6aa37748d112773a7a08416f6c70d96b264c96476ecaf711", size = 194435, upload-time = "2025-03-31T15:27:07.028Z" }, ] -[[package]] -name = "ghp-import" -version = "2.1.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "python-dateutil" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/d9/29/d40217cbe2f6b1359e00c6c307bb3fc876ba74068cbab3dde77f03ca0dc4/ghp-import-2.1.0.tar.gz", hash = "sha256:9c535c4c61193c2df8871222567d7fd7e5014d835f97dc7b7439069e2413d343", size = 10943, upload-time = "2022-05-02T15:47:16.11Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/f7/ec/67fbef5d497f86283db54c22eec6f6140243aae73265799baaaa19cd17fb/ghp_import-2.1.0-py3-none-any.whl", hash = "sha256:8337dd7b50877f163d4c0289bc1f1c7f127550241988d568c1db512c4324a619", size = 11034, upload-time = "2022-05-02T15:47:14.552Z" }, -] - [[package]] name = "gitdb" version = "4.0.12" @@ -1375,14 +1443,14 @@ wheels = [ [[package]] name = "gitpython" -version = "3.1.44" +version = "3.1.45" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "gitdb" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/c0/89/37df0b71473153574a5cdef8f242de422a0f5d26d7a9e231e6f169b4ad14/gitpython-3.1.44.tar.gz", hash = "sha256:c87e30b26253bf5418b01b0660f818967f3c503193838337fe5e573331249269", size = 214196, upload-time = "2025-01-02T07:32:43.59Z" } +sdist = { url = "https://files.pythonhosted.org/packages/9a/c8/dd58967d119baab745caec2f9d853297cec1989ec1d63f677d3880632b88/gitpython-3.1.45.tar.gz", hash = "sha256:85b0ee964ceddf211c41b9f27a49086010a190fd8132a24e21f362a4b36a791c", size = 215076, upload-time = "2025-07-24T03:45:54.871Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/1d/9a/4114a9057db2f1462d5c8f8390ab7383925fe1ac012eaa42402ad65c2963/GitPython-3.1.44-py3-none-any.whl", hash = "sha256:9e0e10cda9bed1ee64bc9a6de50e7e38a9c9943241cd7f585f6df3ed28011110", size = 207599, upload-time = "2025-01-02T07:32:40.731Z" }, + { url = "https://files.pythonhosted.org/packages/01/61/d4b89fec821f72385526e1b9d9a3a0385dda4a72b206d28049e2c7cd39b8/gitpython-3.1.45-py3-none-any.whl", hash = "sha256:8908cb2e02fb3b93b7eb0f2827125cb699869470432cc885f019b8fd0fccff77", size = 208168, upload-time = "2025-07-24T03:45:52.517Z" }, ] [[package]] @@ -1433,7 +1501,7 @@ grpc = [ [[package]] name = "google-api-python-client" -version = "2.176.0" +version = "2.177.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "google-api-core" }, @@ -1442,9 +1510,9 @@ dependencies = [ { name = "httplib2" }, { name = "uritemplate" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/3e/38/daf70faf6d05556d382bac640bc6765f09fcfb9dfb51ac4a595d3453a2a9/google_api_python_client-2.176.0.tar.gz", hash = "sha256:2b451cdd7fd10faeb5dd20f7d992f185e1e8f4124c35f2cdcc77c843139a4cf1", size = 13154773, upload-time = "2025-07-08T18:07:10.354Z" } +sdist = { url = "https://files.pythonhosted.org/packages/7a/75/a89cad519fa8910132e3b08571d0e682ae1163643da6f963f1930f3dc788/google_api_python_client-2.177.0.tar.gz", hash = "sha256:9ffd2b57d68f5afa7e6ac64e2c440534eaa056cbb394812a62ff94723c31b50e", size = 13184405, upload-time = "2025-07-23T16:22:46.321Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/b1/2c/758f415a19a12c3c6d06902794b0dd4c521d912a59b98ab752bba48812df/google_api_python_client-2.176.0-py3-none-any.whl", hash = "sha256:e22239797f1d085341e12cd924591fc65c56d08e0af02549d7606092e6296510", size = 13678445, upload-time = "2025-07-08T18:07:07.799Z" }, + { url = "https://files.pythonhosted.org/packages/47/f5/121248e18ca605a11720c81ae1b52a5a8cb690af9f01887c56de23cd9a5a/google_api_python_client-2.177.0-py3-none-any.whl", hash = "sha256:f2f50f11105ab883eb9b6cf38ec54ea5fd4b429249f76444bec90deba5be79b3", size = 13709470, upload-time = "2025-07-23T16:22:44.081Z" }, ] [[package]] @@ -1557,50 +1625,50 @@ wheels = [ [[package]] name = "grpcio" -version = "1.73.1" +version = "1.74.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/79/e8/b43b851537da2e2f03fa8be1aef207e5cbfb1a2e014fbb6b40d24c177cd3/grpcio-1.73.1.tar.gz", hash = "sha256:7fce2cd1c0c1116cf3850564ebfc3264fba75d3c74a7414373f1238ea365ef87", size = 12730355, upload-time = "2025-06-26T01:53:24.622Z" } +sdist = { url = "https://files.pythonhosted.org/packages/38/b4/35feb8f7cab7239c5b94bd2db71abb3d6adb5f335ad8f131abb6060840b6/grpcio-1.74.0.tar.gz", hash = "sha256:80d1f4fbb35b0742d3e3d3bb654b7381cd5f015f8497279a1e9c21ba623e01b1", size = 12756048, upload-time = "2025-07-24T18:54:23.039Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/8f/51/a5748ab2773d893d099b92653039672f7e26dd35741020972b84d604066f/grpcio-1.73.1-cp310-cp310-linux_armv7l.whl", hash = "sha256:2d70f4ddd0a823436c2624640570ed6097e40935c9194482475fe8e3d9754d55", size = 5365087, upload-time = "2025-06-26T01:51:44.541Z" }, - { url = "https://files.pythonhosted.org/packages/ae/12/c5ee1a5dfe93dbc2eaa42a219e2bf887250b52e2e2ee5c036c4695f2769c/grpcio-1.73.1-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:3841a8a5a66830261ab6a3c2a3dc539ed84e4ab019165f77b3eeb9f0ba621f26", size = 10608921, upload-time = "2025-06-26T01:51:48.111Z" }, - { url = "https://files.pythonhosted.org/packages/c4/6d/b0c6a8120f02b7d15c5accda6bfc43bc92be70ada3af3ba6d8e077c00374/grpcio-1.73.1-cp310-cp310-manylinux_2_17_aarch64.whl", hash = "sha256:628c30f8e77e0258ab788750ec92059fc3d6628590fb4b7cea8c102503623ed7", size = 5803221, upload-time = "2025-06-26T01:51:50.486Z" }, - { url = "https://files.pythonhosted.org/packages/a6/7a/3c886d9f1c1e416ae81f7f9c7d1995ae72cd64712d29dab74a6bafacb2d2/grpcio-1.73.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:67a0468256c9db6d5ecb1fde4bf409d016f42cef649323f0a08a72f352d1358b", size = 6444603, upload-time = "2025-06-26T01:51:52.203Z" }, - { url = "https://files.pythonhosted.org/packages/42/07/f143a2ff534982c9caa1febcad1c1073cdec732f6ac7545d85555a900a7e/grpcio-1.73.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:68b84d65bbdebd5926eb5c53b0b9ec3b3f83408a30e4c20c373c5337b4219ec5", size = 6040969, upload-time = "2025-06-26T01:51:55.028Z" }, - { url = "https://files.pythonhosted.org/packages/fb/0f/523131b7c9196d0718e7b2dac0310eb307b4117bdbfef62382e760f7e8bb/grpcio-1.73.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:c54796ca22b8349cc594d18b01099e39f2b7ffb586ad83217655781a350ce4da", size = 6132201, upload-time = "2025-06-26T01:51:56.867Z" }, - { url = "https://files.pythonhosted.org/packages/ad/18/010a055410eef1d3a7a1e477ec9d93b091ac664ad93e9c5f56d6cc04bdee/grpcio-1.73.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:75fc8e543962ece2f7ecd32ada2d44c0c8570ae73ec92869f9af8b944863116d", size = 6774718, upload-time = "2025-06-26T01:51:58.338Z" }, - { url = "https://files.pythonhosted.org/packages/16/11/452bfc1ab39d8ee748837ab8ee56beeae0290861052948785c2c445fb44b/grpcio-1.73.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:6a6037891cd2b1dd1406b388660522e1565ed340b1fea2955b0234bdd941a862", size = 6304362, upload-time = "2025-06-26T01:51:59.802Z" }, - { url = "https://files.pythonhosted.org/packages/1e/1c/c75ceee626465721e5cb040cf4b271eff817aa97388948660884cb7adffa/grpcio-1.73.1-cp310-cp310-win32.whl", hash = "sha256:cce7265b9617168c2d08ae570fcc2af4eaf72e84f8c710ca657cc546115263af", size = 3679036, upload-time = "2025-06-26T01:52:01.817Z" }, - { url = "https://files.pythonhosted.org/packages/62/2e/42cb31b6cbd671a7b3dbd97ef33f59088cf60e3cf2141368282e26fafe79/grpcio-1.73.1-cp310-cp310-win_amd64.whl", hash = "sha256:6a2b372e65fad38842050943f42ce8fee00c6f2e8ea4f7754ba7478d26a356ee", size = 4340208, upload-time = "2025-06-26T01:52:03.674Z" }, - { url = "https://files.pythonhosted.org/packages/e4/41/921565815e871d84043e73e2c0e748f0318dab6fa9be872cd042778f14a9/grpcio-1.73.1-cp311-cp311-linux_armv7l.whl", hash = "sha256:ba2cea9f7ae4bc21f42015f0ec98f69ae4179848ad744b210e7685112fa507a1", size = 5363853, upload-time = "2025-06-26T01:52:05.5Z" }, - { url = "https://files.pythonhosted.org/packages/b0/cc/9c51109c71d068e4d474becf5f5d43c9d63038cec1b74112978000fa72f4/grpcio-1.73.1-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:d74c3f4f37b79e746271aa6cdb3a1d7e4432aea38735542b23adcabaaee0c097", size = 10621476, upload-time = "2025-06-26T01:52:07.211Z" }, - { url = "https://files.pythonhosted.org/packages/8f/d3/33d738a06f6dbd4943f4d377468f8299941a7c8c6ac8a385e4cef4dd3c93/grpcio-1.73.1-cp311-cp311-manylinux_2_17_aarch64.whl", hash = "sha256:5b9b1805a7d61c9e90541cbe8dfe0a593dfc8c5c3a43fe623701b6a01b01d710", size = 5807903, upload-time = "2025-06-26T01:52:09.466Z" }, - { url = "https://files.pythonhosted.org/packages/5d/47/36deacd3c967b74e0265f4c608983e897d8bb3254b920f8eafdf60e4ad7e/grpcio-1.73.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b3215f69a0670a8cfa2ab53236d9e8026bfb7ead5d4baabe7d7dc11d30fda967", size = 6448172, upload-time = "2025-06-26T01:52:11.459Z" }, - { url = "https://files.pythonhosted.org/packages/0e/64/12d6dc446021684ee1428ea56a3f3712048a18beeadbdefa06e6f8814a6e/grpcio-1.73.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc5eccfd9577a5dc7d5612b2ba90cca4ad14c6d949216c68585fdec9848befb1", size = 6044226, upload-time = "2025-06-26T01:52:12.987Z" }, - { url = "https://files.pythonhosted.org/packages/72/4b/6bae2d88a006000f1152d2c9c10ffd41d0131ca1198e0b661101c2e30ab9/grpcio-1.73.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:dc7d7fd520614fce2e6455ba89791458020a39716951c7c07694f9dbae28e9c0", size = 6135690, upload-time = "2025-06-26T01:52:14.92Z" }, - { url = "https://files.pythonhosted.org/packages/38/64/02c83b5076510784d1305025e93e0d78f53bb6a0213c8c84cfe8a00c5c48/grpcio-1.73.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:105492124828911f85127e4825d1c1234b032cb9d238567876b5515d01151379", size = 6775867, upload-time = "2025-06-26T01:52:16.446Z" }, - { url = "https://files.pythonhosted.org/packages/42/72/a13ff7ba6c68ccffa35dacdc06373a76c0008fd75777cba84d7491956620/grpcio-1.73.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:610e19b04f452ba6f402ac9aa94eb3d21fbc94553368008af634812c4a85a99e", size = 6308380, upload-time = "2025-06-26T01:52:18.417Z" }, - { url = "https://files.pythonhosted.org/packages/65/ae/d29d948021faa0070ec33245c1ae354e2aefabd97e6a9a7b6dcf0fb8ef6b/grpcio-1.73.1-cp311-cp311-win32.whl", hash = "sha256:d60588ab6ba0ac753761ee0e5b30a29398306401bfbceffe7d68ebb21193f9d4", size = 3679139, upload-time = "2025-06-26T01:52:20.171Z" }, - { url = "https://files.pythonhosted.org/packages/af/66/e1bbb0c95ea222947f0829b3db7692c59b59bcc531df84442e413fa983d9/grpcio-1.73.1-cp311-cp311-win_amd64.whl", hash = "sha256:6957025a4608bb0a5ff42abd75bfbb2ed99eda29d5992ef31d691ab54b753643", size = 4342558, upload-time = "2025-06-26T01:52:22.137Z" }, - { url = "https://files.pythonhosted.org/packages/b8/41/456caf570c55d5ac26f4c1f2db1f2ac1467d5bf3bcd660cba3e0a25b195f/grpcio-1.73.1-cp312-cp312-linux_armv7l.whl", hash = "sha256:921b25618b084e75d424a9f8e6403bfeb7abef074bb6c3174701e0f2542debcf", size = 5334621, upload-time = "2025-06-26T01:52:23.602Z" }, - { url = "https://files.pythonhosted.org/packages/2a/c2/9a15e179e49f235bb5e63b01590658c03747a43c9775e20c4e13ca04f4c4/grpcio-1.73.1-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:277b426a0ed341e8447fbf6c1d6b68c952adddf585ea4685aa563de0f03df887", size = 10601131, upload-time = "2025-06-26T01:52:25.691Z" }, - { url = "https://files.pythonhosted.org/packages/0c/1d/1d39e90ef6348a0964caa7c5c4d05f3bae2c51ab429eb7d2e21198ac9b6d/grpcio-1.73.1-cp312-cp312-manylinux_2_17_aarch64.whl", hash = "sha256:96c112333309493c10e118d92f04594f9055774757f5d101b39f8150f8c25582", size = 5759268, upload-time = "2025-06-26T01:52:27.631Z" }, - { url = "https://files.pythonhosted.org/packages/8a/2b/2dfe9ae43de75616177bc576df4c36d6401e0959833b2e5b2d58d50c1f6b/grpcio-1.73.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f48e862aed925ae987eb7084409a80985de75243389dc9d9c271dd711e589918", size = 6409791, upload-time = "2025-06-26T01:52:29.711Z" }, - { url = "https://files.pythonhosted.org/packages/6e/66/e8fe779b23b5a26d1b6949e5c70bc0a5fd08f61a6ec5ac7760d589229511/grpcio-1.73.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:83a6c2cce218e28f5040429835fa34a29319071079e3169f9543c3fbeff166d2", size = 6003728, upload-time = "2025-06-26T01:52:31.352Z" }, - { url = "https://files.pythonhosted.org/packages/a9/39/57a18fcef567784108c4fc3f5441cb9938ae5a51378505aafe81e8e15ecc/grpcio-1.73.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:65b0458a10b100d815a8426b1442bd17001fdb77ea13665b2f7dc9e8587fdc6b", size = 6103364, upload-time = "2025-06-26T01:52:33.028Z" }, - { url = "https://files.pythonhosted.org/packages/c5/46/28919d2aa038712fc399d02fa83e998abd8c1f46c2680c5689deca06d1b2/grpcio-1.73.1-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:0a9f3ea8dce9eae9d7cb36827200133a72b37a63896e0e61a9d5ec7d61a59ab1", size = 6749194, upload-time = "2025-06-26T01:52:34.734Z" }, - { url = "https://files.pythonhosted.org/packages/3d/56/3898526f1fad588c5d19a29ea0a3a4996fb4fa7d7c02dc1be0c9fd188b62/grpcio-1.73.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:de18769aea47f18e782bf6819a37c1c528914bfd5683b8782b9da356506190c8", size = 6283902, upload-time = "2025-06-26T01:52:36.503Z" }, - { url = "https://files.pythonhosted.org/packages/dc/64/18b77b89c5870d8ea91818feb0c3ffb5b31b48d1b0ee3e0f0d539730fea3/grpcio-1.73.1-cp312-cp312-win32.whl", hash = "sha256:24e06a5319e33041e322d32c62b1e728f18ab8c9dbc91729a3d9f9e3ed336642", size = 3668687, upload-time = "2025-06-26T01:52:38.678Z" }, - { url = "https://files.pythonhosted.org/packages/3c/52/302448ca6e52f2a77166b2e2ed75f5d08feca4f2145faf75cb768cccb25b/grpcio-1.73.1-cp312-cp312-win_amd64.whl", hash = "sha256:303c8135d8ab176f8038c14cc10d698ae1db9c480f2b2823f7a987aa2a4c5646", size = 4334887, upload-time = "2025-06-26T01:52:40.743Z" }, - { url = "https://files.pythonhosted.org/packages/37/bf/4ca20d1acbefabcaba633ab17f4244cbbe8eca877df01517207bd6655914/grpcio-1.73.1-cp313-cp313-linux_armv7l.whl", hash = "sha256:b310824ab5092cf74750ebd8a8a8981c1810cb2b363210e70d06ef37ad80d4f9", size = 5335615, upload-time = "2025-06-26T01:52:42.896Z" }, - { url = "https://files.pythonhosted.org/packages/75/ed/45c345f284abec5d4f6d77cbca9c52c39b554397eb7de7d2fcf440bcd049/grpcio-1.73.1-cp313-cp313-macosx_11_0_universal2.whl", hash = "sha256:8f5a6df3fba31a3485096ac85b2e34b9666ffb0590df0cd044f58694e6a1f6b5", size = 10595497, upload-time = "2025-06-26T01:52:44.695Z" }, - { url = "https://files.pythonhosted.org/packages/a4/75/bff2c2728018f546d812b755455014bc718f8cdcbf5c84f1f6e5494443a8/grpcio-1.73.1-cp313-cp313-manylinux_2_17_aarch64.whl", hash = "sha256:052e28fe9c41357da42250a91926a3e2f74c046575c070b69659467ca5aa976b", size = 5765321, upload-time = "2025-06-26T01:52:46.871Z" }, - { url = "https://files.pythonhosted.org/packages/70/3b/14e43158d3b81a38251b1d231dfb45a9b492d872102a919fbf7ba4ac20cd/grpcio-1.73.1-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1c0bf15f629b1497436596b1cbddddfa3234273490229ca29561209778ebe182", size = 6415436, upload-time = "2025-06-26T01:52:49.134Z" }, - { url = "https://files.pythonhosted.org/packages/e5/3f/81d9650ca40b54338336fd360f36773be8cb6c07c036e751d8996eb96598/grpcio-1.73.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0ab860d5bfa788c5a021fba264802e2593688cd965d1374d31d2b1a34cacd854", size = 6007012, upload-time = "2025-06-26T01:52:51.076Z" }, - { url = "https://files.pythonhosted.org/packages/55/f4/59edf5af68d684d0f4f7ad9462a418ac517201c238551529098c9aa28cb0/grpcio-1.73.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:ad1d958c31cc91ab050bd8a91355480b8e0683e21176522bacea225ce51163f2", size = 6105209, upload-time = "2025-06-26T01:52:52.773Z" }, - { url = "https://files.pythonhosted.org/packages/e4/a8/700d034d5d0786a5ba14bfa9ce974ed4c976936c2748c2bd87aa50f69b36/grpcio-1.73.1-cp313-cp313-musllinux_1_1_i686.whl", hash = "sha256:f43ffb3bd415c57224c7427bfb9e6c46a0b6e998754bfa0d00f408e1873dcbb5", size = 6753655, upload-time = "2025-06-26T01:52:55.064Z" }, - { url = "https://files.pythonhosted.org/packages/1f/29/efbd4ac837c23bc48e34bbaf32bd429f0dc9ad7f80721cdb4622144c118c/grpcio-1.73.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:686231cdd03a8a8055f798b2b54b19428cdf18fa1549bee92249b43607c42668", size = 6287288, upload-time = "2025-06-26T01:52:57.33Z" }, - { url = "https://files.pythonhosted.org/packages/d8/61/c6045d2ce16624bbe18b5d169c1a5ce4d6c3a47bc9d0e5c4fa6a50ed1239/grpcio-1.73.1-cp313-cp313-win32.whl", hash = "sha256:89018866a096e2ce21e05eabed1567479713ebe57b1db7cbb0f1e3b896793ba4", size = 3668151, upload-time = "2025-06-26T01:52:59.405Z" }, - { url = "https://files.pythonhosted.org/packages/c2/d7/77ac689216daee10de318db5aa1b88d159432dc76a130948a56b3aa671a2/grpcio-1.73.1-cp313-cp313-win_amd64.whl", hash = "sha256:4a68f8c9966b94dff693670a5cf2b54888a48a5011c5d9ce2295a1a1465ee84f", size = 4335747, upload-time = "2025-06-26T01:53:01.233Z" }, + { url = "https://files.pythonhosted.org/packages/66/54/68e51a90797ad7afc5b0a7881426c337f6a9168ebab73c3210b76aa7c90d/grpcio-1.74.0-cp310-cp310-linux_armv7l.whl", hash = "sha256:85bd5cdf4ed7b2d6438871adf6afff9af7096486fcf51818a81b77ef4dd30907", size = 5481935, upload-time = "2025-07-24T18:52:43.756Z" }, + { url = "https://files.pythonhosted.org/packages/32/2a/af817c7e9843929e93e54d09c9aee2555c2e8d81b93102a9426b36e91833/grpcio-1.74.0-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:68c8ebcca945efff9d86d8d6d7bfb0841cf0071024417e2d7f45c5e46b5b08eb", size = 10986796, upload-time = "2025-07-24T18:52:47.219Z" }, + { url = "https://files.pythonhosted.org/packages/d5/94/d67756638d7bb07750b07d0826c68e414124574b53840ba1ff777abcd388/grpcio-1.74.0-cp310-cp310-manylinux_2_17_aarch64.whl", hash = "sha256:e154d230dc1bbbd78ad2fdc3039fa50ad7ffcf438e4eb2fa30bce223a70c7486", size = 5983663, upload-time = "2025-07-24T18:52:49.463Z" }, + { url = "https://files.pythonhosted.org/packages/35/f5/c5e4853bf42148fea8532d49e919426585b73eafcf379a712934652a8de9/grpcio-1.74.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e8978003816c7b9eabe217f88c78bc26adc8f9304bf6a594b02e5a49b2ef9c11", size = 6653765, upload-time = "2025-07-24T18:52:51.094Z" }, + { url = "https://files.pythonhosted.org/packages/fd/75/a1991dd64b331d199935e096cc9daa3415ee5ccbe9f909aa48eded7bba34/grpcio-1.74.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c3d7bd6e3929fd2ea7fbc3f562e4987229ead70c9ae5f01501a46701e08f1ad9", size = 6215172, upload-time = "2025-07-24T18:52:53.282Z" }, + { url = "https://files.pythonhosted.org/packages/01/a4/7cef3dbb3b073d0ce34fd507efc44ac4c9442a0ef9fba4fb3f5c551efef5/grpcio-1.74.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:136b53c91ac1d02c8c24201bfdeb56f8b3ac3278668cbb8e0ba49c88069e1bdc", size = 6329142, upload-time = "2025-07-24T18:52:54.927Z" }, + { url = "https://files.pythonhosted.org/packages/bf/d3/587920f882b46e835ad96014087054655312400e2f1f1446419e5179a383/grpcio-1.74.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:fe0f540750a13fd8e5da4b3eaba91a785eea8dca5ccd2bc2ffe978caa403090e", size = 7018632, upload-time = "2025-07-24T18:52:56.523Z" }, + { url = "https://files.pythonhosted.org/packages/1f/95/c70a3b15a0bc83334b507e3d2ae20ee8fa38d419b8758a4d838f5c2a7d32/grpcio-1.74.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:4e4181bfc24413d1e3a37a0b7889bea68d973d4b45dd2bc68bb766c140718f82", size = 6509641, upload-time = "2025-07-24T18:52:58.495Z" }, + { url = "https://files.pythonhosted.org/packages/4b/06/2e7042d06247d668ae69ea6998eca33f475fd4e2855f94dcb2aa5daef334/grpcio-1.74.0-cp310-cp310-win32.whl", hash = "sha256:1733969040989f7acc3d94c22f55b4a9501a30f6aaacdbccfaba0a3ffb255ab7", size = 3817478, upload-time = "2025-07-24T18:53:00.128Z" }, + { url = "https://files.pythonhosted.org/packages/93/20/e02b9dcca3ee91124060b65bbf5b8e1af80b3b76a30f694b44b964ab4d71/grpcio-1.74.0-cp310-cp310-win_amd64.whl", hash = "sha256:9e912d3c993a29df6c627459af58975b2e5c897d93287939b9d5065f000249b5", size = 4493971, upload-time = "2025-07-24T18:53:02.068Z" }, + { url = "https://files.pythonhosted.org/packages/e7/77/b2f06db9f240a5abeddd23a0e49eae2b6ac54d85f0e5267784ce02269c3b/grpcio-1.74.0-cp311-cp311-linux_armv7l.whl", hash = "sha256:69e1a8180868a2576f02356565f16635b99088da7df3d45aaa7e24e73a054e31", size = 5487368, upload-time = "2025-07-24T18:53:03.548Z" }, + { url = "https://files.pythonhosted.org/packages/48/99/0ac8678a819c28d9a370a663007581744a9f2a844e32f0fa95e1ddda5b9e/grpcio-1.74.0-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:8efe72fde5500f47aca1ef59495cb59c885afe04ac89dd11d810f2de87d935d4", size = 10999804, upload-time = "2025-07-24T18:53:05.095Z" }, + { url = "https://files.pythonhosted.org/packages/45/c6/a2d586300d9e14ad72e8dc211c7aecb45fe9846a51e558c5bca0c9102c7f/grpcio-1.74.0-cp311-cp311-manylinux_2_17_aarch64.whl", hash = "sha256:a8f0302f9ac4e9923f98d8e243939a6fb627cd048f5cd38595c97e38020dffce", size = 5987667, upload-time = "2025-07-24T18:53:07.157Z" }, + { url = "https://files.pythonhosted.org/packages/c9/57/5f338bf56a7f22584e68d669632e521f0de460bb3749d54533fc3d0fca4f/grpcio-1.74.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2f609a39f62a6f6f05c7512746798282546358a37ea93c1fcbadf8b2fed162e3", size = 6655612, upload-time = "2025-07-24T18:53:09.244Z" }, + { url = "https://files.pythonhosted.org/packages/82/ea/a4820c4c44c8b35b1903a6c72a5bdccec92d0840cf5c858c498c66786ba5/grpcio-1.74.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c98e0b7434a7fa4e3e63f250456eaef52499fba5ae661c58cc5b5477d11e7182", size = 6219544, upload-time = "2025-07-24T18:53:11.221Z" }, + { url = "https://files.pythonhosted.org/packages/a4/17/0537630a921365928f5abb6d14c79ba4dcb3e662e0dbeede8af4138d9dcf/grpcio-1.74.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:662456c4513e298db6d7bd9c3b8df6f75f8752f0ba01fb653e252ed4a59b5a5d", size = 6334863, upload-time = "2025-07-24T18:53:12.925Z" }, + { url = "https://files.pythonhosted.org/packages/e2/a6/85ca6cb9af3f13e1320d0a806658dca432ff88149d5972df1f7b51e87127/grpcio-1.74.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:3d14e3c4d65e19d8430a4e28ceb71ace4728776fd6c3ce34016947474479683f", size = 7019320, upload-time = "2025-07-24T18:53:15.002Z" }, + { url = "https://files.pythonhosted.org/packages/4f/a7/fe2beab970a1e25d2eff108b3cf4f7d9a53c185106377a3d1989216eba45/grpcio-1.74.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:1bf949792cee20d2078323a9b02bacbbae002b9e3b9e2433f2741c15bdeba1c4", size = 6514228, upload-time = "2025-07-24T18:53:16.999Z" }, + { url = "https://files.pythonhosted.org/packages/6a/c2/2f9c945c8a248cebc3ccda1b7a1bf1775b9d7d59e444dbb18c0014e23da6/grpcio-1.74.0-cp311-cp311-win32.whl", hash = "sha256:55b453812fa7c7ce2f5c88be3018fb4a490519b6ce80788d5913f3f9d7da8c7b", size = 3817216, upload-time = "2025-07-24T18:53:20.564Z" }, + { url = "https://files.pythonhosted.org/packages/ff/d1/a9cf9c94b55becda2199299a12b9feef0c79946b0d9d34c989de6d12d05d/grpcio-1.74.0-cp311-cp311-win_amd64.whl", hash = "sha256:86ad489db097141a907c559988c29718719aa3e13370d40e20506f11b4de0d11", size = 4495380, upload-time = "2025-07-24T18:53:22.058Z" }, + { url = "https://files.pythonhosted.org/packages/4c/5d/e504d5d5c4469823504f65687d6c8fb97b7f7bf0b34873b7598f1df24630/grpcio-1.74.0-cp312-cp312-linux_armv7l.whl", hash = "sha256:8533e6e9c5bd630ca98062e3a1326249e6ada07d05acf191a77bc33f8948f3d8", size = 5445551, upload-time = "2025-07-24T18:53:23.641Z" }, + { url = "https://files.pythonhosted.org/packages/43/01/730e37056f96f2f6ce9f17999af1556df62ee8dab7fa48bceeaab5fd3008/grpcio-1.74.0-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:2918948864fec2a11721d91568effffbe0a02b23ecd57f281391d986847982f6", size = 10979810, upload-time = "2025-07-24T18:53:25.349Z" }, + { url = "https://files.pythonhosted.org/packages/79/3d/09fd100473ea5c47083889ca47ffd356576173ec134312f6aa0e13111dee/grpcio-1.74.0-cp312-cp312-manylinux_2_17_aarch64.whl", hash = "sha256:60d2d48b0580e70d2e1954d0d19fa3c2e60dd7cbed826aca104fff518310d1c5", size = 5941946, upload-time = "2025-07-24T18:53:27.387Z" }, + { url = "https://files.pythonhosted.org/packages/8a/99/12d2cca0a63c874c6d3d195629dcd85cdf5d6f98a30d8db44271f8a97b93/grpcio-1.74.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3601274bc0523f6dc07666c0e01682c94472402ac2fd1226fd96e079863bfa49", size = 6621763, upload-time = "2025-07-24T18:53:29.193Z" }, + { url = "https://files.pythonhosted.org/packages/9d/2c/930b0e7a2f1029bbc193443c7bc4dc2a46fedb0203c8793dcd97081f1520/grpcio-1.74.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:176d60a5168d7948539def20b2a3adcce67d72454d9ae05969a2e73f3a0feee7", size = 6180664, upload-time = "2025-07-24T18:53:30.823Z" }, + { url = "https://files.pythonhosted.org/packages/db/d5/ff8a2442180ad0867717e670f5ec42bfd8d38b92158ad6bcd864e6d4b1ed/grpcio-1.74.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:e759f9e8bc908aaae0412642afe5416c9f983a80499448fcc7fab8692ae044c3", size = 6301083, upload-time = "2025-07-24T18:53:32.454Z" }, + { url = "https://files.pythonhosted.org/packages/b0/ba/b361d390451a37ca118e4ec7dccec690422e05bc85fba2ec72b06cefec9f/grpcio-1.74.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:9e7c4389771855a92934b2846bd807fc25a3dfa820fd912fe6bd8136026b2707", size = 6994132, upload-time = "2025-07-24T18:53:34.506Z" }, + { url = "https://files.pythonhosted.org/packages/3b/0c/3a5fa47d2437a44ced74141795ac0251bbddeae74bf81df3447edd767d27/grpcio-1.74.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:cce634b10aeab37010449124814b05a62fb5f18928ca878f1bf4750d1f0c815b", size = 6489616, upload-time = "2025-07-24T18:53:36.217Z" }, + { url = "https://files.pythonhosted.org/packages/ae/95/ab64703b436d99dc5217228babc76047d60e9ad14df129e307b5fec81fd0/grpcio-1.74.0-cp312-cp312-win32.whl", hash = "sha256:885912559974df35d92219e2dc98f51a16a48395f37b92865ad45186f294096c", size = 3807083, upload-time = "2025-07-24T18:53:37.911Z" }, + { url = "https://files.pythonhosted.org/packages/84/59/900aa2445891fc47a33f7d2f76e00ca5d6ae6584b20d19af9c06fa09bf9a/grpcio-1.74.0-cp312-cp312-win_amd64.whl", hash = "sha256:42f8fee287427b94be63d916c90399ed310ed10aadbf9e2e5538b3e497d269bc", size = 4490123, upload-time = "2025-07-24T18:53:39.528Z" }, + { url = "https://files.pythonhosted.org/packages/d4/d8/1004a5f468715221450e66b051c839c2ce9a985aa3ee427422061fcbb6aa/grpcio-1.74.0-cp313-cp313-linux_armv7l.whl", hash = "sha256:2bc2d7d8d184e2362b53905cb1708c84cb16354771c04b490485fa07ce3a1d89", size = 5449488, upload-time = "2025-07-24T18:53:41.174Z" }, + { url = "https://files.pythonhosted.org/packages/94/0e/33731a03f63740d7743dced423846c831d8e6da808fcd02821a4416df7fa/grpcio-1.74.0-cp313-cp313-macosx_11_0_universal2.whl", hash = "sha256:c14e803037e572c177ba54a3e090d6eb12efd795d49327c5ee2b3bddb836bf01", size = 10974059, upload-time = "2025-07-24T18:53:43.066Z" }, + { url = "https://files.pythonhosted.org/packages/0d/c6/3d2c14d87771a421205bdca991467cfe473ee4c6a1231c1ede5248c62ab8/grpcio-1.74.0-cp313-cp313-manylinux_2_17_aarch64.whl", hash = "sha256:f6ec94f0e50eb8fa1744a731088b966427575e40c2944a980049798b127a687e", size = 5945647, upload-time = "2025-07-24T18:53:45.269Z" }, + { url = "https://files.pythonhosted.org/packages/c5/83/5a354c8aaff58594eef7fffebae41a0f8995a6258bbc6809b800c33d4c13/grpcio-1.74.0-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:566b9395b90cc3d0d0c6404bc8572c7c18786ede549cdb540ae27b58afe0fb91", size = 6626101, upload-time = "2025-07-24T18:53:47.015Z" }, + { url = "https://files.pythonhosted.org/packages/3f/ca/4fdc7bf59bf6994aa45cbd4ef1055cd65e2884de6113dbd49f75498ddb08/grpcio-1.74.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e1ea6176d7dfd5b941ea01c2ec34de9531ba494d541fe2057c904e601879f249", size = 6182562, upload-time = "2025-07-24T18:53:48.967Z" }, + { url = "https://files.pythonhosted.org/packages/fd/48/2869e5b2c1922583686f7ae674937986807c2f676d08be70d0a541316270/grpcio-1.74.0-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:64229c1e9cea079420527fa8ac45d80fc1e8d3f94deaa35643c381fa8d98f362", size = 6303425, upload-time = "2025-07-24T18:53:50.847Z" }, + { url = "https://files.pythonhosted.org/packages/a6/0e/bac93147b9a164f759497bc6913e74af1cb632c733c7af62c0336782bd38/grpcio-1.74.0-cp313-cp313-musllinux_1_1_i686.whl", hash = "sha256:0f87bddd6e27fc776aacf7ebfec367b6d49cad0455123951e4488ea99d9b9b8f", size = 6996533, upload-time = "2025-07-24T18:53:52.747Z" }, + { url = "https://files.pythonhosted.org/packages/84/35/9f6b2503c1fd86d068b46818bbd7329db26a87cdd8c01e0d1a9abea1104c/grpcio-1.74.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:3b03d8f2a07f0fea8c8f74deb59f8352b770e3900d143b3d1475effcb08eec20", size = 6491489, upload-time = "2025-07-24T18:53:55.06Z" }, + { url = "https://files.pythonhosted.org/packages/75/33/a04e99be2a82c4cbc4039eb3a76f6c3632932b9d5d295221389d10ac9ca7/grpcio-1.74.0-cp313-cp313-win32.whl", hash = "sha256:b6a73b2ba83e663b2480a90b82fdae6a7aa6427f62bf43b29912c0cfd1aa2bfa", size = 3805811, upload-time = "2025-07-24T18:53:56.798Z" }, + { url = "https://files.pythonhosted.org/packages/34/80/de3eb55eb581815342d097214bed4c59e806b05f1b3110df03b2280d6dfd/grpcio-1.74.0-cp313-cp313-win_amd64.whl", hash = "sha256:fd3c71aeee838299c5887230b8a1822795325ddfea635edd82954c1eaa831e24", size = 4489214, upload-time = "2025-07-24T18:53:59.771Z" }, ] [[package]] @@ -1714,7 +1782,7 @@ wheels = [ [[package]] name = "huggingface-hub" -version = "0.33.4" +version = "0.34.3" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "filelock" }, @@ -1726,9 +1794,9 @@ dependencies = [ { name = "tqdm" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/4b/9e/9366b7349fc125dd68b9d384a0fea84d67b7497753fe92c71b67e13f47c4/huggingface_hub-0.33.4.tar.gz", hash = "sha256:6af13478deae120e765bfd92adad0ae1aec1ad8c439b46f23058ad5956cbca0a", size = 426674, upload-time = "2025-07-11T12:32:48.694Z" } +sdist = { url = "https://files.pythonhosted.org/packages/91/b4/e6b465eca5386b52cf23cb6df8644ad318a6b0e12b4b96a7e0be09cbfbcc/huggingface_hub-0.34.3.tar.gz", hash = "sha256:d58130fd5aa7408480681475491c0abd7e835442082fbc3ef4d45b6c39f83853", size = 456800, upload-time = "2025-07-29T08:38:53.885Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/46/7b/98daa50a2db034cab6cd23a3de04fa2358cb691593d28e9130203eb7a805/huggingface_hub-0.33.4-py3-none-any.whl", hash = "sha256:09f9f4e7ca62547c70f8b82767eefadd2667f4e116acba2e3e62a5a81815a7bb", size = 515339, upload-time = "2025-07-11T12:32:46.346Z" }, + { url = "https://files.pythonhosted.org/packages/59/a8/4677014e771ed1591a87b63a2392ce6923baf807193deef302dcfde17542/huggingface_hub-0.34.3-py3-none-any.whl", hash = "sha256:5444550099e2d86e68b2898b09e85878fbd788fc2957b506c6a79ce060e39492", size = 558847, upload-time = "2025-07-29T08:38:51.904Z" }, ] [[package]] @@ -1784,17 +1852,15 @@ wheels = [ [[package]] name = "instructor" -version = "1.9.2" +version = "1.10.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "aiohttp" }, + { name = "diskcache" }, { name = "docstring-parser" }, { name = "jinja2" }, { name = "jiter" }, - { name = "mkdocs" }, - { name = "mkdocs-material" }, { name = "openai" }, - { name = "pre-commit" }, { name = "pydantic" }, { name = "pydantic-core" }, { name = "requests" }, @@ -1802,9 +1868,9 @@ dependencies = [ { name = "tenacity" }, { name = "typer" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/f7/d9/c9703cffc074f94d585c25a0221ae41f381cac7ae7f176455f051ec82579/instructor-1.9.2.tar.gz", hash = "sha256:8c6b9fb4f8404a1e8290b8c3e9d26f8e9a1aceb5392ea8728a21a0828fb5e7c6", size = 69352231, upload-time = "2025-07-07T21:17:32.747Z" } +sdist = { url = "https://files.pythonhosted.org/packages/a5/67/63c4b4d2cc3c7b4238920ad3388a6f5d67265ab7c09ee34012d6b591130e/instructor-1.10.0.tar.gz", hash = "sha256:887d33e058b913290dbf526b0096b1bb8d7ea1a07d75afecbf716161f959697b", size = 69388981, upload-time = "2025-07-18T15:28:52.386Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/2e/9b/008fb5f9f376007f0ef25b0c6c5777d3c4cfe37065fcc32de995f3e53e40/instructor-1.9.2-py3-none-any.whl", hash = "sha256:0f0503baade2d0b7ec40a4711de3cd49b25702a746b3bc18e3d375510dabe049", size = 96633, upload-time = "2025-07-07T21:17:29.301Z" }, + { url = "https://files.pythonhosted.org/packages/2c/fb/ffc1ade9779795a8dc8e2379b1bfb522161ee7df8df12722f50d348fb4ea/instructor-1.10.0-py3-none-any.whl", hash = "sha256:9c789f0fce915d5498059afb5314530c8a5b22b0283302679148ddae98f732b0", size = 119455, upload-time = "2025-07-18T15:28:48.785Z" }, ] [[package]] @@ -1941,7 +2007,7 @@ wheels = [ [[package]] name = "jsonschema" -version = "4.24.0" +version = "4.25.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "attrs" }, @@ -1949,9 +2015,24 @@ dependencies = [ { name = "referencing" }, { name = "rpds-py" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/bf/d3/1cf5326b923a53515d8f3a2cd442e6d7e94fcc444716e879ea70a0ce3177/jsonschema-4.24.0.tar.gz", hash = "sha256:0b4e8069eb12aedfa881333004bccaec24ecef5a8a6a4b6df142b2cc9599d196", size = 353480, upload-time = "2025-05-26T18:48:10.459Z" } +sdist = { url = "https://files.pythonhosted.org/packages/d5/00/a297a868e9d0784450faa7365c2172a7d6110c763e30ba861867c32ae6a9/jsonschema-4.25.0.tar.gz", hash = "sha256:e63acf5c11762c0e6672ffb61482bdf57f0876684d8d249c0fe2d730d48bc55f", size = 356830, upload-time = "2025-07-18T15:39:45.11Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/a2/3d/023389198f69c722d039351050738d6755376c8fd343e91dc493ea485905/jsonschema-4.24.0-py3-none-any.whl", hash = "sha256:a462455f19f5faf404a7902952b6f0e3ce868f3ee09a359b05eca6673bd8412d", size = 88709, upload-time = "2025-05-26T18:48:08.417Z" }, + { url = "https://files.pythonhosted.org/packages/fe/54/c86cd8e011fe98803d7e382fd67c0df5ceab8d2b7ad8c5a81524f791551c/jsonschema-4.25.0-py3-none-any.whl", hash = "sha256:24c2e8da302de79c8b9382fee3e76b355e44d2a4364bb207159ce10b517bd716", size = 89184, upload-time = "2025-07-18T15:39:42.956Z" }, +] + +[[package]] +name = "jsonschema-path" +version = "0.3.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pathable" }, + { name = "pyyaml" }, + { name = "referencing" }, + { name = "requests" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/6e/45/41ebc679c2a4fced6a722f624c18d658dee42612b83ea24c1caf7c0eb3a8/jsonschema_path-0.3.4.tar.gz", hash = "sha256:8365356039f16cc65fddffafda5f58766e34bebab7d6d105616ab52bc4297001", size = 11159, upload-time = "2025-01-24T14:33:16.547Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cb/58/3485da8cb93d2f393bce453adeef16896751f14ba3e2024bc21dc9597646/jsonschema_path-0.3.4-py3-none-any.whl", hash = "sha256:f502191fdc2b22050f9a81c9237be9d27145b9001c55842bece5e94e382e52f8", size = 14810, upload-time = "2025-01-24T14:33:14.652Z" }, ] [[package]] @@ -2087,11 +2168,12 @@ wheels = [ [[package]] name = "lancedb" -version = "0.24.1" +version = "0.24.2" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "deprecation" }, - { name = "numpy" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "numpy", version = "2.3.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, { name = "overrides" }, { name = "packaging" }, { name = "pyarrow" }, @@ -2099,13 +2181,13 @@ dependencies = [ { name = "tqdm" }, ] wheels = [ - { url = "https://files.pythonhosted.org/packages/a2/4a/cbdb6b7a8ca621282c3d9dedae00b372c09b430c69fc0ac149b5b9092b6c/lancedb-0.24.1-cp39-abi3-macosx_10_15_x86_64.whl", hash = "sha256:ae5f028920222ad325521fb447558e274eb92dfd7c189f5875dc3bcc7de07ea6", size = 32792946, upload-time = "2025-07-10T22:21:44.578Z" }, - { url = "https://files.pythonhosted.org/packages/71/90/7c5218b5d81382901680bb365bb55f92fefa28434c049ec6236be73b7ac1/lancedb-0.24.1-cp39-abi3-macosx_11_0_arm64.whl", hash = "sha256:baf1eba0e2a8762753dba466e92792a4a21ec504612125ec1d8edd6c15b17eba", size = 30290214, upload-time = "2025-07-10T22:25:47.422Z" }, - { url = "https://files.pythonhosted.org/packages/e1/01/b184e8f1e94e27b9297778dfde65259a94994138d7d4330334bfdf5756e1/lancedb-0.24.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dc20c56936d8198330a5dee2f1a17dc1f2145a7b48f81bc32193ca16f3907f3b", size = 31147217, upload-time = "2025-07-10T21:55:21.461Z" }, - { url = "https://files.pythonhosted.org/packages/4e/02/7e67ea8e49757e42251df4e665699fe4d0962f336e3d113ebff84f22bee9/lancedb-0.24.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f2509810c743e094d2d900fdc7b0f2bc3cc52a970ecdfb5d404c22b8b8da14cc", size = 34315305, upload-time = "2025-07-10T21:59:31.539Z" }, - { url = "https://files.pythonhosted.org/packages/46/b9/770c17793062dacaf52c5641af706cffca6ef803fbe80422d7948fc4a0cb/lancedb-0.24.1-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:2fbbdf6a6e6189fc3d026677a303a1b7e0bdfe9b690cfee93c586f6b76eb10ba", size = 31157887, upload-time = "2025-07-10T21:55:33.138Z" }, - { url = "https://files.pythonhosted.org/packages/9c/ef/f896a8cabf99bc87e8bdc49df0bd08db09a86e8f333312c15375da21921f/lancedb-0.24.1-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:e8ef48eaa8c6c2093f40cbae4968c1fa9126934022b4d6462c5a019688731597", size = 34354984, upload-time = "2025-07-10T22:00:26.294Z" }, - { url = "https://files.pythonhosted.org/packages/b9/a2/0ab0979ac987313e2dd9b52fddb98eae9cb048e0faebca7a5f9e0a352ea5/lancedb-0.24.1-cp39-abi3-win_amd64.whl", hash = "sha256:091d1757776fd7a0d7adbc5d507f4356e9f479c38a0446009724d8e52d66cbb3", size = 36228285, upload-time = "2025-07-10T22:16:45.817Z" }, + { url = "https://files.pythonhosted.org/packages/49/9b/2613660f837b1e2490b786bb1c96e522f1a493292fc04fe58c92a0d6a895/lancedb-0.24.2-cp39-abi3-macosx_10_15_x86_64.whl", hash = "sha256:925a71f8f865ebd8d3792bbe1d5743bc43ae28263ef33ec4781bee4cc6f18b6a", size = 33273298, upload-time = "2025-07-25T21:19:33.223Z" }, + { url = "https://files.pythonhosted.org/packages/7c/06/98fc4a166721cea4d9dd9c55ed7bcf59772b701c60267cec9d7692f8414e/lancedb-0.24.2-cp39-abi3-macosx_11_0_arm64.whl", hash = "sha256:5894c09b03b833e8480c8921178ebcf917599e05000d4a74990e5f1b9ddd1b6a", size = 30711981, upload-time = "2025-07-25T21:04:40.431Z" }, + { url = "https://files.pythonhosted.org/packages/20/42/420a9bd2349c1c1607f52b353acf9b0af48b2860e15ad333d86c7b68054f/lancedb-0.24.2-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:482f8e0f09ac68f50a511baea420501908adbf749d09bf04af0b27a018260831", size = 31595926, upload-time = "2025-07-25T20:56:51.911Z" }, + { url = "https://files.pythonhosted.org/packages/d9/6c/f315ce4161c38085cce929c1c4e9900ada617ab9c8a95166126cdd67184b/lancedb-0.24.2-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d4a33fb4327880eecc71b9bdc5b4bd722b8fa0f0cbe1cf454b3b0f8521147cd8", size = 34792190, upload-time = "2025-07-25T20:55:13.357Z" }, + { url = "https://files.pythonhosted.org/packages/06/e8/5cb49026bd47947ab8fa78beff241a48bbf7d70d858c825f30f56bfd6803/lancedb-0.24.2-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:cf8473303853fc798f023495d4a4ace3ba95ce816b9da85aad691ec189e7be45", size = 31598038, upload-time = "2025-07-25T20:52:55.751Z" }, + { url = "https://files.pythonhosted.org/packages/42/61/9e19fffa106c32b7cb29600ee5ad8530b536dc6b836b695d807795605fae/lancedb-0.24.2-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:693ce4dfcdbf9d1f0d6b79bac12e089091e2576cd5f1e2a5ba08cdbf635179f2", size = 34829210, upload-time = "2025-07-25T20:55:41.014Z" }, + { url = "https://files.pythonhosted.org/packages/2f/51/242c53238f1a345203ed85910c0b5777aeb0437f3d66f230ba97ede74fe3/lancedb-0.24.2-cp39-abi3-win_amd64.whl", hash = "sha256:46c211f1a0a3cfc385e9031d8ebe30a98d7dfb60751aed0f9626a4f61795ea57", size = 36791580, upload-time = "2025-07-25T21:13:40.752Z" }, ] [[package]] @@ -2136,6 +2218,25 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/20/50/3aa93fc284ba5f81dcdd00b6414caee338fd45d77fa4959c3e4f838cebc6/langfuse-2.60.9-py3-none-any.whl", hash = "sha256:e4291a66bc579c66d7652da5603ca7f0409536700d7b812e396780b5d9a0685d", size = 275543, upload-time = "2025-06-29T09:39:26.234Z" }, ] +[[package]] +name = "lazy-object-proxy" +version = "1.11.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/57/f9/1f56571ed82fb324f293661690635cf42c41deb8a70a6c9e6edc3e9bb3c8/lazy_object_proxy-1.11.0.tar.gz", hash = "sha256:18874411864c9fbbbaa47f9fc1dd7aea754c86cfde21278ef427639d1dd78e9c", size = 44736, upload-time = "2025-04-16T16:53:48.482Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/21/c8/457f1555f066f5bacc44337141294153dc993b5e9132272ab54a64ee98a2/lazy_object_proxy-1.11.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:132bc8a34f2f2d662a851acfd1b93df769992ed1b81e2b1fda7db3e73b0d5a18", size = 28045, upload-time = "2025-04-16T16:53:32.314Z" }, + { url = "https://files.pythonhosted.org/packages/18/33/3260b4f8de6f0942008479fee6950b2b40af11fc37dba23aa3672b0ce8a6/lazy_object_proxy-1.11.0-cp310-cp310-win_amd64.whl", hash = "sha256:01261a3afd8621a1accb5682df2593dc7ec7d21d38f411011a5712dcd418fbed", size = 28441, upload-time = "2025-04-16T16:53:33.636Z" }, + { url = "https://files.pythonhosted.org/packages/51/f6/eb645ca1ff7408bb69e9b1fe692cce1d74394efdbb40d6207096c0cd8381/lazy_object_proxy-1.11.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:090935756cc041e191f22f4f9c7fd4fe9a454717067adf5b1bbd2ce3046b556e", size = 28047, upload-time = "2025-04-16T16:53:34.679Z" }, + { url = "https://files.pythonhosted.org/packages/13/9c/aabbe1e8b99b8b0edb846b49a517edd636355ac97364419d9ba05b8fa19f/lazy_object_proxy-1.11.0-cp311-cp311-win_amd64.whl", hash = "sha256:76ec715017f06410f57df442c1a8d66e6b5f7035077785b129817f5ae58810a4", size = 28440, upload-time = "2025-04-16T16:53:36.113Z" }, + { url = "https://files.pythonhosted.org/packages/4d/24/dae4759469e9cd318fef145f7cfac7318261b47b23a4701aa477b0c3b42c/lazy_object_proxy-1.11.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:9a9f39098e93a63618a79eef2889ae3cf0605f676cd4797fdfd49fcd7ddc318b", size = 28142, upload-time = "2025-04-16T16:53:37.663Z" }, + { url = "https://files.pythonhosted.org/packages/de/0c/645a881f5f27952a02f24584d96f9f326748be06ded2cee25f8f8d1cd196/lazy_object_proxy-1.11.0-cp312-cp312-win_amd64.whl", hash = "sha256:ee13f67f4fcd044ef27bfccb1c93d39c100046fec1fad6e9a1fcdfd17492aeb3", size = 28380, upload-time = "2025-04-16T16:53:39.07Z" }, + { url = "https://files.pythonhosted.org/packages/a8/0f/6e004f928f7ff5abae2b8e1f68835a3870252f886e006267702e1efc5c7b/lazy_object_proxy-1.11.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:fd4c84eafd8dd15ea16f7d580758bc5c2ce1f752faec877bb2b1f9f827c329cd", size = 28149, upload-time = "2025-04-16T16:53:40.135Z" }, + { url = "https://files.pythonhosted.org/packages/63/cb/b8363110e32cc1fd82dc91296315f775d37a39df1c1cfa976ec1803dac89/lazy_object_proxy-1.11.0-cp313-cp313-win_amd64.whl", hash = "sha256:d2503427bda552d3aefcac92f81d9e7ca631e680a2268cbe62cd6a58de6409b7", size = 28389, upload-time = "2025-04-16T16:53:43.612Z" }, + { url = "https://files.pythonhosted.org/packages/7b/89/68c50fcfd81e11480cd8ee7f654c9bd790a9053b9a0efe9983d46106f6a9/lazy_object_proxy-1.11.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:0613116156801ab3fccb9e2b05ed83b08ea08c2517fdc6c6bc0d4697a1a376e3", size = 28777, upload-time = "2025-04-16T16:53:41.371Z" }, + { url = "https://files.pythonhosted.org/packages/39/d0/7e967689e24de8ea6368ec33295f9abc94b9f3f0cd4571bfe148dc432190/lazy_object_proxy-1.11.0-cp313-cp313t-win_amd64.whl", hash = "sha256:bb03c507d96b65f617a6337dedd604399d35face2cdf01526b913fb50c4cb6e8", size = 29598, upload-time = "2025-04-16T16:53:42.513Z" }, + { url = "https://files.pythonhosted.org/packages/e7/1e/fb441c07b6662ec1fc92b249225ba6e6e5221b05623cb0131d082f782edc/lazy_object_proxy-1.11.0-py3-none-any.whl", hash = "sha256:a56a5093d433341ff7da0e89f9b486031ccd222ec8e52ec84d0ec1cdc819674b", size = 16635, upload-time = "2025-04-16T16:53:47.198Z" }, +] + [[package]] name = "limits" version = "4.8.0" @@ -2373,59 +2474,82 @@ wheels = [ [[package]] name = "matplotlib" -version = "3.10.3" +version = "3.10.5" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "contourpy" }, + { name = "contourpy", version = "1.3.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "contourpy", version = "1.3.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, { name = "cycler" }, { name = "fonttools" }, { name = "kiwisolver" }, - { name = "numpy" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "numpy", version = "2.3.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, { name = "packaging" }, { name = "pillow" }, { name = "pyparsing" }, { name = "python-dateutil" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/26/91/d49359a21893183ed2a5b6c76bec40e0b1dcbf8ca148f864d134897cfc75/matplotlib-3.10.3.tar.gz", hash = "sha256:2f82d2c5bb7ae93aaaa4cd42aca65d76ce6376f83304fa3a630b569aca274df0", size = 34799811, upload-time = "2025-05-08T19:10:54.39Z" } +sdist = { url = "https://files.pythonhosted.org/packages/43/91/f2939bb60b7ebf12478b030e0d7f340247390f402b3b189616aad790c366/matplotlib-3.10.5.tar.gz", hash = "sha256:352ed6ccfb7998a00881692f38b4ca083c691d3e275b4145423704c34c909076", size = 34804044, upload-time = "2025-07-31T18:09:33.805Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/d0/ea/2bba25d289d389c7451f331ecd593944b3705f06ddf593fa7be75037d308/matplotlib-3.10.3-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:213fadd6348d106ca7db99e113f1bea1e65e383c3ba76e8556ba4a3054b65ae7", size = 8167862, upload-time = "2025-05-08T19:09:39.563Z" }, - { url = "https://files.pythonhosted.org/packages/41/81/cc70b5138c926604e8c9ed810ed4c79e8116ba72e02230852f5c12c87ba2/matplotlib-3.10.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d3bec61cb8221f0ca6313889308326e7bb303d0d302c5cc9e523b2f2e6c73deb", size = 8042149, upload-time = "2025-05-08T19:09:42.413Z" }, - { url = "https://files.pythonhosted.org/packages/4a/9a/0ff45b6bfa42bb16de597e6058edf2361c298ad5ef93b327728145161bbf/matplotlib-3.10.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c21ae75651c0231b3ba014b6d5e08fb969c40cdb5a011e33e99ed0c9ea86ecb", size = 8453719, upload-time = "2025-05-08T19:09:44.901Z" }, - { url = "https://files.pythonhosted.org/packages/85/c7/1866e972fed6d71ef136efbc980d4d1854ab7ef1ea8152bbd995ca231c81/matplotlib-3.10.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a49e39755580b08e30e3620efc659330eac5d6534ab7eae50fa5e31f53ee4e30", size = 8590801, upload-time = "2025-05-08T19:09:47.404Z" }, - { url = "https://files.pythonhosted.org/packages/5d/b9/748f6626d534ab7e255bdc39dc22634d337cf3ce200f261b5d65742044a1/matplotlib-3.10.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:cf4636203e1190871d3a73664dea03d26fb019b66692cbfd642faafdad6208e8", size = 9402111, upload-time = "2025-05-08T19:09:49.474Z" }, - { url = "https://files.pythonhosted.org/packages/1f/78/8bf07bd8fb67ea5665a6af188e70b57fcb2ab67057daa06b85a08e59160a/matplotlib-3.10.3-cp310-cp310-win_amd64.whl", hash = "sha256:fd5641a9bb9d55f4dd2afe897a53b537c834b9012684c8444cc105895c8c16fd", size = 8057213, upload-time = "2025-05-08T19:09:51.489Z" }, - { url = "https://files.pythonhosted.org/packages/f5/bd/af9f655456f60fe1d575f54fb14704ee299b16e999704817a7645dfce6b0/matplotlib-3.10.3-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:0ef061f74cd488586f552d0c336b2f078d43bc00dc473d2c3e7bfee2272f3fa8", size = 8178873, upload-time = "2025-05-08T19:09:53.857Z" }, - { url = "https://files.pythonhosted.org/packages/c2/86/e1c86690610661cd716eda5f9d0b35eaf606ae6c9b6736687cfc8f2d0cd8/matplotlib-3.10.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d96985d14dc5f4a736bbea4b9de9afaa735f8a0fc2ca75be2fa9e96b2097369d", size = 8052205, upload-time = "2025-05-08T19:09:55.684Z" }, - { url = "https://files.pythonhosted.org/packages/54/51/a9f8e49af3883dacddb2da1af5fca1f7468677f1188936452dd9aaaeb9ed/matplotlib-3.10.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7c5f0283da91e9522bdba4d6583ed9d5521566f63729ffb68334f86d0bb98049", size = 8465823, upload-time = "2025-05-08T19:09:57.442Z" }, - { url = "https://files.pythonhosted.org/packages/e7/e3/c82963a3b86d6e6d5874cbeaa390166458a7f1961bab9feb14d3d1a10f02/matplotlib-3.10.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fdfa07c0ec58035242bc8b2c8aae37037c9a886370eef6850703d7583e19964b", size = 8606464, upload-time = "2025-05-08T19:09:59.471Z" }, - { url = "https://files.pythonhosted.org/packages/0e/34/24da1027e7fcdd9e82da3194c470143c551852757a4b473a09a012f5b945/matplotlib-3.10.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:c0b9849a17bce080a16ebcb80a7b714b5677d0ec32161a2cc0a8e5a6030ae220", size = 9413103, upload-time = "2025-05-08T19:10:03.208Z" }, - { url = "https://files.pythonhosted.org/packages/a6/da/948a017c3ea13fd4a97afad5fdebe2f5bbc4d28c0654510ce6fd6b06b7bd/matplotlib-3.10.3-cp311-cp311-win_amd64.whl", hash = "sha256:eef6ed6c03717083bc6d69c2d7ee8624205c29a8e6ea5a31cd3492ecdbaee1e1", size = 8065492, upload-time = "2025-05-08T19:10:05.271Z" }, - { url = "https://files.pythonhosted.org/packages/eb/43/6b80eb47d1071f234ef0c96ca370c2ca621f91c12045f1401b5c9b28a639/matplotlib-3.10.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:0ab1affc11d1f495ab9e6362b8174a25afc19c081ba5b0775ef00533a4236eea", size = 8179689, upload-time = "2025-05-08T19:10:07.602Z" }, - { url = "https://files.pythonhosted.org/packages/0f/70/d61a591958325c357204870b5e7b164f93f2a8cca1dc6ce940f563909a13/matplotlib-3.10.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2a818d8bdcafa7ed2eed74487fdb071c09c1ae24152d403952adad11fa3c65b4", size = 8050466, upload-time = "2025-05-08T19:10:09.383Z" }, - { url = "https://files.pythonhosted.org/packages/e7/75/70c9d2306203148cc7902a961240c5927dd8728afedf35e6a77e105a2985/matplotlib-3.10.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:748ebc3470c253e770b17d8b0557f0aa85cf8c63fd52f1a61af5b27ec0b7ffee", size = 8456252, upload-time = "2025-05-08T19:10:11.958Z" }, - { url = "https://files.pythonhosted.org/packages/c4/91/ba0ae1ff4b3f30972ad01cd4a8029e70a0ec3b8ea5be04764b128b66f763/matplotlib-3.10.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ed70453fd99733293ace1aec568255bc51c6361cb0da94fa5ebf0649fdb2150a", size = 8601321, upload-time = "2025-05-08T19:10:14.47Z" }, - { url = "https://files.pythonhosted.org/packages/d2/88/d636041eb54a84b889e11872d91f7cbf036b3b0e194a70fa064eb8b04f7a/matplotlib-3.10.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:dbed9917b44070e55640bd13419de83b4c918e52d97561544814ba463811cbc7", size = 9406972, upload-time = "2025-05-08T19:10:16.569Z" }, - { url = "https://files.pythonhosted.org/packages/b1/79/0d1c165eac44405a86478082e225fce87874f7198300bbebc55faaf6d28d/matplotlib-3.10.3-cp312-cp312-win_amd64.whl", hash = "sha256:cf37d8c6ef1a48829443e8ba5227b44236d7fcaf7647caa3178a4ff9f7a5be05", size = 8067954, upload-time = "2025-05-08T19:10:18.663Z" }, - { url = "https://files.pythonhosted.org/packages/3b/c1/23cfb566a74c696a3b338d8955c549900d18fe2b898b6e94d682ca21e7c2/matplotlib-3.10.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:9f2efccc8dcf2b86fc4ee849eea5dcaecedd0773b30f47980dc0cbeabf26ec84", size = 8180318, upload-time = "2025-05-08T19:10:20.426Z" }, - { url = "https://files.pythonhosted.org/packages/6c/0c/02f1c3b66b30da9ee343c343acbb6251bef5b01d34fad732446eaadcd108/matplotlib-3.10.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3ddbba06a6c126e3301c3d272a99dcbe7f6c24c14024e80307ff03791a5f294e", size = 8051132, upload-time = "2025-05-08T19:10:22.569Z" }, - { url = "https://files.pythonhosted.org/packages/b4/ab/8db1a5ac9b3a7352fb914133001dae889f9fcecb3146541be46bed41339c/matplotlib-3.10.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:748302b33ae9326995b238f606e9ed840bf5886ebafcb233775d946aa8107a15", size = 8457633, upload-time = "2025-05-08T19:10:24.749Z" }, - { url = "https://files.pythonhosted.org/packages/f5/64/41c4367bcaecbc03ef0d2a3ecee58a7065d0a36ae1aa817fe573a2da66d4/matplotlib-3.10.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a80fcccbef63302c0efd78042ea3c2436104c5b1a4d3ae20f864593696364ac7", size = 8601031, upload-time = "2025-05-08T19:10:27.03Z" }, - { url = "https://files.pythonhosted.org/packages/12/6f/6cc79e9e5ab89d13ed64da28898e40fe5b105a9ab9c98f83abd24e46d7d7/matplotlib-3.10.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:55e46cbfe1f8586adb34f7587c3e4f7dedc59d5226719faf6cb54fc24f2fd52d", size = 9406988, upload-time = "2025-05-08T19:10:29.056Z" }, - { url = "https://files.pythonhosted.org/packages/b1/0f/eed564407bd4d935ffabf561ed31099ed609e19287409a27b6d336848653/matplotlib-3.10.3-cp313-cp313-win_amd64.whl", hash = "sha256:151d89cb8d33cb23345cd12490c76fd5d18a56581a16d950b48c6ff19bb2ab93", size = 8068034, upload-time = "2025-05-08T19:10:31.221Z" }, - { url = "https://files.pythonhosted.org/packages/3e/e5/2f14791ff69b12b09e9975e1d116d9578ac684460860ce542c2588cb7a1c/matplotlib-3.10.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:c26dd9834e74d164d06433dc7be5d75a1e9890b926b3e57e74fa446e1a62c3e2", size = 8218223, upload-time = "2025-05-08T19:10:33.114Z" }, - { url = "https://files.pythonhosted.org/packages/5c/08/30a94afd828b6e02d0a52cae4a29d6e9ccfcf4c8b56cc28b021d3588873e/matplotlib-3.10.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:24853dad5b8c84c8c2390fc31ce4858b6df504156893292ce8092d190ef8151d", size = 8094985, upload-time = "2025-05-08T19:10:35.337Z" }, - { url = "https://files.pythonhosted.org/packages/89/44/f3bc6b53066c889d7a1a3ea8094c13af6a667c5ca6220ec60ecceec2dabe/matplotlib-3.10.3-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:68f7878214d369d7d4215e2a9075fef743be38fa401d32e6020bab2dfabaa566", size = 8483109, upload-time = "2025-05-08T19:10:37.611Z" }, - { url = "https://files.pythonhosted.org/packages/ba/c7/473bc559beec08ebee9f86ca77a844b65747e1a6c2691e8c92e40b9f42a8/matplotlib-3.10.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f6929fc618cb6db9cb75086f73b3219bbb25920cb24cee2ea7a12b04971a4158", size = 8618082, upload-time = "2025-05-08T19:10:39.892Z" }, - { url = "https://files.pythonhosted.org/packages/d8/e9/6ce8edd264c8819e37bbed8172e0ccdc7107fe86999b76ab5752276357a4/matplotlib-3.10.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:6c7818292a5cc372a2dc4c795e5c356942eb8350b98ef913f7fda51fe175ac5d", size = 9413699, upload-time = "2025-05-08T19:10:42.376Z" }, - { url = "https://files.pythonhosted.org/packages/1b/92/9a45c91089c3cf690b5badd4be81e392ff086ccca8a1d4e3a08463d8a966/matplotlib-3.10.3-cp313-cp313t-win_amd64.whl", hash = "sha256:4f23ffe95c5667ef8a2b56eea9b53db7f43910fa4a2d5472ae0f72b64deab4d5", size = 8139044, upload-time = "2025-05-08T19:10:44.551Z" }, - { url = "https://files.pythonhosted.org/packages/3d/d1/f54d43e95384b312ffa4a74a4326c722f3b8187aaaa12e9a84cdf3037131/matplotlib-3.10.3-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:86ab63d66bbc83fdb6733471d3bff40897c1e9921cba112accd748eee4bce5e4", size = 8162896, upload-time = "2025-05-08T19:10:46.432Z" }, - { url = "https://files.pythonhosted.org/packages/24/a4/fbfc00c2346177c95b353dcf9b5a004106abe8730a62cb6f27e79df0a698/matplotlib-3.10.3-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:a48f9c08bf7444b5d2391a83e75edb464ccda3c380384b36532a0962593a1751", size = 8039702, upload-time = "2025-05-08T19:10:49.634Z" }, - { url = "https://files.pythonhosted.org/packages/6a/b9/59e120d24a2ec5fc2d30646adb2efb4621aab3c6d83d66fb2a7a182db032/matplotlib-3.10.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cb73d8aa75a237457988f9765e4dfe1c0d2453c5ca4eabc897d4309672c8e014", size = 8594298, upload-time = "2025-05-08T19:10:51.738Z" }, + { url = "https://files.pythonhosted.org/packages/d1/89/5355cdfe43242cb4d1a64a67cb6831398b665ad90e9702c16247cbd8d5ab/matplotlib-3.10.5-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:5d4773a6d1c106ca05cb5a5515d277a6bb96ed09e5c8fab6b7741b8fcaa62c8f", size = 8229094, upload-time = "2025-07-31T18:07:36.507Z" }, + { url = "https://files.pythonhosted.org/packages/34/bc/ba802650e1c69650faed261a9df004af4c6f21759d7a1ec67fe972f093b3/matplotlib-3.10.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:dc88af74e7ba27de6cbe6faee916024ea35d895ed3d61ef6f58c4ce97da7185a", size = 8091464, upload-time = "2025-07-31T18:07:38.864Z" }, + { url = "https://files.pythonhosted.org/packages/ac/64/8d0c8937dee86c286625bddb1902efacc3e22f2b619f5b5a8df29fe5217b/matplotlib-3.10.5-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:64c4535419d5617f7363dad171a5a59963308e0f3f813c4bed6c9e6e2c131512", size = 8653163, upload-time = "2025-07-31T18:07:41.141Z" }, + { url = "https://files.pythonhosted.org/packages/11/dc/8dfc0acfbdc2fc2336c72561b7935cfa73db9ca70b875d8d3e1b3a6f371a/matplotlib-3.10.5-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a277033048ab22d34f88a3c5243938cef776493f6201a8742ed5f8b553201343", size = 9490635, upload-time = "2025-07-31T18:07:42.936Z" }, + { url = "https://files.pythonhosted.org/packages/54/02/e3fdfe0f2e9fb05f3a691d63876639dbf684170fdcf93231e973104153b4/matplotlib-3.10.5-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:e4a6470a118a2e93022ecc7d3bd16b3114b2004ea2bf014fff875b3bc99b70c6", size = 9539036, upload-time = "2025-07-31T18:07:45.18Z" }, + { url = "https://files.pythonhosted.org/packages/c1/29/82bf486ff7f4dbedfb11ccc207d0575cbe3be6ea26f75be514252bde3d70/matplotlib-3.10.5-cp310-cp310-win_amd64.whl", hash = "sha256:7e44cada61bec8833c106547786814dd4a266c1b2964fd25daa3804f1b8d4467", size = 8093529, upload-time = "2025-07-31T18:07:49.553Z" }, + { url = "https://files.pythonhosted.org/packages/aa/c7/1f2db90a1d43710478bb1e9b57b162852f79234d28e4f48a28cc415aa583/matplotlib-3.10.5-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:dcfc39c452c6a9f9028d3e44d2d721484f665304857188124b505b2c95e1eecf", size = 8239216, upload-time = "2025-07-31T18:07:51.947Z" }, + { url = "https://files.pythonhosted.org/packages/82/6d/ca6844c77a4f89b1c9e4d481c412e1d1dbabf2aae2cbc5aa2da4a1d6683e/matplotlib-3.10.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:903352681b59f3efbf4546985142a9686ea1d616bb054b09a537a06e4b892ccf", size = 8102130, upload-time = "2025-07-31T18:07:53.65Z" }, + { url = "https://files.pythonhosted.org/packages/1d/1e/5e187a30cc673a3e384f3723e5f3c416033c1d8d5da414f82e4e731128ea/matplotlib-3.10.5-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:080c3676a56b8ee1c762bcf8fca3fe709daa1ee23e6ef06ad9f3fc17332f2d2a", size = 8666471, upload-time = "2025-07-31T18:07:55.304Z" }, + { url = "https://files.pythonhosted.org/packages/03/c0/95540d584d7d645324db99a845ac194e915ef75011a0d5e19e1b5cee7e69/matplotlib-3.10.5-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4b4984d5064a35b6f66d2c11d668565f4389b1119cc64db7a4c1725bc11adffc", size = 9500518, upload-time = "2025-07-31T18:07:57.199Z" }, + { url = "https://files.pythonhosted.org/packages/ba/2e/e019352099ea58b4169adb9c6e1a2ad0c568c6377c2b677ee1f06de2adc7/matplotlib-3.10.5-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:3967424121d3a46705c9fa9bdb0931de3228f13f73d7bb03c999c88343a89d89", size = 9552372, upload-time = "2025-07-31T18:07:59.41Z" }, + { url = "https://files.pythonhosted.org/packages/b7/81/3200b792a5e8b354f31f4101ad7834743ad07b6d620259f2059317b25e4d/matplotlib-3.10.5-cp311-cp311-win_amd64.whl", hash = "sha256:33775bbeb75528555a15ac29396940128ef5613cf9a2d31fb1bfd18b3c0c0903", size = 8100634, upload-time = "2025-07-31T18:08:01.801Z" }, + { url = "https://files.pythonhosted.org/packages/52/46/a944f6f0c1f5476a0adfa501969d229ce5ae60cf9a663be0e70361381f89/matplotlib-3.10.5-cp311-cp311-win_arm64.whl", hash = "sha256:c61333a8e5e6240e73769d5826b9a31d8b22df76c0778f8480baf1b4b01c9420", size = 7978880, upload-time = "2025-07-31T18:08:03.407Z" }, + { url = "https://files.pythonhosted.org/packages/66/1e/c6f6bcd882d589410b475ca1fc22e34e34c82adff519caf18f3e6dd9d682/matplotlib-3.10.5-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:00b6feadc28a08bd3c65b2894f56cf3c94fc8f7adcbc6ab4516ae1e8ed8f62e2", size = 8253056, upload-time = "2025-07-31T18:08:05.385Z" }, + { url = "https://files.pythonhosted.org/packages/53/e6/d6f7d1b59413f233793dda14419776f5f443bcccb2dfc84b09f09fe05dbe/matplotlib-3.10.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ee98a5c5344dc7f48dc261b6ba5d9900c008fc12beb3fa6ebda81273602cc389", size = 8110131, upload-time = "2025-07-31T18:08:07.293Z" }, + { url = "https://files.pythonhosted.org/packages/66/2b/bed8a45e74957549197a2ac2e1259671cd80b55ed9e1fe2b5c94d88a9202/matplotlib-3.10.5-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:a17e57e33de901d221a07af32c08870ed4528db0b6059dce7d7e65c1122d4bea", size = 8669603, upload-time = "2025-07-31T18:08:09.064Z" }, + { url = "https://files.pythonhosted.org/packages/7e/a7/315e9435b10d057f5e52dfc603cd353167ae28bb1a4e033d41540c0067a4/matplotlib-3.10.5-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:97b9d6443419085950ee4a5b1ee08c363e5c43d7176e55513479e53669e88468", size = 9508127, upload-time = "2025-07-31T18:08:10.845Z" }, + { url = "https://files.pythonhosted.org/packages/7f/d9/edcbb1f02ca99165365d2768d517898c22c6040187e2ae2ce7294437c413/matplotlib-3.10.5-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ceefe5d40807d29a66ae916c6a3915d60ef9f028ce1927b84e727be91d884369", size = 9566926, upload-time = "2025-07-31T18:08:13.186Z" }, + { url = "https://files.pythonhosted.org/packages/3b/d9/6dd924ad5616c97b7308e6320cf392c466237a82a2040381163b7500510a/matplotlib-3.10.5-cp312-cp312-win_amd64.whl", hash = "sha256:c04cba0f93d40e45b3c187c6c52c17f24535b27d545f757a2fffebc06c12b98b", size = 8107599, upload-time = "2025-07-31T18:08:15.116Z" }, + { url = "https://files.pythonhosted.org/packages/0e/f3/522dc319a50f7b0279fbe74f86f7a3506ce414bc23172098e8d2bdf21894/matplotlib-3.10.5-cp312-cp312-win_arm64.whl", hash = "sha256:a41bcb6e2c8e79dc99c5511ae6f7787d2fb52efd3d805fff06d5d4f667db16b2", size = 7978173, upload-time = "2025-07-31T18:08:21.518Z" }, + { url = "https://files.pythonhosted.org/packages/8d/05/4f3c1f396075f108515e45cb8d334aff011a922350e502a7472e24c52d77/matplotlib-3.10.5-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:354204db3f7d5caaa10e5de74549ef6a05a4550fdd1c8f831ab9bca81efd39ed", size = 8253586, upload-time = "2025-07-31T18:08:23.107Z" }, + { url = "https://files.pythonhosted.org/packages/2f/2c/e084415775aac7016c3719fe7006cdb462582c6c99ac142f27303c56e243/matplotlib-3.10.5-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:b072aac0c3ad563a2b3318124756cb6112157017f7431626600ecbe890df57a1", size = 8110715, upload-time = "2025-07-31T18:08:24.675Z" }, + { url = "https://files.pythonhosted.org/packages/52/1b/233e3094b749df16e3e6cd5a44849fd33852e692ad009cf7de00cf58ddf6/matplotlib-3.10.5-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:d52fd5b684d541b5a51fb276b2b97b010c75bee9aa392f96b4a07aeb491e33c7", size = 8669397, upload-time = "2025-07-31T18:08:26.778Z" }, + { url = "https://files.pythonhosted.org/packages/e8/ec/03f9e003a798f907d9f772eed9b7c6a9775d5bd00648b643ebfb88e25414/matplotlib-3.10.5-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ee7a09ae2f4676276f5a65bd9f2bd91b4f9fbaedf49f40267ce3f9b448de501f", size = 9508646, upload-time = "2025-07-31T18:08:28.848Z" }, + { url = "https://files.pythonhosted.org/packages/91/e7/c051a7a386680c28487bca27d23b02d84f63e3d2a9b4d2fc478e6a42e37e/matplotlib-3.10.5-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ba6c3c9c067b83481d647af88b4e441d532acdb5ef22178a14935b0b881188f4", size = 9567424, upload-time = "2025-07-31T18:08:30.726Z" }, + { url = "https://files.pythonhosted.org/packages/36/c2/24302e93ff431b8f4173ee1dd88976c8d80483cadbc5d3d777cef47b3a1c/matplotlib-3.10.5-cp313-cp313-win_amd64.whl", hash = "sha256:07442d2692c9bd1cceaa4afb4bbe5b57b98a7599de4dabfcca92d3eea70f9ebe", size = 8107809, upload-time = "2025-07-31T18:08:33.928Z" }, + { url = "https://files.pythonhosted.org/packages/0b/33/423ec6a668d375dad825197557ed8fbdb74d62b432c1ed8235465945475f/matplotlib-3.10.5-cp313-cp313-win_arm64.whl", hash = "sha256:48fe6d47380b68a37ccfcc94f009530e84d41f71f5dae7eda7c4a5a84aa0a674", size = 7978078, upload-time = "2025-07-31T18:08:36.764Z" }, + { url = "https://files.pythonhosted.org/packages/51/17/521fc16ec766455c7bb52cc046550cf7652f6765ca8650ff120aa2d197b6/matplotlib-3.10.5-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:3b80eb8621331449fc519541a7461987f10afa4f9cfd91afcd2276ebe19bd56c", size = 8295590, upload-time = "2025-07-31T18:08:38.521Z" }, + { url = "https://files.pythonhosted.org/packages/f8/12/23c28b2c21114c63999bae129fce7fd34515641c517ae48ce7b7dcd33458/matplotlib-3.10.5-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:47a388908e469d6ca2a6015858fa924e0e8a2345a37125948d8e93a91c47933e", size = 8158518, upload-time = "2025-07-31T18:08:40.195Z" }, + { url = "https://files.pythonhosted.org/packages/81/f8/aae4eb25e8e7190759f3cb91cbeaa344128159ac92bb6b409e24f8711f78/matplotlib-3.10.5-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:8b6b49167d208358983ce26e43aa4196073b4702858670f2eb111f9a10652b4b", size = 8691815, upload-time = "2025-07-31T18:08:42.238Z" }, + { url = "https://files.pythonhosted.org/packages/d0/ba/450c39ebdd486bd33a359fc17365ade46c6a96bf637bbb0df7824de2886c/matplotlib-3.10.5-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8a8da0453a7fd8e3da114234ba70c5ba9ef0e98f190309ddfde0f089accd46ea", size = 9522814, upload-time = "2025-07-31T18:08:44.914Z" }, + { url = "https://files.pythonhosted.org/packages/89/11/9c66f6a990e27bb9aa023f7988d2d5809cb98aa39c09cbf20fba75a542ef/matplotlib-3.10.5-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:52c6573dfcb7726a9907b482cd5b92e6b5499b284ffacb04ffbfe06b3e568124", size = 9573917, upload-time = "2025-07-31T18:08:47.038Z" }, + { url = "https://files.pythonhosted.org/packages/b3/69/8b49394de92569419e5e05e82e83df9b749a0ff550d07631ea96ed2eb35a/matplotlib-3.10.5-cp313-cp313t-win_amd64.whl", hash = "sha256:a23193db2e9d64ece69cac0c8231849db7dd77ce59c7b89948cf9d0ce655a3ce", size = 8181034, upload-time = "2025-07-31T18:08:48.943Z" }, + { url = "https://files.pythonhosted.org/packages/47/23/82dc435bb98a2fc5c20dffcac8f0b083935ac28286413ed8835df40d0baa/matplotlib-3.10.5-cp313-cp313t-win_arm64.whl", hash = "sha256:56da3b102cf6da2776fef3e71cd96fcf22103a13594a18ac9a9b31314e0be154", size = 8023337, upload-time = "2025-07-31T18:08:50.791Z" }, + { url = "https://files.pythonhosted.org/packages/ac/e0/26b6cfde31f5383503ee45dcb7e691d45dadf0b3f54639332b59316a97f8/matplotlib-3.10.5-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:96ef8f5a3696f20f55597ffa91c28e2e73088df25c555f8d4754931515512715", size = 8253591, upload-time = "2025-07-31T18:08:53.254Z" }, + { url = "https://files.pythonhosted.org/packages/c1/89/98488c7ef7ea20ea659af7499628c240a608b337af4be2066d644cfd0a0f/matplotlib-3.10.5-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:77fab633e94b9da60512d4fa0213daeb76d5a7b05156840c4fd0399b4b818837", size = 8112566, upload-time = "2025-07-31T18:08:55.116Z" }, + { url = "https://files.pythonhosted.org/packages/52/67/42294dfedc82aea55e1a767daf3263aacfb5a125f44ba189e685bab41b6f/matplotlib-3.10.5-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:27f52634315e96b1debbfdc5c416592edcd9c4221bc2f520fd39c33db5d9f202", size = 9513281, upload-time = "2025-07-31T18:08:56.885Z" }, + { url = "https://files.pythonhosted.org/packages/e7/68/f258239e0cf34c2cbc816781c7ab6fca768452e6bf1119aedd2bd4a882a3/matplotlib-3.10.5-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:525f6e28c485c769d1f07935b660c864de41c37fd716bfa64158ea646f7084bb", size = 9780873, upload-time = "2025-07-31T18:08:59.241Z" }, + { url = "https://files.pythonhosted.org/packages/89/64/f4881554006bd12e4558bd66778bdd15d47b00a1f6c6e8b50f6208eda4b3/matplotlib-3.10.5-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:1f5f3ec4c191253c5f2b7c07096a142c6a1c024d9f738247bfc8e3f9643fc975", size = 9568954, upload-time = "2025-07-31T18:09:01.244Z" }, + { url = "https://files.pythonhosted.org/packages/06/f8/42779d39c3f757e1f012f2dda3319a89fb602bd2ef98ce8faf0281f4febd/matplotlib-3.10.5-cp314-cp314-win_amd64.whl", hash = "sha256:707f9c292c4cd4716f19ab8a1f93f26598222cd931e0cd98fbbb1c5994bf7667", size = 8237465, upload-time = "2025-07-31T18:09:03.206Z" }, + { url = "https://files.pythonhosted.org/packages/cf/f8/153fd06b5160f0cd27c8b9dd797fcc9fb56ac6a0ebf3c1f765b6b68d3c8a/matplotlib-3.10.5-cp314-cp314-win_arm64.whl", hash = "sha256:21a95b9bf408178d372814de7baacd61c712a62cae560b5e6f35d791776f6516", size = 8108898, upload-time = "2025-07-31T18:09:05.231Z" }, + { url = "https://files.pythonhosted.org/packages/9a/ee/c4b082a382a225fe0d2a73f1f57cf6f6f132308805b493a54c8641006238/matplotlib-3.10.5-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:a6b310f95e1102a8c7c817ef17b60ee5d1851b8c71b63d9286b66b177963039e", size = 8295636, upload-time = "2025-07-31T18:09:07.306Z" }, + { url = "https://files.pythonhosted.org/packages/30/73/2195fa2099718b21a20da82dfc753bf2af58d596b51aefe93e359dd5915a/matplotlib-3.10.5-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:94986a242747a0605cb3ff1cb98691c736f28a59f8ffe5175acaeb7397c49a5a", size = 8158575, upload-time = "2025-07-31T18:09:09.083Z" }, + { url = "https://files.pythonhosted.org/packages/f6/e9/a08cdb34618a91fa08f75e6738541da5cacde7c307cea18ff10f0d03fcff/matplotlib-3.10.5-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1ff10ea43288f0c8bab608a305dc6c918cc729d429c31dcbbecde3b9f4d5b569", size = 9522815, upload-time = "2025-07-31T18:09:11.191Z" }, + { url = "https://files.pythonhosted.org/packages/4e/bb/34d8b7e0d1bb6d06ef45db01dfa560d5a67b1c40c0b998ce9ccde934bb09/matplotlib-3.10.5-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f6adb644c9d040ffb0d3434e440490a66cf73dbfa118a6f79cd7568431f7a012", size = 9783514, upload-time = "2025-07-31T18:09:13.307Z" }, + { url = "https://files.pythonhosted.org/packages/12/09/d330d1e55dcca2e11b4d304cc5227f52e2512e46828d6249b88e0694176e/matplotlib-3.10.5-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:4fa40a8f98428f789a9dcacd625f59b7bc4e3ef6c8c7c80187a7a709475cf592", size = 9573932, upload-time = "2025-07-31T18:09:15.335Z" }, + { url = "https://files.pythonhosted.org/packages/eb/3b/f70258ac729aa004aca673800a53a2b0a26d49ca1df2eaa03289a1c40f81/matplotlib-3.10.5-cp314-cp314t-win_amd64.whl", hash = "sha256:95672a5d628b44207aab91ec20bf59c26da99de12b88f7e0b1fb0a84a86ff959", size = 8322003, upload-time = "2025-07-31T18:09:17.416Z" }, + { url = "https://files.pythonhosted.org/packages/5b/60/3601f8ce6d76a7c81c7f25a0e15fde0d6b66226dd187aa6d2838e6374161/matplotlib-3.10.5-cp314-cp314t-win_arm64.whl", hash = "sha256:2efaf97d72629e74252e0b5e3c46813e9eeaa94e011ecf8084a971a31a97f40b", size = 8153849, upload-time = "2025-07-31T18:09:19.673Z" }, + { url = "https://files.pythonhosted.org/packages/e4/eb/7d4c5de49eb78294e1a8e2be8a6ecff8b433e921b731412a56cd1abd3567/matplotlib-3.10.5-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:b5fa2e941f77eb579005fb804026f9d0a1082276118d01cc6051d0d9626eaa7f", size = 8222360, upload-time = "2025-07-31T18:09:21.813Z" }, + { url = "https://files.pythonhosted.org/packages/16/8a/e435db90927b66b16d69f8f009498775f4469f8de4d14b87856965e58eba/matplotlib-3.10.5-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:1fc0d2a3241cdcb9daaca279204a3351ce9df3c0e7e621c7e04ec28aaacaca30", size = 8087462, upload-time = "2025-07-31T18:09:23.504Z" }, + { url = "https://files.pythonhosted.org/packages/0b/dd/06c0e00064362f5647f318e00b435be2ff76a1bdced97c5eaf8347311fbe/matplotlib-3.10.5-pp310-pypy310_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:8dee65cb1424b7dc982fe87895b5613d4e691cc57117e8af840da0148ca6c1d7", size = 8659802, upload-time = "2025-07-31T18:09:25.256Z" }, + { url = "https://files.pythonhosted.org/packages/dc/d6/e921be4e1a5f7aca5194e1f016cb67ec294548e530013251f630713e456d/matplotlib-3.10.5-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:160e125da27a749481eaddc0627962990f6029811dbeae23881833a011a0907f", size = 8233224, upload-time = "2025-07-31T18:09:27.512Z" }, + { url = "https://files.pythonhosted.org/packages/ec/74/a2b9b04824b9c349c8f1b2d21d5af43fa7010039427f2b133a034cb09e59/matplotlib-3.10.5-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:ac3d50760394d78a3c9be6b28318fe22b494c4fcf6407e8fd4794b538251899b", size = 8098539, upload-time = "2025-07-31T18:09:29.629Z" }, + { url = "https://files.pythonhosted.org/packages/fc/66/cd29ebc7f6c0d2a15d216fb572573e8fc38bd5d6dec3bd9d7d904c0949f7/matplotlib-3.10.5-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:6c49465bf689c4d59d174d0c7795fb42a21d4244d11d70e52b8011987367ac61", size = 8672192, upload-time = "2025-07-31T18:09:31.407Z" }, ] [[package]] name = "mcp" -version = "1.12.1" +version = "1.12.3" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "anyio" }, @@ -2440,9 +2564,9 @@ dependencies = [ { name = "starlette" }, { name = "uvicorn", marker = "sys_platform != 'emscripten'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/5c/5a/16cef13b2e60d5f865fbc96372efb23dc8b0591f102dd55003b4ae62f9b1/mcp-1.12.1.tar.gz", hash = "sha256:d1d0bdeb09e4b17c1a72b356248bf3baf75ab10db7008ef865c4afbeb0eb810e", size = 425768, upload-time = "2025-07-22T16:51:41.66Z" } +sdist = { url = "https://files.pythonhosted.org/packages/4d/19/9955e2df5384ff5dd25d38f8e88aaf89d2d3d9d39f27e7383eaf0b293836/mcp-1.12.3.tar.gz", hash = "sha256:ab2e05f5e5c13e1dc90a4a9ef23ac500a6121362a564447855ef0ab643a99fed", size = 427203, upload-time = "2025-07-31T18:36:36.795Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/b9/04/9a967a575518fc958bda1e34a52eae0c7f6accf3534811914fdaf57b0689/mcp-1.12.1-py3-none-any.whl", hash = "sha256:34147f62891417f8b000c39718add844182ba424c8eb2cea250b4267bda4b08b", size = 158463, upload-time = "2025-07-22T16:51:40.086Z" }, + { url = "https://files.pythonhosted.org/packages/8f/8b/0be74e3308a486f1d127f3f6767de5f9f76454c9b4183210c61cc50999b6/mcp-1.12.3-py3-none-any.whl", hash = "sha256:5483345bf39033b858920a5b6348a303acacf45b23936972160ff152107b850e", size = 158810, upload-time = "2025-07-31T18:36:34.915Z" }, ] [[package]] @@ -2454,154 +2578,125 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/b3/38/89ba8ad64ae25be8de66a6d463314cf1eb366222074cfda9ee839c56a4b4/mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8", size = 9979, upload-time = "2022-08-14T12:40:09.779Z" }, ] -[[package]] -name = "mergedeep" -version = "1.3.4" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/3a/41/580bb4006e3ed0361b8151a01d324fb03f420815446c7def45d02f74c270/mergedeep-1.3.4.tar.gz", hash = "sha256:0096d52e9dad9939c3d975a774666af186eda617e6ca84df4c94dec30004f2a8", size = 4661, upload-time = "2021-02-05T18:55:30.623Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/2c/19/04f9b178c2d8a15b076c8b5140708fa6ffc5601fb6f1e975537072df5b2a/mergedeep-1.3.4-py3-none-any.whl", hash = "sha256:70775750742b25c0d8f36c55aed03d24c3384d17c951b3175d898bd778ef0307", size = 6354, upload-time = "2021-02-05T18:55:29.583Z" }, -] - -[[package]] -name = "mkdocs" -version = "1.6.1" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "click" }, - { name = "colorama", marker = "sys_platform == 'win32'" }, - { name = "ghp-import" }, - { name = "jinja2" }, - { name = "markdown" }, - { name = "markupsafe" }, - { name = "mergedeep" }, - { name = "mkdocs-get-deps" }, - { name = "packaging" }, - { name = "pathspec" }, - { name = "pyyaml" }, - { name = "pyyaml-env-tag" }, - { name = "watchdog" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/bc/c6/bbd4f061bd16b378247f12953ffcb04786a618ce5e904b8c5a01a0309061/mkdocs-1.6.1.tar.gz", hash = "sha256:7b432f01d928c084353ab39c57282f29f92136665bdd6abf7c1ec8d822ef86f2", size = 3889159, upload-time = "2024-08-30T12:24:06.899Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/22/5b/dbc6a8cddc9cfa9c4971d59fb12bb8d42e161b7e7f8cc89e49137c5b279c/mkdocs-1.6.1-py3-none-any.whl", hash = "sha256:db91759624d1647f3f34aa0c3f327dd2601beae39a366d6e064c03468d35c20e", size = 3864451, upload-time = "2024-08-30T12:24:05.054Z" }, -] - -[[package]] -name = "mkdocs-get-deps" -version = "0.2.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "mergedeep" }, - { name = "platformdirs" }, - { name = "pyyaml" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/98/f5/ed29cd50067784976f25ed0ed6fcd3c2ce9eb90650aa3b2796ddf7b6870b/mkdocs_get_deps-0.2.0.tar.gz", hash = "sha256:162b3d129c7fad9b19abfdcb9c1458a651628e4b1dea628ac68790fb3061c60c", size = 10239, upload-time = "2023-11-20T17:51:09.981Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/9f/d4/029f984e8d3f3b6b726bd33cafc473b75e9e44c0f7e80a5b29abc466bdea/mkdocs_get_deps-0.2.0-py3-none-any.whl", hash = "sha256:2bf11d0b133e77a0dd036abeeb06dec8775e46efa526dc70667d8863eefc6134", size = 9521, upload-time = "2023-11-20T17:51:08.587Z" }, -] - -[[package]] -name = "mkdocs-material" -version = "9.6.15" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "babel" }, - { name = "backrefs" }, - { name = "colorama" }, - { name = "jinja2" }, - { name = "markdown" }, - { name = "mkdocs" }, - { name = "mkdocs-material-extensions" }, - { name = "paginate" }, - { name = "pygments" }, - { name = "pymdown-extensions" }, - { name = "requests" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/95/c1/f804ba2db2ddc2183e900befe7dad64339a34fa935034e1ab405289d0a97/mkdocs_material-9.6.15.tar.gz", hash = "sha256:64adf8fa8dba1a17905b6aee1894a5aafd966d4aeb44a11088519b0f5ca4f1b5", size = 3951836, upload-time = "2025-07-01T10:14:15.671Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/1d/30/dda19f0495a9096b64b6b3c07c4bfcff1c76ee0fc521086d53593f18b4c0/mkdocs_material-9.6.15-py3-none-any.whl", hash = "sha256:ac969c94d4fe5eb7c924b6d2f43d7db41159ea91553d18a9afc4780c34f2717a", size = 8716840, upload-time = "2025-07-01T10:14:13.18Z" }, -] - -[[package]] -name = "mkdocs-material-extensions" -version = "1.3.1" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/79/9b/9b4c96d6593b2a541e1cb8b34899a6d021d208bb357042823d4d2cabdbe7/mkdocs_material_extensions-1.3.1.tar.gz", hash = "sha256:10c9511cea88f568257f960358a467d12b970e1f7b2c0e5fb2bb48cab1928443", size = 11847, upload-time = "2023-11-22T19:09:45.208Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/5b/54/662a4743aa81d9582ee9339d4ffa3c8fd40a4965e033d77b9da9774d3960/mkdocs_material_extensions-1.3.1-py3-none-any.whl", hash = "sha256:adff8b62700b25cb77b53358dad940f3ef973dd6db797907c49e3c2ef3ab4e31", size = 8728, upload-time = "2023-11-22T19:09:43.465Z" }, -] - [[package]] name = "mmh3" -version = "5.1.0" +version = "5.2.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/47/1b/1fc6888c74cbd8abad1292dde2ddfcf8fc059e114c97dd6bf16d12f36293/mmh3-5.1.0.tar.gz", hash = "sha256:136e1e670500f177f49ec106a4ebf0adf20d18d96990cc36ea492c651d2b406c", size = 33728, upload-time = "2025-01-25T08:39:43.386Z" } +sdist = { url = "https://files.pythonhosted.org/packages/a7/af/f28c2c2f51f31abb4725f9a64bc7863d5f491f6539bd26aee2a1d21a649e/mmh3-5.2.0.tar.gz", hash = "sha256:1efc8fec8478e9243a78bb993422cf79f8ff85cb4cf6b79647480a31e0d950a8", size = 33582, upload-time = "2025-07-29T07:43:48.49Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/a1/01/9d06468928661765c0fc248a29580c760a4a53a9c6c52cf72528bae3582e/mmh3-5.1.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:eaf4ac5c6ee18ca9232238364d7f2a213278ae5ca97897cafaa123fcc7bb8bec", size = 56095, upload-time = "2025-01-25T08:37:53.621Z" }, - { url = "https://files.pythonhosted.org/packages/e4/d7/7b39307fc9db867b2a9a20c58b0de33b778dd6c55e116af8ea031f1433ba/mmh3-5.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:48f9aa8ccb9ad1d577a16104834ac44ff640d8de8c0caed09a2300df7ce8460a", size = 40512, upload-time = "2025-01-25T08:37:54.972Z" }, - { url = "https://files.pythonhosted.org/packages/4f/85/728ca68280d8ccc60c113ad119df70ff1748fbd44c89911fed0501faf0b8/mmh3-5.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d4ba8cac21e1f2d4e436ce03a82a7f87cda80378691f760e9ea55045ec480a3d", size = 40110, upload-time = "2025-01-25T08:37:57.86Z" }, - { url = "https://files.pythonhosted.org/packages/e4/96/beaf0e301472ffa00358bbbf771fe2d9c4d709a2fe30b1d929e569f8cbdf/mmh3-5.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d69281c281cb01994f054d862a6bb02a2e7acfe64917795c58934b0872b9ece4", size = 100151, upload-time = "2025-01-25T08:37:59.609Z" }, - { url = "https://files.pythonhosted.org/packages/c3/ee/9381f825c4e09ffafeffa213c3865c4bf7d39771640de33ab16f6faeb854/mmh3-5.1.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4d05ed3962312fbda2a1589b97359d2467f677166952f6bd410d8c916a55febf", size = 106312, upload-time = "2025-01-25T08:38:02.102Z" }, - { url = "https://files.pythonhosted.org/packages/67/dc/350a54bea5cf397d357534198ab8119cfd0d8e8bad623b520f9c290af985/mmh3-5.1.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:78ae6a03f4cff4aa92ddd690611168856f8c33a141bd3e5a1e0a85521dc21ea0", size = 104232, upload-time = "2025-01-25T08:38:03.852Z" }, - { url = "https://files.pythonhosted.org/packages/b2/5d/2c6eb4a4ec2f7293b98a9c07cb8c64668330b46ff2b6511244339e69a7af/mmh3-5.1.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:95f983535b39795d9fb7336438faae117424c6798f763d67c6624f6caf2c4c01", size = 91663, upload-time = "2025-01-25T08:38:06.24Z" }, - { url = "https://files.pythonhosted.org/packages/f1/ac/17030d24196f73ecbab8b5033591e5e0e2beca103181a843a135c78f4fee/mmh3-5.1.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d46fdd80d4c7ecadd9faa6181e92ccc6fe91c50991c9af0e371fdf8b8a7a6150", size = 99166, upload-time = "2025-01-25T08:38:07.988Z" }, - { url = "https://files.pythonhosted.org/packages/b9/ed/54ddc56603561a10b33da9b12e95a48a271d126f4a4951841bbd13145ebf/mmh3-5.1.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:0f16e976af7365ea3b5c425124b2a7f0147eed97fdbb36d99857f173c8d8e096", size = 101555, upload-time = "2025-01-25T08:38:09.821Z" }, - { url = "https://files.pythonhosted.org/packages/1c/c3/33fb3a940c9b70908a5cc9fcc26534aff8698180f9f63ab6b7cc74da8bcd/mmh3-5.1.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:6fa97f7d1e1f74ad1565127229d510f3fd65d931fdedd707c1e15100bc9e5ebb", size = 94813, upload-time = "2025-01-25T08:38:11.682Z" }, - { url = "https://files.pythonhosted.org/packages/61/88/c9ff76a23abe34db8eee1a6fa4e449462a16c7eb547546fc5594b0860a72/mmh3-5.1.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:4052fa4a8561bd62648e9eb993c8f3af3bdedadf3d9687aa4770d10e3709a80c", size = 109611, upload-time = "2025-01-25T08:38:12.602Z" }, - { url = "https://files.pythonhosted.org/packages/0b/8e/27d04f40e95554ebe782cac7bddda2d158cf3862387298c9c7b254fa7beb/mmh3-5.1.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:3f0e8ae9f961037f812afe3cce7da57abf734285961fffbeff9a4c011b737732", size = 100515, upload-time = "2025-01-25T08:38:16.407Z" }, - { url = "https://files.pythonhosted.org/packages/7b/00/504ca8f462f01048f3c87cd93f2e1f60b93dac2f930cd4ed73532a9337f5/mmh3-5.1.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:99297f207db967814f1f02135bb7fe7628b9eacb046134a34e1015b26b06edce", size = 100177, upload-time = "2025-01-25T08:38:18.186Z" }, - { url = "https://files.pythonhosted.org/packages/6f/1d/2efc3525fe6fdf8865972fcbb884bd1f4b0f923c19b80891cecf7e239fa5/mmh3-5.1.0-cp310-cp310-win32.whl", hash = "sha256:2e6c8dc3631a5e22007fbdb55e993b2dbce7985c14b25b572dd78403c2e79182", size = 40815, upload-time = "2025-01-25T08:38:19.176Z" }, - { url = "https://files.pythonhosted.org/packages/38/b5/c8fbe707cb0fea77a6d2d58d497bc9b67aff80deb84d20feb34d8fdd8671/mmh3-5.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:e4e8c7ad5a4dddcfde35fd28ef96744c1ee0f9d9570108aa5f7e77cf9cfdf0bf", size = 41479, upload-time = "2025-01-25T08:38:21.098Z" }, - { url = "https://files.pythonhosted.org/packages/a1/f1/663e16134f913fccfbcea5b300fb7dc1860d8f63dc71867b013eebc10aec/mmh3-5.1.0-cp310-cp310-win_arm64.whl", hash = "sha256:45da549269883208912868a07d0364e1418d8292c4259ca11699ba1b2475bd26", size = 38883, upload-time = "2025-01-25T08:38:22.013Z" }, - { url = "https://files.pythonhosted.org/packages/56/09/fda7af7fe65928262098382e3bf55950cfbf67d30bf9e47731bf862161e9/mmh3-5.1.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:0b529dcda3f951ff363a51d5866bc6d63cf57f1e73e8961f864ae5010647079d", size = 56098, upload-time = "2025-01-25T08:38:22.917Z" }, - { url = "https://files.pythonhosted.org/packages/0c/ab/84c7bc3f366d6f3bd8b5d9325a10c367685bc17c26dac4c068e2001a4671/mmh3-5.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4db1079b3ace965e562cdfc95847312f9273eb2ad3ebea983435c8423e06acd7", size = 40513, upload-time = "2025-01-25T08:38:25.079Z" }, - { url = "https://files.pythonhosted.org/packages/4f/21/25ea58ca4a652bdc83d1528bec31745cce35802381fb4fe3c097905462d2/mmh3-5.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:22d31e3a0ff89b8eb3b826d6fc8e19532998b2aa6b9143698043a1268da413e1", size = 40112, upload-time = "2025-01-25T08:38:25.947Z" }, - { url = "https://files.pythonhosted.org/packages/bd/78/4f12f16ae074ddda6f06745254fdb50f8cf3c85b0bbf7eaca58bed84bf58/mmh3-5.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2139bfbd354cd6cb0afed51c4b504f29bcd687a3b1460b7e89498329cc28a894", size = 102632, upload-time = "2025-01-25T08:38:26.939Z" }, - { url = "https://files.pythonhosted.org/packages/48/11/8f09dc999cf2a09b6138d8d7fc734efb7b7bfdd9adb9383380941caadff0/mmh3-5.1.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8c8105c6a435bc2cd6ea2ef59558ab1a2976fd4a4437026f562856d08996673a", size = 108884, upload-time = "2025-01-25T08:38:29.159Z" }, - { url = "https://files.pythonhosted.org/packages/bd/91/e59a66538a3364176f6c3f7620eee0ab195bfe26f89a95cbcc7a1fb04b28/mmh3-5.1.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:57730067174a7f36fcd6ce012fe359bd5510fdaa5fe067bc94ed03e65dafb769", size = 106835, upload-time = "2025-01-25T08:38:33.04Z" }, - { url = "https://files.pythonhosted.org/packages/25/14/b85836e21ab90e5cddb85fe79c494ebd8f81d96a87a664c488cc9277668b/mmh3-5.1.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bde80eb196d7fdc765a318604ded74a4378f02c5b46c17aa48a27d742edaded2", size = 93688, upload-time = "2025-01-25T08:38:34.987Z" }, - { url = "https://files.pythonhosted.org/packages/ac/aa/8bc964067df9262740c95e4cde2d19f149f2224f426654e14199a9e47df6/mmh3-5.1.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e9c8eddcb441abddeb419c16c56fd74b3e2df9e57f7aa2903221996718435c7a", size = 101569, upload-time = "2025-01-25T08:38:35.983Z" }, - { url = "https://files.pythonhosted.org/packages/70/b6/1fb163cbf919046a64717466c00edabebece3f95c013853fec76dbf2df92/mmh3-5.1.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:99e07e4acafbccc7a28c076a847fb060ffc1406036bc2005acb1b2af620e53c3", size = 98483, upload-time = "2025-01-25T08:38:38.198Z" }, - { url = "https://files.pythonhosted.org/packages/70/49/ba64c050dd646060f835f1db6b2cd60a6485f3b0ea04976e7a29ace7312e/mmh3-5.1.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:9e25ba5b530e9a7d65f41a08d48f4b3fedc1e89c26486361166a5544aa4cad33", size = 96496, upload-time = "2025-01-25T08:38:39.257Z" }, - { url = "https://files.pythonhosted.org/packages/9e/07/f2751d6a0b535bb865e1066e9c6b80852571ef8d61bce7eb44c18720fbfc/mmh3-5.1.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:bb9bf7475b4d99156ce2f0cf277c061a17560c8c10199c910a680869a278ddc7", size = 105109, upload-time = "2025-01-25T08:38:40.395Z" }, - { url = "https://files.pythonhosted.org/packages/b7/02/30360a5a66f7abba44596d747cc1e6fb53136b168eaa335f63454ab7bb79/mmh3-5.1.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:2a1b0878dd281ea3003368ab53ff6f568e175f1b39f281df1da319e58a19c23a", size = 98231, upload-time = "2025-01-25T08:38:42.141Z" }, - { url = "https://files.pythonhosted.org/packages/8c/60/8526b0c750ff4d7ae1266e68b795f14b97758a1d9fcc19f6ecabf9c55656/mmh3-5.1.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:25f565093ac8b8aefe0f61f8f95c9a9d11dd69e6a9e9832ff0d293511bc36258", size = 97548, upload-time = "2025-01-25T08:38:43.402Z" }, - { url = "https://files.pythonhosted.org/packages/6d/4c/26e1222aca65769280d5427a1ce5875ef4213449718c8f03958d0bf91070/mmh3-5.1.0-cp311-cp311-win32.whl", hash = "sha256:1e3554d8792387eac73c99c6eaea0b3f884e7130eb67986e11c403e4f9b6d372", size = 40810, upload-time = "2025-01-25T08:38:45.143Z" }, - { url = "https://files.pythonhosted.org/packages/98/d5/424ba95062d1212ea615dc8debc8d57983f2242d5e6b82e458b89a117a1e/mmh3-5.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:8ad777a48197882492af50bf3098085424993ce850bdda406a358b6ab74be759", size = 41476, upload-time = "2025-01-25T08:38:46.029Z" }, - { url = "https://files.pythonhosted.org/packages/bd/08/0315ccaf087ba55bb19a6dd3b1e8acd491e74ce7f5f9c4aaa06a90d66441/mmh3-5.1.0-cp311-cp311-win_arm64.whl", hash = "sha256:f29dc4efd99bdd29fe85ed6c81915b17b2ef2cf853abf7213a48ac6fb3eaabe1", size = 38880, upload-time = "2025-01-25T08:38:47.035Z" }, - { url = "https://files.pythonhosted.org/packages/f4/47/e5f452bdf16028bfd2edb4e2e35d0441e4a4740f30e68ccd4cfd2fb2c57e/mmh3-5.1.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:45712987367cb9235026e3cbf4334670522a97751abfd00b5bc8bfa022c3311d", size = 56152, upload-time = "2025-01-25T08:38:47.902Z" }, - { url = "https://files.pythonhosted.org/packages/60/38/2132d537dc7a7fdd8d2e98df90186c7fcdbd3f14f95502a24ba443c92245/mmh3-5.1.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:b1020735eb35086ab24affbea59bb9082f7f6a0ad517cb89f0fc14f16cea4dae", size = 40564, upload-time = "2025-01-25T08:38:48.839Z" }, - { url = "https://files.pythonhosted.org/packages/c0/2a/c52cf000581bfb8d94794f58865658e7accf2fa2e90789269d4ae9560b16/mmh3-5.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:babf2a78ce5513d120c358722a2e3aa7762d6071cd10cede026f8b32452be322", size = 40104, upload-time = "2025-01-25T08:38:49.773Z" }, - { url = "https://files.pythonhosted.org/packages/83/33/30d163ce538c54fc98258db5621447e3ab208d133cece5d2577cf913e708/mmh3-5.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d4f47f58cd5cbef968c84a7c1ddc192fef0a36b48b0b8a3cb67354531aa33b00", size = 102634, upload-time = "2025-01-25T08:38:51.5Z" }, - { url = "https://files.pythonhosted.org/packages/94/5c/5a18acb6ecc6852be2d215c3d811aa61d7e425ab6596be940877355d7f3e/mmh3-5.1.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2044a601c113c981f2c1e14fa33adc9b826c9017034fe193e9eb49a6882dbb06", size = 108888, upload-time = "2025-01-25T08:38:52.542Z" }, - { url = "https://files.pythonhosted.org/packages/1f/f6/11c556324c64a92aa12f28e221a727b6e082e426dc502e81f77056f6fc98/mmh3-5.1.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c94d999c9f2eb2da44d7c2826d3fbffdbbbbcde8488d353fee7c848ecc42b968", size = 106968, upload-time = "2025-01-25T08:38:54.286Z" }, - { url = "https://files.pythonhosted.org/packages/5d/61/ca0c196a685aba7808a5c00246f17b988a9c4f55c594ee0a02c273e404f3/mmh3-5.1.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a015dcb24fa0c7a78f88e9419ac74f5001c1ed6a92e70fd1803f74afb26a4c83", size = 93771, upload-time = "2025-01-25T08:38:55.576Z" }, - { url = "https://files.pythonhosted.org/packages/b4/55/0927c33528710085ee77b808d85bbbafdb91a1db7c8eaa89cac16d6c513e/mmh3-5.1.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:457da019c491a2d20e2022c7d4ce723675e4c081d9efc3b4d8b9f28a5ea789bd", size = 101726, upload-time = "2025-01-25T08:38:56.654Z" }, - { url = "https://files.pythonhosted.org/packages/49/39/a92c60329fa470f41c18614a93c6cd88821412a12ee78c71c3f77e1cfc2d/mmh3-5.1.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:71408579a570193a4ac9c77344d68ddefa440b00468a0b566dcc2ba282a9c559", size = 98523, upload-time = "2025-01-25T08:38:57.662Z" }, - { url = "https://files.pythonhosted.org/packages/81/90/26adb15345af8d9cf433ae1b6adcf12e0a4cad1e692de4fa9f8e8536c5ae/mmh3-5.1.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:8b3a04bc214a6e16c81f02f855e285c6df274a2084787eeafaa45f2fbdef1b63", size = 96628, upload-time = "2025-01-25T08:38:59.505Z" }, - { url = "https://files.pythonhosted.org/packages/8a/4d/340d1e340df972a13fd4ec84c787367f425371720a1044220869c82364e9/mmh3-5.1.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:832dae26a35514f6d3c1e267fa48e8de3c7b978afdafa0529c808ad72e13ada3", size = 105190, upload-time = "2025-01-25T08:39:00.483Z" }, - { url = "https://files.pythonhosted.org/packages/d3/7c/65047d1cccd3782d809936db446430fc7758bda9def5b0979887e08302a2/mmh3-5.1.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:bf658a61fc92ef8a48945ebb1076ef4ad74269e353fffcb642dfa0890b13673b", size = 98439, upload-time = "2025-01-25T08:39:01.484Z" }, - { url = "https://files.pythonhosted.org/packages/72/d2/3c259d43097c30f062050f7e861075099404e8886b5d4dd3cebf180d6e02/mmh3-5.1.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3313577453582b03383731b66447cdcdd28a68f78df28f10d275d7d19010c1df", size = 97780, upload-time = "2025-01-25T08:39:02.444Z" }, - { url = "https://files.pythonhosted.org/packages/29/29/831ea8d4abe96cdb3e28b79eab49cac7f04f9c6b6e36bfc686197ddba09d/mmh3-5.1.0-cp312-cp312-win32.whl", hash = "sha256:1d6508504c531ab86c4424b5a5ff07c1132d063863339cf92f6657ff7a580f76", size = 40835, upload-time = "2025-01-25T08:39:03.369Z" }, - { url = "https://files.pythonhosted.org/packages/12/dd/7cbc30153b73f08eeac43804c1dbc770538a01979b4094edbe1a4b8eb551/mmh3-5.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:aa75981fcdf3f21759d94f2c81b6a6e04a49dfbcdad88b152ba49b8e20544776", size = 41509, upload-time = "2025-01-25T08:39:04.284Z" }, - { url = "https://files.pythonhosted.org/packages/80/9d/627375bab4c90dd066093fc2c9a26b86f87e26d980dbf71667b44cbee3eb/mmh3-5.1.0-cp312-cp312-win_arm64.whl", hash = "sha256:a4c1a76808dfea47f7407a0b07aaff9087447ef6280716fd0783409b3088bb3c", size = 38888, upload-time = "2025-01-25T08:39:05.174Z" }, - { url = "https://files.pythonhosted.org/packages/05/06/a098a42870db16c0a54a82c56a5bdc873de3165218cd5b3ca59dbc0d31a7/mmh3-5.1.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:7a523899ca29cfb8a5239618474a435f3d892b22004b91779fcb83504c0d5b8c", size = 56165, upload-time = "2025-01-25T08:39:06.887Z" }, - { url = "https://files.pythonhosted.org/packages/5a/65/eaada79a67fde1f43e1156d9630e2fb70655e1d3f4e8f33d7ffa31eeacfd/mmh3-5.1.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:17cef2c3a6ca2391ca7171a35ed574b5dab8398163129a3e3a4c05ab85a4ff40", size = 40569, upload-time = "2025-01-25T08:39:07.945Z" }, - { url = "https://files.pythonhosted.org/packages/36/7e/2b6c43ed48be583acd68e34d16f19209a9f210e4669421b0321e326d8554/mmh3-5.1.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:52e12895b30110f3d89dae59a888683cc886ed0472dd2eca77497edef6161997", size = 40104, upload-time = "2025-01-25T08:39:09.598Z" }, - { url = "https://files.pythonhosted.org/packages/11/2b/1f9e962fdde8e41b0f43d22c8ba719588de8952f9376df7d73a434827590/mmh3-5.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e0d6719045cda75c3f40397fc24ab67b18e0cb8f69d3429ab4c39763c4c608dd", size = 102497, upload-time = "2025-01-25T08:39:10.512Z" }, - { url = "https://files.pythonhosted.org/packages/46/94/d6c5c3465387ba077cccdc028ab3eec0d86eed1eebe60dcf4d15294056be/mmh3-5.1.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d19fa07d303a91f8858982c37e6939834cb11893cb3ff20e6ee6fa2a7563826a", size = 108834, upload-time = "2025-01-25T08:39:11.568Z" }, - { url = "https://files.pythonhosted.org/packages/34/1e/92c212bb81796b69dddfd50a8a8f4b26ab0d38fdaf1d3e8628a67850543b/mmh3-5.1.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:31b47a620d622fbde8ca1ca0435c5d25de0ac57ab507209245e918128e38e676", size = 106936, upload-time = "2025-01-25T08:39:12.638Z" }, - { url = "https://files.pythonhosted.org/packages/f4/41/f2f494bbff3aad5ffd2085506255049de76cde51ddac84058e32768acc79/mmh3-5.1.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:00f810647c22c179b6821079f7aa306d51953ac893587ee09cf1afb35adf87cb", size = 93709, upload-time = "2025-01-25T08:39:14.071Z" }, - { url = "https://files.pythonhosted.org/packages/9e/a9/a2cc4a756d73d9edf4fb85c76e16fd56b0300f8120fd760c76b28f457730/mmh3-5.1.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f6128b610b577eed1e89ac7177ab0c33d06ade2aba93f5c89306032306b5f1c6", size = 101623, upload-time = "2025-01-25T08:39:15.507Z" }, - { url = "https://files.pythonhosted.org/packages/5e/6f/b9d735533b6a56b2d56333ff89be6a55ac08ba7ff33465feb131992e33eb/mmh3-5.1.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:1e550a45d2ff87a1c11b42015107f1778c93f4c6f8e731bf1b8fa770321b8cc4", size = 98521, upload-time = "2025-01-25T08:39:16.77Z" }, - { url = "https://files.pythonhosted.org/packages/99/47/dff2b54fac0d421c1e6ecbd2d9c85b2d0e6f6ee0d10b115d9364116a511e/mmh3-5.1.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:785ae09276342f79fd8092633e2d52c0f7c44d56e8cfda8274ccc9b76612dba2", size = 96696, upload-time = "2025-01-25T08:39:17.805Z" }, - { url = "https://files.pythonhosted.org/packages/be/43/9e205310f47c43ddf1575bb3a1769c36688f30f1ac105e0f0c878a29d2cd/mmh3-5.1.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:0f4be3703a867ef976434afd3661a33884abe73ceb4ee436cac49d3b4c2aaa7b", size = 105234, upload-time = "2025-01-25T08:39:18.908Z" }, - { url = "https://files.pythonhosted.org/packages/6b/44/90b11fd2b67dcb513f5bfe9b476eb6ca2d5a221c79b49884dc859100905e/mmh3-5.1.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:e513983830c4ff1f205ab97152a0050cf7164f1b4783d702256d39c637b9d107", size = 98449, upload-time = "2025-01-25T08:39:20.719Z" }, - { url = "https://files.pythonhosted.org/packages/f0/d0/25c4b0c7b8e49836541059b28e034a4cccd0936202800d43a1cc48495ecb/mmh3-5.1.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:b9135c300535c828c0bae311b659f33a31c941572eae278568d1a953c4a57b59", size = 97796, upload-time = "2025-01-25T08:39:22.453Z" }, - { url = "https://files.pythonhosted.org/packages/23/fa/cbbb7fcd0e287a715f1cd28a10de94c0535bd94164e38b852abc18da28c6/mmh3-5.1.0-cp313-cp313-win32.whl", hash = "sha256:c65dbd12885a5598b70140d24de5839551af5a99b29f9804bb2484b29ef07692", size = 40828, upload-time = "2025-01-25T08:39:23.372Z" }, - { url = "https://files.pythonhosted.org/packages/09/33/9fb90ef822f7b734955a63851907cf72f8a3f9d8eb3c5706bfa6772a2a77/mmh3-5.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:10db7765201fc65003fa998faa067417ef6283eb5f9bba8f323c48fd9c33e91f", size = 41504, upload-time = "2025-01-25T08:39:24.286Z" }, - { url = "https://files.pythonhosted.org/packages/16/71/4ad9a42f2772793a03cb698f0fc42499f04e6e8d2560ba2f7da0fb059a8e/mmh3-5.1.0-cp313-cp313-win_arm64.whl", hash = "sha256:b22fe2e54be81f6c07dcb36b96fa250fb72effe08aa52fbb83eade6e1e2d5fd7", size = 38890, upload-time = "2025-01-25T08:39:25.28Z" }, + { url = "https://files.pythonhosted.org/packages/b9/2b/870f0ff5ecf312c58500f45950751f214b7068665e66e9bfd8bc2595587c/mmh3-5.2.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:81c504ad11c588c8629536b032940f2a359dda3b6cbfd4ad8f74cb24dcd1b0bc", size = 56119, upload-time = "2025-07-29T07:41:39.117Z" }, + { url = "https://files.pythonhosted.org/packages/3b/88/eb9a55b3f3cf43a74d6bfa8db0e2e209f966007777a1dc897c52c008314c/mmh3-5.2.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0b898cecff57442724a0f52bf42c2de42de63083a91008fb452887e372f9c328", size = 40634, upload-time = "2025-07-29T07:41:40.626Z" }, + { url = "https://files.pythonhosted.org/packages/d1/4c/8e4b3878bf8435c697d7ce99940a3784eb864521768069feaccaff884a17/mmh3-5.2.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:be1374df449465c9f2500e62eee73a39db62152a8bdfbe12ec5b5c1cd451344d", size = 40080, upload-time = "2025-07-29T07:41:41.791Z" }, + { url = "https://files.pythonhosted.org/packages/45/ac/0a254402c8c5ca424a0a9ebfe870f5665922f932830f0a11a517b6390a09/mmh3-5.2.0-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:b0d753ad566c721faa33db7e2e0eddd74b224cdd3eaf8481d76c926603c7a00e", size = 95321, upload-time = "2025-07-29T07:41:42.659Z" }, + { url = "https://files.pythonhosted.org/packages/39/8e/29306d5eca6dfda4b899d22c95b5420db4e0ffb7e0b6389b17379654ece5/mmh3-5.2.0-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:dfbead5575f6470c17e955b94f92d62a03dfc3d07f2e6f817d9b93dc211a1515", size = 101220, upload-time = "2025-07-29T07:41:43.572Z" }, + { url = "https://files.pythonhosted.org/packages/49/f7/0dd1368e531e52a17b5b8dd2f379cce813bff2d0978a7748a506f1231152/mmh3-5.2.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7434a27754049144539d2099a6d2da5d88b8bdeedf935180bf42ad59b3607aa3", size = 103991, upload-time = "2025-07-29T07:41:44.914Z" }, + { url = "https://files.pythonhosted.org/packages/35/06/abc7122c40f4abbfcef01d2dac6ec0b77ede9757e5be8b8a40a6265b1274/mmh3-5.2.0-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:cadc16e8ea64b5d9a47363013e2bea469e121e6e7cb416a7593aeb24f2ad122e", size = 110894, upload-time = "2025-07-29T07:41:45.849Z" }, + { url = "https://files.pythonhosted.org/packages/f4/2f/837885759afa4baccb8e40456e1cf76a4f3eac835b878c727ae1286c5f82/mmh3-5.2.0-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d765058da196f68dc721116cab335e696e87e76720e6ef8ee5a24801af65e63d", size = 118327, upload-time = "2025-07-29T07:41:47.224Z" }, + { url = "https://files.pythonhosted.org/packages/40/cc/5683ba20a21bcfb3f1605b1c474f46d30354f728a7412201f59f453d405a/mmh3-5.2.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:8b0c53fe0994beade1ad7c0f13bd6fec980a0664bfbe5a6a7d64500b9ab76772", size = 101701, upload-time = "2025-07-29T07:41:48.259Z" }, + { url = "https://files.pythonhosted.org/packages/0e/24/99ab3fb940150aec8a26dbdfc39b200b5592f6aeb293ec268df93e054c30/mmh3-5.2.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:49037d417419863b222ae47ee562b2de9c3416add0a45c8d7f4e864be8dc4f89", size = 96712, upload-time = "2025-07-29T07:41:49.467Z" }, + { url = "https://files.pythonhosted.org/packages/61/04/d7c4cb18f1f001ede2e8aed0f9dbbfad03d161c9eea4fffb03f14f4523e5/mmh3-5.2.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:6ecb4e750d712abde046858ee6992b65c93f1f71b397fce7975c3860c07365d2", size = 110302, upload-time = "2025-07-29T07:41:50.387Z" }, + { url = "https://files.pythonhosted.org/packages/d8/bf/4dac37580cfda74425a4547500c36fa13ef581c8a756727c37af45e11e9a/mmh3-5.2.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:382a6bb3f8c6532ea084e7acc5be6ae0c6effa529240836d59352398f002e3fc", size = 111929, upload-time = "2025-07-29T07:41:51.348Z" }, + { url = "https://files.pythonhosted.org/packages/eb/b1/49f0a582c7a942fb71ddd1ec52b7d21d2544b37d2b2d994551346a15b4f6/mmh3-5.2.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:7733ec52296fc1ba22e9b90a245c821adbb943e98c91d8a330a2254612726106", size = 100111, upload-time = "2025-07-29T07:41:53.139Z" }, + { url = "https://files.pythonhosted.org/packages/dc/94/ccec09f438caeb2506f4c63bb3b99aa08a9e09880f8fc047295154756210/mmh3-5.2.0-cp310-cp310-win32.whl", hash = "sha256:127c95336f2a98c51e7682341ab7cb0be3adb9df0819ab8505a726ed1801876d", size = 40783, upload-time = "2025-07-29T07:41:54.463Z" }, + { url = "https://files.pythonhosted.org/packages/ea/f4/8d39a32c8203c1cdae88fdb04d1ea4aa178c20f159df97f4c5a2eaec702c/mmh3-5.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:419005f84ba1cab47a77465a2a843562dadadd6671b8758bf179d82a15ca63eb", size = 41549, upload-time = "2025-07-29T07:41:55.295Z" }, + { url = "https://files.pythonhosted.org/packages/cc/a1/30efb1cd945e193f62574144dd92a0c9ee6463435e4e8ffce9b9e9f032f0/mmh3-5.2.0-cp310-cp310-win_arm64.whl", hash = "sha256:d22c9dcafed659fadc605538946c041722b6d1104fe619dbf5cc73b3c8a0ded8", size = 39335, upload-time = "2025-07-29T07:41:56.194Z" }, + { url = "https://files.pythonhosted.org/packages/f7/87/399567b3796e134352e11a8b973cd470c06b2ecfad5468fe580833be442b/mmh3-5.2.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:7901c893e704ee3c65f92d39b951f8f34ccf8e8566768c58103fb10e55afb8c1", size = 56107, upload-time = "2025-07-29T07:41:57.07Z" }, + { url = "https://files.pythonhosted.org/packages/c3/09/830af30adf8678955b247d97d3d9543dd2fd95684f3cd41c0cd9d291da9f/mmh3-5.2.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4a5f5536b1cbfa72318ab3bfc8a8188b949260baed186b75f0abc75b95d8c051", size = 40635, upload-time = "2025-07-29T07:41:57.903Z" }, + { url = "https://files.pythonhosted.org/packages/07/14/eaba79eef55b40d653321765ac5e8f6c9ac38780b8a7c2a2f8df8ee0fb72/mmh3-5.2.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:cedac4f4054b8f7859e5aed41aaa31ad03fce6851901a7fdc2af0275ac533c10", size = 40078, upload-time = "2025-07-29T07:41:58.772Z" }, + { url = "https://files.pythonhosted.org/packages/bb/26/83a0f852e763f81b2265d446b13ed6d49ee49e1fc0c47b9655977e6f3d81/mmh3-5.2.0-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:eb756caf8975882630ce4e9fbbeb9d3401242a72528230422c9ab3a0d278e60c", size = 97262, upload-time = "2025-07-29T07:41:59.678Z" }, + { url = "https://files.pythonhosted.org/packages/00/7d/b7133b10d12239aeaebf6878d7eaf0bf7d3738c44b4aba3c564588f6d802/mmh3-5.2.0-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:097e13c8b8a66c5753c6968b7640faefe85d8e38992703c1f666eda6ef4c3762", size = 103118, upload-time = "2025-07-29T07:42:01.197Z" }, + { url = "https://files.pythonhosted.org/packages/7b/3e/62f0b5dce2e22fd5b7d092aba285abd7959ea2b17148641e029f2eab1ffa/mmh3-5.2.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a7c0c7845566b9686480e6a7e9044db4afb60038d5fabd19227443f0104eeee4", size = 106072, upload-time = "2025-07-29T07:42:02.601Z" }, + { url = "https://files.pythonhosted.org/packages/66/84/ea88bb816edfe65052c757a1c3408d65c4201ddbd769d4a287b0f1a628b2/mmh3-5.2.0-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:61ac226af521a572700f863d6ecddc6ece97220ce7174e311948ff8c8919a363", size = 112925, upload-time = "2025-07-29T07:42:03.632Z" }, + { url = "https://files.pythonhosted.org/packages/2e/13/c9b1c022807db575fe4db806f442d5b5784547e2e82cff36133e58ea31c7/mmh3-5.2.0-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:582f9dbeefe15c32a5fa528b79b088b599a1dfe290a4436351c6090f90ddebb8", size = 120583, upload-time = "2025-07-29T07:42:04.991Z" }, + { url = "https://files.pythonhosted.org/packages/8a/5f/0e2dfe1a38f6a78788b7eb2b23432cee24623aeabbc907fed07fc17d6935/mmh3-5.2.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:2ebfc46b39168ab1cd44670a32ea5489bcbc74a25795c61b6d888c5c2cf654ed", size = 99127, upload-time = "2025-07-29T07:42:05.929Z" }, + { url = "https://files.pythonhosted.org/packages/77/27/aefb7d663b67e6a0c4d61a513c83e39ba2237e8e4557fa7122a742a23de5/mmh3-5.2.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:1556e31e4bd0ac0c17eaf220be17a09c171d7396919c3794274cb3415a9d3646", size = 98544, upload-time = "2025-07-29T07:42:06.87Z" }, + { url = "https://files.pythonhosted.org/packages/ab/97/a21cc9b1a7c6e92205a1b5fa030cdf62277d177570c06a239eca7bd6dd32/mmh3-5.2.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:81df0dae22cd0da87f1c978602750f33d17fb3d21fb0f326c89dc89834fea79b", size = 106262, upload-time = "2025-07-29T07:42:07.804Z" }, + { url = "https://files.pythonhosted.org/packages/43/18/db19ae82ea63c8922a880e1498a75342311f8aa0c581c4dd07711473b5f7/mmh3-5.2.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:eba01ec3bd4a49b9ac5ca2bc6a73ff5f3af53374b8556fcc2966dd2af9eb7779", size = 109824, upload-time = "2025-07-29T07:42:08.735Z" }, + { url = "https://files.pythonhosted.org/packages/9f/f5/41dcf0d1969125fc6f61d8618b107c79130b5af50b18a4651210ea52ab40/mmh3-5.2.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:e9a011469b47b752e7d20de296bb34591cdfcbe76c99c2e863ceaa2aa61113d2", size = 97255, upload-time = "2025-07-29T07:42:09.706Z" }, + { url = "https://files.pythonhosted.org/packages/32/b3/cce9eaa0efac1f0e735bb178ef9d1d2887b4927fe0ec16609d5acd492dda/mmh3-5.2.0-cp311-cp311-win32.whl", hash = "sha256:bc44fc2b886243d7c0d8daeb37864e16f232e5b56aaec27cc781d848264cfd28", size = 40779, upload-time = "2025-07-29T07:42:10.546Z" }, + { url = "https://files.pythonhosted.org/packages/7c/e9/3fa0290122e6d5a7041b50ae500b8a9f4932478a51e48f209a3879fe0b9b/mmh3-5.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:8ebf241072cf2777a492d0e09252f8cc2b3edd07dfdb9404b9757bffeb4f2cee", size = 41549, upload-time = "2025-07-29T07:42:11.399Z" }, + { url = "https://files.pythonhosted.org/packages/3a/54/c277475b4102588e6f06b2e9095ee758dfe31a149312cdbf62d39a9f5c30/mmh3-5.2.0-cp311-cp311-win_arm64.whl", hash = "sha256:b5f317a727bba0e633a12e71228bc6a4acb4f471a98b1c003163b917311ea9a9", size = 39336, upload-time = "2025-07-29T07:42:12.209Z" }, + { url = "https://files.pythonhosted.org/packages/bf/6a/d5aa7edb5c08e0bd24286c7d08341a0446f9a2fbbb97d96a8a6dd81935ee/mmh3-5.2.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:384eda9361a7bf83a85e09447e1feafe081034af9dd428893701b959230d84be", size = 56141, upload-time = "2025-07-29T07:42:13.456Z" }, + { url = "https://files.pythonhosted.org/packages/08/49/131d0fae6447bc4a7299ebdb1a6fb9d08c9f8dcf97d75ea93e8152ddf7ab/mmh3-5.2.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:2c9da0d568569cc87315cb063486d761e38458b8ad513fedd3dc9263e1b81bcd", size = 40681, upload-time = "2025-07-29T07:42:14.306Z" }, + { url = "https://files.pythonhosted.org/packages/8f/6f/9221445a6bcc962b7f5ff3ba18ad55bba624bacdc7aa3fc0a518db7da8ec/mmh3-5.2.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:86d1be5d63232e6eb93c50881aea55ff06eb86d8e08f9b5417c8c9b10db9db96", size = 40062, upload-time = "2025-07-29T07:42:15.08Z" }, + { url = "https://files.pythonhosted.org/packages/1e/d4/6bb2d0fef81401e0bb4c297d1eb568b767de4ce6fc00890bc14d7b51ecc4/mmh3-5.2.0-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:bf7bee43e17e81671c447e9c83499f53d99bf440bc6d9dc26a841e21acfbe094", size = 97333, upload-time = "2025-07-29T07:42:16.436Z" }, + { url = "https://files.pythonhosted.org/packages/44/e0/ccf0daff8134efbb4fbc10a945ab53302e358c4b016ada9bf97a6bdd50c1/mmh3-5.2.0-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:7aa18cdb58983ee660c9c400b46272e14fa253c675ed963d3812487f8ca42037", size = 103310, upload-time = "2025-07-29T07:42:17.796Z" }, + { url = "https://files.pythonhosted.org/packages/02/63/1965cb08a46533faca0e420e06aff8bbaf9690a6f0ac6ae6e5b2e4544687/mmh3-5.2.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ae9d032488fcec32d22be6542d1a836f00247f40f320844dbb361393b5b22773", size = 106178, upload-time = "2025-07-29T07:42:19.281Z" }, + { url = "https://files.pythonhosted.org/packages/c2/41/c883ad8e2c234013f27f92061200afc11554ea55edd1bcf5e1accd803a85/mmh3-5.2.0-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:e1861fb6b1d0453ed7293200139c0a9011eeb1376632e048e3766945b13313c5", size = 113035, upload-time = "2025-07-29T07:42:20.356Z" }, + { url = "https://files.pythonhosted.org/packages/df/b5/1ccade8b1fa625d634a18bab7bf08a87457e09d5ec8cf83ca07cbea9d400/mmh3-5.2.0-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:99bb6a4d809aa4e528ddfe2c85dd5239b78b9dd14be62cca0329db78505e7b50", size = 120784, upload-time = "2025-07-29T07:42:21.377Z" }, + { url = "https://files.pythonhosted.org/packages/77/1c/919d9171fcbdcdab242e06394464ccf546f7d0f3b31e0d1e3a630398782e/mmh3-5.2.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1f8d8b627799f4e2fcc7c034fed8f5f24dc7724ff52f69838a3d6d15f1ad4765", size = 99137, upload-time = "2025-07-29T07:42:22.344Z" }, + { url = "https://files.pythonhosted.org/packages/66/8a/1eebef5bd6633d36281d9fc83cf2e9ba1ba0e1a77dff92aacab83001cee4/mmh3-5.2.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:b5995088dd7023d2d9f310a0c67de5a2b2e06a570ecfd00f9ff4ab94a67cde43", size = 98664, upload-time = "2025-07-29T07:42:23.269Z" }, + { url = "https://files.pythonhosted.org/packages/13/41/a5d981563e2ee682b21fb65e29cc0f517a6734a02b581359edd67f9d0360/mmh3-5.2.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:1a5f4d2e59d6bba8ef01b013c472741835ad961e7c28f50c82b27c57748744a4", size = 106459, upload-time = "2025-07-29T07:42:24.238Z" }, + { url = "https://files.pythonhosted.org/packages/24/31/342494cd6ab792d81e083680875a2c50fa0c5df475ebf0b67784f13e4647/mmh3-5.2.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:fd6e6c3d90660d085f7e73710eab6f5545d4854b81b0135a3526e797009dbda3", size = 110038, upload-time = "2025-07-29T07:42:25.629Z" }, + { url = "https://files.pythonhosted.org/packages/28/44/efda282170a46bb4f19c3e2b90536513b1d821c414c28469a227ca5a1789/mmh3-5.2.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:c4a2f3d83879e3de2eb8cbf562e71563a8ed15ee9b9c2e77ca5d9f73072ac15c", size = 97545, upload-time = "2025-07-29T07:42:27.04Z" }, + { url = "https://files.pythonhosted.org/packages/68/8f/534ae319c6e05d714f437e7206f78c17e66daca88164dff70286b0e8ea0c/mmh3-5.2.0-cp312-cp312-win32.whl", hash = "sha256:2421b9d665a0b1ad724ec7332fb5a98d075f50bc51a6ff854f3a1882bd650d49", size = 40805, upload-time = "2025-07-29T07:42:28.032Z" }, + { url = "https://files.pythonhosted.org/packages/b8/f6/f6abdcfefcedab3c964868048cfe472764ed358c2bf6819a70dd4ed4ed3a/mmh3-5.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:72d80005b7634a3a2220f81fbeb94775ebd12794623bb2e1451701ea732b4aa3", size = 41597, upload-time = "2025-07-29T07:42:28.894Z" }, + { url = "https://files.pythonhosted.org/packages/15/fd/f7420e8cbce45c259c770cac5718badf907b302d3a99ec587ba5ce030237/mmh3-5.2.0-cp312-cp312-win_arm64.whl", hash = "sha256:3d6bfd9662a20c054bc216f861fa330c2dac7c81e7fb8307b5e32ab5b9b4d2e0", size = 39350, upload-time = "2025-07-29T07:42:29.794Z" }, + { url = "https://files.pythonhosted.org/packages/d8/fa/27f6ab93995ef6ad9f940e96593c5dd24744d61a7389532b0fec03745607/mmh3-5.2.0-cp313-cp313-android_21_arm64_v8a.whl", hash = "sha256:e79c00eba78f7258e5b354eccd4d7907d60317ced924ea4a5f2e9d83f5453065", size = 40874, upload-time = "2025-07-29T07:42:30.662Z" }, + { url = "https://files.pythonhosted.org/packages/11/9c/03d13bcb6a03438bc8cac3d2e50f80908d159b31a4367c2e1a7a077ded32/mmh3-5.2.0-cp313-cp313-android_21_x86_64.whl", hash = "sha256:956127e663d05edbeec54df38885d943dfa27406594c411139690485128525de", size = 42012, upload-time = "2025-07-29T07:42:31.539Z" }, + { url = "https://files.pythonhosted.org/packages/4e/78/0865d9765408a7d504f1789944e678f74e0888b96a766d578cb80b040999/mmh3-5.2.0-cp313-cp313-ios_13_0_arm64_iphoneos.whl", hash = "sha256:c3dca4cb5b946ee91b3d6bb700d137b1cd85c20827f89fdf9c16258253489044", size = 39197, upload-time = "2025-07-29T07:42:32.374Z" }, + { url = "https://files.pythonhosted.org/packages/3e/12/76c3207bd186f98b908b6706c2317abb73756d23a4e68ea2bc94825b9015/mmh3-5.2.0-cp313-cp313-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:e651e17bfde5840e9e4174b01e9e080ce49277b70d424308b36a7969d0d1af73", size = 39840, upload-time = "2025-07-29T07:42:33.227Z" }, + { url = "https://files.pythonhosted.org/packages/5d/0d/574b6cce5555c9f2b31ea189ad44986755eb14e8862db28c8b834b8b64dc/mmh3-5.2.0-cp313-cp313-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:9f64bf06f4bf623325fda3a6d02d36cd69199b9ace99b04bb2d7fd9f89688504", size = 40644, upload-time = "2025-07-29T07:42:34.099Z" }, + { url = "https://files.pythonhosted.org/packages/52/82/3731f8640b79c46707f53ed72034a58baad400be908c87b0088f1f89f986/mmh3-5.2.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ddc63328889bcaee77b743309e5c7d2d52cee0d7d577837c91b6e7cc9e755e0b", size = 56153, upload-time = "2025-07-29T07:42:35.031Z" }, + { url = "https://files.pythonhosted.org/packages/4f/34/e02dca1d4727fd9fdeaff9e2ad6983e1552804ce1d92cc796e5b052159bb/mmh3-5.2.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:bb0fdc451fb6d86d81ab8f23d881b8d6e37fc373a2deae1c02d27002d2ad7a05", size = 40684, upload-time = "2025-07-29T07:42:35.914Z" }, + { url = "https://files.pythonhosted.org/packages/8f/36/3dee40767356e104967e6ed6d102ba47b0b1ce2a89432239b95a94de1b89/mmh3-5.2.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:b29044e1ffdb84fe164d0a7ea05c7316afea93c00f8ed9449cf357c36fc4f814", size = 40057, upload-time = "2025-07-29T07:42:36.755Z" }, + { url = "https://files.pythonhosted.org/packages/31/58/228c402fccf76eb39a0a01b8fc470fecf21965584e66453b477050ee0e99/mmh3-5.2.0-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:58981d6ea9646dbbf9e59a30890cbf9f610df0e4a57dbfe09215116fd90b0093", size = 97344, upload-time = "2025-07-29T07:42:37.675Z" }, + { url = "https://files.pythonhosted.org/packages/34/82/fc5ce89006389a6426ef28e326fc065b0fbaaed230373b62d14c889f47ea/mmh3-5.2.0-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:7e5634565367b6d98dc4aa2983703526ef556b3688ba3065edb4b9b90ede1c54", size = 103325, upload-time = "2025-07-29T07:42:38.591Z" }, + { url = "https://files.pythonhosted.org/packages/09/8c/261e85777c6aee1ebd53f2f17e210e7481d5b0846cd0b4a5c45f1e3761b8/mmh3-5.2.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b0271ac12415afd3171ab9a3c7cbfc71dee2c68760a7dc9d05bf8ed6ddfa3a7a", size = 106240, upload-time = "2025-07-29T07:42:39.563Z" }, + { url = "https://files.pythonhosted.org/packages/70/73/2f76b3ad8a3d431824e9934403df36c0ddacc7831acf82114bce3c4309c8/mmh3-5.2.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:45b590e31bc552c6f8e2150ff1ad0c28dd151e9f87589e7eaf508fbdd8e8e908", size = 113060, upload-time = "2025-07-29T07:42:40.585Z" }, + { url = "https://files.pythonhosted.org/packages/9f/b9/7ea61a34e90e50a79a9d87aa1c0b8139a7eaf4125782b34b7d7383472633/mmh3-5.2.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:bdde97310d59604f2a9119322f61b31546748499a21b44f6715e8ced9308a6c5", size = 120781, upload-time = "2025-07-29T07:42:41.618Z" }, + { url = "https://files.pythonhosted.org/packages/0f/5b/ae1a717db98c7894a37aeedbd94b3f99e6472a836488f36b6849d003485b/mmh3-5.2.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:fc9c5f280438cf1c1a8f9abb87dc8ce9630a964120cfb5dd50d1e7ce79690c7a", size = 99174, upload-time = "2025-07-29T07:42:42.587Z" }, + { url = "https://files.pythonhosted.org/packages/e3/de/000cce1d799fceebb6d4487ae29175dd8e81b48e314cba7b4da90bcf55d7/mmh3-5.2.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:c903e71fd8debb35ad2a4184c1316b3cb22f64ce517b4e6747f25b0a34e41266", size = 98734, upload-time = "2025-07-29T07:42:43.996Z" }, + { url = "https://files.pythonhosted.org/packages/79/19/0dc364391a792b72fbb22becfdeacc5add85cc043cd16986e82152141883/mmh3-5.2.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:eed4bba7ff8a0d37106ba931ab03bdd3915fbb025bcf4e1f0aa02bc8114960c5", size = 106493, upload-time = "2025-07-29T07:42:45.07Z" }, + { url = "https://files.pythonhosted.org/packages/3c/b1/bc8c28e4d6e807bbb051fefe78e1156d7f104b89948742ad310612ce240d/mmh3-5.2.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:1fdb36b940e9261aff0b5177c5b74a36936b902f473180f6c15bde26143681a9", size = 110089, upload-time = "2025-07-29T07:42:46.122Z" }, + { url = "https://files.pythonhosted.org/packages/3b/a2/d20f3f5c95e9c511806686c70d0a15479cc3941c5f322061697af1c1ff70/mmh3-5.2.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:7303aab41e97adcf010a09efd8f1403e719e59b7705d5e3cfed3dd7571589290", size = 97571, upload-time = "2025-07-29T07:42:47.18Z" }, + { url = "https://files.pythonhosted.org/packages/7b/23/665296fce4f33488deec39a750ffd245cfc07aafb0e3ef37835f91775d14/mmh3-5.2.0-cp313-cp313-win32.whl", hash = "sha256:03e08c6ebaf666ec1e3d6ea657a2d363bb01effd1a9acfe41f9197decaef0051", size = 40806, upload-time = "2025-07-29T07:42:48.166Z" }, + { url = "https://files.pythonhosted.org/packages/59/b0/92e7103f3b20646e255b699e2d0327ce53a3f250e44367a99dc8be0b7c7a/mmh3-5.2.0-cp313-cp313-win_amd64.whl", hash = "sha256:7fddccd4113e7b736706e17a239a696332360cbaddf25ae75b57ba1acce65081", size = 41600, upload-time = "2025-07-29T07:42:49.371Z" }, + { url = "https://files.pythonhosted.org/packages/99/22/0b2bd679a84574647de538c5b07ccaa435dbccc37815067fe15b90fe8dad/mmh3-5.2.0-cp313-cp313-win_arm64.whl", hash = "sha256:fa0c966ee727aad5406d516375593c5f058c766b21236ab8985693934bb5085b", size = 39349, upload-time = "2025-07-29T07:42:50.268Z" }, + { url = "https://files.pythonhosted.org/packages/f7/ca/a20db059a8a47048aaf550da14a145b56e9c7386fb8280d3ce2962dcebf7/mmh3-5.2.0-cp314-cp314-ios_13_0_arm64_iphoneos.whl", hash = "sha256:e5015f0bb6eb50008bed2d4b1ce0f2a294698a926111e4bb202c0987b4f89078", size = 39209, upload-time = "2025-07-29T07:42:51.559Z" }, + { url = "https://files.pythonhosted.org/packages/98/dd/e5094799d55c7482d814b979a0fd608027d0af1b274bfb4c3ea3e950bfd5/mmh3-5.2.0-cp314-cp314-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:e0f3ed828d709f5b82d8bfe14f8856120718ec4bd44a5b26102c3030a1e12501", size = 39843, upload-time = "2025-07-29T07:42:52.536Z" }, + { url = "https://files.pythonhosted.org/packages/f4/6b/7844d7f832c85400e7cc89a1348e4e1fdd38c5a38415bb5726bbb8fcdb6c/mmh3-5.2.0-cp314-cp314-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:f35727c5118aba95f0397e18a1a5b8405425581bfe53e821f0fb444cbdc2bc9b", size = 40648, upload-time = "2025-07-29T07:42:53.392Z" }, + { url = "https://files.pythonhosted.org/packages/1f/bf/71f791f48a21ff3190ba5225807cbe4f7223360e96862c376e6e3fb7efa7/mmh3-5.2.0-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:3bc244802ccab5220008cb712ca1508cb6a12f0eb64ad62997156410579a1770", size = 56164, upload-time = "2025-07-29T07:42:54.267Z" }, + { url = "https://files.pythonhosted.org/packages/70/1f/f87e3d34d83032b4f3f0f528c6d95a98290fcacf019da61343a49dccfd51/mmh3-5.2.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:ff3d50dc3fe8a98059f99b445dfb62792b5d006c5e0b8f03c6de2813b8376110", size = 40692, upload-time = "2025-07-29T07:42:55.234Z" }, + { url = "https://files.pythonhosted.org/packages/a6/e2/db849eaed07117086f3452feca8c839d30d38b830ac59fe1ce65af8be5ad/mmh3-5.2.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:37a358cc881fe796e099c1db6ce07ff757f088827b4e8467ac52b7a7ffdca647", size = 40068, upload-time = "2025-07-29T07:42:56.158Z" }, + { url = "https://files.pythonhosted.org/packages/df/6b/209af927207af77425b044e32f77f49105a0b05d82ff88af6971d8da4e19/mmh3-5.2.0-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:b9a87025121d1c448f24f27ff53a5fe7b6ef980574b4a4f11acaabe702420d63", size = 97367, upload-time = "2025-07-29T07:42:57.037Z" }, + { url = "https://files.pythonhosted.org/packages/ca/e0/78adf4104c425606a9ce33fb351f790c76a6c2314969c4a517d1ffc92196/mmh3-5.2.0-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:1ba55d6ca32eeef8b2625e1e4bfc3b3db52bc63014bd7e5df8cc11bf2b036b12", size = 103306, upload-time = "2025-07-29T07:42:58.522Z" }, + { url = "https://files.pythonhosted.org/packages/a3/79/c2b89f91b962658b890104745b1b6c9ce38d50a889f000b469b91eeb1b9e/mmh3-5.2.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c9ff37ba9f15637e424c2ab57a1a590c52897c845b768e4e0a4958084ec87f22", size = 106312, upload-time = "2025-07-29T07:42:59.552Z" }, + { url = "https://files.pythonhosted.org/packages/4b/14/659d4095528b1a209be90934778c5ffe312177d51e365ddcbca2cac2ec7c/mmh3-5.2.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a094319ec0db52a04af9fdc391b4d39a1bc72bc8424b47c4411afb05413a44b5", size = 113135, upload-time = "2025-07-29T07:43:00.745Z" }, + { url = "https://files.pythonhosted.org/packages/8d/6f/cd7734a779389a8a467b5c89a48ff476d6f2576e78216a37551a97e9e42a/mmh3-5.2.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:c5584061fd3da584659b13587f26c6cad25a096246a481636d64375d0c1f6c07", size = 120775, upload-time = "2025-07-29T07:43:02.124Z" }, + { url = "https://files.pythonhosted.org/packages/1d/ca/8256e3b96944408940de3f9291d7e38a283b5761fe9614d4808fcf27bd62/mmh3-5.2.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:ecbfc0437ddfdced5e7822d1ce4855c9c64f46819d0fdc4482c53f56c707b935", size = 99178, upload-time = "2025-07-29T07:43:03.182Z" }, + { url = "https://files.pythonhosted.org/packages/8a/32/39e2b3cf06b6e2eb042c984dab8680841ac2a0d3ca6e0bea30db1f27b565/mmh3-5.2.0-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:7b986d506a8e8ea345791897ba5d8ba0d9d8820cd4fc3e52dbe6de19388de2e7", size = 98738, upload-time = "2025-07-29T07:43:04.207Z" }, + { url = "https://files.pythonhosted.org/packages/61/d3/7bbc8e0e8cf65ebbe1b893ffa0467b7ecd1bd07c3bbf6c9db4308ada22ec/mmh3-5.2.0-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:38d899a156549da8ef6a9f1d6f7ef231228d29f8f69bce2ee12f5fba6d6fd7c5", size = 106510, upload-time = "2025-07-29T07:43:05.656Z" }, + { url = "https://files.pythonhosted.org/packages/10/99/b97e53724b52374e2f3859046f0eb2425192da356cb19784d64bc17bb1cf/mmh3-5.2.0-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:d86651fa45799530885ba4dab3d21144486ed15285e8784181a0ab37a4552384", size = 110053, upload-time = "2025-07-29T07:43:07.204Z" }, + { url = "https://files.pythonhosted.org/packages/ac/62/3688c7d975ed195155671df68788c83fed6f7909b6ec4951724c6860cb97/mmh3-5.2.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:c463d7c1c4cfc9d751efeaadd936bbba07b5b0ed81a012b3a9f5a12f0872bd6e", size = 97546, upload-time = "2025-07-29T07:43:08.226Z" }, + { url = "https://files.pythonhosted.org/packages/ca/3b/c6153250f03f71a8b7634cded82939546cdfba02e32f124ff51d52c6f991/mmh3-5.2.0-cp314-cp314-win32.whl", hash = "sha256:bb4fe46bdc6104fbc28db7a6bacb115ee6368ff993366bbd8a2a7f0076e6f0c0", size = 41422, upload-time = "2025-07-29T07:43:09.216Z" }, + { url = "https://files.pythonhosted.org/packages/74/01/a27d98bab083a435c4c07e9d1d720d4c8a578bf4c270bae373760b1022be/mmh3-5.2.0-cp314-cp314-win_amd64.whl", hash = "sha256:7c7f0b342fd06044bedd0b6e72177ddc0076f54fd89ee239447f8b271d919d9b", size = 42135, upload-time = "2025-07-29T07:43:10.183Z" }, + { url = "https://files.pythonhosted.org/packages/cb/c9/dbba5507e95429b8b380e2ba091eff5c20a70a59560934dff0ad8392b8c8/mmh3-5.2.0-cp314-cp314-win_arm64.whl", hash = "sha256:3193752fc05ea72366c2b63ff24b9a190f422e32d75fdeae71087c08fff26115", size = 39879, upload-time = "2025-07-29T07:43:11.106Z" }, + { url = "https://files.pythonhosted.org/packages/b5/d1/c8c0ef839c17258b9de41b84f663574fabcf8ac2007b7416575e0f65ff6e/mmh3-5.2.0-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:69fc339d7202bea69ef9bd7c39bfdf9fdabc8e6822a01eba62fb43233c1b3932", size = 57696, upload-time = "2025-07-29T07:43:11.989Z" }, + { url = "https://files.pythonhosted.org/packages/2f/55/95e2b9ff201e89f9fe37036037ab61a6c941942b25cdb7b6a9df9b931993/mmh3-5.2.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:12da42c0a55c9d86ab566395324213c319c73ecb0c239fad4726324212b9441c", size = 41421, upload-time = "2025-07-29T07:43:13.269Z" }, + { url = "https://files.pythonhosted.org/packages/77/79/9be23ad0b7001a4b22752e7693be232428ecc0a35068a4ff5c2f14ef8b20/mmh3-5.2.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:f7f9034c7cf05ddfaac8d7a2e63a3c97a840d4615d0a0e65ba8bdf6f8576e3be", size = 40853, upload-time = "2025-07-29T07:43:14.888Z" }, + { url = "https://files.pythonhosted.org/packages/ac/1b/96b32058eda1c1dee8264900c37c359a7325c1f11f5ff14fd2be8e24eff9/mmh3-5.2.0-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:11730eeb16dfcf9674fdea9bb6b8e6dd9b40813b7eb839bc35113649eef38aeb", size = 109694, upload-time = "2025-07-29T07:43:15.816Z" }, + { url = "https://files.pythonhosted.org/packages/8d/6f/a2ae44cd7dad697b6dea48390cbc977b1e5ca58fda09628cbcb2275af064/mmh3-5.2.0-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:932a6eec1d2e2c3c9e630d10f7128d80e70e2d47fe6b8c7ea5e1afbd98733e65", size = 117438, upload-time = "2025-07-29T07:43:16.865Z" }, + { url = "https://files.pythonhosted.org/packages/a0/08/bfb75451c83f05224a28afeaf3950c7b793c0b71440d571f8e819cfb149a/mmh3-5.2.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3ca975c51c5028947bbcfc24966517aac06a01d6c921e30f7c5383c195f87991", size = 120409, upload-time = "2025-07-29T07:43:18.207Z" }, + { url = "https://files.pythonhosted.org/packages/9f/ea/8b118b69b2ff8df568f742387d1a159bc654a0f78741b31437dd047ea28e/mmh3-5.2.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:5b0b58215befe0f0e120b828f7645e97719bbba9f23b69e268ed0ac7adde8645", size = 125909, upload-time = "2025-07-29T07:43:19.39Z" }, + { url = "https://files.pythonhosted.org/packages/3e/11/168cc0b6a30650032e351a3b89b8a47382da541993a03af91e1ba2501234/mmh3-5.2.0-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:29c2b9ce61886809d0492a274a5a53047742dea0f703f9c4d5d223c3ea6377d3", size = 135331, upload-time = "2025-07-29T07:43:20.435Z" }, + { url = "https://files.pythonhosted.org/packages/31/05/e3a9849b1c18a7934c64e831492c99e67daebe84a8c2f2c39a7096a830e3/mmh3-5.2.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:a367d4741ac0103f8198c82f429bccb9359f543ca542b06a51f4f0332e8de279", size = 110085, upload-time = "2025-07-29T07:43:21.92Z" }, + { url = "https://files.pythonhosted.org/packages/d9/d5/a96bcc306e3404601418b2a9a370baec92af84204528ba659fdfe34c242f/mmh3-5.2.0-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:5a5dba98e514fb26241868f6eb90a7f7ca0e039aed779342965ce24ea32ba513", size = 111195, upload-time = "2025-07-29T07:43:23.066Z" }, + { url = "https://files.pythonhosted.org/packages/af/29/0fd49801fec5bff37198684e0849b58e0dab3a2a68382a357cfffb0fafc3/mmh3-5.2.0-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:941603bfd75a46023807511c1ac2f1b0f39cccc393c15039969806063b27e6db", size = 116919, upload-time = "2025-07-29T07:43:24.178Z" }, + { url = "https://files.pythonhosted.org/packages/2d/04/4f3c32b0a2ed762edca45d8b46568fc3668e34f00fb1e0a3b5451ec1281c/mmh3-5.2.0-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:132dd943451a7c7546978863d2f5a64977928410782e1a87d583cb60eb89e667", size = 123160, upload-time = "2025-07-29T07:43:25.26Z" }, + { url = "https://files.pythonhosted.org/packages/91/76/3d29eaa38821730633d6a240d36fa8ad2807e9dfd432c12e1a472ed211eb/mmh3-5.2.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:f698733a8a494466432d611a8f0d1e026f5286dee051beea4b3c3146817e35d5", size = 110206, upload-time = "2025-07-29T07:43:26.699Z" }, + { url = "https://files.pythonhosted.org/packages/44/1c/ccf35892684d3a408202e296e56843743e0b4fb1629e59432ea88cdb3909/mmh3-5.2.0-cp314-cp314t-win32.whl", hash = "sha256:6d541038b3fc360ec538fc116de87462627944765a6750308118f8b509a8eec7", size = 41970, upload-time = "2025-07-29T07:43:27.666Z" }, + { url = "https://files.pythonhosted.org/packages/75/b2/b9e4f1e5adb5e21eb104588fcee2cd1eaa8308255173481427d5ecc4284e/mmh3-5.2.0-cp314-cp314t-win_amd64.whl", hash = "sha256:e912b19cf2378f2967d0c08e86ff4c6c360129887f678e27e4dde970d21b3f4d", size = 43063, upload-time = "2025-07-29T07:43:28.582Z" }, + { url = "https://files.pythonhosted.org/packages/6a/fc/0e61d9a4e29c8679356795a40e48f647b4aad58d71bfc969f0f8f56fb912/mmh3-5.2.0-cp314-cp314t-win_arm64.whl", hash = "sha256:e7884931fe5e788163e7b3c511614130c2c59feffdc21112290a194487efb2e9", size = 40455, upload-time = "2025-07-29T07:43:29.563Z" }, +] + +[[package]] +name = "more-itertools" +version = "10.7.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ce/a0/834b0cebabbfc7e311f30b46c8188790a37f89fc8d756660346fe5abfd09/more_itertools-10.7.0.tar.gz", hash = "sha256:9fddd5403be01a94b204faadcff459ec3568cf110265d3c54323e1e866ad29d3", size = 127671, upload-time = "2025-04-22T14:17:41.838Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2b/9f/7ba6f94fc1e9ac3d2b853fdff3035fb2fa5afbed898c4a72b8a020610594/more_itertools-10.7.0-py3-none-any.whl", hash = "sha256:d43980384673cb07d2f7d2d918c616b30c659c089ee23953f601d6609c67510e", size = 65278, upload-time = "2025-04-22T14:17:40.49Z" }, ] [[package]] @@ -2613,6 +2708,19 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/43/e3/7d92a15f894aa0c9c4b49b8ee9ac9850d6e63b03c9c32c0367a13ae62209/mpmath-1.3.0-py3-none-any.whl", hash = "sha256:a0b2b9fe80bbcd81a6647ff13108738cfb482d481d826cc0e02f5b35e5c88d2c", size = 536198, upload-time = "2023-03-07T16:47:09.197Z" }, ] +[[package]] +name = "msoffcrypto-tool" +version = "5.4.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cryptography" }, + { name = "olefile" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/d2/b7/0fd6573157e0ec60c0c470e732ab3322fba4d2834fd24e1088d670522a01/msoffcrypto_tool-5.4.2.tar.gz", hash = "sha256:44b545adba0407564a0cc3d6dde6ca36b7c0fdf352b85bca51618fa1d4817370", size = 41183, upload-time = "2024-08-08T15:50:28.462Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/03/54/7f6d3d9acad083dae8c22d9ab483b657359a1bf56fee1d7af88794677707/msoffcrypto_tool-5.4.2-py3-none-any.whl", hash = "sha256:274fe2181702d1e5a107ec1b68a4c9fea997a44972ae1cc9ae0cb4f6a50fef0e", size = 48713, upload-time = "2024-08-08T15:50:27.093Z" }, +] + [[package]] name = "multidict" version = "6.6.3" @@ -2726,14 +2834,14 @@ wheels = [ [[package]] name = "neo4j" -version = "5.28.1" +version = "5.28.2" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "pytz" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/4b/20/733dac16f7cedc80b23093415822c9763302519cba0e7c8bcdb5c01fc512/neo4j-5.28.1.tar.gz", hash = "sha256:ae8e37a1d895099062c75bc359b2cce62099baac7be768d0eba7180c1298e214", size = 231094, upload-time = "2025-02-10T08:36:22.566Z" } +sdist = { url = "https://files.pythonhosted.org/packages/50/69/4862fabc082f2447131aada5c91736155349d77ebf443af7f59553b7b789/neo4j-5.28.2.tar.gz", hash = "sha256:7d38e27e4f987a45cc9052500c6ee27325cb23dae6509037fe31dd7ddaed70c7", size = 231874, upload-time = "2025-07-30T06:04:34.669Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/6a/57/94225fe5e9dabdc0ff60c88cbfcedf11277f4b34e7ab1373d3e62dbdd207/neo4j-5.28.1-py3-none-any.whl", hash = "sha256:6755ef9e5f4e14b403aef1138fb6315b120631a0075c138b5ddb2a06b87b09fd", size = 312258, upload-time = "2025-02-10T08:36:16.209Z" }, + { url = "https://files.pythonhosted.org/packages/04/00/1f74089c06aec1fac9390e2300a6a6b2381e0dac281783d64ccca9d681fd/neo4j-5.28.2-py3-none-any.whl", hash = "sha256:5c53b5c3eee6dee7e920c9724391aa38d7135a651e71b766da00533b92a91a94", size = 313156, upload-time = "2025-07-30T06:04:31.438Z" }, ] [[package]] @@ -2764,7 +2872,8 @@ name = "networkx" version = "3.5" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version >= '3.13' and platform_python_implementation != 'PyPy' and sys_platform != 'emscripten'", + "python_full_version >= '3.14' and platform_python_implementation != 'PyPy' and sys_platform != 'emscripten'", + "python_full_version == '3.13.*' and platform_python_implementation != 'PyPy' and sys_platform != 'emscripten'", "python_full_version == '3.12.*' and platform_python_implementation != 'PyPy' and sys_platform != 'emscripten'", "python_full_version == '3.11.*' and platform_python_implementation != 'PyPy' and sys_platform != 'emscripten'", "python_full_version >= '3.13' and platform_python_implementation == 'PyPy' and sys_platform != 'emscripten'", @@ -2805,61 +2914,162 @@ wheels = [ [[package]] name = "numpy" -version = "2.1.0" +version = "2.2.6" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/54/a4/f8188c4f3e07f7737683588210c073478abcb542048cf4ab6fedad0b458a/numpy-2.1.0.tar.gz", hash = "sha256:7dc90da0081f7e1da49ec4e398ede6a8e9cc4f5ebe5f9e06b443ed889ee9aaa2", size = 18868922, upload-time = "2024-08-18T22:13:47.46Z" } +resolution-markers = [ + "python_full_version < '3.11' and platform_python_implementation != 'PyPy' and sys_platform != 'emscripten'", + "python_full_version < '3.11' and platform_python_implementation == 'PyPy' and sys_platform != 'emscripten'", + "python_full_version < '3.11' and sys_platform == 'emscripten'", +] +sdist = { url = "https://files.pythonhosted.org/packages/76/21/7d2a95e4bba9dc13d043ee156a356c0a8f0c6309dff6b21b4d71a073b8a8/numpy-2.2.6.tar.gz", hash = "sha256:e29554e2bef54a90aa5cc07da6ce955accb83f21ab5de01a62c8478897b264fd", size = 20276440, upload-time = "2025-05-17T22:38:04.611Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e4/6c/87c885569ebe002f9c5f5de8eda8a3622360143d61e6174610f67c695ad3/numpy-2.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6326ab99b52fafdcdeccf602d6286191a79fe2fda0ae90573c5814cd2b0bc1b8", size = 21149295, upload-time = "2024-08-18T21:39:07.105Z" }, - { url = "https://files.pythonhosted.org/packages/0a/d6/8d9c9a94c44ae456dbfc5f2ef719aebab6cce38064b815e98efd4e4a4141/numpy-2.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0937e54c09f7a9a68da6889362ddd2ff584c02d015ec92672c099b61555f8911", size = 13756742, upload-time = "2024-08-18T21:39:40.081Z" }, - { url = "https://files.pythonhosted.org/packages/ec/f5/1c7d0baa22edd3e51301c2fb74b61295c737ca254345f45d9211b2f3cb6b/numpy-2.1.0-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:30014b234f07b5fec20f4146f69e13cfb1e33ee9a18a1879a0142fbb00d47673", size = 5352245, upload-time = "2024-08-18T21:39:59.529Z" }, - { url = "https://files.pythonhosted.org/packages/de/ea/3e277e9971af78479c5ef318cc477718f5b541b6d1529ae494700a90347b/numpy-2.1.0-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:899da829b362ade41e1e7eccad2cf274035e1cb36ba73034946fccd4afd8606b", size = 6885239, upload-time = "2024-08-18T21:40:11.2Z" }, - { url = "https://files.pythonhosted.org/packages/5d/f4/30f3b75be994a390a366bb5284ac29217edd27a6e6749196ad08d366290d/numpy-2.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:08801848a40aea24ce16c2ecde3b756f9ad756586fb2d13210939eb69b023f5b", size = 13975963, upload-time = "2024-08-18T21:40:46.836Z" }, - { url = "https://files.pythonhosted.org/packages/f3/55/2921109f337368848375d8d987e267ba8d1a00d51d5915dc3bcca740d381/numpy-2.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:398049e237d1aae53d82a416dade04defed1a47f87d18d5bd615b6e7d7e41d1f", size = 16325024, upload-time = "2024-08-18T21:41:24.465Z" }, - { url = "https://files.pythonhosted.org/packages/fc/d1/d2fe0a6edb2a19a0da37f10cfe63ee50eb22f0874986ffb44936081e6f3b/numpy-2.1.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:0abb3916a35d9090088a748636b2c06dc9a6542f99cd476979fb156a18192b84", size = 16701102, upload-time = "2024-08-18T21:42:06.677Z" }, - { url = "https://files.pythonhosted.org/packages/28/4a/018e83dd0fa5f32730b67ff0ac35207f13bee8b870f96aa33c496545b9e6/numpy-2.1.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:10e2350aea18d04832319aac0f887d5fcec1b36abd485d14f173e3e900b83e33", size = 14474060, upload-time = "2024-08-18T21:43:03.021Z" }, - { url = "https://files.pythonhosted.org/packages/33/94/e1c65ebb0caa410afdeb83ed44778f22b92bd70855285bb168df37022d8c/numpy-2.1.0-cp310-cp310-win32.whl", hash = "sha256:f6b26e6c3b98adb648243670fddc8cab6ae17473f9dc58c51574af3e64d61211", size = 6533851, upload-time = "2024-08-18T21:43:28.111Z" }, - { url = "https://files.pythonhosted.org/packages/97/fc/961ce4fe1b3295b30ff85a0bc6da13302b870643ed9a79c034fb8469e333/numpy-2.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:f505264735ee074250a9c78247ee8618292091d9d1fcc023290e9ac67e8f1afa", size = 12863722, upload-time = "2024-08-18T21:44:19.282Z" }, - { url = "https://files.pythonhosted.org/packages/3e/98/466ac2a77706699ca0141ea197e4f221d2b232051052f8f794a628a489ec/numpy-2.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:76368c788ccb4f4782cf9c842b316140142b4cbf22ff8db82724e82fe1205dce", size = 21153408, upload-time = "2024-08-18T21:45:14.927Z" }, - { url = "https://files.pythonhosted.org/packages/d5/43/4ff735420b31cd454e4b3acdd0ba7570b453aede6fa16cf7a11cc8780d1b/numpy-2.1.0-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:f8e93a01a35be08d31ae33021e5268f157a2d60ebd643cfc15de6ab8e4722eb1", size = 5350253, upload-time = "2024-08-18T21:45:35.794Z" }, - { url = "https://files.pythonhosted.org/packages/ec/a0/1c1b9d935d7196c4a847b76c8a8d012c986ddbc78ef159cc4c0393148062/numpy-2.1.0-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:9523f8b46485db6939bd069b28b642fec86c30909cea90ef550373787f79530e", size = 6889274, upload-time = "2024-08-18T21:45:50.101Z" }, - { url = "https://files.pythonhosted.org/packages/d0/d2/4838d8c3b7ac69947ffd686ba3376cb603ea3618305ae3b8547b821df218/numpy-2.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:54139e0eb219f52f60656d163cbe67c31ede51d13236c950145473504fa208cb", size = 13982862, upload-time = "2024-08-18T21:46:31.933Z" }, - { url = "https://files.pythonhosted.org/packages/7b/93/831b4c5b4355210827b3de34f539297e1833c39a68c26a8b454d8cf9f5ed/numpy-2.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5ebbf9fbdabed208d4ecd2e1dfd2c0741af2f876e7ae522c2537d404ca895c3", size = 16336222, upload-time = "2024-08-18T21:47:29.486Z" }, - { url = "https://files.pythonhosted.org/packages/db/44/7d2f454309a620f1afdde44dffa469fece331b84e7a5bd2dba3f0f465489/numpy-2.1.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:378cb4f24c7d93066ee4103204f73ed046eb88f9ad5bb2275bb9fa0f6a02bd36", size = 16708990, upload-time = "2024-08-18T21:48:24.254Z" }, - { url = "https://files.pythonhosted.org/packages/65/6b/46f69972a25e3b682b7a65cb525efa3650cd62e237180c2ecff7a6177173/numpy-2.1.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d8f699a709120b220dfe173f79c73cb2a2cab2c0b88dd59d7b49407d032b8ebd", size = 14487554, upload-time = "2024-08-18T21:49:05.084Z" }, - { url = "https://files.pythonhosted.org/packages/3f/bc/4b128b3ac152e64e3d117931167bc2289dab47204762ad65011b681d75e7/numpy-2.1.0-cp311-cp311-win32.whl", hash = "sha256:ffbd6faeb190aaf2b5e9024bac9622d2ee549b7ec89ef3a9373fa35313d44e0e", size = 6531834, upload-time = "2024-08-18T21:49:23.78Z" }, - { url = "https://files.pythonhosted.org/packages/7b/5e/093592740805fe401ce49a627cc8a3f034dac62b34d68ab69db3c56bd662/numpy-2.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:0af3a5987f59d9c529c022c8c2a64805b339b7ef506509fba7d0556649b9714b", size = 12869011, upload-time = "2024-08-18T21:49:54.974Z" }, - { url = "https://files.pythonhosted.org/packages/eb/f5/a06a231cbeea4aff841ff744a12e4bf4d4407f2c753d13ce4563aa126c90/numpy-2.1.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:fe76d75b345dc045acdbc006adcb197cc680754afd6c259de60d358d60c93736", size = 20882951, upload-time = "2024-08-18T21:51:09.966Z" }, - { url = "https://files.pythonhosted.org/packages/70/1d/4ad38e3a1840f72c29595c06b103ecd9119f260e897ff7e88a74adb0ca14/numpy-2.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f358ea9e47eb3c2d6eba121ab512dfff38a88db719c38d1e67349af210bc7529", size = 13491878, upload-time = "2024-08-18T21:51:55.442Z" }, - { url = "https://files.pythonhosted.org/packages/b4/3b/569055d01ed80634d6be6ceef8fb28eb0866e4f98c2d97667dcf9fae3e22/numpy-2.1.0-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:dd94ce596bda40a9618324547cfaaf6650b1a24f5390350142499aa4e34e53d1", size = 5087346, upload-time = "2024-08-18T21:52:08.532Z" }, - { url = "https://files.pythonhosted.org/packages/24/37/212dd6fbd298c467b80d4d6217b2bc902b520e96a967b59f72603bf1142f/numpy-2.1.0-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:b47c551c6724960479cefd7353656498b86e7232429e3a41ab83be4da1b109e8", size = 6618269, upload-time = "2024-08-18T21:52:33.419Z" }, - { url = "https://files.pythonhosted.org/packages/33/4d/435c143c06e16c8bfccbfd9af252b0a8ac7897e0c0e36e539d75a75e91b4/numpy-2.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a0756a179afa766ad7cb6f036de622e8a8f16ffdd55aa31f296c870b5679d745", size = 13695244, upload-time = "2024-08-18T21:53:30.224Z" }, - { url = "https://files.pythonhosted.org/packages/48/3e/bf807eb050abc23adc556f34fcf931ca2d67ad8dfc9c17fcd9332c01347f/numpy-2.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:24003ba8ff22ea29a8c306e61d316ac74111cebf942afbf692df65509a05f111", size = 16040181, upload-time = "2024-08-18T21:54:36.021Z" }, - { url = "https://files.pythonhosted.org/packages/cd/a9/40dc96b5d43076836d82d1e84a3a4a6a4c2925a53ec0b7f31271434ff02c/numpy-2.1.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:b34fa5e3b5d6dc7e0a4243fa0f81367027cb6f4a7215a17852979634b5544ee0", size = 16407920, upload-time = "2024-08-18T21:55:32.738Z" }, - { url = "https://files.pythonhosted.org/packages/cc/77/39e44cf0a6eb0f93b18ffb00f1964b2c471b1df5605aee486c221b06a8e4/numpy-2.1.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:c4f982715e65036c34897eb598d64aef15150c447be2cfc6643ec7a11af06574", size = 14170943, upload-time = "2024-08-18T21:56:14.281Z" }, - { url = "https://files.pythonhosted.org/packages/54/02/f0a3c2ec1622dc4346bd126e2578948c7192b3838c893a3d215738fb367b/numpy-2.1.0-cp312-cp312-win32.whl", hash = "sha256:c4cd94dfefbefec3f8b544f61286584292d740e6e9d4677769bc76b8f41deb02", size = 6235947, upload-time = "2024-08-18T21:56:31.76Z" }, - { url = "https://files.pythonhosted.org/packages/8c/bf/d9d214a9dff020ad1663f1536f45d34e052e4c7f630c46cd363e785e3231/numpy-2.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:a0cdef204199278f5c461a0bed6ed2e052998276e6d8ab2963d5b5c39a0500bc", size = 12566546, upload-time = "2024-08-18T21:57:02.91Z" }, - { url = "https://files.pythonhosted.org/packages/c3/16/6b536e1b67624178e3631a3fa60c9c1b5ee7cda2fa9492c4f2de01bfcb06/numpy-2.1.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:8ab81ccd753859ab89e67199b9da62c543850f819993761c1e94a75a814ed667", size = 20833354, upload-time = "2024-08-18T21:58:02.395Z" }, - { url = "https://files.pythonhosted.org/packages/52/87/130e95aa8a6383fc3de4fdaf7adc629289b79b88548fb6e35e9d924697d7/numpy-2.1.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:442596f01913656d579309edcd179a2a2f9977d9a14ff41d042475280fc7f34e", size = 13506169, upload-time = "2024-08-18T21:58:40.051Z" }, - { url = "https://files.pythonhosted.org/packages/d9/c2/0fcf68c67681f9ad9d76156b4606f60b48748ead76d4ba19b90aecd4b626/numpy-2.1.0-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:848c6b5cad9898e4b9ef251b6f934fa34630371f2e916261070a4eb9092ffd33", size = 5072908, upload-time = "2024-08-18T21:58:51.679Z" }, - { url = "https://files.pythonhosted.org/packages/72/40/e21bbbfae665ef5fa1dfd7eae1c5dc93ba9d3b36e39d2d38789dd8c22d56/numpy-2.1.0-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:54c6a63e9d81efe64bfb7bcb0ec64332a87d0b87575f6009c8ba67ea6374770b", size = 6604906, upload-time = "2024-08-18T21:59:09.745Z" }, - { url = "https://files.pythonhosted.org/packages/0e/ce/848967516bf8dd4f769886a883a4852dbc62e9b63b1137d2b9900f595222/numpy-2.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:652e92fc409e278abdd61e9505649e3938f6d04ce7ef1953f2ec598a50e7c195", size = 13690864, upload-time = "2024-08-18T21:59:45.961Z" }, - { url = "https://files.pythonhosted.org/packages/15/72/2cebe04758e1123f625ed3221cb3c48602175ad619dd9b47de69689b4656/numpy-2.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0ab32eb9170bf8ffcbb14f11613f4a0b108d3ffee0832457c5d4808233ba8977", size = 16036272, upload-time = "2024-08-18T22:01:23.311Z" }, - { url = "https://files.pythonhosted.org/packages/a7/b7/ae34ced7864b551e0ea01ce4e7acbe7ddf5946afb623dea39760b19bc8b0/numpy-2.1.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:8fb49a0ba4d8f41198ae2d52118b050fd34dace4b8f3fb0ee34e23eb4ae775b1", size = 16408978, upload-time = "2024-08-18T22:02:04.571Z" }, - { url = "https://files.pythonhosted.org/packages/4d/22/c9d696b87c5ce25e857d7745fe4f090373a2daf8c26f5e15b32b5db7bff7/numpy-2.1.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:44e44973262dc3ae79e9063a1284a73e09d01b894b534a769732ccd46c28cc62", size = 14168398, upload-time = "2024-08-18T22:02:29.342Z" }, - { url = "https://files.pythonhosted.org/packages/9e/8b/63f74dccf86d4832d593bdbe06544f4a0a1b7e18e86e0db1e8231bf47c49/numpy-2.1.0-cp313-cp313-win32.whl", hash = "sha256:ab83adc099ec62e044b1fbb3a05499fa1e99f6d53a1dde102b2d85eff66ed324", size = 6232743, upload-time = "2024-08-18T22:09:01.663Z" }, - { url = "https://files.pythonhosted.org/packages/23/4b/e30a3132478c69df3e3e587fa87dcbf2660455daec92d8d52e7028a92554/numpy-2.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:de844aaa4815b78f6023832590d77da0e3b6805c644c33ce94a1e449f16d6ab5", size = 12560212, upload-time = "2024-08-18T22:09:48.587Z" }, - { url = "https://files.pythonhosted.org/packages/5a/1b/40e881a3a272c4861de1e43a3e7ee1559988dd12187463726d3b395a8874/numpy-2.1.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:343e3e152bf5a087511cd325e3b7ecfd5b92d369e80e74c12cd87826e263ec06", size = 20840821, upload-time = "2024-08-18T22:03:54.278Z" }, - { url = "https://files.pythonhosted.org/packages/d0/8e/5b7c08f9238f6cc18037f6fd92f83feaa8c19e9decb6bd075cad81f71fae/numpy-2.1.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:f07fa2f15dabe91259828ce7d71b5ca9e2eb7c8c26baa822c825ce43552f4883", size = 13500478, upload-time = "2024-08-18T22:04:32.48Z" }, - { url = "https://files.pythonhosted.org/packages/65/32/bf9df25ef50761fcb3e089c745d2e195b35cc6506d032f12bb5cc28f6c43/numpy-2.1.0-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:5474dad8c86ee9ba9bb776f4b99ef2d41b3b8f4e0d199d4f7304728ed34d0300", size = 5095825, upload-time = "2024-08-18T22:04:58.511Z" }, - { url = "https://files.pythonhosted.org/packages/50/34/d18c95bc5981ea3bb8e6f896aad12159a37dcc67b22cd9464fe3899612f7/numpy-2.1.0-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:1f817c71683fd1bb5cff1529a1d085a57f02ccd2ebc5cd2c566f9a01118e3b7d", size = 6611470, upload-time = "2024-08-18T22:05:19.798Z" }, - { url = "https://files.pythonhosted.org/packages/b4/4f/27d56e9f6222419951bfeef54bc0a71dc40c0ebeb248e1aa85655da6fa11/numpy-2.1.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3a3336fbfa0d38d3deacd3fe7f3d07e13597f29c13abf4d15c3b6dc2291cbbdd", size = 13647061, upload-time = "2024-08-18T22:05:56.619Z" }, - { url = "https://files.pythonhosted.org/packages/f9/e0/ae6e12a157c4ab415b380d0f3596cb9090a0c4acf48cd8cd7bc6d6b93d24/numpy-2.1.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7a894c51fd8c4e834f00ac742abad73fc485df1062f1b875661a3c1e1fb1c2f6", size = 16006479, upload-time = "2024-08-18T22:06:59.817Z" }, - { url = "https://files.pythonhosted.org/packages/ab/da/b746668c7303bd73af262208abbfa8b1c86be12e9eccb0d3021ed8a58873/numpy-2.1.0-cp313-cp313t-musllinux_1_1_x86_64.whl", hash = "sha256:9156ca1f79fc4acc226696e95bfcc2b486f165a6a59ebe22b2c1f82ab190384a", size = 16383064, upload-time = "2024-08-18T22:07:51.781Z" }, - { url = "https://files.pythonhosted.org/packages/f4/51/c0dcadea0c281be5db32b29f7b977b17bdb53b7dbfcbc3b4f49288de8696/numpy-2.1.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:624884b572dff8ca8f60fab591413f077471de64e376b17d291b19f56504b2bb", size = 14135556, upload-time = "2024-08-18T22:08:33.769Z" }, - { url = "https://files.pythonhosted.org/packages/c2/5b/de7ef3b3700ff1da66828f782e0c69732fb42aedbcf7f4a1a19ef6fc7e74/numpy-2.1.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:15ef8b2177eeb7e37dd5ef4016f30b7659c57c2c0b57a779f1d537ff33a72c7b", size = 20980535, upload-time = "2024-08-18T22:10:36.893Z" }, - { url = "https://files.pythonhosted.org/packages/92/ed/88a08b5b66bd37234a901f68b4df2beb1dc01d8a955e071991fd0ee9b4fe/numpy-2.1.0-pp310-pypy310_pp73-macosx_14_0_x86_64.whl", hash = "sha256:e5f0642cdf4636198a4990de7a71b693d824c56a757862230454629cf62e323d", size = 6748666, upload-time = "2024-08-18T22:11:03.644Z" }, - { url = "https://files.pythonhosted.org/packages/61/bb/ba8edcb7f6478b656b1cb94331adb700c8bc06d51c3519fc647fd37dad24/numpy-2.1.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f15976718c004466406342789f31b6673776360f3b1e3c575f25302d7e789575", size = 16139681, upload-time = "2024-08-18T22:11:41.281Z" }, - { url = "https://files.pythonhosted.org/packages/92/19/0a05f78c3557ad3ecb0da85e3eb63cb1527a7ea31a521d11a4f08f753f59/numpy-2.1.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:6c1de77ded79fef664d5098a66810d4d27ca0224e9051906e634b3f7ead134c2", size = 12788122, upload-time = "2024-08-18T22:12:16.608Z" }, + { url = "https://files.pythonhosted.org/packages/9a/3e/ed6db5be21ce87955c0cbd3009f2803f59fa08df21b5df06862e2d8e2bdd/numpy-2.2.6-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b412caa66f72040e6d268491a59f2c43bf03eb6c96dd8f0307829feb7fa2b6fb", size = 21165245, upload-time = "2025-05-17T21:27:58.555Z" }, + { url = "https://files.pythonhosted.org/packages/22/c2/4b9221495b2a132cc9d2eb862e21d42a009f5a60e45fc44b00118c174bff/numpy-2.2.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8e41fd67c52b86603a91c1a505ebaef50b3314de0213461c7a6e99c9a3beff90", size = 14360048, upload-time = "2025-05-17T21:28:21.406Z" }, + { url = "https://files.pythonhosted.org/packages/fd/77/dc2fcfc66943c6410e2bf598062f5959372735ffda175b39906d54f02349/numpy-2.2.6-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:37e990a01ae6ec7fe7fa1c26c55ecb672dd98b19c3d0e1d1f326fa13cb38d163", size = 5340542, upload-time = "2025-05-17T21:28:30.931Z" }, + { url = "https://files.pythonhosted.org/packages/7a/4f/1cb5fdc353a5f5cc7feb692db9b8ec2c3d6405453f982435efc52561df58/numpy-2.2.6-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:5a6429d4be8ca66d889b7cf70f536a397dc45ba6faeb5f8c5427935d9592e9cf", size = 6878301, upload-time = "2025-05-17T21:28:41.613Z" }, + { url = "https://files.pythonhosted.org/packages/eb/17/96a3acd228cec142fcb8723bd3cc39c2a474f7dcf0a5d16731980bcafa95/numpy-2.2.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:efd28d4e9cd7d7a8d39074a4d44c63eda73401580c5c76acda2ce969e0a38e83", size = 14297320, upload-time = "2025-05-17T21:29:02.78Z" }, + { url = "https://files.pythonhosted.org/packages/b4/63/3de6a34ad7ad6646ac7d2f55ebc6ad439dbbf9c4370017c50cf403fb19b5/numpy-2.2.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fc7b73d02efb0e18c000e9ad8b83480dfcd5dfd11065997ed4c6747470ae8915", size = 16801050, upload-time = "2025-05-17T21:29:27.675Z" }, + { url = "https://files.pythonhosted.org/packages/07/b6/89d837eddef52b3d0cec5c6ba0456c1bf1b9ef6a6672fc2b7873c3ec4e2e/numpy-2.2.6-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:74d4531beb257d2c3f4b261bfb0fc09e0f9ebb8842d82a7b4209415896adc680", size = 15807034, upload-time = "2025-05-17T21:29:51.102Z" }, + { url = "https://files.pythonhosted.org/packages/01/c8/dc6ae86e3c61cfec1f178e5c9f7858584049b6093f843bca541f94120920/numpy-2.2.6-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:8fc377d995680230e83241d8a96def29f204b5782f371c532579b4f20607a289", size = 18614185, upload-time = "2025-05-17T21:30:18.703Z" }, + { url = "https://files.pythonhosted.org/packages/5b/c5/0064b1b7e7c89137b471ccec1fd2282fceaae0ab3a9550f2568782d80357/numpy-2.2.6-cp310-cp310-win32.whl", hash = "sha256:b093dd74e50a8cba3e873868d9e93a85b78e0daf2e98c6797566ad8044e8363d", size = 6527149, upload-time = "2025-05-17T21:30:29.788Z" }, + { url = "https://files.pythonhosted.org/packages/a3/dd/4b822569d6b96c39d1215dbae0582fd99954dcbcf0c1a13c61783feaca3f/numpy-2.2.6-cp310-cp310-win_amd64.whl", hash = "sha256:f0fd6321b839904e15c46e0d257fdd101dd7f530fe03fd6359c1ea63738703f3", size = 12904620, upload-time = "2025-05-17T21:30:48.994Z" }, + { url = "https://files.pythonhosted.org/packages/da/a8/4f83e2aa666a9fbf56d6118faaaf5f1974d456b1823fda0a176eff722839/numpy-2.2.6-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f9f1adb22318e121c5c69a09142811a201ef17ab257a1e66ca3025065b7f53ae", size = 21176963, upload-time = "2025-05-17T21:31:19.36Z" }, + { url = "https://files.pythonhosted.org/packages/b3/2b/64e1affc7972decb74c9e29e5649fac940514910960ba25cd9af4488b66c/numpy-2.2.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c820a93b0255bc360f53eca31a0e676fd1101f673dda8da93454a12e23fc5f7a", size = 14406743, upload-time = "2025-05-17T21:31:41.087Z" }, + { url = "https://files.pythonhosted.org/packages/4a/9f/0121e375000b5e50ffdd8b25bf78d8e1a5aa4cca3f185d41265198c7b834/numpy-2.2.6-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:3d70692235e759f260c3d837193090014aebdf026dfd167834bcba43e30c2a42", size = 5352616, upload-time = "2025-05-17T21:31:50.072Z" }, + { url = "https://files.pythonhosted.org/packages/31/0d/b48c405c91693635fbe2dcd7bc84a33a602add5f63286e024d3b6741411c/numpy-2.2.6-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:481b49095335f8eed42e39e8041327c05b0f6f4780488f61286ed3c01368d491", size = 6889579, upload-time = "2025-05-17T21:32:01.712Z" }, + { url = "https://files.pythonhosted.org/packages/52/b8/7f0554d49b565d0171eab6e99001846882000883998e7b7d9f0d98b1f934/numpy-2.2.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b64d8d4d17135e00c8e346e0a738deb17e754230d7e0810ac5012750bbd85a5a", size = 14312005, upload-time = "2025-05-17T21:32:23.332Z" }, + { url = "https://files.pythonhosted.org/packages/b3/dd/2238b898e51bd6d389b7389ffb20d7f4c10066d80351187ec8e303a5a475/numpy-2.2.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba10f8411898fc418a521833e014a77d3ca01c15b0c6cdcce6a0d2897e6dbbdf", size = 16821570, upload-time = "2025-05-17T21:32:47.991Z" }, + { url = "https://files.pythonhosted.org/packages/83/6c/44d0325722cf644f191042bf47eedad61c1e6df2432ed65cbe28509d404e/numpy-2.2.6-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:bd48227a919f1bafbdda0583705e547892342c26fb127219d60a5c36882609d1", size = 15818548, upload-time = "2025-05-17T21:33:11.728Z" }, + { url = "https://files.pythonhosted.org/packages/ae/9d/81e8216030ce66be25279098789b665d49ff19eef08bfa8cb96d4957f422/numpy-2.2.6-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:9551a499bf125c1d4f9e250377c1ee2eddd02e01eac6644c080162c0c51778ab", size = 18620521, upload-time = "2025-05-17T21:33:39.139Z" }, + { url = "https://files.pythonhosted.org/packages/6a/fd/e19617b9530b031db51b0926eed5345ce8ddc669bb3bc0044b23e275ebe8/numpy-2.2.6-cp311-cp311-win32.whl", hash = "sha256:0678000bb9ac1475cd454c6b8c799206af8107e310843532b04d49649c717a47", size = 6525866, upload-time = "2025-05-17T21:33:50.273Z" }, + { url = "https://files.pythonhosted.org/packages/31/0a/f354fb7176b81747d870f7991dc763e157a934c717b67b58456bc63da3df/numpy-2.2.6-cp311-cp311-win_amd64.whl", hash = "sha256:e8213002e427c69c45a52bbd94163084025f533a55a59d6f9c5b820774ef3303", size = 12907455, upload-time = "2025-05-17T21:34:09.135Z" }, + { url = "https://files.pythonhosted.org/packages/82/5d/c00588b6cf18e1da539b45d3598d3557084990dcc4331960c15ee776ee41/numpy-2.2.6-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:41c5a21f4a04fa86436124d388f6ed60a9343a6f767fced1a8a71c3fbca038ff", size = 20875348, upload-time = "2025-05-17T21:34:39.648Z" }, + { url = "https://files.pythonhosted.org/packages/66/ee/560deadcdde6c2f90200450d5938f63a34b37e27ebff162810f716f6a230/numpy-2.2.6-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:de749064336d37e340f640b05f24e9e3dd678c57318c7289d222a8a2f543e90c", size = 14119362, upload-time = "2025-05-17T21:35:01.241Z" }, + { url = "https://files.pythonhosted.org/packages/3c/65/4baa99f1c53b30adf0acd9a5519078871ddde8d2339dc5a7fde80d9d87da/numpy-2.2.6-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:894b3a42502226a1cac872f840030665f33326fc3dac8e57c607905773cdcde3", size = 5084103, upload-time = "2025-05-17T21:35:10.622Z" }, + { url = "https://files.pythonhosted.org/packages/cc/89/e5a34c071a0570cc40c9a54eb472d113eea6d002e9ae12bb3a8407fb912e/numpy-2.2.6-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:71594f7c51a18e728451bb50cc60a3ce4e6538822731b2933209a1f3614e9282", size = 6625382, upload-time = "2025-05-17T21:35:21.414Z" }, + { url = "https://files.pythonhosted.org/packages/f8/35/8c80729f1ff76b3921d5c9487c7ac3de9b2a103b1cd05e905b3090513510/numpy-2.2.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f2618db89be1b4e05f7a1a847a9c1c0abd63e63a1607d892dd54668dd92faf87", size = 14018462, upload-time = "2025-05-17T21:35:42.174Z" }, + { url = "https://files.pythonhosted.org/packages/8c/3d/1e1db36cfd41f895d266b103df00ca5b3cbe965184df824dec5c08c6b803/numpy-2.2.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd83c01228a688733f1ded5201c678f0c53ecc1006ffbc404db9f7a899ac6249", size = 16527618, upload-time = "2025-05-17T21:36:06.711Z" }, + { url = "https://files.pythonhosted.org/packages/61/c6/03ed30992602c85aa3cd95b9070a514f8b3c33e31124694438d88809ae36/numpy-2.2.6-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:37c0ca431f82cd5fa716eca9506aefcabc247fb27ba69c5062a6d3ade8cf8f49", size = 15505511, upload-time = "2025-05-17T21:36:29.965Z" }, + { url = "https://files.pythonhosted.org/packages/b7/25/5761d832a81df431e260719ec45de696414266613c9ee268394dd5ad8236/numpy-2.2.6-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:fe27749d33bb772c80dcd84ae7e8df2adc920ae8297400dabec45f0dedb3f6de", size = 18313783, upload-time = "2025-05-17T21:36:56.883Z" }, + { url = "https://files.pythonhosted.org/packages/57/0a/72d5a3527c5ebffcd47bde9162c39fae1f90138c961e5296491ce778e682/numpy-2.2.6-cp312-cp312-win32.whl", hash = "sha256:4eeaae00d789f66c7a25ac5f34b71a7035bb474e679f410e5e1a94deb24cf2d4", size = 6246506, upload-time = "2025-05-17T21:37:07.368Z" }, + { url = "https://files.pythonhosted.org/packages/36/fa/8c9210162ca1b88529ab76b41ba02d433fd54fecaf6feb70ef9f124683f1/numpy-2.2.6-cp312-cp312-win_amd64.whl", hash = "sha256:c1f9540be57940698ed329904db803cf7a402f3fc200bfe599334c9bd84a40b2", size = 12614190, upload-time = "2025-05-17T21:37:26.213Z" }, + { url = "https://files.pythonhosted.org/packages/f9/5c/6657823f4f594f72b5471f1db1ab12e26e890bb2e41897522d134d2a3e81/numpy-2.2.6-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:0811bb762109d9708cca4d0b13c4f67146e3c3b7cf8d34018c722adb2d957c84", size = 20867828, upload-time = "2025-05-17T21:37:56.699Z" }, + { url = "https://files.pythonhosted.org/packages/dc/9e/14520dc3dadf3c803473bd07e9b2bd1b69bc583cb2497b47000fed2fa92f/numpy-2.2.6-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:287cc3162b6f01463ccd86be154f284d0893d2b3ed7292439ea97eafa8170e0b", size = 14143006, upload-time = "2025-05-17T21:38:18.291Z" }, + { url = "https://files.pythonhosted.org/packages/4f/06/7e96c57d90bebdce9918412087fc22ca9851cceaf5567a45c1f404480e9e/numpy-2.2.6-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:f1372f041402e37e5e633e586f62aa53de2eac8d98cbfb822806ce4bbefcb74d", size = 5076765, upload-time = "2025-05-17T21:38:27.319Z" }, + { url = "https://files.pythonhosted.org/packages/73/ed/63d920c23b4289fdac96ddbdd6132e9427790977d5457cd132f18e76eae0/numpy-2.2.6-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:55a4d33fa519660d69614a9fad433be87e5252f4b03850642f88993f7b2ca566", size = 6617736, upload-time = "2025-05-17T21:38:38.141Z" }, + { url = "https://files.pythonhosted.org/packages/85/c5/e19c8f99d83fd377ec8c7e0cf627a8049746da54afc24ef0a0cb73d5dfb5/numpy-2.2.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f92729c95468a2f4f15e9bb94c432a9229d0d50de67304399627a943201baa2f", size = 14010719, upload-time = "2025-05-17T21:38:58.433Z" }, + { url = "https://files.pythonhosted.org/packages/19/49/4df9123aafa7b539317bf6d342cb6d227e49f7a35b99c287a6109b13dd93/numpy-2.2.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1bc23a79bfabc5d056d106f9befb8d50c31ced2fbc70eedb8155aec74a45798f", size = 16526072, upload-time = "2025-05-17T21:39:22.638Z" }, + { url = "https://files.pythonhosted.org/packages/b2/6c/04b5f47f4f32f7c2b0e7260442a8cbcf8168b0e1a41ff1495da42f42a14f/numpy-2.2.6-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:e3143e4451880bed956e706a3220b4e5cf6172ef05fcc397f6f36a550b1dd868", size = 15503213, upload-time = "2025-05-17T21:39:45.865Z" }, + { url = "https://files.pythonhosted.org/packages/17/0a/5cd92e352c1307640d5b6fec1b2ffb06cd0dabe7d7b8227f97933d378422/numpy-2.2.6-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:b4f13750ce79751586ae2eb824ba7e1e8dba64784086c98cdbbcc6a42112ce0d", size = 18316632, upload-time = "2025-05-17T21:40:13.331Z" }, + { url = "https://files.pythonhosted.org/packages/f0/3b/5cba2b1d88760ef86596ad0f3d484b1cbff7c115ae2429678465057c5155/numpy-2.2.6-cp313-cp313-win32.whl", hash = "sha256:5beb72339d9d4fa36522fc63802f469b13cdbe4fdab4a288f0c441b74272ebfd", size = 6244532, upload-time = "2025-05-17T21:43:46.099Z" }, + { url = "https://files.pythonhosted.org/packages/cb/3b/d58c12eafcb298d4e6d0d40216866ab15f59e55d148a5658bb3132311fcf/numpy-2.2.6-cp313-cp313-win_amd64.whl", hash = "sha256:b0544343a702fa80c95ad5d3d608ea3599dd54d4632df855e4c8d24eb6ecfa1c", size = 12610885, upload-time = "2025-05-17T21:44:05.145Z" }, + { url = "https://files.pythonhosted.org/packages/6b/9e/4bf918b818e516322db999ac25d00c75788ddfd2d2ade4fa66f1f38097e1/numpy-2.2.6-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:0bca768cd85ae743b2affdc762d617eddf3bcf8724435498a1e80132d04879e6", size = 20963467, upload-time = "2025-05-17T21:40:44Z" }, + { url = "https://files.pythonhosted.org/packages/61/66/d2de6b291507517ff2e438e13ff7b1e2cdbdb7cb40b3ed475377aece69f9/numpy-2.2.6-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:fc0c5673685c508a142ca65209b4e79ed6740a4ed6b2267dbba90f34b0b3cfda", size = 14225144, upload-time = "2025-05-17T21:41:05.695Z" }, + { url = "https://files.pythonhosted.org/packages/e4/25/480387655407ead912e28ba3a820bc69af9adf13bcbe40b299d454ec011f/numpy-2.2.6-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:5bd4fc3ac8926b3819797a7c0e2631eb889b4118a9898c84f585a54d475b7e40", size = 5200217, upload-time = "2025-05-17T21:41:15.903Z" }, + { url = "https://files.pythonhosted.org/packages/aa/4a/6e313b5108f53dcbf3aca0c0f3e9c92f4c10ce57a0a721851f9785872895/numpy-2.2.6-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:fee4236c876c4e8369388054d02d0e9bb84821feb1a64dd59e137e6511a551f8", size = 6712014, upload-time = "2025-05-17T21:41:27.321Z" }, + { url = "https://files.pythonhosted.org/packages/b7/30/172c2d5c4be71fdf476e9de553443cf8e25feddbe185e0bd88b096915bcc/numpy-2.2.6-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e1dda9c7e08dc141e0247a5b8f49cf05984955246a327d4c48bda16821947b2f", size = 14077935, upload-time = "2025-05-17T21:41:49.738Z" }, + { url = "https://files.pythonhosted.org/packages/12/fb/9e743f8d4e4d3c710902cf87af3512082ae3d43b945d5d16563f26ec251d/numpy-2.2.6-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f447e6acb680fd307f40d3da4852208af94afdfab89cf850986c3ca00562f4fa", size = 16600122, upload-time = "2025-05-17T21:42:14.046Z" }, + { url = "https://files.pythonhosted.org/packages/12/75/ee20da0e58d3a66f204f38916757e01e33a9737d0b22373b3eb5a27358f9/numpy-2.2.6-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:389d771b1623ec92636b0786bc4ae56abafad4a4c513d36a55dce14bd9ce8571", size = 15586143, upload-time = "2025-05-17T21:42:37.464Z" }, + { url = "https://files.pythonhosted.org/packages/76/95/bef5b37f29fc5e739947e9ce5179ad402875633308504a52d188302319c8/numpy-2.2.6-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:8e9ace4a37db23421249ed236fdcdd457d671e25146786dfc96835cd951aa7c1", size = 18385260, upload-time = "2025-05-17T21:43:05.189Z" }, + { url = "https://files.pythonhosted.org/packages/09/04/f2f83279d287407cf36a7a8053a5abe7be3622a4363337338f2585e4afda/numpy-2.2.6-cp313-cp313t-win32.whl", hash = "sha256:038613e9fb8c72b0a41f025a7e4c3f0b7a1b5d768ece4796b674c8f3fe13efff", size = 6377225, upload-time = "2025-05-17T21:43:16.254Z" }, + { url = "https://files.pythonhosted.org/packages/67/0e/35082d13c09c02c011cf21570543d202ad929d961c02a147493cb0c2bdf5/numpy-2.2.6-cp313-cp313t-win_amd64.whl", hash = "sha256:6031dd6dfecc0cf9f668681a37648373bddd6421fff6c66ec1624eed0180ee06", size = 12771374, upload-time = "2025-05-17T21:43:35.479Z" }, + { url = "https://files.pythonhosted.org/packages/9e/3b/d94a75f4dbf1ef5d321523ecac21ef23a3cd2ac8b78ae2aac40873590229/numpy-2.2.6-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:0b605b275d7bd0c640cad4e5d30fa701a8d59302e127e5f79138ad62762c3e3d", size = 21040391, upload-time = "2025-05-17T21:44:35.948Z" }, + { url = "https://files.pythonhosted.org/packages/17/f4/09b2fa1b58f0fb4f7c7963a1649c64c4d315752240377ed74d9cd878f7b5/numpy-2.2.6-pp310-pypy310_pp73-macosx_14_0_x86_64.whl", hash = "sha256:7befc596a7dc9da8a337f79802ee8adb30a552a94f792b9c9d18c840055907db", size = 6786754, upload-time = "2025-05-17T21:44:47.446Z" }, + { url = "https://files.pythonhosted.org/packages/af/30/feba75f143bdc868a1cc3f44ccfa6c4b9ec522b36458e738cd00f67b573f/numpy-2.2.6-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ce47521a4754c8f4593837384bd3424880629f718d87c5d44f8ed763edd63543", size = 16643476, upload-time = "2025-05-17T21:45:11.871Z" }, + { url = "https://files.pythonhosted.org/packages/37/48/ac2a9584402fb6c0cd5b5d1a91dcf176b15760130dd386bbafdbfe3640bf/numpy-2.2.6-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:d042d24c90c41b54fd506da306759e06e568864df8ec17ccc17e9e884634fd00", size = 12812666, upload-time = "2025-05-17T21:45:31.426Z" }, +] + +[[package]] +name = "numpy" +version = "2.3.2" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.14' and platform_python_implementation != 'PyPy' and sys_platform != 'emscripten'", + "python_full_version == '3.13.*' and platform_python_implementation != 'PyPy' and sys_platform != 'emscripten'", + "python_full_version == '3.12.*' and platform_python_implementation != 'PyPy' and sys_platform != 'emscripten'", + "python_full_version == '3.11.*' and platform_python_implementation != 'PyPy' and sys_platform != 'emscripten'", + "python_full_version >= '3.13' and platform_python_implementation == 'PyPy' and sys_platform != 'emscripten'", + "python_full_version == '3.12.*' and platform_python_implementation == 'PyPy' and sys_platform != 'emscripten'", + "python_full_version == '3.11.*' and platform_python_implementation == 'PyPy' and sys_platform != 'emscripten'", + "python_full_version >= '3.13' and sys_platform == 'emscripten'", + "python_full_version == '3.12.*' and sys_platform == 'emscripten'", + "python_full_version == '3.11.*' and sys_platform == 'emscripten'", +] +sdist = { url = "https://files.pythonhosted.org/packages/37/7d/3fec4199c5ffb892bed55cff901e4f39a58c81df9c44c280499e92cad264/numpy-2.3.2.tar.gz", hash = "sha256:e0486a11ec30cdecb53f184d496d1c6a20786c81e55e41640270130056f8ee48", size = 20489306, upload-time = "2025-07-24T21:32:07.553Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/96/26/1320083986108998bd487e2931eed2aeedf914b6e8905431487543ec911d/numpy-2.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:852ae5bed3478b92f093e30f785c98e0cb62fa0a939ed057c31716e18a7a22b9", size = 21259016, upload-time = "2025-07-24T20:24:35.214Z" }, + { url = "https://files.pythonhosted.org/packages/c4/2b/792b341463fa93fc7e55abbdbe87dac316c5b8cb5e94fb7a59fb6fa0cda5/numpy-2.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7a0e27186e781a69959d0230dd9909b5e26024f8da10683bd6344baea1885168", size = 14451158, upload-time = "2025-07-24T20:24:58.397Z" }, + { url = "https://files.pythonhosted.org/packages/b7/13/e792d7209261afb0c9f4759ffef6135b35c77c6349a151f488f531d13595/numpy-2.3.2-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:f0a1a8476ad77a228e41619af2fa9505cf69df928e9aaa165746584ea17fed2b", size = 5379817, upload-time = "2025-07-24T20:25:07.746Z" }, + { url = "https://files.pythonhosted.org/packages/49/ce/055274fcba4107c022b2113a213c7287346563f48d62e8d2a5176ad93217/numpy-2.3.2-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:cbc95b3813920145032412f7e33d12080f11dc776262df1712e1638207dde9e8", size = 6913606, upload-time = "2025-07-24T20:25:18.84Z" }, + { url = "https://files.pythonhosted.org/packages/17/f2/e4d72e6bc5ff01e2ab613dc198d560714971900c03674b41947e38606502/numpy-2.3.2-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f75018be4980a7324edc5930fe39aa391d5734531b1926968605416ff58c332d", size = 14589652, upload-time = "2025-07-24T20:25:40.356Z" }, + { url = "https://files.pythonhosted.org/packages/c8/b0/fbeee3000a51ebf7222016e2939b5c5ecf8000a19555d04a18f1e02521b8/numpy-2.3.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:20b8200721840f5621b7bd03f8dcd78de33ec522fc40dc2641aa09537df010c3", size = 16938816, upload-time = "2025-07-24T20:26:05.721Z" }, + { url = "https://files.pythonhosted.org/packages/a9/ec/2f6c45c3484cc159621ea8fc000ac5a86f1575f090cac78ac27193ce82cd/numpy-2.3.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:1f91e5c028504660d606340a084db4b216567ded1056ea2b4be4f9d10b67197f", size = 16370512, upload-time = "2025-07-24T20:26:30.545Z" }, + { url = "https://files.pythonhosted.org/packages/b5/01/dd67cf511850bd7aefd6347aaae0956ed415abea741ae107834aae7d6d4e/numpy-2.3.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:fb1752a3bb9a3ad2d6b090b88a9a0ae1cd6f004ef95f75825e2f382c183b2097", size = 18884947, upload-time = "2025-07-24T20:26:58.24Z" }, + { url = "https://files.pythonhosted.org/packages/a7/17/2cf60fd3e6a61d006778735edf67a222787a8c1a7842aed43ef96d777446/numpy-2.3.2-cp311-cp311-win32.whl", hash = "sha256:4ae6863868aaee2f57503c7a5052b3a2807cf7a3914475e637a0ecd366ced220", size = 6599494, upload-time = "2025-07-24T20:27:09.786Z" }, + { url = "https://files.pythonhosted.org/packages/d5/03/0eade211c504bda872a594f045f98ddcc6caef2b7c63610946845e304d3f/numpy-2.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:240259d6564f1c65424bcd10f435145a7644a65a6811cfc3201c4a429ba79170", size = 13087889, upload-time = "2025-07-24T20:27:29.558Z" }, + { url = "https://files.pythonhosted.org/packages/13/32/2c7979d39dafb2a25087e12310fc7f3b9d3c7d960df4f4bc97955ae0ce1d/numpy-2.3.2-cp311-cp311-win_arm64.whl", hash = "sha256:4209f874d45f921bde2cff1ffcd8a3695f545ad2ffbef6d3d3c6768162efab89", size = 10459560, upload-time = "2025-07-24T20:27:46.803Z" }, + { url = "https://files.pythonhosted.org/packages/00/6d/745dd1c1c5c284d17725e5c802ca4d45cfc6803519d777f087b71c9f4069/numpy-2.3.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:bc3186bea41fae9d8e90c2b4fb5f0a1f5a690682da79b92574d63f56b529080b", size = 20956420, upload-time = "2025-07-24T20:28:18.002Z" }, + { url = "https://files.pythonhosted.org/packages/bc/96/e7b533ea5740641dd62b07a790af5d9d8fec36000b8e2d0472bd7574105f/numpy-2.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2f4f0215edb189048a3c03bd5b19345bdfa7b45a7a6f72ae5945d2a28272727f", size = 14184660, upload-time = "2025-07-24T20:28:39.522Z" }, + { url = "https://files.pythonhosted.org/packages/2b/53/102c6122db45a62aa20d1b18c9986f67e6b97e0d6fbc1ae13e3e4c84430c/numpy-2.3.2-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:8b1224a734cd509f70816455c3cffe13a4f599b1bf7130f913ba0e2c0b2006c0", size = 5113382, upload-time = "2025-07-24T20:28:48.544Z" }, + { url = "https://files.pythonhosted.org/packages/2b/21/376257efcbf63e624250717e82b4fae93d60178f09eb03ed766dbb48ec9c/numpy-2.3.2-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:3dcf02866b977a38ba3ec10215220609ab9667378a9e2150615673f3ffd6c73b", size = 6647258, upload-time = "2025-07-24T20:28:59.104Z" }, + { url = "https://files.pythonhosted.org/packages/91/ba/f4ebf257f08affa464fe6036e13f2bf9d4642a40228781dc1235da81be9f/numpy-2.3.2-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:572d5512df5470f50ada8d1972c5f1082d9a0b7aa5944db8084077570cf98370", size = 14281409, upload-time = "2025-07-24T20:40:30.298Z" }, + { url = "https://files.pythonhosted.org/packages/59/ef/f96536f1df42c668cbacb727a8c6da7afc9c05ece6d558927fb1722693e1/numpy-2.3.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8145dd6d10df13c559d1e4314df29695613575183fa2e2d11fac4c208c8a1f73", size = 16641317, upload-time = "2025-07-24T20:40:56.625Z" }, + { url = "https://files.pythonhosted.org/packages/f6/a7/af813a7b4f9a42f498dde8a4c6fcbff8100eed00182cc91dbaf095645f38/numpy-2.3.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:103ea7063fa624af04a791c39f97070bf93b96d7af7eb23530cd087dc8dbe9dc", size = 16056262, upload-time = "2025-07-24T20:41:20.797Z" }, + { url = "https://files.pythonhosted.org/packages/8b/5d/41c4ef8404caaa7f05ed1cfb06afe16a25895260eacbd29b4d84dff2920b/numpy-2.3.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:fc927d7f289d14f5e037be917539620603294454130b6de200091e23d27dc9be", size = 18579342, upload-time = "2025-07-24T20:41:50.753Z" }, + { url = "https://files.pythonhosted.org/packages/a1/4f/9950e44c5a11636f4a3af6e825ec23003475cc9a466edb7a759ed3ea63bd/numpy-2.3.2-cp312-cp312-win32.whl", hash = "sha256:d95f59afe7f808c103be692175008bab926b59309ade3e6d25009e9a171f7036", size = 6320610, upload-time = "2025-07-24T20:42:01.551Z" }, + { url = "https://files.pythonhosted.org/packages/7c/2f/244643a5ce54a94f0a9a2ab578189c061e4a87c002e037b0829dd77293b6/numpy-2.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:9e196ade2400c0c737d93465327d1ae7c06c7cb8a1756121ebf54b06ca183c7f", size = 12786292, upload-time = "2025-07-24T20:42:20.738Z" }, + { url = "https://files.pythonhosted.org/packages/54/cd/7b5f49d5d78db7badab22d8323c1b6ae458fbf86c4fdfa194ab3cd4eb39b/numpy-2.3.2-cp312-cp312-win_arm64.whl", hash = "sha256:ee807923782faaf60d0d7331f5e86da7d5e3079e28b291973c545476c2b00d07", size = 10194071, upload-time = "2025-07-24T20:42:36.657Z" }, + { url = "https://files.pythonhosted.org/packages/1c/c0/c6bb172c916b00700ed3bf71cb56175fd1f7dbecebf8353545d0b5519f6c/numpy-2.3.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:c8d9727f5316a256425892b043736d63e89ed15bbfe6556c5ff4d9d4448ff3b3", size = 20949074, upload-time = "2025-07-24T20:43:07.813Z" }, + { url = "https://files.pythonhosted.org/packages/20/4e/c116466d22acaf4573e58421c956c6076dc526e24a6be0903219775d862e/numpy-2.3.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:efc81393f25f14d11c9d161e46e6ee348637c0a1e8a54bf9dedc472a3fae993b", size = 14177311, upload-time = "2025-07-24T20:43:29.335Z" }, + { url = "https://files.pythonhosted.org/packages/78/45/d4698c182895af189c463fc91d70805d455a227261d950e4e0f1310c2550/numpy-2.3.2-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:dd937f088a2df683cbb79dda9a772b62a3e5a8a7e76690612c2737f38c6ef1b6", size = 5106022, upload-time = "2025-07-24T20:43:37.999Z" }, + { url = "https://files.pythonhosted.org/packages/9f/76/3e6880fef4420179309dba72a8c11f6166c431cf6dee54c577af8906f914/numpy-2.3.2-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:11e58218c0c46c80509186e460d79fbdc9ca1eb8d8aee39d8f2dc768eb781089", size = 6640135, upload-time = "2025-07-24T20:43:49.28Z" }, + { url = "https://files.pythonhosted.org/packages/34/fa/87ff7f25b3c4ce9085a62554460b7db686fef1e0207e8977795c7b7d7ba1/numpy-2.3.2-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5ad4ebcb683a1f99f4f392cc522ee20a18b2bb12a2c1c42c3d48d5a1adc9d3d2", size = 14278147, upload-time = "2025-07-24T20:44:10.328Z" }, + { url = "https://files.pythonhosted.org/packages/1d/0f/571b2c7a3833ae419fe69ff7b479a78d313581785203cc70a8db90121b9a/numpy-2.3.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:938065908d1d869c7d75d8ec45f735a034771c6ea07088867f713d1cd3bbbe4f", size = 16635989, upload-time = "2025-07-24T20:44:34.88Z" }, + { url = "https://files.pythonhosted.org/packages/24/5a/84ae8dca9c9a4c592fe11340b36a86ffa9fd3e40513198daf8a97839345c/numpy-2.3.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:66459dccc65d8ec98cc7df61307b64bf9e08101f9598755d42d8ae65d9a7a6ee", size = 16053052, upload-time = "2025-07-24T20:44:58.872Z" }, + { url = "https://files.pythonhosted.org/packages/57/7c/e5725d99a9133b9813fcf148d3f858df98511686e853169dbaf63aec6097/numpy-2.3.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a7af9ed2aa9ec5950daf05bb11abc4076a108bd3c7db9aa7251d5f107079b6a6", size = 18577955, upload-time = "2025-07-24T20:45:26.714Z" }, + { url = "https://files.pythonhosted.org/packages/ae/11/7c546fcf42145f29b71e4d6f429e96d8d68e5a7ba1830b2e68d7418f0bbd/numpy-2.3.2-cp313-cp313-win32.whl", hash = "sha256:906a30249315f9c8e17b085cc5f87d3f369b35fedd0051d4a84686967bdbbd0b", size = 6311843, upload-time = "2025-07-24T20:49:24.444Z" }, + { url = "https://files.pythonhosted.org/packages/aa/6f/a428fd1cb7ed39b4280d057720fed5121b0d7754fd2a9768640160f5517b/numpy-2.3.2-cp313-cp313-win_amd64.whl", hash = "sha256:c63d95dc9d67b676e9108fe0d2182987ccb0f11933c1e8959f42fa0da8d4fa56", size = 12782876, upload-time = "2025-07-24T20:49:43.227Z" }, + { url = "https://files.pythonhosted.org/packages/65/85/4ea455c9040a12595fb6c43f2c217257c7b52dd0ba332c6a6c1d28b289fe/numpy-2.3.2-cp313-cp313-win_arm64.whl", hash = "sha256:b05a89f2fb84d21235f93de47129dd4f11c16f64c87c33f5e284e6a3a54e43f2", size = 10192786, upload-time = "2025-07-24T20:49:59.443Z" }, + { url = "https://files.pythonhosted.org/packages/80/23/8278f40282d10c3f258ec3ff1b103d4994bcad78b0cba9208317f6bb73da/numpy-2.3.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:4e6ecfeddfa83b02318f4d84acf15fbdbf9ded18e46989a15a8b6995dfbf85ab", size = 21047395, upload-time = "2025-07-24T20:45:58.821Z" }, + { url = "https://files.pythonhosted.org/packages/1f/2d/624f2ce4a5df52628b4ccd16a4f9437b37c35f4f8a50d00e962aae6efd7a/numpy-2.3.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:508b0eada3eded10a3b55725b40806a4b855961040180028f52580c4729916a2", size = 14300374, upload-time = "2025-07-24T20:46:20.207Z" }, + { url = "https://files.pythonhosted.org/packages/f6/62/ff1e512cdbb829b80a6bd08318a58698867bca0ca2499d101b4af063ee97/numpy-2.3.2-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:754d6755d9a7588bdc6ac47dc4ee97867271b17cee39cb87aef079574366db0a", size = 5228864, upload-time = "2025-07-24T20:46:30.58Z" }, + { url = "https://files.pythonhosted.org/packages/7d/8e/74bc18078fff03192d4032cfa99d5a5ca937807136d6f5790ce07ca53515/numpy-2.3.2-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:a9f66e7d2b2d7712410d3bc5684149040ef5f19856f20277cd17ea83e5006286", size = 6737533, upload-time = "2025-07-24T20:46:46.111Z" }, + { url = "https://files.pythonhosted.org/packages/19/ea/0731efe2c9073ccca5698ef6a8c3667c4cf4eea53fcdcd0b50140aba03bc/numpy-2.3.2-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:de6ea4e5a65d5a90c7d286ddff2b87f3f4ad61faa3db8dabe936b34c2275b6f8", size = 14352007, upload-time = "2025-07-24T20:47:07.1Z" }, + { url = "https://files.pythonhosted.org/packages/cf/90/36be0865f16dfed20f4bc7f75235b963d5939707d4b591f086777412ff7b/numpy-2.3.2-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a3ef07ec8cbc8fc9e369c8dcd52019510c12da4de81367d8b20bc692aa07573a", size = 16701914, upload-time = "2025-07-24T20:47:32.459Z" }, + { url = "https://files.pythonhosted.org/packages/94/30/06cd055e24cb6c38e5989a9e747042b4e723535758e6153f11afea88c01b/numpy-2.3.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:27c9f90e7481275c7800dc9c24b7cc40ace3fdb970ae4d21eaff983a32f70c91", size = 16132708, upload-time = "2025-07-24T20:47:58.129Z" }, + { url = "https://files.pythonhosted.org/packages/9a/14/ecede608ea73e58267fd7cb78f42341b3b37ba576e778a1a06baffbe585c/numpy-2.3.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:07b62978075b67eee4065b166d000d457c82a1efe726cce608b9db9dd66a73a5", size = 18651678, upload-time = "2025-07-24T20:48:25.402Z" }, + { url = "https://files.pythonhosted.org/packages/40/f3/2fe6066b8d07c3685509bc24d56386534c008b462a488b7f503ba82b8923/numpy-2.3.2-cp313-cp313t-win32.whl", hash = "sha256:c771cfac34a4f2c0de8e8c97312d07d64fd8f8ed45bc9f5726a7e947270152b5", size = 6441832, upload-time = "2025-07-24T20:48:37.181Z" }, + { url = "https://files.pythonhosted.org/packages/0b/ba/0937d66d05204d8f28630c9c60bc3eda68824abde4cf756c4d6aad03b0c6/numpy-2.3.2-cp313-cp313t-win_amd64.whl", hash = "sha256:72dbebb2dcc8305c431b2836bcc66af967df91be793d63a24e3d9b741374c450", size = 12927049, upload-time = "2025-07-24T20:48:56.24Z" }, + { url = "https://files.pythonhosted.org/packages/e9/ed/13542dd59c104d5e654dfa2ac282c199ba64846a74c2c4bcdbc3a0f75df1/numpy-2.3.2-cp313-cp313t-win_arm64.whl", hash = "sha256:72c6df2267e926a6d5286b0a6d556ebe49eae261062059317837fda12ddf0c1a", size = 10262935, upload-time = "2025-07-24T20:49:13.136Z" }, + { url = "https://files.pythonhosted.org/packages/c9/7c/7659048aaf498f7611b783e000c7268fcc4dcf0ce21cd10aad7b2e8f9591/numpy-2.3.2-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:448a66d052d0cf14ce9865d159bfc403282c9bc7bb2a31b03cc18b651eca8b1a", size = 20950906, upload-time = "2025-07-24T20:50:30.346Z" }, + { url = "https://files.pythonhosted.org/packages/80/db/984bea9d4ddf7112a04cfdfb22b1050af5757864cfffe8e09e44b7f11a10/numpy-2.3.2-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:546aaf78e81b4081b2eba1d105c3b34064783027a06b3ab20b6eba21fb64132b", size = 14185607, upload-time = "2025-07-24T20:50:51.923Z" }, + { url = "https://files.pythonhosted.org/packages/e4/76/b3d6f414f4eca568f469ac112a3b510938d892bc5a6c190cb883af080b77/numpy-2.3.2-cp314-cp314-macosx_14_0_arm64.whl", hash = "sha256:87c930d52f45df092f7578889711a0768094debf73cfcde105e2d66954358125", size = 5114110, upload-time = "2025-07-24T20:51:01.041Z" }, + { url = "https://files.pythonhosted.org/packages/9e/d2/6f5e6826abd6bca52392ed88fe44a4b52aacb60567ac3bc86c67834c3a56/numpy-2.3.2-cp314-cp314-macosx_14_0_x86_64.whl", hash = "sha256:8dc082ea901a62edb8f59713c6a7e28a85daddcb67454c839de57656478f5b19", size = 6642050, upload-time = "2025-07-24T20:51:11.64Z" }, + { url = "https://files.pythonhosted.org/packages/c4/43/f12b2ade99199e39c73ad182f103f9d9791f48d885c600c8e05927865baf/numpy-2.3.2-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:af58de8745f7fa9ca1c0c7c943616c6fe28e75d0c81f5c295810e3c83b5be92f", size = 14296292, upload-time = "2025-07-24T20:51:33.488Z" }, + { url = "https://files.pythonhosted.org/packages/5d/f9/77c07d94bf110a916b17210fac38680ed8734c236bfed9982fd8524a7b47/numpy-2.3.2-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fed5527c4cf10f16c6d0b6bee1f89958bccb0ad2522c8cadc2efd318bcd545f5", size = 16638913, upload-time = "2025-07-24T20:51:58.517Z" }, + { url = "https://files.pythonhosted.org/packages/9b/d1/9d9f2c8ea399cc05cfff8a7437453bd4e7d894373a93cdc46361bbb49a7d/numpy-2.3.2-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:095737ed986e00393ec18ec0b21b47c22889ae4b0cd2d5e88342e08b01141f58", size = 16071180, upload-time = "2025-07-24T20:52:22.827Z" }, + { url = "https://files.pythonhosted.org/packages/4c/41/82e2c68aff2a0c9bf315e47d61951099fed65d8cb2c8d9dc388cb87e947e/numpy-2.3.2-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:b5e40e80299607f597e1a8a247ff8d71d79c5b52baa11cc1cce30aa92d2da6e0", size = 18576809, upload-time = "2025-07-24T20:52:51.015Z" }, + { url = "https://files.pythonhosted.org/packages/14/14/4b4fd3efb0837ed252d0f583c5c35a75121038a8c4e065f2c259be06d2d8/numpy-2.3.2-cp314-cp314-win32.whl", hash = "sha256:7d6e390423cc1f76e1b8108c9b6889d20a7a1f59d9a60cac4a050fa734d6c1e2", size = 6366410, upload-time = "2025-07-24T20:56:44.949Z" }, + { url = "https://files.pythonhosted.org/packages/11/9e/b4c24a6b8467b61aced5c8dc7dcfce23621baa2e17f661edb2444a418040/numpy-2.3.2-cp314-cp314-win_amd64.whl", hash = "sha256:b9d0878b21e3918d76d2209c924ebb272340da1fb51abc00f986c258cd5e957b", size = 12918821, upload-time = "2025-07-24T20:57:06.479Z" }, + { url = "https://files.pythonhosted.org/packages/0e/0f/0dc44007c70b1007c1cef86b06986a3812dd7106d8f946c09cfa75782556/numpy-2.3.2-cp314-cp314-win_arm64.whl", hash = "sha256:2738534837c6a1d0c39340a190177d7d66fdf432894f469728da901f8f6dc910", size = 10477303, upload-time = "2025-07-24T20:57:22.879Z" }, + { url = "https://files.pythonhosted.org/packages/8b/3e/075752b79140b78ddfc9c0a1634d234cfdbc6f9bbbfa6b7504e445ad7d19/numpy-2.3.2-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:4d002ecf7c9b53240be3bb69d80f86ddbd34078bae04d87be81c1f58466f264e", size = 21047524, upload-time = "2025-07-24T20:53:22.086Z" }, + { url = "https://files.pythonhosted.org/packages/fe/6d/60e8247564a72426570d0e0ea1151b95ce5bd2f1597bb878a18d32aec855/numpy-2.3.2-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:293b2192c6bcce487dbc6326de5853787f870aeb6c43f8f9c6496db5b1781e45", size = 14300519, upload-time = "2025-07-24T20:53:44.053Z" }, + { url = "https://files.pythonhosted.org/packages/4d/73/d8326c442cd428d47a067070c3ac6cc3b651a6e53613a1668342a12d4479/numpy-2.3.2-cp314-cp314t-macosx_14_0_arm64.whl", hash = "sha256:0a4f2021a6da53a0d580d6ef5db29947025ae8b35b3250141805ea9a32bbe86b", size = 5228972, upload-time = "2025-07-24T20:53:53.81Z" }, + { url = "https://files.pythonhosted.org/packages/34/2e/e71b2d6dad075271e7079db776196829019b90ce3ece5c69639e4f6fdc44/numpy-2.3.2-cp314-cp314t-macosx_14_0_x86_64.whl", hash = "sha256:9c144440db4bf3bb6372d2c3e49834cc0ff7bb4c24975ab33e01199e645416f2", size = 6737439, upload-time = "2025-07-24T20:54:04.742Z" }, + { url = "https://files.pythonhosted.org/packages/15/b0/d004bcd56c2c5e0500ffc65385eb6d569ffd3363cb5e593ae742749b2daa/numpy-2.3.2-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f92d6c2a8535dc4fe4419562294ff957f83a16ebdec66df0805e473ffaad8bd0", size = 14352479, upload-time = "2025-07-24T20:54:25.819Z" }, + { url = "https://files.pythonhosted.org/packages/11/e3/285142fcff8721e0c99b51686426165059874c150ea9ab898e12a492e291/numpy-2.3.2-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:cefc2219baa48e468e3db7e706305fcd0c095534a192a08f31e98d83a7d45fb0", size = 16702805, upload-time = "2025-07-24T20:54:50.814Z" }, + { url = "https://files.pythonhosted.org/packages/33/c3/33b56b0e47e604af2c7cd065edca892d180f5899599b76830652875249a3/numpy-2.3.2-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:76c3e9501ceb50b2ff3824c3589d5d1ab4ac857b0ee3f8f49629d0de55ecf7c2", size = 16133830, upload-time = "2025-07-24T20:55:17.306Z" }, + { url = "https://files.pythonhosted.org/packages/6e/ae/7b1476a1f4d6a48bc669b8deb09939c56dd2a439db1ab03017844374fb67/numpy-2.3.2-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:122bf5ed9a0221b3419672493878ba4967121514b1d7d4656a7580cd11dddcbf", size = 18652665, upload-time = "2025-07-24T20:55:46.665Z" }, + { url = "https://files.pythonhosted.org/packages/14/ba/5b5c9978c4bb161034148ade2de9db44ec316fab89ce8c400db0e0c81f86/numpy-2.3.2-cp314-cp314t-win32.whl", hash = "sha256:6f1ae3dcb840edccc45af496f312528c15b1f79ac318169d094e85e4bb35fdf1", size = 6514777, upload-time = "2025-07-24T20:55:57.66Z" }, + { url = "https://files.pythonhosted.org/packages/eb/46/3dbaf0ae7c17cdc46b9f662c56da2054887b8d9e737c1476f335c83d33db/numpy-2.3.2-cp314-cp314t-win_amd64.whl", hash = "sha256:087ffc25890d89a43536f75c5fe8770922008758e8eeeef61733957041ed2f9b", size = 13111856, upload-time = "2025-07-24T20:56:17.318Z" }, + { url = "https://files.pythonhosted.org/packages/c1/9e/1652778bce745a67b5fe05adde60ed362d38eb17d919a540e813d30f6874/numpy-2.3.2-cp314-cp314t-win_arm64.whl", hash = "sha256:092aeb3449833ea9c0bf0089d70c29ae480685dd2377ec9cdbbb620257f84631", size = 10544226, upload-time = "2025-07-24T20:56:34.509Z" }, + { url = "https://files.pythonhosted.org/packages/cf/ea/50ebc91d28b275b23b7128ef25c3d08152bc4068f42742867e07a870a42a/numpy-2.3.2-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:14a91ebac98813a49bc6aa1a0dfc09513dcec1d97eaf31ca21a87221a1cdcb15", size = 21130338, upload-time = "2025-07-24T20:57:54.37Z" }, + { url = "https://files.pythonhosted.org/packages/9f/57/cdd5eac00dd5f137277355c318a955c0d8fb8aa486020c22afd305f8b88f/numpy-2.3.2-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:71669b5daae692189540cffc4c439468d35a3f84f0c88b078ecd94337f6cb0ec", size = 14375776, upload-time = "2025-07-24T20:58:16.303Z" }, + { url = "https://files.pythonhosted.org/packages/83/85/27280c7f34fcd305c2209c0cdca4d70775e4859a9eaa92f850087f8dea50/numpy-2.3.2-pp311-pypy311_pp73-macosx_14_0_arm64.whl", hash = "sha256:69779198d9caee6e547adb933941ed7520f896fd9656834c300bdf4dd8642712", size = 5304882, upload-time = "2025-07-24T20:58:26.199Z" }, + { url = "https://files.pythonhosted.org/packages/48/b4/6500b24d278e15dd796f43824e69939d00981d37d9779e32499e823aa0aa/numpy-2.3.2-pp311-pypy311_pp73-macosx_14_0_x86_64.whl", hash = "sha256:2c3271cc4097beb5a60f010bcc1cc204b300bb3eafb4399376418a83a1c6373c", size = 6818405, upload-time = "2025-07-24T20:58:37.341Z" }, + { url = "https://files.pythonhosted.org/packages/9b/c9/142c1e03f199d202da8e980c2496213509291b6024fd2735ad28ae7065c7/numpy-2.3.2-pp311-pypy311_pp73-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8446acd11fe3dc1830568c941d44449fd5cb83068e5c70bd5a470d323d448296", size = 14419651, upload-time = "2025-07-24T20:58:59.048Z" }, + { url = "https://files.pythonhosted.org/packages/8b/95/8023e87cbea31a750a6c00ff9427d65ebc5fef104a136bfa69f76266d614/numpy-2.3.2-pp311-pypy311_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:aa098a5ab53fa407fded5870865c6275a5cd4101cfdef8d6fafc48286a96e981", size = 16760166, upload-time = "2025-07-24T21:28:56.38Z" }, + { url = "https://files.pythonhosted.org/packages/78/e3/6690b3f85a05506733c7e90b577e4762517404ea78bab2ca3a5cb1aeb78d/numpy-2.3.2-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:6936aff90dda378c09bea075af0d9c675fe3a977a9d2402f95a87f440f59f619", size = 12977811, upload-time = "2025-07-24T21:29:18.234Z" }, ] [[package]] @@ -2873,40 +3083,41 @@ wheels = [ [[package]] name = "onnxruntime" -version = "1.21.1" +version = "1.22.1" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "coloredlogs" }, { name = "flatbuffers" }, - { name = "numpy" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "numpy", version = "2.3.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, { name = "packaging" }, { name = "protobuf" }, { name = "sympy" }, ] wheels = [ - { url = "https://files.pythonhosted.org/packages/06/72/09d8f206402cd91805828354ad1d7473b1bace60fc54a11971012906d9b7/onnxruntime-1.21.1-cp310-cp310-macosx_13_0_universal2.whl", hash = "sha256:daedb5d33d8963062a25f4a3c788262074587f685a19478ef759a911b4b12c25", size = 33639134, upload-time = "2025-04-18T12:01:11.442Z" }, - { url = "https://files.pythonhosted.org/packages/1f/66/31384dc7beea89f21ec7d1582c1b50e9d047d505db38f32cf49693fad1b4/onnxruntime-1.21.1-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3a402f9bda0b1cc791d9cf31d23c471e8189a55369b49ef2b9d0854eb11d22c4", size = 14162243, upload-time = "2025-04-18T12:01:34.324Z" }, - { url = "https://files.pythonhosted.org/packages/a9/fb/76597b77785b2012317ffdd817101ccfab784e2c125645d002c4c9cd377b/onnxruntime-1.21.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:15656a2d0126f4f66295381e39c8812a6d845ccb1bb1f7bf6dd0a46d7d602e7f", size = 16000498, upload-time = "2025-04-18T12:01:36.797Z" }, - { url = "https://files.pythonhosted.org/packages/91/83/c7287845f22f2e1d37a54b5997e9589b6931e264cc0f16250d1706eadf79/onnxruntime-1.21.1-cp310-cp310-win_amd64.whl", hash = "sha256:79bbedfd1263065532967a2132fb365a27ffe5f7ed962e16fec55cca741f72aa", size = 12300918, upload-time = "2025-04-18T12:01:14.902Z" }, - { url = "https://files.pythonhosted.org/packages/70/ba/13c46c22fb52d8fea53575da163399a7d75fe61223aba685370f047a0882/onnxruntime-1.21.1-cp311-cp311-macosx_13_0_universal2.whl", hash = "sha256:8bee9b5ba7b88ae7bfccb4f97bbe1b4bae801b0fb05d686b28a722cb27c89931", size = 33643424, upload-time = "2025-04-18T12:01:17.445Z" }, - { url = "https://files.pythonhosted.org/packages/18/4f/68985138c507b6ad34061aa4f330b8fbd30b0c5c299be53f0c829420528e/onnxruntime-1.21.1-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4b6a29a1767b92d543091349f5397a1c7619eaca746cd1bc47f8b4ec5a9f1a6c", size = 14162437, upload-time = "2025-04-18T12:01:39.412Z" }, - { url = "https://files.pythonhosted.org/packages/0f/76/7dfa4b63f95a17eaf881c9c464feaa59a25bbfb578db204fc22d522b5199/onnxruntime-1.21.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:982dcc04a6688e1af9e3da1d4ef2bdeb11417cf3f8dde81f8f721043c1919a4f", size = 16002403, upload-time = "2025-04-18T12:01:41.645Z" }, - { url = "https://files.pythonhosted.org/packages/80/85/397406e758d6c30fb6d0d0152041c6b9ee835c3584765837ce54230c8bc9/onnxruntime-1.21.1-cp311-cp311-win_amd64.whl", hash = "sha256:2b6052c04b9125319293abb9bdcce40e806db3e097f15b82242d4cd72d81fd0c", size = 12301824, upload-time = "2025-04-18T12:01:20.228Z" }, - { url = "https://files.pythonhosted.org/packages/a5/42/274438bbc259439fa1606d0d6d2eef4171cdbd2d7a1c3b249b4ba440424b/onnxruntime-1.21.1-cp312-cp312-macosx_13_0_universal2.whl", hash = "sha256:f615c05869a523a94d0a4de1f0936d0199a473cf104d630fc26174bebd5759bd", size = 33658457, upload-time = "2025-04-18T12:01:22.937Z" }, - { url = "https://files.pythonhosted.org/packages/9c/93/76f629d4f22571b0b3a29a9d375204faae2bd2b07d557043b56df5848779/onnxruntime-1.21.1-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:79dfb1f47386c4edd115b21015354b2f05f5566c40c98606251f15a64add3cbe", size = 14164881, upload-time = "2025-04-18T12:01:44.497Z" }, - { url = "https://files.pythonhosted.org/packages/1b/86/75cbaa4058758fa8ef912dfebba2d5a4e4fd6738615c15b6a2262d076198/onnxruntime-1.21.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2742935d6610fe0f58e1995018d9db7e8239d0201d9ebbdb7964a61386b5390a", size = 16019966, upload-time = "2025-04-18T12:01:47.366Z" }, - { url = "https://files.pythonhosted.org/packages/5f/9d/fb8895b2cb38c9965d4b4e0a9aa1398f3e3f16c4acb75cf3b61689780a65/onnxruntime-1.21.1-cp312-cp312-win_amd64.whl", hash = "sha256:a7afdb3fcb162f5536225e13c2b245018068964b1d0eee05303ea6823ca6785e", size = 12302925, upload-time = "2025-04-18T12:01:26.147Z" }, - { url = "https://files.pythonhosted.org/packages/6d/7e/8445eb44ba9fe0ce0bc77c4b569d79f7e3efd6da2dd87c5a04347e6c134e/onnxruntime-1.21.1-cp313-cp313-macosx_13_0_universal2.whl", hash = "sha256:ed4f9771233a92edcab9f11f537702371d450fe6cd79a727b672d37b9dab0cde", size = 33658643, upload-time = "2025-04-18T12:01:28.73Z" }, - { url = "https://files.pythonhosted.org/packages/ce/46/9c4026d302f1c7e8427bf9fa3da2d7526d9c5200242bde6adee7928ef1c9/onnxruntime-1.21.1-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1bc100fd1f4f95258e7d0f7068ec69dec2a47cc693f745eec9cf4561ee8d952a", size = 14165205, upload-time = "2025-04-18T12:01:50.117Z" }, - { url = "https://files.pythonhosted.org/packages/44/b2/4e4c6b5c03be752d74cb20937961c76f53fe87a9760d5b7345629d35bb31/onnxruntime-1.21.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0fea0d2b98eecf4bebe01f7ce9a265a5d72b3050e9098063bfe65fa2b0633a8e", size = 16019529, upload-time = "2025-04-18T12:01:52.995Z" }, - { url = "https://files.pythonhosted.org/packages/ec/1d/afca646af339cc6735f3fb7fafb9ca94b578c5b6a0ebd63a312468767bdb/onnxruntime-1.21.1-cp313-cp313-win_amd64.whl", hash = "sha256:da606061b9ed1b05b63a37be38c2014679a3e725903f58036ffd626df45c0e47", size = 12303603, upload-time = "2025-04-18T12:01:32.073Z" }, - { url = "https://files.pythonhosted.org/packages/a5/12/a01e38c9a6b8d7c28e04d9eb83ad9143d568b961474ba49f0f18a3eeec82/onnxruntime-1.21.1-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:94674315d40d521952bfc28007ce9b6728e87753e1f18d243c8cd953f25903b8", size = 14176329, upload-time = "2025-04-18T12:01:55.227Z" }, - { url = "https://files.pythonhosted.org/packages/3a/72/5ff85c540fd6a465610ce47e4cee8fccb472952fc1d589112f51ae2520a5/onnxruntime-1.21.1-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5c9e4571ff5b2a5d377d414bc85cd9450ba233a9a92f766493874f1093976453", size = 15990556, upload-time = "2025-04-18T12:01:57.979Z" }, + { url = "https://files.pythonhosted.org/packages/76/b9/664a1ffee62fa51529fac27b37409d5d28cadee8d97db806fcba68339b7e/onnxruntime-1.22.1-cp310-cp310-macosx_13_0_universal2.whl", hash = "sha256:80e7f51da1f5201c1379b8d6ef6170505cd800e40da216290f5e06be01aadf95", size = 34319864, upload-time = "2025-07-10T19:15:15.371Z" }, + { url = "https://files.pythonhosted.org/packages/b9/64/bc7221e92c994931024e22b22401b962c299e991558c3d57f7e34538b4b9/onnxruntime-1.22.1-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b89ddfdbbdaf7e3a59515dee657f6515601d55cb21a0f0f48c81aefc54ff1b73", size = 14472246, upload-time = "2025-07-10T19:15:19.403Z" }, + { url = "https://files.pythonhosted.org/packages/84/57/901eddbfb59ac4d008822b236450d5765cafcd450c787019416f8d3baf11/onnxruntime-1.22.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bddc75868bcf6f9ed76858a632f65f7b1846bdcefc6d637b1e359c2c68609964", size = 16459905, upload-time = "2025-07-10T19:15:21.749Z" }, + { url = "https://files.pythonhosted.org/packages/de/90/d6a1eb9b47e66a18afe7d1cf7cf0b2ef966ffa6f44d9f32d94c2be2860fb/onnxruntime-1.22.1-cp310-cp310-win_amd64.whl", hash = "sha256:01e2f21b2793eb0c8642d2be3cee34cc7d96b85f45f6615e4e220424158877ce", size = 12689001, upload-time = "2025-07-10T19:15:23.848Z" }, + { url = "https://files.pythonhosted.org/packages/82/ff/4a1a6747e039ef29a8d4ee4510060e9a805982b6da906a3da2306b7a3be6/onnxruntime-1.22.1-cp311-cp311-macosx_13_0_universal2.whl", hash = "sha256:f4581bccb786da68725d8eac7c63a8f31a89116b8761ff8b4989dc58b61d49a0", size = 34324148, upload-time = "2025-07-10T19:15:26.584Z" }, + { url = "https://files.pythonhosted.org/packages/0b/05/9f1929723f1cca8c9fb1b2b97ac54ce61362c7201434d38053ea36ee4225/onnxruntime-1.22.1-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7ae7526cf10f93454beb0f751e78e5cb7619e3b92f9fc3bd51aa6f3b7a8977e5", size = 14473779, upload-time = "2025-07-10T19:15:30.183Z" }, + { url = "https://files.pythonhosted.org/packages/59/f3/c93eb4167d4f36ea947930f82850231f7ce0900cb00e1a53dc4995b60479/onnxruntime-1.22.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f6effa1299ac549a05c784d50292e3378dbbf010346ded67400193b09ddc2f04", size = 16460799, upload-time = "2025-07-10T19:15:33.005Z" }, + { url = "https://files.pythonhosted.org/packages/a8/01/e536397b03e4462d3260aee5387e6f606c8fa9d2b20b1728f988c3c72891/onnxruntime-1.22.1-cp311-cp311-win_amd64.whl", hash = "sha256:f28a42bb322b4ca6d255531bb334a2b3e21f172e37c1741bd5e66bc4b7b61f03", size = 12689881, upload-time = "2025-07-10T19:15:35.501Z" }, + { url = "https://files.pythonhosted.org/packages/48/70/ca2a4d38a5deccd98caa145581becb20c53684f451e89eb3a39915620066/onnxruntime-1.22.1-cp312-cp312-macosx_13_0_universal2.whl", hash = "sha256:a938d11c0dc811badf78e435daa3899d9af38abee950d87f3ab7430eb5b3cf5a", size = 34342883, upload-time = "2025-07-10T19:15:38.223Z" }, + { url = "https://files.pythonhosted.org/packages/29/e5/00b099b4d4f6223b610421080d0eed9327ef9986785c9141819bbba0d396/onnxruntime-1.22.1-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:984cea2a02fcc5dfea44ade9aca9fe0f7a8a2cd6f77c258fc4388238618f3928", size = 14473861, upload-time = "2025-07-10T19:15:42.911Z" }, + { url = "https://files.pythonhosted.org/packages/0a/50/519828a5292a6ccd8d5cd6d2f72c6b36ea528a2ef68eca69647732539ffa/onnxruntime-1.22.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2d39a530aff1ec8d02e365f35e503193991417788641b184f5b1e8c9a6d5ce8d", size = 16475713, upload-time = "2025-07-10T19:15:45.452Z" }, + { url = "https://files.pythonhosted.org/packages/5d/54/7139d463bb0a312890c9a5db87d7815d4a8cce9e6f5f28d04f0b55fcb160/onnxruntime-1.22.1-cp312-cp312-win_amd64.whl", hash = "sha256:6a64291d57ea966a245f749eb970f4fa05a64d26672e05a83fdb5db6b7d62f87", size = 12690910, upload-time = "2025-07-10T19:15:47.478Z" }, + { url = "https://files.pythonhosted.org/packages/e0/39/77cefa829740bd830915095d8408dce6d731b244e24b1f64fe3df9f18e86/onnxruntime-1.22.1-cp313-cp313-macosx_13_0_universal2.whl", hash = "sha256:d29c7d87b6cbed8fecfd09dca471832384d12a69e1ab873e5effbb94adc3e966", size = 34342026, upload-time = "2025-07-10T19:15:50.266Z" }, + { url = "https://files.pythonhosted.org/packages/d2/a6/444291524cb52875b5de980a6e918072514df63a57a7120bf9dfae3aeed1/onnxruntime-1.22.1-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:460487d83b7056ba98f1f7bac80287224c31d8149b15712b0d6f5078fcc33d0f", size = 14474014, upload-time = "2025-07-10T19:15:53.991Z" }, + { url = "https://files.pythonhosted.org/packages/87/9d/45a995437879c18beff26eacc2322f4227224d04c6ac3254dce2e8950190/onnxruntime-1.22.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b0c37070268ba4e02a1a9d28560cd00cd1e94f0d4f275cbef283854f861a65fa", size = 16475427, upload-time = "2025-07-10T19:15:56.067Z" }, + { url = "https://files.pythonhosted.org/packages/4c/06/9c765e66ad32a7e709ce4cb6b95d7eaa9cb4d92a6e11ea97c20ffecaf765/onnxruntime-1.22.1-cp313-cp313-win_amd64.whl", hash = "sha256:70980d729145a36a05f74b573435531f55ef9503bcda81fc6c3d6b9306199982", size = 12690841, upload-time = "2025-07-10T19:15:58.337Z" }, + { url = "https://files.pythonhosted.org/packages/52/8c/02af24ee1c8dce4e6c14a1642a7a56cebe323d2fa01d9a360a638f7e4b75/onnxruntime-1.22.1-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:33a7980bbc4b7f446bac26c3785652fe8730ed02617d765399e89ac7d44e0f7d", size = 14479333, upload-time = "2025-07-10T19:16:00.544Z" }, + { url = "https://files.pythonhosted.org/packages/5d/15/d75fd66aba116ce3732bb1050401394c5ec52074c4f7ee18db8838dd4667/onnxruntime-1.22.1-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6e7e823624b015ea879d976cbef8bfaed2f7e2cc233d7506860a76dd37f8f381", size = 16477261, upload-time = "2025-07-10T19:16:03.226Z" }, ] [[package]] name = "openai" -version = "1.95.1" +version = "1.98.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "anyio" }, @@ -2918,9 +3129,29 @@ dependencies = [ { name = "tqdm" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/a1/a3/70cd57c7d71086c532ce90de5fdef4165dc6ae9dbf346da6737ff9ebafaa/openai-1.95.1.tar.gz", hash = "sha256:f089b605282e2a2b6776090b4b46563ac1da77f56402a222597d591e2dcc1086", size = 488271, upload-time = "2025-07-11T20:47:24.437Z" } +sdist = { url = "https://files.pythonhosted.org/packages/d8/9d/52eadb15c92802711d6b6cf00df3a6d0d18b588f4c5ba5ff210c6419fc03/openai-1.98.0.tar.gz", hash = "sha256:3ee0fcc50ae95267fd22bd1ad095ba5402098f3df2162592e68109999f685427", size = 496695, upload-time = "2025-07-30T12:48:03.701Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/02/1d/0432ea635097f4dbb34641a3650803d8a4aa29d06bafc66583bf1adcceb4/openai-1.95.1-py3-none-any.whl", hash = "sha256:8bbdfeceef231b1ddfabbc232b179d79f8b849aab5a7da131178f8d10e0f162f", size = 755613, upload-time = "2025-07-11T20:47:22.629Z" }, + { url = "https://files.pythonhosted.org/packages/a8/fe/f64631075b3d63a613c0d8ab761d5941631a470f6fa87eaaee1aa2b4ec0c/openai-1.98.0-py3-none-any.whl", hash = "sha256:b99b794ef92196829120e2df37647722104772d2a74d08305df9ced5f26eae34", size = 767713, upload-time = "2025-07-30T12:48:01.264Z" }, +] + +[[package]] +name = "openapi-core" +version = "0.19.5" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "isodate" }, + { name = "jsonschema" }, + { name = "jsonschema-path" }, + { name = "more-itertools" }, + { name = "openapi-schema-validator" }, + { name = "openapi-spec-validator" }, + { name = "parse" }, + { name = "typing-extensions" }, + { name = "werkzeug" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b1/35/1acaa5f2fcc6e54eded34a2ec74b479439c4e469fc4e8d0e803fda0234db/openapi_core-0.19.5.tar.gz", hash = "sha256:421e753da56c391704454e66afe4803a290108590ac8fa6f4a4487f4ec11f2d3", size = 103264, upload-time = "2025-03-20T20:17:28.193Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/27/6f/83ead0e2e30a90445ee4fc0135f43741aebc30cca5b43f20968b603e30b6/openapi_core-0.19.5-py3-none-any.whl", hash = "sha256:ef7210e83a59394f46ce282639d8d26ad6fc8094aa904c9c16eb1bac8908911f", size = 106595, upload-time = "2025-03-20T20:17:26.77Z" }, ] [[package]] @@ -2935,6 +3166,35 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/12/cf/03675d8bd8ecbf4445504d8071adab19f5f993676795708e36402ab38263/openapi_pydantic-0.5.1-py3-none-any.whl", hash = "sha256:a3a09ef4586f5bd760a8df7f43028b60cafb6d9f61de2acba9574766255ab146", size = 96381, upload-time = "2025-01-08T19:29:25.275Z" }, ] +[[package]] +name = "openapi-schema-validator" +version = "0.6.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "jsonschema" }, + { name = "jsonschema-specifications" }, + { name = "rfc3339-validator" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/8b/f3/5507ad3325169347cd8ced61c232ff3df70e2b250c49f0fe140edb4973c6/openapi_schema_validator-0.6.3.tar.gz", hash = "sha256:f37bace4fc2a5d96692f4f8b31dc0f8d7400fd04f3a937798eaf880d425de6ee", size = 11550, upload-time = "2025-01-10T18:08:22.268Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/21/c6/ad0fba32775ae749016829dace42ed80f4407b171da41313d1a3a5f102e4/openapi_schema_validator-0.6.3-py3-none-any.whl", hash = "sha256:f3b9870f4e556b5a62a1c39da72a6b4b16f3ad9c73dc80084b1b11e74ba148a3", size = 8755, upload-time = "2025-01-10T18:08:19.758Z" }, +] + +[[package]] +name = "openapi-spec-validator" +version = "0.7.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "jsonschema" }, + { name = "jsonschema-path" }, + { name = "lazy-object-proxy" }, + { name = "openapi-schema-validator" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/82/af/fe2d7618d6eae6fb3a82766a44ed87cd8d6d82b4564ed1c7cfb0f6378e91/openapi_spec_validator-0.7.2.tar.gz", hash = "sha256:cc029309b5c5dbc7859df0372d55e9d1ff43e96d678b9ba087f7c56fc586f734", size = 36855, upload-time = "2025-06-07T14:48:56.299Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/27/dd/b3fd642260cb17532f66cc1e8250f3507d1e580483e209dc1e9d13bd980d/openapi_spec_validator-0.7.2-py3-none-any.whl", hash = "sha256:4bbdc0894ec85f1d1bea1d6d9c8b2c3c8d7ccaa13577ef40da9c006c9fd0eb60", size = 39713, upload-time = "2025-06-07T14:48:54.077Z" }, +] + [[package]] name = "openpyxl" version = "3.1.5" @@ -2958,68 +3218,79 @@ wheels = [ [[package]] name = "orjson" -version = "3.10.18" +version = "3.11.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/81/0b/fea456a3ffe74e70ba30e01ec183a9b26bec4d497f61dcfce1b601059c60/orjson-3.10.18.tar.gz", hash = "sha256:e8da3947d92123eda795b68228cafe2724815621fe35e8e320a9e9593a4bcd53", size = 5422810, upload-time = "2025-04-29T23:30:08.423Z" } +sdist = { url = "https://files.pythonhosted.org/packages/19/3b/fd9ff8ff64ae3900f11554d5cfc835fb73e501e043c420ad32ec574fe27f/orjson-3.11.1.tar.gz", hash = "sha256:48d82770a5fd88778063604c566f9c7c71820270c9cc9338d25147cbf34afd96", size = 5393373, upload-time = "2025-07-25T14:33:52.898Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/27/16/2ceb9fb7bc2b11b1e4a3ea27794256e93dee2309ebe297fd131a778cd150/orjson-3.10.18-cp310-cp310-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:a45e5d68066b408e4bc383b6e4ef05e717c65219a9e1390abc6155a520cac402", size = 248927, upload-time = "2025-04-29T23:28:08.643Z" }, - { url = "https://files.pythonhosted.org/packages/3d/e1/d3c0a2bba5b9906badd121da449295062b289236c39c3a7801f92c4682b0/orjson-3.10.18-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:be3b9b143e8b9db05368b13b04c84d37544ec85bb97237b3a923f076265ec89c", size = 136995, upload-time = "2025-04-29T23:28:11.503Z" }, - { url = "https://files.pythonhosted.org/packages/d7/51/698dd65e94f153ee5ecb2586c89702c9e9d12f165a63e74eb9ea1299f4e1/orjson-3.10.18-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:9b0aa09745e2c9b3bf779b096fa71d1cc2d801a604ef6dd79c8b1bfef52b2f92", size = 132893, upload-time = "2025-04-29T23:28:12.751Z" }, - { url = "https://files.pythonhosted.org/packages/b3/e5/155ce5a2c43a85e790fcf8b985400138ce5369f24ee6770378ee6b691036/orjson-3.10.18-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:53a245c104d2792e65c8d225158f2b8262749ffe64bc7755b00024757d957a13", size = 137017, upload-time = "2025-04-29T23:28:14.498Z" }, - { url = "https://files.pythonhosted.org/packages/46/bb/6141ec3beac3125c0b07375aee01b5124989907d61c72c7636136e4bd03e/orjson-3.10.18-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f9495ab2611b7f8a0a8a505bcb0f0cbdb5469caafe17b0e404c3c746f9900469", size = 138290, upload-time = "2025-04-29T23:28:16.211Z" }, - { url = "https://files.pythonhosted.org/packages/77/36/6961eca0b66b7809d33c4ca58c6bd4c23a1b914fb23aba2fa2883f791434/orjson-3.10.18-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:73be1cbcebadeabdbc468f82b087df435843c809cd079a565fb16f0f3b23238f", size = 142828, upload-time = "2025-04-29T23:28:18.065Z" }, - { url = "https://files.pythonhosted.org/packages/8b/2f/0c646d5fd689d3be94f4d83fa9435a6c4322c9b8533edbb3cd4bc8c5f69a/orjson-3.10.18-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fe8936ee2679e38903df158037a2f1c108129dee218975122e37847fb1d4ac68", size = 132806, upload-time = "2025-04-29T23:28:19.782Z" }, - { url = "https://files.pythonhosted.org/packages/ea/af/65907b40c74ef4c3674ef2bcfa311c695eb934710459841b3c2da212215c/orjson-3.10.18-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:7115fcbc8525c74e4c2b608129bef740198e9a120ae46184dac7683191042056", size = 135005, upload-time = "2025-04-29T23:28:21.367Z" }, - { url = "https://files.pythonhosted.org/packages/c7/d1/68bd20ac6a32cd1f1b10d23e7cc58ee1e730e80624e3031d77067d7150fc/orjson-3.10.18-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:771474ad34c66bc4d1c01f645f150048030694ea5b2709b87d3bda273ffe505d", size = 413418, upload-time = "2025-04-29T23:28:23.097Z" }, - { url = "https://files.pythonhosted.org/packages/31/31/c701ec0bcc3e80e5cb6e319c628ef7b768aaa24b0f3b4c599df2eaacfa24/orjson-3.10.18-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:7c14047dbbea52886dd87169f21939af5d55143dad22d10db6a7514f058156a8", size = 153288, upload-time = "2025-04-29T23:28:25.02Z" }, - { url = "https://files.pythonhosted.org/packages/d9/31/5e1aa99a10893a43cfc58009f9da840990cc8a9ebb75aa452210ba18587e/orjson-3.10.18-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:641481b73baec8db14fdf58f8967e52dc8bda1f2aba3aa5f5c1b07ed6df50b7f", size = 137181, upload-time = "2025-04-29T23:28:26.318Z" }, - { url = "https://files.pythonhosted.org/packages/bf/8c/daba0ac1b8690011d9242a0f37235f7d17df6d0ad941021048523b76674e/orjson-3.10.18-cp310-cp310-win32.whl", hash = "sha256:607eb3ae0909d47280c1fc657c4284c34b785bae371d007595633f4b1a2bbe06", size = 142694, upload-time = "2025-04-29T23:28:28.092Z" }, - { url = "https://files.pythonhosted.org/packages/16/62/8b687724143286b63e1d0fab3ad4214d54566d80b0ba9d67c26aaf28a2f8/orjson-3.10.18-cp310-cp310-win_amd64.whl", hash = "sha256:8770432524ce0eca50b7efc2a9a5f486ee0113a5fbb4231526d414e6254eba92", size = 134600, upload-time = "2025-04-29T23:28:29.422Z" }, - { url = "https://files.pythonhosted.org/packages/97/c7/c54a948ce9a4278794f669a353551ce7db4ffb656c69a6e1f2264d563e50/orjson-3.10.18-cp311-cp311-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:e0a183ac3b8e40471e8d843105da6fbe7c070faab023be3b08188ee3f85719b8", size = 248929, upload-time = "2025-04-29T23:28:30.716Z" }, - { url = "https://files.pythonhosted.org/packages/9e/60/a9c674ef1dd8ab22b5b10f9300e7e70444d4e3cda4b8258d6c2488c32143/orjson-3.10.18-cp311-cp311-macosx_15_0_arm64.whl", hash = "sha256:5ef7c164d9174362f85238d0cd4afdeeb89d9e523e4651add6a5d458d6f7d42d", size = 133364, upload-time = "2025-04-29T23:28:32.392Z" }, - { url = "https://files.pythonhosted.org/packages/c1/4e/f7d1bdd983082216e414e6d7ef897b0c2957f99c545826c06f371d52337e/orjson-3.10.18-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:afd14c5d99cdc7bf93f22b12ec3b294931518aa019e2a147e8aa2f31fd3240f7", size = 136995, upload-time = "2025-04-29T23:28:34.024Z" }, - { url = "https://files.pythonhosted.org/packages/17/89/46b9181ba0ea251c9243b0c8ce29ff7c9796fa943806a9c8b02592fce8ea/orjson-3.10.18-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7b672502323b6cd133c4af6b79e3bea36bad2d16bca6c1f645903fce83909a7a", size = 132894, upload-time = "2025-04-29T23:28:35.318Z" }, - { url = "https://files.pythonhosted.org/packages/ca/dd/7bce6fcc5b8c21aef59ba3c67f2166f0a1a9b0317dcca4a9d5bd7934ecfd/orjson-3.10.18-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:51f8c63be6e070ec894c629186b1c0fe798662b8687f3d9fdfa5e401c6bd7679", size = 137016, upload-time = "2025-04-29T23:28:36.674Z" }, - { url = "https://files.pythonhosted.org/packages/1c/4a/b8aea1c83af805dcd31c1f03c95aabb3e19a016b2a4645dd822c5686e94d/orjson-3.10.18-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3f9478ade5313d724e0495d167083c6f3be0dd2f1c9c8a38db9a9e912cdaf947", size = 138290, upload-time = "2025-04-29T23:28:38.3Z" }, - { url = "https://files.pythonhosted.org/packages/36/d6/7eb05c85d987b688707f45dcf83c91abc2251e0dd9fb4f7be96514f838b1/orjson-3.10.18-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:187aefa562300a9d382b4b4eb9694806e5848b0cedf52037bb5c228c61bb66d4", size = 142829, upload-time = "2025-04-29T23:28:39.657Z" }, - { url = "https://files.pythonhosted.org/packages/d2/78/ddd3ee7873f2b5f90f016bc04062713d567435c53ecc8783aab3a4d34915/orjson-3.10.18-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9da552683bc9da222379c7a01779bddd0ad39dd699dd6300abaf43eadee38334", size = 132805, upload-time = "2025-04-29T23:28:40.969Z" }, - { url = "https://files.pythonhosted.org/packages/8c/09/c8e047f73d2c5d21ead9c180203e111cddeffc0848d5f0f974e346e21c8e/orjson-3.10.18-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:e450885f7b47a0231979d9c49b567ed1c4e9f69240804621be87c40bc9d3cf17", size = 135008, upload-time = "2025-04-29T23:28:42.284Z" }, - { url = "https://files.pythonhosted.org/packages/0c/4b/dccbf5055ef8fb6eda542ab271955fc1f9bf0b941a058490293f8811122b/orjson-3.10.18-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:5e3c9cc2ba324187cd06287ca24f65528f16dfc80add48dc99fa6c836bb3137e", size = 413419, upload-time = "2025-04-29T23:28:43.673Z" }, - { url = "https://files.pythonhosted.org/packages/8a/f3/1eac0c5e2d6d6790bd2025ebfbefcbd37f0d097103d76f9b3f9302af5a17/orjson-3.10.18-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:50ce016233ac4bfd843ac5471e232b865271d7d9d44cf9d33773bcd883ce442b", size = 153292, upload-time = "2025-04-29T23:28:45.573Z" }, - { url = "https://files.pythonhosted.org/packages/1f/b4/ef0abf64c8f1fabf98791819ab502c2c8c1dc48b786646533a93637d8999/orjson-3.10.18-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b3ceff74a8f7ffde0b2785ca749fc4e80e4315c0fd887561144059fb1c138aa7", size = 137182, upload-time = "2025-04-29T23:28:47.229Z" }, - { url = "https://files.pythonhosted.org/packages/a9/a3/6ea878e7b4a0dc5c888d0370d7752dcb23f402747d10e2257478d69b5e63/orjson-3.10.18-cp311-cp311-win32.whl", hash = "sha256:fdba703c722bd868c04702cac4cb8c6b8ff137af2623bc0ddb3b3e6a2c8996c1", size = 142695, upload-time = "2025-04-29T23:28:48.564Z" }, - { url = "https://files.pythonhosted.org/packages/79/2a/4048700a3233d562f0e90d5572a849baa18ae4e5ce4c3ba6247e4ece57b0/orjson-3.10.18-cp311-cp311-win_amd64.whl", hash = "sha256:c28082933c71ff4bc6ccc82a454a2bffcef6e1d7379756ca567c772e4fb3278a", size = 134603, upload-time = "2025-04-29T23:28:50.442Z" }, - { url = "https://files.pythonhosted.org/packages/03/45/10d934535a4993d27e1c84f1810e79ccf8b1b7418cef12151a22fe9bb1e1/orjson-3.10.18-cp311-cp311-win_arm64.whl", hash = "sha256:a6c7c391beaedd3fa63206e5c2b7b554196f14debf1ec9deb54b5d279b1b46f5", size = 131400, upload-time = "2025-04-29T23:28:51.838Z" }, - { url = "https://files.pythonhosted.org/packages/21/1a/67236da0916c1a192d5f4ccbe10ec495367a726996ceb7614eaa687112f2/orjson-3.10.18-cp312-cp312-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:50c15557afb7f6d63bc6d6348e0337a880a04eaa9cd7c9d569bcb4e760a24753", size = 249184, upload-time = "2025-04-29T23:28:53.612Z" }, - { url = "https://files.pythonhosted.org/packages/b3/bc/c7f1db3b1d094dc0c6c83ed16b161a16c214aaa77f311118a93f647b32dc/orjson-3.10.18-cp312-cp312-macosx_15_0_arm64.whl", hash = "sha256:356b076f1662c9813d5fa56db7d63ccceef4c271b1fb3dd522aca291375fcf17", size = 133279, upload-time = "2025-04-29T23:28:55.055Z" }, - { url = "https://files.pythonhosted.org/packages/af/84/664657cd14cc11f0d81e80e64766c7ba5c9b7fc1ec304117878cc1b4659c/orjson-3.10.18-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:559eb40a70a7494cd5beab2d73657262a74a2c59aff2068fdba8f0424ec5b39d", size = 136799, upload-time = "2025-04-29T23:28:56.828Z" }, - { url = "https://files.pythonhosted.org/packages/9a/bb/f50039c5bb05a7ab024ed43ba25d0319e8722a0ac3babb0807e543349978/orjson-3.10.18-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f3c29eb9a81e2fbc6fd7ddcfba3e101ba92eaff455b8d602bf7511088bbc0eae", size = 132791, upload-time = "2025-04-29T23:28:58.751Z" }, - { url = "https://files.pythonhosted.org/packages/93/8c/ee74709fc072c3ee219784173ddfe46f699598a1723d9d49cbc78d66df65/orjson-3.10.18-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6612787e5b0756a171c7d81ba245ef63a3533a637c335aa7fcb8e665f4a0966f", size = 137059, upload-time = "2025-04-29T23:29:00.129Z" }, - { url = "https://files.pythonhosted.org/packages/6a/37/e6d3109ee004296c80426b5a62b47bcadd96a3deab7443e56507823588c5/orjson-3.10.18-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7ac6bd7be0dcab5b702c9d43d25e70eb456dfd2e119d512447468f6405b4a69c", size = 138359, upload-time = "2025-04-29T23:29:01.704Z" }, - { url = "https://files.pythonhosted.org/packages/4f/5d/387dafae0e4691857c62bd02839a3bf3fa648eebd26185adfac58d09f207/orjson-3.10.18-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9f72f100cee8dde70100406d5c1abba515a7df926d4ed81e20a9730c062fe9ad", size = 142853, upload-time = "2025-04-29T23:29:03.576Z" }, - { url = "https://files.pythonhosted.org/packages/27/6f/875e8e282105350b9a5341c0222a13419758545ae32ad6e0fcf5f64d76aa/orjson-3.10.18-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9dca85398d6d093dd41dc0983cbf54ab8e6afd1c547b6b8a311643917fbf4e0c", size = 133131, upload-time = "2025-04-29T23:29:05.753Z" }, - { url = "https://files.pythonhosted.org/packages/48/b2/73a1f0b4790dcb1e5a45f058f4f5dcadc8a85d90137b50d6bbc6afd0ae50/orjson-3.10.18-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:22748de2a07fcc8781a70edb887abf801bb6142e6236123ff93d12d92db3d406", size = 134834, upload-time = "2025-04-29T23:29:07.35Z" }, - { url = "https://files.pythonhosted.org/packages/56/f5/7ed133a5525add9c14dbdf17d011dd82206ca6840811d32ac52a35935d19/orjson-3.10.18-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:3a83c9954a4107b9acd10291b7f12a6b29e35e8d43a414799906ea10e75438e6", size = 413368, upload-time = "2025-04-29T23:29:09.301Z" }, - { url = "https://files.pythonhosted.org/packages/11/7c/439654221ed9c3324bbac7bdf94cf06a971206b7b62327f11a52544e4982/orjson-3.10.18-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:303565c67a6c7b1f194c94632a4a39918e067bd6176a48bec697393865ce4f06", size = 153359, upload-time = "2025-04-29T23:29:10.813Z" }, - { url = "https://files.pythonhosted.org/packages/48/e7/d58074fa0cc9dd29a8fa2a6c8d5deebdfd82c6cfef72b0e4277c4017563a/orjson-3.10.18-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:86314fdb5053a2f5a5d881f03fca0219bfdf832912aa88d18676a5175c6916b5", size = 137466, upload-time = "2025-04-29T23:29:12.26Z" }, - { url = "https://files.pythonhosted.org/packages/57/4d/fe17581cf81fb70dfcef44e966aa4003360e4194d15a3f38cbffe873333a/orjson-3.10.18-cp312-cp312-win32.whl", hash = "sha256:187ec33bbec58c76dbd4066340067d9ece6e10067bb0cc074a21ae3300caa84e", size = 142683, upload-time = "2025-04-29T23:29:13.865Z" }, - { url = "https://files.pythonhosted.org/packages/e6/22/469f62d25ab5f0f3aee256ea732e72dc3aab6d73bac777bd6277955bceef/orjson-3.10.18-cp312-cp312-win_amd64.whl", hash = "sha256:f9f94cf6d3f9cd720d641f8399e390e7411487e493962213390d1ae45c7814fc", size = 134754, upload-time = "2025-04-29T23:29:15.338Z" }, - { url = "https://files.pythonhosted.org/packages/10/b0/1040c447fac5b91bc1e9c004b69ee50abb0c1ffd0d24406e1350c58a7fcb/orjson-3.10.18-cp312-cp312-win_arm64.whl", hash = "sha256:3d600be83fe4514944500fa8c2a0a77099025ec6482e8087d7659e891f23058a", size = 131218, upload-time = "2025-04-29T23:29:17.324Z" }, - { url = "https://files.pythonhosted.org/packages/04/f0/8aedb6574b68096f3be8f74c0b56d36fd94bcf47e6c7ed47a7bd1474aaa8/orjson-3.10.18-cp313-cp313-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:69c34b9441b863175cc6a01f2935de994025e773f814412030f269da4f7be147", size = 249087, upload-time = "2025-04-29T23:29:19.083Z" }, - { url = "https://files.pythonhosted.org/packages/bc/f7/7118f965541aeac6844fcb18d6988e111ac0d349c9b80cda53583e758908/orjson-3.10.18-cp313-cp313-macosx_15_0_arm64.whl", hash = "sha256:1ebeda919725f9dbdb269f59bc94f861afbe2a27dce5608cdba2d92772364d1c", size = 133273, upload-time = "2025-04-29T23:29:20.602Z" }, - { url = "https://files.pythonhosted.org/packages/fb/d9/839637cc06eaf528dd8127b36004247bf56e064501f68df9ee6fd56a88ee/orjson-3.10.18-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5adf5f4eed520a4959d29ea80192fa626ab9a20b2ea13f8f6dc58644f6927103", size = 136779, upload-time = "2025-04-29T23:29:22.062Z" }, - { url = "https://files.pythonhosted.org/packages/2b/6d/f226ecfef31a1f0e7d6bf9a31a0bbaf384c7cbe3fce49cc9c2acc51f902a/orjson-3.10.18-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7592bb48a214e18cd670974f289520f12b7aed1fa0b2e2616b8ed9e069e08595", size = 132811, upload-time = "2025-04-29T23:29:23.602Z" }, - { url = "https://files.pythonhosted.org/packages/73/2d/371513d04143c85b681cf8f3bce743656eb5b640cb1f461dad750ac4b4d4/orjson-3.10.18-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f872bef9f042734110642b7a11937440797ace8c87527de25e0c53558b579ccc", size = 137018, upload-time = "2025-04-29T23:29:25.094Z" }, - { url = "https://files.pythonhosted.org/packages/69/cb/a4d37a30507b7a59bdc484e4a3253c8141bf756d4e13fcc1da760a0b00cb/orjson-3.10.18-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0315317601149c244cb3ecef246ef5861a64824ccbcb8018d32c66a60a84ffbc", size = 138368, upload-time = "2025-04-29T23:29:26.609Z" }, - { url = "https://files.pythonhosted.org/packages/1e/ae/cd10883c48d912d216d541eb3db8b2433415fde67f620afe6f311f5cd2ca/orjson-3.10.18-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e0da26957e77e9e55a6c2ce2e7182a36a6f6b180ab7189315cb0995ec362e049", size = 142840, upload-time = "2025-04-29T23:29:28.153Z" }, - { url = "https://files.pythonhosted.org/packages/6d/4c/2bda09855c6b5f2c055034c9eda1529967b042ff8d81a05005115c4e6772/orjson-3.10.18-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bb70d489bc79b7519e5803e2cc4c72343c9dc1154258adf2f8925d0b60da7c58", size = 133135, upload-time = "2025-04-29T23:29:29.726Z" }, - { url = "https://files.pythonhosted.org/packages/13/4a/35971fd809a8896731930a80dfff0b8ff48eeb5d8b57bb4d0d525160017f/orjson-3.10.18-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:e9e86a6af31b92299b00736c89caf63816f70a4001e750bda179e15564d7a034", size = 134810, upload-time = "2025-04-29T23:29:31.269Z" }, - { url = "https://files.pythonhosted.org/packages/99/70/0fa9e6310cda98365629182486ff37a1c6578e34c33992df271a476ea1cd/orjson-3.10.18-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:c382a5c0b5931a5fc5405053d36c1ce3fd561694738626c77ae0b1dfc0242ca1", size = 413491, upload-time = "2025-04-29T23:29:33.315Z" }, - { url = "https://files.pythonhosted.org/packages/32/cb/990a0e88498babddb74fb97855ae4fbd22a82960e9b06eab5775cac435da/orjson-3.10.18-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:8e4b2ae732431127171b875cb2668f883e1234711d3c147ffd69fe5be51a8012", size = 153277, upload-time = "2025-04-29T23:29:34.946Z" }, - { url = "https://files.pythonhosted.org/packages/92/44/473248c3305bf782a384ed50dd8bc2d3cde1543d107138fd99b707480ca1/orjson-3.10.18-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:2d808e34ddb24fc29a4d4041dcfafbae13e129c93509b847b14432717d94b44f", size = 137367, upload-time = "2025-04-29T23:29:36.52Z" }, - { url = "https://files.pythonhosted.org/packages/ad/fd/7f1d3edd4ffcd944a6a40e9f88af2197b619c931ac4d3cfba4798d4d3815/orjson-3.10.18-cp313-cp313-win32.whl", hash = "sha256:ad8eacbb5d904d5591f27dee4031e2c1db43d559edb8f91778efd642d70e6bea", size = 142687, upload-time = "2025-04-29T23:29:38.292Z" }, - { url = "https://files.pythonhosted.org/packages/4b/03/c75c6ad46be41c16f4cfe0352a2d1450546f3c09ad2c9d341110cd87b025/orjson-3.10.18-cp313-cp313-win_amd64.whl", hash = "sha256:aed411bcb68bf62e85588f2a7e03a6082cc42e5a2796e06e72a962d7c6310b52", size = 134794, upload-time = "2025-04-29T23:29:40.349Z" }, - { url = "https://files.pythonhosted.org/packages/c2/28/f53038a5a72cc4fd0b56c1eafb4ef64aec9685460d5ac34de98ca78b6e29/orjson-3.10.18-cp313-cp313-win_arm64.whl", hash = "sha256:f54c1385a0e6aba2f15a40d703b858bedad36ded0491e55d35d905b2c34a4cc3", size = 131186, upload-time = "2025-04-29T23:29:41.922Z" }, + { url = "https://files.pythonhosted.org/packages/94/8b/7dd88f416e2e5834fd9809d871f471aae7d12dfd83d4786166fa5a926601/orjson-3.11.1-cp310-cp310-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:92d771c492b64119456afb50f2dff3e03a2db8b5af0eba32c5932d306f970532", size = 241312, upload-time = "2025-07-25T14:31:52.841Z" }, + { url = "https://files.pythonhosted.org/packages/f3/5d/5bfc371bd010ffbec90e64338aa59abcb13ed94191112199048653ee2f34/orjson-3.11.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0085ef83a4141c2ed23bfec5fecbfdb1e95dd42fc8e8c76057bdeeec1608ea65", size = 132791, upload-time = "2025-07-25T14:31:55.547Z" }, + { url = "https://files.pythonhosted.org/packages/48/e2/c07854a6bad71e4249345efadb686c0aff250073bdab8ba9be7626af6516/orjson-3.11.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5caf7f13f2e1b4e137060aed892d4541d07dabc3f29e6d891e2383c7ed483440", size = 128690, upload-time = "2025-07-25T14:31:56.708Z" }, + { url = "https://files.pythonhosted.org/packages/48/e4/2e075348e7772aa1404d51d8df25ff4d6ee3daf682732cb21308e3b59c32/orjson-3.11.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f716bcc166524eddfcf9f13f8209ac19a7f27b05cf591e883419079d98c8c99d", size = 130646, upload-time = "2025-07-25T14:31:58.165Z" }, + { url = "https://files.pythonhosted.org/packages/97/09/50daacd3ac7ae564186924c8d1121940f2c78c64d6804dbe81dd735ab087/orjson-3.11.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:507d6012fab05465d8bf21f5d7f4635ba4b6d60132874e349beff12fb51af7fe", size = 132620, upload-time = "2025-07-25T14:31:59.226Z" }, + { url = "https://files.pythonhosted.org/packages/da/21/5f22093fa90e6d6fcf8111942b530a4ad19ee1cc0b06ddad4a63b16ab852/orjson-3.11.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b1545083b0931f754c80fd2422a73d83bea7a6d1b6de104a5f2c8dd3d64c291e", size = 135121, upload-time = "2025-07-25T14:32:00.653Z" }, + { url = "https://files.pythonhosted.org/packages/48/90/77ad4bfa6bd400a3d241695e3e39975e32fe027aea5cb0b171bd2080c427/orjson-3.11.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9e217ce3bad76351e1eb29ebe5ca630326f45cd2141f62620107a229909501a3", size = 131131, upload-time = "2025-07-25T14:32:01.821Z" }, + { url = "https://files.pythonhosted.org/packages/5a/64/d383675229f7ffd971b6ec6cdd3016b00877bb6b2d5fc1fd099c2ec2ad57/orjson-3.11.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:06ef26e009304bda4df42e4afe518994cde6f89b4b04c0ff24021064f83f4fbb", size = 131025, upload-time = "2025-07-25T14:32:02.879Z" }, + { url = "https://files.pythonhosted.org/packages/d4/82/e4017d8d98597f6056afaf75021ff390154d1e2722c66ba45a4d50f82606/orjson-3.11.1-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:ba49683b87bea3ae1489a88e766e767d4f423a669a61270b6d6a7ead1c33bd65", size = 404464, upload-time = "2025-07-25T14:32:04.384Z" }, + { url = "https://files.pythonhosted.org/packages/77/7e/45c7f813c30d386c0168a32ce703494262458af6b222a3eeac1c0bb88822/orjson-3.11.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:5072488fcc5cbcda2ece966d248e43ea1d222e19dd4c56d3f82747777f24d864", size = 146416, upload-time = "2025-07-25T14:32:05.57Z" }, + { url = "https://files.pythonhosted.org/packages/41/71/6ccb4d7875ec3349409960769a28349f477856f05de9fd961454c2b99230/orjson-3.11.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:f58ae2bcd119226fe4aa934b5880fe57b8e97b69e51d5d91c88a89477a307016", size = 135497, upload-time = "2025-07-25T14:32:06.704Z" }, + { url = "https://files.pythonhosted.org/packages/2c/ce/df8dac7da075962fdbfca55d53e3601aa910c9f23606033bf0f084835720/orjson-3.11.1-cp310-cp310-win32.whl", hash = "sha256:6723be919c07906781b9c63cc52dc7d2fb101336c99dd7e85d3531d73fb493f7", size = 136807, upload-time = "2025-07-25T14:32:08.303Z" }, + { url = "https://files.pythonhosted.org/packages/7b/a0/f6c2be24709d1742d878b4530fa0c3f4a5e190d51397b680abbf44d11dbf/orjson-3.11.1-cp310-cp310-win_amd64.whl", hash = "sha256:5fd44d69ddfdfb4e8d0d83f09d27a4db34930fba153fbf79f8d4ae8b47914e04", size = 131561, upload-time = "2025-07-25T14:32:09.444Z" }, + { url = "https://files.pythonhosted.org/packages/a5/92/7ab270b5b3df8d5b0d3e572ddf2f03c9f6a79726338badf1ec8594e1469d/orjson-3.11.1-cp311-cp311-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:15e2a57ce3b57c1a36acffcc02e823afefceee0a532180c2568c62213c98e3ef", size = 240918, upload-time = "2025-07-25T14:32:11.021Z" }, + { url = "https://files.pythonhosted.org/packages/80/41/df44684cfbd2e2e03bf9b09fdb14b7abcfff267998790b6acfb69ad435f0/orjson-3.11.1-cp311-cp311-macosx_15_0_arm64.whl", hash = "sha256:17040a83ecaa130474af05bbb59a13cfeb2157d76385556041f945da936b1afd", size = 129386, upload-time = "2025-07-25T14:32:12.361Z" }, + { url = "https://files.pythonhosted.org/packages/c1/08/958f56edd18ba1827ad0c74b2b41a7ae0864718adee8ccb5d1a5528f8761/orjson-3.11.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a68f23f09e5626cc0867a96cf618f68b91acb4753d33a80bf16111fd7f9928c", size = 132508, upload-time = "2025-07-25T14:32:13.917Z" }, + { url = "https://files.pythonhosted.org/packages/cc/b6/5e56e189dacbf51e53ba8150c20e61ee746f6d57b697f5c52315ffc88a83/orjson-3.11.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:47e07528bb6ccbd6e32a55e330979048b59bfc5518b47c89bc7ab9e3de15174a", size = 128501, upload-time = "2025-07-25T14:32:15.13Z" }, + { url = "https://files.pythonhosted.org/packages/fe/de/f6c301a514f5934405fd4b8f3d3efc758c911d06c3de3f4be1e30d675fa4/orjson-3.11.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f3807cce72bf40a9d251d689cbec28d2efd27e0f6673709f948f971afd52cb09", size = 130465, upload-time = "2025-07-25T14:32:17.355Z" }, + { url = "https://files.pythonhosted.org/packages/47/08/f7dbaab87d6f05eebff2d7b8e6a8ed5f13b2fe3e3ae49472b527d03dbd7a/orjson-3.11.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5b2dc7e88da4ca201c940f5e6127998d9e89aa64264292334dad62854bc7fc27", size = 132416, upload-time = "2025-07-25T14:32:18.933Z" }, + { url = "https://files.pythonhosted.org/packages/43/3f/dd5a185273b7ba6aa238cfc67bf9edaa1885ae51ce942bc1a71d0f99f574/orjson-3.11.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3091dad33ac9e67c0a550cfff8ad5be156e2614d6f5d2a9247df0627751a1495", size = 134924, upload-time = "2025-07-25T14:32:20.134Z" }, + { url = "https://files.pythonhosted.org/packages/db/ef/729d23510eaa81f0ce9d938d99d72dcf5e4ed3609d9d0bcf9c8a282cc41a/orjson-3.11.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0ed0fce2307843b79a0c83de49f65b86197f1e2310de07af9db2a1a77a61ce4c", size = 130938, upload-time = "2025-07-25T14:32:21.769Z" }, + { url = "https://files.pythonhosted.org/packages/82/96/120feb6807f9e1f4c68fc842a0f227db8575eafb1a41b2537567b91c19d8/orjson-3.11.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:5a31e84782a18c30abd56774c0cfa7b9884589f4d37d9acabfa0504dad59bb9d", size = 130811, upload-time = "2025-07-25T14:32:22.931Z" }, + { url = "https://files.pythonhosted.org/packages/89/66/4695e946a453fa22ff945da4b1ed0691b3f4ec86b828d398288db4a0ff79/orjson-3.11.1-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:26b6c821abf1ae515fbb8e140a2406c9f9004f3e52acb780b3dee9bfffddbd84", size = 404272, upload-time = "2025-07-25T14:32:25.238Z" }, + { url = "https://files.pythonhosted.org/packages/cd/7b/1c953e2c9e55af126c6cb678a30796deb46d7713abdeb706b8765929464c/orjson-3.11.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:f857b3d134b36a8436f1e24dcb525b6b945108b30746c1b0b556200b5cb76d39", size = 146196, upload-time = "2025-07-25T14:32:26.909Z" }, + { url = "https://files.pythonhosted.org/packages/bf/c2/bef5d3bc83f2e178592ff317e2cf7bd38ebc16b641f076ea49f27aadd1d3/orjson-3.11.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:df146f2a14116ce80f7da669785fcb411406d8e80136558b0ecda4c924b9ac55", size = 135336, upload-time = "2025-07-25T14:32:28.22Z" }, + { url = "https://files.pythonhosted.org/packages/92/95/bc6006881ebdb4608ed900a763c3e3c6be0d24c3aadd62beb774f9464ec6/orjson-3.11.1-cp311-cp311-win32.whl", hash = "sha256:d777c57c1f86855fe5492b973f1012be776e0398571f7cc3970e9a58ecf4dc17", size = 136665, upload-time = "2025-07-25T14:32:29.976Z" }, + { url = "https://files.pythonhosted.org/packages/59/c3/1f2b9cc0c60ea2473d386fed2df2b25ece50aeb73c798d4669aadff3061e/orjson-3.11.1-cp311-cp311-win_amd64.whl", hash = "sha256:e9a5fd589951f02ec2fcb8d69339258bbf74b41b104c556e6d4420ea5e059313", size = 131388, upload-time = "2025-07-25T14:32:31.595Z" }, + { url = "https://files.pythonhosted.org/packages/b0/e5/40c97e5a6b85944022fe54b463470045b8651b7bb2f1e16a95c42812bf97/orjson-3.11.1-cp311-cp311-win_arm64.whl", hash = "sha256:4cddbe41ee04fddad35d75b9cf3e3736ad0b80588280766156b94783167777af", size = 126786, upload-time = "2025-07-25T14:32:32.787Z" }, + { url = "https://files.pythonhosted.org/packages/98/77/e55513826b712807caadb2b733eee192c1df105c6bbf0d965c253b72f124/orjson-3.11.1-cp312-cp312-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:2b7c8be96db3a977367250c6367793a3c5851a6ca4263f92f0b48d00702f9910", size = 240955, upload-time = "2025-07-25T14:32:34.056Z" }, + { url = "https://files.pythonhosted.org/packages/c9/88/a78132dddcc9c3b80a9fa050b3516bb2c996a9d78ca6fb47c8da2a80a696/orjson-3.11.1-cp312-cp312-macosx_15_0_arm64.whl", hash = "sha256:72e18088f567bd4a45db5e3196677d9ed1605e356e500c8e32dd6e303167a13d", size = 129294, upload-time = "2025-07-25T14:32:35.323Z" }, + { url = "https://files.pythonhosted.org/packages/09/02/6591e0dcb2af6bceea96cb1b5f4b48c1445492a3ef2891ac4aa306bb6f73/orjson-3.11.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d346e2ae1ce17888f7040b65a5a4a0c9734cb20ffbd228728661e020b4c8b3a5", size = 132310, upload-time = "2025-07-25T14:32:36.53Z" }, + { url = "https://files.pythonhosted.org/packages/e9/36/c1cfbc617bcfa4835db275d5e0fe9bbdbe561a4b53d3b2de16540ec29c50/orjson-3.11.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:4bda5426ebb02ceb806a7d7ec9ba9ee5e0c93fca62375151a7b1c00bc634d06b", size = 128529, upload-time = "2025-07-25T14:32:37.817Z" }, + { url = "https://files.pythonhosted.org/packages/7c/bd/91a156c5df3aaf1d68b2ab5be06f1969955a8d3e328d7794f4338ac1d017/orjson-3.11.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:10506cebe908542c4f024861102673db534fd2e03eb9b95b30d94438fa220abf", size = 130925, upload-time = "2025-07-25T14:32:39.03Z" }, + { url = "https://files.pythonhosted.org/packages/a3/4c/a65cc24e9a5f87c9833a50161ab97b5edbec98bec99dfbba13827549debc/orjson-3.11.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:45202ee3f5494644e064c41abd1320497fb92fd31fc73af708708af664ac3b56", size = 132432, upload-time = "2025-07-25T14:32:40.619Z" }, + { url = "https://files.pythonhosted.org/packages/2e/4d/3fc3e5d7115f4f7d01b481e29e5a79bcbcc45711a2723242787455424f40/orjson-3.11.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e5adaf01b92e0402a9ac5c3ebe04effe2bbb115f0914a0a53d34ea239a746289", size = 135069, upload-time = "2025-07-25T14:32:41.84Z" }, + { url = "https://files.pythonhosted.org/packages/dc/c6/7585aa8522af896060dc0cd7c336ba6c574ae854416811ee6642c505cc95/orjson-3.11.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6162a1a757a1f1f4a94bc6ffac834a3602e04ad5db022dd8395a54ed9dd51c81", size = 131045, upload-time = "2025-07-25T14:32:43.085Z" }, + { url = "https://files.pythonhosted.org/packages/6a/4e/b8a0a943793d2708ebc39e743c943251e08ee0f3279c880aefd8e9cb0c70/orjson-3.11.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:78404206977c9f946613d3f916727c189d43193e708d760ea5d4b2087d6b0968", size = 130597, upload-time = "2025-07-25T14:32:44.336Z" }, + { url = "https://files.pythonhosted.org/packages/72/2b/7d30e2aed2f585d5d385fb45c71d9b16ba09be58c04e8767ae6edc6c9282/orjson-3.11.1-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:db48f8e81072e26df6cdb0e9fff808c28597c6ac20a13d595756cf9ba1fed48a", size = 404207, upload-time = "2025-07-25T14:32:45.612Z" }, + { url = "https://files.pythonhosted.org/packages/1b/7e/772369ec66fcbce79477f0891918309594cd00e39b67a68d4c445d2ab754/orjson-3.11.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0c1e394e67ced6bb16fea7054d99fbdd99a539cf4d446d40378d4c06e0a8548d", size = 146628, upload-time = "2025-07-25T14:32:46.981Z" }, + { url = "https://files.pythonhosted.org/packages/b4/c8/62bdb59229d7e393ae309cef41e32cc1f0b567b21dfd0742da70efb8b40c/orjson-3.11.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e7a840752c93d4eecd1378e9bb465c3703e127b58f675cd5c620f361b6cf57a4", size = 135449, upload-time = "2025-07-25T14:32:48.727Z" }, + { url = "https://files.pythonhosted.org/packages/02/47/1c99aa60e19f781424eabeaacd9e999eafe5b59c81ead4273b773f0f3af1/orjson-3.11.1-cp312-cp312-win32.whl", hash = "sha256:4537b0e09f45d2b74cb69c7f39ca1e62c24c0488d6bf01cd24673c74cd9596bf", size = 136653, upload-time = "2025-07-25T14:32:50.622Z" }, + { url = "https://files.pythonhosted.org/packages/31/9a/132999929a2892ab07e916669accecc83e5bff17e11a1186b4c6f23231f0/orjson-3.11.1-cp312-cp312-win_amd64.whl", hash = "sha256:dbee6b050062540ae404530cacec1bf25e56e8d87d8d9b610b935afeb6725cae", size = 131426, upload-time = "2025-07-25T14:32:51.883Z" }, + { url = "https://files.pythonhosted.org/packages/9c/77/d984ee5a1ca341090902e080b187721ba5d1573a8d9759e0c540975acfb2/orjson-3.11.1-cp312-cp312-win_arm64.whl", hash = "sha256:f55e557d4248322d87c4673e085c7634039ff04b47bfc823b87149ae12bef60d", size = 126635, upload-time = "2025-07-25T14:32:53.2Z" }, + { url = "https://files.pythonhosted.org/packages/c9/e9/880ef869e6f66279ce3a381a32afa0f34e29a94250146911eee029e56efc/orjson-3.11.1-cp313-cp313-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:53cfefe4af059e65aabe9683f76b9c88bf34b4341a77d329227c2424e0e59b0e", size = 240835, upload-time = "2025-07-25T14:32:54.507Z" }, + { url = "https://files.pythonhosted.org/packages/f0/1f/52039ef3d03eeea21763b46bc99ebe11d9de8510c72b7b5569433084a17e/orjson-3.11.1-cp313-cp313-macosx_15_0_arm64.whl", hash = "sha256:93d5abed5a6f9e1b6f9b5bf6ed4423c11932b5447c2f7281d3b64e0f26c6d064", size = 129226, upload-time = "2025-07-25T14:32:55.908Z" }, + { url = "https://files.pythonhosted.org/packages/ee/da/59fdffc9465a760be2cd3764ef9cd5535eec8f095419f972fddb123b6d0e/orjson-3.11.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5dbf06642f3db2966df504944cdd0eb68ca2717f0353bb20b20acd78109374a6", size = 132261, upload-time = "2025-07-25T14:32:57.538Z" }, + { url = "https://files.pythonhosted.org/packages/bb/5c/8610911c7e969db7cf928c8baac4b2f1e68d314bc3057acf5ca64f758435/orjson-3.11.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:dddf4e78747fa7f2188273f84562017a3c4f0824485b78372513c1681ea7a894", size = 128614, upload-time = "2025-07-25T14:32:58.808Z" }, + { url = "https://files.pythonhosted.org/packages/f7/a1/a1db9d4310d014c90f3b7e9b72c6fb162cba82c5f46d0b345669eaebdd3a/orjson-3.11.1-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fa3fe8653c9f57f0e16f008e43626485b6723b84b2f741f54d1258095b655912", size = 130968, upload-time = "2025-07-25T14:33:00.038Z" }, + { url = "https://files.pythonhosted.org/packages/56/ff/11acd1fd7c38ea7a1b5d6bf582ae3da05931bee64620995eb08fd63c77fe/orjson-3.11.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6334d2382aff975a61f6f4d1c3daf39368b887c7de08f7c16c58f485dcf7adb2", size = 132439, upload-time = "2025-07-25T14:33:01.354Z" }, + { url = "https://files.pythonhosted.org/packages/70/f9/bb564dd9450bf8725e034a8ad7f4ae9d4710a34caf63b85ce1c0c6d40af0/orjson-3.11.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a3d0855b643f259ee0cb76fe3df4c04483354409a520a902b067c674842eb6b8", size = 135299, upload-time = "2025-07-25T14:33:03.079Z" }, + { url = "https://files.pythonhosted.org/packages/94/bb/c8eafe6051405e241dda3691db4d9132d3c3462d1d10a17f50837dd130b4/orjson-3.11.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0eacdfeefd0a79987926476eb16e0245546bedeb8febbbbcf4b653e79257a8e4", size = 131004, upload-time = "2025-07-25T14:33:04.416Z" }, + { url = "https://files.pythonhosted.org/packages/a2/40/bed8d7dcf1bd2df8813bf010a25f645863a2f75e8e0ebdb2b55784cf1a62/orjson-3.11.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0ed07faf9e4873518c60480325dcbc16d17c59a165532cccfb409b4cdbaeff24", size = 130583, upload-time = "2025-07-25T14:33:05.768Z" }, + { url = "https://files.pythonhosted.org/packages/57/e7/cfa2eb803ad52d74fbb5424a429b5be164e51d23f1d853e5e037173a5c48/orjson-3.11.1-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:d6d308dd578ae3658f62bb9eba54801533225823cd3248c902be1ebc79b5e014", size = 404218, upload-time = "2025-07-25T14:33:07.117Z" }, + { url = "https://files.pythonhosted.org/packages/d5/21/bc703af5bc6e9c7e18dcf4404dcc4ec305ab9bb6c82d3aee5952c0c56abf/orjson-3.11.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:c4aa13ca959ba6b15c0a98d3d204b850f9dc36c08c9ce422ffb024eb30d6e058", size = 146605, upload-time = "2025-07-25T14:33:08.55Z" }, + { url = "https://files.pythonhosted.org/packages/8f/fe/d26a0150534c4965a06f556aa68bf3c3b82999d5d7b0facd3af7b390c4af/orjson-3.11.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:be3d0653322abc9b68e5bcdaee6cfd58fcbe9973740ab222b87f4d687232ab1f", size = 135434, upload-time = "2025-07-25T14:33:09.967Z" }, + { url = "https://files.pythonhosted.org/packages/89/b6/1cb28365f08cbcffc464f8512320c6eb6db6a653f03d66de47ea3c19385f/orjson-3.11.1-cp313-cp313-win32.whl", hash = "sha256:4dd34e7e2518de8d7834268846f8cab7204364f427c56fb2251e098da86f5092", size = 136596, upload-time = "2025-07-25T14:33:11.333Z" }, + { url = "https://files.pythonhosted.org/packages/f9/35/7870d0d3ed843652676d84d8a6038791113eacc85237b673b925802826b8/orjson-3.11.1-cp313-cp313-win_amd64.whl", hash = "sha256:d6895d32032b6362540e6d0694b19130bb4f2ad04694002dce7d8af588ca5f77", size = 131319, upload-time = "2025-07-25T14:33:12.614Z" }, + { url = "https://files.pythonhosted.org/packages/b7/3e/5bcd50fd865eb664d4edfdaaaff51e333593ceb5695a22c0d0a0d2b187ba/orjson-3.11.1-cp313-cp313-win_arm64.whl", hash = "sha256:bb7c36d5d3570fcbb01d24fa447a21a7fe5a41141fd88e78f7994053cc4e28f4", size = 126613, upload-time = "2025-07-25T14:33:13.927Z" }, + { url = "https://files.pythonhosted.org/packages/61/d8/0a5cd31ed100b4e569e143cb0cddefc21f0bcb8ce284f44bca0bb0e10f3d/orjson-3.11.1-cp314-cp314-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:7b71ef394327b3d0b39f6ea7ade2ecda2731a56c6a7cbf0d6a7301203b92a89b", size = 240819, upload-time = "2025-07-25T14:33:15.223Z" }, + { url = "https://files.pythonhosted.org/packages/b9/95/7eb2c76c92192ceca16bc81845ff100bbb93f568b4b94d914b6a4da47d61/orjson-3.11.1-cp314-cp314-macosx_15_0_arm64.whl", hash = "sha256:77c0fe28ed659b62273995244ae2aa430e432c71f86e4573ab16caa2f2e3ca5e", size = 129218, upload-time = "2025-07-25T14:33:16.637Z" }, + { url = "https://files.pythonhosted.org/packages/da/84/e6b67f301b18adbbc346882f456bea44daebbd032ba725dbd7b741e3a7f1/orjson-3.11.1-cp314-cp314-manylinux_2_34_aarch64.whl", hash = "sha256:1495692f1f1ba2467df429343388a0ed259382835922e124c0cfdd56b3d1f727", size = 132238, upload-time = "2025-07-25T14:33:17.934Z" }, + { url = "https://files.pythonhosted.org/packages/84/78/a45a86e29d9b2f391f9d00b22da51bc4b46b86b788fd42df2c5fcf3e8005/orjson-3.11.1-cp314-cp314-manylinux_2_34_x86_64.whl", hash = "sha256:08c6a762fca63ca4dc04f66c48ea5d2428db55839fec996890e1bfaf057b658c", size = 130998, upload-time = "2025-07-25T14:33:19.282Z" }, + { url = "https://files.pythonhosted.org/packages/ea/8f/6eb3ee6760d93b2ce996a8529164ee1f5bafbdf64b74c7314b68db622b32/orjson-3.11.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:9e26794fe3976810b2c01fda29bd9ac7c91a3c1284b29cc9a383989f7b614037", size = 130559, upload-time = "2025-07-25T14:33:20.589Z" }, + { url = "https://files.pythonhosted.org/packages/1b/78/9572ae94bdba6813917c9387e7834224c011ea6b4530ade07d718fd31598/orjson-3.11.1-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:4b4b4f8f0b1d3ef8dc73e55363a0ffe012a42f4e2f1a140bf559698dca39b3fa", size = 404231, upload-time = "2025-07-25T14:33:22.019Z" }, + { url = "https://files.pythonhosted.org/packages/1f/a3/68381ad0757e084927c5ee6cfdeab1c6c89405949ee493db557e60871c4c/orjson-3.11.1-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:848be553ea35aa89bfefbed2e27c8a41244c862956ab8ba00dc0b27e84fd58de", size = 146658, upload-time = "2025-07-25T14:33:23.675Z" }, + { url = "https://files.pythonhosted.org/packages/00/db/fac56acf77aab778296c3f541a3eec643266f28ecd71d6c0cba251e47655/orjson-3.11.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:c964c29711a4b1df52f8d9966f015402a6cf87753a406c1c4405c407dd66fd45", size = 135443, upload-time = "2025-07-25T14:33:25.04Z" }, + { url = "https://files.pythonhosted.org/packages/76/b1/326fa4b87426197ead61c1eec2eeb3babc9eb33b480ac1f93894e40c8c08/orjson-3.11.1-cp314-cp314-win32.whl", hash = "sha256:33aada2e6b6bc9c540d396528b91e666cedb383740fee6e6a917f561b390ecb1", size = 136643, upload-time = "2025-07-25T14:33:26.449Z" }, + { url = "https://files.pythonhosted.org/packages/0f/8e/2987ae2109f3bfd39680f8a187d1bc09ad7f8fb019dcdc719b08c7242ade/orjson-3.11.1-cp314-cp314-win_amd64.whl", hash = "sha256:68e10fd804e44e36188b9952543e3fa22f5aa8394da1b5283ca2b423735c06e8", size = 131324, upload-time = "2025-07-25T14:33:27.896Z" }, + { url = "https://files.pythonhosted.org/packages/21/5f/253e08e6974752b124fbf3a4de3ad53baa766b0cb4a333d47706d307e396/orjson-3.11.1-cp314-cp314-win_arm64.whl", hash = "sha256:f3cf6c07f8b32127d836be8e1c55d4f34843f7df346536da768e9f73f22078a1", size = 126605, upload-time = "2025-07-25T14:33:29.244Z" }, ] [[package]] @@ -3040,21 +3311,13 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/88/ef/eb23f262cca3c0c4eb7ab1933c3b1f03d021f2c48f54763065b6f0e321be/packaging-24.2-py3-none-any.whl", hash = "sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759", size = 65451, upload-time = "2024-11-08T09:47:44.722Z" }, ] -[[package]] -name = "paginate" -version = "0.5.7" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/ec/46/68dde5b6bc00c1296ec6466ab27dddede6aec9af1b99090e1107091b3b84/paginate-0.5.7.tar.gz", hash = "sha256:22bd083ab41e1a8b4f3690544afb2c60c25e5c9a63a30fa2f483f6c60c8e5945", size = 19252, upload-time = "2024-08-25T14:17:24.139Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/90/96/04b8e52da071d28f5e21a805b19cb9390aa17a47462ac87f5e2696b9566d/paginate-0.5.7-py2.py3-none-any.whl", hash = "sha256:b885e2af73abcf01d9559fd5216b57ef722f8c42affbb63942377668e35c7591", size = 13746, upload-time = "2024-08-25T14:17:22.55Z" }, -] - [[package]] name = "pandas" version = "2.3.1" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "numpy" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "numpy", version = "2.3.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, { name = "python-dateutil" }, { name = "pytz" }, { name = "tzdata" }, @@ -3098,12 +3361,21 @@ wheels = [ ] [[package]] -name = "pathspec" -version = "0.12.1" +name = "parse" +version = "1.20.2" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/ca/bc/f35b8446f4531a7cb215605d100cd88b7ac6f44ab3fc94870c120ab3adbf/pathspec-0.12.1.tar.gz", hash = "sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712", size = 51043, upload-time = "2023-12-10T22:30:45Z" } +sdist = { url = "https://files.pythonhosted.org/packages/4f/78/d9b09ba24bb36ef8b83b71be547e118d46214735b6dfb39e4bfde0e9b9dd/parse-1.20.2.tar.gz", hash = "sha256:b41d604d16503c79d81af5165155c0b20f6c8d6c559efa66b4b695c3e5a0a0ce", size = 29391, upload-time = "2024-06-11T04:41:57.34Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/cc/20/ff623b09d963f88bfde16306a54e12ee5ea43e9b597108672ff3a408aad6/pathspec-0.12.1-py3-none-any.whl", hash = "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08", size = 31191, upload-time = "2023-12-10T22:30:43.14Z" }, + { url = "https://files.pythonhosted.org/packages/d0/31/ba45bf0b2aa7898d81cbbfac0e88c267befb59ad91a19e36e1bc5578ddb1/parse-1.20.2-py2.py3-none-any.whl", hash = "sha256:967095588cb802add9177d0c0b6133b5ba33b1ea9007ca800e526f42a85af558", size = 20126, upload-time = "2024-06-11T04:41:55.057Z" }, +] + +[[package]] +name = "pathable" +version = "0.4.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/67/93/8f2c2075b180c12c1e9f6a09d1a985bc2036906b13dff1d8917e395f2048/pathable-0.4.4.tar.gz", hash = "sha256:6905a3cd17804edfac7875b5f6c9142a218c7caef78693c2dbbbfbac186d88b2", size = 8124, upload-time = "2025-01-10T18:43:13.247Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7d/eb/b6260b31b1a96386c0a880edebe26f89669098acea8e0318bff6adb378fd/pathable-0.4.4-py3-none-any.whl", hash = "sha256:5ae9e94793b6ef5a4cbe0a7ce9dbbefc1eec38df253763fd0aeeacf2762dbbc2", size = 9592, upload-time = "2025-01-10T18:43:11.88Z" }, ] [[package]] @@ -3179,7 +3451,8 @@ name = "pgvector" version = "0.3.6" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "numpy" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "numpy", version = "2.3.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/7d/d8/fd6009cee3e03214667df488cdcf9609461d729968da94e4f95d6359d304/pgvector-0.3.6.tar.gz", hash = "sha256:31d01690e6ea26cea8a633cde5f0f55f5b246d9c8292d68efdef8c22ec994ade", size = 25421, upload-time = "2024-10-27T00:15:09.632Z" } wheels = [ @@ -3547,55 +3820,45 @@ wheels = [ [[package]] name = "pyarrow" -version = "20.0.0" +version = "21.0.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/a2/ee/a7810cb9f3d6e9238e61d312076a9859bf3668fd21c69744de9532383912/pyarrow-20.0.0.tar.gz", hash = "sha256:febc4a913592573c8d5805091a6c2b5064c8bd6e002131f01061797d91c783c1", size = 1125187, upload-time = "2025-04-27T12:34:23.264Z" } +sdist = { url = "https://files.pythonhosted.org/packages/ef/c2/ea068b8f00905c06329a3dfcd40d0fcc2b7d0f2e355bdb25b65e0a0e4cd4/pyarrow-21.0.0.tar.gz", hash = "sha256:5051f2dccf0e283ff56335760cbc8622cf52264d67e359d5569541ac11b6d5bc", size = 1133487, upload-time = "2025-07-18T00:57:31.761Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/5b/23/77094eb8ee0dbe88441689cb6afc40ac312a1e15d3a7acc0586999518222/pyarrow-20.0.0-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:c7dd06fd7d7b410ca5dc839cc9d485d2bc4ae5240851bcd45d85105cc90a47d7", size = 30832591, upload-time = "2025-04-27T12:27:27.89Z" }, - { url = "https://files.pythonhosted.org/packages/c3/d5/48cc573aff00d62913701d9fac478518f693b30c25f2c157550b0b2565cb/pyarrow-20.0.0-cp310-cp310-macosx_12_0_x86_64.whl", hash = "sha256:d5382de8dc34c943249b01c19110783d0d64b207167c728461add1ecc2db88e4", size = 32273686, upload-time = "2025-04-27T12:27:36.816Z" }, - { url = "https://files.pythonhosted.org/packages/37/df/4099b69a432b5cb412dd18adc2629975544d656df3d7fda6d73c5dba935d/pyarrow-20.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6415a0d0174487456ddc9beaead703d0ded5966129fa4fd3114d76b5d1c5ceae", size = 41337051, upload-time = "2025-04-27T12:27:44.4Z" }, - { url = "https://files.pythonhosted.org/packages/4c/27/99922a9ac1c9226f346e3a1e15e63dee6f623ed757ff2893f9d6994a69d3/pyarrow-20.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15aa1b3b2587e74328a730457068dc6c89e6dcbf438d4369f572af9d320a25ee", size = 42404659, upload-time = "2025-04-27T12:27:51.715Z" }, - { url = "https://files.pythonhosted.org/packages/21/d1/71d91b2791b829c9e98f1e0d85be66ed93aff399f80abb99678511847eaa/pyarrow-20.0.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:5605919fbe67a7948c1f03b9f3727d82846c053cd2ce9303ace791855923fd20", size = 40695446, upload-time = "2025-04-27T12:27:59.643Z" }, - { url = "https://files.pythonhosted.org/packages/f1/ca/ae10fba419a6e94329707487835ec721f5a95f3ac9168500bcf7aa3813c7/pyarrow-20.0.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:a5704f29a74b81673d266e5ec1fe376f060627c2e42c5c7651288ed4b0db29e9", size = 42278528, upload-time = "2025-04-27T12:28:07.297Z" }, - { url = "https://files.pythonhosted.org/packages/7a/a6/aba40a2bf01b5d00cf9cd16d427a5da1fad0fb69b514ce8c8292ab80e968/pyarrow-20.0.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:00138f79ee1b5aca81e2bdedb91e3739b987245e11fa3c826f9e57c5d102fb75", size = 42918162, upload-time = "2025-04-27T12:28:15.716Z" }, - { url = "https://files.pythonhosted.org/packages/93/6b/98b39650cd64f32bf2ec6d627a9bd24fcb3e4e6ea1873c5e1ea8a83b1a18/pyarrow-20.0.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:f2d67ac28f57a362f1a2c1e6fa98bfe2f03230f7e15927aecd067433b1e70ce8", size = 44550319, upload-time = "2025-04-27T12:28:27.026Z" }, - { url = "https://files.pythonhosted.org/packages/ab/32/340238be1eb5037e7b5de7e640ee22334417239bc347eadefaf8c373936d/pyarrow-20.0.0-cp310-cp310-win_amd64.whl", hash = "sha256:4a8b029a07956b8d7bd742ffca25374dd3f634b35e46cc7a7c3fa4c75b297191", size = 25770759, upload-time = "2025-04-27T12:28:33.702Z" }, - { url = "https://files.pythonhosted.org/packages/47/a2/b7930824181ceadd0c63c1042d01fa4ef63eee233934826a7a2a9af6e463/pyarrow-20.0.0-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:24ca380585444cb2a31324c546a9a56abbe87e26069189e14bdba19c86c049f0", size = 30856035, upload-time = "2025-04-27T12:28:40.78Z" }, - { url = "https://files.pythonhosted.org/packages/9b/18/c765770227d7f5bdfa8a69f64b49194352325c66a5c3bb5e332dfd5867d9/pyarrow-20.0.0-cp311-cp311-macosx_12_0_x86_64.whl", hash = "sha256:95b330059ddfdc591a3225f2d272123be26c8fa76e8c9ee1a77aad507361cfdb", size = 32309552, upload-time = "2025-04-27T12:28:47.051Z" }, - { url = "https://files.pythonhosted.org/packages/44/fb/dfb2dfdd3e488bb14f822d7335653092dde150cffc2da97de6e7500681f9/pyarrow-20.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5f0fb1041267e9968c6d0d2ce3ff92e3928b243e2b6d11eeb84d9ac547308232", size = 41334704, upload-time = "2025-04-27T12:28:55.064Z" }, - { url = "https://files.pythonhosted.org/packages/58/0d/08a95878d38808051a953e887332d4a76bc06c6ee04351918ee1155407eb/pyarrow-20.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b8ff87cc837601532cc8242d2f7e09b4e02404de1b797aee747dd4ba4bd6313f", size = 42399836, upload-time = "2025-04-27T12:29:02.13Z" }, - { url = "https://files.pythonhosted.org/packages/f3/cd/efa271234dfe38f0271561086eedcad7bc0f2ddd1efba423916ff0883684/pyarrow-20.0.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:7a3a5dcf54286e6141d5114522cf31dd67a9e7c9133d150799f30ee302a7a1ab", size = 40711789, upload-time = "2025-04-27T12:29:09.951Z" }, - { url = "https://files.pythonhosted.org/packages/46/1f/7f02009bc7fc8955c391defee5348f510e589a020e4b40ca05edcb847854/pyarrow-20.0.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:a6ad3e7758ecf559900261a4df985662df54fb7fdb55e8e3b3aa99b23d526b62", size = 42301124, upload-time = "2025-04-27T12:29:17.187Z" }, - { url = "https://files.pythonhosted.org/packages/4f/92/692c562be4504c262089e86757a9048739fe1acb4024f92d39615e7bab3f/pyarrow-20.0.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:6bb830757103a6cb300a04610e08d9636f0cd223d32f388418ea893a3e655f1c", size = 42916060, upload-time = "2025-04-27T12:29:24.253Z" }, - { url = "https://files.pythonhosted.org/packages/a4/ec/9f5c7e7c828d8e0a3c7ef50ee62eca38a7de2fa6eb1b8fa43685c9414fef/pyarrow-20.0.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:96e37f0766ecb4514a899d9a3554fadda770fb57ddf42b63d80f14bc20aa7db3", size = 44547640, upload-time = "2025-04-27T12:29:32.782Z" }, - { url = "https://files.pythonhosted.org/packages/54/96/46613131b4727f10fd2ffa6d0d6f02efcc09a0e7374eff3b5771548aa95b/pyarrow-20.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:3346babb516f4b6fd790da99b98bed9708e3f02e734c84971faccb20736848dc", size = 25781491, upload-time = "2025-04-27T12:29:38.464Z" }, - { url = "https://files.pythonhosted.org/packages/a1/d6/0c10e0d54f6c13eb464ee9b67a68b8c71bcf2f67760ef5b6fbcddd2ab05f/pyarrow-20.0.0-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:75a51a5b0eef32727a247707d4755322cb970be7e935172b6a3a9f9ae98404ba", size = 30815067, upload-time = "2025-04-27T12:29:44.384Z" }, - { url = "https://files.pythonhosted.org/packages/7e/e2/04e9874abe4094a06fd8b0cbb0f1312d8dd7d707f144c2ec1e5e8f452ffa/pyarrow-20.0.0-cp312-cp312-macosx_12_0_x86_64.whl", hash = "sha256:211d5e84cecc640c7a3ab900f930aaff5cd2702177e0d562d426fb7c4f737781", size = 32297128, upload-time = "2025-04-27T12:29:52.038Z" }, - { url = "https://files.pythonhosted.org/packages/31/fd/c565e5dcc906a3b471a83273039cb75cb79aad4a2d4a12f76cc5ae90a4b8/pyarrow-20.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4ba3cf4182828be7a896cbd232aa8dd6a31bd1f9e32776cc3796c012855e1199", size = 41334890, upload-time = "2025-04-27T12:29:59.452Z" }, - { url = "https://files.pythonhosted.org/packages/af/a9/3bdd799e2c9b20c1ea6dc6fa8e83f29480a97711cf806e823f808c2316ac/pyarrow-20.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2c3a01f313ffe27ac4126f4c2e5ea0f36a5fc6ab51f8726cf41fee4b256680bd", size = 42421775, upload-time = "2025-04-27T12:30:06.875Z" }, - { url = "https://files.pythonhosted.org/packages/10/f7/da98ccd86354c332f593218101ae56568d5dcedb460e342000bd89c49cc1/pyarrow-20.0.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:a2791f69ad72addd33510fec7bb14ee06c2a448e06b649e264c094c5b5f7ce28", size = 40687231, upload-time = "2025-04-27T12:30:13.954Z" }, - { url = "https://files.pythonhosted.org/packages/bb/1b/2168d6050e52ff1e6cefc61d600723870bf569cbf41d13db939c8cf97a16/pyarrow-20.0.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:4250e28a22302ce8692d3a0e8ec9d9dde54ec00d237cff4dfa9c1fbf79e472a8", size = 42295639, upload-time = "2025-04-27T12:30:21.949Z" }, - { url = "https://files.pythonhosted.org/packages/b2/66/2d976c0c7158fd25591c8ca55aee026e6d5745a021915a1835578707feb3/pyarrow-20.0.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:89e030dc58fc760e4010148e6ff164d2f44441490280ef1e97a542375e41058e", size = 42908549, upload-time = "2025-04-27T12:30:29.551Z" }, - { url = "https://files.pythonhosted.org/packages/31/a9/dfb999c2fc6911201dcbf348247f9cc382a8990f9ab45c12eabfd7243a38/pyarrow-20.0.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:6102b4864d77102dbbb72965618e204e550135a940c2534711d5ffa787df2a5a", size = 44557216, upload-time = "2025-04-27T12:30:36.977Z" }, - { url = "https://files.pythonhosted.org/packages/a0/8e/9adee63dfa3911be2382fb4d92e4b2e7d82610f9d9f668493bebaa2af50f/pyarrow-20.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:96d6a0a37d9c98be08f5ed6a10831d88d52cac7b13f5287f1e0f625a0de8062b", size = 25660496, upload-time = "2025-04-27T12:30:42.809Z" }, - { url = "https://files.pythonhosted.org/packages/9b/aa/daa413b81446d20d4dad2944110dcf4cf4f4179ef7f685dd5a6d7570dc8e/pyarrow-20.0.0-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:a15532e77b94c61efadde86d10957950392999503b3616b2ffcef7621a002893", size = 30798501, upload-time = "2025-04-27T12:30:48.351Z" }, - { url = "https://files.pythonhosted.org/packages/ff/75/2303d1caa410925de902d32ac215dc80a7ce7dd8dfe95358c165f2adf107/pyarrow-20.0.0-cp313-cp313-macosx_12_0_x86_64.whl", hash = "sha256:dd43f58037443af715f34f1322c782ec463a3c8a94a85fdb2d987ceb5658e061", size = 32277895, upload-time = "2025-04-27T12:30:55.238Z" }, - { url = "https://files.pythonhosted.org/packages/92/41/fe18c7c0b38b20811b73d1bdd54b1fccba0dab0e51d2048878042d84afa8/pyarrow-20.0.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aa0d288143a8585806e3cc7c39566407aab646fb9ece164609dac1cfff45f6ae", size = 41327322, upload-time = "2025-04-27T12:31:05.587Z" }, - { url = "https://files.pythonhosted.org/packages/da/ab/7dbf3d11db67c72dbf36ae63dcbc9f30b866c153b3a22ef728523943eee6/pyarrow-20.0.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b6953f0114f8d6f3d905d98e987d0924dabce59c3cda380bdfaa25a6201563b4", size = 42411441, upload-time = "2025-04-27T12:31:15.675Z" }, - { url = "https://files.pythonhosted.org/packages/90/c3/0c7da7b6dac863af75b64e2f827e4742161128c350bfe7955b426484e226/pyarrow-20.0.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:991f85b48a8a5e839b2128590ce07611fae48a904cae6cab1f089c5955b57eb5", size = 40677027, upload-time = "2025-04-27T12:31:24.631Z" }, - { url = "https://files.pythonhosted.org/packages/be/27/43a47fa0ff9053ab5203bb3faeec435d43c0d8bfa40179bfd076cdbd4e1c/pyarrow-20.0.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:97c8dc984ed09cb07d618d57d8d4b67a5100a30c3818c2fb0b04599f0da2de7b", size = 42281473, upload-time = "2025-04-27T12:31:31.311Z" }, - { url = "https://files.pythonhosted.org/packages/bc/0b/d56c63b078876da81bbb9ba695a596eabee9b085555ed12bf6eb3b7cab0e/pyarrow-20.0.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:9b71daf534f4745818f96c214dbc1e6124d7daf059167330b610fc69b6f3d3e3", size = 42893897, upload-time = "2025-04-27T12:31:39.406Z" }, - { url = "https://files.pythonhosted.org/packages/92/ac/7d4bd020ba9145f354012838692d48300c1b8fe5634bfda886abcada67ed/pyarrow-20.0.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e8b88758f9303fa5a83d6c90e176714b2fd3852e776fc2d7e42a22dd6c2fb368", size = 44543847, upload-time = "2025-04-27T12:31:45.997Z" }, - { url = "https://files.pythonhosted.org/packages/9d/07/290f4abf9ca702c5df7b47739c1b2c83588641ddfa2cc75e34a301d42e55/pyarrow-20.0.0-cp313-cp313-win_amd64.whl", hash = "sha256:30b3051b7975801c1e1d387e17c588d8ab05ced9b1e14eec57915f79869b5031", size = 25653219, upload-time = "2025-04-27T12:31:54.11Z" }, - { url = "https://files.pythonhosted.org/packages/95/df/720bb17704b10bd69dde086e1400b8eefb8f58df3f8ac9cff6c425bf57f1/pyarrow-20.0.0-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:ca151afa4f9b7bc45bcc791eb9a89e90a9eb2772767d0b1e5389609c7d03db63", size = 30853957, upload-time = "2025-04-27T12:31:59.215Z" }, - { url = "https://files.pythonhosted.org/packages/d9/72/0d5f875efc31baef742ba55a00a25213a19ea64d7176e0fe001c5d8b6e9a/pyarrow-20.0.0-cp313-cp313t-macosx_12_0_x86_64.whl", hash = "sha256:4680f01ecd86e0dd63e39eb5cd59ef9ff24a9d166db328679e36c108dc993d4c", size = 32247972, upload-time = "2025-04-27T12:32:05.369Z" }, - { url = "https://files.pythonhosted.org/packages/d5/bc/e48b4fa544d2eea72f7844180eb77f83f2030b84c8dad860f199f94307ed/pyarrow-20.0.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7f4c8534e2ff059765647aa69b75d6543f9fef59e2cd4c6d18015192565d2b70", size = 41256434, upload-time = "2025-04-27T12:32:11.814Z" }, - { url = "https://files.pythonhosted.org/packages/c3/01/974043a29874aa2cf4f87fb07fd108828fc7362300265a2a64a94965e35b/pyarrow-20.0.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3e1f8a47f4b4ae4c69c4d702cfbdfe4d41e18e5c7ef6f1bb1c50918c1e81c57b", size = 42353648, upload-time = "2025-04-27T12:32:20.766Z" }, - { url = "https://files.pythonhosted.org/packages/68/95/cc0d3634cde9ca69b0e51cbe830d8915ea32dda2157560dda27ff3b3337b/pyarrow-20.0.0-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:a1f60dc14658efaa927f8214734f6a01a806d7690be4b3232ba526836d216122", size = 40619853, upload-time = "2025-04-27T12:32:28.1Z" }, - { url = "https://files.pythonhosted.org/packages/29/c2/3ad40e07e96a3e74e7ed7cc8285aadfa84eb848a798c98ec0ad009eb6bcc/pyarrow-20.0.0-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:204a846dca751428991346976b914d6d2a82ae5b8316a6ed99789ebf976551e6", size = 42241743, upload-time = "2025-04-27T12:32:35.792Z" }, - { url = "https://files.pythonhosted.org/packages/eb/cb/65fa110b483339add6a9bc7b6373614166b14e20375d4daa73483755f830/pyarrow-20.0.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:f3b117b922af5e4c6b9a9115825726cac7d8b1421c37c2b5e24fbacc8930612c", size = 42839441, upload-time = "2025-04-27T12:32:46.64Z" }, - { url = "https://files.pythonhosted.org/packages/98/7b/f30b1954589243207d7a0fbc9997401044bf9a033eec78f6cb50da3f304a/pyarrow-20.0.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:e724a3fd23ae5b9c010e7be857f4405ed5e679db5c93e66204db1a69f733936a", size = 44503279, upload-time = "2025-04-27T12:32:56.503Z" }, - { url = "https://files.pythonhosted.org/packages/37/40/ad395740cd641869a13bcf60851296c89624662575621968dcfafabaa7f6/pyarrow-20.0.0-cp313-cp313t-win_amd64.whl", hash = "sha256:82f1ee5133bd8f49d31be1299dc07f585136679666b502540db854968576faf9", size = 25944982, upload-time = "2025-04-27T12:33:04.72Z" }, + { url = "https://files.pythonhosted.org/packages/17/d9/110de31880016e2afc52d8580b397dbe47615defbf09ca8cf55f56c62165/pyarrow-21.0.0-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:e563271e2c5ff4d4a4cbeb2c83d5cf0d4938b891518e676025f7268c6fe5fe26", size = 31196837, upload-time = "2025-07-18T00:54:34.755Z" }, + { url = "https://files.pythonhosted.org/packages/df/5f/c1c1997613abf24fceb087e79432d24c19bc6f7259cab57c2c8e5e545fab/pyarrow-21.0.0-cp310-cp310-macosx_12_0_x86_64.whl", hash = "sha256:fee33b0ca46f4c85443d6c450357101e47d53e6c3f008d658c27a2d020d44c79", size = 32659470, upload-time = "2025-07-18T00:54:38.329Z" }, + { url = "https://files.pythonhosted.org/packages/3e/ed/b1589a777816ee33ba123ba1e4f8f02243a844fed0deec97bde9fb21a5cf/pyarrow-21.0.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:7be45519b830f7c24b21d630a31d48bcebfd5d4d7f9d3bdb49da9cdf6d764edb", size = 41055619, upload-time = "2025-07-18T00:54:42.172Z" }, + { url = "https://files.pythonhosted.org/packages/44/28/b6672962639e85dc0ac36f71ab3a8f5f38e01b51343d7aa372a6b56fa3f3/pyarrow-21.0.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:26bfd95f6bff443ceae63c65dc7e048670b7e98bc892210acba7e4995d3d4b51", size = 42733488, upload-time = "2025-07-18T00:54:47.132Z" }, + { url = "https://files.pythonhosted.org/packages/f8/cc/de02c3614874b9089c94eac093f90ca5dfa6d5afe45de3ba847fd950fdf1/pyarrow-21.0.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:bd04ec08f7f8bd113c55868bd3fc442a9db67c27af098c5f814a3091e71cc61a", size = 43329159, upload-time = "2025-07-18T00:54:51.686Z" }, + { url = "https://files.pythonhosted.org/packages/a6/3e/99473332ac40278f196e105ce30b79ab8affab12f6194802f2593d6b0be2/pyarrow-21.0.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:9b0b14b49ac10654332a805aedfc0147fb3469cbf8ea951b3d040dab12372594", size = 45050567, upload-time = "2025-07-18T00:54:56.679Z" }, + { url = "https://files.pythonhosted.org/packages/7b/f5/c372ef60593d713e8bfbb7e0c743501605f0ad00719146dc075faf11172b/pyarrow-21.0.0-cp310-cp310-win_amd64.whl", hash = "sha256:9d9f8bcb4c3be7738add259738abdeddc363de1b80e3310e04067aa1ca596634", size = 26217959, upload-time = "2025-07-18T00:55:00.482Z" }, + { url = "https://files.pythonhosted.org/packages/94/dc/80564a3071a57c20b7c32575e4a0120e8a330ef487c319b122942d665960/pyarrow-21.0.0-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:c077f48aab61738c237802836fc3844f85409a46015635198761b0d6a688f87b", size = 31243234, upload-time = "2025-07-18T00:55:03.812Z" }, + { url = "https://files.pythonhosted.org/packages/ea/cc/3b51cb2db26fe535d14f74cab4c79b191ed9a8cd4cbba45e2379b5ca2746/pyarrow-21.0.0-cp311-cp311-macosx_12_0_x86_64.whl", hash = "sha256:689f448066781856237eca8d1975b98cace19b8dd2ab6145bf49475478bcaa10", size = 32714370, upload-time = "2025-07-18T00:55:07.495Z" }, + { url = "https://files.pythonhosted.org/packages/24/11/a4431f36d5ad7d83b87146f515c063e4d07ef0b7240876ddb885e6b44f2e/pyarrow-21.0.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:479ee41399fcddc46159a551705b89c05f11e8b8cb8e968f7fec64f62d91985e", size = 41135424, upload-time = "2025-07-18T00:55:11.461Z" }, + { url = "https://files.pythonhosted.org/packages/74/dc/035d54638fc5d2971cbf1e987ccd45f1091c83bcf747281cf6cc25e72c88/pyarrow-21.0.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:40ebfcb54a4f11bcde86bc586cbd0272bac0d516cfa539c799c2453768477569", size = 42823810, upload-time = "2025-07-18T00:55:16.301Z" }, + { url = "https://files.pythonhosted.org/packages/2e/3b/89fced102448a9e3e0d4dded1f37fa3ce4700f02cdb8665457fcc8015f5b/pyarrow-21.0.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8d58d8497814274d3d20214fbb24abcad2f7e351474357d552a8d53bce70c70e", size = 43391538, upload-time = "2025-07-18T00:55:23.82Z" }, + { url = "https://files.pythonhosted.org/packages/fb/bb/ea7f1bd08978d39debd3b23611c293f64a642557e8141c80635d501e6d53/pyarrow-21.0.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:585e7224f21124dd57836b1530ac8f2df2afc43c861d7bf3d58a4870c42ae36c", size = 45120056, upload-time = "2025-07-18T00:55:28.231Z" }, + { url = "https://files.pythonhosted.org/packages/6e/0b/77ea0600009842b30ceebc3337639a7380cd946061b620ac1a2f3cb541e2/pyarrow-21.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:555ca6935b2cbca2c0e932bedd853e9bc523098c39636de9ad4693b5b1df86d6", size = 26220568, upload-time = "2025-07-18T00:55:32.122Z" }, + { url = "https://files.pythonhosted.org/packages/ca/d4/d4f817b21aacc30195cf6a46ba041dd1be827efa4a623cc8bf39a1c2a0c0/pyarrow-21.0.0-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:3a302f0e0963db37e0a24a70c56cf91a4faa0bca51c23812279ca2e23481fccd", size = 31160305, upload-time = "2025-07-18T00:55:35.373Z" }, + { url = "https://files.pythonhosted.org/packages/a2/9c/dcd38ce6e4b4d9a19e1d36914cb8e2b1da4e6003dd075474c4cfcdfe0601/pyarrow-21.0.0-cp312-cp312-macosx_12_0_x86_64.whl", hash = "sha256:b6b27cf01e243871390474a211a7922bfbe3bda21e39bc9160daf0da3fe48876", size = 32684264, upload-time = "2025-07-18T00:55:39.303Z" }, + { url = "https://files.pythonhosted.org/packages/4f/74/2a2d9f8d7a59b639523454bec12dba35ae3d0a07d8ab529dc0809f74b23c/pyarrow-21.0.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:e72a8ec6b868e258a2cd2672d91f2860ad532d590ce94cdf7d5e7ec674ccf03d", size = 41108099, upload-time = "2025-07-18T00:55:42.889Z" }, + { url = "https://files.pythonhosted.org/packages/ad/90/2660332eeb31303c13b653ea566a9918484b6e4d6b9d2d46879a33ab0622/pyarrow-21.0.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:b7ae0bbdc8c6674259b25bef5d2a1d6af5d39d7200c819cf99e07f7dfef1c51e", size = 42829529, upload-time = "2025-07-18T00:55:47.069Z" }, + { url = "https://files.pythonhosted.org/packages/33/27/1a93a25c92717f6aa0fca06eb4700860577d016cd3ae51aad0e0488ac899/pyarrow-21.0.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:58c30a1729f82d201627c173d91bd431db88ea74dcaa3885855bc6203e433b82", size = 43367883, upload-time = "2025-07-18T00:55:53.069Z" }, + { url = "https://files.pythonhosted.org/packages/05/d9/4d09d919f35d599bc05c6950095e358c3e15148ead26292dfca1fb659b0c/pyarrow-21.0.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:072116f65604b822a7f22945a7a6e581cfa28e3454fdcc6939d4ff6090126623", size = 45133802, upload-time = "2025-07-18T00:55:57.714Z" }, + { url = "https://files.pythonhosted.org/packages/71/30/f3795b6e192c3ab881325ffe172e526499eb3780e306a15103a2764916a2/pyarrow-21.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:cf56ec8b0a5c8c9d7021d6fd754e688104f9ebebf1bf4449613c9531f5346a18", size = 26203175, upload-time = "2025-07-18T00:56:01.364Z" }, + { url = "https://files.pythonhosted.org/packages/16/ca/c7eaa8e62db8fb37ce942b1ea0c6d7abfe3786ca193957afa25e71b81b66/pyarrow-21.0.0-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:e99310a4ebd4479bcd1964dff9e14af33746300cb014aa4a3781738ac63baf4a", size = 31154306, upload-time = "2025-07-18T00:56:04.42Z" }, + { url = "https://files.pythonhosted.org/packages/ce/e8/e87d9e3b2489302b3a1aea709aaca4b781c5252fcb812a17ab6275a9a484/pyarrow-21.0.0-cp313-cp313-macosx_12_0_x86_64.whl", hash = "sha256:d2fe8e7f3ce329a71b7ddd7498b3cfac0eeb200c2789bd840234f0dc271a8efe", size = 32680622, upload-time = "2025-07-18T00:56:07.505Z" }, + { url = "https://files.pythonhosted.org/packages/84/52/79095d73a742aa0aba370c7942b1b655f598069489ab387fe47261a849e1/pyarrow-21.0.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:f522e5709379d72fb3da7785aa489ff0bb87448a9dc5a75f45763a795a089ebd", size = 41104094, upload-time = "2025-07-18T00:56:10.994Z" }, + { url = "https://files.pythonhosted.org/packages/89/4b/7782438b551dbb0468892a276b8c789b8bbdb25ea5c5eb27faadd753e037/pyarrow-21.0.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:69cbbdf0631396e9925e048cfa5bce4e8c3d3b41562bbd70c685a8eb53a91e61", size = 42825576, upload-time = "2025-07-18T00:56:15.569Z" }, + { url = "https://files.pythonhosted.org/packages/b3/62/0f29de6e0a1e33518dec92c65be0351d32d7ca351e51ec5f4f837a9aab91/pyarrow-21.0.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:731c7022587006b755d0bdb27626a1a3bb004bb56b11fb30d98b6c1b4718579d", size = 43368342, upload-time = "2025-07-18T00:56:19.531Z" }, + { url = "https://files.pythonhosted.org/packages/90/c7/0fa1f3f29cf75f339768cc698c8ad4ddd2481c1742e9741459911c9ac477/pyarrow-21.0.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:dc56bc708f2d8ac71bd1dcb927e458c93cec10b98eb4120206a4091db7b67b99", size = 45131218, upload-time = "2025-07-18T00:56:23.347Z" }, + { url = "https://files.pythonhosted.org/packages/01/63/581f2076465e67b23bc5a37d4a2abff8362d389d29d8105832e82c9c811c/pyarrow-21.0.0-cp313-cp313-win_amd64.whl", hash = "sha256:186aa00bca62139f75b7de8420f745f2af12941595bbbfa7ed3870ff63e25636", size = 26087551, upload-time = "2025-07-18T00:56:26.758Z" }, + { url = "https://files.pythonhosted.org/packages/c9/ab/357d0d9648bb8241ee7348e564f2479d206ebe6e1c47ac5027c2e31ecd39/pyarrow-21.0.0-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:a7a102574faa3f421141a64c10216e078df467ab9576684d5cd696952546e2da", size = 31290064, upload-time = "2025-07-18T00:56:30.214Z" }, + { url = "https://files.pythonhosted.org/packages/3f/8a/5685d62a990e4cac2043fc76b4661bf38d06efed55cf45a334b455bd2759/pyarrow-21.0.0-cp313-cp313t-macosx_12_0_x86_64.whl", hash = "sha256:1e005378c4a2c6db3ada3ad4c217b381f6c886f0a80d6a316fe586b90f77efd7", size = 32727837, upload-time = "2025-07-18T00:56:33.935Z" }, + { url = "https://files.pythonhosted.org/packages/fc/de/c0828ee09525c2bafefd3e736a248ebe764d07d0fd762d4f0929dbc516c9/pyarrow-21.0.0-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:65f8e85f79031449ec8706b74504a316805217b35b6099155dd7e227eef0d4b6", size = 41014158, upload-time = "2025-07-18T00:56:37.528Z" }, + { url = "https://files.pythonhosted.org/packages/6e/26/a2865c420c50b7a3748320b614f3484bfcde8347b2639b2b903b21ce6a72/pyarrow-21.0.0-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:3a81486adc665c7eb1a2bde0224cfca6ceaba344a82a971ef059678417880eb8", size = 42667885, upload-time = "2025-07-18T00:56:41.483Z" }, + { url = "https://files.pythonhosted.org/packages/0a/f9/4ee798dc902533159250fb4321267730bc0a107d8c6889e07c3add4fe3a5/pyarrow-21.0.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:fc0d2f88b81dcf3ccf9a6ae17f89183762c8a94a5bdcfa09e05cfe413acf0503", size = 43276625, upload-time = "2025-07-18T00:56:48.002Z" }, + { url = "https://files.pythonhosted.org/packages/5a/da/e02544d6997037a4b0d22d8e5f66bc9315c3671371a8b18c79ade1cefe14/pyarrow-21.0.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:6299449adf89df38537837487a4f8d3bd91ec94354fdd2a7d30bc11c48ef6e79", size = 44951890, upload-time = "2025-07-18T00:56:52.568Z" }, + { url = "https://files.pythonhosted.org/packages/e5/4e/519c1bc1876625fe6b71e9a28287c43ec2f20f73c658b9ae1d485c0c206e/pyarrow-21.0.0-cp313-cp313t-win_amd64.whl", hash = "sha256:222c39e2c70113543982c6b34f3077962b44fca38c0bd9e68bb6781534425c10", size = 26371006, upload-time = "2025-07-18T00:56:56.379Z" }, ] [[package]] @@ -3774,32 +4037,21 @@ crypto = [ [[package]] name = "pylance" -version = "0.22.0" +version = "0.32.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "numpy" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "numpy", version = "2.3.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, { name = "pyarrow" }, ] wheels = [ - { url = "https://files.pythonhosted.org/packages/9e/22/ad54cfda2bbf7e217de0cc131e0ed2c879af7728d6331903e44dee8f8dfb/pylance-0.22.0-cp39-abi3-macosx_10_15_x86_64.whl", hash = "sha256:2c0bb6bf7320e500f0f5948e5b23e4d70d9c84bba15a2db2e877be9637c4dc0c", size = 34412591, upload-time = "2025-01-13T21:25:22.067Z" }, - { url = "https://files.pythonhosted.org/packages/28/e4/54603e4ad6341240e507cd3b490e34cd0663610b59d5e6ba5a9d317cd421/pylance-0.22.0-cp39-abi3-macosx_11_0_arm64.whl", hash = "sha256:341a8cbac762c1f446a05a1513dab1b7930f433a8331b08b0b89a975f3864f6a", size = 31889815, upload-time = "2025-01-13T21:10:24.244Z" }, - { url = "https://files.pythonhosted.org/packages/ce/ed/bf2b5e480d9ec620f261d9b5293ebb494934b42f30af62973df476ef8b7d/pylance-0.22.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:29848127701f2188b331ad8399036f1fb79bacf5102fd030bfe9fd30cb02cf5b", size = 38929145, upload-time = "2025-01-13T21:11:43.272Z" }, - { url = "https://files.pythonhosted.org/packages/bf/6c/069ef2823c7366c529297493719e8a3f6b16a19bbaf42e6f5010307157ec/pylance-0.22.0-cp39-abi3-manylinux_2_24_aarch64.whl", hash = "sha256:cd4cc3dd3772600092685282db8cd4c21eaa68f458445b3107bd01b43afb8f11", size = 36272984, upload-time = "2025-01-13T21:11:57.601Z" }, - { url = "https://files.pythonhosted.org/packages/50/ff/61e10792edab999d0cc0c89a409446d28bee0f47e157ebc5587c0f8fb332/pylance-0.22.0-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:8999e73ce180c977f91bb4629578d742b1e86fcf53e7d27b14d6d219395c17cd", size = 38322607, upload-time = "2025-01-13T21:11:40.174Z" }, - { url = "https://files.pythonhosted.org/packages/61/f0/b62b14630af78d468ff7b15cc21576910edbd73114795b49907b39df2841/pylance-0.22.0-cp39-abi3-win_amd64.whl", hash = "sha256:848f1a74dab14dc14bf05569404977cfcba9a95a44e513e5a3b32f1221bfa00f", size = 34216608, upload-time = "2025-01-13T21:24:47.835Z" }, -] - -[[package]] -name = "pymdown-extensions" -version = "10.16" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "markdown" }, - { name = "pyyaml" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/1a/0a/c06b542ac108bfc73200677309cd9188a3a01b127a63f20cadc18d873d88/pymdown_extensions-10.16.tar.gz", hash = "sha256:71dac4fca63fabeffd3eb9038b756161a33ec6e8d230853d3cecf562155ab3de", size = 853197, upload-time = "2025-06-21T17:56:36.974Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/98/d4/10bb14004d3c792811e05e21b5e5dcae805aacb739bd12a0540967b99592/pymdown_extensions-10.16-py3-none-any.whl", hash = "sha256:f5dd064a4db588cb2d95229fc4ee63a1b16cc8b4d0e6145c0899ed8723da1df2", size = 266143, upload-time = "2025-06-21T17:56:35.356Z" }, + { url = "https://files.pythonhosted.org/packages/dd/ff/35c1939d0ba4eca22fc718dfc2f1b18772db880adde545fe90a67fba6c51/pylance-0.32.0-cp39-abi3-macosx_10_15_x86_64.whl", hash = "sha256:476351feca8e398a879f3d8536b0d104dfb261c7bc88eab1273a29d19a3d733d", size = 40886545, upload-time = "2025-07-23T22:23:18.053Z" }, + { url = "https://files.pythonhosted.org/packages/43/a7/d6b7dfdc78eb29e267d739a2a753460468797dbf4d97a8a657dfdb1deef8/pylance-0.32.0-cp39-abi3-macosx_11_0_arm64.whl", hash = "sha256:94f9ab7a37cd941172ee8c75076377193d41afcfee9c51e293fc06b4ee163001", size = 37598534, upload-time = "2025-07-23T22:05:14.931Z" }, + { url = "https://files.pythonhosted.org/packages/25/e0/ddc4e2708ba1fb3a78ec1020f6491ae919b3bf428882559856226c0c3e3a/pylance-0.32.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:50e30e96a9b52f7329d4bd2570d46a83c5ba5fff9dafef21cb7a7c8e6ee800fd", size = 39432383, upload-time = "2025-07-23T22:03:07.266Z" }, + { url = "https://files.pythonhosted.org/packages/35/ff/c5965f985ba59721f28fa77717de04190a1c9859a6974ac014a560d3215e/pylance-0.32.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2cb52eb178733ececd640075d8b5c057ce8405d05b19d1f41d88cf8625d92a90", size = 42846183, upload-time = "2025-07-23T22:07:13.38Z" }, + { url = "https://files.pythonhosted.org/packages/51/c9/37f54d3931c9fb66a7b916aa5f7f4cc9d5c51cbe587fac90631d5b8dfd54/pylance-0.32.0-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:b43e667c0543e9d69fdc33023b30f3f506ac6f704e634f9f44779a00cb054e48", size = 39461297, upload-time = "2025-07-23T22:03:31.97Z" }, + { url = "https://files.pythonhosted.org/packages/4f/7f/d2e87068d02753aece33a08aa815d53798c6f3b89fe47e51469c8260dccf/pylance-0.32.0-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:ed160d10db8bd70455a136252e2030fcda8f1a27baea94430815fa3c9c5cc8af", size = 42839109, upload-time = "2025-07-23T22:07:48.511Z" }, + { url = "https://files.pythonhosted.org/packages/eb/16/a9b5bb3eff1eb85ef938d91c3aee2c266e33c4891e872fedea21629cc149/pylance-0.32.0-cp39-abi3-win_amd64.whl", hash = "sha256:f752d5d09ae029bdef0068e9cedbbcdb3e326eb23c09e9448fa11cad82597487", size = 43761312, upload-time = "2025-07-23T22:23:49.753Z" }, ] [[package]] @@ -3834,14 +4086,14 @@ wheels = [ [[package]] name = "pypdf" -version = "5.7.0" +version = "5.9.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "typing-extensions", marker = "python_full_version < '3.11'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/7b/42/fbc37af367b20fa6c53da81b1780025f6046a0fac8cbf0663a17e743b033/pypdf-5.7.0.tar.gz", hash = "sha256:68c92f2e1aae878bab1150e74447f31ab3848b1c0a6f8becae9f0b1904460b6f", size = 5026120, upload-time = "2025-06-29T08:49:48.305Z" } +sdist = { url = "https://files.pythonhosted.org/packages/89/3a/584b97a228950ed85aec97c811c68473d9b8d149e6a8c155668287cf1a28/pypdf-5.9.0.tar.gz", hash = "sha256:30f67a614d558e495e1fbb157ba58c1de91ffc1718f5e0dfeb82a029233890a1", size = 5035118, upload-time = "2025-07-27T14:04:52.364Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/73/9f/78d096ef795a813fa0e1cb9b33fa574b205f2b563d9c1e9366c854cf0364/pypdf-5.7.0-py3-none-any.whl", hash = "sha256:203379453439f5b68b7a1cd43cdf4c5f7a02b84810cefa7f93a47b350aaaba48", size = 305524, upload-time = "2025-06-29T08:49:46.16Z" }, + { url = "https://files.pythonhosted.org/packages/48/d9/6cff57c80a6963e7dd183bf09e9f21604a77716644b1e580e97b259f7612/pypdf-5.9.0-py3-none-any.whl", hash = "sha256:be10a4c54202f46d9daceaa8788be07aa8cd5ea8c25c529c50dd509206382c35", size = 313193, upload-time = "2025-07-27T14:04:50.53Z" }, ] [[package]] @@ -3960,21 +4212,24 @@ wheels = [ [[package]] name = "pywin32" -version = "310" +version = "311" source = { registry = "https://pypi.org/simple" } wheels = [ - { url = "https://files.pythonhosted.org/packages/95/da/a5f38fffbba2fb99aa4aa905480ac4b8e83ca486659ac8c95bce47fb5276/pywin32-310-cp310-cp310-win32.whl", hash = "sha256:6dd97011efc8bf51d6793a82292419eba2c71cf8e7250cfac03bba284454abc1", size = 8848240, upload-time = "2025-03-17T00:55:46.783Z" }, - { url = "https://files.pythonhosted.org/packages/aa/fe/d873a773324fa565619ba555a82c9dabd677301720f3660a731a5d07e49a/pywin32-310-cp310-cp310-win_amd64.whl", hash = "sha256:c3e78706e4229b915a0821941a84e7ef420bf2b77e08c9dae3c76fd03fd2ae3d", size = 9601854, upload-time = "2025-03-17T00:55:48.783Z" }, - { url = "https://files.pythonhosted.org/packages/3c/84/1a8e3d7a15490d28a5d816efa229ecb4999cdc51a7c30dd8914f669093b8/pywin32-310-cp310-cp310-win_arm64.whl", hash = "sha256:33babed0cf0c92a6f94cc6cc13546ab24ee13e3e800e61ed87609ab91e4c8213", size = 8522963, upload-time = "2025-03-17T00:55:50.969Z" }, - { url = "https://files.pythonhosted.org/packages/f7/b1/68aa2986129fb1011dabbe95f0136f44509afaf072b12b8f815905a39f33/pywin32-310-cp311-cp311-win32.whl", hash = "sha256:1e765f9564e83011a63321bb9d27ec456a0ed90d3732c4b2e312b855365ed8bd", size = 8784284, upload-time = "2025-03-17T00:55:53.124Z" }, - { url = "https://files.pythonhosted.org/packages/b3/bd/d1592635992dd8db5bb8ace0551bc3a769de1ac8850200cfa517e72739fb/pywin32-310-cp311-cp311-win_amd64.whl", hash = "sha256:126298077a9d7c95c53823934f000599f66ec9296b09167810eb24875f32689c", size = 9520748, upload-time = "2025-03-17T00:55:55.203Z" }, - { url = "https://files.pythonhosted.org/packages/90/b1/ac8b1ffce6603849eb45a91cf126c0fa5431f186c2e768bf56889c46f51c/pywin32-310-cp311-cp311-win_arm64.whl", hash = "sha256:19ec5fc9b1d51c4350be7bb00760ffce46e6c95eaf2f0b2f1150657b1a43c582", size = 8455941, upload-time = "2025-03-17T00:55:57.048Z" }, - { url = "https://files.pythonhosted.org/packages/6b/ec/4fdbe47932f671d6e348474ea35ed94227fb5df56a7c30cbbb42cd396ed0/pywin32-310-cp312-cp312-win32.whl", hash = "sha256:8a75a5cc3893e83a108c05d82198880704c44bbaee4d06e442e471d3c9ea4f3d", size = 8796239, upload-time = "2025-03-17T00:55:58.807Z" }, - { url = "https://files.pythonhosted.org/packages/e3/e5/b0627f8bb84e06991bea89ad8153a9e50ace40b2e1195d68e9dff6b03d0f/pywin32-310-cp312-cp312-win_amd64.whl", hash = "sha256:bf5c397c9a9a19a6f62f3fb821fbf36cac08f03770056711f765ec1503972060", size = 9503839, upload-time = "2025-03-17T00:56:00.8Z" }, - { url = "https://files.pythonhosted.org/packages/1f/32/9ccf53748df72301a89713936645a664ec001abd35ecc8578beda593d37d/pywin32-310-cp312-cp312-win_arm64.whl", hash = "sha256:2349cc906eae872d0663d4d6290d13b90621eaf78964bb1578632ff20e152966", size = 8459470, upload-time = "2025-03-17T00:56:02.601Z" }, - { url = "https://files.pythonhosted.org/packages/1c/09/9c1b978ffc4ae53999e89c19c77ba882d9fce476729f23ef55211ea1c034/pywin32-310-cp313-cp313-win32.whl", hash = "sha256:5d241a659c496ada3253cd01cfaa779b048e90ce4b2b38cd44168ad555ce74ab", size = 8794384, upload-time = "2025-03-17T00:56:04.383Z" }, - { url = "https://files.pythonhosted.org/packages/45/3c/b4640f740ffebadd5d34df35fecba0e1cfef8fde9f3e594df91c28ad9b50/pywin32-310-cp313-cp313-win_amd64.whl", hash = "sha256:667827eb3a90208ddbdcc9e860c81bde63a135710e21e4cb3348968e4bd5249e", size = 9503039, upload-time = "2025-03-17T00:56:06.207Z" }, - { url = "https://files.pythonhosted.org/packages/b4/f4/f785020090fb050e7fb6d34b780f2231f302609dc964672f72bfaeb59a28/pywin32-310-cp313-cp313-win_arm64.whl", hash = "sha256:e308f831de771482b7cf692a1f308f8fca701b2d8f9dde6cc440c7da17e47b33", size = 8458152, upload-time = "2025-03-17T00:56:07.819Z" }, + { url = "https://files.pythonhosted.org/packages/7b/40/44efbb0dfbd33aca6a6483191dae0716070ed99e2ecb0c53683f400a0b4f/pywin32-311-cp310-cp310-win32.whl", hash = "sha256:d03ff496d2a0cd4a5893504789d4a15399133fe82517455e78bad62efbb7f0a3", size = 8760432, upload-time = "2025-07-14T20:13:05.9Z" }, + { url = "https://files.pythonhosted.org/packages/5e/bf/360243b1e953bd254a82f12653974be395ba880e7ec23e3731d9f73921cc/pywin32-311-cp310-cp310-win_amd64.whl", hash = "sha256:797c2772017851984b97180b0bebe4b620bb86328e8a884bb626156295a63b3b", size = 9590103, upload-time = "2025-07-14T20:13:07.698Z" }, + { url = "https://files.pythonhosted.org/packages/57/38/d290720e6f138086fb3d5ffe0b6caa019a791dd57866940c82e4eeaf2012/pywin32-311-cp310-cp310-win_arm64.whl", hash = "sha256:0502d1facf1fed4839a9a51ccbcc63d952cf318f78ffc00a7e78528ac27d7a2b", size = 8778557, upload-time = "2025-07-14T20:13:11.11Z" }, + { url = "https://files.pythonhosted.org/packages/7c/af/449a6a91e5d6db51420875c54f6aff7c97a86a3b13a0b4f1a5c13b988de3/pywin32-311-cp311-cp311-win32.whl", hash = "sha256:184eb5e436dea364dcd3d2316d577d625c0351bf237c4e9a5fabbcfa5a58b151", size = 8697031, upload-time = "2025-07-14T20:13:13.266Z" }, + { url = "https://files.pythonhosted.org/packages/51/8f/9bb81dd5bb77d22243d33c8397f09377056d5c687aa6d4042bea7fbf8364/pywin32-311-cp311-cp311-win_amd64.whl", hash = "sha256:3ce80b34b22b17ccbd937a6e78e7225d80c52f5ab9940fe0506a1a16f3dab503", size = 9508308, upload-time = "2025-07-14T20:13:15.147Z" }, + { url = "https://files.pythonhosted.org/packages/44/7b/9c2ab54f74a138c491aba1b1cd0795ba61f144c711daea84a88b63dc0f6c/pywin32-311-cp311-cp311-win_arm64.whl", hash = "sha256:a733f1388e1a842abb67ffa8e7aad0e70ac519e09b0f6a784e65a136ec7cefd2", size = 8703930, upload-time = "2025-07-14T20:13:16.945Z" }, + { url = "https://files.pythonhosted.org/packages/e7/ab/01ea1943d4eba0f850c3c61e78e8dd59757ff815ff3ccd0a84de5f541f42/pywin32-311-cp312-cp312-win32.whl", hash = "sha256:750ec6e621af2b948540032557b10a2d43b0cee2ae9758c54154d711cc852d31", size = 8706543, upload-time = "2025-07-14T20:13:20.765Z" }, + { url = "https://files.pythonhosted.org/packages/d1/a8/a0e8d07d4d051ec7502cd58b291ec98dcc0c3fff027caad0470b72cfcc2f/pywin32-311-cp312-cp312-win_amd64.whl", hash = "sha256:b8c095edad5c211ff31c05223658e71bf7116daa0ecf3ad85f3201ea3190d067", size = 9495040, upload-time = "2025-07-14T20:13:22.543Z" }, + { url = "https://files.pythonhosted.org/packages/ba/3a/2ae996277b4b50f17d61f0603efd8253cb2d79cc7ae159468007b586396d/pywin32-311-cp312-cp312-win_arm64.whl", hash = "sha256:e286f46a9a39c4a18b319c28f59b61de793654af2f395c102b4f819e584b5852", size = 8710102, upload-time = "2025-07-14T20:13:24.682Z" }, + { url = "https://files.pythonhosted.org/packages/a5/be/3fd5de0979fcb3994bfee0d65ed8ca9506a8a1260651b86174f6a86f52b3/pywin32-311-cp313-cp313-win32.whl", hash = "sha256:f95ba5a847cba10dd8c4d8fefa9f2a6cf283b8b88ed6178fa8a6c1ab16054d0d", size = 8705700, upload-time = "2025-07-14T20:13:26.471Z" }, + { url = "https://files.pythonhosted.org/packages/e3/28/e0a1909523c6890208295a29e05c2adb2126364e289826c0a8bc7297bd5c/pywin32-311-cp313-cp313-win_amd64.whl", hash = "sha256:718a38f7e5b058e76aee1c56ddd06908116d35147e133427e59a3983f703a20d", size = 9494700, upload-time = "2025-07-14T20:13:28.243Z" }, + { url = "https://files.pythonhosted.org/packages/04/bf/90339ac0f55726dce7d794e6d79a18a91265bdf3aa70b6b9ca52f35e022a/pywin32-311-cp313-cp313-win_arm64.whl", hash = "sha256:7b4075d959648406202d92a2310cb990fea19b535c7f4a78d3f5e10b926eeb8a", size = 8709318, upload-time = "2025-07-14T20:13:30.348Z" }, + { url = "https://files.pythonhosted.org/packages/c9/31/097f2e132c4f16d99a22bfb777e0fd88bd8e1c634304e102f313af69ace5/pywin32-311-cp314-cp314-win32.whl", hash = "sha256:b7a2c10b93f8986666d0c803ee19b5990885872a7de910fc460f9b0c2fbf92ee", size = 8840714, upload-time = "2025-07-14T20:13:32.449Z" }, + { url = "https://files.pythonhosted.org/packages/90/4b/07c77d8ba0e01349358082713400435347df8426208171ce297da32c313d/pywin32-311-cp314-cp314-win_amd64.whl", hash = "sha256:3aca44c046bd2ed8c90de9cb8427f581c479e594e99b5c0bb19b29c10fd6cb87", size = 9656800, upload-time = "2025-07-14T20:13:34.312Z" }, + { url = "https://files.pythonhosted.org/packages/c0/d2/21af5c535501a7233e734b8af901574572da66fcc254cb35d0609c9080dd/pywin32-311-cp314-cp314-win_arm64.whl", hash = "sha256:a508e2d9025764a8270f93111a970e1d0fbfc33f4153b388bb649b7eec4f9b42", size = 8932540, upload-time = "2025-07-14T20:13:36.379Z" }, ] [[package]] @@ -4021,18 +4276,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/fa/de/02b54f42487e3d3c6efb3f89428677074ca7bf43aae402517bc7cca949f3/PyYAML-6.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563", size = 156446, upload-time = "2024-08-06T20:33:04.33Z" }, ] -[[package]] -name = "pyyaml-env-tag" -version = "1.1" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "pyyaml" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/eb/2e/79c822141bfd05a853236b504869ebc6b70159afc570e1d5a20641782eaa/pyyaml_env_tag-1.1.tar.gz", hash = "sha256:2eb38b75a2d21ee0475d6d97ec19c63287a7e140231e4214969d0eac923cd7ff", size = 5737, upload-time = "2025-05-13T15:24:01.64Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/04/11/432f32f8097b03e3cd5fe57e88efb685d964e2e5178a48ed61e841f7fdce/pyyaml_env_tag-1.1-py3-none-any.whl", hash = "sha256:17109e1a528561e32f026364712fee1264bc2ea6715120891174ed1b980d2e04", size = 4722, upload-time = "2025-05-13T15:23:59.629Z" }, -] - [[package]] name = "rapidfuzz" version = "3.13.0" @@ -4142,71 +4385,81 @@ wheels = [ [[package]] name = "regex" -version = "2024.11.6" +version = "2025.7.34" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/8e/5f/bd69653fbfb76cf8604468d3b4ec4c403197144c7bfe0e6a5fc9e02a07cb/regex-2024.11.6.tar.gz", hash = "sha256:7ab159b063c52a0333c884e4679f8d7a85112ee3078fe3d9004b2dd875585519", size = 399494, upload-time = "2024-11-06T20:12:31.635Z" } +sdist = { url = "https://files.pythonhosted.org/packages/0b/de/e13fa6dc61d78b30ba47481f99933a3b49a57779d625c392d8036770a60d/regex-2025.7.34.tar.gz", hash = "sha256:9ead9765217afd04a86822dfcd4ed2747dfe426e887da413b15ff0ac2457e21a", size = 400714, upload-time = "2025-07-31T00:21:16.262Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/95/3c/4651f6b130c6842a8f3df82461a8950f923925db8b6961063e82744bddcc/regex-2024.11.6-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:ff590880083d60acc0433f9c3f713c51f7ac6ebb9adf889c79a261ecf541aa91", size = 482674, upload-time = "2024-11-06T20:08:57.575Z" }, - { url = "https://files.pythonhosted.org/packages/15/51/9f35d12da8434b489c7b7bffc205c474a0a9432a889457026e9bc06a297a/regex-2024.11.6-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:658f90550f38270639e83ce492f27d2c8d2cd63805c65a13a14d36ca126753f0", size = 287684, upload-time = "2024-11-06T20:08:59.787Z" }, - { url = "https://files.pythonhosted.org/packages/bd/18/b731f5510d1b8fb63c6b6d3484bfa9a59b84cc578ac8b5172970e05ae07c/regex-2024.11.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:164d8b7b3b4bcb2068b97428060b2a53be050085ef94eca7f240e7947f1b080e", size = 284589, upload-time = "2024-11-06T20:09:01.896Z" }, - { url = "https://files.pythonhosted.org/packages/78/a2/6dd36e16341ab95e4c6073426561b9bfdeb1a9c9b63ab1b579c2e96cb105/regex-2024.11.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d3660c82f209655a06b587d55e723f0b813d3a7db2e32e5e7dc64ac2a9e86fde", size = 782511, upload-time = "2024-11-06T20:09:04.062Z" }, - { url = "https://files.pythonhosted.org/packages/1b/2b/323e72d5d2fd8de0d9baa443e1ed70363ed7e7b2fb526f5950c5cb99c364/regex-2024.11.6-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d22326fcdef5e08c154280b71163ced384b428343ae16a5ab2b3354aed12436e", size = 821149, upload-time = "2024-11-06T20:09:06.237Z" }, - { url = "https://files.pythonhosted.org/packages/90/30/63373b9ea468fbef8a907fd273e5c329b8c9535fee36fc8dba5fecac475d/regex-2024.11.6-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f1ac758ef6aebfc8943560194e9fd0fa18bcb34d89fd8bd2af18183afd8da3a2", size = 809707, upload-time = "2024-11-06T20:09:07.715Z" }, - { url = "https://files.pythonhosted.org/packages/f2/98/26d3830875b53071f1f0ae6d547f1d98e964dd29ad35cbf94439120bb67a/regex-2024.11.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:997d6a487ff00807ba810e0f8332c18b4eb8d29463cfb7c820dc4b6e7562d0cf", size = 781702, upload-time = "2024-11-06T20:09:10.101Z" }, - { url = "https://files.pythonhosted.org/packages/87/55/eb2a068334274db86208ab9d5599ffa63631b9f0f67ed70ea7c82a69bbc8/regex-2024.11.6-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:02a02d2bb04fec86ad61f3ea7f49c015a0681bf76abb9857f945d26159d2968c", size = 771976, upload-time = "2024-11-06T20:09:11.566Z" }, - { url = "https://files.pythonhosted.org/packages/74/c0/be707bcfe98254d8f9d2cff55d216e946f4ea48ad2fd8cf1428f8c5332ba/regex-2024.11.6-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:f02f93b92358ee3f78660e43b4b0091229260c5d5c408d17d60bf26b6c900e86", size = 697397, upload-time = "2024-11-06T20:09:13.119Z" }, - { url = "https://files.pythonhosted.org/packages/49/dc/bb45572ceb49e0f6509f7596e4ba7031f6819ecb26bc7610979af5a77f45/regex-2024.11.6-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:06eb1be98df10e81ebaded73fcd51989dcf534e3c753466e4b60c4697a003b67", size = 768726, upload-time = "2024-11-06T20:09:14.85Z" }, - { url = "https://files.pythonhosted.org/packages/5a/db/f43fd75dc4c0c2d96d0881967897926942e935d700863666f3c844a72ce6/regex-2024.11.6-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:040df6fe1a5504eb0f04f048e6d09cd7c7110fef851d7c567a6b6e09942feb7d", size = 775098, upload-time = "2024-11-06T20:09:16.504Z" }, - { url = "https://files.pythonhosted.org/packages/99/d7/f94154db29ab5a89d69ff893159b19ada89e76b915c1293e98603d39838c/regex-2024.11.6-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:fdabbfc59f2c6edba2a6622c647b716e34e8e3867e0ab975412c5c2f79b82da2", size = 839325, upload-time = "2024-11-06T20:09:18.698Z" }, - { url = "https://files.pythonhosted.org/packages/f7/17/3cbfab1f23356fbbf07708220ab438a7efa1e0f34195bf857433f79f1788/regex-2024.11.6-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:8447d2d39b5abe381419319f942de20b7ecd60ce86f16a23b0698f22e1b70008", size = 843277, upload-time = "2024-11-06T20:09:21.725Z" }, - { url = "https://files.pythonhosted.org/packages/7e/f2/48b393b51900456155de3ad001900f94298965e1cad1c772b87f9cfea011/regex-2024.11.6-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:da8f5fc57d1933de22a9e23eec290a0d8a5927a5370d24bda9a6abe50683fe62", size = 773197, upload-time = "2024-11-06T20:09:24.092Z" }, - { url = "https://files.pythonhosted.org/packages/45/3f/ef9589aba93e084cd3f8471fded352826dcae8489b650d0b9b27bc5bba8a/regex-2024.11.6-cp310-cp310-win32.whl", hash = "sha256:b489578720afb782f6ccf2840920f3a32e31ba28a4b162e13900c3e6bd3f930e", size = 261714, upload-time = "2024-11-06T20:09:26.36Z" }, - { url = "https://files.pythonhosted.org/packages/42/7e/5f1b92c8468290c465fd50c5318da64319133231415a8aa6ea5ab995a815/regex-2024.11.6-cp310-cp310-win_amd64.whl", hash = "sha256:5071b2093e793357c9d8b2929dfc13ac5f0a6c650559503bb81189d0a3814519", size = 274042, upload-time = "2024-11-06T20:09:28.762Z" }, - { url = "https://files.pythonhosted.org/packages/58/58/7e4d9493a66c88a7da6d205768119f51af0f684fe7be7bac8328e217a52c/regex-2024.11.6-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:5478c6962ad548b54a591778e93cd7c456a7a29f8eca9c49e4f9a806dcc5d638", size = 482669, upload-time = "2024-11-06T20:09:31.064Z" }, - { url = "https://files.pythonhosted.org/packages/34/4c/8f8e631fcdc2ff978609eaeef1d6994bf2f028b59d9ac67640ed051f1218/regex-2024.11.6-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2c89a8cc122b25ce6945f0423dc1352cb9593c68abd19223eebbd4e56612c5b7", size = 287684, upload-time = "2024-11-06T20:09:32.915Z" }, - { url = "https://files.pythonhosted.org/packages/c5/1b/f0e4d13e6adf866ce9b069e191f303a30ab1277e037037a365c3aad5cc9c/regex-2024.11.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:94d87b689cdd831934fa3ce16cc15cd65748e6d689f5d2b8f4f4df2065c9fa20", size = 284589, upload-time = "2024-11-06T20:09:35.504Z" }, - { url = "https://files.pythonhosted.org/packages/25/4d/ab21047f446693887f25510887e6820b93f791992994f6498b0318904d4a/regex-2024.11.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1062b39a0a2b75a9c694f7a08e7183a80c63c0d62b301418ffd9c35f55aaa114", size = 792121, upload-time = "2024-11-06T20:09:37.701Z" }, - { url = "https://files.pythonhosted.org/packages/45/ee/c867e15cd894985cb32b731d89576c41a4642a57850c162490ea34b78c3b/regex-2024.11.6-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:167ed4852351d8a750da48712c3930b031f6efdaa0f22fa1933716bfcd6bf4a3", size = 831275, upload-time = "2024-11-06T20:09:40.371Z" }, - { url = "https://files.pythonhosted.org/packages/b3/12/b0f480726cf1c60f6536fa5e1c95275a77624f3ac8fdccf79e6727499e28/regex-2024.11.6-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2d548dafee61f06ebdb584080621f3e0c23fff312f0de1afc776e2a2ba99a74f", size = 818257, upload-time = "2024-11-06T20:09:43.059Z" }, - { url = "https://files.pythonhosted.org/packages/bf/ce/0d0e61429f603bac433910d99ef1a02ce45a8967ffbe3cbee48599e62d88/regex-2024.11.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f2a19f302cd1ce5dd01a9099aaa19cae6173306d1302a43b627f62e21cf18ac0", size = 792727, upload-time = "2024-11-06T20:09:48.19Z" }, - { url = "https://files.pythonhosted.org/packages/e4/c1/243c83c53d4a419c1556f43777ccb552bccdf79d08fda3980e4e77dd9137/regex-2024.11.6-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bec9931dfb61ddd8ef2ebc05646293812cb6b16b60cf7c9511a832b6f1854b55", size = 780667, upload-time = "2024-11-06T20:09:49.828Z" }, - { url = "https://files.pythonhosted.org/packages/c5/f4/75eb0dd4ce4b37f04928987f1d22547ddaf6c4bae697623c1b05da67a8aa/regex-2024.11.6-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:9714398225f299aa85267fd222f7142fcb5c769e73d7733344efc46f2ef5cf89", size = 776963, upload-time = "2024-11-06T20:09:51.819Z" }, - { url = "https://files.pythonhosted.org/packages/16/5d/95c568574e630e141a69ff8a254c2f188b4398e813c40d49228c9bbd9875/regex-2024.11.6-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:202eb32e89f60fc147a41e55cb086db2a3f8cb82f9a9a88440dcfc5d37faae8d", size = 784700, upload-time = "2024-11-06T20:09:53.982Z" }, - { url = "https://files.pythonhosted.org/packages/8e/b5/f8495c7917f15cc6fee1e7f395e324ec3e00ab3c665a7dc9d27562fd5290/regex-2024.11.6-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:4181b814e56078e9b00427ca358ec44333765f5ca1b45597ec7446d3a1ef6e34", size = 848592, upload-time = "2024-11-06T20:09:56.222Z" }, - { url = "https://files.pythonhosted.org/packages/1c/80/6dd7118e8cb212c3c60b191b932dc57db93fb2e36fb9e0e92f72a5909af9/regex-2024.11.6-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:068376da5a7e4da51968ce4c122a7cd31afaaec4fccc7856c92f63876e57b51d", size = 852929, upload-time = "2024-11-06T20:09:58.642Z" }, - { url = "https://files.pythonhosted.org/packages/11/9b/5a05d2040297d2d254baf95eeeb6df83554e5e1df03bc1a6687fc4ba1f66/regex-2024.11.6-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ac10f2c4184420d881a3475fb2c6f4d95d53a8d50209a2500723d831036f7c45", size = 781213, upload-time = "2024-11-06T20:10:00.867Z" }, - { url = "https://files.pythonhosted.org/packages/26/b7/b14e2440156ab39e0177506c08c18accaf2b8932e39fb092074de733d868/regex-2024.11.6-cp311-cp311-win32.whl", hash = "sha256:c36f9b6f5f8649bb251a5f3f66564438977b7ef8386a52460ae77e6070d309d9", size = 261734, upload-time = "2024-11-06T20:10:03.361Z" }, - { url = "https://files.pythonhosted.org/packages/80/32/763a6cc01d21fb3819227a1cc3f60fd251c13c37c27a73b8ff4315433a8e/regex-2024.11.6-cp311-cp311-win_amd64.whl", hash = "sha256:02e28184be537f0e75c1f9b2f8847dc51e08e6e171c6bde130b2687e0c33cf60", size = 274052, upload-time = "2024-11-06T20:10:05.179Z" }, - { url = "https://files.pythonhosted.org/packages/ba/30/9a87ce8336b172cc232a0db89a3af97929d06c11ceaa19d97d84fa90a8f8/regex-2024.11.6-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:52fb28f528778f184f870b7cf8f225f5eef0a8f6e3778529bdd40c7b3920796a", size = 483781, upload-time = "2024-11-06T20:10:07.07Z" }, - { url = "https://files.pythonhosted.org/packages/01/e8/00008ad4ff4be8b1844786ba6636035f7ef926db5686e4c0f98093612add/regex-2024.11.6-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:fdd6028445d2460f33136c55eeb1f601ab06d74cb3347132e1c24250187500d9", size = 288455, upload-time = "2024-11-06T20:10:09.117Z" }, - { url = "https://files.pythonhosted.org/packages/60/85/cebcc0aff603ea0a201667b203f13ba75d9fc8668fab917ac5b2de3967bc/regex-2024.11.6-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:805e6b60c54bf766b251e94526ebad60b7de0c70f70a4e6210ee2891acb70bf2", size = 284759, upload-time = "2024-11-06T20:10:11.155Z" }, - { url = "https://files.pythonhosted.org/packages/94/2b/701a4b0585cb05472a4da28ee28fdfe155f3638f5e1ec92306d924e5faf0/regex-2024.11.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b85c2530be953a890eaffde05485238f07029600e8f098cdf1848d414a8b45e4", size = 794976, upload-time = "2024-11-06T20:10:13.24Z" }, - { url = "https://files.pythonhosted.org/packages/4b/bf/fa87e563bf5fee75db8915f7352e1887b1249126a1be4813837f5dbec965/regex-2024.11.6-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bb26437975da7dc36b7efad18aa9dd4ea569d2357ae6b783bf1118dabd9ea577", size = 833077, upload-time = "2024-11-06T20:10:15.37Z" }, - { url = "https://files.pythonhosted.org/packages/a1/56/7295e6bad94b047f4d0834e4779491b81216583c00c288252ef625c01d23/regex-2024.11.6-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:abfa5080c374a76a251ba60683242bc17eeb2c9818d0d30117b4486be10c59d3", size = 823160, upload-time = "2024-11-06T20:10:19.027Z" }, - { url = "https://files.pythonhosted.org/packages/fb/13/e3b075031a738c9598c51cfbc4c7879e26729c53aa9cca59211c44235314/regex-2024.11.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b7fa6606c2881c1db9479b0eaa11ed5dfa11c8d60a474ff0e095099f39d98e", size = 796896, upload-time = "2024-11-06T20:10:21.85Z" }, - { url = "https://files.pythonhosted.org/packages/24/56/0b3f1b66d592be6efec23a795b37732682520b47c53da5a32c33ed7d84e3/regex-2024.11.6-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0c32f75920cf99fe6b6c539c399a4a128452eaf1af27f39bce8909c9a3fd8cbe", size = 783997, upload-time = "2024-11-06T20:10:24.329Z" }, - { url = "https://files.pythonhosted.org/packages/f9/a1/eb378dada8b91c0e4c5f08ffb56f25fcae47bf52ad18f9b2f33b83e6d498/regex-2024.11.6-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:982e6d21414e78e1f51cf595d7f321dcd14de1f2881c5dc6a6e23bbbbd68435e", size = 781725, upload-time = "2024-11-06T20:10:28.067Z" }, - { url = "https://files.pythonhosted.org/packages/83/f2/033e7dec0cfd6dda93390089864732a3409246ffe8b042e9554afa9bff4e/regex-2024.11.6-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:a7c2155f790e2fb448faed6dd241386719802296ec588a8b9051c1f5c481bc29", size = 789481, upload-time = "2024-11-06T20:10:31.612Z" }, - { url = "https://files.pythonhosted.org/packages/83/23/15d4552ea28990a74e7696780c438aadd73a20318c47e527b47a4a5a596d/regex-2024.11.6-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:149f5008d286636e48cd0b1dd65018548944e495b0265b45e1bffecce1ef7f39", size = 852896, upload-time = "2024-11-06T20:10:34.054Z" }, - { url = "https://files.pythonhosted.org/packages/e3/39/ed4416bc90deedbfdada2568b2cb0bc1fdb98efe11f5378d9892b2a88f8f/regex-2024.11.6-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:e5364a4502efca094731680e80009632ad6624084aff9a23ce8c8c6820de3e51", size = 860138, upload-time = "2024-11-06T20:10:36.142Z" }, - { url = "https://files.pythonhosted.org/packages/93/2d/dd56bb76bd8e95bbce684326302f287455b56242a4f9c61f1bc76e28360e/regex-2024.11.6-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:0a86e7eeca091c09e021db8eb72d54751e527fa47b8d5787caf96d9831bd02ad", size = 787692, upload-time = "2024-11-06T20:10:38.394Z" }, - { url = "https://files.pythonhosted.org/packages/0b/55/31877a249ab7a5156758246b9c59539abbeba22461b7d8adc9e8475ff73e/regex-2024.11.6-cp312-cp312-win32.whl", hash = "sha256:32f9a4c643baad4efa81d549c2aadefaeba12249b2adc5af541759237eee1c54", size = 262135, upload-time = "2024-11-06T20:10:40.367Z" }, - { url = "https://files.pythonhosted.org/packages/38/ec/ad2d7de49a600cdb8dd78434a1aeffe28b9d6fc42eb36afab4a27ad23384/regex-2024.11.6-cp312-cp312-win_amd64.whl", hash = "sha256:a93c194e2df18f7d264092dc8539b8ffb86b45b899ab976aa15d48214138e81b", size = 273567, upload-time = "2024-11-06T20:10:43.467Z" }, - { url = "https://files.pythonhosted.org/packages/90/73/bcb0e36614601016552fa9344544a3a2ae1809dc1401b100eab02e772e1f/regex-2024.11.6-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:a6ba92c0bcdf96cbf43a12c717eae4bc98325ca3730f6b130ffa2e3c3c723d84", size = 483525, upload-time = "2024-11-06T20:10:45.19Z" }, - { url = "https://files.pythonhosted.org/packages/0f/3f/f1a082a46b31e25291d830b369b6b0c5576a6f7fb89d3053a354c24b8a83/regex-2024.11.6-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:525eab0b789891ac3be914d36893bdf972d483fe66551f79d3e27146191a37d4", size = 288324, upload-time = "2024-11-06T20:10:47.177Z" }, - { url = "https://files.pythonhosted.org/packages/09/c9/4e68181a4a652fb3ef5099e077faf4fd2a694ea6e0f806a7737aff9e758a/regex-2024.11.6-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:086a27a0b4ca227941700e0b31425e7a28ef1ae8e5e05a33826e17e47fbfdba0", size = 284617, upload-time = "2024-11-06T20:10:49.312Z" }, - { url = "https://files.pythonhosted.org/packages/fc/fd/37868b75eaf63843165f1d2122ca6cb94bfc0271e4428cf58c0616786dce/regex-2024.11.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bde01f35767c4a7899b7eb6e823b125a64de314a8ee9791367c9a34d56af18d0", size = 795023, upload-time = "2024-11-06T20:10:51.102Z" }, - { url = "https://files.pythonhosted.org/packages/c4/7c/d4cd9c528502a3dedb5c13c146e7a7a539a3853dc20209c8e75d9ba9d1b2/regex-2024.11.6-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b583904576650166b3d920d2bcce13971f6f9e9a396c673187f49811b2769dc7", size = 833072, upload-time = "2024-11-06T20:10:52.926Z" }, - { url = "https://files.pythonhosted.org/packages/4f/db/46f563a08f969159c5a0f0e722260568425363bea43bb7ae370becb66a67/regex-2024.11.6-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1c4de13f06a0d54fa0d5ab1b7138bfa0d883220965a29616e3ea61b35d5f5fc7", size = 823130, upload-time = "2024-11-06T20:10:54.828Z" }, - { url = "https://files.pythonhosted.org/packages/db/60/1eeca2074f5b87df394fccaa432ae3fc06c9c9bfa97c5051aed70e6e00c2/regex-2024.11.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3cde6e9f2580eb1665965ce9bf17ff4952f34f5b126beb509fee8f4e994f143c", size = 796857, upload-time = "2024-11-06T20:10:56.634Z" }, - { url = "https://files.pythonhosted.org/packages/10/db/ac718a08fcee981554d2f7bb8402f1faa7e868c1345c16ab1ebec54b0d7b/regex-2024.11.6-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0d7f453dca13f40a02b79636a339c5b62b670141e63efd511d3f8f73fba162b3", size = 784006, upload-time = "2024-11-06T20:10:59.369Z" }, - { url = "https://files.pythonhosted.org/packages/c2/41/7da3fe70216cea93144bf12da2b87367590bcf07db97604edeea55dac9ad/regex-2024.11.6-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:59dfe1ed21aea057a65c6b586afd2a945de04fc7db3de0a6e3ed5397ad491b07", size = 781650, upload-time = "2024-11-06T20:11:02.042Z" }, - { url = "https://files.pythonhosted.org/packages/a7/d5/880921ee4eec393a4752e6ab9f0fe28009435417c3102fc413f3fe81c4e5/regex-2024.11.6-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:b97c1e0bd37c5cd7902e65f410779d39eeda155800b65fc4d04cc432efa9bc6e", size = 789545, upload-time = "2024-11-06T20:11:03.933Z" }, - { url = "https://files.pythonhosted.org/packages/dc/96/53770115e507081122beca8899ab7f5ae28ae790bfcc82b5e38976df6a77/regex-2024.11.6-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:f9d1e379028e0fc2ae3654bac3cbbef81bf3fd571272a42d56c24007979bafb6", size = 853045, upload-time = "2024-11-06T20:11:06.497Z" }, - { url = "https://files.pythonhosted.org/packages/31/d3/1372add5251cc2d44b451bd94f43b2ec78e15a6e82bff6a290ef9fd8f00a/regex-2024.11.6-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:13291b39131e2d002a7940fb176e120bec5145f3aeb7621be6534e46251912c4", size = 860182, upload-time = "2024-11-06T20:11:09.06Z" }, - { url = "https://files.pythonhosted.org/packages/ed/e3/c446a64984ea9f69982ba1a69d4658d5014bc7a0ea468a07e1a1265db6e2/regex-2024.11.6-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4f51f88c126370dcec4908576c5a627220da6c09d0bff31cfa89f2523843316d", size = 787733, upload-time = "2024-11-06T20:11:11.256Z" }, - { url = "https://files.pythonhosted.org/packages/2b/f1/e40c8373e3480e4f29f2692bd21b3e05f296d3afebc7e5dcf21b9756ca1c/regex-2024.11.6-cp313-cp313-win32.whl", hash = "sha256:63b13cfd72e9601125027202cad74995ab26921d8cd935c25f09c630436348ff", size = 262122, upload-time = "2024-11-06T20:11:13.161Z" }, - { url = "https://files.pythonhosted.org/packages/45/94/bc295babb3062a731f52621cdc992d123111282e291abaf23faa413443ea/regex-2024.11.6-cp313-cp313-win_amd64.whl", hash = "sha256:2b3361af3198667e99927da8b84c1b010752fa4b1115ee30beaa332cabc3ef1a", size = 273545, upload-time = "2024-11-06T20:11:15Z" }, + { url = "https://files.pythonhosted.org/packages/50/d2/0a44a9d92370e5e105f16669acf801b215107efea9dea4317fe96e9aad67/regex-2025.7.34-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d856164d25e2b3b07b779bfed813eb4b6b6ce73c2fd818d46f47c1eb5cd79bd6", size = 484591, upload-time = "2025-07-31T00:18:46.675Z" }, + { url = "https://files.pythonhosted.org/packages/2e/b1/00c4f83aa902f1048495de9f2f33638ce970ce1cf9447b477d272a0e22bb/regex-2025.7.34-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:2d15a9da5fad793e35fb7be74eec450d968e05d2e294f3e0e77ab03fa7234a83", size = 289293, upload-time = "2025-07-31T00:18:53.069Z" }, + { url = "https://files.pythonhosted.org/packages/f3/b0/5bc5c8ddc418e8be5530b43ae1f7c9303f43aeff5f40185c4287cf6732f2/regex-2025.7.34-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:95b4639c77d414efa93c8de14ce3f7965a94d007e068a94f9d4997bb9bd9c81f", size = 285932, upload-time = "2025-07-31T00:18:54.673Z" }, + { url = "https://files.pythonhosted.org/packages/46/c7/a1a28d050b23665a5e1eeb4d7f13b83ea86f0bc018da7b8f89f86ff7f094/regex-2025.7.34-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5d7de1ceed5a5f84f342ba4a9f4ae589524adf9744b2ee61b5da884b5b659834", size = 780361, upload-time = "2025-07-31T00:18:56.13Z" }, + { url = "https://files.pythonhosted.org/packages/cb/0d/82e7afe7b2c9fe3d488a6ab6145d1d97e55f822dfb9b4569aba2497e3d09/regex-2025.7.34-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:02e5860a250cd350c4933cf376c3bc9cb28948e2c96a8bc042aee7b985cfa26f", size = 849176, upload-time = "2025-07-31T00:18:57.483Z" }, + { url = "https://files.pythonhosted.org/packages/bf/16/3036e16903d8194f1490af457a7e33b06d9e9edd9576b1fe6c7ac660e9ed/regex-2025.7.34-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:0a5966220b9a1a88691282b7e4350e9599cf65780ca60d914a798cb791aa1177", size = 897222, upload-time = "2025-07-31T00:18:58.721Z" }, + { url = "https://files.pythonhosted.org/packages/5a/c2/010e089ae00d31418e7d2c6601760eea1957cde12be719730c7133b8c165/regex-2025.7.34-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:48fb045bbd4aab2418dc1ba2088a5e32de4bfe64e1457b948bb328a8dc2f1c2e", size = 789831, upload-time = "2025-07-31T00:19:00.436Z" }, + { url = "https://files.pythonhosted.org/packages/dd/86/b312b7bf5c46d21dbd9a3fdc4a80fde56ea93c9c0b89cf401879635e094d/regex-2025.7.34-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:20ff8433fa45e131f7316594efe24d4679c5449c0ca69d91c2f9d21846fdf064", size = 780665, upload-time = "2025-07-31T00:19:01.828Z" }, + { url = "https://files.pythonhosted.org/packages/40/e5/674b82bfff112c820b09e3c86a423d4a568143ede7f8440fdcbce259e895/regex-2025.7.34-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:c436fd1e95c04c19039668cfb548450a37c13f051e8659f40aed426e36b3765f", size = 773511, upload-time = "2025-07-31T00:19:03.654Z" }, + { url = "https://files.pythonhosted.org/packages/2d/18/39e7c578eb6cf1454db2b64e4733d7e4f179714867a75d84492ec44fa9b2/regex-2025.7.34-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:0b85241d3cfb9f8a13cefdfbd58a2843f208f2ed2c88181bf84e22e0c7fc066d", size = 843990, upload-time = "2025-07-31T00:19:05.61Z" }, + { url = "https://files.pythonhosted.org/packages/b6/d9/522a6715aefe2f463dc60c68924abeeb8ab6893f01adf5720359d94ede8c/regex-2025.7.34-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:075641c94126b064c65ab86e7e71fc3d63e7ff1bea1fb794f0773c97cdad3a03", size = 834676, upload-time = "2025-07-31T00:19:07.023Z" }, + { url = "https://files.pythonhosted.org/packages/59/53/c4d5284cb40543566542e24f1badc9f72af68d01db21e89e36e02292eee0/regex-2025.7.34-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:70645cad3407d103d1dbcb4841839d2946f7d36cf38acbd40120fee1682151e5", size = 778420, upload-time = "2025-07-31T00:19:08.511Z" }, + { url = "https://files.pythonhosted.org/packages/ea/4a/b779a7707d4a44a7e6ee9d0d98e40b2a4de74d622966080e9c95e25e2d24/regex-2025.7.34-cp310-cp310-win32.whl", hash = "sha256:3b836eb4a95526b263c2a3359308600bd95ce7848ebd3c29af0c37c4f9627cd3", size = 263999, upload-time = "2025-07-31T00:19:10.072Z" }, + { url = "https://files.pythonhosted.org/packages/ef/6e/33c7583f5427aa039c28bff7f4103c2de5b6aa5b9edc330c61ec576b1960/regex-2025.7.34-cp310-cp310-win_amd64.whl", hash = "sha256:cbfaa401d77334613cf434f723c7e8ba585df162be76474bccc53ae4e5520b3a", size = 276023, upload-time = "2025-07-31T00:19:11.34Z" }, + { url = "https://files.pythonhosted.org/packages/9f/fc/00b32e0ac14213d76d806d952826402b49fd06d42bfabacdf5d5d016bc47/regex-2025.7.34-cp310-cp310-win_arm64.whl", hash = "sha256:bca11d3c38a47c621769433c47f364b44e8043e0de8e482c5968b20ab90a3986", size = 268357, upload-time = "2025-07-31T00:19:12.729Z" }, + { url = "https://files.pythonhosted.org/packages/0d/85/f497b91577169472f7c1dc262a5ecc65e39e146fc3a52c571e5daaae4b7d/regex-2025.7.34-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:da304313761b8500b8e175eb2040c4394a875837d5635f6256d6fa0377ad32c8", size = 484594, upload-time = "2025-07-31T00:19:13.927Z" }, + { url = "https://files.pythonhosted.org/packages/1c/c5/ad2a5c11ce9e6257fcbfd6cd965d07502f6054aaa19d50a3d7fd991ec5d1/regex-2025.7.34-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:35e43ebf5b18cd751ea81455b19acfdec402e82fe0dc6143edfae4c5c4b3909a", size = 289294, upload-time = "2025-07-31T00:19:15.395Z" }, + { url = "https://files.pythonhosted.org/packages/8e/01/83ffd9641fcf5e018f9b51aa922c3e538ac9439424fda3df540b643ecf4f/regex-2025.7.34-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:96bbae4c616726f4661fe7bcad5952e10d25d3c51ddc388189d8864fbc1b3c68", size = 285933, upload-time = "2025-07-31T00:19:16.704Z" }, + { url = "https://files.pythonhosted.org/packages/77/20/5edab2e5766f0259bc1da7381b07ce6eb4401b17b2254d02f492cd8a81a8/regex-2025.7.34-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9feab78a1ffa4f2b1e27b1bcdaad36f48c2fed4870264ce32f52a393db093c78", size = 792335, upload-time = "2025-07-31T00:19:18.561Z" }, + { url = "https://files.pythonhosted.org/packages/30/bd/744d3ed8777dce8487b2606b94925e207e7c5931d5870f47f5b643a4580a/regex-2025.7.34-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f14b36e6d4d07f1a5060f28ef3b3561c5d95eb0651741474ce4c0a4c56ba8719", size = 858605, upload-time = "2025-07-31T00:19:20.204Z" }, + { url = "https://files.pythonhosted.org/packages/99/3d/93754176289718d7578c31d151047e7b8acc7a8c20e7706716f23c49e45e/regex-2025.7.34-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:85c3a958ef8b3d5079c763477e1f09e89d13ad22198a37e9d7b26b4b17438b33", size = 905780, upload-time = "2025-07-31T00:19:21.876Z" }, + { url = "https://files.pythonhosted.org/packages/ee/2e/c689f274a92deffa03999a430505ff2aeace408fd681a90eafa92fdd6930/regex-2025.7.34-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:37555e4ae0b93358fa7c2d240a4291d4a4227cc7c607d8f85596cdb08ec0a083", size = 798868, upload-time = "2025-07-31T00:19:23.222Z" }, + { url = "https://files.pythonhosted.org/packages/0d/9e/39673688805d139b33b4a24851a71b9978d61915c4d72b5ffda324d0668a/regex-2025.7.34-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:ee38926f31f1aa61b0232a3a11b83461f7807661c062df9eb88769d86e6195c3", size = 781784, upload-time = "2025-07-31T00:19:24.59Z" }, + { url = "https://files.pythonhosted.org/packages/18/bd/4c1cab12cfabe14beaa076523056b8ab0c882a8feaf0a6f48b0a75dab9ed/regex-2025.7.34-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:a664291c31cae9c4a30589bd8bc2ebb56ef880c9c6264cb7643633831e606a4d", size = 852837, upload-time = "2025-07-31T00:19:25.911Z" }, + { url = "https://files.pythonhosted.org/packages/cb/21/663d983cbb3bba537fc213a579abbd0f263fb28271c514123f3c547ab917/regex-2025.7.34-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:f3e5c1e0925e77ec46ddc736b756a6da50d4df4ee3f69536ffb2373460e2dafd", size = 844240, upload-time = "2025-07-31T00:19:27.688Z" }, + { url = "https://files.pythonhosted.org/packages/8e/2d/9beeeb913bc5d32faa913cf8c47e968da936af61ec20af5d269d0f84a100/regex-2025.7.34-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:d428fc7731dcbb4e2ffe43aeb8f90775ad155e7db4347a639768bc6cd2df881a", size = 787139, upload-time = "2025-07-31T00:19:29.475Z" }, + { url = "https://files.pythonhosted.org/packages/eb/f5/9b9384415fdc533551be2ba805dd8c4621873e5df69c958f403bfd3b2b6e/regex-2025.7.34-cp311-cp311-win32.whl", hash = "sha256:e154a7ee7fa18333ad90b20e16ef84daaeac61877c8ef942ec8dfa50dc38b7a1", size = 264019, upload-time = "2025-07-31T00:19:31.129Z" }, + { url = "https://files.pythonhosted.org/packages/18/9d/e069ed94debcf4cc9626d652a48040b079ce34c7e4fb174f16874958d485/regex-2025.7.34-cp311-cp311-win_amd64.whl", hash = "sha256:24257953d5c1d6d3c129ab03414c07fc1a47833c9165d49b954190b2b7f21a1a", size = 276047, upload-time = "2025-07-31T00:19:32.497Z" }, + { url = "https://files.pythonhosted.org/packages/fd/cf/3bafbe9d1fd1db77355e7fbbbf0d0cfb34501a8b8e334deca14f94c7b315/regex-2025.7.34-cp311-cp311-win_arm64.whl", hash = "sha256:3157aa512b9e606586900888cd469a444f9b898ecb7f8931996cb715f77477f0", size = 268362, upload-time = "2025-07-31T00:19:34.094Z" }, + { url = "https://files.pythonhosted.org/packages/ff/f0/31d62596c75a33f979317658e8d261574785c6cd8672c06741ce2e2e2070/regex-2025.7.34-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:7f7211a746aced993bef487de69307a38c5ddd79257d7be83f7b202cb59ddb50", size = 485492, upload-time = "2025-07-31T00:19:35.57Z" }, + { url = "https://files.pythonhosted.org/packages/d8/16/b818d223f1c9758c3434be89aa1a01aae798e0e0df36c1f143d1963dd1ee/regex-2025.7.34-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:fb31080f2bd0681484b275461b202b5ad182f52c9ec606052020fe13eb13a72f", size = 290000, upload-time = "2025-07-31T00:19:37.175Z" }, + { url = "https://files.pythonhosted.org/packages/cd/70/69506d53397b4bd6954061bae75677ad34deb7f6ca3ba199660d6f728ff5/regex-2025.7.34-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0200a5150c4cf61e407038f4b4d5cdad13e86345dac29ff9dab3d75d905cf130", size = 286072, upload-time = "2025-07-31T00:19:38.612Z" }, + { url = "https://files.pythonhosted.org/packages/b0/73/536a216d5f66084fb577bb0543b5cb7de3272eb70a157f0c3a542f1c2551/regex-2025.7.34-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:739a74970e736df0773788377969c9fea3876c2fc13d0563f98e5503e5185f46", size = 797341, upload-time = "2025-07-31T00:19:40.119Z" }, + { url = "https://files.pythonhosted.org/packages/26/af/733f8168449e56e8f404bb807ea7189f59507cbea1b67a7bbcd92f8bf844/regex-2025.7.34-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:4fef81b2f7ea6a2029161ed6dea9ae13834c28eb5a95b8771828194a026621e4", size = 862556, upload-time = "2025-07-31T00:19:41.556Z" }, + { url = "https://files.pythonhosted.org/packages/19/dd/59c464d58c06c4f7d87de4ab1f590e430821345a40c5d345d449a636d15f/regex-2025.7.34-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:ea74cf81fe61a7e9d77989050d0089a927ab758c29dac4e8e1b6c06fccf3ebf0", size = 910762, upload-time = "2025-07-31T00:19:43Z" }, + { url = "https://files.pythonhosted.org/packages/37/a8/b05ccf33ceca0815a1e253693b2c86544932ebcc0049c16b0fbdf18b688b/regex-2025.7.34-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e4636a7f3b65a5f340ed9ddf53585c42e3ff37101d383ed321bfe5660481744b", size = 801892, upload-time = "2025-07-31T00:19:44.645Z" }, + { url = "https://files.pythonhosted.org/packages/5f/9a/b993cb2e634cc22810afd1652dba0cae156c40d4864285ff486c73cd1996/regex-2025.7.34-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6cef962d7834437fe8d3da6f9bfc6f93f20f218266dcefec0560ed7765f5fe01", size = 786551, upload-time = "2025-07-31T00:19:46.127Z" }, + { url = "https://files.pythonhosted.org/packages/2d/79/7849d67910a0de4e26834b5bb816e028e35473f3d7ae563552ea04f58ca2/regex-2025.7.34-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:cbe1698e5b80298dbce8df4d8d1182279fbdaf1044e864cbc9d53c20e4a2be77", size = 856457, upload-time = "2025-07-31T00:19:47.562Z" }, + { url = "https://files.pythonhosted.org/packages/91/c6/de516bc082524b27e45cb4f54e28bd800c01efb26d15646a65b87b13a91e/regex-2025.7.34-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:32b9f9bcf0f605eb094b08e8da72e44badabb63dde6b83bd530580b488d1c6da", size = 848902, upload-time = "2025-07-31T00:19:49.312Z" }, + { url = "https://files.pythonhosted.org/packages/7d/22/519ff8ba15f732db099b126f039586bd372da6cd4efb810d5d66a5daeda1/regex-2025.7.34-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:524c868ba527eab4e8744a9287809579f54ae8c62fbf07d62aacd89f6026b282", size = 788038, upload-time = "2025-07-31T00:19:50.794Z" }, + { url = "https://files.pythonhosted.org/packages/3f/7d/aabb467d8f57d8149895d133c88eb809a1a6a0fe262c1d508eb9dfabb6f9/regex-2025.7.34-cp312-cp312-win32.whl", hash = "sha256:d600e58ee6d036081c89696d2bdd55d507498a7180df2e19945c6642fac59588", size = 264417, upload-time = "2025-07-31T00:19:52.292Z" }, + { url = "https://files.pythonhosted.org/packages/3b/39/bd922b55a4fc5ad5c13753274e5b536f5b06ec8eb9747675668491c7ab7a/regex-2025.7.34-cp312-cp312-win_amd64.whl", hash = "sha256:9a9ab52a466a9b4b91564437b36417b76033e8778e5af8f36be835d8cb370d62", size = 275387, upload-time = "2025-07-31T00:19:53.593Z" }, + { url = "https://files.pythonhosted.org/packages/f7/3c/c61d2fdcecb754a40475a3d1ef9a000911d3e3fc75c096acf44b0dfb786a/regex-2025.7.34-cp312-cp312-win_arm64.whl", hash = "sha256:c83aec91af9c6fbf7c743274fd952272403ad9a9db05fe9bfc9df8d12b45f176", size = 268482, upload-time = "2025-07-31T00:19:55.183Z" }, + { url = "https://files.pythonhosted.org/packages/15/16/b709b2119975035169a25aa8e4940ca177b1a2e25e14f8d996d09130368e/regex-2025.7.34-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:c3c9740a77aeef3f5e3aaab92403946a8d34437db930a0280e7e81ddcada61f5", size = 485334, upload-time = "2025-07-31T00:19:56.58Z" }, + { url = "https://files.pythonhosted.org/packages/94/a6/c09136046be0595f0331bc58a0e5f89c2d324cf734e0b0ec53cf4b12a636/regex-2025.7.34-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:69ed3bc611540f2ea70a4080f853741ec698be556b1df404599f8724690edbcd", size = 289942, upload-time = "2025-07-31T00:19:57.943Z" }, + { url = "https://files.pythonhosted.org/packages/36/91/08fc0fd0f40bdfb0e0df4134ee37cfb16e66a1044ac56d36911fd01c69d2/regex-2025.7.34-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:d03c6f9dcd562c56527c42b8530aad93193e0b3254a588be1f2ed378cdfdea1b", size = 285991, upload-time = "2025-07-31T00:19:59.837Z" }, + { url = "https://files.pythonhosted.org/packages/be/2f/99dc8f6f756606f0c214d14c7b6c17270b6bbe26d5c1f05cde9dbb1c551f/regex-2025.7.34-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6164b1d99dee1dfad33f301f174d8139d4368a9fb50bf0a3603b2eaf579963ad", size = 797415, upload-time = "2025-07-31T00:20:01.668Z" }, + { url = "https://files.pythonhosted.org/packages/62/cf/2fcdca1110495458ba4e95c52ce73b361cf1cafd8a53b5c31542cde9a15b/regex-2025.7.34-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:1e4f4f62599b8142362f164ce776f19d79bdd21273e86920a7b604a4275b4f59", size = 862487, upload-time = "2025-07-31T00:20:03.142Z" }, + { url = "https://files.pythonhosted.org/packages/90/38/899105dd27fed394e3fae45607c1983e138273ec167e47882fc401f112b9/regex-2025.7.34-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:72a26dcc6a59c057b292f39d41465d8233a10fd69121fa24f8f43ec6294e5415", size = 910717, upload-time = "2025-07-31T00:20:04.727Z" }, + { url = "https://files.pythonhosted.org/packages/ee/f6/4716198dbd0bcc9c45625ac4c81a435d1c4d8ad662e8576dac06bab35b17/regex-2025.7.34-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d5273fddf7a3e602695c92716c420c377599ed3c853ea669c1fe26218867002f", size = 801943, upload-time = "2025-07-31T00:20:07.1Z" }, + { url = "https://files.pythonhosted.org/packages/40/5d/cff8896d27e4e3dd11dd72ac78797c7987eb50fe4debc2c0f2f1682eb06d/regex-2025.7.34-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c1844be23cd40135b3a5a4dd298e1e0c0cb36757364dd6cdc6025770363e06c1", size = 786664, upload-time = "2025-07-31T00:20:08.818Z" }, + { url = "https://files.pythonhosted.org/packages/10/29/758bf83cf7b4c34f07ac3423ea03cee3eb3176941641e4ccc05620f6c0b8/regex-2025.7.34-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:dde35e2afbbe2272f8abee3b9fe6772d9b5a07d82607b5788e8508974059925c", size = 856457, upload-time = "2025-07-31T00:20:10.328Z" }, + { url = "https://files.pythonhosted.org/packages/d7/30/c19d212b619963c5b460bfed0ea69a092c6a43cba52a973d46c27b3e2975/regex-2025.7.34-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:f3f6e8e7af516a7549412ce57613e859c3be27d55341a894aacaa11703a4c31a", size = 849008, upload-time = "2025-07-31T00:20:11.823Z" }, + { url = "https://files.pythonhosted.org/packages/9e/b8/3c35da3b12c87e3cc00010ef6c3a4ae787cff0bc381aa3d251def219969a/regex-2025.7.34-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:469142fb94a869beb25b5f18ea87646d21def10fbacb0bcb749224f3509476f0", size = 788101, upload-time = "2025-07-31T00:20:13.729Z" }, + { url = "https://files.pythonhosted.org/packages/47/80/2f46677c0b3c2b723b2c358d19f9346e714113865da0f5f736ca1a883bde/regex-2025.7.34-cp313-cp313-win32.whl", hash = "sha256:da7507d083ee33ccea1310447410c27ca11fb9ef18c95899ca57ff60a7e4d8f1", size = 264401, upload-time = "2025-07-31T00:20:15.233Z" }, + { url = "https://files.pythonhosted.org/packages/be/fa/917d64dd074682606a003cba33585c28138c77d848ef72fc77cbb1183849/regex-2025.7.34-cp313-cp313-win_amd64.whl", hash = "sha256:9d644de5520441e5f7e2db63aec2748948cc39ed4d7a87fd5db578ea4043d997", size = 275368, upload-time = "2025-07-31T00:20:16.711Z" }, + { url = "https://files.pythonhosted.org/packages/65/cd/f94383666704170a2154a5df7b16be28f0c27a266bffcd843e58bc84120f/regex-2025.7.34-cp313-cp313-win_arm64.whl", hash = "sha256:7bf1c5503a9f2cbd2f52d7e260acb3131b07b6273c470abb78568174fe6bde3f", size = 268482, upload-time = "2025-07-31T00:20:18.189Z" }, + { url = "https://files.pythonhosted.org/packages/ac/23/6376f3a23cf2f3c00514b1cdd8c990afb4dfbac3cb4a68b633c6b7e2e307/regex-2025.7.34-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:8283afe7042d8270cecf27cca558873168e771183d4d593e3c5fe5f12402212a", size = 485385, upload-time = "2025-07-31T00:20:19.692Z" }, + { url = "https://files.pythonhosted.org/packages/73/5b/6d4d3a0b4d312adbfd6d5694c8dddcf1396708976dd87e4d00af439d962b/regex-2025.7.34-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:6c053f9647e3421dd2f5dff8172eb7b4eec129df9d1d2f7133a4386319b47435", size = 289788, upload-time = "2025-07-31T00:20:21.941Z" }, + { url = "https://files.pythonhosted.org/packages/92/71/5862ac9913746e5054d01cb9fb8125b3d0802c0706ef547cae1e7f4428fa/regex-2025.7.34-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:a16dd56bbcb7d10e62861c3cd000290ddff28ea142ffb5eb3470f183628011ac", size = 286136, upload-time = "2025-07-31T00:20:26.146Z" }, + { url = "https://files.pythonhosted.org/packages/27/df/5b505dc447eb71278eba10d5ec940769ca89c1af70f0468bfbcb98035dc2/regex-2025.7.34-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:69c593ff5a24c0d5c1112b0df9b09eae42b33c014bdca7022d6523b210b69f72", size = 797753, upload-time = "2025-07-31T00:20:27.919Z" }, + { url = "https://files.pythonhosted.org/packages/86/38/3e3dc953d13998fa047e9a2414b556201dbd7147034fbac129392363253b/regex-2025.7.34-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:98d0ce170fcde1a03b5df19c5650db22ab58af375aaa6ff07978a85c9f250f0e", size = 863263, upload-time = "2025-07-31T00:20:29.803Z" }, + { url = "https://files.pythonhosted.org/packages/68/e5/3ff66b29dde12f5b874dda2d9dec7245c2051f2528d8c2a797901497f140/regex-2025.7.34-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d72765a4bff8c43711d5b0f5b452991a9947853dfa471972169b3cc0ba1d0751", size = 910103, upload-time = "2025-07-31T00:20:31.313Z" }, + { url = "https://files.pythonhosted.org/packages/9e/fe/14176f2182125977fba3711adea73f472a11f3f9288c1317c59cd16ad5e6/regex-2025.7.34-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4494f8fd95a77eb434039ad8460e64d57baa0434f1395b7da44015bef650d0e4", size = 801709, upload-time = "2025-07-31T00:20:33.323Z" }, + { url = "https://files.pythonhosted.org/packages/5a/0d/80d4e66ed24f1ba876a9e8e31b709f9fd22d5c266bf5f3ab3c1afe683d7d/regex-2025.7.34-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:4f42b522259c66e918a0121a12429b2abcf696c6f967fa37bdc7b72e61469f98", size = 786726, upload-time = "2025-07-31T00:20:35.252Z" }, + { url = "https://files.pythonhosted.org/packages/12/75/c3ebb30e04a56c046f5c85179dc173818551037daae2c0c940c7b19152cb/regex-2025.7.34-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:aaef1f056d96a0a5d53ad47d019d5b4c66fe4be2da87016e0d43b7242599ffc7", size = 857306, upload-time = "2025-07-31T00:20:37.12Z" }, + { url = "https://files.pythonhosted.org/packages/b1/b2/a4dc5d8b14f90924f27f0ac4c4c4f5e195b723be98adecc884f6716614b6/regex-2025.7.34-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:656433e5b7dccc9bc0da6312da8eb897b81f5e560321ec413500e5367fcd5d47", size = 848494, upload-time = "2025-07-31T00:20:38.818Z" }, + { url = "https://files.pythonhosted.org/packages/0d/21/9ac6e07a4c5e8646a90b56b61f7e9dac11ae0747c857f91d3d2bc7c241d9/regex-2025.7.34-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:e91eb2c62c39705e17b4d42d4b86c4e86c884c0d15d9c5a47d0835f8387add8e", size = 787850, upload-time = "2025-07-31T00:20:40.478Z" }, + { url = "https://files.pythonhosted.org/packages/be/6c/d51204e28e7bc54f9a03bb799b04730d7e54ff2718862b8d4e09e7110a6a/regex-2025.7.34-cp314-cp314-win32.whl", hash = "sha256:f978ddfb6216028c8f1d6b0f7ef779949498b64117fc35a939022f67f810bdcb", size = 269730, upload-time = "2025-07-31T00:20:42.253Z" }, + { url = "https://files.pythonhosted.org/packages/74/52/a7e92d02fa1fdef59d113098cb9f02c5d03289a0e9f9e5d4d6acccd10677/regex-2025.7.34-cp314-cp314-win_amd64.whl", hash = "sha256:4b7dc33b9b48fb37ead12ffc7bdb846ac72f99a80373c4da48f64b373a7abeae", size = 278640, upload-time = "2025-07-31T00:20:44.42Z" }, + { url = "https://files.pythonhosted.org/packages/d1/78/a815529b559b1771080faa90c3ab401730661f99d495ab0071649f139ebd/regex-2025.7.34-cp314-cp314-win_arm64.whl", hash = "sha256:4b8c4d39f451e64809912c82392933d80fe2e4a87eeef8859fcc5380d0173c64", size = 271757, upload-time = "2025-07-31T00:20:46.355Z" }, ] [[package]] @@ -4248,18 +4501,29 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/bd/60/50fbb6ffb35f733654466f1a90d162bcbea358adc3b0871339254fbc37b2/requirements_parser-0.13.0-py3-none-any.whl", hash = "sha256:2b3173faecf19ec5501971b7222d38f04cb45bb9d87d0ad629ca71e2e62ded14", size = 14782, upload-time = "2025-05-21T13:42:04.007Z" }, ] +[[package]] +name = "rfc3339-validator" +version = "0.1.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "six" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/28/ea/a9387748e2d111c3c2b275ba970b735e04e15cdb1eb30693b6b5708c4dbd/rfc3339_validator-0.1.4.tar.gz", hash = "sha256:138a2abdf93304ad60530167e51d2dfb9549521a836871b88d7f4695d0022f6b", size = 5513, upload-time = "2021-05-12T16:37:54.178Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7b/44/4e421b96b67b2daff264473f7465db72fbdf36a07e05494f50300cc7b0c6/rfc3339_validator-0.1.4-py2.py3-none-any.whl", hash = "sha256:24f6ec1eda14ef823da9e36ec7113124b39c04d50a4d3d3a3c2859577e7791fa", size = 3490, upload-time = "2021-05-12T16:37:52.536Z" }, +] + [[package]] name = "rich" -version = "14.0.0" +version = "14.1.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "markdown-it-py" }, { name = "pygments" }, - { name = "typing-extensions", marker = "python_full_version < '3.11'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/a1/53/830aa4c3066a8ab0ae9a9955976fb770fe9c6102117c8ec4ab3ea62d89e8/rich-14.0.0.tar.gz", hash = "sha256:82f1bc23a6a21ebca4ae0c45af9bdbc492ed20231dcb63f297d6d1021a9d5725", size = 224078, upload-time = "2025-03-30T14:15:14.23Z" } +sdist = { url = "https://files.pythonhosted.org/packages/fe/75/af448d8e52bf1d8fa6a9d089ca6c07ff4453d86c65c145d0a300bb073b9b/rich-14.1.0.tar.gz", hash = "sha256:e497a48b844b0320d45007cdebfeaeed8db2a4f4bcf49f15e455cfc4af11eaa8", size = 224441, upload-time = "2025-07-25T07:32:58.125Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/0d/9b/63f4c7ebc259242c89b3acafdb37b41d1185c07ff0011164674e9076b491/rich-14.0.0-py3-none-any.whl", hash = "sha256:1c9491e1951aac09caffd42f448ee3d04e58923ffe14993f6e83068dc395d7e0", size = 243229, upload-time = "2025-03-30T14:15:12.283Z" }, + { url = "https://files.pythonhosted.org/packages/e3/30/3c4d035596d3cf444529e0b2953ad0466f6049528a879d27534700580395/rich-14.1.0-py3-none-any.whl", hash = "sha256:536f5f1785986d6dbdea3c75205c473f970777b4a0d6c6dd1b696aa05a3fa04f", size = 243368, upload-time = "2025-07-25T07:32:56.73Z" }, ] [[package]] @@ -4446,14 +4710,14 @@ boto3 = [ [[package]] name = "s3transfer" -version = "0.13.0" +version = "0.13.1" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "botocore" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/ed/5d/9dcc100abc6711e8247af5aa561fc07c4a046f72f659c3adea9a449e191a/s3transfer-0.13.0.tar.gz", hash = "sha256:f5e6db74eb7776a37208001113ea7aa97695368242b364d73e91c981ac522177", size = 150232, upload-time = "2025-05-22T19:24:50.245Z" } +sdist = { url = "https://files.pythonhosted.org/packages/6d/05/d52bf1e65044b4e5e27d4e63e8d1579dbdec54fce685908ae09bc3720030/s3transfer-0.13.1.tar.gz", hash = "sha256:c3fdba22ba1bd367922f27ec8032d6a1cf5f10c934fb5d68cf60fd5a23d936cf", size = 150589, upload-time = "2025-07-18T19:22:42.31Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/18/17/22bf8155aa0ea2305eefa3a6402e040df7ebe512d1310165eda1e233c3f8/s3transfer-0.13.0-py3-none-any.whl", hash = "sha256:0148ef34d6dd964d0d8cf4311b2b21c474693e57c2e069ec708ce043d2b527be", size = 85152, upload-time = "2025-05-22T19:24:48.703Z" }, + { url = "https://files.pythonhosted.org/packages/6d/4f/d073e09df851cfa251ef7840007d04db3293a0482ce607d2b993926089be/s3transfer-0.13.1-py3-none-any.whl", hash = "sha256:a981aa7429be23fe6dfc13e80e4020057cbab622b08c0315288758d67cabc724", size = 85308, upload-time = "2025-07-18T19:22:40.947Z" }, ] [[package]] @@ -4480,41 +4744,43 @@ wheels = [ [[package]] name = "scikit-learn" -version = "1.7.0" +version = "1.7.1" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "joblib" }, - { name = "numpy" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "numpy", version = "2.3.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, { name = "scipy", version = "1.15.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, - { name = "scipy", version = "1.16.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "scipy", version = "1.16.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, { name = "threadpoolctl" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/df/3b/29fa87e76b1d7b3b77cc1fcbe82e6e6b8cd704410705b008822de530277c/scikit_learn-1.7.0.tar.gz", hash = "sha256:c01e869b15aec88e2cdb73d27f15bdbe03bce8e2fb43afbe77c45d399e73a5a3", size = 7178217, upload-time = "2025-06-05T22:02:46.703Z" } +sdist = { url = "https://files.pythonhosted.org/packages/41/84/5f4af978fff619706b8961accac84780a6d298d82a8873446f72edb4ead0/scikit_learn-1.7.1.tar.gz", hash = "sha256:24b3f1e976a4665aa74ee0fcaac2b8fccc6ae77c8e07ab25da3ba6d3292b9802", size = 7190445, upload-time = "2025-07-18T08:01:54.5Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/a4/70/e725b1da11e7e833f558eb4d3ea8b7ed7100edda26101df074f1ae778235/scikit_learn-1.7.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:9fe7f51435f49d97bd41d724bb3e11eeb939882af9c29c931a8002c357e8cdd5", size = 11728006, upload-time = "2025-06-05T22:01:43.007Z" }, - { url = "https://files.pythonhosted.org/packages/32/aa/43874d372e9dc51eb361f5c2f0a4462915c9454563b3abb0d9457c66b7e9/scikit_learn-1.7.0-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:d0c93294e1e1acbee2d029b1f2a064f26bd928b284938d51d412c22e0c977eb3", size = 10726255, upload-time = "2025-06-05T22:01:46.082Z" }, - { url = "https://files.pythonhosted.org/packages/f5/1a/da73cc18e00f0b9ae89f7e4463a02fb6e0569778120aeab138d9554ecef0/scikit_learn-1.7.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bf3755f25f145186ad8c403312f74fb90df82a4dfa1af19dc96ef35f57237a94", size = 12205657, upload-time = "2025-06-05T22:01:48.729Z" }, - { url = "https://files.pythonhosted.org/packages/fb/f6/800cb3243dd0137ca6d98df8c9d539eb567ba0a0a39ecd245c33fab93510/scikit_learn-1.7.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2726c8787933add436fb66fb63ad18e8ef342dfb39bbbd19dc1e83e8f828a85a", size = 12877290, upload-time = "2025-06-05T22:01:51.073Z" }, - { url = "https://files.pythonhosted.org/packages/4c/bd/99c3ccb49946bd06318fe194a1c54fb7d57ac4fe1c2f4660d86b3a2adf64/scikit_learn-1.7.0-cp310-cp310-win_amd64.whl", hash = "sha256:e2539bb58886a531b6e86a510c0348afaadd25005604ad35966a85c2ec378800", size = 10713211, upload-time = "2025-06-05T22:01:54.107Z" }, - { url = "https://files.pythonhosted.org/packages/5a/42/c6b41711c2bee01c4800ad8da2862c0b6d2956a399d23ce4d77f2ca7f0c7/scikit_learn-1.7.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:8ef09b1615e1ad04dc0d0054ad50634514818a8eb3ee3dee99af3bffc0ef5007", size = 11719657, upload-time = "2025-06-05T22:01:56.345Z" }, - { url = "https://files.pythonhosted.org/packages/a3/24/44acca76449e391b6b2522e67a63c0454b7c1f060531bdc6d0118fb40851/scikit_learn-1.7.0-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:7d7240c7b19edf6ed93403f43b0fcb0fe95b53bc0b17821f8fb88edab97085ef", size = 10712636, upload-time = "2025-06-05T22:01:59.093Z" }, - { url = "https://files.pythonhosted.org/packages/9f/1b/fcad1ccb29bdc9b96bcaa2ed8345d56afb77b16c0c47bafe392cc5d1d213/scikit_learn-1.7.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:80bd3bd4e95381efc47073a720d4cbab485fc483966f1709f1fd559afac57ab8", size = 12242817, upload-time = "2025-06-05T22:02:01.43Z" }, - { url = "https://files.pythonhosted.org/packages/c6/38/48b75c3d8d268a3f19837cb8a89155ead6e97c6892bb64837183ea41db2b/scikit_learn-1.7.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9dbe48d69aa38ecfc5a6cda6c5df5abef0c0ebdb2468e92437e2053f84abb8bc", size = 12873961, upload-time = "2025-06-05T22:02:03.951Z" }, - { url = "https://files.pythonhosted.org/packages/f4/5a/ba91b8c57aa37dbd80d5ff958576a9a8c14317b04b671ae7f0d09b00993a/scikit_learn-1.7.0-cp311-cp311-win_amd64.whl", hash = "sha256:8fa979313b2ffdfa049ed07252dc94038def3ecd49ea2a814db5401c07f1ecfa", size = 10717277, upload-time = "2025-06-05T22:02:06.77Z" }, - { url = "https://files.pythonhosted.org/packages/70/3a/bffab14e974a665a3ee2d79766e7389572ffcaad941a246931c824afcdb2/scikit_learn-1.7.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:c2c7243d34aaede0efca7a5a96d67fddaebb4ad7e14a70991b9abee9dc5c0379", size = 11646758, upload-time = "2025-06-05T22:02:09.51Z" }, - { url = "https://files.pythonhosted.org/packages/58/d8/f3249232fa79a70cb40595282813e61453c1e76da3e1a44b77a63dd8d0cb/scikit_learn-1.7.0-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:9f39f6a811bf3f15177b66c82cbe0d7b1ebad9f190737dcdef77cfca1ea3c19c", size = 10673971, upload-time = "2025-06-05T22:02:12.217Z" }, - { url = "https://files.pythonhosted.org/packages/67/93/eb14c50533bea2f77758abe7d60a10057e5f2e2cdcf0a75a14c6bc19c734/scikit_learn-1.7.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:63017a5f9a74963d24aac7590287149a8d0f1a0799bbe7173c0d8ba1523293c0", size = 11818428, upload-time = "2025-06-05T22:02:14.947Z" }, - { url = "https://files.pythonhosted.org/packages/08/17/804cc13b22a8663564bb0b55fb89e661a577e4e88a61a39740d58b909efe/scikit_learn-1.7.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b2f8a0b1e73e9a08b7cc498bb2aeab36cdc1f571f8ab2b35c6e5d1c7115d97d", size = 12505887, upload-time = "2025-06-05T22:02:17.824Z" }, - { url = "https://files.pythonhosted.org/packages/68/c7/4e956281a077f4835458c3f9656c666300282d5199039f26d9de1dabd9be/scikit_learn-1.7.0-cp312-cp312-win_amd64.whl", hash = "sha256:34cc8d9d010d29fb2b7cbcd5ccc24ffdd80515f65fe9f1e4894ace36b267ce19", size = 10668129, upload-time = "2025-06-05T22:02:20.536Z" }, - { url = "https://files.pythonhosted.org/packages/9a/c3/a85dcccdaf1e807e6f067fa95788a6485b0491d9ea44fd4c812050d04f45/scikit_learn-1.7.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:5b7974f1f32bc586c90145df51130e02267e4b7e77cab76165c76cf43faca0d9", size = 11559841, upload-time = "2025-06-05T22:02:23.308Z" }, - { url = "https://files.pythonhosted.org/packages/d8/57/eea0de1562cc52d3196eae51a68c5736a31949a465f0b6bb3579b2d80282/scikit_learn-1.7.0-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:014e07a23fe02e65f9392898143c542a50b6001dbe89cb867e19688e468d049b", size = 10616463, upload-time = "2025-06-05T22:02:26.068Z" }, - { url = "https://files.pythonhosted.org/packages/10/a4/39717ca669296dfc3a62928393168da88ac9d8cbec88b6321ffa62c6776f/scikit_learn-1.7.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e7e7ced20582d3a5516fb6f405fd1d254e1f5ce712bfef2589f51326af6346e8", size = 11766512, upload-time = "2025-06-05T22:02:28.689Z" }, - { url = "https://files.pythonhosted.org/packages/d5/cd/a19722241d5f7b51e08351e1e82453e0057aeb7621b17805f31fcb57bb6c/scikit_learn-1.7.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1babf2511e6ffd695da7a983b4e4d6de45dce39577b26b721610711081850906", size = 12461075, upload-time = "2025-06-05T22:02:31.233Z" }, - { url = "https://files.pythonhosted.org/packages/f3/bc/282514272815c827a9acacbe5b99f4f1a4bc5961053719d319480aee0812/scikit_learn-1.7.0-cp313-cp313-win_amd64.whl", hash = "sha256:5abd2acff939d5bd4701283f009b01496832d50ddafa83c90125a4e41c33e314", size = 10652517, upload-time = "2025-06-05T22:02:34.139Z" }, - { url = "https://files.pythonhosted.org/packages/ea/78/7357d12b2e4c6674175f9a09a3ba10498cde8340e622715bcc71e532981d/scikit_learn-1.7.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:e39d95a929b112047c25b775035c8c234c5ca67e681ce60d12413afb501129f7", size = 12111822, upload-time = "2025-06-05T22:02:36.904Z" }, - { url = "https://files.pythonhosted.org/packages/d0/0c/9c3715393343f04232f9d81fe540eb3831d0b4ec351135a145855295110f/scikit_learn-1.7.0-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:0521cb460426c56fee7e07f9365b0f45ec8ca7b2d696534ac98bfb85e7ae4775", size = 11325286, upload-time = "2025-06-05T22:02:39.739Z" }, - { url = "https://files.pythonhosted.org/packages/64/e0/42282ad3dd70b7c1a5f65c412ac3841f6543502a8d6263cae7b466612dc9/scikit_learn-1.7.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:317ca9f83acbde2883bd6bb27116a741bfcb371369706b4f9973cf30e9a03b0d", size = 12380865, upload-time = "2025-06-05T22:02:42.137Z" }, - { url = "https://files.pythonhosted.org/packages/4e/d0/3ef4ab2c6be4aa910445cd09c5ef0b44512e3de2cfb2112a88bb647d2cf7/scikit_learn-1.7.0-cp313-cp313t-win_amd64.whl", hash = "sha256:126c09740a6f016e815ab985b21e3a0656835414521c81fc1a8da78b679bdb75", size = 11549609, upload-time = "2025-06-05T22:02:44.483Z" }, + { url = "https://files.pythonhosted.org/packages/74/88/0dd5be14ef19f2d80a77780be35a33aa94e8a3b3223d80bee8892a7832b4/scikit_learn-1.7.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:406204dd4004f0517f0b23cf4b28c6245cbd51ab1b6b78153bc784def214946d", size = 9338868, upload-time = "2025-07-18T08:01:00.25Z" }, + { url = "https://files.pythonhosted.org/packages/fd/52/3056b6adb1ac58a0bc335fc2ed2fcf599974d908855e8cb0ca55f797593c/scikit_learn-1.7.1-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:16af2e44164f05d04337fd1fc3ae7c4ea61fd9b0d527e22665346336920fe0e1", size = 8655943, upload-time = "2025-07-18T08:01:02.974Z" }, + { url = "https://files.pythonhosted.org/packages/fb/a4/e488acdece6d413f370a9589a7193dac79cd486b2e418d3276d6ea0b9305/scikit_learn-1.7.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:2f2e78e56a40c7587dea9a28dc4a49500fa2ead366869418c66f0fd75b80885c", size = 9652056, upload-time = "2025-07-18T08:01:04.978Z" }, + { url = "https://files.pythonhosted.org/packages/18/41/bceacec1285b94eb9e4659b24db46c23346d7e22cf258d63419eb5dec6f7/scikit_learn-1.7.1-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b62b76ad408a821475b43b7bb90a9b1c9a4d8d125d505c2df0539f06d6e631b1", size = 9473691, upload-time = "2025-07-18T08:01:07.006Z" }, + { url = "https://files.pythonhosted.org/packages/12/7b/e1ae4b7e1dd85c4ca2694ff9cc4a9690970fd6150d81b975e6c5c6f8ee7c/scikit_learn-1.7.1-cp310-cp310-win_amd64.whl", hash = "sha256:9963b065677a4ce295e8ccdee80a1dd62b37249e667095039adcd5bce6e90deb", size = 8900873, upload-time = "2025-07-18T08:01:09.332Z" }, + { url = "https://files.pythonhosted.org/packages/b4/bd/a23177930abd81b96daffa30ef9c54ddbf544d3226b8788ce4c3ef1067b4/scikit_learn-1.7.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:90c8494ea23e24c0fb371afc474618c1019dc152ce4a10e4607e62196113851b", size = 9334838, upload-time = "2025-07-18T08:01:11.239Z" }, + { url = "https://files.pythonhosted.org/packages/8d/a1/d3a7628630a711e2ac0d1a482910da174b629f44e7dd8cfcd6924a4ef81a/scikit_learn-1.7.1-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:bb870c0daf3bf3be145ec51df8ac84720d9972170786601039f024bf6d61a518", size = 8651241, upload-time = "2025-07-18T08:01:13.234Z" }, + { url = "https://files.pythonhosted.org/packages/26/92/85ec172418f39474c1cd0221d611345d4f433fc4ee2fc68e01f524ccc4e4/scikit_learn-1.7.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:40daccd1b5623f39e8943ab39735cadf0bdce80e67cdca2adcb5426e987320a8", size = 9718677, upload-time = "2025-07-18T08:01:15.649Z" }, + { url = "https://files.pythonhosted.org/packages/df/ce/abdb1dcbb1d2b66168ec43b23ee0cee356b4cc4100ddee3943934ebf1480/scikit_learn-1.7.1-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:30d1f413cfc0aa5a99132a554f1d80517563c34a9d3e7c118fde2d273c6fe0f7", size = 9511189, upload-time = "2025-07-18T08:01:18.013Z" }, + { url = "https://files.pythonhosted.org/packages/b2/3b/47b5eaee01ef2b5a80ba3f7f6ecf79587cb458690857d4777bfd77371c6f/scikit_learn-1.7.1-cp311-cp311-win_amd64.whl", hash = "sha256:c711d652829a1805a95d7fe96654604a8f16eab5a9e9ad87b3e60173415cb650", size = 8914794, upload-time = "2025-07-18T08:01:20.357Z" }, + { url = "https://files.pythonhosted.org/packages/cb/16/57f176585b35ed865f51b04117947fe20f130f78940c6477b6d66279c9c2/scikit_learn-1.7.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:3cee419b49b5bbae8796ecd690f97aa412ef1674410c23fc3257c6b8b85b8087", size = 9260431, upload-time = "2025-07-18T08:01:22.77Z" }, + { url = "https://files.pythonhosted.org/packages/67/4e/899317092f5efcab0e9bc929e3391341cec8fb0e816c4789686770024580/scikit_learn-1.7.1-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:2fd8b8d35817b0d9ebf0b576f7d5ffbbabdb55536b0655a8aaae629d7ffd2e1f", size = 8637191, upload-time = "2025-07-18T08:01:24.731Z" }, + { url = "https://files.pythonhosted.org/packages/f3/1b/998312db6d361ded1dd56b457ada371a8d8d77ca2195a7d18fd8a1736f21/scikit_learn-1.7.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:588410fa19a96a69763202f1d6b7b91d5d7a5d73be36e189bc6396bfb355bd87", size = 9486346, upload-time = "2025-07-18T08:01:26.713Z" }, + { url = "https://files.pythonhosted.org/packages/ad/09/a2aa0b4e644e5c4ede7006748f24e72863ba2ae71897fecfd832afea01b4/scikit_learn-1.7.1-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e3142f0abe1ad1d1c31a2ae987621e41f6b578144a911ff4ac94781a583adad7", size = 9290988, upload-time = "2025-07-18T08:01:28.938Z" }, + { url = "https://files.pythonhosted.org/packages/15/fa/c61a787e35f05f17fc10523f567677ec4eeee5f95aa4798dbbbcd9625617/scikit_learn-1.7.1-cp312-cp312-win_amd64.whl", hash = "sha256:3ddd9092c1bd469acab337d87930067c87eac6bd544f8d5027430983f1e1ae88", size = 8735568, upload-time = "2025-07-18T08:01:30.936Z" }, + { url = "https://files.pythonhosted.org/packages/52/f8/e0533303f318a0f37b88300d21f79b6ac067188d4824f1047a37214ab718/scikit_learn-1.7.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:b7839687fa46d02e01035ad775982f2470be2668e13ddd151f0f55a5bf123bae", size = 9213143, upload-time = "2025-07-18T08:01:32.942Z" }, + { url = "https://files.pythonhosted.org/packages/71/f3/f1df377d1bdfc3e3e2adc9c119c238b182293e6740df4cbeac6de2cc3e23/scikit_learn-1.7.1-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:a10f276639195a96c86aa572ee0698ad64ee939a7b042060b98bd1930c261d10", size = 8591977, upload-time = "2025-07-18T08:01:34.967Z" }, + { url = "https://files.pythonhosted.org/packages/99/72/c86a4cd867816350fe8dee13f30222340b9cd6b96173955819a5561810c5/scikit_learn-1.7.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:13679981fdaebc10cc4c13c43344416a86fcbc61449cb3e6517e1df9d12c8309", size = 9436142, upload-time = "2025-07-18T08:01:37.397Z" }, + { url = "https://files.pythonhosted.org/packages/e8/66/277967b29bd297538dc7a6ecfb1a7dce751beabd0d7f7a2233be7a4f7832/scikit_learn-1.7.1-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4f1262883c6a63f067a980a8cdd2d2e7f2513dddcef6a9eaada6416a7a7cbe43", size = 9282996, upload-time = "2025-07-18T08:01:39.721Z" }, + { url = "https://files.pythonhosted.org/packages/e2/47/9291cfa1db1dae9880420d1e07dbc7e8dd4a7cdbc42eaba22512e6bde958/scikit_learn-1.7.1-cp313-cp313-win_amd64.whl", hash = "sha256:ca6d31fb10e04d50bfd2b50d66744729dbb512d4efd0223b864e2fdbfc4cee11", size = 8707418, upload-time = "2025-07-18T08:01:42.124Z" }, + { url = "https://files.pythonhosted.org/packages/61/95/45726819beccdaa34d3362ea9b2ff9f2b5d3b8bf721bd632675870308ceb/scikit_learn-1.7.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:781674d096303cfe3d351ae6963ff7c958db61cde3421cd490e3a5a58f2a94ae", size = 9561466, upload-time = "2025-07-18T08:01:44.195Z" }, + { url = "https://files.pythonhosted.org/packages/ee/1c/6f4b3344805de783d20a51eb24d4c9ad4b11a7f75c1801e6ec6d777361fd/scikit_learn-1.7.1-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:10679f7f125fe7ecd5fad37dd1aa2daae7e3ad8df7f3eefa08901b8254b3e12c", size = 9040467, upload-time = "2025-07-18T08:01:46.671Z" }, + { url = "https://files.pythonhosted.org/packages/6f/80/abe18fe471af9f1d181904203d62697998b27d9b62124cd281d740ded2f9/scikit_learn-1.7.1-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:1f812729e38c8cb37f760dce71a9b83ccfb04f59b3dca7c6079dcdc60544fa9e", size = 9532052, upload-time = "2025-07-18T08:01:48.676Z" }, + { url = "https://files.pythonhosted.org/packages/14/82/b21aa1e0c4cee7e74864d3a5a721ab8fcae5ca55033cb6263dca297ed35b/scikit_learn-1.7.1-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:88e1a20131cf741b84b89567e1717f27a2ced228e0f29103426102bc2e3b8ef7", size = 9361575, upload-time = "2025-07-18T08:01:50.639Z" }, + { url = "https://files.pythonhosted.org/packages/f2/20/f4777fcd5627dc6695fa6b92179d0edb7a3ac1b91bcd9a1c7f64fa7ade23/scikit_learn-1.7.1-cp313-cp313t-win_amd64.whl", hash = "sha256:b1bd1d919210b6a10b7554b717c9000b5485aa95a1d0f177ae0d7ee8ec750da5", size = 9277310, upload-time = "2025-07-18T08:01:52.547Z" }, ] [[package]] @@ -4527,7 +4793,7 @@ resolution-markers = [ "python_full_version < '3.11' and sys_platform == 'emscripten'", ] dependencies = [ - { name = "numpy", marker = "python_full_version < '3.11'" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/0f/37/6964b830433e654ec7485e45a00fc9a27cf868d622838f6b6d9c5ec0d532/scipy-1.15.3.tar.gz", hash = "sha256:eae3cf522bc7df64b42cad3925c876e1b0b6c35c1337c93e12c0f366f55b0eaf", size = 59419214, upload-time = "2025-05-08T16:13:05.955Z" } wheels = [ @@ -4580,10 +4846,11 @@ wheels = [ [[package]] name = "scipy" -version = "1.16.0" +version = "1.16.1" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version >= '3.13' and platform_python_implementation != 'PyPy' and sys_platform != 'emscripten'", + "python_full_version >= '3.14' and platform_python_implementation != 'PyPy' and sys_platform != 'emscripten'", + "python_full_version == '3.13.*' and platform_python_implementation != 'PyPy' and sys_platform != 'emscripten'", "python_full_version == '3.12.*' and platform_python_implementation != 'PyPy' and sys_platform != 'emscripten'", "python_full_version == '3.11.*' and platform_python_implementation != 'PyPy' and sys_platform != 'emscripten'", "python_full_version >= '3.13' and platform_python_implementation == 'PyPy' and sys_platform != 'emscripten'", @@ -4594,46 +4861,64 @@ resolution-markers = [ "python_full_version == '3.11.*' and sys_platform == 'emscripten'", ] dependencies = [ - { name = "numpy", marker = "python_full_version >= '3.11'" }, + { name = "numpy", version = "2.3.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/81/18/b06a83f0c5ee8cddbde5e3f3d0bb9b702abfa5136ef6d4620ff67df7eee5/scipy-1.16.0.tar.gz", hash = "sha256:b5ef54021e832869c8cfb03bc3bf20366cbcd426e02a58e8a58d7584dfbb8f62", size = 30581216, upload-time = "2025-06-22T16:27:55.782Z" } +sdist = { url = "https://files.pythonhosted.org/packages/f5/4a/b927028464795439faec8eaf0b03b011005c487bb2d07409f28bf30879c4/scipy-1.16.1.tar.gz", hash = "sha256:44c76f9e8b6e8e488a586190ab38016e4ed2f8a038af7cd3defa903c0a2238b3", size = 30580861, upload-time = "2025-07-27T16:33:30.834Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/d9/f8/53fc4884df6b88afd5f5f00240bdc49fee2999c7eff3acf5953eb15bc6f8/scipy-1.16.0-cp311-cp311-macosx_10_14_x86_64.whl", hash = "sha256:deec06d831b8f6b5fb0b652433be6a09db29e996368ce5911faf673e78d20085", size = 36447362, upload-time = "2025-06-22T16:18:17.817Z" }, - { url = "https://files.pythonhosted.org/packages/c9/25/fad8aa228fa828705142a275fc593d701b1817c98361a2d6b526167d07bc/scipy-1.16.0-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:d30c0fe579bb901c61ab4bb7f3eeb7281f0d4c4a7b52dbf563c89da4fd2949be", size = 28547120, upload-time = "2025-06-22T16:18:24.117Z" }, - { url = "https://files.pythonhosted.org/packages/8d/be/d324ddf6b89fd1c32fecc307f04d095ce84abb52d2e88fab29d0cd8dc7a8/scipy-1.16.0-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:b2243561b45257f7391d0f49972fca90d46b79b8dbcb9b2cb0f9df928d370ad4", size = 20818922, upload-time = "2025-06-22T16:18:28.035Z" }, - { url = "https://files.pythonhosted.org/packages/cd/e0/cf3f39e399ac83fd0f3ba81ccc5438baba7cfe02176be0da55ff3396f126/scipy-1.16.0-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:e6d7dfc148135e9712d87c5f7e4f2ddc1304d1582cb3a7d698bbadedb61c7afd", size = 23409695, upload-time = "2025-06-22T16:18:32.497Z" }, - { url = "https://files.pythonhosted.org/packages/5b/61/d92714489c511d3ffd6830ac0eb7f74f243679119eed8b9048e56b9525a1/scipy-1.16.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:90452f6a9f3fe5a2cf3748e7be14f9cc7d9b124dce19667b54f5b429d680d539", size = 33444586, upload-time = "2025-06-22T16:18:37.992Z" }, - { url = "https://files.pythonhosted.org/packages/af/2c/40108915fd340c830aee332bb85a9160f99e90893e58008b659b9f3dddc0/scipy-1.16.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:a2f0bf2f58031c8701a8b601df41701d2a7be17c7ffac0a4816aeba89c4cdac8", size = 35284126, upload-time = "2025-06-22T16:18:43.605Z" }, - { url = "https://files.pythonhosted.org/packages/d3/30/e9eb0ad3d0858df35d6c703cba0a7e16a18a56a9e6b211d861fc6f261c5f/scipy-1.16.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:6c4abb4c11fc0b857474241b812ce69ffa6464b4bd8f4ecb786cf240367a36a7", size = 35608257, upload-time = "2025-06-22T16:18:49.09Z" }, - { url = "https://files.pythonhosted.org/packages/c8/ff/950ee3e0d612b375110d8cda211c1f787764b4c75e418a4b71f4a5b1e07f/scipy-1.16.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b370f8f6ac6ef99815b0d5c9f02e7ade77b33007d74802efc8316c8db98fd11e", size = 38040541, upload-time = "2025-06-22T16:18:55.077Z" }, - { url = "https://files.pythonhosted.org/packages/8b/c9/750d34788288d64ffbc94fdb4562f40f609d3f5ef27ab4f3a4ad00c9033e/scipy-1.16.0-cp311-cp311-win_amd64.whl", hash = "sha256:a16ba90847249bedce8aa404a83fb8334b825ec4a8e742ce6012a7a5e639f95c", size = 38570814, upload-time = "2025-06-22T16:19:00.912Z" }, - { url = "https://files.pythonhosted.org/packages/01/c0/c943bc8d2bbd28123ad0f4f1eef62525fa1723e84d136b32965dcb6bad3a/scipy-1.16.0-cp312-cp312-macosx_10_14_x86_64.whl", hash = "sha256:7eb6bd33cef4afb9fa5f1fb25df8feeb1e52d94f21a44f1d17805b41b1da3180", size = 36459071, upload-time = "2025-06-22T16:19:06.605Z" }, - { url = "https://files.pythonhosted.org/packages/99/0d/270e2e9f1a4db6ffbf84c9a0b648499842046e4e0d9b2275d150711b3aba/scipy-1.16.0-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:1dbc8fdba23e4d80394ddfab7a56808e3e6489176d559c6c71935b11a2d59db1", size = 28490500, upload-time = "2025-06-22T16:19:11.775Z" }, - { url = "https://files.pythonhosted.org/packages/1c/22/01d7ddb07cff937d4326198ec8d10831367a708c3da72dfd9b7ceaf13028/scipy-1.16.0-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:7dcf42c380e1e3737b343dec21095c9a9ad3f9cbe06f9c05830b44b1786c9e90", size = 20762345, upload-time = "2025-06-22T16:19:15.813Z" }, - { url = "https://files.pythonhosted.org/packages/34/7f/87fd69856569ccdd2a5873fe5d7b5bbf2ad9289d7311d6a3605ebde3a94b/scipy-1.16.0-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:26ec28675f4a9d41587266084c626b02899db373717d9312fa96ab17ca1ae94d", size = 23418563, upload-time = "2025-06-22T16:19:20.746Z" }, - { url = "https://files.pythonhosted.org/packages/f6/f1/e4f4324fef7f54160ab749efbab6a4bf43678a9eb2e9817ed71a0a2fd8de/scipy-1.16.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:952358b7e58bd3197cfbd2f2f2ba829f258404bdf5db59514b515a8fe7a36c52", size = 33203951, upload-time = "2025-06-22T16:19:25.813Z" }, - { url = "https://files.pythonhosted.org/packages/6d/f0/b6ac354a956384fd8abee2debbb624648125b298f2c4a7b4f0d6248048a5/scipy-1.16.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:03931b4e870c6fef5b5c0970d52c9f6ddd8c8d3e934a98f09308377eba6f3824", size = 35070225, upload-time = "2025-06-22T16:19:31.416Z" }, - { url = "https://files.pythonhosted.org/packages/e5/73/5cbe4a3fd4bc3e2d67ffad02c88b83edc88f381b73ab982f48f3df1a7790/scipy-1.16.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:512c4f4f85912767c351a0306824ccca6fd91307a9f4318efe8fdbd9d30562ef", size = 35389070, upload-time = "2025-06-22T16:19:37.387Z" }, - { url = "https://files.pythonhosted.org/packages/86/e8/a60da80ab9ed68b31ea5a9c6dfd3c2f199347429f229bf7f939a90d96383/scipy-1.16.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e69f798847e9add03d512eaf5081a9a5c9a98757d12e52e6186ed9681247a1ac", size = 37825287, upload-time = "2025-06-22T16:19:43.375Z" }, - { url = "https://files.pythonhosted.org/packages/ea/b5/29fece1a74c6a94247f8a6fb93f5b28b533338e9c34fdcc9cfe7a939a767/scipy-1.16.0-cp312-cp312-win_amd64.whl", hash = "sha256:adf9b1999323ba335adc5d1dc7add4781cb5a4b0ef1e98b79768c05c796c4e49", size = 38431929, upload-time = "2025-06-22T16:19:49.385Z" }, - { url = "https://files.pythonhosted.org/packages/46/95/0746417bc24be0c2a7b7563946d61f670a3b491b76adede420e9d173841f/scipy-1.16.0-cp313-cp313-macosx_10_14_x86_64.whl", hash = "sha256:e9f414cbe9ca289a73e0cc92e33a6a791469b6619c240aa32ee18abdce8ab451", size = 36418162, upload-time = "2025-06-22T16:19:56.3Z" }, - { url = "https://files.pythonhosted.org/packages/19/5a/914355a74481b8e4bbccf67259bbde171348a3f160b67b4945fbc5f5c1e5/scipy-1.16.0-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:bbba55fb97ba3cdef9b1ee973f06b09d518c0c7c66a009c729c7d1592be1935e", size = 28465985, upload-time = "2025-06-22T16:20:01.238Z" }, - { url = "https://files.pythonhosted.org/packages/58/46/63477fc1246063855969cbefdcee8c648ba4b17f67370bd542ba56368d0b/scipy-1.16.0-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:58e0d4354eacb6004e7aa1cd350e5514bd0270acaa8d5b36c0627bb3bb486974", size = 20737961, upload-time = "2025-06-22T16:20:05.913Z" }, - { url = "https://files.pythonhosted.org/packages/93/86/0fbb5588b73555e40f9d3d6dde24ee6fac7d8e301a27f6f0cab9d8f66ff2/scipy-1.16.0-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:75b2094ec975c80efc273567436e16bb794660509c12c6a31eb5c195cbf4b6dc", size = 23377941, upload-time = "2025-06-22T16:20:10.668Z" }, - { url = "https://files.pythonhosted.org/packages/ca/80/a561f2bf4c2da89fa631b3cbf31d120e21ea95db71fd9ec00cb0247c7a93/scipy-1.16.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:6b65d232157a380fdd11a560e7e21cde34fdb69d65c09cb87f6cc024ee376351", size = 33196703, upload-time = "2025-06-22T16:20:16.097Z" }, - { url = "https://files.pythonhosted.org/packages/11/6b/3443abcd0707d52e48eb315e33cc669a95e29fc102229919646f5a501171/scipy-1.16.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:1d8747f7736accd39289943f7fe53a8333be7f15a82eea08e4afe47d79568c32", size = 35083410, upload-time = "2025-06-22T16:20:21.734Z" }, - { url = "https://files.pythonhosted.org/packages/20/ab/eb0fc00e1e48961f1bd69b7ad7e7266896fe5bad4ead91b5fc6b3561bba4/scipy-1.16.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:eb9f147a1b8529bb7fec2a85cf4cf42bdfadf9e83535c309a11fdae598c88e8b", size = 35387829, upload-time = "2025-06-22T16:20:27.548Z" }, - { url = "https://files.pythonhosted.org/packages/57/9e/d6fc64e41fad5d481c029ee5a49eefc17f0b8071d636a02ceee44d4a0de2/scipy-1.16.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:d2b83c37edbfa837a8923d19c749c1935ad3d41cf196006a24ed44dba2ec4358", size = 37841356, upload-time = "2025-06-22T16:20:35.112Z" }, - { url = "https://files.pythonhosted.org/packages/7c/a7/4c94bbe91f12126b8bf6709b2471900577b7373a4fd1f431f28ba6f81115/scipy-1.16.0-cp313-cp313-win_amd64.whl", hash = "sha256:79a3c13d43c95aa80b87328a46031cf52508cf5f4df2767602c984ed1d3c6bbe", size = 38403710, upload-time = "2025-06-22T16:21:54.473Z" }, - { url = "https://files.pythonhosted.org/packages/47/20/965da8497f6226e8fa90ad3447b82ed0e28d942532e92dd8b91b43f100d4/scipy-1.16.0-cp313-cp313t-macosx_10_14_x86_64.whl", hash = "sha256:f91b87e1689f0370690e8470916fe1b2308e5b2061317ff76977c8f836452a47", size = 36813833, upload-time = "2025-06-22T16:20:43.925Z" }, - { url = "https://files.pythonhosted.org/packages/28/f4/197580c3dac2d234e948806e164601c2df6f0078ed9f5ad4a62685b7c331/scipy-1.16.0-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:88a6ca658fb94640079e7a50b2ad3b67e33ef0f40e70bdb7dc22017dae73ac08", size = 28974431, upload-time = "2025-06-22T16:20:51.302Z" }, - { url = "https://files.pythonhosted.org/packages/8a/fc/e18b8550048d9224426e76906694c60028dbdb65d28b1372b5503914b89d/scipy-1.16.0-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:ae902626972f1bd7e4e86f58fd72322d7f4ec7b0cfc17b15d4b7006efc385176", size = 21246454, upload-time = "2025-06-22T16:20:57.276Z" }, - { url = "https://files.pythonhosted.org/packages/8c/48/07b97d167e0d6a324bfd7484cd0c209cc27338b67e5deadae578cf48e809/scipy-1.16.0-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:8cb824c1fc75ef29893bc32b3ddd7b11cf9ab13c1127fe26413a05953b8c32ed", size = 23772979, upload-time = "2025-06-22T16:21:03.363Z" }, - { url = "https://files.pythonhosted.org/packages/4c/4f/9efbd3f70baf9582edf271db3002b7882c875ddd37dc97f0f675ad68679f/scipy-1.16.0-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:de2db7250ff6514366a9709c2cba35cb6d08498e961cba20d7cff98a7ee88938", size = 33341972, upload-time = "2025-06-22T16:21:11.14Z" }, - { url = "https://files.pythonhosted.org/packages/3f/dc/9e496a3c5dbe24e76ee24525155ab7f659c20180bab058ef2c5fa7d9119c/scipy-1.16.0-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:e85800274edf4db8dd2e4e93034f92d1b05c9421220e7ded9988b16976f849c1", size = 35185476, upload-time = "2025-06-22T16:21:19.156Z" }, - { url = "https://files.pythonhosted.org/packages/ce/b3/21001cff985a122ba434c33f2c9d7d1dc3b669827e94f4fc4e1fe8b9dfd8/scipy-1.16.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:4f720300a3024c237ace1cb11f9a84c38beb19616ba7c4cdcd771047a10a1706", size = 35570990, upload-time = "2025-06-22T16:21:27.797Z" }, - { url = "https://files.pythonhosted.org/packages/e5/d3/7ba42647d6709251cdf97043d0c107e0317e152fa2f76873b656b509ff55/scipy-1.16.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:aad603e9339ddb676409b104c48a027e9916ce0d2838830691f39552b38a352e", size = 37950262, upload-time = "2025-06-22T16:21:36.976Z" }, - { url = "https://files.pythonhosted.org/packages/eb/c4/231cac7a8385394ebbbb4f1ca662203e9d8c332825ab4f36ffc3ead09a42/scipy-1.16.0-cp313-cp313t-win_amd64.whl", hash = "sha256:f56296fefca67ba605fd74d12f7bd23636267731a72cb3947963e76b8c0a25db", size = 38515076, upload-time = "2025-06-22T16:21:45.694Z" }, + { url = "https://files.pythonhosted.org/packages/da/91/812adc6f74409b461e3a5fa97f4f74c769016919203138a3bf6fc24ba4c5/scipy-1.16.1-cp311-cp311-macosx_10_14_x86_64.whl", hash = "sha256:c033fa32bab91dc98ca59d0cf23bb876454e2bb02cbe592d5023138778f70030", size = 36552519, upload-time = "2025-07-27T16:26:29.658Z" }, + { url = "https://files.pythonhosted.org/packages/47/18/8e355edcf3b71418d9e9f9acd2708cc3a6c27e8f98fde0ac34b8a0b45407/scipy-1.16.1-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:6e5c2f74e5df33479b5cd4e97a9104c511518fbd979aa9b8f6aec18b2e9ecae7", size = 28638010, upload-time = "2025-07-27T16:26:38.196Z" }, + { url = "https://files.pythonhosted.org/packages/d9/eb/e931853058607bdfbc11b86df19ae7a08686121c203483f62f1ecae5989c/scipy-1.16.1-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:0a55ffe0ba0f59666e90951971a884d1ff6f4ec3275a48f472cfb64175570f77", size = 20909790, upload-time = "2025-07-27T16:26:43.93Z" }, + { url = "https://files.pythonhosted.org/packages/45/0c/be83a271d6e96750cd0be2e000f35ff18880a46f05ce8b5d3465dc0f7a2a/scipy-1.16.1-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:f8a5d6cd147acecc2603fbd382fed6c46f474cccfcf69ea32582e033fb54dcfe", size = 23513352, upload-time = "2025-07-27T16:26:50.017Z" }, + { url = "https://files.pythonhosted.org/packages/7c/bf/fe6eb47e74f762f933cca962db7f2c7183acfdc4483bd1c3813cfe83e538/scipy-1.16.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:cb18899127278058bcc09e7b9966d41a5a43740b5bb8dcba401bd983f82e885b", size = 33534643, upload-time = "2025-07-27T16:26:57.503Z" }, + { url = "https://files.pythonhosted.org/packages/bb/ba/63f402e74875486b87ec6506a4f93f6d8a0d94d10467280f3d9d7837ce3a/scipy-1.16.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:adccd93a2fa937a27aae826d33e3bfa5edf9aa672376a4852d23a7cd67a2e5b7", size = 35376776, upload-time = "2025-07-27T16:27:06.639Z" }, + { url = "https://files.pythonhosted.org/packages/c3/b4/04eb9d39ec26a1b939689102da23d505ea16cdae3dbb18ffc53d1f831044/scipy-1.16.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:18aca1646a29ee9a0625a1be5637fa798d4d81fdf426481f06d69af828f16958", size = 35698906, upload-time = "2025-07-27T16:27:14.943Z" }, + { url = "https://files.pythonhosted.org/packages/04/d6/bb5468da53321baeb001f6e4e0d9049eadd175a4a497709939128556e3ec/scipy-1.16.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:d85495cef541729a70cdddbbf3e6b903421bc1af3e8e3a9a72a06751f33b7c39", size = 38129275, upload-time = "2025-07-27T16:27:23.873Z" }, + { url = "https://files.pythonhosted.org/packages/c4/94/994369978509f227cba7dfb9e623254d0d5559506fe994aef4bea3ed469c/scipy-1.16.1-cp311-cp311-win_amd64.whl", hash = "sha256:226652fca853008119c03a8ce71ffe1b3f6d2844cc1686e8f9806edafae68596", size = 38644572, upload-time = "2025-07-27T16:27:32.637Z" }, + { url = "https://files.pythonhosted.org/packages/f8/d9/ec4864f5896232133f51382b54a08de91a9d1af7a76dfa372894026dfee2/scipy-1.16.1-cp312-cp312-macosx_10_14_x86_64.whl", hash = "sha256:81b433bbeaf35728dad619afc002db9b189e45eebe2cd676effe1fb93fef2b9c", size = 36575194, upload-time = "2025-07-27T16:27:41.321Z" }, + { url = "https://files.pythonhosted.org/packages/5c/6d/40e81ecfb688e9d25d34a847dca361982a6addf8e31f0957b1a54fbfa994/scipy-1.16.1-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:886cc81fdb4c6903a3bb0464047c25a6d1016fef77bb97949817d0c0d79f9e04", size = 28594590, upload-time = "2025-07-27T16:27:49.204Z" }, + { url = "https://files.pythonhosted.org/packages/0e/37/9f65178edfcc629377ce9a64fc09baebea18c80a9e57ae09a52edf84880b/scipy-1.16.1-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:15240c3aac087a522b4eaedb09f0ad061753c5eebf1ea430859e5bf8640d5919", size = 20866458, upload-time = "2025-07-27T16:27:54.98Z" }, + { url = "https://files.pythonhosted.org/packages/2c/7b/749a66766871ea4cb1d1ea10f27004db63023074c22abed51f22f09770e0/scipy-1.16.1-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:65f81a25805f3659b48126b5053d9e823d3215e4a63730b5e1671852a1705921", size = 23539318, upload-time = "2025-07-27T16:28:01.604Z" }, + { url = "https://files.pythonhosted.org/packages/c4/db/8d4afec60eb833a666434d4541a3151eedbf2494ea6d4d468cbe877f00cd/scipy-1.16.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:6c62eea7f607f122069b9bad3f99489ddca1a5173bef8a0c75555d7488b6f725", size = 33292899, upload-time = "2025-07-27T16:28:09.147Z" }, + { url = "https://files.pythonhosted.org/packages/51/1e/79023ca3bbb13a015d7d2757ecca3b81293c663694c35d6541b4dca53e98/scipy-1.16.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:f965bbf3235b01c776115ab18f092a95aa74c271a52577bcb0563e85738fd618", size = 35162637, upload-time = "2025-07-27T16:28:17.535Z" }, + { url = "https://files.pythonhosted.org/packages/b6/49/0648665f9c29fdaca4c679182eb972935b3b4f5ace41d323c32352f29816/scipy-1.16.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:f006e323874ffd0b0b816d8c6a8e7f9a73d55ab3b8c3f72b752b226d0e3ac83d", size = 35490507, upload-time = "2025-07-27T16:28:25.705Z" }, + { url = "https://files.pythonhosted.org/packages/62/8f/66cbb9d6bbb18d8c658f774904f42a92078707a7c71e5347e8bf2f52bb89/scipy-1.16.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e8fd15fc5085ab4cca74cb91fe0a4263b1f32e4420761ddae531ad60934c2119", size = 37923998, upload-time = "2025-07-27T16:28:34.339Z" }, + { url = "https://files.pythonhosted.org/packages/14/c3/61f273ae550fbf1667675701112e380881905e28448c080b23b5a181df7c/scipy-1.16.1-cp312-cp312-win_amd64.whl", hash = "sha256:f7b8013c6c066609577d910d1a2a077021727af07b6fab0ee22c2f901f22352a", size = 38508060, upload-time = "2025-07-27T16:28:43.242Z" }, + { url = "https://files.pythonhosted.org/packages/93/0b/b5c99382b839854a71ca9482c684e3472badc62620287cbbdab499b75ce6/scipy-1.16.1-cp313-cp313-macosx_10_14_x86_64.whl", hash = "sha256:5451606823a5e73dfa621a89948096c6528e2896e40b39248295d3a0138d594f", size = 36533717, upload-time = "2025-07-27T16:28:51.706Z" }, + { url = "https://files.pythonhosted.org/packages/eb/e5/69ab2771062c91e23e07c12e7d5033a6b9b80b0903ee709c3c36b3eb520c/scipy-1.16.1-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:89728678c5ca5abd610aee148c199ac1afb16e19844401ca97d43dc548a354eb", size = 28570009, upload-time = "2025-07-27T16:28:57.017Z" }, + { url = "https://files.pythonhosted.org/packages/f4/69/bd75dbfdd3cf524f4d753484d723594aed62cfaac510123e91a6686d520b/scipy-1.16.1-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:e756d688cb03fd07de0fffad475649b03cb89bee696c98ce508b17c11a03f95c", size = 20841942, upload-time = "2025-07-27T16:29:01.152Z" }, + { url = "https://files.pythonhosted.org/packages/ea/74/add181c87663f178ba7d6144b370243a87af8476664d5435e57d599e6874/scipy-1.16.1-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:5aa2687b9935da3ed89c5dbed5234576589dd28d0bf7cd237501ccfbdf1ad608", size = 23498507, upload-time = "2025-07-27T16:29:05.202Z" }, + { url = "https://files.pythonhosted.org/packages/1d/74/ece2e582a0d9550cee33e2e416cc96737dce423a994d12bbe59716f47ff1/scipy-1.16.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:0851f6a1e537fe9399f35986897e395a1aa61c574b178c0d456be5b1a0f5ca1f", size = 33286040, upload-time = "2025-07-27T16:29:10.201Z" }, + { url = "https://files.pythonhosted.org/packages/e4/82/08e4076df538fb56caa1d489588d880ec7c52d8273a606bb54d660528f7c/scipy-1.16.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:fedc2cbd1baed37474b1924c331b97bdff611d762c196fac1a9b71e67b813b1b", size = 35176096, upload-time = "2025-07-27T16:29:17.091Z" }, + { url = "https://files.pythonhosted.org/packages/fa/79/cd710aab8c921375711a8321c6be696e705a120e3011a643efbbcdeeabcc/scipy-1.16.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:2ef500e72f9623a6735769e4b93e9dcb158d40752cdbb077f305487e3e2d1f45", size = 35490328, upload-time = "2025-07-27T16:29:22.928Z" }, + { url = "https://files.pythonhosted.org/packages/71/73/e9cc3d35ee4526d784520d4494a3e1ca969b071fb5ae5910c036a375ceec/scipy-1.16.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:978d8311674b05a8f7ff2ea6c6bce5d8b45a0cb09d4c5793e0318f448613ea65", size = 37939921, upload-time = "2025-07-27T16:29:29.108Z" }, + { url = "https://files.pythonhosted.org/packages/21/12/c0efd2941f01940119b5305c375ae5c0fcb7ec193f806bd8f158b73a1782/scipy-1.16.1-cp313-cp313-win_amd64.whl", hash = "sha256:81929ed0fa7a5713fcdd8b2e6f73697d3b4c4816d090dd34ff937c20fa90e8ab", size = 38479462, upload-time = "2025-07-27T16:30:24.078Z" }, + { url = "https://files.pythonhosted.org/packages/7a/19/c3d08b675260046a991040e1ea5d65f91f40c7df1045fffff412dcfc6765/scipy-1.16.1-cp313-cp313t-macosx_10_14_x86_64.whl", hash = "sha256:bcc12db731858abda693cecdb3bdc9e6d4bd200213f49d224fe22df82687bdd6", size = 36938832, upload-time = "2025-07-27T16:29:35.057Z" }, + { url = "https://files.pythonhosted.org/packages/81/f2/ce53db652c033a414a5b34598dba6b95f3d38153a2417c5a3883da429029/scipy-1.16.1-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:744d977daa4becb9fc59135e75c069f8d301a87d64f88f1e602a9ecf51e77b27", size = 29093084, upload-time = "2025-07-27T16:29:40.201Z" }, + { url = "https://files.pythonhosted.org/packages/a9/ae/7a10ff04a7dc15f9057d05b33737ade244e4bd195caa3f7cc04d77b9e214/scipy-1.16.1-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:dc54f76ac18073bcecffb98d93f03ed6b81a92ef91b5d3b135dcc81d55a724c7", size = 21365098, upload-time = "2025-07-27T16:29:44.295Z" }, + { url = "https://files.pythonhosted.org/packages/36/ac/029ff710959932ad3c2a98721b20b405f05f752f07344622fd61a47c5197/scipy-1.16.1-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:367d567ee9fc1e9e2047d31f39d9d6a7a04e0710c86e701e053f237d14a9b4f6", size = 23896858, upload-time = "2025-07-27T16:29:48.784Z" }, + { url = "https://files.pythonhosted.org/packages/71/13/d1ef77b6bd7898720e1f0b6b3743cb945f6c3cafa7718eaac8841035ab60/scipy-1.16.1-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:4cf5785e44e19dcd32a0e4807555e1e9a9b8d475c6afff3d21c3c543a6aa84f4", size = 33438311, upload-time = "2025-07-27T16:29:54.164Z" }, + { url = "https://files.pythonhosted.org/packages/2d/e0/e64a6821ffbb00b4c5b05169f1c1fddb4800e9307efe3db3788995a82a2c/scipy-1.16.1-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:3d0b80fb26d3e13a794c71d4b837e2a589d839fd574a6bbb4ee1288c213ad4a3", size = 35279542, upload-time = "2025-07-27T16:30:00.249Z" }, + { url = "https://files.pythonhosted.org/packages/57/59/0dc3c8b43e118f1e4ee2b798dcc96ac21bb20014e5f1f7a8e85cc0653bdb/scipy-1.16.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:8503517c44c18d1030d666cb70aaac1cc8913608816e06742498833b128488b7", size = 35667665, upload-time = "2025-07-27T16:30:05.916Z" }, + { url = "https://files.pythonhosted.org/packages/45/5f/844ee26e34e2f3f9f8febb9343748e72daeaec64fe0c70e9bf1ff84ec955/scipy-1.16.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:30cc4bb81c41831ecfd6dc450baf48ffd80ef5aed0f5cf3ea775740e80f16ecc", size = 38045210, upload-time = "2025-07-27T16:30:11.655Z" }, + { url = "https://files.pythonhosted.org/packages/8d/d7/210f2b45290f444f1de64bc7353aa598ece9f0e90c384b4a156f9b1a5063/scipy-1.16.1-cp313-cp313t-win_amd64.whl", hash = "sha256:c24fa02f7ed23ae514460a22c57eca8f530dbfa50b1cfdbf4f37c05b5309cc39", size = 38593661, upload-time = "2025-07-27T16:30:17.825Z" }, + { url = "https://files.pythonhosted.org/packages/81/ea/84d481a5237ed223bd3d32d6e82d7a6a96e34756492666c260cef16011d1/scipy-1.16.1-cp314-cp314-macosx_10_14_x86_64.whl", hash = "sha256:796a5a9ad36fa3a782375db8f4241ab02a091308eb079746bc0f874c9b998318", size = 36525921, upload-time = "2025-07-27T16:30:30.081Z" }, + { url = "https://files.pythonhosted.org/packages/4e/9f/d9edbdeff9f3a664807ae3aea383e10afaa247e8e6255e6d2aa4515e8863/scipy-1.16.1-cp314-cp314-macosx_12_0_arm64.whl", hash = "sha256:3ea0733a2ff73fd6fdc5fecca54ee9b459f4d74f00b99aced7d9a3adb43fb1cc", size = 28564152, upload-time = "2025-07-27T16:30:35.336Z" }, + { url = "https://files.pythonhosted.org/packages/3b/95/8125bcb1fe04bc267d103e76516243e8d5e11229e6b306bda1024a5423d1/scipy-1.16.1-cp314-cp314-macosx_14_0_arm64.whl", hash = "sha256:85764fb15a2ad994e708258bb4ed8290d1305c62a4e1ef07c414356a24fcfbf8", size = 20836028, upload-time = "2025-07-27T16:30:39.421Z" }, + { url = "https://files.pythonhosted.org/packages/77/9c/bf92e215701fc70bbcd3d14d86337cf56a9b912a804b9c776a269524a9e9/scipy-1.16.1-cp314-cp314-macosx_14_0_x86_64.whl", hash = "sha256:ca66d980469cb623b1759bdd6e9fd97d4e33a9fad5b33771ced24d0cb24df67e", size = 23489666, upload-time = "2025-07-27T16:30:43.663Z" }, + { url = "https://files.pythonhosted.org/packages/5e/00/5e941d397d9adac41b02839011594620d54d99488d1be5be755c00cde9ee/scipy-1.16.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:e7cc1ffcc230f568549fc56670bcf3df1884c30bd652c5da8138199c8c76dae0", size = 33358318, upload-time = "2025-07-27T16:30:48.982Z" }, + { url = "https://files.pythonhosted.org/packages/0e/87/8db3aa10dde6e3e8e7eb0133f24baa011377d543f5b19c71469cf2648026/scipy-1.16.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:3ddfb1e8d0b540cb4ee9c53fc3dea3186f97711248fb94b4142a1b27178d8b4b", size = 35185724, upload-time = "2025-07-27T16:30:54.26Z" }, + { url = "https://files.pythonhosted.org/packages/89/b4/6ab9ae443216807622bcff02690262d8184078ea467efee2f8c93288a3b1/scipy-1.16.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:4dc0e7be79e95d8ba3435d193e0d8ce372f47f774cffd882f88ea4e1e1ddc731", size = 35554335, upload-time = "2025-07-27T16:30:59.765Z" }, + { url = "https://files.pythonhosted.org/packages/9c/9a/d0e9dc03c5269a1afb60661118296a32ed5d2c24298af61b676c11e05e56/scipy-1.16.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:f23634f9e5adb51b2a77766dac217063e764337fbc816aa8ad9aaebcd4397fd3", size = 37960310, upload-time = "2025-07-27T16:31:06.151Z" }, + { url = "https://files.pythonhosted.org/packages/5e/00/c8f3130a50521a7977874817ca89e0599b1b4ee8e938bad8ae798a0e1f0d/scipy-1.16.1-cp314-cp314-win_amd64.whl", hash = "sha256:57d75524cb1c5a374958a2eae3d84e1929bb971204cc9d52213fb8589183fc19", size = 39319239, upload-time = "2025-07-27T16:31:59.942Z" }, + { url = "https://files.pythonhosted.org/packages/f2/f2/1ca3eda54c3a7e4c92f6acef7db7b3a057deb135540d23aa6343ef8ad333/scipy-1.16.1-cp314-cp314t-macosx_10_14_x86_64.whl", hash = "sha256:d8da7c3dd67bcd93f15618938f43ed0995982eb38973023d46d4646c4283ad65", size = 36939460, upload-time = "2025-07-27T16:31:11.865Z" }, + { url = "https://files.pythonhosted.org/packages/80/30/98c2840b293a132400c0940bb9e140171dcb8189588619048f42b2ce7b4f/scipy-1.16.1-cp314-cp314t-macosx_12_0_arm64.whl", hash = "sha256:cc1d2f2fd48ba1e0620554fe5bc44d3e8f5d4185c8c109c7fbdf5af2792cfad2", size = 29093322, upload-time = "2025-07-27T16:31:17.045Z" }, + { url = "https://files.pythonhosted.org/packages/c1/e6/1e6e006e850622cf2a039b62d1a6ddc4497d4851e58b68008526f04a9a00/scipy-1.16.1-cp314-cp314t-macosx_14_0_arm64.whl", hash = "sha256:21a611ced9275cb861bacadbada0b8c0623bc00b05b09eb97f23b370fc2ae56d", size = 21365329, upload-time = "2025-07-27T16:31:21.188Z" }, + { url = "https://files.pythonhosted.org/packages/8e/02/72a5aa5b820589dda9a25e329ca752842bfbbaf635e36bc7065a9b42216e/scipy-1.16.1-cp314-cp314t-macosx_14_0_x86_64.whl", hash = "sha256:8dfbb25dffc4c3dd9371d8ab456ca81beeaf6f9e1c2119f179392f0dc1ab7695", size = 23897544, upload-time = "2025-07-27T16:31:25.408Z" }, + { url = "https://files.pythonhosted.org/packages/2b/dc/7122d806a6f9eb8a33532982234bed91f90272e990f414f2830cfe656e0b/scipy-1.16.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:f0ebb7204f063fad87fc0a0e4ff4a2ff40b2a226e4ba1b7e34bf4b79bf97cd86", size = 33442112, upload-time = "2025-07-27T16:31:30.62Z" }, + { url = "https://files.pythonhosted.org/packages/24/39/e383af23564daa1021a5b3afbe0d8d6a68ec639b943661841f44ac92de85/scipy-1.16.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:f1b9e5962656f2734c2b285a8745358ecb4e4efbadd00208c80a389227ec61ff", size = 35286594, upload-time = "2025-07-27T16:31:36.112Z" }, + { url = "https://files.pythonhosted.org/packages/95/47/1a0b0aff40c3056d955f38b0df5d178350c3d74734ec54f9c68d23910be5/scipy-1.16.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:5e1a106f8c023d57a2a903e771228bf5c5b27b5d692088f457acacd3b54511e4", size = 35665080, upload-time = "2025-07-27T16:31:42.025Z" }, + { url = "https://files.pythonhosted.org/packages/64/df/ce88803e9ed6e27fe9b9abefa157cf2c80e4fa527cf17ee14be41f790ad4/scipy-1.16.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:709559a1db68a9abc3b2c8672c4badf1614f3b440b3ab326d86a5c0491eafae3", size = 38050306, upload-time = "2025-07-27T16:31:48.109Z" }, + { url = "https://files.pythonhosted.org/packages/6e/6c/a76329897a7cae4937d403e623aa6aaea616a0bb5b36588f0b9d1c9a3739/scipy-1.16.1-cp314-cp314t-win_amd64.whl", hash = "sha256:c0c804d60492a0aad7f5b2bb1862f4548b990049e27e828391ff2bf6f7199998", size = 39427705, upload-time = "2025-07-27T16:31:53.96Z" }, ] [[package]] @@ -4647,15 +4932,15 @@ wheels = [ [[package]] name = "sentry-sdk" -version = "2.32.0" +version = "2.34.1" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "certifi" }, { name = "urllib3" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/10/59/eb90c45cb836cf8bec973bba10230ddad1c55e2b2e9ffa9d7d7368948358/sentry_sdk-2.32.0.tar.gz", hash = "sha256:9016c75d9316b0f6921ac14c8cd4fb938f26002430ac5be9945ab280f78bec6b", size = 334932, upload-time = "2025-06-27T08:10:02.89Z" } +sdist = { url = "https://files.pythonhosted.org/packages/3a/38/10d6bfe23df1bfc65ac2262ed10b45823f47f810b0057d3feeea1ca5c7ed/sentry_sdk-2.34.1.tar.gz", hash = "sha256:69274eb8c5c38562a544c3e9f68b5be0a43be4b697f5fd385bf98e4fbe672687", size = 336969, upload-time = "2025-07-30T11:13:37.93Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/01/a1/fc4856bd02d2097324fb7ce05b3021fb850f864b83ca765f6e37e92ff8ca/sentry_sdk-2.32.0-py2.py3-none-any.whl", hash = "sha256:6cf51521b099562d7ce3606da928c473643abe99b00ce4cb5626ea735f4ec345", size = 356122, upload-time = "2025-06-27T08:10:01.424Z" }, + { url = "https://files.pythonhosted.org/packages/2d/3e/bb34de65a5787f76848a533afbb6610e01fbcdd59e76d8679c254e02255c/sentry_sdk-2.34.1-py2.py3-none-any.whl", hash = "sha256:b7a072e1cdc5abc48101d5146e1ae680fa81fe886d8d95aaa25a0b450c818d32", size = 357743, upload-time = "2025-07-30T11:13:36.145Z" }, ] [package.optional-dependencies] @@ -4780,47 +5065,47 @@ wheels = [ [[package]] name = "sqlalchemy" -version = "2.0.39" +version = "2.0.42" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "greenlet", marker = "(python_full_version < '3.14' and platform_machine == 'AMD64') or (python_full_version < '3.14' and platform_machine == 'WIN32') or (python_full_version < '3.14' and platform_machine == 'aarch64') or (python_full_version < '3.14' and platform_machine == 'amd64') or (python_full_version < '3.14' and platform_machine == 'ppc64le') or (python_full_version < '3.14' and platform_machine == 'win32') or (python_full_version < '3.14' and platform_machine == 'x86_64')" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/00/8e/e77fcaa67f8b9f504b4764570191e291524575ddbfe78a90fc656d671fdc/sqlalchemy-2.0.39.tar.gz", hash = "sha256:5d2d1fe548def3267b4c70a8568f108d1fed7cbbeccb9cc166e05af2abc25c22", size = 9644602, upload-time = "2025-03-11T18:27:09.744Z" } +sdist = { url = "https://files.pythonhosted.org/packages/5a/03/a0af991e3a43174d6b83fca4fb399745abceddd1171bdabae48ce877ff47/sqlalchemy-2.0.42.tar.gz", hash = "sha256:160bedd8a5c28765bd5be4dec2d881e109e33b34922e50a3b881a7681773ac5f", size = 9749972, upload-time = "2025-07-29T12:48:09.323Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/8d/1d/9f6a1ba617d6dcf27bad9f227b0d73210c706bfe20828f7f10c3bce09ba8/sqlalchemy-2.0.39-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6827f8c1b2f13f1420545bd6d5b3f9e0b85fe750388425be53d23c760dcf176b", size = 2107430, upload-time = "2025-03-11T19:19:43.164Z" }, - { url = "https://files.pythonhosted.org/packages/28/76/d597b6041b21cea951e8ce011d3ff84544f3986e94df679ffc93d5dc1974/sqlalchemy-2.0.39-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d9f119e7736967c0ea03aff91ac7d04555ee038caf89bb855d93bbd04ae85b41", size = 2098622, upload-time = "2025-03-11T19:19:44.543Z" }, - { url = "https://files.pythonhosted.org/packages/61/9e/a44899b1654fcb6a6559a5fd143cb49423178a2264fda3a9234cf7106e93/sqlalchemy-2.0.39-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4600c7a659d381146e1160235918826c50c80994e07c5b26946a3e7ec6c99249", size = 3080965, upload-time = "2025-03-11T19:13:30.71Z" }, - { url = "https://files.pythonhosted.org/packages/01/30/862aea79563c12aab01270a53f488df83f92d368c2ef09cd84b462444c65/sqlalchemy-2.0.39-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4a06e6c8e31c98ddc770734c63903e39f1947c9e3e5e4bef515c5491b7737dde", size = 3089221, upload-time = "2025-03-11T19:22:37.474Z" }, - { url = "https://files.pythonhosted.org/packages/96/08/de07932454f00fe67b461f28d8d64acfef9e8ac0c28e708f428ae293d0a7/sqlalchemy-2.0.39-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:c4c433f78c2908ae352848f56589c02b982d0e741b7905228fad628999799de4", size = 3045067, upload-time = "2025-03-11T19:13:32.31Z" }, - { url = "https://files.pythonhosted.org/packages/e2/a5/4dec5af9bf40d55674c76979842b7ff2172daaa9c4794d698d360ae83302/sqlalchemy-2.0.39-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:7bd5c5ee1448b6408734eaa29c0d820d061ae18cb17232ce37848376dcfa3e92", size = 3070581, upload-time = "2025-03-11T19:22:39.288Z" }, - { url = "https://files.pythonhosted.org/packages/48/ea/036811123ff844b6c5d76b121d15dba127d9eecdb66f5f87ad03fa339947/sqlalchemy-2.0.39-cp310-cp310-win32.whl", hash = "sha256:87a1ce1f5e5dc4b6f4e0aac34e7bb535cb23bd4f5d9c799ed1633b65c2bcad8c", size = 2079744, upload-time = "2025-03-11T18:42:17.836Z" }, - { url = "https://files.pythonhosted.org/packages/d2/5b/c3f901fd962d16aef730632cf16db5e12110d4834bc7b2315fc57013ac49/sqlalchemy-2.0.39-cp310-cp310-win_amd64.whl", hash = "sha256:871f55e478b5a648c08dd24af44345406d0e636ffe021d64c9b57a4a11518304", size = 2104030, upload-time = "2025-03-11T18:42:20.809Z" }, - { url = "https://files.pythonhosted.org/packages/59/23/d5f6a78cdec8b4c780b58bea2e243b80d324fb4733df5f31df695fe1fb2d/sqlalchemy-2.0.39-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a28f9c238f1e143ff42ab3ba27990dfb964e5d413c0eb001b88794c5c4a528a9", size = 2108611, upload-time = "2025-03-11T19:19:46.241Z" }, - { url = "https://files.pythonhosted.org/packages/c6/25/6bec21ca66c36e3dcebe0141b86787eb17e3a918f4f583741831958775c2/sqlalchemy-2.0.39-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:08cf721bbd4391a0e765fe0fe8816e81d9f43cece54fdb5ac465c56efafecb3d", size = 2099011, upload-time = "2025-03-11T19:19:48.06Z" }, - { url = "https://files.pythonhosted.org/packages/d8/75/e713f1827132fbf6e1ababa39235e486b5c96f911f55430986c17d46e546/sqlalchemy-2.0.39-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7a8517b6d4005facdbd7eb4e8cf54797dbca100a7df459fdaff4c5123265c1cd", size = 3217287, upload-time = "2025-03-11T19:13:34.191Z" }, - { url = "https://files.pythonhosted.org/packages/ff/0a/46f3171f564a19a1daf6e7e0e6c8afc6ecd792f947c6de435519d4d16af3/sqlalchemy-2.0.39-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4b2de1523d46e7016afc7e42db239bd41f2163316935de7c84d0e19af7e69538", size = 3217255, upload-time = "2025-03-11T19:22:41.439Z" }, - { url = "https://files.pythonhosted.org/packages/80/57/12f5444c593536c1b61b34144d4ef4d4bac6e1919ce7b0626faecf1a959e/sqlalchemy-2.0.39-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:412c6c126369ddae171c13987b38df5122cb92015cba6f9ee1193b867f3f1530", size = 3154102, upload-time = "2025-03-11T19:13:36.07Z" }, - { url = "https://files.pythonhosted.org/packages/3a/ad/1c681a46e0f10ecb5ca52d753416bffa8e80d62b3545e25f401a9b4082a5/sqlalchemy-2.0.39-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:6b35e07f1d57b79b86a7de8ecdcefb78485dab9851b9638c2c793c50203b2ae8", size = 3174432, upload-time = "2025-03-11T19:22:42.927Z" }, - { url = "https://files.pythonhosted.org/packages/7c/c2/948569a87bfc5c356fa9b66f03f6da6bd6d6c6d68a89d7c556ed87442c06/sqlalchemy-2.0.39-cp311-cp311-win32.whl", hash = "sha256:3eb14ba1a9d07c88669b7faf8f589be67871d6409305e73e036321d89f1d904e", size = 2079289, upload-time = "2025-03-11T18:42:22.076Z" }, - { url = "https://files.pythonhosted.org/packages/cd/57/f0369e53e3031afabf5a7f7b78134037245dfed8b884d4d0e1a9c87b7c0f/sqlalchemy-2.0.39-cp311-cp311-win_amd64.whl", hash = "sha256:78f1b79132a69fe8bd6b5d91ef433c8eb40688ba782b26f8c9f3d2d9ca23626f", size = 2104704, upload-time = "2025-03-11T18:42:23.314Z" }, - { url = "https://files.pythonhosted.org/packages/98/86/b2cb432aeb00a1eda7ed33ce86d943c2452dc1642f3ec51bfe9eaae9604b/sqlalchemy-2.0.39-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:c457a38351fb6234781d054260c60e531047e4d07beca1889b558ff73dc2014b", size = 2107210, upload-time = "2025-03-11T19:21:50.748Z" }, - { url = "https://files.pythonhosted.org/packages/bf/b0/b2479edb3419ca763ba1b587161c292d181351a33642985506a530f9162b/sqlalchemy-2.0.39-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:018ee97c558b499b58935c5a152aeabf6d36b3d55d91656abeb6d93d663c0c4c", size = 2097599, upload-time = "2025-03-11T19:21:52.273Z" }, - { url = "https://files.pythonhosted.org/packages/58/5e/c5b792a4abcc71e68d44cb531c4845ac539d558975cc61db1afbc8a73c96/sqlalchemy-2.0.39-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5493a8120d6fc185f60e7254fc056a6742f1db68c0f849cfc9ab46163c21df47", size = 3247012, upload-time = "2025-03-11T19:09:25.033Z" }, - { url = "https://files.pythonhosted.org/packages/e0/a8/055fa8a7c5f85e6123b7e40ec2e9e87d63c566011d599b4a5ab75e033017/sqlalchemy-2.0.39-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b2cf5b5ddb69142511d5559c427ff00ec8c0919a1e6c09486e9c32636ea2b9dd", size = 3257851, upload-time = "2025-03-11T19:32:43.917Z" }, - { url = "https://files.pythonhosted.org/packages/f6/40/aec16681e91a22ddf03dbaeb3c659bce96107c5f47d2a7c665eb7f24a014/sqlalchemy-2.0.39-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:9f03143f8f851dd8de6b0c10784363712058f38209e926723c80654c1b40327a", size = 3193155, upload-time = "2025-03-11T19:09:28.855Z" }, - { url = "https://files.pythonhosted.org/packages/21/9d/cef697b137b9eb0b66ab8e9cf193a7c7c048da3b4bb667e5fcea4d90c7a2/sqlalchemy-2.0.39-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:06205eb98cb3dd52133ca6818bf5542397f1dd1b69f7ea28aa84413897380b06", size = 3219770, upload-time = "2025-03-11T19:32:48.237Z" }, - { url = "https://files.pythonhosted.org/packages/57/05/e109ca7dde837d8f2f1b235357e4e607f8af81ad8bc29c230fed8245687d/sqlalchemy-2.0.39-cp312-cp312-win32.whl", hash = "sha256:7f5243357e6da9a90c56282f64b50d29cba2ee1f745381174caacc50d501b109", size = 2077567, upload-time = "2025-03-11T18:43:13.739Z" }, - { url = "https://files.pythonhosted.org/packages/97/c6/25ca068e38c29ed6be0fde2521888f19da923dbd58f5ff16af1b73ec9b58/sqlalchemy-2.0.39-cp312-cp312-win_amd64.whl", hash = "sha256:2ed107331d188a286611cea9022de0afc437dd2d3c168e368169f27aa0f61338", size = 2103136, upload-time = "2025-03-11T18:43:15.316Z" }, - { url = "https://files.pythonhosted.org/packages/32/47/55778362642344324a900b6b2b1b26f7f02225b374eb93adc4a363a2d8ae/sqlalchemy-2.0.39-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:fe193d3ae297c423e0e567e240b4324d6b6c280a048e64c77a3ea6886cc2aa87", size = 2102484, upload-time = "2025-03-11T19:21:54.018Z" }, - { url = "https://files.pythonhosted.org/packages/1b/e1/f5f26f67d095f408138f0fb2c37f827f3d458f2ae51881546045e7e55566/sqlalchemy-2.0.39-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:79f4f502125a41b1b3b34449e747a6abfd52a709d539ea7769101696bdca6716", size = 2092955, upload-time = "2025-03-11T19:21:55.658Z" }, - { url = "https://files.pythonhosted.org/packages/c5/c2/0db0022fc729a54fc7aef90a3457bf20144a681baef82f7357832b44c566/sqlalchemy-2.0.39-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8a10ca7f8a1ea0fd5630f02feb055b0f5cdfcd07bb3715fc1b6f8cb72bf114e4", size = 3179367, upload-time = "2025-03-11T19:09:31.059Z" }, - { url = "https://files.pythonhosted.org/packages/33/b7/f33743d87d0b4e7a1f12e1631a4b9a29a8d0d7c0ff9b8c896d0bf897fb60/sqlalchemy-2.0.39-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e6b0a1c7ed54a5361aaebb910c1fa864bae34273662bb4ff788a527eafd6e14d", size = 3192705, upload-time = "2025-03-11T19:32:50.795Z" }, - { url = "https://files.pythonhosted.org/packages/c9/74/6814f31719109c973ddccc87bdfc2c2a9bc013bec64a375599dc5269a310/sqlalchemy-2.0.39-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:52607d0ebea43cf214e2ee84a6a76bc774176f97c5a774ce33277514875a718e", size = 3125927, upload-time = "2025-03-11T19:09:32.678Z" }, - { url = "https://files.pythonhosted.org/packages/e8/6b/18f476f4baaa9a0e2fbc6808d8f958a5268b637c8eccff497bf96908d528/sqlalchemy-2.0.39-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:c08a972cbac2a14810463aec3a47ff218bb00c1a607e6689b531a7c589c50723", size = 3154055, upload-time = "2025-03-11T19:32:53.344Z" }, - { url = "https://files.pythonhosted.org/packages/b4/60/76714cecb528da46bc53a0dd36d1ccef2f74ef25448b630a0a760ad07bdb/sqlalchemy-2.0.39-cp313-cp313-win32.whl", hash = "sha256:23c5aa33c01bd898f879db158537d7e7568b503b15aad60ea0c8da8109adf3e7", size = 2075315, upload-time = "2025-03-11T18:43:16.946Z" }, - { url = "https://files.pythonhosted.org/packages/5b/7c/76828886d913700548bac5851eefa5b2c0251ebc37921fe476b93ce81b50/sqlalchemy-2.0.39-cp313-cp313-win_amd64.whl", hash = "sha256:4dabd775fd66cf17f31f8625fc0e4cfc5765f7982f94dc09b9e5868182cb71c0", size = 2099175, upload-time = "2025-03-11T18:43:18.141Z" }, - { url = "https://files.pythonhosted.org/packages/7b/0f/d69904cb7d17e65c65713303a244ec91fd3c96677baf1d6331457fd47e16/sqlalchemy-2.0.39-py3-none-any.whl", hash = "sha256:a1c6b0a5e3e326a466d809b651c63f278b1256146a377a528b6938a279da334f", size = 1898621, upload-time = "2025-03-11T19:20:33.027Z" }, + { url = "https://files.pythonhosted.org/packages/3a/12/33ff43214c2c6cc87499b402fe419869d2980a08101c991daae31345e901/sqlalchemy-2.0.42-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:172b244753e034d91a826f80a9a70f4cbac690641207f2217f8404c261473efe", size = 2130469, upload-time = "2025-07-29T13:25:15.215Z" }, + { url = "https://files.pythonhosted.org/packages/63/c4/4d2f2c21ddde9a2c7f7b258b202d6af0bac9fc5abfca5de367461c86d766/sqlalchemy-2.0.42-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:be28f88abd74af8519a4542185ee80ca914933ca65cdfa99504d82af0e4210df", size = 2120393, upload-time = "2025-07-29T13:25:16.367Z" }, + { url = "https://files.pythonhosted.org/packages/a8/0d/5ff2f2dfbac10e4a9ade1942f8985ffc4bd8f157926b1f8aed553dfe3b88/sqlalchemy-2.0.42-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:98b344859d282fde388047f1710860bb23f4098f705491e06b8ab52a48aafea9", size = 3206173, upload-time = "2025-07-29T13:29:00.623Z" }, + { url = "https://files.pythonhosted.org/packages/1f/59/71493fe74bd76a773ae8fa0c50bfc2ccac1cbf7cfa4f9843ad92897e6dcf/sqlalchemy-2.0.42-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:97978d223b11f1d161390a96f28c49a13ce48fdd2fed7683167c39bdb1b8aa09", size = 3206910, upload-time = "2025-07-29T13:24:50.58Z" }, + { url = "https://files.pythonhosted.org/packages/a9/51/01b1d85bbb492a36b25df54a070a0f887052e9b190dff71263a09f48576b/sqlalchemy-2.0.42-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:e35b9b000c59fcac2867ab3a79fc368a6caca8706741beab3b799d47005b3407", size = 3145479, upload-time = "2025-07-29T13:29:02.3Z" }, + { url = "https://files.pythonhosted.org/packages/fa/78/10834f010e2a3df689f6d1888ea6ea0074ff10184e6a550b8ed7f9189a89/sqlalchemy-2.0.42-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:bc7347ad7a7b1c78b94177f2d57263113bb950e62c59b96ed839b131ea4234e1", size = 3169605, upload-time = "2025-07-29T13:24:52.135Z" }, + { url = "https://files.pythonhosted.org/packages/0c/75/e6fdd66d237582c8488dd1dfa90899f6502822fbd866363ab70e8ac4a2ce/sqlalchemy-2.0.42-cp310-cp310-win32.whl", hash = "sha256:739e58879b20a179156b63aa21f05ccacfd3e28e08e9c2b630ff55cd7177c4f1", size = 2098759, upload-time = "2025-07-29T13:23:55.809Z" }, + { url = "https://files.pythonhosted.org/packages/a5/a8/366db192641c2c2d1ea8977e7c77b65a0d16a7858907bb76ea68b9dd37af/sqlalchemy-2.0.42-cp310-cp310-win_amd64.whl", hash = "sha256:1aef304ada61b81f1955196f584b9e72b798ed525a7c0b46e09e98397393297b", size = 2122423, upload-time = "2025-07-29T13:23:56.968Z" }, + { url = "https://files.pythonhosted.org/packages/ea/3c/7bfd65f3c2046e2fb4475b21fa0b9d7995f8c08bfa0948df7a4d2d0de869/sqlalchemy-2.0.42-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c34100c0b7ea31fbc113c124bcf93a53094f8951c7bf39c45f39d327bad6d1e7", size = 2133779, upload-time = "2025-07-29T13:25:18.446Z" }, + { url = "https://files.pythonhosted.org/packages/66/17/19be542fe9dd64a766090e90e789e86bdaa608affda6b3c1e118a25a2509/sqlalchemy-2.0.42-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ad59dbe4d1252448c19d171dfba14c74e7950b46dc49d015722a4a06bfdab2b0", size = 2123843, upload-time = "2025-07-29T13:25:19.749Z" }, + { url = "https://files.pythonhosted.org/packages/14/fc/83e45fc25f0acf1c26962ebff45b4c77e5570abb7c1a425a54b00bcfa9c7/sqlalchemy-2.0.42-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f9187498c2149919753a7fd51766ea9c8eecdec7da47c1b955fa8090bc642eaa", size = 3294824, upload-time = "2025-07-29T13:29:03.879Z" }, + { url = "https://files.pythonhosted.org/packages/b9/81/421efc09837104cd1a267d68b470e5b7b6792c2963b8096ca1e060ba0975/sqlalchemy-2.0.42-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1f092cf83ebcafba23a247f5e03f99f5436e3ef026d01c8213b5eca48ad6efa9", size = 3294662, upload-time = "2025-07-29T13:24:53.715Z" }, + { url = "https://files.pythonhosted.org/packages/2f/ba/55406e09d32ed5e5f9e8aaec5ef70c4f20b4ae25b9fa9784f4afaa28e7c3/sqlalchemy-2.0.42-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:fc6afee7e66fdba4f5a68610b487c1f754fccdc53894a9567785932dbb6a265e", size = 3229413, upload-time = "2025-07-29T13:29:05.638Z" }, + { url = "https://files.pythonhosted.org/packages/d4/c4/df596777fce27bde2d1a4a2f5a7ddea997c0c6d4b5246aafba966b421cc0/sqlalchemy-2.0.42-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:260ca1d2e5910f1f1ad3fe0113f8fab28657cee2542cb48c2f342ed90046e8ec", size = 3255563, upload-time = "2025-07-29T13:24:55.17Z" }, + { url = "https://files.pythonhosted.org/packages/16/ed/b9c4a939b314400f43f972c9eb0091da59d8466ef9c51d0fd5b449edc495/sqlalchemy-2.0.42-cp311-cp311-win32.whl", hash = "sha256:2eb539fd83185a85e5fcd6b19214e1c734ab0351d81505b0f987705ba0a1e231", size = 2098513, upload-time = "2025-07-29T13:23:58.946Z" }, + { url = "https://files.pythonhosted.org/packages/91/72/55b0c34e39feb81991aa3c974d85074c356239ac1170dfb81a474b4c23b3/sqlalchemy-2.0.42-cp311-cp311-win_amd64.whl", hash = "sha256:9193fa484bf00dcc1804aecbb4f528f1123c04bad6a08d7710c909750fa76aeb", size = 2123380, upload-time = "2025-07-29T13:24:00.155Z" }, + { url = "https://files.pythonhosted.org/packages/61/66/ac31a9821fc70a7376321fb2c70fdd7eadbc06dadf66ee216a22a41d6058/sqlalchemy-2.0.42-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:09637a0872689d3eb71c41e249c6f422e3e18bbd05b4cd258193cfc7a9a50da2", size = 2132203, upload-time = "2025-07-29T13:29:19.291Z" }, + { url = "https://files.pythonhosted.org/packages/fc/ba/fd943172e017f955d7a8b3a94695265b7114efe4854feaa01f057e8f5293/sqlalchemy-2.0.42-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a3cb3ec67cc08bea54e06b569398ae21623534a7b1b23c258883a7c696ae10df", size = 2120373, upload-time = "2025-07-29T13:29:21.049Z" }, + { url = "https://files.pythonhosted.org/packages/ea/a2/b5f7d233d063ffadf7e9fff3898b42657ba154a5bec95a96f44cba7f818b/sqlalchemy-2.0.42-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e87e6a5ef6f9d8daeb2ce5918bf5fddecc11cae6a7d7a671fcc4616c47635e01", size = 3317685, upload-time = "2025-07-29T13:26:40.837Z" }, + { url = "https://files.pythonhosted.org/packages/86/00/fcd8daab13a9119d41f3e485a101c29f5d2085bda459154ba354c616bf4e/sqlalchemy-2.0.42-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b718011a9d66c0d2f78e1997755cd965f3414563b31867475e9bc6efdc2281d", size = 3326967, upload-time = "2025-07-29T13:22:31.009Z" }, + { url = "https://files.pythonhosted.org/packages/a3/85/e622a273d648d39d6771157961956991a6d760e323e273d15e9704c30ccc/sqlalchemy-2.0.42-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:16d9b544873fe6486dddbb859501a07d89f77c61d29060bb87d0faf7519b6a4d", size = 3255331, upload-time = "2025-07-29T13:26:42.579Z" }, + { url = "https://files.pythonhosted.org/packages/3a/a0/2c2338b592c7b0a61feffd005378c084b4c01fabaf1ed5f655ab7bd446f0/sqlalchemy-2.0.42-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:21bfdf57abf72fa89b97dd74d3187caa3172a78c125f2144764a73970810c4ee", size = 3291791, upload-time = "2025-07-29T13:22:32.454Z" }, + { url = "https://files.pythonhosted.org/packages/41/19/b8a2907972a78285fdce4c880ecaab3c5067eb726882ca6347f7a4bf64f6/sqlalchemy-2.0.42-cp312-cp312-win32.whl", hash = "sha256:78b46555b730a24901ceb4cb901c6b45c9407f8875209ed3c5d6bcd0390a6ed1", size = 2096180, upload-time = "2025-07-29T13:16:08.952Z" }, + { url = "https://files.pythonhosted.org/packages/48/1f/67a78f3dfd08a2ed1c7be820fe7775944f5126080b5027cc859084f8e223/sqlalchemy-2.0.42-cp312-cp312-win_amd64.whl", hash = "sha256:4c94447a016f36c4da80072e6c6964713b0af3c8019e9c4daadf21f61b81ab53", size = 2123533, upload-time = "2025-07-29T13:16:11.705Z" }, + { url = "https://files.pythonhosted.org/packages/e9/7e/25d8c28b86730c9fb0e09156f601d7a96d1c634043bf8ba36513eb78887b/sqlalchemy-2.0.42-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:941804f55c7d507334da38133268e3f6e5b0340d584ba0f277dd884197f4ae8c", size = 2127905, upload-time = "2025-07-29T13:29:22.249Z" }, + { url = "https://files.pythonhosted.org/packages/e5/a1/9d8c93434d1d983880d976400fcb7895a79576bd94dca61c3b7b90b1ed0d/sqlalchemy-2.0.42-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:95d3d06a968a760ce2aa6a5889fefcbdd53ca935735e0768e1db046ec08cbf01", size = 2115726, upload-time = "2025-07-29T13:29:23.496Z" }, + { url = "https://files.pythonhosted.org/packages/a2/cc/d33646fcc24c87cc4e30a03556b611a4e7bcfa69a4c935bffb923e3c89f4/sqlalchemy-2.0.42-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4cf10396a8a700a0f38ccd220d940be529c8f64435c5d5b29375acab9267a6c9", size = 3246007, upload-time = "2025-07-29T13:26:44.166Z" }, + { url = "https://files.pythonhosted.org/packages/67/08/4e6c533d4c7f5e7c4cbb6fe8a2c4e813202a40f05700d4009a44ec6e236d/sqlalchemy-2.0.42-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9cae6c2b05326d7c2c7c0519f323f90e0fb9e8afa783c6a05bb9ee92a90d0f04", size = 3250919, upload-time = "2025-07-29T13:22:33.74Z" }, + { url = "https://files.pythonhosted.org/packages/5c/82/f680e9a636d217aece1b9a8030d18ad2b59b5e216e0c94e03ad86b344af3/sqlalchemy-2.0.42-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f50f7b20677b23cfb35b6afcd8372b2feb348a38e3033f6447ee0704540be894", size = 3180546, upload-time = "2025-07-29T13:26:45.648Z" }, + { url = "https://files.pythonhosted.org/packages/7d/a2/8c8f6325f153894afa3775584c429cc936353fb1db26eddb60a549d0ff4b/sqlalchemy-2.0.42-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9d88a1c0d66d24e229e3938e1ef16ebdbd2bf4ced93af6eff55225f7465cf350", size = 3216683, upload-time = "2025-07-29T13:22:34.977Z" }, + { url = "https://files.pythonhosted.org/packages/39/44/3a451d7fa4482a8ffdf364e803ddc2cfcafc1c4635fb366f169ecc2c3b11/sqlalchemy-2.0.42-cp313-cp313-win32.whl", hash = "sha256:45c842c94c9ad546c72225a0c0d1ae8ef3f7c212484be3d429715a062970e87f", size = 2093990, upload-time = "2025-07-29T13:16:13.036Z" }, + { url = "https://files.pythonhosted.org/packages/4b/9e/9bce34f67aea0251c8ac104f7bdb2229d58fb2e86a4ad8807999c4bee34b/sqlalchemy-2.0.42-cp313-cp313-win_amd64.whl", hash = "sha256:eb9905f7f1e49fd57a7ed6269bc567fcbbdac9feadff20ad6bd7707266a91577", size = 2120473, upload-time = "2025-07-29T13:16:14.502Z" }, + { url = "https://files.pythonhosted.org/packages/ee/55/ba2546ab09a6adebc521bf3974440dc1d8c06ed342cceb30ed62a8858835/sqlalchemy-2.0.42-py3-none-any.whl", hash = "sha256:defcdff7e661f0043daa381832af65d616e060ddb54d3fe4476f51df7eaa1835", size = 1922072, upload-time = "2025-07-29T13:09:17.061Z" }, ] [package.optional-dependencies] @@ -4830,35 +5115,36 @@ asyncio = [ [[package]] name = "sqlglot" -version = "27.0.0" +version = "27.6.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/4c/f6/97ef44306cf04419487f4369d9828c2fe6956439c673a67c099276962379/sqlglot-27.0.0.tar.gz", hash = "sha256:828736ff811a304e3bf6b05386aa0461a10f77f95e93dd1a2febc20f0fc4ada7", size = 5356535, upload-time = "2025-07-07T21:24:06.467Z" } +sdist = { url = "https://files.pythonhosted.org/packages/35/aa/0c93a9974c0dc0726aa1a3ebc956f88bc5f6694d811b23d9a31085bb812b/sqlglot-27.6.0.tar.gz", hash = "sha256:413bc6c9978710bd97110e9a4363c517dfb92954d0a9fd2922e87c5707395deb", size = 5409152, upload-time = "2025-08-01T16:03:12.516Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/31/ae/a68bf87d667f3e6ac33b4a7c111846bc9ba2169416b835d5879881df902b/sqlglot-27.0.0-py3-none-any.whl", hash = "sha256:96722da415a607914b1c49acd8f4ffbe65e5c2feee9254a9edf63f70e0fe0208", size = 479554, upload-time = "2025-07-07T21:24:04.031Z" }, + { url = "https://files.pythonhosted.org/packages/18/58/8b267b6b3c27ccb16367b49db2ac8c6032939f4fbffdc66dd0831833a7b9/sqlglot-27.6.0-py3-none-any.whl", hash = "sha256:828e6eea4e608f221c14f9e5dbe2f9f73142f11ba289d84f58c56ca44ee49d23", size = 496769, upload-time = "2025-08-01T16:03:09.914Z" }, ] [[package]] name = "sse-starlette" -version = "2.4.1" +version = "3.0.2" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "anyio" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/07/3e/eae74d8d33e3262bae0a7e023bb43d8bdd27980aa3557333f4632611151f/sse_starlette-2.4.1.tar.gz", hash = "sha256:7c8a800a1ca343e9165fc06bbda45c78e4c6166320707ae30b416c42da070926", size = 18635, upload-time = "2025-07-06T09:41:33.631Z" } +sdist = { url = "https://files.pythonhosted.org/packages/42/6f/22ed6e33f8a9e76ca0a412405f31abb844b779d52c5f96660766edcd737c/sse_starlette-3.0.2.tar.gz", hash = "sha256:ccd60b5765ebb3584d0de2d7a6e4f745672581de4f5005ab31c3a25d10b52b3a", size = 20985, upload-time = "2025-07-27T09:07:44.565Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e4/f1/6c7eaa8187ba789a6dd6d74430307478d2a91c23a5452ab339b6fbe15a08/sse_starlette-2.4.1-py3-none-any.whl", hash = "sha256:08b77ea898ab1a13a428b2b6f73cfe6d0e607a7b4e15b9bb23e4a37b087fd39a", size = 10824, upload-time = "2025-07-06T09:41:32.321Z" }, + { url = "https://files.pythonhosted.org/packages/ef/10/c78f463b4ef22eef8491f218f692be838282cd65480f6e423d7730dfd1fb/sse_starlette-3.0.2-py3-none-any.whl", hash = "sha256:16b7cbfddbcd4eaca11f7b586f3b8a080f1afe952c15813455b162edea619e5a", size = 11297, upload-time = "2025-07-27T09:07:43.268Z" }, ] [[package]] name = "starlette" -version = "0.45.3" +version = "0.47.2" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "anyio" }, + { name = "typing-extensions", marker = "python_full_version < '3.13'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/ff/fb/2984a686808b89a6781526129a4b51266f678b2d2b97ab2d325e56116df8/starlette-0.45.3.tar.gz", hash = "sha256:2cbcba2a75806f8a41c722141486f37c28e30a0921c5f6fe4346cb0dcee1302f", size = 2574076, upload-time = "2025-01-24T11:17:36.535Z" } +sdist = { url = "https://files.pythonhosted.org/packages/04/57/d062573f391d062710d4088fa1369428c38d51460ab6fedff920efef932e/starlette-0.47.2.tar.gz", hash = "sha256:6ae9aa5db235e4846decc1e7b79c4f346adf41e9777aebeb49dfd09bbd7023d8", size = 2583948, upload-time = "2025-07-20T17:31:58.522Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/d9/61/f2b52e107b1fc8944b33ef56bf6ac4ebbe16d91b94d2b87ce013bf63fb84/starlette-0.45.3-py3-none-any.whl", hash = "sha256:dfb6d332576f136ec740296c7e8bb8c8a7125044e7c6da30744718880cdd059d", size = 71507, upload-time = "2025-01-24T11:17:34.182Z" }, + { url = "https://files.pythonhosted.org/packages/f7/1f/b876b1f83aef204198a42dc101613fefccb32258e5428b5f9259677864b4/starlette-0.47.2-py3-none-any.whl", hash = "sha256:c5847e96134e5c5371ee9fac6fdf1a67336d5815e09eb2a01fdb57a351ef915b", size = 72984, upload-time = "2025-07-20T17:31:56.738Z" }, ] [[package]] @@ -4941,27 +5227,27 @@ wheels = [ [[package]] name = "tokenizers" -version = "0.21.2" +version = "0.21.4" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "huggingface-hub" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/ab/2d/b0fce2b8201635f60e8c95990080f58461cc9ca3d5026de2e900f38a7f21/tokenizers-0.21.2.tar.gz", hash = "sha256:fdc7cffde3e2113ba0e6cc7318c40e3438a4d74bbc62bf04bcc63bdfb082ac77", size = 351545, upload-time = "2025-06-24T10:24:52.449Z" } +sdist = { url = "https://files.pythonhosted.org/packages/c2/2f/402986d0823f8d7ca139d969af2917fefaa9b947d1fb32f6168c509f2492/tokenizers-0.21.4.tar.gz", hash = "sha256:fa23f85fbc9a02ec5c6978da172cdcbac23498c3ca9f3645c5c68740ac007880", size = 351253, upload-time = "2025-07-28T15:48:54.325Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/1d/cc/2936e2d45ceb130a21d929743f1e9897514691bec123203e10837972296f/tokenizers-0.21.2-cp39-abi3-macosx_10_12_x86_64.whl", hash = "sha256:342b5dfb75009f2255ab8dec0041287260fed5ce00c323eb6bab639066fef8ec", size = 2875206, upload-time = "2025-06-24T10:24:42.755Z" }, - { url = "https://files.pythonhosted.org/packages/6c/e6/33f41f2cc7861faeba8988e7a77601407bf1d9d28fc79c5903f8f77df587/tokenizers-0.21.2-cp39-abi3-macosx_11_0_arm64.whl", hash = "sha256:126df3205d6f3a93fea80c7a8a266a78c1bd8dd2fe043386bafdd7736a23e45f", size = 2732655, upload-time = "2025-06-24T10:24:41.56Z" }, - { url = "https://files.pythonhosted.org/packages/33/2b/1791eb329c07122a75b01035b1a3aa22ad139f3ce0ece1b059b506d9d9de/tokenizers-0.21.2-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4a32cd81be21168bd0d6a0f0962d60177c447a1aa1b1e48fa6ec9fc728ee0b12", size = 3019202, upload-time = "2025-06-24T10:24:31.791Z" }, - { url = "https://files.pythonhosted.org/packages/05/15/fd2d8104faa9f86ac68748e6f7ece0b5eb7983c7efc3a2c197cb98c99030/tokenizers-0.21.2-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:8bd8999538c405133c2ab999b83b17c08b7fc1b48c1ada2469964605a709ef91", size = 2934539, upload-time = "2025-06-24T10:24:34.567Z" }, - { url = "https://files.pythonhosted.org/packages/a5/2e/53e8fd053e1f3ffbe579ca5f9546f35ac67cf0039ed357ad7ec57f5f5af0/tokenizers-0.21.2-cp39-abi3-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5e9944e61239b083a41cf8fc42802f855e1dca0f499196df37a8ce219abac6eb", size = 3248665, upload-time = "2025-06-24T10:24:39.024Z" }, - { url = "https://files.pythonhosted.org/packages/00/15/79713359f4037aa8f4d1f06ffca35312ac83629da062670e8830917e2153/tokenizers-0.21.2-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:514cd43045c5d546f01142ff9c79a96ea69e4b5cda09e3027708cb2e6d5762ab", size = 3451305, upload-time = "2025-06-24T10:24:36.133Z" }, - { url = "https://files.pythonhosted.org/packages/38/5f/959f3a8756fc9396aeb704292777b84f02a5c6f25c3fc3ba7530db5feb2c/tokenizers-0.21.2-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b1b9405822527ec1e0f7d8d2fdb287a5730c3a6518189c968254a8441b21faae", size = 3214757, upload-time = "2025-06-24T10:24:37.784Z" }, - { url = "https://files.pythonhosted.org/packages/c5/74/f41a432a0733f61f3d21b288de6dfa78f7acff309c6f0f323b2833e9189f/tokenizers-0.21.2-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fed9a4d51c395103ad24f8e7eb976811c57fbec2af9f133df471afcd922e5020", size = 3121887, upload-time = "2025-06-24T10:24:40.293Z" }, - { url = "https://files.pythonhosted.org/packages/3c/6a/bc220a11a17e5d07b0dfb3b5c628621d4dcc084bccd27cfaead659963016/tokenizers-0.21.2-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:2c41862df3d873665ec78b6be36fcc30a26e3d4902e9dd8608ed61d49a48bc19", size = 9091965, upload-time = "2025-06-24T10:24:44.431Z" }, - { url = "https://files.pythonhosted.org/packages/6c/bd/ac386d79c4ef20dc6f39c4706640c24823dca7ebb6f703bfe6b5f0292d88/tokenizers-0.21.2-cp39-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:ed21dc7e624e4220e21758b2e62893be7101453525e3d23264081c9ef9a6d00d", size = 9053372, upload-time = "2025-06-24T10:24:46.455Z" }, - { url = "https://files.pythonhosted.org/packages/63/7b/5440bf203b2a5358f074408f7f9c42884849cd9972879e10ee6b7a8c3b3d/tokenizers-0.21.2-cp39-abi3-musllinux_1_2_i686.whl", hash = "sha256:0e73770507e65a0e0e2a1affd6b03c36e3bc4377bd10c9ccf51a82c77c0fe365", size = 9298632, upload-time = "2025-06-24T10:24:48.446Z" }, - { url = "https://files.pythonhosted.org/packages/a4/d2/faa1acac3f96a7427866e94ed4289949b2524f0c1878512516567d80563c/tokenizers-0.21.2-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:106746e8aa9014a12109e58d540ad5465b4c183768ea96c03cbc24c44d329958", size = 9470074, upload-time = "2025-06-24T10:24:50.378Z" }, - { url = "https://files.pythonhosted.org/packages/d8/a5/896e1ef0707212745ae9f37e84c7d50269411aef2e9ccd0de63623feecdf/tokenizers-0.21.2-cp39-abi3-win32.whl", hash = "sha256:cabda5a6d15d620b6dfe711e1af52205266d05b379ea85a8a301b3593c60e962", size = 2330115, upload-time = "2025-06-24T10:24:55.069Z" }, - { url = "https://files.pythonhosted.org/packages/13/c3/cc2755ee10be859c4338c962a35b9a663788c0c0b50c0bdd8078fb6870cf/tokenizers-0.21.2-cp39-abi3-win_amd64.whl", hash = "sha256:58747bb898acdb1007f37a7bbe614346e98dc28708ffb66a3fd50ce169ac6c98", size = 2509918, upload-time = "2025-06-24T10:24:53.71Z" }, + { url = "https://files.pythonhosted.org/packages/98/c6/fdb6f72bf6454f52eb4a2510be7fb0f614e541a2554d6210e370d85efff4/tokenizers-0.21.4-cp39-abi3-macosx_10_12_x86_64.whl", hash = "sha256:2ccc10a7c3bcefe0f242867dc914fc1226ee44321eb618cfe3019b5df3400133", size = 2863987, upload-time = "2025-07-28T15:48:44.877Z" }, + { url = "https://files.pythonhosted.org/packages/8d/a6/28975479e35ddc751dc1ddc97b9b69bf7fcf074db31548aab37f8116674c/tokenizers-0.21.4-cp39-abi3-macosx_11_0_arm64.whl", hash = "sha256:5e2f601a8e0cd5be5cc7506b20a79112370b9b3e9cb5f13f68ab11acd6ca7d60", size = 2732457, upload-time = "2025-07-28T15:48:43.265Z" }, + { url = "https://files.pythonhosted.org/packages/aa/8f/24f39d7b5c726b7b0be95dca04f344df278a3fe3a4deb15a975d194cbb32/tokenizers-0.21.4-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:39b376f5a1aee67b4d29032ee85511bbd1b99007ec735f7f35c8a2eb104eade5", size = 3012624, upload-time = "2025-07-28T13:22:43.895Z" }, + { url = "https://files.pythonhosted.org/packages/58/47/26358925717687a58cb74d7a508de96649544fad5778f0cd9827398dc499/tokenizers-0.21.4-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2107ad649e2cda4488d41dfd031469e9da3fcbfd6183e74e4958fa729ffbf9c6", size = 2939681, upload-time = "2025-07-28T13:22:47.499Z" }, + { url = "https://files.pythonhosted.org/packages/99/6f/cc300fea5db2ab5ddc2c8aea5757a27b89c84469899710c3aeddc1d39801/tokenizers-0.21.4-cp39-abi3-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3c73012da95afafdf235ba80047699df4384fdc481527448a078ffd00e45a7d9", size = 3247445, upload-time = "2025-07-28T15:48:39.711Z" }, + { url = "https://files.pythonhosted.org/packages/be/bf/98cb4b9c3c4afd8be89cfa6423704337dc20b73eb4180397a6e0d456c334/tokenizers-0.21.4-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f23186c40395fc390d27f519679a58023f368a0aad234af145e0f39ad1212732", size = 3428014, upload-time = "2025-07-28T13:22:49.569Z" }, + { url = "https://files.pythonhosted.org/packages/75/c7/96c1cc780e6ca7f01a57c13235dd05b7bc1c0f3588512ebe9d1331b5f5ae/tokenizers-0.21.4-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cc88bb34e23a54cc42713d6d98af5f1bf79c07653d24fe984d2d695ba2c922a2", size = 3193197, upload-time = "2025-07-28T13:22:51.471Z" }, + { url = "https://files.pythonhosted.org/packages/f2/90/273b6c7ec78af547694eddeea9e05de771278bd20476525ab930cecaf7d8/tokenizers-0.21.4-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:51b7eabb104f46c1c50b486520555715457ae833d5aee9ff6ae853d1130506ff", size = 3115426, upload-time = "2025-07-28T15:48:41.439Z" }, + { url = "https://files.pythonhosted.org/packages/91/43/c640d5a07e95f1cf9d2c92501f20a25f179ac53a4f71e1489a3dcfcc67ee/tokenizers-0.21.4-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:714b05b2e1af1288bd1bc56ce496c4cebb64a20d158ee802887757791191e6e2", size = 9089127, upload-time = "2025-07-28T15:48:46.472Z" }, + { url = "https://files.pythonhosted.org/packages/44/a1/dd23edd6271d4dca788e5200a807b49ec3e6987815cd9d0a07ad9c96c7c2/tokenizers-0.21.4-cp39-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:1340ff877ceedfa937544b7d79f5b7becf33a4cfb58f89b3b49927004ef66f78", size = 9055243, upload-time = "2025-07-28T15:48:48.539Z" }, + { url = "https://files.pythonhosted.org/packages/21/2b/b410d6e9021c4b7ddb57248304dc817c4d4970b73b6ee343674914701197/tokenizers-0.21.4-cp39-abi3-musllinux_1_2_i686.whl", hash = "sha256:3c1f4317576e465ac9ef0d165b247825a2a4078bcd01cba6b54b867bdf9fdd8b", size = 9298237, upload-time = "2025-07-28T15:48:50.443Z" }, + { url = "https://files.pythonhosted.org/packages/b7/0a/42348c995c67e2e6e5c89ffb9cfd68507cbaeb84ff39c49ee6e0a6dd0fd2/tokenizers-0.21.4-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:c212aa4e45ec0bb5274b16b6f31dd3f1c41944025c2358faaa5782c754e84c24", size = 9461980, upload-time = "2025-07-28T15:48:52.325Z" }, + { url = "https://files.pythonhosted.org/packages/3d/d3/dacccd834404cd71b5c334882f3ba40331ad2120e69ded32cf5fda9a7436/tokenizers-0.21.4-cp39-abi3-win32.whl", hash = "sha256:6c42a930bc5f4c47f4ea775c91de47d27910881902b0f20e4990ebe045a415d0", size = 2329871, upload-time = "2025-07-28T15:48:56.841Z" }, + { url = "https://files.pythonhosted.org/packages/41/f2/fd673d979185f5dcbac4be7d09461cbb99751554ffb6718d0013af8604cb/tokenizers-0.21.4-cp39-abi3-win_amd64.whl", hash = "sha256:475d807a5c3eb72c59ad9b5fcdb254f6e17f53dfcbb9903233b0dfa9c943b597", size = 2507568, upload-time = "2025-07-28T15:48:55.456Z" }, ] [[package]] @@ -5026,12 +5312,13 @@ wheels = [ [[package]] name = "transformers" -version = "4.53.2" +version = "4.54.1" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "filelock" }, { name = "huggingface-hub" }, - { name = "numpy" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "numpy", version = "2.3.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, { name = "packaging" }, { name = "pyyaml" }, { name = "regex" }, @@ -5040,9 +5327,9 @@ dependencies = [ { name = "tokenizers" }, { name = "tqdm" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/4c/67/80f51466ec447028fd84469b208eb742533ce06cc8fad2e3181380199e5c/transformers-4.53.2.tar.gz", hash = "sha256:6c3ed95edfb1cba71c4245758f1b4878c93bf8cde77d076307dacb2cbbd72be2", size = 9201233, upload-time = "2025-07-11T12:39:08.742Z" } +sdist = { url = "https://files.pythonhosted.org/packages/21/6c/4caeb57926f91d943f309b062e22ad1eb24a9f530421c5a65c1d89378a7a/transformers-4.54.1.tar.gz", hash = "sha256:b2551bb97903f13bd90c9467d0a144d41ca4d142defc044a99502bb77c5c1052", size = 9514288, upload-time = "2025-07-29T15:57:22.826Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/96/88/beb33a79a382fcd2aed0be5222bdc47f41e4bfe7aaa90ae1374f1d8ea2af/transformers-4.53.2-py3-none-any.whl", hash = "sha256:db8f4819bb34f000029c73c3c557e7d06fc1b8e612ec142eecdae3947a9c78bf", size = 10826609, upload-time = "2025-07-11T12:39:05.461Z" }, + { url = "https://files.pythonhosted.org/packages/cf/18/eb7578f84ef5a080d4e5ca9bc4f7c68e7aa9c1e464f1b3d3001e4c642fce/transformers-4.54.1-py3-none-any.whl", hash = "sha256:c89965a4f62a0d07009d45927a9c6372848a02ab9ead9c318c3d082708bab529", size = 11176397, upload-time = "2025-07-29T15:57:19.692Z" }, ] [[package]] @@ -5113,11 +5400,11 @@ wheels = [ [[package]] name = "typing-extensions" -version = "4.12.2" +version = "4.14.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/df/db/f35a00659bc03fec321ba8bce9420de607a1d37f8342eee1863174c69557/typing_extensions-4.12.2.tar.gz", hash = "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8", size = 85321, upload-time = "2024-06-07T18:52:15.995Z" } +sdist = { url = "https://files.pythonhosted.org/packages/98/5a/da40306b885cc8c09109dc2e1abd358d5684b1425678151cdaed4731c822/typing_extensions-4.14.1.tar.gz", hash = "sha256:38b39f4aeeab64884ce9f74c94263ef78f3c22467c8724005483154c26648d36", size = 107673, upload-time = "2025-07-04T13:28:34.16Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/26/9f/ad63fc0248c5379346306f8668cda6e2e2e9c95e01216d2b8ffd9ff037d0/typing_extensions-4.12.2-py3-none-any.whl", hash = "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d", size = 37438, upload-time = "2024-06-07T18:52:13.582Z" }, + { url = "https://files.pythonhosted.org/packages/b5/00/d631e67a838026495268c2f6884f3711a15a9a2a96cd244fdaea53b823fb/typing_extensions-4.14.1-py3-none-any.whl", hash = "sha256:d1e1e3b58374dc93031d6eda2420a48ea44a36c2b4766a4fdeb3710755731d76", size = 43906, upload-time = "2025-07-04T13:28:32.743Z" }, ] [[package]] @@ -5156,12 +5443,12 @@ wheels = [ [[package]] name = "unstructured" -version = "0.18.5" +version = "0.18.11" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "backoff" }, { name = "beautifulsoup4" }, - { name = "chardet" }, + { name = "charset-normalizer" }, { name = "dataclasses-json" }, { name = "emoji" }, { name = "filetype" }, @@ -5169,7 +5456,8 @@ dependencies = [ { name = "langdetect" }, { name = "lxml" }, { name = "nltk" }, - { name = "numpy" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "numpy", version = "2.3.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, { name = "psutil" }, { name = "python-iso639" }, { name = "python-magic" }, @@ -5181,9 +5469,9 @@ dependencies = [ { name = "unstructured-client" }, { name = "wrapt" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/22/6f/e043ca29132cbb7e84a6b8aeeee78a5a22ab5fd20782108ee19802a51fbc/unstructured-0.18.5.tar.gz", hash = "sha256:371f74e7f6c969a71cb6a2b04e4f72b7091c16a66eec6b971303b7f9d3f2cf43", size = 1686847, upload-time = "2025-07-11T13:27:30.438Z" } +sdist = { url = "https://files.pythonhosted.org/packages/be/7b/991fc1d9bf3f5a08f5c2bdaeb6523cb882171fa9bb20bd087818a50fb1dd/unstructured-0.18.11.tar.gz", hash = "sha256:cf177d2a212a8bcd3a5a6750d8400c079764d30dabdb6605e7ba0a65679e00a0", size = 1689741, upload-time = "2025-07-23T13:34:16.688Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/86/e1/5834c8808a5b85619694804109246ad661e3cfeb5f571bf3013b5fe10aef/unstructured-0.18.5-py3-none-any.whl", hash = "sha256:d8827e00bb2d7a5bcf55a60caae61ec45fe3da969f94db52335da8b7a050655c", size = 1774092, upload-time = "2025-07-11T13:27:28.243Z" }, + { url = "https://files.pythonhosted.org/packages/8c/73/7b15fe1f31e8904e2df8a4dbfbb6364ee5567a2fc0d5fa69856d684f5751/unstructured-0.18.11-py3-none-any.whl", hash = "sha256:85aec87032177b826ec278e57e3f74ef3a2aa7e887ab137875e572293cf9659b", size = 1777194, upload-time = "2025-07-23T13:34:14.632Z" }, ] [package.optional-dependencies] @@ -5225,6 +5513,7 @@ tsv = [ { name = "pandas" }, ] xlsx = [ + { name = "msoffcrypto-tool" }, { name = "networkx", version = "3.4.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, { name = "networkx", version = "3.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, { name = "openpyxl" }, @@ -5283,27 +5572,28 @@ wheels = [ [[package]] name = "uv" -version = "0.7.20" +version = "0.8.4" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/78/97/1ff10c82d3f0b4246c3a94c09ab4b40d0f7d6dfaafb352175d169ef357e5/uv-0.7.20.tar.gz", hash = "sha256:6adf2ad333e8da133eecbdd2bdb4e8dfb6d4b2db2c3b4739b6705aa347c997ee", size = 3365382, upload-time = "2025-07-09T21:02:17.822Z" } +sdist = { url = "https://files.pythonhosted.org/packages/71/05/779581d8e5cd8d12dc3e2297280a03293f7b465bb5f53308479e508c5c44/uv-0.8.4.tar.gz", hash = "sha256:2ab21c32a28dbe434c9074f899ed8084955f7b09ac5e7ffac548d3454f77516f", size = 3442716, upload-time = "2025-07-30T17:10:56.404Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/94/dc/640875ba8ab0b73401cf0cc72c96a568a817a55c71e939f3a93c5911d0ba/uv-0.7.20-py3-none-linux_armv6l.whl", hash = "sha256:9e59b3b0c62255ac87f3fd5b0c58133187983cac57ab86e127cde1b8a2ee32ff", size = 17685309, upload-time = "2025-07-09T21:01:33.49Z" }, - { url = "https://files.pythonhosted.org/packages/83/9a/ee440ac67678fad39c087d0494c1e84103cc1ff9bfb88c91b71c7fd5dea3/uv-0.7.20-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:f4c7df0f4dfca809b403fb047ee23b3a35e1221df7be9ade8bbd4fb379f50dc2", size = 17725867, upload-time = "2025-07-09T21:01:37.172Z" }, - { url = "https://files.pythonhosted.org/packages/de/d0/5bcf679907e6d4fb864e4e30b573060734cc1c26afb38b355dac003ce452/uv-0.7.20-py3-none-macosx_11_0_arm64.whl", hash = "sha256:b8e636777e0ed816461e73ac85445aedb01c3380a61d3f66fa59423582a7456a", size = 16413199, upload-time = "2025-07-09T21:01:39.774Z" }, - { url = "https://files.pythonhosted.org/packages/7c/83/0dbe7a1983bb6232ec51afb3bbba11721a31afcc731c56ce898dc91f6541/uv-0.7.20-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl", hash = "sha256:9b6b95ccc34649c34a05821e3eb8dbc851ee14011e1ddc39b507460b8407a024", size = 16981463, upload-time = "2025-07-09T21:01:42.101Z" }, - { url = "https://files.pythonhosted.org/packages/5c/4f/502c5e0cac26bb36413abc99ab8d4d136f73864c4ec5fe7aee4cc170c5e5/uv-0.7.20-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d606d70cf79cd7f4bf8b940d331c863b33ac59266fa7dc8da2852187d1494334", size = 17381910, upload-time = "2025-07-09T21:01:44.882Z" }, - { url = "https://files.pythonhosted.org/packages/48/3c/13ce07214c41790d2fd99c839b1dedfcf2d4c5b6a9696e9822ef9a6014f5/uv-0.7.20-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:086918380296feea5d49abd82b80a324c2a6401e098db050b8338f6ca7a75e79", size = 18086428, upload-time = "2025-07-09T21:01:47.532Z" }, - { url = "https://files.pythonhosted.org/packages/84/26/5313099e0214087910fb09d14e9acb516db941d2f4fa67a8d983f5295952/uv-0.7.20-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:914dbd8e8a83303f6108cead85e4b83ea748b9cbb8cb03df030c4952b67f40fd", size = 19309012, upload-time = "2025-07-09T21:01:49.996Z" }, - { url = "https://files.pythonhosted.org/packages/6a/de/cf7fe214e420f8fc1b9eb7a09cca5bb3c05663fec73d6750613c9f68bc26/uv-0.7.20-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:20bfb4a8f42449c0ec7d4b0f1cc91e5a6713e5c55e8ec9b9de9628e21b4db74c", size = 18984850, upload-time = "2025-07-09T21:01:52.436Z" }, - { url = "https://files.pythonhosted.org/packages/57/cc/356c927be05e1dd725b0cc5b0d0d50eda724e2e22f610915b235ad40e559/uv-0.7.20-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:96ad43a3fffbc97b5da90d221788d3fd5c086ec9b1dbdea89a5107a2b5d46fa0", size = 18566669, upload-time = "2025-07-09T21:01:54.741Z" }, - { url = "https://files.pythonhosted.org/packages/09/82/a9f8f31434ae10fc7c81a09cb562d08544a195db48bbf062702bdacbb2c8/uv-0.7.20-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4f25ad1ca8cd756266797a14d153c74ff1d6c7705a63b5036ac5c51c63b6870b", size = 18416500, upload-time = "2025-07-09T21:01:57.699Z" }, - { url = "https://files.pythonhosted.org/packages/f9/fd/ea803971d83b3238d62859fc8cd62daa69fa4464eb669e21712bbf91f59e/uv-0.7.20-py3-none-manylinux_2_28_aarch64.whl", hash = "sha256:d50f2ce3e9d754dfef0b761a3dcc0cc60d045f525894a8b5d76641d9ccd0d257", size = 17229164, upload-time = "2025-07-09T21:02:00.254Z" }, - { url = "https://files.pythonhosted.org/packages/ac/c6/b3e38a77c759888584ee39fd3aebaca8c03fbe890cd1cb1d794cd628605e/uv-0.7.20-py3-none-musllinux_1_1_armv7l.whl", hash = "sha256:1d5a095a9ab9b5424cb5f6de75969402a3e0b3d40e04005e3379ebc5f493a582", size = 17327269, upload-time = "2025-07-09T21:02:02.82Z" }, - { url = "https://files.pythonhosted.org/packages/4b/10/422a537d2e983ac55c493d9d9d3fe33ad37784cbac2f4ef6bcb4b5c45200/uv-0.7.20-py3-none-musllinux_1_1_i686.whl", hash = "sha256:baa286b2f847edbb13f3f7baf01ebca73e4dad5b70900270abb20639f03d9770", size = 17585820, upload-time = "2025-07-09T21:02:05.202Z" }, - { url = "https://files.pythonhosted.org/packages/fd/77/696b2795f18ce3cc0bf4a1192564402f8b16c9e1e7b6c7061d1059c52a52/uv-0.7.20-py3-none-musllinux_1_1_x86_64.whl", hash = "sha256:67cf45da498955f46208d28c1a5fa58550553defc3f747156247335d65c5b4c7", size = 18557027, upload-time = "2025-07-09T21:02:07.593Z" }, - { url = "https://files.pythonhosted.org/packages/15/d3/6d5a2cb1cf0ed48442910c5ed0f1fdc984c66189107b42c85bb53f421332/uv-0.7.20-py3-none-win32.whl", hash = "sha256:246d45e7eb5934ffc23351c4f1d6e7385da21f63929e83d18855d901fd6f5ed4", size = 17609793, upload-time = "2025-07-09T21:02:10.198Z" }, - { url = "https://files.pythonhosted.org/packages/1f/6f/9412b857d5c311b57eaf40acdbc612524ac6caac2221303adcebca9a1875/uv-0.7.20-py3-none-win_amd64.whl", hash = "sha256:85bbdd6b40dc6f78c1c60a7b5c3c1dc992acdc7160c99801d1d4a4766dd42a4f", size = 19424736, upload-time = "2025-07-09T21:02:13.206Z" }, - { url = "https://files.pythonhosted.org/packages/df/fb/e23895a4d5980450d26602b1f4887ce67ccc07f21e943f348bd519c6596f/uv-0.7.20-py3-none-win_arm64.whl", hash = "sha256:693ad1f9ecb87f1ddc735682d6d96fcff41a4aa90ae663c57252c7a8e57d4459", size = 17976062, upload-time = "2025-07-09T21:02:15.818Z" }, + { url = "https://files.pythonhosted.org/packages/96/10/4d52b081defca3cfb4a11d6af3af4314fe7f289ba19e40d6cfab778f9257/uv-0.8.4-py3-none-linux_armv6l.whl", hash = "sha256:f9a5da616ca0d2bbe79367db9cf339cbaf1affee5d6b130a3be2779a917c14fa", size = 18077025, upload-time = "2025-07-30T17:10:13.016Z" }, + { url = "https://files.pythonhosted.org/packages/36/fa/7847373d214de987e96ef6b820a4ed2fa5e1c392ecc73cd53e94013d6074/uv-0.8.4-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:4d8422b3058998d87fee46d4d1a437e202407cafca8b8ac69e01c6479fbe0271", size = 18143542, upload-time = "2025-07-30T17:10:18.006Z" }, + { url = "https://files.pythonhosted.org/packages/16/39/7d4b68132868c550ae97c3b2c348c55db47a987dff05ab0e5f577bf0e197/uv-0.8.4-py3-none-macosx_11_0_arm64.whl", hash = "sha256:edc813645348665a3b4716a7d5e961cf7c8d1d3bfb9d907a4f18cf87c712a430", size = 16860749, upload-time = "2025-07-30T17:10:20.417Z" }, + { url = "https://files.pythonhosted.org/packages/e3/8f/f703e4ba41aae195d4958b701c2ee6cdbbbb8cdccb082845d6abfe834cf9/uv-0.8.4-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl", hash = "sha256:c2323e915ae562db4ebcdf5e20d3dd37a14959d07cc54939d86ab0dcdbf08f58", size = 17469507, upload-time = "2025-07-30T17:10:22.779Z" }, + { url = "https://files.pythonhosted.org/packages/59/f8/9366ceeb63f9dd6aa11375047762c1033d36521722e748b65a24e435f459/uv-0.8.4-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:96d7a68c360383d638c283811d57558fbf7b5f769ff4bdbc99ee2a3bf9a6e574", size = 17766700, upload-time = "2025-07-30T17:10:24.903Z" }, + { url = "https://files.pythonhosted.org/packages/f2/e3/190eb0ca91b8a0e5f80f93aeb7924b12be89656066170d6e1244e90c5e80/uv-0.8.4-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:385dec5a0c0909d5a24af5b02db24b49b025cbed59c6225e4c794ff40069d9aa", size = 18432996, upload-time = "2025-07-30T17:10:27.239Z" }, + { url = "https://files.pythonhosted.org/packages/ab/f6/b5fc5fe6e93e0294cbd8ba228d10b12e46a5e27b143565e868da758e0209/uv-0.8.4-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:b2230310ca303328c9fd351044fb81349f3ccfaa2863f135d37bfcee707adfd1", size = 19842168, upload-time = "2025-07-30T17:10:29.958Z" }, + { url = "https://files.pythonhosted.org/packages/f5/f0/d01779df4ac2ae39bf440c97f53346f1b9eef17cc84a45ed66206e348650/uv-0.8.4-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:86d64c66993eb0d9821caea27920175a27cd24df1eba8a340d8b3ae4074fac77", size = 19497445, upload-time = "2025-07-30T17:10:32.064Z" }, + { url = "https://files.pythonhosted.org/packages/80/ca/48c78393cb3a73940e768b74f74c30ca7719de6f83457a125b9cfa0c37e0/uv-0.8.4-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:624cf5b7bdc5cc0253115fefaad40008205d4acf34b77b294479dfe4eacb9697", size = 18852025, upload-time = "2025-07-30T17:10:34.34Z" }, + { url = "https://files.pythonhosted.org/packages/42/e2/5cf11c85fb48276b49979ea06e92c1e95524e1e4c5bccbd591a334c8de68/uv-0.8.4-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f9cd287982f62419f98ca7182fbbc2fd0fad1a04008b956a88eb85ce1d522611", size = 18806944, upload-time = "2025-07-30T17:10:36.819Z" }, + { url = "https://files.pythonhosted.org/packages/1c/b1/773dcd5ef4947a5bd7c183f1cc8afb9e761488ff1b48b46cb0d95bc5c8cf/uv-0.8.4-py3-none-manylinux_2_28_aarch64.whl", hash = "sha256:e6fa3754a2b965dceecfce8c38cacf7cd6b76a2787b9e189cf33acdb64a7472a", size = 17706599, upload-time = "2025-07-30T17:10:38.976Z" }, + { url = "https://files.pythonhosted.org/packages/e6/8f/20dcb6aaa9c9d7e16320b5143b1fdaa5fd1ebc42a99e2d5f4283aafc59f1/uv-0.8.4-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:9f2a7042553e85c66884a6a3c1b88e116bc5fe5e5d1c9b62f025b1de41534734", size = 18564686, upload-time = "2025-07-30T17:10:41.163Z" }, + { url = "https://files.pythonhosted.org/packages/8a/19/9f9df99259d6725fc269d5394606919f32c3e0d21f486277c040cb7c5dad/uv-0.8.4-py3-none-musllinux_1_1_armv7l.whl", hash = "sha256:2c80470d7253bd26c5990f4914cfddc68a6bb4da7c7da316a29e99feafe272a1", size = 17722213, upload-time = "2025-07-30T17:10:43.354Z" }, + { url = "https://files.pythonhosted.org/packages/00/f4/358576eea98eb4ba58135690a60f8052dbd8b50173a5c0e93e59c8797c2c/uv-0.8.4-py3-none-musllinux_1_1_i686.whl", hash = "sha256:b90eb86019ff92922dea54b8772074909ce7ab3359b2e8f8f3fe4d0658d3a898", size = 17997363, upload-time = "2025-07-30T17:10:45.631Z" }, + { url = "https://files.pythonhosted.org/packages/51/0f/9e5ff7d73846d8c924a5ef262dee247b453b7b2bd2ba5db1a819c72bd176/uv-0.8.4-py3-none-musllinux_1_1_x86_64.whl", hash = "sha256:cad63a02a735ba591679d713376767fc7649ad1e7097a95d0d267a68c2e803fc", size = 18954586, upload-time = "2025-07-30T17:10:47.789Z" }, + { url = "https://files.pythonhosted.org/packages/3c/fa/58c416c634253bdd7ec50baa5d79010f887453425a62e6a23f9668a75305/uv-0.8.4-py3-none-win32.whl", hash = "sha256:b83cd9eeb4c63ab69c6e8d0e26e57b5a9a8b1dca4015f4ddf088ed4a234e7018", size = 17907610, upload-time = "2025-07-30T17:10:49.966Z" }, + { url = "https://files.pythonhosted.org/packages/76/8e/2d6f5bce0f41074122caed1672f90f7ed5df2bd9827c8723c73a657bea7b/uv-0.8.4-py3-none-win_amd64.whl", hash = "sha256:ad056c8f6568d9f495e402753e79a092f28d513e6b5146d1c8dc2bdea668adb1", size = 19704945, upload-time = "2025-07-30T17:10:52.145Z" }, + { url = "https://files.pythonhosted.org/packages/58/de/196e862af4c3b2ff8cb4a7a3ad38ecf0306fa87d03ec9275f16e2f5dc416/uv-0.8.4-py3-none-win_arm64.whl", hash = "sha256:41f3a22550811bf7a0980b3d4dfce09e2c93aec7c42c92313ae3d3d0b97e1054", size = 18316402, upload-time = "2025-07-30T17:10:54.507Z" }, ] [[package]] @@ -5322,48 +5612,16 @@ wheels = [ [[package]] name = "virtualenv" -version = "20.31.2" +version = "20.32.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "distlib" }, { name = "filelock" }, { name = "platformdirs" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/56/2c/444f465fb2c65f40c3a104fd0c495184c4f2336d65baf398e3c75d72ea94/virtualenv-20.31.2.tar.gz", hash = "sha256:e10c0a9d02835e592521be48b332b6caee6887f332c111aa79a09b9e79efc2af", size = 6076316, upload-time = "2025-05-08T17:58:23.811Z" } +sdist = { url = "https://files.pythonhosted.org/packages/a9/96/0834f30fa08dca3738614e6a9d42752b6420ee94e58971d702118f7cfd30/virtualenv-20.32.0.tar.gz", hash = "sha256:886bf75cadfdc964674e6e33eb74d787dff31ca314ceace03ca5810620f4ecf0", size = 6076970, upload-time = "2025-07-21T04:09:50.985Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/f3/40/b1c265d4b2b62b58576588510fc4d1fe60a86319c8de99fd8e9fec617d2c/virtualenv-20.31.2-py3-none-any.whl", hash = "sha256:36efd0d9650ee985f0cad72065001e66d49a6f24eb44d98980f630686243cf11", size = 6057982, upload-time = "2025-05-08T17:58:21.15Z" }, -] - -[[package]] -name = "watchdog" -version = "6.0.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/db/7d/7f3d619e951c88ed75c6037b246ddcf2d322812ee8ea189be89511721d54/watchdog-6.0.0.tar.gz", hash = "sha256:9ddf7c82fda3ae8e24decda1338ede66e1c99883db93711d8fb941eaa2d8c282", size = 131220, upload-time = "2024-11-01T14:07:13.037Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/0c/56/90994d789c61df619bfc5ce2ecdabd5eeff564e1eb47512bd01b5e019569/watchdog-6.0.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d1cdb490583ebd691c012b3d6dae011000fe42edb7a82ece80965b42abd61f26", size = 96390, upload-time = "2024-11-01T14:06:24.793Z" }, - { url = "https://files.pythonhosted.org/packages/55/46/9a67ee697342ddf3c6daa97e3a587a56d6c4052f881ed926a849fcf7371c/watchdog-6.0.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:bc64ab3bdb6a04d69d4023b29422170b74681784ffb9463ed4870cf2f3e66112", size = 88389, upload-time = "2024-11-01T14:06:27.112Z" }, - { url = "https://files.pythonhosted.org/packages/44/65/91b0985747c52064d8701e1075eb96f8c40a79df889e59a399453adfb882/watchdog-6.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c897ac1b55c5a1461e16dae288d22bb2e412ba9807df8397a635d88f671d36c3", size = 89020, upload-time = "2024-11-01T14:06:29.876Z" }, - { url = "https://files.pythonhosted.org/packages/e0/24/d9be5cd6642a6aa68352ded4b4b10fb0d7889cb7f45814fb92cecd35f101/watchdog-6.0.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:6eb11feb5a0d452ee41f824e271ca311a09e250441c262ca2fd7ebcf2461a06c", size = 96393, upload-time = "2024-11-01T14:06:31.756Z" }, - { url = "https://files.pythonhosted.org/packages/63/7a/6013b0d8dbc56adca7fdd4f0beed381c59f6752341b12fa0886fa7afc78b/watchdog-6.0.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ef810fbf7b781a5a593894e4f439773830bdecb885e6880d957d5b9382a960d2", size = 88392, upload-time = "2024-11-01T14:06:32.99Z" }, - { url = "https://files.pythonhosted.org/packages/d1/40/b75381494851556de56281e053700e46bff5b37bf4c7267e858640af5a7f/watchdog-6.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:afd0fe1b2270917c5e23c2a65ce50c2a4abb63daafb0d419fde368e272a76b7c", size = 89019, upload-time = "2024-11-01T14:06:34.963Z" }, - { url = "https://files.pythonhosted.org/packages/39/ea/3930d07dafc9e286ed356a679aa02d777c06e9bfd1164fa7c19c288a5483/watchdog-6.0.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:bdd4e6f14b8b18c334febb9c4425a878a2ac20efd1e0b231978e7b150f92a948", size = 96471, upload-time = "2024-11-01T14:06:37.745Z" }, - { url = "https://files.pythonhosted.org/packages/12/87/48361531f70b1f87928b045df868a9fd4e253d9ae087fa4cf3f7113be363/watchdog-6.0.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:c7c15dda13c4eb00d6fb6fc508b3c0ed88b9d5d374056b239c4ad1611125c860", size = 88449, upload-time = "2024-11-01T14:06:39.748Z" }, - { url = "https://files.pythonhosted.org/packages/5b/7e/8f322f5e600812e6f9a31b75d242631068ca8f4ef0582dd3ae6e72daecc8/watchdog-6.0.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6f10cb2d5902447c7d0da897e2c6768bca89174d0c6e1e30abec5421af97a5b0", size = 89054, upload-time = "2024-11-01T14:06:41.009Z" }, - { url = "https://files.pythonhosted.org/packages/68/98/b0345cabdce2041a01293ba483333582891a3bd5769b08eceb0d406056ef/watchdog-6.0.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:490ab2ef84f11129844c23fb14ecf30ef3d8a6abafd3754a6f75ca1e6654136c", size = 96480, upload-time = "2024-11-01T14:06:42.952Z" }, - { url = "https://files.pythonhosted.org/packages/85/83/cdf13902c626b28eedef7ec4f10745c52aad8a8fe7eb04ed7b1f111ca20e/watchdog-6.0.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:76aae96b00ae814b181bb25b1b98076d5fc84e8a53cd8885a318b42b6d3a5134", size = 88451, upload-time = "2024-11-01T14:06:45.084Z" }, - { url = "https://files.pythonhosted.org/packages/fe/c4/225c87bae08c8b9ec99030cd48ae9c4eca050a59bf5c2255853e18c87b50/watchdog-6.0.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:a175f755fc2279e0b7312c0035d52e27211a5bc39719dd529625b1930917345b", size = 89057, upload-time = "2024-11-01T14:06:47.324Z" }, - { url = "https://files.pythonhosted.org/packages/30/ad/d17b5d42e28a8b91f8ed01cb949da092827afb9995d4559fd448d0472763/watchdog-6.0.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:c7ac31a19f4545dd92fc25d200694098f42c9a8e391bc00bdd362c5736dbf881", size = 87902, upload-time = "2024-11-01T14:06:53.119Z" }, - { url = "https://files.pythonhosted.org/packages/5c/ca/c3649991d140ff6ab67bfc85ab42b165ead119c9e12211e08089d763ece5/watchdog-6.0.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:9513f27a1a582d9808cf21a07dae516f0fab1cf2d7683a742c498b93eedabb11", size = 88380, upload-time = "2024-11-01T14:06:55.19Z" }, - { url = "https://files.pythonhosted.org/packages/a9/c7/ca4bf3e518cb57a686b2feb4f55a1892fd9a3dd13f470fca14e00f80ea36/watchdog-6.0.0-py3-none-manylinux2014_aarch64.whl", hash = "sha256:7607498efa04a3542ae3e05e64da8202e58159aa1fa4acddf7678d34a35d4f13", size = 79079, upload-time = "2024-11-01T14:06:59.472Z" }, - { url = "https://files.pythonhosted.org/packages/5c/51/d46dc9332f9a647593c947b4b88e2381c8dfc0942d15b8edc0310fa4abb1/watchdog-6.0.0-py3-none-manylinux2014_armv7l.whl", hash = "sha256:9041567ee8953024c83343288ccc458fd0a2d811d6a0fd68c4c22609e3490379", size = 79078, upload-time = "2024-11-01T14:07:01.431Z" }, - { url = "https://files.pythonhosted.org/packages/d4/57/04edbf5e169cd318d5f07b4766fee38e825d64b6913ca157ca32d1a42267/watchdog-6.0.0-py3-none-manylinux2014_i686.whl", hash = "sha256:82dc3e3143c7e38ec49d61af98d6558288c415eac98486a5c581726e0737c00e", size = 79076, upload-time = "2024-11-01T14:07:02.568Z" }, - { url = "https://files.pythonhosted.org/packages/ab/cc/da8422b300e13cb187d2203f20b9253e91058aaf7db65b74142013478e66/watchdog-6.0.0-py3-none-manylinux2014_ppc64.whl", hash = "sha256:212ac9b8bf1161dc91bd09c048048a95ca3a4c4f5e5d4a7d1b1a7d5752a7f96f", size = 79077, upload-time = "2024-11-01T14:07:03.893Z" }, - { url = "https://files.pythonhosted.org/packages/2c/3b/b8964e04ae1a025c44ba8e4291f86e97fac443bca31de8bd98d3263d2fcf/watchdog-6.0.0-py3-none-manylinux2014_ppc64le.whl", hash = "sha256:e3df4cbb9a450c6d49318f6d14f4bbc80d763fa587ba46ec86f99f9e6876bb26", size = 79078, upload-time = "2024-11-01T14:07:05.189Z" }, - { url = "https://files.pythonhosted.org/packages/62/ae/a696eb424bedff7407801c257d4b1afda455fe40821a2be430e173660e81/watchdog-6.0.0-py3-none-manylinux2014_s390x.whl", hash = "sha256:2cce7cfc2008eb51feb6aab51251fd79b85d9894e98ba847408f662b3395ca3c", size = 79077, upload-time = "2024-11-01T14:07:06.376Z" }, - { url = "https://files.pythonhosted.org/packages/b5/e8/dbf020b4d98251a9860752a094d09a65e1b436ad181faf929983f697048f/watchdog-6.0.0-py3-none-manylinux2014_x86_64.whl", hash = "sha256:20ffe5b202af80ab4266dcd3e91aae72bf2da48c0d33bdb15c66658e685e94e2", size = 79078, upload-time = "2024-11-01T14:07:07.547Z" }, - { url = "https://files.pythonhosted.org/packages/07/f6/d0e5b343768e8bcb4cda79f0f2f55051bf26177ecd5651f84c07567461cf/watchdog-6.0.0-py3-none-win32.whl", hash = "sha256:07df1fdd701c5d4c8e55ef6cf55b8f0120fe1aef7ef39a1c6fc6bc2e606d517a", size = 79065, upload-time = "2024-11-01T14:07:09.525Z" }, - { url = "https://files.pythonhosted.org/packages/db/d9/c495884c6e548fce18a8f40568ff120bc3a4b7b99813081c8ac0c936fa64/watchdog-6.0.0-py3-none-win_amd64.whl", hash = "sha256:cbafb470cf848d93b5d013e2ecb245d4aa1c8fd0504e863ccefa32445359d680", size = 79070, upload-time = "2024-11-01T14:07:10.686Z" }, - { url = "https://files.pythonhosted.org/packages/33/e8/e40370e6d74ddba47f002a32919d91310d6074130fe4e17dabcafc15cbf1/watchdog-6.0.0-py3-none-win_ia64.whl", hash = "sha256:a1914259fa9e1454315171103c6a30961236f508b9b623eae470268bbcc6a22f", size = 79067, upload-time = "2024-11-01T14:07:11.845Z" }, + { url = "https://files.pythonhosted.org/packages/5c/c6/f8f28009920a736d0df434b52e9feebfb4d702ba942f15338cb4a83eafc1/virtualenv-20.32.0-py3-none-any.whl", hash = "sha256:2c310aecb62e5aa1b06103ed7c2977b81e042695de2697d01017ff0f1034af56", size = 6057761, upload-time = "2025-07-21T04:09:48.059Z" }, ] [[package]] @@ -5375,6 +5633,18 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/f4/24/2a3e3df732393fed8b3ebf2ec078f05546de641fe1b667ee316ec1dcf3b7/webencodings-0.5.1-py2.py3-none-any.whl", hash = "sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78", size = 11774, upload-time = "2017-04-05T20:21:32.581Z" }, ] +[[package]] +name = "werkzeug" +version = "3.1.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "markupsafe" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/32/af/d4502dc713b4ccea7175d764718d5183caf8d0867a4f0190d5d4a45cea49/werkzeug-3.1.1.tar.gz", hash = "sha256:8cd39dfbdfc1e051965f156163e2974e52c210f130810e9ad36858f0fd3edad4", size = 806453, upload-time = "2024-11-01T16:40:45.462Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ee/ea/c67e1dee1ba208ed22c06d1d547ae5e293374bfc43e0eb0ef5e262b68561/werkzeug-3.1.1-py3-none-any.whl", hash = "sha256:a71124d1ef06008baafa3d266c02f56e1836a5984afd6dd6c9230669d60d9fb5", size = 224371, upload-time = "2024-11-01T16:40:43.994Z" }, +] + [[package]] name = "win-precise-time" version = "1.4.2" diff --git a/cognee/infrastructure/databases/graph/get_graph_engine.py b/cognee/infrastructure/databases/graph/get_graph_engine.py index 4607b93ca..662c96eed 100644 --- a/cognee/infrastructure/databases/graph/get_graph_engine.py +++ b/cognee/infrastructure/databases/graph/get_graph_engine.py @@ -135,6 +135,63 @@ def create_graph_engine( graph_database_password=graph_database_password or None, ) + elif graph_database_provider == "neptune": + try: + from langchain_aws import NeptuneAnalyticsGraph + except ImportError: + raise ImportError( + "langchain_aws is not installed. Please install it with 'pip install langchain_aws'" + ) + + if not graph_database_url: + raise EnvironmentError("Missing Neptune endpoint.") + + from .neptune_driver.adapter import NeptuneGraphDB, NEPTUNE_ENDPOINT_URL + + if not graph_database_url.startswith(NEPTUNE_ENDPOINT_URL): + raise ValueError( + f"Neptune endpoint must have the format {NEPTUNE_ENDPOINT_URL}" + ) + + graph_identifier = graph_database_url.replace(NEPTUNE_ENDPOINT_URL, "") + + return NeptuneGraphDB( + graph_id=graph_identifier, + ) + + elif graph_database_provider == "neptune_analytics": + """ + Creates a graph DB from config + We want to use a hybrid (graph & vector) DB and we should update this + to make a single instance of the hybrid configuration (with embedder) + instead of creating the hybrid object twice. + """ + try: + from langchain_aws import NeptuneAnalyticsGraph + except ImportError: + raise ImportError( + "langchain_aws is not installed. Please install it with 'pip install langchain_aws'" + ) + + if not graph_database_url: + raise EnvironmentError("Missing Neptune endpoint.") + + from ..hybrid.neptune_analytics.NeptuneAnalyticsAdapter import ( + NeptuneAnalyticsAdapter, + NEPTUNE_ANALYTICS_ENDPOINT_URL, + ) + + if not graph_database_url.startswith(NEPTUNE_ANALYTICS_ENDPOINT_URL): + raise ValueError( + f"Neptune endpoint must have the format '{NEPTUNE_ANALYTICS_ENDPOINT_URL}'" + ) + + graph_identifier = graph_database_url.replace(NEPTUNE_ANALYTICS_ENDPOINT_URL, "") + + return NeptuneAnalyticsAdapter( + graph_id=graph_identifier, + ) + from .networkx.adapter import NetworkXAdapter graph_client = NetworkXAdapter(filename=graph_file_path) diff --git a/cognee/infrastructure/databases/graph/neptune_driver/__init__.py b/cognee/infrastructure/databases/graph/neptune_driver/__init__.py new file mode 100644 index 000000000..184363988 --- /dev/null +++ b/cognee/infrastructure/databases/graph/neptune_driver/__init__.py @@ -0,0 +1,15 @@ +"""Neptune Analytics Driver Module + +This module provides the Neptune Analytics adapter and utilities for interacting +with Amazon Neptune Analytics graph databases. +""" + +from .adapter import NeptuneGraphDB +from . import neptune_utils +from . import exceptions + +__all__ = [ + "NeptuneGraphDB", + "neptune_utils", + "exceptions", +] diff --git a/cognee/infrastructure/databases/graph/neptune_driver/adapter.py b/cognee/infrastructure/databases/graph/neptune_driver/adapter.py new file mode 100644 index 000000000..02c297623 --- /dev/null +++ b/cognee/infrastructure/databases/graph/neptune_driver/adapter.py @@ -0,0 +1,1427 @@ +"""Neptune Analytics Adapter for Graph Database""" + +import json +from typing import Optional, Any, List, Dict, Type, Tuple +from uuid import UUID +from cognee.shared.logging_utils import get_logger +from cognee.infrastructure.databases.graph.graph_db_interface import ( + GraphDBInterface, + record_graph_changes, + NodeData, + EdgeData, + Node, +) +from cognee.modules.storage.utils import JSONEncoder +from cognee.infrastructure.engine import DataPoint +from botocore.config import Config + +from .exceptions import ( + NeptuneAnalyticsConfigurationError, +) +from .neptune_utils import ( + validate_graph_id, + validate_aws_region, + build_neptune_config, + format_neptune_error, +) + +logger = get_logger("NeptuneGraphDB") + +try: + from langchain_aws import NeptuneAnalyticsGraph + + LANGCHAIN_AWS_AVAILABLE = True +except ImportError: + logger.warning("langchain_aws not available. Neptune Analytics functionality will be limited.") + LANGCHAIN_AWS_AVAILABLE = False + +NEPTUNE_ENDPOINT_URL = "neptune-graph://" + + +class NeptuneGraphDB(GraphDBInterface): + """ + Adapter for interacting with Amazon Neptune Analytics graph store. + This class provides methods for querying, adding, deleting nodes and edges using the aws_langchain library. + """ + + _GRAPH_NODE_LABEL = "COGNEE_NODE" + + def __init__( + self, + graph_id: str, + region: Optional[str] = None, + aws_access_key_id: Optional[str] = None, + aws_secret_access_key: Optional[str] = None, + aws_session_token: Optional[str] = None, + ): + """ + Initialize the Neptune Analytics adapter. + + Parameters: + ----------- + - graph_id (str): The Neptune Analytics graph identifier + - region (Optional[str]): AWS region where the graph is located (default: us-east-1) + - aws_access_key_id (Optional[str]): AWS access key ID + - aws_secret_access_key (Optional[str]): AWS secret access key + - aws_session_token (Optional[str]): AWS session token for temporary credentials + + Raises: + ------- + - NeptuneAnalyticsConfigurationError: If configuration parameters are invalid + """ + # validate import + if not LANGCHAIN_AWS_AVAILABLE: + raise ImportError( + "langchain_aws is not available. Please install it to use Neptune Analytics." + ) + + # Validate configuration + if not validate_graph_id(graph_id): + raise NeptuneAnalyticsConfigurationError(message=f'Invalid graph ID: "{graph_id}"') + + if region and not validate_aws_region(region): + raise NeptuneAnalyticsConfigurationError(message=f'Invalid AWS region: "{region}"') + + self.graph_id = graph_id + self.region = region + self.aws_access_key_id = aws_access_key_id + self.aws_secret_access_key = aws_secret_access_key + self.aws_session_token = aws_session_token + + # Build configuration + self.config = build_neptune_config( + graph_id=self.graph_id, + region=self.region, + aws_access_key_id=self.aws_access_key_id, + aws_secret_access_key=self.aws_secret_access_key, + aws_session_token=self.aws_session_token, + ) + + # Initialize Neptune Analytics client using langchain_aws + self._client: NeptuneAnalyticsGraph = self._initialize_client() + logger.info( + f'Initialized Neptune Analytics adapter for graph: "{graph_id}" in region: "{self.region}"' + ) + + def _initialize_client(self) -> Optional[NeptuneAnalyticsGraph]: + """ + Initialize the Neptune Analytics client using langchain_aws. + + Returns: + -------- + - Optional[Any]: The Neptune Analytics client or None if not available + """ + try: + # Initialize the Neptune Analytics Graph client + client_config = { + "graph_identifier": self.graph_id, + "config": Config(user_agent_appid="Cognee"), + } + # Add AWS credentials if provided + if self.region: + client_config["region_name"] = self.region + if self.aws_access_key_id: + client_config["aws_access_key_id"] = self.aws_access_key_id + if self.aws_secret_access_key: + client_config["aws_secret_access_key"] = self.aws_secret_access_key + if self.aws_session_token: + client_config["aws_session_token"] = self.aws_session_token + + client = NeptuneAnalyticsGraph(**client_config) + logger.info("Successfully initialized Neptune Analytics client") + return client + + except Exception as e: + raise NeptuneAnalyticsConfigurationError( + message=f"Failed to initialize Neptune Analytics client: {format_neptune_error(e)}" + ) from e + + @staticmethod + def _serialize_properties(properties: Dict[str, Any]) -> Dict[str, Any]: + """ + Serialize properties for Neptune Analytics storage. + Parameters: + ----------- + - properties (Dict[str, Any]): Properties to serialize. + Returns: + -------- + - Dict[str, Any]: Serialized properties. + """ + serialized_properties = {} + + for property_key, property_value in properties.items(): + if isinstance(property_value, UUID): + serialized_properties[property_key] = str(property_value) + continue + + if isinstance(property_value, dict) or isinstance(property_value, list): + serialized_properties[property_key] = json.dumps(property_value, cls=JSONEncoder) + continue + + serialized_properties[property_key] = property_value + + return serialized_properties + + async def query(self, query: str, params: Optional[Dict[str, Any]] = None) -> List[Any]: + """ + Execute a query against the Neptune Analytics database and return the results. + + Parameters: + ----------- + - query (str): The query string to execute against the database. + - params (Optional[Dict[str, Any]]): A dictionary of parameters to be used in the query. + + Returns: + -------- + - List[Any]: A list of results from the query execution. + """ + try: + # Execute the query using the Neptune Analytics client + # The langchain_aws NeptuneAnalyticsGraph supports openCypher queries + if params is None: + params = {} + logger.debug(f"executing na query:\nquery={query}\n") + result = self._client.query(query, params) + + # Convert the result to list format expected by the interface + if isinstance(result, list): + return result + elif isinstance(result, dict): + return [result] + else: + return [{"result": result}] + + except Exception as e: + error_msg = format_neptune_error(e) + logger.error(f"Neptune Analytics query failed: {error_msg}") + raise Exception(f"Query execution failed: {error_msg}") from e + + async def add_node(self, node: DataPoint) -> None: + """ + Add a single node with specified properties to the graph. + + Parameters: + ----------- + - node (DataPoint): The DataPoint object to be added to the graph. + """ + try: + # Prepare node properties with the ID and graph type + serialized_properties = self._serialize_properties(node.model_dump()) + + query = f""" + MERGE (n:{self._GRAPH_NODE_LABEL} {{`~id`: $node_id}}) + ON CREATE SET n = $properties, n.updated_at = timestamp() + ON MATCH SET n += $properties, n.updated_at = timestamp() + RETURN n + """ + + params = { + "node_id": str(node.id), + "properties": serialized_properties, + } + + result = await self.query(query, params) + logger.debug(f"Successfully added/updated node: {node.id}") + logger.debug(f"Successfully added/updated node: {str(result)}") + + except Exception as e: + error_msg = format_neptune_error(e) + logger.error(f"Failed to add node {node.id}: {error_msg}") + raise Exception(f"Failed to add node: {error_msg}") from e + + @record_graph_changes + async def add_nodes(self, nodes: List[DataPoint]) -> None: + """ + Add multiple nodes to the graph in a single operation. + + Parameters: + ----------- + - nodes (List[DataPoint]): A list of DataPoint objects to be added to the graph. + """ + if not nodes: + logger.debug("No nodes to add") + return + + try: + # Build bulk node creation query using UNWIND + query = f""" + UNWIND $nodes AS node + MERGE (n:{self._GRAPH_NODE_LABEL} {{`~id`: node.node_id}}) + ON CREATE SET n = node.properties, n.updated_at = timestamp() + ON MATCH SET n += node.properties, n.updated_at = timestamp() + RETURN count(n) AS nodes_processed + """ + + # Prepare node data for bulk operation + params = { + "nodes": [ + { + "node_id": str(node.id), + "properties": self._serialize_properties(node.model_dump()), + } + for node in nodes + ] + } + result = await self.query(query, params) + + processed_count = result[0].get("nodes_processed", 0) if result else 0 + logger.debug(f"Successfully processed {processed_count} nodes in bulk operation") + + except Exception as e: + error_msg = format_neptune_error(e) + logger.error(f"Failed to add nodes in bulk: {error_msg}") + # Fallback to individual node creation + logger.info("Falling back to individual node creation") + for node in nodes: + try: + await self.add_node(node) + except Exception as node_error: + logger.error( + f"Failed to add individual node {node.id}: {format_neptune_error(node_error)}" + ) + continue + + async def delete_node(self, node_id: str) -> None: + """ + Delete a specified node from the graph by its ID. + + Parameters: + ----------- + - node_id (str): Unique identifier for the node to delete. + """ + try: + # Build openCypher query to delete the node and all its relationships + query = f""" + MATCH (n:{self._GRAPH_NODE_LABEL}) + WHERE id(n) = $node_id + DETACH DELETE n + """ + + params = {"node_id": node_id} + + await self.query(query, params) + logger.debug(f"Successfully deleted node: {node_id}") + + except Exception as e: + error_msg = format_neptune_error(e) + logger.error(f"Failed to delete node {node_id}: {error_msg}") + raise Exception(f"Failed to delete node: {error_msg}") from e + + async def delete_nodes(self, node_ids: List[str]) -> None: + """ + Delete multiple nodes from the graph by their identifiers. + + Parameters: + ----------- + - node_ids (List[str]): A list of unique identifiers for the nodes to delete. + """ + if not node_ids: + logger.debug("No nodes to delete") + return + + try: + # Build bulk node deletion query using UNWIND + query = f""" + UNWIND $node_ids AS node_id + MATCH (n:{self._GRAPH_NODE_LABEL}) + WHERE id(n) = node_id + DETACH DELETE n + """ + + params = {"node_ids": node_ids} + await self.query(query, params) + logger.debug(f"Successfully deleted {len(node_ids)} nodes in bulk operation") + + except Exception as e: + error_msg = format_neptune_error(e) + logger.error(f"Failed to delete nodes in bulk: {error_msg}") + # Fallback to individual node deletion + logger.info("Falling back to individual node deletion") + for node_id in node_ids: + try: + await self.delete_node(node_id) + except Exception as node_error: + logger.error( + f"Failed to delete individual node {node_id}: {format_neptune_error(node_error)}" + ) + continue + + async def get_node(self, node_id: str) -> Optional[NodeData]: + """ + Retrieve a single node from the graph using its ID. + + Parameters: + ----------- + - node_id (str): Unique identifier of the node to retrieve. + + Returns: + -------- + - Optional[NodeData]: The node data if found, None otherwise. + """ + try: + # Build openCypher query to retrieve the node + query = f""" + MATCH (n:{self._GRAPH_NODE_LABEL}) + WHERE id(n) = $node_id + RETURN n + """ + params = {"node_id": node_id} + + result = await self.query(query, params) + + if result and len(result) == 1: + # Extract node properties from the result + logger.debug(f"Successfully retrieved node: {node_id}") + return result[0]["n"] + else: + if not result: + logger.debug(f"Node not found: {node_id}") + elif len(result) > 1: + logger.debug(f"Only one node expected, multiple returned: {node_id}") + return None + + except Exception as e: + error_msg = format_neptune_error(e) + logger.error(f"Failed to get node {node_id}: {error_msg}") + raise Exception(f"Failed to get node: {error_msg}") from e + + async def get_nodes(self, node_ids: List[str]) -> List[NodeData]: + """ + Retrieve multiple nodes from the graph using their IDs. + + Parameters: + ----------- + - node_ids (List[str]): A list of unique identifiers for the nodes to retrieve. + + Returns: + -------- + - List[NodeData]: A list of node data for the found nodes. + """ + if not node_ids: + logger.debug("No node IDs provided") + return [] + + try: + # Build bulk node-retrieval OpenCypher query using UNWIND + query = f""" + UNWIND $node_ids AS node_id + MATCH (n:{self._GRAPH_NODE_LABEL}) + WHERE id(n) = node_id + RETURN n + """ + + params = {"node_ids": node_ids} + result = await self.query(query, params) + + # Extract node data from results + nodes = [record["n"] for record in result] + + logger.debug( + f"Successfully retrieved {len(nodes)} nodes out of {len(node_ids)} requested" + ) + return nodes + + except Exception as e: + error_msg = format_neptune_error(e) + logger.error(f"Failed to get nodes in bulk: {error_msg}") + # Fallback to individual node retrieval + logger.info("Falling back to individual node retrieval") + nodes = [] + for node_id in node_ids: + try: + node_data = await self.get_node(node_id) + if node_data: + nodes.append(node_data) + except Exception as node_error: + logger.error( + f"Failed to get individual node {node_id}: {format_neptune_error(node_error)}" + ) + continue + return nodes + + async def extract_node(self, node_id: str): + """ + Retrieve a single node based on its ID. + + Parameters: + ----------- + + - node_id (str): The ID of the node to retrieve. + + Returns: + -------- + + - Optional[Dict[str, Any]]: The requested node as a dictionary, or None if it does + not exist. + """ + results = await self.extract_nodes([node_id]) + + return results[0] if len(results) > 0 else None + + async def extract_nodes(self, node_ids: List[str]): + """ + Retrieve multiple nodes from the database by their IDs. + + Parameters: + ----------- + + - node_ids (List[str]): A list of IDs for the nodes to retrieve. + + Returns: + -------- + + A list of nodes represented as dictionaries. + """ + query = f""" + UNWIND $node_ids AS id + MATCH (node :{self._GRAPH_NODE_LABEL}) WHERE id(node) = id + RETURN node""" + + params = {"node_ids": node_ids} + + results = await self.query(query, params) + + return [result["node"] for result in results] + + async def add_edge( + self, + source_id: str, + target_id: str, + relationship_name: str, + properties: Optional[Dict[str, Any]] = None, + ) -> None: + """ + Create a new edge between two nodes in the graph. + + Parameters: + ----------- + - source_id (str): The unique identifier of the source node. + - target_id (str): The unique identifier of the target node. + - relationship_name (str): The name of the relationship to be established by the edge. + - properties (Optional[Dict[str, Any]]): Optional dictionary of properties associated with the edge. + """ + try: + # Build openCypher query to create the edge + # First ensure both nodes exist, then create the relationship + + # Prepare edge properties + edge_props = properties or {} + serialized_properties = self._serialize_properties(edge_props) + + query = f""" + MATCH (source:{self._GRAPH_NODE_LABEL}) + WHERE id(source) = $source_id + MATCH (target:{self._GRAPH_NODE_LABEL}) + WHERE id(target) = $target_id + MERGE (source)-[r:{relationship_name}]->(target) + ON CREATE SET r = $properties, r.updated_at = timestamp() + ON MATCH SET r = $properties, r.updated_at = timestamp() + RETURN r + """ + + params = { + "source_id": source_id, + "target_id": target_id, + "properties": serialized_properties, + } + await self.query(query, params) + logger.debug( + f"Successfully added edge: {source_id} -[{relationship_name}]-> {target_id}" + ) + + except Exception as e: + error_msg = format_neptune_error(e) + logger.error(f"Failed to add edge {source_id} -> {target_id}: {error_msg}") + raise Exception(f"Failed to add edge: {error_msg}") from e + + @record_graph_changes + async def add_edges(self, edges: List[Tuple[str, str, str, Optional[Dict[str, Any]]]]) -> None: + """ + Add multiple edges to the graph in a single operation. + + Parameters: + ----------- + - edges (List[EdgeData]): A list of EdgeData objects representing edges to be added. + """ + if not edges: + logger.debug("No edges to add") + return + + edges_by_relationship: dict[str, list] = {} + for edge in edges: + relationship_name = edge[2] + if edges_by_relationship.get(relationship_name, None): + edges_by_relationship[relationship_name].append(edge) + else: + edges_by_relationship[relationship_name] = [edge] + + results = {} + for relationship_name, edges_for_relationship in edges_by_relationship.items(): + try: + # Create the bulk-edge OpenCypher query using UNWIND + query = f""" + UNWIND $edges AS edge + MATCH (source:{self._GRAPH_NODE_LABEL}) + WHERE id(source) = edge.from_node + MATCH (target:{self._GRAPH_NODE_LABEL}) + WHERE id(target) = edge.to_node + MERGE (source)-[r:{relationship_name}]->(target) + ON CREATE SET r = edge.properties, r.updated_at = timestamp() + ON MATCH SET r = edge.properties, r.updated_at = timestamp() + RETURN count(*) AS edges_processed + """ + + # Prepare edges data for bulk operation + params = { + "edges": [ + { + "from_node": str(edge[0]), + "to_node": str(edge[1]), + "relationship_name": relationship_name, + "properties": self._serialize_properties( + edge[3] if len(edge) > 3 and edge[3] else {} + ), + } + for edge in edges_for_relationship + ] + } + results[relationship_name] = await self.query(query, params) + except Exception as e: + logger.error( + f"Failed to add edges for relationship {relationship_name}: {format_neptune_error(e)}" + ) + logger.info("Falling back to individual edge creation") + for edge in edges_by_relationship: + try: + source_id, target_id, relationship_name = edge[0], edge[1], edge[2] + properties = edge[3] if len(edge) > 3 else {} + await self.add_edge(source_id, target_id, relationship_name, properties) + except Exception as edge_error: + logger.error( + f"Failed to add individual edge {edge[0]} -> {edge[1]}: {format_neptune_error(edge_error)}" + ) + continue + + processed_count = 0 + for result in results.values(): + processed_count += result[0].get("edges_processed", 0) if result else 0 + logger.debug(f"Successfully processed {processed_count} edges in bulk operation") + + async def delete_graph(self) -> None: + """ + Delete all nodes and edges from the graph database. + + Returns: + -------- + The result of the query execution, typically indicating success or failure. + """ + try: + # Build openCypher query to delete the graph + query = f"MATCH (n:{self._GRAPH_NODE_LABEL}) DETACH DELETE n" + await self.query(query) + + except Exception as e: + error_msg = format_neptune_error(e) + logger.error(f"Failed to delete graph: {error_msg}") + raise Exception(f"Failed to delete graph: {error_msg}") from e + + async def get_graph_data(self) -> Tuple[List[Node], List[EdgeData]]: + """ + Retrieve all nodes and edges within the graph. + + Returns: + -------- + - Tuple[List[Node], List[EdgeData]]: A tuple containing all nodes and edges in the graph. + """ + try: + # Query to get all nodes + nodes_query = f""" + MATCH (n:{self._GRAPH_NODE_LABEL}) + RETURN id(n) AS node_id, properties(n) AS properties + """ + + # Query to get all edges + edges_query = f""" + MATCH (source:{self._GRAPH_NODE_LABEL})-[r]->(target:{self._GRAPH_NODE_LABEL}) + RETURN id(source) AS source_id, id(target) AS target_id, type(r) AS relationship_name, properties(r) AS properties + """ + + # Execute both queries + nodes_result = await self.query(nodes_query) + edges_result = await self.query(edges_query) + + # Format nodes as (node_id, properties) tuples + nodes = [(result["node_id"], result["properties"]) for result in nodes_result] + + # Format edges as (source_id, target_id, relationship_name, properties) tuples + edges = [ + ( + result["source_id"], + result["target_id"], + result["relationship_name"], + result["properties"], + ) + for result in edges_result + ] + + logger.debug(f"Retrieved {len(nodes)} nodes and {len(edges)} edges from graph") + return (nodes, edges) + + except Exception as e: + error_msg = format_neptune_error(e) + logger.error(f"Failed to get graph data: {error_msg}") + raise Exception(f"Failed to get graph data: {error_msg}") from e + + async def get_graph_metrics(self, include_optional: bool = False) -> Dict[str, Any]: + """ + Fetch metrics and statistics of the graph, possibly including optional details. + + Parameters: + ----------- + - include_optional (bool): Flag indicating whether to include optional metrics or not. + + Returns: + -------- + - Dict[str, Any]: A dictionary containing graph metrics and statistics. + """ + num_nodes, num_edges = await self._get_model_independent_graph_data() + num_cluster, list_clsuter_size = await self._get_connected_components_stat() + + mandatory_metrics = { + "num_nodes": num_nodes, + "num_edges": num_edges, + "mean_degree": (2 * num_edges) / num_nodes if num_nodes != 0 else None, + "edge_density": num_edges * 1.0 / (num_nodes * (num_nodes - 1)) + if num_nodes != 0 + else None, + "num_connected_components": num_cluster, + "sizes_of_connected_components": list_clsuter_size, + } + + optional_metrics = { + "num_selfloops": -1, + "diameter": -1, + "avg_shortest_path_length": -1, + "avg_clustering": -1, + } + + if include_optional: + optional_metrics["num_selfloops"] = await self._count_self_loops() + # Unsupported due to long-running queries when computing the shortest path for each node in the graph: + # optional_metrics['diameter'] + # optional_metrics['avg_shortest_path_length'] + # + # Unsupported due to incompatible algorithm: localClusteringCoefficient + # optional_metrics['avg_clustering'] + + return mandatory_metrics | optional_metrics + + async def has_edge(self, source_id: str, target_id: str, relationship_name: str) -> bool: + """ + Verify if an edge exists between two specified nodes. + + Parameters: + ----------- + - source_id (str): Unique identifier of the source node. + - target_id (str): Unique identifier of the target node. + - relationship_name (str): Name of the relationship to verify. + + Returns: + -------- + - bool: True if the edge exists, False otherwise. + """ + try: + # Build openCypher query to check if the edge exists + query = f""" + MATCH (source:{self._GRAPH_NODE_LABEL})-[r:{relationship_name}]->(target:{self._GRAPH_NODE_LABEL}) + WHERE id(source) = $source_id AND id(target) = $target_id + RETURN COUNT(r) > 0 AS edge_exists + """ + + params = { + "source_id": source_id, + "target_id": target_id, + } + + result = await self.query(query, params) + + if result and len(result) > 0: + edge_exists = result.pop().get("edge_exists", False) + logger.debug( + f"Edge existence check for " + f"{source_id} -[{relationship_name}]-> {target_id}: {edge_exists}" + ) + return edge_exists + else: + return False + + except Exception as e: + error_msg = format_neptune_error(e) + logger.error(f"Failed to check edge existence {source_id} -> {target_id}: {error_msg}") + return False + + async def has_edges(self, edges: List[EdgeData]) -> List[EdgeData]: + """ + Determine the existence of multiple edges in the graph. + + Parameters: + ----------- + - edges (List[EdgeData]): A list of EdgeData objects to check for existence in the graph. + + Returns: + -------- + - List[EdgeData]: A list of EdgeData objects that exist in the graph. + """ + query = f""" + UNWIND $edges AS edge + MATCH (a:{self._GRAPH_NODE_LABEL})-[r]->(b:{self._GRAPH_NODE_LABEL}) + WHERE id(a) = edge.from_node AND id(b) = edge.to_node AND type(r) = edge.relationship_name + RETURN edge.from_node AS from_node, edge.to_node AS to_node, edge.relationship_name AS relationship_name, count(r) > 0 AS edge_exists + """ + + try: + params = { + "edges": [ + { + "from_node": str(edge[0]), + "to_node": str(edge[1]), + "relationship_name": edge[2], + } + for edge in edges + ], + } + + results = await self.query(query, params) + logger.debug(f"Found {len(results)} existing edges out of {len(edges)} checked") + return [result["edge_exists"] for result in results] + + except Exception as e: + error_msg = format_neptune_error(e) + logger.error(f"Failed to check edges existence: {error_msg}") + return [] + + async def get_edges(self, node_id: str) -> List[EdgeData]: + """ + Retrieve all edges that are connected to the specified node. + + Parameters: + ----------- + - node_id (str): Unique identifier of the node whose edges are to be retrieved. + + Returns: + -------- + - List[EdgeData]: A list of EdgeData objects representing edges connected to the node. + """ + try: + # Query to get all edges connected to the node (both incoming and outgoing) + query = f""" + MATCH (n:{self._GRAPH_NODE_LABEL})-[r]-(m:{self._GRAPH_NODE_LABEL}) + WHERE id(n) = $node_id + RETURN + id(n) AS source_id, + id(m) AS target_id, + type(r) AS relationship_name, + properties(r) AS properties + """ + + params = {"node_id": node_id} + result = await self.query(query, params) + + # Format edges as EdgeData tuples: (source_id, target_id, relationship_name, properties) + edges = [self._convert_relationship_to_edge(record) for record in result] + + logger.debug(f"Retrieved {len(edges)} edges for node: {node_id}") + return edges + + except Exception as e: + error_msg = format_neptune_error(e) + logger.error(f"Failed to get edges for node {node_id}: {error_msg}") + raise Exception(f"Failed to get edges: {error_msg}") from e + + async def get_disconnected_nodes(self) -> list[str]: + """ + Find and return nodes that are not connected to any other nodes in the graph. + + Returns: + -------- + + - list[str]: A list of IDs of disconnected nodes. + """ + query = f""" + MATCH(n :{self._GRAPH_NODE_LABEL}) + WHERE NOT (n)--() + RETURN COLLECT(ID(n)) as ids + """ + + results = await self.query(query) + return results[0]["ids"] if len(results) > 0 else [] + + async def get_predecessors(self, node_id: str, edge_label: str = "") -> list[str]: + """ + Retrieve the predecessor nodes of a specified node based on an optional edge label. + + Parameters: + ----------- + + - node_id (str): The ID of the node whose predecessors are to be retrieved. + - edge_label (str): Optional edge label to filter predecessors. (default None) + + Returns: + -------- + + - list[str]: A list of predecessor node IDs. + """ + + edge_label = f" :{edge_label}" if edge_label is not None else "" + query = f""" + MATCH (node)<-[r{edge_label}]-(predecessor) + WHERE node.id = $node_id + RETURN predecessor + """ + + results = await self.query(query, {"node_id": node_id}) + + return [result["predecessor"] for result in results] + + async def get_successors(self, node_id: str, edge_label: str = "") -> list[str]: + """ + Retrieve the successor nodes of a specified node based on an optional edge label. + + Parameters: + ----------- + + - node_id (str): The ID of the node whose successors are to be retrieved. + - edge_label (str): Optional edge label to filter successors. (default None) + + Returns: + -------- + + - list[str]: A list of successor node IDs. + """ + + edge_label = f" :{edge_label}" if edge_label is not None else "" + query = f""" + MATCH (node)-[r {edge_label}]->(successor) + WHERE node.id = $node_id + RETURN successor + """ + + results = await self.query(query, {"node_id": node_id}) + + return [result["successor"] for result in results] + + async def get_neighbors(self, node_id: str) -> List[NodeData]: + """ + Get all neighboring nodes connected to the specified node. + + Parameters: + ----------- + - node_id (str): Unique identifier of the node for which to retrieve neighbors. + + Returns: + -------- + - List[NodeData]: A list of NodeData objects representing neighboring nodes. + """ + try: + # Query to get all neighboring nodes (both incoming and outgoing connections) + query = f""" + MATCH (n:{self._GRAPH_NODE_LABEL})-[r]-(neighbor:{self._GRAPH_NODE_LABEL}) + WHERE id(n) = $node_id + RETURN DISTINCT id(neighbor) AS neighbor_id, properties(neighbor) AS properties + """ + + params = {"node_id": node_id} + result = await self.query(query, params) + + # Format neighbors as NodeData objects + neighbors = [ + {"id": neighbor["neighbor_id"], **neighbor["properties"]} for neighbor in result + ] + + logger.debug(f"Retrieved {len(neighbors)} neighbors for node: {node_id}") + return neighbors + + except Exception as e: + error_msg = format_neptune_error(e) + logger.error(f"Failed to get neighbors for node {node_id}: {error_msg}") + raise Exception(f"Failed to get neighbors: {error_msg}") from e + + async def get_nodeset_subgraph( + self, node_type: Type[Any], node_name: List[str] + ) -> Tuple[List[Tuple[int, dict]], List[Tuple[int, int, str, dict]]]: + """ + Fetch a subgraph consisting of a specific set of nodes and their relationships. + + Parameters: + ----------- + - node_type (Type[Any]): The type of nodes to include in the subgraph. + - node_name (List[str]): A list of names of the nodes to include in the subgraph. + + Returns: + -------- + - Tuple[List[Tuple[int, dict]], List[Tuple[int, int, str, dict]]]: A tuple containing nodes and edges of the subgraph. + """ + try: + # Query to get nodes by name and their connected subgraph + query = f""" + UNWIND $names AS wantedName + MATCH (n:{self._GRAPH_NODE_LABEL}) + WHERE n.name = wantedName AND n.type = $type + WITH collect(DISTINCT n) AS primary + UNWIND primary AS p + OPTIONAL MATCH (p)-[r]-(nbr:{self._GRAPH_NODE_LABEL}) + WITH primary, collect(DISTINCT nbr) AS nbrs, collect(DISTINCT r) AS rels + WITH primary + nbrs AS nodelist, rels + UNWIND nodelist AS node + WITH collect(DISTINCT node) AS nodes, rels + MATCH (a:{self._GRAPH_NODE_LABEL})-[r]-(b:{self._GRAPH_NODE_LABEL}) + WHERE a IN nodes AND b IN nodes + WITH nodes, collect(DISTINCT r) AS all_rels + RETURN + [n IN nodes | {{ + id: id(n), + properties: properties(n) + }}] AS rawNodes, + [r IN all_rels | {{ + source_id: id(startNode(r)), + target_id: id(endNode(r)), + type: type(r), + properties: properties(r) + }}] AS rawRels + """ + + params = {"names": node_name, "type": node_type.__name__} + + result = await self.query(query, params) + + if not result: + logger.debug(f"No subgraph found for node type {node_type} with names {node_name}") + return ([], []) + + raw_nodes = result[0]["rawNodes"] + raw_rels = result[0]["rawRels"] + + # Format nodes as (node_id, properties) tuples + nodes = [(n["id"], n["properties"]) for n in raw_nodes] + + # Format edges as (source_id, target_id, relationship_name, properties) tuples + edges = [(r["source_id"], r["target_id"], r["type"], r["properties"]) for r in raw_rels] + + logger.debug( + f"Retrieved subgraph with {len(nodes)} nodes and {len(edges)} edges for type {node_type.__name__}" + ) + return (nodes, edges) + + except Exception as e: + error_msg = format_neptune_error(e) + logger.error(f"Failed to get nodeset subgraph for type {node_type}: {error_msg}") + raise Exception(f"Failed to get nodeset subgraph: {error_msg}") from e + + async def get_connections(self, node_id: UUID) -> list: + """ + Get all nodes connected to a specified node and their relationship details. + + Parameters: + ----------- + - node_id (str): Unique identifier of the node for which to retrieve connections. + + Returns: + -------- + - List[Tuple[NodeData, Dict[str, Any], NodeData]]: A list of tuples containing connected nodes and relationship details. + """ + try: + # Query to get all connections (both incoming and outgoing) + query = f""" + MATCH (source:{self._GRAPH_NODE_LABEL})-[r]->(target:{self._GRAPH_NODE_LABEL}) + WHERE id(source) = $node_id OR id(target) = $node_id + RETURN + id(source) AS source_id, + properties(source) AS source_props, + id(target) AS target_id, + properties(target) AS target_props, + type(r) AS relationship_name, + properties(r) AS relationship_props + """ + + params = {"node_id": str(node_id)} + result = await self.query(query, params) + + connections = [] + for record in result: + # Return as (source_node, relationship, target_node) + connections.append( + ( + {"id": record["source_id"], **record["source_props"]}, + { + "relationship_name": record["relationship_name"], + **record["relationship_props"], + }, + {"id": record["target_id"], **record["target_props"]}, + ) + ) + + logger.debug(f"Retrieved {len(connections)} connections for node: {node_id}") + return connections + + except Exception as e: + error_msg = format_neptune_error(e) + logger.error(f"Failed to get connections for node {node_id}: {error_msg}") + raise Exception(f"Failed to get connections: {error_msg}") from e + + async def remove_connection_to_predecessors_of(self, node_ids: list[str], edge_label: str): + """ + Remove connections (edges) to all predecessors of specified nodes based on edge label. + + Parameters: + ----------- + + - node_ids (list[str]): A list of IDs of nodes from which connections are to be + removed. + - edge_label (str): The label of the edges to remove. + + """ + query = f""" + UNWIND $node_ids AS node_id + MATCH ({{`~id`: node_id}})-[r:{edge_label}]->(predecessor) + DELETE r; + """ + params = {"node_ids": node_ids} + await self.query(query, params) + + async def remove_connection_to_successors_of(self, node_ids: list[str], edge_label: str): + """ + Remove connections (edges) to all successors of specified nodes based on edge label. + + Parameters: + ----------- + + - node_ids (list[str]): A list of IDs of nodes from which connections are to be + removed. + - edge_label (str): The label of the edges to remove. + + """ + query = f""" + UNWIND $node_ids AS node_id + MATCH ({{`~id`: node_id}})<-[r:{edge_label}]-(successor) + DELETE r; + """ + params = {"node_ids": node_ids} + await self.query(query, params) + + async def get_node_labels_string(self): + """ + Fetch all node labels from the database and return them as a formatted string. + + Returns: + -------- + + A formatted string of node labels. + + Raises: + ------- + ValueError: If no node labels are found in the database. + """ + node_labels_query = ( + "CALL neptune.graph.pg_schema() YIELD schema RETURN schema.nodeLabels as labels " + ) + node_labels_result = await self.query(node_labels_query) + node_labels = node_labels_result[0]["labels"] if node_labels_result else [] + + if not node_labels: + raise ValueError("No node labels found in the database") + + return str(node_labels) + + async def get_relationship_labels_string(self): + """ + Fetch all relationship types from the database and return them as a formatted string. + + Returns: + -------- + + A formatted string of relationship types. + """ + relationship_types_query = ( + "CALL neptune.graph.pg_schema() YIELD schema RETURN schema.edgeLabels as relationships " + ) + relationship_types_result = await self.query(relationship_types_query) + relationship_types = ( + relationship_types_result[0]["relationships"] if relationship_types_result else [] + ) + + if not relationship_types: + raise ValueError("No relationship types found in the database.") + + relationship_types_undirected_str = ( + "{" + + ", ".join(f"{rel}" + ": {orientation: 'UNDIRECTED'}" for rel in relationship_types) + + "}" + ) + return relationship_types_undirected_str + + async def drop_graph(self, graph_name="myGraph"): + """ + Drop an existing graph from the database based on its name. + + Note: This method is currently a placeholder because GDS (Graph Data Science) + projection is not supported in Neptune Analytics. + + Parameters: + ----------- + + - graph_name: The name of the graph to drop, defaults to 'myGraph'. (default + 'myGraph') + """ + pass + + async def graph_exists(self, graph_name="myGraph"): + """ + Check if a graph with a given name exists in the database. + + Note: This method is currently a placeholder because GDS (Graph Data Science) + projection is not supported in Neptune Analytics. + + Parameters: + ----------- + + - graph_name: The name of the graph to check for existence, defaults to 'myGraph'. + (default 'myGraph') + + Returns: + -------- + + True if the graph exists, otherwise False. + """ + pass + + async def project_entire_graph(self, graph_name="myGraph"): + """ + Project all node labels and relationship types into an in-memory graph using GDS. + + Note: This method is currently a placeholder because GDS (Graph Data Science) + projection is not supported in Neptune Anlaytics. + """ + pass + + async def get_filtered_graph_data(self, attribute_filters: list[dict[str, list]]): + """ + Fetch nodes and edges filtered by specific attribute criteria. + + Parameters: + ----------- + + - attribute_filters: A list of dictionaries representing attributes and associated + values for filtering. + + Returns: + -------- + + A tuple containing filtered nodes and edges based on the specified criteria. + """ + where_clauses_n = [] + where_clauses_m = [] + for attribute, values in attribute_filters[0].items(): + values_str = ", ".join( + f"'{value}'" if isinstance(value, str) else str(value) for value in values + ) + where_clauses_n.append(f"n.{attribute} IN [{values_str}]") + where_clauses_m.append(f"m.{attribute} IN [{values_str}]") + + node_where_clauses_n_str = " AND ".join(where_clauses_n) + node_where_clauses_m_str = " AND ".join(where_clauses_m) + edge_where_clause = f"{node_where_clauses_n_str} AND {node_where_clauses_m_str}" + + query_nodes = f""" + MATCH (n :{self._GRAPH_NODE_LABEL}) + WHERE {node_where_clauses_n_str} + RETURN ID(n) AS id, labels(n) AS labels, properties(n) AS properties + """ + result_nodes = await self.query(query_nodes) + + nodes = [ + ( + record["id"], + record["properties"], + ) + for record in result_nodes + ] + + query_edges = f""" + MATCH (n :{self._GRAPH_NODE_LABEL})-[r]->(m :{self._GRAPH_NODE_LABEL}) + WHERE {edge_where_clause} + RETURN ID(n) AS source, ID(m) AS target, TYPE(r) AS type, properties(r) AS properties + """ + result_edges = await self.query(query_edges) + + edges = [ + ( + record["source"], + record["target"], + record["type"], + record["properties"], + ) + for record in result_edges + ] + + return (nodes, edges) + + async def get_degree_one_nodes(self, node_type: str): + """ + Fetch nodes of a specified type that have exactly one connection. + + Parameters: + ----------- + + - node_type (str): The type of nodes to retrieve, must be 'Entity' or 'EntityType'. + + Returns: + -------- + + A list of nodes with exactly one connection of the specified type. + """ + if not node_type or node_type not in ["Entity", "EntityType"]: + raise ValueError("node_type must be either 'Entity' or 'EntityType'") + + query = f""" + MATCH (n :{self._GRAPH_NODE_LABEL}) + WHERE size((n)--()) = 1 + AND n.type = $node_type + RETURN n + """ + result = await self.query(query, {"node_type": node_type}) + return [record["n"] for record in result] if result else [] + + async def get_document_subgraph(self, content_hash: str): + """ + Retrieve a subgraph related to a document identified by its content hash, including + related entities and chunks. + + Parameters: + ----------- + + - content_hash (str): The hash identifying the document whose subgraph should be + retrieved. + + Returns: + -------- + + The subgraph data as a dictionary, or None if not found. + """ + query = f""" + + MATCH (doc) + WHERE (doc:{self._GRAPH_NODE_LABEL}) + AND doc.type in ['TextDocument', 'PdfDocument'] + AND doc.name = 'text_' + $content_hash + + OPTIONAL MATCH (doc)<-[:is_part_of]-(chunk {{type: 'DocumentChunk'}}) + + // Alternative to WHERE NOT EXISTS + OPTIONAL MATCH (chunk)-[:contains]->(entity {{type: 'Entity'}}) + OPTIONAL MATCH (entity)<-[:contains]-(otherChunk {{type: 'DocumentChunk'}})-[:is_part_of]->(otherDoc) + WHERE otherDoc.type in ['TextDocument', 'PdfDocument'] + AND otherDoc.id <> doc.id + OPTIONAL MATCH (chunk)<-[:made_from]-(made_node {{type: 'TextSummary'}}) + + OPTIONAL MATCH (chunk)<-[:made_from]-(made_node {{type: 'TextSummary'}}) + + // Alternative to WHERE NOT EXISTS + OPTIONAL MATCH (entity)-[:is_a]->(type {{type: 'EntityType'}}) + OPTIONAL MATCH (type)<-[:is_a]-(otherEntity {{type: 'Entity'}})<-[:contains]-(otherChunk {{type: 'DocumentChunk'}})-[:is_part_of]->(otherDoc) + WHERE otherDoc.type in ['TextDocument', 'PdfDocument'] + AND otherDoc.id <> doc.id + + // Alternative to WHERE NOT EXISTS + WITH doc, entity, chunk, made_node, type, otherDoc + WHERE otherDoc IS NULL + + RETURN + collect(DISTINCT doc) as document, + collect(DISTINCT chunk) as chunks, + collect(DISTINCT entity) as orphan_entities, + collect(DISTINCT made_node) as made_from_nodes, + collect(DISTINCT type) as orphan_types + """ + result = await self.query(query, {"content_hash": content_hash}) + return result[0] if result else None + + async def _get_model_independent_graph_data(self): + """ + Retrieve the basic graph data without considering the model specifics, returning nodes + and edges. + + Returns: + -------- + + A tuple of nodes and edges data. + """ + query_string = f""" + MATCH (n :{self._GRAPH_NODE_LABEL}) + WITH count(n) AS nodeCount + MATCH (a :{self._GRAPH_NODE_LABEL})-[r]->(b :{self._GRAPH_NODE_LABEL}) + RETURN nodeCount AS numVertices, count(r) AS numEdges + """ + query_response = await self.query(query_string) + num_nodes = query_response[0].get("numVertices") + num_edges = query_response[0].get("numEdges") + + return (num_nodes, num_edges) + + async def _get_connected_components_stat(self): + """ + Retrieve statistics about connected components in the graph. + + This method analyzes the graph to find all connected components + and returns both the sizes of each component and the total number of components. + + + Returns: + -------- + tuple[list[int], int] + A tuple containing: + - A list of sizes for each connected component (descending order). + - The total number of connected components. + Returns ([], 0) if no connected components are found. + """ + query = f""" + MATCH(n :{self._GRAPH_NODE_LABEL}) + CALL neptune.algo.wcc(n,{{}}) + YIELD node, component + RETURN component, count(*) AS size + ORDER BY size DESC + """ + + result = await self.query(query) + size_connected_components = [record["size"] for record in result] if result else [] + num_connected_components = len(result) + + return (size_connected_components, num_connected_components) + + async def _count_self_loops(self): + """ + Count the number of self-loop relationships in the Neptune Anlaytics graph backend. + + This function executes a OpenCypher query to find and count all edge relationships that + begin and end at the same node (self-loops). It returns the count of such relationships + or 0 if no results are found. + + Returns: + -------- + + The count of self-loop relationships found in the database, or 0 if none were found. + """ + query = f""" + MATCH (n :{self._GRAPH_NODE_LABEL})-[r]->(n :{self._GRAPH_NODE_LABEL}) + RETURN count(r) AS adapter_loop_count; + """ + result = await self.query(query) + return result[0]["adapter_loop_count"] if result else 0 + + @staticmethod + def _convert_relationship_to_edge(relationship: dict) -> EdgeData: + return ( + relationship["source_id"], + relationship["target_id"], + relationship["relationship_name"], + relationship["properties"], + ) diff --git a/cognee/infrastructure/databases/graph/neptune_driver/exceptions.py b/cognee/infrastructure/databases/graph/neptune_driver/exceptions.py new file mode 100644 index 000000000..57d54d74d --- /dev/null +++ b/cognee/infrastructure/databases/graph/neptune_driver/exceptions.py @@ -0,0 +1,115 @@ +"""Neptune Analytics Exceptions + +This module defines custom exceptions for Neptune Analytics operations. +""" + +from cognee.exceptions import CogneeApiError +from fastapi import status + + +class NeptuneAnalyticsError(CogneeApiError): + """Base exception for Neptune Analytics operations.""" + + def __init__( + self, + message: str = "Neptune Analytics error.", + name: str = "NeptuneAnalyticsError", + status_code=status.HTTP_500_INTERNAL_SERVER_ERROR, + ): + super().__init__(message, name, status_code) + + +class NeptuneAnalyticsConnectionError(NeptuneAnalyticsError): + """Exception raised when connection to Neptune Analytics fails.""" + + def __init__( + self, + message: str = "Unable to connect to Neptune Analytics. Please check the endpoint and network connectivity.", + name: str = "NeptuneAnalyticsConnectionError", + status_code=status.HTTP_404_NOT_FOUND, + ): + super().__init__(message, name, status_code) + + +class NeptuneAnalyticsQueryError(NeptuneAnalyticsError): + """Exception raised when a query execution fails.""" + + def __init__( + self, + message: str = "The query execution failed due to invalid syntax or semantic issues.", + name: str = "NeptuneAnalyticsQueryError", + status_code=status.HTTP_400_BAD_REQUEST, + ): + super().__init__(message, name, status_code) + + +class NeptuneAnalyticsAuthenticationError(NeptuneAnalyticsError): + """Exception raised when authentication with Neptune Analytics fails.""" + + def __init__( + self, + message: str = "Authentication with Neptune Analytics failed. Please verify your credentials.", + name: str = "NeptuneAnalyticsAuthenticationError", + status_code=status.HTTP_401_UNAUTHORIZED, + ): + super().__init__(message, name, status_code) + + +class NeptuneAnalyticsConfigurationError(NeptuneAnalyticsError): + """Exception raised when Neptune Analytics configuration is invalid.""" + + def __init__( + self, + message: str = "Neptune Analytics configuration is invalid or incomplete. Please review your setup.", + name: str = "NeptuneAnalyticsConfigurationError", + status_code=status.HTTP_500_INTERNAL_SERVER_ERROR, + ): + super().__init__(message, name, status_code) + + +class NeptuneAnalyticsTimeoutError(NeptuneAnalyticsError): + """Exception raised when a Neptune Analytics operation times out.""" + + def __init__( + self, + message: str = "The operation timed out while communicating with Neptune Analytics.", + name: str = "NeptuneAnalyticsTimeoutError", + status_code=status.HTTP_504_GATEWAY_TIMEOUT, + ): + super().__init__(message, name, status_code) + + +class NeptuneAnalyticsThrottlingError(NeptuneAnalyticsError): + """Exception raised when requests are throttled by Neptune Analytics.""" + + def __init__( + self, + message: str = "Request was throttled by Neptune Analytics due to exceeding rate limits.", + name: str = "NeptuneAnalyticsThrottlingError", + status_code=status.HTTP_429_TOO_MANY_REQUESTS, + ): + super().__init__(message, name, status_code) + + +class NeptuneAnalyticsResourceNotFoundError(NeptuneAnalyticsError): + """Exception raised when a Neptune Analytics resource is not found.""" + + def __init__( + self, + message: str = "The requested Neptune Analytics resource could not be found.", + name: str = "NeptuneAnalyticsResourceNotFoundError", + status_code=status.HTTP_404_NOT_FOUND, + ): + super().__init__(message, name, status_code) + + +class NeptuneAnalyticsInvalidParameterError(NeptuneAnalyticsError): + """Exception raised when invalid parameters are provided to Neptune Analytics.""" + + def __init__( + self, + message: str = "One or more parameters provided to Neptune Analytics are invalid or missing.", + name: str = "NeptuneAnalyticsInvalidParameterError", + status_code=status.HTTP_400_BAD_REQUEST, + ): + super().__init__(message, name, status_code) diff --git a/cognee/infrastructure/databases/graph/neptune_driver/neptune_utils.py b/cognee/infrastructure/databases/graph/neptune_driver/neptune_utils.py new file mode 100644 index 000000000..0f71bd4e9 --- /dev/null +++ b/cognee/infrastructure/databases/graph/neptune_driver/neptune_utils.py @@ -0,0 +1,224 @@ +"""Neptune Utilities + +This module provides utility functions for Neptune Analytics operations including +connection management, URL parsing, and Neptune-specific configurations. +""" + +import re +from typing import Optional, Dict, Any, Tuple +from urllib.parse import urlparse + +from cognee.shared.logging_utils import get_logger + +logger = get_logger("NeptuneUtils") + + +def parse_neptune_url(url: str) -> Tuple[str, str]: + """ + Parse a Neptune Analytics URL to extract graph ID and region. + + Expected format: neptune-graph://?region= + or neptune-graph:// (defaults to us-east-1) + + Parameters: + ----------- + - url (str): The Neptune Analytics URL to parse + + Returns: + -------- + - Tuple[str, str]: A tuple containing (graph_id, region) + + Raises: + ------- + - ValueError: If the URL format is invalid + """ + try: + parsed = urlparse(url) + + if parsed.scheme != "neptune-graph": + raise ValueError(f"Invalid scheme: {parsed.scheme}. Expected 'neptune-graph'") + + graph_id = parsed.hostname or parsed.path.lstrip("/") + if not graph_id: + raise ValueError("Graph ID not found in URL") + + # Extract region from query parameters + region = "us-east-1" # default region + if parsed.query: + query_params = dict( + param.split("=") for param in parsed.query.split("&") if "=" in param + ) + region = query_params.get("region", region) + + return graph_id, region + + except Exception as e: + raise ValueError(f"Failed to parse Neptune Analytics URL '{url}': {str(e)}") + + +def validate_graph_id(graph_id: str) -> bool: + """ + Validate a Neptune Analytics graph ID format. + + Graph IDs should follow AWS naming conventions. + + Parameters: + ----------- + - graph_id (str): The graph ID to validate + + Returns: + -------- + - bool: True if the graph ID is valid, False otherwise + """ + if not graph_id: + return False + + # Neptune Analytics graph IDs should be alphanumeric with hyphens + # and between 1-63 characters + pattern = r"^[a-zA-Z0-9][a-zA-Z0-9\-]{0,62}$" + return bool(re.match(pattern, graph_id)) + + +def validate_aws_region(region: str) -> bool: + """ + Validate an AWS region format. + + Parameters: + ----------- + - region (str): The AWS region to validate + + Returns: + -------- + - bool: True if the region format is valid, False otherwise + """ + if not region: + return False + + # AWS regions follow the pattern: us-east-1, eu-west-1, etc. + pattern = r"^[a-z]{2,3}-[a-z]+-\d+$" + return bool(re.match(pattern, region)) + + +def build_neptune_config( + graph_id: str, + region: Optional[str], + aws_access_key_id: Optional[str] = None, + aws_secret_access_key: Optional[str] = None, + aws_session_token: Optional[str] = None, + **kwargs, +) -> Dict[str, Any]: + """ + Build a configuration dictionary for Neptune Analytics connection. + + Parameters: + ----------- + - graph_id (str): The Neptune Analytics graph identifier + - region (Optional[str]): AWS region where the graph is located + - aws_access_key_id (Optional[str]): AWS access key ID + - aws_secret_access_key (Optional[str]): AWS secret access key + - aws_session_token (Optional[str]): AWS session token for temporary credentials + - **kwargs: Additional configuration parameters + + Returns: + -------- + - Dict[str, Any]: Configuration dictionary for Neptune Analytics + + Raises: + ------- + - ValueError: If required parameters are invalid + """ + config = { + "graph_id": graph_id, + "service_name": "neptune-graph", + } + + # Add AWS credentials if provided + if region: + config["region"] = region + + if aws_access_key_id: + config["aws_access_key_id"] = aws_access_key_id + + if aws_secret_access_key: + config["aws_secret_access_key"] = aws_secret_access_key + + if aws_session_token: + config["aws_session_token"] = aws_session_token + + # Add any additional configuration + config.update(kwargs) + + return config + + +def get_neptune_endpoint_url(graph_id: str, region: str) -> str: + """ + Construct the Neptune Analytics endpoint URL for a given graph and region. + + Parameters: + ----------- + - graph_id (str): The Neptune Analytics graph identifier + - region (str): AWS region where the graph is located + + Returns: + -------- + - str: The Neptune Analytics endpoint URL + """ + return f"https://neptune-graph.{region}.amazonaws.com/graphs/{graph_id}" + + +def format_neptune_error(error: Exception) -> str: + """ + Format Neptune Analytics specific errors for better readability. + + Parameters: + ----------- + - error (Exception): The exception to format + + Returns: + -------- + - str: Formatted error message + """ + error_msg = str(error) + + # Common Neptune Analytics error patterns and their user-friendly messages + error_mappings = { + "AccessDenied": "Access denied. Please check your AWS credentials and permissions.", + "GraphNotFound": "Graph not found. Please verify the graph ID and region.", + "InvalidParameter": "Invalid parameter provided. Please check your request parameters.", + "ThrottlingException": "Request was throttled. Please retry with exponential backoff.", + "InternalServerError": "Internal server error occurred. Please try again later.", + } + + for error_type, friendly_msg in error_mappings.items(): + if error_type in error_msg: + return f"{friendly_msg} Original error: {error_msg}" + + return error_msg + + +def get_default_query_timeout() -> int: + """ + Get the default query timeout for Neptune Analytics operations. + + Returns: + -------- + - int: Default timeout in seconds + """ + return 300 # 5 minutes + + +def get_default_connection_config() -> Dict[str, Any]: + """ + Get default connection configuration for Neptune Analytics. + + Returns: + -------- + - Dict[str, Any]: Default connection configuration + """ + return { + "query_timeout": get_default_query_timeout(), + "max_retries": 3, + "retry_delay": 1.0, + "preferred_query_language": "openCypher", + } diff --git a/cognee/infrastructure/databases/hybrid/neptune_analytics/NeptuneAnalyticsAdapter.py b/cognee/infrastructure/databases/hybrid/neptune_analytics/NeptuneAnalyticsAdapter.py new file mode 100644 index 000000000..a04e6f09e --- /dev/null +++ b/cognee/infrastructure/databases/hybrid/neptune_analytics/NeptuneAnalyticsAdapter.py @@ -0,0 +1,449 @@ +"""Neptune Analytics Hybrid Adapter combining Vector and Graph functionality""" + +import asyncio +import json +from typing import List, Optional, Any, Dict, Type, Tuple +from uuid import UUID + +from cognee.exceptions import InvalidValueError +from cognee.infrastructure.databases.graph.neptune_driver.adapter import NeptuneGraphDB +from cognee.infrastructure.databases.vector.vector_db_interface import VectorDBInterface +from cognee.infrastructure.engine import DataPoint +from cognee.modules.storage.utils import JSONEncoder +from cognee.shared.logging_utils import get_logger +from cognee.infrastructure.databases.vector.embeddings.EmbeddingEngine import EmbeddingEngine +from cognee.infrastructure.databases.vector.models.PayloadSchema import PayloadSchema +from cognee.infrastructure.databases.vector.models.ScoredResult import ScoredResult + +logger = get_logger("NeptuneAnalyticsAdapter") + + +class IndexSchema(DataPoint): + """ + Represents a schema for an index data point containing an ID and text. + + Attributes: + - id: A string representing the unique identifier for the data point. + - text: A string representing the content of the data point. + - metadata: A dictionary with default index fields for the schema, currently configured + to include 'text'. + """ + + id: str + text: str + metadata: dict = {"index_fields": ["text"]} + + +NEPTUNE_ANALYTICS_ENDPOINT_URL = "neptune-graph://" + + +class NeptuneAnalyticsAdapter(NeptuneGraphDB, VectorDBInterface): + """ + Hybrid adapter that combines Neptune Analytics Vector and Graph functionality. + + This adapter extends NeptuneGraphDB and implements VectorDBInterface to provide + a unified interface for working with Neptune Analytics as both a vector store + and a graph database. + """ + + _VECTOR_NODE_LABEL = "COGNEE_NODE" + _COLLECTION_PREFIX = "VECTOR_COLLECTION" + _TOPK_LOWER_BOUND = 0 + _TOPK_UPPER_BOUND = 10 + + def __init__( + self, + graph_id: str, + embedding_engine: Optional[EmbeddingEngine] = None, + region: Optional[str] = None, + aws_access_key_id: Optional[str] = None, + aws_secret_access_key: Optional[str] = None, + aws_session_token: Optional[str] = None, + ): + """ + Initialize the Neptune Analytics hybrid adapter. + + Parameters: + ----------- + - graph_id (str): The Neptune Analytics graph identifier + - embedding_engine(Optional[EmbeddingEngine]): The embedding engine instance to translate text to vector. + - region (Optional[str]): AWS region where the graph is located (default: us-east-1) + - aws_access_key_id (Optional[str]): AWS access key ID + - aws_secret_access_key (Optional[str]): AWS secret access key + - aws_session_token (Optional[str]): AWS session token for temporary credentials + """ + # Initialize the graph database functionality + super().__init__( + graph_id=graph_id, + region=region, + aws_access_key_id=aws_access_key_id, + aws_secret_access_key=aws_secret_access_key, + aws_session_token=aws_session_token, + ) + + # Add vector-specific attributes + self.embedding_engine = embedding_engine + logger.info( + f'Initialized Neptune Analytics hybrid adapter for graph: "{graph_id}" in region: "{self.region}"' + ) + + # VectorDBInterface methods implementation + + async def get_connection(self): + """ + This method is part of the default implementation but not defined in the interface. + No operation is performed and None will be returned here, + because the concept of connection is not applicable in this context. + """ + return None + + async def embed_data(self, data: list[str]) -> list[list[float]]: + """ + Embeds the provided textual data into vector representation. + + Uses the embedding engine to convert the list of strings into a list of float vectors. + + Parameters: + ----------- + - data (list[str]): A list of strings representing the data to be embedded. + + Returns: + -------- + - list[list[float]]: A list of embedded vectors corresponding to the input data. + """ + self._validate_embedding_engine() + return await self.embedding_engine.embed_text(data) + + async def has_collection(self, collection_name: str) -> bool: + """ + Neptune Analytics stores vector on a node level, + so create_collection() implements interface for compliance but performs no operations when called. + + Parameters: + ----------- + - collection_name (str): The name of the collection to check for existence. + Returns: + -------- + - bool: Always return True. + """ + return True + + async def create_collection( + self, + collection_name: str, + payload_schema: Optional[PayloadSchema] = None, + ): + """ + Neptune Analytics stores vector on a node level, so create_collection() implements interface for compliance but performs no operations when called. + As the result, create_collection() will be no-op. + + Parameters: + ----------- + - collection_name (str): The name of the new collection to create. + - payload_schema (Optional[PayloadSchema]): An optional schema for the payloads + within this collection. (default None) + """ + pass + + async def get_collection(self, collection_name: str): + """ + This method is part of the default implementation but not defined in the interface. + No operation is performed here because the concept of collection is not applicable in NeptuneAnalytics vector store. + """ + return None + + async def create_data_points(self, collection_name: str, data_points: List[DataPoint]): + """ + Insert new data points into the specified collection, by first inserting the node itself on the graph, + then execute neptune.algo.vectors.upsert() to insert the corresponded embedding. + + Parameters: + ----------- + - collection_name (str): The name of the collection where data points will be added. + - data_points (List[DataPoint]): A list of data points to be added to the + collection. + """ + self._validate_embedding_engine() + + # Fetch embeddings + texts = [DataPoint.get_embeddable_data(t) for t in data_points] + data_vectors = await self.embedding_engine.embed_text(texts) + + for index, data_point in enumerate(data_points): + node_id = data_point.id + # Fetch embedding from list instead + data_vector = data_vectors[index] + + # Fetch properties + properties = self._serialize_properties(data_point.model_dump()) + properties[self._COLLECTION_PREFIX] = collection_name + params = dict( + node_id=str(node_id), + properties=properties, + embedding=data_vector, + collection_name=collection_name, + ) + + # Compose the query and send + query_string = ( + f"MERGE (n " + f":{self._VECTOR_NODE_LABEL} " + f" {{`~id`: $node_id}}) " + f"ON CREATE SET n = $properties, n.updated_at = timestamp() " + f"ON MATCH SET n += $properties, n.updated_at = timestamp() " + f"WITH n, $embedding AS embedding " + f"CALL neptune.algo.vectors.upsert(n, embedding) " + f"YIELD success " + f"RETURN success " + ) + + try: + self._client.query(query_string, params) + except Exception as e: + self._na_exception_handler(e, query_string) + pass + + async def retrieve(self, collection_name: str, data_point_ids: list[str]): + """ + Retrieve data points from a collection using their IDs. + + Parameters: + ----------- + - collection_name (str): The name of the collection from which to retrieve data + points. + - data_point_ids (list[str]): A list of IDs of the data points to retrieve. + """ + # Do the fetch for each node + params = dict(node_ids=data_point_ids, collection_name=collection_name) + query_string = ( + f"MATCH( n :{self._VECTOR_NODE_LABEL}) " + f"WHERE id(n) in $node_ids AND " + f"n.{self._COLLECTION_PREFIX} = $collection_name " + f"RETURN n as payload " + ) + + try: + result = self._client.query(query_string, params) + return [self._get_scored_result(item) for item in result] + except Exception as e: + self._na_exception_handler(e, query_string) + + async def search( + self, + collection_name: str, + query_text: Optional[str] = None, + query_vector: Optional[List[float]] = None, + limit: int = None, + with_vector: bool = False, + ): + """ + Perform a search in the specified collection using either a text query or a vector + query. + + Parameters: + ----------- + - collection_name (str): The name of the collection in which to perform the search. + - query_text (Optional[str]): An optional text query to search for in the + collection. + - query_vector (Optional[List[float]]): An optional vector representation for + searching the collection. + - limit (int): The maximum number of results to return from the search. + - with_vector (bool): Whether to return the vector representations with search + results, this is not supported for Neptune Analytics backend at the moment. + + Returns: + -------- + A list of scored results that match the query. + """ + self._validate_embedding_engine() + + if with_vector: + logger.warning( + "with_vector=True will include embedding vectors in the result. " + "This may trigger a resource-intensive query and increase response time. " + "Use this option only when vector data is required." + ) + + # In the case of excessive limit, or zero / negative value, limit will be set to 10. + if not limit or limit <= self._TOPK_LOWER_BOUND or limit > self._TOPK_UPPER_BOUND: + logger.warning( + "Provided limit (%s) is invalid (zero, negative, or exceeds maximum). " + "Defaulting to limit=10.", + limit, + ) + limit = self._TOPK_UPPER_BOUND + + if query_vector and query_text: + raise InvalidValueError( + message="The search function accepts either text or embedding as input, but not both." + ) + elif query_text is None and query_vector is None: + raise InvalidValueError(message="One of query_text or query_vector must be provided!") + elif query_vector: + embedding = query_vector + else: + data_vectors = await self.embedding_engine.embed_text([query_text]) + embedding = data_vectors[0] + + # Compose the parameters map + params = dict(embedding=embedding, param_topk=limit) + # Compose the query + query_string = f""" + CALL neptune.algo.vectors.topKByEmbeddingWithFiltering({{ + topK: {limit}, + embedding: {embedding}, + nodeFilter: {{ equals: {{property: '{self._COLLECTION_PREFIX}', value: '{collection_name}'}} }} + }} + ) + YIELD node, score + """ + + if with_vector: + query_string += """ + WITH node, score, id(node) as node_id + MATCH (n) + WHERE id(n) = id(node) + CALL neptune.algo.vectors.get(n) + YIELD embedding + RETURN node as payload, score, embedding + """ + + else: + query_string += """ + RETURN node as payload, score + """ + + try: + query_response = self._client.query(query_string, params) + return [self._get_scored_result(item=item, with_score=True) for item in query_response] + except Exception as e: + self._na_exception_handler(e, query_string) + + async def batch_search( + self, collection_name: str, query_texts: List[str], limit: int, with_vectors: bool = False + ): + """ + Perform a batch search using multiple text queries against a collection. + + Parameters: + ----------- + - collection_name (str): The name of the collection to conduct the batch search in. + - query_texts (List[str]): A list of text queries to use for the search. + - limit (int): The maximum number of results to return for each query. + - with_vectors (bool): Whether to include vector representations with search + results. (default False) + + Returns: + -------- + A list of search result sets, one for each query input. + """ + self._validate_embedding_engine() + + # Convert text to embedding array in batch + data_vectors = await self.embedding_engine.embed_text(query_texts) + return await asyncio.gather( + *[ + self.search(collection_name, None, vector, limit, with_vectors) + for vector in data_vectors + ] + ) + + async def delete_data_points(self, collection_name: str, data_point_ids: list[str]): + """ + Delete specified data points from a collection, by executing an OpenCypher query, + with matching [vector_label, collection_label, node_id] combination. + + Parameters: + ----------- + - collection_name (str): The name of the collection from which to delete data + points. + - data_point_ids (list[str]): A list of IDs of the data points to delete. + """ + params = dict(node_ids=data_point_ids, collection_name=collection_name) + query_string = ( + f"MATCH (n :{self._VECTOR_NODE_LABEL}) " + f"WHERE id(n) IN $node_ids " + f"AND n.{self._COLLECTION_PREFIX} = $collection_name " + f"DETACH DELETE n" + ) + try: + self._client.query(query_string, params) + except Exception as e: + self._na_exception_handler(e, query_string) + pass + + async def create_vector_index(self, index_name: str, index_property_name: str): + """ + Neptune Analytics stores vectors at the node level, + so create_vector_index() implements the interface for compliance but performs no operation when called. + As a result, create_vector_index() invokes create_collection(), which is also a no-op. + This ensures the logic flow remains consistent, even if the concept of collections is introduced in a future release. + """ + await self.create_collection(f"{index_name}_{index_property_name}") + + async def index_data_points( + self, index_name: str, index_property_name: str, data_points: list[DataPoint] + ): + """ + Indexes a list of data points into Neptune Analytics by creating them as nodes. + + This method constructs a unique collection name by combining the `index_name` and + `index_property_name`, then delegates to `create_data_points()` to store the data. + + Args: + index_name (str): The base name of the index. + index_property_name (str): The property name to append to the index name for uniqueness. + data_points (list[DataPoint]): A list of `DataPoint` instances to be indexed. + + Returns: + None + """ + await self.create_data_points( + f"{index_name}_{index_property_name}", + [ + IndexSchema( + id=str(data_point.id), + text=getattr(data_point, data_point.metadata["index_fields"][0]), + ) + for data_point in data_points + ], + ) + + async def prune(self): + """ + Remove obsolete or unnecessary data from the database. + """ + # Run actual truncate + self._client.query(f"MATCH (n :{self._VECTOR_NODE_LABEL}) DETACH DELETE n") + pass + + @staticmethod + def _get_scored_result( + item: dict, with_vector: bool = False, with_score: bool = False + ) -> ScoredResult: + """ + Util method to simplify the object creation of ScoredResult base on incoming NX payload response. + """ + return ScoredResult( + id=item.get("payload").get("~id"), + payload=item.get("payload").get("~properties"), + score=item.get("score") if with_score else 0, + vector=item.get("embedding") if with_vector else None, + ) + + def _na_exception_handler(self, ex, query_string: str): + """ + Generic exception handler for NA langchain. + """ + logger.error("Neptune Analytics query failed: %s | Query: [%s]", ex, query_string) + raise ex + + def _validate_embedding_engine(self): + """ + Validates if the embedding_engine is defined + :raises: ValueError if this object does not have a valid embedding_engine + """ + if self.embedding_engine is None: + raise ValueError( + "Neptune Analytics requires an embedder defined to make vector operations" + ) diff --git a/cognee/infrastructure/databases/hybrid/neptune_analytics/__init__.py b/cognee/infrastructure/databases/hybrid/neptune_analytics/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/cognee/infrastructure/databases/vector/create_vector_engine.py b/cognee/infrastructure/databases/vector/create_vector_engine.py index 8bbceaf7f..1604b6a59 100644 --- a/cognee/infrastructure/databases/vector/create_vector_engine.py +++ b/cognee/infrastructure/databases/vector/create_vector_engine.py @@ -114,6 +114,34 @@ def create_vector_engine( embedding_engine=embedding_engine, ) + elif vector_db_provider == "neptune_analytics": + try: + from langchain_aws import NeptuneAnalyticsGraph + except ImportError: + raise ImportError( + "langchain_aws is not installed. Please install it with 'pip install langchain_aws'" + ) + + if not vector_db_url: + raise EnvironmentError("Missing Neptune endpoint.") + + from cognee.infrastructure.databases.hybrid.neptune_analytics.NeptuneAnalyticsAdapter import ( + NeptuneAnalyticsAdapter, + NEPTUNE_ANALYTICS_ENDPOINT_URL, + ) + + if not vector_db_url.startswith(NEPTUNE_ANALYTICS_ENDPOINT_URL): + raise ValueError( + f"Neptune endpoint must have the format '{NEPTUNE_ANALYTICS_ENDPOINT_URL}'" + ) + + graph_identifier = vector_db_url.replace(NEPTUNE_ANALYTICS_ENDPOINT_URL, "") + + return NeptuneAnalyticsAdapter( + graph_id=graph_identifier, + embedding_engine=embedding_engine, + ) + else: from .lancedb.LanceDBAdapter import LanceDBAdapter diff --git a/cognee/tests/test_neptune_analytics_graph.py b/cognee/tests/test_neptune_analytics_graph.py new file mode 100644 index 000000000..c74f3f657 --- /dev/null +++ b/cognee/tests/test_neptune_analytics_graph.py @@ -0,0 +1,309 @@ +import os +from dotenv import load_dotenv +import asyncio +from cognee.infrastructure.databases.graph.neptune_driver import NeptuneGraphDB +from cognee.modules.chunking.models import DocumentChunk +from cognee.modules.engine.models import Entity, EntityType +from cognee.modules.data.processing.document_types import TextDocument + +# Set up Amazon credentials in .env file and get the values from environment variables +load_dotenv() +graph_id = os.getenv("GRAPH_ID", "") + +na_adapter = NeptuneGraphDB(graph_id) + + +def setup(): + # Define nodes data before the main function + # These nodes were defined using openAI from the following prompt: + + # Neptune Analytics is an ideal choice for investigatory, exploratory, or data-science workloads + # that require fast iteration for data, analytical and algorithmic processing, or vector search on graph data. It + # complements Amazon Neptune Database, a popular managed graph database. To perform intensive analysis, you can load + # the data from a Neptune Database graph or snapshot into Neptune Analytics. You can also load graph data that's + # stored in Amazon S3. + + document = TextDocument( + name="text_test.txt", + raw_data_location="git/cognee/examples/database_examples/data_storage/data/text_test.txt", + external_metadata="{}", + mime_type="text/plain", + ) + document_chunk = DocumentChunk( + text="Neptune Analytics is an ideal choice for investigatory, exploratory, or data-science workloads \n that require fast iteration for data, analytical and algorithmic processing, or vector search on graph data. It \n complements Amazon Neptune Database, a popular managed graph database. To perform intensive analysis, you can load \n the data from a Neptune Database graph or snapshot into Neptune Analytics. You can also load graph data that's \n stored in Amazon S3.\n ", + chunk_size=187, + chunk_index=0, + cut_type="paragraph_end", + is_part_of=document, + ) + + graph_database = EntityType(name="graph database", description="graph database") + neptune_analytics_entity = Entity( + name="neptune analytics", + description="A memory-optimized graph database engine for analytics that processes large amounts of graph data quickly.", + ) + neptune_database_entity = Entity( + name="amazon neptune database", + description="A popular managed graph database that complements Neptune Analytics.", + ) + + storage = EntityType(name="storage", description="storage") + storage_entity = Entity( + name="amazon s3", + description="A storage service provided by Amazon Web Services that allows storing graph data.", + ) + + nodes_data = [ + document, + document_chunk, + graph_database, + neptune_analytics_entity, + neptune_database_entity, + storage, + storage_entity, + ] + + edges_data = [ + ( + str(document_chunk.id), + str(storage_entity.id), + "contains", + ), + ( + str(storage_entity.id), + str(storage.id), + "is_a", + ), + ( + str(document_chunk.id), + str(neptune_database_entity.id), + "contains", + ), + ( + str(neptune_database_entity.id), + str(graph_database.id), + "is_a", + ), + ( + str(document_chunk.id), + str(document.id), + "is_part_of", + ), + ( + str(document_chunk.id), + str(neptune_analytics_entity.id), + "contains", + ), + ( + str(neptune_analytics_entity.id), + str(graph_database.id), + "is_a", + ), + ] + + return nodes_data, edges_data + + +async def pipeline_method(): + """ + Example script using the neptune analytics with small sample data + + This example demonstrates how to add nodes to Neptune Analytics + """ + + print("------TRUNCATE GRAPH-------") + await na_adapter.delete_graph() + + print("------SETUP DATA-------") + nodes, edges = setup() + + print("------ADD NODES-------") + await na_adapter.add_node(nodes[0]) + await na_adapter.add_nodes(nodes[1:]) + + print("------GET NODES FROM DATA-------") + node_ids = [str(node.id) for node in nodes] + db_nodes = await na_adapter.get_nodes(node_ids) + + print("------RESULTS:-------") + for n in db_nodes: + print(n) + + print("------ADD EDGES-------") + await na_adapter.add_edge(edges[0][0], edges[0][1], edges[0][2]) + await na_adapter.add_edges(edges[1:]) + + print("------HAS EDGES-------") + has_edge = await na_adapter.has_edge( + edges[0][0], + edges[0][1], + edges[0][2], + ) + if has_edge: + print(f"found edge ({edges[0][0]})-[{edges[0][2]}]->({edges[0][1]})") + + has_edges = await na_adapter.has_edges(edges) + if len(has_edges) > 0: + print(f"found edges: {len(has_edges)} (expected: {len(edges)})") + else: + print(f"no edges found (expected: {len(edges)})") + + print("------GET GRAPH-------") + all_nodes, all_edges = await na_adapter.get_graph_data() + print(f"found {len(all_nodes)} nodes and found {len(all_edges)} edges") + + print("------NEIGHBORING NODES-------") + center_node = nodes[2] + neighbors = await na_adapter.get_neighbors(str(center_node.id)) + print(f'found {len(neighbors)} neighbors for node "{center_node.name}"') + for neighbor in neighbors: + print(neighbor) + + print("------NEIGHBORING EDGES-------") + center_node = nodes[2] + neighbouring_edges = await na_adapter.get_edges(str(center_node.id)) + print(f'found {len(neighbouring_edges)} edges neighbouring node "{center_node.name}"') + for edge in neighbouring_edges: + print(edge) + + print("------GET CONNECTIONS (SOURCE NODE)-------") + document_chunk_node = nodes[0] + connections = await na_adapter.get_connections(str(document_chunk_node.id)) + print(f'found {len(connections)} connections for node "{document_chunk_node.type}"') + for connection in connections: + src, relationship, tgt = connection + src = src.get("name", src.get("type", "unknown")) + relationship = relationship["relationship_name"] + tgt = tgt.get("name", tgt.get("type", "unknown")) + print(f'"{src}"-[{relationship}]->"{tgt}"') + + print("------GET CONNECTIONS (TARGET NODE)-------") + connections = await na_adapter.get_connections(str(center_node.id)) + print(f'found {len(connections)} connections for node "{center_node.name}"') + for connection in connections: + src, relationship, tgt = connection + src = src.get("name", src.get("type", "unknown")) + relationship = relationship["relationship_name"] + tgt = tgt.get("name", tgt.get("type", "unknown")) + print(f'"{src}"-[{relationship}]->"{tgt}"') + + print("------SUBGRAPH-------") + node_names = ["neptune analytics", "amazon neptune database"] + subgraph_nodes, subgraph_edges = await na_adapter.get_nodeset_subgraph(Entity, node_names) + print( + f"found {len(subgraph_nodes)} nodes and {len(subgraph_edges)} edges in the subgraph around {node_names}" + ) + for subgraph_node in subgraph_nodes: + print(subgraph_node) + for subgraph_edge in subgraph_edges: + print(subgraph_edge) + + print("------STAT-------") + stat = await na_adapter.get_graph_metrics(include_optional=True) + assert type(stat) is dict + assert stat["num_nodes"] == 7 + assert stat["num_edges"] == 7 + assert stat["mean_degree"] == 2.0 + assert round(stat["edge_density"], 3) == 0.167 + assert stat["num_connected_components"] == [7] + assert stat["sizes_of_connected_components"] == 1 + assert stat["num_selfloops"] == 0 + # Unsupported optional metrics + assert stat["diameter"] == -1 + assert stat["avg_shortest_path_length"] == -1 + assert stat["avg_clustering"] == -1 + + print("------DELETE-------") + # delete all nodes and edges: + await na_adapter.delete_graph() + + # delete all nodes by node id + # node_ids = [str(node.id) for node in nodes] + # await na_adapter.delete_nodes(node_ids) + + has_edges = await na_adapter.has_edges(edges) + if len(has_edges) == 0: + print("Delete successful") + else: + print("Delete failed") + + +async def misc_methods(): + print("------TRUNCATE GRAPH-------") + await na_adapter.delete_graph() + + print("------SETUP TEST ENV-------") + nodes, edges = setup() + await na_adapter.add_nodes(nodes) + await na_adapter.add_edges(edges) + + print("------GET GRAPH-------") + all_nodes, all_edges = await na_adapter.get_graph_data() + print(f"found {len(all_nodes)} nodes and found {len(all_edges)} edges") + + print("------GET DISCONNECTED-------") + nodes_disconnected = await na_adapter.get_disconnected_nodes() + print(nodes_disconnected) + assert len(nodes_disconnected) == 0 + + print("------Get Labels (Node)-------") + node_labels = await na_adapter.get_node_labels_string() + print(node_labels) + + print("------Get Labels (Edge)-------") + edge_labels = await na_adapter.get_relationship_labels_string() + print(edge_labels) + + print("------Get Filtered Graph-------") + filtered_nodes, filtered_edges = await na_adapter.get_filtered_graph_data( + [{"name": ["text_test.txt"]}] + ) + print(filtered_nodes, filtered_edges) + + print("------Get Degree one nodes-------") + degree_one_nodes = await na_adapter.get_degree_one_nodes("EntityType") + print(degree_one_nodes) + + print("------Get Doc sub-graph-------") + doc_sub_graph = await na_adapter.get_document_subgraph("test.txt") + print(doc_sub_graph) + + print("------Fetch and Remove connections (Predecessors)-------") + # Fetch test edge + (src_id, dest_id, relationship) = edges[0] + nodes_predecessors = await na_adapter.get_predecessors(node_id=dest_id, edge_label=relationship) + assert len(nodes_predecessors) > 0 + + await na_adapter.remove_connection_to_predecessors_of( + node_ids=[src_id], edge_label=relationship + ) + nodes_predecessors_after = await na_adapter.get_predecessors( + node_id=dest_id, edge_label=relationship + ) + # Return empty after relationship being deleted. + assert len(nodes_predecessors_after) == 0 + + print("------Fetch and Remove connections (Successors)-------") + _, edges_suc = await na_adapter.get_graph_data() + (src_id, dest_id, relationship, _) = edges_suc[0] + + nodes_successors = await na_adapter.get_successors(node_id=src_id, edge_label=relationship) + assert len(nodes_successors) > 0 + + await na_adapter.remove_connection_to_successors_of(node_ids=[dest_id], edge_label=relationship) + nodes_successors_after = await na_adapter.get_successors( + node_id=src_id, edge_label=relationship + ) + assert len(nodes_successors_after) == 0 + + # no-op + await na_adapter.project_entire_graph() + await na_adapter.drop_graph() + await na_adapter.graph_exists() + + pass + + +if __name__ == "__main__": + asyncio.run(pipeline_method()) + asyncio.run(misc_methods()) diff --git a/cognee/tests/test_neptune_analytics_hybrid.py b/cognee/tests/test_neptune_analytics_hybrid.py new file mode 100644 index 000000000..5999acace --- /dev/null +++ b/cognee/tests/test_neptune_analytics_hybrid.py @@ -0,0 +1,176 @@ +import os +from dotenv import load_dotenv +import asyncio +import pytest + +from cognee.modules.chunking.models import DocumentChunk +from cognee.modules.engine.models import Entity, EntityType +from cognee.modules.data.processing.document_types import TextDocument +from cognee.infrastructure.databases.vector.embeddings import get_embedding_engine +from cognee.shared.logging_utils import get_logger +from cognee.infrastructure.databases.hybrid.neptune_analytics.NeptuneAnalyticsAdapter import ( + NeptuneAnalyticsAdapter, +) + +# Set up Amazon credentials in .env file and get the values from environment variables +load_dotenv() +graph_id = os.getenv("GRAPH_ID", "") + +# get the default embedder +embedding_engine = get_embedding_engine() +na_graph = NeptuneAnalyticsAdapter(graph_id) +na_vector = NeptuneAnalyticsAdapter(graph_id, embedding_engine) + +collection = "test_collection" + +logger = get_logger("test_neptune_analytics_hybrid") + + +def setup_data(): + # Define nodes data before the main function + # These nodes were defined using openAI from the following prompt: + # + # Neptune Analytics is an ideal choice for investigatory, exploratory, or data-science workloads + # that require fast iteration for data, analytical and algorithmic processing, or vector search on graph data. It + # complements Amazon Neptune Database, a popular managed graph database. To perform intensive analysis, you can load + # the data from a Neptune Database graph or snapshot into Neptune Analytics. You can also load graph data that's + # stored in Amazon S3. + + document = TextDocument( + name="text.txt", + raw_data_location="git/cognee/examples/database_examples/data_storage/data/text.txt", + external_metadata="{}", + mime_type="text/plain", + ) + document_chunk = DocumentChunk( + text="Neptune Analytics is an ideal choice for investigatory, exploratory, or data-science workloads \n that require fast iteration for data, analytical and algorithmic processing, or vector search on graph data. It \n complements Amazon Neptune Database, a popular managed graph database. To perform intensive analysis, you can load \n the data from a Neptune Database graph or snapshot into Neptune Analytics. You can also load graph data that's \n stored in Amazon S3.\n ", + chunk_size=187, + chunk_index=0, + cut_type="paragraph_end", + is_part_of=document, + ) + + graph_database = EntityType(name="graph database", description="graph database") + neptune_analytics_entity = Entity( + name="neptune analytics", + description="A memory-optimized graph database engine for analytics that processes large amounts of graph data quickly.", + ) + neptune_database_entity = Entity( + name="amazon neptune database", + description="A popular managed graph database that complements Neptune Analytics.", + ) + + storage = EntityType(name="storage", description="storage") + storage_entity = Entity( + name="amazon s3", + description="A storage service provided by Amazon Web Services that allows storing graph data.", + ) + + nodes_data = [ + document, + document_chunk, + graph_database, + neptune_analytics_entity, + neptune_database_entity, + storage, + storage_entity, + ] + + edges_data = [ + ( + str(document_chunk.id), + str(storage_entity.id), + "contains", + ), + ( + str(storage_entity.id), + str(storage.id), + "is_a", + ), + ( + str(document_chunk.id), + str(neptune_database_entity.id), + "contains", + ), + ( + str(neptune_database_entity.id), + str(graph_database.id), + "is_a", + ), + ( + str(document_chunk.id), + str(document.id), + "is_part_of", + ), + ( + str(document_chunk.id), + str(neptune_analytics_entity.id), + "contains", + ), + ( + str(neptune_analytics_entity.id), + str(graph_database.id), + "is_a", + ), + ] + return nodes_data, edges_data + + +async def test_add_graph_then_vector_data(): + logger.info("------test_add_graph_then_vector_data-------") + (nodes, edges) = setup_data() + await na_graph.add_nodes(nodes) + await na_graph.add_edges(edges) + await na_vector.create_data_points(collection, nodes) + + node_ids = [str(node.id) for node in nodes] + retrieved_data_points = await na_vector.retrieve(collection, node_ids) + retrieved_nodes = await na_graph.get_nodes(node_ids) + + assert len(retrieved_data_points) == len(retrieved_nodes) == len(node_ids) + + # delete all nodes and edges and vectors: + await na_graph.delete_graph() + await na_vector.prune() + + (nodes, edges) = await na_graph.get_graph_data() + assert len(nodes) == 0 + assert len(edges) == 0 + logger.info("------PASSED-------") + + +async def test_add_vector_then_node_data(): + logger.info("------test_add_vector_then_node_data-------") + (nodes, edges) = setup_data() + await na_vector.create_data_points(collection, nodes) + await na_graph.add_nodes(nodes) + await na_graph.add_edges(edges) + + node_ids = [str(node.id) for node in nodes] + retrieved_data_points = await na_vector.retrieve(collection, node_ids) + retrieved_nodes = await na_graph.get_nodes(node_ids) + + assert len(retrieved_data_points) == len(retrieved_nodes) == len(node_ids) + + # delete all nodes and edges and vectors: + await na_vector.prune() + await na_graph.delete_graph() + + (nodes, edges) = await na_graph.get_graph_data() + assert len(nodes) == 0 + assert len(edges) == 0 + logger.info("------PASSED-------") + + +def main(): + """ + Example script uses neptune analytics for the graph and vector (hybrid) store with small sample data + This example demonstrates how to add nodes and vectors to Neptune Analytics, and ensures that + the nodes do not conflict + """ + asyncio.run(test_add_graph_then_vector_data()) + asyncio.run(test_add_vector_then_node_data()) + + +if __name__ == "__main__": + main() diff --git a/cognee/tests/test_neptune_analytics_vector.py b/cognee/tests/test_neptune_analytics_vector.py new file mode 100644 index 000000000..eececacdd --- /dev/null +++ b/cognee/tests/test_neptune_analytics_vector.py @@ -0,0 +1,169 @@ +import os +import pathlib +import cognee +import uuid +import pytest +from cognee.modules.search.operations import get_history +from cognee.modules.users.methods import get_default_user +from cognee.shared.logging_utils import get_logger +from cognee.modules.search.types import SearchType +from cognee.infrastructure.databases.vector import get_vector_engine +from cognee.infrastructure.databases.hybrid.neptune_analytics.NeptuneAnalyticsAdapter import ( + NeptuneAnalyticsAdapter, + IndexSchema, +) + +logger = get_logger() + + +async def main(): + graph_id = os.getenv("GRAPH_ID", "") + cognee.config.set_vector_db_provider("neptune_analytics") + cognee.config.set_vector_db_url(f"neptune-graph://{graph_id}") + data_directory_path = str( + pathlib.Path( + os.path.join(pathlib.Path(__file__).parent, ".data_storage/test_neptune") + ).resolve() + ) + cognee.config.data_root_directory(data_directory_path) + cognee_directory_path = str( + pathlib.Path( + os.path.join(pathlib.Path(__file__).parent, ".cognee_system/test_neptune") + ).resolve() + ) + cognee.config.system_root_directory(cognee_directory_path) + + await cognee.prune.prune_data() + await cognee.prune.prune_system(metadata=True) + + dataset_name = "cs_explanations" + + explanation_file_path = os.path.join( + pathlib.Path(__file__).parent, "test_data/Natural_language_processing.txt" + ) + await cognee.add([explanation_file_path], dataset_name) + + text = """A quantum computer is a computer that takes advantage of quantum mechanical phenomena. + At small scales, physical matter exhibits properties of both particles and waves, and quantum computing leverages this behavior, specifically quantum superposition and entanglement, using specialized hardware that supports the preparation and manipulation of quantum states. + Classical physics cannot explain the operation of these quantum devices, and a scalable quantum computer could perform some calculations exponentially faster (with respect to input size scaling) than any modern "classical" computer. In particular, a large-scale quantum computer could break widely used encryption schemes and aid physicists in performing physical simulations; however, the current state of the technology is largely experimental and impractical, with several obstacles to useful applications. Moreover, scalable quantum computers do not hold promise for many practical tasks, and for many important tasks quantum speedups are proven impossible. + The basic unit of information in quantum computing is the qubit, similar to the bit in traditional digital electronics. Unlike a classical bit, a qubit can exist in a superposition of its two "basis" states. When measuring a qubit, the result is a probabilistic output of a classical bit, therefore making quantum computers nondeterministic in general. If a quantum computer manipulates the qubit in a particular way, wave interference effects can amplify the desired measurement results. The design of quantum algorithms involves creating procedures that allow a quantum computer to perform calculations efficiently and quickly. + Physically engineering high-quality qubits has proven challenging. If a physical qubit is not sufficiently isolated from its environment, it suffers from quantum decoherence, introducing noise into calculations. Paradoxically, perfectly isolating qubits is also undesirable because quantum computations typically need to initialize qubits, perform controlled qubit interactions, and measure the resulting quantum states. Each of those operations introduces errors and suffers from noise, and such inaccuracies accumulate. + In principle, a non-quantum (classical) computer can solve the same computational problems as a quantum computer, given enough time. Quantum advantage comes in the form of time complexity rather than computability, and quantum complexity theory shows that some quantum algorithms for carefully selected tasks require exponentially fewer computational steps than the best known non-quantum algorithms. Such tasks can in theory be solved on a large-scale quantum computer whereas classical computers would not finish computations in any reasonable amount of time. However, quantum speedup is not universal or even typical across computational tasks, since basic tasks such as sorting are proven to not allow any asymptotic quantum speedup. Claims of quantum supremacy have drawn significant attention to the discipline, but are demonstrated on contrived tasks, while near-term practical use cases remain limited. + """ + + await cognee.add([text], dataset_name) + + await cognee.cognify([dataset_name]) + + vector_engine = get_vector_engine() + random_node = (await vector_engine.search("Entity_name", "Quantum computer"))[0] + random_node_name = random_node.payload["text"] + + search_results = await cognee.search( + query_type=SearchType.INSIGHTS, query_text=random_node_name + ) + assert len(search_results) != 0, "The search results list is empty." + print("\n\nExtracted sentences are:\n") + for result in search_results: + print(f"{result}\n") + + search_results = await cognee.search(query_type=SearchType.CHUNKS, query_text=random_node_name) + assert len(search_results) != 0, "The search results list is empty." + print("\n\nExtracted chunks are:\n") + for result in search_results: + print(f"{result}\n") + + search_results = await cognee.search( + query_type=SearchType.SUMMARIES, query_text=random_node_name + ) + assert len(search_results) != 0, "Query related summaries don't exist." + print("\nExtracted summaries are:\n") + for result in search_results: + print(f"{result}\n") + + user = await get_default_user() + history = await get_history(user.id) + assert len(history) == 6, "Search history is not correct." + + await cognee.prune.prune_data() + assert not os.path.isdir(data_directory_path), "Local data files are not deleted" + + await cognee.prune.prune_system(metadata=True) + + +async def vector_backend_api_test(): + cognee.config.set_vector_db_provider("neptune_analytics") + + # When URL is absent + cognee.config.set_vector_db_url(None) + with pytest.raises(OSError): + get_vector_engine() + + # Assert invalid graph ID. + cognee.config.set_vector_db_url("invalid_url") + with pytest.raises(ValueError): + get_vector_engine() + + # Return a valid engine object with valid URL. + graph_id = os.getenv("GRAPH_ID", "") + cognee.config.set_vector_db_url(f"neptune-graph://{graph_id}") + engine = get_vector_engine() + assert isinstance(engine, NeptuneAnalyticsAdapter) + + TEST_COLLECTION_NAME = "test" + # Data point - 1 + TEST_UUID = str(uuid.uuid4()) + TEST_TEXT = "Hello world" + datapoint = IndexSchema(id=TEST_UUID, text=TEST_TEXT) + # Data point - 2 + TEST_UUID_2 = str(uuid.uuid4()) + TEST_TEXT_2 = "Cognee" + datapoint_2 = IndexSchema(id=TEST_UUID_2, text=TEST_TEXT_2) + + # Prun all vector_db entries + await engine.prune() + + # Always return true + has_collection = await engine.has_collection(TEST_COLLECTION_NAME) + assert has_collection + # No-op + await engine.create_collection(TEST_COLLECTION_NAME, IndexSchema) + + # Save data-points + await engine.create_data_points(TEST_COLLECTION_NAME, [datapoint, datapoint_2]) + # Search single text + result_search = await engine.search( + collection_name=TEST_COLLECTION_NAME, + query_text=TEST_TEXT, + query_vector=None, + limit=10, + with_vector=True, + ) + assert len(result_search) == 2 + + # # Retrieve data-points + result = await engine.retrieve(TEST_COLLECTION_NAME, [TEST_UUID, TEST_UUID_2]) + assert any(str(r.id) == TEST_UUID and r.payload["text"] == TEST_TEXT for r in result) + assert any(str(r.id) == TEST_UUID_2 and r.payload["text"] == TEST_TEXT_2 for r in result) + # Search multiple + result_search_batch = await engine.batch_search( + collection_name=TEST_COLLECTION_NAME, + query_texts=[TEST_TEXT, TEST_TEXT_2], + limit=10, + with_vectors=False, + ) + assert len(result_search_batch) == 2 and all(len(batch) == 2 for batch in result_search_batch) + + # Delete datapoint from vector store + await engine.delete_data_points(TEST_COLLECTION_NAME, [TEST_UUID, TEST_UUID_2]) + + # Retrieve should return an empty list. + result_deleted = await engine.retrieve(TEST_COLLECTION_NAME, [TEST_UUID]) + assert result_deleted == [] + + +if __name__ == "__main__": + import asyncio + + asyncio.run(main()) + asyncio.run(vector_backend_api_test()) diff --git a/docker-compose.yml b/docker-compose.yml index 0901c8263..1c0a7dbd3 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,34 +1,3 @@ -# Cognee Docker Compose Configuration -# -# This docker-compose file includes the main Cognee API server and optional services: -# -# BASIC USAGE: -# Start main Cognee API server: -# docker-compose up cognee -# -# MCP SERVER USAGE: -# The MCP (Model Context Protocol) server enables IDE integration with tools like Cursor, Claude Desktop, etc. -# -# Start with MCP server (stdio transport - recommended): -# docker-compose --profile mcp up -# -# Start with MCP server (SSE transport for HTTP access): -# TRANSPORT_MODE=sse docker-compose --profile mcp up -# -# PORT CONFIGURATION: -# - Main Cognee API: http://localhost:8000 -# - MCP Server (SSE mode): http://localhost:8001 -# - Frontend (UI): http://localhost:3000 (with --profile ui) - -# -# DEBUGGING: -# Enable debug mode by setting DEBUG=true in your .env file or: -# DEBUG=true docker-compose --profile mcp up -# -# This exposes debugger ports: -# - Main API debugger: localhost:5678 -# - MCP Server debugger: localhost:5679 - services: cognee: container_name: cognee @@ -69,15 +38,13 @@ services: dockerfile: cognee-mcp/Dockerfile volumes: - .env:/app/.env - # Optional: Mount local data for ingestion - - ./examples/data:/app/data:ro environment: - DEBUG=false # Change to true if debugging - ENVIRONMENT=local - LOG_LEVEL=INFO - - TRANSPORT_MODE=stdio # Use 'sse' for Server-Sent Events over HTTP + - TRANSPORT_MODE=sse # Database configuration - should match the main cognee service - - DB_TYPE=${DB_TYPE:-sqlite} + - DB_PROVIDER=${DB_PROVIDER:-sqlite} - DB_HOST=${DB_HOST:-host.docker.internal} - DB_PORT=${DB_PORT:-5432} - DB_NAME=${DB_NAME:-cognee_db} @@ -89,11 +56,8 @@ services: extra_hosts: - "host.docker.internal:host-gateway" ports: - # Only expose ports when using SSE transport - - "8001:8000" # MCP SSE port (mapped to avoid conflict with main API) - - "5679:5678" # MCP debugger port (different from main service) - depends_on: - - cognee + - "8000:8000" # MCP port + - "5678:5678" # MCP debugger port deploy: resources: limits: diff --git a/examples/database_examples/neptune_analytics_example.py b/examples/database_examples/neptune_analytics_example.py new file mode 100644 index 000000000..5d36e2803 --- /dev/null +++ b/examples/database_examples/neptune_analytics_example.py @@ -0,0 +1,110 @@ +import base64 +import json +import os +import pathlib +import asyncio +import cognee +from cognee.modules.search.types import SearchType +from dotenv import load_dotenv + +load_dotenv() + + +async def main(): + """ + Example script demonstrating how to use Cognee with Amazon Neptune Analytics + + This example: + 1. Configures Cognee to use Neptune Analytics as graph database + 2. Sets up data directories + 3. Adds sample data to Cognee + 4. Processes/cognifies the data + 5. Performs different types of searches + """ + + # Set up Amazon credentials in .env file and get the values from environment variables + graph_endpoint_url = "neptune-graph://" + os.getenv("GRAPH_ID", "") + + # Configure Neptune Analytics as the graph & vector database provider + cognee.config.set_graph_db_config( + { + "graph_database_provider": "neptune_analytics", # Specify Neptune Analytics as provider + "graph_database_url": graph_endpoint_url, # Neptune Analytics endpoint with the format neptune-graph:// + } + ) + cognee.config.set_vector_db_config( + { + "vector_db_provider": "neptune_analytics", # Specify Neptune Analytics as provider + "vector_db_url": graph_endpoint_url, # Neptune Analytics endpoint with the format neptune-graph:// + } + ) + + # Set up data directories for storing documents and system files + # You should adjust these paths to your needs + current_dir = pathlib.Path(__file__).parent + data_directory_path = str(current_dir / "data_storage") + cognee.config.data_root_directory(data_directory_path) + + cognee_directory_path = str(current_dir / "cognee_system") + cognee.config.system_root_directory(cognee_directory_path) + + # Clean any existing data (optional) + await cognee.prune.prune_data() + await cognee.prune.prune_system(metadata=True) + + # Create a dataset + dataset_name = "neptune_example" + + # Add sample text to the dataset + sample_text_1 = """Neptune Analytics is a memory-optimized graph database engine for analytics. With Neptune + Analytics, you can get insights and find trends by processing large amounts of graph data in seconds. To analyze + graph data quickly and easily, Neptune Analytics stores large graph datasets in memory. It supports a library of + optimized graph analytic algorithms, low-latency graph queries, and vector search capabilities within graph + traversals. + """ + + sample_text_2 = """Neptune Analytics is an ideal choice for investigatory, exploratory, or data-science workloads + that require fast iteration for data, analytical and algorithmic processing, or vector search on graph data. It + complements Amazon Neptune Database, a popular managed graph database. To perform intensive analysis, you can load + the data from a Neptune Database graph or snapshot into Neptune Analytics. You can also load graph data that's + stored in Amazon S3. + """ + + # Add the sample text to the dataset + await cognee.add([sample_text_1, sample_text_2], dataset_name) + + # Process the added document to extract knowledge + await cognee.cognify([dataset_name]) + + # Now let's perform some searches + # 1. Search for insights related to "Neptune Analytics" + insights_results = await cognee.search( + query_type=SearchType.INSIGHTS, query_text="Neptune Analytics" + ) + print("\n========Insights about Neptune Analytics========:") + for result in insights_results: + print(f"- {result}") + + # 2. Search for text chunks related to "graph database" + chunks_results = await cognee.search( + query_type=SearchType.CHUNKS, query_text="graph database", datasets=[dataset_name] + ) + print("\n========Chunks about graph database========:") + for result in chunks_results: + print(f"- {result}") + + # 3. Get graph completion related to databases + graph_completion_results = await cognee.search( + query_type=SearchType.GRAPH_COMPLETION, query_text="database" + ) + print("\n========Graph completion for databases========:") + for result in graph_completion_results: + print(f"- {result}") + + # Clean up (optional) + await cognee.prune.prune_data() + await cognee.prune.prune_system(metadata=True) + + +if __name__ == "__main__": + asyncio.run(main()) diff --git a/notebooks/neptune-analytics-example.ipynb b/notebooks/neptune-analytics-example.ipynb new file mode 100644 index 000000000..197918db5 --- /dev/null +++ b/notebooks/neptune-analytics-example.ipynb @@ -0,0 +1,378 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Neptune Analytics as Hybrid Graph/Vector Store\n", + "\n", + "Cognee.ai supports Neptune Analytics as a hybrid adaptor: providing both graph and vector storage. This allows cognee to use the same storage medium for graph-based queries and vector-similarity searches.\n", + "\n", + "In this notebook, we demonstrate how to connect to an Amazon Neptune Analytics instance using the Cognee.ai configuration, which uses AWS Langchain and boto3 under the hood to connect to the AWS service.\n", + "\n", + "Apart from the general installation of Cognee.ai, you will need an Amazon Neptune Analytics instance running with access.\n", + "\n", + "References:\n", + "- [What is Neptune Analytics](https://docs.aws.amazon.com/neptune-analytics/latest/userguide/what-is-neptune-analytics.html)\n", + "- [Vector Similarity using Neptune Analytics](https://docs.aws.amazon.com/neptune-analytics/latest/userguide/vector-similarity.html)\n", + "- [Amazon CLI credentials and configuration](https://docs.aws.amazon.com/cli/v1/userguide/cli-chap-configure.html#configure-precedence)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Prerequisites\n", + "\n", + "## 1. Amazon Neptune Analytics Instance Setup\n", + "\n", + "Create an Amazon Neptune Analytics instance in your AWS account following the [AWS documentation](https://docs.aws.amazon.com/neptune-analytics/latest/userguide/get-started.html). Please note you will also need to configuration the following:\n", + "- Under `Network and Security` | `enable public connectivity`, allow your graph to be reachable over the internet if accessing from outside a VPC.\n", + "- Under `Vector search settings` | `Vector search dimension configuration` | `Use vector dimension`. The Neptune Analytics instance must be created using the same vector dimensions as the embedding model creates. See: https://docs.aws.amazon.com/neptune-analytics/latest/userguide/vector-index.html. For example, if using OpenAI LLM `openai/text-embedding-3-small`, which uses 1536-dimension embeddings, your Neptune Analytics vector store must be configured to accept 1536-dimension vectors.\n", + "- Once the Amazon Neptune Analytics instance is available, you will need the graph-identifier to connect.\n", + "\n", + "## 2. Attach Credentials\n", + "\n", + "Configure your AWS credentials with access to your Amazon Neptune Analytics resources by following the [Configuration and credentials precedence](https://docs.aws.amazon.com/cli/v1/userguide/cli-chap-configure.html#configure-precedence). You can do this by declaring environment variables in your `.env` file in the project root directory and importing dotenv.\n", + "\n", + "```\n", + "export AWS_ACCESS_KEY_ID=your-access-key\n", + "export AWS_SECRET_ACCESS_KEY=your-secret-key\n", + "export AWS_SESSION_TOKEN=your-session-token\n", + "export AWS_DEFAULT_REGION=your-region\n", + "\n", + "# this is the NA graph identifier\n", + "export AWS_NEPTUNE_ANALYTICS_GRAPH_ID=g-your-graph\n", + "```\n", + "\n", + "The IAM user or role making the request must have a policy attached that allows one of the following IAM actions in that neptune-graph:\n", + "```\n", + "neptune-graph:ReadDataViaQuery\n", + "neptune-graph:WriteDataViaQuery\n", + "neptune-graph:DeleteDataViaQuery\n", + "```\n", + "\n", + "## 3. Configure Cognee.ai\n", + "\n", + "To connect to Amazon Neptune Analytics, you need to add the \"neptune_analytics\" provider and graph endpoint url to your graph and vector configuration.\n", + "\n", + "```python\n", + "import os\n", + "import cognee\n", + "from dotenv import load_dotenv\n", + "\n", + "# load environment variables from .env\n", + "load_dotenv()\n", + "\n", + "graph_identifier = os.getenv('AWS_NEPTUNE_ANALYTICS_GRAPH_ID', \"\") # graph with 1536 dimensions for vector search\n", + "\n", + "# Configure Neptune Analytics as the graph & vector database provider\n", + "cognee.config.set_graph_db_config(\n", + " {\n", + " \"graph_database_provider\": \"neptune_analytics\", # Specify Neptune Analytics as provider\n", + " \"graph_database_url\": f\"neptune-graph://{graph_identifier}\", # Neptune Analytics endpoint with the format neptune-graph://\n", + " }\n", + ")\n", + "cognee.config.set_vector_db_config(\n", + " {\n", + " \"vector_db_provider\": \"neptune_analytics\", # Specify Neptune Analytics as provider\n", + " \"vector_db_url\": f\"neptune-graph://{graph_identifier}\", # Neptune Analytics endpoint with the format neptune-graph://\n", + " }\n", + ")\n", + "```" + ] + }, + { + "metadata": {}, + "cell_type": "code", + "source": [ + "import os\n", + "import pathlib\n", + "from cognee import config, add, cognify, search, SearchType, prune, visualize_graph\n", + "from dotenv import load_dotenv" + ], + "outputs": [], + "execution_count": null + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Configuration\n", + "\n", + "Do all the imports and configure the graph and vector providers.\n", + "Uses the default openai llm, so make sure you have an openai api key configured or configure another llm." + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# load environment variables from file .env\n", + "load_dotenv()\n", + "\n", + "current_directory = os.getcwd()\n", + "\n", + "data_directory_path = str(\n", + " pathlib.Path(\n", + " os.path.join(pathlib.Path(current_directory), \".data_storage\")\n", + " ).resolve()\n", + ")\n", + "# Set up the data directory. Cognee will store files here.\n", + "config.data_root_directory(data_directory_path)\n", + "\n", + "cognee_directory_path = str(\n", + " pathlib.Path(\n", + " os.path.join(pathlib.Path(current_directory), \".cognee_system\")\n", + " ).resolve()\n", + ")\n", + "# Set up the Cognee system directory. Cognee will store system files and databases here.\n", + "config.system_root_directory(cognee_directory_path)\n", + "\n", + "# Set up Amazon credentials in .env file and get the values from environment variables\n", + "graph_identifier = os.getenv('AWS_NEPTUNE_ANALYTICS_GRAPH_ID', \"\")\n", + "\n", + "# Configure Neptune Analytics as the graph & vector database provider\n", + "config.set_graph_db_config(\n", + " {\n", + " \"graph_database_provider\": \"neptune_analytics\", # Specify Neptune Analytics as provider\n", + " \"graph_database_url\": f\"neptune-graph://{graph_identifier}\", # Neptune Analytics endpoint with the format neptune-graph://\n", + " }\n", + ")\n", + "config.set_vector_db_config(\n", + " {\n", + " \"vector_db_provider\": \"neptune_analytics\", # Specify Neptune Analytics as provider\n", + " \"vector_db_url\": f\"neptune-graph://{graph_identifier}\", # Neptune Analytics endpoint with the format neptune-graph://\n", + " }\n", + ")" + ], + "outputs": [], + "execution_count": null + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Clean up environment\n", + "\n", + "Prune existing data in the graph store" + ] + }, + { + "metadata": {}, + "cell_type": "code", + "source": [ + "# Prune data and system metadata before running, only if we want \"fresh\" state.\n", + "await prune.prune_data()\n", + "await prune.prune_system(metadata=True)" + ], + "outputs": [], + "execution_count": null + }, + { + "metadata": {}, + "cell_type": "markdown", + "source": [ + "## Setup data and cognify\n", + "\n", + "Create a dataset containing Neptune descriptions. The" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Add sample text to the dataset\n", + "sample_text_1 = \"\"\"Neptune Analytics is a memory-optimized graph database engine for analytics. With Neptune\n", + " Analytics, you can get insights and find trends by processing large amounts of graph data in seconds. To analyze\n", + " graph data quickly and easily, Neptune Analytics stores large graph datasets in memory. It supports a library of\n", + " optimized graph analytic algorithms, low-latency graph queries, and vector search capabilities within graph\n", + " traversals.\n", + " \"\"\"\n", + "\n", + "sample_text_2 = \"\"\"Neptune Analytics is an ideal choice for investigatory, exploratory, or data-science workloads\n", + " that require fast iteration for data, analytical and algorithmic processing, or vector search on graph data. It\n", + " complements Amazon Neptune Database, a popular managed graph database. To perform intensive analysis, you can load\n", + " the data from a Neptune Database graph or snapshot into Neptune Analytics. You can also load graph data that's\n", + " stored in Amazon S3.\n", + " \"\"\"\n", + "\n", + "# Create a dataset\n", + "dataset_name = \"neptune_descriptions\"\n", + "\n", + "# Add the text data to Cognee.\n", + "await add([sample_text_1, sample_text_2], dataset_name)\n", + "\n", + "# Cognify the text data.\n", + "await cognify([dataset_name])" + ], + "outputs": [], + "execution_count": null + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Graph Memory visualization\n", + "\n", + "Initialize Memgraph as a Graph Memory store and save to .artefacts/graph_visualization.html\n", + "\n", + "![visualization](./neptune_analytics_demo.png)" + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Get a graphistry url (Register for a free account at https://www.graphistry.com)\n", + "# url = await render_graph()\n", + "# print(f\"Graphistry URL: {url}\")\n", + "\n", + "# Or use our simple graph preview\n", + "graph_file_path = str(\n", + " pathlib.Path(\n", + " os.path.join(pathlib.Path(current_directory), \".artifacts/graph_visualization.html\")\n", + " ).resolve()\n", + ")\n", + "await visualize_graph(graph_file_path)" + ], + "outputs": [], + "execution_count": null + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## SEARCH: Graph Completion\n", + "\n", + "Search using the query \"What is Neptune Analytics?\" and return the graph completion with nodes/edges related to the query." + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Completion query that uses graph data to form context.\n", + "graph_completion = await search(query_text=\"What is Neptune Analytics?\", query_type=SearchType.GRAPH_COMPLETION)\n", + "print(\"\\nGraph completion result is:\")\n", + "print(graph_completion)" + ], + "outputs": [], + "execution_count": null + }, + { + "metadata": {}, + "cell_type": "markdown", + "source": [ + "## SEARCH: RAG Completion\n", + "\n", + "Search using the query \"What is Neptune Analytics?\" and return a LLM-based completion searches of edges/nodes." + ] + }, + { + "cell_type": "code", + "metadata": {}, + "source": [ + "# Completion query that uses document chunks to form context.\n", + "rag_completion = await search(query_text=\"What is Neptune Analytics?\", query_type=SearchType.RAG_COMPLETION)\n", + "print(\"\\nRAG Completion result is:\")\n", + "print(rag_completion)" + ], + "outputs": [], + "execution_count": null + }, + { + "metadata": {}, + "cell_type": "markdown", + "source": [ + "## SEARCH: Graph Insights\n", + "\n", + "Search for insight relationshipts related to \"Neptune Analytics\" as a context." + ] + }, + { + "metadata": {}, + "cell_type": "code", + "source": [ + "# Search graph insights\n", + "insights_results = await search(query_text=\"Neptune Analytics\", query_type=SearchType.INSIGHTS)\n", + "print(\"\\nInsights about Neptune Analytics:\")\n", + "for result in insights_results:\n", + " src_node = result[0].get(\"name\", result[0][\"type\"])\n", + " tgt_node = result[2].get(\"name\", result[2][\"type\"])\n", + " relationship = result[1].get(\"relationship_name\", \"__relationship__\")\n", + " print(f\"- {src_node} -[{relationship}]-> {tgt_node}\")" + ], + "outputs": [], + "execution_count": null + }, + { + "metadata": {}, + "cell_type": "markdown", + "source": [ + "## SEARCH: Entity Summaries\n", + "\n", + "Search for summary nodes related to \"Neptune Analytics\" as a context." + ] + }, + { + "metadata": {}, + "cell_type": "code", + "source": [ + "# Query all summaries related to query.\n", + "summaries = await search(query_text=\"Neptune Analytics\", query_type=SearchType.SUMMARIES)\n", + "print(\"\\nSummary results are:\")\n", + "for summary in summaries:\n", + " type = summary[\"type\"]\n", + " text = summary[\"text\"]\n", + " print(f\"- {type}: {text}\")" + ], + "outputs": [], + "execution_count": null + }, + { + "metadata": {}, + "cell_type": "markdown", + "source": [ + "## SEARCH: Chunks\n", + "\n", + "Search for chuck nodes related to \"Neptune Analytics\" as a context." + ] + }, + { + "metadata": {}, + "cell_type": "code", + "source": [ + "chunks = await search(query_text=\"Neptune Analytics\", query_type=SearchType.CHUNKS)\n", + "print(\"\\nChunk results are:\")\n", + "for chunk in chunks:\n", + " type = chunk[\"type\"]\n", + " text = chunk[\"text\"]\n", + " print(f\"- {type}: {text}\")" + ], + "outputs": [], + "execution_count": null + } + ], + "metadata": { + "kernelspec": { + "display_name": ".venv", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.13.2" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/notebooks/neptune_analytics_demo.png b/notebooks/neptune_analytics_demo.png new file mode 100644 index 0000000000000000000000000000000000000000..739d366bdb56ab22cb1985907c0aaf56c5038324 GIT binary patch literal 644018 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

4>W8B|cS+apFVp#xQcvct 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ȡ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

m~SFb7q2%JKL3a>$@|^gAjyUTTOFw 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 z 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

(a3!`UaxwDJ1Y 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 z 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 IB%&6bn56{6zfj-QqS($) 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 literal 0 HcmV?d00001 diff --git a/poetry.lock b/poetry.lock index 4eb4d6808..ba538ba62 100644 --- a/poetry.lock +++ b/poetry.lock @@ -3875,7 +3875,7 @@ description = "Apply JSON-Patches (RFC 6902)" optional = true python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*" groups = ["main"] -markers = "extra == \"langchain\" or extra == \"deepeval\"" +markers = "extra == \"neptune\" or extra == \"langchain\" or extra == \"deepeval\"" files = [ {file = "jsonpatch-1.33-py2.py3-none-any.whl", hash = "sha256:0ae28c0cd062bbd8b8ecc26d7d164fbbea9652a1a3693f3b956c1eae5145dade"}, {file = "jsonpatch-1.33.tar.gz", hash = "sha256:9fcd4009c41e6d12348b4a0ff2563ba56a2923a7dfee731d004e212e1ee5030c"}, @@ -3893,6 +3893,8 @@ python-versions = "*" groups = ["main"] files = [ {file = "jsonpath-ng-1.7.0.tar.gz", hash = "sha256:f6f5f7fd4e5ff79c785f1573b394043b39849fb2bb47bcead935d12b00beab3c"}, + {file = "jsonpath_ng-1.7.0-py2-none-any.whl", hash = "sha256:898c93fc173f0c336784a3fa63d7434297544b7198124a68f9a3ef9597b0ae6e"}, + {file = "jsonpath_ng-1.7.0-py3-none-any.whl", hash = "sha256:f3d7f9e848cba1b6da28c55b1c26ff915dc9e0b1ba7e752a53d6da8d5cbd00b6"}, ] [package.dependencies] @@ -3918,7 +3920,7 @@ description = "Identify specific nodes in a JSON document (RFC 6901)" optional = true python-versions = ">=3.7" groups = ["main"] -markers = "extra == \"notebook\" or extra == \"dev\" or extra == \"langchain\" or extra == \"deepeval\"" +markers = "extra == \"neptune\" or extra == \"langchain\" or extra == \"deepeval\" or extra == \"notebook\" or extra == \"dev\"" files = [ {file = "jsonpointer-3.0.0-py2.py3-none-any.whl", hash = "sha256:13e088adc14fca8b6aa8177c044e12701e6ad4b28ff10e65f2267a90109c9942"}, {file = "jsonpointer-3.0.0.tar.gz", hash = "sha256:2b2d729f2091522d61c3b31f82e11870f60b68f43fbc705cb76bf4b832af59ef"}, @@ -4440,6 +4442,31 @@ perplexity = ["langchain-perplexity"] together = ["langchain-together"] xai = ["langchain-xai"] +[[package]] +name = "langchain-aws" +version = "0.2.29" +description = "An integration package connecting AWS and LangChain" +optional = true +python-versions = ">=3.9" +groups = ["main"] +markers = "extra == \"neptune\"" +files = [ + {file = "langchain_aws-0.2.29-py3-none-any.whl", hash = "sha256:dd04c0d859ea44d506a85f179cb3f638529687881dcf14b12e63899c67478320"}, + {file = "langchain_aws-0.2.29.tar.gz", hash = "sha256:a7b24b9b3d96af0ff5c7e55988c178c17e090aa954325b77d725f334eb2c4479"}, +] + +[package.dependencies] +boto3 = ">=1.39.7" +langchain-core = ">=0.3.70,<0.4.0" +numpy = [ + {version = ">=1,<2", markers = "python_version < \"3.12\""}, + {version = ">=1.26.0,<3", markers = "python_version >= \"3.12\""}, +] +pydantic = ">=2.10.0,<3" + +[package.extras] +tools = ["beautifulsoup4 (>=4.13.4)", "bedrock-agentcore (>=0.1.0) ; python_version >= \"3.10\"", "playwright (>=1.53.0)"] + [[package]] name = "langchain-community" version = "0.3.27" @@ -4477,7 +4504,7 @@ description = "Building applications with LLMs through composability" optional = true python-versions = ">=3.9" groups = ["main"] -markers = "extra == \"langchain\" or extra == \"deepeval\"" +markers = "extra == \"neptune\" or extra == \"langchain\" or extra == \"deepeval\"" files = [ {file = "langchain_core-0.3.72-py3-none-any.whl", hash = "sha256:9fa15d390600eb6b6544397a7aa84be9564939b6adf7a2b091179ea30405b240"}, {file = "langchain_core-0.3.72.tar.gz", hash = "sha256:4de3828909b3d7910c313242ab07b241294650f5cb6eac17738dd3638b1cd7de"}, @@ -4576,7 +4603,7 @@ description = "Client library to connect to the LangSmith LLM Tracing and Evalua optional = true python-versions = ">=3.9" groups = ["main"] -markers = "extra == \"langchain\" or extra == \"deepeval\"" +markers = "extra == \"neptune\" or extra == \"langchain\" or extra == \"deepeval\"" files = [ {file = "langsmith-0.4.8-py3-none-any.whl", hash = "sha256:ca2f6024ab9d2cd4d091b2e5b58a5d2cb0c354a0c84fe214145a89ad450abae0"}, {file = "langsmith-0.4.8.tar.gz", hash = "sha256:50eccb744473dd6bd3e0fe024786e2196b1f8598f8defffce7ac31113d6c140f"}, @@ -6395,68 +6422,49 @@ test = ["pytest", "pytest-console-scripts", "pytest-jupyter", "pytest-tornasync" [[package]] name = "numpy" -version = "2.2.6" +version = "1.26.4" description = "Fundamental package for array computing in Python" optional = false -python-versions = ">=3.10" +python-versions = ">=3.9" groups = ["main"] -markers = "python_version == \"3.10\"" +markers = "python_version < \"3.12\"" files = [ - {file = "numpy-2.2.6-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b412caa66f72040e6d268491a59f2c43bf03eb6c96dd8f0307829feb7fa2b6fb"}, - {file = "numpy-2.2.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8e41fd67c52b86603a91c1a505ebaef50b3314de0213461c7a6e99c9a3beff90"}, - {file = "numpy-2.2.6-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:37e990a01ae6ec7fe7fa1c26c55ecb672dd98b19c3d0e1d1f326fa13cb38d163"}, - {file = "numpy-2.2.6-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:5a6429d4be8ca66d889b7cf70f536a397dc45ba6faeb5f8c5427935d9592e9cf"}, - {file = "numpy-2.2.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:efd28d4e9cd7d7a8d39074a4d44c63eda73401580c5c76acda2ce969e0a38e83"}, - {file = "numpy-2.2.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fc7b73d02efb0e18c000e9ad8b83480dfcd5dfd11065997ed4c6747470ae8915"}, - {file = "numpy-2.2.6-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:74d4531beb257d2c3f4b261bfb0fc09e0f9ebb8842d82a7b4209415896adc680"}, - {file = "numpy-2.2.6-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:8fc377d995680230e83241d8a96def29f204b5782f371c532579b4f20607a289"}, - {file = "numpy-2.2.6-cp310-cp310-win32.whl", hash = "sha256:b093dd74e50a8cba3e873868d9e93a85b78e0daf2e98c6797566ad8044e8363d"}, - {file = "numpy-2.2.6-cp310-cp310-win_amd64.whl", hash = "sha256:f0fd6321b839904e15c46e0d257fdd101dd7f530fe03fd6359c1ea63738703f3"}, - {file = "numpy-2.2.6-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f9f1adb22318e121c5c69a09142811a201ef17ab257a1e66ca3025065b7f53ae"}, - {file = "numpy-2.2.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c820a93b0255bc360f53eca31a0e676fd1101f673dda8da93454a12e23fc5f7a"}, - {file = "numpy-2.2.6-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:3d70692235e759f260c3d837193090014aebdf026dfd167834bcba43e30c2a42"}, - {file = "numpy-2.2.6-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:481b49095335f8eed42e39e8041327c05b0f6f4780488f61286ed3c01368d491"}, - {file = "numpy-2.2.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b64d8d4d17135e00c8e346e0a738deb17e754230d7e0810ac5012750bbd85a5a"}, - {file = "numpy-2.2.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba10f8411898fc418a521833e014a77d3ca01c15b0c6cdcce6a0d2897e6dbbdf"}, - {file = "numpy-2.2.6-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:bd48227a919f1bafbdda0583705e547892342c26fb127219d60a5c36882609d1"}, - {file = "numpy-2.2.6-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:9551a499bf125c1d4f9e250377c1ee2eddd02e01eac6644c080162c0c51778ab"}, - {file = "numpy-2.2.6-cp311-cp311-win32.whl", hash = "sha256:0678000bb9ac1475cd454c6b8c799206af8107e310843532b04d49649c717a47"}, - {file = "numpy-2.2.6-cp311-cp311-win_amd64.whl", hash = "sha256:e8213002e427c69c45a52bbd94163084025f533a55a59d6f9c5b820774ef3303"}, - {file = "numpy-2.2.6-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:41c5a21f4a04fa86436124d388f6ed60a9343a6f767fced1a8a71c3fbca038ff"}, - {file = "numpy-2.2.6-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:de749064336d37e340f640b05f24e9e3dd678c57318c7289d222a8a2f543e90c"}, - {file = "numpy-2.2.6-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:894b3a42502226a1cac872f840030665f33326fc3dac8e57c607905773cdcde3"}, - {file = "numpy-2.2.6-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:71594f7c51a18e728451bb50cc60a3ce4e6538822731b2933209a1f3614e9282"}, - {file = "numpy-2.2.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f2618db89be1b4e05f7a1a847a9c1c0abd63e63a1607d892dd54668dd92faf87"}, - {file = "numpy-2.2.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd83c01228a688733f1ded5201c678f0c53ecc1006ffbc404db9f7a899ac6249"}, - {file = "numpy-2.2.6-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:37c0ca431f82cd5fa716eca9506aefcabc247fb27ba69c5062a6d3ade8cf8f49"}, - {file = "numpy-2.2.6-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:fe27749d33bb772c80dcd84ae7e8df2adc920ae8297400dabec45f0dedb3f6de"}, - {file = "numpy-2.2.6-cp312-cp312-win32.whl", hash = "sha256:4eeaae00d789f66c7a25ac5f34b71a7035bb474e679f410e5e1a94deb24cf2d4"}, - {file = "numpy-2.2.6-cp312-cp312-win_amd64.whl", hash = "sha256:c1f9540be57940698ed329904db803cf7a402f3fc200bfe599334c9bd84a40b2"}, - {file = "numpy-2.2.6-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:0811bb762109d9708cca4d0b13c4f67146e3c3b7cf8d34018c722adb2d957c84"}, - {file = "numpy-2.2.6-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:287cc3162b6f01463ccd86be154f284d0893d2b3ed7292439ea97eafa8170e0b"}, - {file = "numpy-2.2.6-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:f1372f041402e37e5e633e586f62aa53de2eac8d98cbfb822806ce4bbefcb74d"}, - {file = "numpy-2.2.6-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:55a4d33fa519660d69614a9fad433be87e5252f4b03850642f88993f7b2ca566"}, - {file = "numpy-2.2.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f92729c95468a2f4f15e9bb94c432a9229d0d50de67304399627a943201baa2f"}, - {file = "numpy-2.2.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1bc23a79bfabc5d056d106f9befb8d50c31ced2fbc70eedb8155aec74a45798f"}, - {file = "numpy-2.2.6-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:e3143e4451880bed956e706a3220b4e5cf6172ef05fcc397f6f36a550b1dd868"}, - {file = "numpy-2.2.6-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:b4f13750ce79751586ae2eb824ba7e1e8dba64784086c98cdbbcc6a42112ce0d"}, - {file = "numpy-2.2.6-cp313-cp313-win32.whl", hash = "sha256:5beb72339d9d4fa36522fc63802f469b13cdbe4fdab4a288f0c441b74272ebfd"}, - {file = "numpy-2.2.6-cp313-cp313-win_amd64.whl", hash = "sha256:b0544343a702fa80c95ad5d3d608ea3599dd54d4632df855e4c8d24eb6ecfa1c"}, - {file = "numpy-2.2.6-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:0bca768cd85ae743b2affdc762d617eddf3bcf8724435498a1e80132d04879e6"}, - {file = "numpy-2.2.6-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:fc0c5673685c508a142ca65209b4e79ed6740a4ed6b2267dbba90f34b0b3cfda"}, - {file = "numpy-2.2.6-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:5bd4fc3ac8926b3819797a7c0e2631eb889b4118a9898c84f585a54d475b7e40"}, - {file = "numpy-2.2.6-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:fee4236c876c4e8369388054d02d0e9bb84821feb1a64dd59e137e6511a551f8"}, - {file = "numpy-2.2.6-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e1dda9c7e08dc141e0247a5b8f49cf05984955246a327d4c48bda16821947b2f"}, - {file = "numpy-2.2.6-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f447e6acb680fd307f40d3da4852208af94afdfab89cf850986c3ca00562f4fa"}, - {file = "numpy-2.2.6-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:389d771b1623ec92636b0786bc4ae56abafad4a4c513d36a55dce14bd9ce8571"}, - {file = "numpy-2.2.6-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:8e9ace4a37db23421249ed236fdcdd457d671e25146786dfc96835cd951aa7c1"}, - {file = "numpy-2.2.6-cp313-cp313t-win32.whl", hash = "sha256:038613e9fb8c72b0a41f025a7e4c3f0b7a1b5d768ece4796b674c8f3fe13efff"}, - {file = "numpy-2.2.6-cp313-cp313t-win_amd64.whl", hash = "sha256:6031dd6dfecc0cf9f668681a37648373bddd6421fff6c66ec1624eed0180ee06"}, - {file = "numpy-2.2.6-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:0b605b275d7bd0c640cad4e5d30fa701a8d59302e127e5f79138ad62762c3e3d"}, - {file = "numpy-2.2.6-pp310-pypy310_pp73-macosx_14_0_x86_64.whl", hash = "sha256:7befc596a7dc9da8a337f79802ee8adb30a552a94f792b9c9d18c840055907db"}, - {file = "numpy-2.2.6-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ce47521a4754c8f4593837384bd3424880629f718d87c5d44f8ed763edd63543"}, - {file = "numpy-2.2.6-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:d042d24c90c41b54fd506da306759e06e568864df8ec17ccc17e9e884634fd00"}, - {file = "numpy-2.2.6.tar.gz", hash = "sha256:e29554e2bef54a90aa5cc07da6ce955accb83f21ab5de01a62c8478897b264fd"}, + {file = "numpy-1.26.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:9ff0f4f29c51e2803569d7a51c2304de5554655a60c5d776e35b4a41413830d0"}, + {file = "numpy-1.26.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2e4ee3380d6de9c9ec04745830fd9e2eccb3e6cf790d39d7b98ffd19b0dd754a"}, + {file = "numpy-1.26.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d209d8969599b27ad20994c8e41936ee0964e6da07478d6c35016bc386b66ad4"}, + {file = "numpy-1.26.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ffa75af20b44f8dba823498024771d5ac50620e6915abac414251bd971b4529f"}, + {file = "numpy-1.26.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:62b8e4b1e28009ef2846b4c7852046736bab361f7aeadeb6a5b89ebec3c7055a"}, + {file = "numpy-1.26.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a4abb4f9001ad2858e7ac189089c42178fcce737e4169dc61321660f1a96c7d2"}, + {file = "numpy-1.26.4-cp310-cp310-win32.whl", hash = "sha256:bfe25acf8b437eb2a8b2d49d443800a5f18508cd811fea3181723922a8a82b07"}, + {file = "numpy-1.26.4-cp310-cp310-win_amd64.whl", hash = "sha256:b97fe8060236edf3662adfc2c633f56a08ae30560c56310562cb4f95500022d5"}, + {file = "numpy-1.26.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4c66707fabe114439db9068ee468c26bbdf909cac0fb58686a42a24de1760c71"}, + {file = "numpy-1.26.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:edd8b5fe47dab091176d21bb6de568acdd906d1887a4584a15a9a96a1dca06ef"}, + {file = "numpy-1.26.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7ab55401287bfec946ced39700c053796e7cc0e3acbef09993a9ad2adba6ca6e"}, + {file = "numpy-1.26.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:666dbfb6ec68962c033a450943ded891bed2d54e6755e35e5835d63f4f6931d5"}, + {file = "numpy-1.26.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:96ff0b2ad353d8f990b63294c8986f1ec3cb19d749234014f4e7eb0112ceba5a"}, + {file = "numpy-1.26.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:60dedbb91afcbfdc9bc0b1f3f402804070deed7392c23eb7a7f07fa857868e8a"}, + {file = "numpy-1.26.4-cp311-cp311-win32.whl", hash = "sha256:1af303d6b2210eb850fcf03064d364652b7120803a0b872f5211f5234b399f20"}, + {file = "numpy-1.26.4-cp311-cp311-win_amd64.whl", hash = "sha256:cd25bcecc4974d09257ffcd1f098ee778f7834c3ad767fe5db785be9a4aa9cb2"}, + {file = "numpy-1.26.4-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b3ce300f3644fb06443ee2222c2201dd3a89ea6040541412b8fa189341847218"}, + {file = "numpy-1.26.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:03a8c78d01d9781b28a6989f6fa1bb2c4f2d51201cf99d3dd875df6fbd96b23b"}, + {file = "numpy-1.26.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9fad7dcb1aac3c7f0584a5a8133e3a43eeb2fe127f47e3632d43d677c66c102b"}, + {file = "numpy-1.26.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:675d61ffbfa78604709862923189bad94014bef562cc35cf61d3a07bba02a7ed"}, + {file = "numpy-1.26.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:ab47dbe5cc8210f55aa58e4805fe224dac469cde56b9f731a4c098b91917159a"}, + {file = "numpy-1.26.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:1dda2e7b4ec9dd512f84935c5f126c8bd8b9f2fc001e9f54af255e8c5f16b0e0"}, + {file = "numpy-1.26.4-cp312-cp312-win32.whl", hash = "sha256:50193e430acfc1346175fcbdaa28ffec49947a06918b7b92130744e81e640110"}, + {file = "numpy-1.26.4-cp312-cp312-win_amd64.whl", hash = "sha256:08beddf13648eb95f8d867350f6a018a4be2e5ad54c8d8caed89ebca558b2818"}, + {file = "numpy-1.26.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:7349ab0fa0c429c82442a27a9673fc802ffdb7c7775fad780226cb234965e53c"}, + {file = "numpy-1.26.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:52b8b60467cd7dd1e9ed082188b4e6bb35aa5cdd01777621a1658910745b90be"}, + {file = "numpy-1.26.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d5241e0a80d808d70546c697135da2c613f30e28251ff8307eb72ba696945764"}, + {file = "numpy-1.26.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f870204a840a60da0b12273ef34f7051e98c3b5961b61b0c2c1be6dfd64fbcd3"}, + {file = "numpy-1.26.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:679b0076f67ecc0138fd2ede3a8fd196dddc2ad3254069bcb9faf9a79b1cebcd"}, + {file = "numpy-1.26.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:47711010ad8555514b434df65f7d7b076bb8261df1ca9bb78f53d3b2db02e95c"}, + {file = "numpy-1.26.4-cp39-cp39-win32.whl", hash = "sha256:a354325ee03388678242a4d7ebcd08b5c727033fcff3b2f536aea978e15ee9e6"}, + {file = "numpy-1.26.4-cp39-cp39-win_amd64.whl", hash = "sha256:3373d5d70a5fe74a2c1bb6d2cfd9609ecf686d47a2d7b1d37a8f3b6bf6003aea"}, + {file = "numpy-1.26.4-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:afedb719a9dcfc7eaf2287b839d8198e06dcd4cb5d276a3df279231138e83d30"}, + {file = "numpy-1.26.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95a7476c59002f2f6c590b9b7b998306fba6a5aa646b1e22ddfeaf8f78c3a29c"}, + {file = "numpy-1.26.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:7e50d0a0cc3189f9cb0aeb3a6a6af18c16f59f004b866cd2be1c14b36134a4a0"}, + {file = "numpy-1.26.4.tar.gz", hash = "sha256:2a02aba9ed12e4ac4eb3ea9421c420301a0c6460d9830d74a9df87efa4912010"}, ] [[package]] @@ -6466,7 +6474,7 @@ description = "Fundamental package for array computing in Python" optional = false python-versions = ">=3.11" groups = ["main"] -markers = "python_version >= \"3.11\"" +markers = "python_version == \"3.12\" or python_full_version == \"3.13.0\"" files = [ {file = "numpy-2.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:852ae5bed3478b92f093e30f785c98e0cb62fa0a939ed057c31716e18a7a22b9"}, {file = "numpy-2.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7a0e27186e781a69959d0230dd9909b5e26024f8da10683bd6344baea1885168"}, @@ -6811,7 +6819,7 @@ description = "Fast, correct Python JSON library supporting dataclasses, datetim optional = false python-versions = ">=3.9" groups = ["main"] -markers = "(sys_platform != \"emscripten\" or extra == \"langchain\" or extra == \"deepeval\") and (sys_platform != \"emscripten\" or platform_python_implementation != \"PyPy\")" +markers = "(sys_platform != \"emscripten\" or extra == \"neptune\" or extra == \"langchain\" or extra == \"deepeval\") and (sys_platform != \"emscripten\" or platform_python_implementation != \"PyPy\")" files = [ {file = "orjson-3.11.1-cp310-cp310-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:92d771c492b64119456afb50f2dff3e03a2db8b5af0eba32c5932d306f970532"}, {file = "orjson-3.11.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0085ef83a4141c2ed23bfec5fecbfdb1e95dd42fc8e8c76057bdeeec1608ea65"}, @@ -7697,6 +7705,7 @@ files = [ {file = "psycopg2-2.9.10-cp311-cp311-win_amd64.whl", hash = "sha256:0435034157049f6846e95103bd8f5a668788dd913a7c30162ca9503fdf542cb4"}, {file = "psycopg2-2.9.10-cp312-cp312-win32.whl", hash = "sha256:65a63d7ab0e067e2cdb3cf266de39663203d38d6a8ed97f5ca0cb315c73fe067"}, {file = "psycopg2-2.9.10-cp312-cp312-win_amd64.whl", hash = "sha256:4a579d6243da40a7b3182e0430493dbd55950c493d8c68f4eec0b302f6bbf20e"}, + {file = "psycopg2-2.9.10-cp313-cp313-win_amd64.whl", hash = "sha256:91fd603a2155da8d0cfcdbf8ab24a2d54bca72795b90d2a3ed2b6da8d979dee2"}, {file = "psycopg2-2.9.10-cp39-cp39-win32.whl", hash = "sha256:9d5b3b94b79a844a986d029eee38998232451119ad653aea42bb9220a8c5066b"}, {file = "psycopg2-2.9.10-cp39-cp39-win_amd64.whl", hash = "sha256:88138c8dedcbfa96408023ea2b0c369eda40fe5d75002c0964c78f46f11fa442"}, {file = "psycopg2-2.9.10.tar.gz", hash = "sha256:12ec0b40b0273f95296233e8750441339298e6a572f7039da5b260e3c8b60e11"}, @@ -7758,6 +7767,7 @@ files = [ {file = "psycopg2_binary-2.9.10-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:bb89f0a835bcfc1d42ccd5f41f04870c1b936d8507c6df12b7737febc40f0909"}, {file = "psycopg2_binary-2.9.10-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:f0c2d907a1e102526dd2986df638343388b94c33860ff3bbe1384130828714b1"}, {file = "psycopg2_binary-2.9.10-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:f8157bed2f51db683f31306aa497311b560f2265998122abe1dce6428bd86567"}, + {file = "psycopg2_binary-2.9.10-cp313-cp313-win_amd64.whl", hash = "sha256:27422aa5f11fbcd9b18da48373eb67081243662f9b46e6fd07c3eb46e4535142"}, {file = "psycopg2_binary-2.9.10-cp38-cp38-macosx_12_0_x86_64.whl", hash = "sha256:eb09aa7f9cecb45027683bb55aebaaf45a0df8bf6de68801a6afdc7947bb09d4"}, {file = "psycopg2_binary-2.9.10-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b73d6d7f0ccdad7bc43e6d34273f70d587ef62f824d7261c4ae9b8b1b6af90e8"}, {file = "psycopg2_binary-2.9.10-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ce5ab4bf46a211a8e924d307c1b1fcda82368586a19d0a24f8ae166f5c784864"}, @@ -9425,7 +9435,7 @@ description = "A utility belt for advanced users of python-requests" optional = true python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" groups = ["main"] -markers = "extra == \"langchain\" or extra == \"deepeval\" or extra == \"docs\"" +markers = "extra == \"neptune\" or extra == \"langchain\" or extra == \"deepeval\" or extra == \"docs\"" files = [ {file = "requests-toolbelt-1.0.0.tar.gz", hash = "sha256:7681a0a3d047012b5bdc0ee37d7f8f07ebe76ab08caeccfc3921ce23c88d5bc6"}, {file = "requests_toolbelt-1.0.0-py2.py3-none-any.whl", hash = "sha256:cccfdd665f0a24fcf4726e690f65639d272bb0637b9b92dfd91a5568ccf6bd06"}, @@ -12096,7 +12106,7 @@ description = "Zstandard bindings for Python" optional = true python-versions = ">=3.8" groups = ["main"] -markers = "extra == \"langchain\" or extra == \"deepeval\" or extra == \"chromadb\"" +markers = "extra == \"neptune\" or extra == \"langchain\" or extra == \"deepeval\" or extra == \"chromadb\"" files = [ {file = "zstandard-0.23.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:bf0a05b6059c0528477fba9054d09179beb63744355cab9f38059548fedd46a9"}, {file = "zstandard-0.23.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fc9ca1c9718cb3b06634c7c8dec57d24e9438b2aa9a0f02b8bb36bf478538880"}, @@ -12225,6 +12235,7 @@ langchain = ["langchain_text_splitters", "langsmith"] llama-index = ["llama-index-core"] mistral = ["mistral-common"] neo4j = ["neo4j"] +neptune = ["langchain_aws"] notebook = ["notebook"] ollama = ["transformers"] postgres = ["asyncpg", "pgvector", "psycopg2"] @@ -12235,4 +12246,4 @@ qdrant = ["qdrant-client"] [metadata] lock-version = "2.1" python-versions = ">=3.10,<=3.13" -content-hash = "d15e6b5d065016613be0b8c015cccf85e7f63891353c97636d136d14e5c8f62e" +content-hash = "b8dd33be73c6a3de760e0e8f11a9ae2e5e237734d0b18fe8360ae53f18f307ce" diff --git a/pyproject.toml b/pyproject.toml index b2d3e8e30..1e42e76eb 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -73,6 +73,7 @@ distributed = [ qdrant = ["qdrant-client>=1.14.2,<2"] neo4j = ["neo4j>=5.28.0,<6"] +neptune = ["langchain_aws>=0.2.22"] postgres = [ "psycopg2>=2.9.10,<3", "pgvector>=0.3.5,<0.4", diff --git a/uv.lock b/uv.lock index 6eb4a6aca..4c5df633d 100644 --- a/uv.lock +++ b/uv.lock @@ -59,88 +59,89 @@ wheels = [ [[package]] name = "aiohttp" -version = "3.12.14" +version = "3.12.15" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "aiohappyeyeballs" }, { name = "aiosignal" }, { name = "async-timeout", version = "4.0.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "async-timeout", version = "5.0.1", source = { registry = "https://pypi.org/simple" }, marker = "python_version < '0'" }, { name = "attrs" }, { name = "frozenlist" }, { name = "multidict" }, { name = "propcache" }, { name = "yarl" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/e6/0b/e39ad954107ebf213a2325038a3e7a506be3d98e1435e1f82086eec4cde2/aiohttp-3.12.14.tar.gz", hash = "sha256:6e06e120e34d93100de448fd941522e11dafa78ef1a893c179901b7d66aa29f2", size = 7822921, upload-time = "2025-07-10T13:05:33.968Z" } +sdist = { url = "https://files.pythonhosted.org/packages/9b/e7/d92a237d8802ca88483906c388f7c201bbe96cd80a165ffd0ac2f6a8d59f/aiohttp-3.12.15.tar.gz", hash = "sha256:4fc61385e9c98d72fcdf47e6dd81833f47b2f77c114c29cd64a361be57a763a2", size = 7823716, upload-time = "2025-07-29T05:52:32.215Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/0c/88/f161f429f9de391eee6a5c2cffa54e2ecd5b7122ae99df247f7734dfefcb/aiohttp-3.12.14-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:906d5075b5ba0dd1c66fcaaf60eb09926a9fef3ca92d912d2a0bbdbecf8b1248", size = 702641, upload-time = "2025-07-10T13:02:38.98Z" }, - { url = "https://files.pythonhosted.org/packages/fe/b5/24fa382a69a25d242e2baa3e56d5ea5227d1b68784521aaf3a1a8b34c9a4/aiohttp-3.12.14-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c875bf6fc2fd1a572aba0e02ef4e7a63694778c5646cdbda346ee24e630d30fb", size = 479005, upload-time = "2025-07-10T13:02:42.714Z" }, - { url = "https://files.pythonhosted.org/packages/09/67/fda1bc34adbfaa950d98d934a23900918f9d63594928c70e55045838c943/aiohttp-3.12.14-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fbb284d15c6a45fab030740049d03c0ecd60edad9cd23b211d7e11d3be8d56fd", size = 466781, upload-time = "2025-07-10T13:02:44.639Z" }, - { url = "https://files.pythonhosted.org/packages/36/96/3ce1ea96d3cf6928b87cfb8cdd94650367f5c2f36e686a1f5568f0f13754/aiohttp-3.12.14-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:38e360381e02e1a05d36b223ecab7bc4a6e7b5ab15760022dc92589ee1d4238c", size = 1648841, upload-time = "2025-07-10T13:02:46.356Z" }, - { url = "https://files.pythonhosted.org/packages/be/04/ddea06cb4bc7d8db3745cf95e2c42f310aad485ca075bd685f0e4f0f6b65/aiohttp-3.12.14-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:aaf90137b5e5d84a53632ad95ebee5c9e3e7468f0aab92ba3f608adcb914fa95", size = 1622896, upload-time = "2025-07-10T13:02:48.422Z" }, - { url = "https://files.pythonhosted.org/packages/73/66/63942f104d33ce6ca7871ac6c1e2ebab48b88f78b2b7680c37de60f5e8cd/aiohttp-3.12.14-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e532a25e4a0a2685fa295a31acf65e027fbe2bea7a4b02cdfbbba8a064577663", size = 1695302, upload-time = "2025-07-10T13:02:50.078Z" }, - { url = "https://files.pythonhosted.org/packages/20/00/aab615742b953f04b48cb378ee72ada88555b47b860b98c21c458c030a23/aiohttp-3.12.14-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:eab9762c4d1b08ae04a6c77474e6136da722e34fdc0e6d6eab5ee93ac29f35d1", size = 1737617, upload-time = "2025-07-10T13:02:52.123Z" }, - { url = "https://files.pythonhosted.org/packages/d6/4f/ef6d9f77225cf27747368c37b3d69fac1f8d6f9d3d5de2d410d155639524/aiohttp-3.12.14-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:abe53c3812b2899889a7fca763cdfaeee725f5be68ea89905e4275476ffd7e61", size = 1642282, upload-time = "2025-07-10T13:02:53.899Z" }, - { url = "https://files.pythonhosted.org/packages/37/e1/e98a43c15aa52e9219a842f18c59cbae8bbe2d50c08d298f17e9e8bafa38/aiohttp-3.12.14-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5760909b7080aa2ec1d320baee90d03b21745573780a072b66ce633eb77a8656", size = 1582406, upload-time = "2025-07-10T13:02:55.515Z" }, - { url = "https://files.pythonhosted.org/packages/71/5c/29c6dfb49323bcdb0239bf3fc97ffcf0eaf86d3a60426a3287ec75d67721/aiohttp-3.12.14-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:02fcd3f69051467bbaa7f84d7ec3267478c7df18d68b2e28279116e29d18d4f3", size = 1626255, upload-time = "2025-07-10T13:02:57.343Z" }, - { url = "https://files.pythonhosted.org/packages/79/60/ec90782084090c4a6b459790cfd8d17be2c5662c9c4b2d21408b2f2dc36c/aiohttp-3.12.14-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:4dcd1172cd6794884c33e504d3da3c35648b8be9bfa946942d353b939d5f1288", size = 1637041, upload-time = "2025-07-10T13:02:59.008Z" }, - { url = "https://files.pythonhosted.org/packages/22/89/205d3ad30865c32bc472ac13f94374210745b05bd0f2856996cb34d53396/aiohttp-3.12.14-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:224d0da41355b942b43ad08101b1b41ce633a654128ee07e36d75133443adcda", size = 1612494, upload-time = "2025-07-10T13:03:00.618Z" }, - { url = "https://files.pythonhosted.org/packages/48/ae/2f66edaa8bd6db2a4cba0386881eb92002cdc70834e2a93d1d5607132c7e/aiohttp-3.12.14-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:e387668724f4d734e865c1776d841ed75b300ee61059aca0b05bce67061dcacc", size = 1692081, upload-time = "2025-07-10T13:03:02.154Z" }, - { url = "https://files.pythonhosted.org/packages/08/3a/fa73bfc6e21407ea57f7906a816f0dc73663d9549da703be05dbd76d2dc3/aiohttp-3.12.14-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:dec9cde5b5a24171e0b0a4ca064b1414950904053fb77c707efd876a2da525d8", size = 1715318, upload-time = "2025-07-10T13:03:04.322Z" }, - { url = "https://files.pythonhosted.org/packages/e3/b3/751124b8ceb0831c17960d06ee31a4732cb4a6a006fdbfa1153d07c52226/aiohttp-3.12.14-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:bbad68a2af4877cc103cd94af9160e45676fc6f0c14abb88e6e092b945c2c8e3", size = 1643660, upload-time = "2025-07-10T13:03:06.406Z" }, - { url = "https://files.pythonhosted.org/packages/81/3c/72477a1d34edb8ab8ce8013086a41526d48b64f77e381c8908d24e1c18f5/aiohttp-3.12.14-cp310-cp310-win32.whl", hash = "sha256:ee580cb7c00bd857b3039ebca03c4448e84700dc1322f860cf7a500a6f62630c", size = 428289, upload-time = "2025-07-10T13:03:08.274Z" }, - { url = "https://files.pythonhosted.org/packages/a2/c4/8aec4ccf1b822ec78e7982bd5cf971113ecce5f773f04039c76a083116fc/aiohttp-3.12.14-cp310-cp310-win_amd64.whl", hash = "sha256:cf4f05b8cea571e2ccc3ca744e35ead24992d90a72ca2cf7ab7a2efbac6716db", size = 451328, upload-time = "2025-07-10T13:03:10.146Z" }, - { url = "https://files.pythonhosted.org/packages/53/e1/8029b29316971c5fa89cec170274582619a01b3d82dd1036872acc9bc7e8/aiohttp-3.12.14-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:f4552ff7b18bcec18b60a90c6982049cdb9dac1dba48cf00b97934a06ce2e597", size = 709960, upload-time = "2025-07-10T13:03:11.936Z" }, - { url = "https://files.pythonhosted.org/packages/96/bd/4f204cf1e282041f7b7e8155f846583b19149e0872752711d0da5e9cc023/aiohttp-3.12.14-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:8283f42181ff6ccbcf25acaae4e8ab2ff7e92b3ca4a4ced73b2c12d8cd971393", size = 482235, upload-time = "2025-07-10T13:03:14.118Z" }, - { url = "https://files.pythonhosted.org/packages/d6/0f/2a580fcdd113fe2197a3b9df30230c7e85bb10bf56f7915457c60e9addd9/aiohttp-3.12.14-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:040afa180ea514495aaff7ad34ec3d27826eaa5d19812730fe9e529b04bb2179", size = 470501, upload-time = "2025-07-10T13:03:16.153Z" }, - { url = "https://files.pythonhosted.org/packages/38/78/2c1089f6adca90c3dd74915bafed6d6d8a87df5e3da74200f6b3a8b8906f/aiohttp-3.12.14-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b413c12f14c1149f0ffd890f4141a7471ba4b41234fe4fd4a0ff82b1dc299dbb", size = 1740696, upload-time = "2025-07-10T13:03:18.4Z" }, - { url = "https://files.pythonhosted.org/packages/4a/c8/ce6c7a34d9c589f007cfe064da2d943b3dee5aabc64eaecd21faf927ab11/aiohttp-3.12.14-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:1d6f607ce2e1a93315414e3d448b831238f1874b9968e1195b06efaa5c87e245", size = 1689365, upload-time = "2025-07-10T13:03:20.629Z" }, - { url = "https://files.pythonhosted.org/packages/18/10/431cd3d089de700756a56aa896faf3ea82bee39d22f89db7ddc957580308/aiohttp-3.12.14-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:565e70d03e924333004ed101599902bba09ebb14843c8ea39d657f037115201b", size = 1788157, upload-time = "2025-07-10T13:03:22.44Z" }, - { url = "https://files.pythonhosted.org/packages/fa/b2/26f4524184e0f7ba46671c512d4b03022633bcf7d32fa0c6f1ef49d55800/aiohttp-3.12.14-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4699979560728b168d5ab63c668a093c9570af2c7a78ea24ca5212c6cdc2b641", size = 1827203, upload-time = "2025-07-10T13:03:24.628Z" }, - { url = "https://files.pythonhosted.org/packages/e0/30/aadcdf71b510a718e3d98a7bfeaea2396ac847f218b7e8edb241b09bd99a/aiohttp-3.12.14-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ad5fdf6af93ec6c99bf800eba3af9a43d8bfd66dce920ac905c817ef4a712afe", size = 1729664, upload-time = "2025-07-10T13:03:26.412Z" }, - { url = "https://files.pythonhosted.org/packages/67/7f/7ccf11756ae498fdedc3d689a0c36ace8fc82f9d52d3517da24adf6e9a74/aiohttp-3.12.14-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4ac76627c0b7ee0e80e871bde0d376a057916cb008a8f3ffc889570a838f5cc7", size = 1666741, upload-time = "2025-07-10T13:03:28.167Z" }, - { url = "https://files.pythonhosted.org/packages/6b/4d/35ebc170b1856dd020c92376dbfe4297217625ef4004d56587024dc2289c/aiohttp-3.12.14-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:798204af1180885651b77bf03adc903743a86a39c7392c472891649610844635", size = 1715013, upload-time = "2025-07-10T13:03:30.018Z" }, - { url = "https://files.pythonhosted.org/packages/7b/24/46dc0380146f33e2e4aa088b92374b598f5bdcde1718c77e8d1a0094f1a4/aiohttp-3.12.14-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:4f1205f97de92c37dd71cf2d5bcfb65fdaed3c255d246172cce729a8d849b4da", size = 1710172, upload-time = "2025-07-10T13:03:31.821Z" }, - { url = "https://files.pythonhosted.org/packages/2f/0a/46599d7d19b64f4d0fe1b57bdf96a9a40b5c125f0ae0d8899bc22e91fdce/aiohttp-3.12.14-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:76ae6f1dd041f85065d9df77c6bc9c9703da9b5c018479d20262acc3df97d419", size = 1690355, upload-time = "2025-07-10T13:03:34.754Z" }, - { url = "https://files.pythonhosted.org/packages/08/86/b21b682e33d5ca317ef96bd21294984f72379454e689d7da584df1512a19/aiohttp-3.12.14-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:a194ace7bc43ce765338ca2dfb5661489317db216ea7ea700b0332878b392cab", size = 1783958, upload-time = "2025-07-10T13:03:36.53Z" }, - { url = "https://files.pythonhosted.org/packages/4f/45/f639482530b1396c365f23c5e3b1ae51c9bc02ba2b2248ca0c855a730059/aiohttp-3.12.14-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:16260e8e03744a6fe3fcb05259eeab8e08342c4c33decf96a9dad9f1187275d0", size = 1804423, upload-time = "2025-07-10T13:03:38.504Z" }, - { url = "https://files.pythonhosted.org/packages/7e/e5/39635a9e06eed1d73671bd4079a3caf9cf09a49df08490686f45a710b80e/aiohttp-3.12.14-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:8c779e5ebbf0e2e15334ea404fcce54009dc069210164a244d2eac8352a44b28", size = 1717479, upload-time = "2025-07-10T13:03:40.158Z" }, - { url = "https://files.pythonhosted.org/packages/51/e1/7f1c77515d369b7419c5b501196526dad3e72800946c0099594c1f0c20b4/aiohttp-3.12.14-cp311-cp311-win32.whl", hash = "sha256:a289f50bf1bd5be227376c067927f78079a7bdeccf8daa6a9e65c38bae14324b", size = 427907, upload-time = "2025-07-10T13:03:41.801Z" }, - { url = "https://files.pythonhosted.org/packages/06/24/a6bf915c85b7a5b07beba3d42b3282936b51e4578b64a51e8e875643c276/aiohttp-3.12.14-cp311-cp311-win_amd64.whl", hash = "sha256:0b8a69acaf06b17e9c54151a6c956339cf46db4ff72b3ac28516d0f7068f4ced", size = 452334, upload-time = "2025-07-10T13:03:43.485Z" }, - { url = "https://files.pythonhosted.org/packages/c3/0d/29026524e9336e33d9767a1e593ae2b24c2b8b09af7c2bd8193762f76b3e/aiohttp-3.12.14-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:a0ecbb32fc3e69bc25efcda7d28d38e987d007096cbbeed04f14a6662d0eee22", size = 701055, upload-time = "2025-07-10T13:03:45.59Z" }, - { url = "https://files.pythonhosted.org/packages/0a/b8/a5e8e583e6c8c1056f4b012b50a03c77a669c2e9bf012b7cf33d6bc4b141/aiohttp-3.12.14-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:0400f0ca9bb3e0b02f6466421f253797f6384e9845820c8b05e976398ac1d81a", size = 475670, upload-time = "2025-07-10T13:03:47.249Z" }, - { url = "https://files.pythonhosted.org/packages/29/e8/5202890c9e81a4ec2c2808dd90ffe024952e72c061729e1d49917677952f/aiohttp-3.12.14-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a56809fed4c8a830b5cae18454b7464e1529dbf66f71c4772e3cfa9cbec0a1ff", size = 468513, upload-time = "2025-07-10T13:03:49.377Z" }, - { url = "https://files.pythonhosted.org/packages/23/e5/d11db8c23d8923d3484a27468a40737d50f05b05eebbb6288bafcb467356/aiohttp-3.12.14-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:27f2e373276e4755691a963e5d11756d093e346119f0627c2d6518208483fb6d", size = 1715309, upload-time = "2025-07-10T13:03:51.556Z" }, - { url = "https://files.pythonhosted.org/packages/53/44/af6879ca0eff7a16b1b650b7ea4a827301737a350a464239e58aa7c387ef/aiohttp-3.12.14-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:ca39e433630e9a16281125ef57ece6817afd1d54c9f1bf32e901f38f16035869", size = 1697961, upload-time = "2025-07-10T13:03:53.511Z" }, - { url = "https://files.pythonhosted.org/packages/bb/94/18457f043399e1ec0e59ad8674c0372f925363059c276a45a1459e17f423/aiohttp-3.12.14-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9c748b3f8b14c77720132b2510a7d9907a03c20ba80f469e58d5dfd90c079a1c", size = 1753055, upload-time = "2025-07-10T13:03:55.368Z" }, - { url = "https://files.pythonhosted.org/packages/26/d9/1d3744dc588fafb50ff8a6226d58f484a2242b5dd93d8038882f55474d41/aiohttp-3.12.14-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f0a568abe1b15ce69d4cc37e23020720423f0728e3cb1f9bcd3f53420ec3bfe7", size = 1799211, upload-time = "2025-07-10T13:03:57.216Z" }, - { url = "https://files.pythonhosted.org/packages/73/12/2530fb2b08773f717ab2d249ca7a982ac66e32187c62d49e2c86c9bba9b4/aiohttp-3.12.14-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9888e60c2c54eaf56704b17feb558c7ed6b7439bca1e07d4818ab878f2083660", size = 1718649, upload-time = "2025-07-10T13:03:59.469Z" }, - { url = "https://files.pythonhosted.org/packages/b9/34/8d6015a729f6571341a311061b578e8b8072ea3656b3d72329fa0faa2c7c/aiohttp-3.12.14-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3006a1dc579b9156de01e7916d38c63dc1ea0679b14627a37edf6151bc530088", size = 1634452, upload-time = "2025-07-10T13:04:01.698Z" }, - { url = "https://files.pythonhosted.org/packages/ff/4b/08b83ea02595a582447aeb0c1986792d0de35fe7a22fb2125d65091cbaf3/aiohttp-3.12.14-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:aa8ec5c15ab80e5501a26719eb48a55f3c567da45c6ea5bb78c52c036b2655c7", size = 1695511, upload-time = "2025-07-10T13:04:04.165Z" }, - { url = "https://files.pythonhosted.org/packages/b5/66/9c7c31037a063eec13ecf1976185c65d1394ded4a5120dd5965e3473cb21/aiohttp-3.12.14-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:39b94e50959aa07844c7fe2206b9f75d63cc3ad1c648aaa755aa257f6f2498a9", size = 1716967, upload-time = "2025-07-10T13:04:06.132Z" }, - { url = "https://files.pythonhosted.org/packages/ba/02/84406e0ad1acb0fb61fd617651ab6de760b2d6a31700904bc0b33bd0894d/aiohttp-3.12.14-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:04c11907492f416dad9885d503fbfc5dcb6768d90cad8639a771922d584609d3", size = 1657620, upload-time = "2025-07-10T13:04:07.944Z" }, - { url = "https://files.pythonhosted.org/packages/07/53/da018f4013a7a179017b9a274b46b9a12cbeb387570f116964f498a6f211/aiohttp-3.12.14-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:88167bd9ab69bb46cee91bd9761db6dfd45b6e76a0438c7e884c3f8160ff21eb", size = 1737179, upload-time = "2025-07-10T13:04:10.182Z" }, - { url = "https://files.pythonhosted.org/packages/49/e8/ca01c5ccfeaafb026d85fa4f43ceb23eb80ea9c1385688db0ef322c751e9/aiohttp-3.12.14-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:791504763f25e8f9f251e4688195e8b455f8820274320204f7eafc467e609425", size = 1765156, upload-time = "2025-07-10T13:04:12.029Z" }, - { url = "https://files.pythonhosted.org/packages/22/32/5501ab525a47ba23c20613e568174d6c63aa09e2caa22cded5c6ea8e3ada/aiohttp-3.12.14-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:2785b112346e435dd3a1a67f67713a3fe692d288542f1347ad255683f066d8e0", size = 1724766, upload-time = "2025-07-10T13:04:13.961Z" }, - { url = "https://files.pythonhosted.org/packages/06/af/28e24574801fcf1657945347ee10df3892311c2829b41232be6089e461e7/aiohttp-3.12.14-cp312-cp312-win32.whl", hash = "sha256:15f5f4792c9c999a31d8decf444e79fcfd98497bf98e94284bf390a7bb8c1729", size = 422641, upload-time = "2025-07-10T13:04:16.018Z" }, - { url = "https://files.pythonhosted.org/packages/98/d5/7ac2464aebd2eecac38dbe96148c9eb487679c512449ba5215d233755582/aiohttp-3.12.14-cp312-cp312-win_amd64.whl", hash = "sha256:3b66e1a182879f579b105a80d5c4bd448b91a57e8933564bf41665064796a338", size = 449316, upload-time = "2025-07-10T13:04:18.289Z" }, - { url = "https://files.pythonhosted.org/packages/06/48/e0d2fa8ac778008071e7b79b93ab31ef14ab88804d7ba71b5c964a7c844e/aiohttp-3.12.14-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:3143a7893d94dc82bc409f7308bc10d60285a3cd831a68faf1aa0836c5c3c767", size = 695471, upload-time = "2025-07-10T13:04:20.124Z" }, - { url = "https://files.pythonhosted.org/packages/8d/e7/f73206afa33100804f790b71092888f47df65fd9a4cd0e6800d7c6826441/aiohttp-3.12.14-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:3d62ac3d506cef54b355bd34c2a7c230eb693880001dfcda0bf88b38f5d7af7e", size = 473128, upload-time = "2025-07-10T13:04:21.928Z" }, - { url = "https://files.pythonhosted.org/packages/df/e2/4dd00180be551a6e7ee979c20fc7c32727f4889ee3fd5b0586e0d47f30e1/aiohttp-3.12.14-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:48e43e075c6a438937c4de48ec30fa8ad8e6dfef122a038847456bfe7b947b63", size = 465426, upload-time = "2025-07-10T13:04:24.071Z" }, - { url = "https://files.pythonhosted.org/packages/de/dd/525ed198a0bb674a323e93e4d928443a680860802c44fa7922d39436b48b/aiohttp-3.12.14-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:077b4488411a9724cecc436cbc8c133e0d61e694995b8de51aaf351c7578949d", size = 1704252, upload-time = "2025-07-10T13:04:26.049Z" }, - { url = "https://files.pythonhosted.org/packages/d8/b1/01e542aed560a968f692ab4fc4323286e8bc4daae83348cd63588e4f33e3/aiohttp-3.12.14-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:d8c35632575653f297dcbc9546305b2c1133391089ab925a6a3706dfa775ccab", size = 1685514, upload-time = "2025-07-10T13:04:28.186Z" }, - { url = "https://files.pythonhosted.org/packages/b3/06/93669694dc5fdabdc01338791e70452d60ce21ea0946a878715688d5a191/aiohttp-3.12.14-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6b8ce87963f0035c6834b28f061df90cf525ff7c9b6283a8ac23acee6502afd4", size = 1737586, upload-time = "2025-07-10T13:04:30.195Z" }, - { url = "https://files.pythonhosted.org/packages/a5/3a/18991048ffc1407ca51efb49ba8bcc1645961f97f563a6c480cdf0286310/aiohttp-3.12.14-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f0a2cf66e32a2563bb0766eb24eae7e9a269ac0dc48db0aae90b575dc9583026", size = 1786958, upload-time = "2025-07-10T13:04:32.482Z" }, - { url = "https://files.pythonhosted.org/packages/30/a8/81e237f89a32029f9b4a805af6dffc378f8459c7b9942712c809ff9e76e5/aiohttp-3.12.14-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cdea089caf6d5cde975084a884c72d901e36ef9c2fd972c9f51efbbc64e96fbd", size = 1709287, upload-time = "2025-07-10T13:04:34.493Z" }, - { url = "https://files.pythonhosted.org/packages/8c/e3/bd67a11b0fe7fc12c6030473afd9e44223d456f500f7cf526dbaa259ae46/aiohttp-3.12.14-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8a7865f27db67d49e81d463da64a59365ebd6b826e0e4847aa111056dcb9dc88", size = 1622990, upload-time = "2025-07-10T13:04:36.433Z" }, - { url = "https://files.pythonhosted.org/packages/83/ba/e0cc8e0f0d9ce0904e3cf2d6fa41904e379e718a013c721b781d53dcbcca/aiohttp-3.12.14-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0ab5b38a6a39781d77713ad930cb5e7feea6f253de656a5f9f281a8f5931b086", size = 1676015, upload-time = "2025-07-10T13:04:38.958Z" }, - { url = "https://files.pythonhosted.org/packages/d8/b3/1e6c960520bda094c48b56de29a3d978254637ace7168dd97ddc273d0d6c/aiohttp-3.12.14-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:9b3b15acee5c17e8848d90a4ebc27853f37077ba6aec4d8cb4dbbea56d156933", size = 1707678, upload-time = "2025-07-10T13:04:41.275Z" }, - { url = "https://files.pythonhosted.org/packages/0a/19/929a3eb8c35b7f9f076a462eaa9830b32c7f27d3395397665caa5e975614/aiohttp-3.12.14-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:e4c972b0bdaac167c1e53e16a16101b17c6d0ed7eac178e653a07b9f7fad7151", size = 1650274, upload-time = "2025-07-10T13:04:43.483Z" }, - { url = "https://files.pythonhosted.org/packages/22/e5/81682a6f20dd1b18ce3d747de8eba11cbef9b270f567426ff7880b096b48/aiohttp-3.12.14-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:7442488b0039257a3bdbc55f7209587911f143fca11df9869578db6c26feeeb8", size = 1726408, upload-time = "2025-07-10T13:04:45.577Z" }, - { url = "https://files.pythonhosted.org/packages/8c/17/884938dffaa4048302985483f77dfce5ac18339aad9b04ad4aaa5e32b028/aiohttp-3.12.14-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:f68d3067eecb64c5e9bab4a26aa11bd676f4c70eea9ef6536b0a4e490639add3", size = 1759879, upload-time = "2025-07-10T13:04:47.663Z" }, - { url = "https://files.pythonhosted.org/packages/95/78/53b081980f50b5cf874359bde707a6eacd6c4be3f5f5c93937e48c9d0025/aiohttp-3.12.14-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:f88d3704c8b3d598a08ad17d06006cb1ca52a1182291f04979e305c8be6c9758", size = 1708770, upload-time = "2025-07-10T13:04:49.944Z" }, - { url = "https://files.pythonhosted.org/packages/ed/91/228eeddb008ecbe3ffa6c77b440597fdf640307162f0c6488e72c5a2d112/aiohttp-3.12.14-cp313-cp313-win32.whl", hash = "sha256:a3c99ab19c7bf375c4ae3debd91ca5d394b98b6089a03231d4c580ef3c2ae4c5", size = 421688, upload-time = "2025-07-10T13:04:51.993Z" }, - { url = "https://files.pythonhosted.org/packages/66/5f/8427618903343402fdafe2850738f735fd1d9409d2a8f9bcaae5e630d3ba/aiohttp-3.12.14-cp313-cp313-win_amd64.whl", hash = "sha256:3f8aad695e12edc9d571f878c62bedc91adf30c760c8632f09663e5f564f4baa", size = 448098, upload-time = "2025-07-10T13:04:53.999Z" }, + { url = "https://files.pythonhosted.org/packages/47/dc/ef9394bde9080128ad401ac7ede185267ed637df03b51f05d14d1c99ad67/aiohttp-3.12.15-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:b6fc902bff74d9b1879ad55f5404153e2b33a82e72a95c89cec5eb6cc9e92fbc", size = 703921, upload-time = "2025-07-29T05:49:43.584Z" }, + { url = "https://files.pythonhosted.org/packages/8f/42/63fccfc3a7ed97eb6e1a71722396f409c46b60a0552d8a56d7aad74e0df5/aiohttp-3.12.15-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:098e92835b8119b54c693f2f88a1dec690e20798ca5f5fe5f0520245253ee0af", size = 480288, upload-time = "2025-07-29T05:49:47.851Z" }, + { url = "https://files.pythonhosted.org/packages/9c/a2/7b8a020549f66ea2a68129db6960a762d2393248f1994499f8ba9728bbed/aiohttp-3.12.15-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:40b3fee496a47c3b4a39a731954c06f0bd9bd3e8258c059a4beb76ac23f8e421", size = 468063, upload-time = "2025-07-29T05:49:49.789Z" }, + { url = "https://files.pythonhosted.org/packages/8f/f5/d11e088da9176e2ad8220338ae0000ed5429a15f3c9dfd983f39105399cd/aiohttp-3.12.15-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2ce13fcfb0bb2f259fb42106cdc63fa5515fb85b7e87177267d89a771a660b79", size = 1650122, upload-time = "2025-07-29T05:49:51.874Z" }, + { url = "https://files.pythonhosted.org/packages/b0/6b/b60ce2757e2faed3d70ed45dafee48cee7bfb878785a9423f7e883f0639c/aiohttp-3.12.15-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:3beb14f053222b391bf9cf92ae82e0171067cc9c8f52453a0f1ec7c37df12a77", size = 1624176, upload-time = "2025-07-29T05:49:53.805Z" }, + { url = "https://files.pythonhosted.org/packages/dd/de/8c9fde2072a1b72c4fadecf4f7d4be7a85b1d9a4ab333d8245694057b4c6/aiohttp-3.12.15-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4c39e87afe48aa3e814cac5f535bc6199180a53e38d3f51c5e2530f5aa4ec58c", size = 1696583, upload-time = "2025-07-29T05:49:55.338Z" }, + { url = "https://files.pythonhosted.org/packages/0c/ad/07f863ca3d895a1ad958a54006c6dafb4f9310f8c2fdb5f961b8529029d3/aiohttp-3.12.15-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d5f1b4ce5bc528a6ee38dbf5f39bbf11dd127048726323b72b8e85769319ffc4", size = 1738896, upload-time = "2025-07-29T05:49:57.045Z" }, + { url = "https://files.pythonhosted.org/packages/20/43/2bd482ebe2b126533e8755a49b128ec4e58f1a3af56879a3abdb7b42c54f/aiohttp-3.12.15-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1004e67962efabbaf3f03b11b4c43b834081c9e3f9b32b16a7d97d4708a9abe6", size = 1643561, upload-time = "2025-07-29T05:49:58.762Z" }, + { url = "https://files.pythonhosted.org/packages/23/40/2fa9f514c4cf4cbae8d7911927f81a1901838baf5e09a8b2c299de1acfe5/aiohttp-3.12.15-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8faa08fcc2e411f7ab91d1541d9d597d3a90e9004180edb2072238c085eac8c2", size = 1583685, upload-time = "2025-07-29T05:50:00.375Z" }, + { url = "https://files.pythonhosted.org/packages/b8/c3/94dc7357bc421f4fb978ca72a201a6c604ee90148f1181790c129396ceeb/aiohttp-3.12.15-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:fe086edf38b2222328cdf89af0dde2439ee173b8ad7cb659b4e4c6f385b2be3d", size = 1627533, upload-time = "2025-07-29T05:50:02.306Z" }, + { url = "https://files.pythonhosted.org/packages/bf/3f/1f8911fe1844a07001e26593b5c255a685318943864b27b4e0267e840f95/aiohttp-3.12.15-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:79b26fe467219add81d5e47b4a4ba0f2394e8b7c7c3198ed36609f9ba161aecb", size = 1638319, upload-time = "2025-07-29T05:50:04.282Z" }, + { url = "https://files.pythonhosted.org/packages/4e/46/27bf57a99168c4e145ffee6b63d0458b9c66e58bb70687c23ad3d2f0bd17/aiohttp-3.12.15-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:b761bac1192ef24e16706d761aefcb581438b34b13a2f069a6d343ec8fb693a5", size = 1613776, upload-time = "2025-07-29T05:50:05.863Z" }, + { url = "https://files.pythonhosted.org/packages/0f/7e/1d2d9061a574584bb4ad3dbdba0da90a27fdc795bc227def3a46186a8bc1/aiohttp-3.12.15-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:e153e8adacfe2af562861b72f8bc47f8a5c08e010ac94eebbe33dc21d677cd5b", size = 1693359, upload-time = "2025-07-29T05:50:07.563Z" }, + { url = "https://files.pythonhosted.org/packages/08/98/bee429b52233c4a391980a5b3b196b060872a13eadd41c3a34be9b1469ed/aiohttp-3.12.15-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:fc49c4de44977aa8601a00edbf157e9a421f227aa7eb477d9e3df48343311065", size = 1716598, upload-time = "2025-07-29T05:50:09.33Z" }, + { url = "https://files.pythonhosted.org/packages/57/39/b0314c1ea774df3392751b686104a3938c63ece2b7ce0ba1ed7c0b4a934f/aiohttp-3.12.15-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:2776c7ec89c54a47029940177e75c8c07c29c66f73464784971d6a81904ce9d1", size = 1644940, upload-time = "2025-07-29T05:50:11.334Z" }, + { url = "https://files.pythonhosted.org/packages/1b/83/3dacb8d3f8f512c8ca43e3fa8a68b20583bd25636ffa4e56ee841ffd79ae/aiohttp-3.12.15-cp310-cp310-win32.whl", hash = "sha256:2c7d81a277fa78b2203ab626ced1487420e8c11a8e373707ab72d189fcdad20a", size = 429239, upload-time = "2025-07-29T05:50:12.803Z" }, + { url = "https://files.pythonhosted.org/packages/eb/f9/470b5daba04d558c9673ca2034f28d067f3202a40e17804425f0c331c89f/aiohttp-3.12.15-cp310-cp310-win_amd64.whl", hash = "sha256:83603f881e11f0f710f8e2327817c82e79431ec976448839f3cd05d7afe8f830", size = 452297, upload-time = "2025-07-29T05:50:14.266Z" }, + { url = "https://files.pythonhosted.org/packages/20/19/9e86722ec8e835959bd97ce8c1efa78cf361fa4531fca372551abcc9cdd6/aiohttp-3.12.15-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:d3ce17ce0220383a0f9ea07175eeaa6aa13ae5a41f30bc61d84df17f0e9b1117", size = 711246, upload-time = "2025-07-29T05:50:15.937Z" }, + { url = "https://files.pythonhosted.org/packages/71/f9/0a31fcb1a7d4629ac9d8f01f1cb9242e2f9943f47f5d03215af91c3c1a26/aiohttp-3.12.15-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:010cc9bbd06db80fe234d9003f67e97a10fe003bfbedb40da7d71c1008eda0fe", size = 483515, upload-time = "2025-07-29T05:50:17.442Z" }, + { url = "https://files.pythonhosted.org/packages/62/6c/94846f576f1d11df0c2e41d3001000527c0fdf63fce7e69b3927a731325d/aiohttp-3.12.15-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3f9d7c55b41ed687b9d7165b17672340187f87a773c98236c987f08c858145a9", size = 471776, upload-time = "2025-07-29T05:50:19.568Z" }, + { url = "https://files.pythonhosted.org/packages/f8/6c/f766d0aaafcee0447fad0328da780d344489c042e25cd58fde566bf40aed/aiohttp-3.12.15-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bc4fbc61bb3548d3b482f9ac7ddd0f18c67e4225aaa4e8552b9f1ac7e6bda9e5", size = 1741977, upload-time = "2025-07-29T05:50:21.665Z" }, + { url = "https://files.pythonhosted.org/packages/17/e5/fb779a05ba6ff44d7bc1e9d24c644e876bfff5abe5454f7b854cace1b9cc/aiohttp-3.12.15-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:7fbc8a7c410bb3ad5d595bb7118147dfbb6449d862cc1125cf8867cb337e8728", size = 1690645, upload-time = "2025-07-29T05:50:23.333Z" }, + { url = "https://files.pythonhosted.org/packages/37/4e/a22e799c2035f5d6a4ad2cf8e7c1d1bd0923192871dd6e367dafb158b14c/aiohttp-3.12.15-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:74dad41b3458dbb0511e760fb355bb0b6689e0630de8a22b1b62a98777136e16", size = 1789437, upload-time = "2025-07-29T05:50:25.007Z" }, + { url = "https://files.pythonhosted.org/packages/28/e5/55a33b991f6433569babb56018b2fb8fb9146424f8b3a0c8ecca80556762/aiohttp-3.12.15-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3b6f0af863cf17e6222b1735a756d664159e58855da99cfe965134a3ff63b0b0", size = 1828482, upload-time = "2025-07-29T05:50:26.693Z" }, + { url = "https://files.pythonhosted.org/packages/c6/82/1ddf0ea4f2f3afe79dffed5e8a246737cff6cbe781887a6a170299e33204/aiohttp-3.12.15-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b5b7fe4972d48a4da367043b8e023fb70a04d1490aa7d68800e465d1b97e493b", size = 1730944, upload-time = "2025-07-29T05:50:28.382Z" }, + { url = "https://files.pythonhosted.org/packages/1b/96/784c785674117b4cb3877522a177ba1b5e4db9ce0fd519430b5de76eec90/aiohttp-3.12.15-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6443cca89553b7a5485331bc9bedb2342b08d073fa10b8c7d1c60579c4a7b9bd", size = 1668020, upload-time = "2025-07-29T05:50:30.032Z" }, + { url = "https://files.pythonhosted.org/packages/12/8a/8b75f203ea7e5c21c0920d84dd24a5c0e971fe1e9b9ebbf29ae7e8e39790/aiohttp-3.12.15-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:6c5f40ec615e5264f44b4282ee27628cea221fcad52f27405b80abb346d9f3f8", size = 1716292, upload-time = "2025-07-29T05:50:31.983Z" }, + { url = "https://files.pythonhosted.org/packages/47/0b/a1451543475bb6b86a5cfc27861e52b14085ae232896a2654ff1231c0992/aiohttp-3.12.15-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:2abbb216a1d3a2fe86dbd2edce20cdc5e9ad0be6378455b05ec7f77361b3ab50", size = 1711451, upload-time = "2025-07-29T05:50:33.989Z" }, + { url = "https://files.pythonhosted.org/packages/55/fd/793a23a197cc2f0d29188805cfc93aa613407f07e5f9da5cd1366afd9d7c/aiohttp-3.12.15-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:db71ce547012a5420a39c1b744d485cfb823564d01d5d20805977f5ea1345676", size = 1691634, upload-time = "2025-07-29T05:50:35.846Z" }, + { url = "https://files.pythonhosted.org/packages/ca/bf/23a335a6670b5f5dfc6d268328e55a22651b440fca341a64fccf1eada0c6/aiohttp-3.12.15-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:ced339d7c9b5030abad5854aa5413a77565e5b6e6248ff927d3e174baf3badf7", size = 1785238, upload-time = "2025-07-29T05:50:37.597Z" }, + { url = "https://files.pythonhosted.org/packages/57/4f/ed60a591839a9d85d40694aba5cef86dde9ee51ce6cca0bb30d6eb1581e7/aiohttp-3.12.15-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:7c7dd29c7b5bda137464dc9bfc738d7ceea46ff70309859ffde8c022e9b08ba7", size = 1805701, upload-time = "2025-07-29T05:50:39.591Z" }, + { url = "https://files.pythonhosted.org/packages/85/e0/444747a9455c5de188c0f4a0173ee701e2e325d4b2550e9af84abb20cdba/aiohttp-3.12.15-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:421da6fd326460517873274875c6c5a18ff225b40da2616083c5a34a7570b685", size = 1718758, upload-time = "2025-07-29T05:50:41.292Z" }, + { url = "https://files.pythonhosted.org/packages/36/ab/1006278d1ffd13a698e5dd4bfa01e5878f6bddefc296c8b62649753ff249/aiohttp-3.12.15-cp311-cp311-win32.whl", hash = "sha256:4420cf9d179ec8dfe4be10e7d0fe47d6d606485512ea2265b0d8c5113372771b", size = 428868, upload-time = "2025-07-29T05:50:43.063Z" }, + { url = "https://files.pythonhosted.org/packages/10/97/ad2b18700708452400278039272032170246a1bf8ec5d832772372c71f1a/aiohttp-3.12.15-cp311-cp311-win_amd64.whl", hash = "sha256:edd533a07da85baa4b423ee8839e3e91681c7bfa19b04260a469ee94b778bf6d", size = 453273, upload-time = "2025-07-29T05:50:44.613Z" }, + { url = "https://files.pythonhosted.org/packages/63/97/77cb2450d9b35f517d6cf506256bf4f5bda3f93a66b4ad64ba7fc917899c/aiohttp-3.12.15-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:802d3868f5776e28f7bf69d349c26fc0efadb81676d0afa88ed00d98a26340b7", size = 702333, upload-time = "2025-07-29T05:50:46.507Z" }, + { url = "https://files.pythonhosted.org/packages/83/6d/0544e6b08b748682c30b9f65640d006e51f90763b41d7c546693bc22900d/aiohttp-3.12.15-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:f2800614cd560287be05e33a679638e586a2d7401f4ddf99e304d98878c29444", size = 476948, upload-time = "2025-07-29T05:50:48.067Z" }, + { url = "https://files.pythonhosted.org/packages/3a/1d/c8c40e611e5094330284b1aea8a4b02ca0858f8458614fa35754cab42b9c/aiohttp-3.12.15-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8466151554b593909d30a0a125d638b4e5f3836e5aecde85b66b80ded1cb5b0d", size = 469787, upload-time = "2025-07-29T05:50:49.669Z" }, + { url = "https://files.pythonhosted.org/packages/38/7d/b76438e70319796bfff717f325d97ce2e9310f752a267bfdf5192ac6082b/aiohttp-3.12.15-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2e5a495cb1be69dae4b08f35a6c4579c539e9b5706f606632102c0f855bcba7c", size = 1716590, upload-time = "2025-07-29T05:50:51.368Z" }, + { url = "https://files.pythonhosted.org/packages/79/b1/60370d70cdf8b269ee1444b390cbd72ce514f0d1cd1a715821c784d272c9/aiohttp-3.12.15-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:6404dfc8cdde35c69aaa489bb3542fb86ef215fc70277c892be8af540e5e21c0", size = 1699241, upload-time = "2025-07-29T05:50:53.628Z" }, + { url = "https://files.pythonhosted.org/packages/a3/2b/4968a7b8792437ebc12186db31523f541943e99bda8f30335c482bea6879/aiohttp-3.12.15-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3ead1c00f8521a5c9070fcb88f02967b1d8a0544e6d85c253f6968b785e1a2ab", size = 1754335, upload-time = "2025-07-29T05:50:55.394Z" }, + { url = "https://files.pythonhosted.org/packages/fb/c1/49524ed553f9a0bec1a11fac09e790f49ff669bcd14164f9fab608831c4d/aiohttp-3.12.15-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6990ef617f14450bc6b34941dba4f12d5613cbf4e33805932f853fbd1cf18bfb", size = 1800491, upload-time = "2025-07-29T05:50:57.202Z" }, + { url = "https://files.pythonhosted.org/packages/de/5e/3bf5acea47a96a28c121b167f5ef659cf71208b19e52a88cdfa5c37f1fcc/aiohttp-3.12.15-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd736ed420f4db2b8148b52b46b88ed038d0354255f9a73196b7bbce3ea97545", size = 1719929, upload-time = "2025-07-29T05:50:59.192Z" }, + { url = "https://files.pythonhosted.org/packages/39/94/8ae30b806835bcd1cba799ba35347dee6961a11bd507db634516210e91d8/aiohttp-3.12.15-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3c5092ce14361a73086b90c6efb3948ffa5be2f5b6fbcf52e8d8c8b8848bb97c", size = 1635733, upload-time = "2025-07-29T05:51:01.394Z" }, + { url = "https://files.pythonhosted.org/packages/7a/46/06cdef71dd03acd9da7f51ab3a9107318aee12ad38d273f654e4f981583a/aiohttp-3.12.15-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:aaa2234bb60c4dbf82893e934d8ee8dea30446f0647e024074237a56a08c01bd", size = 1696790, upload-time = "2025-07-29T05:51:03.657Z" }, + { url = "https://files.pythonhosted.org/packages/02/90/6b4cfaaf92ed98d0ec4d173e78b99b4b1a7551250be8937d9d67ecb356b4/aiohttp-3.12.15-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:6d86a2fbdd14192e2f234a92d3b494dd4457e683ba07e5905a0b3ee25389ac9f", size = 1718245, upload-time = "2025-07-29T05:51:05.911Z" }, + { url = "https://files.pythonhosted.org/packages/2e/e6/2593751670fa06f080a846f37f112cbe6f873ba510d070136a6ed46117c6/aiohttp-3.12.15-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:a041e7e2612041a6ddf1c6a33b883be6a421247c7afd47e885969ee4cc58bd8d", size = 1658899, upload-time = "2025-07-29T05:51:07.753Z" }, + { url = "https://files.pythonhosted.org/packages/8f/28/c15bacbdb8b8eb5bf39b10680d129ea7410b859e379b03190f02fa104ffd/aiohttp-3.12.15-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:5015082477abeafad7203757ae44299a610e89ee82a1503e3d4184e6bafdd519", size = 1738459, upload-time = "2025-07-29T05:51:09.56Z" }, + { url = "https://files.pythonhosted.org/packages/00/de/c269cbc4faa01fb10f143b1670633a8ddd5b2e1ffd0548f7aa49cb5c70e2/aiohttp-3.12.15-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:56822ff5ddfd1b745534e658faba944012346184fbfe732e0d6134b744516eea", size = 1766434, upload-time = "2025-07-29T05:51:11.423Z" }, + { url = "https://files.pythonhosted.org/packages/52/b0/4ff3abd81aa7d929b27d2e1403722a65fc87b763e3a97b3a2a494bfc63bc/aiohttp-3.12.15-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b2acbbfff69019d9014508c4ba0401822e8bae5a5fdc3b6814285b71231b60f3", size = 1726045, upload-time = "2025-07-29T05:51:13.689Z" }, + { url = "https://files.pythonhosted.org/packages/71/16/949225a6a2dd6efcbd855fbd90cf476052e648fb011aa538e3b15b89a57a/aiohttp-3.12.15-cp312-cp312-win32.whl", hash = "sha256:d849b0901b50f2185874b9a232f38e26b9b3d4810095a7572eacea939132d4e1", size = 423591, upload-time = "2025-07-29T05:51:15.452Z" }, + { url = "https://files.pythonhosted.org/packages/2b/d8/fa65d2a349fe938b76d309db1a56a75c4fb8cc7b17a398b698488a939903/aiohttp-3.12.15-cp312-cp312-win_amd64.whl", hash = "sha256:b390ef5f62bb508a9d67cb3bba9b8356e23b3996da7062f1a57ce1a79d2b3d34", size = 450266, upload-time = "2025-07-29T05:51:17.239Z" }, + { url = "https://files.pythonhosted.org/packages/f2/33/918091abcf102e39d15aba2476ad9e7bd35ddb190dcdd43a854000d3da0d/aiohttp-3.12.15-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:9f922ffd05034d439dde1c77a20461cf4a1b0831e6caa26151fe7aa8aaebc315", size = 696741, upload-time = "2025-07-29T05:51:19.021Z" }, + { url = "https://files.pythonhosted.org/packages/b5/2a/7495a81e39a998e400f3ecdd44a62107254803d1681d9189be5c2e4530cd/aiohttp-3.12.15-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:2ee8a8ac39ce45f3e55663891d4b1d15598c157b4d494a4613e704c8b43112cd", size = 474407, upload-time = "2025-07-29T05:51:21.165Z" }, + { url = "https://files.pythonhosted.org/packages/49/fc/a9576ab4be2dcbd0f73ee8675d16c707cfc12d5ee80ccf4015ba543480c9/aiohttp-3.12.15-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3eae49032c29d356b94eee45a3f39fdf4b0814b397638c2f718e96cfadf4c4e4", size = 466703, upload-time = "2025-07-29T05:51:22.948Z" }, + { url = "https://files.pythonhosted.org/packages/09/2f/d4bcc8448cf536b2b54eed48f19682031ad182faa3a3fee54ebe5b156387/aiohttp-3.12.15-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b97752ff12cc12f46a9b20327104448042fce5c33a624f88c18f66f9368091c7", size = 1705532, upload-time = "2025-07-29T05:51:25.211Z" }, + { url = "https://files.pythonhosted.org/packages/f1/f3/59406396083f8b489261e3c011aa8aee9df360a96ac8fa5c2e7e1b8f0466/aiohttp-3.12.15-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:894261472691d6fe76ebb7fcf2e5870a2ac284c7406ddc95823c8598a1390f0d", size = 1686794, upload-time = "2025-07-29T05:51:27.145Z" }, + { url = "https://files.pythonhosted.org/packages/dc/71/164d194993a8d114ee5656c3b7ae9c12ceee7040d076bf7b32fb98a8c5c6/aiohttp-3.12.15-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5fa5d9eb82ce98959fc1031c28198b431b4d9396894f385cb63f1e2f3f20ca6b", size = 1738865, upload-time = "2025-07-29T05:51:29.366Z" }, + { url = "https://files.pythonhosted.org/packages/1c/00/d198461b699188a93ead39cb458554d9f0f69879b95078dce416d3209b54/aiohttp-3.12.15-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f0fa751efb11a541f57db59c1dd821bec09031e01452b2b6217319b3a1f34f3d", size = 1788238, upload-time = "2025-07-29T05:51:31.285Z" }, + { url = "https://files.pythonhosted.org/packages/85/b8/9e7175e1fa0ac8e56baa83bf3c214823ce250d0028955dfb23f43d5e61fd/aiohttp-3.12.15-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5346b93e62ab51ee2a9d68e8f73c7cf96ffb73568a23e683f931e52450e4148d", size = 1710566, upload-time = "2025-07-29T05:51:33.219Z" }, + { url = "https://files.pythonhosted.org/packages/59/e4/16a8eac9df39b48ae102ec030fa9f726d3570732e46ba0c592aeeb507b93/aiohttp-3.12.15-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:049ec0360f939cd164ecbfd2873eaa432613d5e77d6b04535e3d1fbae5a9e645", size = 1624270, upload-time = "2025-07-29T05:51:35.195Z" }, + { url = "https://files.pythonhosted.org/packages/1f/f8/cd84dee7b6ace0740908fd0af170f9fab50c2a41ccbc3806aabcb1050141/aiohttp-3.12.15-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:b52dcf013b57464b6d1e51b627adfd69a8053e84b7103a7cd49c030f9ca44461", size = 1677294, upload-time = "2025-07-29T05:51:37.215Z" }, + { url = "https://files.pythonhosted.org/packages/ce/42/d0f1f85e50d401eccd12bf85c46ba84f947a84839c8a1c2c5f6e8ab1eb50/aiohttp-3.12.15-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:9b2af240143dd2765e0fb661fd0361a1b469cab235039ea57663cda087250ea9", size = 1708958, upload-time = "2025-07-29T05:51:39.328Z" }, + { url = "https://files.pythonhosted.org/packages/d5/6b/f6fa6c5790fb602538483aa5a1b86fcbad66244997e5230d88f9412ef24c/aiohttp-3.12.15-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ac77f709a2cde2cc71257ab2d8c74dd157c67a0558a0d2799d5d571b4c63d44d", size = 1651553, upload-time = "2025-07-29T05:51:41.356Z" }, + { url = "https://files.pythonhosted.org/packages/04/36/a6d36ad545fa12e61d11d1932eef273928b0495e6a576eb2af04297fdd3c/aiohttp-3.12.15-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:47f6b962246f0a774fbd3b6b7be25d59b06fdb2f164cf2513097998fc6a29693", size = 1727688, upload-time = "2025-07-29T05:51:43.452Z" }, + { url = "https://files.pythonhosted.org/packages/aa/c8/f195e5e06608a97a4e52c5d41c7927301bf757a8e8bb5bbf8cef6c314961/aiohttp-3.12.15-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:760fb7db442f284996e39cf9915a94492e1896baac44f06ae551974907922b64", size = 1761157, upload-time = "2025-07-29T05:51:45.643Z" }, + { url = "https://files.pythonhosted.org/packages/05/6a/ea199e61b67f25ba688d3ce93f63b49b0a4e3b3d380f03971b4646412fc6/aiohttp-3.12.15-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ad702e57dc385cae679c39d318def49aef754455f237499d5b99bea4ef582e51", size = 1710050, upload-time = "2025-07-29T05:51:48.203Z" }, + { url = "https://files.pythonhosted.org/packages/b4/2e/ffeb7f6256b33635c29dbed29a22a723ff2dd7401fff42ea60cf2060abfb/aiohttp-3.12.15-cp313-cp313-win32.whl", hash = "sha256:f813c3e9032331024de2eb2e32a88d86afb69291fbc37a3a3ae81cc9917fb3d0", size = 422647, upload-time = "2025-07-29T05:51:50.718Z" }, + { url = "https://files.pythonhosted.org/packages/1b/8e/78ee35774201f38d5e1ba079c9958f7629b1fd079459aea9467441dbfbf5/aiohttp-3.12.15-cp313-cp313-win_amd64.whl", hash = "sha256:1a649001580bdb37c6fdb1bebbd7e3bc688e8ec2b5c6f52edbb664662b17dc84", size = 449067, upload-time = "2025-07-29T05:51:52.549Z" }, ] [[package]] @@ -258,23 +259,28 @@ wheels = [ [[package]] name = "argon2-cffi-bindings" -version = "21.2.0" +version = "25.1.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "cffi" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/b9/e9/184b8ccce6683b0aa2fbb7ba5683ea4b9c5763f1356347f1312c32e3c66e/argon2-cffi-bindings-21.2.0.tar.gz", hash = "sha256:bb89ceffa6c791807d1305ceb77dbfacc5aa499891d2c55661c6459651fc39e3", size = 1779911, upload-time = "2021-12-01T08:52:55.68Z" } +sdist = { url = "https://files.pythonhosted.org/packages/5c/2d/db8af0df73c1cf454f71b2bbe5e356b8c1f8041c979f505b3d3186e520a9/argon2_cffi_bindings-25.1.0.tar.gz", hash = "sha256:b957f3e6ea4d55d820e40ff76f450952807013d361a65d7f28acc0acbf29229d", size = 1783441, upload-time = "2025-07-30T10:02:05.147Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/d4/13/838ce2620025e9666aa8f686431f67a29052241692a3dd1ae9d3692a89d3/argon2_cffi_bindings-21.2.0-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:ccb949252cb2ab3a08c02024acb77cfb179492d5701c7cbdbfd776124d4d2367", size = 29658, upload-time = "2021-12-01T09:09:17.016Z" }, - { url = "https://files.pythonhosted.org/packages/b3/02/f7f7bb6b6af6031edb11037639c697b912e1dea2db94d436e681aea2f495/argon2_cffi_bindings-21.2.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9524464572e12979364b7d600abf96181d3541da11e23ddf565a32e70bd4dc0d", size = 80583, upload-time = "2021-12-01T09:09:19.546Z" }, - { url = "https://files.pythonhosted.org/packages/ec/f7/378254e6dd7ae6f31fe40c8649eea7d4832a42243acaf0f1fff9083b2bed/argon2_cffi_bindings-21.2.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b746dba803a79238e925d9046a63aa26bf86ab2a2fe74ce6b009a1c3f5c8f2ae", size = 86168, upload-time = "2021-12-01T09:09:21.445Z" }, - { url = "https://files.pythonhosted.org/packages/74/f6/4a34a37a98311ed73bb80efe422fed95f2ac25a4cacc5ae1d7ae6a144505/argon2_cffi_bindings-21.2.0-cp36-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:58ed19212051f49a523abb1dbe954337dc82d947fb6e5a0da60f7c8471a8476c", size = 82709, upload-time = "2021-12-01T09:09:18.182Z" }, - { url = "https://files.pythonhosted.org/packages/74/2b/73d767bfdaab25484f7e7901379d5f8793cccbb86c6e0cbc4c1b96f63896/argon2_cffi_bindings-21.2.0-cp36-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:bd46088725ef7f58b5a1ef7ca06647ebaf0eb4baff7d1d0d177c6cc8744abd86", size = 83613, upload-time = "2021-12-01T09:09:22.741Z" }, - { url = "https://files.pythonhosted.org/packages/4f/fd/37f86deef67ff57c76f137a67181949c2d408077e2e3dd70c6c42912c9bf/argon2_cffi_bindings-21.2.0-cp36-abi3-musllinux_1_1_i686.whl", hash = "sha256:8cd69c07dd875537a824deec19f978e0f2078fdda07fd5c42ac29668dda5f40f", size = 84583, upload-time = "2021-12-01T09:09:24.177Z" }, - { url = "https://files.pythonhosted.org/packages/6f/52/5a60085a3dae8fded8327a4f564223029f5f54b0cb0455a31131b5363a01/argon2_cffi_bindings-21.2.0-cp36-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:f1152ac548bd5b8bcecfb0b0371f082037e47128653df2e8ba6e914d384f3c3e", size = 88475, upload-time = "2021-12-01T09:09:26.673Z" }, - { url = "https://files.pythonhosted.org/packages/8b/95/143cd64feb24a15fa4b189a3e1e7efbaeeb00f39a51e99b26fc62fbacabd/argon2_cffi_bindings-21.2.0-cp36-abi3-win32.whl", hash = "sha256:603ca0aba86b1349b147cab91ae970c63118a0f30444d4bc80355937c950c082", size = 27698, upload-time = "2021-12-01T09:09:27.87Z" }, - { url = "https://files.pythonhosted.org/packages/37/2c/e34e47c7dee97ba6f01a6203e0383e15b60fb85d78ac9a15cd066f6fe28b/argon2_cffi_bindings-21.2.0-cp36-abi3-win_amd64.whl", hash = "sha256:b2ef1c30440dbbcba7a5dc3e319408b59676e2e039e2ae11a8775ecf482b192f", size = 30817, upload-time = "2021-12-01T09:09:30.267Z" }, - { url = "https://files.pythonhosted.org/packages/5a/e4/bf8034d25edaa495da3c8a3405627d2e35758e44ff6eaa7948092646fdcc/argon2_cffi_bindings-21.2.0-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:e415e3f62c8d124ee16018e491a009937f8cf7ebf5eb430ffc5de21b900dad93", size = 53104, upload-time = "2021-12-01T09:09:31.335Z" }, + { url = "https://files.pythonhosted.org/packages/1d/57/96b8b9f93166147826da5f90376e784a10582dd39a393c99bb62cfcf52f0/argon2_cffi_bindings-25.1.0-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:aecba1723ae35330a008418a91ea6cfcedf6d31e5fbaa056a166462ff066d500", size = 54121, upload-time = "2025-07-30T10:01:50.815Z" }, + { url = "https://files.pythonhosted.org/packages/0a/08/a9bebdb2e0e602dde230bdde8021b29f71f7841bd54801bcfd514acb5dcf/argon2_cffi_bindings-25.1.0-cp39-abi3-macosx_10_9_x86_64.whl", hash = "sha256:2630b6240b495dfab90aebe159ff784d08ea999aa4b0d17efa734055a07d2f44", size = 29177, upload-time = "2025-07-30T10:01:51.681Z" }, + { url = "https://files.pythonhosted.org/packages/b6/02/d297943bcacf05e4f2a94ab6f462831dc20158614e5d067c35d4e63b9acb/argon2_cffi_bindings-25.1.0-cp39-abi3-macosx_11_0_arm64.whl", hash = "sha256:7aef0c91e2c0fbca6fc68e7555aa60ef7008a739cbe045541e438373bc54d2b0", size = 31090, upload-time = "2025-07-30T10:01:53.184Z" }, + { url = "https://files.pythonhosted.org/packages/c1/93/44365f3d75053e53893ec6d733e4a5e3147502663554b4d864587c7828a7/argon2_cffi_bindings-25.1.0-cp39-abi3-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1e021e87faa76ae0d413b619fe2b65ab9a037f24c60a1e6cc43457ae20de6dc6", size = 81246, upload-time = "2025-07-30T10:01:54.145Z" }, + { url = "https://files.pythonhosted.org/packages/09/52/94108adfdd6e2ddf58be64f959a0b9c7d4ef2fa71086c38356d22dc501ea/argon2_cffi_bindings-25.1.0-cp39-abi3-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d3e924cfc503018a714f94a49a149fdc0b644eaead5d1f089330399134fa028a", size = 87126, upload-time = "2025-07-30T10:01:55.074Z" }, + { url = "https://files.pythonhosted.org/packages/72/70/7a2993a12b0ffa2a9271259b79cc616e2389ed1a4d93842fac5a1f923ffd/argon2_cffi_bindings-25.1.0-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:c87b72589133f0346a1cb8d5ecca4b933e3c9b64656c9d175270a000e73b288d", size = 80343, upload-time = "2025-07-30T10:01:56.007Z" }, + { url = "https://files.pythonhosted.org/packages/78/9a/4e5157d893ffc712b74dbd868c7f62365618266982b64accab26bab01edc/argon2_cffi_bindings-25.1.0-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:1db89609c06afa1a214a69a462ea741cf735b29a57530478c06eb81dd403de99", size = 86777, upload-time = "2025-07-30T10:01:56.943Z" }, + { url = "https://files.pythonhosted.org/packages/74/cd/15777dfde1c29d96de7f18edf4cc94c385646852e7c7b0320aa91ccca583/argon2_cffi_bindings-25.1.0-cp39-abi3-win32.whl", hash = "sha256:473bcb5f82924b1becbb637b63303ec8d10e84c8d241119419897a26116515d2", size = 27180, upload-time = "2025-07-30T10:01:57.759Z" }, + { url = "https://files.pythonhosted.org/packages/e2/c6/a759ece8f1829d1f162261226fbfd2c6832b3ff7657384045286d2afa384/argon2_cffi_bindings-25.1.0-cp39-abi3-win_amd64.whl", hash = "sha256:a98cd7d17e9f7ce244c0803cad3c23a7d379c301ba618a5fa76a67d116618b98", size = 31715, upload-time = "2025-07-30T10:01:58.56Z" }, + { url = "https://files.pythonhosted.org/packages/42/b9/f8d6fa329ab25128b7e98fd83a3cb34d9db5b059a9847eddb840a0af45dd/argon2_cffi_bindings-25.1.0-cp39-abi3-win_arm64.whl", hash = "sha256:b0fdbcf513833809c882823f98dc2f931cf659d9a1429616ac3adebb49f5db94", size = 27149, upload-time = "2025-07-30T10:01:59.329Z" }, + { url = "https://files.pythonhosted.org/packages/11/2d/ba4e4ca8d149f8dcc0d952ac0967089e1d759c7e5fcf0865a317eb680fbb/argon2_cffi_bindings-25.1.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:6dca33a9859abf613e22733131fc9194091c1fa7cb3e131c143056b4856aa47e", size = 24549, upload-time = "2025-07-30T10:02:00.101Z" }, + { url = "https://files.pythonhosted.org/packages/5c/82/9b2386cc75ac0bd3210e12a44bfc7fd1632065ed8b80d573036eecb10442/argon2_cffi_bindings-25.1.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:21378b40e1b8d1655dd5310c84a40fc19a9aa5e6366e835ceb8576bf0fea716d", size = 25539, upload-time = "2025-07-30T10:02:00.929Z" }, + { url = "https://files.pythonhosted.org/packages/31/db/740de99a37aa727623730c90d92c22c9e12585b3c98c54b7960f7810289f/argon2_cffi_bindings-25.1.0-pp310-pypy310_pp73-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5d588dec224e2a83edbdc785a5e6f3c6cd736f46bfd4b441bbb5aa1f5085e584", size = 28467, upload-time = "2025-07-30T10:02:02.08Z" }, + { url = "https://files.pythonhosted.org/packages/71/7a/47c4509ea18d755f44e2b92b7178914f0c113946d11e16e626df8eaa2b0b/argon2_cffi_bindings-25.1.0-pp310-pypy310_pp73-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5acb4e41090d53f17ca1110c3427f0a130f944b896fc8c83973219c97f57b690", size = 27355, upload-time = "2025-07-30T10:02:02.867Z" }, + { url = "https://files.pythonhosted.org/packages/ee/82/82745642d3c46e7cea25e1885b014b033f4693346ce46b7f47483cf5d448/argon2_cffi_bindings-25.1.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:da0c79c23a63723aa5d782250fbf51b768abca630285262fb5144ba5ae01e520", size = 29187, upload-time = "2025-07-30T10:02:03.674Z" }, ] [[package]] @@ -784,14 +790,14 @@ wheels = [ [[package]] name = "click" -version = "8.1.8" +version = "8.2.2" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "colorama", marker = "sys_platform == 'win32'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/b9/2e/0090cbf739cee7d23781ad4b89a9894a41538e4fcf4c31dcdd705b78eb8b/click-8.1.8.tar.gz", hash = "sha256:ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a", size = 226593, upload-time = "2024-12-21T18:38:44.339Z" } +sdist = { url = "https://files.pythonhosted.org/packages/e9/87/105111999772ec9730e3d4d910c723ea9763ece2ec441533a5cea1e87e3c/click-8.2.2.tar.gz", hash = "sha256:068616e6ef9705a07b6db727cb9c248f4eb9dae437a30239f56fa94b18b852ef", size = 263977, upload-time = "2025-08-02T02:23:41.102Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/7e/d4/7ebdbd03970677812aac39c869717059dbb71a4cfc033ca6e5221787892c/click-8.1.8-py3-none-any.whl", hash = "sha256:63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2", size = 98188, upload-time = "2024-12-21T18:38:41.666Z" }, + { url = "https://files.pythonhosted.org/packages/ec/85/e7297e34133ae1cfde3bffd30c24e1ef055248251baa877834e048687a28/click-8.2.2-py3-none-any.whl", hash = "sha256:52e1e9f5d3db8c85aa76968c7c67ed41ddbacb167f43201511c8fd61eb5ba2ca", size = 103900, upload-time = "2025-08-02T02:23:39.299Z" }, ] [[package]] @@ -1141,9 +1147,13 @@ wheels = [ name = "contourpy" version = "1.3.2" source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.11' and platform_python_implementation != 'PyPy' and sys_platform != 'emscripten'", + "python_full_version < '3.11' and platform_python_implementation == 'PyPy' and sys_platform != 'emscripten'", + "python_full_version < '3.11' and sys_platform == 'emscripten'", +] dependencies = [ { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, - { name = "numpy", version = "2.3.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/66/54/eb9bfc647b19f2009dd5c7f5ec51c4e6ca831725f1aea7a993034f483147/contourpy-1.3.2.tar.gz", hash = "sha256:b6945942715a034c671b7fc54f9588126b0b8bf23db2696e3ca8328f3ff0ab54", size = 13466130, upload-time = "2025-04-15T17:47:53.79Z" } wheels = [ @@ -1206,66 +1216,137 @@ wheels = [ ] [[package]] -name = "coverage" -version = "7.10.0" +name = "contourpy" +version = "1.3.3" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/6d/8f/6ac7fbb29e35645065f7be835bfe3e0cce567f80390de2f3db65d83cb5e3/coverage-7.10.0.tar.gz", hash = "sha256:2768885aef484b5dcde56262cbdfba559b770bfc46994fe9485dc3614c7a5867", size = 819816, upload-time = "2025-07-24T16:53:00.896Z" } +resolution-markers = [ + "python_full_version >= '3.13' and platform_python_implementation != 'PyPy' and sys_platform != 'emscripten'", + "python_full_version == '3.12.*' and platform_python_implementation != 'PyPy' and sys_platform != 'emscripten'", + "python_full_version == '3.11.*' and platform_python_implementation != 'PyPy' and sys_platform != 'emscripten'", + "python_full_version >= '3.13' and platform_python_implementation == 'PyPy' and sys_platform != 'emscripten'", + "python_full_version == '3.12.*' and platform_python_implementation == 'PyPy' and sys_platform != 'emscripten'", + "python_full_version == '3.11.*' and platform_python_implementation == 'PyPy' and sys_platform != 'emscripten'", + "python_full_version >= '3.13' and sys_platform == 'emscripten'", + "python_full_version == '3.12.*' and sys_platform == 'emscripten'", + "python_full_version == '3.11.*' and sys_platform == 'emscripten'", +] +dependencies = [ + { name = "numpy", version = "2.3.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/58/01/1253e6698a07380cd31a736d248a3f2a50a7c88779a1813da27503cadc2a/contourpy-1.3.3.tar.gz", hash = "sha256:083e12155b210502d0bca491432bb04d56dc3432f95a979b429f2848c3dbe880", size = 13466174, upload-time = "2025-07-26T12:03:12.549Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/5d/f6/b2366476b1f48134757f2a42aaf00e7ce8e734eea5f3cf022df113116174/coverage-7.10.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:cbd823f7ea5286c26406ad9e54268544d82f3d1cadb6d4f3b85e9877f0cab1ef", size = 214813, upload-time = "2025-07-24T16:50:18.937Z" }, - { url = "https://files.pythonhosted.org/packages/19/d1/7e26bb4c41ed1b9aca4550187ca42557d79c70d318414a703d814858eacb/coverage-7.10.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ab3f7a5dbaab937df0b9e9e8ec6eab235ba9a6f29d71fd3b24335affaed886cc", size = 215206, upload-time = "2025-07-24T16:50:21.788Z" }, - { url = "https://files.pythonhosted.org/packages/df/71/d5ae128557c8d0ce0156eb1e980e5c6e6f7e54ef3e998c87ab4b3679ff45/coverage-7.10.0-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:8c63aaf850523d8cbe3f5f1a5c78f689b223797bef902635f2493ab43498f36c", size = 242171, upload-time = "2025-07-24T16:50:23.483Z" }, - { url = "https://files.pythonhosted.org/packages/af/87/d586a627e3b61cfe631ebcf3d8a38bf9085142800d2ac434bc20f3699880/coverage-7.10.0-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:4c3133ce3fa84023f7c6921c4dca711be0b658784c5a51a797168229eae26172", size = 243431, upload-time = "2025-07-24T16:50:24.913Z" }, - { url = "https://files.pythonhosted.org/packages/55/cc/ff5c6f4f99a987ebd18a3350194377c7cefee9ddd6e532ede83a0a1f332c/coverage-7.10.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3747d1d0af85b17d3a156cd30e4bbacf893815e846dc6c07050e9769da2b138e", size = 245288, upload-time = "2025-07-24T16:50:26.673Z" }, - { url = "https://files.pythonhosted.org/packages/94/d9/2758e73d7fe496c04dd715af8bb8856354a1ad4cc11553d9096c4b35dc86/coverage-7.10.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:241923b350437f6a7cb343d9df72998305ef940c3c40009f06e05029a047677c", size = 243235, upload-time = "2025-07-24T16:50:28.505Z" }, - { url = "https://files.pythonhosted.org/packages/9c/9b/3c273dde651d83484992d7e7bcd9cd84a363f01026caf69716390bd79e0d/coverage-7.10.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:13e82e499309307104d58ac66f9eed237f7aaceab4325416645be34064d9a2be", size = 241909, upload-time = "2025-07-24T16:50:30.38Z" }, - { url = "https://files.pythonhosted.org/packages/5b/7c/006d9f66035c4d414ea642d990854a30c23145551315bd0b38100daee168/coverage-7.10.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:bf73cdde4f6c9cd4457b00bf1696236796ac3a241f859a55e0f84a4c58326a7f", size = 242202, upload-time = "2025-07-24T16:50:32.199Z" }, - { url = "https://files.pythonhosted.org/packages/8a/42/80d8747f77c63593a2114c7299df52f7568168e4fd882d7d5ebe8181564f/coverage-7.10.0-cp310-cp310-win32.whl", hash = "sha256:2396e13275b37870a3345f58bce8b15a7e0a985771d13a4b16ce9129954e07d6", size = 217311, upload-time = "2025-07-24T16:50:33.598Z" }, - { url = "https://files.pythonhosted.org/packages/e3/8b/fe04c3851e5d290524f563a8a564c7e5dcd6b5ca35ed689ce662346de230/coverage-7.10.0-cp310-cp310-win_amd64.whl", hash = "sha256:9d45c7c71fb3d2da92ab893602e3f28f2d1560cec765a27e1824a6e0f7e92cfd", size = 218199, upload-time = "2025-07-24T16:50:36.751Z" }, - { url = "https://files.pythonhosted.org/packages/f5/5d/0d1ee021439e3b8b1e86ba92465f5a8d8e15b0222dcdd705606ef089f4fe/coverage-7.10.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4abc01843581a6f9dd72d4d15761861190973a2305416639435ef509288f7a04", size = 214934, upload-time = "2025-07-24T16:50:38.173Z" }, - { url = "https://files.pythonhosted.org/packages/f2/b2/1e0727327e473aa1a68ca1c9922818a06061d05d44e0c5330109d091b525/coverage-7.10.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a2093297773111d7d748fe4a99b68747e57994531fb5c57bbe439af17c11c169", size = 215320, upload-time = "2025-07-24T16:50:39.617Z" }, - { url = "https://files.pythonhosted.org/packages/84/17/d231e37236863ae3bed7c51615af6b6fc89639c88adf35766d2880dcd7c7/coverage-7.10.0-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:58240e27815bf105bd975c2fd42e700839f93d5aad034ef976411193ca32dbfd", size = 245321, upload-time = "2025-07-24T16:50:41.544Z" }, - { url = "https://files.pythonhosted.org/packages/95/77/a285aba35bf6ec12c466474931410ef0e6fa85542169009443868e98820a/coverage-7.10.0-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:d019eac999b40ad48521ea057958b07a9f549c0c6d257a20e5c7c4ba91af8d1c", size = 247155, upload-time = "2025-07-24T16:50:43.358Z" }, - { url = "https://files.pythonhosted.org/packages/7b/82/50512eafdd5938a7aa1550014e37fa1c2ca85516bfd85ffeb2f03eff052a/coverage-7.10.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:35e0a1f5454bc80faf4ceab10d1d48f025f92046c9c0f3bec2e1a9dda55137f8", size = 249320, upload-time = "2025-07-24T16:50:44.98Z" }, - { url = "https://files.pythonhosted.org/packages/de/7b/0ec1dc75c8f4d940d03d477b1e07269b4804dcab74ad1e294d40310aba47/coverage-7.10.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:a93dd7759c416dd1cc754123b926d065055cb9a33b6699e64a1e5bdfae1ff459", size = 247047, upload-time = "2025-07-24T16:50:46.482Z" }, - { url = "https://files.pythonhosted.org/packages/d9/5b/40f9b78ae98c2f511a2b062660906e126aadcd35870b9190a4f10f2820ae/coverage-7.10.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:7b3d737266048368a6ffd68f1ecd662c54de56535c82eb8f98a55ac216a72cbd", size = 245078, upload-time = "2025-07-24T16:50:47.904Z" }, - { url = "https://files.pythonhosted.org/packages/d6/f6/672c2a728e77846be7fcc4baaa003e0df86a2174aeb8921d132c14c333d4/coverage-7.10.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:93227c2707cb0effd9163cd0d8f0d9ab628982f7a3e915d6d64c7107867b9a07", size = 245686, upload-time = "2025-07-24T16:50:49.461Z" }, - { url = "https://files.pythonhosted.org/packages/a1/f3/fa078f0bfae7f0e6b14c426f9cb095f4809314d926c89b9a2641fb4ca482/coverage-7.10.0-cp311-cp311-win32.whl", hash = "sha256:69270af3014ab3058ad6108c6d0e218166f568b5a7a070dc3d62c0a63aca1c4d", size = 217350, upload-time = "2025-07-24T16:50:50.884Z" }, - { url = "https://files.pythonhosted.org/packages/1a/40/eefc3ebb9e458e3dc5db00e6b838969375577a09a8a39986d79cfa283175/coverage-7.10.0-cp311-cp311-win_amd64.whl", hash = "sha256:43c16bbb661a7b4dafac0ab69e44d6dbcc6a64c4d93aefd89edc6f8911b6ab4a", size = 218235, upload-time = "2025-07-24T16:50:52.369Z" }, - { url = "https://files.pythonhosted.org/packages/e5/b8/3b53890c3ad52279eaea594a86bceaf04fcc0aed16856ff81531f75735f4/coverage-7.10.0-cp311-cp311-win_arm64.whl", hash = "sha256:14e7c23fcb74ed808efb4eb48fcd25a759f0e20f685f83266d1df174860e4733", size = 216668, upload-time = "2025-07-24T16:50:53.937Z" }, - { url = "https://files.pythonhosted.org/packages/b6/b4/7b419bb368c9f0b88889cb24805164f6e5550d7183fb59524f6173e0cf0b/coverage-7.10.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:a2adcfdaf3b4d69b0c64ad024fe9dd6996782b52790fb6033d90f36f39e287df", size = 215124, upload-time = "2025-07-24T16:50:55.46Z" }, - { url = "https://files.pythonhosted.org/packages/f4/15/d862a806734c7e50fd5350cef18e22832ba3cdad282ca5660d6fd49def92/coverage-7.10.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2d7b27c2c0840e8eeff3f1963782bd9d3bc767488d2e67a31de18d724327f9f6", size = 215364, upload-time = "2025-07-24T16:50:57.849Z" }, - { url = "https://files.pythonhosted.org/packages/a6/93/4671ca5b2f3650c961a01252cbad96cb41f7c0c2b85c6062f27740a66b06/coverage-7.10.0-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:0ed50429786e935517570b08576a661fd79032e6060985ab492b9d39ba8e66ee", size = 246369, upload-time = "2025-07-24T16:50:59.505Z" }, - { url = "https://files.pythonhosted.org/packages/64/79/2ca676c712d0540df0d7957a4266232980b60858a7a654846af1878cfde0/coverage-7.10.0-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:7171c139ab6571d70460ecf788b1dcaf376bfc75a42e1946b8c031d062bbbad4", size = 248798, upload-time = "2025-07-24T16:51:01.105Z" }, - { url = "https://files.pythonhosted.org/packages/82/c5/67e000b03ba5291f915ddd6ba7c3333e4fdee9ba003b914c8f8f2d966dfe/coverage-7.10.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4a726aac7e6e406e403cdee4c443a13aed3ea3d67d856414c5beacac2e70c04e", size = 250260, upload-time = "2025-07-24T16:51:02.761Z" }, - { url = "https://files.pythonhosted.org/packages/9d/76/196783c425b5633db5c789b02a023858377bd73e4db4c805c2503cc42bbf/coverage-7.10.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2886257481a14e953e96861a00c0fe7151117a523f0470a51e392f00640bba03", size = 248171, upload-time = "2025-07-24T16:51:04.651Z" }, - { url = "https://files.pythonhosted.org/packages/83/1f/bf86c75f42de3641b4bbeab9712ec2815a3a8f5939768077245a492fad9f/coverage-7.10.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:536578b79521e59c385a2e0a14a5dc2a8edd58761a966d79368413e339fc9535", size = 246368, upload-time = "2025-07-24T16:51:06.16Z" }, - { url = "https://files.pythonhosted.org/packages/2d/95/bfc9a3abef0b160404438e82ec778a0f38660c66a4b0ed94d0417d4d2290/coverage-7.10.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:77fae95558f7804a9ceefabf3c38ad41af1da92b39781b87197c6440dcaaa967", size = 247578, upload-time = "2025-07-24T16:51:07.632Z" }, - { url = "https://files.pythonhosted.org/packages/c6/7e/4fb2a284d56fe2a3ba0c76806923014854a64e503dc8ce21e5a2e6497eea/coverage-7.10.0-cp312-cp312-win32.whl", hash = "sha256:97803e14736493eb029558e1502fe507bd6a08af277a5c8eeccf05c3e970cb84", size = 217521, upload-time = "2025-07-24T16:51:09.56Z" }, - { url = "https://files.pythonhosted.org/packages/f7/30/3ab51058b75e9931fc48594d79888396cf009910fabebe12a6a636ab7f9e/coverage-7.10.0-cp312-cp312-win_amd64.whl", hash = "sha256:4c73ab554e54ffd38d114d6bc4a7115fb0c840cf6d8622211bee3da26e4bd25d", size = 218308, upload-time = "2025-07-24T16:51:11.115Z" }, - { url = "https://files.pythonhosted.org/packages/b0/34/2adc74fd132eaa1873b1688acb906b477216074ed8a37e90426eca6d2900/coverage-7.10.0-cp312-cp312-win_arm64.whl", hash = "sha256:3ae95d5a9aedab853641026b71b2ddd01983a0a7e9bf870a20ef3c8f5d904699", size = 216706, upload-time = "2025-07-24T16:51:12.632Z" }, - { url = "https://files.pythonhosted.org/packages/fc/a7/a47f64718c2229b7860a334edd4e6ff41ec8513f3d3f4246284610344392/coverage-7.10.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:d883fee92b9245c0120fa25b5d36de71ccd4cfc29735906a448271e935d8d86d", size = 215143, upload-time = "2025-07-24T16:51:14.105Z" }, - { url = "https://files.pythonhosted.org/packages/ea/86/14d76a409e9ffab10d5aece73ac159dbd102fc56627e203413bfc6d53b24/coverage-7.10.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:c87e59e88268d30e33d3665ede4fbb77b513981a2df0059e7c106ca3de537586", size = 215401, upload-time = "2025-07-24T16:51:15.978Z" }, - { url = "https://files.pythonhosted.org/packages/f4/b3/fb5c28148a19035a3877fac4e40b044a4c97b24658c980bcf7dff18bfab8/coverage-7.10.0-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:f669d969f669a11d6ceee0b733e491d9a50573eb92a71ffab13b15f3aa2665d4", size = 245949, upload-time = "2025-07-24T16:51:17.628Z" }, - { url = "https://files.pythonhosted.org/packages/6d/95/357559ecfe73970d2023845797361e6c2e6c2c05f970073fff186fe19dd7/coverage-7.10.0-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:9582bd6c6771300a847d328c1c4204e751dbc339a9e249eecdc48cada41f72e6", size = 248295, upload-time = "2025-07-24T16:51:19.46Z" }, - { url = "https://files.pythonhosted.org/packages/7e/58/bac5bc43085712af201f76a24733895331c475e5ddda88ac36c1332a65e6/coverage-7.10.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:91f97e9637dc7977842776fdb7ad142075d6fa40bc1b91cb73685265e0d31d32", size = 249733, upload-time = "2025-07-24T16:51:21.518Z" }, - { url = "https://files.pythonhosted.org/packages/b2/db/104b713b3b74752ee365346677fb104765923982ae7bd93b95ca41fe256b/coverage-7.10.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ae4fa92b6601a62367c6c9967ad32ad4e28a89af54b6bb37d740946b0e0534dd", size = 247943, upload-time = "2025-07-24T16:51:23.194Z" }, - { url = "https://files.pythonhosted.org/packages/32/4f/bef25c797c9496cf31ae9cfa93ce96b4414cacf13688e4a6000982772fd5/coverage-7.10.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:3a5cc8b97473e7b3623dd17a42d2194a2b49de8afecf8d7d03c8987237a9552c", size = 245914, upload-time = "2025-07-24T16:51:24.766Z" }, - { url = "https://files.pythonhosted.org/packages/36/6b/b3efa0b506dbb9a37830d6dc862438fe3ad2833c5f889152bce24d9577cf/coverage-7.10.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:dc1cbb7f623250e047c32bd7aa1bb62ebc62608d5004d74df095e1059141ac88", size = 247296, upload-time = "2025-07-24T16:51:26.361Z" }, - { url = "https://files.pythonhosted.org/packages/1f/aa/95a845266aeacab4c57b08e0f4e0e2899b07809a18fd0c1ddef2ac2c9138/coverage-7.10.0-cp313-cp313-win32.whl", hash = "sha256:1380cc5666d778e77f1587cd88cc317158111f44d54c0dd3975f0936993284e0", size = 217566, upload-time = "2025-07-24T16:51:28.961Z" }, - { url = "https://files.pythonhosted.org/packages/a0/d1/27b6e5073a8026b9e0f4224f1ac53217ce589a4cdab1bee878f23bff64f0/coverage-7.10.0-cp313-cp313-win_amd64.whl", hash = "sha256:bf03cf176af098ee578b754a03add4690b82bdfe070adfb5d192d0b1cd15cf82", size = 218337, upload-time = "2025-07-24T16:51:31.45Z" }, - { url = "https://files.pythonhosted.org/packages/c7/06/0e3ba498b11e2245fd96bd7e8dcdf90e1dd36d57f49f308aa650ff0561b8/coverage-7.10.0-cp313-cp313-win_arm64.whl", hash = "sha256:8041c78cd145088116db2329b2fb6e89dc338116c962fbe654b7e9f5d72ab957", size = 216740, upload-time = "2025-07-24T16:51:33.317Z" }, - { url = "https://files.pythonhosted.org/packages/44/8b/11529debbe3e6b39ef6e7c8912554724adc6dc10adbb617a855ecfd387eb/coverage-7.10.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:37cc2c06052771f48651160c080a86431884db9cd62ba622cab71049b90a95b3", size = 215866, upload-time = "2025-07-24T16:51:35.339Z" }, - { url = "https://files.pythonhosted.org/packages/9c/6d/d8981310879e395f39af66536665b75135b1bc88dd21c7764e3340e9ce69/coverage-7.10.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:91f37270b16178b05fa107d85713d29bf21606e37b652d38646eef5f2dfbd458", size = 216083, upload-time = "2025-07-24T16:51:36.932Z" }, - { url = "https://files.pythonhosted.org/packages/c3/84/93295402de002de8b8c953bf6a1f19687174c4db7d44c1e85ffc153a772d/coverage-7.10.0-cp313-cp313t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:f9b0b0168864d09bcb9a3837548f75121645c4cfd0efce0eb994c221955c5b10", size = 257320, upload-time = "2025-07-24T16:51:38.734Z" }, - { url = "https://files.pythonhosted.org/packages/02/5c/d0540db4869954dac0f69ad709adcd51f3a73ab11fcc9435ee76c518944a/coverage-7.10.0-cp313-cp313t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:df0be435d3b616e7d3ee3f9ebbc0d784a213986fe5dff9c6f1042ee7cfd30157", size = 259182, upload-time = "2025-07-24T16:51:40.463Z" }, - { url = "https://files.pythonhosted.org/packages/59/b2/d7d57a41a15ca4b47290862efd6b596d0a185bfd26f15d04db9f238aa56c/coverage-7.10.0-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:35e9aba1c4434b837b1d567a533feba5ce205e8e91179c97974b28a14c23d3a0", size = 261322, upload-time = "2025-07-24T16:51:42.44Z" }, - { url = "https://files.pythonhosted.org/packages/16/92/fd828ae411b3da63673305617b6fbeccc09feb7dfe397d164f55a65cd880/coverage-7.10.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:a0b0c481e74dfad631bdc2c883e57d8b058e5c90ba8ef087600995daf7bbec18", size = 258914, upload-time = "2025-07-24T16:51:44.115Z" }, - { url = "https://files.pythonhosted.org/packages/28/49/4aa5f5464b2e1215640c0400c5b007e7f5cdade8bf39c55c33b02f3a8c7f/coverage-7.10.0-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:8aec1b7c8922808a433c13cd44ace6fceac0609f4587773f6c8217a06102674b", size = 257051, upload-time = "2025-07-24T16:51:45.75Z" }, - { url = "https://files.pythonhosted.org/packages/1e/5a/ded2346098c7f48ff6e135b5005b97de4cd9daec5c39adb4ecf3a60967da/coverage-7.10.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:04ec59ceb3a594af0927f2e0d810e1221212abd9a2e6b5b917769ff48760b460", size = 257869, upload-time = "2025-07-24T16:51:47.41Z" }, - { url = "https://files.pythonhosted.org/packages/46/66/e06cedb8fc7d1c96630b2f549b8cdc084e2623dcc70c900cb3b705a36a60/coverage-7.10.0-cp313-cp313t-win32.whl", hash = "sha256:b6871e62d29646eb9b3f5f92def59e7575daea1587db21f99e2b19561187abda", size = 218243, upload-time = "2025-07-24T16:51:49.136Z" }, - { url = "https://files.pythonhosted.org/packages/e7/1e/e84dd5ff35ed066bd6150e5c26fe0061ded2c59c209fd4f18db0650766c0/coverage-7.10.0-cp313-cp313t-win_amd64.whl", hash = "sha256:ff99cff2be44f78920b76803f782e91ffb46ccc7fa89eccccc0da3ca94285b64", size = 219334, upload-time = "2025-07-24T16:51:50.789Z" }, - { url = "https://files.pythonhosted.org/packages/b7/e0/b7b60b5dbc4e88eac0a0e9d5b4762409a59b29bf4e772b3509c8543ccaba/coverage-7.10.0-cp313-cp313t-win_arm64.whl", hash = "sha256:3246b63501348fe47299d12c47a27cfc221cfbffa1c2d857bcc8151323a4ae4f", size = 217196, upload-time = "2025-07-24T16:51:52.599Z" }, - { url = "https://files.pythonhosted.org/packages/09/df/7c34bada8ace39f688b3bd5bc411459a20a3204ccb0984c90169a80a9366/coverage-7.10.0-py3-none-any.whl", hash = "sha256:310a786330bb0463775c21d68e26e79973839b66d29e065c5787122b8dd4489f", size = 206777, upload-time = "2025-07-24T16:52:59.009Z" }, + { url = "https://files.pythonhosted.org/packages/91/2e/c4390a31919d8a78b90e8ecf87cd4b4c4f05a5b48d05ec17db8e5404c6f4/contourpy-1.3.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:709a48ef9a690e1343202916450bc48b9e51c049b089c7f79a267b46cffcdaa1", size = 288773, upload-time = "2025-07-26T12:01:02.277Z" }, + { url = "https://files.pythonhosted.org/packages/0d/44/c4b0b6095fef4dc9c420e041799591e3b63e9619e3044f7f4f6c21c0ab24/contourpy-1.3.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:23416f38bfd74d5d28ab8429cc4d63fa67d5068bd711a85edb1c3fb0c3e2f381", size = 270149, upload-time = "2025-07-26T12:01:04.072Z" }, + { url = "https://files.pythonhosted.org/packages/30/2e/dd4ced42fefac8470661d7cb7e264808425e6c5d56d175291e93890cce09/contourpy-1.3.3-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:929ddf8c4c7f348e4c0a5a3a714b5c8542ffaa8c22954862a46ca1813b667ee7", size = 329222, upload-time = "2025-07-26T12:01:05.688Z" }, + { url = "https://files.pythonhosted.org/packages/f2/74/cc6ec2548e3d276c71389ea4802a774b7aa3558223b7bade3f25787fafc2/contourpy-1.3.3-cp311-cp311-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:9e999574eddae35f1312c2b4b717b7885d4edd6cb46700e04f7f02db454e67c1", size = 377234, upload-time = "2025-07-26T12:01:07.054Z" }, + { url = "https://files.pythonhosted.org/packages/03/b3/64ef723029f917410f75c09da54254c5f9ea90ef89b143ccadb09df14c15/contourpy-1.3.3-cp311-cp311-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:0bf67e0e3f482cb69779dd3061b534eb35ac9b17f163d851e2a547d56dba0a3a", size = 380555, upload-time = "2025-07-26T12:01:08.801Z" }, + { url = "https://files.pythonhosted.org/packages/5f/4b/6157f24ca425b89fe2eb7e7be642375711ab671135be21e6faa100f7448c/contourpy-1.3.3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:51e79c1f7470158e838808d4a996fa9bac72c498e93d8ebe5119bc1e6becb0db", size = 355238, upload-time = "2025-07-26T12:01:10.319Z" }, + { url = "https://files.pythonhosted.org/packages/98/56/f914f0dd678480708a04cfd2206e7c382533249bc5001eb9f58aa693e200/contourpy-1.3.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:598c3aaece21c503615fd59c92a3598b428b2f01bfb4b8ca9c4edeecc2438620", size = 1326218, upload-time = "2025-07-26T12:01:12.659Z" }, + { url = "https://files.pythonhosted.org/packages/fb/d7/4a972334a0c971acd5172389671113ae82aa7527073980c38d5868ff1161/contourpy-1.3.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:322ab1c99b008dad206d406bb61d014cf0174df491ae9d9d0fac6a6fda4f977f", size = 1392867, upload-time = "2025-07-26T12:01:15.533Z" }, + { url = "https://files.pythonhosted.org/packages/75/3e/f2cc6cd56dc8cff46b1a56232eabc6feea52720083ea71ab15523daab796/contourpy-1.3.3-cp311-cp311-win32.whl", hash = "sha256:fd907ae12cd483cd83e414b12941c632a969171bf90fc937d0c9f268a31cafff", size = 183677, upload-time = "2025-07-26T12:01:17.088Z" }, + { url = "https://files.pythonhosted.org/packages/98/4b/9bd370b004b5c9d8045c6c33cf65bae018b27aca550a3f657cdc99acdbd8/contourpy-1.3.3-cp311-cp311-win_amd64.whl", hash = "sha256:3519428f6be58431c56581f1694ba8e50626f2dd550af225f82fb5f5814d2a42", size = 225234, upload-time = "2025-07-26T12:01:18.256Z" }, + { url = "https://files.pythonhosted.org/packages/d9/b6/71771e02c2e004450c12b1120a5f488cad2e4d5b590b1af8bad060360fe4/contourpy-1.3.3-cp311-cp311-win_arm64.whl", hash = "sha256:15ff10bfada4bf92ec8b31c62bf7c1834c244019b4a33095a68000d7075df470", size = 193123, upload-time = "2025-07-26T12:01:19.848Z" }, + { url = "https://files.pythonhosted.org/packages/be/45/adfee365d9ea3d853550b2e735f9d66366701c65db7855cd07621732ccfc/contourpy-1.3.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:b08a32ea2f8e42cf1d4be3169a98dd4be32bafe4f22b6c4cb4ba810fa9e5d2cb", size = 293419, upload-time = "2025-07-26T12:01:21.16Z" }, + { url = "https://files.pythonhosted.org/packages/53/3e/405b59cfa13021a56bba395a6b3aca8cec012b45bf177b0eaf7a202cde2c/contourpy-1.3.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:556dba8fb6f5d8742f2923fe9457dbdd51e1049c4a43fd3986a0b14a1d815fc6", size = 273979, upload-time = "2025-07-26T12:01:22.448Z" }, + { url = "https://files.pythonhosted.org/packages/d4/1c/a12359b9b2ca3a845e8f7f9ac08bdf776114eb931392fcad91743e2ea17b/contourpy-1.3.3-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:92d9abc807cf7d0e047b95ca5d957cf4792fcd04e920ca70d48add15c1a90ea7", size = 332653, upload-time = "2025-07-26T12:01:24.155Z" }, + { url = "https://files.pythonhosted.org/packages/63/12/897aeebfb475b7748ea67b61e045accdfcf0d971f8a588b67108ed7f5512/contourpy-1.3.3-cp312-cp312-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:b2e8faa0ed68cb29af51edd8e24798bb661eac3bd9f65420c1887b6ca89987c8", size = 379536, upload-time = "2025-07-26T12:01:25.91Z" }, + { url = "https://files.pythonhosted.org/packages/43/8a/a8c584b82deb248930ce069e71576fc09bd7174bbd35183b7943fb1064fd/contourpy-1.3.3-cp312-cp312-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:626d60935cf668e70a5ce6ff184fd713e9683fb458898e4249b63be9e28286ea", size = 384397, upload-time = "2025-07-26T12:01:27.152Z" }, + { url = "https://files.pythonhosted.org/packages/cc/8f/ec6289987824b29529d0dfda0d74a07cec60e54b9c92f3c9da4c0ac732de/contourpy-1.3.3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4d00e655fcef08aba35ec9610536bfe90267d7ab5ba944f7032549c55a146da1", size = 362601, upload-time = "2025-07-26T12:01:28.808Z" }, + { url = "https://files.pythonhosted.org/packages/05/0a/a3fe3be3ee2dceb3e615ebb4df97ae6f3828aa915d3e10549ce016302bd1/contourpy-1.3.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:451e71b5a7d597379ef572de31eeb909a87246974d960049a9848c3bc6c41bf7", size = 1331288, upload-time = "2025-07-26T12:01:31.198Z" }, + { url = "https://files.pythonhosted.org/packages/33/1d/acad9bd4e97f13f3e2b18a3977fe1b4a37ecf3d38d815333980c6c72e963/contourpy-1.3.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:459c1f020cd59fcfe6650180678a9993932d80d44ccde1fa1868977438f0b411", size = 1403386, upload-time = "2025-07-26T12:01:33.947Z" }, + { url = "https://files.pythonhosted.org/packages/cf/8f/5847f44a7fddf859704217a99a23a4f6417b10e5ab1256a179264561540e/contourpy-1.3.3-cp312-cp312-win32.whl", hash = "sha256:023b44101dfe49d7d53932be418477dba359649246075c996866106da069af69", size = 185018, upload-time = "2025-07-26T12:01:35.64Z" }, + { url = "https://files.pythonhosted.org/packages/19/e8/6026ed58a64563186a9ee3f29f41261fd1828f527dd93d33b60feca63352/contourpy-1.3.3-cp312-cp312-win_amd64.whl", hash = "sha256:8153b8bfc11e1e4d75bcb0bff1db232f9e10b274e0929de9d608027e0d34ff8b", size = 226567, upload-time = "2025-07-26T12:01:36.804Z" }, + { url = "https://files.pythonhosted.org/packages/d1/e2/f05240d2c39a1ed228d8328a78b6f44cd695f7ef47beb3e684cf93604f86/contourpy-1.3.3-cp312-cp312-win_arm64.whl", hash = "sha256:07ce5ed73ecdc4a03ffe3e1b3e3c1166db35ae7584be76f65dbbe28a7791b0cc", size = 193655, upload-time = "2025-07-26T12:01:37.999Z" }, + { url = "https://files.pythonhosted.org/packages/68/35/0167aad910bbdb9599272bd96d01a9ec6852f36b9455cf2ca67bd4cc2d23/contourpy-1.3.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:177fb367556747a686509d6fef71d221a4b198a3905fe824430e5ea0fda54eb5", size = 293257, upload-time = "2025-07-26T12:01:39.367Z" }, + { url = "https://files.pythonhosted.org/packages/96/e4/7adcd9c8362745b2210728f209bfbcf7d91ba868a2c5f40d8b58f54c509b/contourpy-1.3.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:d002b6f00d73d69333dac9d0b8d5e84d9724ff9ef044fd63c5986e62b7c9e1b1", size = 274034, upload-time = "2025-07-26T12:01:40.645Z" }, + { url = "https://files.pythonhosted.org/packages/73/23/90e31ceeed1de63058a02cb04b12f2de4b40e3bef5e082a7c18d9c8ae281/contourpy-1.3.3-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:348ac1f5d4f1d66d3322420f01d42e43122f43616e0f194fc1c9f5d830c5b286", size = 334672, upload-time = "2025-07-26T12:01:41.942Z" }, + { url = "https://files.pythonhosted.org/packages/ed/93/b43d8acbe67392e659e1d984700e79eb67e2acb2bd7f62012b583a7f1b55/contourpy-1.3.3-cp313-cp313-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:655456777ff65c2c548b7c454af9c6f33f16c8884f11083244b5819cc214f1b5", size = 381234, upload-time = "2025-07-26T12:01:43.499Z" }, + { url = "https://files.pythonhosted.org/packages/46/3b/bec82a3ea06f66711520f75a40c8fc0b113b2a75edb36aa633eb11c4f50f/contourpy-1.3.3-cp313-cp313-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:644a6853d15b2512d67881586bd03f462c7ab755db95f16f14d7e238f2852c67", size = 385169, upload-time = "2025-07-26T12:01:45.219Z" }, + { url = "https://files.pythonhosted.org/packages/4b/32/e0f13a1c5b0f8572d0ec6ae2f6c677b7991fafd95da523159c19eff0696a/contourpy-1.3.3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4debd64f124ca62069f313a9cb86656ff087786016d76927ae2cf37846b006c9", size = 362859, upload-time = "2025-07-26T12:01:46.519Z" }, + { url = "https://files.pythonhosted.org/packages/33/71/e2a7945b7de4e58af42d708a219f3b2f4cff7386e6b6ab0a0fa0033c49a9/contourpy-1.3.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a15459b0f4615b00bbd1e91f1b9e19b7e63aea7483d03d804186f278c0af2659", size = 1332062, upload-time = "2025-07-26T12:01:48.964Z" }, + { url = "https://files.pythonhosted.org/packages/12/fc/4e87ac754220ccc0e807284f88e943d6d43b43843614f0a8afa469801db0/contourpy-1.3.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ca0fdcd73925568ca027e0b17ab07aad764be4706d0a925b89227e447d9737b7", size = 1403932, upload-time = "2025-07-26T12:01:51.979Z" }, + { url = "https://files.pythonhosted.org/packages/a6/2e/adc197a37443f934594112222ac1aa7dc9a98faf9c3842884df9a9d8751d/contourpy-1.3.3-cp313-cp313-win32.whl", hash = "sha256:b20c7c9a3bf701366556e1b1984ed2d0cedf999903c51311417cf5f591d8c78d", size = 185024, upload-time = "2025-07-26T12:01:53.245Z" }, + { url = "https://files.pythonhosted.org/packages/18/0b/0098c214843213759692cc638fce7de5c289200a830e5035d1791d7a2338/contourpy-1.3.3-cp313-cp313-win_amd64.whl", hash = "sha256:1cadd8b8969f060ba45ed7c1b714fe69185812ab43bd6b86a9123fe8f99c3263", size = 226578, upload-time = "2025-07-26T12:01:54.422Z" }, + { url = "https://files.pythonhosted.org/packages/8a/9a/2f6024a0c5995243cd63afdeb3651c984f0d2bc727fd98066d40e141ad73/contourpy-1.3.3-cp313-cp313-win_arm64.whl", hash = "sha256:fd914713266421b7536de2bfa8181aa8c699432b6763a0ea64195ebe28bff6a9", size = 193524, upload-time = "2025-07-26T12:01:55.73Z" }, + { url = "https://files.pythonhosted.org/packages/c0/b3/f8a1a86bd3298513f500e5b1f5fd92b69896449f6cab6a146a5d52715479/contourpy-1.3.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:88df9880d507169449d434c293467418b9f6cbe82edd19284aa0409e7fdb933d", size = 306730, upload-time = "2025-07-26T12:01:57.051Z" }, + { url = "https://files.pythonhosted.org/packages/3f/11/4780db94ae62fc0c2053909b65dc3246bd7cecfc4f8a20d957ad43aa4ad8/contourpy-1.3.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:d06bb1f751ba5d417047db62bca3c8fde202b8c11fb50742ab3ab962c81e8216", size = 287897, upload-time = "2025-07-26T12:01:58.663Z" }, + { url = "https://files.pythonhosted.org/packages/ae/15/e59f5f3ffdd6f3d4daa3e47114c53daabcb18574a26c21f03dc9e4e42ff0/contourpy-1.3.3-cp313-cp313t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e4e6b05a45525357e382909a4c1600444e2a45b4795163d3b22669285591c1ae", size = 326751, upload-time = "2025-07-26T12:02:00.343Z" }, + { url = "https://files.pythonhosted.org/packages/0f/81/03b45cfad088e4770b1dcf72ea78d3802d04200009fb364d18a493857210/contourpy-1.3.3-cp313-cp313t-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:ab3074b48c4e2cf1a960e6bbeb7f04566bf36b1861d5c9d4d8ac04b82e38ba20", size = 375486, upload-time = "2025-07-26T12:02:02.128Z" }, + { url = "https://files.pythonhosted.org/packages/0c/ba/49923366492ffbdd4486e970d421b289a670ae8cf539c1ea9a09822b371a/contourpy-1.3.3-cp313-cp313t-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:6c3d53c796f8647d6deb1abe867daeb66dcc8a97e8455efa729516b997b8ed99", size = 388106, upload-time = "2025-07-26T12:02:03.615Z" }, + { url = "https://files.pythonhosted.org/packages/9f/52/5b00ea89525f8f143651f9f03a0df371d3cbd2fccd21ca9b768c7a6500c2/contourpy-1.3.3-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:50ed930df7289ff2a8d7afeb9603f8289e5704755c7e5c3bbd929c90c817164b", size = 352548, upload-time = "2025-07-26T12:02:05.165Z" }, + { url = "https://files.pythonhosted.org/packages/32/1d/a209ec1a3a3452d490f6b14dd92e72280c99ae3d1e73da74f8277d4ee08f/contourpy-1.3.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:4feffb6537d64b84877da813a5c30f1422ea5739566abf0bd18065ac040e120a", size = 1322297, upload-time = "2025-07-26T12:02:07.379Z" }, + { url = "https://files.pythonhosted.org/packages/bc/9e/46f0e8ebdd884ca0e8877e46a3f4e633f6c9c8c4f3f6e72be3fe075994aa/contourpy-1.3.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:2b7e9480ffe2b0cd2e787e4df64270e3a0440d9db8dc823312e2c940c167df7e", size = 1391023, upload-time = "2025-07-26T12:02:10.171Z" }, + { url = "https://files.pythonhosted.org/packages/b9/70/f308384a3ae9cd2209e0849f33c913f658d3326900d0ff5d378d6a1422d2/contourpy-1.3.3-cp313-cp313t-win32.whl", hash = "sha256:283edd842a01e3dcd435b1c5116798d661378d83d36d337b8dde1d16a5fc9ba3", size = 196157, upload-time = "2025-07-26T12:02:11.488Z" }, + { url = "https://files.pythonhosted.org/packages/b2/dd/880f890a6663b84d9e34a6f88cded89d78f0091e0045a284427cb6b18521/contourpy-1.3.3-cp313-cp313t-win_amd64.whl", hash = "sha256:87acf5963fc2b34825e5b6b048f40e3635dd547f590b04d2ab317c2619ef7ae8", size = 240570, upload-time = "2025-07-26T12:02:12.754Z" }, + { url = "https://files.pythonhosted.org/packages/80/99/2adc7d8ffead633234817ef8e9a87115c8a11927a94478f6bb3d3f4d4f7d/contourpy-1.3.3-cp313-cp313t-win_arm64.whl", hash = "sha256:3c30273eb2a55024ff31ba7d052dde990d7d8e5450f4bbb6e913558b3d6c2301", size = 199713, upload-time = "2025-07-26T12:02:14.4Z" }, + { url = "https://files.pythonhosted.org/packages/a5/29/8dcfe16f0107943fa92388c23f6e05cff0ba58058c4c95b00280d4c75a14/contourpy-1.3.3-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:cd5dfcaeb10f7b7f9dc8941717c6c2ade08f587be2226222c12b25f0483ed497", size = 278809, upload-time = "2025-07-26T12:02:52.74Z" }, + { url = "https://files.pythonhosted.org/packages/85/a9/8b37ef4f7dafeb335daee3c8254645ef5725be4d9c6aa70b50ec46ef2f7e/contourpy-1.3.3-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:0c1fc238306b35f246d61a1d416a627348b5cf0648648a031e14bb8705fcdfe8", size = 261593, upload-time = "2025-07-26T12:02:54.037Z" }, + { url = "https://files.pythonhosted.org/packages/0a/59/ebfb8c677c75605cc27f7122c90313fd2f375ff3c8d19a1694bda74aaa63/contourpy-1.3.3-pp311-pypy311_pp73-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:70f9aad7de812d6541d29d2bbf8feb22ff7e1c299523db288004e3157ff4674e", size = 302202, upload-time = "2025-07-26T12:02:55.947Z" }, + { url = "https://files.pythonhosted.org/packages/3c/37/21972a15834d90bfbfb009b9d004779bd5a07a0ec0234e5ba8f64d5736f4/contourpy-1.3.3-pp311-pypy311_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5ed3657edf08512fc3fe81b510e35c2012fbd3081d2e26160f27ca28affec989", size = 329207, upload-time = "2025-07-26T12:02:57.468Z" }, + { url = "https://files.pythonhosted.org/packages/0c/58/bd257695f39d05594ca4ad60df5bcb7e32247f9951fd09a9b8edb82d1daa/contourpy-1.3.3-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:3d1a3799d62d45c18bafd41c5fa05120b96a28079f2393af559b843d1a966a77", size = 225315, upload-time = "2025-07-26T12:02:58.801Z" }, +] + +[[package]] +name = "coverage" +version = "7.10.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/87/0e/66dbd4c6a7f0758a8d18044c048779ba21fb94856e1edcf764bd5403e710/coverage-7.10.1.tar.gz", hash = "sha256:ae2b4856f29ddfe827106794f3589949a57da6f0d38ab01e24ec35107979ba57", size = 819938, upload-time = "2025-07-27T14:13:39.045Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ef/e7/0f4e35a15361337529df88151bddcac8e8f6d6fd01da94a4b7588901c2fe/coverage-7.10.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:1c86eb388bbd609d15560e7cc0eb936c102b6f43f31cf3e58b4fd9afe28e1372", size = 214627, upload-time = "2025-07-27T14:11:01.211Z" }, + { url = "https://files.pythonhosted.org/packages/e0/fd/17872e762c408362072c936dbf3ca28c67c609a1f5af434b1355edcb7e12/coverage-7.10.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6b4ba0f488c1bdb6bd9ba81da50715a372119785458831c73428a8566253b86b", size = 215015, upload-time = "2025-07-27T14:11:03.988Z" }, + { url = "https://files.pythonhosted.org/packages/54/50/c9d445ba38ee5f685f03876c0f8223469e2e46c5d3599594dca972b470c8/coverage-7.10.1-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:083442ecf97d434f0cb3b3e3676584443182653da08b42e965326ba12d6b5f2a", size = 241995, upload-time = "2025-07-27T14:11:05.983Z" }, + { url = "https://files.pythonhosted.org/packages/cc/83/4ae6e0f60376af33de543368394d21b9ac370dc86434039062ef171eebf8/coverage-7.10.1-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:c1a40c486041006b135759f59189385da7c66d239bad897c994e18fd1d0c128f", size = 243253, upload-time = "2025-07-27T14:11:07.424Z" }, + { url = "https://files.pythonhosted.org/packages/49/90/17a4d9ac7171be364ce8c0bb2b6da05e618ebfe1f11238ad4f26c99f5467/coverage-7.10.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3beb76e20b28046989300c4ea81bf690df84ee98ade4dc0bbbf774a28eb98440", size = 245110, upload-time = "2025-07-27T14:11:09.152Z" }, + { url = "https://files.pythonhosted.org/packages/e1/f7/edc3f485d536ed417f3af2b4969582bcb5fab456241721825fa09354161e/coverage-7.10.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:bc265a7945e8d08da28999ad02b544963f813a00f3ed0a7a0ce4165fd77629f8", size = 243056, upload-time = "2025-07-27T14:11:10.586Z" }, + { url = "https://files.pythonhosted.org/packages/58/2c/c4c316a57718556b8d0cc8304437741c31b54a62934e7c8c551a7915c2f4/coverage-7.10.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:47c91f32ba4ac46f1e224a7ebf3f98b4b24335bad16137737fe71a5961a0665c", size = 241731, upload-time = "2025-07-27T14:11:12.145Z" }, + { url = "https://files.pythonhosted.org/packages/f7/93/c78e144c6f086043d0d7d9237c5b880e71ac672ed2712c6f8cca5544481f/coverage-7.10.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:1a108dd78ed185020f66f131c60078f3fae3f61646c28c8bb4edd3fa121fc7fc", size = 242023, upload-time = "2025-07-27T14:11:13.573Z" }, + { url = "https://files.pythonhosted.org/packages/8f/e1/34e8505ca81fc144a612e1cc79fadd4a78f42e96723875f4e9f1f470437e/coverage-7.10.1-cp310-cp310-win32.whl", hash = "sha256:7092cc82382e634075cc0255b0b69cb7cada7c1f249070ace6a95cb0f13548ef", size = 217130, upload-time = "2025-07-27T14:11:15.11Z" }, + { url = "https://files.pythonhosted.org/packages/75/2b/82adfce6edffc13d804aee414e64c0469044234af9296e75f6d13f92f6a2/coverage-7.10.1-cp310-cp310-win_amd64.whl", hash = "sha256:ac0c5bba938879c2fc0bc6c1b47311b5ad1212a9dcb8b40fe2c8110239b7faed", size = 218015, upload-time = "2025-07-27T14:11:16.836Z" }, + { url = "https://files.pythonhosted.org/packages/20/8e/ef088112bd1b26e2aa931ee186992b3e42c222c64f33e381432c8ee52aae/coverage-7.10.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b45e2f9d5b0b5c1977cb4feb5f594be60eb121106f8900348e29331f553a726f", size = 214747, upload-time = "2025-07-27T14:11:18.217Z" }, + { url = "https://files.pythonhosted.org/packages/2d/76/a1e46f3c6e0897758eb43af88bb3c763cb005f4950769f7b553e22aa5f89/coverage-7.10.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3a7a4d74cb0f5e3334f9aa26af7016ddb94fb4bfa11b4a573d8e98ecba8c34f1", size = 215128, upload-time = "2025-07-27T14:11:19.706Z" }, + { url = "https://files.pythonhosted.org/packages/78/4d/903bafb371a8c887826ecc30d3977b65dfad0e1e66aa61b7e173de0828b0/coverage-7.10.1-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:d4b0aab55ad60ead26159ff12b538c85fbab731a5e3411c642b46c3525863437", size = 245140, upload-time = "2025-07-27T14:11:21.261Z" }, + { url = "https://files.pythonhosted.org/packages/55/f1/1f8f09536f38394a8698dd08a0e9608a512eacee1d3b771e2d06397f77bf/coverage-7.10.1-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:dcc93488c9ebd229be6ee1f0d9aad90da97b33ad7e2912f5495804d78a3cd6b7", size = 246977, upload-time = "2025-07-27T14:11:23.15Z" }, + { url = "https://files.pythonhosted.org/packages/57/cc/ed6bbc5a3bdb36ae1bca900bbbfdcb23b260ef2767a7b2dab38b92f61adf/coverage-7.10.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:aa309df995d020f3438407081b51ff527171cca6772b33cf8f85344b8b4b8770", size = 249140, upload-time = "2025-07-27T14:11:24.743Z" }, + { url = "https://files.pythonhosted.org/packages/10/f5/e881ade2d8e291b60fa1d93d6d736107e940144d80d21a0d4999cff3642f/coverage-7.10.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:cfb8b9d8855c8608f9747602a48ab525b1d320ecf0113994f6df23160af68262", size = 246869, upload-time = "2025-07-27T14:11:26.156Z" }, + { url = "https://files.pythonhosted.org/packages/53/b9/6a5665cb8996e3cd341d184bb11e2a8edf01d8dadcf44eb1e742186cf243/coverage-7.10.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:320d86da829b012982b414c7cdda65f5d358d63f764e0e4e54b33097646f39a3", size = 244899, upload-time = "2025-07-27T14:11:27.622Z" }, + { url = "https://files.pythonhosted.org/packages/27/11/24156776709c4e25bf8a33d6bb2ece9a9067186ddac19990f6560a7f8130/coverage-7.10.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:dc60ddd483c556590da1d9482a4518292eec36dd0e1e8496966759a1f282bcd0", size = 245507, upload-time = "2025-07-27T14:11:29.544Z" }, + { url = "https://files.pythonhosted.org/packages/43/db/a6f0340b7d6802a79928659c9a32bc778ea420e87a61b568d68ac36d45a8/coverage-7.10.1-cp311-cp311-win32.whl", hash = "sha256:4fcfe294f95b44e4754da5b58be750396f2b1caca8f9a0e78588e3ef85f8b8be", size = 217167, upload-time = "2025-07-27T14:11:31.349Z" }, + { url = "https://files.pythonhosted.org/packages/f5/6f/1990eb4fd05cea4cfabdf1d587a997ac5f9a8bee883443a1d519a2a848c9/coverage-7.10.1-cp311-cp311-win_amd64.whl", hash = "sha256:efa23166da3fe2915f8ab452dde40319ac84dc357f635737174a08dbd912980c", size = 218054, upload-time = "2025-07-27T14:11:33.202Z" }, + { url = "https://files.pythonhosted.org/packages/b4/4d/5e061d6020251b20e9b4303bb0b7900083a1a384ec4e5db326336c1c4abd/coverage-7.10.1-cp311-cp311-win_arm64.whl", hash = "sha256:d12b15a8c3759e2bb580ffa423ae54be4f184cf23beffcbd641f4fe6e1584293", size = 216483, upload-time = "2025-07-27T14:11:34.663Z" }, + { url = "https://files.pythonhosted.org/packages/a5/3f/b051feeb292400bd22d071fdf933b3ad389a8cef5c80c7866ed0c7414b9e/coverage-7.10.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:6b7dc7f0a75a7eaa4584e5843c873c561b12602439d2351ee28c7478186c4da4", size = 214934, upload-time = "2025-07-27T14:11:36.096Z" }, + { url = "https://files.pythonhosted.org/packages/f8/e4/a61b27d5c4c2d185bdfb0bfe9d15ab4ac4f0073032665544507429ae60eb/coverage-7.10.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:607f82389f0ecafc565813aa201a5cade04f897603750028dd660fb01797265e", size = 215173, upload-time = "2025-07-27T14:11:38.005Z" }, + { url = "https://files.pythonhosted.org/packages/8a/01/40a6ee05b60d02d0bc53742ad4966e39dccd450aafb48c535a64390a3552/coverage-7.10.1-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:f7da31a1ba31f1c1d4d5044b7c5813878adae1f3af8f4052d679cc493c7328f4", size = 246190, upload-time = "2025-07-27T14:11:39.887Z" }, + { url = "https://files.pythonhosted.org/packages/11/ef/a28d64d702eb583c377255047281305dc5a5cfbfb0ee36e721f78255adb6/coverage-7.10.1-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:51fe93f3fe4f5d8483d51072fddc65e717a175490804e1942c975a68e04bf97a", size = 248618, upload-time = "2025-07-27T14:11:41.841Z" }, + { url = "https://files.pythonhosted.org/packages/6a/ad/73d018bb0c8317725370c79d69b5c6e0257df84a3b9b781bda27a438a3be/coverage-7.10.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3e59d00830da411a1feef6ac828b90bbf74c9b6a8e87b8ca37964925bba76dbe", size = 250081, upload-time = "2025-07-27T14:11:43.705Z" }, + { url = "https://files.pythonhosted.org/packages/2d/dd/496adfbbb4503ebca5d5b2de8bed5ec00c0a76558ffc5b834fd404166bc9/coverage-7.10.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:924563481c27941229cb4e16eefacc35da28563e80791b3ddc5597b062a5c386", size = 247990, upload-time = "2025-07-27T14:11:45.244Z" }, + { url = "https://files.pythonhosted.org/packages/18/3c/a9331a7982facfac0d98a4a87b36ae666fe4257d0f00961a3a9ef73e015d/coverage-7.10.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:ca79146ee421b259f8131f153102220b84d1a5e6fb9c8aed13b3badfd1796de6", size = 246191, upload-time = "2025-07-27T14:11:47.093Z" }, + { url = "https://files.pythonhosted.org/packages/62/0c/75345895013b83f7afe92ec595e15a9a525ede17491677ceebb2ba5c3d85/coverage-7.10.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:2b225a06d227f23f386fdc0eab471506d9e644be699424814acc7d114595495f", size = 247400, upload-time = "2025-07-27T14:11:48.643Z" }, + { url = "https://files.pythonhosted.org/packages/e2/a9/98b268cfc5619ef9df1d5d34fee408ecb1542d9fd43d467e5c2f28668cd4/coverage-7.10.1-cp312-cp312-win32.whl", hash = "sha256:5ba9a8770effec5baaaab1567be916c87d8eea0c9ad11253722d86874d885eca", size = 217338, upload-time = "2025-07-27T14:11:50.258Z" }, + { url = "https://files.pythonhosted.org/packages/fe/31/22a5440e4d1451f253c5cd69fdcead65e92ef08cd4ec237b8756dc0b20a7/coverage-7.10.1-cp312-cp312-win_amd64.whl", hash = "sha256:9eb245a8d8dd0ad73b4062135a251ec55086fbc2c42e0eb9725a9b553fba18a3", size = 218125, upload-time = "2025-07-27T14:11:52.034Z" }, + { url = "https://files.pythonhosted.org/packages/d6/2b/40d9f0ce7ee839f08a43c5bfc9d05cec28aaa7c9785837247f96cbe490b9/coverage-7.10.1-cp312-cp312-win_arm64.whl", hash = "sha256:7718060dd4434cc719803a5e526838a5d66e4efa5dc46d2b25c21965a9c6fcc4", size = 216523, upload-time = "2025-07-27T14:11:53.965Z" }, + { url = "https://files.pythonhosted.org/packages/ef/72/135ff5fef09b1ffe78dbe6fcf1e16b2e564cd35faeacf3d63d60d887f12d/coverage-7.10.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:ebb08d0867c5a25dffa4823377292a0ffd7aaafb218b5d4e2e106378b1061e39", size = 214960, upload-time = "2025-07-27T14:11:55.959Z" }, + { url = "https://files.pythonhosted.org/packages/b1/aa/73a5d1a6fc08ca709a8177825616aa95ee6bf34d522517c2595484a3e6c9/coverage-7.10.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f32a95a83c2e17422f67af922a89422cd24c6fa94041f083dd0bb4f6057d0bc7", size = 215220, upload-time = "2025-07-27T14:11:57.899Z" }, + { url = "https://files.pythonhosted.org/packages/8d/40/3124fdd45ed3772a42fc73ca41c091699b38a2c3bd4f9cb564162378e8b6/coverage-7.10.1-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:c4c746d11c8aba4b9f58ca8bfc6fbfd0da4efe7960ae5540d1a1b13655ee8892", size = 245772, upload-time = "2025-07-27T14:12:00.422Z" }, + { url = "https://files.pythonhosted.org/packages/42/62/a77b254822efa8c12ad59e8039f2bc3df56dc162ebda55e1943e35ba31a5/coverage-7.10.1-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:7f39edd52c23e5c7ed94e0e4bf088928029edf86ef10b95413e5ea670c5e92d7", size = 248116, upload-time = "2025-07-27T14:12:03.099Z" }, + { url = "https://files.pythonhosted.org/packages/1d/01/8101f062f472a3a6205b458d18ef0444a63ae5d36a8a5ed5dd0f6167f4db/coverage-7.10.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ab6e19b684981d0cd968906e293d5628e89faacb27977c92f3600b201926b994", size = 249554, upload-time = "2025-07-27T14:12:04.668Z" }, + { url = "https://files.pythonhosted.org/packages/8f/7b/e51bc61573e71ff7275a4f167aecbd16cb010aefdf54bcd8b0a133391263/coverage-7.10.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:5121d8cf0eacb16133501455d216bb5f99899ae2f52d394fe45d59229e6611d0", size = 247766, upload-time = "2025-07-27T14:12:06.234Z" }, + { url = "https://files.pythonhosted.org/packages/4b/71/1c96d66a51d4204a9d6d12df53c4071d87e110941a2a1fe94693192262f5/coverage-7.10.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:df1c742ca6f46a6f6cbcaef9ac694dc2cb1260d30a6a2f5c68c5f5bcfee1cfd7", size = 245735, upload-time = "2025-07-27T14:12:08.305Z" }, + { url = "https://files.pythonhosted.org/packages/13/d5/efbc2ac4d35ae2f22ef6df2ca084c60e13bd9378be68655e3268c80349ab/coverage-7.10.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:40f9a38676f9c073bf4b9194707aa1eb97dca0e22cc3766d83879d72500132c7", size = 247118, upload-time = "2025-07-27T14:12:09.903Z" }, + { url = "https://files.pythonhosted.org/packages/d1/22/073848352bec28ca65f2b6816b892fcf9a31abbef07b868487ad15dd55f1/coverage-7.10.1-cp313-cp313-win32.whl", hash = "sha256:2348631f049e884839553b9974f0821d39241c6ffb01a418efce434f7eba0fe7", size = 217381, upload-time = "2025-07-27T14:12:11.535Z" }, + { url = "https://files.pythonhosted.org/packages/b7/df/df6a0ff33b042f000089bd11b6bb034bab073e2ab64a56e78ed882cba55d/coverage-7.10.1-cp313-cp313-win_amd64.whl", hash = "sha256:4072b31361b0d6d23f750c524f694e1a417c1220a30d3ef02741eed28520c48e", size = 218152, upload-time = "2025-07-27T14:12:13.182Z" }, + { url = "https://files.pythonhosted.org/packages/30/e3/5085ca849a40ed6b47cdb8f65471c2f754e19390b5a12fa8abd25cbfaa8f/coverage-7.10.1-cp313-cp313-win_arm64.whl", hash = "sha256:3e31dfb8271937cab9425f19259b1b1d1f556790e98eb266009e7a61d337b6d4", size = 216559, upload-time = "2025-07-27T14:12:14.807Z" }, + { url = "https://files.pythonhosted.org/packages/cc/93/58714efbfdeb547909feaabe1d67b2bdd59f0597060271b9c548d5efb529/coverage-7.10.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:1c4f679c6b573a5257af6012f167a45be4c749c9925fd44d5178fd641ad8bf72", size = 215677, upload-time = "2025-07-27T14:12:16.68Z" }, + { url = "https://files.pythonhosted.org/packages/c0/0c/18eaa5897e7e8cb3f8c45e563e23e8a85686b4585e29d53cacb6bc9cb340/coverage-7.10.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:871ebe8143da284bd77b84a9136200bd638be253618765d21a1fce71006d94af", size = 215899, upload-time = "2025-07-27T14:12:18.758Z" }, + { url = "https://files.pythonhosted.org/packages/84/c1/9d1affacc3c75b5a184c140377701bbf14fc94619367f07a269cd9e4fed6/coverage-7.10.1-cp313-cp313t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:998c4751dabf7d29b30594af416e4bf5091f11f92a8d88eb1512c7ba136d1ed7", size = 257140, upload-time = "2025-07-27T14:12:20.357Z" }, + { url = "https://files.pythonhosted.org/packages/3d/0f/339bc6b8fa968c346df346068cca1f24bdea2ddfa93bb3dc2e7749730962/coverage-7.10.1-cp313-cp313t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:780f750a25e7749d0af6b3631759c2c14f45de209f3faaa2398312d1c7a22759", size = 259005, upload-time = "2025-07-27T14:12:22.007Z" }, + { url = "https://files.pythonhosted.org/packages/c8/22/89390864b92ea7c909079939b71baba7e5b42a76bf327c1d615bd829ba57/coverage-7.10.1-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:590bdba9445df4763bdbebc928d8182f094c1f3947a8dc0fc82ef014dbdd8324", size = 261143, upload-time = "2025-07-27T14:12:23.746Z" }, + { url = "https://files.pythonhosted.org/packages/2c/56/3d04d89017c0c41c7a71bd69b29699d919b6bbf2649b8b2091240b97dd6a/coverage-7.10.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:9b2df80cb6a2af86d300e70acb82e9b79dab2c1e6971e44b78dbfc1a1e736b53", size = 258735, upload-time = "2025-07-27T14:12:25.73Z" }, + { url = "https://files.pythonhosted.org/packages/cb/40/312252c8afa5ca781063a09d931f4b9409dc91526cd0b5a2b84143ffafa2/coverage-7.10.1-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:d6a558c2725bfb6337bf57c1cd366c13798bfd3bfc9e3dd1f4a6f6fc95a4605f", size = 256871, upload-time = "2025-07-27T14:12:27.767Z" }, + { url = "https://files.pythonhosted.org/packages/1f/2b/564947d5dede068215aaddb9e05638aeac079685101462218229ddea9113/coverage-7.10.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:e6150d167f32f2a54690e572e0a4c90296fb000a18e9b26ab81a6489e24e78dd", size = 257692, upload-time = "2025-07-27T14:12:29.347Z" }, + { url = "https://files.pythonhosted.org/packages/93/1b/c8a867ade85cb26d802aea2209b9c2c80613b9c122baa8c8ecea6799648f/coverage-7.10.1-cp313-cp313t-win32.whl", hash = "sha256:d946a0c067aa88be4a593aad1236493313bafaa27e2a2080bfe88db827972f3c", size = 218059, upload-time = "2025-07-27T14:12:31.076Z" }, + { url = "https://files.pythonhosted.org/packages/a1/fe/cd4ab40570ae83a516bf5e754ea4388aeedd48e660e40c50b7713ed4f930/coverage-7.10.1-cp313-cp313t-win_amd64.whl", hash = "sha256:e37c72eaccdd5ed1130c67a92ad38f5b2af66eeff7b0abe29534225db2ef7b18", size = 219150, upload-time = "2025-07-27T14:12:32.746Z" }, + { url = "https://files.pythonhosted.org/packages/8d/16/6e5ed5854be6d70d0c39e9cb9dd2449f2c8c34455534c32c1a508c7dbdb5/coverage-7.10.1-cp313-cp313t-win_arm64.whl", hash = "sha256:89ec0ffc215c590c732918c95cd02b55c7d0f569d76b90bb1a5e78aa340618e4", size = 217014, upload-time = "2025-07-27T14:12:34.406Z" }, + { url = "https://files.pythonhosted.org/packages/0f/64/922899cff2c0fd3496be83fa8b81230f5a8d82a2ad30f98370b133c2c83b/coverage-7.10.1-py3-none-any.whl", hash = "sha256:fa2a258aa6bf188eb9a8948f7102a83da7c430a0dce918dbd8b60ef8fcb772d7", size = 206597, upload-time = "2025-07-27T14:13:37.221Z" }, ] [package.optional-dependencies] @@ -1600,11 +1681,11 @@ wheels = [ [[package]] name = "docutils" -version = "0.21.2" +version = "0.22" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/ae/ed/aefcc8cd0ba62a0560c3c18c33925362d46c6075480bfa4df87b28e169a9/docutils-0.21.2.tar.gz", hash = "sha256:3a6b18732edf182daa3cd12775bbb338cf5691468f91eeeb109deff6ebfa986f", size = 2204444, upload-time = "2024-04-23T18:57:18.24Z" } +sdist = { url = "https://files.pythonhosted.org/packages/e9/86/5b41c32ecedcfdb4c77b28b6cb14234f252075f8cdb254531727a35547dd/docutils-0.22.tar.gz", hash = "sha256:ba9d57750e92331ebe7c08a1bbf7a7f8143b86c476acd51528b042216a6aad0f", size = 2277984, upload-time = "2025-07-29T15:20:31.06Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/8f/d7/9322c609343d929e75e7e5e6255e614fcc67572cfd083959cdef3b7aad79/docutils-0.21.2-py3-none-any.whl", hash = "sha256:dafca5b9e384f0e419294eb4d2ff9fa826435bf15f15b7bd45723e8ad76811b2", size = 587408, upload-time = "2024-04-23T18:57:14.835Z" }, + { url = "https://files.pythonhosted.org/packages/44/57/8db39bc5f98f042e0153b1de9fb88e1a409a33cda4dd7f723c2ed71e01f6/docutils-0.22-py3-none-any.whl", hash = "sha256:4ed966a0e96a0477d852f7af31bdcb3adc049fbb35ccba358c2ea8a03287615e", size = 630709, upload-time = "2025-07-29T15:20:28.335Z" }, ] [[package]] @@ -1771,17 +1852,17 @@ name = "fastembed" version = "0.6.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "huggingface-hub", marker = "python_full_version < '3.13'" }, - { name = "loguru", marker = "python_full_version < '3.13'" }, - { name = "mmh3", marker = "python_full_version < '3.13'" }, + { name = "huggingface-hub" }, + { name = "loguru" }, + { name = "mmh3" }, { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, - { name = "numpy", version = "2.3.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11' and python_full_version < '3.13'" }, - { name = "onnxruntime", marker = "python_full_version < '3.13'" }, - { name = "pillow", marker = "python_full_version < '3.13'" }, - { name = "py-rust-stemmers", marker = "python_full_version < '3.13'" }, - { name = "requests", marker = "python_full_version < '3.13'" }, - { name = "tokenizers", marker = "python_full_version < '3.13'" }, - { name = "tqdm", marker = "python_full_version < '3.13'" }, + { name = "numpy", version = "2.3.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "onnxruntime" }, + { name = "pillow" }, + { name = "py-rust-stemmers" }, + { name = "requests" }, + { name = "tokenizers" }, + { name = "tqdm" }, ] sdist = { url = "https://files.pythonhosted.org/packages/c6/f4/036a656c605f63dc25f11284f60f69900a54a19c513e1ae60d21d6977e75/fastembed-0.6.0.tar.gz", hash = "sha256:5c9ead25f23449535b07243bbe1f370b820dcc77ec2931e61674e3fe7ff24733", size = 50731, upload-time = "2025-02-26T13:50:33.031Z" } wheels = [ @@ -2212,14 +2293,14 @@ wheels = [ [[package]] name = "griffe" -version = "1.8.0" +version = "1.9.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "colorama" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/dd/72/10c5799440ce6f3001b7913988b50a99d7b156da71fe19be06178d5a2dd5/griffe-1.8.0.tar.gz", hash = "sha256:0b4658443858465c13b2de07ff5e15a1032bc889cfafad738a476b8b97bb28d7", size = 401098, upload-time = "2025-07-22T23:45:54.629Z" } +sdist = { url = "https://files.pythonhosted.org/packages/2d/42/486d21a6c33ff69a7381511d507b6db7a7b7f4d5bec3279bc0dc45c658a9/griffe-1.9.0.tar.gz", hash = "sha256:b5531cf45e9b73f0842c2121cc4d4bcbb98a55475e191fc9830e7aef87a920a0", size = 409341, upload-time = "2025-07-28T17:45:38.712Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/bf/c4/a839fcc28bebfa72925d9121c4d39398f77f95bcba0cf26c972a0cfb1de7/griffe-1.8.0-py3-none-any.whl", hash = "sha256:110faa744b2c5c84dd432f4fa9aa3b14805dd9519777dd55e8db214320593b02", size = 132487, upload-time = "2025-07-22T23:45:52.778Z" }, + { url = "https://files.pythonhosted.org/packages/e6/65/7b3fcef8c9fb6d1023484d9caf87e78450a5c9cd1e191ce9632990b65284/griffe-1.9.0-py3-none-any.whl", hash = "sha256:bcf90ee3ad42bbae70a2a490c782fc8e443de9b84aa089d857c278a4e23215fc", size = 137060, upload-time = "2025-07-28T17:45:36.973Z" }, ] [[package]] @@ -2504,7 +2585,7 @@ wheels = [ [[package]] name = "huggingface-hub" -version = "0.34.0" +version = "0.34.3" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "filelock" }, @@ -2516,9 +2597,9 @@ dependencies = [ { name = "tqdm" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/15/77/a9e27cdb6a2f8387c7b8f7e6a107458b7b96f156a5a78fab922d0d563df8/huggingface_hub-0.34.0.tar.gz", hash = "sha256:2c6f373fac66b1afc2fe47efd8e603a876935dbd669f966231f265da5c353e25", size = 456749, upload-time = "2025-07-25T08:52:20.745Z" } +sdist = { url = "https://files.pythonhosted.org/packages/91/b4/e6b465eca5386b52cf23cb6df8644ad318a6b0e12b4b96a7e0be09cbfbcc/huggingface_hub-0.34.3.tar.gz", hash = "sha256:d58130fd5aa7408480681475491c0abd7e835442082fbc3ef4d45b6c39f83853", size = 456800, upload-time = "2025-07-29T08:38:53.885Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/b2/ac/2f910d2572360ff2f3c4faf41b6c3e170b8934704be8bab2c7f80ff801e9/huggingface_hub-0.34.0-py3-none-any.whl", hash = "sha256:29737225f21dcc5c6b41bc9ab1073e65f9a2f84ecf9ad0a0c2fb92ae8cee173f", size = 558651, upload-time = "2025-07-25T08:52:18.787Z" }, + { url = "https://files.pythonhosted.org/packages/59/a8/4677014e771ed1591a87b63a2392ce6923baf807193deef302dcfde17542/huggingface_hub-0.34.3-py3-none-any.whl", hash = "sha256:5444550099e2d86e68b2898b09e85878fbd788fc2957b506c6a79ce060e39492", size = 558847, upload-time = "2025-07-29T08:38:51.904Z" }, ] [[package]] @@ -3276,7 +3357,7 @@ wheels = [ [[package]] name = "lancedb" -version = "0.24.1" +version = "0.24.2" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "deprecation" }, @@ -3289,13 +3370,13 @@ dependencies = [ { name = "tqdm" }, ] wheels = [ - { url = "https://files.pythonhosted.org/packages/a2/4a/cbdb6b7a8ca621282c3d9dedae00b372c09b430c69fc0ac149b5b9092b6c/lancedb-0.24.1-cp39-abi3-macosx_10_15_x86_64.whl", hash = "sha256:ae5f028920222ad325521fb447558e274eb92dfd7c189f5875dc3bcc7de07ea6", size = 32792946, upload-time = "2025-07-10T22:21:44.578Z" }, - { url = "https://files.pythonhosted.org/packages/71/90/7c5218b5d81382901680bb365bb55f92fefa28434c049ec6236be73b7ac1/lancedb-0.24.1-cp39-abi3-macosx_11_0_arm64.whl", hash = "sha256:baf1eba0e2a8762753dba466e92792a4a21ec504612125ec1d8edd6c15b17eba", size = 30290214, upload-time = "2025-07-10T22:25:47.422Z" }, - { url = "https://files.pythonhosted.org/packages/e1/01/b184e8f1e94e27b9297778dfde65259a94994138d7d4330334bfdf5756e1/lancedb-0.24.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dc20c56936d8198330a5dee2f1a17dc1f2145a7b48f81bc32193ca16f3907f3b", size = 31147217, upload-time = "2025-07-10T21:55:21.461Z" }, - { url = "https://files.pythonhosted.org/packages/4e/02/7e67ea8e49757e42251df4e665699fe4d0962f336e3d113ebff84f22bee9/lancedb-0.24.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f2509810c743e094d2d900fdc7b0f2bc3cc52a970ecdfb5d404c22b8b8da14cc", size = 34315305, upload-time = "2025-07-10T21:59:31.539Z" }, - { url = "https://files.pythonhosted.org/packages/46/b9/770c17793062dacaf52c5641af706cffca6ef803fbe80422d7948fc4a0cb/lancedb-0.24.1-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:2fbbdf6a6e6189fc3d026677a303a1b7e0bdfe9b690cfee93c586f6b76eb10ba", size = 31157887, upload-time = "2025-07-10T21:55:33.138Z" }, - { url = "https://files.pythonhosted.org/packages/9c/ef/f896a8cabf99bc87e8bdc49df0bd08db09a86e8f333312c15375da21921f/lancedb-0.24.1-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:e8ef48eaa8c6c2093f40cbae4968c1fa9126934022b4d6462c5a019688731597", size = 34354984, upload-time = "2025-07-10T22:00:26.294Z" }, - { url = "https://files.pythonhosted.org/packages/b9/a2/0ab0979ac987313e2dd9b52fddb98eae9cb048e0faebca7a5f9e0a352ea5/lancedb-0.24.1-cp39-abi3-win_amd64.whl", hash = "sha256:091d1757776fd7a0d7adbc5d507f4356e9f479c38a0446009724d8e52d66cbb3", size = 36228285, upload-time = "2025-07-10T22:16:45.817Z" }, + { url = "https://files.pythonhosted.org/packages/49/9b/2613660f837b1e2490b786bb1c96e522f1a493292fc04fe58c92a0d6a895/lancedb-0.24.2-cp39-abi3-macosx_10_15_x86_64.whl", hash = "sha256:925a71f8f865ebd8d3792bbe1d5743bc43ae28263ef33ec4781bee4cc6f18b6a", size = 33273298, upload-time = "2025-07-25T21:19:33.223Z" }, + { url = "https://files.pythonhosted.org/packages/7c/06/98fc4a166721cea4d9dd9c55ed7bcf59772b701c60267cec9d7692f8414e/lancedb-0.24.2-cp39-abi3-macosx_11_0_arm64.whl", hash = "sha256:5894c09b03b833e8480c8921178ebcf917599e05000d4a74990e5f1b9ddd1b6a", size = 30711981, upload-time = "2025-07-25T21:04:40.431Z" }, + { url = "https://files.pythonhosted.org/packages/20/42/420a9bd2349c1c1607f52b353acf9b0af48b2860e15ad333d86c7b68054f/lancedb-0.24.2-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:482f8e0f09ac68f50a511baea420501908adbf749d09bf04af0b27a018260831", size = 31595926, upload-time = "2025-07-25T20:56:51.911Z" }, + { url = "https://files.pythonhosted.org/packages/d9/6c/f315ce4161c38085cce929c1c4e9900ada617ab9c8a95166126cdd67184b/lancedb-0.24.2-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d4a33fb4327880eecc71b9bdc5b4bd722b8fa0f0cbe1cf454b3b0f8521147cd8", size = 34792190, upload-time = "2025-07-25T20:55:13.357Z" }, + { url = "https://files.pythonhosted.org/packages/06/e8/5cb49026bd47947ab8fa78beff241a48bbf7d70d858c825f30f56bfd6803/lancedb-0.24.2-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:cf8473303853fc798f023495d4a4ace3ba95ce816b9da85aad691ec189e7be45", size = 31598038, upload-time = "2025-07-25T20:52:55.751Z" }, + { url = "https://files.pythonhosted.org/packages/42/61/9e19fffa106c32b7cb29600ee5ad8530b536dc6b836b695d807795605fae/lancedb-0.24.2-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:693ce4dfcdbf9d1f0d6b79bac12e089091e2576cd5f1e2a5ba08cdbf635179f2", size = 34829210, upload-time = "2025-07-25T20:55:41.014Z" }, + { url = "https://files.pythonhosted.org/packages/2f/51/242c53238f1a345203ed85910c0b5777aeb0437f3d66f230ba97ede74fe3/lancedb-0.24.2-cp39-abi3-win_amd64.whl", hash = "sha256:46c211f1a0a3cfc385e9031d8ebe30a98d7dfb60751aed0f9626a4f61795ea57", size = 36791580, upload-time = "2025-07-25T21:13:40.752Z" }, ] [[package]] @@ -3415,7 +3496,7 @@ wheels = [ [[package]] name = "langsmith" -version = "0.4.8" +version = "0.4.10" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "httpx" }, @@ -3426,9 +3507,9 @@ dependencies = [ { name = "requests-toolbelt" }, { name = "zstandard" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/46/38/0da897697ce29fb78cdaacae2d0fa3a4bc2a0abf23f84f6ecd1947f79245/langsmith-0.4.8.tar.gz", hash = "sha256:50eccb744473dd6bd3e0fe024786e2196b1f8598f8defffce7ac31113d6c140f", size = 352414, upload-time = "2025-07-18T19:36:06.082Z" } +sdist = { url = "https://files.pythonhosted.org/packages/ab/e2/cf4418b99e9ef1cef479a641c93fec8e8d610e1527e0e0a02c547c58796c/langsmith-0.4.10.tar.gz", hash = "sha256:257a39238fad7d079c8571fbb5d1dcd24f3dcf7fedb1144c34065f62759ae492", size = 918716, upload-time = "2025-08-01T23:37:21.955Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/19/4f/481324462c44ce21443b833ad73ee51117031d41c16fec06cddbb7495b26/langsmith-0.4.8-py3-none-any.whl", hash = "sha256:ca2f6024ab9d2cd4d091b2e5b58a5d2cb0c354a0c84fe214145a89ad450abae0", size = 367975, upload-time = "2025-07-18T19:36:04.025Z" }, + { url = "https://files.pythonhosted.org/packages/c0/ef/5270af5d1e8aebbc989a9fe523fdb38eea1775d54ceba7fc4dadff6db126/langsmith-0.4.10-py3-none-any.whl", hash = "sha256:0bc07a060792c42b0333271f30c2ba51ce47a8d59a0b2bde855cede10f59b3fe", size = 372004, upload-time = "2025-08-01T23:37:19.795Z" }, ] [[package]] @@ -3478,21 +3559,21 @@ wheels = [ [[package]] name = "llama-cloud" -version = "0.1.32" +version = "0.1.35" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "certifi" }, { name = "httpx" }, { name = "pydantic" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/1c/a4/1eed89c7820e273f74e80bc43ac7dd46953ecdc9e3dc5a1e30210beb400e/llama_cloud-0.1.32.tar.gz", hash = "sha256:cea98241127311ea91f191c3c006aa6558f01d16f9539ed93b24d716b888f10e", size = 99578, upload-time = "2025-07-08T14:23:41.44Z" } +sdist = { url = "https://files.pythonhosted.org/packages/9b/72/816e6e900448e1b4a8137d90e65876b296c5264a23db6ae888bd3e6660ba/llama_cloud-0.1.35.tar.gz", hash = "sha256:200349d5d57424d7461f304cdb1355a58eea3e6ca1e6b0d75c66b2e937216983", size = 106403, upload-time = "2025-07-28T17:22:06.41Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/c5/54/08fc9ec16b483e57803309645c239ca72100d6e821849aa711971737ab17/llama_cloud-0.1.32-py3-none-any.whl", hash = "sha256:c42b2d5fb24acc8595bcc3626fb84c872909a16ab6d6879a1cb1101b21c238bd", size = 284617, upload-time = "2025-07-08T14:23:39.892Z" }, + { url = "https://files.pythonhosted.org/packages/1d/d2/8d18a021ab757cea231428404f21fe3186bf1ebaac3f57a73c379483fd3f/llama_cloud-0.1.35-py3-none-any.whl", hash = "sha256:b7abab4423118e6f638d2f326749e7a07c6426543bea6da99b623c715b22af71", size = 303280, upload-time = "2025-07-28T17:22:04.946Z" }, ] [[package]] name = "llama-cloud-services" -version = "0.6.43" +version = "0.6.54" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "click" }, @@ -3503,9 +3584,9 @@ dependencies = [ { name = "python-dotenv" }, { name = "tenacity" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/56/30/82274bb0fc17430162a4f88f7ca0d25fd249767271d37af24b4a3e4cfcf7/llama_cloud_services-0.6.43.tar.gz", hash = "sha256:fa6be33bf54d467cace809efee8c2aeeb9de74ce66708513d37b40d738d3350f", size = 35169, upload-time = "2025-07-08T18:18:26.346Z" } +sdist = { url = "https://files.pythonhosted.org/packages/8a/0c/8ca87d33bea0340a8ed791f36390112aeb29fd3eebfd64b6aef6204a03f0/llama_cloud_services-0.6.54.tar.gz", hash = "sha256:baf65d9bffb68f9dca98ac6e22908b6675b2038b021e657ead1ffc0e43cbd45d", size = 53468, upload-time = "2025-08-01T20:09:20.988Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/40/c3/1e82bd37f16e6d99988e9b53829303d3124504341862721f24c9b6f4f614/llama_cloud_services-0.6.43-py3-none-any.whl", hash = "sha256:2349195f501ba9151ea3ab384d20cae8b4dc4f335f60bd17607332626bdfa2e4", size = 40382, upload-time = "2025-07-08T18:18:25.517Z" }, + { url = "https://files.pythonhosted.org/packages/7f/48/4e295e3f791b279885a2e584f71e75cbe4ac84e93bba3c36e2668f60a8ac/llama_cloud_services-0.6.54-py3-none-any.whl", hash = "sha256:07f595f7a0ba40c6a1a20543d63024ca7600fe65c4811d1951039977908997be", size = 63874, upload-time = "2025-08-01T20:09:20.076Z" }, ] [[package]] @@ -3614,28 +3695,28 @@ wheels = [ [[package]] name = "llama-index-indices-managed-llama-cloud" -version = "0.7.10" +version = "0.8.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "llama-cloud" }, { name = "llama-index-core" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/e2/5a/7663c04257f2763a9b8089653b7e5d2d5aa241dcd8a21f2d0344f69c8ca1/llama_index_indices_managed_llama_cloud-0.7.10.tar.gz", hash = "sha256:53267907e23d8fbcbb97c7a96177a41446de18550ca6030276092e73b45ca880", size = 14769, upload-time = "2025-07-08T18:13:19.923Z" } +sdist = { url = "https://files.pythonhosted.org/packages/f1/2a/0b42b533e6891150eb9d1189492a08be155e9656889178009bbc4cdf44b9/llama_index_indices_managed_llama_cloud-0.8.0.tar.gz", hash = "sha256:762de10d3949e04997766f6a665ed4503394d82ea4b3339139a365edde6e753e", size = 14722, upload-time = "2025-07-28T19:53:08.979Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e6/ea/a0aef9ccb09bd6438fd99d7f9c547bc2eac06abc32852b9e70c807585559/llama_index_indices_managed_llama_cloud-0.7.10-py3-none-any.whl", hash = "sha256:f7edcfb8f694cab547cd9324be7835dc97470ce05150d0b8888fa3bf9d2f84a8", size = 16474, upload-time = "2025-07-08T18:13:18.703Z" }, + { url = "https://files.pythonhosted.org/packages/0a/50/c259cc8b8497ab8f3e245c9bc828e8a269951b222760b5cac072acba3811/llama_index_indices_managed_llama_cloud-0.8.0-py3-none-any.whl", hash = "sha256:817d6bd4715d45522e7165d29208e093d06179cc1bc5f9590382245f73dfd7aa", size = 16451, upload-time = "2025-07-28T19:53:07.826Z" }, ] [[package]] name = "llama-index-instrumentation" -version = "0.3.0" +version = "0.4.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "deprecated" }, { name = "pydantic" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/0f/57/76123657bf6f175382ceddee9af66507c37d603475cbf0968df8dfea9de2/llama_index_instrumentation-0.3.0.tar.gz", hash = "sha256:77741c1d9861ead080e6f98350625971488d1e046bede91cec9e0ce2f63ea34a", size = 42651, upload-time = "2025-07-17T17:41:20.468Z" } +sdist = { url = "https://files.pythonhosted.org/packages/8e/ad/8be7010038c12ec9c0ed41a070527fd880e6181d87ae00d00790aefa50ee/llama_index_instrumentation-0.4.0.tar.gz", hash = "sha256:f38ecc1f02b6c1f7ab84263baa6467fac9f86538c0ee25542853de46278abea7", size = 44948, upload-time = "2025-07-30T21:02:26.86Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/cc/d4/9377a53ea2f9bdd33f5ccff78ac863705657f422bb686cad4896b058ce46/llama_index_instrumentation-0.3.0-py3-none-any.whl", hash = "sha256:edfcd71aedc453dbdb4a7073a1e39ddef6ae2c13601a4cba6f2dfea38f48eeff", size = 15011, upload-time = "2025-07-17T17:41:19.723Z" }, + { url = "https://files.pythonhosted.org/packages/78/36/b85d699d2827464f9ba1c5adb1069cf18af0e3c3e45cfe017142dd85eb7c/llama_index_instrumentation-0.4.0-py3-none-any.whl", hash = "sha256:83f73156be34dd0121dfe9e259883620e19f0162f152ac483e179ad5ad0396ac", size = 14950, upload-time = "2025-07-30T21:02:25.956Z" }, ] [[package]] @@ -3736,14 +3817,14 @@ wheels = [ [[package]] name = "llama-parse" -version = "0.6.43" +version = "0.6.54" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "llama-cloud-services" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/79/62/22e3f73a2b33b9db1523573611281010c8258bf1d17408913e8e46bdfe58/llama_parse-0.6.43.tar.gz", hash = "sha256:d88e91c97e37f77b2619111ef43c02b7da61125f821cf77f918996eb48200d78", size = 3536, upload-time = "2025-07-08T18:20:58.786Z" } +sdist = { url = "https://files.pythonhosted.org/packages/08/f6/93b5d123c480bc8c93e6dc3ea930f4f8df8da27f829bb011100ba3ce23dc/llama_parse-0.6.54.tar.gz", hash = "sha256:c707b31152155c9bae84e316fab790bbc8c85f4d8825ce5ee386ebeb7db258f1", size = 3577, upload-time = "2025-08-01T20:09:23.762Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/fa/24/8497595be04a8a0209536e9ce70d4132f8f8e001986f4c700414b3777758/llama_parse-0.6.43-py3-none-any.whl", hash = "sha256:fe435309638c4fdec4fec31f97c5031b743c92268962d03b99bd76704f566c32", size = 4944, upload-time = "2025-07-08T18:20:57.089Z" }, + { url = "https://files.pythonhosted.org/packages/05/50/c5ccd2a50daa0a10c7f3f7d4e6992392454198cd8a7d99fcb96cb60d0686/llama_parse-0.6.54-py3-none-any.whl", hash = "sha256:c66c8d51cf6f29a44eaa8595a595de5d2598afc86e5a33a4cebe5fe228036920", size = 4879, upload-time = "2025-08-01T20:09:22.651Z" }, ] [[package]] @@ -3751,8 +3832,8 @@ name = "loguru" version = "0.7.3" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "colorama", marker = "python_full_version < '3.13' and sys_platform == 'win32'" }, - { name = "win32-setctime", marker = "python_full_version < '3.13' and sys_platform == 'win32'" }, + { name = "colorama", marker = "sys_platform == 'win32'" }, + { name = "win32-setctime", marker = "sys_platform == 'win32'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/3a/05/a1dae3dffd1116099471c643b8924f5aa6524411dc6c63fdae648c4f1aca/loguru-0.7.3.tar.gz", hash = "sha256:19480589e77d47b8d85b2c827ad95d49bf31b0dcde16593892eb51dd18706eb6", size = 63559, upload-time = "2024-12-06T11:20:56.608Z" } wheels = [ @@ -3987,10 +4068,11 @@ wheels = [ [[package]] name = "matplotlib" -version = "3.10.3" +version = "3.10.5" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "contourpy" }, + { name = "contourpy", version = "1.3.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "contourpy", version = "1.3.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, { name = "cycler" }, { name = "fonttools" }, { name = "kiwisolver" }, @@ -4001,41 +4083,48 @@ dependencies = [ { name = "pyparsing" }, { name = "python-dateutil" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/26/91/d49359a21893183ed2a5b6c76bec40e0b1dcbf8ca148f864d134897cfc75/matplotlib-3.10.3.tar.gz", hash = "sha256:2f82d2c5bb7ae93aaaa4cd42aca65d76ce6376f83304fa3a630b569aca274df0", size = 34799811, upload-time = "2025-05-08T19:10:54.39Z" } +sdist = { url = "https://files.pythonhosted.org/packages/43/91/f2939bb60b7ebf12478b030e0d7f340247390f402b3b189616aad790c366/matplotlib-3.10.5.tar.gz", hash = "sha256:352ed6ccfb7998a00881692f38b4ca083c691d3e275b4145423704c34c909076", size = 34804044, upload-time = "2025-07-31T18:09:33.805Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/d0/ea/2bba25d289d389c7451f331ecd593944b3705f06ddf593fa7be75037d308/matplotlib-3.10.3-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:213fadd6348d106ca7db99e113f1bea1e65e383c3ba76e8556ba4a3054b65ae7", size = 8167862, upload-time = "2025-05-08T19:09:39.563Z" }, - { url = "https://files.pythonhosted.org/packages/41/81/cc70b5138c926604e8c9ed810ed4c79e8116ba72e02230852f5c12c87ba2/matplotlib-3.10.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d3bec61cb8221f0ca6313889308326e7bb303d0d302c5cc9e523b2f2e6c73deb", size = 8042149, upload-time = "2025-05-08T19:09:42.413Z" }, - { url = "https://files.pythonhosted.org/packages/4a/9a/0ff45b6bfa42bb16de597e6058edf2361c298ad5ef93b327728145161bbf/matplotlib-3.10.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c21ae75651c0231b3ba014b6d5e08fb969c40cdb5a011e33e99ed0c9ea86ecb", size = 8453719, upload-time = "2025-05-08T19:09:44.901Z" }, - { url = "https://files.pythonhosted.org/packages/85/c7/1866e972fed6d71ef136efbc980d4d1854ab7ef1ea8152bbd995ca231c81/matplotlib-3.10.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a49e39755580b08e30e3620efc659330eac5d6534ab7eae50fa5e31f53ee4e30", size = 8590801, upload-time = "2025-05-08T19:09:47.404Z" }, - { url = "https://files.pythonhosted.org/packages/5d/b9/748f6626d534ab7e255bdc39dc22634d337cf3ce200f261b5d65742044a1/matplotlib-3.10.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:cf4636203e1190871d3a73664dea03d26fb019b66692cbfd642faafdad6208e8", size = 9402111, upload-time = "2025-05-08T19:09:49.474Z" }, - { url = "https://files.pythonhosted.org/packages/1f/78/8bf07bd8fb67ea5665a6af188e70b57fcb2ab67057daa06b85a08e59160a/matplotlib-3.10.3-cp310-cp310-win_amd64.whl", hash = "sha256:fd5641a9bb9d55f4dd2afe897a53b537c834b9012684c8444cc105895c8c16fd", size = 8057213, upload-time = "2025-05-08T19:09:51.489Z" }, - { url = "https://files.pythonhosted.org/packages/f5/bd/af9f655456f60fe1d575f54fb14704ee299b16e999704817a7645dfce6b0/matplotlib-3.10.3-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:0ef061f74cd488586f552d0c336b2f078d43bc00dc473d2c3e7bfee2272f3fa8", size = 8178873, upload-time = "2025-05-08T19:09:53.857Z" }, - { url = "https://files.pythonhosted.org/packages/c2/86/e1c86690610661cd716eda5f9d0b35eaf606ae6c9b6736687cfc8f2d0cd8/matplotlib-3.10.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d96985d14dc5f4a736bbea4b9de9afaa735f8a0fc2ca75be2fa9e96b2097369d", size = 8052205, upload-time = "2025-05-08T19:09:55.684Z" }, - { url = "https://files.pythonhosted.org/packages/54/51/a9f8e49af3883dacddb2da1af5fca1f7468677f1188936452dd9aaaeb9ed/matplotlib-3.10.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7c5f0283da91e9522bdba4d6583ed9d5521566f63729ffb68334f86d0bb98049", size = 8465823, upload-time = "2025-05-08T19:09:57.442Z" }, - { url = "https://files.pythonhosted.org/packages/e7/e3/c82963a3b86d6e6d5874cbeaa390166458a7f1961bab9feb14d3d1a10f02/matplotlib-3.10.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fdfa07c0ec58035242bc8b2c8aae37037c9a886370eef6850703d7583e19964b", size = 8606464, upload-time = "2025-05-08T19:09:59.471Z" }, - { url = "https://files.pythonhosted.org/packages/0e/34/24da1027e7fcdd9e82da3194c470143c551852757a4b473a09a012f5b945/matplotlib-3.10.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:c0b9849a17bce080a16ebcb80a7b714b5677d0ec32161a2cc0a8e5a6030ae220", size = 9413103, upload-time = "2025-05-08T19:10:03.208Z" }, - { url = "https://files.pythonhosted.org/packages/a6/da/948a017c3ea13fd4a97afad5fdebe2f5bbc4d28c0654510ce6fd6b06b7bd/matplotlib-3.10.3-cp311-cp311-win_amd64.whl", hash = "sha256:eef6ed6c03717083bc6d69c2d7ee8624205c29a8e6ea5a31cd3492ecdbaee1e1", size = 8065492, upload-time = "2025-05-08T19:10:05.271Z" }, - { url = "https://files.pythonhosted.org/packages/eb/43/6b80eb47d1071f234ef0c96ca370c2ca621f91c12045f1401b5c9b28a639/matplotlib-3.10.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:0ab1affc11d1f495ab9e6362b8174a25afc19c081ba5b0775ef00533a4236eea", size = 8179689, upload-time = "2025-05-08T19:10:07.602Z" }, - { url = "https://files.pythonhosted.org/packages/0f/70/d61a591958325c357204870b5e7b164f93f2a8cca1dc6ce940f563909a13/matplotlib-3.10.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2a818d8bdcafa7ed2eed74487fdb071c09c1ae24152d403952adad11fa3c65b4", size = 8050466, upload-time = "2025-05-08T19:10:09.383Z" }, - { url = "https://files.pythonhosted.org/packages/e7/75/70c9d2306203148cc7902a961240c5927dd8728afedf35e6a77e105a2985/matplotlib-3.10.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:748ebc3470c253e770b17d8b0557f0aa85cf8c63fd52f1a61af5b27ec0b7ffee", size = 8456252, upload-time = "2025-05-08T19:10:11.958Z" }, - { url = "https://files.pythonhosted.org/packages/c4/91/ba0ae1ff4b3f30972ad01cd4a8029e70a0ec3b8ea5be04764b128b66f763/matplotlib-3.10.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ed70453fd99733293ace1aec568255bc51c6361cb0da94fa5ebf0649fdb2150a", size = 8601321, upload-time = "2025-05-08T19:10:14.47Z" }, - { url = "https://files.pythonhosted.org/packages/d2/88/d636041eb54a84b889e11872d91f7cbf036b3b0e194a70fa064eb8b04f7a/matplotlib-3.10.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:dbed9917b44070e55640bd13419de83b4c918e52d97561544814ba463811cbc7", size = 9406972, upload-time = "2025-05-08T19:10:16.569Z" }, - { url = "https://files.pythonhosted.org/packages/b1/79/0d1c165eac44405a86478082e225fce87874f7198300bbebc55faaf6d28d/matplotlib-3.10.3-cp312-cp312-win_amd64.whl", hash = "sha256:cf37d8c6ef1a48829443e8ba5227b44236d7fcaf7647caa3178a4ff9f7a5be05", size = 8067954, upload-time = "2025-05-08T19:10:18.663Z" }, - { url = "https://files.pythonhosted.org/packages/3b/c1/23cfb566a74c696a3b338d8955c549900d18fe2b898b6e94d682ca21e7c2/matplotlib-3.10.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:9f2efccc8dcf2b86fc4ee849eea5dcaecedd0773b30f47980dc0cbeabf26ec84", size = 8180318, upload-time = "2025-05-08T19:10:20.426Z" }, - { url = "https://files.pythonhosted.org/packages/6c/0c/02f1c3b66b30da9ee343c343acbb6251bef5b01d34fad732446eaadcd108/matplotlib-3.10.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3ddbba06a6c126e3301c3d272a99dcbe7f6c24c14024e80307ff03791a5f294e", size = 8051132, upload-time = "2025-05-08T19:10:22.569Z" }, - { url = "https://files.pythonhosted.org/packages/b4/ab/8db1a5ac9b3a7352fb914133001dae889f9fcecb3146541be46bed41339c/matplotlib-3.10.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:748302b33ae9326995b238f606e9ed840bf5886ebafcb233775d946aa8107a15", size = 8457633, upload-time = "2025-05-08T19:10:24.749Z" }, - { url = "https://files.pythonhosted.org/packages/f5/64/41c4367bcaecbc03ef0d2a3ecee58a7065d0a36ae1aa817fe573a2da66d4/matplotlib-3.10.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a80fcccbef63302c0efd78042ea3c2436104c5b1a4d3ae20f864593696364ac7", size = 8601031, upload-time = "2025-05-08T19:10:27.03Z" }, - { url = "https://files.pythonhosted.org/packages/12/6f/6cc79e9e5ab89d13ed64da28898e40fe5b105a9ab9c98f83abd24e46d7d7/matplotlib-3.10.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:55e46cbfe1f8586adb34f7587c3e4f7dedc59d5226719faf6cb54fc24f2fd52d", size = 9406988, upload-time = "2025-05-08T19:10:29.056Z" }, - { url = "https://files.pythonhosted.org/packages/b1/0f/eed564407bd4d935ffabf561ed31099ed609e19287409a27b6d336848653/matplotlib-3.10.3-cp313-cp313-win_amd64.whl", hash = "sha256:151d89cb8d33cb23345cd12490c76fd5d18a56581a16d950b48c6ff19bb2ab93", size = 8068034, upload-time = "2025-05-08T19:10:31.221Z" }, - { url = "https://files.pythonhosted.org/packages/3e/e5/2f14791ff69b12b09e9975e1d116d9578ac684460860ce542c2588cb7a1c/matplotlib-3.10.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:c26dd9834e74d164d06433dc7be5d75a1e9890b926b3e57e74fa446e1a62c3e2", size = 8218223, upload-time = "2025-05-08T19:10:33.114Z" }, - { url = "https://files.pythonhosted.org/packages/5c/08/30a94afd828b6e02d0a52cae4a29d6e9ccfcf4c8b56cc28b021d3588873e/matplotlib-3.10.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:24853dad5b8c84c8c2390fc31ce4858b6df504156893292ce8092d190ef8151d", size = 8094985, upload-time = "2025-05-08T19:10:35.337Z" }, - { url = "https://files.pythonhosted.org/packages/89/44/f3bc6b53066c889d7a1a3ea8094c13af6a667c5ca6220ec60ecceec2dabe/matplotlib-3.10.3-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:68f7878214d369d7d4215e2a9075fef743be38fa401d32e6020bab2dfabaa566", size = 8483109, upload-time = "2025-05-08T19:10:37.611Z" }, - { url = "https://files.pythonhosted.org/packages/ba/c7/473bc559beec08ebee9f86ca77a844b65747e1a6c2691e8c92e40b9f42a8/matplotlib-3.10.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f6929fc618cb6db9cb75086f73b3219bbb25920cb24cee2ea7a12b04971a4158", size = 8618082, upload-time = "2025-05-08T19:10:39.892Z" }, - { url = "https://files.pythonhosted.org/packages/d8/e9/6ce8edd264c8819e37bbed8172e0ccdc7107fe86999b76ab5752276357a4/matplotlib-3.10.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:6c7818292a5cc372a2dc4c795e5c356942eb8350b98ef913f7fda51fe175ac5d", size = 9413699, upload-time = "2025-05-08T19:10:42.376Z" }, - { url = "https://files.pythonhosted.org/packages/1b/92/9a45c91089c3cf690b5badd4be81e392ff086ccca8a1d4e3a08463d8a966/matplotlib-3.10.3-cp313-cp313t-win_amd64.whl", hash = "sha256:4f23ffe95c5667ef8a2b56eea9b53db7f43910fa4a2d5472ae0f72b64deab4d5", size = 8139044, upload-time = "2025-05-08T19:10:44.551Z" }, - { url = "https://files.pythonhosted.org/packages/3d/d1/f54d43e95384b312ffa4a74a4326c722f3b8187aaaa12e9a84cdf3037131/matplotlib-3.10.3-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:86ab63d66bbc83fdb6733471d3bff40897c1e9921cba112accd748eee4bce5e4", size = 8162896, upload-time = "2025-05-08T19:10:46.432Z" }, - { url = "https://files.pythonhosted.org/packages/24/a4/fbfc00c2346177c95b353dcf9b5a004106abe8730a62cb6f27e79df0a698/matplotlib-3.10.3-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:a48f9c08bf7444b5d2391a83e75edb464ccda3c380384b36532a0962593a1751", size = 8039702, upload-time = "2025-05-08T19:10:49.634Z" }, - { url = "https://files.pythonhosted.org/packages/6a/b9/59e120d24a2ec5fc2d30646adb2efb4621aab3c6d83d66fb2a7a182db032/matplotlib-3.10.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cb73d8aa75a237457988f9765e4dfe1c0d2453c5ca4eabc897d4309672c8e014", size = 8594298, upload-time = "2025-05-08T19:10:51.738Z" }, + { url = "https://files.pythonhosted.org/packages/d1/89/5355cdfe43242cb4d1a64a67cb6831398b665ad90e9702c16247cbd8d5ab/matplotlib-3.10.5-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:5d4773a6d1c106ca05cb5a5515d277a6bb96ed09e5c8fab6b7741b8fcaa62c8f", size = 8229094, upload-time = "2025-07-31T18:07:36.507Z" }, + { url = "https://files.pythonhosted.org/packages/34/bc/ba802650e1c69650faed261a9df004af4c6f21759d7a1ec67fe972f093b3/matplotlib-3.10.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:dc88af74e7ba27de6cbe6faee916024ea35d895ed3d61ef6f58c4ce97da7185a", size = 8091464, upload-time = "2025-07-31T18:07:38.864Z" }, + { url = "https://files.pythonhosted.org/packages/ac/64/8d0c8937dee86c286625bddb1902efacc3e22f2b619f5b5a8df29fe5217b/matplotlib-3.10.5-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:64c4535419d5617f7363dad171a5a59963308e0f3f813c4bed6c9e6e2c131512", size = 8653163, upload-time = "2025-07-31T18:07:41.141Z" }, + { url = "https://files.pythonhosted.org/packages/11/dc/8dfc0acfbdc2fc2336c72561b7935cfa73db9ca70b875d8d3e1b3a6f371a/matplotlib-3.10.5-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a277033048ab22d34f88a3c5243938cef776493f6201a8742ed5f8b553201343", size = 9490635, upload-time = "2025-07-31T18:07:42.936Z" }, + { url = "https://files.pythonhosted.org/packages/54/02/e3fdfe0f2e9fb05f3a691d63876639dbf684170fdcf93231e973104153b4/matplotlib-3.10.5-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:e4a6470a118a2e93022ecc7d3bd16b3114b2004ea2bf014fff875b3bc99b70c6", size = 9539036, upload-time = "2025-07-31T18:07:45.18Z" }, + { url = "https://files.pythonhosted.org/packages/c1/29/82bf486ff7f4dbedfb11ccc207d0575cbe3be6ea26f75be514252bde3d70/matplotlib-3.10.5-cp310-cp310-win_amd64.whl", hash = "sha256:7e44cada61bec8833c106547786814dd4a266c1b2964fd25daa3804f1b8d4467", size = 8093529, upload-time = "2025-07-31T18:07:49.553Z" }, + { url = "https://files.pythonhosted.org/packages/aa/c7/1f2db90a1d43710478bb1e9b57b162852f79234d28e4f48a28cc415aa583/matplotlib-3.10.5-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:dcfc39c452c6a9f9028d3e44d2d721484f665304857188124b505b2c95e1eecf", size = 8239216, upload-time = "2025-07-31T18:07:51.947Z" }, + { url = "https://files.pythonhosted.org/packages/82/6d/ca6844c77a4f89b1c9e4d481c412e1d1dbabf2aae2cbc5aa2da4a1d6683e/matplotlib-3.10.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:903352681b59f3efbf4546985142a9686ea1d616bb054b09a537a06e4b892ccf", size = 8102130, upload-time = "2025-07-31T18:07:53.65Z" }, + { url = "https://files.pythonhosted.org/packages/1d/1e/5e187a30cc673a3e384f3723e5f3c416033c1d8d5da414f82e4e731128ea/matplotlib-3.10.5-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:080c3676a56b8ee1c762bcf8fca3fe709daa1ee23e6ef06ad9f3fc17332f2d2a", size = 8666471, upload-time = "2025-07-31T18:07:55.304Z" }, + { url = "https://files.pythonhosted.org/packages/03/c0/95540d584d7d645324db99a845ac194e915ef75011a0d5e19e1b5cee7e69/matplotlib-3.10.5-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4b4984d5064a35b6f66d2c11d668565f4389b1119cc64db7a4c1725bc11adffc", size = 9500518, upload-time = "2025-07-31T18:07:57.199Z" }, + { url = "https://files.pythonhosted.org/packages/ba/2e/e019352099ea58b4169adb9c6e1a2ad0c568c6377c2b677ee1f06de2adc7/matplotlib-3.10.5-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:3967424121d3a46705c9fa9bdb0931de3228f13f73d7bb03c999c88343a89d89", size = 9552372, upload-time = "2025-07-31T18:07:59.41Z" }, + { url = "https://files.pythonhosted.org/packages/b7/81/3200b792a5e8b354f31f4101ad7834743ad07b6d620259f2059317b25e4d/matplotlib-3.10.5-cp311-cp311-win_amd64.whl", hash = "sha256:33775bbeb75528555a15ac29396940128ef5613cf9a2d31fb1bfd18b3c0c0903", size = 8100634, upload-time = "2025-07-31T18:08:01.801Z" }, + { url = "https://files.pythonhosted.org/packages/52/46/a944f6f0c1f5476a0adfa501969d229ce5ae60cf9a663be0e70361381f89/matplotlib-3.10.5-cp311-cp311-win_arm64.whl", hash = "sha256:c61333a8e5e6240e73769d5826b9a31d8b22df76c0778f8480baf1b4b01c9420", size = 7978880, upload-time = "2025-07-31T18:08:03.407Z" }, + { url = "https://files.pythonhosted.org/packages/66/1e/c6f6bcd882d589410b475ca1fc22e34e34c82adff519caf18f3e6dd9d682/matplotlib-3.10.5-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:00b6feadc28a08bd3c65b2894f56cf3c94fc8f7adcbc6ab4516ae1e8ed8f62e2", size = 8253056, upload-time = "2025-07-31T18:08:05.385Z" }, + { url = "https://files.pythonhosted.org/packages/53/e6/d6f7d1b59413f233793dda14419776f5f443bcccb2dfc84b09f09fe05dbe/matplotlib-3.10.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ee98a5c5344dc7f48dc261b6ba5d9900c008fc12beb3fa6ebda81273602cc389", size = 8110131, upload-time = "2025-07-31T18:08:07.293Z" }, + { url = "https://files.pythonhosted.org/packages/66/2b/bed8a45e74957549197a2ac2e1259671cd80b55ed9e1fe2b5c94d88a9202/matplotlib-3.10.5-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:a17e57e33de901d221a07af32c08870ed4528db0b6059dce7d7e65c1122d4bea", size = 8669603, upload-time = "2025-07-31T18:08:09.064Z" }, + { url = "https://files.pythonhosted.org/packages/7e/a7/315e9435b10d057f5e52dfc603cd353167ae28bb1a4e033d41540c0067a4/matplotlib-3.10.5-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:97b9d6443419085950ee4a5b1ee08c363e5c43d7176e55513479e53669e88468", size = 9508127, upload-time = "2025-07-31T18:08:10.845Z" }, + { url = "https://files.pythonhosted.org/packages/7f/d9/edcbb1f02ca99165365d2768d517898c22c6040187e2ae2ce7294437c413/matplotlib-3.10.5-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ceefe5d40807d29a66ae916c6a3915d60ef9f028ce1927b84e727be91d884369", size = 9566926, upload-time = "2025-07-31T18:08:13.186Z" }, + { url = "https://files.pythonhosted.org/packages/3b/d9/6dd924ad5616c97b7308e6320cf392c466237a82a2040381163b7500510a/matplotlib-3.10.5-cp312-cp312-win_amd64.whl", hash = "sha256:c04cba0f93d40e45b3c187c6c52c17f24535b27d545f757a2fffebc06c12b98b", size = 8107599, upload-time = "2025-07-31T18:08:15.116Z" }, + { url = "https://files.pythonhosted.org/packages/0e/f3/522dc319a50f7b0279fbe74f86f7a3506ce414bc23172098e8d2bdf21894/matplotlib-3.10.5-cp312-cp312-win_arm64.whl", hash = "sha256:a41bcb6e2c8e79dc99c5511ae6f7787d2fb52efd3d805fff06d5d4f667db16b2", size = 7978173, upload-time = "2025-07-31T18:08:21.518Z" }, + { url = "https://files.pythonhosted.org/packages/8d/05/4f3c1f396075f108515e45cb8d334aff011a922350e502a7472e24c52d77/matplotlib-3.10.5-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:354204db3f7d5caaa10e5de74549ef6a05a4550fdd1c8f831ab9bca81efd39ed", size = 8253586, upload-time = "2025-07-31T18:08:23.107Z" }, + { url = "https://files.pythonhosted.org/packages/2f/2c/e084415775aac7016c3719fe7006cdb462582c6c99ac142f27303c56e243/matplotlib-3.10.5-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:b072aac0c3ad563a2b3318124756cb6112157017f7431626600ecbe890df57a1", size = 8110715, upload-time = "2025-07-31T18:08:24.675Z" }, + { url = "https://files.pythonhosted.org/packages/52/1b/233e3094b749df16e3e6cd5a44849fd33852e692ad009cf7de00cf58ddf6/matplotlib-3.10.5-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:d52fd5b684d541b5a51fb276b2b97b010c75bee9aa392f96b4a07aeb491e33c7", size = 8669397, upload-time = "2025-07-31T18:08:26.778Z" }, + { url = "https://files.pythonhosted.org/packages/e8/ec/03f9e003a798f907d9f772eed9b7c6a9775d5bd00648b643ebfb88e25414/matplotlib-3.10.5-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ee7a09ae2f4676276f5a65bd9f2bd91b4f9fbaedf49f40267ce3f9b448de501f", size = 9508646, upload-time = "2025-07-31T18:08:28.848Z" }, + { url = "https://files.pythonhosted.org/packages/91/e7/c051a7a386680c28487bca27d23b02d84f63e3d2a9b4d2fc478e6a42e37e/matplotlib-3.10.5-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ba6c3c9c067b83481d647af88b4e441d532acdb5ef22178a14935b0b881188f4", size = 9567424, upload-time = "2025-07-31T18:08:30.726Z" }, + { url = "https://files.pythonhosted.org/packages/36/c2/24302e93ff431b8f4173ee1dd88976c8d80483cadbc5d3d777cef47b3a1c/matplotlib-3.10.5-cp313-cp313-win_amd64.whl", hash = "sha256:07442d2692c9bd1cceaa4afb4bbe5b57b98a7599de4dabfcca92d3eea70f9ebe", size = 8107809, upload-time = "2025-07-31T18:08:33.928Z" }, + { url = "https://files.pythonhosted.org/packages/0b/33/423ec6a668d375dad825197557ed8fbdb74d62b432c1ed8235465945475f/matplotlib-3.10.5-cp313-cp313-win_arm64.whl", hash = "sha256:48fe6d47380b68a37ccfcc94f009530e84d41f71f5dae7eda7c4a5a84aa0a674", size = 7978078, upload-time = "2025-07-31T18:08:36.764Z" }, + { url = "https://files.pythonhosted.org/packages/51/17/521fc16ec766455c7bb52cc046550cf7652f6765ca8650ff120aa2d197b6/matplotlib-3.10.5-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:3b80eb8621331449fc519541a7461987f10afa4f9cfd91afcd2276ebe19bd56c", size = 8295590, upload-time = "2025-07-31T18:08:38.521Z" }, + { url = "https://files.pythonhosted.org/packages/f8/12/23c28b2c21114c63999bae129fce7fd34515641c517ae48ce7b7dcd33458/matplotlib-3.10.5-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:47a388908e469d6ca2a6015858fa924e0e8a2345a37125948d8e93a91c47933e", size = 8158518, upload-time = "2025-07-31T18:08:40.195Z" }, + { url = "https://files.pythonhosted.org/packages/81/f8/aae4eb25e8e7190759f3cb91cbeaa344128159ac92bb6b409e24f8711f78/matplotlib-3.10.5-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:8b6b49167d208358983ce26e43aa4196073b4702858670f2eb111f9a10652b4b", size = 8691815, upload-time = "2025-07-31T18:08:42.238Z" }, + { url = "https://files.pythonhosted.org/packages/d0/ba/450c39ebdd486bd33a359fc17365ade46c6a96bf637bbb0df7824de2886c/matplotlib-3.10.5-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8a8da0453a7fd8e3da114234ba70c5ba9ef0e98f190309ddfde0f089accd46ea", size = 9522814, upload-time = "2025-07-31T18:08:44.914Z" }, + { url = "https://files.pythonhosted.org/packages/89/11/9c66f6a990e27bb9aa023f7988d2d5809cb98aa39c09cbf20fba75a542ef/matplotlib-3.10.5-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:52c6573dfcb7726a9907b482cd5b92e6b5499b284ffacb04ffbfe06b3e568124", size = 9573917, upload-time = "2025-07-31T18:08:47.038Z" }, + { url = "https://files.pythonhosted.org/packages/b3/69/8b49394de92569419e5e05e82e83df9b749a0ff550d07631ea96ed2eb35a/matplotlib-3.10.5-cp313-cp313t-win_amd64.whl", hash = "sha256:a23193db2e9d64ece69cac0c8231849db7dd77ce59c7b89948cf9d0ce655a3ce", size = 8181034, upload-time = "2025-07-31T18:08:48.943Z" }, + { url = "https://files.pythonhosted.org/packages/47/23/82dc435bb98a2fc5c20dffcac8f0b083935ac28286413ed8835df40d0baa/matplotlib-3.10.5-cp313-cp313t-win_arm64.whl", hash = "sha256:56da3b102cf6da2776fef3e71cd96fcf22103a13594a18ac9a9b31314e0be154", size = 8023337, upload-time = "2025-07-31T18:08:50.791Z" }, + { url = "https://files.pythonhosted.org/packages/e4/eb/7d4c5de49eb78294e1a8e2be8a6ecff8b433e921b731412a56cd1abd3567/matplotlib-3.10.5-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:b5fa2e941f77eb579005fb804026f9d0a1082276118d01cc6051d0d9626eaa7f", size = 8222360, upload-time = "2025-07-31T18:09:21.813Z" }, + { url = "https://files.pythonhosted.org/packages/16/8a/e435db90927b66b16d69f8f009498775f4469f8de4d14b87856965e58eba/matplotlib-3.10.5-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:1fc0d2a3241cdcb9daaca279204a3351ce9df3c0e7e621c7e04ec28aaacaca30", size = 8087462, upload-time = "2025-07-31T18:09:23.504Z" }, + { url = "https://files.pythonhosted.org/packages/0b/dd/06c0e00064362f5647f318e00b435be2ff76a1bdced97c5eaf8347311fbe/matplotlib-3.10.5-pp310-pypy310_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:8dee65cb1424b7dc982fe87895b5613d4e691cc57117e8af840da0148ca6c1d7", size = 8659802, upload-time = "2025-07-31T18:09:25.256Z" }, + { url = "https://files.pythonhosted.org/packages/dc/d6/e921be4e1a5f7aca5194e1f016cb67ec294548e530013251f630713e456d/matplotlib-3.10.5-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:160e125da27a749481eaddc0627962990f6029811dbeae23881833a011a0907f", size = 8233224, upload-time = "2025-07-31T18:09:27.512Z" }, + { url = "https://files.pythonhosted.org/packages/ec/74/a2b9b04824b9c349c8f1b2d21d5af43fa7010039427f2b133a034cb09e59/matplotlib-3.10.5-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:ac3d50760394d78a3c9be6b28318fe22b494c4fcf6407e8fd4794b538251899b", size = 8098539, upload-time = "2025-07-31T18:09:29.629Z" }, + { url = "https://files.pythonhosted.org/packages/fc/66/cd29ebc7f6c0d2a15d216fb572573e8fc38bd5d6dec3bd9d7d904c0949f7/matplotlib-3.10.5-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:6c49465bf689c4d59d174d0c7795fb42a21d4244d11d70e52b8011987367ac61", size = 8672192, upload-time = "2025-07-31T18:09:31.407Z" }, ] [[package]] @@ -4079,7 +4168,7 @@ wheels = [ [[package]] name = "mistral-common" -version = "1.8.2" +version = "1.8.3" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "jsonschema" }, @@ -4093,9 +4182,9 @@ dependencies = [ { name = "tiktoken" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/34/6c/148805cddc1812b6347ea928b3b2148a6e566bef8c37d13ae9b65ae5a163/mistral_common-1.8.2.tar.gz", hash = "sha256:964c7fc573f65e1e4befd306e99dad626604a1285ba78e88095815a6f3947cba", size = 6324910, upload-time = "2025-07-23T09:55:49.162Z" } +sdist = { url = "https://files.pythonhosted.org/packages/3b/26/a537cf020b682f2af6927aa9180f29f0dbd542209890d7d2ebd00c004b25/mistral_common-1.8.3.tar.gz", hash = "sha256:0d1979d82227b625f6d71b3c828176f059da8d0f5a3307cdf53b48409a3970a4", size = 6331211, upload-time = "2025-07-25T15:55:40.899Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/dc/68/167d9596547631ce880e08dbee3965bf193e0d7d2423c5942363d5439333/mistral_common-1.8.2-py3-none-any.whl", hash = "sha256:49f98e02a30dd76dcb3bbfaac8461241008a99c4b390ea3843b88bbb779481fc", size = 6507111, upload-time = "2025-07-23T09:55:46.666Z" }, + { url = "https://files.pythonhosted.org/packages/c8/23/bfc9da018375ea1bf31cf94f325d98904003cd6891007ae900d70fc7bcf9/mistral_common-1.8.3-py3-none-any.whl", hash = "sha256:846b6e4bbe016dc2e64fd3169fa704a548f6c74467e0cb18dc165b7a7669abd6", size = 6516130, upload-time = "2025-07-25T15:55:38.424Z" }, ] [[package]] @@ -4164,7 +4253,7 @@ wheels = [ [[package]] name = "mkdocs-material" -version = "9.6.15" +version = "9.6.16" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "babel" }, @@ -4179,9 +4268,9 @@ dependencies = [ { name = "pymdown-extensions" }, { name = "requests" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/95/c1/f804ba2db2ddc2183e900befe7dad64339a34fa935034e1ab405289d0a97/mkdocs_material-9.6.15.tar.gz", hash = "sha256:64adf8fa8dba1a17905b6aee1894a5aafd966d4aeb44a11088519b0f5ca4f1b5", size = 3951836, upload-time = "2025-07-01T10:14:15.671Z" } +sdist = { url = "https://files.pythonhosted.org/packages/dd/84/aec27a468c5e8c27689c71b516fb5a0d10b8fca45b9ad2dd9d6e43bc4296/mkdocs_material-9.6.16.tar.gz", hash = "sha256:d07011df4a5c02ee0877496d9f1bfc986cfb93d964799b032dd99fe34c0e9d19", size = 4028828, upload-time = "2025-07-26T15:53:47.542Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/1d/30/dda19f0495a9096b64b6b3c07c4bfcff1c76ee0fc521086d53593f18b4c0/mkdocs_material-9.6.15-py3-none-any.whl", hash = "sha256:ac969c94d4fe5eb7c924b6d2f43d7db41159ea91553d18a9afc4780c34f2717a", size = 8716840, upload-time = "2025-07-01T10:14:13.18Z" }, + { url = "https://files.pythonhosted.org/packages/65/f4/90ad67125b4dd66e7884e4dbdfab82e3679eb92b751116f8bb25ccfe2f0c/mkdocs_material-9.6.16-py3-none-any.whl", hash = "sha256:8d1a1282b892fe1fdf77bfeb08c485ba3909dd743c9ba69a19a40f637c6ec18c", size = 9223743, upload-time = "2025-07-26T15:53:44.236Z" }, ] [[package]] @@ -4248,79 +4337,84 @@ wheels = [ [[package]] name = "mmh3" -version = "5.1.0" +version = "5.2.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/47/1b/1fc6888c74cbd8abad1292dde2ddfcf8fc059e114c97dd6bf16d12f36293/mmh3-5.1.0.tar.gz", hash = "sha256:136e1e670500f177f49ec106a4ebf0adf20d18d96990cc36ea492c651d2b406c", size = 33728, upload-time = "2025-01-25T08:39:43.386Z" } +sdist = { url = "https://files.pythonhosted.org/packages/a7/af/f28c2c2f51f31abb4725f9a64bc7863d5f491f6539bd26aee2a1d21a649e/mmh3-5.2.0.tar.gz", hash = "sha256:1efc8fec8478e9243a78bb993422cf79f8ff85cb4cf6b79647480a31e0d950a8", size = 33582, upload-time = "2025-07-29T07:43:48.49Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/a1/01/9d06468928661765c0fc248a29580c760a4a53a9c6c52cf72528bae3582e/mmh3-5.1.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:eaf4ac5c6ee18ca9232238364d7f2a213278ae5ca97897cafaa123fcc7bb8bec", size = 56095, upload-time = "2025-01-25T08:37:53.621Z" }, - { url = "https://files.pythonhosted.org/packages/e4/d7/7b39307fc9db867b2a9a20c58b0de33b778dd6c55e116af8ea031f1433ba/mmh3-5.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:48f9aa8ccb9ad1d577a16104834ac44ff640d8de8c0caed09a2300df7ce8460a", size = 40512, upload-time = "2025-01-25T08:37:54.972Z" }, - { url = "https://files.pythonhosted.org/packages/4f/85/728ca68280d8ccc60c113ad119df70ff1748fbd44c89911fed0501faf0b8/mmh3-5.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d4ba8cac21e1f2d4e436ce03a82a7f87cda80378691f760e9ea55045ec480a3d", size = 40110, upload-time = "2025-01-25T08:37:57.86Z" }, - { url = "https://files.pythonhosted.org/packages/e4/96/beaf0e301472ffa00358bbbf771fe2d9c4d709a2fe30b1d929e569f8cbdf/mmh3-5.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d69281c281cb01994f054d862a6bb02a2e7acfe64917795c58934b0872b9ece4", size = 100151, upload-time = "2025-01-25T08:37:59.609Z" }, - { url = "https://files.pythonhosted.org/packages/c3/ee/9381f825c4e09ffafeffa213c3865c4bf7d39771640de33ab16f6faeb854/mmh3-5.1.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4d05ed3962312fbda2a1589b97359d2467f677166952f6bd410d8c916a55febf", size = 106312, upload-time = "2025-01-25T08:38:02.102Z" }, - { url = "https://files.pythonhosted.org/packages/67/dc/350a54bea5cf397d357534198ab8119cfd0d8e8bad623b520f9c290af985/mmh3-5.1.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:78ae6a03f4cff4aa92ddd690611168856f8c33a141bd3e5a1e0a85521dc21ea0", size = 104232, upload-time = "2025-01-25T08:38:03.852Z" }, - { url = "https://files.pythonhosted.org/packages/b2/5d/2c6eb4a4ec2f7293b98a9c07cb8c64668330b46ff2b6511244339e69a7af/mmh3-5.1.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:95f983535b39795d9fb7336438faae117424c6798f763d67c6624f6caf2c4c01", size = 91663, upload-time = "2025-01-25T08:38:06.24Z" }, - { url = "https://files.pythonhosted.org/packages/f1/ac/17030d24196f73ecbab8b5033591e5e0e2beca103181a843a135c78f4fee/mmh3-5.1.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d46fdd80d4c7ecadd9faa6181e92ccc6fe91c50991c9af0e371fdf8b8a7a6150", size = 99166, upload-time = "2025-01-25T08:38:07.988Z" }, - { url = "https://files.pythonhosted.org/packages/b9/ed/54ddc56603561a10b33da9b12e95a48a271d126f4a4951841bbd13145ebf/mmh3-5.1.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:0f16e976af7365ea3b5c425124b2a7f0147eed97fdbb36d99857f173c8d8e096", size = 101555, upload-time = "2025-01-25T08:38:09.821Z" }, - { url = "https://files.pythonhosted.org/packages/1c/c3/33fb3a940c9b70908a5cc9fcc26534aff8698180f9f63ab6b7cc74da8bcd/mmh3-5.1.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:6fa97f7d1e1f74ad1565127229d510f3fd65d931fdedd707c1e15100bc9e5ebb", size = 94813, upload-time = "2025-01-25T08:38:11.682Z" }, - { url = "https://files.pythonhosted.org/packages/61/88/c9ff76a23abe34db8eee1a6fa4e449462a16c7eb547546fc5594b0860a72/mmh3-5.1.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:4052fa4a8561bd62648e9eb993c8f3af3bdedadf3d9687aa4770d10e3709a80c", size = 109611, upload-time = "2025-01-25T08:38:12.602Z" }, - { url = "https://files.pythonhosted.org/packages/0b/8e/27d04f40e95554ebe782cac7bddda2d158cf3862387298c9c7b254fa7beb/mmh3-5.1.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:3f0e8ae9f961037f812afe3cce7da57abf734285961fffbeff9a4c011b737732", size = 100515, upload-time = "2025-01-25T08:38:16.407Z" }, - { url = "https://files.pythonhosted.org/packages/7b/00/504ca8f462f01048f3c87cd93f2e1f60b93dac2f930cd4ed73532a9337f5/mmh3-5.1.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:99297f207db967814f1f02135bb7fe7628b9eacb046134a34e1015b26b06edce", size = 100177, upload-time = "2025-01-25T08:38:18.186Z" }, - { url = "https://files.pythonhosted.org/packages/6f/1d/2efc3525fe6fdf8865972fcbb884bd1f4b0f923c19b80891cecf7e239fa5/mmh3-5.1.0-cp310-cp310-win32.whl", hash = "sha256:2e6c8dc3631a5e22007fbdb55e993b2dbce7985c14b25b572dd78403c2e79182", size = 40815, upload-time = "2025-01-25T08:38:19.176Z" }, - { url = "https://files.pythonhosted.org/packages/38/b5/c8fbe707cb0fea77a6d2d58d497bc9b67aff80deb84d20feb34d8fdd8671/mmh3-5.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:e4e8c7ad5a4dddcfde35fd28ef96744c1ee0f9d9570108aa5f7e77cf9cfdf0bf", size = 41479, upload-time = "2025-01-25T08:38:21.098Z" }, - { url = "https://files.pythonhosted.org/packages/a1/f1/663e16134f913fccfbcea5b300fb7dc1860d8f63dc71867b013eebc10aec/mmh3-5.1.0-cp310-cp310-win_arm64.whl", hash = "sha256:45da549269883208912868a07d0364e1418d8292c4259ca11699ba1b2475bd26", size = 38883, upload-time = "2025-01-25T08:38:22.013Z" }, - { url = "https://files.pythonhosted.org/packages/56/09/fda7af7fe65928262098382e3bf55950cfbf67d30bf9e47731bf862161e9/mmh3-5.1.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:0b529dcda3f951ff363a51d5866bc6d63cf57f1e73e8961f864ae5010647079d", size = 56098, upload-time = "2025-01-25T08:38:22.917Z" }, - { url = "https://files.pythonhosted.org/packages/0c/ab/84c7bc3f366d6f3bd8b5d9325a10c367685bc17c26dac4c068e2001a4671/mmh3-5.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4db1079b3ace965e562cdfc95847312f9273eb2ad3ebea983435c8423e06acd7", size = 40513, upload-time = "2025-01-25T08:38:25.079Z" }, - { url = "https://files.pythonhosted.org/packages/4f/21/25ea58ca4a652bdc83d1528bec31745cce35802381fb4fe3c097905462d2/mmh3-5.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:22d31e3a0ff89b8eb3b826d6fc8e19532998b2aa6b9143698043a1268da413e1", size = 40112, upload-time = "2025-01-25T08:38:25.947Z" }, - { url = "https://files.pythonhosted.org/packages/bd/78/4f12f16ae074ddda6f06745254fdb50f8cf3c85b0bbf7eaca58bed84bf58/mmh3-5.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2139bfbd354cd6cb0afed51c4b504f29bcd687a3b1460b7e89498329cc28a894", size = 102632, upload-time = "2025-01-25T08:38:26.939Z" }, - { url = "https://files.pythonhosted.org/packages/48/11/8f09dc999cf2a09b6138d8d7fc734efb7b7bfdd9adb9383380941caadff0/mmh3-5.1.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8c8105c6a435bc2cd6ea2ef59558ab1a2976fd4a4437026f562856d08996673a", size = 108884, upload-time = "2025-01-25T08:38:29.159Z" }, - { url = "https://files.pythonhosted.org/packages/bd/91/e59a66538a3364176f6c3f7620eee0ab195bfe26f89a95cbcc7a1fb04b28/mmh3-5.1.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:57730067174a7f36fcd6ce012fe359bd5510fdaa5fe067bc94ed03e65dafb769", size = 106835, upload-time = "2025-01-25T08:38:33.04Z" }, - { url = "https://files.pythonhosted.org/packages/25/14/b85836e21ab90e5cddb85fe79c494ebd8f81d96a87a664c488cc9277668b/mmh3-5.1.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bde80eb196d7fdc765a318604ded74a4378f02c5b46c17aa48a27d742edaded2", size = 93688, upload-time = "2025-01-25T08:38:34.987Z" }, - { url = "https://files.pythonhosted.org/packages/ac/aa/8bc964067df9262740c95e4cde2d19f149f2224f426654e14199a9e47df6/mmh3-5.1.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e9c8eddcb441abddeb419c16c56fd74b3e2df9e57f7aa2903221996718435c7a", size = 101569, upload-time = "2025-01-25T08:38:35.983Z" }, - { url = "https://files.pythonhosted.org/packages/70/b6/1fb163cbf919046a64717466c00edabebece3f95c013853fec76dbf2df92/mmh3-5.1.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:99e07e4acafbccc7a28c076a847fb060ffc1406036bc2005acb1b2af620e53c3", size = 98483, upload-time = "2025-01-25T08:38:38.198Z" }, - { url = "https://files.pythonhosted.org/packages/70/49/ba64c050dd646060f835f1db6b2cd60a6485f3b0ea04976e7a29ace7312e/mmh3-5.1.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:9e25ba5b530e9a7d65f41a08d48f4b3fedc1e89c26486361166a5544aa4cad33", size = 96496, upload-time = "2025-01-25T08:38:39.257Z" }, - { url = "https://files.pythonhosted.org/packages/9e/07/f2751d6a0b535bb865e1066e9c6b80852571ef8d61bce7eb44c18720fbfc/mmh3-5.1.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:bb9bf7475b4d99156ce2f0cf277c061a17560c8c10199c910a680869a278ddc7", size = 105109, upload-time = "2025-01-25T08:38:40.395Z" }, - { url = "https://files.pythonhosted.org/packages/b7/02/30360a5a66f7abba44596d747cc1e6fb53136b168eaa335f63454ab7bb79/mmh3-5.1.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:2a1b0878dd281ea3003368ab53ff6f568e175f1b39f281df1da319e58a19c23a", size = 98231, upload-time = "2025-01-25T08:38:42.141Z" }, - { url = "https://files.pythonhosted.org/packages/8c/60/8526b0c750ff4d7ae1266e68b795f14b97758a1d9fcc19f6ecabf9c55656/mmh3-5.1.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:25f565093ac8b8aefe0f61f8f95c9a9d11dd69e6a9e9832ff0d293511bc36258", size = 97548, upload-time = "2025-01-25T08:38:43.402Z" }, - { url = "https://files.pythonhosted.org/packages/6d/4c/26e1222aca65769280d5427a1ce5875ef4213449718c8f03958d0bf91070/mmh3-5.1.0-cp311-cp311-win32.whl", hash = "sha256:1e3554d8792387eac73c99c6eaea0b3f884e7130eb67986e11c403e4f9b6d372", size = 40810, upload-time = "2025-01-25T08:38:45.143Z" }, - { url = "https://files.pythonhosted.org/packages/98/d5/424ba95062d1212ea615dc8debc8d57983f2242d5e6b82e458b89a117a1e/mmh3-5.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:8ad777a48197882492af50bf3098085424993ce850bdda406a358b6ab74be759", size = 41476, upload-time = "2025-01-25T08:38:46.029Z" }, - { url = "https://files.pythonhosted.org/packages/bd/08/0315ccaf087ba55bb19a6dd3b1e8acd491e74ce7f5f9c4aaa06a90d66441/mmh3-5.1.0-cp311-cp311-win_arm64.whl", hash = "sha256:f29dc4efd99bdd29fe85ed6c81915b17b2ef2cf853abf7213a48ac6fb3eaabe1", size = 38880, upload-time = "2025-01-25T08:38:47.035Z" }, - { url = "https://files.pythonhosted.org/packages/f4/47/e5f452bdf16028bfd2edb4e2e35d0441e4a4740f30e68ccd4cfd2fb2c57e/mmh3-5.1.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:45712987367cb9235026e3cbf4334670522a97751abfd00b5bc8bfa022c3311d", size = 56152, upload-time = "2025-01-25T08:38:47.902Z" }, - { url = "https://files.pythonhosted.org/packages/60/38/2132d537dc7a7fdd8d2e98df90186c7fcdbd3f14f95502a24ba443c92245/mmh3-5.1.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:b1020735eb35086ab24affbea59bb9082f7f6a0ad517cb89f0fc14f16cea4dae", size = 40564, upload-time = "2025-01-25T08:38:48.839Z" }, - { url = "https://files.pythonhosted.org/packages/c0/2a/c52cf000581bfb8d94794f58865658e7accf2fa2e90789269d4ae9560b16/mmh3-5.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:babf2a78ce5513d120c358722a2e3aa7762d6071cd10cede026f8b32452be322", size = 40104, upload-time = "2025-01-25T08:38:49.773Z" }, - { url = "https://files.pythonhosted.org/packages/83/33/30d163ce538c54fc98258db5621447e3ab208d133cece5d2577cf913e708/mmh3-5.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d4f47f58cd5cbef968c84a7c1ddc192fef0a36b48b0b8a3cb67354531aa33b00", size = 102634, upload-time = "2025-01-25T08:38:51.5Z" }, - { url = "https://files.pythonhosted.org/packages/94/5c/5a18acb6ecc6852be2d215c3d811aa61d7e425ab6596be940877355d7f3e/mmh3-5.1.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2044a601c113c981f2c1e14fa33adc9b826c9017034fe193e9eb49a6882dbb06", size = 108888, upload-time = "2025-01-25T08:38:52.542Z" }, - { url = "https://files.pythonhosted.org/packages/1f/f6/11c556324c64a92aa12f28e221a727b6e082e426dc502e81f77056f6fc98/mmh3-5.1.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c94d999c9f2eb2da44d7c2826d3fbffdbbbbcde8488d353fee7c848ecc42b968", size = 106968, upload-time = "2025-01-25T08:38:54.286Z" }, - { url = "https://files.pythonhosted.org/packages/5d/61/ca0c196a685aba7808a5c00246f17b988a9c4f55c594ee0a02c273e404f3/mmh3-5.1.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a015dcb24fa0c7a78f88e9419ac74f5001c1ed6a92e70fd1803f74afb26a4c83", size = 93771, upload-time = "2025-01-25T08:38:55.576Z" }, - { url = "https://files.pythonhosted.org/packages/b4/55/0927c33528710085ee77b808d85bbbafdb91a1db7c8eaa89cac16d6c513e/mmh3-5.1.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:457da019c491a2d20e2022c7d4ce723675e4c081d9efc3b4d8b9f28a5ea789bd", size = 101726, upload-time = "2025-01-25T08:38:56.654Z" }, - { url = "https://files.pythonhosted.org/packages/49/39/a92c60329fa470f41c18614a93c6cd88821412a12ee78c71c3f77e1cfc2d/mmh3-5.1.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:71408579a570193a4ac9c77344d68ddefa440b00468a0b566dcc2ba282a9c559", size = 98523, upload-time = "2025-01-25T08:38:57.662Z" }, - { url = "https://files.pythonhosted.org/packages/81/90/26adb15345af8d9cf433ae1b6adcf12e0a4cad1e692de4fa9f8e8536c5ae/mmh3-5.1.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:8b3a04bc214a6e16c81f02f855e285c6df274a2084787eeafaa45f2fbdef1b63", size = 96628, upload-time = "2025-01-25T08:38:59.505Z" }, - { url = "https://files.pythonhosted.org/packages/8a/4d/340d1e340df972a13fd4ec84c787367f425371720a1044220869c82364e9/mmh3-5.1.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:832dae26a35514f6d3c1e267fa48e8de3c7b978afdafa0529c808ad72e13ada3", size = 105190, upload-time = "2025-01-25T08:39:00.483Z" }, - { url = "https://files.pythonhosted.org/packages/d3/7c/65047d1cccd3782d809936db446430fc7758bda9def5b0979887e08302a2/mmh3-5.1.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:bf658a61fc92ef8a48945ebb1076ef4ad74269e353fffcb642dfa0890b13673b", size = 98439, upload-time = "2025-01-25T08:39:01.484Z" }, - { url = "https://files.pythonhosted.org/packages/72/d2/3c259d43097c30f062050f7e861075099404e8886b5d4dd3cebf180d6e02/mmh3-5.1.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3313577453582b03383731b66447cdcdd28a68f78df28f10d275d7d19010c1df", size = 97780, upload-time = "2025-01-25T08:39:02.444Z" }, - { url = "https://files.pythonhosted.org/packages/29/29/831ea8d4abe96cdb3e28b79eab49cac7f04f9c6b6e36bfc686197ddba09d/mmh3-5.1.0-cp312-cp312-win32.whl", hash = "sha256:1d6508504c531ab86c4424b5a5ff07c1132d063863339cf92f6657ff7a580f76", size = 40835, upload-time = "2025-01-25T08:39:03.369Z" }, - { url = "https://files.pythonhosted.org/packages/12/dd/7cbc30153b73f08eeac43804c1dbc770538a01979b4094edbe1a4b8eb551/mmh3-5.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:aa75981fcdf3f21759d94f2c81b6a6e04a49dfbcdad88b152ba49b8e20544776", size = 41509, upload-time = "2025-01-25T08:39:04.284Z" }, - { url = "https://files.pythonhosted.org/packages/80/9d/627375bab4c90dd066093fc2c9a26b86f87e26d980dbf71667b44cbee3eb/mmh3-5.1.0-cp312-cp312-win_arm64.whl", hash = "sha256:a4c1a76808dfea47f7407a0b07aaff9087447ef6280716fd0783409b3088bb3c", size = 38888, upload-time = "2025-01-25T08:39:05.174Z" }, - { url = "https://files.pythonhosted.org/packages/05/06/a098a42870db16c0a54a82c56a5bdc873de3165218cd5b3ca59dbc0d31a7/mmh3-5.1.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:7a523899ca29cfb8a5239618474a435f3d892b22004b91779fcb83504c0d5b8c", size = 56165, upload-time = "2025-01-25T08:39:06.887Z" }, - { url = "https://files.pythonhosted.org/packages/5a/65/eaada79a67fde1f43e1156d9630e2fb70655e1d3f4e8f33d7ffa31eeacfd/mmh3-5.1.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:17cef2c3a6ca2391ca7171a35ed574b5dab8398163129a3e3a4c05ab85a4ff40", size = 40569, upload-time = "2025-01-25T08:39:07.945Z" }, - { url = "https://files.pythonhosted.org/packages/36/7e/2b6c43ed48be583acd68e34d16f19209a9f210e4669421b0321e326d8554/mmh3-5.1.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:52e12895b30110f3d89dae59a888683cc886ed0472dd2eca77497edef6161997", size = 40104, upload-time = "2025-01-25T08:39:09.598Z" }, - { url = "https://files.pythonhosted.org/packages/11/2b/1f9e962fdde8e41b0f43d22c8ba719588de8952f9376df7d73a434827590/mmh3-5.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e0d6719045cda75c3f40397fc24ab67b18e0cb8f69d3429ab4c39763c4c608dd", size = 102497, upload-time = "2025-01-25T08:39:10.512Z" }, - { url = "https://files.pythonhosted.org/packages/46/94/d6c5c3465387ba077cccdc028ab3eec0d86eed1eebe60dcf4d15294056be/mmh3-5.1.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d19fa07d303a91f8858982c37e6939834cb11893cb3ff20e6ee6fa2a7563826a", size = 108834, upload-time = "2025-01-25T08:39:11.568Z" }, - { url = "https://files.pythonhosted.org/packages/34/1e/92c212bb81796b69dddfd50a8a8f4b26ab0d38fdaf1d3e8628a67850543b/mmh3-5.1.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:31b47a620d622fbde8ca1ca0435c5d25de0ac57ab507209245e918128e38e676", size = 106936, upload-time = "2025-01-25T08:39:12.638Z" }, - { url = "https://files.pythonhosted.org/packages/f4/41/f2f494bbff3aad5ffd2085506255049de76cde51ddac84058e32768acc79/mmh3-5.1.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:00f810647c22c179b6821079f7aa306d51953ac893587ee09cf1afb35adf87cb", size = 93709, upload-time = "2025-01-25T08:39:14.071Z" }, - { url = "https://files.pythonhosted.org/packages/9e/a9/a2cc4a756d73d9edf4fb85c76e16fd56b0300f8120fd760c76b28f457730/mmh3-5.1.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f6128b610b577eed1e89ac7177ab0c33d06ade2aba93f5c89306032306b5f1c6", size = 101623, upload-time = "2025-01-25T08:39:15.507Z" }, - { url = "https://files.pythonhosted.org/packages/5e/6f/b9d735533b6a56b2d56333ff89be6a55ac08ba7ff33465feb131992e33eb/mmh3-5.1.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:1e550a45d2ff87a1c11b42015107f1778c93f4c6f8e731bf1b8fa770321b8cc4", size = 98521, upload-time = "2025-01-25T08:39:16.77Z" }, - { url = "https://files.pythonhosted.org/packages/99/47/dff2b54fac0d421c1e6ecbd2d9c85b2d0e6f6ee0d10b115d9364116a511e/mmh3-5.1.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:785ae09276342f79fd8092633e2d52c0f7c44d56e8cfda8274ccc9b76612dba2", size = 96696, upload-time = "2025-01-25T08:39:17.805Z" }, - { url = "https://files.pythonhosted.org/packages/be/43/9e205310f47c43ddf1575bb3a1769c36688f30f1ac105e0f0c878a29d2cd/mmh3-5.1.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:0f4be3703a867ef976434afd3661a33884abe73ceb4ee436cac49d3b4c2aaa7b", size = 105234, upload-time = "2025-01-25T08:39:18.908Z" }, - { url = "https://files.pythonhosted.org/packages/6b/44/90b11fd2b67dcb513f5bfe9b476eb6ca2d5a221c79b49884dc859100905e/mmh3-5.1.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:e513983830c4ff1f205ab97152a0050cf7164f1b4783d702256d39c637b9d107", size = 98449, upload-time = "2025-01-25T08:39:20.719Z" }, - { url = "https://files.pythonhosted.org/packages/f0/d0/25c4b0c7b8e49836541059b28e034a4cccd0936202800d43a1cc48495ecb/mmh3-5.1.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:b9135c300535c828c0bae311b659f33a31c941572eae278568d1a953c4a57b59", size = 97796, upload-time = "2025-01-25T08:39:22.453Z" }, - { url = "https://files.pythonhosted.org/packages/23/fa/cbbb7fcd0e287a715f1cd28a10de94c0535bd94164e38b852abc18da28c6/mmh3-5.1.0-cp313-cp313-win32.whl", hash = "sha256:c65dbd12885a5598b70140d24de5839551af5a99b29f9804bb2484b29ef07692", size = 40828, upload-time = "2025-01-25T08:39:23.372Z" }, - { url = "https://files.pythonhosted.org/packages/09/33/9fb90ef822f7b734955a63851907cf72f8a3f9d8eb3c5706bfa6772a2a77/mmh3-5.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:10db7765201fc65003fa998faa067417ef6283eb5f9bba8f323c48fd9c33e91f", size = 41504, upload-time = "2025-01-25T08:39:24.286Z" }, - { url = "https://files.pythonhosted.org/packages/16/71/4ad9a42f2772793a03cb698f0fc42499f04e6e8d2560ba2f7da0fb059a8e/mmh3-5.1.0-cp313-cp313-win_arm64.whl", hash = "sha256:b22fe2e54be81f6c07dcb36b96fa250fb72effe08aa52fbb83eade6e1e2d5fd7", size = 38890, upload-time = "2025-01-25T08:39:25.28Z" }, + { url = "https://files.pythonhosted.org/packages/b9/2b/870f0ff5ecf312c58500f45950751f214b7068665e66e9bfd8bc2595587c/mmh3-5.2.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:81c504ad11c588c8629536b032940f2a359dda3b6cbfd4ad8f74cb24dcd1b0bc", size = 56119, upload-time = "2025-07-29T07:41:39.117Z" }, + { url = "https://files.pythonhosted.org/packages/3b/88/eb9a55b3f3cf43a74d6bfa8db0e2e209f966007777a1dc897c52c008314c/mmh3-5.2.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0b898cecff57442724a0f52bf42c2de42de63083a91008fb452887e372f9c328", size = 40634, upload-time = "2025-07-29T07:41:40.626Z" }, + { url = "https://files.pythonhosted.org/packages/d1/4c/8e4b3878bf8435c697d7ce99940a3784eb864521768069feaccaff884a17/mmh3-5.2.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:be1374df449465c9f2500e62eee73a39db62152a8bdfbe12ec5b5c1cd451344d", size = 40080, upload-time = "2025-07-29T07:41:41.791Z" }, + { url = "https://files.pythonhosted.org/packages/45/ac/0a254402c8c5ca424a0a9ebfe870f5665922f932830f0a11a517b6390a09/mmh3-5.2.0-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:b0d753ad566c721faa33db7e2e0eddd74b224cdd3eaf8481d76c926603c7a00e", size = 95321, upload-time = "2025-07-29T07:41:42.659Z" }, + { url = "https://files.pythonhosted.org/packages/39/8e/29306d5eca6dfda4b899d22c95b5420db4e0ffb7e0b6389b17379654ece5/mmh3-5.2.0-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:dfbead5575f6470c17e955b94f92d62a03dfc3d07f2e6f817d9b93dc211a1515", size = 101220, upload-time = "2025-07-29T07:41:43.572Z" }, + { url = "https://files.pythonhosted.org/packages/49/f7/0dd1368e531e52a17b5b8dd2f379cce813bff2d0978a7748a506f1231152/mmh3-5.2.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7434a27754049144539d2099a6d2da5d88b8bdeedf935180bf42ad59b3607aa3", size = 103991, upload-time = "2025-07-29T07:41:44.914Z" }, + { url = "https://files.pythonhosted.org/packages/35/06/abc7122c40f4abbfcef01d2dac6ec0b77ede9757e5be8b8a40a6265b1274/mmh3-5.2.0-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:cadc16e8ea64b5d9a47363013e2bea469e121e6e7cb416a7593aeb24f2ad122e", size = 110894, upload-time = "2025-07-29T07:41:45.849Z" }, + { url = "https://files.pythonhosted.org/packages/f4/2f/837885759afa4baccb8e40456e1cf76a4f3eac835b878c727ae1286c5f82/mmh3-5.2.0-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d765058da196f68dc721116cab335e696e87e76720e6ef8ee5a24801af65e63d", size = 118327, upload-time = "2025-07-29T07:41:47.224Z" }, + { url = "https://files.pythonhosted.org/packages/40/cc/5683ba20a21bcfb3f1605b1c474f46d30354f728a7412201f59f453d405a/mmh3-5.2.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:8b0c53fe0994beade1ad7c0f13bd6fec980a0664bfbe5a6a7d64500b9ab76772", size = 101701, upload-time = "2025-07-29T07:41:48.259Z" }, + { url = "https://files.pythonhosted.org/packages/0e/24/99ab3fb940150aec8a26dbdfc39b200b5592f6aeb293ec268df93e054c30/mmh3-5.2.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:49037d417419863b222ae47ee562b2de9c3416add0a45c8d7f4e864be8dc4f89", size = 96712, upload-time = "2025-07-29T07:41:49.467Z" }, + { url = "https://files.pythonhosted.org/packages/61/04/d7c4cb18f1f001ede2e8aed0f9dbbfad03d161c9eea4fffb03f14f4523e5/mmh3-5.2.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:6ecb4e750d712abde046858ee6992b65c93f1f71b397fce7975c3860c07365d2", size = 110302, upload-time = "2025-07-29T07:41:50.387Z" }, + { url = "https://files.pythonhosted.org/packages/d8/bf/4dac37580cfda74425a4547500c36fa13ef581c8a756727c37af45e11e9a/mmh3-5.2.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:382a6bb3f8c6532ea084e7acc5be6ae0c6effa529240836d59352398f002e3fc", size = 111929, upload-time = "2025-07-29T07:41:51.348Z" }, + { url = "https://files.pythonhosted.org/packages/eb/b1/49f0a582c7a942fb71ddd1ec52b7d21d2544b37d2b2d994551346a15b4f6/mmh3-5.2.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:7733ec52296fc1ba22e9b90a245c821adbb943e98c91d8a330a2254612726106", size = 100111, upload-time = "2025-07-29T07:41:53.139Z" }, + { url = "https://files.pythonhosted.org/packages/dc/94/ccec09f438caeb2506f4c63bb3b99aa08a9e09880f8fc047295154756210/mmh3-5.2.0-cp310-cp310-win32.whl", hash = "sha256:127c95336f2a98c51e7682341ab7cb0be3adb9df0819ab8505a726ed1801876d", size = 40783, upload-time = "2025-07-29T07:41:54.463Z" }, + { url = "https://files.pythonhosted.org/packages/ea/f4/8d39a32c8203c1cdae88fdb04d1ea4aa178c20f159df97f4c5a2eaec702c/mmh3-5.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:419005f84ba1cab47a77465a2a843562dadadd6671b8758bf179d82a15ca63eb", size = 41549, upload-time = "2025-07-29T07:41:55.295Z" }, + { url = "https://files.pythonhosted.org/packages/cc/a1/30efb1cd945e193f62574144dd92a0c9ee6463435e4e8ffce9b9e9f032f0/mmh3-5.2.0-cp310-cp310-win_arm64.whl", hash = "sha256:d22c9dcafed659fadc605538946c041722b6d1104fe619dbf5cc73b3c8a0ded8", size = 39335, upload-time = "2025-07-29T07:41:56.194Z" }, + { url = "https://files.pythonhosted.org/packages/f7/87/399567b3796e134352e11a8b973cd470c06b2ecfad5468fe580833be442b/mmh3-5.2.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:7901c893e704ee3c65f92d39b951f8f34ccf8e8566768c58103fb10e55afb8c1", size = 56107, upload-time = "2025-07-29T07:41:57.07Z" }, + { url = "https://files.pythonhosted.org/packages/c3/09/830af30adf8678955b247d97d3d9543dd2fd95684f3cd41c0cd9d291da9f/mmh3-5.2.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4a5f5536b1cbfa72318ab3bfc8a8188b949260baed186b75f0abc75b95d8c051", size = 40635, upload-time = "2025-07-29T07:41:57.903Z" }, + { url = "https://files.pythonhosted.org/packages/07/14/eaba79eef55b40d653321765ac5e8f6c9ac38780b8a7c2a2f8df8ee0fb72/mmh3-5.2.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:cedac4f4054b8f7859e5aed41aaa31ad03fce6851901a7fdc2af0275ac533c10", size = 40078, upload-time = "2025-07-29T07:41:58.772Z" }, + { url = "https://files.pythonhosted.org/packages/bb/26/83a0f852e763f81b2265d446b13ed6d49ee49e1fc0c47b9655977e6f3d81/mmh3-5.2.0-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:eb756caf8975882630ce4e9fbbeb9d3401242a72528230422c9ab3a0d278e60c", size = 97262, upload-time = "2025-07-29T07:41:59.678Z" }, + { url = "https://files.pythonhosted.org/packages/00/7d/b7133b10d12239aeaebf6878d7eaf0bf7d3738c44b4aba3c564588f6d802/mmh3-5.2.0-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:097e13c8b8a66c5753c6968b7640faefe85d8e38992703c1f666eda6ef4c3762", size = 103118, upload-time = "2025-07-29T07:42:01.197Z" }, + { url = "https://files.pythonhosted.org/packages/7b/3e/62f0b5dce2e22fd5b7d092aba285abd7959ea2b17148641e029f2eab1ffa/mmh3-5.2.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a7c0c7845566b9686480e6a7e9044db4afb60038d5fabd19227443f0104eeee4", size = 106072, upload-time = "2025-07-29T07:42:02.601Z" }, + { url = "https://files.pythonhosted.org/packages/66/84/ea88bb816edfe65052c757a1c3408d65c4201ddbd769d4a287b0f1a628b2/mmh3-5.2.0-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:61ac226af521a572700f863d6ecddc6ece97220ce7174e311948ff8c8919a363", size = 112925, upload-time = "2025-07-29T07:42:03.632Z" }, + { url = "https://files.pythonhosted.org/packages/2e/13/c9b1c022807db575fe4db806f442d5b5784547e2e82cff36133e58ea31c7/mmh3-5.2.0-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:582f9dbeefe15c32a5fa528b79b088b599a1dfe290a4436351c6090f90ddebb8", size = 120583, upload-time = "2025-07-29T07:42:04.991Z" }, + { url = "https://files.pythonhosted.org/packages/8a/5f/0e2dfe1a38f6a78788b7eb2b23432cee24623aeabbc907fed07fc17d6935/mmh3-5.2.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:2ebfc46b39168ab1cd44670a32ea5489bcbc74a25795c61b6d888c5c2cf654ed", size = 99127, upload-time = "2025-07-29T07:42:05.929Z" }, + { url = "https://files.pythonhosted.org/packages/77/27/aefb7d663b67e6a0c4d61a513c83e39ba2237e8e4557fa7122a742a23de5/mmh3-5.2.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:1556e31e4bd0ac0c17eaf220be17a09c171d7396919c3794274cb3415a9d3646", size = 98544, upload-time = "2025-07-29T07:42:06.87Z" }, + { url = "https://files.pythonhosted.org/packages/ab/97/a21cc9b1a7c6e92205a1b5fa030cdf62277d177570c06a239eca7bd6dd32/mmh3-5.2.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:81df0dae22cd0da87f1c978602750f33d17fb3d21fb0f326c89dc89834fea79b", size = 106262, upload-time = "2025-07-29T07:42:07.804Z" }, + { url = "https://files.pythonhosted.org/packages/43/18/db19ae82ea63c8922a880e1498a75342311f8aa0c581c4dd07711473b5f7/mmh3-5.2.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:eba01ec3bd4a49b9ac5ca2bc6a73ff5f3af53374b8556fcc2966dd2af9eb7779", size = 109824, upload-time = "2025-07-29T07:42:08.735Z" }, + { url = "https://files.pythonhosted.org/packages/9f/f5/41dcf0d1969125fc6f61d8618b107c79130b5af50b18a4651210ea52ab40/mmh3-5.2.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:e9a011469b47b752e7d20de296bb34591cdfcbe76c99c2e863ceaa2aa61113d2", size = 97255, upload-time = "2025-07-29T07:42:09.706Z" }, + { url = "https://files.pythonhosted.org/packages/32/b3/cce9eaa0efac1f0e735bb178ef9d1d2887b4927fe0ec16609d5acd492dda/mmh3-5.2.0-cp311-cp311-win32.whl", hash = "sha256:bc44fc2b886243d7c0d8daeb37864e16f232e5b56aaec27cc781d848264cfd28", size = 40779, upload-time = "2025-07-29T07:42:10.546Z" }, + { url = "https://files.pythonhosted.org/packages/7c/e9/3fa0290122e6d5a7041b50ae500b8a9f4932478a51e48f209a3879fe0b9b/mmh3-5.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:8ebf241072cf2777a492d0e09252f8cc2b3edd07dfdb9404b9757bffeb4f2cee", size = 41549, upload-time = "2025-07-29T07:42:11.399Z" }, + { url = "https://files.pythonhosted.org/packages/3a/54/c277475b4102588e6f06b2e9095ee758dfe31a149312cdbf62d39a9f5c30/mmh3-5.2.0-cp311-cp311-win_arm64.whl", hash = "sha256:b5f317a727bba0e633a12e71228bc6a4acb4f471a98b1c003163b917311ea9a9", size = 39336, upload-time = "2025-07-29T07:42:12.209Z" }, + { url = "https://files.pythonhosted.org/packages/bf/6a/d5aa7edb5c08e0bd24286c7d08341a0446f9a2fbbb97d96a8a6dd81935ee/mmh3-5.2.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:384eda9361a7bf83a85e09447e1feafe081034af9dd428893701b959230d84be", size = 56141, upload-time = "2025-07-29T07:42:13.456Z" }, + { url = "https://files.pythonhosted.org/packages/08/49/131d0fae6447bc4a7299ebdb1a6fb9d08c9f8dcf97d75ea93e8152ddf7ab/mmh3-5.2.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:2c9da0d568569cc87315cb063486d761e38458b8ad513fedd3dc9263e1b81bcd", size = 40681, upload-time = "2025-07-29T07:42:14.306Z" }, + { url = "https://files.pythonhosted.org/packages/8f/6f/9221445a6bcc962b7f5ff3ba18ad55bba624bacdc7aa3fc0a518db7da8ec/mmh3-5.2.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:86d1be5d63232e6eb93c50881aea55ff06eb86d8e08f9b5417c8c9b10db9db96", size = 40062, upload-time = "2025-07-29T07:42:15.08Z" }, + { url = "https://files.pythonhosted.org/packages/1e/d4/6bb2d0fef81401e0bb4c297d1eb568b767de4ce6fc00890bc14d7b51ecc4/mmh3-5.2.0-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:bf7bee43e17e81671c447e9c83499f53d99bf440bc6d9dc26a841e21acfbe094", size = 97333, upload-time = "2025-07-29T07:42:16.436Z" }, + { url = "https://files.pythonhosted.org/packages/44/e0/ccf0daff8134efbb4fbc10a945ab53302e358c4b016ada9bf97a6bdd50c1/mmh3-5.2.0-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:7aa18cdb58983ee660c9c400b46272e14fa253c675ed963d3812487f8ca42037", size = 103310, upload-time = "2025-07-29T07:42:17.796Z" }, + { url = "https://files.pythonhosted.org/packages/02/63/1965cb08a46533faca0e420e06aff8bbaf9690a6f0ac6ae6e5b2e4544687/mmh3-5.2.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ae9d032488fcec32d22be6542d1a836f00247f40f320844dbb361393b5b22773", size = 106178, upload-time = "2025-07-29T07:42:19.281Z" }, + { url = "https://files.pythonhosted.org/packages/c2/41/c883ad8e2c234013f27f92061200afc11554ea55edd1bcf5e1accd803a85/mmh3-5.2.0-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:e1861fb6b1d0453ed7293200139c0a9011eeb1376632e048e3766945b13313c5", size = 113035, upload-time = "2025-07-29T07:42:20.356Z" }, + { url = "https://files.pythonhosted.org/packages/df/b5/1ccade8b1fa625d634a18bab7bf08a87457e09d5ec8cf83ca07cbea9d400/mmh3-5.2.0-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:99bb6a4d809aa4e528ddfe2c85dd5239b78b9dd14be62cca0329db78505e7b50", size = 120784, upload-time = "2025-07-29T07:42:21.377Z" }, + { url = "https://files.pythonhosted.org/packages/77/1c/919d9171fcbdcdab242e06394464ccf546f7d0f3b31e0d1e3a630398782e/mmh3-5.2.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1f8d8b627799f4e2fcc7c034fed8f5f24dc7724ff52f69838a3d6d15f1ad4765", size = 99137, upload-time = "2025-07-29T07:42:22.344Z" }, + { url = "https://files.pythonhosted.org/packages/66/8a/1eebef5bd6633d36281d9fc83cf2e9ba1ba0e1a77dff92aacab83001cee4/mmh3-5.2.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:b5995088dd7023d2d9f310a0c67de5a2b2e06a570ecfd00f9ff4ab94a67cde43", size = 98664, upload-time = "2025-07-29T07:42:23.269Z" }, + { url = "https://files.pythonhosted.org/packages/13/41/a5d981563e2ee682b21fb65e29cc0f517a6734a02b581359edd67f9d0360/mmh3-5.2.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:1a5f4d2e59d6bba8ef01b013c472741835ad961e7c28f50c82b27c57748744a4", size = 106459, upload-time = "2025-07-29T07:42:24.238Z" }, + { url = "https://files.pythonhosted.org/packages/24/31/342494cd6ab792d81e083680875a2c50fa0c5df475ebf0b67784f13e4647/mmh3-5.2.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:fd6e6c3d90660d085f7e73710eab6f5545d4854b81b0135a3526e797009dbda3", size = 110038, upload-time = "2025-07-29T07:42:25.629Z" }, + { url = "https://files.pythonhosted.org/packages/28/44/efda282170a46bb4f19c3e2b90536513b1d821c414c28469a227ca5a1789/mmh3-5.2.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:c4a2f3d83879e3de2eb8cbf562e71563a8ed15ee9b9c2e77ca5d9f73072ac15c", size = 97545, upload-time = "2025-07-29T07:42:27.04Z" }, + { url = "https://files.pythonhosted.org/packages/68/8f/534ae319c6e05d714f437e7206f78c17e66daca88164dff70286b0e8ea0c/mmh3-5.2.0-cp312-cp312-win32.whl", hash = "sha256:2421b9d665a0b1ad724ec7332fb5a98d075f50bc51a6ff854f3a1882bd650d49", size = 40805, upload-time = "2025-07-29T07:42:28.032Z" }, + { url = "https://files.pythonhosted.org/packages/b8/f6/f6abdcfefcedab3c964868048cfe472764ed358c2bf6819a70dd4ed4ed3a/mmh3-5.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:72d80005b7634a3a2220f81fbeb94775ebd12794623bb2e1451701ea732b4aa3", size = 41597, upload-time = "2025-07-29T07:42:28.894Z" }, + { url = "https://files.pythonhosted.org/packages/15/fd/f7420e8cbce45c259c770cac5718badf907b302d3a99ec587ba5ce030237/mmh3-5.2.0-cp312-cp312-win_arm64.whl", hash = "sha256:3d6bfd9662a20c054bc216f861fa330c2dac7c81e7fb8307b5e32ab5b9b4d2e0", size = 39350, upload-time = "2025-07-29T07:42:29.794Z" }, + { url = "https://files.pythonhosted.org/packages/d8/fa/27f6ab93995ef6ad9f940e96593c5dd24744d61a7389532b0fec03745607/mmh3-5.2.0-cp313-cp313-android_21_arm64_v8a.whl", hash = "sha256:e79c00eba78f7258e5b354eccd4d7907d60317ced924ea4a5f2e9d83f5453065", size = 40874, upload-time = "2025-07-29T07:42:30.662Z" }, + { url = "https://files.pythonhosted.org/packages/11/9c/03d13bcb6a03438bc8cac3d2e50f80908d159b31a4367c2e1a7a077ded32/mmh3-5.2.0-cp313-cp313-android_21_x86_64.whl", hash = "sha256:956127e663d05edbeec54df38885d943dfa27406594c411139690485128525de", size = 42012, upload-time = "2025-07-29T07:42:31.539Z" }, + { url = "https://files.pythonhosted.org/packages/4e/78/0865d9765408a7d504f1789944e678f74e0888b96a766d578cb80b040999/mmh3-5.2.0-cp313-cp313-ios_13_0_arm64_iphoneos.whl", hash = "sha256:c3dca4cb5b946ee91b3d6bb700d137b1cd85c20827f89fdf9c16258253489044", size = 39197, upload-time = "2025-07-29T07:42:32.374Z" }, + { url = "https://files.pythonhosted.org/packages/3e/12/76c3207bd186f98b908b6706c2317abb73756d23a4e68ea2bc94825b9015/mmh3-5.2.0-cp313-cp313-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:e651e17bfde5840e9e4174b01e9e080ce49277b70d424308b36a7969d0d1af73", size = 39840, upload-time = "2025-07-29T07:42:33.227Z" }, + { url = "https://files.pythonhosted.org/packages/5d/0d/574b6cce5555c9f2b31ea189ad44986755eb14e8862db28c8b834b8b64dc/mmh3-5.2.0-cp313-cp313-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:9f64bf06f4bf623325fda3a6d02d36cd69199b9ace99b04bb2d7fd9f89688504", size = 40644, upload-time = "2025-07-29T07:42:34.099Z" }, + { url = "https://files.pythonhosted.org/packages/52/82/3731f8640b79c46707f53ed72034a58baad400be908c87b0088f1f89f986/mmh3-5.2.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ddc63328889bcaee77b743309e5c7d2d52cee0d7d577837c91b6e7cc9e755e0b", size = 56153, upload-time = "2025-07-29T07:42:35.031Z" }, + { url = "https://files.pythonhosted.org/packages/4f/34/e02dca1d4727fd9fdeaff9e2ad6983e1552804ce1d92cc796e5b052159bb/mmh3-5.2.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:bb0fdc451fb6d86d81ab8f23d881b8d6e37fc373a2deae1c02d27002d2ad7a05", size = 40684, upload-time = "2025-07-29T07:42:35.914Z" }, + { url = "https://files.pythonhosted.org/packages/8f/36/3dee40767356e104967e6ed6d102ba47b0b1ce2a89432239b95a94de1b89/mmh3-5.2.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:b29044e1ffdb84fe164d0a7ea05c7316afea93c00f8ed9449cf357c36fc4f814", size = 40057, upload-time = "2025-07-29T07:42:36.755Z" }, + { url = "https://files.pythonhosted.org/packages/31/58/228c402fccf76eb39a0a01b8fc470fecf21965584e66453b477050ee0e99/mmh3-5.2.0-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:58981d6ea9646dbbf9e59a30890cbf9f610df0e4a57dbfe09215116fd90b0093", size = 97344, upload-time = "2025-07-29T07:42:37.675Z" }, + { url = "https://files.pythonhosted.org/packages/34/82/fc5ce89006389a6426ef28e326fc065b0fbaaed230373b62d14c889f47ea/mmh3-5.2.0-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:7e5634565367b6d98dc4aa2983703526ef556b3688ba3065edb4b9b90ede1c54", size = 103325, upload-time = "2025-07-29T07:42:38.591Z" }, + { url = "https://files.pythonhosted.org/packages/09/8c/261e85777c6aee1ebd53f2f17e210e7481d5b0846cd0b4a5c45f1e3761b8/mmh3-5.2.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b0271ac12415afd3171ab9a3c7cbfc71dee2c68760a7dc9d05bf8ed6ddfa3a7a", size = 106240, upload-time = "2025-07-29T07:42:39.563Z" }, + { url = "https://files.pythonhosted.org/packages/70/73/2f76b3ad8a3d431824e9934403df36c0ddacc7831acf82114bce3c4309c8/mmh3-5.2.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:45b590e31bc552c6f8e2150ff1ad0c28dd151e9f87589e7eaf508fbdd8e8e908", size = 113060, upload-time = "2025-07-29T07:42:40.585Z" }, + { url = "https://files.pythonhosted.org/packages/9f/b9/7ea61a34e90e50a79a9d87aa1c0b8139a7eaf4125782b34b7d7383472633/mmh3-5.2.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:bdde97310d59604f2a9119322f61b31546748499a21b44f6715e8ced9308a6c5", size = 120781, upload-time = "2025-07-29T07:42:41.618Z" }, + { url = "https://files.pythonhosted.org/packages/0f/5b/ae1a717db98c7894a37aeedbd94b3f99e6472a836488f36b6849d003485b/mmh3-5.2.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:fc9c5f280438cf1c1a8f9abb87dc8ce9630a964120cfb5dd50d1e7ce79690c7a", size = 99174, upload-time = "2025-07-29T07:42:42.587Z" }, + { url = "https://files.pythonhosted.org/packages/e3/de/000cce1d799fceebb6d4487ae29175dd8e81b48e314cba7b4da90bcf55d7/mmh3-5.2.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:c903e71fd8debb35ad2a4184c1316b3cb22f64ce517b4e6747f25b0a34e41266", size = 98734, upload-time = "2025-07-29T07:42:43.996Z" }, + { url = "https://files.pythonhosted.org/packages/79/19/0dc364391a792b72fbb22becfdeacc5add85cc043cd16986e82152141883/mmh3-5.2.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:eed4bba7ff8a0d37106ba931ab03bdd3915fbb025bcf4e1f0aa02bc8114960c5", size = 106493, upload-time = "2025-07-29T07:42:45.07Z" }, + { url = "https://files.pythonhosted.org/packages/3c/b1/bc8c28e4d6e807bbb051fefe78e1156d7f104b89948742ad310612ce240d/mmh3-5.2.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:1fdb36b940e9261aff0b5177c5b74a36936b902f473180f6c15bde26143681a9", size = 110089, upload-time = "2025-07-29T07:42:46.122Z" }, + { url = "https://files.pythonhosted.org/packages/3b/a2/d20f3f5c95e9c511806686c70d0a15479cc3941c5f322061697af1c1ff70/mmh3-5.2.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:7303aab41e97adcf010a09efd8f1403e719e59b7705d5e3cfed3dd7571589290", size = 97571, upload-time = "2025-07-29T07:42:47.18Z" }, + { url = "https://files.pythonhosted.org/packages/7b/23/665296fce4f33488deec39a750ffd245cfc07aafb0e3ef37835f91775d14/mmh3-5.2.0-cp313-cp313-win32.whl", hash = "sha256:03e08c6ebaf666ec1e3d6ea657a2d363bb01effd1a9acfe41f9197decaef0051", size = 40806, upload-time = "2025-07-29T07:42:48.166Z" }, + { url = "https://files.pythonhosted.org/packages/59/b0/92e7103f3b20646e255b699e2d0327ce53a3f250e44367a99dc8be0b7c7a/mmh3-5.2.0-cp313-cp313-win_amd64.whl", hash = "sha256:7fddccd4113e7b736706e17a239a696332360cbaddf25ae75b57ba1acce65081", size = 41600, upload-time = "2025-07-29T07:42:49.371Z" }, + { url = "https://files.pythonhosted.org/packages/99/22/0b2bd679a84574647de538c5b07ccaa435dbccc37815067fe15b90fe8dad/mmh3-5.2.0-cp313-cp313-win_arm64.whl", hash = "sha256:fa0c966ee727aad5406d516375593c5f058c766b21236ab8985693934bb5085b", size = 39349, upload-time = "2025-07-29T07:42:50.268Z" }, ] [[package]] name = "modal" -version = "1.1.0" +version = "1.1.1" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "aiohttp" }, @@ -4337,9 +4431,9 @@ dependencies = [ { name = "typing-extensions" }, { name = "watchfiles" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/35/68/88094cff7381e447012b8499da5cbd973ffd72afb8d78cced6a52a835ae3/modal-1.1.0.tar.gz", hash = "sha256:190ea96d45fbdfd6d6cb545a736bf1ef5599511d346ae94cfd773528a33b6097", size = 555957, upload-time = "2025-07-17T22:31:10.258Z" } +sdist = { url = "https://files.pythonhosted.org/packages/c2/26/68f143ce009b1f20c61edb6d8bbc18b505afd33c0f2b44830872269e46c9/modal-1.1.1.tar.gz", hash = "sha256:f353ca3b6151abec0b253c398198261859ceab79dbaa2238a58d068ce889b2c0", size = 569267, upload-time = "2025-08-01T13:32:50.337Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/56/19/96c8cc6334225b7e880d1dd2aa4c96e236a7c914d90204ce8b51711912e9/modal-1.1.0-py3-none-any.whl", hash = "sha256:985f47427f214e098768995782fda3915141af5f84007815db0c10c45e4a6a16", size = 643413, upload-time = "2025-07-17T22:31:08.255Z" }, + { url = "https://files.pythonhosted.org/packages/e3/b1/26904e24dfde0420f12f963a7e35d50defb461edc6c9bbbbf3716789ffd4/modal-1.1.1-py3-none-any.whl", hash = "sha256:ec2e2f68848a29228b61a646d2af7ac239558c005b66ca996d7c6c5de587ae36", size = 657544, upload-time = "2025-08-01T13:32:48.037Z" }, ] [[package]] @@ -4486,7 +4580,7 @@ wheels = [ [[package]] name = "mypy" -version = "1.17.0" +version = "1.17.1" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "mypy-extensions" }, @@ -4494,33 +4588,33 @@ dependencies = [ { name = "tomli", marker = "python_full_version < '3.11'" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/1e/e3/034322d5a779685218ed69286c32faa505247f1f096251ef66c8fd203b08/mypy-1.17.0.tar.gz", hash = "sha256:e5d7ccc08ba089c06e2f5629c660388ef1fee708444f1dee0b9203fa031dee03", size = 3352114, upload-time = "2025-07-14T20:34:30.181Z" } +sdist = { url = "https://files.pythonhosted.org/packages/8e/22/ea637422dedf0bf36f3ef238eab4e455e2a0dcc3082b5cc067615347ab8e/mypy-1.17.1.tar.gz", hash = "sha256:25e01ec741ab5bb3eec8ba9cdb0f769230368a22c959c4937360efb89b7e9f01", size = 3352570, upload-time = "2025-07-31T07:54:19.204Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/6a/31/e762baa3b73905c856d45ab77b4af850e8159dffffd86a52879539a08c6b/mypy-1.17.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:f8e08de6138043108b3b18f09d3f817a4783912e48828ab397ecf183135d84d6", size = 10998313, upload-time = "2025-07-14T20:33:24.519Z" }, - { url = "https://files.pythonhosted.org/packages/1c/c1/25b2f0d46fb7e0b5e2bee61ec3a47fe13eff9e3c2f2234f144858bbe6485/mypy-1.17.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ce4a17920ec144647d448fc43725b5873548b1aae6c603225626747ededf582d", size = 10128922, upload-time = "2025-07-14T20:34:06.414Z" }, - { url = "https://files.pythonhosted.org/packages/02/78/6d646603a57aa8a2886df1b8881fe777ea60f28098790c1089230cd9c61d/mypy-1.17.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6ff25d151cc057fdddb1cb1881ef36e9c41fa2a5e78d8dd71bee6e4dcd2bc05b", size = 11913524, upload-time = "2025-07-14T20:33:19.109Z" }, - { url = "https://files.pythonhosted.org/packages/4f/19/dae6c55e87ee426fb76980f7e78484450cad1c01c55a1dc4e91c930bea01/mypy-1.17.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:93468cf29aa9a132bceb103bd8475f78cacde2b1b9a94fd978d50d4bdf616c9a", size = 12650527, upload-time = "2025-07-14T20:32:44.095Z" }, - { url = "https://files.pythonhosted.org/packages/86/e1/f916845a235235a6c1e4d4d065a3930113767001d491b8b2e1b61ca56647/mypy-1.17.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:98189382b310f16343151f65dd7e6867386d3e35f7878c45cfa11383d175d91f", size = 12897284, upload-time = "2025-07-14T20:33:38.168Z" }, - { url = "https://files.pythonhosted.org/packages/ae/dc/414760708a4ea1b096bd214d26a24e30ac5e917ef293bc33cdb6fe22d2da/mypy-1.17.0-cp310-cp310-win_amd64.whl", hash = "sha256:c004135a300ab06a045c1c0d8e3f10215e71d7b4f5bb9a42ab80236364429937", size = 9506493, upload-time = "2025-07-14T20:34:01.093Z" }, - { url = "https://files.pythonhosted.org/packages/d4/24/82efb502b0b0f661c49aa21cfe3e1999ddf64bf5500fc03b5a1536a39d39/mypy-1.17.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:9d4fe5c72fd262d9c2c91c1117d16aac555e05f5beb2bae6a755274c6eec42be", size = 10914150, upload-time = "2025-07-14T20:31:51.985Z" }, - { url = "https://files.pythonhosted.org/packages/03/96/8ef9a6ff8cedadff4400e2254689ca1dc4b420b92c55255b44573de10c54/mypy-1.17.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d96b196e5c16f41b4f7736840e8455958e832871990c7ba26bf58175e357ed61", size = 10039845, upload-time = "2025-07-14T20:32:30.527Z" }, - { url = "https://files.pythonhosted.org/packages/df/32/7ce359a56be779d38021d07941cfbb099b41411d72d827230a36203dbb81/mypy-1.17.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:73a0ff2dd10337ceb521c080d4147755ee302dcde6e1a913babd59473904615f", size = 11837246, upload-time = "2025-07-14T20:32:01.28Z" }, - { url = "https://files.pythonhosted.org/packages/82/16/b775047054de4d8dbd668df9137707e54b07fe18c7923839cd1e524bf756/mypy-1.17.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:24cfcc1179c4447854e9e406d3af0f77736d631ec87d31c6281ecd5025df625d", size = 12571106, upload-time = "2025-07-14T20:34:26.942Z" }, - { url = "https://files.pythonhosted.org/packages/a1/cf/fa33eaf29a606102c8d9ffa45a386a04c2203d9ad18bf4eef3e20c43ebc8/mypy-1.17.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:3c56f180ff6430e6373db7a1d569317675b0a451caf5fef6ce4ab365f5f2f6c3", size = 12759960, upload-time = "2025-07-14T20:33:42.882Z" }, - { url = "https://files.pythonhosted.org/packages/94/75/3f5a29209f27e739ca57e6350bc6b783a38c7621bdf9cac3ab8a08665801/mypy-1.17.0-cp311-cp311-win_amd64.whl", hash = "sha256:eafaf8b9252734400f9b77df98b4eee3d2eecab16104680d51341c75702cad70", size = 9503888, upload-time = "2025-07-14T20:32:34.392Z" }, - { url = "https://files.pythonhosted.org/packages/12/e9/e6824ed620bbf51d3bf4d6cbbe4953e83eaf31a448d1b3cfb3620ccb641c/mypy-1.17.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:f986f1cab8dbec39ba6e0eaa42d4d3ac6686516a5d3dccd64be095db05ebc6bb", size = 11086395, upload-time = "2025-07-14T20:34:11.452Z" }, - { url = "https://files.pythonhosted.org/packages/ba/51/a4afd1ae279707953be175d303f04a5a7bd7e28dc62463ad29c1c857927e/mypy-1.17.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:51e455a54d199dd6e931cd7ea987d061c2afbaf0960f7f66deef47c90d1b304d", size = 10120052, upload-time = "2025-07-14T20:33:09.897Z" }, - { url = "https://files.pythonhosted.org/packages/8a/71/19adfeac926ba8205f1d1466d0d360d07b46486bf64360c54cb5a2bd86a8/mypy-1.17.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3204d773bab5ff4ebbd1f8efa11b498027cd57017c003ae970f310e5b96be8d8", size = 11861806, upload-time = "2025-07-14T20:32:16.028Z" }, - { url = "https://files.pythonhosted.org/packages/0b/64/d6120eca3835baf7179e6797a0b61d6c47e0bc2324b1f6819d8428d5b9ba/mypy-1.17.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1051df7ec0886fa246a530ae917c473491e9a0ba6938cfd0ec2abc1076495c3e", size = 12744371, upload-time = "2025-07-14T20:33:33.503Z" }, - { url = "https://files.pythonhosted.org/packages/1f/dc/56f53b5255a166f5bd0f137eed960e5065f2744509dfe69474ff0ba772a5/mypy-1.17.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:f773c6d14dcc108a5b141b4456b0871df638eb411a89cd1c0c001fc4a9d08fc8", size = 12914558, upload-time = "2025-07-14T20:33:56.961Z" }, - { url = "https://files.pythonhosted.org/packages/69/ac/070bad311171badc9add2910e7f89271695a25c136de24bbafc7eded56d5/mypy-1.17.0-cp312-cp312-win_amd64.whl", hash = "sha256:1619a485fd0e9c959b943c7b519ed26b712de3002d7de43154a489a2d0fd817d", size = 9585447, upload-time = "2025-07-14T20:32:20.594Z" }, - { url = "https://files.pythonhosted.org/packages/be/7b/5f8ab461369b9e62157072156935cec9d272196556bdc7c2ff5f4c7c0f9b/mypy-1.17.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:2c41aa59211e49d717d92b3bb1238c06d387c9325d3122085113c79118bebb06", size = 11070019, upload-time = "2025-07-14T20:32:07.99Z" }, - { url = "https://files.pythonhosted.org/packages/9c/f8/c49c9e5a2ac0badcc54beb24e774d2499748302c9568f7f09e8730e953fa/mypy-1.17.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0e69db1fb65b3114f98c753e3930a00514f5b68794ba80590eb02090d54a5d4a", size = 10114457, upload-time = "2025-07-14T20:33:47.285Z" }, - { url = "https://files.pythonhosted.org/packages/89/0c/fb3f9c939ad9beed3e328008b3fb90b20fda2cddc0f7e4c20dbefefc3b33/mypy-1.17.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:03ba330b76710f83d6ac500053f7727270b6b8553b0423348ffb3af6f2f7b889", size = 11857838, upload-time = "2025-07-14T20:33:14.462Z" }, - { url = "https://files.pythonhosted.org/packages/4c/66/85607ab5137d65e4f54d9797b77d5a038ef34f714929cf8ad30b03f628df/mypy-1.17.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:037bc0f0b124ce46bfde955c647f3e395c6174476a968c0f22c95a8d2f589bba", size = 12731358, upload-time = "2025-07-14T20:32:25.579Z" }, - { url = "https://files.pythonhosted.org/packages/73/d0/341dbbfb35ce53d01f8f2969facbb66486cee9804048bf6c01b048127501/mypy-1.17.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:c38876106cb6132259683632b287238858bd58de267d80defb6f418e9ee50658", size = 12917480, upload-time = "2025-07-14T20:34:21.868Z" }, - { url = "https://files.pythonhosted.org/packages/64/63/70c8b7dbfc520089ac48d01367a97e8acd734f65bd07813081f508a8c94c/mypy-1.17.0-cp313-cp313-win_amd64.whl", hash = "sha256:d30ba01c0f151998f367506fab31c2ac4527e6a7b2690107c7a7f9e3cb419a9c", size = 9589666, upload-time = "2025-07-14T20:34:16.841Z" }, - { url = "https://files.pythonhosted.org/packages/e3/fc/ee058cc4316f219078464555873e99d170bde1d9569abd833300dbeb484a/mypy-1.17.0-py3-none-any.whl", hash = "sha256:15d9d0018237ab058e5de3d8fce61b6fa72cc59cc78fd91f1b474bce12abf496", size = 2283195, upload-time = "2025-07-14T20:31:54.753Z" }, + { url = "https://files.pythonhosted.org/packages/77/a9/3d7aa83955617cdf02f94e50aab5c830d205cfa4320cf124ff64acce3a8e/mypy-1.17.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:3fbe6d5555bf608c47203baa3e72dbc6ec9965b3d7c318aa9a4ca76f465bd972", size = 11003299, upload-time = "2025-07-31T07:54:06.425Z" }, + { url = "https://files.pythonhosted.org/packages/83/e8/72e62ff837dd5caaac2b4a5c07ce769c8e808a00a65e5d8f94ea9c6f20ab/mypy-1.17.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:80ef5c058b7bce08c83cac668158cb7edea692e458d21098c7d3bce35a5d43e7", size = 10125451, upload-time = "2025-07-31T07:53:52.974Z" }, + { url = "https://files.pythonhosted.org/packages/7d/10/f3f3543f6448db11881776f26a0ed079865926b0c841818ee22de2c6bbab/mypy-1.17.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c4a580f8a70c69e4a75587bd925d298434057fe2a428faaf927ffe6e4b9a98df", size = 11916211, upload-time = "2025-07-31T07:53:18.879Z" }, + { url = "https://files.pythonhosted.org/packages/06/bf/63e83ed551282d67bb3f7fea2cd5561b08d2bb6eb287c096539feb5ddbc5/mypy-1.17.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:dd86bb649299f09d987a2eebb4d52d10603224500792e1bee18303bbcc1ce390", size = 12652687, upload-time = "2025-07-31T07:53:30.544Z" }, + { url = "https://files.pythonhosted.org/packages/69/66/68f2eeef11facf597143e85b694a161868b3b006a5fbad50e09ea117ef24/mypy-1.17.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:a76906f26bd8d51ea9504966a9c25419f2e668f012e0bdf3da4ea1526c534d94", size = 12896322, upload-time = "2025-07-31T07:53:50.74Z" }, + { url = "https://files.pythonhosted.org/packages/a3/87/8e3e9c2c8bd0d7e071a89c71be28ad088aaecbadf0454f46a540bda7bca6/mypy-1.17.1-cp310-cp310-win_amd64.whl", hash = "sha256:e79311f2d904ccb59787477b7bd5d26f3347789c06fcd7656fa500875290264b", size = 9507962, upload-time = "2025-07-31T07:53:08.431Z" }, + { url = "https://files.pythonhosted.org/packages/46/cf/eadc80c4e0a70db1c08921dcc220357ba8ab2faecb4392e3cebeb10edbfa/mypy-1.17.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ad37544be07c5d7fba814eb370e006df58fed8ad1ef33ed1649cb1889ba6ff58", size = 10921009, upload-time = "2025-07-31T07:53:23.037Z" }, + { url = "https://files.pythonhosted.org/packages/5d/c1/c869d8c067829ad30d9bdae051046561552516cfb3a14f7f0347b7d973ee/mypy-1.17.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:064e2ff508e5464b4bd807a7c1625bc5047c5022b85c70f030680e18f37273a5", size = 10047482, upload-time = "2025-07-31T07:53:26.151Z" }, + { url = "https://files.pythonhosted.org/packages/98/b9/803672bab3fe03cee2e14786ca056efda4bb511ea02dadcedde6176d06d0/mypy-1.17.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:70401bbabd2fa1aa7c43bb358f54037baf0586f41e83b0ae67dd0534fc64edfd", size = 11832883, upload-time = "2025-07-31T07:53:47.948Z" }, + { url = "https://files.pythonhosted.org/packages/88/fb/fcdac695beca66800918c18697b48833a9a6701de288452b6715a98cfee1/mypy-1.17.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e92bdc656b7757c438660f775f872a669b8ff374edc4d18277d86b63edba6b8b", size = 12566215, upload-time = "2025-07-31T07:54:04.031Z" }, + { url = "https://files.pythonhosted.org/packages/7f/37/a932da3d3dace99ee8eb2043b6ab03b6768c36eb29a02f98f46c18c0da0e/mypy-1.17.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:c1fdf4abb29ed1cb091cf432979e162c208a5ac676ce35010373ff29247bcad5", size = 12751956, upload-time = "2025-07-31T07:53:36.263Z" }, + { url = "https://files.pythonhosted.org/packages/8c/cf/6438a429e0f2f5cab8bc83e53dbebfa666476f40ee322e13cac5e64b79e7/mypy-1.17.1-cp311-cp311-win_amd64.whl", hash = "sha256:ff2933428516ab63f961644bc49bc4cbe42bbffb2cd3b71cc7277c07d16b1a8b", size = 9507307, upload-time = "2025-07-31T07:53:59.734Z" }, + { url = "https://files.pythonhosted.org/packages/17/a2/7034d0d61af8098ec47902108553122baa0f438df8a713be860f7407c9e6/mypy-1.17.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:69e83ea6553a3ba79c08c6e15dbd9bfa912ec1e493bf75489ef93beb65209aeb", size = 11086295, upload-time = "2025-07-31T07:53:28.124Z" }, + { url = "https://files.pythonhosted.org/packages/14/1f/19e7e44b594d4b12f6ba8064dbe136505cec813549ca3e5191e40b1d3cc2/mypy-1.17.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1b16708a66d38abb1e6b5702f5c2c87e133289da36f6a1d15f6a5221085c6403", size = 10112355, upload-time = "2025-07-31T07:53:21.121Z" }, + { url = "https://files.pythonhosted.org/packages/5b/69/baa33927e29e6b4c55d798a9d44db5d394072eef2bdc18c3e2048c9ed1e9/mypy-1.17.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:89e972c0035e9e05823907ad5398c5a73b9f47a002b22359b177d40bdaee7056", size = 11875285, upload-time = "2025-07-31T07:53:55.293Z" }, + { url = "https://files.pythonhosted.org/packages/90/13/f3a89c76b0a41e19490b01e7069713a30949d9a6c147289ee1521bcea245/mypy-1.17.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:03b6d0ed2b188e35ee6d5c36b5580cffd6da23319991c49ab5556c023ccf1341", size = 12737895, upload-time = "2025-07-31T07:53:43.623Z" }, + { url = "https://files.pythonhosted.org/packages/23/a1/c4ee79ac484241301564072e6476c5a5be2590bc2e7bfd28220033d2ef8f/mypy-1.17.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:c837b896b37cd103570d776bda106eabb8737aa6dd4f248451aecf53030cdbeb", size = 12931025, upload-time = "2025-07-31T07:54:17.125Z" }, + { url = "https://files.pythonhosted.org/packages/89/b8/7409477be7919a0608900e6320b155c72caab4fef46427c5cc75f85edadd/mypy-1.17.1-cp312-cp312-win_amd64.whl", hash = "sha256:665afab0963a4b39dff7c1fa563cc8b11ecff7910206db4b2e64dd1ba25aed19", size = 9584664, upload-time = "2025-07-31T07:54:12.842Z" }, + { url = "https://files.pythonhosted.org/packages/5b/82/aec2fc9b9b149f372850291827537a508d6c4d3664b1750a324b91f71355/mypy-1.17.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:93378d3203a5c0800c6b6d850ad2f19f7a3cdf1a3701d3416dbf128805c6a6a7", size = 11075338, upload-time = "2025-07-31T07:53:38.873Z" }, + { url = "https://files.pythonhosted.org/packages/07/ac/ee93fbde9d2242657128af8c86f5d917cd2887584cf948a8e3663d0cd737/mypy-1.17.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:15d54056f7fe7a826d897789f53dd6377ec2ea8ba6f776dc83c2902b899fee81", size = 10113066, upload-time = "2025-07-31T07:54:14.707Z" }, + { url = "https://files.pythonhosted.org/packages/5a/68/946a1e0be93f17f7caa56c45844ec691ca153ee8b62f21eddda336a2d203/mypy-1.17.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:209a58fed9987eccc20f2ca94afe7257a8f46eb5df1fb69958650973230f91e6", size = 11875473, upload-time = "2025-07-31T07:53:14.504Z" }, + { url = "https://files.pythonhosted.org/packages/9f/0f/478b4dce1cb4f43cf0f0d00fba3030b21ca04a01b74d1cd272a528cf446f/mypy-1.17.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:099b9a5da47de9e2cb5165e581f158e854d9e19d2e96b6698c0d64de911dd849", size = 12744296, upload-time = "2025-07-31T07:53:03.896Z" }, + { url = "https://files.pythonhosted.org/packages/ca/70/afa5850176379d1b303f992a828de95fc14487429a7139a4e0bdd17a8279/mypy-1.17.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:fa6ffadfbe6994d724c5a1bb6123a7d27dd68fc9c059561cd33b664a79578e14", size = 12914657, upload-time = "2025-07-31T07:54:08.576Z" }, + { url = "https://files.pythonhosted.org/packages/53/f9/4a83e1c856a3d9c8f6edaa4749a4864ee98486e9b9dbfbc93842891029c2/mypy-1.17.1-cp313-cp313-win_amd64.whl", hash = "sha256:9a2b7d9180aed171f033c9f2fc6c204c1245cf60b0cb61cf2e7acc24eea78e0a", size = 9593320, upload-time = "2025-07-31T07:53:01.341Z" }, + { url = "https://files.pythonhosted.org/packages/1d/f3/8fcd2af0f5b806f6cf463efaffd3c9548a28f84220493ecd38d127b6b66d/mypy-1.17.1-py3-none-any.whl", hash = "sha256:a9f52c0351c21fe24c21d8c0eb1f62967b262d6729393397b6f443c3b773c3b9", size = 2283411, upload-time = "2025-07-31T07:53:24.664Z" }, ] [[package]] @@ -4534,11 +4628,11 @@ wheels = [ [[package]] name = "narwhals" -version = "1.48.1" +version = "2.0.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/9b/da/fe15ccd311ebb8fbbdacc447ba5888306c0b4a6253f628d60df351c36c7d/narwhals-1.48.1.tar.gz", hash = "sha256:b375cfdfc20b84b5ac0926f34c5c1373eb23ebea48d47bf75e282161cda63e34", size = 515882, upload-time = "2025-07-24T19:02:19.14Z" } +sdist = { url = "https://files.pythonhosted.org/packages/e2/8f/51d14e402c4f9d281a2e153a6a805cad5460088027a999faf264b54e7641/narwhals-2.0.1.tar.gz", hash = "sha256:235e61ca807bc21110ca36a4d53888ecc22c42dcdf50a7c886e10dde3fd7f38c", size = 525541, upload-time = "2025-07-29T08:39:04.81Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/cd/cf/411b2083991c6906634910ea0c5e5ea0a01f7f14da4194b39d7ad054c187/narwhals-1.48.1-py3-none-any.whl", hash = "sha256:76e3b069cf20a2746d8e227686b959530e98e8018c594a04e5f4f6f77e0872d9", size = 377332, upload-time = "2025-07-24T19:02:17.548Z" }, + { url = "https://files.pythonhosted.org/packages/7f/26/43caf834e47c63883a5eddc02893b7fdbe6a0a4508ff6dc401907f3cc085/narwhals-2.0.1-py3-none-any.whl", hash = "sha256:837457e36a2ba1710c881fb69e1f79ce44fb81728c92ac378f70892a53af8ddb", size = 385436, upload-time = "2025-07-29T08:39:03.163Z" }, ] [[package]] @@ -4598,14 +4692,14 @@ wheels = [ [[package]] name = "neo4j" -version = "5.28.1" +version = "5.28.2" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "pytz" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/4b/20/733dac16f7cedc80b23093415822c9763302519cba0e7c8bcdb5c01fc512/neo4j-5.28.1.tar.gz", hash = "sha256:ae8e37a1d895099062c75bc359b2cce62099baac7be768d0eba7180c1298e214", size = 231094, upload-time = "2025-02-10T08:36:22.566Z" } +sdist = { url = "https://files.pythonhosted.org/packages/50/69/4862fabc082f2447131aada5c91736155349d77ebf443af7f59553b7b789/neo4j-5.28.2.tar.gz", hash = "sha256:7d38e27e4f987a45cc9052500c6ee27325cb23dae6509037fe31dd7ddaed70c7", size = 231874, upload-time = "2025-07-30T06:04:34.669Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/6a/57/94225fe5e9dabdc0ff60c88cbfcedf11277f4b34e7ab1373d3e62dbdd207/neo4j-5.28.1-py3-none-any.whl", hash = "sha256:6755ef9e5f4e14b403aef1138fb6315b120631a0075c138b5ddb2a06b87b09fd", size = 312258, upload-time = "2025-02-10T08:36:16.209Z" }, + { url = "https://files.pythonhosted.org/packages/04/00/1f74089c06aec1fac9390e2300a6a6b2381e0dac281783d64ccca9d681fd/neo4j-5.28.2-py3-none-any.whl", hash = "sha256:5c53b5c3eee6dee7e920c9724391aa38d7135a651e71b766da00533b92a91a94", size = 313156, upload-time = "2025-07-30T06:04:31.438Z" }, ] [[package]] @@ -4940,7 +5034,7 @@ wheels = [ [[package]] name = "openai" -version = "1.97.1" +version = "1.98.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "anyio" }, @@ -4952,9 +5046,9 @@ dependencies = [ { name = "tqdm" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/a6/57/1c471f6b3efb879d26686d31582997615e969f3bb4458111c9705e56332e/openai-1.97.1.tar.gz", hash = "sha256:a744b27ae624e3d4135225da9b1c89c107a2a7e5bc4c93e5b7b5214772ce7a4e", size = 494267, upload-time = "2025-07-22T13:10:12.607Z" } +sdist = { url = "https://files.pythonhosted.org/packages/d8/9d/52eadb15c92802711d6b6cf00df3a6d0d18b588f4c5ba5ff210c6419fc03/openai-1.98.0.tar.gz", hash = "sha256:3ee0fcc50ae95267fd22bd1ad095ba5402098f3df2162592e68109999f685427", size = 496695, upload-time = "2025-07-30T12:48:03.701Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/ee/35/412a0e9c3f0d37c94ed764b8ac7adae2d834dbd20e69f6aca582118e0f55/openai-1.97.1-py3-none-any.whl", hash = "sha256:4e96bbdf672ec3d44968c9ea39d2c375891db1acc1794668d8149d5fa6000606", size = 764380, upload-time = "2025-07-22T13:10:10.689Z" }, + { url = "https://files.pythonhosted.org/packages/a8/fe/f64631075b3d63a613c0d8ab761d5941631a470f6fa87eaaee1aa2b4ec0c/openai-1.98.0-py3-none-any.whl", hash = "sha256:b99b794ef92196829120e2df37647722104772d2a74d08305df9ced5f26eae34", size = 767713, upload-time = "2025-07-30T12:48:01.264Z" }, ] [[package]] @@ -4971,32 +5065,32 @@ wheels = [ [[package]] name = "opentelemetry-api" -version = "1.35.0" +version = "1.36.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "importlib-metadata" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/99/c9/4509bfca6bb43220ce7f863c9f791e0d5001c2ec2b5867d48586008b3d96/opentelemetry_api-1.35.0.tar.gz", hash = "sha256:a111b959bcfa5b4d7dffc2fbd6a241aa72dd78dd8e79b5b1662bda896c5d2ffe", size = 64778, upload-time = "2025-07-11T12:23:28.804Z" } +sdist = { url = "https://files.pythonhosted.org/packages/27/d2/c782c88b8afbf961d6972428821c302bd1e9e7bc361352172f0ca31296e2/opentelemetry_api-1.36.0.tar.gz", hash = "sha256:9a72572b9c416d004d492cbc6e61962c0501eaf945ece9b5a0f56597d8348aa0", size = 64780, upload-time = "2025-07-29T15:12:06.02Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/1d/5a/3f8d078dbf55d18442f6a2ecedf6786d81d7245844b2b20ce2b8ad6f0307/opentelemetry_api-1.35.0-py3-none-any.whl", hash = "sha256:c4ea7e258a244858daf18474625e9cc0149b8ee354f37843415771a40c25ee06", size = 65566, upload-time = "2025-07-11T12:23:07.944Z" }, + { url = "https://files.pythonhosted.org/packages/bb/ee/6b08dde0a022c463b88f55ae81149584b125a42183407dc1045c486cc870/opentelemetry_api-1.36.0-py3-none-any.whl", hash = "sha256:02f20bcacf666e1333b6b1f04e647dc1d5111f86b8e510238fcc56d7762cda8c", size = 65564, upload-time = "2025-07-29T15:11:47.998Z" }, ] [[package]] name = "opentelemetry-exporter-otlp-proto-common" -version = "1.35.0" +version = "1.36.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "opentelemetry-proto" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/56/d1/887f860529cba7fc3aba2f6a3597fefec010a17bd1b126810724707d9b51/opentelemetry_exporter_otlp_proto_common-1.35.0.tar.gz", hash = "sha256:6f6d8c39f629b9fa5c79ce19a2829dbd93034f8ac51243cdf40ed2196f00d7eb", size = 20299, upload-time = "2025-07-11T12:23:31.046Z" } +sdist = { url = "https://files.pythonhosted.org/packages/34/da/7747e57eb341c59886052d733072bc878424bf20f1d8cf203d508bbece5b/opentelemetry_exporter_otlp_proto_common-1.36.0.tar.gz", hash = "sha256:6c496ccbcbe26b04653cecadd92f73659b814c6e3579af157d8716e5f9f25cbf", size = 20302, upload-time = "2025-07-29T15:12:07.71Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/5a/2c/e31dd3c719bff87fa77391eb7f38b1430d22868c52312cba8aad60f280e5/opentelemetry_exporter_otlp_proto_common-1.35.0-py3-none-any.whl", hash = "sha256:863465de697ae81279ede660f3918680b4480ef5f69dcdac04f30722ed7b74cc", size = 18349, upload-time = "2025-07-11T12:23:11.713Z" }, + { url = "https://files.pythonhosted.org/packages/d0/ed/22290dca7db78eb32e0101738366b5bbda00d0407f00feffb9bf8c3fdf87/opentelemetry_exporter_otlp_proto_common-1.36.0-py3-none-any.whl", hash = "sha256:0fc002a6ed63eac235ada9aa7056e5492e9a71728214a61745f6ad04b923f840", size = 18349, upload-time = "2025-07-29T15:11:51.327Z" }, ] [[package]] name = "opentelemetry-exporter-otlp-proto-grpc" -version = "1.35.0" +version = "1.36.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "googleapis-common-protos" }, @@ -5007,48 +5101,48 @@ dependencies = [ { name = "opentelemetry-sdk" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/20/de/222e4f2f8cd39250991f84d76b661534aef457cafc6a3eb3fcd513627698/opentelemetry_exporter_otlp_proto_grpc-1.35.0.tar.gz", hash = "sha256:ac4c2c3aa5674642db0df0091ab43ec08bbd91a9be469c8d9b18923eb742b9cc", size = 23794, upload-time = "2025-07-11T12:23:31.662Z" } +sdist = { url = "https://files.pythonhosted.org/packages/72/6f/6c1b0bdd0446e5532294d1d41bf11fbaea39c8a2423a4cdfe4fe6b708127/opentelemetry_exporter_otlp_proto_grpc-1.36.0.tar.gz", hash = "sha256:b281afbf7036b325b3588b5b6c8bb175069e3978d1bd24071f4a59d04c1e5bbf", size = 23822, upload-time = "2025-07-29T15:12:08.292Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/f4/a6/3f60a77279e6a3dc21fc076dcb51be159a633b0bba5cba9fb804062a9332/opentelemetry_exporter_otlp_proto_grpc-1.35.0-py3-none-any.whl", hash = "sha256:ee31203eb3e50c7967b8fa71db366cc355099aca4e3726e489b248cdb2fd5a62", size = 18846, upload-time = "2025-07-11T12:23:12.957Z" }, + { url = "https://files.pythonhosted.org/packages/0c/67/5f6bd188d66d0fd8e81e681bbf5822e53eb150034e2611dd2b935d3ab61a/opentelemetry_exporter_otlp_proto_grpc-1.36.0-py3-none-any.whl", hash = "sha256:734e841fc6a5d6f30e7be4d8053adb703c70ca80c562ae24e8083a28fadef211", size = 18828, upload-time = "2025-07-29T15:11:52.235Z" }, ] [[package]] name = "opentelemetry-proto" -version = "1.35.0" +version = "1.36.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "protobuf" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/dc/a2/7366e32d9a2bccbb8614942dbea2cf93c209610385ea966cb050334f8df7/opentelemetry_proto-1.35.0.tar.gz", hash = "sha256:532497341bd3e1c074def7c5b00172601b28bb83b48afc41a4b779f26eb4ee05", size = 46151, upload-time = "2025-07-11T12:23:38.797Z" } +sdist = { url = "https://files.pythonhosted.org/packages/fd/02/f6556142301d136e3b7e95ab8ea6a5d9dc28d879a99f3dd673b5f97dca06/opentelemetry_proto-1.36.0.tar.gz", hash = "sha256:0f10b3c72f74c91e0764a5ec88fd8f1c368ea5d9c64639fb455e2854ef87dd2f", size = 46152, upload-time = "2025-07-29T15:12:15.717Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/00/a7/3f05de580da7e8a8b8dff041d3d07a20bf3bb62d3bcc027f8fd669a73ff4/opentelemetry_proto-1.35.0-py3-none-any.whl", hash = "sha256:98fffa803164499f562718384e703be8d7dfbe680192279a0429cb150a2f8809", size = 72536, upload-time = "2025-07-11T12:23:23.247Z" }, + { url = "https://files.pythonhosted.org/packages/b3/57/3361e06136225be8180e879199caea520f38026f8071366241ac458beb8d/opentelemetry_proto-1.36.0-py3-none-any.whl", hash = "sha256:151b3bf73a09f94afc658497cf77d45a565606f62ce0c17acb08cd9937ca206e", size = 72537, upload-time = "2025-07-29T15:12:02.243Z" }, ] [[package]] name = "opentelemetry-sdk" -version = "1.35.0" +version = "1.36.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "opentelemetry-api" }, { name = "opentelemetry-semantic-conventions" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/9a/cf/1eb2ed2ce55e0a9aa95b3007f26f55c7943aeef0a783bb006bdd92b3299e/opentelemetry_sdk-1.35.0.tar.gz", hash = "sha256:2a400b415ab68aaa6f04e8a6a9f6552908fb3090ae2ff78d6ae0c597ac581954", size = 160871, upload-time = "2025-07-11T12:23:39.566Z" } +sdist = { url = "https://files.pythonhosted.org/packages/4c/85/8567a966b85a2d3f971c4d42f781c305b2b91c043724fa08fd37d158e9dc/opentelemetry_sdk-1.36.0.tar.gz", hash = "sha256:19c8c81599f51b71670661ff7495c905d8fdf6976e41622d5245b791b06fa581", size = 162557, upload-time = "2025-07-29T15:12:16.76Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/01/4f/8e32b757ef3b660511b638ab52d1ed9259b666bdeeceba51a082ce3aea95/opentelemetry_sdk-1.35.0-py3-none-any.whl", hash = "sha256:223d9e5f5678518f4842311bb73966e0b6db5d1e0b74e35074c052cd2487f800", size = 119379, upload-time = "2025-07-11T12:23:24.521Z" }, + { url = "https://files.pythonhosted.org/packages/0b/59/7bed362ad1137ba5886dac8439e84cd2df6d087be7c09574ece47ae9b22c/opentelemetry_sdk-1.36.0-py3-none-any.whl", hash = "sha256:19fe048b42e98c5c1ffe85b569b7073576ad4ce0bcb6e9b4c6a39e890a6c45fb", size = 119995, upload-time = "2025-07-29T15:12:03.181Z" }, ] [[package]] name = "opentelemetry-semantic-conventions" -version = "0.56b0" +version = "0.57b0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "opentelemetry-api" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/32/8e/214fa817f63b9f068519463d8ab46afd5d03b98930c39394a37ae3e741d0/opentelemetry_semantic_conventions-0.56b0.tar.gz", hash = "sha256:c114c2eacc8ff6d3908cb328c811eaf64e6d68623840be9224dc829c4fd6c2ea", size = 124221, upload-time = "2025-07-11T12:23:40.71Z" } +sdist = { url = "https://files.pythonhosted.org/packages/7e/31/67dfa252ee88476a29200b0255bda8dfc2cf07b56ad66dc9a6221f7dc787/opentelemetry_semantic_conventions-0.57b0.tar.gz", hash = "sha256:609a4a79c7891b4620d64c7aac6898f872d790d75f22019913a660756f27ff32", size = 124225, upload-time = "2025-07-29T15:12:17.873Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/c7/3f/e80c1b017066a9d999efffe88d1cce66116dcf5cb7f80c41040a83b6e03b/opentelemetry_semantic_conventions-0.56b0-py3-none-any.whl", hash = "sha256:df44492868fd6b482511cc43a942e7194be64e94945f572db24df2e279a001a2", size = 201625, upload-time = "2025-07-11T12:23:25.63Z" }, + { url = "https://files.pythonhosted.org/packages/05/75/7d591371c6c39c73de5ce5da5a2cc7b72d1d1cd3f8f4638f553c01c37b11/opentelemetry_semantic_conventions-0.57b0-py3-none-any.whl", hash = "sha256:757f7e76293294f124c827e514c2a3144f191ef175b069ce8d1211e1e38e9e78", size = 201627, upload-time = "2025-07-29T15:12:04.174Z" }, ] [[package]] @@ -6117,15 +6211,15 @@ wheels = [ [[package]] name = "pymdown-extensions" -version = "10.16" +version = "10.16.1" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "markdown" }, { name = "pyyaml" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/1a/0a/c06b542ac108bfc73200677309cd9188a3a01b127a63f20cadc18d873d88/pymdown_extensions-10.16.tar.gz", hash = "sha256:71dac4fca63fabeffd3eb9038b756161a33ec6e8d230853d3cecf562155ab3de", size = 853197, upload-time = "2025-06-21T17:56:36.974Z" } +sdist = { url = "https://files.pythonhosted.org/packages/55/b3/6d2b3f149bc5413b0a29761c2c5832d8ce904a1d7f621e86616d96f505cc/pymdown_extensions-10.16.1.tar.gz", hash = "sha256:aace82bcccba3efc03e25d584e6a22d27a8e17caa3f4dd9f207e49b787aa9a91", size = 853277, upload-time = "2025-07-28T16:19:34.167Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/98/d4/10bb14004d3c792811e05e21b5e5dcae805aacb739bd12a0540967b99592/pymdown_extensions-10.16-py3-none-any.whl", hash = "sha256:f5dd064a4db588cb2d95229fc4ee63a1b16cc8b4d0e6145c0899ed8723da1df2", size = 266143, upload-time = "2025-06-21T17:56:35.356Z" }, + { url = "https://files.pythonhosted.org/packages/e4/06/43084e6cbd4b3bc0e80f6be743b2e79fbc6eed8de9ad8c629939fa55d972/pymdown_extensions-10.16.1-py3-none-any.whl", hash = "sha256:d6ba157a6c03146a7fb122b2b9a121300056384eafeec9c9f9e584adfdb2a32d", size = 266178, upload-time = "2025-07-28T16:19:31.401Z" }, ] [[package]] @@ -6160,14 +6254,14 @@ wheels = [ [[package]] name = "pypdf" -version = "5.8.0" +version = "5.9.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "typing-extensions", marker = "python_full_version < '3.11'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/28/5a/139b1a3ec3789cc77a7cb9d5d3bc9e97e742e6d03708baeb7719f8ad0827/pypdf-5.8.0.tar.gz", hash = "sha256:f8332f80606913e6f0ce65488a870833c9d99ccdb988c17bb6c166f7c8e140cb", size = 5029494, upload-time = "2025-07-13T12:51:35.125Z" } +sdist = { url = "https://files.pythonhosted.org/packages/89/3a/584b97a228950ed85aec97c811c68473d9b8d149e6a8c155668287cf1a28/pypdf-5.9.0.tar.gz", hash = "sha256:30f67a614d558e495e1fbb157ba58c1de91ffc1718f5e0dfeb82a029233890a1", size = 5035118, upload-time = "2025-07-27T14:04:52.364Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/8b/94/05d0310bfa92c26aa50a9d2dea2c6448a1febfdfcf98fb340a99d48a3078/pypdf-5.8.0-py3-none-any.whl", hash = "sha256:bfe861285cd2f79cceecefde2d46901e4ee992a9f4b42c56548c4a6e9236a0d1", size = 309718, upload-time = "2025-07-13T12:51:33.159Z" }, + { url = "https://files.pythonhosted.org/packages/48/d9/6cff57c80a6963e7dd183bf09e9f21604a77716644b1e580e97b259f7612/pypdf-5.9.0-py3-none-any.whl", hash = "sha256:be10a4c54202f46d9daceaa8788be07aa8cd5ea8c25c529c50dd509206382c35", size = 313193, upload-time = "2025-07-27T14:04:50.53Z" }, ] [[package]] @@ -6599,7 +6693,7 @@ wheels = [ [[package]] name = "qdrant-client" -version = "1.15.0" +version = "1.15.1" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "grpcio" }, @@ -6611,9 +6705,9 @@ dependencies = [ { name = "pydantic" }, { name = "urllib3" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/ac/77/350f01040a8eadb3909bb98ef73b0edb9c3d2d046931898044fb1ad93336/qdrant_client-1.15.0.tar.gz", hash = "sha256:475433b0acec51b66a132e91b631abe922accc64744bbb3180a04fe1fe889843", size = 295245, upload-time = "2025-07-18T11:01:47.062Z" } +sdist = { url = "https://files.pythonhosted.org/packages/79/8b/76c7d325e11d97cb8eb5e261c3759e9ed6664735afbf32fdded5b580690c/qdrant_client-1.15.1.tar.gz", hash = "sha256:631f1f3caebfad0fd0c1fba98f41be81d9962b7bf3ca653bed3b727c0e0cbe0e", size = 295297, upload-time = "2025-07-31T19:35:19.627Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/87/cd/ecd694b21b800f3b100d38a8e67078f62d0a24378bd2c03c4c91413ed6fc/qdrant_client-1.15.0-py3-none-any.whl", hash = "sha256:f18bb311543de7e256ffa831be0d8a9d0729aaf549db7bcf95a5d356b48143f2", size = 337269, upload-time = "2025-07-18T11:01:45.35Z" }, + { url = "https://files.pythonhosted.org/packages/ef/33/d8df6a2b214ffbe4138db9a1efe3248f67dc3c671f82308bea1582ecbbb7/qdrant_client-1.15.1-py3-none-any.whl", hash = "sha256:2b975099b378382f6ca1cfb43f0d59e541be6e16a5892f282a4b8de7eff5cb63", size = 337331, upload-time = "2025-07-31T19:35:17.539Z" }, ] [[package]] @@ -6753,71 +6847,67 @@ wheels = [ [[package]] name = "regex" -version = "2024.11.6" +version = "2025.7.34" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/8e/5f/bd69653fbfb76cf8604468d3b4ec4c403197144c7bfe0e6a5fc9e02a07cb/regex-2024.11.6.tar.gz", hash = "sha256:7ab159b063c52a0333c884e4679f8d7a85112ee3078fe3d9004b2dd875585519", size = 399494, upload-time = "2024-11-06T20:12:31.635Z" } +sdist = { url = "https://files.pythonhosted.org/packages/0b/de/e13fa6dc61d78b30ba47481f99933a3b49a57779d625c392d8036770a60d/regex-2025.7.34.tar.gz", hash = "sha256:9ead9765217afd04a86822dfcd4ed2747dfe426e887da413b15ff0ac2457e21a", size = 400714, upload-time = "2025-07-31T00:21:16.262Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/95/3c/4651f6b130c6842a8f3df82461a8950f923925db8b6961063e82744bddcc/regex-2024.11.6-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:ff590880083d60acc0433f9c3f713c51f7ac6ebb9adf889c79a261ecf541aa91", size = 482674, upload-time = "2024-11-06T20:08:57.575Z" }, - { url = "https://files.pythonhosted.org/packages/15/51/9f35d12da8434b489c7b7bffc205c474a0a9432a889457026e9bc06a297a/regex-2024.11.6-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:658f90550f38270639e83ce492f27d2c8d2cd63805c65a13a14d36ca126753f0", size = 287684, upload-time = "2024-11-06T20:08:59.787Z" }, - { url = "https://files.pythonhosted.org/packages/bd/18/b731f5510d1b8fb63c6b6d3484bfa9a59b84cc578ac8b5172970e05ae07c/regex-2024.11.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:164d8b7b3b4bcb2068b97428060b2a53be050085ef94eca7f240e7947f1b080e", size = 284589, upload-time = "2024-11-06T20:09:01.896Z" }, - { url = "https://files.pythonhosted.org/packages/78/a2/6dd36e16341ab95e4c6073426561b9bfdeb1a9c9b63ab1b579c2e96cb105/regex-2024.11.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d3660c82f209655a06b587d55e723f0b813d3a7db2e32e5e7dc64ac2a9e86fde", size = 782511, upload-time = "2024-11-06T20:09:04.062Z" }, - { url = "https://files.pythonhosted.org/packages/1b/2b/323e72d5d2fd8de0d9baa443e1ed70363ed7e7b2fb526f5950c5cb99c364/regex-2024.11.6-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d22326fcdef5e08c154280b71163ced384b428343ae16a5ab2b3354aed12436e", size = 821149, upload-time = "2024-11-06T20:09:06.237Z" }, - { url = "https://files.pythonhosted.org/packages/90/30/63373b9ea468fbef8a907fd273e5c329b8c9535fee36fc8dba5fecac475d/regex-2024.11.6-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f1ac758ef6aebfc8943560194e9fd0fa18bcb34d89fd8bd2af18183afd8da3a2", size = 809707, upload-time = "2024-11-06T20:09:07.715Z" }, - { url = "https://files.pythonhosted.org/packages/f2/98/26d3830875b53071f1f0ae6d547f1d98e964dd29ad35cbf94439120bb67a/regex-2024.11.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:997d6a487ff00807ba810e0f8332c18b4eb8d29463cfb7c820dc4b6e7562d0cf", size = 781702, upload-time = "2024-11-06T20:09:10.101Z" }, - { url = "https://files.pythonhosted.org/packages/87/55/eb2a068334274db86208ab9d5599ffa63631b9f0f67ed70ea7c82a69bbc8/regex-2024.11.6-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:02a02d2bb04fec86ad61f3ea7f49c015a0681bf76abb9857f945d26159d2968c", size = 771976, upload-time = "2024-11-06T20:09:11.566Z" }, - { url = "https://files.pythonhosted.org/packages/74/c0/be707bcfe98254d8f9d2cff55d216e946f4ea48ad2fd8cf1428f8c5332ba/regex-2024.11.6-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:f02f93b92358ee3f78660e43b4b0091229260c5d5c408d17d60bf26b6c900e86", size = 697397, upload-time = "2024-11-06T20:09:13.119Z" }, - { url = "https://files.pythonhosted.org/packages/49/dc/bb45572ceb49e0f6509f7596e4ba7031f6819ecb26bc7610979af5a77f45/regex-2024.11.6-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:06eb1be98df10e81ebaded73fcd51989dcf534e3c753466e4b60c4697a003b67", size = 768726, upload-time = "2024-11-06T20:09:14.85Z" }, - { url = "https://files.pythonhosted.org/packages/5a/db/f43fd75dc4c0c2d96d0881967897926942e935d700863666f3c844a72ce6/regex-2024.11.6-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:040df6fe1a5504eb0f04f048e6d09cd7c7110fef851d7c567a6b6e09942feb7d", size = 775098, upload-time = "2024-11-06T20:09:16.504Z" }, - { url = "https://files.pythonhosted.org/packages/99/d7/f94154db29ab5a89d69ff893159b19ada89e76b915c1293e98603d39838c/regex-2024.11.6-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:fdabbfc59f2c6edba2a6622c647b716e34e8e3867e0ab975412c5c2f79b82da2", size = 839325, upload-time = "2024-11-06T20:09:18.698Z" }, - { url = "https://files.pythonhosted.org/packages/f7/17/3cbfab1f23356fbbf07708220ab438a7efa1e0f34195bf857433f79f1788/regex-2024.11.6-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:8447d2d39b5abe381419319f942de20b7ecd60ce86f16a23b0698f22e1b70008", size = 843277, upload-time = "2024-11-06T20:09:21.725Z" }, - { url = "https://files.pythonhosted.org/packages/7e/f2/48b393b51900456155de3ad001900f94298965e1cad1c772b87f9cfea011/regex-2024.11.6-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:da8f5fc57d1933de22a9e23eec290a0d8a5927a5370d24bda9a6abe50683fe62", size = 773197, upload-time = "2024-11-06T20:09:24.092Z" }, - { url = "https://files.pythonhosted.org/packages/45/3f/ef9589aba93e084cd3f8471fded352826dcae8489b650d0b9b27bc5bba8a/regex-2024.11.6-cp310-cp310-win32.whl", hash = "sha256:b489578720afb782f6ccf2840920f3a32e31ba28a4b162e13900c3e6bd3f930e", size = 261714, upload-time = "2024-11-06T20:09:26.36Z" }, - { url = "https://files.pythonhosted.org/packages/42/7e/5f1b92c8468290c465fd50c5318da64319133231415a8aa6ea5ab995a815/regex-2024.11.6-cp310-cp310-win_amd64.whl", hash = "sha256:5071b2093e793357c9d8b2929dfc13ac5f0a6c650559503bb81189d0a3814519", size = 274042, upload-time = "2024-11-06T20:09:28.762Z" }, - { url = "https://files.pythonhosted.org/packages/58/58/7e4d9493a66c88a7da6d205768119f51af0f684fe7be7bac8328e217a52c/regex-2024.11.6-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:5478c6962ad548b54a591778e93cd7c456a7a29f8eca9c49e4f9a806dcc5d638", size = 482669, upload-time = "2024-11-06T20:09:31.064Z" }, - { url = "https://files.pythonhosted.org/packages/34/4c/8f8e631fcdc2ff978609eaeef1d6994bf2f028b59d9ac67640ed051f1218/regex-2024.11.6-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2c89a8cc122b25ce6945f0423dc1352cb9593c68abd19223eebbd4e56612c5b7", size = 287684, upload-time = "2024-11-06T20:09:32.915Z" }, - { url = "https://files.pythonhosted.org/packages/c5/1b/f0e4d13e6adf866ce9b069e191f303a30ab1277e037037a365c3aad5cc9c/regex-2024.11.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:94d87b689cdd831934fa3ce16cc15cd65748e6d689f5d2b8f4f4df2065c9fa20", size = 284589, upload-time = "2024-11-06T20:09:35.504Z" }, - { url = "https://files.pythonhosted.org/packages/25/4d/ab21047f446693887f25510887e6820b93f791992994f6498b0318904d4a/regex-2024.11.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1062b39a0a2b75a9c694f7a08e7183a80c63c0d62b301418ffd9c35f55aaa114", size = 792121, upload-time = "2024-11-06T20:09:37.701Z" }, - { url = "https://files.pythonhosted.org/packages/45/ee/c867e15cd894985cb32b731d89576c41a4642a57850c162490ea34b78c3b/regex-2024.11.6-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:167ed4852351d8a750da48712c3930b031f6efdaa0f22fa1933716bfcd6bf4a3", size = 831275, upload-time = "2024-11-06T20:09:40.371Z" }, - { url = "https://files.pythonhosted.org/packages/b3/12/b0f480726cf1c60f6536fa5e1c95275a77624f3ac8fdccf79e6727499e28/regex-2024.11.6-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2d548dafee61f06ebdb584080621f3e0c23fff312f0de1afc776e2a2ba99a74f", size = 818257, upload-time = "2024-11-06T20:09:43.059Z" }, - { url = "https://files.pythonhosted.org/packages/bf/ce/0d0e61429f603bac433910d99ef1a02ce45a8967ffbe3cbee48599e62d88/regex-2024.11.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f2a19f302cd1ce5dd01a9099aaa19cae6173306d1302a43b627f62e21cf18ac0", size = 792727, upload-time = "2024-11-06T20:09:48.19Z" }, - { url = "https://files.pythonhosted.org/packages/e4/c1/243c83c53d4a419c1556f43777ccb552bccdf79d08fda3980e4e77dd9137/regex-2024.11.6-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bec9931dfb61ddd8ef2ebc05646293812cb6b16b60cf7c9511a832b6f1854b55", size = 780667, upload-time = "2024-11-06T20:09:49.828Z" }, - { url = "https://files.pythonhosted.org/packages/c5/f4/75eb0dd4ce4b37f04928987f1d22547ddaf6c4bae697623c1b05da67a8aa/regex-2024.11.6-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:9714398225f299aa85267fd222f7142fcb5c769e73d7733344efc46f2ef5cf89", size = 776963, upload-time = "2024-11-06T20:09:51.819Z" }, - { url = "https://files.pythonhosted.org/packages/16/5d/95c568574e630e141a69ff8a254c2f188b4398e813c40d49228c9bbd9875/regex-2024.11.6-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:202eb32e89f60fc147a41e55cb086db2a3f8cb82f9a9a88440dcfc5d37faae8d", size = 784700, upload-time = "2024-11-06T20:09:53.982Z" }, - { url = "https://files.pythonhosted.org/packages/8e/b5/f8495c7917f15cc6fee1e7f395e324ec3e00ab3c665a7dc9d27562fd5290/regex-2024.11.6-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:4181b814e56078e9b00427ca358ec44333765f5ca1b45597ec7446d3a1ef6e34", size = 848592, upload-time = "2024-11-06T20:09:56.222Z" }, - { url = "https://files.pythonhosted.org/packages/1c/80/6dd7118e8cb212c3c60b191b932dc57db93fb2e36fb9e0e92f72a5909af9/regex-2024.11.6-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:068376da5a7e4da51968ce4c122a7cd31afaaec4fccc7856c92f63876e57b51d", size = 852929, upload-time = "2024-11-06T20:09:58.642Z" }, - { url = "https://files.pythonhosted.org/packages/11/9b/5a05d2040297d2d254baf95eeeb6df83554e5e1df03bc1a6687fc4ba1f66/regex-2024.11.6-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ac10f2c4184420d881a3475fb2c6f4d95d53a8d50209a2500723d831036f7c45", size = 781213, upload-time = "2024-11-06T20:10:00.867Z" }, - { url = "https://files.pythonhosted.org/packages/26/b7/b14e2440156ab39e0177506c08c18accaf2b8932e39fb092074de733d868/regex-2024.11.6-cp311-cp311-win32.whl", hash = "sha256:c36f9b6f5f8649bb251a5f3f66564438977b7ef8386a52460ae77e6070d309d9", size = 261734, upload-time = "2024-11-06T20:10:03.361Z" }, - { url = "https://files.pythonhosted.org/packages/80/32/763a6cc01d21fb3819227a1cc3f60fd251c13c37c27a73b8ff4315433a8e/regex-2024.11.6-cp311-cp311-win_amd64.whl", hash = "sha256:02e28184be537f0e75c1f9b2f8847dc51e08e6e171c6bde130b2687e0c33cf60", size = 274052, upload-time = "2024-11-06T20:10:05.179Z" }, - { url = "https://files.pythonhosted.org/packages/ba/30/9a87ce8336b172cc232a0db89a3af97929d06c11ceaa19d97d84fa90a8f8/regex-2024.11.6-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:52fb28f528778f184f870b7cf8f225f5eef0a8f6e3778529bdd40c7b3920796a", size = 483781, upload-time = "2024-11-06T20:10:07.07Z" }, - { url = "https://files.pythonhosted.org/packages/01/e8/00008ad4ff4be8b1844786ba6636035f7ef926db5686e4c0f98093612add/regex-2024.11.6-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:fdd6028445d2460f33136c55eeb1f601ab06d74cb3347132e1c24250187500d9", size = 288455, upload-time = "2024-11-06T20:10:09.117Z" }, - { url = "https://files.pythonhosted.org/packages/60/85/cebcc0aff603ea0a201667b203f13ba75d9fc8668fab917ac5b2de3967bc/regex-2024.11.6-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:805e6b60c54bf766b251e94526ebad60b7de0c70f70a4e6210ee2891acb70bf2", size = 284759, upload-time = "2024-11-06T20:10:11.155Z" }, - { url = "https://files.pythonhosted.org/packages/94/2b/701a4b0585cb05472a4da28ee28fdfe155f3638f5e1ec92306d924e5faf0/regex-2024.11.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b85c2530be953a890eaffde05485238f07029600e8f098cdf1848d414a8b45e4", size = 794976, upload-time = "2024-11-06T20:10:13.24Z" }, - { url = "https://files.pythonhosted.org/packages/4b/bf/fa87e563bf5fee75db8915f7352e1887b1249126a1be4813837f5dbec965/regex-2024.11.6-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bb26437975da7dc36b7efad18aa9dd4ea569d2357ae6b783bf1118dabd9ea577", size = 833077, upload-time = "2024-11-06T20:10:15.37Z" }, - { url = "https://files.pythonhosted.org/packages/a1/56/7295e6bad94b047f4d0834e4779491b81216583c00c288252ef625c01d23/regex-2024.11.6-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:abfa5080c374a76a251ba60683242bc17eeb2c9818d0d30117b4486be10c59d3", size = 823160, upload-time = "2024-11-06T20:10:19.027Z" }, - { url = "https://files.pythonhosted.org/packages/fb/13/e3b075031a738c9598c51cfbc4c7879e26729c53aa9cca59211c44235314/regex-2024.11.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b7fa6606c2881c1db9479b0eaa11ed5dfa11c8d60a474ff0e095099f39d98e", size = 796896, upload-time = "2024-11-06T20:10:21.85Z" }, - { url = "https://files.pythonhosted.org/packages/24/56/0b3f1b66d592be6efec23a795b37732682520b47c53da5a32c33ed7d84e3/regex-2024.11.6-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0c32f75920cf99fe6b6c539c399a4a128452eaf1af27f39bce8909c9a3fd8cbe", size = 783997, upload-time = "2024-11-06T20:10:24.329Z" }, - { url = "https://files.pythonhosted.org/packages/f9/a1/eb378dada8b91c0e4c5f08ffb56f25fcae47bf52ad18f9b2f33b83e6d498/regex-2024.11.6-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:982e6d21414e78e1f51cf595d7f321dcd14de1f2881c5dc6a6e23bbbbd68435e", size = 781725, upload-time = "2024-11-06T20:10:28.067Z" }, - { url = "https://files.pythonhosted.org/packages/83/f2/033e7dec0cfd6dda93390089864732a3409246ffe8b042e9554afa9bff4e/regex-2024.11.6-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:a7c2155f790e2fb448faed6dd241386719802296ec588a8b9051c1f5c481bc29", size = 789481, upload-time = "2024-11-06T20:10:31.612Z" }, - { url = "https://files.pythonhosted.org/packages/83/23/15d4552ea28990a74e7696780c438aadd73a20318c47e527b47a4a5a596d/regex-2024.11.6-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:149f5008d286636e48cd0b1dd65018548944e495b0265b45e1bffecce1ef7f39", size = 852896, upload-time = "2024-11-06T20:10:34.054Z" }, - { url = "https://files.pythonhosted.org/packages/e3/39/ed4416bc90deedbfdada2568b2cb0bc1fdb98efe11f5378d9892b2a88f8f/regex-2024.11.6-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:e5364a4502efca094731680e80009632ad6624084aff9a23ce8c8c6820de3e51", size = 860138, upload-time = "2024-11-06T20:10:36.142Z" }, - { url = "https://files.pythonhosted.org/packages/93/2d/dd56bb76bd8e95bbce684326302f287455b56242a4f9c61f1bc76e28360e/regex-2024.11.6-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:0a86e7eeca091c09e021db8eb72d54751e527fa47b8d5787caf96d9831bd02ad", size = 787692, upload-time = "2024-11-06T20:10:38.394Z" }, - { url = "https://files.pythonhosted.org/packages/0b/55/31877a249ab7a5156758246b9c59539abbeba22461b7d8adc9e8475ff73e/regex-2024.11.6-cp312-cp312-win32.whl", hash = "sha256:32f9a4c643baad4efa81d549c2aadefaeba12249b2adc5af541759237eee1c54", size = 262135, upload-time = "2024-11-06T20:10:40.367Z" }, - { url = "https://files.pythonhosted.org/packages/38/ec/ad2d7de49a600cdb8dd78434a1aeffe28b9d6fc42eb36afab4a27ad23384/regex-2024.11.6-cp312-cp312-win_amd64.whl", hash = "sha256:a93c194e2df18f7d264092dc8539b8ffb86b45b899ab976aa15d48214138e81b", size = 273567, upload-time = "2024-11-06T20:10:43.467Z" }, - { url = "https://files.pythonhosted.org/packages/90/73/bcb0e36614601016552fa9344544a3a2ae1809dc1401b100eab02e772e1f/regex-2024.11.6-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:a6ba92c0bcdf96cbf43a12c717eae4bc98325ca3730f6b130ffa2e3c3c723d84", size = 483525, upload-time = "2024-11-06T20:10:45.19Z" }, - { url = "https://files.pythonhosted.org/packages/0f/3f/f1a082a46b31e25291d830b369b6b0c5576a6f7fb89d3053a354c24b8a83/regex-2024.11.6-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:525eab0b789891ac3be914d36893bdf972d483fe66551f79d3e27146191a37d4", size = 288324, upload-time = "2024-11-06T20:10:47.177Z" }, - { url = "https://files.pythonhosted.org/packages/09/c9/4e68181a4a652fb3ef5099e077faf4fd2a694ea6e0f806a7737aff9e758a/regex-2024.11.6-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:086a27a0b4ca227941700e0b31425e7a28ef1ae8e5e05a33826e17e47fbfdba0", size = 284617, upload-time = "2024-11-06T20:10:49.312Z" }, - { url = "https://files.pythonhosted.org/packages/fc/fd/37868b75eaf63843165f1d2122ca6cb94bfc0271e4428cf58c0616786dce/regex-2024.11.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bde01f35767c4a7899b7eb6e823b125a64de314a8ee9791367c9a34d56af18d0", size = 795023, upload-time = "2024-11-06T20:10:51.102Z" }, - { url = "https://files.pythonhosted.org/packages/c4/7c/d4cd9c528502a3dedb5c13c146e7a7a539a3853dc20209c8e75d9ba9d1b2/regex-2024.11.6-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b583904576650166b3d920d2bcce13971f6f9e9a396c673187f49811b2769dc7", size = 833072, upload-time = "2024-11-06T20:10:52.926Z" }, - { url = "https://files.pythonhosted.org/packages/4f/db/46f563a08f969159c5a0f0e722260568425363bea43bb7ae370becb66a67/regex-2024.11.6-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1c4de13f06a0d54fa0d5ab1b7138bfa0d883220965a29616e3ea61b35d5f5fc7", size = 823130, upload-time = "2024-11-06T20:10:54.828Z" }, - { url = "https://files.pythonhosted.org/packages/db/60/1eeca2074f5b87df394fccaa432ae3fc06c9c9bfa97c5051aed70e6e00c2/regex-2024.11.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3cde6e9f2580eb1665965ce9bf17ff4952f34f5b126beb509fee8f4e994f143c", size = 796857, upload-time = "2024-11-06T20:10:56.634Z" }, - { url = "https://files.pythonhosted.org/packages/10/db/ac718a08fcee981554d2f7bb8402f1faa7e868c1345c16ab1ebec54b0d7b/regex-2024.11.6-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0d7f453dca13f40a02b79636a339c5b62b670141e63efd511d3f8f73fba162b3", size = 784006, upload-time = "2024-11-06T20:10:59.369Z" }, - { url = "https://files.pythonhosted.org/packages/c2/41/7da3fe70216cea93144bf12da2b87367590bcf07db97604edeea55dac9ad/regex-2024.11.6-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:59dfe1ed21aea057a65c6b586afd2a945de04fc7db3de0a6e3ed5397ad491b07", size = 781650, upload-time = "2024-11-06T20:11:02.042Z" }, - { url = "https://files.pythonhosted.org/packages/a7/d5/880921ee4eec393a4752e6ab9f0fe28009435417c3102fc413f3fe81c4e5/regex-2024.11.6-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:b97c1e0bd37c5cd7902e65f410779d39eeda155800b65fc4d04cc432efa9bc6e", size = 789545, upload-time = "2024-11-06T20:11:03.933Z" }, - { url = "https://files.pythonhosted.org/packages/dc/96/53770115e507081122beca8899ab7f5ae28ae790bfcc82b5e38976df6a77/regex-2024.11.6-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:f9d1e379028e0fc2ae3654bac3cbbef81bf3fd571272a42d56c24007979bafb6", size = 853045, upload-time = "2024-11-06T20:11:06.497Z" }, - { url = "https://files.pythonhosted.org/packages/31/d3/1372add5251cc2d44b451bd94f43b2ec78e15a6e82bff6a290ef9fd8f00a/regex-2024.11.6-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:13291b39131e2d002a7940fb176e120bec5145f3aeb7621be6534e46251912c4", size = 860182, upload-time = "2024-11-06T20:11:09.06Z" }, - { url = "https://files.pythonhosted.org/packages/ed/e3/c446a64984ea9f69982ba1a69d4658d5014bc7a0ea468a07e1a1265db6e2/regex-2024.11.6-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4f51f88c126370dcec4908576c5a627220da6c09d0bff31cfa89f2523843316d", size = 787733, upload-time = "2024-11-06T20:11:11.256Z" }, - { url = "https://files.pythonhosted.org/packages/2b/f1/e40c8373e3480e4f29f2692bd21b3e05f296d3afebc7e5dcf21b9756ca1c/regex-2024.11.6-cp313-cp313-win32.whl", hash = "sha256:63b13cfd72e9601125027202cad74995ab26921d8cd935c25f09c630436348ff", size = 262122, upload-time = "2024-11-06T20:11:13.161Z" }, - { url = "https://files.pythonhosted.org/packages/45/94/bc295babb3062a731f52621cdc992d123111282e291abaf23faa413443ea/regex-2024.11.6-cp313-cp313-win_amd64.whl", hash = "sha256:2b3361af3198667e99927da8b84c1b010752fa4b1115ee30beaa332cabc3ef1a", size = 273545, upload-time = "2024-11-06T20:11:15Z" }, + { url = "https://files.pythonhosted.org/packages/50/d2/0a44a9d92370e5e105f16669acf801b215107efea9dea4317fe96e9aad67/regex-2025.7.34-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d856164d25e2b3b07b779bfed813eb4b6b6ce73c2fd818d46f47c1eb5cd79bd6", size = 484591, upload-time = "2025-07-31T00:18:46.675Z" }, + { url = "https://files.pythonhosted.org/packages/2e/b1/00c4f83aa902f1048495de9f2f33638ce970ce1cf9447b477d272a0e22bb/regex-2025.7.34-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:2d15a9da5fad793e35fb7be74eec450d968e05d2e294f3e0e77ab03fa7234a83", size = 289293, upload-time = "2025-07-31T00:18:53.069Z" }, + { url = "https://files.pythonhosted.org/packages/f3/b0/5bc5c8ddc418e8be5530b43ae1f7c9303f43aeff5f40185c4287cf6732f2/regex-2025.7.34-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:95b4639c77d414efa93c8de14ce3f7965a94d007e068a94f9d4997bb9bd9c81f", size = 285932, upload-time = "2025-07-31T00:18:54.673Z" }, + { url = "https://files.pythonhosted.org/packages/46/c7/a1a28d050b23665a5e1eeb4d7f13b83ea86f0bc018da7b8f89f86ff7f094/regex-2025.7.34-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5d7de1ceed5a5f84f342ba4a9f4ae589524adf9744b2ee61b5da884b5b659834", size = 780361, upload-time = "2025-07-31T00:18:56.13Z" }, + { url = "https://files.pythonhosted.org/packages/cb/0d/82e7afe7b2c9fe3d488a6ab6145d1d97e55f822dfb9b4569aba2497e3d09/regex-2025.7.34-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:02e5860a250cd350c4933cf376c3bc9cb28948e2c96a8bc042aee7b985cfa26f", size = 849176, upload-time = "2025-07-31T00:18:57.483Z" }, + { url = "https://files.pythonhosted.org/packages/bf/16/3036e16903d8194f1490af457a7e33b06d9e9edd9576b1fe6c7ac660e9ed/regex-2025.7.34-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:0a5966220b9a1a88691282b7e4350e9599cf65780ca60d914a798cb791aa1177", size = 897222, upload-time = "2025-07-31T00:18:58.721Z" }, + { url = "https://files.pythonhosted.org/packages/5a/c2/010e089ae00d31418e7d2c6601760eea1957cde12be719730c7133b8c165/regex-2025.7.34-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:48fb045bbd4aab2418dc1ba2088a5e32de4bfe64e1457b948bb328a8dc2f1c2e", size = 789831, upload-time = "2025-07-31T00:19:00.436Z" }, + { url = "https://files.pythonhosted.org/packages/dd/86/b312b7bf5c46d21dbd9a3fdc4a80fde56ea93c9c0b89cf401879635e094d/regex-2025.7.34-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:20ff8433fa45e131f7316594efe24d4679c5449c0ca69d91c2f9d21846fdf064", size = 780665, upload-time = "2025-07-31T00:19:01.828Z" }, + { url = "https://files.pythonhosted.org/packages/40/e5/674b82bfff112c820b09e3c86a423d4a568143ede7f8440fdcbce259e895/regex-2025.7.34-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:c436fd1e95c04c19039668cfb548450a37c13f051e8659f40aed426e36b3765f", size = 773511, upload-time = "2025-07-31T00:19:03.654Z" }, + { url = "https://files.pythonhosted.org/packages/2d/18/39e7c578eb6cf1454db2b64e4733d7e4f179714867a75d84492ec44fa9b2/regex-2025.7.34-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:0b85241d3cfb9f8a13cefdfbd58a2843f208f2ed2c88181bf84e22e0c7fc066d", size = 843990, upload-time = "2025-07-31T00:19:05.61Z" }, + { url = "https://files.pythonhosted.org/packages/b6/d9/522a6715aefe2f463dc60c68924abeeb8ab6893f01adf5720359d94ede8c/regex-2025.7.34-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:075641c94126b064c65ab86e7e71fc3d63e7ff1bea1fb794f0773c97cdad3a03", size = 834676, upload-time = "2025-07-31T00:19:07.023Z" }, + { url = "https://files.pythonhosted.org/packages/59/53/c4d5284cb40543566542e24f1badc9f72af68d01db21e89e36e02292eee0/regex-2025.7.34-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:70645cad3407d103d1dbcb4841839d2946f7d36cf38acbd40120fee1682151e5", size = 778420, upload-time = "2025-07-31T00:19:08.511Z" }, + { url = "https://files.pythonhosted.org/packages/ea/4a/b779a7707d4a44a7e6ee9d0d98e40b2a4de74d622966080e9c95e25e2d24/regex-2025.7.34-cp310-cp310-win32.whl", hash = "sha256:3b836eb4a95526b263c2a3359308600bd95ce7848ebd3c29af0c37c4f9627cd3", size = 263999, upload-time = "2025-07-31T00:19:10.072Z" }, + { url = "https://files.pythonhosted.org/packages/ef/6e/33c7583f5427aa039c28bff7f4103c2de5b6aa5b9edc330c61ec576b1960/regex-2025.7.34-cp310-cp310-win_amd64.whl", hash = "sha256:cbfaa401d77334613cf434f723c7e8ba585df162be76474bccc53ae4e5520b3a", size = 276023, upload-time = "2025-07-31T00:19:11.34Z" }, + { url = "https://files.pythonhosted.org/packages/9f/fc/00b32e0ac14213d76d806d952826402b49fd06d42bfabacdf5d5d016bc47/regex-2025.7.34-cp310-cp310-win_arm64.whl", hash = "sha256:bca11d3c38a47c621769433c47f364b44e8043e0de8e482c5968b20ab90a3986", size = 268357, upload-time = "2025-07-31T00:19:12.729Z" }, + { url = "https://files.pythonhosted.org/packages/0d/85/f497b91577169472f7c1dc262a5ecc65e39e146fc3a52c571e5daaae4b7d/regex-2025.7.34-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:da304313761b8500b8e175eb2040c4394a875837d5635f6256d6fa0377ad32c8", size = 484594, upload-time = "2025-07-31T00:19:13.927Z" }, + { url = "https://files.pythonhosted.org/packages/1c/c5/ad2a5c11ce9e6257fcbfd6cd965d07502f6054aaa19d50a3d7fd991ec5d1/regex-2025.7.34-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:35e43ebf5b18cd751ea81455b19acfdec402e82fe0dc6143edfae4c5c4b3909a", size = 289294, upload-time = "2025-07-31T00:19:15.395Z" }, + { url = "https://files.pythonhosted.org/packages/8e/01/83ffd9641fcf5e018f9b51aa922c3e538ac9439424fda3df540b643ecf4f/regex-2025.7.34-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:96bbae4c616726f4661fe7bcad5952e10d25d3c51ddc388189d8864fbc1b3c68", size = 285933, upload-time = "2025-07-31T00:19:16.704Z" }, + { url = "https://files.pythonhosted.org/packages/77/20/5edab2e5766f0259bc1da7381b07ce6eb4401b17b2254d02f492cd8a81a8/regex-2025.7.34-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9feab78a1ffa4f2b1e27b1bcdaad36f48c2fed4870264ce32f52a393db093c78", size = 792335, upload-time = "2025-07-31T00:19:18.561Z" }, + { url = "https://files.pythonhosted.org/packages/30/bd/744d3ed8777dce8487b2606b94925e207e7c5931d5870f47f5b643a4580a/regex-2025.7.34-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f14b36e6d4d07f1a5060f28ef3b3561c5d95eb0651741474ce4c0a4c56ba8719", size = 858605, upload-time = "2025-07-31T00:19:20.204Z" }, + { url = "https://files.pythonhosted.org/packages/99/3d/93754176289718d7578c31d151047e7b8acc7a8c20e7706716f23c49e45e/regex-2025.7.34-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:85c3a958ef8b3d5079c763477e1f09e89d13ad22198a37e9d7b26b4b17438b33", size = 905780, upload-time = "2025-07-31T00:19:21.876Z" }, + { url = "https://files.pythonhosted.org/packages/ee/2e/c689f274a92deffa03999a430505ff2aeace408fd681a90eafa92fdd6930/regex-2025.7.34-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:37555e4ae0b93358fa7c2d240a4291d4a4227cc7c607d8f85596cdb08ec0a083", size = 798868, upload-time = "2025-07-31T00:19:23.222Z" }, + { url = "https://files.pythonhosted.org/packages/0d/9e/39673688805d139b33b4a24851a71b9978d61915c4d72b5ffda324d0668a/regex-2025.7.34-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:ee38926f31f1aa61b0232a3a11b83461f7807661c062df9eb88769d86e6195c3", size = 781784, upload-time = "2025-07-31T00:19:24.59Z" }, + { url = "https://files.pythonhosted.org/packages/18/bd/4c1cab12cfabe14beaa076523056b8ab0c882a8feaf0a6f48b0a75dab9ed/regex-2025.7.34-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:a664291c31cae9c4a30589bd8bc2ebb56ef880c9c6264cb7643633831e606a4d", size = 852837, upload-time = "2025-07-31T00:19:25.911Z" }, + { url = "https://files.pythonhosted.org/packages/cb/21/663d983cbb3bba537fc213a579abbd0f263fb28271c514123f3c547ab917/regex-2025.7.34-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:f3e5c1e0925e77ec46ddc736b756a6da50d4df4ee3f69536ffb2373460e2dafd", size = 844240, upload-time = "2025-07-31T00:19:27.688Z" }, + { url = "https://files.pythonhosted.org/packages/8e/2d/9beeeb913bc5d32faa913cf8c47e968da936af61ec20af5d269d0f84a100/regex-2025.7.34-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:d428fc7731dcbb4e2ffe43aeb8f90775ad155e7db4347a639768bc6cd2df881a", size = 787139, upload-time = "2025-07-31T00:19:29.475Z" }, + { url = "https://files.pythonhosted.org/packages/eb/f5/9b9384415fdc533551be2ba805dd8c4621873e5df69c958f403bfd3b2b6e/regex-2025.7.34-cp311-cp311-win32.whl", hash = "sha256:e154a7ee7fa18333ad90b20e16ef84daaeac61877c8ef942ec8dfa50dc38b7a1", size = 264019, upload-time = "2025-07-31T00:19:31.129Z" }, + { url = "https://files.pythonhosted.org/packages/18/9d/e069ed94debcf4cc9626d652a48040b079ce34c7e4fb174f16874958d485/regex-2025.7.34-cp311-cp311-win_amd64.whl", hash = "sha256:24257953d5c1d6d3c129ab03414c07fc1a47833c9165d49b954190b2b7f21a1a", size = 276047, upload-time = "2025-07-31T00:19:32.497Z" }, + { url = "https://files.pythonhosted.org/packages/fd/cf/3bafbe9d1fd1db77355e7fbbbf0d0cfb34501a8b8e334deca14f94c7b315/regex-2025.7.34-cp311-cp311-win_arm64.whl", hash = "sha256:3157aa512b9e606586900888cd469a444f9b898ecb7f8931996cb715f77477f0", size = 268362, upload-time = "2025-07-31T00:19:34.094Z" }, + { url = "https://files.pythonhosted.org/packages/ff/f0/31d62596c75a33f979317658e8d261574785c6cd8672c06741ce2e2e2070/regex-2025.7.34-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:7f7211a746aced993bef487de69307a38c5ddd79257d7be83f7b202cb59ddb50", size = 485492, upload-time = "2025-07-31T00:19:35.57Z" }, + { url = "https://files.pythonhosted.org/packages/d8/16/b818d223f1c9758c3434be89aa1a01aae798e0e0df36c1f143d1963dd1ee/regex-2025.7.34-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:fb31080f2bd0681484b275461b202b5ad182f52c9ec606052020fe13eb13a72f", size = 290000, upload-time = "2025-07-31T00:19:37.175Z" }, + { url = "https://files.pythonhosted.org/packages/cd/70/69506d53397b4bd6954061bae75677ad34deb7f6ca3ba199660d6f728ff5/regex-2025.7.34-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0200a5150c4cf61e407038f4b4d5cdad13e86345dac29ff9dab3d75d905cf130", size = 286072, upload-time = "2025-07-31T00:19:38.612Z" }, + { url = "https://files.pythonhosted.org/packages/b0/73/536a216d5f66084fb577bb0543b5cb7de3272eb70a157f0c3a542f1c2551/regex-2025.7.34-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:739a74970e736df0773788377969c9fea3876c2fc13d0563f98e5503e5185f46", size = 797341, upload-time = "2025-07-31T00:19:40.119Z" }, + { url = "https://files.pythonhosted.org/packages/26/af/733f8168449e56e8f404bb807ea7189f59507cbea1b67a7bbcd92f8bf844/regex-2025.7.34-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:4fef81b2f7ea6a2029161ed6dea9ae13834c28eb5a95b8771828194a026621e4", size = 862556, upload-time = "2025-07-31T00:19:41.556Z" }, + { url = "https://files.pythonhosted.org/packages/19/dd/59c464d58c06c4f7d87de4ab1f590e430821345a40c5d345d449a636d15f/regex-2025.7.34-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:ea74cf81fe61a7e9d77989050d0089a927ab758c29dac4e8e1b6c06fccf3ebf0", size = 910762, upload-time = "2025-07-31T00:19:43Z" }, + { url = "https://files.pythonhosted.org/packages/37/a8/b05ccf33ceca0815a1e253693b2c86544932ebcc0049c16b0fbdf18b688b/regex-2025.7.34-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e4636a7f3b65a5f340ed9ddf53585c42e3ff37101d383ed321bfe5660481744b", size = 801892, upload-time = "2025-07-31T00:19:44.645Z" }, + { url = "https://files.pythonhosted.org/packages/5f/9a/b993cb2e634cc22810afd1652dba0cae156c40d4864285ff486c73cd1996/regex-2025.7.34-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6cef962d7834437fe8d3da6f9bfc6f93f20f218266dcefec0560ed7765f5fe01", size = 786551, upload-time = "2025-07-31T00:19:46.127Z" }, + { url = "https://files.pythonhosted.org/packages/2d/79/7849d67910a0de4e26834b5bb816e028e35473f3d7ae563552ea04f58ca2/regex-2025.7.34-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:cbe1698e5b80298dbce8df4d8d1182279fbdaf1044e864cbc9d53c20e4a2be77", size = 856457, upload-time = "2025-07-31T00:19:47.562Z" }, + { url = "https://files.pythonhosted.org/packages/91/c6/de516bc082524b27e45cb4f54e28bd800c01efb26d15646a65b87b13a91e/regex-2025.7.34-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:32b9f9bcf0f605eb094b08e8da72e44badabb63dde6b83bd530580b488d1c6da", size = 848902, upload-time = "2025-07-31T00:19:49.312Z" }, + { url = "https://files.pythonhosted.org/packages/7d/22/519ff8ba15f732db099b126f039586bd372da6cd4efb810d5d66a5daeda1/regex-2025.7.34-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:524c868ba527eab4e8744a9287809579f54ae8c62fbf07d62aacd89f6026b282", size = 788038, upload-time = "2025-07-31T00:19:50.794Z" }, + { url = "https://files.pythonhosted.org/packages/3f/7d/aabb467d8f57d8149895d133c88eb809a1a6a0fe262c1d508eb9dfabb6f9/regex-2025.7.34-cp312-cp312-win32.whl", hash = "sha256:d600e58ee6d036081c89696d2bdd55d507498a7180df2e19945c6642fac59588", size = 264417, upload-time = "2025-07-31T00:19:52.292Z" }, + { url = "https://files.pythonhosted.org/packages/3b/39/bd922b55a4fc5ad5c13753274e5b536f5b06ec8eb9747675668491c7ab7a/regex-2025.7.34-cp312-cp312-win_amd64.whl", hash = "sha256:9a9ab52a466a9b4b91564437b36417b76033e8778e5af8f36be835d8cb370d62", size = 275387, upload-time = "2025-07-31T00:19:53.593Z" }, + { url = "https://files.pythonhosted.org/packages/f7/3c/c61d2fdcecb754a40475a3d1ef9a000911d3e3fc75c096acf44b0dfb786a/regex-2025.7.34-cp312-cp312-win_arm64.whl", hash = "sha256:c83aec91af9c6fbf7c743274fd952272403ad9a9db05fe9bfc9df8d12b45f176", size = 268482, upload-time = "2025-07-31T00:19:55.183Z" }, + { url = "https://files.pythonhosted.org/packages/15/16/b709b2119975035169a25aa8e4940ca177b1a2e25e14f8d996d09130368e/regex-2025.7.34-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:c3c9740a77aeef3f5e3aaab92403946a8d34437db930a0280e7e81ddcada61f5", size = 485334, upload-time = "2025-07-31T00:19:56.58Z" }, + { url = "https://files.pythonhosted.org/packages/94/a6/c09136046be0595f0331bc58a0e5f89c2d324cf734e0b0ec53cf4b12a636/regex-2025.7.34-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:69ed3bc611540f2ea70a4080f853741ec698be556b1df404599f8724690edbcd", size = 289942, upload-time = "2025-07-31T00:19:57.943Z" }, + { url = "https://files.pythonhosted.org/packages/36/91/08fc0fd0f40bdfb0e0df4134ee37cfb16e66a1044ac56d36911fd01c69d2/regex-2025.7.34-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:d03c6f9dcd562c56527c42b8530aad93193e0b3254a588be1f2ed378cdfdea1b", size = 285991, upload-time = "2025-07-31T00:19:59.837Z" }, + { url = "https://files.pythonhosted.org/packages/be/2f/99dc8f6f756606f0c214d14c7b6c17270b6bbe26d5c1f05cde9dbb1c551f/regex-2025.7.34-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6164b1d99dee1dfad33f301f174d8139d4368a9fb50bf0a3603b2eaf579963ad", size = 797415, upload-time = "2025-07-31T00:20:01.668Z" }, + { url = "https://files.pythonhosted.org/packages/62/cf/2fcdca1110495458ba4e95c52ce73b361cf1cafd8a53b5c31542cde9a15b/regex-2025.7.34-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:1e4f4f62599b8142362f164ce776f19d79bdd21273e86920a7b604a4275b4f59", size = 862487, upload-time = "2025-07-31T00:20:03.142Z" }, + { url = "https://files.pythonhosted.org/packages/90/38/899105dd27fed394e3fae45607c1983e138273ec167e47882fc401f112b9/regex-2025.7.34-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:72a26dcc6a59c057b292f39d41465d8233a10fd69121fa24f8f43ec6294e5415", size = 910717, upload-time = "2025-07-31T00:20:04.727Z" }, + { url = "https://files.pythonhosted.org/packages/ee/f6/4716198dbd0bcc9c45625ac4c81a435d1c4d8ad662e8576dac06bab35b17/regex-2025.7.34-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d5273fddf7a3e602695c92716c420c377599ed3c853ea669c1fe26218867002f", size = 801943, upload-time = "2025-07-31T00:20:07.1Z" }, + { url = "https://files.pythonhosted.org/packages/40/5d/cff8896d27e4e3dd11dd72ac78797c7987eb50fe4debc2c0f2f1682eb06d/regex-2025.7.34-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c1844be23cd40135b3a5a4dd298e1e0c0cb36757364dd6cdc6025770363e06c1", size = 786664, upload-time = "2025-07-31T00:20:08.818Z" }, + { url = "https://files.pythonhosted.org/packages/10/29/758bf83cf7b4c34f07ac3423ea03cee3eb3176941641e4ccc05620f6c0b8/regex-2025.7.34-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:dde35e2afbbe2272f8abee3b9fe6772d9b5a07d82607b5788e8508974059925c", size = 856457, upload-time = "2025-07-31T00:20:10.328Z" }, + { url = "https://files.pythonhosted.org/packages/d7/30/c19d212b619963c5b460bfed0ea69a092c6a43cba52a973d46c27b3e2975/regex-2025.7.34-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:f3f6e8e7af516a7549412ce57613e859c3be27d55341a894aacaa11703a4c31a", size = 849008, upload-time = "2025-07-31T00:20:11.823Z" }, + { url = "https://files.pythonhosted.org/packages/9e/b8/3c35da3b12c87e3cc00010ef6c3a4ae787cff0bc381aa3d251def219969a/regex-2025.7.34-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:469142fb94a869beb25b5f18ea87646d21def10fbacb0bcb749224f3509476f0", size = 788101, upload-time = "2025-07-31T00:20:13.729Z" }, + { url = "https://files.pythonhosted.org/packages/47/80/2f46677c0b3c2b723b2c358d19f9346e714113865da0f5f736ca1a883bde/regex-2025.7.34-cp313-cp313-win32.whl", hash = "sha256:da7507d083ee33ccea1310447410c27ca11fb9ef18c95899ca57ff60a7e4d8f1", size = 264401, upload-time = "2025-07-31T00:20:15.233Z" }, + { url = "https://files.pythonhosted.org/packages/be/fa/917d64dd074682606a003cba33585c28138c77d848ef72fc77cbb1183849/regex-2025.7.34-cp313-cp313-win_amd64.whl", hash = "sha256:9d644de5520441e5f7e2db63aec2748948cc39ed4d7a87fd5db578ea4043d997", size = 275368, upload-time = "2025-07-31T00:20:16.711Z" }, + { url = "https://files.pythonhosted.org/packages/65/cd/f94383666704170a2154a5df7b16be28f0c27a266bffcd843e58bc84120f/regex-2025.7.34-cp313-cp313-win_arm64.whl", hash = "sha256:7bf1c5503a9f2cbd2f52d7e260acb3131b07b6273c470abb78568174fe6bde3f", size = 268482, upload-time = "2025-07-31T00:20:18.189Z" }, ] [[package]] @@ -7058,27 +7148,27 @@ wheels = [ [[package]] name = "ruff" -version = "0.12.5" +version = "0.12.7" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/30/cd/01015eb5034605fd98d829c5839ec2c6b4582b479707f7c1c2af861e8258/ruff-0.12.5.tar.gz", hash = "sha256:b209db6102b66f13625940b7f8c7d0f18e20039bb7f6101fbdac935c9612057e", size = 5170722, upload-time = "2025-07-24T13:26:37.456Z" } +sdist = { url = "https://files.pythonhosted.org/packages/a1/81/0bd3594fa0f690466e41bd033bdcdf86cba8288345ac77ad4afbe5ec743a/ruff-0.12.7.tar.gz", hash = "sha256:1fc3193f238bc2d7968772c82831a4ff69252f673be371fb49663f0068b7ec71", size = 5197814, upload-time = "2025-07-29T22:32:35.877Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/d4/de/ad2f68f0798ff15dd8c0bcc2889558970d9a685b3249565a937cd820ad34/ruff-0.12.5-py3-none-linux_armv6l.whl", hash = "sha256:1de2c887e9dec6cb31fcb9948299de5b2db38144e66403b9660c9548a67abd92", size = 11819133, upload-time = "2025-07-24T13:25:56.369Z" }, - { url = "https://files.pythonhosted.org/packages/f8/fc/c6b65cd0e7fbe60f17e7ad619dca796aa49fbca34bb9bea5f8faf1ec2643/ruff-0.12.5-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:d1ab65e7d8152f519e7dea4de892317c9da7a108da1c56b6a3c1d5e7cf4c5e9a", size = 12501114, upload-time = "2025-07-24T13:25:59.471Z" }, - { url = "https://files.pythonhosted.org/packages/c5/de/c6bec1dce5ead9f9e6a946ea15e8d698c35f19edc508289d70a577921b30/ruff-0.12.5-py3-none-macosx_11_0_arm64.whl", hash = "sha256:962775ed5b27c7aa3fdc0d8f4d4433deae7659ef99ea20f783d666e77338b8cf", size = 11716873, upload-time = "2025-07-24T13:26:01.496Z" }, - { url = "https://files.pythonhosted.org/packages/a1/16/cf372d2ebe91e4eb5b82a2275c3acfa879e0566a7ac94d331ea37b765ac8/ruff-0.12.5-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:73b4cae449597e7195a49eb1cdca89fd9fbb16140c7579899e87f4c85bf82f73", size = 11958829, upload-time = "2025-07-24T13:26:03.721Z" }, - { url = "https://files.pythonhosted.org/packages/25/bf/cd07e8f6a3a6ec746c62556b4c4b79eeb9b0328b362bb8431b7b8afd3856/ruff-0.12.5-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:8b13489c3dc50de5e2d40110c0cce371e00186b880842e245186ca862bf9a1ac", size = 11626619, upload-time = "2025-07-24T13:26:06.118Z" }, - { url = "https://files.pythonhosted.org/packages/d8/c9/c2ccb3b8cbb5661ffda6925f81a13edbb786e623876141b04919d1128370/ruff-0.12.5-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f1504fea81461cf4841778b3ef0a078757602a3b3ea4b008feb1308cb3f23e08", size = 13221894, upload-time = "2025-07-24T13:26:08.292Z" }, - { url = "https://files.pythonhosted.org/packages/6b/58/68a5be2c8e5590ecdad922b2bcd5583af19ba648f7648f95c51c3c1eca81/ruff-0.12.5-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:c7da4129016ae26c32dfcbd5b671fe652b5ab7fc40095d80dcff78175e7eddd4", size = 14163909, upload-time = "2025-07-24T13:26:10.474Z" }, - { url = "https://files.pythonhosted.org/packages/bd/d1/ef6b19622009ba8386fdb792c0743f709cf917b0b2f1400589cbe4739a33/ruff-0.12.5-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ca972c80f7ebcfd8af75a0f18b17c42d9f1ef203d163669150453f50ca98ab7b", size = 13583652, upload-time = "2025-07-24T13:26:13.381Z" }, - { url = "https://files.pythonhosted.org/packages/62/e3/1c98c566fe6809a0c83751d825a03727f242cdbe0d142c9e292725585521/ruff-0.12.5-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8dbbf9f25dfb501f4237ae7501d6364b76a01341c6f1b2cd6764fe449124bb2a", size = 12700451, upload-time = "2025-07-24T13:26:15.488Z" }, - { url = "https://files.pythonhosted.org/packages/24/ff/96058f6506aac0fbc0d0fc0d60b0d0bd746240a0594657a2d94ad28033ba/ruff-0.12.5-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2c47dea6ae39421851685141ba9734767f960113d51e83fd7bb9958d5be8763a", size = 12937465, upload-time = "2025-07-24T13:26:17.808Z" }, - { url = "https://files.pythonhosted.org/packages/eb/d3/68bc5e7ab96c94b3589d1789f2dd6dd4b27b263310019529ac9be1e8f31b/ruff-0.12.5-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:c5076aa0e61e30f848846f0265c873c249d4b558105b221be1828f9f79903dc5", size = 11771136, upload-time = "2025-07-24T13:26:20.422Z" }, - { url = "https://files.pythonhosted.org/packages/52/75/7356af30a14584981cabfefcf6106dea98cec9a7af4acb5daaf4b114845f/ruff-0.12.5-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:a5a4c7830dadd3d8c39b1cc85386e2c1e62344f20766be6f173c22fb5f72f293", size = 11601644, upload-time = "2025-07-24T13:26:22.928Z" }, - { url = "https://files.pythonhosted.org/packages/c2/67/91c71d27205871737cae11025ee2b098f512104e26ffd8656fd93d0ada0a/ruff-0.12.5-py3-none-musllinux_1_2_i686.whl", hash = "sha256:46699f73c2b5b137b9dc0fc1a190b43e35b008b398c6066ea1350cce6326adcb", size = 12478068, upload-time = "2025-07-24T13:26:26.134Z" }, - { url = "https://files.pythonhosted.org/packages/34/04/b6b00383cf2f48e8e78e14eb258942fdf2a9bf0287fbf5cdd398b749193a/ruff-0.12.5-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:5a655a0a0d396f0f072faafc18ebd59adde8ca85fb848dc1b0d9f024b9c4d3bb", size = 12991537, upload-time = "2025-07-24T13:26:28.533Z" }, - { url = "https://files.pythonhosted.org/packages/3e/b9/053d6445dc7544fb6594785056d8ece61daae7214859ada4a152ad56b6e0/ruff-0.12.5-py3-none-win32.whl", hash = "sha256:dfeb2627c459b0b78ca2bbdc38dd11cc9a0a88bf91db982058b26ce41714ffa9", size = 11751575, upload-time = "2025-07-24T13:26:30.835Z" }, - { url = "https://files.pythonhosted.org/packages/bc/0f/ab16e8259493137598b9149734fec2e06fdeda9837e6f634f5c4e35916da/ruff-0.12.5-py3-none-win_amd64.whl", hash = "sha256:ae0d90cf5f49466c954991b9d8b953bd093c32c27608e409ae3564c63c5306a5", size = 12882273, upload-time = "2025-07-24T13:26:32.929Z" }, - { url = "https://files.pythonhosted.org/packages/00/db/c376b0661c24cf770cb8815268190668ec1330eba8374a126ceef8c72d55/ruff-0.12.5-py3-none-win_arm64.whl", hash = "sha256:48cdbfc633de2c5c37d9f090ba3b352d1576b0015bfc3bc98eaf230275b7e805", size = 11951564, upload-time = "2025-07-24T13:26:34.994Z" }, + { url = "https://files.pythonhosted.org/packages/e1/d2/6cb35e9c85e7a91e8d22ab32ae07ac39cc34a71f1009a6f9e4a2a019e602/ruff-0.12.7-py3-none-linux_armv6l.whl", hash = "sha256:76e4f31529899b8c434c3c1dede98c4483b89590e15fb49f2d46183801565303", size = 11852189, upload-time = "2025-07-29T22:31:41.281Z" }, + { url = "https://files.pythonhosted.org/packages/63/5b/a4136b9921aa84638f1a6be7fb086f8cad0fde538ba76bda3682f2599a2f/ruff-0.12.7-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:789b7a03e72507c54fb3ba6209e4bb36517b90f1a3569ea17084e3fd295500fb", size = 12519389, upload-time = "2025-07-29T22:31:54.265Z" }, + { url = "https://files.pythonhosted.org/packages/a8/c9/3e24a8472484269b6b1821794141f879c54645a111ded4b6f58f9ab0705f/ruff-0.12.7-py3-none-macosx_11_0_arm64.whl", hash = "sha256:2e1c2a3b8626339bb6369116e7030a4cf194ea48f49b64bb505732a7fce4f4e3", size = 11743384, upload-time = "2025-07-29T22:31:59.575Z" }, + { url = "https://files.pythonhosted.org/packages/26/7c/458dd25deeb3452c43eaee853c0b17a1e84169f8021a26d500ead77964fd/ruff-0.12.7-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:32dec41817623d388e645612ec70d5757a6d9c035f3744a52c7b195a57e03860", size = 11943759, upload-time = "2025-07-29T22:32:01.95Z" }, + { url = "https://files.pythonhosted.org/packages/7f/8b/658798472ef260ca050e400ab96ef7e85c366c39cf3dfbef4d0a46a528b6/ruff-0.12.7-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:47ef751f722053a5df5fa48d412dbb54d41ab9b17875c6840a58ec63ff0c247c", size = 11654028, upload-time = "2025-07-29T22:32:04.367Z" }, + { url = "https://files.pythonhosted.org/packages/a8/86/9c2336f13b2a3326d06d39178fd3448dcc7025f82514d1b15816fe42bfe8/ruff-0.12.7-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a828a5fc25a3efd3e1ff7b241fd392686c9386f20e5ac90aa9234a5faa12c423", size = 13225209, upload-time = "2025-07-29T22:32:06.952Z" }, + { url = "https://files.pythonhosted.org/packages/76/69/df73f65f53d6c463b19b6b312fd2391dc36425d926ec237a7ed028a90fc1/ruff-0.12.7-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:5726f59b171111fa6a69d82aef48f00b56598b03a22f0f4170664ff4d8298efb", size = 14182353, upload-time = "2025-07-29T22:32:10.053Z" }, + { url = "https://files.pythonhosted.org/packages/58/1e/de6cda406d99fea84b66811c189b5ea139814b98125b052424b55d28a41c/ruff-0.12.7-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:74e6f5c04c4dd4aba223f4fe6e7104f79e0eebf7d307e4f9b18c18362124bccd", size = 13631555, upload-time = "2025-07-29T22:32:12.644Z" }, + { url = "https://files.pythonhosted.org/packages/6f/ae/625d46d5164a6cc9261945a5e89df24457dc8262539ace3ac36c40f0b51e/ruff-0.12.7-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5d0bfe4e77fba61bf2ccadf8cf005d6133e3ce08793bbe870dd1c734f2699a3e", size = 12667556, upload-time = "2025-07-29T22:32:15.312Z" }, + { url = "https://files.pythonhosted.org/packages/55/bf/9cb1ea5e3066779e42ade8d0cd3d3b0582a5720a814ae1586f85014656b6/ruff-0.12.7-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:06bfb01e1623bf7f59ea749a841da56f8f653d641bfd046edee32ede7ff6c606", size = 12939784, upload-time = "2025-07-29T22:32:17.69Z" }, + { url = "https://files.pythonhosted.org/packages/55/7f/7ead2663be5627c04be83754c4f3096603bf5e99ed856c7cd29618c691bd/ruff-0.12.7-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:e41df94a957d50083fd09b916d6e89e497246698c3f3d5c681c8b3e7b9bb4ac8", size = 11771356, upload-time = "2025-07-29T22:32:20.134Z" }, + { url = "https://files.pythonhosted.org/packages/17/40/a95352ea16edf78cd3a938085dccc55df692a4d8ba1b3af7accbe2c806b0/ruff-0.12.7-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:4000623300563c709458d0ce170c3d0d788c23a058912f28bbadc6f905d67afa", size = 11612124, upload-time = "2025-07-29T22:32:22.645Z" }, + { url = "https://files.pythonhosted.org/packages/4d/74/633b04871c669e23b8917877e812376827c06df866e1677f15abfadc95cb/ruff-0.12.7-py3-none-musllinux_1_2_i686.whl", hash = "sha256:69ffe0e5f9b2cf2b8e289a3f8945b402a1b19eff24ec389f45f23c42a3dd6fb5", size = 12479945, upload-time = "2025-07-29T22:32:24.765Z" }, + { url = "https://files.pythonhosted.org/packages/be/34/c3ef2d7799c9778b835a76189c6f53c179d3bdebc8c65288c29032e03613/ruff-0.12.7-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:a07a5c8ffa2611a52732bdc67bf88e243abd84fe2d7f6daef3826b59abbfeda4", size = 12998677, upload-time = "2025-07-29T22:32:27.022Z" }, + { url = "https://files.pythonhosted.org/packages/77/ab/aca2e756ad7b09b3d662a41773f3edcbd262872a4fc81f920dc1ffa44541/ruff-0.12.7-py3-none-win32.whl", hash = "sha256:c928f1b2ec59fb77dfdf70e0419408898b63998789cc98197e15f560b9e77f77", size = 11756687, upload-time = "2025-07-29T22:32:29.381Z" }, + { url = "https://files.pythonhosted.org/packages/b4/71/26d45a5042bc71db22ddd8252ca9d01e9ca454f230e2996bb04f16d72799/ruff-0.12.7-py3-none-win_amd64.whl", hash = "sha256:9c18f3d707ee9edf89da76131956aba1270c6348bfee8f6c647de841eac7194f", size = 12912365, upload-time = "2025-07-29T22:32:31.517Z" }, + { url = "https://files.pythonhosted.org/packages/4c/9b/0b8aa09817b63e78d94b4977f18b1fcaead3165a5ee49251c5d5c245bb2d/ruff-0.12.7-py3-none-win_arm64.whl", hash = "sha256:dfce05101dbd11833a0776716d5d1578641b7fddb537fe7fa956ab85d1769b69", size = 11982083, upload-time = "2025-07-29T22:32:33.881Z" }, ] [[package]] @@ -7143,7 +7233,7 @@ dependencies = [ { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, { name = "numpy", version = "2.3.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, { name = "scipy", version = "1.15.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, - { name = "scipy", version = "1.16.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "scipy", version = "1.16.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, { name = "threadpoolctl" }, ] sdist = { url = "https://files.pythonhosted.org/packages/41/84/5f4af978fff619706b8961accac84780a6d298d82a8873446f72edb4ead0/scikit_learn-1.7.1.tar.gz", hash = "sha256:24b3f1e976a4665aa74ee0fcaac2b8fccc6ae77c8e07ab25da3ba6d3292b9802", size = 7190445, upload-time = "2025-07-18T08:01:54.5Z" } @@ -7238,7 +7328,7 @@ wheels = [ [[package]] name = "scipy" -version = "1.16.0" +version = "1.16.1" source = { registry = "https://pypi.org/simple" } resolution-markers = [ "python_full_version >= '3.13' and platform_python_implementation != 'PyPy' and sys_platform != 'emscripten'", @@ -7254,44 +7344,44 @@ resolution-markers = [ dependencies = [ { name = "numpy", version = "2.3.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/81/18/b06a83f0c5ee8cddbde5e3f3d0bb9b702abfa5136ef6d4620ff67df7eee5/scipy-1.16.0.tar.gz", hash = "sha256:b5ef54021e832869c8cfb03bc3bf20366cbcd426e02a58e8a58d7584dfbb8f62", size = 30581216, upload-time = "2025-06-22T16:27:55.782Z" } +sdist = { url = "https://files.pythonhosted.org/packages/f5/4a/b927028464795439faec8eaf0b03b011005c487bb2d07409f28bf30879c4/scipy-1.16.1.tar.gz", hash = "sha256:44c76f9e8b6e8e488a586190ab38016e4ed2f8a038af7cd3defa903c0a2238b3", size = 30580861, upload-time = "2025-07-27T16:33:30.834Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/d9/f8/53fc4884df6b88afd5f5f00240bdc49fee2999c7eff3acf5953eb15bc6f8/scipy-1.16.0-cp311-cp311-macosx_10_14_x86_64.whl", hash = "sha256:deec06d831b8f6b5fb0b652433be6a09db29e996368ce5911faf673e78d20085", size = 36447362, upload-time = "2025-06-22T16:18:17.817Z" }, - { url = "https://files.pythonhosted.org/packages/c9/25/fad8aa228fa828705142a275fc593d701b1817c98361a2d6b526167d07bc/scipy-1.16.0-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:d30c0fe579bb901c61ab4bb7f3eeb7281f0d4c4a7b52dbf563c89da4fd2949be", size = 28547120, upload-time = "2025-06-22T16:18:24.117Z" }, - { url = "https://files.pythonhosted.org/packages/8d/be/d324ddf6b89fd1c32fecc307f04d095ce84abb52d2e88fab29d0cd8dc7a8/scipy-1.16.0-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:b2243561b45257f7391d0f49972fca90d46b79b8dbcb9b2cb0f9df928d370ad4", size = 20818922, upload-time = "2025-06-22T16:18:28.035Z" }, - { url = "https://files.pythonhosted.org/packages/cd/e0/cf3f39e399ac83fd0f3ba81ccc5438baba7cfe02176be0da55ff3396f126/scipy-1.16.0-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:e6d7dfc148135e9712d87c5f7e4f2ddc1304d1582cb3a7d698bbadedb61c7afd", size = 23409695, upload-time = "2025-06-22T16:18:32.497Z" }, - { url = "https://files.pythonhosted.org/packages/5b/61/d92714489c511d3ffd6830ac0eb7f74f243679119eed8b9048e56b9525a1/scipy-1.16.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:90452f6a9f3fe5a2cf3748e7be14f9cc7d9b124dce19667b54f5b429d680d539", size = 33444586, upload-time = "2025-06-22T16:18:37.992Z" }, - { url = "https://files.pythonhosted.org/packages/af/2c/40108915fd340c830aee332bb85a9160f99e90893e58008b659b9f3dddc0/scipy-1.16.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:a2f0bf2f58031c8701a8b601df41701d2a7be17c7ffac0a4816aeba89c4cdac8", size = 35284126, upload-time = "2025-06-22T16:18:43.605Z" }, - { url = "https://files.pythonhosted.org/packages/d3/30/e9eb0ad3d0858df35d6c703cba0a7e16a18a56a9e6b211d861fc6f261c5f/scipy-1.16.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:6c4abb4c11fc0b857474241b812ce69ffa6464b4bd8f4ecb786cf240367a36a7", size = 35608257, upload-time = "2025-06-22T16:18:49.09Z" }, - { url = "https://files.pythonhosted.org/packages/c8/ff/950ee3e0d612b375110d8cda211c1f787764b4c75e418a4b71f4a5b1e07f/scipy-1.16.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b370f8f6ac6ef99815b0d5c9f02e7ade77b33007d74802efc8316c8db98fd11e", size = 38040541, upload-time = "2025-06-22T16:18:55.077Z" }, - { url = "https://files.pythonhosted.org/packages/8b/c9/750d34788288d64ffbc94fdb4562f40f609d3f5ef27ab4f3a4ad00c9033e/scipy-1.16.0-cp311-cp311-win_amd64.whl", hash = "sha256:a16ba90847249bedce8aa404a83fb8334b825ec4a8e742ce6012a7a5e639f95c", size = 38570814, upload-time = "2025-06-22T16:19:00.912Z" }, - { url = "https://files.pythonhosted.org/packages/01/c0/c943bc8d2bbd28123ad0f4f1eef62525fa1723e84d136b32965dcb6bad3a/scipy-1.16.0-cp312-cp312-macosx_10_14_x86_64.whl", hash = "sha256:7eb6bd33cef4afb9fa5f1fb25df8feeb1e52d94f21a44f1d17805b41b1da3180", size = 36459071, upload-time = "2025-06-22T16:19:06.605Z" }, - { url = "https://files.pythonhosted.org/packages/99/0d/270e2e9f1a4db6ffbf84c9a0b648499842046e4e0d9b2275d150711b3aba/scipy-1.16.0-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:1dbc8fdba23e4d80394ddfab7a56808e3e6489176d559c6c71935b11a2d59db1", size = 28490500, upload-time = "2025-06-22T16:19:11.775Z" }, - { url = "https://files.pythonhosted.org/packages/1c/22/01d7ddb07cff937d4326198ec8d10831367a708c3da72dfd9b7ceaf13028/scipy-1.16.0-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:7dcf42c380e1e3737b343dec21095c9a9ad3f9cbe06f9c05830b44b1786c9e90", size = 20762345, upload-time = "2025-06-22T16:19:15.813Z" }, - { url = "https://files.pythonhosted.org/packages/34/7f/87fd69856569ccdd2a5873fe5d7b5bbf2ad9289d7311d6a3605ebde3a94b/scipy-1.16.0-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:26ec28675f4a9d41587266084c626b02899db373717d9312fa96ab17ca1ae94d", size = 23418563, upload-time = "2025-06-22T16:19:20.746Z" }, - { url = "https://files.pythonhosted.org/packages/f6/f1/e4f4324fef7f54160ab749efbab6a4bf43678a9eb2e9817ed71a0a2fd8de/scipy-1.16.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:952358b7e58bd3197cfbd2f2f2ba829f258404bdf5db59514b515a8fe7a36c52", size = 33203951, upload-time = "2025-06-22T16:19:25.813Z" }, - { url = "https://files.pythonhosted.org/packages/6d/f0/b6ac354a956384fd8abee2debbb624648125b298f2c4a7b4f0d6248048a5/scipy-1.16.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:03931b4e870c6fef5b5c0970d52c9f6ddd8c8d3e934a98f09308377eba6f3824", size = 35070225, upload-time = "2025-06-22T16:19:31.416Z" }, - { url = "https://files.pythonhosted.org/packages/e5/73/5cbe4a3fd4bc3e2d67ffad02c88b83edc88f381b73ab982f48f3df1a7790/scipy-1.16.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:512c4f4f85912767c351a0306824ccca6fd91307a9f4318efe8fdbd9d30562ef", size = 35389070, upload-time = "2025-06-22T16:19:37.387Z" }, - { url = "https://files.pythonhosted.org/packages/86/e8/a60da80ab9ed68b31ea5a9c6dfd3c2f199347429f229bf7f939a90d96383/scipy-1.16.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e69f798847e9add03d512eaf5081a9a5c9a98757d12e52e6186ed9681247a1ac", size = 37825287, upload-time = "2025-06-22T16:19:43.375Z" }, - { url = "https://files.pythonhosted.org/packages/ea/b5/29fece1a74c6a94247f8a6fb93f5b28b533338e9c34fdcc9cfe7a939a767/scipy-1.16.0-cp312-cp312-win_amd64.whl", hash = "sha256:adf9b1999323ba335adc5d1dc7add4781cb5a4b0ef1e98b79768c05c796c4e49", size = 38431929, upload-time = "2025-06-22T16:19:49.385Z" }, - { url = "https://files.pythonhosted.org/packages/46/95/0746417bc24be0c2a7b7563946d61f670a3b491b76adede420e9d173841f/scipy-1.16.0-cp313-cp313-macosx_10_14_x86_64.whl", hash = "sha256:e9f414cbe9ca289a73e0cc92e33a6a791469b6619c240aa32ee18abdce8ab451", size = 36418162, upload-time = "2025-06-22T16:19:56.3Z" }, - { url = "https://files.pythonhosted.org/packages/19/5a/914355a74481b8e4bbccf67259bbde171348a3f160b67b4945fbc5f5c1e5/scipy-1.16.0-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:bbba55fb97ba3cdef9b1ee973f06b09d518c0c7c66a009c729c7d1592be1935e", size = 28465985, upload-time = "2025-06-22T16:20:01.238Z" }, - { url = "https://files.pythonhosted.org/packages/58/46/63477fc1246063855969cbefdcee8c648ba4b17f67370bd542ba56368d0b/scipy-1.16.0-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:58e0d4354eacb6004e7aa1cd350e5514bd0270acaa8d5b36c0627bb3bb486974", size = 20737961, upload-time = "2025-06-22T16:20:05.913Z" }, - { url = "https://files.pythonhosted.org/packages/93/86/0fbb5588b73555e40f9d3d6dde24ee6fac7d8e301a27f6f0cab9d8f66ff2/scipy-1.16.0-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:75b2094ec975c80efc273567436e16bb794660509c12c6a31eb5c195cbf4b6dc", size = 23377941, upload-time = "2025-06-22T16:20:10.668Z" }, - { url = "https://files.pythonhosted.org/packages/ca/80/a561f2bf4c2da89fa631b3cbf31d120e21ea95db71fd9ec00cb0247c7a93/scipy-1.16.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:6b65d232157a380fdd11a560e7e21cde34fdb69d65c09cb87f6cc024ee376351", size = 33196703, upload-time = "2025-06-22T16:20:16.097Z" }, - { url = "https://files.pythonhosted.org/packages/11/6b/3443abcd0707d52e48eb315e33cc669a95e29fc102229919646f5a501171/scipy-1.16.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:1d8747f7736accd39289943f7fe53a8333be7f15a82eea08e4afe47d79568c32", size = 35083410, upload-time = "2025-06-22T16:20:21.734Z" }, - { url = "https://files.pythonhosted.org/packages/20/ab/eb0fc00e1e48961f1bd69b7ad7e7266896fe5bad4ead91b5fc6b3561bba4/scipy-1.16.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:eb9f147a1b8529bb7fec2a85cf4cf42bdfadf9e83535c309a11fdae598c88e8b", size = 35387829, upload-time = "2025-06-22T16:20:27.548Z" }, - { url = "https://files.pythonhosted.org/packages/57/9e/d6fc64e41fad5d481c029ee5a49eefc17f0b8071d636a02ceee44d4a0de2/scipy-1.16.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:d2b83c37edbfa837a8923d19c749c1935ad3d41cf196006a24ed44dba2ec4358", size = 37841356, upload-time = "2025-06-22T16:20:35.112Z" }, - { url = "https://files.pythonhosted.org/packages/7c/a7/4c94bbe91f12126b8bf6709b2471900577b7373a4fd1f431f28ba6f81115/scipy-1.16.0-cp313-cp313-win_amd64.whl", hash = "sha256:79a3c13d43c95aa80b87328a46031cf52508cf5f4df2767602c984ed1d3c6bbe", size = 38403710, upload-time = "2025-06-22T16:21:54.473Z" }, - { url = "https://files.pythonhosted.org/packages/47/20/965da8497f6226e8fa90ad3447b82ed0e28d942532e92dd8b91b43f100d4/scipy-1.16.0-cp313-cp313t-macosx_10_14_x86_64.whl", hash = "sha256:f91b87e1689f0370690e8470916fe1b2308e5b2061317ff76977c8f836452a47", size = 36813833, upload-time = "2025-06-22T16:20:43.925Z" }, - { url = "https://files.pythonhosted.org/packages/28/f4/197580c3dac2d234e948806e164601c2df6f0078ed9f5ad4a62685b7c331/scipy-1.16.0-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:88a6ca658fb94640079e7a50b2ad3b67e33ef0f40e70bdb7dc22017dae73ac08", size = 28974431, upload-time = "2025-06-22T16:20:51.302Z" }, - { url = "https://files.pythonhosted.org/packages/8a/fc/e18b8550048d9224426e76906694c60028dbdb65d28b1372b5503914b89d/scipy-1.16.0-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:ae902626972f1bd7e4e86f58fd72322d7f4ec7b0cfc17b15d4b7006efc385176", size = 21246454, upload-time = "2025-06-22T16:20:57.276Z" }, - { url = "https://files.pythonhosted.org/packages/8c/48/07b97d167e0d6a324bfd7484cd0c209cc27338b67e5deadae578cf48e809/scipy-1.16.0-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:8cb824c1fc75ef29893bc32b3ddd7b11cf9ab13c1127fe26413a05953b8c32ed", size = 23772979, upload-time = "2025-06-22T16:21:03.363Z" }, - { url = "https://files.pythonhosted.org/packages/4c/4f/9efbd3f70baf9582edf271db3002b7882c875ddd37dc97f0f675ad68679f/scipy-1.16.0-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:de2db7250ff6514366a9709c2cba35cb6d08498e961cba20d7cff98a7ee88938", size = 33341972, upload-time = "2025-06-22T16:21:11.14Z" }, - { url = "https://files.pythonhosted.org/packages/3f/dc/9e496a3c5dbe24e76ee24525155ab7f659c20180bab058ef2c5fa7d9119c/scipy-1.16.0-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:e85800274edf4db8dd2e4e93034f92d1b05c9421220e7ded9988b16976f849c1", size = 35185476, upload-time = "2025-06-22T16:21:19.156Z" }, - { url = "https://files.pythonhosted.org/packages/ce/b3/21001cff985a122ba434c33f2c9d7d1dc3b669827e94f4fc4e1fe8b9dfd8/scipy-1.16.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:4f720300a3024c237ace1cb11f9a84c38beb19616ba7c4cdcd771047a10a1706", size = 35570990, upload-time = "2025-06-22T16:21:27.797Z" }, - { url = "https://files.pythonhosted.org/packages/e5/d3/7ba42647d6709251cdf97043d0c107e0317e152fa2f76873b656b509ff55/scipy-1.16.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:aad603e9339ddb676409b104c48a027e9916ce0d2838830691f39552b38a352e", size = 37950262, upload-time = "2025-06-22T16:21:36.976Z" }, - { url = "https://files.pythonhosted.org/packages/eb/c4/231cac7a8385394ebbbb4f1ca662203e9d8c332825ab4f36ffc3ead09a42/scipy-1.16.0-cp313-cp313t-win_amd64.whl", hash = "sha256:f56296fefca67ba605fd74d12f7bd23636267731a72cb3947963e76b8c0a25db", size = 38515076, upload-time = "2025-06-22T16:21:45.694Z" }, + { url = "https://files.pythonhosted.org/packages/da/91/812adc6f74409b461e3a5fa97f4f74c769016919203138a3bf6fc24ba4c5/scipy-1.16.1-cp311-cp311-macosx_10_14_x86_64.whl", hash = "sha256:c033fa32bab91dc98ca59d0cf23bb876454e2bb02cbe592d5023138778f70030", size = 36552519, upload-time = "2025-07-27T16:26:29.658Z" }, + { url = "https://files.pythonhosted.org/packages/47/18/8e355edcf3b71418d9e9f9acd2708cc3a6c27e8f98fde0ac34b8a0b45407/scipy-1.16.1-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:6e5c2f74e5df33479b5cd4e97a9104c511518fbd979aa9b8f6aec18b2e9ecae7", size = 28638010, upload-time = "2025-07-27T16:26:38.196Z" }, + { url = "https://files.pythonhosted.org/packages/d9/eb/e931853058607bdfbc11b86df19ae7a08686121c203483f62f1ecae5989c/scipy-1.16.1-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:0a55ffe0ba0f59666e90951971a884d1ff6f4ec3275a48f472cfb64175570f77", size = 20909790, upload-time = "2025-07-27T16:26:43.93Z" }, + { url = "https://files.pythonhosted.org/packages/45/0c/be83a271d6e96750cd0be2e000f35ff18880a46f05ce8b5d3465dc0f7a2a/scipy-1.16.1-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:f8a5d6cd147acecc2603fbd382fed6c46f474cccfcf69ea32582e033fb54dcfe", size = 23513352, upload-time = "2025-07-27T16:26:50.017Z" }, + { url = "https://files.pythonhosted.org/packages/7c/bf/fe6eb47e74f762f933cca962db7f2c7183acfdc4483bd1c3813cfe83e538/scipy-1.16.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:cb18899127278058bcc09e7b9966d41a5a43740b5bb8dcba401bd983f82e885b", size = 33534643, upload-time = "2025-07-27T16:26:57.503Z" }, + { url = "https://files.pythonhosted.org/packages/bb/ba/63f402e74875486b87ec6506a4f93f6d8a0d94d10467280f3d9d7837ce3a/scipy-1.16.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:adccd93a2fa937a27aae826d33e3bfa5edf9aa672376a4852d23a7cd67a2e5b7", size = 35376776, upload-time = "2025-07-27T16:27:06.639Z" }, + { url = "https://files.pythonhosted.org/packages/c3/b4/04eb9d39ec26a1b939689102da23d505ea16cdae3dbb18ffc53d1f831044/scipy-1.16.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:18aca1646a29ee9a0625a1be5637fa798d4d81fdf426481f06d69af828f16958", size = 35698906, upload-time = "2025-07-27T16:27:14.943Z" }, + { url = "https://files.pythonhosted.org/packages/04/d6/bb5468da53321baeb001f6e4e0d9049eadd175a4a497709939128556e3ec/scipy-1.16.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:d85495cef541729a70cdddbbf3e6b903421bc1af3e8e3a9a72a06751f33b7c39", size = 38129275, upload-time = "2025-07-27T16:27:23.873Z" }, + { url = "https://files.pythonhosted.org/packages/c4/94/994369978509f227cba7dfb9e623254d0d5559506fe994aef4bea3ed469c/scipy-1.16.1-cp311-cp311-win_amd64.whl", hash = "sha256:226652fca853008119c03a8ce71ffe1b3f6d2844cc1686e8f9806edafae68596", size = 38644572, upload-time = "2025-07-27T16:27:32.637Z" }, + { url = "https://files.pythonhosted.org/packages/f8/d9/ec4864f5896232133f51382b54a08de91a9d1af7a76dfa372894026dfee2/scipy-1.16.1-cp312-cp312-macosx_10_14_x86_64.whl", hash = "sha256:81b433bbeaf35728dad619afc002db9b189e45eebe2cd676effe1fb93fef2b9c", size = 36575194, upload-time = "2025-07-27T16:27:41.321Z" }, + { url = "https://files.pythonhosted.org/packages/5c/6d/40e81ecfb688e9d25d34a847dca361982a6addf8e31f0957b1a54fbfa994/scipy-1.16.1-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:886cc81fdb4c6903a3bb0464047c25a6d1016fef77bb97949817d0c0d79f9e04", size = 28594590, upload-time = "2025-07-27T16:27:49.204Z" }, + { url = "https://files.pythonhosted.org/packages/0e/37/9f65178edfcc629377ce9a64fc09baebea18c80a9e57ae09a52edf84880b/scipy-1.16.1-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:15240c3aac087a522b4eaedb09f0ad061753c5eebf1ea430859e5bf8640d5919", size = 20866458, upload-time = "2025-07-27T16:27:54.98Z" }, + { url = "https://files.pythonhosted.org/packages/2c/7b/749a66766871ea4cb1d1ea10f27004db63023074c22abed51f22f09770e0/scipy-1.16.1-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:65f81a25805f3659b48126b5053d9e823d3215e4a63730b5e1671852a1705921", size = 23539318, upload-time = "2025-07-27T16:28:01.604Z" }, + { url = "https://files.pythonhosted.org/packages/c4/db/8d4afec60eb833a666434d4541a3151eedbf2494ea6d4d468cbe877f00cd/scipy-1.16.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:6c62eea7f607f122069b9bad3f99489ddca1a5173bef8a0c75555d7488b6f725", size = 33292899, upload-time = "2025-07-27T16:28:09.147Z" }, + { url = "https://files.pythonhosted.org/packages/51/1e/79023ca3bbb13a015d7d2757ecca3b81293c663694c35d6541b4dca53e98/scipy-1.16.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:f965bbf3235b01c776115ab18f092a95aa74c271a52577bcb0563e85738fd618", size = 35162637, upload-time = "2025-07-27T16:28:17.535Z" }, + { url = "https://files.pythonhosted.org/packages/b6/49/0648665f9c29fdaca4c679182eb972935b3b4f5ace41d323c32352f29816/scipy-1.16.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:f006e323874ffd0b0b816d8c6a8e7f9a73d55ab3b8c3f72b752b226d0e3ac83d", size = 35490507, upload-time = "2025-07-27T16:28:25.705Z" }, + { url = "https://files.pythonhosted.org/packages/62/8f/66cbb9d6bbb18d8c658f774904f42a92078707a7c71e5347e8bf2f52bb89/scipy-1.16.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e8fd15fc5085ab4cca74cb91fe0a4263b1f32e4420761ddae531ad60934c2119", size = 37923998, upload-time = "2025-07-27T16:28:34.339Z" }, + { url = "https://files.pythonhosted.org/packages/14/c3/61f273ae550fbf1667675701112e380881905e28448c080b23b5a181df7c/scipy-1.16.1-cp312-cp312-win_amd64.whl", hash = "sha256:f7b8013c6c066609577d910d1a2a077021727af07b6fab0ee22c2f901f22352a", size = 38508060, upload-time = "2025-07-27T16:28:43.242Z" }, + { url = "https://files.pythonhosted.org/packages/93/0b/b5c99382b839854a71ca9482c684e3472badc62620287cbbdab499b75ce6/scipy-1.16.1-cp313-cp313-macosx_10_14_x86_64.whl", hash = "sha256:5451606823a5e73dfa621a89948096c6528e2896e40b39248295d3a0138d594f", size = 36533717, upload-time = "2025-07-27T16:28:51.706Z" }, + { url = "https://files.pythonhosted.org/packages/eb/e5/69ab2771062c91e23e07c12e7d5033a6b9b80b0903ee709c3c36b3eb520c/scipy-1.16.1-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:89728678c5ca5abd610aee148c199ac1afb16e19844401ca97d43dc548a354eb", size = 28570009, upload-time = "2025-07-27T16:28:57.017Z" }, + { url = "https://files.pythonhosted.org/packages/f4/69/bd75dbfdd3cf524f4d753484d723594aed62cfaac510123e91a6686d520b/scipy-1.16.1-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:e756d688cb03fd07de0fffad475649b03cb89bee696c98ce508b17c11a03f95c", size = 20841942, upload-time = "2025-07-27T16:29:01.152Z" }, + { url = "https://files.pythonhosted.org/packages/ea/74/add181c87663f178ba7d6144b370243a87af8476664d5435e57d599e6874/scipy-1.16.1-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:5aa2687b9935da3ed89c5dbed5234576589dd28d0bf7cd237501ccfbdf1ad608", size = 23498507, upload-time = "2025-07-27T16:29:05.202Z" }, + { url = "https://files.pythonhosted.org/packages/1d/74/ece2e582a0d9550cee33e2e416cc96737dce423a994d12bbe59716f47ff1/scipy-1.16.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:0851f6a1e537fe9399f35986897e395a1aa61c574b178c0d456be5b1a0f5ca1f", size = 33286040, upload-time = "2025-07-27T16:29:10.201Z" }, + { url = "https://files.pythonhosted.org/packages/e4/82/08e4076df538fb56caa1d489588d880ec7c52d8273a606bb54d660528f7c/scipy-1.16.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:fedc2cbd1baed37474b1924c331b97bdff611d762c196fac1a9b71e67b813b1b", size = 35176096, upload-time = "2025-07-27T16:29:17.091Z" }, + { url = "https://files.pythonhosted.org/packages/fa/79/cd710aab8c921375711a8321c6be696e705a120e3011a643efbbcdeeabcc/scipy-1.16.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:2ef500e72f9623a6735769e4b93e9dcb158d40752cdbb077f305487e3e2d1f45", size = 35490328, upload-time = "2025-07-27T16:29:22.928Z" }, + { url = "https://files.pythonhosted.org/packages/71/73/e9cc3d35ee4526d784520d4494a3e1ca969b071fb5ae5910c036a375ceec/scipy-1.16.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:978d8311674b05a8f7ff2ea6c6bce5d8b45a0cb09d4c5793e0318f448613ea65", size = 37939921, upload-time = "2025-07-27T16:29:29.108Z" }, + { url = "https://files.pythonhosted.org/packages/21/12/c0efd2941f01940119b5305c375ae5c0fcb7ec193f806bd8f158b73a1782/scipy-1.16.1-cp313-cp313-win_amd64.whl", hash = "sha256:81929ed0fa7a5713fcdd8b2e6f73697d3b4c4816d090dd34ff937c20fa90e8ab", size = 38479462, upload-time = "2025-07-27T16:30:24.078Z" }, + { url = "https://files.pythonhosted.org/packages/7a/19/c3d08b675260046a991040e1ea5d65f91f40c7df1045fffff412dcfc6765/scipy-1.16.1-cp313-cp313t-macosx_10_14_x86_64.whl", hash = "sha256:bcc12db731858abda693cecdb3bdc9e6d4bd200213f49d224fe22df82687bdd6", size = 36938832, upload-time = "2025-07-27T16:29:35.057Z" }, + { url = "https://files.pythonhosted.org/packages/81/f2/ce53db652c033a414a5b34598dba6b95f3d38153a2417c5a3883da429029/scipy-1.16.1-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:744d977daa4becb9fc59135e75c069f8d301a87d64f88f1e602a9ecf51e77b27", size = 29093084, upload-time = "2025-07-27T16:29:40.201Z" }, + { url = "https://files.pythonhosted.org/packages/a9/ae/7a10ff04a7dc15f9057d05b33737ade244e4bd195caa3f7cc04d77b9e214/scipy-1.16.1-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:dc54f76ac18073bcecffb98d93f03ed6b81a92ef91b5d3b135dcc81d55a724c7", size = 21365098, upload-time = "2025-07-27T16:29:44.295Z" }, + { url = "https://files.pythonhosted.org/packages/36/ac/029ff710959932ad3c2a98721b20b405f05f752f07344622fd61a47c5197/scipy-1.16.1-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:367d567ee9fc1e9e2047d31f39d9d6a7a04e0710c86e701e053f237d14a9b4f6", size = 23896858, upload-time = "2025-07-27T16:29:48.784Z" }, + { url = "https://files.pythonhosted.org/packages/71/13/d1ef77b6bd7898720e1f0b6b3743cb945f6c3cafa7718eaac8841035ab60/scipy-1.16.1-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:4cf5785e44e19dcd32a0e4807555e1e9a9b8d475c6afff3d21c3c543a6aa84f4", size = 33438311, upload-time = "2025-07-27T16:29:54.164Z" }, + { url = "https://files.pythonhosted.org/packages/2d/e0/e64a6821ffbb00b4c5b05169f1c1fddb4800e9307efe3db3788995a82a2c/scipy-1.16.1-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:3d0b80fb26d3e13a794c71d4b837e2a589d839fd574a6bbb4ee1288c213ad4a3", size = 35279542, upload-time = "2025-07-27T16:30:00.249Z" }, + { url = "https://files.pythonhosted.org/packages/57/59/0dc3c8b43e118f1e4ee2b798dcc96ac21bb20014e5f1f7a8e85cc0653bdb/scipy-1.16.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:8503517c44c18d1030d666cb70aaac1cc8913608816e06742498833b128488b7", size = 35667665, upload-time = "2025-07-27T16:30:05.916Z" }, + { url = "https://files.pythonhosted.org/packages/45/5f/844ee26e34e2f3f9f8febb9343748e72daeaec64fe0c70e9bf1ff84ec955/scipy-1.16.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:30cc4bb81c41831ecfd6dc450baf48ffd80ef5aed0f5cf3ea775740e80f16ecc", size = 38045210, upload-time = "2025-07-27T16:30:11.655Z" }, + { url = "https://files.pythonhosted.org/packages/8d/d7/210f2b45290f444f1de64bc7353aa598ece9f0e90c384b4a156f9b1a5063/scipy-1.16.1-cp313-cp313t-win_amd64.whl", hash = "sha256:c24fa02f7ed23ae514460a22c57eca8f530dbfa50b1cfdbf4f37c05b5309cc39", size = 38593661, upload-time = "2025-07-27T16:30:17.825Z" }, ] [[package]] @@ -7359,15 +7449,15 @@ wheels = [ [[package]] name = "sentry-sdk" -version = "2.33.2" +version = "2.34.1" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "certifi" }, { name = "urllib3" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/b0/82/dfe4a91fd38e048fbb55ca6c072710408e8802015aa27cde18e8684bb1e9/sentry_sdk-2.33.2.tar.gz", hash = "sha256:e85002234b7b8efac9b74c2d91dbd4f8f3970dc28da8798e39530e65cb740f94", size = 335804, upload-time = "2025-07-22T10:41:18.578Z" } +sdist = { url = "https://files.pythonhosted.org/packages/3a/38/10d6bfe23df1bfc65ac2262ed10b45823f47f810b0057d3feeea1ca5c7ed/sentry_sdk-2.34.1.tar.gz", hash = "sha256:69274eb8c5c38562a544c3e9f68b5be0a43be4b697f5fd385bf98e4fbe672687", size = 336969, upload-time = "2025-07-30T11:13:37.93Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/c2/dc/4d825d5eb6e924dfcc6a91c8185578a7b0a5c41fd2416a6f49c8226d6ef9/sentry_sdk-2.33.2-py2.py3-none-any.whl", hash = "sha256:8d57a3b4861b243aa9d558fda75509ad487db14f488cbdb6c78c614979d77632", size = 356692, upload-time = "2025-07-22T10:41:16.531Z" }, + { url = "https://files.pythonhosted.org/packages/2d/3e/bb34de65a5787f76848a533afbb6610e01fbcdd59e76d8679c254e02255c/sentry_sdk-2.34.1-py2.py3-none-any.whl", hash = "sha256:b7a072e1cdc5abc48101d5146e1ae680fa81fe886d8d95aaa25a0b450c818d32", size = 357743, upload-time = "2025-07-30T11:13:36.145Z" }, ] [package.optional-dependencies] @@ -7516,47 +7606,47 @@ wheels = [ [[package]] name = "sqlalchemy" -version = "2.0.41" +version = "2.0.42" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "greenlet", marker = "platform_machine == 'AMD64' or platform_machine == 'WIN32' or platform_machine == 'aarch64' or platform_machine == 'amd64' or platform_machine == 'ppc64le' or platform_machine == 'win32' or platform_machine == 'x86_64'" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/63/66/45b165c595ec89aa7dcc2c1cd222ab269bc753f1fc7a1e68f8481bd957bf/sqlalchemy-2.0.41.tar.gz", hash = "sha256:edba70118c4be3c2b1f90754d308d0b79c6fe2c0fdc52d8ddf603916f83f4db9", size = 9689424, upload-time = "2025-05-14T17:10:32.339Z" } +sdist = { url = "https://files.pythonhosted.org/packages/5a/03/a0af991e3a43174d6b83fca4fb399745abceddd1171bdabae48ce877ff47/sqlalchemy-2.0.42.tar.gz", hash = "sha256:160bedd8a5c28765bd5be4dec2d881e109e33b34922e50a3b881a7681773ac5f", size = 9749972, upload-time = "2025-07-29T12:48:09.323Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e9/12/d7c445b1940276a828efce7331cb0cb09d6e5f049651db22f4ebb0922b77/sqlalchemy-2.0.41-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b1f09b6821406ea1f94053f346f28f8215e293344209129a9c0fcc3578598d7b", size = 2117967, upload-time = "2025-05-14T17:48:15.841Z" }, - { url = "https://files.pythonhosted.org/packages/6f/b8/cb90f23157e28946b27eb01ef401af80a1fab7553762e87df51507eaed61/sqlalchemy-2.0.41-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:1936af879e3db023601196a1684d28e12f19ccf93af01bf3280a3262c4b6b4e5", size = 2107583, upload-time = "2025-05-14T17:48:18.688Z" }, - { url = "https://files.pythonhosted.org/packages/9e/c2/eef84283a1c8164a207d898e063edf193d36a24fb6a5bb3ce0634b92a1e8/sqlalchemy-2.0.41-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b2ac41acfc8d965fb0c464eb8f44995770239668956dc4cdf502d1b1ffe0d747", size = 3186025, upload-time = "2025-05-14T17:51:51.226Z" }, - { url = "https://files.pythonhosted.org/packages/bd/72/49d52bd3c5e63a1d458fd6d289a1523a8015adedbddf2c07408ff556e772/sqlalchemy-2.0.41-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:81c24e0c0fde47a9723c81d5806569cddef103aebbf79dbc9fcbb617153dea30", size = 3186259, upload-time = "2025-05-14T17:55:22.526Z" }, - { url = "https://files.pythonhosted.org/packages/4f/9e/e3ffc37d29a3679a50b6bbbba94b115f90e565a2b4545abb17924b94c52d/sqlalchemy-2.0.41-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:23a8825495d8b195c4aa9ff1c430c28f2c821e8c5e2d98089228af887e5d7e29", size = 3126803, upload-time = "2025-05-14T17:51:53.277Z" }, - { url = "https://files.pythonhosted.org/packages/8a/76/56b21e363f6039978ae0b72690237b38383e4657281285a09456f313dd77/sqlalchemy-2.0.41-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:60c578c45c949f909a4026b7807044e7e564adf793537fc762b2489d522f3d11", size = 3148566, upload-time = "2025-05-14T17:55:24.398Z" }, - { url = "https://files.pythonhosted.org/packages/3b/92/11b8e1b69bf191bc69e300a99badbbb5f2f1102f2b08b39d9eee2e21f565/sqlalchemy-2.0.41-cp310-cp310-win32.whl", hash = "sha256:118c16cd3f1b00c76d69343e38602006c9cfb9998fa4f798606d28d63f23beda", size = 2086696, upload-time = "2025-05-14T17:55:59.136Z" }, - { url = "https://files.pythonhosted.org/packages/5c/88/2d706c9cc4502654860f4576cd54f7db70487b66c3b619ba98e0be1a4642/sqlalchemy-2.0.41-cp310-cp310-win_amd64.whl", hash = "sha256:7492967c3386df69f80cf67efd665c0f667cee67032090fe01d7d74b0e19bb08", size = 2110200, upload-time = "2025-05-14T17:56:00.757Z" }, - { url = "https://files.pythonhosted.org/packages/37/4e/b00e3ffae32b74b5180e15d2ab4040531ee1bef4c19755fe7926622dc958/sqlalchemy-2.0.41-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6375cd674fe82d7aa9816d1cb96ec592bac1726c11e0cafbf40eeee9a4516b5f", size = 2121232, upload-time = "2025-05-14T17:48:20.444Z" }, - { url = "https://files.pythonhosted.org/packages/ef/30/6547ebb10875302074a37e1970a5dce7985240665778cfdee2323709f749/sqlalchemy-2.0.41-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:9f8c9fdd15a55d9465e590a402f42082705d66b05afc3ffd2d2eb3c6ba919560", size = 2110897, upload-time = "2025-05-14T17:48:21.634Z" }, - { url = "https://files.pythonhosted.org/packages/9e/21/59df2b41b0f6c62da55cd64798232d7349a9378befa7f1bb18cf1dfd510a/sqlalchemy-2.0.41-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:32f9dc8c44acdee06c8fc6440db9eae8b4af8b01e4b1aee7bdd7241c22edff4f", size = 3273313, upload-time = "2025-05-14T17:51:56.205Z" }, - { url = "https://files.pythonhosted.org/packages/62/e4/b9a7a0e5c6f79d49bcd6efb6e90d7536dc604dab64582a9dec220dab54b6/sqlalchemy-2.0.41-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:90c11ceb9a1f482c752a71f203a81858625d8df5746d787a4786bca4ffdf71c6", size = 3273807, upload-time = "2025-05-14T17:55:26.928Z" }, - { url = "https://files.pythonhosted.org/packages/39/d8/79f2427251b44ddee18676c04eab038d043cff0e764d2d8bb08261d6135d/sqlalchemy-2.0.41-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:911cc493ebd60de5f285bcae0491a60b4f2a9f0f5c270edd1c4dbaef7a38fc04", size = 3209632, upload-time = "2025-05-14T17:51:59.384Z" }, - { url = "https://files.pythonhosted.org/packages/d4/16/730a82dda30765f63e0454918c982fb7193f6b398b31d63c7c3bd3652ae5/sqlalchemy-2.0.41-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:03968a349db483936c249f4d9cd14ff2c296adfa1290b660ba6516f973139582", size = 3233642, upload-time = "2025-05-14T17:55:29.901Z" }, - { url = "https://files.pythonhosted.org/packages/04/61/c0d4607f7799efa8b8ea3c49b4621e861c8f5c41fd4b5b636c534fcb7d73/sqlalchemy-2.0.41-cp311-cp311-win32.whl", hash = "sha256:293cd444d82b18da48c9f71cd7005844dbbd06ca19be1ccf6779154439eec0b8", size = 2086475, upload-time = "2025-05-14T17:56:02.095Z" }, - { url = "https://files.pythonhosted.org/packages/9d/8e/8344f8ae1cb6a479d0741c02cd4f666925b2bf02e2468ddaf5ce44111f30/sqlalchemy-2.0.41-cp311-cp311-win_amd64.whl", hash = "sha256:3d3549fc3e40667ec7199033a4e40a2f669898a00a7b18a931d3efb4c7900504", size = 2110903, upload-time = "2025-05-14T17:56:03.499Z" }, - { url = "https://files.pythonhosted.org/packages/3e/2a/f1f4e068b371154740dd10fb81afb5240d5af4aa0087b88d8b308b5429c2/sqlalchemy-2.0.41-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:81f413674d85cfd0dfcd6512e10e0f33c19c21860342a4890c3a2b59479929f9", size = 2119645, upload-time = "2025-05-14T17:55:24.854Z" }, - { url = "https://files.pythonhosted.org/packages/9b/e8/c664a7e73d36fbfc4730f8cf2bf930444ea87270f2825efbe17bf808b998/sqlalchemy-2.0.41-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:598d9ebc1e796431bbd068e41e4de4dc34312b7aa3292571bb3674a0cb415dd1", size = 2107399, upload-time = "2025-05-14T17:55:28.097Z" }, - { url = "https://files.pythonhosted.org/packages/5c/78/8a9cf6c5e7135540cb682128d091d6afa1b9e48bd049b0d691bf54114f70/sqlalchemy-2.0.41-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a104c5694dfd2d864a6f91b0956eb5d5883234119cb40010115fd45a16da5e70", size = 3293269, upload-time = "2025-05-14T17:50:38.227Z" }, - { url = "https://files.pythonhosted.org/packages/3c/35/f74add3978c20de6323fb11cb5162702670cc7a9420033befb43d8d5b7a4/sqlalchemy-2.0.41-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6145afea51ff0af7f2564a05fa95eb46f542919e6523729663a5d285ecb3cf5e", size = 3303364, upload-time = "2025-05-14T17:51:49.829Z" }, - { url = "https://files.pythonhosted.org/packages/6a/d4/c990f37f52c3f7748ebe98883e2a0f7d038108c2c5a82468d1ff3eec50b7/sqlalchemy-2.0.41-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:b46fa6eae1cd1c20e6e6f44e19984d438b6b2d8616d21d783d150df714f44078", size = 3229072, upload-time = "2025-05-14T17:50:39.774Z" }, - { url = "https://files.pythonhosted.org/packages/15/69/cab11fecc7eb64bc561011be2bd03d065b762d87add52a4ca0aca2e12904/sqlalchemy-2.0.41-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:41836fe661cc98abfae476e14ba1906220f92c4e528771a8a3ae6a151242d2ae", size = 3268074, upload-time = "2025-05-14T17:51:51.736Z" }, - { url = "https://files.pythonhosted.org/packages/5c/ca/0c19ec16858585d37767b167fc9602593f98998a68a798450558239fb04a/sqlalchemy-2.0.41-cp312-cp312-win32.whl", hash = "sha256:a8808d5cf866c781150d36a3c8eb3adccfa41a8105d031bf27e92c251e3969d6", size = 2084514, upload-time = "2025-05-14T17:55:49.915Z" }, - { url = "https://files.pythonhosted.org/packages/7f/23/4c2833d78ff3010a4e17f984c734f52b531a8c9060a50429c9d4b0211be6/sqlalchemy-2.0.41-cp312-cp312-win_amd64.whl", hash = "sha256:5b14e97886199c1f52c14629c11d90c11fbb09e9334fa7bb5f6d068d9ced0ce0", size = 2111557, upload-time = "2025-05-14T17:55:51.349Z" }, - { url = "https://files.pythonhosted.org/packages/d3/ad/2e1c6d4f235a97eeef52d0200d8ddda16f6c4dd70ae5ad88c46963440480/sqlalchemy-2.0.41-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:4eeb195cdedaf17aab6b247894ff2734dcead6c08f748e617bfe05bd5a218443", size = 2115491, upload-time = "2025-05-14T17:55:31.177Z" }, - { url = "https://files.pythonhosted.org/packages/cf/8d/be490e5db8400dacc89056f78a52d44b04fbf75e8439569d5b879623a53b/sqlalchemy-2.0.41-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:d4ae769b9c1c7757e4ccce94b0641bc203bbdf43ba7a2413ab2523d8d047d8dc", size = 2102827, upload-time = "2025-05-14T17:55:34.921Z" }, - { url = "https://files.pythonhosted.org/packages/a0/72/c97ad430f0b0e78efaf2791342e13ffeafcbb3c06242f01a3bb8fe44f65d/sqlalchemy-2.0.41-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a62448526dd9ed3e3beedc93df9bb6b55a436ed1474db31a2af13b313a70a7e1", size = 3225224, upload-time = "2025-05-14T17:50:41.418Z" }, - { url = "https://files.pythonhosted.org/packages/5e/51/5ba9ea3246ea068630acf35a6ba0d181e99f1af1afd17e159eac7e8bc2b8/sqlalchemy-2.0.41-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dc56c9788617b8964ad02e8fcfeed4001c1f8ba91a9e1f31483c0dffb207002a", size = 3230045, upload-time = "2025-05-14T17:51:54.722Z" }, - { url = "https://files.pythonhosted.org/packages/78/2f/8c14443b2acea700c62f9b4a8bad9e49fc1b65cfb260edead71fd38e9f19/sqlalchemy-2.0.41-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c153265408d18de4cc5ded1941dcd8315894572cddd3c58df5d5b5705b3fa28d", size = 3159357, upload-time = "2025-05-14T17:50:43.483Z" }, - { url = "https://files.pythonhosted.org/packages/fc/b2/43eacbf6ccc5276d76cea18cb7c3d73e294d6fb21f9ff8b4eef9b42bbfd5/sqlalchemy-2.0.41-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4f67766965996e63bb46cfbf2ce5355fc32d9dd3b8ad7e536a920ff9ee422e23", size = 3197511, upload-time = "2025-05-14T17:51:57.308Z" }, - { url = "https://files.pythonhosted.org/packages/fa/2e/677c17c5d6a004c3c45334ab1dbe7b7deb834430b282b8a0f75ae220c8eb/sqlalchemy-2.0.41-cp313-cp313-win32.whl", hash = "sha256:bfc9064f6658a3d1cadeaa0ba07570b83ce6801a1314985bf98ec9b95d74e15f", size = 2082420, upload-time = "2025-05-14T17:55:52.69Z" }, - { url = "https://files.pythonhosted.org/packages/e9/61/e8c1b9b6307c57157d328dd8b8348ddc4c47ffdf1279365a13b2b98b8049/sqlalchemy-2.0.41-cp313-cp313-win_amd64.whl", hash = "sha256:82ca366a844eb551daff9d2e6e7a9e5e76d2612c8564f58db6c19a726869c1df", size = 2108329, upload-time = "2025-05-14T17:55:54.495Z" }, - { url = "https://files.pythonhosted.org/packages/1c/fc/9ba22f01b5cdacc8f5ed0d22304718d2c758fce3fd49a5372b886a86f37c/sqlalchemy-2.0.41-py3-none-any.whl", hash = "sha256:57df5dc6fdb5ed1a88a1ed2195fd31927e705cad62dedd86b46972752a80f576", size = 1911224, upload-time = "2025-05-14T17:39:42.154Z" }, + { url = "https://files.pythonhosted.org/packages/3a/12/33ff43214c2c6cc87499b402fe419869d2980a08101c991daae31345e901/sqlalchemy-2.0.42-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:172b244753e034d91a826f80a9a70f4cbac690641207f2217f8404c261473efe", size = 2130469, upload-time = "2025-07-29T13:25:15.215Z" }, + { url = "https://files.pythonhosted.org/packages/63/c4/4d2f2c21ddde9a2c7f7b258b202d6af0bac9fc5abfca5de367461c86d766/sqlalchemy-2.0.42-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:be28f88abd74af8519a4542185ee80ca914933ca65cdfa99504d82af0e4210df", size = 2120393, upload-time = "2025-07-29T13:25:16.367Z" }, + { url = "https://files.pythonhosted.org/packages/a8/0d/5ff2f2dfbac10e4a9ade1942f8985ffc4bd8f157926b1f8aed553dfe3b88/sqlalchemy-2.0.42-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:98b344859d282fde388047f1710860bb23f4098f705491e06b8ab52a48aafea9", size = 3206173, upload-time = "2025-07-29T13:29:00.623Z" }, + { url = "https://files.pythonhosted.org/packages/1f/59/71493fe74bd76a773ae8fa0c50bfc2ccac1cbf7cfa4f9843ad92897e6dcf/sqlalchemy-2.0.42-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:97978d223b11f1d161390a96f28c49a13ce48fdd2fed7683167c39bdb1b8aa09", size = 3206910, upload-time = "2025-07-29T13:24:50.58Z" }, + { url = "https://files.pythonhosted.org/packages/a9/51/01b1d85bbb492a36b25df54a070a0f887052e9b190dff71263a09f48576b/sqlalchemy-2.0.42-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:e35b9b000c59fcac2867ab3a79fc368a6caca8706741beab3b799d47005b3407", size = 3145479, upload-time = "2025-07-29T13:29:02.3Z" }, + { url = "https://files.pythonhosted.org/packages/fa/78/10834f010e2a3df689f6d1888ea6ea0074ff10184e6a550b8ed7f9189a89/sqlalchemy-2.0.42-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:bc7347ad7a7b1c78b94177f2d57263113bb950e62c59b96ed839b131ea4234e1", size = 3169605, upload-time = "2025-07-29T13:24:52.135Z" }, + { url = "https://files.pythonhosted.org/packages/0c/75/e6fdd66d237582c8488dd1dfa90899f6502822fbd866363ab70e8ac4a2ce/sqlalchemy-2.0.42-cp310-cp310-win32.whl", hash = "sha256:739e58879b20a179156b63aa21f05ccacfd3e28e08e9c2b630ff55cd7177c4f1", size = 2098759, upload-time = "2025-07-29T13:23:55.809Z" }, + { url = "https://files.pythonhosted.org/packages/a5/a8/366db192641c2c2d1ea8977e7c77b65a0d16a7858907bb76ea68b9dd37af/sqlalchemy-2.0.42-cp310-cp310-win_amd64.whl", hash = "sha256:1aef304ada61b81f1955196f584b9e72b798ed525a7c0b46e09e98397393297b", size = 2122423, upload-time = "2025-07-29T13:23:56.968Z" }, + { url = "https://files.pythonhosted.org/packages/ea/3c/7bfd65f3c2046e2fb4475b21fa0b9d7995f8c08bfa0948df7a4d2d0de869/sqlalchemy-2.0.42-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c34100c0b7ea31fbc113c124bcf93a53094f8951c7bf39c45f39d327bad6d1e7", size = 2133779, upload-time = "2025-07-29T13:25:18.446Z" }, + { url = "https://files.pythonhosted.org/packages/66/17/19be542fe9dd64a766090e90e789e86bdaa608affda6b3c1e118a25a2509/sqlalchemy-2.0.42-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ad59dbe4d1252448c19d171dfba14c74e7950b46dc49d015722a4a06bfdab2b0", size = 2123843, upload-time = "2025-07-29T13:25:19.749Z" }, + { url = "https://files.pythonhosted.org/packages/14/fc/83e45fc25f0acf1c26962ebff45b4c77e5570abb7c1a425a54b00bcfa9c7/sqlalchemy-2.0.42-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f9187498c2149919753a7fd51766ea9c8eecdec7da47c1b955fa8090bc642eaa", size = 3294824, upload-time = "2025-07-29T13:29:03.879Z" }, + { url = "https://files.pythonhosted.org/packages/b9/81/421efc09837104cd1a267d68b470e5b7b6792c2963b8096ca1e060ba0975/sqlalchemy-2.0.42-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1f092cf83ebcafba23a247f5e03f99f5436e3ef026d01c8213b5eca48ad6efa9", size = 3294662, upload-time = "2025-07-29T13:24:53.715Z" }, + { url = "https://files.pythonhosted.org/packages/2f/ba/55406e09d32ed5e5f9e8aaec5ef70c4f20b4ae25b9fa9784f4afaa28e7c3/sqlalchemy-2.0.42-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:fc6afee7e66fdba4f5a68610b487c1f754fccdc53894a9567785932dbb6a265e", size = 3229413, upload-time = "2025-07-29T13:29:05.638Z" }, + { url = "https://files.pythonhosted.org/packages/d4/c4/df596777fce27bde2d1a4a2f5a7ddea997c0c6d4b5246aafba966b421cc0/sqlalchemy-2.0.42-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:260ca1d2e5910f1f1ad3fe0113f8fab28657cee2542cb48c2f342ed90046e8ec", size = 3255563, upload-time = "2025-07-29T13:24:55.17Z" }, + { url = "https://files.pythonhosted.org/packages/16/ed/b9c4a939b314400f43f972c9eb0091da59d8466ef9c51d0fd5b449edc495/sqlalchemy-2.0.42-cp311-cp311-win32.whl", hash = "sha256:2eb539fd83185a85e5fcd6b19214e1c734ab0351d81505b0f987705ba0a1e231", size = 2098513, upload-time = "2025-07-29T13:23:58.946Z" }, + { url = "https://files.pythonhosted.org/packages/91/72/55b0c34e39feb81991aa3c974d85074c356239ac1170dfb81a474b4c23b3/sqlalchemy-2.0.42-cp311-cp311-win_amd64.whl", hash = "sha256:9193fa484bf00dcc1804aecbb4f528f1123c04bad6a08d7710c909750fa76aeb", size = 2123380, upload-time = "2025-07-29T13:24:00.155Z" }, + { url = "https://files.pythonhosted.org/packages/61/66/ac31a9821fc70a7376321fb2c70fdd7eadbc06dadf66ee216a22a41d6058/sqlalchemy-2.0.42-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:09637a0872689d3eb71c41e249c6f422e3e18bbd05b4cd258193cfc7a9a50da2", size = 2132203, upload-time = "2025-07-29T13:29:19.291Z" }, + { url = "https://files.pythonhosted.org/packages/fc/ba/fd943172e017f955d7a8b3a94695265b7114efe4854feaa01f057e8f5293/sqlalchemy-2.0.42-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a3cb3ec67cc08bea54e06b569398ae21623534a7b1b23c258883a7c696ae10df", size = 2120373, upload-time = "2025-07-29T13:29:21.049Z" }, + { url = "https://files.pythonhosted.org/packages/ea/a2/b5f7d233d063ffadf7e9fff3898b42657ba154a5bec95a96f44cba7f818b/sqlalchemy-2.0.42-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e87e6a5ef6f9d8daeb2ce5918bf5fddecc11cae6a7d7a671fcc4616c47635e01", size = 3317685, upload-time = "2025-07-29T13:26:40.837Z" }, + { url = "https://files.pythonhosted.org/packages/86/00/fcd8daab13a9119d41f3e485a101c29f5d2085bda459154ba354c616bf4e/sqlalchemy-2.0.42-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b718011a9d66c0d2f78e1997755cd965f3414563b31867475e9bc6efdc2281d", size = 3326967, upload-time = "2025-07-29T13:22:31.009Z" }, + { url = "https://files.pythonhosted.org/packages/a3/85/e622a273d648d39d6771157961956991a6d760e323e273d15e9704c30ccc/sqlalchemy-2.0.42-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:16d9b544873fe6486dddbb859501a07d89f77c61d29060bb87d0faf7519b6a4d", size = 3255331, upload-time = "2025-07-29T13:26:42.579Z" }, + { url = "https://files.pythonhosted.org/packages/3a/a0/2c2338b592c7b0a61feffd005378c084b4c01fabaf1ed5f655ab7bd446f0/sqlalchemy-2.0.42-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:21bfdf57abf72fa89b97dd74d3187caa3172a78c125f2144764a73970810c4ee", size = 3291791, upload-time = "2025-07-29T13:22:32.454Z" }, + { url = "https://files.pythonhosted.org/packages/41/19/b8a2907972a78285fdce4c880ecaab3c5067eb726882ca6347f7a4bf64f6/sqlalchemy-2.0.42-cp312-cp312-win32.whl", hash = "sha256:78b46555b730a24901ceb4cb901c6b45c9407f8875209ed3c5d6bcd0390a6ed1", size = 2096180, upload-time = "2025-07-29T13:16:08.952Z" }, + { url = "https://files.pythonhosted.org/packages/48/1f/67a78f3dfd08a2ed1c7be820fe7775944f5126080b5027cc859084f8e223/sqlalchemy-2.0.42-cp312-cp312-win_amd64.whl", hash = "sha256:4c94447a016f36c4da80072e6c6964713b0af3c8019e9c4daadf21f61b81ab53", size = 2123533, upload-time = "2025-07-29T13:16:11.705Z" }, + { url = "https://files.pythonhosted.org/packages/e9/7e/25d8c28b86730c9fb0e09156f601d7a96d1c634043bf8ba36513eb78887b/sqlalchemy-2.0.42-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:941804f55c7d507334da38133268e3f6e5b0340d584ba0f277dd884197f4ae8c", size = 2127905, upload-time = "2025-07-29T13:29:22.249Z" }, + { url = "https://files.pythonhosted.org/packages/e5/a1/9d8c93434d1d983880d976400fcb7895a79576bd94dca61c3b7b90b1ed0d/sqlalchemy-2.0.42-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:95d3d06a968a760ce2aa6a5889fefcbdd53ca935735e0768e1db046ec08cbf01", size = 2115726, upload-time = "2025-07-29T13:29:23.496Z" }, + { url = "https://files.pythonhosted.org/packages/a2/cc/d33646fcc24c87cc4e30a03556b611a4e7bcfa69a4c935bffb923e3c89f4/sqlalchemy-2.0.42-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4cf10396a8a700a0f38ccd220d940be529c8f64435c5d5b29375acab9267a6c9", size = 3246007, upload-time = "2025-07-29T13:26:44.166Z" }, + { url = "https://files.pythonhosted.org/packages/67/08/4e6c533d4c7f5e7c4cbb6fe8a2c4e813202a40f05700d4009a44ec6e236d/sqlalchemy-2.0.42-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9cae6c2b05326d7c2c7c0519f323f90e0fb9e8afa783c6a05bb9ee92a90d0f04", size = 3250919, upload-time = "2025-07-29T13:22:33.74Z" }, + { url = "https://files.pythonhosted.org/packages/5c/82/f680e9a636d217aece1b9a8030d18ad2b59b5e216e0c94e03ad86b344af3/sqlalchemy-2.0.42-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f50f7b20677b23cfb35b6afcd8372b2feb348a38e3033f6447ee0704540be894", size = 3180546, upload-time = "2025-07-29T13:26:45.648Z" }, + { url = "https://files.pythonhosted.org/packages/7d/a2/8c8f6325f153894afa3775584c429cc936353fb1db26eddb60a549d0ff4b/sqlalchemy-2.0.42-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9d88a1c0d66d24e229e3938e1ef16ebdbd2bf4ced93af6eff55225f7465cf350", size = 3216683, upload-time = "2025-07-29T13:22:34.977Z" }, + { url = "https://files.pythonhosted.org/packages/39/44/3a451d7fa4482a8ffdf364e803ddc2cfcafc1c4635fb366f169ecc2c3b11/sqlalchemy-2.0.42-cp313-cp313-win32.whl", hash = "sha256:45c842c94c9ad546c72225a0c0d1ae8ef3f7c212484be3d429715a062970e87f", size = 2093990, upload-time = "2025-07-29T13:16:13.036Z" }, + { url = "https://files.pythonhosted.org/packages/4b/9e/9bce34f67aea0251c8ac104f7bdb2229d58fb2e86a4ad8807999c4bee34b/sqlalchemy-2.0.42-cp313-cp313-win_amd64.whl", hash = "sha256:eb9905f7f1e49fd57a7ed6269bc567fcbbdac9feadff20ad6bd7707266a91577", size = 2120473, upload-time = "2025-07-29T13:16:14.502Z" }, + { url = "https://files.pythonhosted.org/packages/ee/55/ba2546ab09a6adebc521bf3974440dc1d8c06ed342cceb30ed62a8858835/sqlalchemy-2.0.42-py3-none-any.whl", hash = "sha256:defcdff7e661f0043daa381832af65d616e060ddb54d3fe4476f51df7eaa1835", size = 1922072, upload-time = "2025-07-29T13:09:17.061Z" }, ] [package.optional-dependencies] @@ -7566,11 +7656,11 @@ asyncio = [ [[package]] name = "sqlglot" -version = "27.3.1" +version = "27.6.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/c1/53/8b23bb4967685922b79146f0f7f890a24e2bfc3a6805dce3c0da0edfcd92/sqlglot-27.3.1.tar.gz", hash = "sha256:8edfc7d5f048ea937764729d2b2ada6e2cb69583df130dcfca9e376b314af5d1", size = 5394397, upload-time = "2025-07-24T16:33:13.932Z" } +sdist = { url = "https://files.pythonhosted.org/packages/35/aa/0c93a9974c0dc0726aa1a3ebc956f88bc5f6694d811b23d9a31085bb812b/sqlglot-27.6.0.tar.gz", hash = "sha256:413bc6c9978710bd97110e9a4363c517dfb92954d0a9fd2922e87c5707395deb", size = 5409152, upload-time = "2025-08-01T16:03:12.516Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/a9/82/58268fb83230e74838f6f1ee60813dc8591772e1264fde94dfe90e77b160/sqlglot-27.3.1-py3-none-any.whl", hash = "sha256:40149b23665bfbee0802a43df0b8180ce25fced41b0796bdae0ee4686bf48364", size = 488448, upload-time = "2025-07-24T16:33:11.592Z" }, + { url = "https://files.pythonhosted.org/packages/18/58/8b267b6b3c27ccb16367b49db2ac8c6032939f4fbffdc66dd0831833a7b9/sqlglot-27.6.0-py3-none-any.whl", hash = "sha256:828e6eea4e608f221c14f9e5dbe2f9f73142f11ba289d84f58c56ca44ee49d23", size = 496769, upload-time = "2025-08-01T16:03:09.914Z" }, ] [[package]] @@ -7635,15 +7725,15 @@ wheels = [ [[package]] name = "synchronicity" -version = "0.10.1" +version = "0.10.2" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "sigtools" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/97/bf/e5b88d499d477a673717ae287b9c11195a952ec22556ab92367c3e535916/synchronicity-0.10.1.tar.gz", hash = "sha256:4af861f215a11b885e18cf2985ba8b3a1aa0000d440a9b615402f724a453a8c2", size = 54906, upload-time = "2025-07-01T10:10:27.333Z" } +sdist = { url = "https://files.pythonhosted.org/packages/77/b6/e977f03915cc02406bb52ac15398ea44dbde47805e5955b6bac9268acc12/synchronicity-0.10.2.tar.gz", hash = "sha256:e0dfd8a2ba4fb89c60ee53365c5fa2d2d69aabce60709055d38f736f6a592c86", size = 53891, upload-time = "2025-07-30T20:23:19.122Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/c4/12/d99549a57a51b838ab8b8476f4a5e91f545dec0752d6b9e3286104c6fd2e/synchronicity-0.10.1-py3-none-any.whl", hash = "sha256:af9c077586cf4895aea88fe9104d966f50b8fac730f79117383591acb5489952", size = 38738, upload-time = "2025-07-01T10:10:25.983Z" }, + { url = "https://files.pythonhosted.org/packages/f8/f9/ce041b9531022a0b5999a47e6da14485239f7bce9c595d1bfb387fe60e89/synchronicity-0.10.2-py3-none-any.whl", hash = "sha256:4ba1f8c02ca582ef068033300201e3c403e08d81e42553554f4e67b27f0d9bb1", size = 38766, upload-time = "2025-07-30T20:23:18.04Z" }, ] [[package]] @@ -7737,27 +7827,27 @@ wheels = [ [[package]] name = "tokenizers" -version = "0.21.2" +version = "0.21.4" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "huggingface-hub" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/ab/2d/b0fce2b8201635f60e8c95990080f58461cc9ca3d5026de2e900f38a7f21/tokenizers-0.21.2.tar.gz", hash = "sha256:fdc7cffde3e2113ba0e6cc7318c40e3438a4d74bbc62bf04bcc63bdfb082ac77", size = 351545, upload-time = "2025-06-24T10:24:52.449Z" } +sdist = { url = "https://files.pythonhosted.org/packages/c2/2f/402986d0823f8d7ca139d969af2917fefaa9b947d1fb32f6168c509f2492/tokenizers-0.21.4.tar.gz", hash = "sha256:fa23f85fbc9a02ec5c6978da172cdcbac23498c3ca9f3645c5c68740ac007880", size = 351253, upload-time = "2025-07-28T15:48:54.325Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/1d/cc/2936e2d45ceb130a21d929743f1e9897514691bec123203e10837972296f/tokenizers-0.21.2-cp39-abi3-macosx_10_12_x86_64.whl", hash = "sha256:342b5dfb75009f2255ab8dec0041287260fed5ce00c323eb6bab639066fef8ec", size = 2875206, upload-time = "2025-06-24T10:24:42.755Z" }, - { url = "https://files.pythonhosted.org/packages/6c/e6/33f41f2cc7861faeba8988e7a77601407bf1d9d28fc79c5903f8f77df587/tokenizers-0.21.2-cp39-abi3-macosx_11_0_arm64.whl", hash = "sha256:126df3205d6f3a93fea80c7a8a266a78c1bd8dd2fe043386bafdd7736a23e45f", size = 2732655, upload-time = "2025-06-24T10:24:41.56Z" }, - { url = "https://files.pythonhosted.org/packages/33/2b/1791eb329c07122a75b01035b1a3aa22ad139f3ce0ece1b059b506d9d9de/tokenizers-0.21.2-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4a32cd81be21168bd0d6a0f0962d60177c447a1aa1b1e48fa6ec9fc728ee0b12", size = 3019202, upload-time = "2025-06-24T10:24:31.791Z" }, - { url = "https://files.pythonhosted.org/packages/05/15/fd2d8104faa9f86ac68748e6f7ece0b5eb7983c7efc3a2c197cb98c99030/tokenizers-0.21.2-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:8bd8999538c405133c2ab999b83b17c08b7fc1b48c1ada2469964605a709ef91", size = 2934539, upload-time = "2025-06-24T10:24:34.567Z" }, - { url = "https://files.pythonhosted.org/packages/a5/2e/53e8fd053e1f3ffbe579ca5f9546f35ac67cf0039ed357ad7ec57f5f5af0/tokenizers-0.21.2-cp39-abi3-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5e9944e61239b083a41cf8fc42802f855e1dca0f499196df37a8ce219abac6eb", size = 3248665, upload-time = "2025-06-24T10:24:39.024Z" }, - { url = "https://files.pythonhosted.org/packages/00/15/79713359f4037aa8f4d1f06ffca35312ac83629da062670e8830917e2153/tokenizers-0.21.2-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:514cd43045c5d546f01142ff9c79a96ea69e4b5cda09e3027708cb2e6d5762ab", size = 3451305, upload-time = "2025-06-24T10:24:36.133Z" }, - { url = "https://files.pythonhosted.org/packages/38/5f/959f3a8756fc9396aeb704292777b84f02a5c6f25c3fc3ba7530db5feb2c/tokenizers-0.21.2-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b1b9405822527ec1e0f7d8d2fdb287a5730c3a6518189c968254a8441b21faae", size = 3214757, upload-time = "2025-06-24T10:24:37.784Z" }, - { url = "https://files.pythonhosted.org/packages/c5/74/f41a432a0733f61f3d21b288de6dfa78f7acff309c6f0f323b2833e9189f/tokenizers-0.21.2-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fed9a4d51c395103ad24f8e7eb976811c57fbec2af9f133df471afcd922e5020", size = 3121887, upload-time = "2025-06-24T10:24:40.293Z" }, - { url = "https://files.pythonhosted.org/packages/3c/6a/bc220a11a17e5d07b0dfb3b5c628621d4dcc084bccd27cfaead659963016/tokenizers-0.21.2-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:2c41862df3d873665ec78b6be36fcc30a26e3d4902e9dd8608ed61d49a48bc19", size = 9091965, upload-time = "2025-06-24T10:24:44.431Z" }, - { url = "https://files.pythonhosted.org/packages/6c/bd/ac386d79c4ef20dc6f39c4706640c24823dca7ebb6f703bfe6b5f0292d88/tokenizers-0.21.2-cp39-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:ed21dc7e624e4220e21758b2e62893be7101453525e3d23264081c9ef9a6d00d", size = 9053372, upload-time = "2025-06-24T10:24:46.455Z" }, - { url = "https://files.pythonhosted.org/packages/63/7b/5440bf203b2a5358f074408f7f9c42884849cd9972879e10ee6b7a8c3b3d/tokenizers-0.21.2-cp39-abi3-musllinux_1_2_i686.whl", hash = "sha256:0e73770507e65a0e0e2a1affd6b03c36e3bc4377bd10c9ccf51a82c77c0fe365", size = 9298632, upload-time = "2025-06-24T10:24:48.446Z" }, - { url = "https://files.pythonhosted.org/packages/a4/d2/faa1acac3f96a7427866e94ed4289949b2524f0c1878512516567d80563c/tokenizers-0.21.2-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:106746e8aa9014a12109e58d540ad5465b4c183768ea96c03cbc24c44d329958", size = 9470074, upload-time = "2025-06-24T10:24:50.378Z" }, - { url = "https://files.pythonhosted.org/packages/d8/a5/896e1ef0707212745ae9f37e84c7d50269411aef2e9ccd0de63623feecdf/tokenizers-0.21.2-cp39-abi3-win32.whl", hash = "sha256:cabda5a6d15d620b6dfe711e1af52205266d05b379ea85a8a301b3593c60e962", size = 2330115, upload-time = "2025-06-24T10:24:55.069Z" }, - { url = "https://files.pythonhosted.org/packages/13/c3/cc2755ee10be859c4338c962a35b9a663788c0c0b50c0bdd8078fb6870cf/tokenizers-0.21.2-cp39-abi3-win_amd64.whl", hash = "sha256:58747bb898acdb1007f37a7bbe614346e98dc28708ffb66a3fd50ce169ac6c98", size = 2509918, upload-time = "2025-06-24T10:24:53.71Z" }, + { url = "https://files.pythonhosted.org/packages/98/c6/fdb6f72bf6454f52eb4a2510be7fb0f614e541a2554d6210e370d85efff4/tokenizers-0.21.4-cp39-abi3-macosx_10_12_x86_64.whl", hash = "sha256:2ccc10a7c3bcefe0f242867dc914fc1226ee44321eb618cfe3019b5df3400133", size = 2863987, upload-time = "2025-07-28T15:48:44.877Z" }, + { url = "https://files.pythonhosted.org/packages/8d/a6/28975479e35ddc751dc1ddc97b9b69bf7fcf074db31548aab37f8116674c/tokenizers-0.21.4-cp39-abi3-macosx_11_0_arm64.whl", hash = "sha256:5e2f601a8e0cd5be5cc7506b20a79112370b9b3e9cb5f13f68ab11acd6ca7d60", size = 2732457, upload-time = "2025-07-28T15:48:43.265Z" }, + { url = "https://files.pythonhosted.org/packages/aa/8f/24f39d7b5c726b7b0be95dca04f344df278a3fe3a4deb15a975d194cbb32/tokenizers-0.21.4-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:39b376f5a1aee67b4d29032ee85511bbd1b99007ec735f7f35c8a2eb104eade5", size = 3012624, upload-time = "2025-07-28T13:22:43.895Z" }, + { url = "https://files.pythonhosted.org/packages/58/47/26358925717687a58cb74d7a508de96649544fad5778f0cd9827398dc499/tokenizers-0.21.4-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2107ad649e2cda4488d41dfd031469e9da3fcbfd6183e74e4958fa729ffbf9c6", size = 2939681, upload-time = "2025-07-28T13:22:47.499Z" }, + { url = "https://files.pythonhosted.org/packages/99/6f/cc300fea5db2ab5ddc2c8aea5757a27b89c84469899710c3aeddc1d39801/tokenizers-0.21.4-cp39-abi3-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3c73012da95afafdf235ba80047699df4384fdc481527448a078ffd00e45a7d9", size = 3247445, upload-time = "2025-07-28T15:48:39.711Z" }, + { url = "https://files.pythonhosted.org/packages/be/bf/98cb4b9c3c4afd8be89cfa6423704337dc20b73eb4180397a6e0d456c334/tokenizers-0.21.4-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f23186c40395fc390d27f519679a58023f368a0aad234af145e0f39ad1212732", size = 3428014, upload-time = "2025-07-28T13:22:49.569Z" }, + { url = "https://files.pythonhosted.org/packages/75/c7/96c1cc780e6ca7f01a57c13235dd05b7bc1c0f3588512ebe9d1331b5f5ae/tokenizers-0.21.4-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cc88bb34e23a54cc42713d6d98af5f1bf79c07653d24fe984d2d695ba2c922a2", size = 3193197, upload-time = "2025-07-28T13:22:51.471Z" }, + { url = "https://files.pythonhosted.org/packages/f2/90/273b6c7ec78af547694eddeea9e05de771278bd20476525ab930cecaf7d8/tokenizers-0.21.4-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:51b7eabb104f46c1c50b486520555715457ae833d5aee9ff6ae853d1130506ff", size = 3115426, upload-time = "2025-07-28T15:48:41.439Z" }, + { url = "https://files.pythonhosted.org/packages/91/43/c640d5a07e95f1cf9d2c92501f20a25f179ac53a4f71e1489a3dcfcc67ee/tokenizers-0.21.4-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:714b05b2e1af1288bd1bc56ce496c4cebb64a20d158ee802887757791191e6e2", size = 9089127, upload-time = "2025-07-28T15:48:46.472Z" }, + { url = "https://files.pythonhosted.org/packages/44/a1/dd23edd6271d4dca788e5200a807b49ec3e6987815cd9d0a07ad9c96c7c2/tokenizers-0.21.4-cp39-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:1340ff877ceedfa937544b7d79f5b7becf33a4cfb58f89b3b49927004ef66f78", size = 9055243, upload-time = "2025-07-28T15:48:48.539Z" }, + { url = "https://files.pythonhosted.org/packages/21/2b/b410d6e9021c4b7ddb57248304dc817c4d4970b73b6ee343674914701197/tokenizers-0.21.4-cp39-abi3-musllinux_1_2_i686.whl", hash = "sha256:3c1f4317576e465ac9ef0d165b247825a2a4078bcd01cba6b54b867bdf9fdd8b", size = 9298237, upload-time = "2025-07-28T15:48:50.443Z" }, + { url = "https://files.pythonhosted.org/packages/b7/0a/42348c995c67e2e6e5c89ffb9cfd68507cbaeb84ff39c49ee6e0a6dd0fd2/tokenizers-0.21.4-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:c212aa4e45ec0bb5274b16b6f31dd3f1c41944025c2358faaa5782c754e84c24", size = 9461980, upload-time = "2025-07-28T15:48:52.325Z" }, + { url = "https://files.pythonhosted.org/packages/3d/d3/dacccd834404cd71b5c334882f3ba40331ad2120e69ded32cf5fda9a7436/tokenizers-0.21.4-cp39-abi3-win32.whl", hash = "sha256:6c42a930bc5f4c47f4ea775c91de47d27910881902b0f20e4990ebe045a415d0", size = 2329871, upload-time = "2025-07-28T15:48:56.841Z" }, + { url = "https://files.pythonhosted.org/packages/41/f2/fd673d979185f5dcbac4be7d09461cbb99751554ffb6718d0013af8604cb/tokenizers-0.21.4-cp39-abi3-win_amd64.whl", hash = "sha256:475d807a5c3eb72c59ad9b5fcdb254f6e17f53dfcbb9903233b0dfa9c943b597", size = 2507568, upload-time = "2025-07-28T15:48:55.456Z" }, ] [[package]] @@ -7859,7 +7949,7 @@ wheels = [ [[package]] name = "transformers" -version = "4.53.3" +version = "4.54.1" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "filelock" }, @@ -7874,9 +7964,9 @@ dependencies = [ { name = "tokenizers" }, { name = "tqdm" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/f1/5c/49182918b58eaa0b4c954fd0e37c79fc299e5643e69d70089d0b0eb0cd9b/transformers-4.53.3.tar.gz", hash = "sha256:b2eda1a261de79b78b97f7888fe2005fc0c3fabf5dad33d52cc02983f9f675d8", size = 9197478, upload-time = "2025-07-22T07:30:51.51Z" } +sdist = { url = "https://files.pythonhosted.org/packages/21/6c/4caeb57926f91d943f309b062e22ad1eb24a9f530421c5a65c1d89378a7a/transformers-4.54.1.tar.gz", hash = "sha256:b2551bb97903f13bd90c9467d0a144d41ca4d142defc044a99502bb77c5c1052", size = 9514288, upload-time = "2025-07-29T15:57:22.826Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/41/b1/d7520cc5cb69c825599042eb3a7c986fa9baa8a8d2dea9acd78e152c81e2/transformers-4.53.3-py3-none-any.whl", hash = "sha256:5aba81c92095806b6baf12df35d756cf23b66c356975fb2a7fa9e536138d7c75", size = 10826382, upload-time = "2025-07-22T07:30:48.458Z" }, + { url = "https://files.pythonhosted.org/packages/cf/18/eb7578f84ef5a080d4e5ca9bc4f7c68e7aa9c1e464f1b3d3001e4c642fce/transformers-4.54.1-py3-none-any.whl", hash = "sha256:c89965a4f62a0d07009d45927a9c6372848a02ab9ead9c318c3d082708bab529", size = 11176397, upload-time = "2025-07-29T15:57:19.692Z" }, ] [[package]]