3 ms·
Show HN: Sane, a single file, super flexible, Python command runner
- miguelmurca 6y agoHi HN, [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 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. [0]: https://github.com/mikeevmm/sane https://github.com/mikeevmm/sane
- ttyprintk 6y agoI sympathize with your frustration. Feature-wise, I think folks considering migration and not heading to CI will wait until concurrency is fully exploited.
- deleted 6y ago[deleted]
- miguelmurca 6y agoCould you give me an idea of how you'd expect concurrent behaviour? Cheers
- ttyprintk 6y agoI think ‘make -j -l $(nproc)’ saves us significant time.