Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: Sane, a single file, super flexible, Python command runner (github.com/mikeevmm)
5 points by miguelmurca on April 15, 2021 | hide | past | favorite | 4 comments



Hi 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

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


I sympathize with your frustration. Feature-wise, I think folks considering migration and not heading to CI will wait until concurrency is fully exploited.


Could you give me an idea of how you'd expect concurrent behaviour? Cheers


I think ‘make -j -l $(nproc)’ saves us significant time.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: