Environment-as-a-service — a framework-agnostic layer that sits between training frameworks and datasets of environments.
camel-env models an environment as a triplet:
environment = (instruction, sandboxes, verification / reward_fn)
Everything is configurable via YAML and decoupled from any specific training framework, so you can train and evaluate agents through one unified interface.
⚠️ Status: early / alpha. The API is taking shape and modules are being filled in. See the roadmap and design.
- 🧩 Composable — plug in your own agents, reward functions, and sandboxes.
- 📝 Config-first — wire everything from YAML; no hardcoded choices.
- 🔌 Framework-agnostic — decoupled from any training framework; the environment knows nothing about your trainer.
- 🚀 Environment-as-service — expose environments over a service boundary.
camel-env uses uv for fast, reproducible
environments. Install uv first:
# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | shuv pip install camel-env # into the active environment
# or, in your own uv project:
uv add camel-envNot yet published to PyPI. Until the first release, install from source — see below.
git clone https://github.com/camel-ai/camel-env.git
cd camel-env
uv sync # creates .venv and installs the package + dev tools
uv run python -c "import camel_env; print(camel_env.__version__)"That's it — uv sync reads pyproject.toml, resolves
dependencies, creates a virtual environment in .venv/, and installs camel-env
in editable mode. No manual venv/pip steps needed.
🚧 The public API is under construction. This section will show how to define an environment from YAML, run an agent in it, and compute a reward. Track progress in the roadmap.
Coming soon.
Coming soon.
- Design — the core architecture and goals.
- Roadmap — what's planned and in what order.
- Contributing — dev setup, testing, and PR/merge rules.
brain/— long-term project memory (decisions, conventions, glossary).
uv sync # set up the dev environment
uv run pytest # run the test suite
uv run ruff check . && uv run ruff format . # lint + formatSee CONTRIBUTING.md for the full workflow.
Apache License 2.0 — see LICENSE.