Skip to main content

Data pipeline (ETL) framework 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.5.1.tar.gz (76.1 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.5.1-py3-none-any.whl (92.0 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for ankaflow-0.5.1.tar.gz
Algorithm Hash digest
SHA256 e73411d6eb7c436a8d1289e360a60dd2f55a2b4655b19f3682c13b6d38962a09
MD5 ca6d5f97db0074c45bc1622c22546aef
BLAKE2b-256 7dadaec4126c9a3d7594e3f2dab4ead8813b8790a6671708b895a1b12ca08b2b

See more details on using hashes here.

Provenance

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

Publisher: python-publish.yml on targetta/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.5.1-py3-none-any.whl.

File metadata

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

File hashes

Hashes for ankaflow-0.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 3aeb2d2adc76dca39c97a87c55c6419b4a00d8fe95ba4daf374e616221132215
MD5 e0d52ec17d9cb103799e61fc3f3eef47
BLAKE2b-256 8b764f6831c6388b21bbaa9afa0f844deb2c68567d205b64e05a690cb15e4ce2

See more details on using hashes here.

Provenance

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

Publisher: python-publish.yml on targetta/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