github.com/markmuetz/remake ↗
Pure Python build tool.
An animated visualization of markmuetz/remake's Git history from February 2020 to December 2020, built by 1 contributor. The codebase reached 442 lines, mostly Python. The video runs 32 seconds.
Render your own repo
Turn any GitHub repository into a video like this — free sample in seconds.
Open this visualization on its own page →
Language
Python
Contributors
1
Lines of Code
442
From
2020-02-18
To
2020-12-23
Advertisement
About markmuetz/remake
Remake is a Python-based build tool designed as a modern alternative to Make, specifically tailored for file-based task automation. It allows developers to define complex task graphs using pure Python by subclassing a TaskRule class, where each task can depend on outputs from previous tasks. The tool uses filename formatters to elegantly specify inputs and outputs for each task, making it straightforward to construct intricate workflows without complex configuration files.
The tool is content-aware, meaning it tracks file and task contents to determine which tasks need rerunning. If a task's code or any of its input files change, Remake will automatically rerun that task and any dependent tasks. This smart invalidation system makes Remake particularly well-suited for scientific workflows, where reliably recreating specific output files by running only necessary computations is crucial. It can also generate detailed reports showing how any particular file was produced, providing full traceability through the build process.
Remake can be used either interactively within a Python shell or as a command-line tool, providing flexibility in how users integrate it into their workflows. The project includes comprehensive documentation and demonstrates good software engineering practices with automated testing and code coverage tracking.
Advertisement