Overview of Runtime Providers
mainA Runtime Provider is responsible for starting an environment server and returning a base_url that an EnvClient uses to connect. OpenEnv uses a ContainerProvider contract, allowing you to switch between local environments (like Docker) and cloud sandboxes (like Daytona or Modal) with minimal code changes.
Available Providers
| Provider | Backend | Install Command |
|---|---|---|
LocalDockerProvider | Local Docker daemon | (core) |
DockerSwarmProvider | Docker Swarm cluster | (core) |
UVProvider | Local process via uv (no container) | (core) |
DaytonaProvider | Daytona cloud sandboxes | pip install openenv[daytona] |
ACASandboxProvider | Azure Container Apps Sandboxes | pip install openenv[aca] |
ModalProvider | Modal sandboxes | pip install openenv[modal] |
KubernetesProvider | Kubernetes cluster | (planned) |
Note: Cloud provider SDKs are optional extras and are imported lazily. Core providers are re-exported from the runtime package, while cloud providers must be imported from their specific modules.