Skip to content
This repository was archived by the owner on Jan 11, 2026. It is now read-only.

Initial Release

Choose a tag to compare

@Adwaith-Rajesh Adwaith-Rajesh released this 31 Aug 19:49
· 35 commits to master since this 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 buildme script

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 ./buildme

And 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