Reusable extract-transform-load pipeline for structured data. Reads CSV input, applies deterministic transform stages, and writes compact output. Designed to be composable: stages are plain functions over lists of records.
A three-stage pipeline that stays out of your way: extract CSV rows, transform them with plain functions, write the result. Every stage is a list-of-dicts in, list-of-dicts out, so you can insert your own stages without inheriting from anything or learning a DSL.
scripts/
pipeline/
__init__.py # run_pipeline composition entry
io_ops.py # CSV reading / compact writing
transform.py # record-level transform stages
sinks.py # alternative output sinks (JSON)
import sys, os
sys.path.insert(0, os.path.join(os.path.dirname(__file__), "scripts"))
from pipeline import run_pipeline
run_pipeline("input.csv", "output.parquet")
Using the stages directly:
from pipeline.io_ops import read_csv
from pipeline.transform import transform
rows = read_csv("input.csv")
staged = transform(rows) # your own steps here
Writing JSON instead:
from pipeline.sinks import write_json
write_json(staged, "out.json")
run_pipeline composes read -> transform -> write; swap any stage freely.skillbazaar install etl-pipeline-skill --agent claudeSign in (free) to install skills with the CLI.
Author
@ink5725
on GitHub
Published by