Skip to main content

AnkaFlow pipeline runner for server and browser

Project description

AnkaFlow

Run your data pipelines in Python or the browser.
AnkaFlow is a YAML + SQL-powered data pipeline engine that works in local Python, JupyterLite, or fully in-browser via Pyodide.

🚀 Features

  • Run pipelines using DuckDB with SQL and optional Python
  • Supports Parquet, REST APIs, BigQuery, ClickHouse (server only)
  • Browser-compatible: works in JupyterLite, GitHub Pages, VS Code Web and more

📦 Install

# Server
pip install ankaflow[server]

# Dev
pip install -e .[dev,server]

🛠 Usage

> ankaflow /path/to/stages.yaml
from ankaflow import (
    ConnectionConfiguration,
    Stages,
    Flow,
)

connections = ConnectionConfiguration()

stages = Stages.load("path/to/stages.yaml")
flow = Flow(stages, connections)
flow.run()

🔁 What is Stages?

Stages is the object that holds your pipeline definition parsed from a YAML file.
Each stage is one of: tap, transform, or sink.

Example

- name: Extract Data
  kind: tap
  connection:
    kind: Parquet
    locator: input.parquet

- name: Transform Data
  kind: transform
  query: SELECT * FROM "Extract Data" WHERE "amount" > 100

- name: Load Data
  kind: sink
  connection:
    kind: Parquet
    locator: output.parquet

📖 Documentation


Project details


Download files

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

Source Distribution

ankaflow-0.1.2.tar.gz (64.0 kB view details)

Uploaded Source

Built Distribution

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

ankaflow-0.1.2-py3-none-any.whl (75.2 kB view details)

Uploaded Python 3

File details

Details for the file ankaflow-0.1.2.tar.gz.

File metadata

  • Download URL: ankaflow-0.1.2.tar.gz
  • Upload date:
  • Size: 64.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for ankaflow-0.1.2.tar.gz
Algorithm Hash digest
SHA256 b3739c719419bb731a8ce5d5d3c71180b8b1fb26a9a0f8c4b1a582dc162b266f
MD5 424565d425158f3670afea66c4fb90af
BLAKE2b-256 e7bb6fd11915d294273afb7af507944f038c6c9887f20ef3c42bf35d3052180d

See more details on using hashes here.

Provenance

The following attestation bundles were made for ankaflow-0.1.2.tar.gz:

Publisher: python-publish.yml on mudam/ankaflow

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ankaflow-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: ankaflow-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 75.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for ankaflow-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 d0c2a77a6d210d95a20cd91a914646797e61c7e091bb6b47e0dc318fc336c838
MD5 6bc75a503d76dfb0bb559603cb70c133
BLAKE2b-256 6f341a281687992e223122f506fc8e2db99d1dd7f833642ebd8c6eb168514f34

See more details on using hashes here.

Provenance

The following attestation bundles were made for ankaflow-0.1.2-py3-none-any.whl:

Publisher: python-publish.yml on mudam/ankaflow

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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