Anveld Docs
Reference

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, and action
  • Core functions like train() and deploy()
  • Immutable data primitives: Observation, Action, and Batch
  • The 7 core protocols: Policy, StochasticPolicy, StatefulPolicy, Trainer, DataSource, Environment, and MultiAgentEnvironment
  • Plugin discovery helpers such as get_trainer(), get_environment(), and discover_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

On this page