A declarative language for data pipelines.

BaruchML is a markup-language-inspired method for connecting, transforming, and outputting data. Describe the pipeline; let the runtime work out how to run it.

What it looks like

source:
  orders:
    type: csv
    path: data/orders.csv

transform:
  monthly:
    from: orders
    group_by: [region, month]
    aggregate:
      revenue: sum(amount)

output:
  monthly:
    type: parquet
    path: build/monthly.parquet

The full grammar, semantics, and connector reference live in the documentation.

Two artifacts

BaruchML
The specification. Versioned on its own, and what the documentation tracks.
BaruchAPI
The Python reference implementation, on PyPI as baruch.