> ## Documentation Index
> Fetch the complete documentation index at: https://site.aspect.build/llms.txt
> Use this file to discover all available pages before exploring further.

# Outline

> Bazel 102 covers Python projects with rules_python, aspect_rules_py, and rules_uv — interpreters, virtualenvs, and package dependency resolution.

{!user.loggedIn ? (
<Tip>
<a href="https://auth.aspect.build/oauth/account/sign-up">Sign up</a> for a free Aspect account to access the full training course. Already have one? <a href="/login?redirect=%2Flearning%2Fbazel-102">Log in</a>.
</Tip>
) : null}

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](/learning/bazel-101/).

We'll be using a pre-release of Bazel 9.

This course uses these Bazel modules:

* [https://registry.bazel.build/modules/rules\_python](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](https://github.com/astral-sh/python-build-standalone). It also manages Python package dependencies.
* [https://registry.bazel.build/modules/aspect\_rules\_py](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](https://registry.bazel.build/modules/rules_uv) wires up the `uv` package 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:

<iframe className="w-full aspect-video rounded-xl" src="https://www.youtube.com/embed/en3ep4rw0oA" title="YouTube video player" frameBorder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowFullScreen />

## Outline

[Write a simple application](/learning/bazel-102/write-simple-app)

[Editor features: virtualenvs](/learning/bazel-102/virtualenvs)

[Watch mode](/learning/bazel-102/watch-mode)

[Using monorepo dependencies](/learning/bazel-102/monorepo-deps)

[Testing and Debugging](/learning/bazel-102/test-and-debug)

[Integrate Python console scripts as tools](/learning/bazel-102/console-scripts)

[Formatting and Linting](/learning/bazel-102/format-and-lint)

[Shipping artifacts](/learning/bazel-102/ship-artifacts)

More lessons coming soon:

* Type-checking
