From 4dfa9133069ce936fcfff07bd8242372fc6d5376 Mon Sep 17 00:00:00 2001 From: Ishaan Jaff Date: Sat, 10 May 2025 17:38:41 -0700 Subject: [PATCH] bump litellm proxy extras --- ...tellm_proxy_extras-0.1.20-py3-none-any.whl | Bin 0 -> 21661 bytes .../dist/litellm_proxy_extras-0.1.20.tar.gz | Bin 0 -> 12834 bytes litellm-proxy-extras/poetry.lock | 4 +- litellm-proxy-extras/pyproject.toml | 4 +- poetry.lock | 339 +++++++++++++++--- pyproject.toml | 2 +- requirements.txt | 2 +- 7 files changed, 302 insertions(+), 49 deletions(-) create mode 100644 litellm-proxy-extras/dist/litellm_proxy_extras-0.1.20-py3-none-any.whl create mode 100644 litellm-proxy-extras/dist/litellm_proxy_extras-0.1.20.tar.gz diff --git a/litellm-proxy-extras/dist/litellm_proxy_extras-0.1.20-py3-none-any.whl b/litellm-proxy-extras/dist/litellm_proxy_extras-0.1.20-py3-none-any.whl new file mode 100644 index 0000000000000000000000000000000000000000..60d9d8130aa1d6e32edf5ab9f564b0461a76fe2b GIT binary patch literal 21661 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 literal 0 HcmV?d00001 diff --git a/litellm-proxy-extras/dist/litellm_proxy_extras-0.1.20.tar.gz b/litellm-proxy-extras/dist/litellm_proxy_extras-0.1.20.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..1f01d5067e91f5c010f70ac8c4107510a45bd670 GIT binary patch literal 12834 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.2.0)", "brotlicffi"] +speedups = ["Brotli ; platform_python_implementation == \"CPython\"", "aiodns (>=3.2.0) ; sys_platform == \"linux\" or sys_platform == \"darwin\"", "brotlicffi ; platform_python_implementation != \"CPython\""] [[package]] name = "aiosignal" @@ -129,6 +131,7 @@ 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"}, @@ -143,6 +146,7 @@ version = "0.7.0" description = "Reusable constraint types to use with typing.Annotated" optional = false python-versions = ">=3.8" +groups = ["main", "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"}, @@ -157,6 +161,7 @@ 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"}, @@ -170,7 +175,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)", "uvloop (>=0.21.0b1)"] +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\""] trio = ["trio (>=0.26.1)"] [[package]] @@ -179,6 +184,8 @@ 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"}, @@ -196,7 +203,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", "anyio (>=4.5.2)", "gevent", "pytest", "pytz", "twisted"] +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\""] tornado = ["tornado (>=4.3)"] twisted = ["twisted"] zookeeper = ["kazoo"] @@ -205,8 +212,10 @@ zookeeper = ["kazoo"] name = "async-timeout" version = "5.0.1" description = "Timeout context manager for asyncio programs" -optional = false +optional = true 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"}, @@ -218,18 +227,19 @@ 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", "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]"] +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]"] docs = ["cogapp", "furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib-towncrier", "towncrier"] -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"] +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\""] [[package]] name = "azure-core" @@ -237,6 +247,8 @@ version = "1.33.0" description = "Microsoft Azure Core Library for Python" optional = true python-versions = ">=3.8" +groups = ["main"] +markers = "extra == \"extra-proxy\"" 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"}, @@ -257,6 +269,8 @@ version = "1.21.0" description = "Microsoft Azure Identity Library for Python" optional = true python-versions = ">=3.8" +groups = ["main"] +markers = "extra == \"extra-proxy\"" 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"}, @@ -275,6 +289,8 @@ 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"}, @@ -291,6 +307,8 @@ version = "2.2.1" description = "Function decoration for backoff and retry" optional = true python-versions = ">=3.7,<4.0" +groups = ["main"] +markers = "extra == \"proxy\"" files = [ {file = "backoff-2.2.1-py3-none-any.whl", hash = "sha256:63579f9a0628e06278f7e47b7d7d5b6ce20dc65c5e96a6f3ca99a6adca0396e8"}, {file = "backoff-2.2.1.tar.gz", hash = "sha256:03f829f5bb1923180821643f8753b0502c3b682293992485b0eef2807afa5cba"}, @@ -302,6 +320,8 @@ 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"}, @@ -330,6 +350,7 @@ 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"}, @@ -366,7 +387,7 @@ typing-extensions = {version = ">=4.0.1", markers = "python_version < \"3.11\""} [package.extras] colorama = ["colorama (>=0.4.3)"] -d = ["aiohttp (>=3.7.4)", "aiohttp (>=3.7.4,!=3.9.0)"] +d = ["aiohttp (>=3.7.4) ; sys_platform != \"win32\" or implementation_name != \"pypy\"", "aiohttp (>=3.7.4,!=3.9.0) ; sys_platform == \"win32\" and implementation_name == \"pypy\""] jupyter = ["ipython (>=7.8.0)", "tokenize-rt (>=3.2.0)"] uvloop = ["uvloop (>=0.15.2)"] @@ -376,6 +397,8 @@ 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"}, @@ -395,6 +418,8 @@ 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"}, @@ -404,8 +429,8 @@ files = [ jmespath = ">=0.7.1,<2.0.0" python-dateutil = ">=2.1,<3.0.0" urllib3 = [ - {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\""}, + {version = ">=1.25.4,<1.27", markers = "python_version < \"3.10\""}, ] [package.extras] @@ -417,6 +442,8 @@ 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"}, @@ -428,6 +455,7 @@ 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"}, @@ -439,6 +467,7 @@ version = "1.17.1" description = "Foreign Function Interface for Python calling C code." optional = false python-versions = ">=3.8" +groups = ["main", "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"}, @@ -508,6 +537,7 @@ 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 = "(extra == \"proxy\" or extra == \"extra-proxy\") and (platform_python_implementation != \"PyPy\" or extra == \"proxy\")", dev = "platform_python_implementation != \"PyPy\""} [package.dependencies] pycparser = "*" @@ -518,6 +548,7 @@ 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"}, @@ -619,6 +650,7 @@ 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"}, @@ -633,10 +665,12 @@ 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 = "platform_system == \"Windows\"", dev = "platform_system == \"Windows\" or sys_platform == \"win32\"", proxy-dev = "platform_system == \"Windows\""} [[package]] name = "coloredlogs" @@ -644,6 +678,8 @@ 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"}, @@ -661,6 +697,7 @@ 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"] 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"}, @@ -690,6 +727,7 @@ files = [ {file = "cryptography-43.0.3-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:2ce6fae5bdad59577b44e4dfed356944fbf1d925269114c28be377692643b4ff"}, {file = "cryptography-43.0.3.tar.gz", hash = "sha256:315b9001266a492a6ff443b61238f956b214dbec9910a081ba5b6646a055a805"}, ] +markers = {main = "extra == \"proxy\" or extra == \"extra-proxy\""} [package.dependencies] cffi = {version = ">=1.12", markers = "platform_python_implementation != \"PyPy\""} @@ -710,6 +748,7 @@ 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"}, @@ -719,7 +758,7 @@ files = [ wrapt = ">=1.10,<2" [package.extras] -dev = ["PyTest", "PyTest-Cov", "bump2version (<1)", "setuptools", "tox"] +dev = ["PyTest", "PyTest-Cov", "bump2version (<1)", "setuptools ; python_version >= \"3.12\"", "tox"] [[package]] name = "distro" @@ -727,6 +766,7 @@ 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"}, @@ -738,6 +778,8 @@ 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"}, @@ -758,6 +800,8 @@ 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"}, @@ -773,6 +817,8 @@ 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"}, @@ -790,6 +836,8 @@ 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"}, @@ -810,6 +858,8 @@ 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"}, @@ -828,6 +878,7 @@ 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"}, @@ -836,7 +887,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)"] +typing = ["typing-extensions (>=4.12.2) ; python_version < \"3.11\""] [[package]] name = "flake8" @@ -844,6 +895,7 @@ 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"}, @@ -860,6 +912,7 @@ 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"}, @@ -961,6 +1014,7 @@ 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"}, @@ -1000,6 +1054,8 @@ 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"}, @@ -1009,15 +1065,15 @@ files = [ google-auth = ">=2.14.1,<3.0.0" googleapis-common-protos = ">=1.56.2,<2.0.0" grpcio = [ - {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\""}, + {version = ">=1.33.2,<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", markers = "python_version < \"3.13\""}, + {version = ">=1.22.3,<2.0.0"}, {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" @@ -1025,7 +1081,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)", "grpcio-status (>=1.33.2,<2.0.dev0)", "grpcio-status (>=1.49.1,<2.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\""] grpcgcp = ["grpcio-gcp (>=0.2.2,<1.0.dev0)"] grpcio-gcp = ["grpcio-gcp (>=0.2.2,<1.0.dev0)"] @@ -1035,6 +1091,8 @@ version = "2.40.1" description = "Google Authentication Library" optional = true python-versions = ">=3.7" +groups = ["main"] +markers = "extra == \"extra-proxy\"" files = [ {file = "google_auth-2.40.1-py2.py3-none-any.whl", hash = "sha256:ed4cae4f5c46b41bae1d19c036e06f6c371926e97b19e816fc854eff811974ee"}, {file = "google_auth-2.40.1.tar.gz", hash = "sha256:58f0e8416a9814c1d86c9b7f6acf6816b51aba167b2c76821965271bac275540"}, @@ -1048,11 +1106,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)", "cryptography (>=38.0.3)", "pyjwt (>=2.0)"] -pyopenssl = ["cryptography (<39.0.0)", "cryptography (>=38.0.3)", "pyopenssl (>=20.0.0)"] +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)"] 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)", "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) ; 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"] urllib3 = ["packaging", "urllib3"] [[package]] @@ -1061,6 +1119,8 @@ 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"}, @@ -1079,10 +1139,12 @@ 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\""} @@ -1097,6 +1159,8 @@ 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"}, @@ -1113,6 +1177,7 @@ 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"}, @@ -1170,6 +1235,7 @@ 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)"] @@ -1180,6 +1246,8 @@ 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"}, @@ -1196,6 +1264,8 @@ 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"}, @@ -1217,6 +1287,7 @@ 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"}, @@ -1228,6 +1299,7 @@ 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"}, @@ -1243,6 +1315,8 @@ version = "1.1.0" description = "" 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.0-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:0322c42551e275fcb7949c083a54a81b2898e50787c9aa74284fcb8d2c58c12c"}, {file = "hf_xet-1.1.0-cp37-abi3-macosx_11_0_arm64.whl", hash = "sha256:667153a0304ac2debf2af95a8ff7687186f885b493f4cd16344869af270cd110"}, @@ -1263,6 +1337,7 @@ 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"}, @@ -1274,6 +1349,7 @@ 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"}, @@ -1295,6 +1371,7 @@ 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"}, @@ -1307,7 +1384,7 @@ httpcore = "==1.*" idna = "*" [package.extras] -brotli = ["brotli", "brotlicffi"] +brotli = ["brotli ; platform_python_implementation == \"CPython\"", "brotlicffi ; platform_python_implementation != \"CPython\""] cli = ["click (==8.*)", "pygments (==2.*)", "rich (>=10,<14)"] http2 = ["h2 (>=3,<5)"] socks = ["socksio (==1.*)"] @@ -1319,6 +1396,8 @@ 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"}, @@ -1330,6 +1409,7 @@ version = "0.31.1" 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.31.1-py3-none-any.whl", hash = "sha256:43f73124819b48b42d140cbc0d7a2e6bd15b2853b1b9d728d4d55ad1750cac5b"}, {file = "huggingface_hub-0.31.1.tar.gz", hash = "sha256:492bb5f545337aa9e2f59b75ef4c5f535a371e8958a6ce90af056387e67f1180"}, @@ -1366,6 +1446,8 @@ 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"}, @@ -1380,6 +1462,7 @@ 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"}, @@ -1397,7 +1480,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"] +uvloop = ["uvloop ; platform_system != \"Windows\""] [[package]] name = "hyperframe" @@ -1405,6 +1488,7 @@ 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"}, @@ -1416,6 +1500,7 @@ 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"}, @@ -1430,6 +1515,7 @@ 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"}, @@ -1441,7 +1527,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)", "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)"] +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)"] [[package]] name = "importlib-resources" @@ -1449,6 +1535,8 @@ 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"}, @@ -1458,7 +1546,7 @@ files = [ zipp = {version = ">=3.1.0", markers = "python_version < \"3.10\""} [package.extras] -check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)"] +check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1) ; sys_platform != \"cygwin\""] 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)"] @@ -1471,6 +1559,7 @@ 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"}, @@ -1482,6 +1571,8 @@ 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"}, @@ -1493,6 +1584,7 @@ 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"}, @@ -1510,6 +1602,7 @@ version = "0.9.0" description = "Fast iterable JSON parser." optional = false python-versions = ">=3.8" +groups = ["main"] files = [ {file = "jiter-0.9.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:816ec9b60fdfd1fec87da1d7ed46c66c44ffec37ab2ef7de5b147b2fce3fd5ad"}, {file = "jiter-0.9.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9b1d3086f8a3ee0194ecf2008cf81286a5c3e540d977fa038ff23576c023c0ea"}, @@ -1595,6 +1688,8 @@ 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"}, @@ -1606,6 +1701,7 @@ 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"}, @@ -1629,6 +1725,7 @@ 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"}, @@ -1644,19 +1741,22 @@ version = "0.1.1" 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.1.tar.gz", hash = "sha256:58465200b1ab8e8c3b5e8a4ba08267502ac35dc42bc05e3a388575d02a5219b6"}, ] [[package]] name = "litellm-proxy-extras" -version = "0.1.19" +version = "0.1.20" 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.1.19-py3-none-any.whl", hash = "sha256:ca92d1a03fc1d9ec4cd5c1cf477a5f0cb11a008480a68765f5946ecd81847f99"}, - {file = "litellm_proxy_extras-0.1.19.tar.gz", hash = "sha256:57ebfe6ae5935b94e87394ea0c59a0f9ac2e92f8d9806953cf71ec4ef97d6c39"}, + {file = "litellm_proxy_extras-0.1.20.tar.gz", hash = "sha256:2d5212ed43c03feb0481a43ff2f65751a6cb8c61afdedfe94f03f35716ac53f9"}, ] [[package]] @@ -1665,6 +1765,8 @@ 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"}, @@ -1689,6 +1791,7 @@ 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"}, @@ -1758,6 +1861,7 @@ 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"}, @@ -1769,6 +1873,8 @@ 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"}, @@ -1795,6 +1901,8 @@ 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"}, @@ -1806,6 +1914,8 @@ 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"}, @@ -1828,10 +1938,10 @@ files = [ [package.dependencies] numpy = [ - {version = ">1.20", markers = "python_version < \"3.10\""}, + {version = ">=1.23.3", markers = "python_version >= \"3.11\""}, + {version = ">1.20"}, + {version = ">=1.21.2", 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] @@ -1843,6 +1953,8 @@ 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 = true python-versions = ">=3.7" +groups = ["main"] +markers = "extra == \"extra-proxy\"" files = [ {file = "msal-1.32.3-py3-none-any.whl", hash = "sha256:b2798db57760b1961b142f027ffb7c8169536bf77316e99a0df5c4aaebb11569"}, {file = "msal-1.32.3.tar.gz", hash = "sha256:5eea038689c78a5a70ca8ecbe1245458b55a857bd096efb6989c69ba15985d35"}, @@ -1854,7 +1966,7 @@ PyJWT = {version = ">=1.0.0,<3", extras = ["crypto"]} requests = ">=2.0.0,<3" [package.extras] -broker = ["pymsalruntime (>=0.14,<0.18)", "pymsalruntime (>=0.17,<0.18)"] +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\""] [[package]] name = "msal-extensions" @@ -1862,6 +1974,8 @@ 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 = true python-versions = ">=3.7" +groups = ["main"] +markers = "extra == \"extra-proxy\"" 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"}, @@ -1879,6 +1993,7 @@ 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"}, @@ -1983,6 +2098,7 @@ 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"}, @@ -2042,6 +2158,7 @@ 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"}, @@ -2053,6 +2170,7 @@ 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"}, @@ -2064,6 +2182,8 @@ 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"}, @@ -2109,6 +2229,8 @@ version = "2.2.5" 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.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:1f4a922da1729f4c40932b2af4fe84909c7a6e167e6e99f71838ce3a29f3fe26"}, {file = "numpy-2.2.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:b6f91524d31b34f4a5fee24f5bc16dcd1491b668798b6d85585d836c1e633a6a"}, @@ -2173,6 +2295,8 @@ 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"}, @@ -2189,6 +2313,7 @@ version = "1.75.0" description = "The official Python library for the openai API" optional = false python-versions = ">=3.8" +groups = ["main"] files = [ {file = "openai-1.75.0-py3-none-any.whl", hash = "sha256:fe6f932d2ded3b429ff67cc9ad118c71327db32eb9d32dd723de3acfca337125"}, {file = "openai-1.75.0.tar.gz", hash = "sha256:fb3ea907efbdb1bcfd0c44507ad9c961afd7dce3147292b54505ecfd17be8fd1"}, @@ -2215,6 +2340,7 @@ 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"}, @@ -2230,6 +2356,7 @@ 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"}, @@ -2245,6 +2372,7 @@ 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"}, @@ -2259,6 +2387,7 @@ 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"}, @@ -2279,6 +2408,7 @@ 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"}, @@ -2299,6 +2429,7 @@ 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"}, @@ -2313,6 +2444,7 @@ 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"}, @@ -2329,6 +2461,7 @@ 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"}, @@ -2343,6 +2476,8 @@ 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"}, @@ -2431,6 +2566,7 @@ version = "25.0" description = "Core utilities for Python packages" optional = false python-versions = ">=3.8" +groups = ["main", "dev"] files = [ {file = "packaging-25.0-py3-none-any.whl", hash = "sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484"}, {file = "packaging-25.0.tar.gz", hash = "sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f"}, @@ -2442,6 +2578,7 @@ 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"}, @@ -2453,6 +2590,8 @@ 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"}, @@ -2464,6 +2603,7 @@ 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"}, @@ -2480,6 +2620,7 @@ 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"}, @@ -2495,6 +2636,7 @@ 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"}, @@ -2506,6 +2648,7 @@ 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"}, @@ -2531,6 +2674,7 @@ 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"}, @@ -2545,6 +2689,7 @@ 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"}, @@ -2652,6 +2797,8 @@ 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"}, @@ -2669,6 +2816,7 @@ 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"}, @@ -2682,6 +2830,7 @@ 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" @@ -2689,6 +2838,8 @@ 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"}, @@ -2700,6 +2851,8 @@ 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"}, @@ -2714,6 +2867,7 @@ 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"}, @@ -2725,10 +2879,12 @@ version = "2.22" description = "C parser in Python" optional = false python-versions = ">=3.8" +groups = ["main", "dev"] files = [ {file = "pycparser-2.22-py3-none-any.whl", hash = "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc"}, {file = "pycparser-2.22.tar.gz", hash = "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6"}, ] +markers = {main = "(extra == \"proxy\" or extra == \"extra-proxy\") and (platform_python_implementation != \"PyPy\" or extra == \"proxy\")", dev = "platform_python_implementation != \"PyPy\""} [[package]] name = "pydantic" @@ -2736,6 +2892,7 @@ version = "2.10.6" description = "Data validation using Python type hints" optional = false python-versions = ">=3.8" +groups = ["main", "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"}, @@ -2749,7 +2906,7 @@ typing-extensions = ">=4.12.2" [package.extras] email = ["email-validator (>=2.0.0)"] -timezone = ["tzdata"] +timezone = ["tzdata ; python_version >= \"3.9\" and platform_system == \"Windows\""] [[package]] name = "pydantic-core" @@ -2757,6 +2914,7 @@ version = "2.27.2" description = "Core functionality for Pydantic validation and serialization" optional = false python-versions = ">=3.8" +groups = ["main", "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"}, @@ -2869,6 +3027,8 @@ 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"}, @@ -2892,6 +3052,7 @@ 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"}, @@ -2903,6 +3064,8 @@ version = "2.19.1" description = "Pygments is a syntax highlighting package written in Python." optional = true python-versions = ">=3.8" +groups = ["main"] +markers = "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"}, @@ -2917,6 +3080,8 @@ version = "2.9.0" description = "JSON Web Token implementation in Python" optional = true python-versions = ">=3.8" +groups = ["main"] +markers = "extra == \"extra-proxy\" or extra == \"proxy\"" files = [ {file = "PyJWT-2.9.0-py3-none-any.whl", hash = "sha256:3b02fb0f44517787776cf48f2ae25d8e14f300e6d7545a4315cee571a415e850"}, {file = "pyjwt-2.9.0.tar.gz", hash = "sha256:7e1e5b56cc735432a7369cbfa0efe50fa113ebecdc04ae6922deba8b84582d0c"}, @@ -2937,6 +3102,8 @@ 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"}, @@ -2963,6 +3130,8 @@ 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"}, @@ -2977,6 +3146,7 @@ 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"}, @@ -2999,6 +3169,7 @@ 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"}, @@ -3017,6 +3188,7 @@ version = "3.14.0" 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"}, @@ -3034,6 +3206,8 @@ 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"}, @@ -3048,6 +3222,7 @@ 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"}, @@ -3062,6 +3237,8 @@ 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"}, @@ -3073,6 +3250,8 @@ 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"}, @@ -3087,6 +3266,7 @@ 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"}, @@ -3149,6 +3329,8 @@ 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"}, @@ -3168,6 +3350,8 @@ 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"}, @@ -3192,7 +3376,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)", "scipy (>=1.15,<2.0)", "sentence-transformers (>=3.4.0,<4.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)"] vertexai = ["google-cloud-aiplatform (>=1.26,<2.0)", "protobuf (>=5.29.1,<6.0.0)"] voyageai = ["voyageai (>=0.2.2)"] @@ -3202,6 +3386,7 @@ 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"}, @@ -3217,6 +3402,7 @@ 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"}, @@ -3320,6 +3506,7 @@ 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"}, @@ -3341,6 +3528,7 @@ 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"}, @@ -3358,6 +3546,8 @@ 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"}, @@ -3372,6 +3562,7 @@ 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"}, @@ -3383,7 +3574,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", "tomli-w", "types-PyYAML", "types-requests"] +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"] [[package]] name = "respx" @@ -3391,6 +3582,7 @@ 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"}, @@ -3405,6 +3597,8 @@ 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"}, @@ -3424,6 +3618,7 @@ 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"}, @@ -3536,6 +3731,8 @@ 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"}, @@ -3551,6 +3748,8 @@ 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"}, @@ -3565,6 +3764,7 @@ 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"}, @@ -3591,6 +3791,8 @@ 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"}, @@ -3608,6 +3810,8 @@ version = "1.17.0" description = "Python 2 and 3 compatibility utilities" optional = true python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" +groups = ["main"] +markers = "extra == \"extra-proxy\" or extra == \"proxy\"" files = [ {file = "six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274"}, {file = "six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81"}, @@ -3619,6 +3823,7 @@ 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"}, @@ -3630,6 +3835,8 @@ 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"}, @@ -3649,6 +3856,8 @@ 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"}, @@ -3667,6 +3876,8 @@ 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\" and python_version < \"3.14\"" files = [ {file = "tabulate-0.9.0-py3-none-any.whl", hash = "sha256:024ca478df22e9340661486f85298cff5f6dcdba14f3813e8830015b9ed1948f"}, {file = "tabulate-0.9.0.tar.gz", hash = "sha256:0095b12bf5966de529c0feb1fa08671671b3368eec77d7ef7ab114be2c068b3c"}, @@ -3681,6 +3892,8 @@ 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"}, @@ -3696,6 +3909,8 @@ 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"}, @@ -3711,6 +3926,7 @@ 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"}, @@ -3763,6 +3979,7 @@ 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"}, @@ -3795,6 +4012,8 @@ version = "2.2.1" description = "A lil' TOML parser" optional = false python-versions = ">=3.8" +groups = ["dev", "proxy-dev"] +markers = "python_version <= \"3.10\"" 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"}, @@ -3836,6 +4055,7 @@ 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"}, @@ -3847,6 +4067,7 @@ 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"}, @@ -3868,6 +4089,7 @@ 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"}, @@ -3882,6 +4104,7 @@ 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"}, @@ -3897,6 +4120,7 @@ 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"}, @@ -3908,6 +4132,7 @@ 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"}, @@ -3923,6 +4148,8 @@ 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"}, @@ -3937,6 +4164,8 @@ 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"}, @@ -3951,6 +4180,7 @@ 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"}, @@ -3962,6 +4192,8 @@ 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"}, @@ -3973,6 +4205,7 @@ 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"}, @@ -3984,6 +4217,8 @@ version = "0.4.0" 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.0-py3-none-any.whl", hash = "sha256:50e72559fcd2a6367a19f7a7e610e6afcb9fac940c650290eed893d61386832f"}, {file = "typing_inspection-0.4.0.tar.gz", hash = "sha256:9765c87de36671694a67904bf2c96e395be9c6439bb6c87b5142569dcdd65122"}, @@ -3998,6 +4233,8 @@ 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"}, @@ -4009,6 +4246,8 @@ 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"}, @@ -4027,14 +4266,16 @@ 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)", "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"] +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"] socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] [[package]] @@ -4043,13 +4284,15 @@ 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)", "brotlicffi (>=0.8.0)"] +brotli = ["brotli (>=1.0.9) ; platform_python_implementation == \"CPython\"", "brotlicffi (>=0.8.0) ; platform_python_implementation != \"CPython\""] h2 = ["h2 (>=4,<5)"] socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"] zstd = ["zstandard (>=0.18.0)"] @@ -4060,6 +4303,8 @@ 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"}, @@ -4071,7 +4316,7 @@ h11 = ">=0.8" typing-extensions = {version = ">=4.0", markers = "python_version < \"3.11\""} [package.extras] -standard = ["colorama (>=0.4)", "httptools (>=0.5.0)", "python-dotenv (>=0.13)", "pyyaml (>=5.1)", "uvloop (>=0.14.0,!=0.15.0,!=0.15.1)", "watchfiles (>=0.13)", "websockets (>=10.4)"] +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)"] [[package]] name = "uvloop" @@ -4079,6 +4324,8 @@ 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"}, @@ -4130,6 +4377,8 @@ 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"}, @@ -4225,6 +4474,7 @@ 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"}, @@ -4313,6 +4563,7 @@ 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"}, @@ -4327,6 +4578,7 @@ 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"}, @@ -4439,17 +4691,18 @@ 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)"] +check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1) ; sys_platform != \"cygwin\""] cover = ["pytest-cov"] doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] enabler = ["pytest-enabler (>=2.2)"] -test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", "jaraco.test", "more-itertools", "pytest (>=6,!=8.1.*)", "pytest-ignore-flaky"] +test = ["big-O", "importlib-resources ; python_version < \"3.9\"", "jaraco.functools", "jaraco.itertools", "jaraco.test", "more-itertools", "pytest (>=6,!=8.1.*)", "pytest-ignore-flaky"] type = ["pytest-mypy"] [extras] @@ -4457,6 +4710,6 @@ extra-proxy = ["azure-identity", "azure-keyvault-secrets", "google-cloud-kms", " proxy = ["PyJWT", "apscheduler", "backoff", "boto3", "cryptography", "fastapi", "fastapi-sso", "gunicorn", "litellm-enterprise", "litellm-proxy-extras", "mcp", "orjson", "pynacl", "python-multipart", "pyyaml", "rich", "rq", "uvicorn", "uvloop", "websockets"] [metadata] -lock-version = "2.0" +lock-version = "2.1" python-versions = ">=3.8.1,<4.0, !=3.9.7" -content-hash = "0f7744f19071ff0cb922eceb6915f40d247c0ea740e6c066af94a8572e9a14ea" +content-hash = "7f931fa75d74670d5e8f1f8d7819e34886a3111032a388f49cc4a6b08abafae7" diff --git a/pyproject.toml b/pyproject.toml index a22683067d8..f030b07e9bf 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -55,7 +55,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.1.19", optional = true} +litellm-proxy-extras = {version = "0.1.20", optional = true} rich = {version = "13.7.1", optional = true} litellm-enterprise = {version = "0.1.1", optional = true} diff --git a/requirements.txt b/requirements.txt index b93ee3c4b5c..20d6110a355 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.1.19 # for proxy extras - e.g. prisma migrations +litellm-proxy-extras==0.1.20 # for proxy extras - e.g. prisma migrations ### LITELLM PACKAGE DEPENDENCIES python-dotenv==1.0.0 # for env tiktoken==0.8.0 # for calculating usage