Reference
Plugin System
How Anveld keeps the core SDK small while letting algorithms, simulators, robots, and hardware ship independently.
The plugin model is the main architectural boundary in Anveld.
Philosophy
The SDK owns:
- Protocol definitions
- Shared data primitives
- Infrastructure for training, deployment, and runtime support
Plugins own:
- Algorithms and trainers
- Simulation backends
- Policies and datasets
- Hardware platforms, bridges, and sensors
Plugin Categories
Current plugin groups include:
- Policies
- Trainers
- Environments
- Datasets
The wider repository also contains official plugins for MuJoCo, Isaac Sim, Jetson, ROS 2, RealSense, Franka, Universal Robots, PPO, SAC, Dreamer, VLA, and Nebula.
Entry Point Discovery
Plugins register through Python entry points in pyproject.toml.
[project.entry-points."anveld.trainers"]
ppo = "anveld_ppo:PPOTrainer"Once installed, the core registry discovers them automatically.
from anveld import get_trainer
trainer_cls = get_trainer("ppo")Typical Plugin Layout
plugins/<name>/
├── moon.yml
├── pyproject.toml
├── src/anveld_<name>/
└── tests/Why This Matters
This structure keeps the core SDK stable while letting integrations evolve at different speeds. Robotics teams do not all need the same simulator, robot, or algorithm stack, so the framework should not force a monolith.