OpenEnv documentation

Coding Tools Environment

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v0.4.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Coding Tools Environment

coding_tools_env is an E2B-backed multi-tool coding environment with explicit filesystem and shell tools. The tool surface is modeled after SETA.

Each episode creates a fresh E2B sandbox. Reset accepts setup and verify commands. Verify commands are used by submit_solution.

Tools

  • bash(command, timeout=30)
  • read(file_path, offset=None, limit=None)
  • write(file_path, content)
  • edit(file_path, old_string, new_string, replace_all=False)
  • multi_edit(file_path, edits)
  • glob(pattern, path=None)
  • grep(pattern, path=None, include=None)
  • ls(path=".", ignore=None)
  • todo_write(todos)
  • submit_solution()

Quick Start

from coding_tools_env import CodingToolsEnv

with CodingToolsEnv(base_url="http://localhost:8000").sync() as env:
    env.reset(
        setup=["mkdir -p /home/user/work"],
        verify=["test -f /home/user/work/answer.txt"],
    )
    print(env.call_tool("write", file_path="/home/user/work/answer.txt", content="done\n"))
    print(env.call_tool("submit_solution"))

Local Server

cd envs/coding_tools_env
E2B_API_KEY=e2b_... uv run --project . server

Docker

cd envs/coding_tools_env
openenv build -t coding-tools-env
docker run -p 8000:8000 -e E2B_API_KEY=e2b_... coding-tools-env

Configuration

  • E2B_API_KEY: required when resetting an episode.
  • MAX_CONCURRENT_ENVS: max concurrent sessions (default 4).
Update on GitHub