22
33` aspect_rules_py ` is a layer on top of [ rules_python] ( https://github.com/bazel-contrib/rules_python ) , the reference Python ruleset.
44
5- The lower layer of ` rules_python ` is currently reused, dealing with interpreter toolchains and other details.
5+ The bottom layer of ` rules_python ` is currently reused, which supports interpreter toolchains, interop providers, and other details.
6+
7+ ` rules_py ` can be used with the ` pip ` machinery in rules_python. However we also provide an alternative using ` uv ` , see below for details.
8+
9+ ` rules_py ` introduces new implementations of the end-user rules, ` py_library ` , ` py_binary ` , ` py_test ` .
10+
11+ Finally, we pre-compile the Python gazelle extension into our https://github.com/aspect-build/aspect-gazelle ,
12+ this gives developers a faster path to updating BUILD files without requiring a functional cgo toolchain.
613
7- However, this ruleset introduces new implementations of ` py_library ` , ` py_binary ` , ` py_test ` and now ` uv ` .
814Our philosophy is to behave more like idiomatic python ecosystem tools, where rules_python is closely
915tied to the way Google does Python development in their internal monorepo, google3.
1016However we try to maintain compatibility with rules_python's rules for most use cases.
@@ -14,9 +20,9 @@ However we try to maintain compatibility with rules_python's rules for most use
1420| toolchain: fetch hermetic interpreter | rules_python | rules_python |
1521| deps: fetch and install from pypi | rules_python | ** aspect_rules_py//uv** |
1622| rules: user-facing implementations | rules_python | ** aspect_rules_py//py** |
17- | gazelle: generate BUILD files | rules_python | [ ` aspect configure ` ] |
23+ | gazelle: generate BUILD files | rules_python | [ aspect-gazelle ] |
1824
19- [ ` aspect configure` ] : https://docs. aspect. build/cli/commands/aspect_configure
25+ [ aspect-gazelle ] : https://github.com/ aspect- build/aspect-gazelle
2026
2127## Learn about it
2228
0 commit comments