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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fastflowtransform-0.6.19.tar.gz (330.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fastflowtransform-0.6.19-py3-none-any.whl (406.0 kB view details)

Uploaded Python 3

File details

Details for the file fastflowtransform-0.6.19.tar.gz.

File metadata

  • Download URL: fastflowtransform-0.6.19.tar.gz
  • Upload date:
  • Size: 330.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for fastflowtransform-0.6.19.tar.gz
Algorithm Hash digest
SHA256 c400eaf95bfcfd958e048b5303c24ff1eeb7403c3e1bb0d14b0c0b965f5eb015
MD5 3c191d2a77828c464d8552208505e99d
BLAKE2b-256 31c4e90c78982e0dc7cd90767d3bfc804cf4088580fd1376e38fe50994f281c9

See more details on using hashes here.

File details

Details for the file fastflowtransform-0.6.19-py3-none-any.whl.

File metadata

File hashes

Hashes for fastflowtransform-0.6.19-py3-none-any.whl
Algorithm Hash digest
SHA256 1c99933267bd0700b9841bfbad6fd0a3a10f65f5f964366e150d24e415b0dff8
MD5 e842d5cab3ebd35b9788d0d9d9dd8d2a
BLAKE2b-256 c6f21d3dcab4d06246c50897f4328489ac42b217fb975194e33b1eaa9b33bcc7

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.6.19 This release

2 files

0.6.18

2 files

0.6.14

2 files

0.6.13

2 files

0.6.11

2 files

0.6.10

2 files

0.6.9

2 files

0.6.5

2 files

0.6.2

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page