flytekit
Flyte SDK for Python
What it is and what it does
Flytekit is the Python SDK for the Flyte workflow orchestration platform. It provides decorators and APIs to define tasks (atomic units of work) and workflows (compositions of tasks) with built-in support for caching, retries, and type safety. Tasks and workflows are authored in plain Python, then deployed to a Flyte backend for distributed execution. The package handles serialization, dependency management, and integration with cloud storage (GCS, Azure, S3) and container runtimes (Docker).
The library is designed for data engineers and ML practitioners building reproducible, scalable pipelines. It includes 39 runtime dependencies covering serialization (cloudpickle, msgpack, protobuf), scheduling (croniter), caching (diskcache, cachetools), and cloud integrations (gcsfs, adlfs). While Flyte 2 is now generally available, this version (1.16.27) remains actively maintained and suitable for existing Flyte 1.x deployments.
Use it for:
- Define and test ML training pipelines with task caching and automatic retry logic before deploying to a Flyte cluster.
- Build data processing workflows that orchestrate multiple Python functions across distributed infrastructure with type-safe interfaces.
- Schedule recurring data jobs using cron expressions and manage their execution state through Flyte launch plans.
- Integrate with cloud storage backends (GCS, Azure Blob, S3) for reading and writing pipeline artifacts.
- Author reusable task libraries with built-in versioning and dependency tracking for team collaboration.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Flytekit is the Python SDK for authoring, testing, deploying, and managing Flyte tasks, workflows, and launch plans—a framework for building data and ML pipelines that run on the Flyte backend.
Yes, if you are running Flyte 1.x or evaluating Flyte for workflow orchestration. The package is actively maintained, has low install friction, carries no known vulnerabilities, and is permissively licensed. However, note that Flyte 2 is now generally available—new projects should evaluate whether Flyte 2's Python SDK is a better fit, and existing Flyte 1.x users should plan a migration timeline.
Install
flytekit on PyPI
pip
pip install flytekituv
uv add flytekitpoetry
poetry add flytekitInstalling flytekit
Before you install
Low install friction with a pure-wheel distribution. Actively maintained with a release 4 days old and recent commits; 315 repository stars indicate established community use.
License in practice
Apache-2.0 permissive license allows commercial use, modification, and distribution with minimal restrictions—suitable for most production and proprietary contexts.
Quickstart
pip install flytekit
from flytekit import task, workflow
@task(cache=True, cache_version="1", retries=3)
def sum(x: int, y: int) -> int:
return x + y
@workflow
def my_workflow(x: int, y: int) -> int:
return sum(x=x, y=y)
Requires Python 3.10 or later (capped below 3.13); Flyte backend services must be available or configured for full functionality.
Verify before relying
- Whether Flyte 1.x receives ongoing security patches or is in maintenance-only mode given Flyte 2 general availability.
- Performance characteristics and scalability limits for large-scale workflow execution.
- Compatibility and migration path from Flyte 1.x to Flyte 2 for existing deployments.
Package facts
| License | Apache-2.0 (permissive) |
| Python support | capped below the current Python release (<3.13,>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 39 — adlfs, cachetools, click, cloudpickle, croniter, dataclasses-json, diskcache, docker, docstring-parser, flyteidl, fsspec, gcsfs, googleapis-common-protos, grpcio, grpcio-status, importlib-metadata, joblib, jsonlines, jsonpickle, keyring, markdown-it-py, marshmallow, marshmallow-enum, marshmallow-jsonschema, setuptools, mashumaro, msgpack, protobuf, pygments, python-json-logger |
| Maintenance | actively maintained — 4 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 545,779/month — #6,075 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: flytekit-1.16.27-py3-none-any.whl
Tags
More Software Development packages
Provides backported and experimental type hints…
permissive · top 100 on PyPI
numpyNumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
distlibDistlib provides low-level packaging utilities…
permissive · top 1,000 on PyPI
flyteFlyte is a Python SDK for defining,…
unclear · top 15,000 on PyPI
flyteidlFlyteidl provides the protobuf-based IDL…
permissive · top 15,000 on PyPI
latchLatch SDK is a framework for building,…
unclear · top 15,000 on PyPI
flyteidl2Provides Python protobuf message definitions…
permissive · top 15,000 on PyPI
apache-airflow-task-sdkProvides Python interfaces and task execution…
permissive · top 5,000 on PyPI
kfpKubeflow Pipelines is a Python SDK for…
permissive · top 5,000 on PyPI
hatchet-sdkHatchet SDK is the official Python client for…
permissive · top 5,000 on PyPI
azureml-pipeline-coreProvides core pipeline infrastructure for Azure…
unclear · top 15,000 on PyPI
skypilot-nightlySkyPilot provisions and manages AI compute jobs…
permissive · top 15,000 on PyPI
buildkite-sdkA Python SDK for interacting with Buildkite's…
unclear · top 15,000 on PyPI