SDK Reference
The Anveld SDK surface: protocols, data primitives, plugin helpers, environment wrappers, training utilities, and deployment infrastructure.
The SDK is intentionally small. The design goal is stable protocols plus infrastructure, not a giant algorithm bundle.
Core Exports
The main package exports:
- Decorators such as
Robot,Drone,Sensor, andaction - Core functions like
train()anddeploy() - Immutable data primitives:
Observation,Action, andBatch - The 7 core protocols:
Policy,StochasticPolicy,StatefulPolicy,Trainer,DataSource,Environment, andMultiAgentEnvironment - Plugin discovery helpers such as
get_trainer(),get_environment(), anddiscover_all()
Data Primitives
One important constraint in the current SDK is that Observation and Action use dict-based constructors.
from anveld import Observation, Action
obs = Observation(data={"image": frame, "instruction": "pick up block"})
action = Action(data={"continuous": [0.1, 0.2, 0.3]})Do not use keyword arguments for the fields directly.
Observation, Action, and Batch are frozen dataclasses with slots. That immutability is deliberate for distributed workloads and safer handoff between workers.
Protocol Model
Anveld's core abstraction is "protocols, not prescriptions."
- Policies describe how inference happens.
- Trainers describe how optimization happens.
- Environments describe how interaction happens.
- Data sources describe how data is fed into a pipeline.
Everything else composes around those interfaces.
Infrastructure Included in the SDK
The SDK also includes supporting infrastructure rather than leaving every team to rebuild it:
- Experiment tracking and callbacks
- Local and remote cluster helpers
- Deployment packaging and manifests
- Model conversion utilities for ONNX and TensorRT
- Security and runtime environment validation
- Studio logging and gRPC streaming support