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.2.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.2-py3-none-any.whl (27.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: bob_build-0.1.2.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.2.tar.gz
Algorithm Hash digest
SHA256 637b5e88c5dcd232042439c9b6036f83f793b8e8d72dc2c1f574ee617fb036b9
MD5 4967fc2275b50d73002826729d0b5b70
BLAKE2b-256 abb5604a01b7b7cf82655d214287f5ea674f8f1c8e1fcb67a6a01961526c0793

See more details on using hashes here.

File details

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

File metadata

  • Download URL: bob_build-0.1.2-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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 75cfdb6e63b541e1f17f5dd86b1b3f4041ac46491126c6ce3154e15ed5f71677
MD5 5f33d3e89a0bdc40ee687afb4ff9fc8f
BLAKE2b-256 fcb12db587e6c6f7c55223034a8107bf491efa30a0665eb9f6e9f79eac6491f3

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