flyteplugins-rs
[!WARNING] Experimental, and not yet published. The examples in this repository import it from source; APIs may change.
Launch Rust Flyte tasks from Python.
A Rust task container runs a compiled binary and no Python. This package is the launch-time half: it reads a worker binary's self-described interface, declares the matching Flyte task, and builds the worker image from Rust sources.
from pathlib import Path
import flyteplugins_rs as rs
import interface_gen # generated by `<binary> describe-interface`
my_task, rust_env = rs.rust_task(
crate_dir=Path(__file__).parent,
binary="hello-trace",
fallback_descriptor=interface_gen.DESCRIPTOR,
retries=2, # any TaskTemplate option passes through
)
flyte run task.py my_task --x 21 --label demo
The task's name, inputs, and outputs are never written here — they come from the Rust fn signature, so renaming a parameter cannot silently diverge from what gets launched.
rust_env is the environment holding the task. A Python parent calling it needs
depends_on=[rust_env], which carries the worker image into the deployment plan:
env = flyte.TaskEnvironment(name="my_pipeline", depends_on=[rust_env])
@env.task
async def pipeline(x: int) -> str:
return await my_task(x=x, label="demo")
What it does
- Interface — runs
<binary> describe-interfacewhen a local build exists, and refreshes the generatedinterface_gen.pyfrom it. Inside a container (no cargo build) the generated module is used instead. - Image — declares the worker image as
flyte.Imagelayers, so the remote image builder can compile it (no Dockerfile, no local docker). No layer asks for Python, so the image gets no venv. - Task — a container task typed
rust-task, whose args match the worker's contract, and whoseargs[0]is the binary (image layers cannot set an ENTRYPOINT).
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 flyteplugins_rs-0.0.1.tar.gz.
File metadata
- Download URL: flyteplugins_rs-0.0.1.tar.gz
- Upload date:
- Size: 8.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d562da9545be98b24fce88ecf504dee44c086f53c29cc44158ec0a40a68c821b
|
|
| MD5 |
60d26f8572a224f3adb9e545152872a2
|
|
| BLAKE2b-256 |
b1e5ef7730dcbc0f25908e22c114eadee050030d19e436103fa893266d663276
|
Provenance
The following attestation bundles were made for flyteplugins_rs-0.0.1.tar.gz:
Publisher:
release-python.yml on flyteorg/flyte-sdk-rs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
flyteplugins_rs-0.0.1.tar.gz -
Subject digest:
d562da9545be98b24fce88ecf504dee44c086f53c29cc44158ec0a40a68c821b - Sigstore transparency entry: 2414688794
- Sigstore integration time:
-
Permalink:
flyteorg/flyte-sdk-rs@65f0eea2e8ade720a0c0cff1f60385da4298fc79 -
Branch / Tag:
refs/tags/py-v0.0.1 - Owner: https://github.com/flyteorg
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-python.yml@65f0eea2e8ade720a0c0cff1f60385da4298fc79 -
Trigger Event:
push
-
Statement type:
File details
Details for the file flyteplugins_rs-0.0.1-py3-none-any.whl.
File metadata
- Download URL: flyteplugins_rs-0.0.1-py3-none-any.whl
- Upload date:
- Size: 10.5 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 |
ba7b528c46319f82bb8646b26c70fd34351a332dcc5b4860aec911f39218dc13
|
|
| MD5 |
4227b7a9a2e8d0d8c5c0911b5450d559
|
|
| BLAKE2b-256 |
e47754a5be4e244f343773a21197f047eb0dcd5e599ae1a616d6d25d7bcd2a7a
|
Provenance
The following attestation bundles were made for flyteplugins_rs-0.0.1-py3-none-any.whl:
Publisher:
release-python.yml on flyteorg/flyte-sdk-rs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
flyteplugins_rs-0.0.1-py3-none-any.whl -
Subject digest:
ba7b528c46319f82bb8646b26c70fd34351a332dcc5b4860aec911f39218dc13 - Sigstore transparency entry: 2414688810
- Sigstore integration time:
-
Permalink:
flyteorg/flyte-sdk-rs@65f0eea2e8ade720a0c0cff1f60385da4298fc79 -
Branch / Tag:
refs/tags/py-v0.0.1 - Owner: https://github.com/flyteorg
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-python.yml@65f0eea2e8ade720a0c0cff1f60385da4298fc79 -
Trigger Event:
push
-
Statement type: