Anveld Docs
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.

Use This Page With

On this page