ctongfei / hypermake

A parameterized pipeline manager

Home Page:https://tongfei.me/hypermake

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

HyperMake

HyperMake is a parameterized pipeline definition language (think of a make where tasks can be parameterized) heavily inspired by Ducttape.

  • Shell scripting: Write tasks in plain Bash, just like make. No Python or YAML for defining tasks.
  • Cached intermediate results: Intermediate results are cached, so that if a task fails, it can be re-run from the last successful task.
  • Parameterization of tasks: a task can be of multiple versions (e.g. in a ML pipeline, a task can be of different hyperparameters)
  • Minimal juggling: Inputs and outputs are just files/symlinks, and arguments are all passed as environment variables
  • Automatic parallelization: based on the dependency DAG
  • Cloud-agnostic: tasks can be run locally, or on a cloud (e.g. AWS, Azure), with minimal changes to the pipeline.

About

A parameterized pipeline manager

https://tongfei.me/hypermake

License:MIT License


Languages

Language:Scala 99.1%Language:Makefile 0.7%Language:Shell 0.2%