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 git+https://github.com/bob-hq/bob --with git+https://github.com/bob-hq/bob-std 

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.1.tar.gz (18.3 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.1-py3-none-any.whl (27.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: bob_build-0.1.1.tar.gz
  • Upload date:
  • Size: 18.3 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.1.tar.gz
Algorithm Hash digest
SHA256 06d053520f38420301ee70477626554ad7c803d3838f69e017af48a663577fe1
MD5 f5752374a3df3745120e298d665b542e
BLAKE2b-256 3a2505dc7e431bdd0dca50363876abdba4c97f7da76eeb561f86631ede5f1f0b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: bob_build-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 27.1 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 cf083eb7fe8722dfa8cfbe587c853dfa2daf50ffd7befef827ef6bbc6e5b2c68
MD5 16b21b7551bf0b84959612ea5c810ec5
BLAKE2b-256 725d46cee005234c54bc22bed484e91dd15de600bb53eea4bc4180007c739e03

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