You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/source/contributing.md
+14Lines changed: 14 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -25,6 +25,20 @@ Have an idea? Open a [feature request](https://github.com/huggingface/OpenEnv/is
25
25
26
26
One of the best ways to contribute is to add a new environment! See the [Building Environments](guides/first-environment.md) guide to get started.
27
27
28
+
### ☁️ Add a Runtime Provider
29
+
30
+
To support a new runtime (a cloud sandbox, a scheduler, etc.), subclass
31
+
`ContainerProvider` and follow the existing providers (`DaytonaProvider`,
32
+
`ACASandboxProvider`) as references. To keep it consistent:
33
+
34
+
- Put the SDK in a named `[project.optional-dependencies]` extra in `pyproject.toml` and import it lazily, so core OpenEnv stays SDK-free.
35
+
- Add an `[[autodoc]]` entry under "Container providers" in `docs/source/reference/core.md`.
36
+
- In the [Runtime Providers guide](guides/runtime-providers.md), add a row to the table and a "Per-provider setup" subsection (kept in alphabetical order).
37
+
- Add a test (the providers under `tests/test_core/` inject a fake SDK, so no network is needed).
38
+
39
+
See the Cloud Sandbox Providers amendment proposed in RFC 002 for the
40
+
provider-neutral invariants (direct base URL, WebSocket conformance, network posture).
0 commit comments