flyto-modules-robotics
Optional robot-control modules for Flyto2 workflows. Install this only on installations that drive a robot:
pip install flyto-modules-robotics
Without it, Flyto2 is pure software automation. With it, the workflow builder gains three steps — move, turn and stop — so a command like "advance forty centimetres" is authored on the canvas like any other workflow.
Why this is a separate package
flyto-core is the software execution engine and does not know what a robot is.
This package is discovered through flyto-core's existing
flyto.modules entry point, so hardware arrives as an install decision rather
than as a dependency everybody carries.
What a step actually does
A step builds a flyto.robotics.plan.v1 and posts it to the robot's own gateway
over loopback. It never names a machine: the job was already dispatched to a
device, so the module is running on the robot it is driving. That is what lets
five identical robots share one authored workflow instead of five copies.
The gateway — not this package — owns safety. It validates the plan against a frozen capability registry, refuses one that moves without ending in a safe stop, runs one mission at a time, and still sends the final zero-velocity stop if the caller dies mid-mission. Running out of process is the whole point.
Configuration
| Variable | Default | Meaning |
|---|---|---|
FLYTO_ROBOTICS_GATEWAY_URL |
http://127.0.0.1:8766 |
the local robot gateway |
FLYTO_ROBOTICS_DELIVERY_TOKEN |
— | bearer token, required |
FLYTO_ROBOTICS_ROBOT_ID |
— | must match the gateway's job |
Releasing
Published the way flyto-core is: push a v* tag and the workflow builds,
tests the built wheel, and uploads through PyPI Trusted Publishing. No token
lives in this repository.
git tag v0.1.0 && git push origin v0.1.0
The first release needs a pending publisher on PyPI, because Trusted Publishing has nothing to trust until then. The project is not created by hand: a pending publisher is what creates it, on the first successful upload.
The form lives under the account sidebar rather than a project's, since the project does not exist yet — https://pypi.org/manage/account/publishing/, "Add a new pending publisher":
| Field | Value |
|---|---|
| PyPI project name | flyto-modules-robotics |
| Owner | flytohub |
| Repository name | flyto-modules-robotics |
| Workflow name | publish-pypi.yml |
| Environment name | pypi |
workflow_dispatch publishes to TestPyPI instead, which needs the same entry
on test.pypi.org.
A pending publisher does not reserve the name — it only becomes a project on the first upload that uses it.
Metadata
Release files for flyto-modules-robotics 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| flyto_modules_robotics-0.1.1.tar.gz | 22.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| flyto_modules_robotics-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 40.8 kB
Release files / flyto_modules_robotics-0.1.1.tar.gz
| Download URL | flyto_modules_robotics-0.1.1.tar.gz |
|---|---|
| Size | 22.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4c88f7cf13aa9497a13b494c6bd2ded1a377ea30a0ab65b8c8add59d4b121cd4
|
|
BLAKE2b-256 checksum How to use checksums |
aca3f6aa9226b1c378eed8869613e5b8107f290c4ad884344e853638d2bf27c3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Aug 7, 2026.
Transparency logRelease files / flyto_modules_robotics-0.1.1-py3-none-any.whl
| Download URL | flyto_modules_robotics-0.1.1-py3-none-any.whl |
|---|---|
| Size | 17.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
379e44b3dda0a955efa12a1914496defc33a163560706b07ab38c4b0c4dd078a
|
|
BLAKE2b-256 checksum How to use checksums |
830770fa790f7d04e405e83f5b1ed43037a238cf45341d39094a65efddefaa4f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Aug 7, 2026.
Transparency log