Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pyper

An (experimental) ETL toolkit based on DuckDB and PRQL.

Usage

Pyper relies on YAML to describe workflows. We use pydantic to model how a workflow file should look. Here's an example that showcases a simple workflow:

# myworkflow.yaml
extract:
  provider: local
  uri: file:///mnt/ssd/projects/pyper/invoices.csv
  register: my_data_source

transform:
  lang: prql
  backend: duckdb
  query: |
    from my_data_source
    filter billing_country == "USA"
    group [customer_id] (
      aggregate [
        sum total,
        count,
      ]
    )

load:
  provider: local
  uri: file:///mnt/ssd/projects/pyper/invoices_usa.csv

Then, using Python:

import pyper
pyper.workflow('myworkflow.yaml').exec()

About

ETL toolkit based on DuckDB and PRQL

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages