diff --git a/poetry.lock b/poetry.lock index 2e1fe318..18874264 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,4 +1,4 @@ -# This file is automatically @generated by Poetry 2.1.1 and should not be changed by hand. +# This file is automatically @generated by Poetry 2.2.1 and should not be changed by hand. [[package]] name = "annotated-types" @@ -307,7 +307,7 @@ files = [ {file = "click-8.1.8-py3-none-any.whl", hash = "sha256:63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2"}, {file = "click-8.1.8.tar.gz", hash = "sha256:ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a"}, ] -markers = {main = "python_version >= \"3.10\" and sys_platform != \"emscripten\""} +markers = {main = "python_version >= \"3.10\" and extra == \"openai\" and sys_platform != \"emscripten\""} [package.dependencies] colorama = {version = "*", markers = "platform_system == \"Windows\""} @@ -323,7 +323,7 @@ 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 = {dev = "platform_system == \"Windows\"", test = "sys_platform == \"win32\""} +markers = {main = "platform_system == \"Windows\" or extra == \"openai\"", dev = "platform_system == \"Windows\"", test = "sys_platform == \"win32\""} [[package]] name = "coverage" @@ -435,7 +435,7 @@ description = "Backport of PEP 654 (exception groups)" optional = false python-versions = ">=3.7" groups = ["main", "dev", "test"] -markers = "python_version <= \"3.10\" or platform_python_implementation == \"PyPy\" and python_version < \"3.11\"" +markers = "python_version < \"3.11\"" files = [ {file = "exceptiongroup-1.2.2-py3-none-any.whl", hash = "sha256:3111b9d131c238bec2f8f516e123e14ba243563fb135d3fe885990585aa7795b"}, {file = "exceptiongroup-1.2.2.tar.gz", hash = "sha256:47c2edf7c6738fafb49fd34290706d1a1a2f4d1c6df275526b62cbb4aa5393cc"}, @@ -548,6 +548,7 @@ files = [ {file = "griffe-1.7.3-py3-none-any.whl", hash = "sha256:c6b3ee30c2f0f17f30bcdef5068d6ab7a2a4f1b8bf1a3e74b56fffd21e1c5f75"}, {file = "griffe-1.7.3.tar.gz", hash = "sha256:52ee893c6a3a968b639ace8015bec9d36594961e156e23315c8e8e51401fa50b"}, ] +markers = {main = "extra == \"openai\""} [package.dependencies] colorama = ">=0.4" @@ -638,7 +639,7 @@ description = "Consume Server-Sent Event (SSE) messages with HTTPX." optional = true python-versions = ">=3.8" groups = ["main"] -markers = "python_version >= \"3.10\"" +markers = "python_version >= \"3.10\" and extra == \"openai\"" 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"}, @@ -681,7 +682,7 @@ description = "Read metadata from Python packages" optional = false python-versions = ">=3.9" groups = ["docs"] -markers = "python_version < \"3.10\"" +markers = "python_version == \"3.9\"" files = [ {file = "importlib_metadata-8.7.0-py3-none-any.whl", hash = "sha256:e5dd1551894c77868a30651cef00984d50e1002d06942a7101d34870c5f02afd"}, {file = "importlib_metadata-8.7.0.tar.gz", hash = "sha256:d13b81ad223b890aa16c5471f2ac3056cf76c5f10f82d6f9292f0b415f389000"}, @@ -844,54 +845,84 @@ files = [ [[package]] name = "langchain-core" -version = "0.3.61" +version = "0.3.80" description = "Building applications with LLMs through composability" optional = false -python-versions = ">=3.9" +python-versions = "<4.0.0,>=3.9.0" groups = ["main", "test"] files = [ - {file = "langchain_core-0.3.61-py3-none-any.whl", hash = "sha256:62cddbda7fb6085b6096bb4f3ad69642ebb0585bde7b210edc61dd0af33f2ea4"}, - {file = "langchain_core-0.3.61.tar.gz", hash = "sha256:67ba08d4cf58616050047ef3a07887a72607fea9b6b4522dff9e7579a1adbe75"}, + {file = "langchain_core-0.3.80-py3-none-any.whl", hash = "sha256:2141e3838d100d17dce2359f561ec0df52c526bae0de6d4f469f8026c5747456"}, + {file = "langchain_core-0.3.80.tar.gz", hash = "sha256:29636b82513ab49e834764d023c4d18554d3d719a185d37b019d0a8ae948c6bb"}, ] [package.dependencies] -jsonpatch = ">=1.33,<2.0" -langsmith = ">=0.1.126,<0.4" -packaging = ">=23.2,<25" -pydantic = ">=2.7.4" -PyYAML = ">=5.3" +jsonpatch = ">=1.33.0,<2.0.0" +langsmith = ">=0.3.45,<1.0.0" +packaging = ">=23.2.0,<26.0.0" +pydantic = ">=2.7.4,<3.0.0" +PyYAML = ">=5.3.0,<7.0.0" tenacity = ">=8.1.0,<8.4.0 || >8.4.0,<10.0.0" -typing-extensions = ">=4.7" +typing-extensions = ">=4.7.0,<5.0.0" [[package]] name = "langsmith" -version = "0.3.42" +version = "0.4.37" description = "Client library to connect to the LangSmith LLM Tracing and Evaluation Platform." optional = false python-versions = ">=3.9" groups = ["main", "test"] +markers = "python_version == \"3.9\" or platform_python_implementation == \"PyPy\"" files = [ - {file = "langsmith-0.3.42-py3-none-any.whl", hash = "sha256:18114327f3364385dae4026ebfd57d1c1cb46d8f80931098f0f10abe533475ff"}, - {file = "langsmith-0.3.42.tar.gz", hash = "sha256:2b5cbc450ab808b992362aac6943bb1d285579aa68a3a8be901d30a393458f25"}, + {file = "langsmith-0.4.37-py3-none-any.whl", hash = "sha256:e34a94ce7277646299e4703a0f6e2d2c43647a28e8b800bb7ef82fd87a0ec766"}, + {file = "langsmith-0.4.37.tar.gz", hash = "sha256:d9a0eb6dd93f89843ac982c9f92be93cf2bcabbe19957f362c547766c7366c71"}, ] [package.dependencies] httpx = ">=0.23.0,<1" -orjson = {version = ">=3.9.14,<4.0.0", markers = "platform_python_implementation != \"PyPy\""} +orjson = {version = ">=3.9.14", markers = "platform_python_implementation != \"PyPy\""} packaging = ">=23.2" -pydantic = [ - {version = ">=1,<3", markers = "python_full_version < \"3.12.4\""}, - {version = ">=2.7.4,<3.0.0", markers = "python_full_version >= \"3.12.4\""}, +pydantic = ">=1,<3" +requests = ">=2.0.0" +requests-toolbelt = ">=1.0.0" +zstandard = ">=0.23.0" + +[package.extras] +claude-agent-sdk = ["claude-agent-sdk (>=0.1.0) ; python_version >= \"3.10\""] +langsmith-pyo3 = ["langsmith-pyo3 (>=0.1.0rc2)"] +openai-agents = ["openai-agents (>=0.0.3)"] +otel = ["opentelemetry-api (>=1.30.0)", "opentelemetry-exporter-otlp-proto-http (>=1.30.0)", "opentelemetry-sdk (>=1.30.0)"] +pytest = ["pytest (>=7.0.0)", "rich (>=13.9.4)", "vcrpy (>=7.0.0)"] +vcr = ["vcrpy (>=7.0.0)"] + +[[package]] +name = "langsmith" +version = "0.4.44" +description = "Client library to connect to the LangSmith Observability and Evaluation Platform." +optional = false +python-versions = ">=3.10" +groups = ["main", "test"] +markers = "platform_python_implementation != \"PyPy\" and python_version >= \"3.10\"" +files = [ + {file = "langsmith-0.4.44-py3-none-any.whl", hash = "sha256:c249ed6cac490723ec7201debd9e3bc3b2a0bf54ff99aba89a135c9d78c83233"}, + {file = "langsmith-0.4.44.tar.gz", hash = "sha256:5314280e0647085c1a9cc2219361fa7c2aa6cb5921558bddf3afe86d55a512cc"}, ] -requests = ">=2,<3" -requests-toolbelt = ">=1.0.0,<2.0.0" -zstandard = ">=0.23.0,<0.24.0" + +[package.dependencies] +httpx = ">=0.23.0,<1" +orjson = {version = ">=3.9.14", markers = "platform_python_implementation != \"PyPy\""} +packaging = ">=23.2" +pydantic = ">=1,<3" +requests = ">=2.0.0" +requests-toolbelt = ">=1.0.0" +zstandard = ">=0.23.0" [package.extras] -langsmith-pyo3 = ["langsmith-pyo3 (>=0.1.0rc2,<0.2.0)"] -openai-agents = ["openai-agents (>=0.0.3,<0.1)"] -otel = ["opentelemetry-api (>=1.30.0,<2.0.0)", "opentelemetry-exporter-otlp-proto-http (>=1.30.0,<2.0.0)", "opentelemetry-sdk (>=1.30.0,<2.0.0)"] -pytest = ["pytest (>=7.0.0)", "rich (>=13.9.4,<14.0.0)"] +claude-agent-sdk = ["claude-agent-sdk (>=0.1.0) ; python_version >= \"3.10\""] +langsmith-pyo3 = ["langsmith-pyo3 (>=0.1.0rc2)"] +openai-agents = ["openai-agents (>=0.0.3)"] +otel = ["opentelemetry-api (>=1.30.0)", "opentelemetry-exporter-otlp-proto-http (>=1.30.0)", "opentelemetry-sdk (>=1.30.0)"] +pytest = ["pytest (>=7.0.0)", "rich (>=13.9.4)", "vcrpy (>=7.0.0)"] +vcr = ["vcrpy (>=7.0.0)"] [[package]] name = "markdown" @@ -990,7 +1021,7 @@ description = "Model Context Protocol SDK" optional = true python-versions = ">=3.10" groups = ["main"] -markers = "python_version >= \"3.10\"" +markers = "python_version >= \"3.10\" and extra == \"openai\"" files = [ {file = "mcp-1.7.1-py3-none-any.whl", hash = "sha256:f7e6108977db6d03418495426c7ace085ba2341b75197f8727f96f9cfd30057a"}, {file = "mcp-1.7.1.tar.gz", hash = "sha256:eb4f1f53bd717f75dda8a1416e00804b831a8f3c331e23447a03b78f04b43a6e"}, @@ -1405,6 +1436,7 @@ description = "OpenAI Agents SDK" optional = true python-versions = ">=3.9" groups = ["main"] +markers = "extra == \"openai\"" files = [ {file = "openai_agents-0.0.12-py3-none-any.whl", hash = "sha256:122d9b71b408c70ffc8cd9e78751cc765ef104938fb937484d5b163790132e31"}, {file = "openai_agents-0.0.12.tar.gz", hash = "sha256:5d889a5abb2e335dc21d5c11cf8b133667d919905259a35fd1405c5b6a8c484f"}, @@ -2104,7 +2136,7 @@ description = "A streaming multipart parser for Python" optional = true python-versions = ">=3.8" groups = ["main"] -markers = "python_version >= \"3.10\"" +markers = "python_version >= \"3.10\" and extra == \"openai\"" files = [ {file = "python_multipart-0.0.20-py3-none-any.whl", hash = "sha256:8a62d3a8335e06589fe01f2a3e178cdcc632f3fbe0d492ad9ee0ec35aab1f104"}, {file = "python_multipart-0.0.20.tar.gz", hash = "sha256:8dd0cab45b8e23064ae09147625994d090fa46f5b0d1e13af944c331a7fa9d13"}, @@ -2289,7 +2321,7 @@ description = "SSE plugin for Starlette" optional = true python-versions = ">=3.9" groups = ["main"] -markers = "python_version >= \"3.10\"" +markers = "python_version >= \"3.10\" and extra == \"openai\"" files = [ {file = "sse_starlette-2.3.4-py3-none-any.whl", hash = "sha256:b8100694f3f892b133d0f7483acb7aacfcf6ed60f863b31947664b6dc74e529f"}, {file = "sse_starlette-2.3.4.tar.gz", hash = "sha256:0ffd6bed217cdbb74a84816437c609278003998b4991cd2e6872d0b35130e4d5"}, @@ -2310,7 +2342,7 @@ description = "The little ASGI library that shines." optional = true python-versions = ">=3.9" groups = ["main"] -markers = "python_version >= \"3.10\"" +markers = "python_version >= \"3.10\" and extra == \"openai\"" files = [ {file = "starlette-0.46.2-py3-none-any.whl", hash = "sha256:595633ce89f8ffa71a015caed34a5b2dc1c0cdb3f0f1fbd1e69339cf2abeec35"}, {file = "starlette-0.46.2.tar.gz", hash = "sha256:7f7361f34eed179294600af672f565727419830b54b7b084efe44bb82d2fccd5"}, @@ -2463,7 +2495,7 @@ files = [ {file = "tomli-2.2.1-py3-none-any.whl", hash = "sha256:cb55c73c5f4408779d0cf3eef9f762b9c9f147a77de7b258bef0a5628adc85cc"}, {file = "tomli-2.2.1.tar.gz", hash = "sha256:cd45e1dc79c835ce60f7404ec8119f2eb06d38b1deba146f07ced3bbc44505ff"}, ] -markers = {dev = "python_version <= \"3.10\" or platform_python_implementation == \"PyPy\" and python_version < \"3.11\"", test = "python_full_version <= \"3.11.0a6\""} +markers = {dev = "python_version < \"3.11\"", test = "python_full_version <= \"3.11.0a6\""} [[package]] name = "tqdm" @@ -2494,7 +2526,7 @@ description = "Typing stubs for requests" optional = true python-versions = ">=3.7" groups = ["main"] -markers = "python_version < \"3.10\" or platform_python_implementation == \"PyPy\"" +markers = "(python_version == \"3.9\" or platform_python_implementation == \"PyPy\") and extra == \"openai\"" 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"}, @@ -2510,7 +2542,7 @@ description = "Typing stubs for requests" optional = true python-versions = ">=3.9" groups = ["main"] -markers = "platform_python_implementation != \"PyPy\" and python_version >= \"3.10\"" +markers = "platform_python_implementation != \"PyPy\" and python_version >= \"3.10\" and extra == \"openai\"" files = [ {file = "types_requests-2.32.0.20250328-py3-none-any.whl", hash = "sha256:72ff80f84b15eb3aa7a8e2625fffb6a93f2ad5a0c20215fc1dcfa61117bcb2a2"}, {file = "types_requests-2.32.0.20250328.tar.gz", hash = "sha256:c9e67228ea103bd811c96984fac36ed2ae8da87a36a633964a21f199d60baf32"}, @@ -2526,7 +2558,7 @@ description = "Typing stubs for urllib3" optional = true python-versions = "*" groups = ["main"] -markers = "python_version < \"3.10\" or platform_python_implementation == \"PyPy\"" +markers = "(python_version == \"3.9\" or platform_python_implementation == \"PyPy\") and extra == \"openai\"" 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"}, @@ -2566,7 +2598,7 @@ description = "HTTP library with thread-safe connection pooling, file post, and optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" groups = ["main", "docs", "test"] -markers = "python_version < \"3.10\" or platform_python_implementation == \"PyPy\"" +markers = "python_version == \"3.9\" or platform_python_implementation == \"PyPy\"" files = [ {file = "urllib3-1.26.20-py2.py3-none-any.whl", hash = "sha256:0ed14ccfbf1c30a9072c7ca157e4319b70d65f623e91e7b32fadb2853431016e"}, {file = "urllib3-1.26.20.tar.gz", hash = "sha256:40c2dc0c681e47eb8f90e7e27bf6ff7df2e677421fd46756da1161c39ca70d32"}, @@ -2603,7 +2635,7 @@ description = "The lightning-fast ASGI server." optional = true python-versions = ">=3.9" groups = ["main"] -markers = "python_version >= \"3.10\" and sys_platform != \"emscripten\"" +markers = "python_version >= \"3.10\" and extra == \"openai\" and sys_platform != \"emscripten\"" files = [ {file = "uvicorn-0.34.2-py3-none-any.whl", hash = "sha256:deb49af569084536d269fe0a6d67e3754f104cf03aba7c11c40f01aadf33c403"}, {file = "uvicorn-0.34.2.tar.gz", hash = "sha256:0e929828f6186353a80b58ea719861d2629d766293b6d19baf086ba31d4f3328"}, @@ -2920,7 +2952,7 @@ description = "Backport of pathlib-compatible object wrapper for zip files" optional = false python-versions = ">=3.9" groups = ["docs"] -markers = "python_version < \"3.10\"" +markers = "python_version == \"3.9\"" files = [ {file = "zipp-3.21.0-py3-none-any.whl", hash = "sha256:ac1bbe05fd2991f160ebce24ffbac5f6d11d83dc90891255885223d42b3cd931"}, {file = "zipp-3.21.0.tar.gz", hash = "sha256:2c9958f6430a2040341a52eb608ed6dd93ef4392e02ffe219417c1b28b5dd1f4"}, @@ -3055,4 +3087,4 @@ openai = ["openai", "openai-agents", "packaging"] [metadata] lock-version = "2.1" python-versions = "^3.9,<3.14" -content-hash = "199a428663e1a822c1b4089c5f7f9c0fc3c7333dfff5e3e6afe7b4504b9c94cf" +content-hash = "c250e8082eef6ca18b98b717fca561bca638291c824ffc06dc5712758bcc6a88" diff --git a/pyproject.toml b/pyproject.toml index a189e27c..4cce321c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -14,7 +14,7 @@ pyjwt = "^2.8.0" wrapt = "^1.14" attrs = ">=22.2.0" python-dateutil = "^2.8.0" -langchain-core = { version = "^0.3.61", optional = true } +langchain-core = { version = "^0.3.80", optional = true } openai = { version = "<1.67.0", optional = true } openai-agents = { version = "<0.0.13", optional = true } @@ -30,7 +30,7 @@ pytest-asyncio = "^0.26.0" requests-mock = "^1.11.0" galileo-core = { extras = ["testing"], version = "~=3.32.0" } pytest-env = "^1.1.5" -langchain-core = "^0.3.61" +langchain-core = "^0.3.80" pytest-sugar = "^1.0.0" vcrpy = "^7.0.0" time-machine = "^2.16.0" # freezegun causes problems with pydantic model validations