Vega
Capability Development

Distribution

Distribute a Capability as a versioned Python package with its manifest, schemas, configuration defaults, and documentation. The Runtime validates the package before use; deployment owners decide where packages are installed and which are enabled.

Concepts

  • Distribution version: the Python package release version.
  • Manifest version: metadata.version for the Capability.
  • Action version: version of each public Action contract.
  • SDK range: vega.sdkVersion, which bounds compatible SDK releases.
  • Compatibility declaration: supported robot and compute environment claims.

Package structure and versioning

Keep pyproject.toml, capability.yaml, Action schemas, and source aligned. Use semantic versions. Increase an Action version when callers must distinguish changed schemas or semantics. While the SDK is 0.x, declare a bounded range, for example >=0.1.0,<0.2.0.

Source, schemas, manifest
vega-capability validate
Test suite
Build distribution
Approved registry
Deployment install
Runtime validation & load

Example project metadata:

toml
[project]
name = "example-echo-capability"
version = "1.0.0"
requires-python = ">=3.12"
dependencies = ["vega-capability-sdk>=0.1.0,<0.2.0"]

Publishing and installation

Build and publish through your organization's approved Python package registry. Publish only after validation, unit tests, conformance tests, dependency and license review, and controlled integration testing. Install the SDK first, then the Capability package and its Capability-owned optional dependencies.

Do not assume pip install alone registers, enables, initializes, or verifies hardware readiness. Those are deployment and Runtime operations.

Updating, compatibility, and deprecation

Test updates against the intended SDK range and declared platform. Keep package, manifest, and Action versions coherent. Document breaking behavior, migration, and rollback before release. Do not silently remove an Action or change its meaning under the same Action version.