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

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.0.tar.gz (63.8 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.0-py3-none-any.whl (75.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ankaflow-0.1.0.tar.gz
  • Upload date:
  • Size: 63.8 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.0.tar.gz
Algorithm Hash digest
SHA256 cb1d39b681f9f6c70c3b4ae92e9de9899c7807ac5b5f1f5c3ca8016884d440a4
MD5 0d3ce9f9915f392a02d879e834c8830d
BLAKE2b-256 4f61ea79a0764dcd365d2e17d133c1a6bfb117e3fe58d9ca2a58d9db6be6e17f

See more details on using hashes here.

Provenance

The following attestation bundles were made for ankaflow-0.1.0.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.0-py3-none-any.whl.

File metadata

  • Download URL: ankaflow-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 75.0 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c1297fa7e6a68f6a31e0e07446b38c03a6fb4a2ee26683e1c55544470f6c4bae
MD5 33a4e26d44785e465907d5f3a188f019
BLAKE2b-256 487d4fe109947b2d0f57c1e1a5d8952f9acd3d0fc90f5efc26854016b32adccc

See more details on using hashes here.

Provenance

The following attestation bundles were made for ankaflow-0.1.0-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