Skip to main content

FastFlowTransform

CI PyPI version

FastFlowTransform (FFT) is a SQL + Python data modeling engine with a deterministic DAG, level-wise parallelism, optional caching, incremental builds, auto-docs, and built-in data-quality tests. Projects are plain directories containing models, seeds, and YAML config; the fft CLI handles compilation, execution, docs, and validation across multiple execution engines.

Highlights

  • SQL or Python models (*.ff.sql / *.ff.py) wired with ref() / source() / deps=[...].
  • Executors for DuckDB, Postgres, BigQuery (pandas + BigFrames), Databricks/Spark, and Snowflake Snowpark.
  • Level-wise parallel scheduler with cache fingerprints, rebuild flags, and state/result selectors.
  • Incremental and materialized models with engine-specific merge/append hooks.
  • Tests everywhere: schema/YAML checks, reconciliation rules, and fast model unit tests (fft utest).
  • Docs on demand: fft dag --html and fft docgen generate a browsable site plus JSON artifacts; optional sync-db-comments to push descriptions to Postgres/Snowflake.
  • HTTP helpers for Python models (fastflowtransform.api.http) and Jinja macros/config for templating.

Requirements

  • Python 3.12+
  • Engine extras installed only as needed (e.g. BigQuery, Snowflake, Spark/Delta, Postgres drivers). The core DuckDB path works out of the box.

Install & Quickstart

  • Pick the engine extras you need (combine as pkg[a,b]):
    • DuckDB/core: pip install fastflowtransform
    • Postgres: pip install fastflowtransform[postgres]
    • BigQuery (pandas): pip install fastflowtransform[bigquery]
    • BigQuery (BigFrames): pip install fastflowtransform[bigquery_bf]
    • Databricks/Spark + Delta: pip install fastflowtransform[spark]
    • Snowflake Snowpark: pip install fastflowtransform[snowflake]
    • Everything: pip install fastflowtransform[full]
  • Installation and first run: see docs/Quickstart.md (venv + editable install, DuckDB demo, and init walkthrough).
  • CLI usage and flags: see docs/CLI_Guide.md.
  • Makefile shortcut: make demo runs the simple DuckDB example end-to-end and opens the DAG (examples/simple_duckdb).

Docs & examples

  • Docs hub: docs/index.md or https://fastflowtransform.com.
  • Operational guide & architecture: docs/Technical_Overview.md.
  • Modeling reference & macros: docs/Config_and_Macros.md.
  • Parallelism, cache, and state selection: docs/Cache_and_Parallelism.md, docs/State_Selection.md.
  • Incremental models: docs/Incremental.md.
  • Data-quality + YAML tests: docs/Data_Quality_Tests.md, docs/YAML_Tests.md, docs/Unit_Tests.md.
  • CLI details and troubleshooting: docs/CLI_Guide.md, docs/Troubleshooting.md.
  • Runnable demos live under examples/ (basic, materializations, incremental, DQ, macros, cache, env matrix, API, events).

Contributing

Issues and PRs are welcome. See Contributing.md for development setup, testing (make demo, uv run pytest, fft utest), and code-style guidelines.

License

Apache 2.0 — see License.md.

Metadata

Release files for fastflowtransform 0.6.19

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for fastflowtransform 0.6.19
File Size Uploaded
fastflowtransform-0.6.19.tar.gz 330.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for fastflowtransform 0.6.19
File Interpreter ABI Platform
fastflowtransform-0.6.19-py3-none-any.whl Python 3 none any Details

Total release size: 736.7 kB

Release files / fastflowtransform-0.6.19.tar.gz

Download URL fastflowtransform-0.6.19.tar.gz
Size 330.7 kB
Tags Source
SHA-256 checksum
How to use checksums
c400eaf95bfcfd958e048b5303c24ff1eeb7403c3e1bb0d14b0c0b965f5eb015
BLAKE2b-256 checksum
How to use checksums
31c4e90c78982e0dc7cd90767d3bfc804cf4088580fd1376e38fe50994f281c9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.12

Release files / fastflowtransform-0.6.19-py3-none-any.whl

Download URL fastflowtransform-0.6.19-py3-none-any.whl
Size 406.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1c99933267bd0700b9841bfbad6fd0a3a10f65f5f964366e150d24e415b0dff8
BLAKE2b-256 checksum
How to use checksums
c6f21d3dcab4d06246c50897f4328489ac42b217fb975194e33b1eaa9b33bcc7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.12

Release history Release notifications | RSS feed

This release

0.6.19 This release

2 release files

0.6.18

2 release files

0.6.14

2 release files

0.6.13

2 release files

0.6.10

2 release files

0.6.9

2 release files

0.6.5

2 release files

0.6.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page