flyteorg/flytekit

Extensible Python SDK for developing Flyte tasks and workflows. Simple to get started and learn and highly extensible.

Flytekit Python – What It Is

Flytekit is the official Python SDK for Flyte, an open‑source platform that lets you author, test, package, and run data‑ and ML‑centric workflows as reusable tasks, workflows, and launch plans. The library provides Python decorators (@task, @workflow) that turn ordinary functions into Flyte‑compatible units and handles communication with the Flyte backend.

Core Capabilities

Capability How the README describes it
Workflow authoring Use @task and @workflow decorators to define reusable components and compose them into pipelines.
Caching & retries Tasks can be declared cache=True with a cache_version and a retry count, enabling result reuse and fault tolerance.
Local testing & deployment The same Python code can be run locally for quick iteration and later deployed to a Flyte cluster without changes.
Extensibility via plugins A plugins/ directory (and external plugins) adds integrations (e.g., Spark, Kubernetes, custom executors).
Documentation & examples Links to a quick‑start guide, API docs, and a “Learn Flytekit by example” tutorial.
Community support Slack channel badge, contribution guide, and issue‑filing instructions.

Quick‑Start Example (from the README)

from flytekit import task, workflow

@task(cache=True, cache_version="1", retries=3)
def sum(x: int, y: int) -> int:
    return x + y

@task(cache=True, cache_version="1", retries=3)
def square(z: int) -> int:
    return z*z

@workflow
def my_workflow(x: int, y: int) -> int:
    return sum(x=square(z=x), y=square(z=y))

This snippet shows the minimal code needed to create two cached tasks and wire them together in a workflow.

Getting Started

  1. Installpip install flytekit.
  2. Read the quick‑start guidehttps://docs.flyte.org/en/latest/user_guide/quickstart_guide.html.
  3. Explore the API docshttps://docs.flyte.org/en/latest/api/flytekit/docs_index.html.
  4. Join the community – Slack link provided in the badge.

Contribution & Extensibility

  • A detailed contribution guide lives at https://docs.flyte.org/en/latest/api/flytekit/contributing.html.
  • Plugins are listed in plugins/README.md; the core maintainers curate this list, but external plugins may exist.
  • Issues should be filed following the instructions in the Flyte core repository’s issue‑section link.

Who Might Use This?

  • Data scientists and ML engineers who want a Python‑first way to define reproducible pipelines.
  • Platform teams building internal AI/ML orchestration services.
  • Developers needing a lightweight way to move from local notebooks to a production‑grade workflow engine.

All information above is taken directly from the repository’s README; no additional features are inferred.

Related

  • Project
  • Project
  • Project
  • Project
  • Project