From 04d0cd66f020c11fd7cc9dddbfc98847bf203a53 Mon Sep 17 00:00:00 2001 From: Xiangyi Li Date: Tue, 23 Jun 2026 17:16:27 -0700 Subject: [PATCH 1/2] fix(deps): require anyio>=4.9 so the daytona SDK imports MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit httpx-ws (a transitive dep of the daytona SDK) needs anyio.AsyncContextManagerMixin, added in anyio 4.9. The lock pinned anyio 4.8.0, so `from daytona import Daytona` raised AttributeError — breaking all live Daytona sandbox use whenever the sandbox-daytona extra is installed. Bump the floor to anyio>=4.9 and refresh the lock (4.8.0 -> 4.14.0). Surgical change: only the anyio stanza + specifier. Verified `from daytona import Daytona` and `import benchflow` both succeed with the sandbox-daytona extra synced. (main is affected identically and can cherry-pick this.) --- pyproject.toml | 4 +++- uv.lock | 9 ++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index ac8e5727a..7a02f89dd 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -8,7 +8,9 @@ keywords = ["benchmark", "llm-agents", "acp", "agent-evaluation", "multi-turn", dependencies = [ "agent-client-protocol>=0.10", "httpx>=0.27.0", - "anyio>=4.0", + # httpx-ws (transitive via the daytona SDK) needs anyio>=4.9 for + # AsyncContextManagerMixin; anyio 4.8 makes the daytona SDK un-importable. + "anyio>=4.9", "pydantic>=2.7", "pyyaml>=6.0", "rich>=13.0", diff --git a/uv.lock b/uv.lock index 5a5eb1952..42924936a 100644 --- a/uv.lock +++ b/uv.lock @@ -200,16 +200,15 @@ wheels = [ [[package]] name = "anyio" -version = "4.8.0" +version = "4.14.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "idna" }, - { name = "sniffio" }, { name = "typing-extensions", marker = "python_full_version < '3.13'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/a3/73/199a98fc2dae33535d6b8e8e6ec01f8c1d76c9adb096c6b7d64823038cde/anyio-4.8.0.tar.gz", hash = "sha256:1d9fe889df5212298c0c0723fa20479d1b94883a2df44bd3897aa91083316f7a", size = 181126, upload-time = "2025-01-05T13:13:11.095Z" } +sdist = { url = "https://files.pythonhosted.org/packages/1c/b5/001890774a9552aff22502b8da382593109ce0c95314abaebbb116567545/anyio-4.14.0.tar.gz", hash = "sha256:b47c1f9ccf73e67021df785332508f99379c68fa7d0684e8e3492cb1d4b23f89", size = 253586, upload-time = "2026-06-15T22:00:49.021Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/46/eb/e7f063ad1fec6b3178a3cd82d1a3c4de82cccf283fc42746168188e1cdd5/anyio-4.8.0-py3-none-any.whl", hash = "sha256:b5011f270ab5eb0abf13385f851315585cc37ef330dd88e27ec3d34d651fd47a", size = 96041, upload-time = "2025-01-05T13:13:07.985Z" }, + { url = "https://files.pythonhosted.org/packages/ba/16/9826f089383c593cdfc4a6e5aca94d9e91ae1692c57af82c3b2aa5e810f7/anyio-4.14.0-py3-none-any.whl", hash = "sha256:dd9b7a2a9799ed6552fde617b2c5df02b7fdd7d88392fc48101e51bae46164d9", size = 123506, upload-time = "2026-06-15T22:00:47.595Z" }, ] [[package]] @@ -417,7 +416,7 @@ sandbox-modal = [ requires-dist = [ { name = "agent-client-protocol", specifier = ">=0.10" }, { name = "anthropic", marker = "extra == 'judge'", specifier = ">=0.40" }, - { name = "anyio", specifier = ">=4.0" }, + { name = "anyio", specifier = ">=4.9" }, { name = "boto3", marker = "extra == 'bedrock'", specifier = ">=1.40" }, { name = "cua-sandbox", marker = "python_full_version < '3.14' and extra == 'sandbox-cua'", specifier = ">=0.1.16" }, { name = "cua-train", marker = "extra == 'sandbox-cua-cloud'", specifier = ">=0.1.0", index = "https://wheels.cua.ai/simple/" }, From f23ecf2d474455c732a9f1bdda0cb19b0f62fcea Mon Sep 17 00:00:00 2001 From: Bingran You Date: Wed, 24 Jun 2026 01:36:46 -0700 Subject: [PATCH 2/2] fix(deps): require anyio 4.10 for Daytona imports --- pyproject.toml | 6 +++--- uv.lock | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 7a02f89dd..84b33049f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -8,9 +8,9 @@ keywords = ["benchmark", "llm-agents", "acp", "agent-evaluation", "multi-turn", dependencies = [ "agent-client-protocol>=0.10", "httpx>=0.27.0", - # httpx-ws (transitive via the daytona SDK) needs anyio>=4.9 for - # AsyncContextManagerMixin; anyio 4.8 makes the daytona SDK un-importable. - "anyio>=4.9", + # httpx-ws (transitive via the daytona SDK) needs anyio>=4.10 for + # AsyncContextManagerMixin; older anyio makes the daytona SDK un-importable. + "anyio>=4.10", "pydantic>=2.7", "pyyaml>=6.0", "rich>=13.0", diff --git a/uv.lock b/uv.lock index 42924936a..437916c9b 100644 --- a/uv.lock +++ b/uv.lock @@ -416,7 +416,7 @@ sandbox-modal = [ requires-dist = [ { name = "agent-client-protocol", specifier = ">=0.10" }, { name = "anthropic", marker = "extra == 'judge'", specifier = ">=0.40" }, - { name = "anyio", specifier = ">=4.9" }, + { name = "anyio", specifier = ">=4.10" }, { name = "boto3", marker = "extra == 'bedrock'", specifier = ">=1.40" }, { name = "cua-sandbox", marker = "python_full_version < '3.14' and extra == 'sandbox-cua'", specifier = ">=0.1.16" }, { name = "cua-train", marker = "extra == 'sandbox-cua-cloud'", specifier = ">=0.1.0", index = "https://wheels.cua.ai/simple/" },