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.
Example project metadata:
[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.

