This repository was archived by the owner on Jan 11, 2026. It is now read-only.
Initial Release
Have you ever wondered what happens if you combine build systems, stupidity and python well you get
BuildMe.
The most simplest, weirdest Build System (:billed_cap: it's just a command runner disguised as a build system) .
Here is a small excerpt from the README on how to use it.
- Install buildme
pip3 install buildme- Create a
buildmescript
The shebang is IMPORTANT (This thingy -> #!/bin/env buildme)
#!/bin/env buildme
from argparse import Namespace # for type hinting purposes only
from buildme import CommandRunner
cr = CommandRunner(
shell=False, # prevents invoking 'mystery' programs (default=False)
print_cmd=True, # prints the command that is currently being executed (default=True)
print_cmd_sep=True, # prints a separation line between the commands that are ran
exit_non_zero=True, # exit the buildme execution if a command exits non zero
)
# you can override the exit_no_zero using the
# method CommandRunner.set_exit_non_zero(vel: bool)
def hello(opts: Namespace):
print(opts)
code = cr.run('echo Hello World')
print(f'{code=}')
def test(opts: Namespace):
if opts.release == '0':
print('release is zero')
print('This from test')- Make it executable
chmod +x ./buildmeAnd then the fun stuff
execute the script
$ ./buildme hello test --release=0
Namespace(release='0')
================================================================================
[CMD]: echo Hello World
Hello World
================================================================================
code=0
release is zero
This from test