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.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file flyto_modules_robotics-0.1.0.tar.gz.
File metadata
- Download URL: flyto_modules_robotics-0.1.0.tar.gz
- Upload date:
- Size: 22.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
018abacf307693615d8d3fe60e9e506982a07cf024bd38788737d1361b6b6d3d
|
|
| MD5 |
63c90b7ba6f819bb4530eaf9e66cd89c
|
|
| BLAKE2b-256 |
f29755d14f1b2b2cce2313c636dfd96f1101c5edf849fd9446287200d67ff688
|
Provenance
The following attestation bundles were made for flyto_modules_robotics-0.1.0.tar.gz:
Publisher:
publish-pypi.yml on flytohub/flyto-modules-robotics
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
flyto_modules_robotics-0.1.0.tar.gz -
Subject digest:
018abacf307693615d8d3fe60e9e506982a07cf024bd38788737d1361b6b6d3d - Sigstore transparency entry: 2371726310
- Sigstore integration time:
-
Permalink:
flytohub/flyto-modules-robotics@3eef1ceba1e54bbacb5e494d2ef2c6e066a84d61 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/flytohub
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@3eef1ceba1e54bbacb5e494d2ef2c6e066a84d61 -
Trigger Event:
push
-
Statement type:
File details
Details for the file flyto_modules_robotics-0.1.0-py3-none-any.whl.
File metadata
- Download URL: flyto_modules_robotics-0.1.0-py3-none-any.whl
- Upload date:
- Size: 17.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
956cb8322ec5f796c4f57d0bfb0e87a65e53dd1e1a95bc565f4198dffb4324af
|
|
| MD5 |
9c55482dabe8f1576cd6f9350d21f060
|
|
| BLAKE2b-256 |
43b385ec31029388a7240a8244d729b4ec88599d466802e628c8f398d9454027
|
Provenance
The following attestation bundles were made for flyto_modules_robotics-0.1.0-py3-none-any.whl:
Publisher:
publish-pypi.yml on flytohub/flyto-modules-robotics
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
flyto_modules_robotics-0.1.0-py3-none-any.whl -
Subject digest:
956cb8322ec5f796c4f57d0bfb0e87a65e53dd1e1a95bc565f4198dffb4324af - Sigstore transparency entry: 2371726323
- Sigstore integration time:
-
Permalink:
flytohub/flyto-modules-robotics@3eef1ceba1e54bbacb5e494d2ef2c6e066a84d61 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/flytohub
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@3eef1ceba1e54bbacb5e494d2ef2c6e066a84d61 -
Trigger Event:
push
-
Statement type: