Command Palette

Search for a command to run...

Page Inspect

https://flyte.org/
Internal Links
25
External Links
56
Images
101
Headings
31

Page Content

Title:Dynamic, crash-proof AI orchestration with Flyte
Description:Orchestrate durable, flexible, k8s-native workflows. Trusted by 3,000+ teams to create and deploy pipelines at scale.
HTML Size:173 KB
Markdown Size:12 KB
Fetched At:November 18, 2025

Page Structure

h1Dynamic, crash-proof AI orchestration
h2Announcing Flyte 2.0
h2Trusted by 3,000+ teams
h2Bridge the gap between scalability and ease of use
h2Scale compute on-demand
h2Crash-proof reliability
h2Write locally, execute remotely
h2Create extremely flexible data and ML workflows
h3End-to-end data lineage
h3Collaborate with reusable components
h3Integrate at the platform level
h3Allocate resources dynamically
h2One platform for your workflow orchestration needs
h3Build
h3Iterate
h3Analyze
h3Visualize
h3Deploy
h3Monitor
h3Scale
h2Minimal maintenance overhead
h2Robust and scalable like never before
h2Vibrant community
h2From data processing to distributed model training, Flyte streamlines the entire data & ML workflow development process
h2Don’t just take our word for it
h2Begin your Flyte journey today
h2Product
h2Use Cases
h2Resources
h2Compare
h2Ecosystem

Markdown Content

Dynamic, crash-proof AI orchestration with Flyte



**Flyte + Union 2.0:** Now accepting interest for our invite-only beta

Register now ↗

ProductCase StudiesBlogDocs ↗CommunityManaged Flyte ↗

6,000

Join Slack

# Dynamic, crash-proof AI orchestration

Orchestrate durable, flexible, k8s-native workflows. Trusted by 3,000+ teams to create and deploy pipelines at scale.

Try Union for Flyte

Install Flyte OSS

*\*Union is a managed, enterprise-grade platform powered by Flyte*

AI/ML

Data

Analytics

Copy

Copied to clipboard!

import pandas as pd
from flytekit import Resources, task, workflow
from sklearn.datasets import load_wine
from sklearn.linear_model import LogisticRegression


@task(requests=Resources(mem="700Mi"))
def get_data() -> pd.DataFrame:
"""Get the wine dataset."""
return load_wine(as_frame=True).frame


@task
def process_data(data: pd.DataFrame) -> pd.DataFrame:
"""Simplify the task from a 3-class to a binary classification problem."""
return data.assign(target=lambda x: x["target"].where(x["target"] == 0, 1))


@task
def train_model(data: pd.DataFrame, hyperparameters: dict) -> LogisticRegression:
"""Train a model on the wine dataset."""
features = data.drop("target", axis="columns")
target = data["target"]
return LogisticRegression(**hyperparameters).fit(features, target)


@workflow
def training_workflow(hyperparameters: dict) -> LogisticRegression:
"""Put all of the steps together into a single workflow."""
data = get_data()
processed_data = process_data(data=data)
return train_model(
data=processed_data,
hyperparameters=hyperparameters,
)

Copy

Copied to clipboard!

import os

import flytekit
import pandas as pd
from flytekit import Resources, kwtypes, task, workflow
from flytekit.types.file import CSVFile, FlyteFile
from flytekitplugins.sqlalchemy import SQLAlchemyConfig, SQLAlchemyTask

DATABASE_URI = (
"postgresql://reader:NWDMCE5xdipIjRrp@hh-pgsql-public.ebi.ac.uk:5432/pfmegrnargs"
)

extract_task = SQLAlchemyTask(
"extract_rna",
query_template="""select len as sequence_length, timestamp from rna where len >= {{ .inputs.min_length }} and len <= {{ .inputs.max_length }} limit {{ .inputs.limit }}""",
inputs=kwtypes(min_length=int, max_length=int, limit=int),
output_schema_type=pd.DataFrame,
task_config=SQLAlchemyConfig(uri=DATABASE_URI),
)


@task(requests=Resources(mem="700Mi"))
def transform(df: pd.DataFrame) -> pd.DataFrame:
"""Add date and time columns; drop timestamp column."""
timestamp = pd.to_datetime(df["timestamp"])
df["date"] = timestamp.dt.date
df["time"] = timestamp.dt.time
df.drop("timestamp", axis=1, inplace=True)
return df


@task(requests=Resources(mem="700Mi"))
def load(df: pd.DataFrame) -> CSVFile:
"""Load the dataframe to a csv file."""
csv_file = os.path.join(flytekit.current_context().working_directory, "rna_df.csv")
df.to_csv(csv_file)
return FlyteFile(path=csv_file)


@workflow
def etl_workflow(
min_length: int = 50, max_length: int = 200, limit: int = 10
) -> CSVFile:
"""Build an extract, transform and load pipeline."""
return load(
df=transform(
df=extract_task(min_length=min_length, max_length=max_length, limit=limit)
)
)

Copy

Copied to clipboard!

import pandas as pd
import plotly
import plotly.graph_objects as go
import pycountry
from flytekit import Deck, task, workflow, Resources


@task(requests=Resources(mem="1Gi"))
def clean_data() -> pd.DataFrame:
"""Clean the dataset."""
df = pd.read_csv("https://covid.ourworldindata.org/data/owid-covid-data.csv")
filled_df = (
df.sort_values(["people_vaccinated"], ascending=False)
.groupby("location")
.first()
.reset_index()
)[["location", "people_vaccinated", "date"]]
filled_df = filled_df.dropna()
countries = [country.name for country in list(pycountry.countries)]
country_df = filled_df[filled_df["location"].isin(countries)]
return country_df


@task(disable_deck=False)
def plot(df: pd.DataFrame):
"""Render a Choropleth map."""
df["text"] = df["location"] + "<br>" + "Last updated on: " + df["date"]
fig = go.Figure(
data=go.Choropleth(
locations=df["location"],
z=df["people_vaccinated"].astype(float),
text=df["text"],
locationmode="country names",
colorscale="Blues",
autocolorscale=False,
reversescale=True,
colorbar_title="Population",
marker_line_color="darkgray",
marker_line_width=0.5,
)
)

fig.update_layout(
title_text="Share of people who recieved at least one dose of COVID-19 vaccine",
geo_scope="world",
geo=dict(
showframe=False, showcoastlines=False, projection_type="equirectangular"
),
)
Deck("Bar Plot", plotly.io.to_html(fig))


@workflow
def analytics_workflow():
"""Prepare a data analytics workflow."""
plot(df=clean_data())

## Announcing Flyte 2.0

Coming soon

Flyte 2.0

$0

For building reliable AI/ML pipelines and agents with OSS.

Try now with private Union beta

Flyte 1 is available today

**Get Flyte 1**

Open-source

Build and run dynamic AI/ML workflows using Flyte’s open-source platform and community.

Pure Python authoring

Write workflows using standard Python syntax including loops, branching, and error handling.

Dynamic decision-making

Workflows can make on-the-fly decisions with native support for real-time logic, conditions, and retries.

Crash-proof reliability

Workflows can easily recover from interruptions and continue where they left off.

Run locally

Test and debug tasks in your local environment using the same Python SDK that runs in production on Kubernetes.

Union Enterprise

Custom Pricing

For building scalable, mission-critical AI systems and agents in your cloud.

Get in touch for a free trial

Are you part of a startup?

**Ask us about startup pricing.**

**Flyte 2.0** available now

Build with the latest dynamic, Python-native Flyte 2.0.

End-to-end workflow management

Build, deploy, and optimize AI/ML and agentic systems one unified platform.

Real-time inference

Serve high-performing real-time agents and models with sub-second latency.

Live remote debugger

Debug any remote tasks, line-by-line, on the actual infrastructure where your tasks run.

Reusable, warm-start containers

Eliminate cold starts and accelerate execution by reusing pre-loaded environments across tasks.

## Trusted by 3,000+ teams

## Bridge the gap between scalability and ease of use

## Scale compute on-demand

Scale tasks dynamically with native Kubernetes-based execution. No idle costs. No wasted cycles. Just efficient, elastic execution.

## Crash-proof reliability

Automatic retries, checkpointing, and failure recovery ensure your workflows stay resilient. Stop babysitting pipelines. Flyte handles failures so you don’t have to.

## Write locally, execute remotely

Debug and iterate locally with instant feedback, then deploy the exact same code to production.

## Create extremely flexible data and ML workflows

### End-to-end data lineage

Track the health of your data and ML workflows at every stage of execution. Analyze data passages to identify the source of errors with ease.

### Collaborate with reusable components

Reuse tasks and workflows present in any project and domain using the reference\_task and reference\_launch\_plan decorators. Share your work across teams to test it out in separate environments.

### Integrate at the platform level

Your orchestration platform should integrate smoothly with the tools and services your teams use. Flyte offers both platform- and SDK-level integrations, making it easy to incorporate into your data/ML workflows as a plug-and-play service.

### Allocate resources dynamically

Resource allocation shouldn’t require complex infrastructure changes or decisions at compile time. Flyte lets you fine-tune resources from within your code — at runtime or with real-time resource calculations — without having to tinker with the underlying infrastructure.

Get started ↗

## One platform for your workflow orchestration needs

Manage the lifecycle of your workflows on a centralized platform with ease and at scale without fragmentation of tooling across your data, ML & analytics stacks.

### Build

Build your data and ML workflows easily using the intuitive Python SDK or any language of your choice.

### Iterate

Debug and iterate on your workflows on a minimal Flyte setup or sandbox.

### Analyze

Keep track of the data lineage and logs of every execution.

### Visualize

Render plots and visualize data with FlyteDecks.

### Deploy

Promote the workflows to cloud or on-prem without navigating infrastructure complexities.

### Monitor

Keep tabs on your executions by receiving notifications via Slack, email or PagerDuty.

### Scale

Dynamically adjust resource allocation on demand, and scale horizontally or vertically to support growing infrastructure needs.

Get started ↗

## Minimal maintenance overhead

Set up once and revisit only if you need to make Flyte more extensible.

## Robust and scalable like never before

Deploy your data and ML workflows with confidence. Focus on what matters most — the business logic of your workflows.

## Vibrant community

Receive timely responses to your questions on Slack, with an average response time of 6–8 hours or less.

## From data processing to distributed model training, Flyte streamlines the entire data & ML workflow development process

Discover integrations

## Don’t just take our word for it

Read our customers’ stories

## Begin your Flyte journey today

“It’s not an understatement to say that Flyte is really a workhorse at Freenome!”

— Jeev Balakrishnan, Software Engineer at Freenome

Install locally ↗

Union.ai

Union lets you leverage Flyte without worrying about infrastructure constraints and setup.

Learn more ↗

Try Hosted Flyte ↗

Flyte is an open-source workflow orchestration platform for building data, ML and analytics workflows with ease.

## Product
FeaturesIntegrationsUnion.ai ↗

## Use Cases
DataMLAnalyticsBioinformaticsAI Orchestration

## Resources
Docs ↗CommunityCustomer StoriesBlogEventsAPI Reference ↗Cheat Sheets

## Compare
Flyte vs. AirflowFlyte vs. Kubeflow

## Ecosystem
Latch SDK ↗Pterodactyl ↗

Created and shared with ♡ by Union.ai

© 2025 Flyte Project Authors. All rights reserved. Privacy Policy

By clicking **“Accept All Cookies”**, you agree to the storing of cookies on your device to enhance site navigation, analyze site usage, and assist in our marketing efforts. View our Privacy Policy for more information.

PreferencesDenyAccept

Privacy Preference Center

When you visit websites, they may store or retrieve data in your browser. This storage is often necessary for the basic functionality of the website. The storage may be used for marketing, analytics, and personalization of the site, such as storing your preferences. Privacy is important to us, so you have the option of disabling certain types of storage that may not be necessary for the basic functioning of the website. Blocking categories may impact your experience on the website.

Reject all cookiesAllow all cookies

Manage Consent Preferences by Category

Essential

**Always Active**

These items are required to enable basic website functionality.

Marketing

Essential

These items are used to deliver advertising that is more relevant to you and your interests. They may also be used to limit the number of times you see an advertisement and measure the effectiveness of advertising campaigns. Advertising networks usually place them with the website operator’s permission.

Personalization

Essential

These items allow the website to remember choices you make (such as your user name, language, or the region you are in) and provide enhanced, more personal features. For example, a website may provide you with local weather reports or traffic news by storing data about your current location.

Analytics

Essential

These items help the website operator understand how its website performs, how visitors interact with the site, and whether there may be technical issues. This storage type usually doesn’t collect information that identifies a visitor.

Confirm my preferences and close