Skip to main content

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-interface when a local build exists, and refreshes the generated interface_gen.py from it. Inside a container (no cargo build) the generated module is used instead.
  • Image — declares the worker image as flyte.Image layers, 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 whose args[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

flyteplugins_rs-0.0.1.tar.gz (8.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

flyteplugins_rs-0.0.1-py3-none-any.whl (10.5 kB view details)

Uploaded Python 3

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

Hashes for flyteplugins_rs-0.0.1.tar.gz
Algorithm Hash digest
SHA256 d562da9545be98b24fce88ecf504dee44c086f53c29cc44158ec0a40a68c821b
MD5 60d26f8572a224f3adb9e545152872a2
BLAKE2b-256 b1e5ef7730dcbc0f25908e22c114eadee050030d19e436103fa893266d663276

See more details on using hashes here.

Provenance

The following attestation bundles were made for flyteplugins_rs-0.0.1.tar.gz:

Publisher: release-python.yml on flyteorg/flyte-sdk-rs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for flyteplugins_rs-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ba7b528c46319f82bb8646b26c70fd34351a332dcc5b4860aec911f39218dc13
MD5 4227b7a9a2e8d0d8c5c0911b5450d559
BLAKE2b-256 e47754a5be4e244f343773a21197f047eb0dcd5e599ae1a616d6d25d7bcd2a7a

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page