Skip to content

Python API

Build data pipelines programmatically with Flowfile's Polars-compatible API. Pipelines built this way are version-controllable, reproducible, and open unchanged in the visual editor.

Backend required — not in Flowfile Lite

The Python API runs the full Flowfile engine in-process. It is not part of the browser-only Flowfile Lite edition, which is visual-only. Install the Python package to use this API.

If you know Polars, most of this API will look familiar: the FlowFrame mirrors a Polars LazyFrame, and expressions (ff.col, ff.when, the .str/.dt namespaces) work the same way. The additions are the parts that connect your code to the rest of Flowfile — cloud and database connectors, the catalog, and opening a pipeline in the visual editor.

Quick example

This snippet is a repository file executed by CI — it cannot drift from the real API:

import flowfile as ff

SALES = "https://raw.githubusercontent.com/edwardvaneechoud/flowfile/main/data/templates/supermarket_sales.csv"

result = (
    ff.read_csv(SALES)
    .unique()
    .filter(ff.col("quantity") > 7)
    .group_by("city")
    .agg(
        ff.col("gross_income").sum().alias("total_income"),
        ff.col("gross_income").median().alias("median_income"),
    )
)

Build the same chain without the final .collect() and the pipeline object opens on the canvas via ff.open_graph_in_editor(pipeline.flow_graph) — see Visual UI Integration.

Documentation

Quick Start

Install the package and build your first pipeline.

Core Concepts

API Reference

Tutorials

For contributors

To understand how Flowfile works internally or contribute to the project, see the Developer Documentation.