Skip to main content

The ergonomic Ninja-based build system.

Project description


Bob the Builder
License MIT PRs Welcome PyPI Version

The ergonomic Ninja-based build system.

🏃 Getting Started  ·  ⌨️ CLI  ·  🎯 Goals  ·  🙏 Acknowledgements

Getting Started

uv tool install --upgrade bob-build --with bobstd

See the tour!

CLI

You can try these out in the tour as well.

# Build the project in the current directory (you should have a Bobfile).
bob build
# Clean the outputs of Bob.
bob clean
# Build with a specific config.
bob build -c DEBUG=n
# Build with a specific config in a separate build directory, so both consecutive builds are blazingly fast.
bob build -c DEBUG=y --builddir build-debug
# More options, including options passed to Ninja (after --).
bob build --clean -j 4 -- -v
# Create a compile_commands.json.
bob compdb -c DEBUG=n

Goals

Sorted by priority:

  • Writing Bobfiles, writing plugins and rules, and composing Bobfiles should all be easy and feel Pythonic.
  • Type safety should allow for a smooth editing experience and easy-to-debug errors.
  • Plugins should be close to the actual commands rather than lock you in to a specific paradigm.
  • Speed should be fast.

Acknowledgements

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

bob_build-0.1.3.tar.gz (18.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bob_build-0.1.3-py3-none-any.whl (27.2 kB view details)

Uploaded Python 3

File details

Details for the file bob_build-0.1.3.tar.gz.

File metadata

  • Download URL: bob_build-0.1.3.tar.gz
  • Upload date:
  • Size: 18.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.27 {"installer":{"name":"uv","version":"0.11.27","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for bob_build-0.1.3.tar.gz
Algorithm Hash digest
SHA256 5a8ed9c417421889e347be6f1bf90676d98ff8cb535e3e10fb94ec246ab95966
MD5 3a682c83c81521f09d43c5c0bdab1477
BLAKE2b-256 78835e66254424e0ce71a9f5b06a7ed9383f4f595e32203efc16222a0740982c

See more details on using hashes here.

File details

Details for the file bob_build-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: bob_build-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 27.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.27 {"installer":{"name":"uv","version":"0.11.27","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for bob_build-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 b05fc19f9a2f2397d7d55e15f2df156ea7db95e8023c6ff704079dcdf8c6020c
MD5 c830ae7468bf1f3e17de26aa77231218
BLAKE2b-256 a5b25e853d7f75662d0ce2878337c40969d62b0dc410fb6eef551fe4811dc35d

See more details on using hashes here.

Supported by

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