Buckets:

hf-doc-build/doc-dev / openenv /pr_726 /en /contributing.md
|
download
raw
3.08 kB
# Contributing to OpenEnv
We welcome contributions from the community! OpenEnv is an open-source project and we're excited to have you join us.
## Ways to Contribute
### ๐Ÿ› Report Bugs
Found a bug? Please [open an issue](https://github.com/huggingface/OpenEnv/issues/new) with:
- A clear description of the problem
- Steps to reproduce
- Expected vs actual behavior
- Your environment (Python version, OS, etc.)
### ๐Ÿ’ก Suggest Features
Have an idea? Open a [feature request](https://github.com/huggingface/OpenEnv/issues/new) describing:
- The problem you're trying to solve
- Your proposed solution
- Any alternatives you've considered
### ๐ŸŒ Add an Environment
One of the best ways to contribute is to add a new environment! See the [Building Environments](guides/first-environment) guide to get started.
### โ˜๏ธ Add a Runtime Provider
To support a new runtime (a cloud sandbox, a scheduler, etc.), subclass
`ContainerProvider` and follow the existing providers (`DaytonaProvider`,
`ACASandboxProvider`) as references. To keep it consistent:
- Put the SDK in a named `[project.optional-dependencies]` extra in `pyproject.toml` and import it lazily, so core OpenEnv stays SDK-free.
- Add an `[[autodoc]]` entry under "Container providers" in `docs/source/reference/core.md`.
- In the [Runtime Providers guide](guides/runtime-providers), add a row to the table and a "Per-provider setup" subsection (kept in alphabetical order).
- Add a test (the providers under `tests/test_core/` inject a fake SDK, so no network is needed).
See the Cloud Sandbox Providers amendment proposed in RFC 002 for the
provider-neutral invariants (direct base URL, WebSocket conformance, network posture).
### ๐Ÿ“ Improve Documentation
Documentation improvements are always welcome:
- Fix typos or unclear explanations
- Add examples
- Write tutorials
- Translate content
### ๐Ÿ”ง Submit Code
1. Fork the repository
2. Create a feature branch: `git checkout -b feature/my-feature`
3. Make your changes
4. Run tests: `pytest`
5. Submit a pull request
## Development Setup
```bash
# Clone your fork
git clone https://github.com/YOUR_USERNAME/OpenEnv.git
cd OpenEnv
# Install in development mode
pip install -e ".[dev]"
# Run tests
pytest
# Run linting
ruff check .
```
## Code Style
- We use [Ruff](https://github.com/astral-sh/ruff) for linting and formatting
- Write docstrings for public functions
- Add type hints
- Write tests for new functionality
## Coordination
OpenEnv is openly governed by a technical committee that includes Meta-PyTorch, Reflection, Unsloth, Modal, Prime Intellect, Nvidia, Mercor, Fleet AI, Microsoft, Hugging Face, and RadixArk. The committee coordinates project direction, major technical decisions, RFCs, and release planning in public.
Use the [OpenEnv repository](https://github.com/huggingface/OpenEnv) to file
issues, discuss substantial changes, and submit pull requests.
## License
By contributing, you agree that your contributions will be licensed under the same license as the project.
Thank you for contributing! ๐Ÿ™

Xet Storage Details

Size:
3.08 kB
ยท
Xet hash:
bf3832919417956ded20d71341d1923e8f5e3126e3e42eaaef8100a30f2de532

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.