OpenEnv  by meta-pytorch

Framework for agentic RL training environments

Created 1 month ago
531 stars

Top 59.6% on SourcePulse

GitHubView on GitHub
Project Summary

Summary

OpenEnv is an end-to-end framework for creating, deploying, and using isolated execution environments for agentic Reinforcement Learning (RL) training. It offers a standardized, Gymnasium-style API for seamless interaction with diverse environments, benefiting researchers and RL framework developers by simplifying environment integration and enabling richer, more secure, and easily deployable training setups.

How It Works

The framework standardizes environment interaction through simple step(), reset(), and state() Gymnasium-style APIs. Environments are deployed as isolated Docker containers, communicating via HTTP with a FastAPI server. A client-side HTTPEnvClient handles requests, abstracting away network communication and container management. This approach ensures environment isolation, security, and reproducibility while offering familiar deployment protocols.

Quick Start & Requirements

To use an environment, such as the EchoEnv, instantiate it via EchoEnv.from_docker_image("echo-env:latest") and interact using its Gymnasium-style methods.

  • Prerequisites: Python 3.11+, Docker Desktop or Engine, FastAPI (>=0.104.0), Uvicorn (>=0.24.0), Requests (>=2.25.0).
  • Links: Interactive Tutorial (not directly linked), examples directory.

Highlighted Details

  • Web Interface: An optional, conditionally enabled web interface provides interactive environment exploration with a two-pane layout, real-time WebSocket updates, and dynamic action forms.
  • Container Providers: Supports LocalDockerProvider for local development and plans for KubernetesProvider for cluster deployments.
  • Type Safety: Utilizes type-safe data structures (Action, Observation, State, StepResult) for robust and predictable data handling.
  • Tool Integrations: Designed for broad compatibility, with documented integrations for torchforge, TRL, Unsloth, SkyRL, and ART.

Maintenance & Community

OpenEnv is positioned as an open and community-centric project, actively welcoming contributions via its issue tracker. Notable supporters and contributors include Meta-PyTorch, Hugging Face, Patronus AI, Surge AI, and others. The API design is heavily inspired by the Gymnasium standard from the Farama Foundation.

Licensing & Compatibility

The project is licensed under the permissive BSD 3-Clause License. This license generally allows for commercial use and integration within closed-source projects without significant restrictions.

Limitations & Caveats

The project is explicitly marked as being in an "experimental stage," with users advised to expect bugs, incomplete features, and potential API changes in future releases. The Kubernetes container provider is listed as a future development.

Health Check
Last Commit

9 hours ago

Responsiveness

Inactive

Pull Requests (30d)
125
Issues (30d)
20
Star History
557 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.