Show HN: Sane, a single file, super flexible, Python command runner
github.com
github.com
[Sane][0] is a piece of software I've written to deal with my grievances with Make, Just, Bazel, Meson and other build systems or command runners.
I've always been frustrated by either 1. the opaque domain-specific languages, 2. the necessary installation processes, or 3. the difficulty to keep state coherently and to write logic.
Sane is a single Python3 file that exports a function decorator (@recipe), and a function (sane_run), which can turn any Python file into a Make-like utility: upon execution, a dependency graph is built, checked, and ran in deterministic order.
[GIF]: https://github.com/mikeevmm/sane/blob/master/demo.gif
There is no installation process, and no external dependencies; sane is made to be redistributed with the codebase. There are no domain specific languages, because everything is Python.
Thoughts are welcome.