|  | module( | 
|  | name = "rules_python", | 
|  | version = "0.29.0", | 
|  | compatibility_level = 1, | 
|  | ) | 
|  |  | 
|  | bazel_dep(name = "bazel_features", version = "1.1.1") | 
|  | bazel_dep(name = "bazel_skylib", version = "1.3.0") | 
|  | bazel_dep(name = "platforms", version = "0.0.4") | 
|  |  | 
|  | # Those are loaded only when using py_proto_library | 
|  | bazel_dep(name = "rules_proto", version = "5.3.0-21.7") | 
|  | bazel_dep(name = "protobuf", version = "21.7", repo_name = "com_google_protobuf") | 
|  |  | 
|  | internal_deps = use_extension("@rules_python//python/private/bzlmod:internal_deps.bzl", "internal_deps") | 
|  | internal_deps.install() | 
|  | use_repo( | 
|  | internal_deps, | 
|  | "rules_python_internal", | 
|  | # START: maintained by 'bazel run //tools/private:update_pip_deps' | 
|  | "pypi__build", | 
|  | "pypi__click", | 
|  | "pypi__colorama", | 
|  | "pypi__importlib_metadata", | 
|  | "pypi__installer", | 
|  | "pypi__more_itertools", | 
|  | "pypi__packaging", | 
|  | "pypi__pep517", | 
|  | "pypi__pip", | 
|  | "pypi__pip_tools", | 
|  | "pypi__pyproject_hooks", | 
|  | "pypi__setuptools", | 
|  | "pypi__tomli", | 
|  | "pypi__wheel", | 
|  | "pypi__zipp", | 
|  | # END: maintained by 'bazel run //tools/private:update_pip_deps' | 
|  | ) | 
|  |  | 
|  | # We need to do another use_extension call to expose the "pythons_hub" | 
|  | # repo. | 
|  | python = use_extension("@rules_python//python/extensions:python.bzl", "python") | 
|  |  | 
|  | # The default toolchain to use if nobody configures a toolchain. | 
|  | # NOTE: This is not a stable version. It is provided for convenience, but will | 
|  | # change frequently to track the most recent Python version. | 
|  | # NOTE: The root module can override this. | 
|  | python.toolchain( | 
|  | is_default = True, | 
|  | python_version = "3.11", | 
|  | ) | 
|  | use_repo(python, "pythons_hub") | 
|  |  | 
|  | # This call registers the Python toolchains. | 
|  | register_toolchains("@pythons_hub//:all") | 
|  |  | 
|  | # ===== DEV ONLY DEPS AND SETUP BELOW HERE ===== | 
|  | bazel_dep(name = "stardoc", version = "0.6.2", dev_dependency = True, repo_name = "io_bazel_stardoc") | 
|  | bazel_dep(name = "rules_bazel_integration_test", version = "0.20.0", dev_dependency = True) | 
|  |  | 
|  | dev_pip = use_extension( | 
|  | "//python/extensions:pip.bzl", | 
|  | "pip", | 
|  | dev_dependency = True, | 
|  | ) | 
|  | dev_pip.parse( | 
|  | experimental_requirement_cycles = { | 
|  | "sphinx": [ | 
|  | "sphinx", | 
|  | "sphinxcontrib-serializinghtml", | 
|  | "sphinxcontrib-qthelp", | 
|  | "sphinxcontrib-htmlhelp", | 
|  | "sphinxcontrib-devhelp", | 
|  | "sphinxcontrib-applehelp", | 
|  | ], | 
|  | }, | 
|  | hub_name = "dev_pip", | 
|  | python_version = "3.11", | 
|  | requirements_lock = "//docs/sphinx:requirements.txt", | 
|  | ) | 
|  |  | 
|  | bazel_binaries = use_extension( | 
|  | "@rules_bazel_integration_test//:extensions.bzl", | 
|  | "bazel_binaries", | 
|  | dev_dependency = True, | 
|  | ) | 
|  |  | 
|  | # Keep in sync with //:version.bzl | 
|  | bazel_binaries.local( | 
|  | name = "self", | 
|  | path = "tests/integration/bazel_from_env", | 
|  | ) | 
|  | bazel_binaries.download(version = "6.4.0") | 
|  | bazel_binaries.download(version = "rolling") | 
|  | use_repo( | 
|  | bazel_binaries, | 
|  | "bazel_binaries", | 
|  | # These don't appear necessary, but are reported as direct dependencies | 
|  | # that should be use_repo()'d, so we add them as requested | 
|  | "bazel_binaries_bazelisk", | 
|  | "build_bazel_bazel_6_4_0", | 
|  | "build_bazel_bazel_rolling", | 
|  | "build_bazel_bazel_self", | 
|  | ) |