Flyte is designed to be highly extensible and can be customized in multiple ways.


Want to contribute an example? Check out the Example Contribution Guide.

Flytekit Plugins#

Flytekit plugins are simple plugins that can be implemented purely in python, unit tested locally and allow extending Flytekit functionality. These plugins can be anything and for comparison can be thought of like Airflow Operators.


Execute SQL queries as tasks.

Great Expectations

Validate data with great_expectations.


Execute Jupyter Notebooks with papermill.


Validate pandas dataframes with pandera.


Scale pandas workflows with modin.


Version your SQL database with dolt.


Run and test your dbt pipelines in Flyte.


whylogs: the open standard for data logging.


mlflow: the open standard for model tracking.


Convert ML models to ONNX models seamlessly.


Run analytical queries using DuckDB.

Native Backend Plugins#

Native Backend Plugins are the plugins that can be executed without any external service dependencies because the compute is orchestrated by Flyte itself, within its provisioned Kubernetes clusters.

K8s Pods

Execute K8s pods for arbitrary workloads.

K8s Cluster Dask Jobs

Run Dask jobs on a K8s Cluster.

K8s Cluster Spark Jobs

Run Spark jobs on a K8s Cluster.

Kubeflow PyTorch

Run distributed PyTorch training jobs using Kubeflow.

Kubeflow TensorFlow

Run distributed TensorFlow training jobs using Kubeflow.

MPI Operator

Run distributed deep learning training jobs using Horovod and MPI.

Ray Task

Run Ray jobs on a K8s Cluster.

External Service Backend Plugins#

As the term suggests, external service backend plugins relies on external services like AWS Sagemaker, Hive or Snowflake for handling the workload defined in the Flyte task that use the respective plugin.

AWS Sagemaker: Model Training

Train models with built-in or define your own custom algorithms.

AWS Sagemaker: Pytorch Training

Train Pytorch models using Sagemaker, with support for distributed training.

AWS Athena

Execute queries using AWS Athena

AWS Batch

Running tasks and workflows on AWS batch service


Run Hive jobs in your workflows.


Execute tasks using MemVerge Memory Machine Cloud


Run Snowflake jobs in your workflows.


Run Databricks jobs in your workflows.


Run BigQuery jobs in your workflows.

Custom Container Tasks#

Because Flyte uses executable docker containers as the smallest unit of compute, you can write custom tasks with the flytekit.ContainerTask via the flytekit SDK.

Raw Container Tasks

Execute arbitrary containers: You can write C++ code, bash scripts and any containerized program.

SDKs for Writing Tasks and Workflows#

The community would love to help you with your own ideas of building a new SDK. Currently the available SDKs are:


The Python SDK for Flyte.


The Java/Scala SDK for Flyte.

Flyte Operators#

Flyte can be integrated with other orchestrators to help you leverage Flyte’s constructs natively within other orchestration tools.


Trigger Flyte executions from Airflow.