Skip to content

pipectlYAML-defined data pipelines

Read from files or stdin. Transform through ordered steps. Write to files or stdout.

pipectlpipectl

Quick example ​

Input: customers.csv

csv
first_name,last_name,email,country,plan,credit_card
alice,smith,Alice@Example.com,AU,pro,4111111111111111
BOB,JONES,BOB@EXAMPLE.COM,AU,free,5500005555555559
carol,white,carol@example.com,US,pro,3714496353984312

Pipeline YAML: customer-intake.yaml

yaml
id: customer-intake
input:
  format: csv
steps:
  - normalize:
      fields:
        first_name: capitalize
        last_name: capitalize
        email: lower
  - filter:
      field: country
      equals: AU
  - redact:
      fields: [credit_card]
      strategy: mask
  - select:
      fields: [first_name, last_name, email, credit_card]
output:
  format: jsonl

Command

bash
pipectl run customer-intake.yaml < customers.csv

Output

jsonl
{"first_name":"Alice","last_name":"Smith","email":"alice@example.com","credit_card":"****************"}
{"first_name":"Bob","last_name":"Jones","email":"bob@example.com","credit_card":"****************"}

Released under the MIT License.