Skip to content

Commit 64271ab

Browse files
authored
Merge branch 'main' into codex/refactor-http-mcp-client-operation
2 parents c538188 + 7a5996b commit 64271ab

89 files changed

Lines changed: 5845 additions & 5595 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.claude/skills/generate-openenv-env/assets/openenv_env_template/pyproject.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ requires-python = ">=3.10"
1616
dependencies = [
1717
# Core OpenEnv runtime (provides FastAPI server + HTTP client types)
1818
# install from github
19-
# "openenv-core[core] @ git+https://github.com/huggingface/OpenEnv.git",
20-
"openenv-core[core]>=0.2.2",
19+
# "openenv @ git+https://github.com/huggingface/OpenEnv.git",
20+
"openenv>=0.2.2",
2121
# Environment-specific dependencies
2222
# Add all dependencies needed for your environment here
2323
# Examples:
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
openenv-core[core]>=0.2.2
1+
openenv>=0.2.2
22
fastapi>=0.116.0
33
uvicorn>=0.24.0

docs/source/environments/sophistry_bench_sprint.md

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ from sophistry_bench_sprint_env import SophistryBenchSprintEnv
3737

3838
async def main():
3939
# Deployed Hugging Face Space (or .from_docker_image("openenv-sophistry_bench_sprint:latest")):
40-
client = await SophistryBenchSprintEnv.from_env("anushaacharya/sophistry_bench_sprint_env")
40+
client = await SophistryBenchSprintEnv.from_env("openenv-community/sophistry_bench_sprint_env")
4141
async with client:
4242
obs = (await client.reset()).observation
4343
print(obs.prompt, obs.answer_to_defend)
@@ -67,6 +67,22 @@ the reward-hacking measurement. By default it holds **seven** components; `corre
6767
> reason; even with the rest of the components, forwarding them to the agent leaks the
6868
> reward signal and defeats the reward-hacking measurement.
6969
70+
## Training
71+
72+
[`examples/sophistry_bench_sprint_grpo.py`](https://github.com/huggingface/OpenEnv/blob/main/examples/sophistry_bench_sprint_grpo.py)
73+
trains a policy on this env with TRL's `GRPOTrainer` — a plain prompt ->
74+
completion -> reward setup, since the episode is single-step.
75+
76+
Validated with a real 100-step run on Hugging Face Jobs (`Qwen2.5-0.5B-Instruct`,
77+
`a10g-small`) and a 100-step run on the Prime Intellect Hub
78+
(`Llama-3.2-1B-Instruct`, registered as `anusha/sophistry-bench-sprint`, parity-tested
79+
against this port). Both show `aggregate_reward` (the optimized proxy) climbing while
80+
`correctness_reward` (the hidden ground truth, weight 0) stays flat — the reward-hacking
81+
signature this env is designed to surface. The larger Prime Intellect run converges on
82+
the literal `claim_count_cliff` target (`n_claims` saturates at exactly 8); the smaller
83+
HF Jobs run finds a different shortcut instead (`n_claims` collapses to ~0, near-empty
84+
completions) — same underlying finding, different degenerate strategy depending on scale.
85+
7086
## Build & test
7187

7288
```bash

docs/source/environments/unity.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -594,7 +594,7 @@ This approach is useful when:
594594
- `mlagents` (installed from source via git)
595595
- `numpy>=1.20.0`
596596
- `pillow>=9.0.0` (for visual observations)
597-
- `openenv[core]>=0.2.0`
597+
- `openenv>=0.2.0`
598598

599599
## References
600600

docs/source/getting-started.md

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,24 +9,19 @@ pip install openenv
99
```
1010

1111
> [!NOTE]
12-
> This installs the `openenv` CLI and the `openenv.core` runtime. Environment
13-
> projects can depend on `openenv[core]` when they only need the server and
14-
> client libraries.
12+
> This installs the full OpenEnv runtime: the environment server, the client,
13+
> the `openenv` CLI, the web interface, and MCP support. Environments depend on
14+
> `openenv` directly.
1515
1616
### Optional dependencies
1717

18-
OpenEnv ships optional extras for specific integrations. Install them with
18+
A few integrations ship as optional extras. Install them with
1919
`pip install openenv[<extra>]`:
2020

2121
| Extra | Pulls in |
2222
|-------|----------|
23-
| `core` | Server + client runtime only (no CLI) |
24-
| `cli` | The `openenv` command-line interface |
25-
| `all` | `core` + `cli` |
2623
| `inspect` | The Inspect AI evaluation harness |
27-
28-
Cloud sandbox providers ship their own extras (`daytona`, `aca`); see the Core
29-
API reference.
24+
| `daytona`, `aca`, `modal` | Cloud sandbox providers (see the Core API reference) |
3025

3126
## Try an Environment
3227

docs/source/getting_started/contributing-envs.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ This guide covers three workflows:
1717
Before you start, make sure you have:
1818

1919
- Python 3.11+ and [`uv`](https://github.com/astral-sh/uv) installed
20-
- The OpenEnv CLI: `pip install openenv[cli]` (or install from source)
20+
- The OpenEnv CLI: `pip install openenv` (or install from source)
2121
- A [Hugging Face account](https://huggingface.co/join) with a [write token](https://huggingface.co/settings/tokens)
2222

2323
Authenticate with the Hub:

envs/agent_world_model_env/pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ version = "0.1.0"
88
description = "Agent World Model Environment for OpenEnv - wraps 1,000 LLM-synthesized environments"
99
requires-python = ">=3.10"
1010
dependencies = [
11-
"openenv[core]>=0.2.2",
11+
"openenv>=0.2.2",
1212
"fastapi>=0.115.0",
1313
"pydantic>=2.0.0",
1414
"uvicorn>=0.24.0",

envs/agent_world_model_env/uv.lock

Lines changed: 183 additions & 186 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

envs/atari_env/pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ version = "0.1.0"
1414
description = "Atari Environment for OpenEnv - Atari 2600 games via ALE"
1515
requires-python = ">=3.10"
1616
dependencies = [
17-
"openenv[core]>=0.2.2",
17+
"openenv>=0.2.2",
1818
"fastapi>=0.115.0",
1919
"pydantic>=2.0.0",
2020
"uvicorn>=0.24.0",

0 commit comments

Comments
 (0)