Python is one of the most popular languages at Google. Add Python to your Bazel setup, with all the common developer workflows. This course assumes students have completed Bazel 101. We’ll be using a pre-release of Bazel 9. This course uses these Bazel modules:Documentation Index
Fetch the complete documentation index at: https://docs.aspect.build/llms.txt
Use this file to discover all available pages before exploring further.
- https://registry.bazel.build/modules/rules_python is the “standard” ruleset for Python. It provides a pre-built, “mostly statically-linked” interpreter from https://github.com/astral-sh/python-build-standalone. It also manages Python package dependencies.
- https://registry.bazel.build/modules/aspect_rules_py adds an understanding of Virtual Environments (”virtualenv”) which makes tools like Editors and Debuggers work the way you expect.
- https://registry.bazel.build/modules/rules_uv wires up the
uvpackage manager, written in Rust, which we’ll use as a fast constraint-solver to resolve requirements.
Video
If you prefer to watch, this conference talk follows essentially the same outline as the course materials below:Outline
Write a simple application Editor features: virtualenvs Watch mode Using monorepo dependencies Testing and Debugging Integrate Python console scripts as tools Formatting and Linting Shipping artifacts More lessons coming soon:- Type-checking

