Skip to main content

Yep, Its another build system

Project description

BuildMe 🛠️

Another build system. A simple command runner thats it.

What is BuildMe 🤔️

Well this pretty much sums it up.

xkcd comic

Why???

IDK. I saw this comic and decided that I want a build system of my own.

And,

  • Makefile's are shit.
  • Cmake is complicated
  • Meson requires two dependencies (Meson and Ninja)
  • Bazel, corporate BS

It does come with some feature.

  • It is just command runner (Does not give an f about the file or it's mod time)
    • v0.3.0 onwards, buildme does give an f about the file and it's mod times (times have changed)
  • It's just python. Anything that works on python works on buildme script.
    • you want a build script that has access to pandas, well you can now have it.

Docs 🧾️

  • Install buildme
pip3 install git+https://github.com/Adwaith-Rajesh/buildme.git
OR
pip3 install buildme
  • Create a buildme script

    The shebang is IMPORTANT (This thingy -> #!/bin/env buildme)

#!/bin/env buildme
from buildme import CommandRunner, target

cr = CommandRunner()

@target()
def foo(_, __):
    print('This is the foo target')


@target()
def bar(_, __):
    cr.run('echo this is from bar target')


@target(depends=['foo', 'bar'])
def all(_, __): pass
  • Make it executable
$ ./buildme foo
This is the foo target

$ ./buildme bar
================================================================================
[CMD]: echo this is from bar target
this is from bar target
================================================================================

$ ./buildme all
This is the foo target
================================================================================
[CMD]: echo this is from bar target
this is from bar target
================================================================================

More docs can be found here: Docs

Bye....

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

buildme-0.3.3.tar.gz (5.7 kB view details)

Uploaded Source

Built Distribution

buildme-0.3.3-py2.py3-none-any.whl (6.5 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file buildme-0.3.3.tar.gz.

File metadata

  • Download URL: buildme-0.3.3.tar.gz
  • Upload date:
  • Size: 5.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for buildme-0.3.3.tar.gz
Algorithm Hash digest
SHA256 b7cd8165c52d0f4077483fe24aa0bd2704e0e73dee5c2daf14b35a54b42f2a68
MD5 5d66eee521212d5d42f274ef50f581fb
BLAKE2b-256 fb8ead64e6862c26bda4aeba44c2641d930c08077391516f976fc53f6b402082

See more details on using hashes here.

File details

Details for the file buildme-0.3.3-py2.py3-none-any.whl.

File metadata

  • Download URL: buildme-0.3.3-py2.py3-none-any.whl
  • Upload date:
  • Size: 6.5 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for buildme-0.3.3-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 f62b7fd4054ebf2f186c811f0b6ab4d2aee8e043dff0bbc6d4757253d2a28934
MD5 266ae9043d0ff6c16f16c94f0968db74
BLAKE2b-256 a2b73e15ee5f5a4b1963a86390faaca38813b8ae216c53bac6a38e8c247dec32

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page