make-booster
run
make-booster | run | |
---|---|---|
3 | 17 | |
8 | 476 | |
- | - | |
10.0 | 3.5 | |
almost 2 years ago | 8 months ago | |
Makefile | Go | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
make-booster
-
Snakemake – A framework for reproducible data analysis
For a very different approach, check out make-booster:
https://github.com/david-a-wheeler/make-booster
Make-booster provides utility routines intended to greatly simplify data processing (particularly a data pipeline) using GNU make. It includes some mechanisms specifically to help Python, as well as general-purpose mechanisms that can be useful in any system. In particular, it helps reliably reproduce results, and it automatically determines what needs to run and runs only that (producing a significant speedup in most cases). Released as open source software.
-
A Love Letter to Make
https://github.com/david-a-wheeler/make-booster
I think a lot of hate on make is due to poor use. If your makefile is complex, refactor it. Auto-generate dependencies (it only takes a few lines in GNU make). And don't use recursive make, that way lies madness. I also think GNU make is the wiser tool; POSIX make lacks too much in many cases.
-
The Unreasonable Effectiveness of Makefiles
https://github.com/david-a-wheeler/make-booster
From its readme:
"This project (contained in this directory and below) provides utility routines intended to greatly simplify data processing (particularly a data pipeline) using GNU make. It includes some mechanisms specifically to help Python, as well as general-purpose mechanisms that can be useful in any system. In particular, it helps reliably reproduce results, and it automatically determines what needs to run and runs only that (producing a significant speedup in most cases)."
"For example, imagine that Python file BBB.py says include CC, and file CC.py reads from file F.txt (and CC.py declares its INPUTS= as described below). Now if you modify file F.txt or CC.py, any rule that runs BBB.py will automatically be re-run in the correct order when you use make, even if you didn't directly edit BBB.py."
This is NOT functionality directly provided by Python, and the overhead with >1000 files was 0.07seconds which we could live with :-).
run
-
Fig Has Joined AWS
I've been using Run [0] for this purposes.
[0]: https://github.com/TekWizely/run
-
Show HN: Xc – A Markdown Defined Task Runner
To the extent that posts like these evolve into discussing the merits of Make as a task runner, I would like to offer my tool for review:
* https://github.com/TekWizely/run
I built it to feel like make, but be better at managing tasks and wrappers.
If you are evaluating task runners and appreciate the simplicity of Make's syntax, I hope you'll give Run a try.
-
Just: A Command Runner
I invite you take a look at Run, a similar tool that I maintain:
* https://github.com/TekWizely/run
Support for including other Runfiles was recently introduced, with support for globbing and the ability to indicate if an error should be generated if no files are found.
- Automatic Makefile help generation
-
DevOps Is Bullshit
Unrelated to this topic, I invite you take a look at my project which a tool purpose-built to be a better version of what your makefile became:
Run: Task runner that helps you easily manage and invoke small scripts and wrappers
https://github.com/TekWizely/run
Defining commands feels like make, but comes with a bunch of extras targeted at the needs of a task-runner.
I hope you'll check it out!
-
sd – a cozy nest for your scripts
This looks like an interesting way to manage scripts globally. I could even see it able to manage n-sub-commands deep (vs usual "command sub-command" - maybe it already does?) by just trying to resolve each argument as a dir until you find a script to execute.
If you're interested in ways to better-manage small scripts and wrappers more locally, please take a look at my project, Run:
https://github.com/TekWizely/run
- Run v0.9.0 - Easily manage and invoke small scripts and wrappers - Now with support for Includes!
-
run VS makesure - a user suggested alternative
2 projects | 13 Aug 2022
-
The Unreasonable Effectiveness of Makefiles
For those looking for a powerful task runners that feel like a makefile, please take a look at Run:
https://github.com/TekWizely/run
It's better a managing and invoking tasks and generates help text from comments.
What are some alternatives?
tclmake - Partial make clone in pure Tcl
bashly - Bash command line framework and CLI generator
checkexec - CLI tool to conditionally execute commands only when files in a dependency list have been updated. Like `make`, but standalone.
earthly - Super simple build framework with fast, repeatable builds and an instantly familiar syntax – like Dockerfile and Makefile had a baby.
snakemake-wrappers - This is the development home of the Snakemake wrapper repository, see
pure-sh-bible - 📖 A collection of pure POSIX sh alternatives to external processes.
mandala - A powerful and easy to use Python framework for experiment tracking and incremental computing
doit - task management & automation tool
dagger - Application Delivery as Code that Runs Anywhere
shtlang - A toy scripting dynamic imperative programming language.
just - 🤖 Just a command runner
Cake - :cake: Cake (C# Make) is a cross platform build automation system.