From 95de41d10c70aef200b638310c240fd548f19020 Mon Sep 17 00:00:00 2001 From: Krrish Dholakia Date: Tue, 27 May 2025 17:44:13 -0700 Subject: [PATCH] build: publish new litellm-proxy-extras file --- ...itellm_proxy_extras-0.2.1-py3-none-any.whl | Bin 0 -> 23438 bytes .../dist/litellm_proxy_extras-0.2.1.tar.gz | Bin 0 -> 13922 bytes litellm-proxy-extras/pyproject.toml | 4 +- poetry.lock | 384 +++--------------- pyproject.toml | 2 +- requirements.txt | 2 +- tests/test_team.py | 2 +- 7 files changed, 59 insertions(+), 335 deletions(-) create mode 100644 litellm-proxy-extras/dist/litellm_proxy_extras-0.2.1-py3-none-any.whl create mode 100644 litellm-proxy-extras/dist/litellm_proxy_extras-0.2.1.tar.gz diff --git a/litellm-proxy-extras/dist/litellm_proxy_extras-0.2.1-py3-none-any.whl b/litellm-proxy-extras/dist/litellm_proxy_extras-0.2.1-py3-none-any.whl new file mode 100644 index 0000000000000000000000000000000000000000..30da05bb8aabbb23eb3b76dc93f1349e4fa0acee GIT binary patch literal 23438 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 mko%ttuJ3aRmvM97UVe3As45l^R8))|TL%6B literal 0 HcmV?d00001 diff --git a/litellm-proxy-extras/dist/litellm_proxy_extras-0.2.1.tar.gz b/litellm-proxy-extras/dist/litellm_proxy_extras-0.2.1.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..8b802f0d37e586815748adeb05b2c23a80985f7b GIT binary patch literal 13922 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 literal 0 HcmV?d00001 diff --git a/litellm-proxy-extras/pyproject.toml b/litellm-proxy-extras/pyproject.toml index 07fa6a67fb..2b8e014f7c 100644 --- a/litellm-proxy-extras/pyproject.toml +++ b/litellm-proxy-extras/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "litellm-proxy-extras" -version = "0.2.0" +version = "0.2.1" description = "Additional files for the LiteLLM Proxy. Reduces the size of the main litellm package." authors = ["BerriAI"] readme = "README.md" @@ -22,7 +22,7 @@ requires = ["poetry-core"] build-backend = "poetry.core.masonry.api" [tool.commitizen] -version = "0.2.0" +version = "0.2.1" version_files = [ "pyproject.toml:version", "../requirements.txt:litellm-proxy-extras==", diff --git a/poetry.lock b/poetry.lock index a9c5c1cad0..3e7f16db8c 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,4 +1,4 @@ -# This file is automatically @generated by Poetry 2.1.2 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.8.3 and should not be changed by hand. [[package]] name = "aiohappyeyeballs" @@ -6,7 +6,6 @@ version = "2.4.4" description = "Happy Eyeballs for asyncio" optional = false python-versions = ">=3.8" -groups = ["main"] files = [ {file = "aiohappyeyeballs-2.4.4-py3-none-any.whl", hash = "sha256:a980909d50efcd44795c4afeca523296716d50cd756ddca6af8c65b996e27de8"}, {file = "aiohappyeyeballs-2.4.4.tar.gz", hash = "sha256:5fdd7d87889c63183afc18ce9271f9b0a7d32c2303e394468dd45d514a757745"}, @@ -18,7 +17,6 @@ version = "3.10.11" description = "Async http client/server framework (asyncio)" optional = false python-versions = ">=3.8" -groups = ["main"] files = [ {file = "aiohttp-3.10.11-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:5077b1a5f40ffa3ba1f40d537d3bec4383988ee51fbba6b74aa8fb1bc466599e"}, {file = "aiohttp-3.10.11-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:8d6a14a4d93b5b3c2891fca94fa9d41b2322a68194422bef0dd5ec1e57d7d298"}, @@ -123,7 +121,7 @@ multidict = ">=4.5,<7.0" yarl = ">=1.12.0,<2.0" [package.extras] -speedups = ["Brotli ; platform_python_implementation == \"CPython\"", "aiodns (>=3.2.0) ; sys_platform == \"linux\" or sys_platform == \"darwin\"", "brotlicffi ; platform_python_implementation != \"CPython\""] +speedups = ["Brotli", "aiodns (>=3.2.0)", "brotlicffi"] [[package]] name = "aiosignal" @@ -131,7 +129,6 @@ version = "1.3.1" description = "aiosignal: a list of registered asynchronous callbacks" optional = false python-versions = ">=3.7" -groups = ["main"] files = [ {file = "aiosignal-1.3.1-py3-none-any.whl", hash = "sha256:f8376fb07dd1e86a584e4fcdec80b36b7f81aac666ebc724e2c090300dd83b17"}, {file = "aiosignal-1.3.1.tar.gz", hash = "sha256:54cd96e15e1649b75d6c87526a6ff0b6c1b0dd3459f43d9ca11d48c339b68cfc"}, @@ -146,8 +143,6 @@ version = "0.7.13" description = "A configurable sidebar-enabled Sphinx theme" optional = true python-versions = ">=3.6" -groups = ["main"] -markers = "extra == \"utils\"" files = [ {file = "alabaster-0.7.13-py3-none-any.whl", hash = "sha256:1ee19aca801bbabb5ba3f5f258e4422dfa86f82f3e9cefb0859b283cdd7f62a3"}, {file = "alabaster-0.7.13.tar.gz", hash = "sha256:a27a4a084d5e690e16e01e03ad2b2e552c61a65469419b907243193de1a84ae2"}, @@ -159,7 +154,6 @@ version = "0.7.0" description = "Reusable constraint types to use with typing.Annotated" optional = false python-versions = ">=3.8" -groups = ["main", "dev", "proxy-dev"] files = [ {file = "annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53"}, {file = "annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89"}, @@ -174,7 +168,6 @@ version = "4.5.2" description = "High level compatibility layer for multiple asynchronous event loop implementations" optional = false python-versions = ">=3.8" -groups = ["main", "dev", "proxy-dev"] files = [ {file = "anyio-4.5.2-py3-none-any.whl", hash = "sha256:c011ee36bc1e8ba40e5a81cb9df91925c218fe9b778554e0b56a21e1b5d4716f"}, {file = "anyio-4.5.2.tar.gz", hash = "sha256:23009af4ed04ce05991845451e11ef02fc7c5ed29179ac9a420e5ad0ac7ddc5b"}, @@ -188,7 +181,7 @@ typing-extensions = {version = ">=4.1", markers = "python_version < \"3.11\""} [package.extras] doc = ["Sphinx (>=7.4,<8.0)", "packaging", "sphinx-autodoc-typehints (>=1.2.0)", "sphinx-rtd-theme"] -test = ["anyio[trio]", "coverage[toml] (>=7)", "exceptiongroup (>=1.2.0)", "hypothesis (>=4.0)", "psutil (>=5.9)", "pytest (>=7.0)", "pytest-mock (>=3.6.1)", "trustme", "truststore (>=0.9.1) ; python_version >= \"3.10\"", "uvloop (>=0.21.0b1) ; platform_python_implementation == \"CPython\" and platform_system != \"Windows\""] +test = ["anyio[trio]", "coverage[toml] (>=7)", "exceptiongroup (>=1.2.0)", "hypothesis (>=4.0)", "psutil (>=5.9)", "pytest (>=7.0)", "pytest-mock (>=3.6.1)", "trustme", "truststore (>=0.9.1)", "uvloop (>=0.21.0b1)"] trio = ["trio (>=0.26.1)"] [[package]] @@ -197,8 +190,6 @@ version = "3.11.0" description = "In-process task scheduler with Cron-like capabilities" optional = true python-versions = ">=3.8" -groups = ["main"] -markers = "extra == \"proxy\"" files = [ {file = "APScheduler-3.11.0-py3-none-any.whl", hash = "sha256:fc134ca32e50f5eadcc4938e3a4545ab19131435e851abb40b34d63d5141c6da"}, {file = "apscheduler-3.11.0.tar.gz", hash = "sha256:4c622d250b0955a65d5d0eb91c33e6d43fd879834bf541e0a18661ae60460133"}, @@ -216,7 +207,7 @@ mongodb = ["pymongo (>=3.0)"] redis = ["redis (>=3.0)"] rethinkdb = ["rethinkdb (>=2.4.0)"] sqlalchemy = ["sqlalchemy (>=1.4)"] -test = ["APScheduler[etcd,mongodb,redis,rethinkdb,sqlalchemy,tornado,zookeeper]", "PySide6 ; platform_python_implementation == \"CPython\" and python_version < \"3.14\"", "anyio (>=4.5.2)", "gevent ; python_version < \"3.14\"", "pytest", "pytz", "twisted ; python_version < \"3.14\""] +test = ["APScheduler[etcd,mongodb,redis,rethinkdb,sqlalchemy,tornado,zookeeper]", "PySide6", "anyio (>=4.5.2)", "gevent", "pytest", "pytz", "twisted"] tornado = ["tornado (>=4.3)"] twisted = ["twisted"] zookeeper = ["kazoo"] @@ -225,10 +216,8 @@ zookeeper = ["kazoo"] name = "async-timeout" version = "5.0.1" description = "Timeout context manager for asyncio programs" -optional = true +optional = false python-versions = ">=3.8" -groups = ["main"] -markers = "python_full_version < \"3.11.3\" and (extra == \"extra-proxy\" or extra == \"proxy\") or python_version <= \"3.10\"" files = [ {file = "async_timeout-5.0.1-py3-none-any.whl", hash = "sha256:39e3809566ff85354557ec2398b55e096c8364bacac9405a7a1fa429e77fe76c"}, {file = "async_timeout-5.0.1.tar.gz", hash = "sha256:d9321a7a3d5a6a5e187e824d2fa0793ce379a202935782d555d6e9d2735677d3"}, @@ -240,19 +229,18 @@ version = "25.3.0" description = "Classes Without Boilerplate" optional = false python-versions = ">=3.8" -groups = ["main"] files = [ {file = "attrs-25.3.0-py3-none-any.whl", hash = "sha256:427318ce031701fea540783410126f03899a97ffc6f61596ad581ac2e40e3bc3"}, {file = "attrs-25.3.0.tar.gz", hash = "sha256:75d7cefc7fb576747b2c81b4442d4d4a1ce0900973527c011d1030fd3bf4af1b"}, ] [package.extras] -benchmark = ["cloudpickle ; platform_python_implementation == \"CPython\"", "hypothesis", "mypy (>=1.11.1) ; platform_python_implementation == \"CPython\" and python_version >= \"3.10\"", "pympler", "pytest (>=4.3.0)", "pytest-codspeed", "pytest-mypy-plugins ; platform_python_implementation == \"CPython\" and python_version >= \"3.10\"", "pytest-xdist[psutil]"] -cov = ["cloudpickle ; platform_python_implementation == \"CPython\"", "coverage[toml] (>=5.3)", "hypothesis", "mypy (>=1.11.1) ; platform_python_implementation == \"CPython\" and python_version >= \"3.10\"", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins ; platform_python_implementation == \"CPython\" and python_version >= \"3.10\"", "pytest-xdist[psutil]"] -dev = ["cloudpickle ; platform_python_implementation == \"CPython\"", "hypothesis", "mypy (>=1.11.1) ; platform_python_implementation == \"CPython\" and python_version >= \"3.10\"", "pre-commit-uv", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins ; platform_python_implementation == \"CPython\" and python_version >= \"3.10\"", "pytest-xdist[psutil]"] +benchmark = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pympler", "pytest (>=4.3.0)", "pytest-codspeed", "pytest-mypy-plugins", "pytest-xdist[psutil]"] +cov = ["cloudpickle", "coverage[toml] (>=5.3)", "hypothesis", "mypy (>=1.11.1)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] +dev = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pre-commit-uv", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] docs = ["cogapp", "furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib-towncrier", "towncrier"] -tests = ["cloudpickle ; platform_python_implementation == \"CPython\"", "hypothesis", "mypy (>=1.11.1) ; platform_python_implementation == \"CPython\" and python_version >= \"3.10\"", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins ; platform_python_implementation == \"CPython\" and python_version >= \"3.10\"", "pytest-xdist[psutil]"] -tests-mypy = ["mypy (>=1.11.1) ; platform_python_implementation == \"CPython\" and python_version >= \"3.10\"", "pytest-mypy-plugins ; platform_python_implementation == \"CPython\" and python_version >= \"3.10\""] +tests = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] +tests-mypy = ["mypy (>=1.11.1)", "pytest-mypy-plugins"] [[package]] name = "azure-core" @@ -260,7 +248,6 @@ version = "1.33.0" description = "Microsoft Azure Core Library for Python" optional = false python-versions = ">=3.8" -groups = ["main", "proxy-dev"] files = [ {file = "azure_core-1.33.0-py3-none-any.whl", hash = "sha256:9b5b6d0223a1d38c37500e6971118c1e0f13f54951e6893968b38910bc9cda8f"}, {file = "azure_core-1.33.0.tar.gz", hash = "sha256:f367aa07b5e3005fec2c1e184b882b0b039910733907d001c20fb08ebb8c0eb9"}, @@ -281,7 +268,6 @@ version = "1.21.0" description = "Microsoft Azure Identity Library for Python" optional = false python-versions = ">=3.8" -groups = ["main", "proxy-dev"] files = [ {file = "azure_identity-1.21.0-py3-none-any.whl", hash = "sha256:258ea6325537352440f71b35c3dffe9d240eae4a5126c1b7ce5efd5766bd9fd9"}, {file = "azure_identity-1.21.0.tar.gz", hash = "sha256:ea22ce6e6b0f429bc1b8d9212d5b9f9877bd4c82f1724bfa910760612c07a9a6"}, @@ -300,8 +286,6 @@ version = "4.9.0" description = "Microsoft Azure Key Vault Secrets Client Library for Python" optional = true python-versions = ">=3.8" -groups = ["main"] -markers = "extra == \"extra-proxy\"" files = [ {file = "azure_keyvault_secrets-4.9.0-py3-none-any.whl", hash = "sha256:33c7e2aca2cc2092cebc8c6e96eca36a5cc30c767e16ea429c5fa21270e9fba6"}, {file = "azure_keyvault_secrets-4.9.0.tar.gz", hash = "sha256:2a03bb2ffd9a0d6c8ad1c330d9d0310113985a9de06607ece378fd72a5889fe1"}, @@ -318,8 +302,6 @@ version = "2.17.0" description = "Internationalization utilities" optional = true python-versions = ">=3.8" -groups = ["main"] -markers = "extra == \"utils\"" files = [ {file = "babel-2.17.0-py3-none-any.whl", hash = "sha256:4d0b53093fdfb4b21c92b5213dba5a1b23885afa8383709427046b21c366e5f2"}, {file = "babel-2.17.0.tar.gz", hash = "sha256:0c54cffb19f690cdcc52a3b50bcbf71e07a808d1c80d549f2459b9d2cf0afb9d"}, @@ -329,7 +311,7 @@ files = [ pytz = {version = ">=2015.7", markers = "python_version < \"3.9\""} [package.extras] -dev = ["backports.zoneinfo ; python_version < \"3.9\"", "freezegun (>=1.0,<2.0)", "jinja2 (>=3.0)", "pytest (>=6.0)", "pytest-cov", "pytz", "setuptools", "tzdata ; sys_platform == \"win32\""] +dev = ["backports.zoneinfo", "freezegun (>=1.0,<2.0)", "jinja2 (>=3.0)", "pytest (>=6.0)", "pytest-cov", "pytz", "setuptools", "tzdata"] [[package]] name = "backoff" @@ -337,12 +319,10 @@ version = "2.2.1" description = "Function decoration for backoff and retry" optional = false python-versions = ">=3.7,<4.0" -groups = ["main", "dev"] files = [ {file = "backoff-2.2.1-py3-none-any.whl", hash = "sha256:63579f9a0628e06278f7e47b7d7d5b6ce20dc65c5e96a6f3ca99a6adca0396e8"}, {file = "backoff-2.2.1.tar.gz", hash = "sha256:03f829f5bb1923180821643f8753b0502c3b682293992485b0eef2807afa5cba"}, ] -markers = {main = "extra == \"proxy\""} [[package]] name = "backports-zoneinfo" @@ -350,8 +330,6 @@ version = "0.2.1" description = "Backport of the standard library zoneinfo module" optional = true python-versions = ">=3.6" -groups = ["main"] -markers = "extra == \"proxy\" and python_version < \"3.9\"" files = [ {file = "backports.zoneinfo-0.2.1-cp36-cp36m-macosx_10_14_x86_64.whl", hash = "sha256:da6013fd84a690242c310d77ddb8441a559e9cb3d3d59ebac9aca1a57b2e18bc"}, {file = "backports.zoneinfo-0.2.1-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:89a48c0d158a3cc3f654da4c2de1ceba85263fafb861b98b59040a5086259722"}, @@ -380,7 +358,6 @@ version = "23.12.1" description = "The uncompromising code formatter." optional = false python-versions = ">=3.8" -groups = ["dev"] files = [ {file = "black-23.12.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e0aaf6041986767a5e0ce663c7a2f0e9eaf21e6ff87a5f95cbf3675bfd4c41d2"}, {file = "black-23.12.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c88b3711d12905b74206227109272673edce0cb29f27e1385f33b0163c414bba"}, @@ -417,7 +394,7 @@ typing-extensions = {version = ">=4.0.1", markers = "python_version < \"3.11\""} [package.extras] colorama = ["colorama (>=0.4.3)"] -d = ["aiohttp (>=3.7.4) ; sys_platform != \"win32\" or implementation_name != \"pypy\"", "aiohttp (>=3.7.4,!=3.9.0) ; sys_platform == \"win32\" and implementation_name == \"pypy\""] +d = ["aiohttp (>=3.7.4)", "aiohttp (>=3.7.4,!=3.9.0)"] jupyter = ["ipython (>=7.8.0)", "tokenize-rt (>=3.2.0)"] uvloop = ["uvloop (>=0.15.2)"] @@ -427,8 +404,6 @@ version = "1.34.34" description = "The AWS SDK for Python" optional = true python-versions = ">= 3.8" -groups = ["main"] -markers = "extra == \"proxy\"" files = [ {file = "boto3-1.34.34-py3-none-any.whl", hash = "sha256:33a8b6d9136fa7427160edb92d2e50f2035f04e9d63a2d1027349053e12626aa"}, {file = "boto3-1.34.34.tar.gz", hash = "sha256:b2f321e20966f021ec800b7f2c01287a3dd04fc5965acdfbaa9c505a24ca45d1"}, @@ -448,8 +423,6 @@ version = "1.34.162" description = "Low-level, data-driven core of boto 3." optional = true python-versions = ">=3.8" -groups = ["main"] -markers = "extra == \"proxy\"" files = [ {file = "botocore-1.34.162-py3-none-any.whl", hash = "sha256:2d918b02db88d27a75b48275e6fb2506e9adaaddbec1ffa6a8a0898b34e769be"}, {file = "botocore-1.34.162.tar.gz", hash = "sha256:adc23be4fb99ad31961236342b7cbf3c0bfc62532cd02852196032e8c0d682f3"}, @@ -459,8 +432,8 @@ files = [ jmespath = ">=0.7.1,<2.0.0" python-dateutil = ">=2.1,<3.0.0" urllib3 = [ - {version = ">=1.25.4,<2.2.0 || >2.2.0,<3", markers = "python_version >= \"3.10\""}, {version = ">=1.25.4,<1.27", markers = "python_version < \"3.10\""}, + {version = ">=1.25.4,<2.2.0 || >2.2.0,<3", markers = "python_version >= \"3.10\""}, ] [package.extras] @@ -472,8 +445,6 @@ version = "5.5.2" description = "Extensible memoizing collections and decorators" optional = true python-versions = ">=3.7" -groups = ["main"] -markers = "extra == \"extra-proxy\"" files = [ {file = "cachetools-5.5.2-py3-none-any.whl", hash = "sha256:d26a22bcc62eb95c3beabd9f1ee5e820d3d2704fe2967cbe350e20c8ffcd3f0a"}, {file = "cachetools-5.5.2.tar.gz", hash = "sha256:1a661caa9175d26759571b2e19580f9d6393969e5dfca11fdb1f947a23e640d4"}, @@ -485,7 +456,6 @@ version = "2025.4.26" description = "Python package for providing Mozilla's CA Bundle." optional = false python-versions = ">=3.6" -groups = ["main", "dev", "proxy-dev"] files = [ {file = "certifi-2025.4.26-py3-none-any.whl", hash = "sha256:30350364dfe371162649852c63336a15c70c6510c2ad5015b21c2345311805f3"}, {file = "certifi-2025.4.26.tar.gz", hash = "sha256:0a816057ea3cdefcef70270d2c515e4506bbc954f417fa5ade2021213bb8f0c6"}, @@ -497,7 +467,6 @@ version = "1.17.1" description = "Foreign Function Interface for Python calling C code." optional = false python-versions = ">=3.8" -groups = ["main", "dev", "proxy-dev"] files = [ {file = "cffi-1.17.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:df8b1c11f177bc2313ec4b2d46baec87a5f3e71fc8b45dab2ee7cae86d9aba14"}, {file = "cffi-1.17.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8f2cdc858323644ab277e9bb925ad72ae0e67f69e804f4898c070998d50b1a67"}, @@ -567,7 +536,6 @@ files = [ {file = "cffi-1.17.1-cp39-cp39-win_amd64.whl", hash = "sha256:d016c76bdd850f3c626af19b0542c9677ba156e4ee4fccfdd7848803533ef662"}, {file = "cffi-1.17.1.tar.gz", hash = "sha256:1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824"}, ] -markers = {main = "platform_python_implementation != \"PyPy\" or extra == \"proxy\"", dev = "platform_python_implementation != \"PyPy\"", proxy-dev = "platform_python_implementation != \"PyPy\""} [package.dependencies] pycparser = "*" @@ -578,7 +546,6 @@ version = "3.4.2" description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." optional = false python-versions = ">=3.7" -groups = ["main", "dev", "proxy-dev"] files = [ {file = "charset_normalizer-3.4.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7c48ed483eb946e6c04ccbe02c6b4d1d48e51944b6db70f697e089c193404941"}, {file = "charset_normalizer-3.4.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b2d318c11350e10662026ad0eb71bb51c7812fc8590825304ae0bdd4ac283acd"}, @@ -680,7 +647,6 @@ version = "8.1.8" description = "Composable command line interface toolkit" optional = false python-versions = ">=3.7" -groups = ["main", "dev", "proxy-dev"] files = [ {file = "click-8.1.8-py3-none-any.whl", hash = "sha256:63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2"}, {file = "click-8.1.8.tar.gz", hash = "sha256:ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a"}, @@ -695,12 +661,10 @@ version = "0.4.6" description = "Cross-platform colored terminal text." optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" -groups = ["main", "dev", "proxy-dev"] files = [ {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, ] -markers = {main = "extra == \"utils\" and sys_platform == \"win32\" or platform_system == \"Windows\"", dev = "platform_system == \"Windows\" or sys_platform == \"win32\"", proxy-dev = "platform_system == \"Windows\""} [[package]] name = "coloredlogs" @@ -708,8 +672,6 @@ version = "15.0.1" description = "Colored terminal output for Python's logging module" optional = true python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" -groups = ["main"] -markers = "python_version >= \"3.9\" and extra == \"extra-proxy\" and python_version < \"3.14\"" files = [ {file = "coloredlogs-15.0.1-py2.py3-none-any.whl", hash = "sha256:612ee75c546f53e92e70049c9dbfcc18c935a2b9a53b66085ce9ef6a6e5c0934"}, {file = "coloredlogs-15.0.1.tar.gz", hash = "sha256:7c991aa71a4577af2f82600d8f8f3a89f936baeaf9b50a9c197da014e5bf16b0"}, @@ -727,7 +689,6 @@ version = "43.0.3" description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." optional = false python-versions = ">=3.7" -groups = ["main", "dev", "proxy-dev"] files = [ {file = "cryptography-43.0.3-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:bf7a1932ac4176486eab36a19ed4c0492da5d97123f1406cf15e41b05e787d2e"}, {file = "cryptography-43.0.3-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:63efa177ff54aec6e1c0aefaa1a241232dcd37413835a9b674b6e3f0ae2bfd3e"}, @@ -777,7 +738,6 @@ version = "1.2.18" description = "Python @deprecated decorator to deprecate old python classes, functions or methods." optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7" -groups = ["dev", "proxy-dev"] files = [ {file = "Deprecated-1.2.18-py2.py3-none-any.whl", hash = "sha256:bd5011788200372a32418f888e326a09ff80d0214bd961147cfed01b5c018eec"}, {file = "deprecated-1.2.18.tar.gz", hash = "sha256:422b6f6d859da6f2ef57857761bfb392480502a64c3028ca9bbe86085d72115d"}, @@ -787,7 +747,7 @@ files = [ wrapt = ">=1.10,<2" [package.extras] -dev = ["PyTest", "PyTest-Cov", "bump2version (<1)", "setuptools ; python_version >= \"3.12\"", "tox"] +dev = ["PyTest", "PyTest-Cov", "bump2version (<1)", "setuptools", "tox"] [[package]] name = "distro" @@ -795,7 +755,6 @@ version = "1.9.0" description = "Distro - an OS platform information API" optional = false python-versions = ">=3.6" -groups = ["main"] files = [ {file = "distro-1.9.0-py3-none-any.whl", hash = "sha256:7bffd925d65168f85027d8da9af6bddab658135b840670a223589bc0c8ef02b2"}, {file = "distro-1.9.0.tar.gz", hash = "sha256:2fa77c6fd8940f116ee1d6b94a2f90b13b5ea8d019b98bc8bafdcabcdd9bdbed"}, @@ -807,8 +766,6 @@ version = "2.6.1" description = "DNS toolkit" optional = true python-versions = ">=3.8" -groups = ["main"] -markers = "extra == \"proxy\"" files = [ {file = "dnspython-2.6.1-py3-none-any.whl", hash = "sha256:5ef3b9680161f6fa89daf8ad451b5f1a33b18ae8a1c6778cdf4b43f08c0a6e50"}, {file = "dnspython-2.6.1.tar.gz", hash = "sha256:e8f0f9c23a7b7cb99ded64e6c3a6f3e701d78f50c55e002b839dea7225cff7cc"}, @@ -829,8 +786,6 @@ version = "0.20.1" description = "Docutils -- Python Documentation Utilities" optional = true python-versions = ">=3.7" -groups = ["main"] -markers = "extra == \"utils\"" files = [ {file = "docutils-0.20.1-py3-none-any.whl", hash = "sha256:96f387a2c5562db4476f09f13bbab2192e764cac08ebbf3a34a95d9b1e4a59d6"}, {file = "docutils-0.20.1.tar.gz", hash = "sha256:f08a4e276c3a1583a86dce3e34aba3fe04d02bba2dd51ed16106244e8a923e3b"}, @@ -842,8 +797,6 @@ version = "2.2.0" description = "A robust email address syntax and deliverability validation library." optional = true python-versions = ">=3.8" -groups = ["main"] -markers = "extra == \"proxy\"" files = [ {file = "email_validator-2.2.0-py3-none-any.whl", hash = "sha256:561977c2d73ce3611850a06fa56b414621e0c8faa9d66f2611407d87465da631"}, {file = "email_validator-2.2.0.tar.gz", hash = "sha256:cb690f344c617a714f22e66ae771445a1ceb46821152df8e165c5f9a364582b7"}, @@ -859,8 +812,6 @@ version = "1.3.0" description = "Backport of PEP 654 (exception groups)" optional = false python-versions = ">=3.7" -groups = ["main", "dev", "proxy-dev"] -markers = "python_version <= \"3.10\"" files = [ {file = "exceptiongroup-1.3.0-py3-none-any.whl", hash = "sha256:4d111e6e0c13d0644cad6ddaa7ed0261a0b36971f6d23e7ec9b4b9097da78a10"}, {file = "exceptiongroup-1.3.0.tar.gz", hash = "sha256:b241f5885f560bc56a59ee63ca4c6a8bfa46ae4ad651af316d4e81817bb9fd88"}, @@ -878,8 +829,6 @@ version = "0.115.12" description = "FastAPI framework, high performance, easy to learn, fast to code, ready for production" optional = true python-versions = ">=3.8" -groups = ["main"] -markers = "extra == \"proxy\"" files = [ {file = "fastapi-0.115.12-py3-none-any.whl", hash = "sha256:e94613d6c05e27be7ffebdd6ea5f388112e5e430c8f7d6494a9d1d88d43e814d"}, {file = "fastapi-0.115.12.tar.gz", hash = "sha256:1e2c2a2646905f9e83d32f04a3f86aff4a286669c6c950ca95b5fd68c2602681"}, @@ -900,8 +849,6 @@ version = "0.16.0" description = "FastAPI plugin to enable SSO to most common providers (such as Facebook login, Google login and login via Microsoft Office 365 Account)" optional = true python-versions = "<4.0,>=3.8" -groups = ["main"] -markers = "extra == \"proxy\"" files = [ {file = "fastapi_sso-0.16.0-py3-none-any.whl", hash = "sha256:3a66a942474ef9756d3a9d8b945d55bd9faf99781facdb9b87a40b73d6d6b0c3"}, {file = "fastapi_sso-0.16.0.tar.gz", hash = "sha256:f3941f986347566b7d3747c710cf474a907f581bfb6697ff3bb3e44eb76b438c"}, @@ -920,7 +867,6 @@ version = "3.16.1" description = "A platform independent file lock." optional = false python-versions = ">=3.8" -groups = ["main"] files = [ {file = "filelock-3.16.1-py3-none-any.whl", hash = "sha256:2082e5703d51fbf98ea75855d9d5527e33d8ff23099bec374a134febee6946b0"}, {file = "filelock-3.16.1.tar.gz", hash = "sha256:c249fbfcd5db47e5e2d6d62198e565475ee65e4831e2561c8e313fa7eb961435"}, @@ -929,7 +875,7 @@ files = [ [package.extras] docs = ["furo (>=2024.8.6)", "sphinx (>=8.0.2)", "sphinx-autodoc-typehints (>=2.4.1)"] testing = ["covdefaults (>=2.3)", "coverage (>=7.6.1)", "diff-cover (>=9.2)", "pytest (>=8.3.3)", "pytest-asyncio (>=0.24)", "pytest-cov (>=5)", "pytest-mock (>=3.14)", "pytest-timeout (>=2.3.1)", "virtualenv (>=20.26.4)"] -typing = ["typing-extensions (>=4.12.2) ; python_version < \"3.11\""] +typing = ["typing-extensions (>=4.12.2)"] [[package]] name = "flake8" @@ -937,7 +883,6 @@ version = "6.1.0" description = "the modular source code checker: pep8 pyflakes and co" optional = false python-versions = ">=3.8.1" -groups = ["dev"] files = [ {file = "flake8-6.1.0-py2.py3-none-any.whl", hash = "sha256:ffdfce58ea94c6580c77888a86506937f9a1a227dfcd15f245d694ae20a6b6e5"}, {file = "flake8-6.1.0.tar.gz", hash = "sha256:d5b3857f07c030bdb5bf41c7f53799571d75c4491748a3adcd47de929e34cd23"}, @@ -954,7 +899,6 @@ version = "1.5.0" description = "A list-like structure which implements collections.abc.MutableSequence" optional = false python-versions = ">=3.8" -groups = ["main"] files = [ {file = "frozenlist-1.5.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:5b6a66c18b5b9dd261ca98dffcb826a525334b2f29e7caa54e182255c5f6a65a"}, {file = "frozenlist-1.5.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d1b3eb7b05ea246510b43a7e53ed1653e55c2121019a97e60cad7efb881a97bb"}, @@ -1056,7 +1000,6 @@ version = "2025.3.0" description = "File-system specification" optional = false python-versions = ">=3.8" -groups = ["main"] files = [ {file = "fsspec-2025.3.0-py3-none-any.whl", hash = "sha256:efb87af3efa9103f94ca91a7f8cb7a4df91af9f74fc106c9c7ea0efd7277c1b3"}, {file = "fsspec-2025.3.0.tar.gz", hash = "sha256:a935fd1ea872591f2b5148907d103488fc523295e6c64b835cfad8c3eca44972"}, @@ -1096,8 +1039,6 @@ version = "2.24.2" description = "Google API client core library" optional = true python-versions = ">=3.7" -groups = ["main"] -markers = "extra == \"extra-proxy\"" files = [ {file = "google_api_core-2.24.2-py3-none-any.whl", hash = "sha256:810a63ac95f3c441b7c0e43d344e372887f62ce9071ba972eacf32672e072de9"}, {file = "google_api_core-2.24.2.tar.gz", hash = "sha256:81718493daf06d96d6bc76a91c23874dbf2fac0adbbf542831b805ee6e974696"}, @@ -1107,15 +1048,15 @@ files = [ google-auth = ">=2.14.1,<3.0.0" googleapis-common-protos = ">=1.56.2,<2.0.0" grpcio = [ - {version = ">=1.49.1,<2.0dev", optional = true, markers = "python_version >= \"3.11\" and extra == \"grpc\""}, {version = ">=1.33.2,<2.0dev", optional = true, markers = "python_version < \"3.11\" and extra == \"grpc\""}, + {version = ">=1.49.1,<2.0dev", optional = true, markers = "python_version >= \"3.11\" and extra == \"grpc\""}, ] grpcio-status = [ + {version = ">=1.33.2,<2.0.dev0", optional = true, markers = "python_version < \"3.11\" and extra == \"grpc\""}, {version = ">=1.49.1,<2.0.dev0", optional = true, markers = "python_version >= \"3.11\" and extra == \"grpc\""}, - {version = ">=1.33.2,<2.0.dev0", optional = true, markers = "extra == \"grpc\""}, ] proto-plus = [ - {version = ">=1.22.3,<2.0.0"}, + {version = ">=1.22.3,<2.0.0", markers = "python_version < \"3.13\""}, {version = ">=1.25.0,<2.0.0", markers = "python_version >= \"3.13\""}, ] protobuf = ">=3.19.5,<3.20.0 || >3.20.0,<3.20.1 || >3.20.1,<4.21.0 || >4.21.0,<4.21.1 || >4.21.1,<4.21.2 || >4.21.2,<4.21.3 || >4.21.3,<4.21.4 || >4.21.4,<4.21.5 || >4.21.5,<7.0.0" @@ -1123,7 +1064,7 @@ requests = ">=2.18.0,<3.0.0" [package.extras] async-rest = ["google-auth[aiohttp] (>=2.35.0,<3.0.dev0)"] -grpc = ["grpcio (>=1.33.2,<2.0dev)", "grpcio (>=1.49.1,<2.0dev) ; python_version >= \"3.11\"", "grpcio-status (>=1.33.2,<2.0.dev0)", "grpcio-status (>=1.49.1,<2.0.dev0) ; python_version >= \"3.11\""] +grpc = ["grpcio (>=1.33.2,<2.0dev)", "grpcio (>=1.49.1,<2.0dev)", "grpcio-status (>=1.33.2,<2.0.dev0)", "grpcio-status (>=1.49.1,<2.0.dev0)"] grpcgcp = ["grpcio-gcp (>=0.2.2,<1.0.dev0)"] grpcio-gcp = ["grpcio-gcp (>=0.2.2,<1.0.dev0)"] @@ -1133,8 +1074,6 @@ version = "2.40.2" description = "Google Authentication Library" optional = true python-versions = ">=3.7" -groups = ["main"] -markers = "extra == \"extra-proxy\"" files = [ {file = "google_auth-2.40.2-py2.py3-none-any.whl", hash = "sha256:f7e568d42eedfded58734f6a60c58321896a621f7c116c411550a4b4a13da90b"}, {file = "google_auth-2.40.2.tar.gz", hash = "sha256:a33cde547a2134273226fa4b853883559947ebe9207521f7afc707efbf690f58"}, @@ -1148,11 +1087,11 @@ rsa = ">=3.1.4,<5" [package.extras] aiohttp = ["aiohttp (>=3.6.2,<4.0.0)", "requests (>=2.20.0,<3.0.0)"] enterprise-cert = ["cryptography", "pyopenssl"] -pyjwt = ["cryptography (<39.0.0) ; python_version < \"3.8\"", "cryptography (>=38.0.3)", "pyjwt (>=2.0)"] -pyopenssl = ["cryptography (<39.0.0) ; python_version < \"3.8\"", "cryptography (>=38.0.3)", "pyopenssl (>=20.0.0)"] +pyjwt = ["cryptography (<39.0.0)", "cryptography (>=38.0.3)", "pyjwt (>=2.0)"] +pyopenssl = ["cryptography (<39.0.0)", "cryptography (>=38.0.3)", "pyopenssl (>=20.0.0)"] reauth = ["pyu2f (>=0.1.5)"] requests = ["requests (>=2.20.0,<3.0.0)"] -testing = ["aiohttp (<3.10.0)", "aiohttp (>=3.6.2,<4.0.0)", "aioresponses", "cryptography (<39.0.0) ; python_version < \"3.8\"", "cryptography (>=38.0.3)", "flask", "freezegun", "grpcio", "mock", "oauth2client", "packaging", "pyjwt (>=2.0)", "pyopenssl (<24.3.0)", "pyopenssl (>=20.0.0)", "pytest", "pytest-asyncio", "pytest-cov", "pytest-localserver", "pyu2f (>=0.1.5)", "requests (>=2.20.0,<3.0.0)", "responses", "urllib3"] +testing = ["aiohttp (<3.10.0)", "aiohttp (>=3.6.2,<4.0.0)", "aioresponses", "cryptography (<39.0.0)", "cryptography (>=38.0.3)", "flask", "freezegun", "grpcio", "mock", "oauth2client", "packaging", "pyjwt (>=2.0)", "pyopenssl (<24.3.0)", "pyopenssl (>=20.0.0)", "pytest", "pytest-asyncio", "pytest-cov", "pytest-localserver", "pyu2f (>=0.1.5)", "requests (>=2.20.0,<3.0.0)", "responses", "urllib3"] urllib3 = ["packaging", "urllib3"] [[package]] @@ -1161,8 +1100,6 @@ version = "2.24.2" description = "Google Cloud Kms API client library" optional = true python-versions = ">=3.7" -groups = ["main"] -markers = "extra == \"extra-proxy\"" files = [ {file = "google_cloud_kms-2.24.2-py2.py3-none-any.whl", hash = "sha256:368209b035dfac691a467c1cf50986d8b1b26cac1166bdfbaa25d738df91ff7b"}, {file = "google_cloud_kms-2.24.2.tar.gz", hash = "sha256:e9e18bbfafd1a4035c76c03fb5ff03f4f57f596d08e1a9ede7e69ec0151b27a1"}, @@ -1181,12 +1118,10 @@ version = "1.70.0" description = "Common protobufs used in Google APIs" optional = false python-versions = ">=3.7" -groups = ["main", "dev", "proxy-dev"] files = [ {file = "googleapis_common_protos-1.70.0-py3-none-any.whl", hash = "sha256:b8bfcca8c25a2bb253e0e0b0adaf8c00773e5e6af6fd92397576680b807e0fd8"}, {file = "googleapis_common_protos-1.70.0.tar.gz", hash = "sha256:0e1b44e0ea153e6594f9f394fef15193a68aaaea2d843f83e2742717ca753257"}, ] -markers = {main = "extra == \"extra-proxy\""} [package.dependencies] grpcio = {version = ">=1.44.0,<2.0.0", optional = true, markers = "extra == \"grpc\""} @@ -1201,8 +1136,6 @@ version = "0.14.2" description = "IAM API client library" optional = true python-versions = ">=3.7" -groups = ["main"] -markers = "extra == \"extra-proxy\"" files = [ {file = "grpc_google_iam_v1-0.14.2-py3-none-any.whl", hash = "sha256:a3171468459770907926d56a440b2bb643eec1d7ba215f48f3ecece42b4d8351"}, {file = "grpc_google_iam_v1-0.14.2.tar.gz", hash = "sha256:b3e1fc387a1a329e41672197d0ace9de22c78dd7d215048c4c78712073f7bd20"}, @@ -1219,7 +1152,6 @@ version = "1.70.0" description = "HTTP/2-based RPC framework" optional = false python-versions = ">=3.8" -groups = ["main", "dev", "proxy-dev"] files = [ {file = "grpcio-1.70.0-cp310-cp310-linux_armv7l.whl", hash = "sha256:95469d1977429f45fe7df441f586521361e235982a0b39e33841549143ae2851"}, {file = "grpcio-1.70.0-cp310-cp310-macosx_12_0_universal2.whl", hash = "sha256:ed9718f17fbdb472e33b869c77a16d0b55e166b100ec57b016dc7de9c8d236bf"}, @@ -1277,7 +1209,6 @@ files = [ {file = "grpcio-1.70.0-cp39-cp39-win_amd64.whl", hash = "sha256:a31d7e3b529c94e930a117b2175b2efd179d96eb3c7a21ccb0289a8ab05b645c"}, {file = "grpcio-1.70.0.tar.gz", hash = "sha256:8d1584a68d5922330025881e63a6c1b54cc8117291d382e4fa69339b6d914c56"}, ] -markers = {main = "extra == \"extra-proxy\""} [package.extras] protobuf = ["grpcio-tools (>=1.70.0)"] @@ -1288,8 +1219,6 @@ version = "1.62.3" description = "Status proto mapping for gRPC" optional = true python-versions = ">=3.6" -groups = ["main"] -markers = "extra == \"extra-proxy\"" files = [ {file = "grpcio-status-1.62.3.tar.gz", hash = "sha256:289bdd7b2459794a12cf95dc0cb727bd4a1742c37bd823f760236c937e53a485"}, {file = "grpcio_status-1.62.3-py3-none-any.whl", hash = "sha256:f9049b762ba8de6b1086789d8315846e094edac2c50beaf462338b301a8fd4b8"}, @@ -1306,8 +1235,6 @@ version = "23.0.0" description = "WSGI HTTP Server for UNIX" optional = true python-versions = ">=3.7" -groups = ["main"] -markers = "extra == \"proxy\"" files = [ {file = "gunicorn-23.0.0-py3-none-any.whl", hash = "sha256:ec400d38950de4dfd418cff8328b2c8faed0edb0d517d3394e457c317908ca4d"}, {file = "gunicorn-23.0.0.tar.gz", hash = "sha256:f014447a0101dc57e294f6c18ca6b40227a4c90e9bdb586042628030cba004ec"}, @@ -1329,7 +1256,6 @@ version = "0.16.0" description = "A pure-Python, bring-your-own-I/O implementation of HTTP/1.1" optional = false python-versions = ">=3.8" -groups = ["main", "dev", "proxy-dev"] files = [ {file = "h11-0.16.0-py3-none-any.whl", hash = "sha256:63cf8bbe7522de3bf65932fda1d9c2772064ffb3dae62d55932da54b31cb6c86"}, {file = "h11-0.16.0.tar.gz", hash = "sha256:4e35b956cf45792e4caa5885e69fba00bdbc6ffafbfa020300e549b208ee5ff1"}, @@ -1341,7 +1267,6 @@ version = "4.1.0" description = "HTTP/2 State-Machine based protocol implementation" optional = false python-versions = ">=3.6.1" -groups = ["proxy-dev"] files = [ {file = "h2-4.1.0-py3-none-any.whl", hash = "sha256:03a46bcf682256c95b5fd9e9a99c1323584c3eec6440d379b9903d709476bc6d"}, {file = "h2-4.1.0.tar.gz", hash = "sha256:a83aca08fbe7aacb79fec788c9c0bac936343560ed9ec18b82a13a12c28d2abb"}, @@ -1357,8 +1282,6 @@ version = "1.1.2" description = "Fast transfer of large files with the Hugging Face Hub." optional = false python-versions = ">=3.8" -groups = ["main"] -markers = "platform_machine == \"x86_64\" or platform_machine == \"amd64\" or platform_machine == \"arm64\" or platform_machine == \"aarch64\"" files = [ {file = "hf_xet-1.1.2-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:dfd1873fd648488c70735cb60f7728512bca0e459e61fcd107069143cd798469"}, {file = "hf_xet-1.1.2-cp37-abi3-macosx_11_0_arm64.whl", hash = "sha256:29b584983b2d977c44157d9241dcf0fd50acde0b7bff8897fe4386912330090d"}, @@ -1379,7 +1302,6 @@ version = "4.0.0" description = "Pure-Python HPACK header compression" optional = false python-versions = ">=3.6.1" -groups = ["proxy-dev"] files = [ {file = "hpack-4.0.0-py3-none-any.whl", hash = "sha256:84a076fad3dc9a9f8063ccb8041ef100867b1878b25ef0ee63847a5d53818a6c"}, {file = "hpack-4.0.0.tar.gz", hash = "sha256:fc41de0c63e687ebffde81187a948221294896f6bdc0ae2312708df339430095"}, @@ -1391,7 +1313,6 @@ version = "1.0.9" description = "A minimal low-level HTTP client." optional = false python-versions = ">=3.8" -groups = ["main", "dev", "proxy-dev"] files = [ {file = "httpcore-1.0.9-py3-none-any.whl", hash = "sha256:2d400746a40668fc9dec9810239072b40b4484b640a8c38fd654a024c7a1bf55"}, {file = "httpcore-1.0.9.tar.gz", hash = "sha256:6e34463af53fd2ab5d807f399a9b45ea31c3dfa2276f15a2c3f00afff6e176e8"}, @@ -1413,7 +1334,6 @@ version = "0.28.1" description = "The next generation HTTP client." optional = false python-versions = ">=3.8" -groups = ["main", "dev", "proxy-dev"] files = [ {file = "httpx-0.28.1-py3-none-any.whl", hash = "sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad"}, {file = "httpx-0.28.1.tar.gz", hash = "sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc"}, @@ -1426,7 +1346,7 @@ httpcore = "==1.*" idna = "*" [package.extras] -brotli = ["brotli ; platform_python_implementation == \"CPython\"", "brotlicffi ; platform_python_implementation != \"CPython\""] +brotli = ["brotli", "brotlicffi"] cli = ["click (==8.*)", "pygments (==2.*)", "rich (>=10,<14)"] http2 = ["h2 (>=3,<5)"] socks = ["socksio (==1.*)"] @@ -1438,8 +1358,6 @@ version = "0.4.0" description = "Consume Server-Sent Event (SSE) messages with HTTPX." optional = true python-versions = ">=3.8" -groups = ["main"] -markers = "python_version >= \"3.10\" and extra == \"proxy\"" files = [ {file = "httpx-sse-0.4.0.tar.gz", hash = "sha256:1e81a3a3070ce322add1d3529ed42eb5f70817f45ed6ec915ab753f961139721"}, {file = "httpx_sse-0.4.0-py3-none-any.whl", hash = "sha256:f329af6eae57eaa2bdfd962b42524764af68075ea87370a2de920af5341e318f"}, @@ -1447,14 +1365,13 @@ files = [ [[package]] name = "huggingface-hub" -version = "0.32.0" +version = "0.32.2" description = "Client library to download and publish models, datasets and other repos on the huggingface.co hub" optional = false python-versions = ">=3.8.0" -groups = ["main"] files = [ - {file = "huggingface_hub-0.32.0-py3-none-any.whl", hash = "sha256:e56e94109649ce6ebdb59b4e393ee3543ec0eca2eab4f41b269e1d885c88d08c"}, - {file = "huggingface_hub-0.32.0.tar.gz", hash = "sha256:dd66c9365ea43049ec9b939bdcdb21a0051e1bd70026fc50304e4fb1bb6a15ba"}, + {file = "huggingface_hub-0.32.2-py3-none-any.whl", hash = "sha256:f8fcf14603237eadf96dbe577d30b330f8c27b4a0a31e8f6c94fdc25e021fdb8"}, + {file = "huggingface_hub-0.32.2.tar.gz", hash = "sha256:64a288b1eadad6b60bbfd50f0e52fd6cfa2ef77ab13c3e8a834a038ae929de54"}, ] [package.dependencies] @@ -1468,16 +1385,16 @@ tqdm = ">=4.42.1" typing-extensions = ">=3.7.4.3" [package.extras] -all = ["InquirerPy (==0.3.4)", "Jinja2", "Pillow", "aiohttp", "authlib (>=1.3.2)", "fastapi", "gradio (>=4.0.0)", "httpx", "itsdangerous", "jedi", "libcst (==1.4.0)", "mypy (==1.15.0) ; python_version >= \"3.9\"", "mypy (>=1.14.1,<1.15.0) ; python_version == \"3.8\"", "numpy", "pytest (>=8.1.1,<8.2.2)", "pytest-asyncio", "pytest-cov", "pytest-env", "pytest-mock", "pytest-rerunfailures", "pytest-vcr", "pytest-xdist", "ruff (>=0.9.0)", "soundfile", "types-PyYAML", "types-requests", "types-simplejson", "types-toml", "types-tqdm", "types-urllib3", "typing-extensions (>=4.8.0)", "urllib3 (<2.0)"] +all = ["InquirerPy (==0.3.4)", "Jinja2", "Pillow", "aiohttp", "authlib (>=1.3.2)", "fastapi", "gradio (>=4.0.0)", "httpx", "itsdangerous", "jedi", "libcst (==1.4.0)", "mypy (==1.15.0)", "mypy (>=1.14.1,<1.15.0)", "numpy", "pytest (>=8.1.1,<8.2.2)", "pytest-asyncio", "pytest-cov", "pytest-env", "pytest-mock", "pytest-rerunfailures", "pytest-vcr", "pytest-xdist", "ruff (>=0.9.0)", "soundfile", "types-PyYAML", "types-requests", "types-simplejson", "types-toml", "types-tqdm", "types-urllib3", "typing-extensions (>=4.8.0)", "urllib3 (<2.0)"] cli = ["InquirerPy (==0.3.4)"] -dev = ["InquirerPy (==0.3.4)", "Jinja2", "Pillow", "aiohttp", "authlib (>=1.3.2)", "fastapi", "gradio (>=4.0.0)", "httpx", "itsdangerous", "jedi", "libcst (==1.4.0)", "mypy (==1.15.0) ; python_version >= \"3.9\"", "mypy (>=1.14.1,<1.15.0) ; python_version == \"3.8\"", "numpy", "pytest (>=8.1.1,<8.2.2)", "pytest-asyncio", "pytest-cov", "pytest-env", "pytest-mock", "pytest-rerunfailures", "pytest-vcr", "pytest-xdist", "ruff (>=0.9.0)", "soundfile", "types-PyYAML", "types-requests", "types-simplejson", "types-toml", "types-tqdm", "types-urllib3", "typing-extensions (>=4.8.0)", "urllib3 (<2.0)"] +dev = ["InquirerPy (==0.3.4)", "Jinja2", "Pillow", "aiohttp", "authlib (>=1.3.2)", "fastapi", "gradio (>=4.0.0)", "httpx", "itsdangerous", "jedi", "libcst (==1.4.0)", "mypy (==1.15.0)", "mypy (>=1.14.1,<1.15.0)", "numpy", "pytest (>=8.1.1,<8.2.2)", "pytest-asyncio", "pytest-cov", "pytest-env", "pytest-mock", "pytest-rerunfailures", "pytest-vcr", "pytest-xdist", "ruff (>=0.9.0)", "soundfile", "types-PyYAML", "types-requests", "types-simplejson", "types-toml", "types-tqdm", "types-urllib3", "typing-extensions (>=4.8.0)", "urllib3 (<2.0)"] fastai = ["fastai (>=2.4)", "fastcore (>=1.3.27)", "toml"] hf-transfer = ["hf-transfer (>=0.1.4)"] hf-xet = ["hf-xet (>=1.1.2,<2.0.0)"] inference = ["aiohttp"] mcp = ["aiohttp", "mcp (>=1.8.0)", "typer"] oauth = ["authlib (>=1.3.2)", "fastapi", "httpx", "itsdangerous"] -quality = ["libcst (==1.4.0)", "mypy (==1.15.0) ; python_version >= \"3.9\"", "mypy (>=1.14.1,<1.15.0) ; python_version == \"3.8\"", "ruff (>=0.9.0)"] +quality = ["libcst (==1.4.0)", "mypy (==1.15.0)", "mypy (>=1.14.1,<1.15.0)", "ruff (>=0.9.0)"] tensorflow = ["graphviz", "pydot", "tensorflow"] tensorflow-testing = ["keras (<3.0)", "tensorflow"] testing = ["InquirerPy (==0.3.4)", "Jinja2", "Pillow", "aiohttp", "authlib (>=1.3.2)", "fastapi", "gradio (>=4.0.0)", "httpx", "itsdangerous", "jedi", "numpy", "pytest (>=8.1.1,<8.2.2)", "pytest-asyncio", "pytest-cov", "pytest-env", "pytest-mock", "pytest-rerunfailures", "pytest-vcr", "pytest-xdist", "soundfile", "urllib3 (<2.0)"] @@ -1490,8 +1407,6 @@ version = "10.0" description = "Human friendly output for text interfaces using Python" optional = true python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" -groups = ["main"] -markers = "python_version >= \"3.9\" and extra == \"extra-proxy\" and python_version < \"3.14\"" files = [ {file = "humanfriendly-10.0-py2.py3-none-any.whl", hash = "sha256:1697e1a8a8f550fd43c2865cd84542fc175a61dcb779b6fee18cf6b6ccba1477"}, {file = "humanfriendly-10.0.tar.gz", hash = "sha256:6b0b831ce8f15f7300721aa49829fc4e83921a9a301cc7f606be6686a2288ddc"}, @@ -1506,7 +1421,6 @@ version = "0.15.0" description = "A ASGI Server based on Hyper libraries and inspired by Gunicorn" optional = false python-versions = ">=3.7" -groups = ["proxy-dev"] files = [ {file = "hypercorn-0.15.0-py3-none-any.whl", hash = "sha256:5008944999612fd188d7a1ca02e89d20065642b89503020ac392dfed11840730"}, {file = "hypercorn-0.15.0.tar.gz", hash = "sha256:d517f68d5dc7afa9a9d50ecefb0f769f466ebe8c1c18d2c2f447a24e763c9a63"}, @@ -1524,7 +1438,7 @@ wsproto = ">=0.14.0" docs = ["pydata_sphinx_theme", "sphinxcontrib_mermaid"] h3 = ["aioquic (>=0.9.0,<1.0)"] trio = ["exceptiongroup (>=1.1.0)", "trio (>=0.22.0)"] -uvloop = ["uvloop ; platform_system != \"Windows\""] +uvloop = ["uvloop"] [[package]] name = "hyperframe" @@ -1532,7 +1446,6 @@ version = "6.0.1" description = "HTTP/2 framing layer for Python" optional = false python-versions = ">=3.6.1" -groups = ["proxy-dev"] files = [ {file = "hyperframe-6.0.1-py3-none-any.whl", hash = "sha256:0ec6bafd80d8ad2195c4f03aacba3a8265e57bc4cff261e802bf39970ed02a15"}, {file = "hyperframe-6.0.1.tar.gz", hash = "sha256:ae510046231dc8e9ecb1a6586f63d2347bf4c8905914aa84ba585ae85f28a914"}, @@ -1544,7 +1457,6 @@ version = "3.10" description = "Internationalized Domain Names in Applications (IDNA)" optional = false python-versions = ">=3.6" -groups = ["main", "dev", "proxy-dev"] files = [ {file = "idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3"}, {file = "idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9"}, @@ -1559,8 +1471,6 @@ version = "1.4.1" description = "Getting image size from png/jpeg/jpeg2000/gif file" optional = true python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -groups = ["main"] -markers = "extra == \"utils\"" files = [ {file = "imagesize-1.4.1-py2.py3-none-any.whl", hash = "sha256:0d8d18d08f840c19d0ee7ca1fd82490fdc3729b7ac93f49870406ddde8ef8d8b"}, {file = "imagesize-1.4.1.tar.gz", hash = "sha256:69150444affb9cb0d5cc5a92b3676f0b2fb7cd9ae39e947a5e11a36b4497cd4a"}, @@ -1572,7 +1482,6 @@ version = "7.1.0" description = "Read metadata from Python packages" optional = false python-versions = ">=3.8" -groups = ["main", "dev", "proxy-dev"] files = [ {file = "importlib_metadata-7.1.0-py3-none-any.whl", hash = "sha256:30962b96c0c223483ed6cc7280e7f0199feb01a0e40cfae4d4450fc6fab1f570"}, {file = "importlib_metadata-7.1.0.tar.gz", hash = "sha256:b78938b926ee8d5f020fc4772d487045805a55ddbad2ecf21c6d60938dc7fcd2"}, @@ -1584,7 +1493,7 @@ zipp = ">=0.5" [package.extras] docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] perf = ["ipython"] -testing = ["flufl.flake8", "importlib-resources (>=1.3) ; python_version < \"3.9\"", "jaraco.test (>=5.4)", "packaging", "pyfakefs", "pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy ; platform_python_implementation != \"PyPy\"", "pytest-perf (>=0.9.2)", "pytest-ruff (>=0.2.1)"] +testing = ["flufl.flake8", "importlib-resources (>=1.3)", "jaraco.test (>=5.4)", "packaging", "pyfakefs", "pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy", "pytest-perf (>=0.9.2)", "pytest-ruff (>=0.2.1)"] [[package]] name = "importlib-resources" @@ -1592,8 +1501,6 @@ version = "6.4.5" description = "Read resources from Python packages" optional = false python-versions = ">=3.8" -groups = ["main"] -markers = "python_version < \"3.9\"" files = [ {file = "importlib_resources-6.4.5-py3-none-any.whl", hash = "sha256:ac29d5f956f01d5e4bb63102a5a19957f1b9175e45649977264a1416783bb717"}, {file = "importlib_resources-6.4.5.tar.gz", hash = "sha256:980862a1d16c9e147a59603677fa2aa5fd82b87f223b6cb870695bcfce830065"}, @@ -1603,7 +1510,7 @@ files = [ zipp = {version = ">=3.1.0", markers = "python_version < \"3.10\""} [package.extras] -check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1) ; sys_platform != \"cygwin\""] +check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)"] cover = ["pytest-cov"] doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] enabler = ["pytest-enabler (>=2.2)"] @@ -1616,7 +1523,6 @@ version = "2.1.0" description = "brain-dead simple config-ini parsing" optional = false python-versions = ">=3.8" -groups = ["dev"] files = [ {file = "iniconfig-2.1.0-py3-none-any.whl", hash = "sha256:9deba5723312380e77435581c6bf4935c94cbfab9b1ed33ef8d238ea168eb760"}, {file = "iniconfig-2.1.0.tar.gz", hash = "sha256:3abbd2e30b36733fee78f9c7f7308f2d0050e88f0087fd25c2645f63c773e1c7"}, @@ -1628,8 +1534,6 @@ version = "0.7.2" description = "An ISO 8601 date/time/duration parser and formatter" optional = true python-versions = ">=3.7" -groups = ["main"] -markers = "extra == \"extra-proxy\"" files = [ {file = "isodate-0.7.2-py3-none-any.whl", hash = "sha256:28009937d8031054830160fce6d409ed342816b543597cece116d966c6d99e15"}, {file = "isodate-0.7.2.tar.gz", hash = "sha256:4cd1aa0f43ca76f4a6c6c0292a85f40b35ec2e43e315b59f06e6d32171a953e6"}, @@ -1641,7 +1545,6 @@ version = "3.1.6" description = "A very fast and expressive template engine." optional = false python-versions = ">=3.7" -groups = ["main", "proxy-dev"] files = [ {file = "jinja2-3.1.6-py3-none-any.whl", hash = "sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67"}, {file = "jinja2-3.1.6.tar.gz", hash = "sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d"}, @@ -1659,7 +1562,6 @@ version = "0.9.1" description = "Fast iterable JSON parser." optional = false python-versions = ">=3.8" -groups = ["main"] files = [ {file = "jiter-0.9.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:c0163baa7ee85860fdc14cc39263014500df901eeffdf94c1eab9a2d713b2a9d"}, {file = "jiter-0.9.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:514d4dd845e0af4da15112502e6fcb952f0721f27f17e530454e379472b90c14"}, @@ -1745,8 +1647,6 @@ version = "1.0.1" description = "JSON Matching Expressions" optional = true python-versions = ">=3.7" -groups = ["main"] -markers = "extra == \"proxy\"" files = [ {file = "jmespath-1.0.1-py3-none-any.whl", hash = "sha256:02e2e4cc71b5bcab88332eebf907519190dd9e6e82107fa7f83b1003a6252980"}, {file = "jmespath-1.0.1.tar.gz", hash = "sha256:90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe"}, @@ -1758,7 +1658,6 @@ version = "4.23.0" description = "An implementation of JSON Schema validation for Python" optional = false python-versions = ">=3.8" -groups = ["main"] files = [ {file = "jsonschema-4.23.0-py3-none-any.whl", hash = "sha256:fbadb6f8b144a8f8cf9f0b89ba94501d143e50411a1278633f56a7acf7fd5566"}, {file = "jsonschema-4.23.0.tar.gz", hash = "sha256:d71497fef26351a33265337fa77ffeb82423f3ea21283cd9467bb03999266bc4"}, @@ -1782,7 +1681,6 @@ version = "2023.12.1" description = "The JSON Schema meta-schemas and vocabularies, exposed as a Registry" optional = false python-versions = ">=3.8" -groups = ["main"] files = [ {file = "jsonschema_specifications-2023.12.1-py3-none-any.whl", hash = "sha256:87e4fdf3a94858b8a2ba2778d9ba57d8a9cafca7c7489c46ba0d30a8bc6a9c3c"}, {file = "jsonschema_specifications-2023.12.1.tar.gz", hash = "sha256:48a76787b3e70f5ed53f1160d2b81f586e4ca6d1548c5de7085d1682674764cc"}, @@ -1798,7 +1696,6 @@ version = "2.54.1" description = "A client library for accessing langfuse" optional = false python-versions = "<4.0,>=3.8.1" -groups = ["dev"] files = [ {file = "langfuse-2.54.1-py3-none-any.whl", hash = "sha256:1f1261cf763886758c70e192133340ff296169cc0930cde725eee52d467eb661"}, {file = "langfuse-2.54.1.tar.gz", hash = "sha256:7efc70799740ffa0ac7e04066e0596fb6433e8e501fc850c6a4e7967de6de8a7"}, @@ -1824,8 +1721,6 @@ version = "0.1.6" description = "Package for LiteLLM Enterprise features" optional = true python-versions = "!=2.7.*,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,!=3.7.*,>=3.8" -groups = ["main"] -markers = "extra == \"proxy\"" files = [ {file = "litellm_enterprise-0.1.6-py3-none-any.whl", hash = "sha256:21f251cb7c777c94842446bcda88f469dea42461bcf09fd5e4715d1d4b746f2d"}, {file = "litellm_enterprise-0.1.6.tar.gz", hash = "sha256:cb5ec15a9a63d3eac964c8957a5a0daa558d322c297661ee05bc57e3b5d6c5bb"}, @@ -1833,15 +1728,13 @@ files = [ [[package]] name = "litellm-proxy-extras" -version = "0.2.0" +version = "0.2.1" description = "Additional files for the LiteLLM Proxy. Reduces the size of the main litellm package." optional = true python-versions = "!=2.7.*,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,!=3.7.*,>=3.8" -groups = ["main"] -markers = "extra == \"proxy\"" files = [ - {file = "litellm_proxy_extras-0.2.0-py3-none-any.whl", hash = "sha256:81c1bde201cad434ccf62a5d0b4993b5d6106008a08be36466cc653ab5197d85"}, - {file = "litellm_proxy_extras-0.2.0.tar.gz", hash = "sha256:8643f1fd85c85671dc7b6793000121471e64355c5371d40cbc97c27a5182aef4"}, + {file = "litellm_proxy_extras-0.2.1-py3-none-any.whl", hash = "sha256:b8a5fd8ab264ad99d562133b4fa40ea7b0608df5f5b1dff0c8a0fe0b06107d80"}, + {file = "litellm_proxy_extras-0.2.1.tar.gz", hash = "sha256:7d2a9c15dd31fadc3f89bd145754b855c60eb273b7ec53a6734bce62a56c2da7"}, ] [[package]] @@ -1850,8 +1743,6 @@ version = "3.0.0" description = "Python port of markdown-it. Markdown parsing, done right!" optional = true python-versions = ">=3.8" -groups = ["main"] -markers = "extra == \"proxy\"" files = [ {file = "markdown-it-py-3.0.0.tar.gz", hash = "sha256:e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb"}, {file = "markdown_it_py-3.0.0-py3-none-any.whl", hash = "sha256:355216845c60bd96232cd8d8c40e8f9765cc86f46880e43a8fd22dc1a1a8cab1"}, @@ -1876,7 +1767,6 @@ version = "2.1.5" description = "Safely add untrusted strings to HTML/XML markup." optional = false python-versions = ">=3.7" -groups = ["main", "proxy-dev"] files = [ {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a17a92de5231666cfbe003f0e4b9b3a7ae3afb1ec2845aadc2bacc93ff85febc"}, {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:72b6be590cc35924b02c78ef34b467da4ba07e4e0f0454a2c5907f473fc50ce5"}, @@ -1946,7 +1836,6 @@ version = "0.7.0" description = "McCabe checker, plugin for flake8" optional = false python-versions = ">=3.6" -groups = ["dev"] files = [ {file = "mccabe-0.7.0-py2.py3-none-any.whl", hash = "sha256:6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e"}, {file = "mccabe-0.7.0.tar.gz", hash = "sha256:348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325"}, @@ -1958,8 +1847,6 @@ version = "1.5.0" description = "Model Context Protocol SDK" optional = true python-versions = ">=3.10" -groups = ["main"] -markers = "python_version >= \"3.10\" and extra == \"proxy\"" files = [ {file = "mcp-1.5.0-py3-none-any.whl", hash = "sha256:51c3f35ce93cb702f7513c12406bbea9665ef75a08db909200b07da9db641527"}, {file = "mcp-1.5.0.tar.gz", hash = "sha256:5b2766c05e68e01a2034875e250139839498c61792163a7b221fc170c12f5aa9"}, @@ -1986,8 +1873,6 @@ version = "0.1.2" description = "Markdown URL utilities" optional = true python-versions = ">=3.7" -groups = ["main"] -markers = "extra == \"proxy\"" files = [ {file = "mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8"}, {file = "mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba"}, @@ -1999,8 +1884,6 @@ version = "0.4.1" description = "" optional = true python-versions = ">=3.9" -groups = ["main"] -markers = "python_version >= \"3.9\" and extra == \"extra-proxy\" and python_version < \"3.14\"" files = [ {file = "ml_dtypes-0.4.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:1fe8b5b5e70cd67211db94b05cfd58dace592f24489b038dc6f9fe347d2e07d5"}, {file = "ml_dtypes-0.4.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c09a6d11d8475c2a9fd2bc0695628aec105f97cab3b3a3fb7c9660348ff7d24"}, @@ -2023,10 +1906,10 @@ files = [ [package.dependencies] numpy = [ - {version = ">=1.23.3", markers = "python_version >= \"3.11\""}, - {version = ">1.20"}, - {version = ">=1.21.2", markers = "python_version >= \"3.10\""}, + {version = ">1.20", markers = "python_version < \"3.10\""}, {version = ">=1.26.0", markers = "python_version >= \"3.12\""}, + {version = ">=1.23.3", markers = "python_version >= \"3.11\" and python_version < \"3.12\""}, + {version = ">=1.21.2", markers = "python_version >= \"3.10\" and python_version < \"3.11\""}, ] [package.extras] @@ -2038,7 +1921,6 @@ version = "1.32.3" description = "The Microsoft Authentication Library (MSAL) for Python library enables your app to access the Microsoft Cloud by supporting authentication of users with Microsoft Azure Active Directory accounts (AAD) and Microsoft Accounts (MSA) using industry standard OAuth2 and OpenID Connect." optional = false python-versions = ">=3.7" -groups = ["main", "proxy-dev"] files = [ {file = "msal-1.32.3-py3-none-any.whl", hash = "sha256:b2798db57760b1961b142f027ffb7c8169536bf77316e99a0df5c4aaebb11569"}, {file = "msal-1.32.3.tar.gz", hash = "sha256:5eea038689c78a5a70ca8ecbe1245458b55a857bd096efb6989c69ba15985d35"}, @@ -2050,7 +1932,7 @@ PyJWT = {version = ">=1.0.0,<3", extras = ["crypto"]} requests = ">=2.0.0,<3" [package.extras] -broker = ["pymsalruntime (>=0.14,<0.18) ; python_version >= \"3.6\" and platform_system == \"Windows\"", "pymsalruntime (>=0.17,<0.18) ; python_version >= \"3.8\" and platform_system == \"Darwin\""] +broker = ["pymsalruntime (>=0.14,<0.18)", "pymsalruntime (>=0.17,<0.18)"] [[package]] name = "msal-extensions" @@ -2058,7 +1940,6 @@ version = "1.3.0" description = "Microsoft Authentication Library extensions (MSAL EX) provides a persistence API that can save your data on disk, encrypted on Windows, macOS and Linux. Concurrent data access will be coordinated by a file lock mechanism." optional = false python-versions = ">=3.7" -groups = ["main", "proxy-dev"] files = [ {file = "msal_extensions-1.3.0-py3-none-any.whl", hash = "sha256:105328ddcbdd342016c9949d8f89e3917554740c8ab26669c0fa0e069e730a0e"}, {file = "msal_extensions-1.3.0.tar.gz", hash = "sha256:96918996642b38c78cd59b55efa0f06fd1373c90e0949be8615697c048fba62c"}, @@ -2076,7 +1957,6 @@ version = "6.1.0" description = "multidict implementation" optional = false python-versions = ">=3.8" -groups = ["main"] files = [ {file = "multidict-6.1.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:3380252550e372e8511d49481bd836264c009adb826b23fefcc5dd3c69692f60"}, {file = "multidict-6.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:99f826cbf970077383d7de805c0681799491cb939c25450b9b5b3ced03ca99f1"}, @@ -2181,7 +2061,6 @@ version = "1.14.1" description = "Optional static typing for Python" optional = false python-versions = ">=3.8" -groups = ["dev"] files = [ {file = "mypy-1.14.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:52686e37cf13d559f668aa398dd7ddf1f92c5d613e4f8cb262be2fb4fedb0fcb"}, {file = "mypy-1.14.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:1fb545ca340537d4b45d3eecdb3def05e913299ca72c290326be19b3804b39c0"}, @@ -2241,7 +2120,6 @@ version = "1.1.0" description = "Type system extensions for programs checked with the mypy type checker." optional = false python-versions = ">=3.8" -groups = ["dev"] files = [ {file = "mypy_extensions-1.1.0-py3-none-any.whl", hash = "sha256:1be4cccdb0f2482337c4743e60421de3a356cd97508abadd57d47403e94f5505"}, {file = "mypy_extensions-1.1.0.tar.gz", hash = "sha256:52e68efc3284861e772bbcd66823fde5ae21fd2fdb51c62a211403730b916558"}, @@ -2253,7 +2131,6 @@ version = "1.9.1" description = "Node.js virtual environment builder" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" -groups = ["main", "proxy-dev"] files = [ {file = "nodeenv-1.9.1-py2.py3-none-any.whl", hash = "sha256:ba11c9782d29c27c70ffbdda2d7415098754709be8a7056d79a737cd901155c9"}, {file = "nodeenv-1.9.1.tar.gz", hash = "sha256:6ec12890a2dab7946721edbfbcd91f3319c6ccc9aec47be7c7e6b7011ee6645f"}, @@ -2265,8 +2142,6 @@ version = "1.26.4" description = "Fundamental package for array computing in Python" optional = true python-versions = ">=3.9" -groups = ["main"] -markers = "python_version >= \"3.9\" and extra == \"extra-proxy\" and python_version < \"3.12\"" files = [ {file = "numpy-1.26.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:9ff0f4f29c51e2803569d7a51c2304de5554655a60c5d776e35b4a41413830d0"}, {file = "numpy-1.26.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2e4ee3380d6de9c9ec04745830fd9e2eccb3e6cf790d39d7b98ffd19b0dd754a"}, @@ -2312,8 +2187,6 @@ version = "2.2.6" description = "Fundamental package for array computing in Python" optional = true python-versions = ">=3.10" -groups = ["main"] -markers = "python_version < \"3.14\" and extra == \"extra-proxy\" and python_version >= \"3.12\"" files = [ {file = "numpy-2.2.6-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b412caa66f72040e6d268491a59f2c43bf03eb6c96dd8f0307829feb7fa2b6fb"}, {file = "numpy-2.2.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8e41fd67c52b86603a91c1a505ebaef50b3314de0213461c7a6e99c9a3beff90"}, @@ -2378,8 +2251,6 @@ version = "1.7.0" description = "Sphinx extension to support docstrings in Numpy format" optional = true python-versions = ">=3.8" -groups = ["main"] -markers = "extra == \"utils\"" files = [ {file = "numpydoc-1.7.0-py3-none-any.whl", hash = "sha256:5a56419d931310d79a06cfc2a126d1558700feeb9b4f3d8dcae1a8134be829c9"}, {file = "numpydoc-1.7.0.tar.gz", hash = "sha256:866e5ae5b6509dcf873fc6381120f5c31acf13b135636c1a81d68c166a95f921"}, @@ -2391,7 +2262,7 @@ tabulate = ">=0.8.10" tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""} [package.extras] -developer = ["pre-commit (>=3.3)", "tomli ; python_version < \"3.11\""] +developer = ["pre-commit (>=3.3)", "tomli"] doc = ["matplotlib (>=3.5)", "numpy (>=1.22)", "pydata-sphinx-theme (>=0.13.3)", "sphinx (>=7)"] test = ["matplotlib", "pytest", "pytest-cov"] @@ -2401,8 +2272,6 @@ version = "3.2.2" description = "A generic, spec-compliant, thorough implementation of the OAuth request-signing logic" optional = true python-versions = ">=3.6" -groups = ["main"] -markers = "extra == \"proxy\"" files = [ {file = "oauthlib-3.2.2-py3-none-any.whl", hash = "sha256:8139f29aac13e25d502680e9e19963e83f16838d48a0d71c287fe40e7067fbca"}, {file = "oauthlib-3.2.2.tar.gz", hash = "sha256:9859c40929662bec5d64f34d01c99e093149682a3f38915dc0655d5a633dd918"}, @@ -2419,7 +2288,6 @@ version = "1.82.0" description = "The official Python library for the openai API" optional = false python-versions = ">=3.8" -groups = ["main"] files = [ {file = "openai-1.82.0-py3-none-any.whl", hash = "sha256:8c40647fea1816516cb3de5189775b30b5f4812777e40b8768f361f232b61b30"}, {file = "openai-1.82.0.tar.gz", hash = "sha256:b0a009b9a58662d598d07e91e4219ab4b1e3d8ba2db3f173896a92b9b874d1a7"}, @@ -2446,7 +2314,6 @@ version = "1.25.0" description = "OpenTelemetry Python API" optional = false python-versions = ">=3.8" -groups = ["dev", "proxy-dev"] files = [ {file = "opentelemetry_api-1.25.0-py3-none-any.whl", hash = "sha256:757fa1aa020a0f8fa139f8959e53dec2051cc26b832e76fa839a6d76ecefd737"}, {file = "opentelemetry_api-1.25.0.tar.gz", hash = "sha256:77c4985f62f2614e42ce77ee4c9da5fa5f0bc1e1821085e9a47533a9323ae869"}, @@ -2462,7 +2329,6 @@ version = "1.25.0" description = "OpenTelemetry Collector Exporters" optional = false python-versions = ">=3.8" -groups = ["dev", "proxy-dev"] files = [ {file = "opentelemetry_exporter_otlp-1.25.0-py3-none-any.whl", hash = "sha256:d67a831757014a3bc3174e4cd629ae1493b7ba8d189e8a007003cacb9f1a6b60"}, {file = "opentelemetry_exporter_otlp-1.25.0.tar.gz", hash = "sha256:ce03199c1680a845f82e12c0a6a8f61036048c07ec7a0bd943142aca8fa6ced0"}, @@ -2478,7 +2344,6 @@ version = "1.25.0" description = "OpenTelemetry Protobuf encoding" optional = false python-versions = ">=3.8" -groups = ["dev", "proxy-dev"] files = [ {file = "opentelemetry_exporter_otlp_proto_common-1.25.0-py3-none-any.whl", hash = "sha256:15637b7d580c2675f70246563363775b4e6de947871e01d0f4e3881d1848d693"}, {file = "opentelemetry_exporter_otlp_proto_common-1.25.0.tar.gz", hash = "sha256:c93f4e30da4eee02bacd1e004eb82ce4da143a2f8e15b987a9f603e0a85407d3"}, @@ -2493,7 +2358,6 @@ version = "1.25.0" description = "OpenTelemetry Collector Protobuf over gRPC Exporter" optional = false python-versions = ">=3.8" -groups = ["dev", "proxy-dev"] files = [ {file = "opentelemetry_exporter_otlp_proto_grpc-1.25.0-py3-none-any.whl", hash = "sha256:3131028f0c0a155a64c430ca600fd658e8e37043cb13209f0109db5c1a3e4eb4"}, {file = "opentelemetry_exporter_otlp_proto_grpc-1.25.0.tar.gz", hash = "sha256:c0b1661415acec5af87625587efa1ccab68b873745ca0ee96b69bb1042087eac"}, @@ -2514,7 +2378,6 @@ version = "1.25.0" description = "OpenTelemetry Collector Protobuf over HTTP Exporter" optional = false python-versions = ">=3.8" -groups = ["dev", "proxy-dev"] files = [ {file = "opentelemetry_exporter_otlp_proto_http-1.25.0-py3-none-any.whl", hash = "sha256:2eca686ee11b27acd28198b3ea5e5863a53d1266b91cda47c839d95d5e0541a6"}, {file = "opentelemetry_exporter_otlp_proto_http-1.25.0.tar.gz", hash = "sha256:9f8723859e37c75183ea7afa73a3542f01d0fd274a5b97487ea24cb683d7d684"}, @@ -2535,7 +2398,6 @@ version = "1.25.0" description = "OpenTelemetry Python Proto" optional = false python-versions = ">=3.8" -groups = ["dev", "proxy-dev"] files = [ {file = "opentelemetry_proto-1.25.0-py3-none-any.whl", hash = "sha256:f07e3341c78d835d9b86665903b199893befa5e98866f63d22b00d0b7ca4972f"}, {file = "opentelemetry_proto-1.25.0.tar.gz", hash = "sha256:35b6ef9dc4a9f7853ecc5006738ad40443701e52c26099e197895cbda8b815a3"}, @@ -2550,7 +2412,6 @@ version = "1.25.0" description = "OpenTelemetry Python SDK" optional = false python-versions = ">=3.8" -groups = ["dev", "proxy-dev"] files = [ {file = "opentelemetry_sdk-1.25.0-py3-none-any.whl", hash = "sha256:d97ff7ec4b351692e9d5a15af570c693b8715ad78b8aafbec5c7100fe966b4c9"}, {file = "opentelemetry_sdk-1.25.0.tar.gz", hash = "sha256:ce7fc319c57707ef5bf8b74fb9f8ebdb8bfafbe11898410e0d2a761d08a98ec7"}, @@ -2567,7 +2428,6 @@ version = "0.46b0" description = "OpenTelemetry Semantic Conventions" optional = false python-versions = ">=3.8" -groups = ["dev", "proxy-dev"] files = [ {file = "opentelemetry_semantic_conventions-0.46b0-py3-none-any.whl", hash = "sha256:6daef4ef9fa51d51855d9f8e0ccd3a1bd59e0e545abe99ac6203804e36ab3e07"}, {file = "opentelemetry_semantic_conventions-0.46b0.tar.gz", hash = "sha256:fbc982ecbb6a6e90869b15c1673be90bd18c8a56ff1cffc0864e38e2edffaefa"}, @@ -2582,8 +2442,6 @@ version = "3.10.15" description = "Fast, correct Python JSON library supporting dataclasses, datetimes, and numpy" optional = true python-versions = ">=3.8" -groups = ["main"] -markers = "extra == \"proxy\"" files = [ {file = "orjson-3.10.15-cp310-cp310-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:552c883d03ad185f720d0c09583ebde257e41b9521b74ff40e08b7dec4559c04"}, {file = "orjson-3.10.15-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:616e3e8d438d02e4854f70bfdc03a6bcdb697358dbaa6bcd19cbe24d24ece1f8"}, @@ -2672,7 +2530,6 @@ version = "24.2" description = "Core utilities for Python packages" optional = false python-versions = ">=3.8" -groups = ["main", "dev"] files = [ {file = "packaging-24.2-py3-none-any.whl", hash = "sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759"}, {file = "packaging-24.2.tar.gz", hash = "sha256:c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f"}, @@ -2684,7 +2541,6 @@ version = "0.12.1" description = "Utility library for gitignore style pattern matching of file paths." optional = false python-versions = ">=3.8" -groups = ["dev"] files = [ {file = "pathspec-0.12.1-py3-none-any.whl", hash = "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08"}, {file = "pathspec-0.12.1.tar.gz", hash = "sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712"}, @@ -2696,8 +2552,6 @@ version = "1.3.10" description = "Resolve a name to an object." optional = false python-versions = ">=3.6" -groups = ["main"] -markers = "python_version < \"3.9\"" files = [ {file = "pkgutil_resolve_name-1.3.10-py3-none-any.whl", hash = "sha256:ca27cc078d25c5ad71a9de0a7a330146c4e014c2462d9af19c6b828280649c5e"}, {file = "pkgutil_resolve_name-1.3.10.tar.gz", hash = "sha256:357d6c9e6a755653cfd78893817c0853af365dd51ec97f3d358a819373bbd174"}, @@ -2709,7 +2563,6 @@ version = "4.3.6" description = "A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`." optional = false python-versions = ">=3.8" -groups = ["dev"] files = [ {file = "platformdirs-4.3.6-py3-none-any.whl", hash = "sha256:73e575e1408ab8103900836b97580d5307456908a03e92031bab39e4554cc3fb"}, {file = "platformdirs-4.3.6.tar.gz", hash = "sha256:357fb2acbc885b0419afd3ce3ed34564c13c9b95c89360cd9563f73aa5e2b907"}, @@ -2726,7 +2579,6 @@ version = "1.5.0" description = "plugin and hook calling mechanisms for python" optional = false python-versions = ">=3.8" -groups = ["dev"] files = [ {file = "pluggy-1.5.0-py3-none-any.whl", hash = "sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669"}, {file = "pluggy-1.5.0.tar.gz", hash = "sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1"}, @@ -2742,7 +2594,6 @@ version = "2.0.0" description = "A pure-Python implementation of the HTTP/2 priority tree" optional = false python-versions = ">=3.6.1" -groups = ["proxy-dev"] files = [ {file = "priority-2.0.0-py3-none-any.whl", hash = "sha256:6f8eefce5f3ad59baf2c080a664037bb4725cd0a790d53d59ab4059288faf6aa"}, {file = "priority-2.0.0.tar.gz", hash = "sha256:c965d54f1b8d0d0b19479db3924c7c36cf672dbf2aec92d43fbdaf4492ba18c0"}, @@ -2754,7 +2605,6 @@ version = "0.11.0" description = "Prisma Client Python is an auto-generated and fully type-safe database client" optional = false python-versions = ">=3.7.0" -groups = ["main", "proxy-dev"] files = [ {file = "prisma-0.11.0-py3-none-any.whl", hash = "sha256:22bb869e59a2968b99f3483bb417717273ffbc569fd1e9ceed95e5614cbaf53a"}, {file = "prisma-0.11.0.tar.gz", hash = "sha256:3f2f2fd2361e1ec5ff655f2a04c7860c2f2a5bc4c91f78ca9c5c6349735bf693"}, @@ -2780,7 +2630,6 @@ version = "0.20.0" description = "Python client for the Prometheus monitoring system." optional = false python-versions = ">=3.8" -groups = ["proxy-dev"] files = [ {file = "prometheus_client-0.20.0-py3-none-any.whl", hash = "sha256:cde524a85bce83ca359cc837f28b8c0db5cac7aa653a588fd7e84ba061c329e7"}, {file = "prometheus_client-0.20.0.tar.gz", hash = "sha256:287629d00b147a32dcb2be0b9df905da599b2d82f80377083ec8463309a4bb89"}, @@ -2795,7 +2644,6 @@ version = "0.2.0" description = "Accelerated property cache" optional = false python-versions = ">=3.8" -groups = ["main"] files = [ {file = "propcache-0.2.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:c5869b8fd70b81835a6f187c5fdbe67917a04d7e52b6e7cc4e5fe39d55c39d58"}, {file = "propcache-0.2.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:952e0d9d07609d9c5be361f33b0d6d650cd2bae393aabb11d9b719364521984b"}, @@ -2903,8 +2751,6 @@ version = "1.26.1" description = "Beautiful, Pythonic protocol buffers" optional = true python-versions = ">=3.7" -groups = ["main"] -markers = "extra == \"extra-proxy\"" files = [ {file = "proto_plus-1.26.1-py3-none-any.whl", hash = "sha256:13285478c2dcf2abb829db158e1047e2f1e8d63a077d94263c2b88b043c75a66"}, {file = "proto_plus-1.26.1.tar.gz", hash = "sha256:21a515a4c4c0088a773899e23c7bbade3d18f9c66c73edd4c7ee3816bc96a012"}, @@ -2922,7 +2768,6 @@ version = "4.25.7" description = "" optional = false python-versions = ">=3.8" -groups = ["main", "dev", "proxy-dev"] files = [ {file = "protobuf-4.25.7-cp310-abi3-win32.whl", hash = "sha256:dc582cf1a73a6b40aa8e7704389b8d8352da616bc8ed5c6cc614bdd0b5ce3f7a"}, {file = "protobuf-4.25.7-cp310-abi3-win_amd64.whl", hash = "sha256:cd873dbddb28460d1706ff4da2e7fac175f62f2a0bebc7b33141f7523c5a2399"}, @@ -2936,7 +2781,6 @@ files = [ {file = "protobuf-4.25.7-py3-none-any.whl", hash = "sha256:e9d969f5154eaeab41404def5dcf04e62162178f4b9de98b2d3c1c70f5f84810"}, {file = "protobuf-4.25.7.tar.gz", hash = "sha256:28f65ae8c14523cc2c76c1e91680958700d3eac69f45c96512c12c63d9a38807"}, ] -markers = {main = "extra == \"extra-proxy\""} [[package]] name = "pyasn1" @@ -2944,8 +2788,6 @@ version = "0.6.1" description = "Pure-Python implementation of ASN.1 types and DER/BER/CER codecs (X.208)" optional = true python-versions = ">=3.8" -groups = ["main"] -markers = "extra == \"extra-proxy\"" files = [ {file = "pyasn1-0.6.1-py3-none-any.whl", hash = "sha256:0d632f46f2ba09143da3a8afe9e33fb6f92fa2320ab7e886e2d0f7672af84629"}, {file = "pyasn1-0.6.1.tar.gz", hash = "sha256:6f580d2bdd84365380830acf45550f2511469f673cb4a5ae3857a3170128b034"}, @@ -2957,8 +2799,6 @@ version = "0.4.2" description = "A collection of ASN.1-based protocols modules" optional = true python-versions = ">=3.8" -groups = ["main"] -markers = "extra == \"extra-proxy\"" files = [ {file = "pyasn1_modules-0.4.2-py3-none-any.whl", hash = "sha256:29253a9207ce32b64c3ac6600edc75368f98473906e8fd1043bd6b5b1de2c14a"}, {file = "pyasn1_modules-0.4.2.tar.gz", hash = "sha256:677091de870a80aae844b1ca6134f54652fa2c8c5a52aa396440ac3106e941e6"}, @@ -2973,7 +2813,6 @@ version = "2.11.1" description = "Python style guide checker" optional = false python-versions = ">=3.8" -groups = ["dev"] files = [ {file = "pycodestyle-2.11.1-py2.py3-none-any.whl", hash = "sha256:44fe31000b2d866f2e41841b18528a505fbd7fef9017b04eff4e2648a0fadc67"}, {file = "pycodestyle-2.11.1.tar.gz", hash = "sha256:41ba0e7afc9752dfb53ced5489e89f8186be00e599e712660695b7a75ff2663f"}, @@ -2985,12 +2824,10 @@ version = "2.22" description = "C parser in Python" optional = false python-versions = ">=3.8" -groups = ["main", "dev", "proxy-dev"] files = [ {file = "pycparser-2.22-py3-none-any.whl", hash = "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc"}, {file = "pycparser-2.22.tar.gz", hash = "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6"}, ] -markers = {main = "platform_python_implementation != \"PyPy\" or extra == \"proxy\"", dev = "platform_python_implementation != \"PyPy\"", proxy-dev = "platform_python_implementation != \"PyPy\""} [[package]] name = "pydantic" @@ -2998,7 +2835,6 @@ version = "2.10.6" description = "Data validation using Python type hints" optional = false python-versions = ">=3.8" -groups = ["main", "dev", "proxy-dev"] files = [ {file = "pydantic-2.10.6-py3-none-any.whl", hash = "sha256:427d664bf0b8a2b34ff5dd0f5a18df00591adcee7198fbd71981054cef37b584"}, {file = "pydantic-2.10.6.tar.gz", hash = "sha256:ca5daa827cce33de7a42be142548b0096bf05a7e7b365aebfa5f8eeec7128236"}, @@ -3012,7 +2848,7 @@ typing-extensions = ">=4.12.2" [package.extras] email = ["email-validator (>=2.0.0)"] -timezone = ["tzdata ; python_version >= \"3.9\" and platform_system == \"Windows\""] +timezone = ["tzdata"] [[package]] name = "pydantic-core" @@ -3020,7 +2856,6 @@ version = "2.27.2" description = "Core functionality for Pydantic validation and serialization" optional = false python-versions = ">=3.8" -groups = ["main", "dev", "proxy-dev"] files = [ {file = "pydantic_core-2.27.2-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:2d367ca20b2f14095a8f4fa1210f5a7b78b8a20009ecced6b12818f455b1e9fa"}, {file = "pydantic_core-2.27.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:491a2b73db93fab69731eaee494f320faa4e093dbed776be1a829c2eb222c34c"}, @@ -3133,8 +2968,6 @@ version = "2.9.1" description = "Settings management using Pydantic" optional = true python-versions = ">=3.9" -groups = ["main"] -markers = "python_version >= \"3.10\" and extra == \"proxy\"" files = [ {file = "pydantic_settings-2.9.1-py3-none-any.whl", hash = "sha256:59b4f431b1defb26fe620c71a7d3968a710d719f5f4cdbbdb7926edeb770f6ef"}, {file = "pydantic_settings-2.9.1.tar.gz", hash = "sha256:c509bf79d27563add44e8446233359004ed85066cd096d8b510f715e6ef5d268"}, @@ -3158,7 +2991,6 @@ version = "3.1.0" description = "passive checker of Python programs" optional = false python-versions = ">=3.8" -groups = ["dev"] files = [ {file = "pyflakes-3.1.0-py2.py3-none-any.whl", hash = "sha256:4132f6d49cb4dae6819e5379898f2b8cce3c5f23994194c24b77d5da2e36f774"}, {file = "pyflakes-3.1.0.tar.gz", hash = "sha256:a0aae034c444db0071aa077972ba4768d40c830d9539fd45bf4cd3f8f6992efc"}, @@ -3170,8 +3002,6 @@ version = "2.19.1" description = "Pygments is a syntax highlighting package written in Python." optional = true python-versions = ">=3.8" -groups = ["main"] -markers = "extra == \"utils\" or extra == \"proxy\"" files = [ {file = "pygments-2.19.1-py3-none-any.whl", hash = "sha256:9ea1544ad55cecf4b8242fab6dd35a93bbce657034b0611ee383099054ab6d8c"}, {file = "pygments-2.19.1.tar.gz", hash = "sha256:61c16d2a8576dc0649d9f39e089b5f02bcd27fba10d8fb4dcc28173f7a45151f"}, @@ -3186,7 +3016,6 @@ version = "2.9.0" description = "JSON Web Token implementation in Python" optional = false python-versions = ">=3.8" -groups = ["main", "proxy-dev"] files = [ {file = "PyJWT-2.9.0-py3-none-any.whl", hash = "sha256:3b02fb0f44517787776cf48f2ae25d8e14f300e6d7545a4315cee571a415e850"}, {file = "pyjwt-2.9.0.tar.gz", hash = "sha256:7e1e5b56cc735432a7369cbfa0efe50fa113ebecdc04ae6922deba8b84582d0c"}, @@ -3207,8 +3036,6 @@ version = "1.5.0" description = "Python binding to the Networking and Cryptography (NaCl) library" optional = true python-versions = ">=3.6" -groups = ["main"] -markers = "extra == \"proxy\"" files = [ {file = "PyNaCl-1.5.0-cp36-abi3-macosx_10_10_universal2.whl", hash = "sha256:401002a4aaa07c9414132aaed7f6836ff98f59277a234704ff66878c2ee4a0d1"}, {file = "PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:52cb72a79269189d4e0dc537556f4740f7f0a9ec41c1322598799b0bdad4ef92"}, @@ -3235,8 +3062,6 @@ version = "3.5.4" description = "A python implementation of GNU readline." optional = true python-versions = ">=3.8" -groups = ["main"] -markers = "python_version >= \"3.9\" and sys_platform == \"win32\" and extra == \"extra-proxy\" and python_version < \"3.14\"" files = [ {file = "pyreadline3-3.5.4-py3-none-any.whl", hash = "sha256:eaf8e6cc3c49bcccf145fc6067ba8643d1df34d604a1ec0eccbf7a18e6d3fae6"}, {file = "pyreadline3-3.5.4.tar.gz", hash = "sha256:8d57d53039a1c75adba8e50dd3d992b28143480816187ea5efbd5c78e6c885b7"}, @@ -3251,7 +3076,6 @@ version = "7.4.4" description = "pytest: simple powerful testing with Python" optional = false python-versions = ">=3.7" -groups = ["dev"] files = [ {file = "pytest-7.4.4-py3-none-any.whl", hash = "sha256:b090cdf5ed60bf4c45261be03239c2c1c22df034fbffe691abe93cd80cea01d8"}, {file = "pytest-7.4.4.tar.gz", hash = "sha256:2cf0005922c6ace4a3e2ec8b4080eb0d9753fdc93107415332f50ce9e7994280"}, @@ -3274,7 +3098,6 @@ version = "0.21.2" description = "Pytest support for asyncio" optional = false python-versions = ">=3.7" -groups = ["dev"] files = [ {file = "pytest_asyncio-0.21.2-py3-none-any.whl", hash = "sha256:ab664c88bb7998f711d8039cacd4884da6430886ae8bbd4eded552ed2004f16b"}, {file = "pytest_asyncio-0.21.2.tar.gz", hash = "sha256:d67738fc232b94b326b9d060750beb16e0074210b98dd8b58a5239fa2a154f45"}, @@ -3289,14 +3112,13 @@ testing = ["coverage (>=6.2)", "flaky (>=3.5.0)", "hypothesis (>=5.7.1)", "mypy [[package]] name = "pytest-mock" -version = "3.14.0" +version = "3.14.1" description = "Thin-wrapper around the mock package for easier use with pytest" optional = false python-versions = ">=3.8" -groups = ["dev"] files = [ - {file = "pytest-mock-3.14.0.tar.gz", hash = "sha256:2719255a1efeceadbc056d6bf3df3d1c5015530fb40cf347c0f9afac88410bd0"}, - {file = "pytest_mock-3.14.0-py3-none-any.whl", hash = "sha256:0b72c38033392a5f4621342fe11e9219ac11ec9d375f8e2a0c164539e0d70f6f"}, + {file = "pytest_mock-3.14.1-py3-none-any.whl", hash = "sha256:178aefcd11307d874b4cd3100344e7e2d888d9791a6a1d9bfe90fbc1b74fd1d0"}, + {file = "pytest_mock-3.14.1.tar.gz", hash = "sha256:159e9edac4c451ce77a5cdb9fc5d1100708d2dd4ba3c3df572f14097351af80e"}, ] [package.dependencies] @@ -3311,8 +3133,6 @@ version = "2.9.0.post0" description = "Extensions to the standard Python datetime module" optional = true python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" -groups = ["main"] -markers = "extra == \"proxy\"" files = [ {file = "python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3"}, {file = "python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427"}, @@ -3327,7 +3147,6 @@ version = "1.0.1" description = "Read key-value pairs from a .env file and set them as environment variables" optional = false python-versions = ">=3.8" -groups = ["main", "proxy-dev"] files = [ {file = "python-dotenv-1.0.1.tar.gz", hash = "sha256:e324ee90a023d808f1959c46bcbc04446a10ced277783dc6ee09987c37ec10ca"}, {file = "python_dotenv-1.0.1-py3-none-any.whl", hash = "sha256:f7b63ef50f1b690dddf550d03497b66d609393b40b564ed0d674909a68ebf16a"}, @@ -3342,8 +3161,6 @@ version = "0.0.18" description = "A streaming multipart parser for Python" optional = true python-versions = ">=3.8" -groups = ["main"] -markers = "extra == \"proxy\"" files = [ {file = "python_multipart-0.0.18-py3-none-any.whl", hash = "sha256:efe91480f485f6a361427a541db4796f9e1591afc0fb8e7a4ba06bfbc6708996"}, {file = "python_multipart-0.0.18.tar.gz", hash = "sha256:7a68db60c8bfb82e460637fa4750727b45af1d5e2ed215593f917f64694d34fe"}, @@ -3355,8 +3172,6 @@ version = "3.0.0" description = "Universally unique lexicographically sortable identifier" optional = true python-versions = ">=3.9" -groups = ["main"] -markers = "python_version >= \"3.9\" and extra == \"extra-proxy\" and python_version < \"3.14\"" files = [ {file = "python_ulid-3.0.0-py3-none-any.whl", hash = "sha256:e4c4942ff50dbd79167ad01ac725ec58f924b4018025ce22c858bfcff99a5e31"}, {file = "python_ulid-3.0.0.tar.gz", hash = "sha256:e50296a47dc8209d28629a22fc81ca26c00982c78934bd7766377ba37ea49a9f"}, @@ -3371,8 +3186,6 @@ version = "2025.2" description = "World timezone definitions, modern and historical" optional = true python-versions = "*" -groups = ["main"] -markers = "extra == \"utils\" and python_version < \"3.9\"" files = [ {file = "pytz-2025.2-py2.py3-none-any.whl", hash = "sha256:5ddf76296dd8c44c26eb8f4b6f35488f3ccbf6fbbd7adee0b7262d43f0ec2f00"}, {file = "pytz-2025.2.tar.gz", hash = "sha256:360b9e3dbb49a209c21ad61809c7fb453643e048b38924c765813546746e81c3"}, @@ -3384,7 +3197,6 @@ version = "6.0.2" description = "YAML parser and emitter for Python" optional = false python-versions = ">=3.8" -groups = ["main", "dev"] files = [ {file = "PyYAML-6.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0a9a2848a5b7feac301353437eb7d5957887edbf81d56e903999a75a3d743086"}, {file = "PyYAML-6.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:29717114e51c84ddfba879543fb232a6ed60086602313ca38cce623c1d62cfbf"}, @@ -3447,8 +3259,6 @@ version = "5.3.0" description = "Python client for Redis database and key-value store" optional = true python-versions = ">=3.8" -groups = ["main"] -markers = "python_version >= \"3.9\" and (extra == \"extra-proxy\" or extra == \"proxy\") and python_version < \"3.14\" or extra == \"proxy\"" files = [ {file = "redis-5.3.0-py3-none-any.whl", hash = "sha256:f1deeca1ea2ef25c1e4e46b07f4ea1275140526b1feea4c6459c0ec27a10ef83"}, {file = "redis-5.3.0.tar.gz", hash = "sha256:8d69d2dde11a12dc85d0dbf5c45577a5af048e2456f7077d87ad35c1c81c310e"}, @@ -3468,8 +3278,6 @@ version = "0.4.1" description = "Python client library and CLI for using Redis as a vector database" optional = true python-versions = "<3.14,>=3.9" -groups = ["main"] -markers = "python_version >= \"3.9\" and extra == \"extra-proxy\" and python_version < \"3.14\"" files = [ {file = "redisvl-0.4.1-py3-none-any.whl", hash = "sha256:6db5d5bc95b1fe8032a1cdae74ce1c65bc7fe9054e5429b5d34d5a91d28bae5f"}, {file = "redisvl-0.4.1.tar.gz", hash = "sha256:fd6a36426ba94792c0efca20915c31232d4ee3cc58eb23794a62c142696401e6"}, @@ -3494,7 +3302,7 @@ bedrock = ["boto3[bedrock] (>=1.36.0,<2.0.0)"] cohere = ["cohere (>=4.44)"] mistralai = ["mistralai (>=1.0.0)"] openai = ["openai (>=1.13.0,<2.0.0)"] -sentence-transformers = ["scipy (<1.15) ; python_version < \"3.10\"", "scipy (>=1.15,<2.0) ; python_version >= \"3.10\"", "sentence-transformers (>=3.4.0,<4.0.0)"] +sentence-transformers = ["scipy (<1.15)", "scipy (>=1.15,<2.0)", "sentence-transformers (>=3.4.0,<4.0.0)"] vertexai = ["google-cloud-aiplatform (>=1.26,<2.0)", "protobuf (>=5.29.1,<6.0.0)"] voyageai = ["voyageai (>=0.2.2)"] @@ -3504,7 +3312,6 @@ version = "0.35.1" description = "JSON Referencing + Python" optional = false python-versions = ">=3.8" -groups = ["main"] files = [ {file = "referencing-0.35.1-py3-none-any.whl", hash = "sha256:eda6d3234d62814d1c64e305c1331c9a3a6132da475ab6382eaa997b21ee75de"}, {file = "referencing-0.35.1.tar.gz", hash = "sha256:25b42124a6c8b632a425174f24087783efb348a6f1e0008e63cd4466fedf703c"}, @@ -3520,7 +3327,6 @@ version = "2024.11.6" description = "Alternative regular expression module, to replace re." optional = false python-versions = ">=3.8" -groups = ["main"] files = [ {file = "regex-2024.11.6-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:ff590880083d60acc0433f9c3f713c51f7ac6ebb9adf889c79a261ecf541aa91"}, {file = "regex-2024.11.6-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:658f90550f38270639e83ce492f27d2c8d2cd63805c65a13a14d36ca126753f0"}, @@ -3624,7 +3430,6 @@ version = "2.31.0" description = "Python HTTP for Humans." optional = false python-versions = ">=3.7" -groups = ["main", "dev", "proxy-dev"] files = [ {file = "requests-2.31.0-py3-none-any.whl", hash = "sha256:58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f"}, {file = "requests-2.31.0.tar.gz", hash = "sha256:942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1"}, @@ -3646,7 +3451,6 @@ version = "1.12.1" description = "Mock out responses from the requests package" optional = false python-versions = ">=3.5" -groups = ["dev"] files = [ {file = "requests-mock-1.12.1.tar.gz", hash = "sha256:e9e12e333b525156e82a3c852f22016b9158220d2f47454de9cae8a77d371401"}, {file = "requests_mock-1.12.1-py2.py3-none-any.whl", hash = "sha256:b1e37054004cdd5e56c84454cc7df12b25f90f382159087f4b6915aaeef39563"}, @@ -3664,8 +3468,6 @@ version = "0.8.0" description = "Resend Python SDK" optional = true python-versions = ">=3.7" -groups = ["main"] -markers = "extra == \"extra-proxy\"" files = [ {file = "resend-0.8.0-py2.py3-none-any.whl", hash = "sha256:adc1515dadf4f4fc6b90db55a237f0f37fc56fd74287a986519a8a187fdb661d"}, {file = "resend-0.8.0.tar.gz", hash = "sha256:94142394701724dbcfcd8f760f675c662a1025013e741dd7cc773ca885526257"}, @@ -3680,7 +3482,6 @@ version = "0.25.7" description = "A utility library for mocking out the `requests` Python library." optional = false python-versions = ">=3.8" -groups = ["dev"] files = [ {file = "responses-0.25.7-py3-none-any.whl", hash = "sha256:92ca17416c90fe6b35921f52179bff29332076bb32694c0df02dcac2c6bc043c"}, {file = "responses-0.25.7.tar.gz", hash = "sha256:8ebae11405d7a5df79ab6fd54277f6f2bc29b2d002d0dd2d5c632594d1ddcedb"}, @@ -3692,7 +3493,7 @@ requests = ">=2.30.0,<3.0" urllib3 = ">=1.25.10,<3.0" [package.extras] -tests = ["coverage (>=6.0.0)", "flake8", "mypy", "pytest (>=7.0.0)", "pytest-asyncio", "pytest-cov", "pytest-httpserver", "tomli ; python_version < \"3.11\"", "tomli-w", "types-PyYAML", "types-requests"] +tests = ["coverage (>=6.0.0)", "flake8", "mypy", "pytest (>=7.0.0)", "pytest-asyncio", "pytest-cov", "pytest-httpserver", "tomli", "tomli-w", "types-PyYAML", "types-requests"] [[package]] name = "respx" @@ -3700,7 +3501,6 @@ version = "0.22.0" description = "A utility for mocking out the Python HTTPX and HTTP Core libraries." optional = false python-versions = ">=3.8" -groups = ["dev"] files = [ {file = "respx-0.22.0-py2.py3-none-any.whl", hash = "sha256:631128d4c9aba15e56903fb5f66fb1eff412ce28dd387ca3a81339e52dbd3ad0"}, {file = "respx-0.22.0.tar.gz", hash = "sha256:3c8924caa2a50bd71aefc07aa812f2466ff489f1848c96e954a5362d17095d91"}, @@ -3715,8 +3515,6 @@ version = "13.7.1" description = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal" optional = true python-versions = ">=3.7.0" -groups = ["main"] -markers = "extra == \"proxy\"" files = [ {file = "rich-13.7.1-py3-none-any.whl", hash = "sha256:4edbae314f59eb482f54e9e30bf00d33350aaa94f4bfcd4e9e3110e64d0d7222"}, {file = "rich-13.7.1.tar.gz", hash = "sha256:9be308cb1fe2f1f57d67ce99e95af38a1e2bc71ad9813b0e247cf7ffbcc3a432"}, @@ -3736,7 +3534,6 @@ version = "0.20.1" description = "Python bindings to Rust's persistent data structures (rpds)" optional = false python-versions = ">=3.8" -groups = ["main"] files = [ {file = "rpds_py-0.20.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:a649dfd735fff086e8a9d0503a9f0c7d01b7912a333c7ae77e1515c08c146dad"}, {file = "rpds_py-0.20.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f16bc1334853e91ddaaa1217045dd7be166170beec337576818461268a3de67f"}, @@ -3849,8 +3646,6 @@ version = "2.3.3" description = "RQ is a simple, lightweight, library for creating background jobs, and processing them." optional = true python-versions = ">=3.8" -groups = ["main"] -markers = "extra == \"proxy\"" files = [ {file = "rq-2.3.3-py3-none-any.whl", hash = "sha256:2202c4409c4c527ac4bee409867d6c02515dd110030499eb0de54c7374aee0ce"}, {file = "rq-2.3.3.tar.gz", hash = "sha256:20c41c977b6f27c852a41bd855893717402bae7b8d9607dca21fe9dd55453e22"}, @@ -3866,8 +3661,6 @@ version = "4.9.1" description = "Pure-Python RSA implementation" optional = true python-versions = "<4,>=3.6" -groups = ["main"] -markers = "extra == \"extra-proxy\"" files = [ {file = "rsa-4.9.1-py3-none-any.whl", hash = "sha256:68635866661c6836b8d39430f97a996acbd61bfa49406748ea243539fe239762"}, {file = "rsa-4.9.1.tar.gz", hash = "sha256:e7bdbfdb5497da4c07dfd35530e1a902659db6ff241e39d9953cad06ebd0ae75"}, @@ -3882,7 +3675,6 @@ version = "0.1.15" description = "An extremely fast Python linter and code formatter, written in Rust." optional = false python-versions = ">=3.7" -groups = ["dev"] files = [ {file = "ruff-0.1.15-py3-none-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:5fe8d54df166ecc24106db7dd6a68d44852d14eb0729ea4672bb4d96c320b7df"}, {file = "ruff-0.1.15-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:6f0bfbb53c4b4de117ac4d6ddfd33aa5fc31beeaa21d23c45c6dd249faf9126f"}, @@ -3909,8 +3701,6 @@ version = "0.10.4" description = "An Amazon S3 Transfer Manager" optional = true python-versions = ">=3.8" -groups = ["main"] -markers = "extra == \"proxy\"" files = [ {file = "s3transfer-0.10.4-py3-none-any.whl", hash = "sha256:244a76a24355363a68164241438de1b72f8781664920260c48465896b712a41e"}, {file = "s3transfer-0.10.4.tar.gz", hash = "sha256:29edc09801743c21eb5ecbc617a152df41d3c287f67b615f73e5f750583666a7"}, @@ -3928,7 +3718,6 @@ version = "1.17.0" description = "Python 2 and 3 compatibility utilities" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" -groups = ["main", "proxy-dev"] files = [ {file = "six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274"}, {file = "six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81"}, @@ -3940,7 +3729,6 @@ version = "1.3.1" description = "Sniff out which async library your code is running under" optional = false python-versions = ">=3.7" -groups = ["main", "dev", "proxy-dev"] files = [ {file = "sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2"}, {file = "sniffio-1.3.1.tar.gz", hash = "sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc"}, @@ -3952,8 +3740,6 @@ version = "3.0.1" description = "This package provides 32 stemmers for 30 languages generated from Snowball algorithms." optional = true python-versions = "!=3.0.*,!=3.1.*,!=3.2.*" -groups = ["main"] -markers = "extra == \"utils\"" files = [ {file = "snowballstemmer-3.0.1-py3-none-any.whl", hash = "sha256:6cd7b3897da8d6c9ffb968a6781fa6532dce9c3618a4b127d920dab764a19064"}, {file = "snowballstemmer-3.0.1.tar.gz", hash = "sha256:6d5eeeec8e9f84d4d56b847692bacf79bc2c8e90c7f80ca4444ff8b6f2e52895"}, @@ -3965,8 +3751,6 @@ version = "7.1.2" description = "Python documentation generator" optional = true python-versions = ">=3.8" -groups = ["main"] -markers = "extra == \"utils\"" files = [ {file = "sphinx-7.1.2-py3-none-any.whl", hash = "sha256:d170a81825b2fcacb6dfd5a0d7f578a053e45d3f2b153fecc948c37344eb4cbe"}, {file = "sphinx-7.1.2.tar.gz", hash = "sha256:780f4d32f1d7d1126576e0e5ecc19dc32ab76cd24e950228dcf7b1f6d3d9e22f"}, @@ -4002,8 +3786,6 @@ version = "1.0.4" description = "sphinxcontrib-applehelp is a Sphinx extension which outputs Apple help books" optional = true python-versions = ">=3.8" -groups = ["main"] -markers = "extra == \"utils\"" files = [ {file = "sphinxcontrib-applehelp-1.0.4.tar.gz", hash = "sha256:828f867945bbe39817c210a1abfd1bc4895c8b73fcaade56d45357a348a07d7e"}, {file = "sphinxcontrib_applehelp-1.0.4-py3-none-any.whl", hash = "sha256:29d341f67fb0f6f586b23ad80e072c8e6ad0b48417db2bde114a4c9746feb228"}, @@ -4019,8 +3801,6 @@ version = "1.0.2" description = "sphinxcontrib-devhelp is a sphinx extension which outputs Devhelp document." optional = true python-versions = ">=3.5" -groups = ["main"] -markers = "extra == \"utils\"" files = [ {file = "sphinxcontrib-devhelp-1.0.2.tar.gz", hash = "sha256:ff7f1afa7b9642e7060379360a67e9c41e8f3121f2ce9164266f61b9f4b338e4"}, {file = "sphinxcontrib_devhelp-1.0.2-py2.py3-none-any.whl", hash = "sha256:8165223f9a335cc1af7ffe1ed31d2871f325254c0423bc0c4c7cd1c1e4734a2e"}, @@ -4036,8 +3816,6 @@ version = "2.0.1" description = "sphinxcontrib-htmlhelp is a sphinx extension which renders HTML help files" optional = true python-versions = ">=3.8" -groups = ["main"] -markers = "extra == \"utils\"" files = [ {file = "sphinxcontrib-htmlhelp-2.0.1.tar.gz", hash = "sha256:0cbdd302815330058422b98a113195c9249825d681e18f11e8b1f78a2f11efff"}, {file = "sphinxcontrib_htmlhelp-2.0.1-py3-none-any.whl", hash = "sha256:c38cb46dccf316c79de6e5515e1770414b797162b23cd3d06e67020e1d2a6903"}, @@ -4053,8 +3831,6 @@ version = "1.0.1" description = "A sphinx extension which renders display math in HTML via JavaScript" optional = true python-versions = ">=3.5" -groups = ["main"] -markers = "extra == \"utils\"" files = [ {file = "sphinxcontrib-jsmath-1.0.1.tar.gz", hash = "sha256:a9925e4a4587247ed2191a22df5f6970656cb8ca2bd6284309578f2153e0c4b8"}, {file = "sphinxcontrib_jsmath-1.0.1-py2.py3-none-any.whl", hash = "sha256:2ec2eaebfb78f3f2078e73666b1415417a116cc848b72e5172e596c871103178"}, @@ -4069,8 +3845,6 @@ version = "1.0.3" description = "sphinxcontrib-qthelp is a sphinx extension which outputs QtHelp document." optional = true python-versions = ">=3.5" -groups = ["main"] -markers = "extra == \"utils\"" files = [ {file = "sphinxcontrib-qthelp-1.0.3.tar.gz", hash = "sha256:4c33767ee058b70dba89a6fc5c1892c0d57a54be67ddd3e7875a18d14cba5a72"}, {file = "sphinxcontrib_qthelp-1.0.3-py2.py3-none-any.whl", hash = "sha256:bd9fc24bcb748a8d51fd4ecaade681350aa63009a347a8c14e637895444dfab6"}, @@ -4086,8 +3860,6 @@ version = "1.1.5" description = "sphinxcontrib-serializinghtml is a sphinx extension which outputs \"serialized\" HTML files (json and pickle)." optional = true python-versions = ">=3.5" -groups = ["main"] -markers = "extra == \"utils\"" files = [ {file = "sphinxcontrib-serializinghtml-1.1.5.tar.gz", hash = "sha256:aa5f6de5dfdf809ef505c4895e51ef5c9eac17d0f287933eb49ec495280b6952"}, {file = "sphinxcontrib_serializinghtml-1.1.5-py2.py3-none-any.whl", hash = "sha256:352a9a00ae864471d3a7ead8d7d79f5fc0b57e8b3f95e9867eb9eb28999b92fd"}, @@ -4103,8 +3875,6 @@ version = "2.1.3" description = "SSE plugin for Starlette" optional = true python-versions = ">=3.8" -groups = ["main"] -markers = "python_version >= \"3.10\" and extra == \"proxy\"" files = [ {file = "sse_starlette-2.1.3-py3-none-any.whl", hash = "sha256:8ec846438b4665b9e8c560fcdea6bc8081a3abf7942faa95e5a744999d219772"}, {file = "sse_starlette-2.1.3.tar.gz", hash = "sha256:9cd27eb35319e1414e3d2558ee7414487f9529ce3b3cf9b21434fd110e017169"}, @@ -4124,8 +3894,6 @@ version = "0.44.0" description = "The little ASGI library that shines." optional = true python-versions = ">=3.8" -groups = ["main"] -markers = "extra == \"proxy\"" files = [ {file = "starlette-0.44.0-py3-none-any.whl", hash = "sha256:19edeb75844c16dcd4f9dd72f22f9108c1539f3fc9c4c88885654fef64f85aea"}, {file = "starlette-0.44.0.tar.gz", hash = "sha256:e35166950a3ccccc701962fe0711db0bc14f2ecd37c6f9fe5e3eae0cbaea8715"}, @@ -4144,8 +3912,6 @@ version = "0.9.0" description = "Pretty-print tabular data" optional = true python-versions = ">=3.7" -groups = ["main"] -markers = "python_version >= \"3.9\" and (extra == \"extra-proxy\" or extra == \"utils\") and python_version < \"3.14\" or extra == \"utils\"" files = [ {file = "tabulate-0.9.0-py3-none-any.whl", hash = "sha256:024ca478df22e9340661486f85298cff5f6dcdba14f3813e8830015b9ed1948f"}, {file = "tabulate-0.9.0.tar.gz", hash = "sha256:0095b12bf5966de529c0feb1fa08671671b3368eec77d7ef7ab114be2c068b3c"}, @@ -4160,8 +3926,6 @@ version = "0.2.2" description = "backport of asyncio.TaskGroup, asyncio.Runner and asyncio.timeout" optional = false python-versions = "*" -groups = ["proxy-dev"] -markers = "python_version <= \"3.10\"" files = [ {file = "taskgroup-0.2.2-py2.py3-none-any.whl", hash = "sha256:e2c53121609f4ae97303e9ea1524304b4de6faf9eb2c9280c7f87976479a52fb"}, {file = "taskgroup-0.2.2.tar.gz", hash = "sha256:078483ac3e78f2e3f973e2edbf6941374fbea81b9c5d0a96f51d297717f4752d"}, @@ -4177,8 +3941,6 @@ version = "9.1.2" description = "Retry code until it succeeds" optional = true python-versions = ">=3.9" -groups = ["main"] -markers = "python_version >= \"3.9\" and extra == \"extra-proxy\" and python_version < \"3.14\"" files = [ {file = "tenacity-9.1.2-py3-none-any.whl", hash = "sha256:f77bf36710d8b73a50b2dd155c97b870017ad21afe6ab300326b0371b3b05138"}, {file = "tenacity-9.1.2.tar.gz", hash = "sha256:1169d376c297e7de388d18b4481760d478b0e99a777cad3a9c86e556f4b697cb"}, @@ -4194,7 +3956,6 @@ version = "0.7.0" description = "tiktoken is a fast BPE tokeniser for use with OpenAI's models" optional = false python-versions = ">=3.8" -groups = ["main"] files = [ {file = "tiktoken-0.7.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:485f3cc6aba7c6b6ce388ba634fbba656d9ee27f766216f45146beb4ac18b25f"}, {file = "tiktoken-0.7.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e54be9a2cd2f6d6ffa3517b064983fb695c9a9d8aa7d574d1ef3c3f931a99225"}, @@ -4247,7 +4008,6 @@ version = "0.21.0" description = "" optional = false python-versions = ">=3.7" -groups = ["main"] files = [ {file = "tokenizers-0.21.0-cp39-abi3-macosx_10_12_x86_64.whl", hash = "sha256:3c4c93eae637e7d2aaae3d376f06085164e1660f89304c0ab2b1d08a406636b2"}, {file = "tokenizers-0.21.0-cp39-abi3-macosx_11_0_arm64.whl", hash = "sha256:f53ea537c925422a2e0e92a24cce96f6bc5046bbef24a1652a5edc8ba975f62e"}, @@ -4280,7 +4040,6 @@ version = "2.2.1" description = "A lil' TOML parser" optional = false python-versions = ">=3.8" -groups = ["main", "dev", "proxy-dev"] files = [ {file = "tomli-2.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:678e4fa69e4575eb77d103de3df8a895e1591b48e740211bd1067378c69e8249"}, {file = "tomli-2.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:023aa114dd824ade0100497eb2318602af309e5a55595f76b626d6d9f3b7b0a6"}, @@ -4315,7 +4074,6 @@ files = [ {file = "tomli-2.2.1-py3-none-any.whl", hash = "sha256:cb55c73c5f4408779d0cf3eef9f762b9c9f147a77de7b258bef0a5628adc85cc"}, {file = "tomli-2.2.1.tar.gz", hash = "sha256:cd45e1dc79c835ce60f7404ec8119f2eb06d38b1deba146f07ced3bbc44505ff"}, ] -markers = {main = "extra == \"utils\" and python_version <= \"3.10\"", dev = "python_version <= \"3.10\"", proxy-dev = "python_version <= \"3.10\""} [[package]] name = "tomlkit" @@ -4323,7 +4081,6 @@ version = "0.13.2" description = "Style preserving TOML library" optional = false python-versions = ">=3.8" -groups = ["main", "proxy-dev"] files = [ {file = "tomlkit-0.13.2-py3-none-any.whl", hash = "sha256:7a974427f6e119197f670fbbbeae7bef749a6c14e793db934baefc1b5f03efde"}, {file = "tomlkit-0.13.2.tar.gz", hash = "sha256:fff5fe59a87295b278abd31bec92c15d9bc4a06885ab12bcea52c71119392e79"}, @@ -4335,7 +4092,6 @@ version = "4.67.1" description = "Fast, Extensible Progress Meter" optional = false python-versions = ">=3.7" -groups = ["main"] files = [ {file = "tqdm-4.67.1-py3-none-any.whl", hash = "sha256:26445eca388f82e72884e0d580d5464cd801a3ea01e63e5601bdff9ba6a48de2"}, {file = "tqdm-4.67.1.tar.gz", hash = "sha256:f8aef9c52c08c13a65f30ea34f4e5aac3fd1a34959879d7e59e63027286627f2"}, @@ -4357,7 +4113,6 @@ version = "1.16.0.20241221" description = "Typing stubs for cffi" optional = false python-versions = ">=3.8" -groups = ["dev"] files = [ {file = "types_cffi-1.16.0.20241221-py3-none-any.whl", hash = "sha256:e5b76b4211d7a9185f6ab8d06a106d56c7eb80af7cdb8bfcb4186ade10fb112f"}, {file = "types_cffi-1.16.0.20241221.tar.gz", hash = "sha256:1c96649618f4b6145f58231acb976e0b448be6b847f7ab733dabe62dfbff6591"}, @@ -4372,7 +4127,6 @@ version = "24.1.0.20240722" description = "Typing stubs for pyOpenSSL" optional = false python-versions = ">=3.8" -groups = ["dev"] files = [ {file = "types-pyOpenSSL-24.1.0.20240722.tar.gz", hash = "sha256:47913b4678a01d879f503a12044468221ed8576263c1540dcb0484ca21b08c39"}, {file = "types_pyOpenSSL-24.1.0.20240722-py3-none-any.whl", hash = "sha256:6a7a5d2ec042537934cfb4c9d4deb0e16c4c6250b09358df1f083682fe6fda54"}, @@ -4388,7 +4142,6 @@ version = "6.0.12.20241230" description = "Typing stubs for PyYAML" optional = false python-versions = ">=3.8" -groups = ["dev"] files = [ {file = "types_PyYAML-6.0.12.20241230-py3-none-any.whl", hash = "sha256:fa4d32565219b68e6dee5f67534c722e53c00d1cfc09c435ef04d7353e1e96e6"}, {file = "types_pyyaml-6.0.12.20241230.tar.gz", hash = "sha256:7f07622dbd34bb9c8b264fe860a17e0efcad00d50b5f27e93984909d9363498c"}, @@ -4400,7 +4153,6 @@ version = "4.6.0.20241004" description = "Typing stubs for redis" optional = false python-versions = ">=3.8" -groups = ["dev"] files = [ {file = "types-redis-4.6.0.20241004.tar.gz", hash = "sha256:5f17d2b3f9091ab75384153bfa276619ffa1cf6a38da60e10d5e6749cc5b902e"}, {file = "types_redis-4.6.0.20241004-py3-none-any.whl", hash = "sha256:ef5da68cb827e5f606c8f9c0b49eeee4c2669d6d97122f301d3a55dc6a63f6ed"}, @@ -4416,8 +4168,6 @@ version = "2.31.0.6" description = "Typing stubs for requests" optional = false python-versions = ">=3.7" -groups = ["dev"] -markers = "python_version < \"3.10\"" files = [ {file = "types-requests-2.31.0.6.tar.gz", hash = "sha256:cd74ce3b53c461f1228a9b783929ac73a666658f223e28ed29753771477b3bd0"}, {file = "types_requests-2.31.0.6-py3-none-any.whl", hash = "sha256:a2db9cb228a81da8348b49ad6db3f5519452dd20a9c1e1a868c83c5fe88fd1a9"}, @@ -4432,8 +4182,6 @@ version = "2.32.0.20241016" description = "Typing stubs for requests" optional = false python-versions = ">=3.8" -groups = ["dev"] -markers = "python_version >= \"3.10\"" files = [ {file = "types-requests-2.32.0.20241016.tar.gz", hash = "sha256:0d9cad2f27515d0e3e3da7134a1b6f28fb97129d86b867f24d9c726452634d95"}, {file = "types_requests-2.32.0.20241016-py3-none-any.whl", hash = "sha256:4195d62d6d3e043a4eaaf08ff8a62184584d2e8684e9d2aa178c7915a7da3747"}, @@ -4448,7 +4196,6 @@ version = "75.8.0.20250110" description = "Typing stubs for setuptools" optional = false python-versions = ">=3.8" -groups = ["dev"] files = [ {file = "types_setuptools-75.8.0.20250110-py3-none-any.whl", hash = "sha256:a9f12980bbf9bcdc23ecd80755789085bad6bfce4060c2275bc2b4ca9f2bc480"}, {file = "types_setuptools-75.8.0.20250110.tar.gz", hash = "sha256:96f7ec8bbd6e0a54ea180d66ad68ad7a1d7954e7281a710ea2de75e355545271"}, @@ -4460,8 +4207,6 @@ version = "1.26.25.14" description = "Typing stubs for urllib3" optional = false python-versions = "*" -groups = ["dev"] -markers = "python_version < \"3.10\"" files = [ {file = "types-urllib3-1.26.25.14.tar.gz", hash = "sha256:229b7f577c951b8c1b92c1bc2b2fdb0b49847bd2af6d1cc2a2e3dd340f3bda8f"}, {file = "types_urllib3-1.26.25.14-py3-none-any.whl", hash = "sha256:9683bbb7fb72e32bfe9d2be6e04875fbe1b3eeec3cbb4ea231435aa7fd6b4f0e"}, @@ -4473,7 +4218,6 @@ version = "4.13.2" description = "Backported and Experimental Type Hints for Python 3.8+" optional = false python-versions = ">=3.8" -groups = ["main", "dev", "proxy-dev"] files = [ {file = "typing_extensions-4.13.2-py3-none-any.whl", hash = "sha256:a439e7c04b49fec3e5d3e2beaa21755cadbbdc391694e28ccdd36ca4a1408f8c"}, {file = "typing_extensions-4.13.2.tar.gz", hash = "sha256:e6c81219bd689f51865d9e372991c540bda33a0379d5573cddb9a3a23f7caaef"}, @@ -4485,8 +4229,6 @@ version = "0.4.1" description = "Runtime typing introspection tools" optional = true python-versions = ">=3.9" -groups = ["main"] -markers = "python_version >= \"3.10\" and extra == \"proxy\"" files = [ {file = "typing_inspection-0.4.1-py3-none-any.whl", hash = "sha256:389055682238f53b04f7badcb49b989835495a96700ced5dab2d8feae4b26f51"}, {file = "typing_inspection-0.4.1.tar.gz", hash = "sha256:6ae134cc0203c33377d43188d4064e9b357dba58cff3185f22924610e70a9d28"}, @@ -4501,8 +4243,6 @@ version = "2025.2" description = "Provider of IANA time zone data" optional = true python-versions = ">=2" -groups = ["main"] -markers = "extra == \"proxy\" and platform_system == \"Windows\"" files = [ {file = "tzdata-2025.2-py2.py3-none-any.whl", hash = "sha256:1a403fada01ff9221ca8044d701868fa132215d84beb92242d9acd2147f667a8"}, {file = "tzdata-2025.2.tar.gz", hash = "sha256:b60a638fcc0daffadf82fe0f57e53d06bdec2f36c4df66280ae79bce6bd6f2b9"}, @@ -4514,8 +4254,6 @@ version = "5.2" description = "tzinfo object for the local timezone" optional = true python-versions = ">=3.8" -groups = ["main"] -markers = "extra == \"proxy\"" files = [ {file = "tzlocal-5.2-py3-none-any.whl", hash = "sha256:49816ef2fe65ea8ac19d19aa7a1ae0551c834303d5014c6d5a62e4cbda8047b8"}, {file = "tzlocal-5.2.tar.gz", hash = "sha256:8d399205578f1a9342816409cc1e46a93ebd5755e39ea2d85334bea911bf0e6e"}, @@ -4534,16 +4272,14 @@ version = "1.26.20" description = "HTTP library with thread-safe connection pooling, file post, and more." optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" -groups = ["main", "dev", "proxy-dev"] -markers = "python_version < \"3.10\"" files = [ {file = "urllib3-1.26.20-py2.py3-none-any.whl", hash = "sha256:0ed14ccfbf1c30a9072c7ca157e4319b70d65f623e91e7b32fadb2853431016e"}, {file = "urllib3-1.26.20.tar.gz", hash = "sha256:40c2dc0c681e47eb8f90e7e27bf6ff7df2e677421fd46756da1161c39ca70d32"}, ] [package.extras] -brotli = ["brotli (==1.0.9) ; os_name != \"nt\" and python_version < \"3\" and platform_python_implementation == \"CPython\"", "brotli (>=1.0.9) ; python_version >= \"3\" and platform_python_implementation == \"CPython\"", "brotlicffi (>=0.8.0) ; (os_name != \"nt\" or python_version >= \"3\") and platform_python_implementation != \"CPython\"", "brotlipy (>=0.6.0) ; os_name == \"nt\" and python_version < \"3\""] -secure = ["certifi", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "ipaddress ; python_version == \"2.7\"", "pyOpenSSL (>=0.14)", "urllib3-secure-extra"] +brotli = ["brotli (==1.0.9)", "brotli (>=1.0.9)", "brotlicffi (>=0.8.0)", "brotlipy (>=0.6.0)"] +secure = ["certifi", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "ipaddress", "pyOpenSSL (>=0.14)", "urllib3-secure-extra"] socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] [[package]] @@ -4552,15 +4288,13 @@ version = "2.2.3" description = "HTTP library with thread-safe connection pooling, file post, and more." optional = false python-versions = ">=3.8" -groups = ["main", "dev", "proxy-dev"] -markers = "python_version >= \"3.10\"" files = [ {file = "urllib3-2.2.3-py3-none-any.whl", hash = "sha256:ca899ca043dcb1bafa3e262d73aa25c465bfb49e0bd9dd5d59f1d0acba2f8fac"}, {file = "urllib3-2.2.3.tar.gz", hash = "sha256:e7d814a81dad81e6caf2ec9fdedb284ecc9c73076b62654547cc64ccdcae26e9"}, ] [package.extras] -brotli = ["brotli (>=1.0.9) ; platform_python_implementation == \"CPython\"", "brotlicffi (>=0.8.0) ; platform_python_implementation != \"CPython\""] +brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"] h2 = ["h2 (>=4,<5)"] socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"] zstd = ["zstandard (>=0.18.0)"] @@ -4571,8 +4305,6 @@ version = "0.29.0" description = "The lightning-fast ASGI server." optional = true python-versions = ">=3.8" -groups = ["main"] -markers = "extra == \"proxy\"" files = [ {file = "uvicorn-0.29.0-py3-none-any.whl", hash = "sha256:2c2aac7ff4f4365c206fd773a39bf4ebd1047c238f8b8268ad996829323473de"}, {file = "uvicorn-0.29.0.tar.gz", hash = "sha256:6a69214c0b6a087462412670b3ef21224fa48cae0e452b5883e8e8bdfdd11dd0"}, @@ -4584,7 +4316,7 @@ h11 = ">=0.8" typing-extensions = {version = ">=4.0", markers = "python_version < \"3.11\""} [package.extras] -standard = ["colorama (>=0.4) ; sys_platform == \"win32\"", "httptools (>=0.5.0)", "python-dotenv (>=0.13)", "pyyaml (>=5.1)", "uvloop (>=0.14.0,!=0.15.0,!=0.15.1) ; sys_platform != \"win32\" and sys_platform != \"cygwin\" and platform_python_implementation != \"PyPy\"", "watchfiles (>=0.13)", "websockets (>=10.4)"] +standard = ["colorama (>=0.4)", "httptools (>=0.5.0)", "python-dotenv (>=0.13)", "pyyaml (>=5.1)", "uvloop (>=0.14.0,!=0.15.0,!=0.15.1)", "watchfiles (>=0.13)", "websockets (>=10.4)"] [[package]] name = "uvloop" @@ -4592,8 +4324,6 @@ version = "0.21.0" description = "Fast implementation of asyncio event loop on top of libuv" optional = true python-versions = ">=3.8.0" -groups = ["main"] -markers = "sys_platform != \"win32\" and extra == \"proxy\"" files = [ {file = "uvloop-0.21.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:ec7e6b09a6fdded42403182ab6b832b71f4edaf7f37a9a0e371a01db5f0cb45f"}, {file = "uvloop-0.21.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:196274f2adb9689a289ad7d65700d37df0c0930fd8e4e743fa4834e850d7719d"}, @@ -4645,8 +4375,6 @@ version = "13.1" description = "An implementation of the WebSocket Protocol (RFC 6455 & 7692)" optional = true python-versions = ">=3.8" -groups = ["main"] -markers = "extra == \"proxy\"" files = [ {file = "websockets-13.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:f48c749857f8fb598fb890a75f540e3221d0976ed0bf879cf3c7eef34151acee"}, {file = "websockets-13.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c7e72ce6bda6fb9409cc1e8164dd41d7c91466fb599eb047cfda72fe758a34a7"}, @@ -4742,7 +4470,6 @@ version = "1.17.2" description = "Module for decorators, wrappers and monkey patching." optional = false python-versions = ">=3.8" -groups = ["dev", "proxy-dev"] files = [ {file = "wrapt-1.17.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:3d57c572081fed831ad2d26fd430d565b76aa277ed1d30ff4d40670b1c0dd984"}, {file = "wrapt-1.17.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b5e251054542ae57ac7f3fba5d10bfff615b6c2fb09abeb37d2f1463f841ae22"}, @@ -4831,7 +4558,6 @@ version = "1.2.0" description = "WebSockets state-machine based protocol implementation" optional = false python-versions = ">=3.7.0" -groups = ["proxy-dev"] files = [ {file = "wsproto-1.2.0-py3-none-any.whl", hash = "sha256:b9acddd652b585d75b20477888c56642fdade28bdfd3579aa24a4d2c037dd736"}, {file = "wsproto-1.2.0.tar.gz", hash = "sha256:ad565f26ecb92588a3e43bc3d96164de84cd9902482b130d0ddbaa9664a85065"}, @@ -4846,7 +4572,6 @@ version = "1.15.2" description = "Yet another URL library" optional = false python-versions = ">=3.8" -groups = ["main"] files = [ {file = "yarl-1.15.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:e4ee8b8639070ff246ad3649294336b06db37a94bdea0d09ea491603e0be73b8"}, {file = "yarl-1.15.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a7cf963a357c5f00cb55b1955df8bbe68d2f2f65de065160a1c26b85a1e44172"}, @@ -4959,18 +4684,17 @@ version = "3.20.2" description = "Backport of pathlib-compatible object wrapper for zip files" optional = false python-versions = ">=3.8" -groups = ["main", "dev", "proxy-dev"] files = [ {file = "zipp-3.20.2-py3-none-any.whl", hash = "sha256:a817ac80d6cf4b23bf7f2828b7cabf326f15a001bea8b1f9b49631780ba28350"}, {file = "zipp-3.20.2.tar.gz", hash = "sha256:bc9eb26f4506fda01b81bcde0ca78103b6e62f991b381fec825435c836edbc29"}, ] [package.extras] -check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1) ; sys_platform != \"cygwin\""] +check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)"] cover = ["pytest-cov"] doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] enabler = ["pytest-enabler (>=2.2)"] -test = ["big-O", "importlib-resources ; python_version < \"3.9\"", "jaraco.functools", "jaraco.itertools", "jaraco.test", "more-itertools", "pytest (>=6,!=8.1.*)", "pytest-ignore-flaky"] +test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", "jaraco.test", "more-itertools", "pytest (>=6,!=8.1.*)", "pytest-ignore-flaky"] type = ["pytest-mypy"] [extras] @@ -4979,6 +4703,6 @@ proxy = ["PyJWT", "apscheduler", "backoff", "boto3", "cryptography", "fastapi", utils = ["numpydoc"] [metadata] -lock-version = "2.1" +lock-version = "2.0" python-versions = ">=3.8.1,<4.0, !=3.9.7" -content-hash = "5ae81c1ff914fd9553d846a1dadfc8ed5cad734ee180b35f85abad168c8cf0b5" +content-hash = "aab66be588bdfc3b62c29e4486f08bd34ba95676371f2416a7ed87f7b498e103" diff --git a/pyproject.toml b/pyproject.toml index 6bda492368..b3ff80fa9b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -56,7 +56,7 @@ websockets = {version = "^13.1.0", optional = true} boto3 = {version = "1.34.34", optional = true} redisvl = {version = "^0.4.1", optional = true, markers = "python_version >= '3.9' and python_version < '3.14'"} mcp = {version = "1.5.0", optional = true, python = ">=3.10"} -litellm-proxy-extras = {version = "0.2.0", optional = true} +litellm-proxy-extras = {version = "0.2.1", optional = true} rich = {version = "13.7.1", optional = true} litellm-enterprise = {version = "0.1.6", optional = true} diff --git a/requirements.txt b/requirements.txt index 0a6d1f7bcb..488d1ddb98 100644 --- a/requirements.txt +++ b/requirements.txt @@ -37,7 +37,7 @@ sentry_sdk==2.21.0 # for sentry error handling detect-secrets==1.5.0 # Enterprise - secret detection / masking in LLM requests cryptography==43.0.1 tzdata==2025.1 # IANA time zone database -litellm-proxy-extras==0.2.0 # for proxy extras - e.g. prisma migrations +litellm-proxy-extras==0.2.1 # for proxy extras - e.g. prisma migrations ### LITELLM PACKAGE DEPENDENCIES python-dotenv==1.0.0 # for env tiktoken==0.8.0 # for calculating usage diff --git a/tests/test_team.py b/tests/test_team.py index f3aef1f9e2..06a2e7a364 100644 --- a/tests/test_team.py +++ b/tests/test_team.py @@ -492,7 +492,7 @@ async def test_team_update_sc_2(): @pytest.mark.asyncio async def test_team_member_add_email(): - from test_users import get_user_info + from tests.test_users import get_user_info async with aiohttp.ClientSession() as session: ## Create admin