This release is a pre-release and may not be stable for production use.
asimov-protocol
The wire contract of the Asimov robot, as generated Python protobuf bindings: the
RobotCommand a controller sends, the RobotState the robot reports, and the messages
around them. Every Menlo component that talks to the robot imports this package, so one
process holds one set of descriptors.
pip install asimov-protocol
from asimov_protocol.v1 import asimov_command_pb2, asimov_common_pb2, asimov_state_pb2
cmd = asimov_command_pb2.RobotCommand()
cmd.mode = asimov_common_pb2.CONTROL_MODE_MOVE
payload = cmd.SerializeToString()
state = asimov_state_pb2.RobotState()
state.ParseFromString(payload_from_the_robot)
Ships .pyi stubs and py.typed, so mypy and pyright work out of the box. The only
dependency is protobuf.
Versioning
- MAJOR follows the wire directory:
1.xisasimov_protocol.v1. A breaking wire change is a newv2/and a2.0, never an edit tov1/. - MINOR is an additive schema change (a new field, message or enum value); PATCH is regenerated code or packaging with no schema change.
- Pin
asimov-protocol>=1.2,<2and you get every compatible release of the wire you speak.
Pre-releases use PEP 440 spelling (1.2.1rc2) and install only with pip install --pre
or an explicit pin.
Modules
| Module | What is in it |
|---|---|
asimov_common_pb2 |
ControlMode and the other shared enums |
asimov_command_pb2 |
RobotCommand: mode, policy velocity, joint setpoints |
asimov_state_pb2 |
RobotState: mode, joints, IMU, alerts, battery, protocol_version |
asimov_diagnostics_pb2 |
diagnostics frames |
edge_pb2 |
the edge's controller-facing observation lane (EdgeMessage, EdgeState) |
edge_cloud_pb2, edge_eol_pb2 |
edge to cloud, and end-of-line test |
Source
Generated from the .proto files in
menloresearch/asimov-protocol by that
repository's toolchain; do not edit the installed modules. Higher-level Python clients:
menlo-sdk drives the robot,
menlo-robot-sdk talks to the Robot Control Service.
MIT.
Release files for asimov-protocol 1.2.1rc2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| asimov_protocol-1.2.1rc2.tar.gz | 19.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| asimov_protocol-1.2.1rc2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 47.5 kB
Release files / asimov_protocol-1.2.1rc2.tar.gz
| Download URL | asimov_protocol-1.2.1rc2.tar.gz |
|---|---|
| Size | 19.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6759723c027d9ef46ec9300d34713596170e06b2bd2763d31b8ad7cf9cd20fd2
|
|
BLAKE2b-256 checksum How to use checksums |
b74260040f03117ee84437280144d0c38846b151cfa2eb1627626e43fa681a12
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.13
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 23, 2026.
Transparency logRelease files / asimov_protocol-1.2.1rc2-py3-none-any.whl
| Download URL | asimov_protocol-1.2.1rc2-py3-none-any.whl |
|---|---|
| Size | 28.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
94f59102a746c9f70a4f3ad97e431c3812db868f375ed3c1118d4c886e50bf9b
|
|
BLAKE2b-256 checksum How to use checksums |
e983293da68af965c5190755612351dd498b55ec1b4211f5ba0f519bac0ba293
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.13
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 23, 2026.
Transparency log