diff --git a/poetry.lock b/poetry.lock index da65531..723183a 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1420,9 +1420,10 @@ files = [ name = "elastic-transport" version = "8.17.1" description = "Transport classes and utilities shared among Python Elastic client libraries" -optional = false +optional = true python-versions = ">=3.8" groups = ["main"] +markers = "extra == \"all\"" files = [ {file = "elastic_transport-8.17.1-py3-none-any.whl", hash = "sha256:192718f498f1d10c5e9aa8b9cf32aed405e469a7f0e9d6a8923431dbb2c59fb8"}, {file = "elastic_transport-8.17.1.tar.gz", hash = "sha256:5edef32ac864dca8e2f0a613ef63491ee8d6b8cfb52881fa7313ba9290cac6d2"}, @@ -1439,9 +1440,10 @@ develop = ["aiohttp", "furo", "httpx", "opentelemetry-api", "opentelemetry-sdk", name = "elasticsearch" version = "8.18.1" description = "Python client for Elasticsearch" -optional = false +optional = true python-versions = ">=3.8" groups = ["main"] +markers = "extra == \"all\"" files = [ {file = "elasticsearch-8.18.1-py3-none-any.whl", hash = "sha256:1a8c8b5ec3ce5be88f96d2f898375671648e96272978bce0dee3137d9326aabb"}, {file = "elasticsearch-8.18.1.tar.gz", hash = "sha256:998035f17a8c1fba7ae26b183dca797dcf95db86da6a7ecba56d31afc40f07c7"}, @@ -1461,21 +1463,6 @@ pyarrow = ["pyarrow (>=1)"] requests = ["requests (>=2.4.0,!=2.32.2,<3.0.0)"] vectorstore-mmr = ["numpy (>=1)", "simsimd (>=3)"] -[[package]] -name = "eval-type-backport" -version = "0.2.2" -description = "Like `typing._eval_type`, but lets older Python versions use newer typing features." -optional = false -python-versions = ">=3.8" -groups = ["main"] -files = [ - {file = "eval_type_backport-0.2.2-py3-none-any.whl", hash = "sha256:cb6ad7c393517f476f96d456d0412ea80f0a8cf96f6892834cd9340149111b0a"}, - {file = "eval_type_backport-0.2.2.tar.gz", hash = "sha256:f0576b4cf01ebb5bd358d02314d31846af5e07678387486e2c798af0e7d849c1"}, -] - -[package.extras] -tests = ["pytest"] - [[package]] name = "exceptiongroup" version = "1.3.0" @@ -2504,14 +2491,14 @@ tests = ["matplotlib (>=3.5.0)", "packaging (>=20.0)", "pytest", "pytest-cov", " [[package]] name = "litellm" -version = "1.73.6" +version = "1.74.0" description = "Library to easily interface with LLM API providers" optional = false python-versions = "!=2.7.*,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,!=3.7.*,>=3.8" groups = ["main"] files = [ - {file = "litellm-1.73.6-py3-none-any.whl", hash = "sha256:98b3c7f436e6521e280f98faf9bad06c4c76d6a1678db2b370ffa175c206d288"}, - {file = "litellm-1.73.6.tar.gz", hash = "sha256:072ff9225aaa9caafe0fa9782df0ba4c93f893791cc55dd5ed218a401e788e88"}, + {file = "litellm-1.74.0-py3-none-any.whl", hash = "sha256:f6c41169e0dbf182c2d74a0b9e146f1c67735351a721c8498eea7ec6306be309"}, + {file = "litellm-1.74.0.tar.gz", hash = "sha256:2ee64579568cc81835025db45da6d91ee7ec6706ab4adf1a833866999ed822e7"}, ] [package.dependencies] @@ -2522,7 +2509,7 @@ importlib-metadata = ">=6.8.0" jinja2 = ">=3.1.2,<4.0.0" jsonschema = ">=4.22.0,<5.0.0" openai = ">=1.68.2" -pydantic = ">=2.0.0,<3.0.0" +pydantic = ">=2.5.0,<3.0.0" python-dotenv = ">=0.2.0" tiktoken = ">=0.7.0" tokenizers = "*" @@ -2530,7 +2517,7 @@ tokenizers = "*" [package.extras] caching = ["diskcache (>=5.6.1,<6.0.0)"] extra-proxy = ["azure-identity (>=1.15.0,<2.0.0)", "azure-keyvault-secrets (>=4.8.0,<5.0.0)", "google-cloud-kms (>=2.21.3,<3.0.0)", "prisma (==0.11.0)", "redisvl (>=0.4.1,<0.5.0) ; python_version >= \"3.9\" and python_version < \"3.14\"", "resend (>=0.8.0,<0.9.0)"] -proxy = ["PyJWT (>=2.8.0,<3.0.0)", "apscheduler (>=3.10.4,<4.0.0)", "backoff", "boto3 (==1.34.34)", "cryptography (>=43.0.1,<44.0.0)", "fastapi (>=0.115.5,<0.116.0)", "fastapi-sso (>=0.16.0,<0.17.0)", "gunicorn (>=23.0.0,<24.0.0)", "litellm-enterprise (==0.1.9)", "litellm-proxy-extras (==0.2.6)", "mcp (==1.9.3) ; python_version >= \"3.10\"", "orjson (>=3.9.7,<4.0.0)", "pynacl (>=1.5.0,<2.0.0)", "python-multipart (>=0.0.18,<0.0.19)", "pyyaml (>=6.0.1,<7.0.0)", "rich (==13.7.1)", "rq", "uvicorn (>=0.29.0,<0.30.0)", "uvloop (>=0.21.0,<0.22.0) ; sys_platform != \"win32\"", "websockets (>=13.1.0,<14.0.0)"] +proxy = ["PyJWT (>=2.8.0,<3.0.0)", "apscheduler (>=3.10.4,<4.0.0)", "backoff", "boto3 (==1.34.34)", "cryptography (>=43.0.1,<44.0.0)", "fastapi (>=0.115.5,<0.116.0)", "fastapi-sso (>=0.16.0,<0.17.0)", "gunicorn (>=23.0.0,<24.0.0)", "litellm-enterprise (==0.1.11)", "litellm-proxy-extras (==0.2.6)", "mcp (==1.9.3) ; python_version >= \"3.10\"", "orjson (>=3.9.7,<4.0.0)", "pynacl (>=1.5.0,<2.0.0)", "python-multipart (>=0.0.18,<0.0.19)", "pyyaml (>=6.0.1,<7.0.0)", "rich (==13.7.1)", "rq", "uvicorn (>=0.29.0,<0.30.0)", "uvloop (>=0.21.0,<0.22.0) ; sys_platform != \"win32\"", "websockets (>=13.1.0,<14.0.0)"] utils = ["numpydoc"] [[package]] @@ -6958,11 +6945,11 @@ test = ["big-O", "importlib_resources ; python_version < \"3.9\"", "jaraco.funct type = ["pytest-mypy"] [extras] -all = ["accelerate", "aiodocker", "asyncssh", "click", "httpx", "transformers", "vllm", "websockets"] +all = ["accelerate", "aiodocker", "asyncssh", "click", "elasticsearch", "httpx", "transformers", "vllm", "websockets"] examples = ["aiodocker", "asyncssh", "click", "httpx", "websockets"] tracing = [] [metadata] lock-version = "2.1" python-versions = "^3.10" -content-hash = "3b7e5e8f839ebd658e8a20272b3e50342c2b6958c4960131a2eedc280b6bba61" +content-hash = "70c9b2fdea3938a6ed1aa0a1316aaadf2d0a0633fbed8340bdf29d3f35337511" diff --git a/pyproject.toml b/pyproject.toml index 1a1373e..21909ba 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "rigging" -version = "3.0.0" +version = "3.1.0" description = "LLM Interaction Framework" authors = ["Nick Landers "] license = "MIT" @@ -17,8 +17,6 @@ pydantic-xml = "^2.11.0" loguru = "^0.7.2" litellm = "^1.67.2" pandas = "^2.2.2" -eval-type-backport = "^0.2.0" # For 3.9 future annotations -elasticsearch = "^8.13.2" xmltodict = "^0.13.0" colorama = "^0.4.6" boto3 = "^1.35.0" @@ -32,6 +30,7 @@ mcp = "^1.5.0" vllm = { version = "^0.5.0", optional = true } transformers = { version = "^4.41.0", optional = true } accelerate = { version = "^0.30.1", optional = true } +elasticsearch = { version = "^8.13.2", optional = true } asyncssh = { version = "^2.14.2", optional = true } click = { version = "^8.1.7", optional = true } @@ -52,6 +51,7 @@ all = [ "aiodocker", "websockets", "logfire", + "elasticsearch", ] [tool.poetry.group.dev.dependencies] @@ -128,20 +128,21 @@ extend-exclude = [ [tool.ruff.lint] select = [ "ALL" ] ignore = [ - "E501", # line too long (we make best effort) - "TRY003", # long messages in exception classes - "EM", # picky message construction for exceptions - "C90", # mccabe complexity - "A002", # shadowing built-in - "D", # docstrings - "ANN", # annotations (handled by mypy) - "PLR0913", # too many arguments - "ERA001", # commented out code - "FIX002", # contains todo, consider fixing - "TD002", # TODO - "TD003", # TODO - "PLR0911", # too many return statements - "FBT003", # boolean positional in function call + "E501", # line too long (we make best effort) + "TRY003", # long messages in exception classes + "EM", # picky message construction for exceptions + "C90", # mccabe complexity + "A002", # shadowing built-in + "D", # docstrings + "ANN", # annotations (handled by mypy) + "PLR0913", # too many arguments + "ERA001", # commented out code + "FIX002", # contains todo, consider fixing + "TD002", # TODO + "TD003", # TODO + "PLR0911", # too many return statements + "FBT003", # boolean positional in function call + "COM812", # missing trailing comma in function call ] [tool.ruff.format]