Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Releases: huggingface/OpenEnv

v0.3.1

02 Jun 08:47
@github-actions github-actions
7449c5d
This commit was created on GitHub.com and signed with GitHub’s verified signature.
GPG key ID: B5690EEEBB952194
Verified
Learn about vigilant mode.

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.3.0...v0.3.1

Assets 4
Loading
Isaacreen and Brookern reacted with thumbs up emoji Isaacreen reacted with hooray emoji Isaacreen and Brookern reacted with heart emoji Isaacreen and Brookern reacted with rocket emoji Isaacreen and Brookern reacted with eyes emoji
2 people reacted

Release v0.3.0

11 May 11:37
@burtenshaw burtenshaw
83711aa
This commit was created on GitHub.com and signed with GitHub’s verified signature.
GPG key ID: B5690EEEBB952194
Verified
Learn about vigilant mode.

Choose a tag to compare

OpenEnv 0.3.0

Core harness runtime

  • Add the new session harness runtime and collection pipeline for OpenEnv environments.
  • Add harness adapters and examples for BrowserGym, OpenSpiel, and Reasoning Gym workflows.
  • Add the openenv collect CLI path, shared collection helpers, and tests for rollout collection.

New environments

  • Add Agent World Model (AWM-1K), a synthetic agentic environment suite with MCP tools, SQLite-backed state, verification logic, and concurrent isolated sessions.
  • Add E2B-backed coding environments: jupyter_env, terminus_env, and coding_tools_env.
  • Add Gradio interfaces and lifecycle controls for the new coding environments.

Deployment and CLI

  • Extend openenv push with runtime variables and secrets via -e/--env-var, --secret, and optional variables: entries in openenv.yaml.
  • Add --hardware/-H to choose Hugging Face Space hardware at deploy time.
  • Add --count/-n to deploy multiple Space replicas with suffixed repo IDs.
  • Accept bare repository names in openenv push --repo-id.
  • Improve validation for default openenv init projects.

Web UI and environment fixes

  • Let environments control their Gradio tab layout.
  • Improve REPL environment onboarding and fix stale llm_model caching across resets.
  • Improve concurrent session behavior across BrowserGym, Echo, OpenSpiel, Reasoning Gym, and TextArena.
  • Fix CARLA done propagation and Docker environment-variable leakage.
  • Fix TBench2 reward evaluation behavior.
  • Standardize and harden Hugging Face canonical Gradio deployment tooling.

Documentation and examples

  • Restructure the docs navigation after the Sphinx migration and remove legacy MkDocs artifacts.
  • Add tutorials for BrowserGym harness usage, SFT warmup, MCP environments, Rubrics, Inspect AI evaluation, and end-to-end workflows.
  • Add deployment and environment-builder guide updates for the current openenv push workflow.
  • Add sync_env_docs.py checks to keep environment documentation aligned.

Maintenance

  • Update CI workflow actions and dependency groups.
  • Consolidate Dependabot behavior around root-level updates.
  • Refresh dependencies across environment lockfiles, including FastMCP, Python multipart, Authlib, Cryptography, Pillow, Pytest, and related environment-specific packages.

Full changelog: v0.2.3...v0.3.0

Loading
itzzSPcoder and ashwiththota reacted with heart emoji
2 people reacted

Release v0.2.3

28 Mar 18:56
@burtenshaw burtenshaw

Choose a tag to compare

OpenEnv 0.2.3

Core web fixes

  • redirect GET / and GET /web to /web/ for Gradio-backed Spaces
  • return 409 from GET /web/state before reset instead of surfacing an internal error
  • accept optional reset kwargs on POST /web/reset

Hub rollout tooling

  • add the shared gradio_web probe and expand repl_web for root-path validation
  • default canonical collection discovery to first-party unsuffixed spaces
  • keep repo-id override / reconcile support for canonical promotion and collection cleanup

REPL UI

  • keep the REPL-specific Gradio control panel and related server compatibility fixes for Hub deployment
Loading

OpenEnv v0.2.2 Release

20 Mar 17:52
@burtenshaw burtenshaw
7fdccfa
This commit was created on GitHub.com and signed with GitHub’s verified signature.
GPG key ID: B5690EEEBB952194
Verified
Learn about vigilant mode.

Choose a tag to compare

Core Features

  • Async-first environment clients with persistent WebSocket sessions, plus a sync wrapper for non-async code. The core loop is standardized around reset(), step(), and state().
  • Rubric/evaluation support for RL and agentic evaluation, including delayed rewards, EvalHarness, Inspect/LightEval-style harnesses, and LLM-as-a-judge scoring via LLMJudge.
  • Auto-discovery API via AutoEnv and AutoAction, so callers can load envs by short name, package-name variant, or Hub repo ID instead of hardcoding imports.
  • MCP-native environments via MCPEnvironment, including tool discovery, tool calls through the env API, FastMCP 2.x/3.x compatibility, reserved-name validation, persistent MCP sessions, production vs simulation modes, and code mode support.
  • Built-in web UI at /web for interactive env inspection, with dynamic forms, action history, and live state updates.
  • Creator CLI bundled in openenv-core: openenv init, build, validate, push, fork, serve, and skills.
  • One-command Hugging Face publishing flow for env authors, plus fork/duplicate support for existing Spaces and custom registry pushes.

More Features

  • Generic client support via GenericEnvClient / GenericAction for raw-dict access when you do not want to install env-specific code or trust remote code locally.
  • Typed environment contracts built on Pydantic models for Action, Observation, State, and StepResult, including parameterized reset/step support.
  • Multiple connection modes for the same env client: connect to a live URL, launch from a Docker image, or run a Hugging Face Space locally with uv.
  • Runtime/provider abstraction for local execution: LocalDockerProvider, UVProvider, DockerSwarmProvider, Daytona support, and a Kubernetes-shaped extension point.
  • Multi-mode deployment validation in the CLI, including local structure checks and live endpoint/runtime checks for deployed envs.
  • One-command Hugging Face publishing flow for env authors, plus fork/duplicate support for existing Spaces and custom registry pushes.
  • Release/deploy infrastructure for env fleets, including versioned Hub tags, collection management, per-env deployment scripts, and endpoint verification tooling.
  • The package is now a real distributable core runtime, openenv-core, with the CLI included rather than a loose repo-only developer tool.
  • The framework is explicitly agent-facing, with Hub-hosted envs, MCP tools, sync/async client ergonomics, evaluation hooks, and RL-platform integration docs for TRL, Torchforge, Oumi, ART, and others.

Example Snippets

Async env usage plus sync wrapper

import asyncio
from echo_env import EchoAction, EchoEnv
async def main():
 async with EchoEnv(base_url="https://openenv-echo-env.hf.space") as env:
 await env.reset()
 result = await env.step(EchoAction(message="Hello, OpenEnv!"))
 print(result.observation.echoed_message)
asyncio.run(main())
with EchoEnv(base_url="https://openenv-echo-env.hf.space").sync() as env:
 env.reset()
 print(env.step(EchoAction(message="sync call")).observation.echoed_message)

Auto-discovery instead of manual imports

from openenv import AutoEnv, AutoAction
env = AutoEnv.from_env("coding-env")
CodeAction = AutoAction.from_env("coding-env")
with env.sync() as client:
 client.reset()
 result = client.step(CodeAction(code="print('Hello from AutoEnv')"))
 print(result.observation)

Run from Hub Docker or locally with uv

from echo_env import EchoEnv
env = await EchoEnv.from_env("openenv/echo_env") # pull HF Docker image
local = await EchoEnv.from_env(
 "openenv/echo_env",
 use_docker=False,
 project_path="/path/to/local/echo_env",
)

CLI for creation, validation, publishing, and forking

openenv init my_env
cd my_env
openenv validate --verbose
openenv push --repo-id my-org/my-env --private
openenv fork openenv/echo_env --repo-id myuser/echo-env

MCP-style tool environments

from openenv.core.env_server import ListToolsAction, CallToolAction
obs = env.step(ListToolsAction())
print([tool.name for tool in obs.tools])
obs = env.step(CallToolAction(tool_name="echo", arguments={"message": "hi"}))
print(obs.result)

LLM-based rubric scoring

from openenv.core.rubrics import LLMJudge
judge = LLMJudge(
 prompt_template="Rate this action:\n{action}\n\nGiven observation:\n{observation}\nScore 0-1:",
 client=client,
)
score = await judge(action, observation)

Built-in web UI for local envs

from openenv.core.env_server import create_web_interface_app
app = create_web_interface_app(env, YourAction, YourObservation)
# browse http://localhost:8000/web

What's Changed

Read more

Contributors

zkwentz, kashif, and 56 other contributors
Loading
kashif and ggbetz reacted with hooray emoji
2 people reacted

OpenEnv v0.2.1 Release

04 Feb 10:25
@burtenshaw burtenshaw

Choose a tag to compare

OpenEnv v0.2.1 Release Notes

Release Commit: c2997e8f78588a6f0657950457c57725d1750fe8
Date: January 31, 2026

Highlights

This release introduces MCP (Model Context Protocol) support and significant improvements to the development workflow with TDD tooling.

New Features

MCP Support (Phase 1)

  • Added Model Context Protocol support for agent-environment communication (#224)
  • Refactored EchoEnv to use inline FastMCP tool pattern (#321)
  • Addressed review feedback for MCP implementation (#312)

RFC 004: Rubrics & Delayed Rewards

  • Added RFC 004 defining the Rubrics specification (#237)
  • Implemented delayed rewards support for trajectory-based scoring (#337)

TDD Workflow & Developer Tooling

  • Added comprehensive TDD workflow with git hooks, agents, and skills (#311)
  • Added .worktrees/ to .gitignore for isolated development (#330)

Bug Fixes & Improvements

  • Fixed reward metadata handling in coding environment (#305)
  • Fixed openenv-core dependency issues in build process
  • Fixed deprecation warnings during package builds
  • Fixed flat copy of TOML file in build process
  • Updated EchoEnv hub reference in quickstart guide (#317)

Documentation

  • Updated T2Bench documentation and deployment instructions

Dependencies

  • Bumped urllib3 to 2.6.3 in snake_env and textarena_env
  • Bumped filelock to 3.20.3 in textarena_env

Repository Maintenance

  • Unified line endings to LF across the repository (#350)
  • Added Scaler AI Labs to supporter list in README

Upgrading

pip install --upgrade openenv-core==0.2.1

What's Changed

New Contributors

Full Changelog: https://github.com/meta-pytorch/OpenEnv/commits/v0.2.1

AltStyle によって変換されたページ (->オリジナル) /