Flowform is a declarative configuration language for your data pipelines
Project description
Flowform
Flowform is a declarative configuration language for your data pipelines.
For example: you can specify that you want to load data from a PostgreSQL table, perform transformation and load the result to a csv file using this config:
extract:
connector: postgres
transform:
getBestSongs:
getAllSongs: select * from artist
getBest: where rating > 8
load:
getBestSongs:
format: csv
fileName: result
How does it work?
| block | explanation |
|---|---|
| connector: postgres | specifyies the data source |
| getBestSongs | task name, you can name it anything |
| getAllSongs | subquery name, you can name it anything |
| load:getBestSongs | this loads the result from getBestSongs task |
NOTE: Subqueries get appended with the previous subquery.
Configuration
profiles/profiles.yaml specifies the data source configs.
demo/demo.yaml specifies the yaml file for your pipeline.
Installation
pip install flowform
How to run
ff run --file=<script>.yaml
Running demo
You will require postgres installed on your system. In psql you can run following command to load demo table
\i <Path to this directory>/demo/demo.sql
or manually run sql commands in demo.sql to build example table.
Then you need to run the command:
ff run --file=./demo/demo.yaml
Support Status
Currently, supports extracting from PostgresSQL and exporting to a file.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file flowform-0.0.1.tar.gz.
File metadata
- Download URL: flowform-0.0.1.tar.gz
- Upload date:
- Size: 4.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
577dd4e1b130a6dbf9f82bd2d1e6162d26096e0947a3f67b5cb1829828a7648d
|
|
| MD5 |
7c6ec27b20e6486b4e5202c90e7a75ff
|
|
| BLAKE2b-256 |
fb3103d52569712c5c1aa2caad1a61cdb93813d41fd75da2e29dae1ac2b74d08
|
File details
Details for the file flowform-0.0.1-py3-none-any.whl.
File metadata
- Download URL: flowform-0.0.1-py3-none-any.whl
- Upload date:
- Size: 2.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7100ff3a18e49098dbde0339be613e5c30ce76773f239e3db75343cff5c78ae6
|
|
| MD5 |
2660bb1d1d1cd931993ef7fbea8eb625
|
|
| BLAKE2b-256 |
b947664679bcd4ef5fe7def1886742dc61da84469be5ace2efa4f62906181aa0
|