diff --git a/environments/__init__.py b/environments/__init__.py index f0c959cae..282bc06b0 100644 --- a/environments/__init__.py +++ b/environments/__init__.py @@ -18,9 +18,14 @@ Benchmarks (eval-only): - benchmarks/terminalbench_2/: Terminal-Bench 2.0 evaluation """ -from environments.agent_loop import AgentResult, HermesAgentLoop -from environments.tool_context import ToolContext -from environments.hermes_base_env import HermesAgentBaseEnv, HermesAgentEnvConfig +try: + from environments.agent_loop import AgentResult, HermesAgentLoop + from environments.tool_context import ToolContext + from environments.hermes_base_env import HermesAgentBaseEnv, HermesAgentEnvConfig +except ImportError: + # atroposlib not installed — environments are unavailable but + # submodules like tool_call_parsers can still be imported directly. + pass __all__ = [ "AgentResult", diff --git a/tests/test_agent_loop.py b/tests/test_agent_loop.py index 22629b88e..bb0ccd069 100644 --- a/tests/test_agent_loop.py +++ b/tests/test_agent_loop.py @@ -18,13 +18,16 @@ import pytest # Ensure repo root is importable sys.path.insert(0, str(Path(__file__).resolve().parent.parent)) -from environments.agent_loop import ( - AgentResult, - HermesAgentLoop, - ToolError, - _extract_reasoning_from_message, - resize_tool_pool, -) +try: + from environments.agent_loop import ( + AgentResult, + HermesAgentLoop, + ToolError, + _extract_reasoning_from_message, + resize_tool_pool, + ) +except ImportError: + pytest.skip("atroposlib not installed", allow_module_level=True) # ─── Mock server infrastructure ───────────────────────────────────────── diff --git a/tests/test_managed_server_tool_support.py b/tests/test_managed_server_tool_support.py index 00b0e94f0..2ab6abb08 100644 --- a/tests/test_managed_server_tool_support.py +++ b/tests/test_managed_server_tool_support.py @@ -19,6 +19,11 @@ import pytest sys.path.insert(0, str(Path(__file__).resolve().parent.parent)) +try: + import atroposlib # noqa: F401 +except ImportError: + pytest.skip("atroposlib not installed", allow_module_level=True) + class TestManagedServerAPI: """Test that ManagedServer's API matches what hermes-agent expects.""" diff --git a/tests/test_tool_call_parsers.py b/tests/test_tool_call_parsers.py index 6a07a2267..9f284daf7 100644 --- a/tests/test_tool_call_parsers.py +++ b/tests/test_tool_call_parsers.py @@ -14,12 +14,15 @@ import pytest # Ensure repo root is importable sys.path.insert(0, str(Path(__file__).resolve().parent.parent)) -from environments.tool_call_parsers import ( - ParseResult, - ToolCallParser, - get_parser, - list_parsers, -) +try: + from environments.tool_call_parsers import ( + ParseResult, + ToolCallParser, + get_parser, + list_parsers, + ) +except ImportError: + pytest.skip("atroposlib not installed", allow_module_level=True) # ─── Registry tests ─────────────────────────────────────────────────────