Thanks for your interest! Contributions of all kinds are welcome — bug reports, robot backends, importers for training frameworks, doctor checks, and docs.
git clone https://github.com/Eximius-Labs/efferent.git
cd efferent
python -m venv .venv && source .venv/bin/activate # .venv\Scripts\activate on Windows
pip install -e .[dev]ruff check src tests # lint
ruff format --check src tests
pytest # full suite must pass- Add or extend a test for every behavior change. The test suite plants deliberate bugs (permuted joint orders, dead obs terms, spawn mistakes) and asserts they are caught — new failure modes you fix should get the same treatment.
- Keep the safety invariants: descriptor limits are authoritative, binding is by name, and a startup validation failure must never be downgraded to a warning.
Implement the 5-method ABI in efferent/backends/ (see mock.py for the
minimal shape, mujoco_backend.py for a full one) and register it under the
efferent.backends entry-point group — vendor backends can live in separate
pip packages (efferent-<vendor>). Please include a sim-to-sim or dry-run
validation script under examples/.
Include the output of efferent doctor <your policy> and, if the issue is a
runtime behavior, the manifest + descriptor pair (redact what you must).