diff --git a/.github/workflows/test-integrations-dbs.yml b/.github/workflows/test-integrations-dbs.yml index 192b2e2655..592d3ee5f5 100644 --- a/.github/workflows/test-integrations-dbs.yml +++ b/.github/workflows/test-integrations-dbs.yml @@ -89,10 +89,6 @@ jobs: run: | set -x # print commands that are executed ./scripts/runtox.sh "py${{ matrix.python-version }}-redis" - - name: Test redis_py_cluster_legacy - run: | - set -x # print commands that are executed - ./scripts/runtox.sh "py${{ matrix.python-version }}-redis_py_cluster_legacy" - name: Test sqlalchemy run: | set -x # print commands that are executed diff --git a/MIGRATION_GUIDE.md b/MIGRATION_GUIDE.md index 54c38d4851..5886094322 100644 --- a/MIGRATION_GUIDE.md +++ b/MIGRATION_GUIDE.md @@ -41,6 +41,8 @@ Looking to upgrade from Sentry SDK 2.x to 3.x? Here's a comprehensive list of wh - Dropped support for rq below 1.0. - Dropped support for Quart below 0.19. - Dropped support for Sanic below 22.0. +- Dropped support for redis-py below 4.2. +- Removed the RedisIntegration `max_data_size` option. - Removed the possibility to supply a specific client to the LaunchDarklyIntegration. - The `enable_tracing` option was removed. Use `traces_sample_rate=1.0` instead. - The deprecated `push_scope` and `configure_scope` APIs have been removed. Use `with new_scope():` to push a new scope and `scope = get_current_scope()` to retrieve the current scope instead. diff --git a/scripts/populate_tox/config.py b/scripts/populate_tox/config.py index d1a5ed9635..8f5493d68e 100644 --- a/scripts/populate_tox/config.py +++ b/scripts/populate_tox/config.py @@ -415,10 +415,6 @@ "py3.7,py3.8": ["fakeredis<2.26.0"], }, }, - "redis_py_cluster_legacy": { - "package": "redis-py-cluster", - "num_versions": 2, - }, "requests": { "package": "requests", "num_versions": 2, diff --git a/scripts/populate_tox/package_dependencies.jsonl b/scripts/populate_tox/package_dependencies.jsonl index 2c3ac988f6..03e5d3796d 100644 --- a/scripts/populate_tox/package_dependencies.jsonl +++ b/scripts/populate_tox/package_dependencies.jsonl @@ -87,6 +87,7 @@ {"python_version": "3.10", "dependencies": [{"metadata": {"name": "boto3", "version": "1.43.65"}, "download_info": {"url": "https://files.pythonhosted.org/packages/ec/df/694d81db07214fd98e37836ad114d175680daa127f5be8fb2abe00d949af/boto3-1.43.65-py3-none-any.whl"}}, {"metadata": {"name": "botocore", "version": "1.43.65"}, "download_info": {"url": "https://files.pythonhosted.org/packages/25/0a/3b84332d8dc2acf6af269f8175f94159ad495a7de29e5f335f933f0b5da4/botocore-1.43.65-py3-none-any.whl"}}, {"metadata": {"name": "jmespath", "version": "1.1.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/14/2f/967ba146e6d58cf6a652da73885f52fc68001525b4197effc174321d70b4/jmespath-1.1.0-py3-none-any.whl"}}, {"metadata": {"name": "python-dateutil", "version": "2.9.0.post0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl"}}, {"metadata": {"name": "s3transfer", "version": "0.19.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/bc/e7/5c595c75e9f41a44f30e526eda465ea0b4eec93470e074e4a111b253f13a/s3transfer-0.19.2-py3-none-any.whl"}}, {"metadata": {"name": "urllib3", "version": "2.7.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/7f/3e/5db95bcf282c52709639744ca2a8b149baccf648e39c8cc87553df9eae0c/urllib3-2.7.0-py3-none-any.whl"}}, {"metadata": {"name": "six", "version": "1.17.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl"}}], "install_targets_hash": "760846e7cef2ac382a78d468ef2540ec"} {"python_version": "3.10", "dependencies": [{"metadata": {"name": "pydantic-ai", "version": "1.0.18"}, "download_info": {"url": "https://files.pythonhosted.org/packages/e0/c3/0237cba693b26fd3d78acdb9c97b07c3cdd7c807c6fadbbba6abede4a7b7/pydantic_ai-1.0.18-py3-none-any.whl"}}, {"metadata": {"name": "pydantic-ai-slim", "version": "1.0.18"}, "download_info": {"url": "https://files.pythonhosted.org/packages/18/45/0f6b98ce09d1cdf9403ef228c57d8251c6682713dc1c8870708c6a17378a/pydantic_ai_slim-1.0.18-py3-none-any.whl"}}, {"metadata": {"name": "pydantic-evals", "version": "1.0.18"}, "download_info": {"url": "https://files.pythonhosted.org/packages/4d/84/1008d2c9e66ab93d132a67f85770f2e58eb9e70d1b76ee2a88f6cefac90a/pydantic_evals-1.0.18-py3-none-any.whl"}}, {"metadata": {"name": "pydantic-graph", "version": "1.0.18"}, "download_info": {"url": "https://files.pythonhosted.org/packages/68/8a/b6fa505b12fdd5bfcd846bb52087c30003c925e9820f91dd930a6500e5a9/pydantic_graph-1.0.18-py3-none-any.whl"}}, {"metadata": {"name": "temporalio", "version": "1.18.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/be/94/24bd903b5594420a4d131bfa3de965313f9a409af77b47e9a9a56d85bb9e/temporalio-1.18.0-cp39-abi3-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "nexus-rpc", "version": "1.1.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/bf/2f/9e9d0dcaa4c6ffa22b7aa31069a8a264c753ff8027b36af602cce038c92f/nexus_rpc-1.1.0-py3-none-any.whl"}}, {"metadata": {"name": "protobuf", "version": "6.33.6"}, "download_info": {"url": "https://files.pythonhosted.org/packages/5c/01/a3c3ed5cd186f39e7880f8303cc51385a198a81469d53d0fdecf1f64d929/protobuf-6.33.6-cp39-abi3-macosx_10_9_universal2.whl"}}, {"metadata": {"name": "python-dateutil", "version": "2.9.0.post0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl"}}, {"metadata": {"name": "typing_extensions", "version": "4.16.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/49/d3/b8441a820a491ddfc024b0b0cf0393375b75ea13866d9c66727e54c2fc80/typing_extensions-4.16.0-py3-none-any.whl"}}, {"metadata": {"name": "pytest-asyncio", "version": "1.4.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/03/e2/08a497ef684b88559c9cc5f4ad53a37e7b99e727094a86d6ea32536d5d3c/pytest_asyncio-1.4.0-py3-none-any.whl"}}, {"metadata": {"name": "backports.asyncio.runner", "version": "1.2.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/a0/59/76ab57e3fe74484f48a53f8e337171b4a2349e506eabe136d7e01d059086/backports_asyncio_runner-1.2.0-py3-none-any.whl"}}, {"metadata": {"name": "pytest", "version": "9.1.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/24/25/1de2678b631f5a49215c6c96fff41ba892b0a34df68d6d80292b1b48aa7f/pytest-9.1.1-py3-none-any.whl"}}, {"metadata": {"name": "pluggy", "version": "1.6.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl"}}, {"metadata": {"name": "ag-ui-protocol", "version": "0.1.19"}, "download_info": {"url": "https://files.pythonhosted.org/packages/4c/0a/bcad8116eb058e4b4a305e3fc37ebd7efc879deeb86b854f1c5b8b6e97dd/ag_ui_protocol-0.1.19-py3-none-any.whl"}}, {"metadata": {"name": "anthropic", "version": "0.116.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/c7/dd/2a1e81cf1b163acc340afc4ec74ed1d86f5eed1a809fabdeed3e0997b346/anthropic-0.116.0-py3-none-any.whl"}}, {"metadata": {"name": "anyio", "version": "4.14.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/b0/7b/90df4a0a816d98d6ea26f559d87836d494a2cf1fcf063be67df50a7bcc30/anyio-4.14.1-py3-none-any.whl"}}, {"metadata": {"name": "distro", "version": "1.9.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/12/b3/231ffd4ab1fc9d679809f356cebee130ac7daa00d6d6f3206dd4fd137e9e/distro-1.9.0-py3-none-any.whl"}}, {"metadata": {"name": "docstring_parser", "version": "0.18.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/a7/5f/ed01f9a3cdffbd5a008556fc7b2a08ddb1cc6ace7effa7340604b1d16699/docstring_parser-0.18.0-py3-none-any.whl"}}, {"metadata": {"name": "httpx", "version": "0.28.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/2a/39/e50c7c3a983047577ee07d2a9e53faf5a69493943ec3f6a384bdc792deb2/httpx-0.28.1-py3-none-any.whl"}}, {"metadata": {"name": "httpcore", "version": "1.0.9"}, "download_info": {"url": "https://files.pythonhosted.org/packages/7e/f5/f66802a942d491edb555dd61e3a9961140fd64c90bce1eafd741609d334d/httpcore-1.0.9-py3-none-any.whl"}}, {"metadata": {"name": "jiter", "version": "0.16.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/c6/3d/4d7f5667ea0e0548534ba880b84bb3d12924fd133aa83ad6c6c80fca3d76/jiter-0.16.0-cp310-cp310-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "pydantic", "version": "2.13.4"}, "download_info": {"url": "https://files.pythonhosted.org/packages/fd/7b/122376b1fd3c62c1ed9dc80c931ace4844b3c55407b6fb2d199377c9736f/pydantic-2.13.4-py3-none-any.whl"}}, {"metadata": {"name": "pydantic_core", "version": "2.46.4"}, "download_info": {"url": "https://files.pythonhosted.org/packages/56/c6/65f646c7ff09bd257f660434adb45c4dfcbbcebcc030562fecf6f5bf887d/pydantic_core-2.46.4-cp310-cp310-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "annotated-types", "version": "0.7.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl"}}, {"metadata": {"name": "argcomplete", "version": "3.7.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/12/f6/5b8ec087cd9cfa9449491ec83f76fb6b7006b4dff57d2ba8aaab330fe8e4/argcomplete-3.7.0-py3-none-any.whl"}}, {"metadata": {"name": "boto3", "version": "1.43.40"}, "download_info": {"url": "https://files.pythonhosted.org/packages/d7/3b/2abcc7f47e955a8cb45a6378ec69cd8ed2dcb3d14ceb67717dea020a794a/boto3-1.43.40-py3-none-any.whl"}}, {"metadata": {"name": "botocore", "version": "1.43.40"}, "download_info": {"url": "https://files.pythonhosted.org/packages/dc/8c/5f7e73fd66b28f0705bc55d7060d41ef72328b656b86ca53e75765b3ba2c/botocore-1.43.40-py3-none-any.whl"}}, {"metadata": {"name": "jmespath", "version": "1.1.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/14/2f/967ba146e6d58cf6a652da73885f52fc68001525b4197effc174321d70b4/jmespath-1.1.0-py3-none-any.whl"}}, {"metadata": {"name": "s3transfer", "version": "0.19.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/46/5f/4c174edad94f82de888ac00a5ddd8d07b35609b6c94f0bdf4d74af57703e/s3transfer-0.19.0-py3-none-any.whl"}}, {"metadata": {"name": "urllib3", "version": "2.7.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/7f/3e/5db95bcf282c52709639744ca2a8b149baccf648e39c8cc87553df9eae0c/urllib3-2.7.0-py3-none-any.whl"}}, {"metadata": {"name": "cohere", "version": "7.0.5"}, "download_info": {"url": "https://files.pythonhosted.org/packages/e6/eb/64ca464baa34d0fa8144fc09ec7a35c8fcdeea1be878a518e901b0a6032b/cohere-7.0.5-py3-none-any.whl"}}, {"metadata": {"name": "fastavro", "version": "1.12.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/3c/91/16c3508447e7cf9f413a6a01792a990ed94d17505fc80a7fb76027078aed/fastavro-1.12.2-cp310-cp310-macosx_10_9_universal2.whl"}}, {"metadata": {"name": "requests", "version": "2.34.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/a0/f4/c67b0b3f1b9245e8d266f0f112c500d50e5b4e83cb6f3b71b6528104182a/requests-2.34.2-py3-none-any.whl"}}, {"metadata": {"name": "charset-normalizer", "version": "3.4.7"}, "download_info": {"url": "https://files.pythonhosted.org/packages/26/08/0f303cb0b529e456bb116f2d50565a482694fbb94340bf56d44677e7ed03/charset_normalizer-3.4.7-cp310-cp310-macosx_10_9_universal2.whl"}}, {"metadata": {"name": "idna", "version": "3.18"}, "download_info": {"url": "https://files.pythonhosted.org/packages/1e/5e/d4e9f1a599fb8e573b7b87160658329fbf28d19eac2718f51fc3def3aa5a/idna-3.18-py3-none-any.whl"}}, {"metadata": {"name": "tokenizers", "version": "0.23.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/e2/6a/068ed9f6e444c9d7e9d55ce134181325700f3d7f30410721bdc8f848d727/tokenizers-0.23.1-cp310-abi3-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "huggingface_hub", "version": "1.22.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/64/9c/a1a377265abd8b823a2c661c665028ccb6b9fba1ca9d08e52ff679c20ecd/huggingface_hub-1.22.0-py3-none-any.whl"}}, {"metadata": {"name": "click", "version": "8.4.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/fb/e2/79c688af8b210d232694e31e59da9f6ec747bae31c3f5946e4e9b98860d5/click-8.4.2-py3-none-any.whl"}}, {"metadata": {"name": "hf-xet", "version": "1.5.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/35/94/4b2ecfbad8f8b04701a23aefb62f540b9137d058b7e1dbef16a32676f0e9/hf_xet-1.5.1-cp37-abi3-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "types-requests", "version": "2.33.0.20260518"}, "download_info": {"url": "https://files.pythonhosted.org/packages/1c/bc/b139710a3b6018f7fb2b9508b35c8af564e61bf2bf4fa619d088f3e16f85/types_requests-2.33.0.20260518-py3-none-any.whl"}}, {"metadata": {"name": "certifi", "version": "2026.6.17"}, "download_info": {"url": "https://files.pythonhosted.org/packages/ef/2f/c5464532e965badff2f4c4c1a3a83f5697f0d7c407ed0cda44aaa99bb451/certifi-2026.6.17-py3-none-any.whl"}}, {"metadata": {"name": "exceptiongroup", "version": "1.3.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/8a/0e/97c33bf5009bdbac74fd2beace167cab3f978feb69cc36f1ef79360d6c4e/exceptiongroup-1.3.1-py3-none-any.whl"}}, {"metadata": {"name": "filelock", "version": "3.29.5"}, "download_info": {"url": "https://files.pythonhosted.org/packages/4a/e3/f1fae3647d170919c2cf2a898e77e7d1a4e5c7cae0aed7bb4bd3f5ebff6f/filelock-3.29.5-py3-none-any.whl"}}, {"metadata": {"name": "fsspec", "version": "2026.6.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/e5/22/4222d7ddf3da30f363edaa98e329c2bce6c65497c9cb2810931c8b2c0fbc/fsspec-2026.6.0-py3-none-any.whl"}}, {"metadata": {"name": "genai-prices", "version": "0.0.69"}, "download_info": {"url": "https://files.pythonhosted.org/packages/eb/05/6bb176d603210b61d2bf4585c7119dcf5491bbcae195e21254668c5ee07a/genai_prices-0.0.69-py3-none-any.whl"}}, {"metadata": {"name": "google-auth", "version": "2.55.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/e8/1d/f6d3ca1ad0725f2e08a1c6915640748a52de2e66596160a4d53b010cccf0/google_auth-2.55.1-py3-none-any.whl"}}, {"metadata": {"name": "cryptography", "version": "49.0.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/19/2a/5bb823f5bedcf80718cea7fbc95ec5515cca3769633c4b01a32be7f30e7c/cryptography-49.0.0-cp39-abi3-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "cffi", "version": "2.0.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/9e/84/ad6a0b408daa859246f57c03efd28e5dd1b33c21737c2db84cae8c237aa5/cffi-2.0.0-cp310-cp310-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "google-genai", "version": "2.10.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/e0/39/00bcfd94de255d24249401efff4f48d77bf6066b46447e519fa193c0c299/google_genai-2.10.0-py3-none-any.whl"}}, {"metadata": {"name": "tenacity", "version": "9.1.4"}, "download_info": {"url": "https://files.pythonhosted.org/packages/d7/c1/eb8f9debc45d3b7918a32ab756658a0904732f75e555402972246b0b8e71/tenacity-9.1.4-py3-none-any.whl"}}, {"metadata": {"name": "websockets", "version": "16.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/10/40/904a4cb30d9b61c0e278899bf36342e9b0208eb3c470324a9ecbaac2a30f/websockets-16.0-cp310-cp310-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "griffe", "version": "2.1.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/6b/fb/3c65d392feae6c36dc2b55a14dd8270b7b35a3171c93b71a4d2ee4abf241/griffe-2.1.0-py3-none-any.whl"}}, {"metadata": {"name": "griffecli", "version": "2.1.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/80/2f/513232ec1d5f5da182e4ce45a11427e37dd210844a9e2bca451fc9661fb3/griffecli-2.1.0-py3-none-any.whl"}}, {"metadata": {"name": "griffelib", "version": "2.1.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/e4/d3/5268aeabf2ad82658c4e2ff3a060648d0f02f3926cb53247c0e4d0dab49e/griffelib-2.1.0-py3-none-any.whl"}}, {"metadata": {"name": "colorama", "version": "0.4.6"}, "download_info": {"url": "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl"}}, {"metadata": {"name": "groq", "version": "1.5.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/ce/c3/cac2aee75198c0382a2e6070619a798de2288e01850abb6e999746bb92e3/groq-1.5.0-py3-none-any.whl"}}, {"metadata": {"name": "h11", "version": "0.16.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/04/4b/29cac41a4d98d144bf5f6d33995617b185d14b22401f75ca86f384e87ff1/h11-0.16.0-py3-none-any.whl"}}, {"metadata": {"name": "httpx2", "version": "2.5.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/31/22/859d8252dad9bc9adee34b52e62cde621ece07b042ccb2ab4da1be46695f/httpx2-2.5.0-py3-none-any.whl"}}, {"metadata": {"name": "httpcore2", "version": "2.5.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/c9/a1/7564199d1a8728fe737b0a72e5b3f8d92dfe085a74ddf7cdd83bce5f206d/httpcore2-2.5.0-py3-none-any.whl"}}, {"metadata": {"name": "iniconfig", "version": "2.3.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/cb/b1/3846dd7f199d53cb17f49cba7e651e9ce294d8497c8c150530ed11865bb8/iniconfig-2.3.0-py3-none-any.whl"}}, {"metadata": {"name": "logfire", "version": "4.37.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/7a/08/1805d2f26955671115aae555d78cc4c72a6fe733f332d44d69756bc1737b/logfire-4.37.0-py3-none-any.whl"}}, {"metadata": {"name": "opentelemetry-exporter-otlp-proto-http", "version": "1.42.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/d3/96/82cb223a1502f0787d4bbff12907f5f8d870a50731febcd5818d93ef9555/opentelemetry_exporter_otlp_proto_http-1.42.1-py3-none-any.whl"}}, {"metadata": {"name": "opentelemetry-exporter-otlp-proto-common", "version": "1.42.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/d6/43/2375e7612e1121a4518c17603b6e0b03ad94f565aafad53f464dc5be2bf6/opentelemetry_exporter_otlp_proto_common-1.42.1-py3-none-any.whl"}}, {"metadata": {"name": "opentelemetry-proto", "version": "1.42.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/41/9d/171c02c84a76940b7e601805b3bb536985aded9168fbcc9ba52f0a730fa2/opentelemetry_proto-1.42.1-py3-none-any.whl"}}, {"metadata": {"name": "googleapis-common-protos", "version": "1.75.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/e7/c8/e2645aa8ed02fd4c7a2f59d68783b65b1f3cbdfe39a6308e156509d1fee8/googleapis_common_protos-1.75.0-py3-none-any.whl"}}, {"metadata": {"name": "opentelemetry-sdk", "version": "1.42.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/8f/6b/4287766cfbde577ae2272e8884abac325aeaac0d64f41c61d5b8cc595105/opentelemetry_sdk-1.42.1-py3-none-any.whl"}}, {"metadata": {"name": "opentelemetry-api", "version": "1.42.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/a3/ca/9520cc1f3dfbbd03ac5903bbf55833e257bc64b1cf30fa8b0d6df374d821/opentelemetry_api-1.42.1-py3-none-any.whl"}}, {"metadata": {"name": "opentelemetry-semantic-conventions", "version": "0.63b1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/cb/7a/7fe66f5f3682b1dd47d88cc4e11f1c6c0966b737de2d16671146e23c39a5/opentelemetry_semantic_conventions-0.63b1-py3-none-any.whl"}}, {"metadata": {"name": "executing", "version": "2.2.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/c1/ea/53f2148663b321f21b5a606bd5f191517cf40b7072c0497d3c92c4a13b1e/executing-2.2.1-py2.py3-none-any.whl"}}, {"metadata": {"name": "logfire-api", "version": "4.37.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/10/2f/23e5b8fa22f75f73965c72e5c29e6fb8715263457394601e254fe26fbe31/logfire_api-4.37.0-py3-none-any.whl"}}, {"metadata": {"name": "mcp", "version": "1.28.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/e2/5e/d118fce19f87a2e7d8101c35c8ae0ec289098a4df0ff244cec23e415aca0/mcp-1.28.1-py3-none-any.whl"}}, {"metadata": {"name": "httpx-sse", "version": "0.4.3"}, "download_info": {"url": "https://files.pythonhosted.org/packages/d2/fd/6668e5aec43ab844de6fc74927e155a3b37bf40d7c3790e49fc0406b6578/httpx_sse-0.4.3-py3-none-any.whl"}}, {"metadata": {"name": "jsonschema", "version": "4.26.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/69/90/f63fb5873511e014207a475e2bb4e8b2e570d655b00ac19a9a0ca0a385ee/jsonschema-4.26.0-py3-none-any.whl"}}, {"metadata": {"name": "attrs", "version": "26.1.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/64/b4/17d4b0b2a2dc85a6df63d1157e028ed19f90d4cd97c36717afef2bc2f395/attrs-26.1.0-py3-none-any.whl"}}, {"metadata": {"name": "jsonschema-specifications", "version": "2025.9.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/41/45/1a4ed80516f02155c51f51e8cedb3c1902296743db0bbc66608a0db2814f/jsonschema_specifications-2025.9.1-py3-none-any.whl"}}, {"metadata": {"name": "mistralai", "version": "1.12.4"}, "download_info": {"url": "https://files.pythonhosted.org/packages/c9/f9/98d825105c450b9c67c27026caa374112b7e466c18331601d02ca278a01b/mistralai-1.12.4-py3-none-any.whl"}}, {"metadata": {"name": "invoke", "version": "2.2.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/32/4b/b99e37f88336009971405cbb7630610322ed6fbfa31e1d7ab3fbf3049a2d/invoke-2.2.1-py3-none-any.whl"}}, {"metadata": {"name": "PyYAML", "version": "6.0.3"}, "download_info": {"url": "https://files.pythonhosted.org/packages/05/14/52d505b5c59ce73244f59c7a50ecf47093ce4765f116cdb98286a71eeca2/pyyaml-6.0.3-cp310-cp310-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "eval_type_backport", "version": "0.4.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/50/a7/bb99bf5e6f78736ddb53480f2c3ff3702ffe2196a7c5e1661c03081d398e/eval_type_backport-0.4.0-py3-none-any.whl"}}, {"metadata": {"name": "openai", "version": "2.44.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/ae/f4/561ed79fd94876160018a5e75254cfcb9b0e62d4dded9dcb20072e86d623/openai-2.44.0-py3-none-any.whl"}}, {"metadata": {"name": "opentelemetry-instrumentation", "version": "0.63b1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/35/a1/9314e621c143e4d82a5bf7a43c2ff7a745d31023506336857607c8c543cc/opentelemetry_instrumentation-0.63b1-py3-none-any.whl"}}, {"metadata": {"name": "wrapt", "version": "2.2.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/94/dc/66c61aca927230c9cf97a3cb005c803971a1076ff9f7d61085d035c20085/wrapt-2.2.2-cp310-cp310-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "opentelemetry-instrumentation-httpx", "version": "0.63b1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/ba/b8/f536780996195c3b9f2354998554671e05a7a262df8c043f63fe9e5a6f0b/opentelemetry_instrumentation_httpx-0.63b1-py3-none-any.whl"}}, {"metadata": {"name": "opentelemetry-util-http", "version": "0.63b1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/e5/f1/34e047e8f6a3c67e5220acf1af7b9f62868c25d77791bca74457bd2180a6/opentelemetry_util_http-0.63b1-py3-none-any.whl"}}, {"metadata": {"name": "packaging", "version": "26.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/df/b2/87e62e8c3e2f4b32e5fe99e0b86d576da1312593b39f47d8ceef365e95ed/packaging-26.2-py3-none-any.whl"}}, {"metadata": {"name": "prompt_toolkit", "version": "3.0.52"}, "download_info": {"url": "https://files.pythonhosted.org/packages/84/03/0d3ce49e2505ae70cf43bc5bb3033955d2fc9f932163e84dc0779cc47f48/prompt_toolkit-3.0.52-py3-none-any.whl"}}, {"metadata": {"name": "pyasn1_modules", "version": "0.4.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/47/8d/d529b5d697919ba8c11ad626e835d4039be708a35b0d22de83a269a6682c/pyasn1_modules-0.4.2-py3-none-any.whl"}}, {"metadata": {"name": "pyasn1", "version": "0.6.3"}, "download_info": {"url": "https://files.pythonhosted.org/packages/5d/a0/7d793dce3fa811fe047d6ae2431c672364b462850c6235ae306c0efd025f/pyasn1-0.6.3-py3-none-any.whl"}}, {"metadata": {"name": "pydantic-settings", "version": "2.14.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/77/c1/6e422f34e569cf8e18df68d1939c81c099d2b61e4f7d9621c8a77560799c/pydantic_settings-2.14.2-py3-none-any.whl"}}, {"metadata": {"name": "Pygments", "version": "2.20.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/f4/7e/a72dd26f3b0f4f2bf1dd8923c85f7ceb43172af56d63c7383eb62b332364/pygments-2.20.0-py3-none-any.whl"}}, {"metadata": {"name": "PyJWT", "version": "2.13.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/a3/5e/ecf12fdb62546d64385c158514e9b2b671f7832108ef2ecd2020ce0af2d1/pyjwt-2.13.0-py3-none-any.whl"}}, {"metadata": {"name": "pyperclip", "version": "1.11.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/df/80/fc9d01d5ed37ba4c42ca2b55b4339ae6e200b456be3a1aaddf4a9fa99b8c/pyperclip-1.11.0-py3-none-any.whl"}}, {"metadata": {"name": "python-dotenv", "version": "1.2.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/0b/d7/1959b9648791274998a9c3526f6d0ec8fd2233e4d4acce81bbae76b44b2a/python_dotenv-1.2.2-py3-none-any.whl"}}, {"metadata": {"name": "python-multipart", "version": "0.0.32"}, "download_info": {"url": "https://files.pythonhosted.org/packages/e1/04/e8135ebd1ad02c56ec633277529b2602ff99ff634be76cdba5744cf554fd/python_multipart-0.0.32-py3-none-any.whl"}}, {"metadata": {"name": "referencing", "version": "0.37.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/2c/58/ca301544e1fa93ed4f80d724bf5b194f6e4b945841c5bfd555878eea9fcb/referencing-0.37.0-py3-none-any.whl"}}, {"metadata": {"name": "rich", "version": "15.0.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/82/3b/64d4899d73f91ba49a8c18a8ff3f0ea8f1c1d75481760df8c68ef5235bf5/rich-15.0.0-py3-none-any.whl"}}, {"metadata": {"name": "markdown-it-py", "version": "4.2.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/b3/81/4da04ced5a082363ecfa159c010d200ecbd959ae410c10c0264a38cac0f5/markdown_it_py-4.2.0-py3-none-any.whl"}}, {"metadata": {"name": "mdurl", "version": "0.1.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/b3/38/89ba8ad64ae25be8de66a6d463314cf1eb366222074cfda9ee839c56a4b4/mdurl-0.1.2-py3-none-any.whl"}}, {"metadata": {"name": "rpds-py", "version": "0.30.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/19/6a/4ba3d0fb7297ebae71171822554abe48d7cab29c28b8f9f2c04b79988c05/rpds_py-0.30.0-cp310-cp310-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "six", "version": "1.17.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl"}}, {"metadata": {"name": "sse-starlette", "version": "3.4.5"}, "download_info": {"url": "https://files.pythonhosted.org/packages/78/75/c88d3f5dafd59c791da1ce27650d30bf5b70cbf1cbf01cd00e5f9e360915/sse_starlette-3.4.5-py3-none-any.whl"}}, {"metadata": {"name": "starlette", "version": "1.3.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/ec/bb/2799cc2ede3ed41131f8975621e7213dfc7ef4acbbaadfa440f32500c370/starlette-1.3.1-py3-none-any.whl"}}, {"metadata": {"name": "tomli", "version": "2.4.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/7b/61/cceae43728b7de99d9b847560c262873a1f6c98202171fd5ed62640b494b/tomli-2.4.1-py3-none-any.whl"}}, {"metadata": {"name": "tqdm", "version": "4.68.3"}, "download_info": {"url": "https://files.pythonhosted.org/packages/d8/8e/bb97bb0c71802080bfc8952937d174e49cfc50de5c951dd47b2496f0dcdb/tqdm-4.68.3-py3-none-any.whl"}}, {"metadata": {"name": "truststore", "version": "0.10.4"}, "download_info": {"url": "https://files.pythonhosted.org/packages/19/97/56608b2249fe206a67cd573bc93cd9896e1efb9e98bce9c163bcdc704b88/truststore-0.10.4-py3-none-any.whl"}}, {"metadata": {"name": "types-protobuf", "version": "7.34.1.20260518"}, "download_info": {"url": "https://files.pythonhosted.org/packages/2a/1f/ec5caf72c2e3b688ca3927e0979a04ddad19e1afc4bf1c199bd743e0f419/types_protobuf-7.34.1.20260518-py3-none-any.whl"}}, {"metadata": {"name": "typing-inspection", "version": "0.4.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/dc/9b/47798a6c91d8bdb567fe2698fe81e0c6b7cb7ef4d13da4114b41d239f65d/typing_inspection-0.4.2-py3-none-any.whl"}}, {"metadata": {"name": "uvicorn", "version": "0.50.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/f2/59/02c7859295b001e77b8079fc9df9f8161b7c872cbf7ea8dab70cf51d61f1/uvicorn-0.50.1-py3-none-any.whl"}}, {"metadata": {"name": "pycparser", "version": "3.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/0c/c3/44f3fbbfa403ea2a7c779186dc20772604442dde72947e7d01069cbe98e3/pycparser-3.0-py3-none-any.whl"}}, {"metadata": {"name": "sniffio", "version": "1.3.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl"}}, {"metadata": {"name": "wcwidth", "version": "0.8.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/96/42/3e5985a0a7e57de470b320c6d6a1a67c844f6737a587f3d44dd13d1819e7/wcwidth-0.8.2-py3-none-any.whl"}}], "install_targets_hash": "76bc8d4da920add2d6433f5bd69d9ec8"} {"python_version": "3.10", "dependencies": [{"metadata": {"name": "sanic", "version": "23.12.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/9c/e6/5adc2ca570f165d6027a775a655c1c09b9b8432a6c4a6fcb4c43a08eac7e/sanic-23.12.2-py3-none-any.whl"}}, {"metadata": {"name": "websockets", "version": "10.4"}, "download_info": {"url": "https://files.pythonhosted.org/packages/20/7a/bd0ce7ac1cfafc76c84d6e8051bcbd0f7def8e45207230833bd6ff77a41d/websockets-10.4-cp310-cp310-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "multidict", "version": "6.7.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/31/5c/08c7f7fe311f32e83f7621cd3f99d805f45519cd06fafb247628b861da7d/multidict-6.7.1-cp310-cp310-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "aiohttp", "version": "3.14.3"}, "download_info": {"url": "https://files.pythonhosted.org/packages/7f/9e/73b582c4dbbc3c12ef4473822475effaabf1f934b56f14f5b03fe5d3a2af/aiohttp-3.14.3-cp310-cp310-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "async-timeout", "version": "5.0.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/fe/ba/e2081de779ca30d473f21f5b30e0e737c438205440784c7dfc81efc2b029/async_timeout-5.0.1-py3-none-any.whl"}}, {"metadata": {"name": "yarl", "version": "1.24.5"}, "download_info": {"url": "https://files.pythonhosted.org/packages/59/1d/340d1a0db7bbce1f291afc044255ebf4ebbce2b25ab1b3f7d3d069080f5d/yarl-1.24.5-cp310-cp310-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "sanic-testing", "version": "24.6.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/0c/93/1d588f1cb9b710b9f22fa78b53d699a8062edc94204d50dd0d78c5f5b495/sanic_testing-24.6.0-py3-none-any.whl"}}, {"metadata": {"name": "aiofiles", "version": "25.1.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/bc/8a/340a1555ae33d7354dbca4faa54948d76d89a27ceef032c8c3bc661d003e/aiofiles-25.1.0-py3-none-any.whl"}}, {"metadata": {"name": "aiohappyeyeballs", "version": "2.7.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/71/43/1947f06babed6b3f1d7f38b0c767f52df66bfb2bc10b468c4a7de9eceff2/aiohappyeyeballs-2.7.1-py3-none-any.whl"}}, {"metadata": {"name": "aiosignal", "version": "1.4.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/fb/76/641ae371508676492379f16e2fa48f4e2c11741bd63c48be4b12a6b09cba/aiosignal-1.4.0-py3-none-any.whl"}}, {"metadata": {"name": "attrs", "version": "26.1.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/64/b4/17d4b0b2a2dc85a6df63d1157e028ed19f90d4cd97c36717afef2bc2f395/attrs-26.1.0-py3-none-any.whl"}}, {"metadata": {"name": "frozenlist", "version": "1.8.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/63/70/26ca3f06aace16f2352796b08704338d74b6d1a24ca38f2771afbb7ed915/frozenlist-1.8.0-cp310-cp310-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "html5tagger", "version": "2.0.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/41/d7/410f7b8109958405f6fb3d104f094e2a96f9d5b2670de73a68fb1fbc391f/html5tagger-2.0.0-py3-none-any.whl"}}, {"metadata": {"name": "httptools", "version": "0.8.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/9d/f7/b4d41eaae2869d31356bc4bbf546f44fae83ff298af0a043ca0625b06773/httptools-0.8.0-cp310-cp310-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "httpx", "version": "0.28.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/2a/39/e50c7c3a983047577ee07d2a9e53faf5a69493943ec3f6a384bdc792deb2/httpx-0.28.1-py3-none-any.whl"}}, {"metadata": {"name": "httpcore", "version": "1.0.9"}, "download_info": {"url": "https://files.pythonhosted.org/packages/7e/f5/f66802a942d491edb555dd61e3a9961140fd64c90bce1eafd741609d334d/httpcore-1.0.9-py3-none-any.whl"}}, {"metadata": {"name": "h11", "version": "0.16.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/04/4b/29cac41a4d98d144bf5f6d33995617b185d14b22401f75ca86f384e87ff1/h11-0.16.0-py3-none-any.whl"}}, {"metadata": {"name": "idna", "version": "3.18"}, "download_info": {"url": "https://files.pythonhosted.org/packages/1e/5e/d4e9f1a599fb8e573b7b87160658329fbf28d19eac2718f51fc3def3aa5a/idna-3.18-py3-none-any.whl"}}, {"metadata": {"name": "propcache", "version": "0.5.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/20/42/0e7443c90310498561addf346e7d57fe3c6ba1914e1ba938b5464c7bbfd2/propcache-0.5.2-cp310-cp310-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "sanic-routing", "version": "23.12.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/cf/e3/3425c9a8773807ac2c01d6a56c8521733f09b627e5827e733c5cd36b9ac5/sanic_routing-23.12.0-py3-none-any.whl"}}, {"metadata": {"name": "tracerite", "version": "2.6.3"}, "download_info": {"url": "https://files.pythonhosted.org/packages/fc/ae/74457a0bfe83b45a951f5a4900cb4e5bb7cf201edc029fb5b2a2df9e4028/tracerite-2.6.3-py3-none-any.whl"}}, {"metadata": {"name": "typing_extensions", "version": "4.16.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/49/d3/b8441a820a491ddfc024b0b0cf0393375b75ea13866d9c66727e54c2fc80/typing_extensions-4.16.0-py3-none-any.whl"}}, {"metadata": {"name": "ujson", "version": "5.13.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/8e/d2/92e83af35cd65d3b7c47fb0e24927aa2b478897af8b0dd0ee19abcd50c03/ujson-5.13.0-cp310-cp310-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "uvloop", "version": "0.22.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/eb/14/ecceb239b65adaaf7fde510aa8bd534075695d1e5f8dadfa32b5723d9cfb/uvloop-0.22.1-cp310-cp310-macosx_10_9_universal2.whl"}}, {"metadata": {"name": "anyio", "version": "4.14.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/da/35/f2287558c17e29fafc8ef3daf819bb9834061cfa43bff8014f7df7f63bdc/anyio-4.14.2-py3-none-any.whl"}}, {"metadata": {"name": "exceptiongroup", "version": "1.3.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/8a/0e/97c33bf5009bdbac74fd2beace167cab3f978feb69cc36f1ef79360d6c4e/exceptiongroup-1.3.1-py3-none-any.whl"}}, {"metadata": {"name": "certifi", "version": "2026.7.22"}, "download_info": {"url": "https://files.pythonhosted.org/packages/0b/a7/71ac2cff56fec219ed242bb11b8efb69fcc4bec75db06fb7bfe35de520e6/certifi-2026.7.22-py3-none-any.whl"}}], "install_targets_hash": "76dabba8d81006345a2675957fd9dcbf"} +{"python_version": "3.10", "dependencies": [{"metadata": {"name": "redis", "version": "4.2.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/d3/2d/1aefc345181d53d618b48f7c2bdc491a6ec4f2be1923c37e04536ef2f9c4/redis-4.2.2-py3-none-any.whl"}}, {"metadata": {"name": "fakeredis", "version": "2.24.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/70/15/7db6bdc128638aa9e6d8ce2d744288674072566060ac0e7424495cff5c77/fakeredis-2.24.1-py3-none-any.whl"}}, {"metadata": {"name": "pytest", "version": "7.4.4"}, "download_info": {"url": "https://files.pythonhosted.org/packages/51/ff/f6e8b8f39e08547faece4bd80f89d5a8de68a38b2d179cc1c4490ffa3286/pytest-7.4.4-py3-none-any.whl"}}, {"metadata": {"name": "pluggy", "version": "1.6.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl"}}, {"metadata": {"name": "sortedcontainers", "version": "2.4.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/32/46/9cb0e58b2deb7f82b84065f37f3bffeb12413f947f9388e4cac22c4621ce/sortedcontainers-2.4.0-py2.py3-none-any.whl"}}, {"metadata": {"name": "typing_extensions", "version": "4.16.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/49/d3/b8441a820a491ddfc024b0b0cf0393375b75ea13866d9c66727e54c2fc80/typing_extensions-4.16.0-py3-none-any.whl"}}, {"metadata": {"name": "pytest-asyncio", "version": "0.23.8"}, "download_info": {"url": "https://files.pythonhosted.org/packages/ee/82/62e2d63639ecb0fbe8a7ee59ef0bc69a4669ec50f6d3459f74ad4e4189a2/pytest_asyncio-0.23.8-py3-none-any.whl"}}, {"metadata": {"name": "async-timeout", "version": "5.0.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/fe/ba/e2081de779ca30d473f21f5b30e0e737c438205440784c7dfc81efc2b029/async_timeout-5.0.1-py3-none-any.whl"}}, {"metadata": {"name": "Deprecated", "version": "1.3.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/84/d0/205d54408c08b13550c733c4b85429e7ead111c7f0014309637425520a9a/deprecated-1.3.1-py2.py3-none-any.whl"}}, {"metadata": {"name": "wrapt", "version": "2.3.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/7a/5a/3c6117938be98754578ab83f5a40d7d0ea2cd2c487dc5cd6027ee7228229/wrapt-2.3.0-cp310-cp310-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "exceptiongroup", "version": "1.3.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/8a/0e/97c33bf5009bdbac74fd2beace167cab3f978feb69cc36f1ef79360d6c4e/exceptiongroup-1.3.1-py3-none-any.whl"}}, {"metadata": {"name": "packaging", "version": "26.3"}, "download_info": {"url": "https://files.pythonhosted.org/packages/63/34/ba1c580383c9eada3711951fef0795c80b829a078d72188184bcab9dd527/packaging-26.3-py3-none-any.whl"}}, {"metadata": {"name": "tomli", "version": "2.4.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/7b/61/cceae43728b7de99d9b847560c262873a1f6c98202171fd5ed62640b494b/tomli-2.4.1-py3-none-any.whl"}}, {"metadata": {"name": "iniconfig", "version": "2.3.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/cb/b1/3846dd7f199d53cb17f49cba7e651e9ce294d8497c8c150530ed11865bb8/iniconfig-2.3.0-py3-none-any.whl"}}], "install_targets_hash": "7714b24b1f75f284b6047e417e725b9b"} {"python_version": "3.10", "dependencies": [{"metadata": {"name": "rq", "version": "2.10.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/c5/d3/f8c59750a1c98f99d225954eb2c3dd89f2d66b666c448b4b0dff79ab29ed/rq-2.10.0-py3-none-any.whl"}}, {"metadata": {"name": "fakeredis", "version": "2.35.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/6f/27/b8b057a23f7777177e92d3a602fd866751b6b45014964548997e92e048fd/fakeredis-2.35.1-py3-none-any.whl"}}, {"metadata": {"name": "click", "version": "8.4.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/fb/e2/79c688af8b210d232694e31e59da9f6ec747bae31c3f5946e4e9b98860d5/click-8.4.2-py3-none-any.whl"}}, {"metadata": {"name": "redis", "version": "8.0.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/fd/0a/c2345ebf1ebe70840ce3f6c6ee612f8fa749cfbd1b03069c53bf0c62aaad/redis-8.0.1-py3-none-any.whl"}}, {"metadata": {"name": "async-timeout", "version": "5.0.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/fe/ba/e2081de779ca30d473f21f5b30e0e737c438205440784c7dfc81efc2b029/async_timeout-5.0.1-py3-none-any.whl"}}, {"metadata": {"name": "sortedcontainers", "version": "2.4.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/32/46/9cb0e58b2deb7f82b84065f37f3bffeb12413f947f9388e4cac22c4621ce/sortedcontainers-2.4.0-py2.py3-none-any.whl"}}, {"metadata": {"name": "typing_extensions", "version": "4.16.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/49/d3/b8441a820a491ddfc024b0b0cf0393375b75ea13866d9c66727e54c2fc80/typing_extensions-4.16.0-py3-none-any.whl"}}, {"metadata": {"name": "croniter", "version": "6.2.3"}, "download_info": {"url": "https://files.pythonhosted.org/packages/5c/dd/6466498a8b69754cffbd7237ce4c66446ca5ffcf53fb397d437666f056d2/croniter-6.2.3-py3-none-any.whl"}}, {"metadata": {"name": "python-dateutil", "version": "2.9.0.post0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl"}}, {"metadata": {"name": "six", "version": "1.17.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl"}}], "install_targets_hash": "7c71772295cf9739a98d7ca462322ba6"} {"python_version": "3.10", "dependencies": [{"metadata": {"name": "gql", "version": "4.4.0b0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/3e/97/00105a44b645f2234e4540027d2ae4ea34b6a95d40e45f9f01c020d0f5b0/gql-4.4.0b0-py3-none-any.whl"}}, {"metadata": {"name": "aiohttp", "version": "3.14.3"}, "download_info": {"url": "https://files.pythonhosted.org/packages/7f/9e/73b582c4dbbc3c12ef4473822475effaabf1f934b56f14f5b03fe5d3a2af/aiohttp-3.14.3-cp310-cp310-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "anyio", "version": "4.14.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/da/35/f2287558c17e29fafc8ef3daf819bb9834061cfa43bff8014f7df7f63bdc/anyio-4.14.2-py3-none-any.whl"}}, {"metadata": {"name": "async-timeout", "version": "5.0.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/fe/ba/e2081de779ca30d473f21f5b30e0e737c438205440784c7dfc81efc2b029/async_timeout-5.0.1-py3-none-any.whl"}}, {"metadata": {"name": "botocore", "version": "1.43.57"}, "download_info": {"url": "https://files.pythonhosted.org/packages/41/7a/1cfe9c296df0fa6e0143c8622b10f21fa8fb9cce25450e9a8e5cf6523e4b/botocore-1.43.57-py3-none-any.whl"}}, {"metadata": {"name": "graphql-core", "version": "3.3.0rc0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/8c/89/efd877ac909125f050b9562afc1f4b1bc7c0a90bc2a03ed7b0cb21debca3/graphql_core-3.3.0rc0-py3-none-any.whl"}}, {"metadata": {"name": "httpx2", "version": "2.9.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/13/b8/cfd91c4ab9134d386d48f0b6ac662ff3d4be6efdee59ee1c67ebc3c0487c/httpx2-2.9.1-py3-none-any.whl"}}, {"metadata": {"name": "httpcore2", "version": "2.9.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/9f/fb/46c52b781975c335a2bcf1072c7bbc007cbdc8d674217f5ee1daba2c848b/httpcore2-2.9.1-py3-none-any.whl"}}, {"metadata": {"name": "jmespath", "version": "1.1.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/14/2f/967ba146e6d58cf6a652da73885f52fc68001525b4197effc174321d70b4/jmespath-1.1.0-py3-none-any.whl"}}, {"metadata": {"name": "multidict", "version": "6.7.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/31/5c/08c7f7fe311f32e83f7621cd3f99d805f45519cd06fafb247628b861da7d/multidict-6.7.1-cp310-cp310-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "python-dateutil", "version": "2.9.0.post0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl"}}, {"metadata": {"name": "requests", "version": "2.34.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/a0/f4/c67b0b3f1b9245e8d266f0f112c500d50e5b4e83cb6f3b71b6528104182a/requests-2.34.2-py3-none-any.whl"}}, {"metadata": {"name": "charset-normalizer", "version": "3.4.9"}, "download_info": {"url": "https://files.pythonhosted.org/packages/ad/81/8e983840c6e5b93b33c2ba81aa3d52c2e42f0e9a690ce7607a2e61da4a5c/charset_normalizer-3.4.9-cp310-cp310-macosx_10_9_universal2.whl"}}, {"metadata": {"name": "idna", "version": "3.18"}, "download_info": {"url": "https://files.pythonhosted.org/packages/1e/5e/d4e9f1a599fb8e573b7b87160658329fbf28d19eac2718f51fc3def3aa5a/idna-3.18-py3-none-any.whl"}}, {"metadata": {"name": "requests-toolbelt", "version": "1.0.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/3f/51/d4db610ef29373b879047326cbf6fa98b6c1969d6f6dc423279de2b1be2c/requests_toolbelt-1.0.0-py2.py3-none-any.whl"}}, {"metadata": {"name": "tenacity", "version": "9.1.4"}, "download_info": {"url": "https://files.pythonhosted.org/packages/d7/c1/eb8f9debc45d3b7918a32ab756658a0904732f75e555402972246b0b8e71/tenacity-9.1.4-py3-none-any.whl"}}, {"metadata": {"name": "urllib3", "version": "2.7.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/7f/3e/5db95bcf282c52709639744ca2a8b149baccf648e39c8cc87553df9eae0c/urllib3-2.7.0-py3-none-any.whl"}}, {"metadata": {"name": "websockets", "version": "15.0.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/d5/4f/b462242432d93ea45f297b6179c7333dd0402b855a912a04e7fc61c0d71f/websockets-15.0.1-cp310-cp310-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "yarl", "version": "1.24.5"}, "download_info": {"url": "https://files.pythonhosted.org/packages/59/1d/340d1a0db7bbce1f291afc044255ebf4ebbce2b25ab1b3f7d3d069080f5d/yarl-1.24.5-cp310-cp310-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "responses", "version": "0.26.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/7c/28/693e1d9ebf72baa062ded80d837a035b86ce75eda5a269379e9e2b1008a8/responses-0.26.2-py3-none-any.whl"}}, {"metadata": {"name": "aiohappyeyeballs", "version": "2.7.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/71/43/1947f06babed6b3f1d7f38b0c767f52df66bfb2bc10b468c4a7de9eceff2/aiohappyeyeballs-2.7.1-py3-none-any.whl"}}, {"metadata": {"name": "aiosignal", "version": "1.4.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/fb/76/641ae371508676492379f16e2fa48f4e2c11741bd63c48be4b12a6b09cba/aiosignal-1.4.0-py3-none-any.whl"}}, {"metadata": {"name": "attrs", "version": "26.1.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/64/b4/17d4b0b2a2dc85a6df63d1157e028ed19f90d4cd97c36717afef2bc2f395/attrs-26.1.0-py3-none-any.whl"}}, {"metadata": {"name": "certifi", "version": "2026.7.22"}, "download_info": {"url": "https://files.pythonhosted.org/packages/0b/a7/71ac2cff56fec219ed242bb11b8efb69fcc4bec75db06fb7bfe35de520e6/certifi-2026.7.22-py3-none-any.whl"}}, {"metadata": {"name": "exceptiongroup", "version": "1.3.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/8a/0e/97c33bf5009bdbac74fd2beace167cab3f978feb69cc36f1ef79360d6c4e/exceptiongroup-1.3.1-py3-none-any.whl"}}, {"metadata": {"name": "frozenlist", "version": "1.8.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/63/70/26ca3f06aace16f2352796b08704338d74b6d1a24ca38f2771afbb7ed915/frozenlist-1.8.0-cp310-cp310-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "h11", "version": "0.16.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/04/4b/29cac41a4d98d144bf5f6d33995617b185d14b22401f75ca86f384e87ff1/h11-0.16.0-py3-none-any.whl"}}, {"metadata": {"name": "propcache", "version": "0.5.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/20/42/0e7443c90310498561addf346e7d57fe3c6ba1914e1ba938b5464c7bbfd2/propcache-0.5.2-cp310-cp310-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "six", "version": "1.17.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl"}}, {"metadata": {"name": "truststore", "version": "0.10.4"}, "download_info": {"url": "https://files.pythonhosted.org/packages/19/97/56608b2249fe206a67cd573bc93cd9896e1efb9e98bce9c163bcdc704b88/truststore-0.10.4-py3-none-any.whl"}}, {"metadata": {"name": "typing_extensions", "version": "4.16.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/49/d3/b8441a820a491ddfc024b0b0cf0393375b75ea13866d9c66727e54c2fc80/typing_extensions-4.16.0-py3-none-any.whl"}}, {"metadata": {"name": "aiofiles", "version": "25.1.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/bc/8a/340a1555ae33d7354dbca4faa54948d76d89a27ceef032c8c3bc661d003e/aiofiles-25.1.0-py3-none-any.whl"}}, {"metadata": {"name": "PyYAML", "version": "6.0.3"}, "download_info": {"url": "https://files.pythonhosted.org/packages/05/14/52d505b5c59ce73244f59c7a50ecf47093ce4765f116cdb98286a71eeca2/pyyaml-6.0.3-cp310-cp310-macosx_11_0_arm64.whl"}}], "install_targets_hash": "7d9f37badbb06455849b77944a0bd79e"} {"python_version": "3.10", "dependencies": [{"metadata": {"name": "mcp", "version": "1.29.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/01/c8/248b201f6d753d69fd5d6506011abbb35a946d9142b2ae311a948fd0be3d/mcp-1.29.0-py3-none-any.whl"}}, {"metadata": {"name": "httpx", "version": "0.28.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/2a/39/e50c7c3a983047577ee07d2a9e53faf5a69493943ec3f6a384bdc792deb2/httpx-0.28.1-py3-none-any.whl"}}, {"metadata": {"name": "httpcore", "version": "1.0.9"}, "download_info": {"url": "https://files.pythonhosted.org/packages/7e/f5/f66802a942d491edb555dd61e3a9961140fd64c90bce1eafd741609d334d/httpcore-1.0.9-py3-none-any.whl"}}, {"metadata": {"name": "pydantic", "version": "2.13.4"}, "download_info": {"url": "https://files.pythonhosted.org/packages/fd/7b/122376b1fd3c62c1ed9dc80c931ace4844b3c55407b6fb2d199377c9736f/pydantic-2.13.4-py3-none-any.whl"}}, {"metadata": {"name": "pydantic_core", "version": "2.46.4"}, "download_info": {"url": "https://files.pythonhosted.org/packages/56/c6/65f646c7ff09bd257f660434adb45c4dfcbbcebcc030562fecf6f5bf887d/pydantic_core-2.46.4-cp310-cp310-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "pytest-asyncio", "version": "1.4.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/03/e2/08a497ef684b88559c9cc5f4ad53a37e7b99e727094a86d6ea32536d5d3c/pytest_asyncio-1.4.0-py3-none-any.whl"}}, {"metadata": {"name": "backports.asyncio.runner", "version": "1.2.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/a0/59/76ab57e3fe74484f48a53f8e337171b4a2349e506eabe136d7e01d059086/backports_asyncio_runner-1.2.0-py3-none-any.whl"}}, {"metadata": {"name": "pytest", "version": "9.1.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/24/25/1de2678b631f5a49215c6c96fff41ba892b0a34df68d6d80292b1b48aa7f/pytest-9.1.1-py3-none-any.whl"}}, {"metadata": {"name": "pluggy", "version": "1.6.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl"}}, {"metadata": {"name": "annotated-types", "version": "0.8.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/99/91/8acff4f5e50511b911bbccb72b8628a49c68ce14148cd9f6431094859a90/annotated_types-0.8.0-py3-none-any.whl"}}, {"metadata": {"name": "anyio", "version": "4.14.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/da/35/f2287558c17e29fafc8ef3daf819bb9834061cfa43bff8014f7df7f63bdc/anyio-4.14.2-py3-none-any.whl"}}, {"metadata": {"name": "exceptiongroup", "version": "1.3.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/8a/0e/97c33bf5009bdbac74fd2beace167cab3f978feb69cc36f1ef79360d6c4e/exceptiongroup-1.3.1-py3-none-any.whl"}}, {"metadata": {"name": "h11", "version": "0.16.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/04/4b/29cac41a4d98d144bf5f6d33995617b185d14b22401f75ca86f384e87ff1/h11-0.16.0-py3-none-any.whl"}}, {"metadata": {"name": "httpx-sse", "version": "0.4.3"}, "download_info": {"url": "https://files.pythonhosted.org/packages/d2/fd/6668e5aec43ab844de6fc74927e155a3b37bf40d7c3790e49fc0406b6578/httpx_sse-0.4.3-py3-none-any.whl"}}, {"metadata": {"name": "idna", "version": "3.18"}, "download_info": {"url": "https://files.pythonhosted.org/packages/1e/5e/d4e9f1a599fb8e573b7b87160658329fbf28d19eac2718f51fc3def3aa5a/idna-3.18-py3-none-any.whl"}}, {"metadata": {"name": "iniconfig", "version": "2.3.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/cb/b1/3846dd7f199d53cb17f49cba7e651e9ce294d8497c8c150530ed11865bb8/iniconfig-2.3.0-py3-none-any.whl"}}, {"metadata": {"name": "jsonschema", "version": "4.26.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/69/90/f63fb5873511e014207a475e2bb4e8b2e570d655b00ac19a9a0ca0a385ee/jsonschema-4.26.0-py3-none-any.whl"}}, {"metadata": {"name": "attrs", "version": "26.1.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/64/b4/17d4b0b2a2dc85a6df63d1157e028ed19f90d4cd97c36717afef2bc2f395/attrs-26.1.0-py3-none-any.whl"}}, {"metadata": {"name": "jsonschema-specifications", "version": "2025.9.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/41/45/1a4ed80516f02155c51f51e8cedb3c1902296743db0bbc66608a0db2814f/jsonschema_specifications-2025.9.1-py3-none-any.whl"}}, {"metadata": {"name": "packaging", "version": "26.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/df/b2/87e62e8c3e2f4b32e5fe99e0b86d576da1312593b39f47d8ceef365e95ed/packaging-26.2-py3-none-any.whl"}}, {"metadata": {"name": "pydantic-settings", "version": "2.14.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/77/c1/6e422f34e569cf8e18df68d1939c81c099d2b61e4f7d9621c8a77560799c/pydantic_settings-2.14.2-py3-none-any.whl"}}, {"metadata": {"name": "Pygments", "version": "2.20.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/f4/7e/a72dd26f3b0f4f2bf1dd8923c85f7ceb43172af56d63c7383eb62b332364/pygments-2.20.0-py3-none-any.whl"}}, {"metadata": {"name": "PyJWT", "version": "2.13.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/a3/5e/ecf12fdb62546d64385c158514e9b2b671f7832108ef2ecd2020ce0af2d1/pyjwt-2.13.0-py3-none-any.whl"}}, {"metadata": {"name": "cryptography", "version": "49.0.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/19/2a/5bb823f5bedcf80718cea7fbc95ec5515cca3769633c4b01a32be7f30e7c/cryptography-49.0.0-cp39-abi3-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "cffi", "version": "2.1.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/69/aa/24580a278de21fd7322635556334d9b535f1cbc00b0a3919447cdf464c65/cffi-2.1.0-cp310-cp310-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "python-dotenv", "version": "1.2.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/0b/d7/1959b9648791274998a9c3526f6d0ec8fd2233e4d4acce81bbae76b44b2a/python_dotenv-1.2.2-py3-none-any.whl"}}, {"metadata": {"name": "python-multipart", "version": "0.0.32"}, "download_info": {"url": "https://files.pythonhosted.org/packages/e1/04/e8135ebd1ad02c56ec633277529b2602ff99ff634be76cdba5744cf554fd/python_multipart-0.0.32-py3-none-any.whl"}}, {"metadata": {"name": "referencing", "version": "0.37.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/2c/58/ca301544e1fa93ed4f80d724bf5b194f6e4b945841c5bfd555878eea9fcb/referencing-0.37.0-py3-none-any.whl"}}, {"metadata": {"name": "rpds-py", "version": "0.30.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/19/6a/4ba3d0fb7297ebae71171822554abe48d7cab29c28b8f9f2c04b79988c05/rpds_py-0.30.0-cp310-cp310-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "sse-starlette", "version": "3.4.6"}, "download_info": {"url": "https://files.pythonhosted.org/packages/49/36/e10c1d1b7ca881d2625db2ec28508578499187bb1c389952c398474e1834/sse_starlette-3.4.6-py3-none-any.whl"}}, {"metadata": {"name": "starlette", "version": "1.3.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/ec/bb/2799cc2ede3ed41131f8975621e7213dfc7ef4acbbaadfa440f32500c370/starlette-1.3.1-py3-none-any.whl"}}, {"metadata": {"name": "tomli", "version": "2.4.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/7b/61/cceae43728b7de99d9b847560c262873a1f6c98202171fd5ed62640b494b/tomli-2.4.1-py3-none-any.whl"}}, {"metadata": {"name": "typing_extensions", "version": "4.16.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/49/d3/b8441a820a491ddfc024b0b0cf0393375b75ea13866d9c66727e54c2fc80/typing_extensions-4.16.0-py3-none-any.whl"}}, {"metadata": {"name": "typing-inspection", "version": "0.4.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/dc/9b/47798a6c91d8bdb567fe2698fe81e0c6b7cb7ef4d13da4114b41d239f65d/typing_inspection-0.4.2-py3-none-any.whl"}}, {"metadata": {"name": "uvicorn", "version": "0.51.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/45/ec/dbb7e5a6b91f86bfb9eb7d2988a2730907b6a729875b949c7f022e8b88fa/uvicorn-0.51.0-py3-none-any.whl"}}, {"metadata": {"name": "click", "version": "8.4.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/fb/e2/79c688af8b210d232694e31e59da9f6ec747bae31c3f5946e4e9b98860d5/click-8.4.2-py3-none-any.whl"}}, {"metadata": {"name": "certifi", "version": "2026.7.22"}, "download_info": {"url": "https://files.pythonhosted.org/packages/0b/a7/71ac2cff56fec219ed242bb11b8efb69fcc4bec75db06fb7bfe35de520e6/certifi-2026.7.22-py3-none-any.whl"}}, {"metadata": {"name": "pycparser", "version": "3.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/0c/c3/44f3fbbfa403ea2a7c779186dc20772604442dde72947e7d01069cbe98e3/pycparser-3.0-py3-none-any.whl"}}], "install_targets_hash": "7f9055c3ade820f25d5ad2e019d556e3"} @@ -1075,7 +1076,6 @@ {"python_version": "3.8", "dependencies": [{"metadata": {"name": "openai", "version": "1.0.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/9e/94/99a674bd1dd3a74d5b679bfdd9e1396f08407f933eb15672207e5a8abf1d/openai-1.0.1-py3-none-any.whl"}}, {"metadata": {"name": "pytest-asyncio", "version": "0.24.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/96/31/6607dab48616902f76885dfcf62c08d929796fc3b2d2318faf9fd54dbed9/pytest_asyncio-0.24.0-py3-none-any.whl"}}, {"metadata": {"name": "httpx", "version": "0.27.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/56/95/9377bcb415797e44274b51d46e3249eba641711cf3348050f76ee7b15ffc/httpx-0.27.2-py3-none-any.whl"}}, {"metadata": {"name": "httpcore", "version": "1.0.9"}, "download_info": {"url": "https://files.pythonhosted.org/packages/7e/f5/f66802a942d491edb555dd61e3a9961140fd64c90bce1eafd741609d334d/httpcore-1.0.9-py3-none-any.whl"}}, {"metadata": {"name": "anyio", "version": "3.7.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/19/24/44299477fe7dcc9cb58d0a57d5a7588d6af2ff403fdd2d47a246c91a3246/anyio-3.7.1-py3-none-any.whl"}}, {"metadata": {"name": "distro", "version": "1.9.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/12/b3/231ffd4ab1fc9d679809f356cebee130ac7daa00d6d6f3206dd4fd137e9e/distro-1.9.0-py3-none-any.whl"}}, {"metadata": {"name": "idna", "version": "3.15"}, "download_info": {"url": "https://files.pythonhosted.org/packages/d2/23/408243171aa9aaba178d3e2559159c24c1171a641aa83b67bdd3394ead8e/idna-3.15-py3-none-any.whl"}}, {"metadata": {"name": "pydantic", "version": "2.10.6"}, "download_info": {"url": "https://files.pythonhosted.org/packages/f4/3c/8cc1cc84deffa6e25d2d0c688ebb80635dfdbf1dbea3e30c541c8cf4d860/pydantic-2.10.6-py3-none-any.whl"}}, {"metadata": {"name": "pydantic_core", "version": "2.27.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/f4/20/26c549249769ed84877f862f7bb93f89a6ee08b4bee1ed8781616b7fbb5e/pydantic_core-2.27.2-cp38-cp38-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "pytest", "version": "8.3.5"}, "download_info": {"url": "https://files.pythonhosted.org/packages/30/3d/64ad57c803f1fa1e963a7946b6e0fea4a70df53c1a7fed304586539c2bac/pytest-8.3.5-py3-none-any.whl"}}, {"metadata": {"name": "sniffio", "version": "1.3.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl"}}, {"metadata": {"name": "tqdm", "version": "4.68.3"}, "download_info": {"url": "https://files.pythonhosted.org/packages/d8/8e/bb97bb0c71802080bfc8952937d174e49cfc50de5c951dd47b2496f0dcdb/tqdm-4.68.3-py3-none-any.whl"}}, {"metadata": {"name": "typing_extensions", "version": "4.13.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/8b/54/b1ae86c0973cc6f0210b53d508ca3641fb6d0c56823f288d108bc7ab3cc8/typing_extensions-4.13.2-py3-none-any.whl"}}, {"metadata": {"name": "certifi", "version": "2026.6.17"}, "download_info": {"url": "https://files.pythonhosted.org/packages/ef/2f/c5464532e965badff2f4c4c1a3a83f5697f0d7c407ed0cda44aaa99bb451/certifi-2026.6.17-py3-none-any.whl"}}, {"metadata": {"name": "annotated-types", "version": "0.7.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl"}}, {"metadata": {"name": "exceptiongroup", "version": "1.3.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/8a/0e/97c33bf5009bdbac74fd2beace167cab3f978feb69cc36f1ef79360d6c4e/exceptiongroup-1.3.1-py3-none-any.whl"}}, {"metadata": {"name": "h11", "version": "0.16.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/04/4b/29cac41a4d98d144bf5f6d33995617b185d14b22401f75ca86f384e87ff1/h11-0.16.0-py3-none-any.whl"}}, {"metadata": {"name": "pluggy", "version": "1.5.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/88/5f/e351af9a41f866ac3f1fac4ca0613908d9a41741cfcf2228f4ad853b697d/pluggy-1.5.0-py3-none-any.whl"}}, {"metadata": {"name": "tomli", "version": "2.4.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/7b/61/cceae43728b7de99d9b847560c262873a1f6c98202171fd5ed62640b494b/tomli-2.4.1-py3-none-any.whl"}}, {"metadata": {"name": "iniconfig", "version": "2.1.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/2c/e1/e6716421ea10d38022b952c159d5161ca1193197fb744506875fbb87ea7b/iniconfig-2.1.0-py3-none-any.whl"}}, {"metadata": {"name": "packaging", "version": "26.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/df/b2/87e62e8c3e2f4b32e5fe99e0b86d576da1312593b39f47d8ceef365e95ed/packaging-26.2-py3-none-any.whl"}}], "install_targets_hash": "a7b6957855f50839224f77586798f3d9"} {"python_version": "3.8", "dependencies": [{"metadata": {"name": "trytond", "version": "5.8.16"}, "download_info": {"url": "https://files.pythonhosted.org/packages/45/02/f8e8b02cceceab86afed9e8303185c06d3d1828f769ba04da7498c9ebf6f/trytond-5.8.16-py3-none-any.whl"}}, {"metadata": {"name": "Werkzeug", "version": "1.0.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/cc/94/5f7079a0e00bd6863ef8f1da638721e9da21e5bacee597595b318f71d62e/Werkzeug-1.0.1-py2.py3-none-any.whl"}}, {"metadata": {"name": "lxml", "version": "6.1.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/05/3b/aab6728cae887456f409b4d75e8a01856e4f04bd510de38052a47768b680/lxml-6.1.1.tar.gz"}}, {"metadata": {"name": "passlib", "version": "1.7.4"}, "download_info": {"url": "https://files.pythonhosted.org/packages/3b/a4/ab6b7589382ca3df236e03faa71deac88cae040af60c071a78d254a62172/passlib-1.7.4-py2.py3-none-any.whl"}}, {"metadata": {"name": "python-sql", "version": "1.7.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/8f/3c/b69e5623a52a2a31c9f60a200c4e713cf30349c9b641fdaa4a2b3aeff2d7/python_sql-1.7.0-py3-none-any.whl"}}, {"metadata": {"name": "relatorio", "version": "0.11.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/c6/45/ad7ecd947845a145b2813efdb48be5a7df880c13835066213fb6ae38c3ba/relatorio-0.11.1-py3-none-any.whl"}}, {"metadata": {"name": "Genshi", "version": "0.7.11"}, "download_info": {"url": "https://files.pythonhosted.org/packages/b7/27/503016bc329720ba2856eb4831d6ba36089cd6f15bc4fe85db69fea5b563/genshi-0.7.11-py3-none-any.whl"}}, {"metadata": {"name": "polib", "version": "1.2.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/6b/99/45bb1f9926efe370c6dbe324741c749658e44cb060124f28dad201202274/polib-1.2.0-py2.py3-none-any.whl"}}, {"metadata": {"name": "python-dateutil", "version": "2.9.0.post0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl"}}, {"metadata": {"name": "wrapt", "version": "2.0.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/6b/7b/56bf38c8bd5e8a48749f1a13c743eddcbd7a616da342b4877f79ec3e7087/wrapt-2.0.1-cp38-cp38-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "six", "version": "1.17.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl"}}, {"metadata": {"name": "importlib_resources", "version": "6.4.5"}, "download_info": {"url": "https://files.pythonhosted.org/packages/e1/6a/4604f9ae2fa62ef47b9de2fa5ad599589d28c9fd1d335f32759813dfa91e/importlib_resources-6.4.5-py3-none-any.whl"}}, {"metadata": {"name": "python-magic", "version": "0.4.27"}, "download_info": {"url": "https://files.pythonhosted.org/packages/6c/73/9f872cb81fc5c3bb48f7227872c28975f998f3e7c2b1c16e95e6432bbb90/python_magic-0.4.27-py2.py3-none-any.whl"}}, {"metadata": {"name": "zipp", "version": "3.20.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/62/8b/5ba542fa83c90e09eac972fc9baca7a88e7e7ca4b221a89251954019308b/zipp-3.20.2-py3-none-any.whl"}}], "install_targets_hash": "a92ecc801394b38bdbca0234abddc3cb"} {"python_version": "3.8", "dependencies": [{"metadata": {"name": "litestar", "version": "2.8.3"}, "download_info": {"url": "https://files.pythonhosted.org/packages/b9/e7/3d7ca62d6c48ff4c8162e2f03264c3202d8a76cb6a4987eac67f27af1de5/litestar-2.8.3-py3-none-any.whl"}}, {"metadata": {"name": "pytest-asyncio", "version": "0.24.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/96/31/6607dab48616902f76885dfcf62c08d929796fc3b2d2318faf9fd54dbed9/pytest_asyncio-0.24.0-py3-none-any.whl"}}, {"metadata": {"name": "python-multipart", "version": "0.0.20"}, "download_info": {"url": "https://files.pythonhosted.org/packages/45/58/38b5afbc1a800eeea951b9285d3912613f2603bdf897a4ab0f4bd7f405fc/python_multipart-0.0.20-py3-none-any.whl"}}, {"metadata": {"name": "requests", "version": "2.32.4"}, "download_info": {"url": "https://files.pythonhosted.org/packages/7c/e4/56027c4a6b4ae70ca9de302488c5ca95ad4a39e190093d6c1a8ace08341b/requests-2.32.4-py3-none-any.whl"}}, {"metadata": {"name": "cryptography", "version": "47.0.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/e0/34/a4fae8ae7c3bc227460c9ae43f56abf1b911da0ec29e0ebac53bb0a4b6b7/cryptography-47.0.0-cp38-abi3-macosx_10_9_universal2.whl"}}, {"metadata": {"name": "sniffio", "version": "1.3.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl"}}, {"metadata": {"name": "anyio", "version": "4.5.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/1b/b4/f7e396030e3b11394436358ca258a81d6010106582422f23443c16ca1873/anyio-4.5.2-py3-none-any.whl"}}, {"metadata": {"name": "certifi", "version": "2026.6.17"}, "download_info": {"url": "https://files.pythonhosted.org/packages/ef/2f/c5464532e965badff2f4c4c1a3a83f5697f0d7c407ed0cda44aaa99bb451/certifi-2026.6.17-py3-none-any.whl"}}, {"metadata": {"name": "cffi", "version": "1.17.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/fc/97/c783634659c2920c3fc70419e3af40972dbaf758daa229a7d6ea6135c90d/cffi-1.17.1.tar.gz"}}, {"metadata": {"name": "charset-normalizer", "version": "3.4.7"}, "download_info": {"url": "https://files.pythonhosted.org/packages/12/46/fce169ad09419b8e8a5a81db61e08cd7b9fd31332221b84bd176fe0a3136/charset_normalizer-3.4.7-cp38-cp38-macosx_10_9_universal2.whl"}}, {"metadata": {"name": "exceptiongroup", "version": "1.3.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/8a/0e/97c33bf5009bdbac74fd2beace167cab3f978feb69cc36f1ef79360d6c4e/exceptiongroup-1.3.1-py3-none-any.whl"}}, {"metadata": {"name": "httpx", "version": "0.28.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/2a/39/e50c7c3a983047577ee07d2a9e53faf5a69493943ec3f6a384bdc792deb2/httpx-0.28.1-py3-none-any.whl"}}, {"metadata": {"name": "httpcore", "version": "1.0.9"}, "download_info": {"url": "https://files.pythonhosted.org/packages/7e/f5/f66802a942d491edb555dd61e3a9961140fd64c90bce1eafd741609d334d/httpcore-1.0.9-py3-none-any.whl"}}, {"metadata": {"name": "idna", "version": "3.15"}, "download_info": {"url": "https://files.pythonhosted.org/packages/d2/23/408243171aa9aaba178d3e2559159c24c1171a641aa83b67bdd3394ead8e/idna-3.15-py3-none-any.whl"}}, {"metadata": {"name": "importlib_resources", "version": "6.4.5"}, "download_info": {"url": "https://files.pythonhosted.org/packages/e1/6a/4604f9ae2fa62ef47b9de2fa5ad599589d28c9fd1d335f32759813dfa91e/importlib_resources-6.4.5-py3-none-any.whl"}}, {"metadata": {"name": "msgspec", "version": "0.18.6"}, "download_info": {"url": "https://files.pythonhosted.org/packages/86/6f/1da53a2ba5f312c3dca9e5f38912732e77f996a22945c8d62df7617c4733/msgspec-0.18.6-cp38-cp38-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "multidict", "version": "6.1.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/9d/7f/5d1ce7f47d44393d429922910afbe88fcd29ee3069babbb47507a4c3a7ea/multidict-6.1.0-cp38-cp38-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "polyfactory", "version": "2.22.5"}, "download_info": {"url": "https://files.pythonhosted.org/packages/11/87/6cd69c43e86bc5863f93dba3c9fb42ee4fda36a0fe5aa3cbd25001fb26f8/polyfactory-2.22.5-py3-none-any.whl"}}, {"metadata": {"name": "pytest", "version": "8.3.5"}, "download_info": {"url": "https://files.pythonhosted.org/packages/30/3d/64ad57c803f1fa1e963a7946b6e0fea4a70df53c1a7fed304586539c2bac/pytest-8.3.5-py3-none-any.whl"}}, {"metadata": {"name": "rich", "version": "14.3.4"}, "download_info": {"url": "https://files.pythonhosted.org/packages/b3/76/6d163cfac87b632216f71879e6b2cf17163f773ff59c00b5ff4900a80fa3/rich-14.3.4-py3-none-any.whl"}}, {"metadata": {"name": "typing_extensions", "version": "4.13.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/8b/54/b1ae86c0973cc6f0210b53d508ca3641fb6d0c56823f288d108bc7ab3cc8/typing_extensions-4.13.2-py3-none-any.whl"}}, {"metadata": {"name": "urllib3", "version": "2.2.3"}, "download_info": {"url": "https://files.pythonhosted.org/packages/ce/d9/5f4c13cecde62396b0d3fe530a50ccea91e7dfc1ccf0e09c228841bb5ba8/urllib3-2.2.3-py3-none-any.whl"}}, {"metadata": {"name": "click", "version": "8.1.8"}, "download_info": {"url": "https://files.pythonhosted.org/packages/7e/d4/7ebdbd03970677812aac39c869717059dbb71a4cfc033ca6e5221787892c/click-8.1.8-py3-none-any.whl"}}, {"metadata": {"name": "importlib_metadata", "version": "8.5.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/a0/d9/a1e041c5e7caa9a05c925f4bdbdfb7f006d1f74996af53467bc394c97be7/importlib_metadata-8.5.0-py3-none-any.whl"}}, {"metadata": {"name": "PyYAML", "version": "6.0.3"}, "download_info": {"url": "https://files.pythonhosted.org/packages/05/8e/961c0007c59b8dd7729d542c61a4d537767a59645b82a0b521206e1e25c2/pyyaml-6.0.3.tar.gz"}}, {"metadata": {"name": "rich-click", "version": "1.9.8"}, "download_info": {"url": "https://files.pythonhosted.org/packages/6d/97/a87901aef6b7e7e4a34c6dd6cc17dca8594a592ef9d9dd765fca2b7facf7/rich_click-1.9.8-py3-none-any.whl"}}, {"metadata": {"name": "Faker", "version": "35.2.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/96/18/f70c67c9d3a71f1749faa027dad3cd626c728df5682458091d73c69ed9a9/Faker-35.2.2-py3-none-any.whl"}}, {"metadata": {"name": "markdown-it-py", "version": "3.0.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/42/d7/1ec15b46af6af88f19b8e5ffea08fa375d433c998b8a7639e76935c14f1f/markdown_it_py-3.0.0-py3-none-any.whl"}}, {"metadata": {"name": "pluggy", "version": "1.5.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/88/5f/e351af9a41f866ac3f1fac4ca0613908d9a41741cfcf2228f4ad853b697d/pluggy-1.5.0-py3-none-any.whl"}}, {"metadata": {"name": "Pygments", "version": "2.19.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/c7/21/705964c7812476f378728bdf590ca4b771ec72385c533964653c68e86bdc/pygments-2.19.2-py3-none-any.whl"}}, {"metadata": {"name": "tomli", "version": "2.4.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/7b/61/cceae43728b7de99d9b847560c262873a1f6c98202171fd5ed62640b494b/tomli-2.4.1-py3-none-any.whl"}}, {"metadata": {"name": "zipp", "version": "3.20.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/62/8b/5ba542fa83c90e09eac972fc9baca7a88e7e7ca4b221a89251954019308b/zipp-3.20.2-py3-none-any.whl"}}, {"metadata": {"name": "iniconfig", "version": "2.1.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/2c/e1/e6716421ea10d38022b952c159d5161ca1193197fb744506875fbb87ea7b/iniconfig-2.1.0-py3-none-any.whl"}}, {"metadata": {"name": "packaging", "version": "26.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/df/b2/87e62e8c3e2f4b32e5fe99e0b86d576da1312593b39f47d8ceef365e95ed/packaging-26.2-py3-none-any.whl"}}, {"metadata": {"name": "pycparser", "version": "2.23"}, "download_info": {"url": "https://files.pythonhosted.org/packages/a0/e3/59cd50310fc9b59512193629e1984c1f95e5c8ae6e5d8c69532ccc65a7fe/pycparser-2.23-py3-none-any.whl"}}, {"metadata": {"name": "h11", "version": "0.16.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/04/4b/29cac41a4d98d144bf5f6d33995617b185d14b22401f75ca86f384e87ff1/h11-0.16.0-py3-none-any.whl"}}, {"metadata": {"name": "mdurl", "version": "0.1.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/b3/38/89ba8ad64ae25be8de66a6d463314cf1eb366222074cfda9ee839c56a4b4/mdurl-0.1.2-py3-none-any.whl"}}, {"metadata": {"name": "python-dateutil", "version": "2.9.0.post0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl"}}, {"metadata": {"name": "six", "version": "1.17.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl"}}], "install_targets_hash": "aad339208686a05fcf6dfa07b8c6ba47"} -{"python_version": "3.8", "dependencies": [{"metadata": {"name": "redis-py-cluster", "version": "2.1.3"}, "download_info": {"url": "https://files.pythonhosted.org/packages/b2/96/153bbcf5dee29b52b2674e77a87ce864d381f72151737317529b7de4f337/redis_py_cluster-2.1.3-py2.py3-none-any.whl"}}, {"metadata": {"name": "redis", "version": "3.5.3"}, "download_info": {"url": "https://files.pythonhosted.org/packages/a7/7c/24fb0511df653cf1a5d938d8f5d19802a88cef255706fdda242ff97e91b7/redis-3.5.3-py2.py3-none-any.whl"}}], "install_targets_hash": "af5a3f3b7d55e7250be5ffa435e2dd86"} {"python_version": "3.8", "dependencies": [{"metadata": {"name": "Django", "version": "4.2.30"}, "download_info": {"url": "https://files.pythonhosted.org/packages/39/b7/a7c96f239cf91313a6589233fed55111c7063b26683b226802732c455dbc/django-4.2.30-py3-none-any.whl"}}, {"metadata": {"name": "psycopg2-binary", "version": "2.9.10"}, "download_info": {"url": "https://files.pythonhosted.org/packages/cb/0e/bdc8274dc0585090b4e3432267d7be4dfbfd8971c0fa59167c711105a6bf/psycopg2-binary-2.9.10.tar.gz"}}, {"metadata": {"name": "djangorestframework", "version": "3.15.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/7c/b6/fa99d8f05eff3a9310286ae84c4059b08c301ae4ab33ae32e46e8ef76491/djangorestframework-3.15.2-py3-none-any.whl"}}, {"metadata": {"name": "pytest-django", "version": "4.11.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/be/ac/bd0608d229ec808e51a21044f3f2f27b9a37e7a0ebaca7247882e67876af/pytest_django-4.11.1-py3-none-any.whl"}}, {"metadata": {"name": "pytest-forked", "version": "1.6.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/f4/af/9c0bda43e486a3c9bf1e0f876d0f241bc3f229d7d65d09331a0868db9629/pytest_forked-1.6.0-py3-none-any.whl"}}, {"metadata": {"name": "Werkzeug", "version": "3.0.6"}, "download_info": {"url": "https://files.pythonhosted.org/packages/6c/69/05837f91dfe42109203ffa3e488214ff86a6d68b2ed6c167da6cdc42349b/werkzeug-3.0.6-py3-none-any.whl"}}, {"metadata": {"name": "executing", "version": "2.2.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/c1/ea/53f2148663b321f21b5a606bd5f191517cf40b7072c0497d3c92c4a13b1e/executing-2.2.1-py2.py3-none-any.whl"}}, {"metadata": {"name": "pytest-asyncio", "version": "0.24.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/96/31/6607dab48616902f76885dfcf62c08d929796fc3b2d2318faf9fd54dbed9/pytest_asyncio-0.24.0-py3-none-any.whl"}}, {"metadata": {"name": "asgiref", "version": "3.8.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/39/e3/893e8757be2612e6c266d9bb58ad2e3651524b5b40cf56761e985a28b13e/asgiref-3.8.1-py3-none-any.whl"}}, {"metadata": {"name": "daphne", "version": "4.1.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/ab/d6/466f9219281472ecc269ab1d351c5b22a3cfca2d52f72881917949e414df/daphne-4.1.2-py3-none-any.whl"}}, {"metadata": {"name": "MarkupSafe", "version": "2.1.5"}, "download_info": {"url": "https://files.pythonhosted.org/packages/f8/ff/2c942a82c35a49df5de3a630ce0a8456ac2969691b230e530ac12314364c/MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_universal2.whl"}}, {"metadata": {"name": "pytest", "version": "8.3.5"}, "download_info": {"url": "https://files.pythonhosted.org/packages/30/3d/64ad57c803f1fa1e963a7946b6e0fea4a70df53c1a7fed304586539c2bac/pytest-8.3.5-py3-none-any.whl"}}, {"metadata": {"name": "sqlparse", "version": "0.5.5"}, "download_info": {"url": "https://files.pythonhosted.org/packages/49/4b/359f28a903c13438ef59ebeee215fb25da53066db67b305c125f1c6d2a25/sqlparse-0.5.5-py3-none-any.whl"}}, {"metadata": {"name": "backports.zoneinfo", "version": "0.2.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/ad/85/475e514c3140937cf435954f78dedea1861aeab7662d11de232bdaa90655/backports.zoneinfo-0.2.1.tar.gz"}}, {"metadata": {"name": "channels", "version": "4.2.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/cc/bf/4799809715225d19928147d59fda0d3a4129da055b59a9b3e35aa6223f52/channels-4.2.2-py3-none-any.whl"}}, {"metadata": {"name": "py", "version": "1.11.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/f6/f0/10642828a8dfb741e5f3fbaac830550a518a775c7fff6f04a007259b0548/py-1.11.0-py2.py3-none-any.whl"}}, {"metadata": {"name": "autobahn", "version": "23.1.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/53/99/b6e0ffa0e8bafe9dfae1c9ab46d44d07317cbf297fbf8f07aff8a80e5bd8/autobahn-23.1.2.tar.gz"}}, {"metadata": {"name": "exceptiongroup", "version": "1.3.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/8a/0e/97c33bf5009bdbac74fd2beace167cab3f978feb69cc36f1ef79360d6c4e/exceptiongroup-1.3.1-py3-none-any.whl"}}, {"metadata": {"name": "pluggy", "version": "1.5.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/88/5f/e351af9a41f866ac3f1fac4ca0613908d9a41741cfcf2228f4ad853b697d/pluggy-1.5.0-py3-none-any.whl"}}, {"metadata": {"name": "tomli", "version": "2.4.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/7b/61/cceae43728b7de99d9b847560c262873a1f6c98202171fd5ed62640b494b/tomli-2.4.1-py3-none-any.whl"}}, {"metadata": {"name": "Twisted", "version": "25.5.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/eb/66/ab7efd8941f0bc7b2bd555b0f0471bff77df4c88e0cc31120c82737fec77/twisted-25.5.0-py3-none-any.whl"}}, {"metadata": {"name": "typing_extensions", "version": "4.13.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/8b/54/b1ae86c0973cc6f0210b53d508ca3641fb6d0c56823f288d108bc7ab3cc8/typing_extensions-4.13.2-py3-none-any.whl"}}, {"metadata": {"name": "iniconfig", "version": "2.1.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/2c/e1/e6716421ea10d38022b952c159d5161ca1193197fb744506875fbb87ea7b/iniconfig-2.1.0-py3-none-any.whl"}}, {"metadata": {"name": "packaging", "version": "26.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/df/b2/87e62e8c3e2f4b32e5fe99e0b86d576da1312593b39f47d8ceef365e95ed/packaging-26.2-py3-none-any.whl"}}, {"metadata": {"name": "attrs", "version": "25.3.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/77/06/bb80f5f86020c4551da315d78b3ab75e8228f89f0162f2c3a819e407941a/attrs-25.3.0-py3-none-any.whl"}}, {"metadata": {"name": "Automat", "version": "24.8.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/af/cc/55a32a2c98022d88812b5986d2a92c4ff3ee087e83b712ebc703bba452bf/Automat-24.8.1-py3-none-any.whl"}}, {"metadata": {"name": "constantly", "version": "23.10.4"}, "download_info": {"url": "https://files.pythonhosted.org/packages/b8/40/c199d095151addf69efdb4b9ca3a4f20f70e20508d6222bffb9b76f58573/constantly-23.10.4-py3-none-any.whl"}}, {"metadata": {"name": "cryptography", "version": "47.0.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/e0/34/a4fae8ae7c3bc227460c9ae43f56abf1b911da0ec29e0ebac53bb0a4b6b7/cryptography-47.0.0-cp38-abi3-macosx_10_9_universal2.whl"}}, {"metadata": {"name": "hyperlink", "version": "21.0.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/6e/aa/8caf6a0a3e62863cbb9dab27135660acba46903b703e224f14f447e57934/hyperlink-21.0.0-py2.py3-none-any.whl"}}, {"metadata": {"name": "idna", "version": "3.15"}, "download_info": {"url": "https://files.pythonhosted.org/packages/d2/23/408243171aa9aaba178d3e2559159c24c1171a641aa83b67bdd3394ead8e/idna-3.15-py3-none-any.whl"}}, {"metadata": {"name": "Incremental", "version": "24.11.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/1d/55/0f4df2a44053867ea9cbea73fc588b03c55605cd695cee0a3d86f0029cb2/incremental-24.11.0-py3-none-any.whl"}}, {"metadata": {"name": "pyOpenSSL", "version": "26.2.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/73/b8/a0e2790ae249d6f38c9f66de7a211621a7ab2650217bcd04e1262f578a56/pyopenssl-26.2.0-py3-none-any.whl"}}, {"metadata": {"name": "service-identity", "version": "26.1.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/93/eb/2433e1af4ff903499144de4846569fb3300b816179ae99a03c2f011b666a/service_identity-26.1.0-py3-none-any.whl"}}, {"metadata": {"name": "txaio", "version": "23.1.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/7d/6c/a53cc9a97c2da76d9cd83c03f377468599a28f2d4ad9fc71c3b99640e71e/txaio-23.1.1-py2.py3-none-any.whl"}}, {"metadata": {"name": "zope.interface", "version": "7.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/f5/8c/49548aaa4f691615d703b5bee88ea67f68eac8f94c9fb6f1b2f4ae631354/zope.interface-7.2-cp38-cp38-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "setuptools", "version": "75.3.4"}, "download_info": {"url": "https://files.pythonhosted.org/packages/cd/b1/961ba076c7d3732e3a97e6681c55ef647afb795fe8bfcd27becec8a762ce/setuptools-75.3.4-py3-none-any.whl"}}, {"metadata": {"name": "cffi", "version": "1.17.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/fc/97/c783634659c2920c3fc70419e3af40972dbaf758daa229a7d6ea6135c90d/cffi-1.17.1.tar.gz"}}, {"metadata": {"name": "pycparser", "version": "2.23"}, "download_info": {"url": "https://files.pythonhosted.org/packages/a0/e3/59cd50310fc9b59512193629e1984c1f95e5c8ae6e5d8c69532ccc65a7fe/pycparser-2.23-py3-none-any.whl"}}], "install_targets_hash": "b0d4ec08daf07a9aba63eb1306f8fbf7"} {"python_version": "3.8", "dependencies": [{"metadata": {"name": "ariadne", "version": "0.20.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/e4/7c/6ca01607e6dc23472ab599507af67e9b4db9868e4baf8477fcafe958af00/ariadne-0.20.1-py2.py3-none-any.whl"}}, {"metadata": {"name": "fastapi", "version": "0.124.4"}, "download_info": {"url": "https://files.pythonhosted.org/packages/3e/57/aa70121b5008f44031be645a61a7c4abc24e0e888ad3fc8fda916f4d188e/fastapi-0.124.4-py3-none-any.whl"}}, {"metadata": {"name": "Flask", "version": "3.0.3"}, "download_info": {"url": "https://files.pythonhosted.org/packages/61/80/ffe1da13ad9300f87c93af113edd0638c75138c42a0994becfacac078c06/flask-3.0.3-py3-none-any.whl"}}, {"metadata": {"name": "httpx", "version": "0.27.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/56/95/9377bcb415797e44274b51d46e3249eba641711cf3348050f76ee7b15ffc/httpx-0.27.2-py3-none-any.whl"}}, {"metadata": {"name": "httpcore", "version": "1.0.9"}, "download_info": {"url": "https://files.pythonhosted.org/packages/7e/f5/f66802a942d491edb555dd61e3a9961140fd64c90bce1eafd741609d334d/httpcore-1.0.9-py3-none-any.whl"}}, {"metadata": {"name": "annotated-doc", "version": "0.0.4"}, "download_info": {"url": "https://files.pythonhosted.org/packages/1e/d3/26bf1008eb3d2daa8ef4cacc7f3bfdc11818d111f7e2d0201bc6e3b49d45/annotated_doc-0.0.4-py3-none-any.whl"}}, {"metadata": {"name": "blinker", "version": "1.8.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/bb/2a/10164ed1f31196a2f7f3799368a821765c62851ead0e630ab52b8e14b4d0/blinker-1.8.2-py3-none-any.whl"}}, {"metadata": {"name": "click", "version": "8.1.8"}, "download_info": {"url": "https://files.pythonhosted.org/packages/7e/d4/7ebdbd03970677812aac39c869717059dbb71a4cfc033ca6e5221787892c/click-8.1.8-py3-none-any.whl"}}, {"metadata": {"name": "graphql-core", "version": "3.2.11"}, "download_info": {"url": "https://files.pythonhosted.org/packages/00/15/b92b4e1d88d02c6eff9733c9eea21846ab435cc4d813d84ccc5d335955df/graphql_core-3.2.11-py3-none-any.whl"}}, {"metadata": {"name": "importlib_metadata", "version": "8.5.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/a0/d9/a1e041c5e7caa9a05c925f4bdbdfb7f006d1f74996af53467bc394c97be7/importlib_metadata-8.5.0-py3-none-any.whl"}}, {"metadata": {"name": "itsdangerous", "version": "2.2.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/04/96/92447566d16df59b2a776c0fb82dbc4d9e07cd95062562af01e408583fc4/itsdangerous-2.2.0-py3-none-any.whl"}}, {"metadata": {"name": "Jinja2", "version": "3.1.6"}, "download_info": {"url": "https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl"}}, {"metadata": {"name": "pydantic", "version": "2.10.6"}, "download_info": {"url": "https://files.pythonhosted.org/packages/f4/3c/8cc1cc84deffa6e25d2d0c688ebb80635dfdbf1dbea3e30c541c8cf4d860/pydantic-2.10.6-py3-none-any.whl"}}, {"metadata": {"name": "pydantic_core", "version": "2.27.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/f4/20/26c549249769ed84877f862f7bb93f89a6ee08b4bee1ed8781616b7fbb5e/pydantic_core-2.27.2-cp38-cp38-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "starlette", "version": "0.44.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/b6/c5/7ae467eeddb57260c8ce17a3a09f9f5edba35820fc022d7c55b7decd5d3a/starlette-0.44.0-py3-none-any.whl"}}, {"metadata": {"name": "anyio", "version": "4.5.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/1b/b4/f7e396030e3b11394436358ca258a81d6010106582422f23443c16ca1873/anyio-4.5.2-py3-none-any.whl"}}, {"metadata": {"name": "idna", "version": "3.15"}, "download_info": {"url": "https://files.pythonhosted.org/packages/d2/23/408243171aa9aaba178d3e2559159c24c1171a641aa83b67bdd3394ead8e/idna-3.15-py3-none-any.whl"}}, {"metadata": {"name": "sniffio", "version": "1.3.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl"}}, {"metadata": {"name": "typing_extensions", "version": "4.13.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/8b/54/b1ae86c0973cc6f0210b53d508ca3641fb6d0c56823f288d108bc7ab3cc8/typing_extensions-4.13.2-py3-none-any.whl"}}, {"metadata": {"name": "Werkzeug", "version": "3.0.6"}, "download_info": {"url": "https://files.pythonhosted.org/packages/6c/69/05837f91dfe42109203ffa3e488214ff86a6d68b2ed6c167da6cdc42349b/werkzeug-3.0.6-py3-none-any.whl"}}, {"metadata": {"name": "certifi", "version": "2026.6.17"}, "download_info": {"url": "https://files.pythonhosted.org/packages/ef/2f/c5464532e965badff2f4c4c1a3a83f5697f0d7c407ed0cda44aaa99bb451/certifi-2026.6.17-py3-none-any.whl"}}, {"metadata": {"name": "annotated-types", "version": "0.7.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl"}}, {"metadata": {"name": "exceptiongroup", "version": "1.3.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/8a/0e/97c33bf5009bdbac74fd2beace167cab3f978feb69cc36f1ef79360d6c4e/exceptiongroup-1.3.1-py3-none-any.whl"}}, {"metadata": {"name": "h11", "version": "0.16.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/04/4b/29cac41a4d98d144bf5f6d33995617b185d14b22401f75ca86f384e87ff1/h11-0.16.0-py3-none-any.whl"}}, {"metadata": {"name": "MarkupSafe", "version": "2.1.5"}, "download_info": {"url": "https://files.pythonhosted.org/packages/f8/ff/2c942a82c35a49df5de3a630ce0a8456ac2969691b230e530ac12314364c/MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_universal2.whl"}}, {"metadata": {"name": "zipp", "version": "3.20.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/62/8b/5ba542fa83c90e09eac972fc9baca7a88e7e7ca4b221a89251954019308b/zipp-3.20.2-py3-none-any.whl"}}], "install_targets_hash": "ba34689285beeef10583bc1d6faea8b5"} {"python_version": "3.8", "dependencies": [{"metadata": {"name": "UnleashClient", "version": "6.0.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/bb/50/af45e97a42056036c4ca7f27ffebcaa01051bd4e9cb07bf4bd40370db316/UnleashClient-6.0.1-py3-none-any.whl"}}, {"metadata": {"name": "APScheduler", "version": "3.11.3"}, "download_info": {"url": "https://files.pythonhosted.org/packages/42/c9/8638db32514dbb9157b3d82680c6faea89283523edf9ed2415ea3884f2ae/apscheduler-3.11.3-py3-none-any.whl"}}, {"metadata": {"name": "semver", "version": "3.0.4"}, "download_info": {"url": "https://files.pythonhosted.org/packages/a6/24/4d91e05817e92e3a61c8a21e08fd0f390f5301f1c448b137c57c4bc6e543/semver-3.0.4-py3-none-any.whl"}}, {"metadata": {"name": "fcache", "version": "0.5.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/fd/af/9456f42b1fa74a44b9ac7c34c3cf4b4598a6e2eb2e996871b13f679ea431/fcache-0.5.2-py3-none-any.whl"}}, {"metadata": {"name": "importlib_metadata", "version": "8.5.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/a0/d9/a1e041c5e7caa9a05c925f4bdbdfb7f006d1f74996af53467bc394c97be7/importlib_metadata-8.5.0-py3-none-any.whl"}}, {"metadata": {"name": "mmh3", "version": "5.0.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/95/b2/54dfe64837623d1cf739561e261f6688c32f481f3bc9d7211826d21f8c30/mmh3-5.0.1-cp38-cp38-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "python-dateutil", "version": "2.9.0.post0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl"}}, {"metadata": {"name": "requests", "version": "2.32.4"}, "download_info": {"url": "https://files.pythonhosted.org/packages/7c/e4/56027c4a6b4ae70ca9de302488c5ca95ad4a39e190093d6c1a8ace08341b/requests-2.32.4-py3-none-any.whl"}}, {"metadata": {"name": "yggdrasil-engine", "version": "1.3.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/ba/d5/8fb96f4a7fc9c299d4191f769bab8679207b9079e987b39d20ceef4c6282/yggdrasil_engine-1.3.1-cp38-abi3-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "certifi", "version": "2026.6.17"}, "download_info": {"url": "https://files.pythonhosted.org/packages/ef/2f/c5464532e965badff2f4c4c1a3a83f5697f0d7c407ed0cda44aaa99bb451/certifi-2026.6.17-py3-none-any.whl"}}, {"metadata": {"name": "charset-normalizer", "version": "3.4.7"}, "download_info": {"url": "https://files.pythonhosted.org/packages/12/46/fce169ad09419b8e8a5a81db61e08cd7b9fd31332221b84bd176fe0a3136/charset_normalizer-3.4.7-cp38-cp38-macosx_10_9_universal2.whl"}}, {"metadata": {"name": "idna", "version": "3.15"}, "download_info": {"url": "https://files.pythonhosted.org/packages/d2/23/408243171aa9aaba178d3e2559159c24c1171a641aa83b67bdd3394ead8e/idna-3.15-py3-none-any.whl"}}, {"metadata": {"name": "platformdirs", "version": "3.11.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/56/29/3ec311dc18804409ecf0d2b09caa976f3ae6215559306b5b530004e11156/platformdirs-3.11.0-py3-none-any.whl"}}, {"metadata": {"name": "six", "version": "1.17.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl"}}, {"metadata": {"name": "tzlocal", "version": "5.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/97/3f/c4c51c55ff8487f2e6d0e618dba917e3c3ee2caae6cf0fbb59c9b1876f2e/tzlocal-5.2-py3-none-any.whl"}}, {"metadata": {"name": "urllib3", "version": "2.2.3"}, "download_info": {"url": "https://files.pythonhosted.org/packages/ce/d9/5f4c13cecde62396b0d3fe530a50ccea91e7dfc1ccf0e09c228841bb5ba8/urllib3-2.2.3-py3-none-any.whl"}}, {"metadata": {"name": "zipp", "version": "3.20.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/62/8b/5ba542fa83c90e09eac972fc9baca7a88e7e7ca4b221a89251954019308b/zipp-3.20.2-py3-none-any.whl"}}, {"metadata": {"name": "backports.zoneinfo", "version": "0.2.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/ad/85/475e514c3140937cf435954f78dedea1861aeab7662d11de232bdaa90655/backports.zoneinfo-0.2.1.tar.gz"}}], "install_targets_hash": "c2145685d6e6c9355d7ce6f85ea7980a"} @@ -1088,7 +1088,6 @@ {"python_version": "3.8", "dependencies": [{"metadata": {"name": "anthropic", "version": "0.51.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/8c/6e/9637122c5f007103bd5a259f4250bd8f1533dd2473227670fd10a1457b62/anthropic-0.51.0-py3-none-any.whl"}}, {"metadata": {"name": "pytest-asyncio", "version": "0.24.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/96/31/6607dab48616902f76885dfcf62c08d929796fc3b2d2318faf9fd54dbed9/pytest_asyncio-0.24.0-py3-none-any.whl"}}, {"metadata": {"name": "tokenizers", "version": "0.20.3"}, "download_info": {"url": "https://files.pythonhosted.org/packages/20/83/a620059226e5c864c02d133510927cf64d649887469025de6caef15acd42/tokenizers-0.20.3-cp38-cp38-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "anyio", "version": "4.5.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/1b/b4/f7e396030e3b11394436358ca258a81d6010106582422f23443c16ca1873/anyio-4.5.2-py3-none-any.whl"}}, {"metadata": {"name": "distro", "version": "1.9.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/12/b3/231ffd4ab1fc9d679809f356cebee130ac7daa00d6d6f3206dd4fd137e9e/distro-1.9.0-py3-none-any.whl"}}, {"metadata": {"name": "httpx", "version": "0.28.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/2a/39/e50c7c3a983047577ee07d2a9e53faf5a69493943ec3f6a384bdc792deb2/httpx-0.28.1-py3-none-any.whl"}}, {"metadata": {"name": "httpcore", "version": "1.0.9"}, "download_info": {"url": "https://files.pythonhosted.org/packages/7e/f5/f66802a942d491edb555dd61e3a9961140fd64c90bce1eafd741609d334d/httpcore-1.0.9-py3-none-any.whl"}}, {"metadata": {"name": "huggingface_hub", "version": "0.36.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/a8/af/48ac8483240de756d2438c380746e7130d1c6f75802ef22f3c6d49982787/huggingface_hub-0.36.2-py3-none-any.whl"}}, {"metadata": {"name": "jiter", "version": "0.9.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/e8/d9/3a6300309e312f8ed529ae57d565f69abdb520e4f12460cefa7996d0716c/jiter-0.9.1-cp38-cp38-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "pydantic", "version": "2.10.6"}, "download_info": {"url": "https://files.pythonhosted.org/packages/f4/3c/8cc1cc84deffa6e25d2d0c688ebb80635dfdbf1dbea3e30c541c8cf4d860/pydantic-2.10.6-py3-none-any.whl"}}, {"metadata": {"name": "pydantic_core", "version": "2.27.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/f4/20/26c549249769ed84877f862f7bb93f89a6ee08b4bee1ed8781616b7fbb5e/pydantic_core-2.27.2-cp38-cp38-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "pytest", "version": "8.3.5"}, "download_info": {"url": "https://files.pythonhosted.org/packages/30/3d/64ad57c803f1fa1e963a7946b6e0fea4a70df53c1a7fed304586539c2bac/pytest-8.3.5-py3-none-any.whl"}}, {"metadata": {"name": "sniffio", "version": "1.3.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl"}}, {"metadata": {"name": "typing_extensions", "version": "4.13.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/8b/54/b1ae86c0973cc6f0210b53d508ca3641fb6d0c56823f288d108bc7ab3cc8/typing_extensions-4.13.2-py3-none-any.whl"}}, {"metadata": {"name": "annotated-types", "version": "0.7.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl"}}, {"metadata": {"name": "exceptiongroup", "version": "1.3.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/8a/0e/97c33bf5009bdbac74fd2beace167cab3f978feb69cc36f1ef79360d6c4e/exceptiongroup-1.3.1-py3-none-any.whl"}}, {"metadata": {"name": "fsspec", "version": "2025.3.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/56/53/eb690efa8513166adef3e0669afd31e95ffde69fb3c52ec2ac7223ed6018/fsspec-2025.3.0-py3-none-any.whl"}}, {"metadata": {"name": "hf-xet", "version": "1.5.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/60/ac/b097a86a1e4a6098f3a79382643ab09d5733d87ccc864877ad1e12b49b70/hf_xet-1.5.2-cp38-abi3-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "idna", "version": "3.15"}, "download_info": {"url": "https://files.pythonhosted.org/packages/d2/23/408243171aa9aaba178d3e2559159c24c1171a641aa83b67bdd3394ead8e/idna-3.15-py3-none-any.whl"}}, {"metadata": {"name": "packaging", "version": "26.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/df/b2/87e62e8c3e2f4b32e5fe99e0b86d576da1312593b39f47d8ceef365e95ed/packaging-26.2-py3-none-any.whl"}}, {"metadata": {"name": "pluggy", "version": "1.5.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/88/5f/e351af9a41f866ac3f1fac4ca0613908d9a41741cfcf2228f4ad853b697d/pluggy-1.5.0-py3-none-any.whl"}}, {"metadata": {"name": "PyYAML", "version": "6.0.3"}, "download_info": {"url": "https://files.pythonhosted.org/packages/05/8e/961c0007c59b8dd7729d542c61a4d537767a59645b82a0b521206e1e25c2/pyyaml-6.0.3.tar.gz"}}, {"metadata": {"name": "tomli", "version": "2.4.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/7b/61/cceae43728b7de99d9b847560c262873a1f6c98202171fd5ed62640b494b/tomli-2.4.1-py3-none-any.whl"}}, {"metadata": {"name": "tqdm", "version": "4.70.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/f9/1c/01bfd571a64e7f270e6bab5e33777debe0edc56759233ce84f27dec92d14/tqdm-4.70.0-py3-none-any.whl"}}, {"metadata": {"name": "certifi", "version": "2026.7.22"}, "download_info": {"url": "https://files.pythonhosted.org/packages/0b/a7/71ac2cff56fec219ed242bb11b8efb69fcc4bec75db06fb7bfe35de520e6/certifi-2026.7.22-py3-none-any.whl"}}, {"metadata": {"name": "filelock", "version": "3.16.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/b9/f8/feced7779d755758a52d1f6635d990b8d98dc0a29fa568bbe0625f18fdf3/filelock-3.16.1-py3-none-any.whl"}}, {"metadata": {"name": "iniconfig", "version": "2.1.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/2c/e1/e6716421ea10d38022b952c159d5161ca1193197fb744506875fbb87ea7b/iniconfig-2.1.0-py3-none-any.whl"}}, {"metadata": {"name": "requests", "version": "2.32.4"}, "download_info": {"url": "https://files.pythonhosted.org/packages/7c/e4/56027c4a6b4ae70ca9de302488c5ca95ad4a39e190093d6c1a8ace08341b/requests-2.32.4-py3-none-any.whl"}}, {"metadata": {"name": "charset-normalizer", "version": "3.4.9"}, "download_info": {"url": "https://files.pythonhosted.org/packages/98/2b/f97f1c193fb855c345d678f5077d6926034db0722df74c8f057020e05a25/charset_normalizer-3.4.9-py3-none-any.whl"}}, {"metadata": {"name": "h11", "version": "0.16.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/04/4b/29cac41a4d98d144bf5f6d33995617b185d14b22401f75ca86f384e87ff1/h11-0.16.0-py3-none-any.whl"}}, {"metadata": {"name": "urllib3", "version": "2.2.3"}, "download_info": {"url": "https://files.pythonhosted.org/packages/ce/d9/5f4c13cecde62396b0d3fe530a50ccea91e7dfc1ccf0e09c228841bb5ba8/urllib3-2.2.3-py3-none-any.whl"}}], "install_targets_hash": "e0d35effaed578d645f789006c5834ef"} {"python_version": "3.8", "dependencies": [{"metadata": {"name": "sanic", "version": "23.12.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/9c/e6/5adc2ca570f165d6027a775a655c1c09b9b8432a6c4a6fcb4c43a08eac7e/sanic-23.12.2-py3-none-any.whl"}}, {"metadata": {"name": "websockets", "version": "10.4"}, "download_info": {"url": "https://files.pythonhosted.org/packages/47/58/69435f1479acb56b3678905b5f2be57908a201c28465d4368d91f52cad76/websockets-10.4-cp38-cp38-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "aiohttp", "version": "3.10.11"}, "download_info": {"url": "https://files.pythonhosted.org/packages/31/bb/2890a3c77126758ef58536ca9f7476a12ba2021e0cd074108fb99b8c8747/aiohttp-3.10.11-cp38-cp38-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "sanic-testing", "version": "24.6.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/0c/93/1d588f1cb9b710b9f22fa78b53d699a8062edc94204d50dd0d78c5f5b495/sanic_testing-24.6.0-py3-none-any.whl"}}, {"metadata": {"name": "tracerite", "version": "1.1.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/4e/71/127927fdd41dd577fd946c319cf9c012366f3ff9f048d0b0689dc72819ef/tracerite-1.1.1-py3-none-any.whl"}}, {"metadata": {"name": "setuptools", "version": "75.3.4"}, "download_info": {"url": "https://files.pythonhosted.org/packages/cd/b1/961ba076c7d3732e3a97e6681c55ef647afb795fe8bfcd27becec8a762ce/setuptools-75.3.4-py3-none-any.whl"}}, {"metadata": {"name": "aiofiles", "version": "24.1.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/a5/45/30bb92d442636f570cb5651bc661f52b610e2eec3f891a5dc3a4c3667db0/aiofiles-24.1.0-py3-none-any.whl"}}, {"metadata": {"name": "aiohappyeyeballs", "version": "2.4.4"}, "download_info": {"url": "https://files.pythonhosted.org/packages/b9/74/fbb6559de3607b3300b9be3cc64e97548d55678e44623db17820dbd20002/aiohappyeyeballs-2.4.4-py3-none-any.whl"}}, {"metadata": {"name": "aiosignal", "version": "1.3.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/76/ac/a7305707cb852b7e16ff80eaf5692309bde30e2b1100a1fcacdc8f731d97/aiosignal-1.3.1-py3-none-any.whl"}}, {"metadata": {"name": "async-timeout", "version": "5.0.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/fe/ba/e2081de779ca30d473f21f5b30e0e737c438205440784c7dfc81efc2b029/async_timeout-5.0.1-py3-none-any.whl"}}, {"metadata": {"name": "attrs", "version": "25.3.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/77/06/bb80f5f86020c4551da315d78b3ab75e8228f89f0162f2c3a819e407941a/attrs-25.3.0-py3-none-any.whl"}}, {"metadata": {"name": "frozenlist", "version": "1.5.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/76/a3/c08322a91e73d1199901a77ce73971cffa06d3c74974270ff97aed6e152a/frozenlist-1.5.0-cp38-cp38-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "html5tagger", "version": "1.3.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/9b/12/2f5d43ee912ea14a6baba4b3db6d309b02d932e3b7074c3339b4aded98ff/html5tagger-1.3.0-py3-none-any.whl"}}, {"metadata": {"name": "httptools", "version": "0.6.4"}, "download_info": {"url": "https://files.pythonhosted.org/packages/04/06/24f105db5254d9689d9126ca09cd55c471241f26549041f33aea91a4c77e/httptools-0.6.4-cp38-cp38-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "httpx", "version": "0.28.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/2a/39/e50c7c3a983047577ee07d2a9e53faf5a69493943ec3f6a384bdc792deb2/httpx-0.28.1-py3-none-any.whl"}}, {"metadata": {"name": "httpcore", "version": "1.0.9"}, "download_info": {"url": "https://files.pythonhosted.org/packages/7e/f5/f66802a942d491edb555dd61e3a9961140fd64c90bce1eafd741609d334d/httpcore-1.0.9-py3-none-any.whl"}}, {"metadata": {"name": "multidict", "version": "6.1.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/9d/7f/5d1ce7f47d44393d429922910afbe88fcd29ee3069babbb47507a4c3a7ea/multidict-6.1.0-cp38-cp38-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "sanic-routing", "version": "23.12.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/cf/e3/3425c9a8773807ac2c01d6a56c8521733f09b627e5827e733c5cd36b9ac5/sanic_routing-23.12.0-py3-none-any.whl"}}, {"metadata": {"name": "typing_extensions", "version": "4.13.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/8b/54/b1ae86c0973cc6f0210b53d508ca3641fb6d0c56823f288d108bc7ab3cc8/typing_extensions-4.13.2-py3-none-any.whl"}}, {"metadata": {"name": "ujson", "version": "5.10.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/b7/8d/0902429667065ee1a30f400ff4f0e97f1139fc958121856d520c35da3d1e/ujson-5.10.0-cp38-cp38-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "uvloop", "version": "0.22.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/f2/82/8a4a6785b53ee42f9235e9d7aacab8b691204e96554c80135a8806a940d4/uvloop-0.22.1-cp38-cp38-macosx_10_9_universal2.whl"}}, {"metadata": {"name": "yarl", "version": "1.15.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/93/34/ede8d8ed7350b4b21e33fc4eff71e08de31da697034969b41190132d421f/yarl-1.15.2-cp38-cp38-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "idna", "version": "3.15"}, "download_info": {"url": "https://files.pythonhosted.org/packages/d2/23/408243171aa9aaba178d3e2559159c24c1171a641aa83b67bdd3394ead8e/idna-3.15-py3-none-any.whl"}}, {"metadata": {"name": "propcache", "version": "0.2.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/80/ef/18af27caaae5589c08bb5a461cfa136b83b7e7983be604f2140d91f92b97/propcache-0.2.0-cp38-cp38-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "anyio", "version": "4.5.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/1b/b4/f7e396030e3b11394436358ca258a81d6010106582422f23443c16ca1873/anyio-4.5.2-py3-none-any.whl"}}, {"metadata": {"name": "certifi", "version": "2026.7.22"}, "download_info": {"url": "https://files.pythonhosted.org/packages/0b/a7/71ac2cff56fec219ed242bb11b8efb69fcc4bec75db06fb7bfe35de520e6/certifi-2026.7.22-py3-none-any.whl"}}, {"metadata": {"name": "exceptiongroup", "version": "1.3.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/8a/0e/97c33bf5009bdbac74fd2beace167cab3f978feb69cc36f1ef79360d6c4e/exceptiongroup-1.3.1-py3-none-any.whl"}}, {"metadata": {"name": "h11", "version": "0.16.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/04/4b/29cac41a4d98d144bf5f6d33995617b185d14b22401f75ca86f384e87ff1/h11-0.16.0-py3-none-any.whl"}}, {"metadata": {"name": "sniffio", "version": "1.3.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl"}}], "install_targets_hash": "ec568d53833902c7306f15bb2f5c73e4"} {"python_version": "3.8", "dependencies": [{"metadata": {"name": "litestar", "version": "2.0.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/3e/b5/ad040f923f1661240eaae883b7d3fec29ea6614d7e732d051fc16400998f/litestar-2.0.1-py3-none-any.whl"}}, {"metadata": {"name": "pytest-asyncio", "version": "0.24.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/96/31/6607dab48616902f76885dfcf62c08d929796fc3b2d2318faf9fd54dbed9/pytest_asyncio-0.24.0-py3-none-any.whl"}}, {"metadata": {"name": "python-multipart", "version": "0.0.20"}, "download_info": {"url": "https://files.pythonhosted.org/packages/45/58/38b5afbc1a800eeea951b9285d3912613f2603bdf897a4ab0f4bd7f405fc/python_multipart-0.0.20-py3-none-any.whl"}}, {"metadata": {"name": "requests", "version": "2.32.4"}, "download_info": {"url": "https://files.pythonhosted.org/packages/7c/e4/56027c4a6b4ae70ca9de302488c5ca95ad4a39e190093d6c1a8ace08341b/requests-2.32.4-py3-none-any.whl"}}, {"metadata": {"name": "cryptography", "version": "47.0.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/e0/34/a4fae8ae7c3bc227460c9ae43f56abf1b911da0ec29e0ebac53bb0a4b6b7/cryptography-47.0.0-cp38-abi3-macosx_10_9_universal2.whl"}}, {"metadata": {"name": "sniffio", "version": "1.3.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl"}}, {"metadata": {"name": "httpx", "version": "0.27.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/56/95/9377bcb415797e44274b51d46e3249eba641711cf3348050f76ee7b15ffc/httpx-0.27.2-py3-none-any.whl"}}, {"metadata": {"name": "httpcore", "version": "1.0.9"}, "download_info": {"url": "https://files.pythonhosted.org/packages/7e/f5/f66802a942d491edb555dd61e3a9961140fd64c90bce1eafd741609d334d/httpcore-1.0.9-py3-none-any.whl"}}, {"metadata": {"name": "anyio", "version": "4.5.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/1b/b4/f7e396030e3b11394436358ca258a81d6010106582422f23443c16ca1873/anyio-4.5.2-py3-none-any.whl"}}, {"metadata": {"name": "certifi", "version": "2026.6.17"}, "download_info": {"url": "https://files.pythonhosted.org/packages/ef/2f/c5464532e965badff2f4c4c1a3a83f5697f0d7c407ed0cda44aaa99bb451/certifi-2026.6.17-py3-none-any.whl"}}, {"metadata": {"name": "cffi", "version": "1.17.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/fc/97/c783634659c2920c3fc70419e3af40972dbaf758daa229a7d6ea6135c90d/cffi-1.17.1.tar.gz"}}, {"metadata": {"name": "charset-normalizer", "version": "3.4.7"}, "download_info": {"url": "https://files.pythonhosted.org/packages/12/46/fce169ad09419b8e8a5a81db61e08cd7b9fd31332221b84bd176fe0a3136/charset_normalizer-3.4.7-cp38-cp38-macosx_10_9_universal2.whl"}}, {"metadata": {"name": "fast-query-parsers", "version": "1.0.3"}, "download_info": {"url": "https://files.pythonhosted.org/packages/c5/21/c8c160f61a740efc4577079eb5747a6b2cb8d1168a84a0bfda6044113768/fast_query_parsers-1.0.3-cp38-abi3-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl"}}, {"metadata": {"name": "idna", "version": "3.15"}, "download_info": {"url": "https://files.pythonhosted.org/packages/d2/23/408243171aa9aaba178d3e2559159c24c1171a641aa83b67bdd3394ead8e/idna-3.15-py3-none-any.whl"}}, {"metadata": {"name": "importlib_resources", "version": "6.4.5"}, "download_info": {"url": "https://files.pythonhosted.org/packages/e1/6a/4604f9ae2fa62ef47b9de2fa5ad599589d28c9fd1d335f32759813dfa91e/importlib_resources-6.4.5-py3-none-any.whl"}}, {"metadata": {"name": "msgspec", "version": "0.18.6"}, "download_info": {"url": "https://files.pythonhosted.org/packages/86/6f/1da53a2ba5f312c3dca9e5f38912732e77f996a22945c8d62df7617c4733/msgspec-0.18.6-cp38-cp38-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "multidict", "version": "6.1.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/9d/7f/5d1ce7f47d44393d429922910afbe88fcd29ee3069babbb47507a4c3a7ea/multidict-6.1.0-cp38-cp38-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "polyfactory", "version": "2.22.5"}, "download_info": {"url": "https://files.pythonhosted.org/packages/11/87/6cd69c43e86bc5863f93dba3c9fb42ee4fda36a0fe5aa3cbd25001fb26f8/polyfactory-2.22.5-py3-none-any.whl"}}, {"metadata": {"name": "pytest", "version": "8.3.5"}, "download_info": {"url": "https://files.pythonhosted.org/packages/30/3d/64ad57c803f1fa1e963a7946b6e0fea4a70df53c1a7fed304586539c2bac/pytest-8.3.5-py3-none-any.whl"}}, {"metadata": {"name": "typing_extensions", "version": "4.13.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/8b/54/b1ae86c0973cc6f0210b53d508ca3641fb6d0c56823f288d108bc7ab3cc8/typing_extensions-4.13.2-py3-none-any.whl"}}, {"metadata": {"name": "urllib3", "version": "2.2.3"}, "download_info": {"url": "https://files.pythonhosted.org/packages/ce/d9/5f4c13cecde62396b0d3fe530a50ccea91e7dfc1ccf0e09c228841bb5ba8/urllib3-2.2.3-py3-none-any.whl"}}, {"metadata": {"name": "importlib_metadata", "version": "8.5.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/a0/d9/a1e041c5e7caa9a05c925f4bdbdfb7f006d1f74996af53467bc394c97be7/importlib_metadata-8.5.0-py3-none-any.whl"}}, {"metadata": {"name": "PyYAML", "version": "6.0.3"}, "download_info": {"url": "https://files.pythonhosted.org/packages/05/8e/961c0007c59b8dd7729d542c61a4d537767a59645b82a0b521206e1e25c2/pyyaml-6.0.3.tar.gz"}}, {"metadata": {"name": "exceptiongroup", "version": "1.3.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/8a/0e/97c33bf5009bdbac74fd2beace167cab3f978feb69cc36f1ef79360d6c4e/exceptiongroup-1.3.1-py3-none-any.whl"}}, {"metadata": {"name": "Faker", "version": "35.2.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/96/18/f70c67c9d3a71f1749faa027dad3cd626c728df5682458091d73c69ed9a9/Faker-35.2.2-py3-none-any.whl"}}, {"metadata": {"name": "h11", "version": "0.16.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/04/4b/29cac41a4d98d144bf5f6d33995617b185d14b22401f75ca86f384e87ff1/h11-0.16.0-py3-none-any.whl"}}, {"metadata": {"name": "pluggy", "version": "1.5.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/88/5f/e351af9a41f866ac3f1fac4ca0613908d9a41741cfcf2228f4ad853b697d/pluggy-1.5.0-py3-none-any.whl"}}, {"metadata": {"name": "tomli", "version": "2.4.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/7b/61/cceae43728b7de99d9b847560c262873a1f6c98202171fd5ed62640b494b/tomli-2.4.1-py3-none-any.whl"}}, {"metadata": {"name": "zipp", "version": "3.20.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/62/8b/5ba542fa83c90e09eac972fc9baca7a88e7e7ca4b221a89251954019308b/zipp-3.20.2-py3-none-any.whl"}}, {"metadata": {"name": "iniconfig", "version": "2.1.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/2c/e1/e6716421ea10d38022b952c159d5161ca1193197fb744506875fbb87ea7b/iniconfig-2.1.0-py3-none-any.whl"}}, {"metadata": {"name": "packaging", "version": "26.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/df/b2/87e62e8c3e2f4b32e5fe99e0b86d576da1312593b39f47d8ceef365e95ed/packaging-26.2-py3-none-any.whl"}}, {"metadata": {"name": "pycparser", "version": "2.23"}, "download_info": {"url": "https://files.pythonhosted.org/packages/a0/e3/59cd50310fc9b59512193629e1984c1f95e5c8ae6e5d8c69532ccc65a7fe/pycparser-2.23-py3-none-any.whl"}}, {"metadata": {"name": "python-dateutil", "version": "2.9.0.post0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl"}}, {"metadata": {"name": "six", "version": "1.17.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl"}}], "install_targets_hash": "eff25fb572d2faba9c895f2319049fe6"} -{"python_version": "3.8", "dependencies": [{"metadata": {"name": "redis", "version": "3.5.3"}, "download_info": {"url": "https://files.pythonhosted.org/packages/a7/7c/24fb0511df653cf1a5d938d8f5d19802a88cef255706fdda242ff97e91b7/redis-3.5.3-py2.py3-none-any.whl"}}, {"metadata": {"name": "fakeredis", "version": "2.7.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/38/5d/db8b7c995fc76b1bc00261d7e73782d727aa0b3b716465bc78c80eb22b30/fakeredis-2.7.1-py3-none-any.whl"}}, {"metadata": {"name": "pytest", "version": "7.4.4"}, "download_info": {"url": "https://files.pythonhosted.org/packages/51/ff/f6e8b8f39e08547faece4bd80f89d5a8de68a38b2d179cc1c4490ffa3286/pytest-7.4.4-py3-none-any.whl"}}, {"metadata": {"name": "pytest-asyncio", "version": "0.23.8"}, "download_info": {"url": "https://files.pythonhosted.org/packages/ee/82/62e2d63639ecb0fbe8a7ee59ef0bc69a4669ec50f6d3459f74ad4e4189a2/pytest_asyncio-0.23.8-py3-none-any.whl"}}, {"metadata": {"name": "exceptiongroup", "version": "1.3.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/8a/0e/97c33bf5009bdbac74fd2beace167cab3f978feb69cc36f1ef79360d6c4e/exceptiongroup-1.3.1-py3-none-any.whl"}}, {"metadata": {"name": "pluggy", "version": "1.5.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/88/5f/e351af9a41f866ac3f1fac4ca0613908d9a41741cfcf2228f4ad853b697d/pluggy-1.5.0-py3-none-any.whl"}}, {"metadata": {"name": "sortedcontainers", "version": "2.4.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/32/46/9cb0e58b2deb7f82b84065f37f3bffeb12413f947f9388e4cac22c4621ce/sortedcontainers-2.4.0-py2.py3-none-any.whl"}}, {"metadata": {"name": "tomli", "version": "2.4.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/7b/61/cceae43728b7de99d9b847560c262873a1f6c98202171fd5ed62640b494b/tomli-2.4.1-py3-none-any.whl"}}, {"metadata": {"name": "iniconfig", "version": "2.1.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/2c/e1/e6716421ea10d38022b952c159d5161ca1193197fb744506875fbb87ea7b/iniconfig-2.1.0-py3-none-any.whl"}}, {"metadata": {"name": "packaging", "version": "26.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/df/b2/87e62e8c3e2f4b32e5fe99e0b86d576da1312593b39f47d8ceef365e95ed/packaging-26.2-py3-none-any.whl"}}, {"metadata": {"name": "typing_extensions", "version": "4.13.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/8b/54/b1ae86c0973cc6f0210b53d508ca3641fb6d0c56823f288d108bc7ab3cc8/typing_extensions-4.13.2-py3-none-any.whl"}}], "install_targets_hash": "fbe3c2de78104b21fc2ccde23cb3fce6"} {"python_version": "3.9", "dependencies": [{"metadata": {"name": "trytond", "version": "7.8.14"}, "download_info": {"url": "https://files.pythonhosted.org/packages/88/6c/404ecc529f950abee78343b826c1252095ed4dd44e7c9ab3b99bab93ff1f/trytond-7.8.14-py3-none-any.whl"}}, {"metadata": {"name": "Werkzeug", "version": "3.1.8"}, "download_info": {"url": "https://files.pythonhosted.org/packages/93/8c/2e650f2afeb7ee576912636c23ddb621c91ac6a98e66dc8d29c3c69446e1/werkzeug-3.1.8-py3-none-any.whl"}}, {"metadata": {"name": "lxml", "version": "6.1.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/d3/b5/0a0f61cc8c6aa61f439d276e62e70cbf4f32205f57b1fbd483b8d0cf514b/lxml-6.1.1-cp39-cp39-macosx_10_9_universal2.whl"}}, {"metadata": {"name": "MarkupSafe", "version": "3.0.3"}, "download_info": {"url": "https://files.pythonhosted.org/packages/fd/23/07a2cb9a8045d5f3f0890a8c3bc0859d7a47bfd9a560b563899bec7b72ed/markupsafe-3.0.3-cp39-cp39-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "pwdlib", "version": "0.2.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/01/f3/0dae5078a486f0fdf4d4a1121e103bc42694a9da9bea7b0f2c63f29cfbd3/pwdlib-0.2.1-py3-none-any.whl"}}, {"metadata": {"name": "argon2-cffi", "version": "23.1.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/a4/6a/e8a041599e78b6b3752da48000b14c8d1e8a04ded09c88c714ba047f34f5/argon2_cffi-23.1.0-py3-none-any.whl"}}, {"metadata": {"name": "python-sql", "version": "1.8.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/77/ac/3603bbdde340f7354c975431c94b70ef3e99966c5b170fa121f8e64d269e/python_sql-1.8.1-py3-none-any.whl"}}, {"metadata": {"name": "relatorio", "version": "1.0.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/74/eb/798c426ebd54f52c27aed6593eaf96ed07dca3ca1d084822cc34f0db5159/relatorio-1.0.0-py3-none-any.whl"}}, {"metadata": {"name": "Genshi", "version": "0.7.11"}, "download_info": {"url": "https://files.pythonhosted.org/packages/b7/27/503016bc329720ba2856eb4831d6ba36089cd6f15bc4fe85db69fea5b563/genshi-0.7.11-py3-none-any.whl"}}, {"metadata": {"name": "argon2-cffi-bindings", "version": "25.1.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/b6/02/d297943bcacf05e4f2a94ab6f462831dc20158614e5d067c35d4e63b9acb/argon2_cffi_bindings-25.1.0-cp39-abi3-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "cffi", "version": "2.0.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/3d/de/38d9726324e127f727b4ecc376bc85e505bfe61ef130eaf3f290c6847dd4/cffi-2.0.0-cp39-cp39-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "backports.entry-points-selectable", "version": "1.3.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/5a/78/b3ba5d804ae21e26e6179bbe4e1338deaaba9d20161918f59e20e9d92ea0/backports.entry_points_selectable-1.3.0-py3-none-any.whl"}}, {"metadata": {"name": "defusedxml", "version": "0.7.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/07/6c/aa3f2f849e01cb6a001cd8554a88d4c77c5c1a31c95bdf1cf9301e6d9ef4/defusedxml-0.7.1-py2.py3-none-any.whl"}}, {"metadata": {"name": "polib", "version": "1.2.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/6b/99/45bb1f9926efe370c6dbe324741c749658e44cb060124f28dad201202274/polib-1.2.0-py2.py3-none-any.whl"}}, {"metadata": {"name": "puremagic", "version": "1.30"}, "download_info": {"url": "https://files.pythonhosted.org/packages/91/ed/1e347d85d05b37a8b9a039ca832e5747e1e5248d0bd66042783ef48b4a37/puremagic-1.30-py3-none-any.whl"}}, {"metadata": {"name": "pycparser", "version": "2.23"}, "download_info": {"url": "https://files.pythonhosted.org/packages/a0/e3/59cd50310fc9b59512193629e1984c1f95e5c8ae6e5d8c69532ccc65a7fe/pycparser-2.23-py3-none-any.whl"}}, {"metadata": {"name": "python-dateutil", "version": "2.9.0.post0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl"}}, {"metadata": {"name": "six", "version": "1.17.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl"}}, {"metadata": {"name": "simpleeval", "version": "1.0.7"}, "download_info": {"url": "https://files.pythonhosted.org/packages/0f/2f/f32aa85591882378bb43caa09363f3ed97df399369a5144c7f19f2275bc0/simpleeval-1.0.7-py3-none-any.whl"}}], "install_targets_hash": "0596f92404e5ec60c0e18c4135f51f06"} {"python_version": "3.9", "dependencies": [{"metadata": {"name": "langgraph", "version": "0.6.11"}, "download_info": {"url": "https://files.pythonhosted.org/packages/df/94/430f0341c5c2fe3e3b9f5ab2622f35e2bda12c4a7d655c519468e853d1b0/langgraph-0.6.11-py3-none-any.whl"}}, {"metadata": {"name": "langgraph-checkpoint", "version": "2.1.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/c4/f2/06bf5addf8ee664291e1b9ffa1f28fc9d97e59806dc7de5aea9844cbf335/langgraph_checkpoint-2.1.2-py3-none-any.whl"}}, {"metadata": {"name": "langgraph-prebuilt", "version": "0.6.5"}, "download_info": {"url": "https://files.pythonhosted.org/packages/8e/d1/e4727f4822943befc3b7046f79049b1086c9493a34b4d44a1adf78577693/langgraph_prebuilt-0.6.5-py3-none-any.whl"}}, {"metadata": {"name": "langgraph-sdk", "version": "0.2.9"}, "download_info": {"url": "https://files.pythonhosted.org/packages/66/05/b2d34e16638241e6f27a6946d28160d4b8b641383787646d41a3727e0896/langgraph_sdk-0.2.9-py3-none-any.whl"}}, {"metadata": {"name": "httpx", "version": "0.28.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/2a/39/e50c7c3a983047577ee07d2a9e53faf5a69493943ec3f6a384bdc792deb2/httpx-0.28.1-py3-none-any.whl"}}, {"metadata": {"name": "httpcore", "version": "1.0.9"}, "download_info": {"url": "https://files.pythonhosted.org/packages/7e/f5/f66802a942d491edb555dd61e3a9961140fd64c90bce1eafd741609d334d/httpcore-1.0.9-py3-none-any.whl"}}, {"metadata": {"name": "h11", "version": "0.16.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/04/4b/29cac41a4d98d144bf5f6d33995617b185d14b22401f75ca86f384e87ff1/h11-0.16.0-py3-none-any.whl"}}, {"metadata": {"name": "langchain-core", "version": "0.3.86"}, "download_info": {"url": "https://files.pythonhosted.org/packages/0c/93/ba19ca54701c6118e68f8785949b6c0eab1df3a5cfa5310508cc86877994/langchain_core-0.3.86-py3-none-any.whl"}}, {"metadata": {"name": "jsonpatch", "version": "1.33"}, "download_info": {"url": "https://files.pythonhosted.org/packages/73/07/02e16ed01e04a374e644b575638ec7987ae846d25ad97bcc9945a3ee4b0e/jsonpatch-1.33-py2.py3-none-any.whl"}}, {"metadata": {"name": "langsmith", "version": "0.4.37"}, "download_info": {"url": "https://files.pythonhosted.org/packages/14/e8/edff4de49cf364eb9ee88d13da0a555844df32438413bf53d90d507b97cd/langsmith-0.4.37-py3-none-any.whl"}}, {"metadata": {"name": "packaging", "version": "25.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/20/12/38679034af332785aac8774540895e234f4d07f7545804097de4b666afd8/packaging-25.0-py3-none-any.whl"}}, {"metadata": {"name": "pydantic", "version": "2.13.4"}, "download_info": {"url": "https://files.pythonhosted.org/packages/fd/7b/122376b1fd3c62c1ed9dc80c931ace4844b3c55407b6fb2d199377c9736f/pydantic-2.13.4-py3-none-any.whl"}}, {"metadata": {"name": "pydantic_core", "version": "2.46.4"}, "download_info": {"url": "https://files.pythonhosted.org/packages/41/60/e70fa1ee03e243bdfd4b1fddf1e1f2a8fba681df3034b51b9376c0fb5bf5/pydantic_core-2.46.4-cp39-cp39-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "PyYAML", "version": "6.0.3"}, "download_info": {"url": "https://files.pythonhosted.org/packages/ae/92/861f152ce87c452b11b9d0977952259aa7df792d71c1053365cc7b09cc08/pyyaml-6.0.3-cp39-cp39-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "tenacity", "version": "9.1.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/e5/30/643397144bfbfec6f6ef821f36f33e57d35946c44a2352d3c9f0ae847619/tenacity-9.1.2-py3-none-any.whl"}}, {"metadata": {"name": "typing_extensions", "version": "4.16.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/49/d3/b8441a820a491ddfc024b0b0cf0393375b75ea13866d9c66727e54c2fc80/typing_extensions-4.16.0-py3-none-any.whl"}}, {"metadata": {"name": "uuid_utils", "version": "0.15.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/1d/c8/5a05247c1b7cbf49849523e1a26e3a8a76c0c1ec6dc84c7cc7b9a8c66503/uuid_utils-0.15.0-cp39-cp39-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl"}}, {"metadata": {"name": "annotated-types", "version": "0.7.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl"}}, {"metadata": {"name": "jsonpointer", "version": "3.0.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/71/92/5e77f98553e9e75130c78900d000368476aed74276eb8ae8796f65f00918/jsonpointer-3.0.0-py2.py3-none-any.whl"}}, {"metadata": {"name": "orjson", "version": "3.11.5"}, "download_info": {"url": "https://files.pythonhosted.org/packages/50/c7/7b682849dd4c9fb701a981669b964ea700516ecbd8e88f62aae07c6852bd/orjson-3.11.5-cp39-cp39-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl"}}, {"metadata": {"name": "ormsgpack", "version": "1.11.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/f0/9e/a1f32d7b4b03b8af5178cf8990c60bb36997d46089c1fee93eed31c04341/ormsgpack-1.11.0-cp39-cp39-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl"}}, {"metadata": {"name": "requests", "version": "2.32.5"}, "download_info": {"url": "https://files.pythonhosted.org/packages/1e/db/4254e3eabe8020b458f1a747140d32277ec7a271daf1d235b70dc0b4e6e3/requests-2.32.5-py3-none-any.whl"}}, {"metadata": {"name": "charset-normalizer", "version": "3.4.7"}, "download_info": {"url": "https://files.pythonhosted.org/packages/01/1b/ef725f8eb19b5a261b30f78efa9252ef9d017985cb499102f6f49834cd12/charset_normalizer-3.4.7-cp39-cp39-macosx_10_9_universal2.whl"}}, {"metadata": {"name": "idna", "version": "3.18"}, "download_info": {"url": "https://files.pythonhosted.org/packages/1e/5e/d4e9f1a599fb8e573b7b87160658329fbf28d19eac2718f51fc3def3aa5a/idna-3.18-py3-none-any.whl"}}, {"metadata": {"name": "urllib3", "version": "2.6.3"}, "download_info": {"url": "https://files.pythonhosted.org/packages/39/08/aaaad47bc4e9dc8c725e68f9d04865dbcb2052843ff09c97b08904852d84/urllib3-2.6.3-py3-none-any.whl"}}, {"metadata": {"name": "certifi", "version": "2026.6.17"}, "download_info": {"url": "https://files.pythonhosted.org/packages/ef/2f/c5464532e965badff2f4c4c1a3a83f5697f0d7c407ed0cda44aaa99bb451/certifi-2026.6.17-py3-none-any.whl"}}, {"metadata": {"name": "requests-toolbelt", "version": "1.0.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/3f/51/d4db610ef29373b879047326cbf6fa98b6c1969d6f6dc423279de2b1be2c/requests_toolbelt-1.0.0-py2.py3-none-any.whl"}}, {"metadata": {"name": "typing-inspection", "version": "0.4.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/dc/9b/47798a6c91d8bdb567fe2698fe81e0c6b7cb7ef4d13da4114b41d239f65d/typing_inspection-0.4.2-py3-none-any.whl"}}, {"metadata": {"name": "xxhash", "version": "3.8.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/f4/70/86bd231cd8fc550f90776184c8632f18d2d3e0c6ed020958851710c29699/xxhash-3.8.0-cp39-cp39-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "zstandard", "version": "0.25.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/ca/aa/ceb8d79cbad6dabd4cb1178ca853f6a4374d791c5e0241a0988173e2a341/zstandard-0.25.0-cp39-cp39-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "anyio", "version": "4.12.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/38/0e/27be9fdef66e72d64c0cdc3cc2823101b80585f8119b5c112c2e8f5f7dab/anyio-4.12.1-py3-none-any.whl"}}, {"metadata": {"name": "exceptiongroup", "version": "1.3.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/8a/0e/97c33bf5009bdbac74fd2beace167cab3f978feb69cc36f1ef79360d6c4e/exceptiongroup-1.3.1-py3-none-any.whl"}}], "install_targets_hash": "0ee3a52436b4f61e9cdbe5013bf352c3"} {"python_version": "3.9", "dependencies": [{"metadata": {"name": "cohere", "version": "5.21.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/0a/50/5538f02ec6d10fbb84f29c1b18c68ff2a03d7877926a80275efdf8755a9f/cohere-5.21.1-py3-none-any.whl"}}, {"metadata": {"name": "fastavro", "version": "1.12.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/9a/92/2c8efbb85f60c29b4eb5fd76852ad4dddb2b5ea65b972d22146ff78b5447/fastavro-1.12.2-cp39-cp39-macosx_10_9_universal2.whl"}}, {"metadata": {"name": "requests", "version": "2.32.5"}, "download_info": {"url": "https://files.pythonhosted.org/packages/1e/db/4254e3eabe8020b458f1a747140d32277ec7a271daf1d235b70dc0b4e6e3/requests-2.32.5-py3-none-any.whl"}}, {"metadata": {"name": "charset-normalizer", "version": "3.4.7"}, "download_info": {"url": "https://files.pythonhosted.org/packages/01/1b/ef725f8eb19b5a261b30f78efa9252ef9d017985cb499102f6f49834cd12/charset_normalizer-3.4.7-cp39-cp39-macosx_10_9_universal2.whl"}}, {"metadata": {"name": "idna", "version": "3.18"}, "download_info": {"url": "https://files.pythonhosted.org/packages/1e/5e/d4e9f1a599fb8e573b7b87160658329fbf28d19eac2718f51fc3def3aa5a/idna-3.18-py3-none-any.whl"}}, {"metadata": {"name": "tokenizers", "version": "0.22.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/2e/47/174dca0502ef88b28f1c9e06b73ce33500eedfac7a7692108aec220464e7/tokenizers-0.22.2-cp39-abi3-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "huggingface_hub", "version": "1.8.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/a9/ae/8a3a16ea4d202cb641b51d2681bdd3d482c1c592d7570b3fa264730829ce/huggingface_hub-1.8.0-py3-none-any.whl"}}, {"metadata": {"name": "hf-xet", "version": "1.5.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/35/94/4b2ecfbad8f8b04701a23aefb62f540b9137d058b7e1dbef16a32676f0e9/hf_xet-1.5.1-cp37-abi3-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "httpx", "version": "0.28.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/2a/39/e50c7c3a983047577ee07d2a9e53faf5a69493943ec3f6a384bdc792deb2/httpx-0.28.1-py3-none-any.whl"}}, {"metadata": {"name": "httpcore", "version": "1.0.9"}, "download_info": {"url": "https://files.pythonhosted.org/packages/7e/f5/f66802a942d491edb555dd61e3a9961140fd64c90bce1eafd741609d334d/httpcore-1.0.9-py3-none-any.whl"}}, {"metadata": {"name": "types-requests", "version": "2.32.4.20260107"}, "download_info": {"url": "https://files.pythonhosted.org/packages/1c/12/709ea261f2bf91ef0a26a9eed20f2623227a8ed85610c1e54c5805692ecb/types_requests-2.32.4.20260107-py3-none-any.whl"}}, {"metadata": {"name": "urllib3", "version": "2.6.3"}, "download_info": {"url": "https://files.pythonhosted.org/packages/39/08/aaaad47bc4e9dc8c725e68f9d04865dbcb2052843ff09c97b08904852d84/urllib3-2.6.3-py3-none-any.whl"}}, {"metadata": {"name": "certifi", "version": "2026.6.17"}, "download_info": {"url": "https://files.pythonhosted.org/packages/ef/2f/c5464532e965badff2f4c4c1a3a83f5697f0d7c407ed0cda44aaa99bb451/certifi-2026.6.17-py3-none-any.whl"}}, {"metadata": {"name": "filelock", "version": "3.19.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/42/14/42b2651a2f46b022ccd948bca9f2d5af0fd8929c4eec235b8d6d844fbe67/filelock-3.19.1-py3-none-any.whl"}}, {"metadata": {"name": "fsspec", "version": "2025.10.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/eb/02/a6b21098b1d5d6249b7c5ab69dde30108a71e4e819d4a9778f1de1d5b70d/fsspec-2025.10.0-py3-none-any.whl"}}, {"metadata": {"name": "h11", "version": "0.16.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/04/4b/29cac41a4d98d144bf5f6d33995617b185d14b22401f75ca86f384e87ff1/h11-0.16.0-py3-none-any.whl"}}, {"metadata": {"name": "packaging", "version": "26.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/df/b2/87e62e8c3e2f4b32e5fe99e0b86d576da1312593b39f47d8ceef365e95ed/packaging-26.2-py3-none-any.whl"}}, {"metadata": {"name": "pydantic", "version": "2.13.4"}, "download_info": {"url": "https://files.pythonhosted.org/packages/fd/7b/122376b1fd3c62c1ed9dc80c931ace4844b3c55407b6fb2d199377c9736f/pydantic-2.13.4-py3-none-any.whl"}}, {"metadata": {"name": "pydantic_core", "version": "2.46.4"}, "download_info": {"url": "https://files.pythonhosted.org/packages/41/60/e70fa1ee03e243bdfd4b1fddf1e1f2a8fba681df3034b51b9376c0fb5bf5/pydantic_core-2.46.4-cp39-cp39-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "annotated-types", "version": "0.7.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl"}}, {"metadata": {"name": "PyYAML", "version": "6.0.3"}, "download_info": {"url": "https://files.pythonhosted.org/packages/ae/92/861f152ce87c452b11b9d0977952259aa7df792d71c1053365cc7b09cc08/pyyaml-6.0.3-cp39-cp39-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "tqdm", "version": "4.68.3"}, "download_info": {"url": "https://files.pythonhosted.org/packages/d8/8e/bb97bb0c71802080bfc8952937d174e49cfc50de5c951dd47b2496f0dcdb/tqdm-4.68.3-py3-none-any.whl"}}, {"metadata": {"name": "typing_extensions", "version": "4.16.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/49/d3/b8441a820a491ddfc024b0b0cf0393375b75ea13866d9c66727e54c2fc80/typing_extensions-4.16.0-py3-none-any.whl"}}, {"metadata": {"name": "typing-inspection", "version": "0.4.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/dc/9b/47798a6c91d8bdb567fe2698fe81e0c6b7cb7ef4d13da4114b41d239f65d/typing_inspection-0.4.2-py3-none-any.whl"}}, {"metadata": {"name": "anyio", "version": "4.12.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/38/0e/27be9fdef66e72d64c0cdc3cc2823101b80585f8119b5c112c2e8f5f7dab/anyio-4.12.1-py3-none-any.whl"}}, {"metadata": {"name": "exceptiongroup", "version": "1.3.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/8a/0e/97c33bf5009bdbac74fd2beace167cab3f978feb69cc36f1ef79360d6c4e/exceptiongroup-1.3.1-py3-none-any.whl"}}, {"metadata": {"name": "typer", "version": "0.23.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/14/2c/dee705c427875402200fe779eb8a3c00ccb349471172c41178336e9599cc/typer-0.23.2-py3-none-any.whl"}}, {"metadata": {"name": "annotated-doc", "version": "0.0.4"}, "download_info": {"url": "https://files.pythonhosted.org/packages/1e/d3/26bf1008eb3d2daa8ef4cacc7f3bfdc11818d111f7e2d0201bc6e3b49d45/annotated_doc-0.0.4-py3-none-any.whl"}}, {"metadata": {"name": "click", "version": "8.1.8"}, "download_info": {"url": "https://files.pythonhosted.org/packages/7e/d4/7ebdbd03970677812aac39c869717059dbb71a4cfc033ca6e5221787892c/click-8.1.8-py3-none-any.whl"}}, {"metadata": {"name": "rich", "version": "15.0.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/82/3b/64d4899d73f91ba49a8c18a8ff3f0ea8f1c1d75481760df8c68ef5235bf5/rich-15.0.0-py3-none-any.whl"}}, {"metadata": {"name": "Pygments", "version": "2.20.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/f4/7e/a72dd26f3b0f4f2bf1dd8923c85f7ceb43172af56d63c7383eb62b332364/pygments-2.20.0-py3-none-any.whl"}}, {"metadata": {"name": "markdown-it-py", "version": "3.0.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/42/d7/1ec15b46af6af88f19b8e5ffea08fa375d433c998b8a7639e76935c14f1f/markdown_it_py-3.0.0-py3-none-any.whl"}}, {"metadata": {"name": "mdurl", "version": "0.1.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/b3/38/89ba8ad64ae25be8de66a6d463314cf1eb366222074cfda9ee839c56a4b4/mdurl-0.1.2-py3-none-any.whl"}}, {"metadata": {"name": "shellingham", "version": "1.5.4"}, "download_info": {"url": "https://files.pythonhosted.org/packages/e0/f9/0595336914c5619e5f28a1fb793285925a8cd4b432c9da0a987836c7f822/shellingham-1.5.4-py2.py3-none-any.whl"}}], "install_targets_hash": "1119e874aeb67089151365fd5430145a"} @@ -1111,6 +1110,7 @@ {"python_version": "3.9", "dependencies": [{"metadata": {"name": "sanic", "version": "22.3.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/d9/84/e6cf5cd2aa1c0f000cd10c8601f198143ab2c9273912a57d63c3c4c269cd/sanic-22.3.2-py3-none-any.whl"}}, {"metadata": {"name": "websockets", "version": "10.4"}, "download_info": {"url": "https://files.pythonhosted.org/packages/57/d7/df17197565e8874f0a77f8211304169ad4f39ffa3e8c008a7b0bf187a238/websockets-10.4-cp39-cp39-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "sanic-testing", "version": "22.6.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/50/f2/df592d4cac9212355a7de5931258f3a25c86ec894a3e50f168956d8d1a00/sanic_testing-22.6.0-py3-none-any.whl"}}, {"metadata": {"name": "httpx", "version": "0.23.3"}, "download_info": {"url": "https://files.pythonhosted.org/packages/ac/a2/0260c0f5d73bdf06e8d3fc1013a82b9f0633dc21750c9e3f3cb1dba7bb8c/httpx-0.23.3-py3-none-any.whl"}}, {"metadata": {"name": "httpcore", "version": "0.16.3"}, "download_info": {"url": "https://files.pythonhosted.org/packages/04/7e/ef97af4623024e8159993b3114ce208de4f677098ae058ec5882a1bf7605/httpcore-0.16.3-py3-none-any.whl"}}, {"metadata": {"name": "anyio", "version": "4.12.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/38/0e/27be9fdef66e72d64c0cdc3cc2823101b80585f8119b5c112c2e8f5f7dab/anyio-4.12.1-py3-none-any.whl"}}, {"metadata": {"name": "h11", "version": "0.14.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/95/04/ff642e65ad6b90db43e668d70ffb6736436c7ce41fcc549f4e9472234127/h11-0.14.0-py3-none-any.whl"}}, {"metadata": {"name": "multidict", "version": "6.7.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/83/9c/1d2a283d9c6f31e260cb6c2fccadc3edcf6c4c14ee0929cd2af4d2606dd7/multidict-6.7.1-cp39-cp39-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "rfc3986", "version": "1.5.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/c4/e5/63ca2c4edf4e00657584608bee1001302bbf8c5f569340b78304f2f446cb/rfc3986-1.5.0-py2.py3-none-any.whl"}}, {"metadata": {"name": "sanic-routing", "version": "22.3.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/e4/3d/c704085138f7a70c4879a96844f922dd5540ffd524b1de7d7a49150e0e28/sanic_routing-22.3.0-py3-none-any.whl"}}, {"metadata": {"name": "sniffio", "version": "1.3.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl"}}, {"metadata": {"name": "aiohttp", "version": "3.13.5"}, "download_info": {"url": "https://files.pythonhosted.org/packages/d5/34/8413eafee3421ade2d6ce9e7c0da1213e1d7f0049be09dcdc342b03a39ba/aiohttp-3.13.5-cp39-cp39-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "async-timeout", "version": "5.0.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/fe/ba/e2081de779ca30d473f21f5b30e0e737c438205440784c7dfc81efc2b029/async_timeout-5.0.1-py3-none-any.whl"}}, {"metadata": {"name": "yarl", "version": "1.22.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/32/58/b8055273c203968e89808413ea4c984988b6649baabf10f4522e67c22d2f/yarl-1.22.0-cp39-cp39-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "aiofiles", "version": "25.1.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/bc/8a/340a1555ae33d7354dbca4faa54948d76d89a27ceef032c8c3bc661d003e/aiofiles-25.1.0-py3-none-any.whl"}}, {"metadata": {"name": "aiohappyeyeballs", "version": "2.6.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/0f/15/5bf3b99495fb160b63f95972b81750f18f7f4e02ad051373b669d17d44f2/aiohappyeyeballs-2.6.1-py3-none-any.whl"}}, {"metadata": {"name": "aiosignal", "version": "1.4.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/fb/76/641ae371508676492379f16e2fa48f4e2c11741bd63c48be4b12a6b09cba/aiosignal-1.4.0-py3-none-any.whl"}}, {"metadata": {"name": "attrs", "version": "26.1.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/64/b4/17d4b0b2a2dc85a6df63d1157e028ed19f90d4cd97c36717afef2bc2f395/attrs-26.1.0-py3-none-any.whl"}}, {"metadata": {"name": "exceptiongroup", "version": "1.3.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/8a/0e/97c33bf5009bdbac74fd2beace167cab3f978feb69cc36f1ef79360d6c4e/exceptiongroup-1.3.1-py3-none-any.whl"}}, {"metadata": {"name": "frozenlist", "version": "1.8.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/4b/de/ad9d82ca8e5fa8f0c636e64606553c79e2b859ad253030b62a21fe9986f5/frozenlist-1.8.0-cp39-cp39-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "httptools", "version": "0.8.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/05/5b/1f9b7462464294db5d0b4e0fcb285c2f8233fb29ce48141c26b40fd505f3/httptools-0.8.0-cp39-cp39-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "idna", "version": "3.18"}, "download_info": {"url": "https://files.pythonhosted.org/packages/1e/5e/d4e9f1a599fb8e573b7b87160658329fbf28d19eac2718f51fc3def3aa5a/idna-3.18-py3-none-any.whl"}}, {"metadata": {"name": "propcache", "version": "0.4.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/7c/19/b65d98ae21384518b291d9939e24a8aeac4fdb5101b732576f8f7540e834/propcache-0.4.1-cp39-cp39-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "typing_extensions", "version": "4.16.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/49/d3/b8441a820a491ddfc024b0b0cf0393375b75ea13866d9c66727e54c2fc80/typing_extensions-4.16.0-py3-none-any.whl"}}, {"metadata": {"name": "ujson", "version": "5.11.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/8d/c1/a52d55638c0c644b8a63059f95ad5ffcb4ad8f60d8bc3e8680f78e77cc75/ujson-5.11.0-cp39-cp39-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "uvloop", "version": "0.22.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/bd/1b/6fbd611aeba01ef802c5876c94d7be603a9710db055beacbad39e75a31aa/uvloop-0.22.1-cp39-cp39-macosx_10_9_universal2.whl"}}, {"metadata": {"name": "certifi", "version": "2026.7.22"}, "download_info": {"url": "https://files.pythonhosted.org/packages/0b/a7/71ac2cff56fec219ed242bb11b8efb69fcc4bec75db06fb7bfe35de520e6/certifi-2026.7.22-py3-none-any.whl"}}], "install_targets_hash": "5d067be4256a3d8225e2000b2e369c37"} {"python_version": "3.9", "dependencies": [{"metadata": {"name": "anthropic", "version": "0.86.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/63/5f/67db29c6e5d16c8c9c4652d3efb934d89cb750cad201539141781d8eae14/anthropic-0.86.0-py3-none-any.whl"}}, {"metadata": {"name": "anyio", "version": "4.12.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/38/0e/27be9fdef66e72d64c0cdc3cc2823101b80585f8119b5c112c2e8f5f7dab/anyio-4.12.1-py3-none-any.whl"}}, {"metadata": {"name": "distro", "version": "1.9.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/12/b3/231ffd4ab1fc9d679809f356cebee130ac7daa00d6d6f3206dd4fd137e9e/distro-1.9.0-py3-none-any.whl"}}, {"metadata": {"name": "docstring_parser", "version": "0.18.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/a7/5f/ed01f9a3cdffbd5a008556fc7b2a08ddb1cc6ace7effa7340604b1d16699/docstring_parser-0.18.0-py3-none-any.whl"}}, {"metadata": {"name": "httpx", "version": "0.28.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/2a/39/e50c7c3a983047577ee07d2a9e53faf5a69493943ec3f6a384bdc792deb2/httpx-0.28.1-py3-none-any.whl"}}, {"metadata": {"name": "httpcore", "version": "1.0.9"}, "download_info": {"url": "https://files.pythonhosted.org/packages/7e/f5/f66802a942d491edb555dd61e3a9961140fd64c90bce1eafd741609d334d/httpcore-1.0.9-py3-none-any.whl"}}, {"metadata": {"name": "jiter", "version": "0.16.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/69/79/7b84250429f0e262b935c627a8522cab31b5303e617400b14e808b599bdb/jiter-0.16.0-cp39-cp39-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "pydantic", "version": "2.13.4"}, "download_info": {"url": "https://files.pythonhosted.org/packages/fd/7b/122376b1fd3c62c1ed9dc80c931ace4844b3c55407b6fb2d199377c9736f/pydantic-2.13.4-py3-none-any.whl"}}, {"metadata": {"name": "pydantic_core", "version": "2.46.4"}, "download_info": {"url": "https://files.pythonhosted.org/packages/41/60/e70fa1ee03e243bdfd4b1fddf1e1f2a8fba681df3034b51b9376c0fb5bf5/pydantic_core-2.46.4-cp39-cp39-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "typing_extensions", "version": "4.16.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/49/d3/b8441a820a491ddfc024b0b0cf0393375b75ea13866d9c66727e54c2fc80/typing_extensions-4.16.0-py3-none-any.whl"}}, {"metadata": {"name": "pytest-asyncio", "version": "1.2.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/04/93/2fa34714b7a4ae72f2f8dad66ba17dd9a2c793220719e736dda28b7aec27/pytest_asyncio-1.2.0-py3-none-any.whl"}}, {"metadata": {"name": "backports.asyncio.runner", "version": "1.2.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/a0/59/76ab57e3fe74484f48a53f8e337171b4a2349e506eabe136d7e01d059086/backports_asyncio_runner-1.2.0-py3-none-any.whl"}}, {"metadata": {"name": "pytest", "version": "8.4.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/a8/a4/20da314d277121d6534b3a980b29035dcd51e6744bd79075a6ce8fa4eb8d/pytest-8.4.2-py3-none-any.whl"}}, {"metadata": {"name": "pluggy", "version": "1.6.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl"}}, {"metadata": {"name": "annotated-types", "version": "0.7.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl"}}, {"metadata": {"name": "exceptiongroup", "version": "1.3.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/8a/0e/97c33bf5009bdbac74fd2beace167cab3f978feb69cc36f1ef79360d6c4e/exceptiongroup-1.3.1-py3-none-any.whl"}}, {"metadata": {"name": "h11", "version": "0.16.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/04/4b/29cac41a4d98d144bf5f6d33995617b185d14b22401f75ca86f384e87ff1/h11-0.16.0-py3-none-any.whl"}}, {"metadata": {"name": "idna", "version": "3.18"}, "download_info": {"url": "https://files.pythonhosted.org/packages/1e/5e/d4e9f1a599fb8e573b7b87160658329fbf28d19eac2718f51fc3def3aa5a/idna-3.18-py3-none-any.whl"}}, {"metadata": {"name": "iniconfig", "version": "2.1.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/2c/e1/e6716421ea10d38022b952c159d5161ca1193197fb744506875fbb87ea7b/iniconfig-2.1.0-py3-none-any.whl"}}, {"metadata": {"name": "packaging", "version": "26.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/df/b2/87e62e8c3e2f4b32e5fe99e0b86d576da1312593b39f47d8ceef365e95ed/packaging-26.2-py3-none-any.whl"}}, {"metadata": {"name": "Pygments", "version": "2.20.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/f4/7e/a72dd26f3b0f4f2bf1dd8923c85f7ceb43172af56d63c7383eb62b332364/pygments-2.20.0-py3-none-any.whl"}}, {"metadata": {"name": "tomli", "version": "2.4.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/7b/61/cceae43728b7de99d9b847560c262873a1f6c98202171fd5ed62640b494b/tomli-2.4.1-py3-none-any.whl"}}, {"metadata": {"name": "typing-inspection", "version": "0.4.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/dc/9b/47798a6c91d8bdb567fe2698fe81e0c6b7cb7ef4d13da4114b41d239f65d/typing_inspection-0.4.2-py3-none-any.whl"}}, {"metadata": {"name": "certifi", "version": "2026.7.22"}, "download_info": {"url": "https://files.pythonhosted.org/packages/0b/a7/71ac2cff56fec219ed242bb11b8efb69fcc4bec75db06fb7bfe35de520e6/certifi-2026.7.22-py3-none-any.whl"}}, {"metadata": {"name": "sniffio", "version": "1.3.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl"}}], "install_targets_hash": "5f4bfcad429caae6ddcab316dc56273c"} {"python_version": "3.9", "dependencies": [{"metadata": {"name": "celery", "version": "5.6.3"}, "download_info": {"url": "https://files.pythonhosted.org/packages/cf/c9/6eccdda96e098f7ae843162db2d3c149c6931a24fda69fe4ab84d0027eb5/celery-5.6.3-py3-none-any.whl"}}, {"metadata": {"name": "newrelic", "version": "10.16.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/d4/71/07c41fd5e8c94e95216b000d00c3cf735f769cb406c0f33c6ff83b7b7418/newrelic-10.16.0.tar.gz"}}, {"metadata": {"name": "billiard", "version": "4.2.4"}, "download_info": {"url": "https://files.pythonhosted.org/packages/cb/87/8bab77b323f16d67be364031220069f79159117dd5e43eeb4be2fef1ac9b/billiard-4.2.4-py3-none-any.whl"}}, {"metadata": {"name": "click", "version": "8.1.8"}, "download_info": {"url": "https://files.pythonhosted.org/packages/7e/d4/7ebdbd03970677812aac39c869717059dbb71a4cfc033ca6e5221787892c/click-8.1.8-py3-none-any.whl"}}, {"metadata": {"name": "vine", "version": "5.1.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/03/ff/7c0c86c43b3cbb927e0ccc0255cb4057ceba4799cd44ae95174ce8e8b5b2/vine-5.1.0-py3-none-any.whl"}}, {"metadata": {"name": "redis", "version": "7.0.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/e9/97/9f22a33c475cda519f20aba6babb340fb2f2254a02fb947816960d1e669a/redis-7.0.1-py3-none-any.whl"}}, {"metadata": {"name": "pytest-forked", "version": "1.6.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/f4/af/9c0bda43e486a3c9bf1e0f876d0f241bc3f229d7d65d09331a0868db9629/pytest_forked-1.6.0-py3-none-any.whl"}}, {"metadata": {"name": "async-timeout", "version": "5.0.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/fe/ba/e2081de779ca30d473f21f5b30e0e737c438205440784c7dfc81efc2b029/async_timeout-5.0.1-py3-none-any.whl"}}, {"metadata": {"name": "click-didyoumean", "version": "0.3.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/1b/5b/974430b5ffdb7a4f1941d13d83c64a0395114503cc357c6b9ae4ce5047ed/click_didyoumean-0.3.1-py3-none-any.whl"}}, {"metadata": {"name": "click-plugins", "version": "1.1.1.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/3d/9a/2abecb28ae875e39c8cad711eb1186d8d14eab564705325e77e4e6ab9ae5/click_plugins-1.1.1.2-py2.py3-none-any.whl"}}, {"metadata": {"name": "click-repl", "version": "0.3.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/52/40/9d857001228658f0d59e97ebd4c346fe73e138c6de1bce61dc568a57c7f8/click_repl-0.3.0-py3-none-any.whl"}}, {"metadata": {"name": "exceptiongroup", "version": "1.3.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/8a/0e/97c33bf5009bdbac74fd2beace167cab3f978feb69cc36f1ef79360d6c4e/exceptiongroup-1.3.1-py3-none-any.whl"}}, {"metadata": {"name": "kombu", "version": "5.6.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/fb/0f/834427d8c03ff1d7e867d3db3d176470c64871753252b21b4f4897d1fa45/kombu-5.6.2-py3-none-any.whl"}}, {"metadata": {"name": "amqp", "version": "5.3.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/26/99/fc813cd978842c26c82534010ea849eee9ab3a13ea2b74e95cb9c99e747b/amqp-5.3.1-py3-none-any.whl"}}, {"metadata": {"name": "prompt_toolkit", "version": "3.0.52"}, "download_info": {"url": "https://files.pythonhosted.org/packages/84/03/0d3ce49e2505ae70cf43bc5bb3033955d2fc9f932163e84dc0779cc47f48/prompt_toolkit-3.0.52-py3-none-any.whl"}}, {"metadata": {"name": "pytest", "version": "8.4.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/a8/a4/20da314d277121d6534b3a980b29035dcd51e6744bd79075a6ce8fa4eb8d/pytest-8.4.2-py3-none-any.whl"}}, {"metadata": {"name": "pluggy", "version": "1.6.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl"}}, {"metadata": {"name": "iniconfig", "version": "2.1.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/2c/e1/e6716421ea10d38022b952c159d5161ca1193197fb744506875fbb87ea7b/iniconfig-2.1.0-py3-none-any.whl"}}, {"metadata": {"name": "packaging", "version": "26.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/df/b2/87e62e8c3e2f4b32e5fe99e0b86d576da1312593b39f47d8ceef365e95ed/packaging-26.2-py3-none-any.whl"}}, {"metadata": {"name": "Pygments", "version": "2.20.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/f4/7e/a72dd26f3b0f4f2bf1dd8923c85f7ceb43172af56d63c7383eb62b332364/pygments-2.20.0-py3-none-any.whl"}}, {"metadata": {"name": "python-dateutil", "version": "2.9.0.post0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl"}}, {"metadata": {"name": "six", "version": "1.17.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl"}}, {"metadata": {"name": "tomli", "version": "2.4.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/7b/61/cceae43728b7de99d9b847560c262873a1f6c98202171fd5ed62640b494b/tomli-2.4.1-py3-none-any.whl"}}, {"metadata": {"name": "typing_extensions", "version": "4.16.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/49/d3/b8441a820a491ddfc024b0b0cf0393375b75ea13866d9c66727e54c2fc80/typing_extensions-4.16.0-py3-none-any.whl"}}, {"metadata": {"name": "tzdata", "version": "2026.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/ce/e4/dccd7f47c4b64213ac01ef921a1337ee6e30e8c6466046018326977efd95/tzdata-2026.2-py2.py3-none-any.whl"}}, {"metadata": {"name": "py", "version": "1.11.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/f6/f0/10642828a8dfb741e5f3fbaac830550a518a775c7fff6f04a007259b0548/py-1.11.0-py2.py3-none-any.whl"}}, {"metadata": {"name": "tzlocal", "version": "5.3.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/c2/14/e2a54fabd4f08cd7af1c07030603c3356b74da07f7cc056e600436edfa17/tzlocal-5.3.1-py3-none-any.whl"}}, {"metadata": {"name": "wcwidth", "version": "0.8.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/96/42/3e5985a0a7e57de470b320c6d6a1a67c844f6737a587f3d44dd13d1819e7/wcwidth-0.8.2-py3-none-any.whl"}}], "install_targets_hash": "68a613b2517fdb654276eddecbf135d5"} +{"python_version": "3.9", "dependencies": [{"metadata": {"name": "redis", "version": "4.2.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/d3/2d/1aefc345181d53d618b48f7c2bdc491a6ec4f2be1923c37e04536ef2f9c4/redis-4.2.2-py3-none-any.whl"}}, {"metadata": {"name": "fakeredis", "version": "2.24.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/70/15/7db6bdc128638aa9e6d8ce2d744288674072566060ac0e7424495cff5c77/fakeredis-2.24.1-py3-none-any.whl"}}, {"metadata": {"name": "pytest", "version": "7.4.4"}, "download_info": {"url": "https://files.pythonhosted.org/packages/51/ff/f6e8b8f39e08547faece4bd80f89d5a8de68a38b2d179cc1c4490ffa3286/pytest-7.4.4-py3-none-any.whl"}}, {"metadata": {"name": "pluggy", "version": "1.6.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl"}}, {"metadata": {"name": "sortedcontainers", "version": "2.4.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/32/46/9cb0e58b2deb7f82b84065f37f3bffeb12413f947f9388e4cac22c4621ce/sortedcontainers-2.4.0-py2.py3-none-any.whl"}}, {"metadata": {"name": "typing_extensions", "version": "4.16.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/49/d3/b8441a820a491ddfc024b0b0cf0393375b75ea13866d9c66727e54c2fc80/typing_extensions-4.16.0-py3-none-any.whl"}}, {"metadata": {"name": "pytest-asyncio", "version": "0.23.8"}, "download_info": {"url": "https://files.pythonhosted.org/packages/ee/82/62e2d63639ecb0fbe8a7ee59ef0bc69a4669ec50f6d3459f74ad4e4189a2/pytest_asyncio-0.23.8-py3-none-any.whl"}}, {"metadata": {"name": "async-timeout", "version": "5.0.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/fe/ba/e2081de779ca30d473f21f5b30e0e737c438205440784c7dfc81efc2b029/async_timeout-5.0.1-py3-none-any.whl"}}, {"metadata": {"name": "Deprecated", "version": "1.3.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/84/d0/205d54408c08b13550c733c4b85429e7ead111c7f0014309637425520a9a/deprecated-1.3.1-py2.py3-none-any.whl"}}, {"metadata": {"name": "wrapt", "version": "2.3.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/7e/cb/1e1bbdb39ea166b4b2568c5eec3d82f59cddecf1ed57e5c4a1ed54692107/wrapt-2.3.0-cp39-cp39-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "exceptiongroup", "version": "1.3.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/8a/0e/97c33bf5009bdbac74fd2beace167cab3f978feb69cc36f1ef79360d6c4e/exceptiongroup-1.3.1-py3-none-any.whl"}}, {"metadata": {"name": "packaging", "version": "26.3"}, "download_info": {"url": "https://files.pythonhosted.org/packages/63/34/ba1c580383c9eada3711951fef0795c80b829a078d72188184bcab9dd527/packaging-26.3-py3-none-any.whl"}}, {"metadata": {"name": "tomli", "version": "2.4.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/7b/61/cceae43728b7de99d9b847560c262873a1f6c98202171fd5ed62640b494b/tomli-2.4.1-py3-none-any.whl"}}, {"metadata": {"name": "iniconfig", "version": "2.1.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/2c/e1/e6716421ea10d38022b952c159d5161ca1193197fb744506875fbb87ea7b/iniconfig-2.1.0-py3-none-any.whl"}}], "install_targets_hash": "7714b24b1f75f284b6047e417e725b9b"} {"python_version": "3.9", "dependencies": [{"metadata": {"name": "arq", "version": "0.23"}, "download_info": {"url": "https://files.pythonhosted.org/packages/ff/f8/cec0e703750504d653fe048d79f4f97e555e2e3b89b9d8598a6aea368d12/arq-0.23-py3-none-any.whl"}}, {"metadata": {"name": "pydantic", "version": "1.10.26"}, "download_info": {"url": "https://files.pythonhosted.org/packages/f3/fa/343ac0db26918a033ac6256c036d72c3b6eb1196b7de622e2e8a94b19079/pydantic-1.10.26-cp39-cp39-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "async-timeout", "version": "5.0.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/fe/ba/e2081de779ca30d473f21f5b30e0e737c438205440784c7dfc81efc2b029/async_timeout-5.0.1-py3-none-any.whl"}}, {"metadata": {"name": "pytest-asyncio", "version": "1.2.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/04/93/2fa34714b7a4ae72f2f8dad66ba17dd9a2c793220719e736dda28b7aec27/pytest_asyncio-1.2.0-py3-none-any.whl"}}, {"metadata": {"name": "backports.asyncio.runner", "version": "1.2.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/a0/59/76ab57e3fe74484f48a53f8e337171b4a2349e506eabe136d7e01d059086/backports_asyncio_runner-1.2.0-py3-none-any.whl"}}, {"metadata": {"name": "pytest", "version": "8.4.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/a8/a4/20da314d277121d6534b3a980b29035dcd51e6744bd79075a6ce8fa4eb8d/pytest-8.4.2-py3-none-any.whl"}}, {"metadata": {"name": "pluggy", "version": "1.6.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl"}}, {"metadata": {"name": "fakeredis", "version": "2.36.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/fd/4d/e6e40f93031adbf654d34e542bd396e9f3bc1c6209b40c920d58c9e1317a/fakeredis-2.36.2-py3-none-any.whl"}}, {"metadata": {"name": "redis", "version": "7.0.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/e9/97/9f22a33c475cda519f20aba6babb340fb2f2254a02fb947816960d1e669a/redis-7.0.1-py3-none-any.whl"}}, {"metadata": {"name": "click", "version": "8.1.8"}, "download_info": {"url": "https://files.pythonhosted.org/packages/7e/d4/7ebdbd03970677812aac39c869717059dbb71a4cfc033ca6e5221787892c/click-8.1.8-py3-none-any.whl"}}, {"metadata": {"name": "exceptiongroup", "version": "1.3.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/8a/0e/97c33bf5009bdbac74fd2beace167cab3f978feb69cc36f1ef79360d6c4e/exceptiongroup-1.3.1-py3-none-any.whl"}}, {"metadata": {"name": "iniconfig", "version": "2.1.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/2c/e1/e6716421ea10d38022b952c159d5161ca1193197fb744506875fbb87ea7b/iniconfig-2.1.0-py3-none-any.whl"}}, {"metadata": {"name": "packaging", "version": "26.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/df/b2/87e62e8c3e2f4b32e5fe99e0b86d576da1312593b39f47d8ceef365e95ed/packaging-26.2-py3-none-any.whl"}}, {"metadata": {"name": "Pygments", "version": "2.20.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/f4/7e/a72dd26f3b0f4f2bf1dd8923c85f7ceb43172af56d63c7383eb62b332364/pygments-2.20.0-py3-none-any.whl"}}, {"metadata": {"name": "sortedcontainers", "version": "2.4.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/32/46/9cb0e58b2deb7f82b84065f37f3bffeb12413f947f9388e4cac22c4621ce/sortedcontainers-2.4.0-py2.py3-none-any.whl"}}, {"metadata": {"name": "tomli", "version": "2.4.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/7b/61/cceae43728b7de99d9b847560c262873a1f6c98202171fd5ed62640b494b/tomli-2.4.1-py3-none-any.whl"}}, {"metadata": {"name": "typing_extensions", "version": "4.16.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/49/d3/b8441a820a491ddfc024b0b0cf0393375b75ea13866d9c66727e54c2fc80/typing_extensions-4.16.0-py3-none-any.whl"}}], "install_targets_hash": "861238b3e47ffcf341fe6a7baecfea04"} {"python_version": "3.9", "dependencies": [{"metadata": {"name": "Flask", "version": "3.1.3"}, "download_info": {"url": "https://files.pythonhosted.org/packages/7f/9c/34f6962f9b9e9c71f6e5ed806e0d0ff03c9d1b0b2340088a0cf4bce09b18/flask-3.1.3-py3-none-any.whl"}}, {"metadata": {"name": "Flask-Login", "version": "0.6.3"}, "download_info": {"url": "https://files.pythonhosted.org/packages/59/f5/67e9cc5c2036f58115f9fe0f00d203cf6780c3ff8ae0e705e7a9d9e8ff9e/Flask_Login-0.6.3-py3-none-any.whl"}}, {"metadata": {"name": "Werkzeug", "version": "3.1.8"}, "download_info": {"url": "https://files.pythonhosted.org/packages/93/8c/2e650f2afeb7ee576912636c23ddb621c91ac6a98e66dc8d29c3c69446e1/werkzeug-3.1.8-py3-none-any.whl"}}, {"metadata": {"name": "blinker", "version": "1.9.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/10/cb/f2ad4230dc2eb1a74edf38f1a38b9b52277f75bef262d8908e60d957e13c/blinker-1.9.0-py3-none-any.whl"}}, {"metadata": {"name": "click", "version": "8.1.8"}, "download_info": {"url": "https://files.pythonhosted.org/packages/7e/d4/7ebdbd03970677812aac39c869717059dbb71a4cfc033ca6e5221787892c/click-8.1.8-py3-none-any.whl"}}, {"metadata": {"name": "importlib_metadata", "version": "8.7.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/fa/5e/f8e9a1d23b9c20a551a8a02ea3637b4642e22c2626e3a13a9a29cdea99eb/importlib_metadata-8.7.1-py3-none-any.whl"}}, {"metadata": {"name": "itsdangerous", "version": "2.2.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/04/96/92447566d16df59b2a776c0fb82dbc4d9e07cd95062562af01e408583fc4/itsdangerous-2.2.0-py3-none-any.whl"}}, {"metadata": {"name": "Jinja2", "version": "3.1.6"}, "download_info": {"url": "https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl"}}, {"metadata": {"name": "MarkupSafe", "version": "3.0.3"}, "download_info": {"url": "https://files.pythonhosted.org/packages/fd/23/07a2cb9a8045d5f3f0890a8c3bc0859d7a47bfd9a560b563899bec7b72ed/markupsafe-3.0.3-cp39-cp39-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "zipp", "version": "3.23.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/08/8a/0861bec20485572fbddf3dfba2910e38fe249796cb73ecdeb74e07eeb8d3/zipp-3.23.1-py3-none-any.whl"}}], "install_targets_hash": "8e9f2612223a3ea6906a34018db168cd"} {"python_version": "3.9", "dependencies": [{"metadata": {"name": "langchain", "version": "0.3.30"}, "download_info": {"url": "https://files.pythonhosted.org/packages/da/54/c0775c29bf9ae27c8cbf8484ad600edd2e787a0eacf3a374cb6561613de9/langchain-0.3.30-py3-none-any.whl"}}, {"metadata": {"name": "async-timeout", "version": "4.0.3"}, "download_info": {"url": "https://files.pythonhosted.org/packages/a7/fa/e01228c2938de91d47b307831c62ab9e4001e747789d0b05baf779a6488c/async_timeout-4.0.3-py3-none-any.whl"}}, {"metadata": {"name": "langchain-core", "version": "0.3.86"}, "download_info": {"url": "https://files.pythonhosted.org/packages/0c/93/ba19ca54701c6118e68f8785949b6c0eab1df3a5cfa5310508cc86877994/langchain_core-0.3.86-py3-none-any.whl"}}, {"metadata": {"name": "jsonpatch", "version": "1.33"}, "download_info": {"url": "https://files.pythonhosted.org/packages/73/07/02e16ed01e04a374e644b575638ec7987ae846d25ad97bcc9945a3ee4b0e/jsonpatch-1.33-py2.py3-none-any.whl"}}, {"metadata": {"name": "langchain-text-splitters", "version": "0.3.11"}, "download_info": {"url": "https://files.pythonhosted.org/packages/58/0d/41a51b40d24ff0384ec4f7ab8dd3dcea8353c05c973836b5e289f1465d4f/langchain_text_splitters-0.3.11-py3-none-any.whl"}}, {"metadata": {"name": "langsmith", "version": "0.4.37"}, "download_info": {"url": "https://files.pythonhosted.org/packages/14/e8/edff4de49cf364eb9ee88d13da0a555844df32438413bf53d90d507b97cd/langsmith-0.4.37-py3-none-any.whl"}}, {"metadata": {"name": "httpx", "version": "0.28.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/2a/39/e50c7c3a983047577ee07d2a9e53faf5a69493943ec3f6a384bdc792deb2/httpx-0.28.1-py3-none-any.whl"}}, {"metadata": {"name": "httpcore", "version": "1.0.9"}, "download_info": {"url": "https://files.pythonhosted.org/packages/7e/f5/f66802a942d491edb555dd61e3a9961140fd64c90bce1eafd741609d334d/httpcore-1.0.9-py3-none-any.whl"}}, {"metadata": {"name": "packaging", "version": "25.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/20/12/38679034af332785aac8774540895e234f4d07f7545804097de4b666afd8/packaging-25.0-py3-none-any.whl"}}, {"metadata": {"name": "pydantic", "version": "2.13.4"}, "download_info": {"url": "https://files.pythonhosted.org/packages/fd/7b/122376b1fd3c62c1ed9dc80c931ace4844b3c55407b6fb2d199377c9736f/pydantic-2.13.4-py3-none-any.whl"}}, {"metadata": {"name": "pydantic_core", "version": "2.46.4"}, "download_info": {"url": "https://files.pythonhosted.org/packages/41/60/e70fa1ee03e243bdfd4b1fddf1e1f2a8fba681df3034b51b9376c0fb5bf5/pydantic_core-2.46.4-cp39-cp39-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "PyYAML", "version": "6.0.3"}, "download_info": {"url": "https://files.pythonhosted.org/packages/ae/92/861f152ce87c452b11b9d0977952259aa7df792d71c1053365cc7b09cc08/pyyaml-6.0.3-cp39-cp39-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "requests", "version": "2.32.5"}, "download_info": {"url": "https://files.pythonhosted.org/packages/1e/db/4254e3eabe8020b458f1a747140d32277ec7a271daf1d235b70dc0b4e6e3/requests-2.32.5-py3-none-any.whl"}}, {"metadata": {"name": "charset-normalizer", "version": "3.4.7"}, "download_info": {"url": "https://files.pythonhosted.org/packages/01/1b/ef725f8eb19b5a261b30f78efa9252ef9d017985cb499102f6f49834cd12/charset_normalizer-3.4.7-cp39-cp39-macosx_10_9_universal2.whl"}}, {"metadata": {"name": "idna", "version": "3.18"}, "download_info": {"url": "https://files.pythonhosted.org/packages/1e/5e/d4e9f1a599fb8e573b7b87160658329fbf28d19eac2718f51fc3def3aa5a/idna-3.18-py3-none-any.whl"}}, {"metadata": {"name": "SQLAlchemy", "version": "2.0.51"}, "download_info": {"url": "https://files.pythonhosted.org/packages/2b/9f/34dcda476efe32dd18d473a1155983caaac8f4fa07bdfc952f5ba7df6c0c/sqlalchemy-2.0.51-cp39-cp39-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "tenacity", "version": "9.1.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/e5/30/643397144bfbfec6f6ef821f36f33e57d35946c44a2352d3c9f0ae847619/tenacity-9.1.2-py3-none-any.whl"}}, {"metadata": {"name": "typing_extensions", "version": "4.16.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/49/d3/b8441a820a491ddfc024b0b0cf0393375b75ea13866d9c66727e54c2fc80/typing_extensions-4.16.0-py3-none-any.whl"}}, {"metadata": {"name": "urllib3", "version": "2.6.3"}, "download_info": {"url": "https://files.pythonhosted.org/packages/39/08/aaaad47bc4e9dc8c725e68f9d04865dbcb2052843ff09c97b08904852d84/urllib3-2.6.3-py3-none-any.whl"}}, {"metadata": {"name": "uuid_utils", "version": "0.15.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/1d/c8/5a05247c1b7cbf49849523e1a26e3a8a76c0c1ec6dc84c7cc7b9a8c66503/uuid_utils-0.15.0-cp39-cp39-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl"}}, {"metadata": {"name": "pytest-asyncio", "version": "1.2.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/04/93/2fa34714b7a4ae72f2f8dad66ba17dd9a2c793220719e736dda28b7aec27/pytest_asyncio-1.2.0-py3-none-any.whl"}}, {"metadata": {"name": "backports.asyncio.runner", "version": "1.2.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/a0/59/76ab57e3fe74484f48a53f8e337171b4a2349e506eabe136d7e01d059086/backports_asyncio_runner-1.2.0-py3-none-any.whl"}}, {"metadata": {"name": "pytest", "version": "8.4.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/a8/a4/20da314d277121d6534b3a980b29035dcd51e6744bd79075a6ce8fa4eb8d/pytest-8.4.2-py3-none-any.whl"}}, {"metadata": {"name": "pluggy", "version": "1.6.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl"}}, {"metadata": {"name": "openai", "version": "2.44.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/ae/f4/561ed79fd94876160018a5e75254cfcb9b0e62d4dded9dcb20072e86d623/openai-2.44.0-py3-none-any.whl"}}, {"metadata": {"name": "anyio", "version": "4.12.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/38/0e/27be9fdef66e72d64c0cdc3cc2823101b80585f8119b5c112c2e8f5f7dab/anyio-4.12.1-py3-none-any.whl"}}, {"metadata": {"name": "distro", "version": "1.9.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/12/b3/231ffd4ab1fc9d679809f356cebee130ac7daa00d6d6f3206dd4fd137e9e/distro-1.9.0-py3-none-any.whl"}}, {"metadata": {"name": "jiter", "version": "0.16.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/69/79/7b84250429f0e262b935c627a8522cab31b5303e617400b14e808b599bdb/jiter-0.16.0-cp39-cp39-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "tiktoken", "version": "0.13.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/6b/7a/bf0829f99d87d25257165e2314d80df1f990568e659b0c72a95a1e8d226c/tiktoken-0.13.0-cp39-cp39-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "langchain-openai", "version": "0.3.35"}, "download_info": {"url": "https://files.pythonhosted.org/packages/d8/d5/c90c5478215c20ee71d8feaf676f7ffd78d0568f8c98bd83f81ce7562ed7/langchain_openai-0.3.35-py3-none-any.whl"}}, {"metadata": {"name": "langchain-community", "version": "0.3.31"}, "download_info": {"url": "https://files.pythonhosted.org/packages/e6/0a/b8848db67ad7c8d4652cb6f4cb78d49b5b5e6e8e51d695d62025aa3f7dbc/langchain_community-0.3.31-py3-none-any.whl"}}, {"metadata": {"name": "aiohttp", "version": "3.13.5"}, "download_info": {"url": "https://files.pythonhosted.org/packages/d5/34/8413eafee3421ade2d6ce9e7c0da1213e1d7f0049be09dcdc342b03a39ba/aiohttp-3.13.5-cp39-cp39-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "dataclasses-json", "version": "0.6.7"}, "download_info": {"url": "https://files.pythonhosted.org/packages/c3/be/d0d44e092656fe7a06b55e6103cbce807cdbdee17884a5367c68c9860853/dataclasses_json-0.6.7-py3-none-any.whl"}}, {"metadata": {"name": "httpx-sse", "version": "0.4.3"}, "download_info": {"url": "https://files.pythonhosted.org/packages/d2/fd/6668e5aec43ab844de6fc74927e155a3b37bf40d7c3790e49fc0406b6578/httpx_sse-0.4.3-py3-none-any.whl"}}, {"metadata": {"name": "marshmallow", "version": "3.26.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/be/2f/5108cb3ee4ba6501748c4908b908e55f42a5b66245b4cfe0c99326e1ef6e/marshmallow-3.26.2-py3-none-any.whl"}}, {"metadata": {"name": "multidict", "version": "6.7.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/83/9c/1d2a283d9c6f31e260cb6c2fccadc3edcf6c4c14ee0929cd2af4d2606dd7/multidict-6.7.1-cp39-cp39-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "pydantic-settings", "version": "2.11.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/83/d6/887a1ff844e64aa823fb4905978d882a633cfe295c32eacad582b78a7d8b/pydantic_settings-2.11.0-py3-none-any.whl"}}, {"metadata": {"name": "typing-inspect", "version": "0.9.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/65/f3/107a22063bf27bdccf2024833d3445f4eea42b2e598abfbd46f6a63b6cb0/typing_inspect-0.9.0-py3-none-any.whl"}}, {"metadata": {"name": "yarl", "version": "1.22.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/32/58/b8055273c203968e89808413ea4c984988b6649baabf10f4522e67c22d2f/yarl-1.22.0-cp39-cp39-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "aiohappyeyeballs", "version": "2.6.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/0f/15/5bf3b99495fb160b63f95972b81750f18f7f4e02ad051373b669d17d44f2/aiohappyeyeballs-2.6.1-py3-none-any.whl"}}, {"metadata": {"name": "aiosignal", "version": "1.4.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/fb/76/641ae371508676492379f16e2fa48f4e2c11741bd63c48be4b12a6b09cba/aiosignal-1.4.0-py3-none-any.whl"}}, {"metadata": {"name": "annotated-types", "version": "0.7.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl"}}, {"metadata": {"name": "attrs", "version": "26.1.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/64/b4/17d4b0b2a2dc85a6df63d1157e028ed19f90d4cd97c36717afef2bc2f395/attrs-26.1.0-py3-none-any.whl"}}, {"metadata": {"name": "certifi", "version": "2026.6.17"}, "download_info": {"url": "https://files.pythonhosted.org/packages/ef/2f/c5464532e965badff2f4c4c1a3a83f5697f0d7c407ed0cda44aaa99bb451/certifi-2026.6.17-py3-none-any.whl"}}, {"metadata": {"name": "exceptiongroup", "version": "1.3.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/8a/0e/97c33bf5009bdbac74fd2beace167cab3f978feb69cc36f1ef79360d6c4e/exceptiongroup-1.3.1-py3-none-any.whl"}}, {"metadata": {"name": "frozenlist", "version": "1.8.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/4b/de/ad9d82ca8e5fa8f0c636e64606553c79e2b859ad253030b62a21fe9986f5/frozenlist-1.8.0-cp39-cp39-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "h11", "version": "0.16.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/04/4b/29cac41a4d98d144bf5f6d33995617b185d14b22401f75ca86f384e87ff1/h11-0.16.0-py3-none-any.whl"}}, {"metadata": {"name": "iniconfig", "version": "2.1.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/2c/e1/e6716421ea10d38022b952c159d5161ca1193197fb744506875fbb87ea7b/iniconfig-2.1.0-py3-none-any.whl"}}, {"metadata": {"name": "jsonpointer", "version": "3.0.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/71/92/5e77f98553e9e75130c78900d000368476aed74276eb8ae8796f65f00918/jsonpointer-3.0.0-py2.py3-none-any.whl"}}, {"metadata": {"name": "mypy_extensions", "version": "1.1.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/79/7b/2c79738432f5c924bef5071f933bcc9efd0473bac3b4aa584a6f7c1c8df8/mypy_extensions-1.1.0-py3-none-any.whl"}}, {"metadata": {"name": "numpy", "version": "2.0.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/96/ff/06d1aa3eeb1c614eda245c1ba4fb88c483bee6520d361641331872ac4b82/numpy-2.0.2-cp39-cp39-macosx_14_0_arm64.whl"}}, {"metadata": {"name": "orjson", "version": "3.11.5"}, "download_info": {"url": "https://files.pythonhosted.org/packages/50/c7/7b682849dd4c9fb701a981669b964ea700516ecbd8e88f62aae07c6852bd/orjson-3.11.5-cp39-cp39-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl"}}, {"metadata": {"name": "propcache", "version": "0.4.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/7c/19/b65d98ae21384518b291d9939e24a8aeac4fdb5101b732576f8f7540e834/propcache-0.4.1-cp39-cp39-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "Pygments", "version": "2.20.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/f4/7e/a72dd26f3b0f4f2bf1dd8923c85f7ceb43172af56d63c7383eb62b332364/pygments-2.20.0-py3-none-any.whl"}}, {"metadata": {"name": "python-dotenv", "version": "1.2.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/14/1b/a298b06749107c305e1fe0f814c6c74aea7b2f1e10989cb30f544a1b3253/python_dotenv-1.2.1-py3-none-any.whl"}}, {"metadata": {"name": "requests-toolbelt", "version": "1.0.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/3f/51/d4db610ef29373b879047326cbf6fa98b6c1969d6f6dc423279de2b1be2c/requests_toolbelt-1.0.0-py2.py3-none-any.whl"}}, {"metadata": {"name": "tomli", "version": "2.4.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/7b/61/cceae43728b7de99d9b847560c262873a1f6c98202171fd5ed62640b494b/tomli-2.4.1-py3-none-any.whl"}}, {"metadata": {"name": "tqdm", "version": "4.68.3"}, "download_info": {"url": "https://files.pythonhosted.org/packages/d8/8e/bb97bb0c71802080bfc8952937d174e49cfc50de5c951dd47b2496f0dcdb/tqdm-4.68.3-py3-none-any.whl"}}, {"metadata": {"name": "typing-inspection", "version": "0.4.2"}, "download_info": {"url": "https://files.pythonhosted.org/packages/dc/9b/47798a6c91d8bdb567fe2698fe81e0c6b7cb7ef4d13da4114b41d239f65d/typing_inspection-0.4.2-py3-none-any.whl"}}, {"metadata": {"name": "zstandard", "version": "0.25.0"}, "download_info": {"url": "https://files.pythonhosted.org/packages/ca/aa/ceb8d79cbad6dabd4cb1178ca853f6a4374d791c5e0241a0988173e2a341/zstandard-0.25.0-cp39-cp39-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "regex", "version": "2026.1.15"}, "download_info": {"url": "https://files.pythonhosted.org/packages/4b/d2/a2fef3717deaff647d7de2bccf899a576c7eaf042b6b271fc4474515fe97/regex-2026.1.15-cp39-cp39-macosx_11_0_arm64.whl"}}, {"metadata": {"name": "sniffio", "version": "1.3.1"}, "download_info": {"url": "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl"}}], "install_targets_hash": "91d6b10b345568f3fa2afa2fbb3b10b5"} diff --git a/scripts/populate_tox/releases.jsonl b/scripts/populate_tox/releases.jsonl index ffb3ecca9a..406f38d411 100644 --- a/scripts/populate_tox/releases.jsonl +++ b/scripts/populate_tox/releases.jsonl @@ -166,23 +166,12 @@ {"info": {"classifiers": ["Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", "Programming Language :: Python :: 3.14"], "name": "ray", "requires_python": ">=3.10", "version": "2.55.1", "yanked": false}, "urls": [{"packagetype": "bdist_wheel", "filename": "ray-2.55.1-cp310-cp310-macosx_12_0_arm64.whl"}, {"packagetype": "bdist_wheel", "filename": "ray-2.55.1-cp310-cp310-manylinux2014_aarch64.whl"}, {"packagetype": "bdist_wheel", "filename": "ray-2.55.1-cp310-cp310-manylinux2014_x86_64.whl"}, {"packagetype": "bdist_wheel", "filename": "ray-2.55.1-cp310-cp310-win_amd64.whl"}, {"packagetype": "bdist_wheel", "filename": "ray-2.55.1-cp311-cp311-macosx_12_0_arm64.whl"}, {"packagetype": "bdist_wheel", "filename": "ray-2.55.1-cp311-cp311-manylinux2014_aarch64.whl"}, {"packagetype": "bdist_wheel", "filename": "ray-2.55.1-cp311-cp311-manylinux2014_x86_64.whl"}, {"packagetype": "bdist_wheel", "filename": "ray-2.55.1-cp311-cp311-win_amd64.whl"}, {"packagetype": "bdist_wheel", "filename": "ray-2.55.1-cp312-cp312-macosx_12_0_arm64.whl"}, {"packagetype": "bdist_wheel", "filename": "ray-2.55.1-cp312-cp312-manylinux2014_aarch64.whl"}, {"packagetype": "bdist_wheel", "filename": "ray-2.55.1-cp312-cp312-manylinux2014_x86_64.whl"}, {"packagetype": "bdist_wheel", "filename": "ray-2.55.1-cp312-cp312-win_amd64.whl"}, {"packagetype": "bdist_wheel", "filename": "ray-2.55.1-cp313-cp313-macosx_12_0_arm64.whl"}, {"packagetype": "bdist_wheel", "filename": "ray-2.55.1-cp313-cp313-manylinux2014_aarch64.whl"}, {"packagetype": "bdist_wheel", "filename": "ray-2.55.1-cp313-cp313-manylinux2014_x86_64.whl"}, {"packagetype": "bdist_wheel", "filename": "ray-2.55.1-cp314-cp314-macosx_12_0_arm64.whl"}, {"packagetype": "bdist_wheel", "filename": "ray-2.55.1-cp314-cp314-manylinux2014_aarch64.whl"}, {"packagetype": "bdist_wheel", "filename": "ray-2.55.1-cp314-cp314-manylinux2014_x86_64.whl"}]} {"info": {"classifiers": ["Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", "Programming Language :: Python :: 3.14"], "name": "ray", "requires_python": ">=3.10", "version": "2.56.1", "yanked": false}, "urls": [{"packagetype": "bdist_wheel", "filename": "ray-2.56.1-cp310-cp310-macosx_12_0_arm64.whl"}, {"packagetype": "bdist_wheel", "filename": "ray-2.56.1-cp310-cp310-manylinux2014_aarch64.whl"}, {"packagetype": "bdist_wheel", "filename": "ray-2.56.1-cp310-cp310-manylinux2014_x86_64.whl"}, {"packagetype": "bdist_wheel", "filename": "ray-2.56.1-cp310-cp310-win_amd64.whl"}, {"packagetype": "bdist_wheel", "filename": "ray-2.56.1-cp311-cp311-macosx_12_0_arm64.whl"}, {"packagetype": "bdist_wheel", "filename": "ray-2.56.1-cp311-cp311-manylinux2014_aarch64.whl"}, {"packagetype": "bdist_wheel", "filename": "ray-2.56.1-cp311-cp311-manylinux2014_x86_64.whl"}, {"packagetype": "bdist_wheel", "filename": "ray-2.56.1-cp311-cp311-win_amd64.whl"}, {"packagetype": "bdist_wheel", "filename": "ray-2.56.1-cp312-cp312-macosx_12_0_arm64.whl"}, {"packagetype": "bdist_wheel", "filename": "ray-2.56.1-cp312-cp312-manylinux2014_aarch64.whl"}, {"packagetype": "bdist_wheel", "filename": "ray-2.56.1-cp312-cp312-manylinux2014_x86_64.whl"}, {"packagetype": "bdist_wheel", "filename": "ray-2.56.1-cp312-cp312-win_amd64.whl"}, {"packagetype": "bdist_wheel", "filename": "ray-2.56.1-cp313-cp313-macosx_12_0_arm64.whl"}, {"packagetype": "bdist_wheel", "filename": "ray-2.56.1-cp313-cp313-manylinux2014_aarch64.whl"}, {"packagetype": "bdist_wheel", "filename": "ray-2.56.1-cp313-cp313-manylinux2014_x86_64.whl"}, {"packagetype": "bdist_wheel", "filename": "ray-2.56.1-cp314-cp314-macosx_12_0_arm64.whl"}, {"packagetype": "bdist_wheel", "filename": "ray-2.56.1-cp314-cp314-manylinux2014_aarch64.whl"}, {"packagetype": "bdist_wheel", "filename": "ray-2.56.1-cp314-cp314-manylinux2014_x86_64.whl"}]} {"info": {"classifiers": ["Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9"], "name": "ray", "requires_python": "", "version": "2.7.2", "yanked": false}, "urls": [{"packagetype": "bdist_wheel", "filename": "ray-2.7.2-cp310-cp310-macosx_10_15_x86_64.whl"}, {"packagetype": "bdist_wheel", "filename": "ray-2.7.2-cp310-cp310-macosx_11_0_arm64.whl"}, {"packagetype": "bdist_wheel", "filename": "ray-2.7.2-cp310-cp310-manylinux2014_aarch64.whl"}, {"packagetype": "bdist_wheel", "filename": "ray-2.7.2-cp310-cp310-manylinux2014_x86_64.whl"}, {"packagetype": "bdist_wheel", "filename": "ray-2.7.2-cp310-cp310-win_amd64.whl"}, {"packagetype": "bdist_wheel", "filename": "ray-2.7.2-cp311-cp311-macosx_10_15_x86_64.whl"}, {"packagetype": "bdist_wheel", "filename": "ray-2.7.2-cp311-cp311-macosx_11_0_arm64.whl"}, {"packagetype": "bdist_wheel", "filename": "ray-2.7.2-cp311-cp311-manylinux2014_aarch64.whl"}, {"packagetype": "bdist_wheel", "filename": "ray-2.7.2-cp311-cp311-manylinux2014_x86_64.whl"}, {"packagetype": "bdist_wheel", "filename": "ray-2.7.2-cp311-cp311-win_amd64.whl"}, {"packagetype": "bdist_wheel", "filename": "ray-2.7.2-cp37-cp37m-macosx_10_15_x86_64.whl"}, {"packagetype": "bdist_wheel", "filename": "ray-2.7.2-cp37-cp37m-manylinux2014_aarch64.whl"}, {"packagetype": "bdist_wheel", "filename": "ray-2.7.2-cp37-cp37m-manylinux2014_x86_64.whl"}, {"packagetype": "bdist_wheel", "filename": "ray-2.7.2-cp37-cp37m-win_amd64.whl"}, {"packagetype": "bdist_wheel", "filename": "ray-2.7.2-cp38-cp38-macosx_10_15_x86_64.whl"}, {"packagetype": "bdist_wheel", "filename": "ray-2.7.2-cp38-cp38-macosx_11_0_arm64.whl"}, {"packagetype": "bdist_wheel", "filename": "ray-2.7.2-cp38-cp38-manylinux2014_aarch64.whl"}, {"packagetype": "bdist_wheel", "filename": "ray-2.7.2-cp38-cp38-manylinux2014_x86_64.whl"}, {"packagetype": "bdist_wheel", "filename": "ray-2.7.2-cp38-cp38-win_amd64.whl"}, {"packagetype": "bdist_wheel", "filename": "ray-2.7.2-cp39-cp39-macosx_10_15_x86_64.whl"}, {"packagetype": "bdist_wheel", "filename": "ray-2.7.2-cp39-cp39-macosx_11_0_arm64.whl"}, {"packagetype": "bdist_wheel", "filename": "ray-2.7.2-cp39-cp39-manylinux2014_aarch64.whl"}, {"packagetype": "bdist_wheel", "filename": "ray-2.7.2-cp39-cp39-manylinux2014_x86_64.whl"}, {"packagetype": "bdist_wheel", "filename": "ray-2.7.2-cp39-cp39-win_amd64.whl"}]} -{"info": {"classifiers": ["Development Status :: 5 - Production/Stable", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6"], "name": "redis", "requires_python": "", "version": "2.10.6", "yanked": false}, "urls": [{"packagetype": "bdist_wheel", "filename": "redis-2.10.6-py2.py3-none-any.whl"}, {"packagetype": "sdist", "filename": "redis-2.10.6.tar.gz"}]} -{"info": {"classifiers": ["Development Status :: 5 - Production/Stable", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6"], "name": "redis", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "version": "3.0.1", "yanked": false}, "urls": [{"packagetype": "bdist_wheel", "filename": "redis-3.0.1-py2.py3-none-any.whl"}, {"packagetype": "sdist", "filename": "redis-3.0.1.tar.gz"}]} -{"info": {"classifiers": ["Development Status :: 5 - Production/Stable", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7"], "name": "redis", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "version": "3.1.0", "yanked": false}, "urls": [{"packagetype": "bdist_wheel", "filename": "redis-3.1.0-py2.py3-none-any.whl"}, {"packagetype": "sdist", "filename": "redis-3.1.0.tar.gz"}]} -{"info": {"classifiers": ["Development Status :: 5 - Production/Stable", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7"], "name": "redis", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "version": "3.2.1", "yanked": false}, "urls": [{"packagetype": "bdist_wheel", "filename": "redis-3.2.1-py2.py3-none-any.whl"}, {"packagetype": "sdist", "filename": "redis-3.2.1.tar.gz"}]} -{"info": {"classifiers": ["Development Status :: 5 - Production/Stable", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy"], "name": "redis", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*", "version": "3.5.3", "yanked": false}, "urls": [{"packagetype": "bdist_wheel", "filename": "redis-3.5.3-py2.py3-none-any.whl"}, {"packagetype": "sdist", "filename": "redis-3.5.3.tar.gz"}]} -{"info": {"classifiers": ["Development Status :: 5 - Production/Stable", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3 :: Only", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy"], "name": "redis", "requires_python": ">=3.6", "version": "4.0.2", "yanked": false}, "urls": [{"packagetype": "bdist_wheel", "filename": "redis-4.0.2-py3-none-any.whl"}, {"packagetype": "sdist", "filename": "redis-4.0.2.tar.gz"}]} +{"info": {"classifiers": ["Development Status :: 5 - Production/Stable", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3 :: Only", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy"], "name": "redis", "requires_python": ">=3.6", "version": "4.2.2", "yanked": false}, "urls": [{"packagetype": "bdist_wheel", "filename": "redis-4.2.2-py3-none-any.whl"}, {"packagetype": "sdist", "filename": "redis-4.2.2.tar.gz"}]} {"info": {"classifiers": ["Development Status :: 5 - Production/Stable", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3 :: Only", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy"], "name": "redis", "requires_python": ">=3.7", "version": "4.6.0", "yanked": false}, "urls": [{"packagetype": "bdist_wheel", "filename": "redis-4.6.0-py3-none-any.whl"}, {"packagetype": "sdist", "filename": "redis-4.6.0.tar.gz"}]} -{"info": {"classifiers": ["Development Status :: 5 - Production/Stable", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3 :: Only", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy"], "name": "redis", "requires_python": ">=3.8", "version": "5.1.1", "yanked": false}, "urls": [{"packagetype": "bdist_wheel", "filename": "redis-5.1.1-py3-none-any.whl"}, {"packagetype": "sdist", "filename": "redis-5.1.1.tar.gz"}]} {"info": {"classifiers": ["Development Status :: 5 - Production/Stable", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3 :: Only", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy"], "name": "redis", "requires_python": ">=3.8", "version": "5.3.1", "yanked": false}, "urls": [{"packagetype": "bdist_wheel", "filename": "redis-5.3.1-py3-none-any.whl"}, {"packagetype": "sdist", "filename": "redis-5.3.1.tar.gz"}]} {"info": {"classifiers": ["Development Status :: 5 - Production/Stable", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3 :: Only", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy"], "name": "redis", "requires_python": ">=3.9", "version": "6.4.0", "yanked": false}, "urls": [{"packagetype": "bdist_wheel", "filename": "redis-6.4.0-py3-none-any.whl"}, {"packagetype": "sdist", "filename": "redis-6.4.0.tar.gz"}]} {"info": {"classifiers": ["Development Status :: 5 - Production/Stable", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3 :: Only", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", "Programming Language :: Python :: 3.14", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy"], "name": "redis", "requires_python": ">=3.10", "version": "7.4.1", "yanked": false}, "urls": [{"packagetype": "bdist_wheel", "filename": "redis-7.4.1-py3-none-any.whl"}, {"packagetype": "sdist", "filename": "redis-7.4.1.tar.gz"}]} {"info": {"classifiers": ["Development Status :: 5 - Production/Stable", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3 :: Only", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", "Programming Language :: Python :: 3.14", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy"], "name": "redis", "requires_python": ">=3.10", "version": "8.1.0", "yanked": false}, "urls": [{"packagetype": "bdist_wheel", "filename": "redis-8.1.0-py3-none-any.whl"}, {"packagetype": "sdist", "filename": "redis-8.1.0.tar.gz"}]} -{"info": {"classifiers": ["Development Status :: 3 - Alpha", "Environment :: Web Environment", "Operating System :: POSIX", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.2", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4"], "name": "redis-py-cluster", "requires_python": null, "version": "0.1.0", "yanked": false}, "urls": [{"packagetype": "sdist", "filename": "redis-py-cluster-0.1.0.tar.gz"}]} -{"info": {"classifiers": [], "name": "redis-py-cluster", "requires_python": null, "version": "1.1.0", "yanked": false}, "urls": [{"packagetype": "sdist", "filename": "redis-py-cluster-1.1.0.tar.gz"}]} -{"info": {"classifiers": ["Development Status :: 5 - Production/Stable", "Environment :: Web Environment", "License :: OSI Approved :: MIT License", "Operating System :: POSIX", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6"], "name": "redis-py-cluster", "requires_python": "", "version": "1.3.6", "yanked": false}, "urls": [{"packagetype": "sdist", "filename": "redis-py-cluster-1.3.6.tar.gz"}]} -{"info": {"classifiers": ["Development Status :: 5 - Production/Stable", "Environment :: Web Environment", "License :: OSI Approved :: MIT License", "Operating System :: POSIX", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7"], "name": "redis-py-cluster", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "version": "2.0.0", "yanked": false}, "urls": [{"packagetype": "bdist_wheel", "filename": "redis_py_cluster-2.0.0-py2.py3-none-any.whl"}, {"packagetype": "sdist", "filename": "redis-py-cluster-2.0.0.tar.gz"}]} -{"info": {"classifiers": ["Development Status :: 5 - Production/Stable", "Environment :: Web Environment", "License :: OSI Approved :: MIT License", "Operating System :: POSIX", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8"], "name": "redis-py-cluster", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4", "version": "2.1.3", "yanked": false}, "urls": [{"packagetype": "bdist_wheel", "filename": "redis_py_cluster-2.1.3-py2.py3-none-any.whl"}, {"packagetype": "sdist", "filename": "redis-py-cluster-2.1.3.tar.gz"}]} {"info": {"classifiers": ["Development Status :: 5 - Production/Stable", "Environment :: Web Environment", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3 :: Only", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy", "Topic :: Internet :: WWW/HTTP", "Topic :: Software Development :: Libraries"], "name": "requests", "requires_python": ">=3.7", "version": "2.30.0", "yanked": false}, "urls": [{"packagetype": "bdist_wheel", "filename": "requests-2.30.0-py3-none-any.whl"}, {"packagetype": "sdist", "filename": "requests-2.30.0.tar.gz"}]} {"info": {"classifiers": ["Development Status :: 5 - Production/Stable", "Environment :: Web Environment", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3 :: Only", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", "Programming Language :: Python :: 3.14", "Programming Language :: Python :: 3.15", "Programming Language :: Python :: Free Threading :: 2 - Beta", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy", "Topic :: Internet :: WWW/HTTP", "Topic :: Software Development :: Libraries"], "name": "requests", "requires_python": ">=3.10", "version": "2.34.2", "yanked": false}, "urls": [{"packagetype": "bdist_wheel", "filename": "requests-2.34.2-py3-none-any.whl"}, {"packagetype": "sdist", "filename": "requests-2.34.2.tar.gz"}]} {"info": {"classifiers": ["Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "Intended Audience :: End Users/Desktop", "Intended Audience :: Information Technology", "Intended Audience :: Science/Research", "Intended Audience :: System Administrators", "License :: OSI Approved :: BSD License", "Operating System :: MacOS", "Operating System :: POSIX", "Operating System :: Unix", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Internet", "Topic :: Scientific/Engineering", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: System :: Distributed Computing", "Topic :: System :: Monitoring", "Topic :: System :: Systems Administration"], "name": "rq", "requires_python": ">=2.7", "version": "1.0", "yanked": false}, "urls": [{"packagetype": "sdist", "filename": "rq-1.0.tar.gz"}]} diff --git a/scripts/split_tox_gh_actions/split_tox_gh_actions.py b/scripts/split_tox_gh_actions/split_tox_gh_actions.py index 4c18d0656a..2a4b35698f 100755 --- a/scripts/split_tox_gh_actions/split_tox_gh_actions.py +++ b/scripts/split_tox_gh_actions/split_tox_gh_actions.py @@ -108,7 +108,6 @@ "clickhouse_driver", "pymongo", "redis", - "redis_py_cluster_legacy", "sqlalchemy", ], "Flags": [ diff --git a/sentry_sdk/integrations/__init__.py b/sentry_sdk/integrations/__init__.py index 5ee15a80d5..0f674cb4bf 100644 --- a/sentry_sdk/integrations/__init__.py +++ b/sentry_sdk/integrations/__init__.py @@ -164,7 +164,7 @@ def iter_default_integrations( "pyreqwest": (0, 11, 6), "quart": (0, 19, 0), "ray": (2, 7, 0), - "redis": (2, 10, 0), + "redis": (4, 2, 0), "requests": (2, 30, 0), "rq": (1, 0), "sanic": (22, 0), diff --git a/sentry_sdk/integrations/redis/__init__.py b/sentry_sdk/integrations/redis/__init__.py index 91c58a3952..9871ca038d 100644 --- a/sentry_sdk/integrations/redis/__init__.py +++ b/sentry_sdk/integrations/redis/__init__.py @@ -1,13 +1,10 @@ -import warnings from typing import TYPE_CHECKING from sentry_sdk.integrations import DidNotEnable, Integration, _check_minimum_version -from sentry_sdk.integrations.redis.consts import _DEFAULT_MAX_DATA_SIZE from sentry_sdk.integrations.redis.rb import _patch_rb from sentry_sdk.integrations.redis.redis import _patch_redis from sentry_sdk.integrations.redis.redis_cluster import _patch_redis_cluster -from sentry_sdk.integrations.redis.redis_py_cluster_legacy import _patch_rediscluster -from sentry_sdk.utils import logger, parse_version +from sentry_sdk.utils import parse_version if TYPE_CHECKING: from typing import Optional @@ -18,24 +15,13 @@ class RedisIntegration(Integration): def __init__( self, - max_data_size: "Optional[int]" = _DEFAULT_MAX_DATA_SIZE, cache_prefixes: "Optional[list[str]]" = None, ) -> None: - self.max_data_size = max_data_size self.cache_prefixes = cache_prefixes if cache_prefixes is not None else [] - if max_data_size is not None: - warnings.warn( - "The `max_data_size` parameter of `RedisIntegration` is " - "deprecated and will be removed in version 3.0 of sentry-sdk.", - DeprecationWarning, - stacklevel=2, - ) - @staticmethod def setup_once() -> None: try: - from redis import StrictRedis, client from redis import __version__ as REDIS_VERSION except ImportError: raise DidNotEnable("Redis client not installed") @@ -43,11 +29,6 @@ def setup_once() -> None: version = parse_version(REDIS_VERSION) _check_minimum_version(RedisIntegration, version) - _patch_redis(StrictRedis, client) + _patch_redis() _patch_redis_cluster() _patch_rb() - - try: - _patch_rediscluster() - except Exception: - logger.exception("Error occurred while patching `rediscluster` library") diff --git a/sentry_sdk/integrations/redis/_async_common.py b/sentry_sdk/integrations/redis/_async_common.py index bd83d22191..d08c07631d 100644 --- a/sentry_sdk/integrations/redis/_async_common.py +++ b/sentry_sdk/integrations/redis/_async_common.py @@ -21,7 +21,7 @@ from collections.abc import Callable from typing import Any, Optional, Union - from redis.asyncio.client import Pipeline, StrictRedis + from redis.asyncio.client import Pipeline, Redis from redis.asyncio.cluster import ClusterPipeline, RedisCluster from sentry_sdk.traces import StreamedSpan @@ -87,7 +87,7 @@ async def _sentry_execute(self: "Any", *args: "Any", **kwargs: "Any") -> "Any": def patch_redis_async_client( - cls: "Union[type[StrictRedis[Any]], type[RedisCluster[Any]]]", + cls: "Union[type[Redis[Any]], type[RedisCluster[Any]]]", is_cluster: bool, set_db_data_fn: "Callable[[Union[Span, StreamedSpan], Any], None]", ) -> None: diff --git a/sentry_sdk/integrations/redis/consts.py b/sentry_sdk/integrations/redis/consts.py index 0822c2c930..579bdd4f15 100644 --- a/sentry_sdk/integrations/redis/consts.py +++ b/sentry_sdk/integrations/redis/consts.py @@ -16,4 +16,3 @@ ] _MAX_NUM_ARGS = 10 # Trim argument lists to this many values _MAX_NUM_COMMANDS = 10 # Trim command lists to this many values -_DEFAULT_MAX_DATA_SIZE = None diff --git a/sentry_sdk/integrations/redis/modules/caches.py b/sentry_sdk/integrations/redis/modules/caches.py index 35f20fddd9..e7946dd8ce 100644 --- a/sentry_sdk/integrations/redis/modules/caches.py +++ b/sentry_sdk/integrations/redis/modules/caches.py @@ -74,10 +74,6 @@ def _get_cache_span_description( integration: "RedisIntegration", ) -> str: description = _key_as_string(_get_safe_key(redis_command, args, kwargs)) - - if integration.max_data_size and len(description) > integration.max_data_size: - description = description[: integration.max_data_size - len("...")] + "..." - return description diff --git a/sentry_sdk/integrations/redis/modules/queries.py b/sentry_sdk/integrations/redis/modules/queries.py index 69207bf6f6..968e3dcec0 100644 --- a/sentry_sdk/integrations/redis/modules/queries.py +++ b/sentry_sdk/integrations/redis/modules/queries.py @@ -39,9 +39,6 @@ def _get_db_span_description( with capture_internal_exceptions(): description = _get_safe_command(command_name, args) - if integration.max_data_size and len(description) > integration.max_data_size: - description = description[: integration.max_data_size - len("...")] + "..." - return description diff --git a/sentry_sdk/integrations/redis/redis.py b/sentry_sdk/integrations/redis/redis.py index e704c9bc6a..5ebdf30b7b 100644 --- a/sentry_sdk/integrations/redis/redis.py +++ b/sentry_sdk/integrations/redis/redis.py @@ -6,6 +6,10 @@ from typing import TYPE_CHECKING +from sentry_sdk.integrations.redis._async_common import ( + patch_redis_async_client, + patch_redis_async_pipeline, +) from sentry_sdk.integrations.redis._sync_common import ( patch_redis_client, patch_redis_pipeline, @@ -20,9 +24,12 @@ def _get_redis_command_args(command: "Any") -> "Sequence[Any]": return command[0] -def _patch_redis(StrictRedis: "Any", client: "Any") -> None: # noqa: N803 +def _patch_redis() -> None: + import redis.asyncio + from redis import Redis, client + patch_redis_client( - StrictRedis, + Redis, is_cluster=False, set_db_data_fn=_set_db_data, ) @@ -32,36 +39,15 @@ def _patch_redis(StrictRedis: "Any", client: "Any") -> None: # noqa: N803 get_command_args_fn=_get_redis_command_args, set_db_data_fn=_set_db_data, ) - try: - strict_pipeline = client.StrictPipeline - except AttributeError: - pass - else: - patch_redis_pipeline( - strict_pipeline, - is_cluster=False, - get_command_args_fn=_get_redis_command_args, - set_db_data_fn=_set_db_data, - ) - try: - import redis.asyncio - except ImportError: - pass - else: - from sentry_sdk.integrations.redis._async_common import ( - patch_redis_async_client, - patch_redis_async_pipeline, - ) - - patch_redis_async_client( - redis.asyncio.client.StrictRedis, - is_cluster=False, - set_db_data_fn=_set_db_data, - ) - patch_redis_async_pipeline( - redis.asyncio.client.Pipeline, - False, - _get_redis_command_args, - set_db_data_fn=_set_db_data, - ) + patch_redis_async_client( + redis.asyncio.client.Redis, + is_cluster=False, + set_db_data_fn=_set_db_data, + ) + patch_redis_async_pipeline( + redis.asyncio.client.Pipeline, + False, + _get_redis_command_args, + set_db_data_fn=_set_db_data, + ) diff --git a/sentry_sdk/integrations/redis/redis_py_cluster_legacy.py b/sentry_sdk/integrations/redis/redis_py_cluster_legacy.py deleted file mode 100644 index 3437aa1f2f..0000000000 --- a/sentry_sdk/integrations/redis/redis_py_cluster_legacy.py +++ /dev/null @@ -1,49 +0,0 @@ -""" -Instrumentation for redis-py-cluster -The project redis-py-cluster is EOL and was integrated into redis-py starting from version 4.1.0 (Dec 26, 2021). - -https://github.com/grokzen/redis-py-cluster -""" - -from sentry_sdk.integrations.redis._sync_common import ( - patch_redis_client, - patch_redis_pipeline, -) -from sentry_sdk.integrations.redis.modules.queries import _set_db_data -from sentry_sdk.integrations.redis.utils import _parse_rediscluster_command - - -def _patch_rediscluster() -> None: - try: - import rediscluster # type: ignore - except ImportError: - return - - patch_redis_client( - rediscluster.RedisCluster, - is_cluster=True, - set_db_data_fn=_set_db_data, - ) - - # up to v1.3.6, __version__ attribute is a tuple - # from v2.0.0, __version__ is a string and VERSION a tuple - version = getattr(rediscluster, "VERSION", rediscluster.__version__) - - # StrictRedisCluster was introduced in v0.2.0 and removed in v2.0.0 - # https://github.com/Grokzen/redis-py-cluster/blob/master/docs/release-notes.rst - if (0, 2, 0) < version < (2, 0, 0): - pipeline_cls = rediscluster.pipeline.StrictClusterPipeline - patch_redis_client( - rediscluster.StrictRedisCluster, - is_cluster=True, - set_db_data_fn=_set_db_data, - ) - else: - pipeline_cls = rediscluster.pipeline.ClusterPipeline - - patch_redis_pipeline( - pipeline_cls, - is_cluster=True, - get_command_args_fn=_parse_rediscluster_command, - set_db_data_fn=_set_db_data, - ) diff --git a/tests/integrations/redis/test_redis.py b/tests/integrations/redis/test_redis.py index 629f305ac3..539336e9e9 100644 --- a/tests/integrations/redis/test_redis.py +++ b/tests/integrations/redis/test_redis.py @@ -1,7 +1,7 @@ from unittest import mock import pytest -from fakeredis import FakeStrictRedis +from fakeredis import FakeRedis import sentry_sdk from sentry_sdk import capture_message, start_transaction @@ -20,7 +20,7 @@ def test_basic(sentry_init, capture_events): sentry_init(integrations=[RedisIntegration()]) events = capture_events() - connection = FakeStrictRedis() + connection = FakeRedis() connection.get("foobar") capture_message("hi") @@ -66,7 +66,7 @@ def test_redis_pipeline( trace_lifecycle="stream" if span_streaming else "static", ) - connection = FakeStrictRedis() + connection = FakeRedis() if span_streaming: items = capture_items("span") @@ -141,7 +141,7 @@ def test_redis_pipeline_data_collection( _experiments={"data_collection": data_collection}, ) - connection = FakeStrictRedis() + connection = FakeRedis() if span_streaming: items = capture_items("span") @@ -192,7 +192,7 @@ def test_sensitive_data(sentry_init, capture_events, capture_items, span_streami trace_lifecycle="stream" if span_streaming else "static", ) - connection = FakeStrictRedis() + connection = FakeRedis() if span_streaming: items = capture_items("span") @@ -228,7 +228,7 @@ def test_pii_data_redacted(sentry_init, capture_events, capture_items, span_stre trace_lifecycle="stream" if span_streaming else "static", ) - connection = FakeStrictRedis() + connection = FakeRedis() if span_streaming: items = capture_items("span") @@ -296,7 +296,7 @@ def test_data_collection_database_query_data( _experiments={"data_collection": data_collection}, ) - connection = FakeStrictRedis() + connection = FakeRedis() if span_streaming: items = capture_items("span") @@ -352,7 +352,7 @@ def test_database_query_data_takes_precedence_over_send_default_pii( _experiments={"data_collection": data_collection}, ) - connection = FakeStrictRedis() + connection = FakeRedis() if span_streaming: items = capture_items("span") @@ -387,7 +387,7 @@ def test_pii_data_sent(sentry_init, capture_events, capture_items, span_streamin trace_lifecycle="stream" if span_streaming else "static", ) - connection = FakeStrictRedis() + connection = FakeRedis() if span_streaming: items = capture_items("span") @@ -443,7 +443,7 @@ def test_no_data_truncation_by_default( trace_lifecycle="stream" if span_streaming else "static", ) - connection = FakeStrictRedis() + connection = FakeRedis() long_string = "a" * 100000 short_string = "b" * 10 @@ -482,70 +482,16 @@ def test_no_data_truncation_by_default( assert spans[1]["description"] == f"SET 'somekey2' '{short_string}'" -@pytest.mark.parametrize("span_streaming", [True, False]) -def test_data_truncation_custom( - sentry_init, capture_events, capture_items, span_streaming -): - sentry_init( - integrations=[RedisIntegration(max_data_size=30)], - traces_sample_rate=1.0, - send_default_pii=True, - trace_lifecycle="stream" if span_streaming else "static", - ) - - connection = FakeStrictRedis() - long_string = "a" * 100000 - short_string = "b" * 10 - expected_long = "SET 'somekey1' '%s..." % ( - long_string[: 30 - len("...") - len("SET 'somekey1' '")], - ) - expected_short = "SET 'somekey2' '%s'" % (short_string,) - - if span_streaming: - items = capture_items("span") - with sentry_sdk.traces.start_span(name="custom parent"): - connection.set("somekey1", long_string) - connection.set("somekey2", short_string) - sentry_sdk.flush() - - assert len(items) == 3 - set1, set2, parent = [item.payload for item in items] - - assert parent["name"] == "custom parent" - assert set1["name"] == expected_long - assert ( - set1["attributes"][SPANDATA.DB_QUERY_TEXT] - == f"SET 'somekey1' '{long_string}'" - ) - assert set1["attributes"]["sentry.op"] == "db.redis" - assert set2["name"] == expected_short - assert ( - set2["attributes"][SPANDATA.DB_QUERY_TEXT] - == f"SET 'somekey2' '{short_string}'" - ) - else: - events = capture_events() - with start_transaction(): - connection.set("somekey1", long_string) - connection.set("somekey2", short_string) - - (event,) = events - spans = event["spans"] - assert spans[0]["op"] == "db.redis" - assert spans[0]["description"] == expected_long - assert spans[1]["description"] == expected_short - - def test_breadcrumbs(sentry_init, capture_events): sentry_init( - integrations=[RedisIntegration(max_data_size=30)], + integrations=[RedisIntegration()], send_default_pii=True, ) events = capture_events() - connection = FakeStrictRedis() + connection = FakeRedis() - long_string = "a" * 100000 + long_string = "a" * 30 connection.set("somekey1", long_string) short_string = "b" * 10 connection.set("somekey2", short_string) @@ -556,7 +502,7 @@ def test_breadcrumbs(sentry_init, capture_events): crumbs = event["breadcrumbs"]["values"] assert crumbs[0] == { - "message": "SET 'somekey1' 'aaaaaaaaaaa...", + "message": "SET 'somekey1' '" + 30 * "a" + "'", "type": "redis", "category": "redis", "data": { @@ -594,7 +540,7 @@ def test_db_connection_attributes_client( if span_streaming: items = capture_items("span") with sentry_sdk.traces.start_span(name="custom parent"): - connection = FakeStrictRedis(connection_pool=MOCK_CONNECTION_POOL) + connection = FakeRedis(connection_pool=MOCK_CONNECTION_POOL) connection.get("foobar") sentry_sdk.flush() @@ -614,7 +560,7 @@ def test_db_connection_attributes_client( else: events = capture_events() with start_transaction(): - connection = FakeStrictRedis(connection_pool=MOCK_CONNECTION_POOL) + connection = FakeRedis(connection_pool=MOCK_CONNECTION_POOL) connection.get("foobar") (event,) = events @@ -642,7 +588,7 @@ def test_db_connection_attributes_pipeline( if span_streaming: items = capture_items("span") with sentry_sdk.traces.start_span(name="custom parent"): - connection = FakeStrictRedis(connection_pool=MOCK_CONNECTION_POOL) + connection = FakeRedis(connection_pool=MOCK_CONNECTION_POOL) pipeline = connection.pipeline(transaction=False) pipeline.get("foo") pipeline.set("bar", 1) @@ -665,7 +611,7 @@ def test_db_connection_attributes_pipeline( else: events = capture_events() with start_transaction(): - connection = FakeStrictRedis(connection_pool=MOCK_CONNECTION_POOL) + connection = FakeRedis(connection_pool=MOCK_CONNECTION_POOL) pipeline = connection.pipeline(transaction=False) pipeline.get("foo") pipeline.set("bar", 1) @@ -692,7 +638,7 @@ def test_span_origin(sentry_init, capture_events, capture_items, span_streaming) trace_lifecycle="stream" if span_streaming else "static", ) - connection = FakeStrictRedis() + connection = FakeRedis() if span_streaming: items = capture_items("span") diff --git a/tests/integrations/redis/test_redis_cache_module.py b/tests/integrations/redis/test_redis_cache_module.py index fa673620e3..e6c8db406d 100644 --- a/tests/integrations/redis/test_redis_cache_module.py +++ b/tests/integrations/redis/test_redis_cache_module.py @@ -2,7 +2,7 @@ import fakeredis import pytest -from fakeredis import FakeStrictRedis +from fakeredis import FakeRedis import sentry_sdk from sentry_sdk.consts import SPANDATA @@ -23,7 +23,7 @@ def test_no_cache_basic(sentry_init, capture_events, capture_items, span_streami trace_lifecycle="stream" if span_streaming else "static", ) - connection = FakeStrictRedis() + connection = FakeRedis() if span_streaming: items = capture_items("span") @@ -58,7 +58,7 @@ def test_cache_basic(sentry_init, capture_events, capture_items, span_streaming) trace_lifecycle="stream" if span_streaming else "static", ) - connection = FakeStrictRedis() + connection = FakeRedis() if span_streaming: items = capture_items("span") @@ -159,7 +159,7 @@ def test_cache_keys(sentry_init, capture_events, capture_items, span_streaming): trace_lifecycle="stream" if span_streaming else "static", ) - connection = FakeStrictRedis() + connection = FakeRedis() if span_streaming: items = capture_items("span") @@ -239,7 +239,7 @@ def test_cache_data(sentry_init, capture_events, capture_items, span_streaming): # Use a unique host per parametrized run so fakeredis (which shares state # keyed by host:port) doesn't leak the SET from a prior run into this one. host = f"mycacheserver-{uuid.uuid4().hex}.io" - connection = FakeStrictRedis(host=host, port=6378) + connection = FakeRedis(host=host, port=6378) if span_streaming: items = capture_items("span") @@ -389,7 +389,7 @@ def test_cache_prefixes(sentry_init, capture_events, capture_items, span_streami trace_lifecycle="stream" if span_streaming else "static", ) - connection = FakeStrictRedis() + connection = FakeRedis() if span_streaming: items = capture_items("span") diff --git a/tests/integrations/redis_py_cluster_legacy/__init__.py b/tests/integrations/redis_py_cluster_legacy/__init__.py deleted file mode 100644 index b292f63ec8..0000000000 --- a/tests/integrations/redis_py_cluster_legacy/__init__.py +++ /dev/null @@ -1,3 +0,0 @@ -import pytest - -pytest.importorskip("rediscluster") diff --git a/tests/integrations/redis_py_cluster_legacy/test_redis_py_cluster_legacy.py b/tests/integrations/redis_py_cluster_legacy/test_redis_py_cluster_legacy.py deleted file mode 100644 index 1a536d3030..0000000000 --- a/tests/integrations/redis_py_cluster_legacy/test_redis_py_cluster_legacy.py +++ /dev/null @@ -1,171 +0,0 @@ -from unittest import mock - -import pytest -import rediscluster - -from sentry_sdk import capture_message -from sentry_sdk.api import start_transaction -from sentry_sdk.consts import SPANDATA -from sentry_sdk.integrations.redis import RedisIntegration -from tests.conftest import ApproxDict - -MOCK_CONNECTION_POOL = mock.MagicMock() -MOCK_CONNECTION_POOL.connection_kwargs = { - "host": "localhost", - "port": 63791, - "db": 1, -} - - -rediscluster_classes = [rediscluster.RedisCluster] - -if hasattr(rediscluster, "StrictRedisCluster"): - rediscluster_classes.append(rediscluster.StrictRedisCluster) - - -@pytest.fixture(autouse=True) -def monkeypatch_rediscluster_classes(reset_integrations): - try: - pipeline_cls = rediscluster.pipeline.ClusterPipeline - except AttributeError: - pipeline_cls = rediscluster.StrictClusterPipeline - rediscluster.RedisCluster.pipeline = lambda *_, **__: pipeline_cls( - connection_pool=MOCK_CONNECTION_POOL - ) - pipeline_cls.execute = lambda *_, **__: None - for cls in rediscluster_classes: - cls.execute_command = lambda *_, **__: None - - -@pytest.mark.parametrize("rediscluster_cls", rediscluster_classes) -def test_rediscluster_basic(rediscluster_cls, sentry_init, capture_events): - sentry_init(integrations=[RedisIntegration()]) - events = capture_events() - - rc = rediscluster_cls(connection_pool=MOCK_CONNECTION_POOL) - rc.get("foobar") - capture_message("hi") - - (event,) = events - (crumb,) = event["breadcrumbs"]["values"] - - assert crumb == { - "category": "redis", - "message": "GET 'foobar'", - "data": ApproxDict( - { - "db.operation": "GET", - "redis.key": "foobar", - "redis.command": "GET", - "redis.is_cluster": True, - } - ), - "timestamp": crumb["timestamp"], - "type": "redis", - } - - -@pytest.mark.parametrize( - "send_default_pii, expected_first_ten", - [ - (False, ["GET 'foo'", "SET 'bar' [Filtered]", "SET 'baz' [Filtered]"]), - (True, ["GET 'foo'", "SET 'bar' 1", "SET 'baz' 2"]), - ], -) -def test_rediscluster_pipeline( - sentry_init, capture_events, send_default_pii, expected_first_ten -): - sentry_init( - integrations=[RedisIntegration()], - traces_sample_rate=1.0, - send_default_pii=send_default_pii, - ) - events = capture_events() - - rc = rediscluster.RedisCluster(connection_pool=MOCK_CONNECTION_POOL) - with start_transaction(): - pipeline = rc.pipeline() - pipeline.get("foo") - pipeline.set("bar", 1) - pipeline.set("baz", 2) - pipeline.execute() - - (event,) = events - (span,) = event["spans"] - assert span["op"] == "db.redis" - assert span["description"] == "redis.pipeline.execute" - assert span["data"] == ApproxDict( - { - "redis.commands": { - "count": 3, - "first_ten": expected_first_ten, - }, - SPANDATA.DB_SYSTEM: "redis", - SPANDATA.DB_NAME: "1", - SPANDATA.SERVER_ADDRESS: "localhost", - SPANDATA.SERVER_PORT: 63791, - } - ) - assert span["tags"] == { - "redis.transaction": False, # For Cluster, this is always False - "redis.is_cluster": True, - } - - -@pytest.mark.parametrize("rediscluster_cls", rediscluster_classes) -def test_db_connection_attributes_client(sentry_init, capture_events, rediscluster_cls): - sentry_init( - traces_sample_rate=1.0, - integrations=[RedisIntegration()], - ) - events = capture_events() - - rc = rediscluster_cls(connection_pool=MOCK_CONNECTION_POOL) - with start_transaction(): - rc.get("foobar") - - (event,) = events - (span,) = event["spans"] - - assert span["data"] == ApproxDict( - { - SPANDATA.DB_SYSTEM: "redis", - SPANDATA.DB_NAME: "1", - SPANDATA.SERVER_ADDRESS: "localhost", - SPANDATA.SERVER_PORT: 63791, - } - ) - - -@pytest.mark.parametrize("rediscluster_cls", rediscluster_classes) -def test_db_connection_attributes_pipeline( - sentry_init, capture_events, rediscluster_cls -): - sentry_init( - traces_sample_rate=1.0, - integrations=[RedisIntegration()], - ) - events = capture_events() - - rc = rediscluster.RedisCluster(connection_pool=MOCK_CONNECTION_POOL) - with start_transaction(): - pipeline = rc.pipeline() - pipeline.get("foo") - pipeline.execute() - - (event,) = events - (span,) = event["spans"] - assert span["op"] == "db.redis" - assert span["description"] == "redis.pipeline.execute" - assert span["data"] == ApproxDict( - { - "redis.commands": { - "count": 1, - "first_ten": ["GET 'foo'"], - }, - SPANDATA.DB_SYSTEM: "redis", - SPANDATA.DB_NAME: "1", - SPANDATA.SERVER_ADDRESS: "localhost", - SPANDATA.SERVER_PORT: 63791, - } - ) diff --git a/tests/integrations/rq/test_rq.py b/tests/integrations/rq/test_rq.py index a56666efb1..8d80f9bc31 100644 --- a/tests/integrations/rq/test_rq.py +++ b/tests/integrations/rq/test_rq.py @@ -2,7 +2,7 @@ import pytest import rq -from fakeredis import FakeStrictRedis +from fakeredis import FakeRedis import sentry_sdk from sentry_sdk import start_transaction @@ -63,7 +63,7 @@ def test_basic( trace_lifecycle="stream" if span_streaming else "static", ) - queue = rq.Queue(connection=FakeStrictRedis()) + queue = rq.Queue(connection=FakeRedis()) worker = rq.SimpleWorker([queue], connection=queue.connection) if span_streaming: @@ -129,7 +129,7 @@ def test_job_args_kwargs_data_collection( **init_kwargs, ) - queue = rq.Queue(connection=FakeStrictRedis()) + queue = rq.Queue(connection=FakeRedis()) worker = rq.SimpleWorker([queue], connection=queue.connection) if span_streaming: @@ -166,7 +166,7 @@ def test_transport_shutdown( trace_lifecycle="stream" if span_streaming else "static", ) - queue = rq.Queue(connection=FakeStrictRedis()) + queue = rq.Queue(connection=FakeRedis()) worker = rq.Worker([queue], connection=queue.connection) if span_streaming: @@ -211,7 +211,7 @@ def test_transaction_with_error( trace_lifecycle="stream" if span_streaming else "static", ) - queue = rq.Queue(connection=FakeStrictRedis()) + queue = rq.Queue(connection=FakeRedis()) worker = rq.SimpleWorker([queue], connection=queue.connection) if span_streaming: @@ -302,7 +302,7 @@ def test_error_has_trace_context_if_tracing_disabled( trace_lifecycle="stream" if span_streaming else "static", ) - queue = rq.Queue(connection=FakeStrictRedis()) + queue = rq.Queue(connection=FakeRedis()) worker = rq.SimpleWorker([queue], connection=queue.connection) if span_streaming: @@ -336,7 +336,7 @@ def test_tracing_enabled( trace_lifecycle="stream" if span_streaming else "static", ) - queue = rq.Queue(connection=FakeStrictRedis()) + queue = rq.Queue(connection=FakeRedis()) worker = rq.SimpleWorker([queue], connection=queue.connection) if span_streaming: @@ -399,7 +399,7 @@ def test_tracing_disabled( trace_lifecycle="stream" if span_streaming else "static", ) - queue = rq.Queue(connection=FakeStrictRedis()) + queue = rq.Queue(connection=FakeRedis()) worker = rq.SimpleWorker([queue], connection=queue.connection) if span_streaming: @@ -446,7 +446,7 @@ def test_transaction_no_error( trace_lifecycle="stream" if span_streaming else "static", ) - queue = rq.Queue(connection=FakeStrictRedis()) + queue = rq.Queue(connection=FakeRedis()) worker = rq.SimpleWorker([queue], connection=queue.connection) if span_streaming: @@ -509,7 +509,7 @@ def test_traces_sampler_gets_correct_values_in_sampling_context( trace_lifecycle="stream" if span_streaming else "static", ) - queue = rq.Queue(connection=FakeStrictRedis()) + queue = rq.Queue(connection=FakeRedis()) worker = rq.SimpleWorker([queue], connection=queue.connection) queue.enqueue(do_trick, "Bodhi", trick="roll over") @@ -548,7 +548,7 @@ def test_job_with_retries( trace_lifecycle="stream" if span_streaming else "static", ) - queue = rq.Queue(connection=FakeStrictRedis()) + queue = rq.Queue(connection=FakeRedis()) worker = rq.SimpleWorker([queue], connection=queue.connection) if span_streaming: @@ -579,7 +579,7 @@ def test_span_origin( trace_lifecycle="stream" if span_streaming else "static", ) - queue = rq.Queue(connection=FakeStrictRedis()) + queue = rq.Queue(connection=FakeRedis()) worker = rq.SimpleWorker([queue], connection=queue.connection) if span_streaming: diff --git a/tox.ini b/tox.ini index 323dd19aa7..555a4d4a61 100644 --- a/tox.ini +++ b/tox.ini @@ -163,8 +163,7 @@ envlist = {py3.9,py3.13,py3.14,py3.14t}-pymongo-v4.17.0 {py3.9,py3.13,py3.14,py3.14t}-pymongo-latest - {py3.7}-redis-v3.1.0 - {py3.7,py3.8}-redis-v3.5.3 + {py3.7,py3.9,py3.10}-redis-v4.2.2 {py3.7,py3.10,py3.11}-redis-v4.6.0 {py3.8,py3.11,py3.12}-redis-v5.3.1 {py3.9,py3.12,py3.13}-redis-v6.4.0 @@ -172,10 +171,6 @@ envlist = {py3.10,py3.13,py3.14,py3.14t}-redis-v8.1.0 {py3.10,py3.13,py3.14,py3.14t}-redis-latest - {py3.7}-redis_py_cluster_legacy-v2.0.0 - {py3.7,py3.8}-redis_py_cluster_legacy-v2.1.3 - {py3.7,py3.8}-redis_py_cluster_legacy-latest - {py3.7,py3.11,py3.12}-sqlalchemy-v1.4.54 {py3.7,py3.12,py3.13}-sqlalchemy-v2.0.51 {py3.10,py3.13,py3.14,py3.14t}-sqlalchemy-v2.1.0b3 @@ -11060,20 +11055,35 @@ deps = pymongo: mockupdb - redis-v3.1.0: redis==3.1.0 - - redis-v3.5.3: redis==3.5.3 - - py3.8-redis-v3.5.3: fakeredis==2.7.1 - py3.8-redis-v3.5.3: pytest==7.4.4 - py3.8-redis-v3.5.3: pytest-asyncio==0.23.8 - py3.8-redis-v3.5.3: exceptiongroup==1.3.1 - py3.8-redis-v3.5.3: pluggy==1.5.0 - py3.8-redis-v3.5.3: sortedcontainers==2.4.0 - py3.8-redis-v3.5.3: tomli==2.4.1 - py3.8-redis-v3.5.3: iniconfig==2.1.0 - py3.8-redis-v3.5.3: packaging==26.2 - py3.8-redis-v3.5.3: typing_extensions==4.13.2 + redis-v4.2.2: redis==4.2.2 + + py3.9-redis-v4.2.2: fakeredis==2.24.1 + py3.9-redis-v4.2.2: pytest==7.4.4 + py3.9-redis-v4.2.2: pluggy==1.6.0 + py3.9-redis-v4.2.2: sortedcontainers==2.4.0 + py3.9-redis-v4.2.2: typing_extensions==4.16.0 + py3.9-redis-v4.2.2: pytest-asyncio==0.23.8 + py3.9-redis-v4.2.2: async-timeout==5.0.1 + py3.9-redis-v4.2.2: Deprecated==1.3.1 + py3.9-redis-v4.2.2: wrapt==2.3.0 + py3.9-redis-v4.2.2: exceptiongroup==1.3.1 + py3.9-redis-v4.2.2: packaging==26.3 + py3.9-redis-v4.2.2: tomli==2.4.1 + py3.9-redis-v4.2.2: iniconfig==2.1.0 + + py3.10-redis-v4.2.2: fakeredis==2.24.1 + py3.10-redis-v4.2.2: pytest==7.4.4 + py3.10-redis-v4.2.2: pluggy==1.6.0 + py3.10-redis-v4.2.2: sortedcontainers==2.4.0 + py3.10-redis-v4.2.2: typing_extensions==4.16.0 + py3.10-redis-v4.2.2: pytest-asyncio==0.23.8 + py3.10-redis-v4.2.2: async-timeout==5.0.1 + py3.10-redis-v4.2.2: Deprecated==1.3.1 + py3.10-redis-v4.2.2: wrapt==2.3.0 + py3.10-redis-v4.2.2: exceptiongroup==1.3.1 + py3.10-redis-v4.2.2: packaging==26.3 + py3.10-redis-v4.2.2: tomli==2.4.1 + py3.10-redis-v4.2.2: iniconfig==2.3.0 redis-v4.6.0: redis==4.6.0 @@ -11277,20 +11287,10 @@ deps = redis: fakeredis!=1.7.4 redis: pytest<8.0.0 redis: pytest-asyncio + redis-v4.2.2: fakeredis<2.31.0 redis-v4.6.0: fakeredis<2.31.0 {py3.7,py3.8}-redis: fakeredis<2.26.0 - redis_py_cluster_legacy-v2.0.0: redis-py-cluster==2.0.0 - - redis_py_cluster_legacy-v2.1.3: redis-py-cluster==2.1.3 - - py3.8-redis_py_cluster_legacy-v2.1.3: redis==3.5.3 - - redis_py_cluster_legacy-latest: redis-py-cluster==2.1.3 - - py3.8-redis_py_cluster_legacy-latest: redis==3.5.3 - - sqlalchemy-v1.4.54: sqlalchemy==1.4.54 sqlalchemy-v2.0.51: sqlalchemy==2.0.51 @@ -18807,7 +18807,6 @@ setenv = quart: _TESTPATH=tests/integrations/quart ray: _TESTPATH=tests/integrations/ray redis: _TESTPATH=tests/integrations/redis - redis_py_cluster_legacy: _TESTPATH=tests/integrations/redis_py_cluster_legacy requests: _TESTPATH=tests/integrations/requests rq: _TESTPATH=tests/integrations/rq sanic: _TESTPATH=tests/integrations/sanic