sphinx: Use sphinxdocs Bazel module

Sphinx features are now published as a separate Bazel module:
https://registry.bazel.build/modules/sphinxdocs

Note that the code still lives within rules_python:
https://github.com/bazel-contrib/rules_python/tree/main/sphinxdocs

Change-Id: Id4de87afeac7cba717c70973d186b841f9e661ce
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/435452
diff --git a/BUILD.bazel b/BUILD.bazel
index 2a1bb7c..b3e8cc7 100644
--- a/BUILD.bazel
+++ b/BUILD.bazel
@@ -18,7 +18,7 @@
 load("@pigweed//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("@pigweed//pw_ide/bazel/compile_commands:pw_compile_commands_generator.bzl", "pw_compile_commands_generator")
 load("@rules_license//rules:license.bzl", "license")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 
 package(
     default_applicable_licenses = ["//:license"],
diff --git a/MODULE.bazel b/MODULE.bazel
index b03c8e7..7109d09 100644
--- a/MODULE.bazel
+++ b/MODULE.bazel
@@ -63,10 +63,10 @@
 bazel_dep(name = "rules_rust_bindgen", version = "0.70.0")
 bazel_dep(name = "rules_rust_prost", version = "0.68.1")
 bazel_dep(name = "rules_shell", version = "0.6.1")
+bazel_dep(name = "sphinxdocs", version = "2.2.0")
 
 bazel_dep(name = "rules_doxygen", version = "2.4.2", dev_dependency = True)
 bazel_dep(name = "rules_mypy", version = "0.41.0", dev_dependency = True)
-bazel_dep(name = "sphinxdocs", version = "2.2.0", dev_dependency = True)
 
 # Bazel 9 compatibility
 # =====================
diff --git a/docker/BUILD.bazel b/docker/BUILD.bazel
index fb7c7b6..6bd3288 100644
--- a/docker/BUILD.bazel
+++ b/docker/BUILD.bazel
@@ -12,7 +12,7 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 package(default_visibility = ["//visibility:public"])
diff --git a/docs/doxygen/BUILD.bazel b/docs/doxygen/BUILD.bazel
index f29437b..bf498df 100644
--- a/docs/doxygen/BUILD.bazel
+++ b/docs/doxygen/BUILD.bazel
@@ -14,7 +14,7 @@
 
 load("@bazel_skylib//rules:copy_directory.bzl", "copy_directory")
 load("@doxygen//:doxygen.bzl", "doxygen")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 package(default_visibility = ["//visibility:public"])
diff --git a/docs/sphinx/BUILD.bazel b/docs/sphinx/BUILD.bazel
index f80d0ab..58526e4 100644
--- a/docs/sphinx/BUILD.bazel
+++ b/docs/sphinx/BUILD.bazel
@@ -13,8 +13,8 @@
 # the License.
 
 load("@bazel_skylib//rules:copy_directory.bzl", "copy_directory")
-load("@rules_python//sphinxdocs:sphinx.bzl", "sphinx_build_binary", "sphinx_docs")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx.bzl", "sphinx_build_binary", "sphinx_docs")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 licenses(["notice"])
diff --git a/docs/sphinx/changelog/BUILD.bazel b/docs/sphinx/changelog/BUILD.bazel
index 6ee1981..9a7562b 100644
--- a/docs/sphinx/changelog/BUILD.bazel
+++ b/docs/sphinx/changelog/BUILD.bazel
@@ -12,7 +12,7 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 
 sphinx_docs_library(
     name = "docs",
diff --git a/docs/sphinx/contributing/docs/build.rst b/docs/sphinx/contributing/docs/build.rst
index 1684114..65ff04e 100644
--- a/docs/sphinx/contributing/docs/build.rst
+++ b/docs/sphinx/contributing/docs/build.rst
@@ -94,7 +94,7 @@
 
    .. code-block:: py
 
-      load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+      load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
       load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
       sphinx_docs_library(
diff --git a/kudzu/BUILD.bazel b/kudzu/BUILD.bazel
index 0a81a5e..11f6a4a 100644
--- a/kudzu/BUILD.bazel
+++ b/kudzu/BUILD.bazel
@@ -12,7 +12,7 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 package(default_visibility = ["//visibility:public"])
diff --git a/pw_alignment/BUILD.bazel b/pw_alignment/BUILD.bazel
index e9007be..efc9113 100644
--- a/pw_alignment/BUILD.bazel
+++ b/pw_alignment/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 package(default_visibility = ["//visibility:public"])
diff --git a/pw_allocator/BUILD.bazel b/pw_allocator/BUILD.bazel
index add5408..6080c62 100644
--- a/pw_allocator/BUILD.bazel
+++ b/pw_allocator/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_bloat:pw_size_diff.bzl", "pw_size_diff")
 load("//pw_bloat:pw_size_table.bzl", "pw_size_table")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
diff --git a/pw_allocator/examples/BUILD.bazel b/pw_allocator/examples/BUILD.bazel
index baf48d4..f51377b 100644
--- a/pw_allocator/examples/BUILD.bazel
+++ b/pw_allocator/examples/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_bloat:pw_cc_size_binary.bzl", "pw_cc_size_binary")
 load("//pw_bloat:pw_size_diff.bzl", "pw_size_diff")
 load("//pw_bloat:pw_size_table.bzl", "pw_size_table")
diff --git a/pw_allocator/size_report/BUILD.bazel b/pw_allocator/size_report/BUILD.bazel
index c16b0d0..96e93c8 100644
--- a/pw_allocator/size_report/BUILD.bazel
+++ b/pw_allocator/size_report/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_bloat:pw_cc_size_binary.bzl", "pw_cc_size_binary")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
diff --git a/pw_allocator_zephyr/BUILD.bazel b/pw_allocator_zephyr/BUILD.bazel
index ec0cbec..d7a58e3 100644
--- a/pw_allocator_zephyr/BUILD.bazel
+++ b/pw_allocator_zephyr/BUILD.bazel
@@ -12,7 +12,7 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("@zephyr//:cc.bzl", "zephyr_cc_library")
 load("@zephyr//:cc_test.bzl", "zephyr_cc_test")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
diff --git a/pw_analog/BUILD.bazel b/pw_analog/BUILD.bazel
index be2ef0e..aeca9b4 100644
--- a/pw_analog/BUILD.bazel
+++ b/pw_analog/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test")
 
diff --git a/pw_android_toolchain/BUILD.bazel b/pw_android_toolchain/BUILD.bazel
index 1513198..78ea688 100644
--- a/pw_android_toolchain/BUILD.bazel
+++ b/pw_android_toolchain/BUILD.bazel
@@ -12,7 +12,7 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 package(default_visibility = ["//visibility:public"])
diff --git a/pw_arduino_build/BUILD.bazel b/pw_arduino_build/BUILD.bazel
index eb13969..2f9e268 100644
--- a/pw_arduino_build/BUILD.bazel
+++ b/pw_arduino_build/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 package(default_visibility = ["//visibility:public"])
diff --git a/pw_assert/BUILD.bazel b/pw_assert/BUILD.bazel
index 28691a9..4fe45ea 100644
--- a/pw_assert/BUILD.bazel
+++ b/pw_assert/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "host_backend_alias", "incompatible_with_mcu")
 load("//pw_build:pw_facade.bzl", "pw_facade")
 load("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test")
diff --git a/pw_assert_basic/BUILD.bazel b/pw_assert_basic/BUILD.bazel
index 2bfeffb..258d478 100644
--- a/pw_assert_basic/BUILD.bazel
+++ b/pw_assert_basic/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_build:pw_facade.bzl", "pw_facade")
 
diff --git a/pw_assert_fuchsia/BUILD.bazel b/pw_assert_fuchsia/BUILD.bazel
index 1da18e0..d05fa99 100644
--- a/pw_assert_fuchsia/BUILD.bazel
+++ b/pw_assert_fuchsia/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 package(default_visibility = ["//visibility:public"])
diff --git a/pw_assert_log/BUILD.bazel b/pw_assert_log/BUILD.bazel
index 3a81143..99b241c 100644
--- a/pw_assert_log/BUILD.bazel
+++ b/pw_assert_log/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test")
 
diff --git a/pw_assert_tokenized/BUILD.bazel b/pw_assert_tokenized/BUILD.bazel
index 224f9e4..ddf25bd 100644
--- a/pw_assert_tokenized/BUILD.bazel
+++ b/pw_assert_tokenized/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 package(
diff --git a/pw_assert_trap/BUILD.bazel b/pw_assert_trap/BUILD.bazel
index 5dd850d..62859ae 100644
--- a/pw_assert_trap/BUILD.bazel
+++ b/pw_assert_trap/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test")
 
diff --git a/pw_assert_zephyr/BUILD.bazel b/pw_assert_zephyr/BUILD.bazel
index 2f2e277..b824ef6 100644
--- a/pw_assert_zephyr/BUILD.bazel
+++ b/pw_assert_zephyr/BUILD.bazel
@@ -12,7 +12,7 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 package(default_visibility = ["//visibility:public"])
diff --git a/pw_async/BUILD.bazel b/pw_async/BUILD.bazel
index c7d3370..242a373 100644
--- a/pw_async/BUILD.bazel
+++ b/pw_async/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_build:pw_facade.bzl", "pw_facade")
 load("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test")
diff --git a/pw_async2/BUILD.bazel b/pw_async2/BUILD.bazel
index 773f0b0..4a19945 100644
--- a/pw_async2/BUILD.bazel
+++ b/pw_async2/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load(
     "//pw_build:compatibility.bzl",
     "incompatible_with_mcu",
diff --git a/pw_async2/codelab/BUILD.bazel b/pw_async2/codelab/BUILD.bazel
index e02a995..41a7c5c 100644
--- a/pw_async2/codelab/BUILD.bazel
+++ b/pw_async2/codelab/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_build:pw_cc_binary.bzl", "pw_cc_binary")
 load("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test")
diff --git a/pw_async2/codelab/step1/BUILD.bazel b/pw_async2/codelab/step1/BUILD.bazel
index b408abe..7ba097a 100644
--- a/pw_async2/codelab/step1/BUILD.bazel
+++ b/pw_async2/codelab/step1/BUILD.bazel
@@ -12,7 +12,7 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_build:pw_cc_binary.bzl", "pw_cc_binary")
 load("//pw_unit_test:pw_golden_test.bzl", "pw_golden_test")
diff --git a/pw_async2/codelab/step2/BUILD.bazel b/pw_async2/codelab/step2/BUILD.bazel
index 663c549..ee792dc 100644
--- a/pw_async2/codelab/step2/BUILD.bazel
+++ b/pw_async2/codelab/step2/BUILD.bazel
@@ -12,7 +12,7 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_build:pw_cc_binary.bzl", "pw_cc_binary")
 
diff --git a/pw_async2/codelab/step3/BUILD.bazel b/pw_async2/codelab/step3/BUILD.bazel
index a9f40fa..b2f8ce1 100644
--- a/pw_async2/codelab/step3/BUILD.bazel
+++ b/pw_async2/codelab/step3/BUILD.bazel
@@ -12,7 +12,7 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_build:pw_cc_binary.bzl", "pw_cc_binary")
 
diff --git a/pw_async2/codelab/step4/BUILD.bazel b/pw_async2/codelab/step4/BUILD.bazel
index 3b7da3a..cc88c44 100644
--- a/pw_async2/codelab/step4/BUILD.bazel
+++ b/pw_async2/codelab/step4/BUILD.bazel
@@ -12,7 +12,7 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_build:pw_cc_binary.bzl", "pw_cc_binary")
 
diff --git a/pw_async2/codelab/step5/BUILD.bazel b/pw_async2/codelab/step5/BUILD.bazel
index da09eb5..7667a89 100644
--- a/pw_async2/codelab/step5/BUILD.bazel
+++ b/pw_async2/codelab/step5/BUILD.bazel
@@ -12,7 +12,7 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_build:pw_cc_binary.bzl", "pw_cc_binary")
 
diff --git a/pw_async2/examples/BUILD.bazel b/pw_async2/examples/BUILD.bazel
index 7038a05..a0cc319 100644
--- a/pw_async2/examples/BUILD.bazel
+++ b/pw_async2/examples/BUILD.bazel
@@ -12,7 +12,7 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu", "minimum_cxx_20")
 load("//pw_build:pw_cc_binary.bzl", "pw_cc_binary")
 load("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test")
diff --git a/pw_async_basic/BUILD.bazel b/pw_async_basic/BUILD.bazel
index 215b9ca..5623c97 100644
--- a/pw_async_basic/BUILD.bazel
+++ b/pw_async_basic/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_bloat:pw_size_diff.bzl", "pw_size_diff")
 load("//pw_bloat:pw_size_table.bzl", "pw_size_table")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
diff --git a/pw_async_fuchsia/BUILD.bazel b/pw_async_fuchsia/BUILD.bazel
index 7260464..4a9498a 100644
--- a/pw_async_fuchsia/BUILD.bazel
+++ b/pw_async_fuchsia/BUILD.bazel
@@ -18,7 +18,7 @@
     "fuchsia_cc_test",
     "fuchsia_unittest_package",
 )
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_bluetooth_sapphire/fuchsia:fuchsia_api_level.bzl", "FUCHSIA_API_LEVEL")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
diff --git a/pw_atomic/BUILD.bazel b/pw_atomic/BUILD.bazel
index d7d721b..9c6c0c1 100644
--- a/pw_atomic/BUILD.bazel
+++ b/pw_atomic/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 package(default_visibility = ["//visibility:public"])
diff --git a/pw_base64/BUILD.bazel b/pw_base64/BUILD.bazel
index 0f9575d..c81d552 100644
--- a/pw_base64/BUILD.bazel
+++ b/pw_base64/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test")
 
diff --git a/pw_bloat/BUILD.bazel b/pw_bloat/BUILD.bazel
index fef2558..6e8f590 100644
--- a/pw_bloat/BUILD.bazel
+++ b/pw_bloat/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_bloat:pw_cc_size_binary.bzl", "pw_cc_size_binary")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
diff --git a/pw_bloat/docs.rst b/pw_bloat/docs.rst
index d6537f2..f68108f 100644
--- a/pw_bloat/docs.rst
+++ b/pw_bloat/docs.rst
@@ -226,7 +226,7 @@
 
 .. code-block:: bazel
 
-   load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+   load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 
    sphinx_docs_library(
       name = "docs",
diff --git a/pw_bloat/examples/BUILD.bazel b/pw_bloat/examples/BUILD.bazel
index 4b4c56a..9dd7b00 100644
--- a/pw_bloat/examples/BUILD.bazel
+++ b/pw_bloat/examples/BUILD.bazel
@@ -12,7 +12,7 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_bloat:pw_cc_size_binary.bzl", "pw_cc_size_binary")
 load("//pw_bloat:pw_size_diff.bzl", "pw_size_diff")
 load("//pw_bloat:pw_size_table.bzl", "pw_size_table")
diff --git a/pw_blob_store/BUILD.bazel b/pw_blob_store/BUILD.bazel
index f64c80d..5551131 100644
--- a/pw_blob_store/BUILD.bazel
+++ b/pw_blob_store/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_bloat:pw_size_diff.bzl", "pw_size_diff")
 load("//pw_bloat:pw_size_table.bzl", "pw_size_table")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
diff --git a/pw_blob_store/size_report/BUILD.bazel b/pw_blob_store/size_report/BUILD.bazel
index 7b3b2c6..ce491f5 100644
--- a/pw_blob_store/size_report/BUILD.bazel
+++ b/pw_blob_store/size_report/BUILD.bazel
@@ -12,7 +12,7 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_bloat:pw_cc_size_binary.bzl", "pw_cc_size_binary")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
diff --git a/pw_bluetooth/BUILD.bazel b/pw_bluetooth/BUILD.bazel
index 11f66aa..1e3afbc 100644
--- a/pw_bluetooth/BUILD.bazel
+++ b/pw_bluetooth/BUILD.bazel
@@ -14,7 +14,7 @@
 
 load("@com_google_emboss//:build_defs.bzl", "emboss_cc_library")
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_bloat:pw_cc_size_binary.bzl", "pw_cc_size_binary")
 load("//pw_bloat:pw_size_diff.bzl", "pw_size_diff")
 load("//pw_bloat:pw_size_table.bzl", "pw_size_table")
diff --git a/pw_bluetooth_hci/BUILD.bazel b/pw_bluetooth_hci/BUILD.bazel
index a755008..109d327 100644
--- a/pw_bluetooth_hci/BUILD.bazel
+++ b/pw_bluetooth_hci/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_fuzzer:fuzzer.bzl", "pw_cc_fuzz_test")
 load("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test")
diff --git a/pw_bluetooth_profiles/BUILD.bazel b/pw_bluetooth_profiles/BUILD.bazel
index 1571054..5d6c03e 100644
--- a/pw_bluetooth_profiles/BUILD.bazel
+++ b/pw_bluetooth_profiles/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test")
 
diff --git a/pw_bluetooth_proxy/BUILD.bazel b/pw_bluetooth_proxy/BUILD.bazel
index 4af36ce..b0d94dc 100644
--- a/pw_bluetooth_proxy/BUILD.bazel
+++ b/pw_bluetooth_proxy/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_bloat:pw_size_diff.bzl", "pw_size_diff")
 load("//pw_bloat:pw_size_table.bzl", "pw_size_table")
 load("//pw_bluetooth_proxy:bt-proxy.bzl", "pw_bluetooth_proxy_library", "pw_bluetooth_proxy_test", "pw_bluetooth_proxy_test_utils")
diff --git a/pw_bluetooth_sapphire/BUILD.bazel b/pw_bluetooth_sapphire/BUILD.bazel
index 0f53150..9caa489 100644
--- a/pw_bluetooth_sapphire/BUILD.bazel
+++ b/pw_bluetooth_sapphire/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test")
 
diff --git a/pw_bluetooth_sapphire/host/att/BUILD.bazel b/pw_bluetooth_sapphire/host/att/BUILD.bazel
index 80d1cf6..3eba809 100644
--- a/pw_bluetooth_sapphire/host/att/BUILD.bazel
+++ b/pw_bluetooth_sapphire/host/att/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test")
 
diff --git a/pw_bluetooth_sapphire/host/gap/BUILD.bazel b/pw_bluetooth_sapphire/host/gap/BUILD.bazel
index ea86213..f40db73 100644
--- a/pw_bluetooth_sapphire/host/gap/BUILD.bazel
+++ b/pw_bluetooth_sapphire/host/gap/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_fuzzer:fuzzer.bzl", "pw_cc_fuzz_test")
 load("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test")
diff --git a/pw_bluetooth_sapphire/host/l2cap/BUILD.bazel b/pw_bluetooth_sapphire/host/l2cap/BUILD.bazel
index 2c4f33b..922079d 100644
--- a/pw_bluetooth_sapphire/host/l2cap/BUILD.bazel
+++ b/pw_bluetooth_sapphire/host/l2cap/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_fuzzer:fuzzer.bzl", "pw_cc_fuzz_test")
 load("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test")
diff --git a/pw_boot/BUILD.bazel b/pw_boot/BUILD.bazel
index 9655e37..a166a4f 100644
--- a/pw_boot/BUILD.bazel
+++ b/pw_boot/BUILD.bazel
@@ -12,7 +12,7 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_build:pw_facade.bzl", "pw_facade")
 
diff --git a/pw_boot_cortex_m/BUILD.bazel b/pw_boot_cortex_m/BUILD.bazel
index fdf1320..f80138b 100644
--- a/pw_boot_cortex_m/BUILD.bazel
+++ b/pw_boot_cortex_m/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 package(default_visibility = ["//visibility:public"])
diff --git a/pw_build/BUILD.bazel b/pw_build/BUILD.bazel
index b40b0e3..9890431 100644
--- a/pw_build/BUILD.bazel
+++ b/pw_build/BUILD.bazel
@@ -17,7 +17,7 @@
 load("@com_google_protobuf//bazel/toolchains:proto_lang_toolchain.bzl", "proto_lang_toolchain")
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
 load("@rules_python//python/entry_points:py_console_script_binary.bzl", "py_console_script_binary")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_build:glob_dirs.bzl", "glob_dirs", "match_dir", "match_dir_internal")
 load("//pw_build:load_phase_test.bzl", "pw_bool_comparison_test", "pw_string_comparison_test", "pw_string_list_comparison_test", "return_error")
diff --git a/pw_build/py/BUILD.bazel b/pw_build/py/BUILD.bazel
index 9b5a930..810051b 100644
--- a/pw_build/py/BUILD.bazel
+++ b/pw_build/py/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@bazel_skylib//rules:run_binary.bzl", "run_binary")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_build:python.bzl", "pw_py_binary", "pw_py_library", "pw_py_test")
 load("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test")
diff --git a/pw_build_android/BUILD.bazel b/pw_build_android/BUILD.bazel
index d3aeb12..8aff254 100644
--- a/pw_build_android/BUILD.bazel
+++ b/pw_build_android/BUILD.bazel
@@ -12,7 +12,7 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 package(default_visibility = ["//visibility:public"])
diff --git a/pw_build_info/BUILD.bazel b/pw_build_info/BUILD.bazel
index 88bcd68..eaf7e85 100644
--- a/pw_build_info/BUILD.bazel
+++ b/pw_build_info/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_build:pw_linker_script.bzl", "pw_linker_script")
 load("//pw_build:python.bzl", "pw_py_binary")
diff --git a/pw_build_mcuxpresso/BUILD.bazel b/pw_build_mcuxpresso/BUILD.bazel
index b651560..d5f8de6 100644
--- a/pw_build_mcuxpresso/BUILD.bazel
+++ b/pw_build_mcuxpresso/BUILD.bazel
@@ -12,7 +12,7 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 package(default_visibility = ["//visibility:public"])
diff --git a/pw_bytes/BUILD.bazel b/pw_bytes/BUILD.bazel
index b641c19..8394839 100644
--- a/pw_bytes/BUILD.bazel
+++ b/pw_bytes/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_bloat:pw_size_diff.bzl", "pw_size_diff")
 load("//pw_bloat:pw_size_table.bzl", "pw_size_table")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
diff --git a/pw_change/BUILD.bazel b/pw_change/BUILD.bazel
index f85d7ec..a7336f0 100644
--- a/pw_change/BUILD.bazel
+++ b/pw_change/BUILD.bazel
@@ -12,7 +12,7 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 package(default_visibility = ["//visibility:public"])
diff --git a/pw_channel/BUILD.bazel b/pw_channel/BUILD.bazel
index c47d237..193ecfa 100644
--- a/pw_channel/BUILD.bazel
+++ b/pw_channel/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test")
 
diff --git a/pw_checksum/BUILD.bazel b/pw_checksum/BUILD.bazel
index 977a39f..7779ff2 100644
--- a/pw_checksum/BUILD.bazel
+++ b/pw_checksum/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_bloat:pw_size_diff.bzl", "pw_size_diff")
 load("//pw_bloat:pw_size_table.bzl", "pw_size_table")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
diff --git a/pw_chre/BUILD.bazel b/pw_chre/BUILD.bazel
index 92ddded..d4c1e4a 100644
--- a/pw_chre/BUILD.bazel
+++ b/pw_chre/BUILD.bazel
@@ -12,7 +12,7 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 package(default_visibility = ["//visibility:public"])
diff --git a/pw_chrono/BUILD.bazel b/pw_chrono/BUILD.bazel
index 32dcbcb..8db7650 100644
--- a/pw_chrono/BUILD.bazel
+++ b/pw_chrono/BUILD.bazel
@@ -15,7 +15,7 @@
 load("@com_google_protobuf//bazel:proto_library.bzl", "proto_library")
 load("@com_google_protobuf//bazel:py_proto_library.bzl", "py_proto_library")
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "host_backend_alias", "incompatible_with_mcu")
 load("//pw_build:pw_facade.bzl", "pw_facade")
 load("//pw_build:python.bzl", "pw_py_binary")
diff --git a/pw_chrono_embos/BUILD.bazel b/pw_chrono_embos/BUILD.bazel
index c6ba8ce..1fb9a02 100644
--- a/pw_chrono_embos/BUILD.bazel
+++ b/pw_chrono_embos/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 package(default_visibility = ["//visibility:public"])
diff --git a/pw_chrono_freertos/BUILD.bazel b/pw_chrono_freertos/BUILD.bazel
index 581ef63..94844aa 100644
--- a/pw_chrono_freertos/BUILD.bazel
+++ b/pw_chrono_freertos/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 package(default_visibility = ["//visibility:public"])
diff --git a/pw_chrono_rp2040/BUILD.bazel b/pw_chrono_rp2040/BUILD.bazel
index 86ead81..177a17e 100644
--- a/pw_chrono_rp2040/BUILD.bazel
+++ b/pw_chrono_rp2040/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test")
 
diff --git a/pw_chrono_stl/BUILD.bazel b/pw_chrono_stl/BUILD.bazel
index 63d1818..d76a687 100644
--- a/pw_chrono_stl/BUILD.bazel
+++ b/pw_chrono_stl/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 package(default_visibility = ["//visibility:public"])
diff --git a/pw_chrono_threadx/BUILD.bazel b/pw_chrono_threadx/BUILD.bazel
index e2533d7..11ae496 100644
--- a/pw_chrono_threadx/BUILD.bazel
+++ b/pw_chrono_threadx/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 package(default_visibility = ["//visibility:public"])
diff --git a/pw_chrono_zephyr/BUILD.bazel b/pw_chrono_zephyr/BUILD.bazel
index 1b50c75..fad804d 100644
--- a/pw_chrono_zephyr/BUILD.bazel
+++ b/pw_chrono_zephyr/BUILD.bazel
@@ -12,7 +12,7 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("@zephyr//:cc.bzl", "zephyr_cc_library")
 load("@zephyr//:cc_test.bzl", "zephyr_cc_test")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
diff --git a/pw_cli/BUILD.bazel b/pw_cli/BUILD.bazel
index dd8f244..7281475 100644
--- a/pw_cli/BUILD.bazel
+++ b/pw_cli/BUILD.bazel
@@ -12,7 +12,7 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 package(default_visibility = ["//visibility:public"])
diff --git a/pw_cli_analytics/BUILD.bazel b/pw_cli_analytics/BUILD.bazel
index 4f3452d..6c0aba3 100644
--- a/pw_cli_analytics/BUILD.bazel
+++ b/pw_cli_analytics/BUILD.bazel
@@ -12,7 +12,7 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 package(default_visibility = ["//visibility:public"])
diff --git a/pw_clock_tree/BUILD.bazel b/pw_clock_tree/BUILD.bazel
index 1dab792..caf9121 100644
--- a/pw_clock_tree/BUILD.bazel
+++ b/pw_clock_tree/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test")
 
diff --git a/pw_clock_tree_mcuxpresso/BUILD.bazel b/pw_clock_tree_mcuxpresso/BUILD.bazel
index d80abca..8c695b9 100644
--- a/pw_clock_tree_mcuxpresso/BUILD.bazel
+++ b/pw_clock_tree_mcuxpresso/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test")
 
diff --git a/pw_compilation_testing/BUILD.bazel b/pw_compilation_testing/BUILD.bazel
index cf52f59..b5908b9 100644
--- a/pw_compilation_testing/BUILD.bazel
+++ b/pw_compilation_testing/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test")
 
diff --git a/pw_config_loader/BUILD.bazel b/pw_config_loader/BUILD.bazel
index a89d50f..31ced79 100644
--- a/pw_config_loader/BUILD.bazel
+++ b/pw_config_loader/BUILD.bazel
@@ -12,7 +12,7 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 package(default_visibility = ["//visibility:public"])
diff --git a/pw_console/BUILD.bazel b/pw_console/BUILD.bazel
index ae867bb..b227049 100644
--- a/pw_console/BUILD.bazel
+++ b/pw_console/BUILD.bazel
@@ -12,7 +12,7 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 package(default_visibility = ["//visibility:public"])
diff --git a/pw_console/py/BUILD.bazel b/pw_console/py/BUILD.bazel
index 808e241..08e8930 100644
--- a/pw_console/py/BUILD.bazel
+++ b/pw_console/py/BUILD.bazel
@@ -12,7 +12,7 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_build:python.bzl", "pw_py_binary", "pw_py_library", "pw_py_test")
 
diff --git a/pw_containers/BUILD.bazel b/pw_containers/BUILD.bazel
index 63b99cc..ca2786a 100644
--- a/pw_containers/BUILD.bazel
+++ b/pw_containers/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_bloat:pw_size_diff.bzl", "pw_size_diff")
 load("//pw_bloat:pw_size_table.bzl", "pw_size_table")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
diff --git a/pw_containers/examples/BUILD.bazel b/pw_containers/examples/BUILD.bazel
index 3b97b1f..cf95c71 100644
--- a/pw_containers/examples/BUILD.bazel
+++ b/pw_containers/examples/BUILD.bazel
@@ -12,7 +12,7 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test")
 
diff --git a/pw_cpu_exception/BUILD.bazel b/pw_cpu_exception/BUILD.bazel
index 4ed2a8f..c157565 100644
--- a/pw_cpu_exception/BUILD.bazel
+++ b/pw_cpu_exception/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "boolean_constraint_value", "incompatible_with_mcu")
 load("//pw_build:pw_facade.bzl", "pw_facade")
 
diff --git a/pw_cpu_exception_cortex_m/BUILD.bazel b/pw_cpu_exception_cortex_m/BUILD.bazel
index 0caa819..df9092c 100644
--- a/pw_cpu_exception_cortex_m/BUILD.bazel
+++ b/pw_cpu_exception_cortex_m/BUILD.bazel
@@ -15,7 +15,7 @@
 load("@com_google_protobuf//bazel:proto_library.bzl", "proto_library")
 load("@com_google_protobuf//bazel:py_proto_library.bzl", "py_proto_library")
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_build:pw_facade.bzl", "pw_facade")
 load("//pw_protobuf_compiler:pw_proto_library.bzl", "pwpb_proto_library")
diff --git a/pw_cpu_exception_risc_v/BUILD.bazel b/pw_cpu_exception_risc_v/BUILD.bazel
index ee9e314..de0b195 100644
--- a/pw_cpu_exception_risc_v/BUILD.bazel
+++ b/pw_cpu_exception_risc_v/BUILD.bazel
@@ -15,7 +15,7 @@
 load("@com_google_protobuf//bazel:proto_library.bzl", "proto_library")
 load("@com_google_protobuf//bazel:py_proto_library.bzl", "py_proto_library")
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_protobuf_compiler:pw_proto_library.bzl", "pwpb_proto_library")
 
diff --git a/pw_crypto/BUILD.bazel b/pw_crypto/BUILD.bazel
index 5a3e63f..d2e6628 100644
--- a/pw_crypto/BUILD.bazel
+++ b/pw_crypto/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_bloat:pw_size_diff.bzl", "pw_size_diff")
 load("//pw_bloat:pw_size_table.bzl", "pw_size_table")
 load("//pw_build:compatibility.bzl", "host_backend_alias", "incompatible_with_mcu")
diff --git a/pw_digital_io/BUILD.bazel b/pw_digital_io/BUILD.bazel
index 15d6bcf..fba7480 100644
--- a/pw_digital_io/BUILD.bazel
+++ b/pw_digital_io/BUILD.bazel
@@ -15,7 +15,7 @@
 load("@com_google_protobuf//bazel:proto_library.bzl", "proto_library")
 load("@com_google_protobuf//bazel:py_proto_library.bzl", "py_proto_library")
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load(
     "//pw_protobuf_compiler:pw_proto_library.bzl",
diff --git a/pw_digital_io_linux/BUILD.bazel b/pw_digital_io_linux/BUILD.bazel
index 35b18c9..e8c56a1 100644
--- a/pw_digital_io_linux/BUILD.bazel
+++ b/pw_digital_io_linux/BUILD.bazel
@@ -14,7 +14,7 @@
 
 load("@rules_cc//cc:cc_binary.bzl", "cc_binary")
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test")
 
diff --git a/pw_digital_io_linux/examples/BUILD.bazel b/pw_digital_io_linux/examples/BUILD.bazel
index ccded02..2f36c85 100644
--- a/pw_digital_io_linux/examples/BUILD.bazel
+++ b/pw_digital_io_linux/examples/BUILD.bazel
@@ -12,7 +12,7 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test")
 
diff --git a/pw_digital_io_mcuxpresso/BUILD.bazel b/pw_digital_io_mcuxpresso/BUILD.bazel
index 161c7ec..93573bb 100644
--- a/pw_digital_io_mcuxpresso/BUILD.bazel
+++ b/pw_digital_io_mcuxpresso/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test")
 
diff --git a/pw_digital_io_rp2040/BUILD.bazel b/pw_digital_io_rp2040/BUILD.bazel
index 4fa91e8..2c47847 100644
--- a/pw_digital_io_rp2040/BUILD.bazel
+++ b/pw_digital_io_rp2040/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test")
 
diff --git a/pw_digital_io_zephyr/BUILD.bazel b/pw_digital_io_zephyr/BUILD.bazel
index 7b0b0e3..220e76c 100644
--- a/pw_digital_io_zephyr/BUILD.bazel
+++ b/pw_digital_io_zephyr/BUILD.bazel
@@ -12,7 +12,7 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("@zephyr//:cc.bzl", "zephyr_cc_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
diff --git a/pw_display/BUILD.bazel b/pw_display/BUILD.bazel
index b3a417b..db3df25 100644
--- a/pw_display/BUILD.bazel
+++ b/pw_display/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test")
 
diff --git a/pw_dma_mcuxpresso/BUILD.bazel b/pw_dma_mcuxpresso/BUILD.bazel
index 79a4f53..09c85bc 100644
--- a/pw_dma_mcuxpresso/BUILD.bazel
+++ b/pw_dma_mcuxpresso/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 package(default_visibility = ["//visibility:public"])
diff --git a/pw_docgen/BUILD.bazel b/pw_docgen/BUILD.bazel
index e20d2db..776b788 100644
--- a/pw_docgen/BUILD.bazel
+++ b/pw_docgen/BUILD.bazel
@@ -12,7 +12,7 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 package(default_visibility = ["//visibility:public"])
diff --git a/pw_doctor/BUILD.bazel b/pw_doctor/BUILD.bazel
index f1096eb..4ca7aca 100644
--- a/pw_doctor/BUILD.bazel
+++ b/pw_doctor/BUILD.bazel
@@ -12,7 +12,7 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 package(default_visibility = ["//visibility:public"])
diff --git a/pw_elf/BUILD.bazel b/pw_elf/BUILD.bazel
index f291827..8bafc94 100644
--- a/pw_elf/BUILD.bazel
+++ b/pw_elf/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test")
 
diff --git a/pw_elf/examples/BUILD.bazel b/pw_elf/examples/BUILD.bazel
index 703dea4..d505f12 100644
--- a/pw_elf/examples/BUILD.bazel
+++ b/pw_elf/examples/BUILD.bazel
@@ -12,7 +12,7 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test")
 
diff --git a/pw_emu/BUILD.bazel b/pw_emu/BUILD.bazel
index 6d46661..1b674ec 100644
--- a/pw_emu/BUILD.bazel
+++ b/pw_emu/BUILD.bazel
@@ -12,7 +12,7 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 package(default_visibility = ["//visibility:public"])
diff --git a/pw_enum/BUILD.bazel b/pw_enum/BUILD.bazel
index 85b5123..e09d8bc 100644
--- a/pw_enum/BUILD.bazel
+++ b/pw_enum/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_enum:pw_cc_enum_library.bzl", "pw_cc_enum_library")
 load("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test")
diff --git a/pw_env_setup/BUILD.bazel b/pw_env_setup/BUILD.bazel
index d67f57b..9fb1ea4 100644
--- a/pw_env_setup/BUILD.bazel
+++ b/pw_env_setup/BUILD.bazel
@@ -12,7 +12,7 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 sphinx_docs_library(
diff --git a/pw_env_setup/bazel/cipd/BUILD.bazel b/pw_env_setup/bazel/cipd/BUILD.bazel
index 7fd17a5..45d8188 100644
--- a/pw_env_setup/bazel/cipd/BUILD.bazel
+++ b/pw_env_setup/bazel/cipd/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@bazel_skylib//:bzl_library.bzl", "bzl_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 package(
diff --git a/pw_env_setup_zephyr/BUILD.bazel b/pw_env_setup_zephyr/BUILD.bazel
index c512176..f9d8d23 100644
--- a/pw_env_setup_zephyr/BUILD.bazel
+++ b/pw_env_setup_zephyr/BUILD.bazel
@@ -12,7 +12,7 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 package(default_visibility = ["//visibility:public"])
diff --git a/pw_file/BUILD.bazel b/pw_file/BUILD.bazel
index 67eb439..3cef343 100644
--- a/pw_file/BUILD.bazel
+++ b/pw_file/BUILD.bazel
@@ -15,7 +15,7 @@
 load("@com_google_protobuf//bazel:proto_library.bzl", "proto_library")
 load("@com_google_protobuf//bazel:py_proto_library.bzl", "py_proto_library")
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load(
     "//pw_protobuf_compiler:pw_proto_library.bzl",
diff --git a/pw_flatbuffers/BUILD.bazel b/pw_flatbuffers/BUILD.bazel
index dec1794..ff077d3 100644
--- a/pw_flatbuffers/BUILD.bazel
+++ b/pw_flatbuffers/BUILD.bazel
@@ -12,7 +12,7 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 package(default_visibility = ["//visibility:public"])
diff --git a/pw_format/BUILD.bazel b/pw_format/BUILD.bazel
index b7f0942..505e184 100644
--- a/pw_format/BUILD.bazel
+++ b/pw_format/BUILD.bazel
@@ -12,7 +12,7 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 package(default_visibility = ["//visibility:public"])
diff --git a/pw_fortifier/BUILD.bazel b/pw_fortifier/BUILD.bazel
index bb5d6f2..2d4626a 100644
--- a/pw_fortifier/BUILD.bazel
+++ b/pw_fortifier/BUILD.bazel
@@ -12,7 +12,7 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 package(default_visibility = ["//visibility:public"])
diff --git a/pw_function/BUILD.bazel b/pw_function/BUILD.bazel
index d069678..7e0d7e1 100644
--- a/pw_function/BUILD.bazel
+++ b/pw_function/BUILD.bazel
@@ -14,7 +14,7 @@
 
 load("@bazel_skylib//lib:selects.bzl", "selects")
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_bloat:pw_size_diff.bzl", "pw_size_diff")
 load("//pw_bloat:pw_size_table.bzl", "pw_size_table")
 load("//pw_build:compatibility.bzl", "boolean_constraint_value", "incompatible_with_mcu")
diff --git a/pw_fuzzer/BUILD.bazel b/pw_fuzzer/BUILD.bazel
index bd5ec9c..519e320 100644
--- a/pw_fuzzer/BUILD.bazel
+++ b/pw_fuzzer/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 package(default_visibility = ["//visibility:public"])
diff --git a/pw_fuzzer/examples/fuzztest/BUILD.bazel b/pw_fuzzer/examples/fuzztest/BUILD.bazel
index d6b941c..6cb835f 100644
--- a/pw_fuzzer/examples/fuzztest/BUILD.bazel
+++ b/pw_fuzzer/examples/fuzztest/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test")
 
diff --git a/pw_grpc/BUILD.bazel b/pw_grpc/BUILD.bazel
index cb823b2..821e8d2 100644
--- a/pw_grpc/BUILD.bazel
+++ b/pw_grpc/BUILD.bazel
@@ -16,7 +16,7 @@
 load("@io_bazel_rules_go//go:def.bzl", "go_test")
 load("@rules_cc//cc:cc_binary.bzl", "cc_binary")
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "boolean_constraint_value", "incompatible_with_mcu")
 load("//pw_build:merge_flags.bzl", "flags_from_dict")
 load(
diff --git a/pw_hdlc/BUILD.bazel b/pw_hdlc/BUILD.bazel
index ae13c7d..09b9b02 100644
--- a/pw_hdlc/BUILD.bazel
+++ b/pw_hdlc/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_bloat:pw_size_diff.bzl", "pw_size_diff")
 load("//pw_bloat:pw_size_table.bzl", "pw_size_table")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
diff --git a/pw_hdlc/rpc_example/BUILD.bazel b/pw_hdlc/rpc_example/BUILD.bazel
index 9894575..ab335f7 100644
--- a/pw_hdlc/rpc_example/BUILD.bazel
+++ b/pw_hdlc/rpc_example/BUILD.bazel
@@ -12,7 +12,7 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_build:pw_cc_binary.bzl", "pw_cc_binary")
 load("//pw_build:python.bzl", "pw_py_binary")
diff --git a/pw_hex_dump/BUILD.bazel b/pw_hex_dump/BUILD.bazel
index 56aa441..2ab63de 100644
--- a/pw_hex_dump/BUILD.bazel
+++ b/pw_hex_dump/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test")
 
diff --git a/pw_i2c/BUILD.bazel b/pw_i2c/BUILD.bazel
index d592d64..d3f7fdb 100644
--- a/pw_i2c/BUILD.bazel
+++ b/pw_i2c/BUILD.bazel
@@ -15,7 +15,7 @@
 load("@com_google_protobuf//bazel:proto_library.bzl", "proto_library")
 load("@com_google_protobuf//bazel:py_proto_library.bzl", "py_proto_library")
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_build:pw_facade.bzl", "pw_facade")
 load(
diff --git a/pw_i2c_linux/BUILD.bazel b/pw_i2c_linux/BUILD.bazel
index fa97995..55ed9b4 100644
--- a/pw_i2c_linux/BUILD.bazel
+++ b/pw_i2c_linux/BUILD.bazel
@@ -14,7 +14,7 @@
 
 load("@rules_cc//cc:cc_binary.bzl", "cc_binary")
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test")
 
diff --git a/pw_i2c_mcuxpresso/BUILD.bazel b/pw_i2c_mcuxpresso/BUILD.bazel
index 93feea9..dfc4724 100644
--- a/pw_i2c_mcuxpresso/BUILD.bazel
+++ b/pw_i2c_mcuxpresso/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test")
 
diff --git a/pw_i2c_rp2040/BUILD.bazel b/pw_i2c_rp2040/BUILD.bazel
index 8f1987c..a438923 100644
--- a/pw_i2c_rp2040/BUILD.bazel
+++ b/pw_i2c_rp2040/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test")
 
diff --git a/pw_i2c_zephyr/BUILD.bazel b/pw_i2c_zephyr/BUILD.bazel
index 37440ba..129e529 100644
--- a/pw_i2c_zephyr/BUILD.bazel
+++ b/pw_i2c_zephyr/BUILD.bazel
@@ -12,7 +12,7 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 package(default_visibility = ["//visibility:public"])
diff --git a/pw_ide/BUILD.bazel b/pw_ide/BUILD.bazel
index a340829..f98ed8a 100644
--- a/pw_ide/BUILD.bazel
+++ b/pw_ide/BUILD.bazel
@@ -12,7 +12,7 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 package(default_visibility = ["//visibility:public"])
diff --git a/pw_interrupt/BUILD.bazel b/pw_interrupt/BUILD.bazel
index 3fcc1b5..cdd3e78 100644
--- a/pw_interrupt/BUILD.bazel
+++ b/pw_interrupt/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "host_backend_alias", "incompatible_with_mcu")
 load("//pw_build:pw_facade.bzl", "pw_facade")
 
diff --git a/pw_interrupt_cortex_m/BUILD.bazel b/pw_interrupt_cortex_m/BUILD.bazel
index 28d1ed2..a720022 100644
--- a/pw_interrupt_cortex_m/BUILD.bazel
+++ b/pw_interrupt_cortex_m/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 package(default_visibility = ["//visibility:public"])
diff --git a/pw_interrupt_freertos/BUILD.bazel b/pw_interrupt_freertos/BUILD.bazel
index e0df52d..df8ac39 100644
--- a/pw_interrupt_freertos/BUILD.bazel
+++ b/pw_interrupt_freertos/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 package(default_visibility = ["//visibility:public"])
diff --git a/pw_interrupt_zephyr/BUILD.bazel b/pw_interrupt_zephyr/BUILD.bazel
index 36ac968..9e4fe4a 100644
--- a/pw_interrupt_zephyr/BUILD.bazel
+++ b/pw_interrupt_zephyr/BUILD.bazel
@@ -12,7 +12,7 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 package(default_visibility = ["//visibility:public"])
diff --git a/pw_intrusive_ptr/BUILD.bazel b/pw_intrusive_ptr/BUILD.bazel
index dbbda3a..c66b3f3 100644
--- a/pw_intrusive_ptr/BUILD.bazel
+++ b/pw_intrusive_ptr/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test")
 
diff --git a/pw_json/BUILD.bazel b/pw_json/BUILD.bazel
index 826d27b..a6887a2 100644
--- a/pw_json/BUILD.bazel
+++ b/pw_json/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test")
 
diff --git a/pw_kernel/BUILD.bazel b/pw_kernel/BUILD.bazel
index c167144..327c8cc 100644
--- a/pw_kernel/BUILD.bazel
+++ b/pw_kernel/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@bazel_skylib//rules:common_settings.bzl", "bool_flag")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_build:pw_rust_docs.bzl", "pw_rust_docs")
 
diff --git a/pw_kvs/BUILD.bazel b/pw_kvs/BUILD.bazel
index a887eee..8322489 100644
--- a/pw_kvs/BUILD.bazel
+++ b/pw_kvs/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_bloat:pw_size_diff.bzl", "pw_size_diff")
 load("//pw_bloat:pw_size_table.bzl", "pw_size_table")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
diff --git a/pw_libc/BUILD.bazel b/pw_libc/BUILD.bazel
index 8d98deb..943bacd 100644
--- a/pw_libc/BUILD.bazel
+++ b/pw_libc/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_toolchain/cc/current_toolchain:conditions.bzl", "if_compiler_is_clang")
 load("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test")
diff --git a/pw_libcxx/BUILD.bazel b/pw_libcxx/BUILD.bazel
index 264c857..ffd4dea 100644
--- a/pw_libcxx/BUILD.bazel
+++ b/pw_libcxx/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_toolchain/cc/current_toolchain:conditions.bzl", "if_compiler_is_clang")
 load("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test")
diff --git a/pw_log/BUILD.bazel b/pw_log/BUILD.bazel
index 37f07ae..dbf06aa 100644
--- a/pw_log/BUILD.bazel
+++ b/pw_log/BUILD.bazel
@@ -16,7 +16,7 @@
 load("@com_google_protobuf//bazel:proto_library.bzl", "proto_library")
 load("@com_google_protobuf//bazel:py_proto_library.bzl", "py_proto_library")
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "host_backend_alias", "incompatible_with_mcu")
 load("//pw_build:copy_to_bin.bzl", "copy_to_bin")
 load("//pw_build:pw_facade.bzl", "pw_facade")
diff --git a/pw_log_android/BUILD.bazel b/pw_log_android/BUILD.bazel
index 0e30d30..e2864ca 100644
--- a/pw_log_android/BUILD.bazel
+++ b/pw_log_android/BUILD.bazel
@@ -12,7 +12,7 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 package(default_visibility = ["//visibility:public"])
diff --git a/pw_log_basic/BUILD.bazel b/pw_log_basic/BUILD.bazel
index b3fd695..b84391c 100644
--- a/pw_log_basic/BUILD.bazel
+++ b/pw_log_basic/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 package(
diff --git a/pw_log_fuchsia/BUILD.bazel b/pw_log_fuchsia/BUILD.bazel
index dd63918..bef803b 100644
--- a/pw_log_fuchsia/BUILD.bazel
+++ b/pw_log_fuchsia/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 package(default_visibility = ["//visibility:public"])
diff --git a/pw_log_null/BUILD.bazel b/pw_log_null/BUILD.bazel
index e7aa47e..17ca9e5 100644
--- a/pw_log_null/BUILD.bazel
+++ b/pw_log_null/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test")
 
diff --git a/pw_log_rpc/BUILD.bazel b/pw_log_rpc/BUILD.bazel
index 3a34e0d..d9916b4 100644
--- a/pw_log_rpc/BUILD.bazel
+++ b/pw_log_rpc/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test")
 
diff --git a/pw_log_string/BUILD.bazel b/pw_log_string/BUILD.bazel
index ea3719f..7fbf35d 100644
--- a/pw_log_string/BUILD.bazel
+++ b/pw_log_string/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_build:pw_facade.bzl", "pw_facade")
 
diff --git a/pw_log_tokenized/BUILD.bazel b/pw_log_tokenized/BUILD.bazel
index 4a37a78..61b171b 100644
--- a/pw_log_tokenized/BUILD.bazel
+++ b/pw_log_tokenized/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_build:pw_facade.bzl", "pw_facade")
 load("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test")
diff --git a/pw_log_zephyr/BUILD.bazel b/pw_log_zephyr/BUILD.bazel
index 8278dd5..0ca5e6d 100644
--- a/pw_log_zephyr/BUILD.bazel
+++ b/pw_log_zephyr/BUILD.bazel
@@ -12,7 +12,7 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 package(default_visibility = ["//visibility:public"])
diff --git a/pw_malloc/BUILD.bazel b/pw_malloc/BUILD.bazel
index f2f9cc3..50c8e7f 100644
--- a/pw_malloc/BUILD.bazel
+++ b/pw_malloc/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_build:pw_facade.bzl", "pw_facade")
 load("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test")
diff --git a/pw_malloc_freelist/BUILD.bazel b/pw_malloc_freelist/BUILD.bazel
index a22e20b..f286066 100644
--- a/pw_malloc_freelist/BUILD.bazel
+++ b/pw_malloc_freelist/BUILD.bazel
@@ -12,7 +12,7 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 package(
diff --git a/pw_malloc_freertos/BUILD.bazel b/pw_malloc_freertos/BUILD.bazel
index b342d2d..9d59cf9 100644
--- a/pw_malloc_freertos/BUILD.bazel
+++ b/pw_malloc_freertos/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 package(default_visibility = ["//visibility:public"])
diff --git a/pw_memory/BUILD.bazel b/pw_memory/BUILD.bazel
index 06f7bf5..3009a0f 100644
--- a/pw_memory/BUILD.bazel
+++ b/pw_memory/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test")
 
diff --git a/pw_metric/BUILD.bazel b/pw_metric/BUILD.bazel
index 15bd166..cc216a6 100644
--- a/pw_metric/BUILD.bazel
+++ b/pw_metric/BUILD.bazel
@@ -15,7 +15,7 @@
 load("@com_google_protobuf//bazel:proto_library.bzl", "proto_library")
 load("@com_google_protobuf//bazel:py_proto_library.bzl", "py_proto_library")
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_bloat:pw_size_diff.bzl", "pw_size_diff")
 load("//pw_bloat:pw_size_table.bzl", "pw_size_table")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
diff --git a/pw_module/BUILD.bazel b/pw_module/BUILD.bazel
index 812d074..0e77a99 100644
--- a/pw_module/BUILD.bazel
+++ b/pw_module/BUILD.bazel
@@ -12,7 +12,7 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 package(default_visibility = ["//visibility:public"])
diff --git a/pw_module/py/pw_module/templates/BUILD.bazel.jinja b/pw_module/py/pw_module/templates/BUILD.bazel.jinja
index db22440..3315de4 100644
--- a/pw_module/py/pw_module/templates/BUILD.bazel.jinja
+++ b/pw_module/py/pw_module/templates/BUILD.bazel.jinja
@@ -16,7 +16,7 @@
 {% import 'helpers/bazel.jinja' as bazel %}
 {{ build.get_license }}
 
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 {% set bazel_imports = [] %}
 {% do bazel_imports.append(('//pw_unit_test:pw_cc_test.bzl', 'pw_cc_test')) if build.cc_tests %}
diff --git a/pw_multibuf/BUILD.bazel b/pw_multibuf/BUILD.bazel
index 592d4c5..8135a93 100644
--- a/pw_multibuf/BUILD.bazel
+++ b/pw_multibuf/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_build:pw_facade.bzl", "pw_facade")
 
diff --git a/pw_multibuf/examples/BUILD.bazel b/pw_multibuf/examples/BUILD.bazel
index 1c7b004..2aba231 100644
--- a/pw_multibuf/examples/BUILD.bazel
+++ b/pw_multibuf/examples/BUILD.bazel
@@ -14,7 +14,7 @@
 
 load("@com_google_emboss//:build_defs.bzl", "emboss_cc_library")
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test")
 
diff --git a/pw_multisink/BUILD.bazel b/pw_multisink/BUILD.bazel
index 16eacfe..11ca8b8 100644
--- a/pw_multisink/BUILD.bazel
+++ b/pw_multisink/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test")
 
diff --git a/pw_numeric/BUILD.bazel b/pw_numeric/BUILD.bazel
index a61ae4c..b6d45c3 100644
--- a/pw_numeric/BUILD.bazel
+++ b/pw_numeric/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test")
 
diff --git a/pw_package/BUILD.bazel b/pw_package/BUILD.bazel
index b1e29ae..e0c9d6d 100644
--- a/pw_package/BUILD.bazel
+++ b/pw_package/BUILD.bazel
@@ -12,7 +12,7 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 package(default_visibility = ["//visibility:public"])
diff --git a/pw_perf_test/BUILD.bazel b/pw_perf_test/BUILD.bazel
index e762363..6d913db 100644
--- a/pw_perf_test/BUILD.bazel
+++ b/pw_perf_test/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "host_backend_alias", "incompatible_with_mcu")
 load("//pw_build:pw_facade.bzl", "pw_facade")
 load("//pw_perf_test:pw_cc_perf_test.bzl", "pw_cc_perf_test")
diff --git a/pw_persistent_ram/BUILD.bazel b/pw_persistent_ram/BUILD.bazel
index f1569b5..301095a 100644
--- a/pw_persistent_ram/BUILD.bazel
+++ b/pw_persistent_ram/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_bloat:pw_size_diff.bzl", "pw_size_diff")
 load("//pw_bloat:pw_size_table.bzl", "pw_size_table")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
diff --git a/pw_polyfill/BUILD.bazel b/pw_polyfill/BUILD.bazel
index ff9ea67..2bbde77 100644
--- a/pw_polyfill/BUILD.bazel
+++ b/pw_polyfill/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test")
 
diff --git a/pw_preprocessor/BUILD.bazel b/pw_preprocessor/BUILD.bazel
index 964744f..837776a 100644
--- a/pw_preprocessor/BUILD.bazel
+++ b/pw_preprocessor/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test")
 
diff --git a/pw_presubmit/BUILD.bazel b/pw_presubmit/BUILD.bazel
index 91d5658..75eb215 100644
--- a/pw_presubmit/BUILD.bazel
+++ b/pw_presubmit/BUILD.bazel
@@ -12,7 +12,7 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 package(default_visibility = ["//visibility:public"])
diff --git a/pw_protobuf/BUILD.bazel b/pw_protobuf/BUILD.bazel
index 7a2a1c4..e235a00 100644
--- a/pw_protobuf/BUILD.bazel
+++ b/pw_protobuf/BUILD.bazel
@@ -17,7 +17,7 @@
 load("@com_google_protobuf//bazel:proto_library.bzl", "proto_library")
 load("@com_google_protobuf//bazel:py_proto_library.bzl", "py_proto_library")
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_build:copy_to_bin.bzl", "copy_to_bin")
 load("//pw_fuzzer:fuzzer.bzl", "pw_cc_fuzz_test")
diff --git a/pw_protobuf_compiler/BUILD.bazel b/pw_protobuf_compiler/BUILD.bazel
index 29fae1d..d6173d6 100644
--- a/pw_protobuf_compiler/BUILD.bazel
+++ b/pw_protobuf_compiler/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 load("@com_google_protobuf//bazel:proto_library.bzl", "proto_library")
 load("@com_google_protobuf//bazel:py_proto_library.bzl", "py_proto_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_build:copy_to_bin.bzl", "copy_to_bin")
 load("//pw_protobuf_compiler:pw_proto_filegroup.bzl", "pw_proto_filegroup")
diff --git a/pw_random/BUILD.bazel b/pw_random/BUILD.bazel
index 5b87cdd..e70db42 100644
--- a/pw_random/BUILD.bazel
+++ b/pw_random/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test")
 
diff --git a/pw_random_fuchsia/BUILD.bazel b/pw_random_fuchsia/BUILD.bazel
index fb3c2d8..2cbca81 100644
--- a/pw_random_fuchsia/BUILD.bazel
+++ b/pw_random_fuchsia/BUILD.bazel
@@ -18,7 +18,7 @@
     "fuchsia_cc_test",
     "fuchsia_unittest_package",
 )
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_bluetooth_sapphire/fuchsia:fuchsia_api_level.bzl", "FUCHSIA_API_LEVEL")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
diff --git a/pw_result/BUILD.bazel b/pw_result/BUILD.bazel
index f716090..02be272 100644
--- a/pw_result/BUILD.bazel
+++ b/pw_result/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_bloat:pw_size_diff.bzl", "pw_size_diff")
 load("//pw_bloat:pw_size_table.bzl", "pw_size_table")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
diff --git a/pw_ring_buffer/BUILD.bazel b/pw_ring_buffer/BUILD.bazel
index fb41671..032768a 100644
--- a/pw_ring_buffer/BUILD.bazel
+++ b/pw_ring_buffer/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test")
 
diff --git a/pw_router/BUILD.bazel b/pw_router/BUILD.bazel
index e8e61ae..642265f 100644
--- a/pw_router/BUILD.bazel
+++ b/pw_router/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_bloat:pw_size_diff.bzl", "pw_size_diff")
 load("//pw_bloat:pw_size_table.bzl", "pw_size_table")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
diff --git a/pw_rpc/BUILD.bazel b/pw_rpc/BUILD.bazel
index 9f1fac2..0cc8350 100644
--- a/pw_rpc/BUILD.bazel
+++ b/pw_rpc/BUILD.bazel
@@ -17,7 +17,7 @@
 load("@com_google_protobuf//bazel:proto_library.bzl", "proto_library")
 load("@com_google_protobuf//bazel:py_proto_library.bzl", "py_proto_library")
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_bloat:pw_size_diff.bzl", "pw_size_diff")
 load("//pw_bloat:pw_size_table.bzl", "pw_size_table")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
diff --git a/pw_rpc/examples/BUILD.bazel b/pw_rpc/examples/BUILD.bazel
index f5b91e1..683ade0 100644
--- a/pw_rpc/examples/BUILD.bazel
+++ b/pw_rpc/examples/BUILD.bazel
@@ -14,7 +14,7 @@
 
 load("@com_google_protobuf//bazel:proto_library.bzl", "proto_library")
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load(
     "//pw_protobuf_compiler:pw_proto_library.bzl",
diff --git a/pw_rpc/nanopb/BUILD.bazel b/pw_rpc/nanopb/BUILD.bazel
index d72e09e..47e666c 100644
--- a/pw_rpc/nanopb/BUILD.bazel
+++ b/pw_rpc/nanopb/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test")
 
diff --git a/pw_rpc/pwpb/BUILD.bazel b/pw_rpc/pwpb/BUILD.bazel
index 5bfd616..0034577 100644
--- a/pw_rpc/pwpb/BUILD.bazel
+++ b/pw_rpc/pwpb/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test")
 
diff --git a/pw_rpc/py/BUILD.bazel b/pw_rpc/py/BUILD.bazel
index 5624b3f..97eb123 100644
--- a/pw_rpc/py/BUILD.bazel
+++ b/pw_rpc/py/BUILD.bazel
@@ -12,7 +12,7 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_build:python.bzl", "pw_py_binary", "pw_py_library", "pw_py_test")
 
diff --git a/pw_rpc/ts/BUILD.bazel b/pw_rpc/ts/BUILD.bazel
index 0b45146..cb67095 100644
--- a/pw_rpc/ts/BUILD.bazel
+++ b/pw_rpc/ts/BUILD.bazel
@@ -14,7 +14,7 @@
 
 load("@aspect_rules_js//js:defs.bzl", "js_library")
 load("@pigweed//pw_build:compatibility.bzl", "incompatible_with_mcu")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 
 package(default_visibility = ["//visibility:public"])
 
diff --git a/pw_rpc_transport/BUILD.bazel b/pw_rpc_transport/BUILD.bazel
index 2a5f7c4..1f7762e 100644
--- a/pw_rpc_transport/BUILD.bazel
+++ b/pw_rpc_transport/BUILD.bazel
@@ -14,7 +14,7 @@
 
 load("@com_google_protobuf//bazel:proto_library.bzl", "proto_library")
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load(
     "//pw_protobuf_compiler:pw_proto_library.bzl",
diff --git a/pw_rust/BUILD.bazel b/pw_rust/BUILD.bazel
index a64c54d..4b443c9 100644
--- a/pw_rust/BUILD.bazel
+++ b/pw_rust/BUILD.bazel
@@ -12,7 +12,7 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_build:pw_rust_docs.bzl", "pw_rust_docs")
 
diff --git a/pw_sensor/BUILD.bazel b/pw_sensor/BUILD.bazel
index b6ed6f7..faa4849 100644
--- a/pw_sensor/BUILD.bazel
+++ b/pw_sensor/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test")
 load(
diff --git a/pw_sensor/py/BUILD.bazel b/pw_sensor/py/BUILD.bazel
index c53fba6..8f2c856 100644
--- a/pw_sensor/py/BUILD.bazel
+++ b/pw_sensor/py/BUILD.bazel
@@ -12,7 +12,7 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_build:python.bzl", "pw_py_binary", "pw_py_library", "pw_py_test")
 
diff --git a/pw_snapshot/BUILD.bazel b/pw_snapshot/BUILD.bazel
index 54ad8dc..ec712ea 100644
--- a/pw_snapshot/BUILD.bazel
+++ b/pw_snapshot/BUILD.bazel
@@ -15,7 +15,7 @@
 load("@com_google_protobuf//bazel:proto_library.bzl", "proto_library")
 load("@com_google_protobuf//bazel:py_proto_library.bzl", "py_proto_library")
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_protobuf_compiler:pw_proto_library.bzl", "pwpb_proto_library")
 load("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test")
diff --git a/pw_software_update/BUILD.bazel b/pw_software_update/BUILD.bazel
index 9c01973..9b92f8f 100644
--- a/pw_software_update/BUILD.bazel
+++ b/pw_software_update/BUILD.bazel
@@ -16,7 +16,7 @@
 load("@com_google_protobuf//bazel:proto_library.bzl", "proto_library")
 load("@com_google_protobuf//bazel:py_proto_library.bzl", "py_proto_library")
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_protobuf_compiler:pw_proto_library.bzl", "nanopb_proto_library", "nanopb_rpc_proto_library", "pw_proto_filegroup", "pwpb_proto_library", "pwpb_rpc_proto_library")
 load("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test")
diff --git a/pw_span/BUILD.bazel b/pw_span/BUILD.bazel
index 71c0b61..0c8d110 100644
--- a/pw_span/BUILD.bazel
+++ b/pw_span/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test")
 
diff --git a/pw_spi/BUILD.bazel b/pw_spi/BUILD.bazel
index 35d5a30..9171960 100644
--- a/pw_spi/BUILD.bazel
+++ b/pw_spi/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test")
 
diff --git a/pw_spi_linux/BUILD.bazel b/pw_spi_linux/BUILD.bazel
index 6fcb940..1122d7f 100644
--- a/pw_spi_linux/BUILD.bazel
+++ b/pw_spi_linux/BUILD.bazel
@@ -14,7 +14,7 @@
 
 load("@rules_cc//cc:cc_binary.bzl", "cc_binary")
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test")
 
diff --git a/pw_spi_mcuxpresso/BUILD.bazel b/pw_spi_mcuxpresso/BUILD.bazel
index 652459d..7f503f1 100644
--- a/pw_spi_mcuxpresso/BUILD.bazel
+++ b/pw_spi_mcuxpresso/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "boolean_constraint_value", "incompatible_with_mcu")
 load("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test")
 
diff --git a/pw_spi_rp2040/BUILD.bazel b/pw_spi_rp2040/BUILD.bazel
index 936a231..1486791 100644
--- a/pw_spi_rp2040/BUILD.bazel
+++ b/pw_spi_rp2040/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test")
 
diff --git a/pw_spi_zephyr/BUILD.bazel b/pw_spi_zephyr/BUILD.bazel
index 956e0a2..3c0acda 100644
--- a/pw_spi_zephyr/BUILD.bazel
+++ b/pw_spi_zephyr/BUILD.bazel
@@ -12,7 +12,7 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("@zephyr//:cc.bzl", "zephyr_cc_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_build:pigweed.bzl", "pw_cc_test")
diff --git a/pw_status/BUILD.bazel b/pw_status/BUILD.bazel
index b5e4b03..cd04a39 100644
--- a/pw_status/BUILD.bazel
+++ b/pw_status/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test")
 
diff --git a/pw_stm32cube_build/BUILD.bazel b/pw_stm32cube_build/BUILD.bazel
index c17eaa8..86136b5 100644
--- a/pw_stm32cube_build/BUILD.bazel
+++ b/pw_stm32cube_build/BUILD.bazel
@@ -12,7 +12,7 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 package(default_visibility = ["//visibility:public"])
diff --git a/pw_stream/BUILD.bazel b/pw_stream/BUILD.bazel
index 16d2be3..7667716 100644
--- a/pw_stream/BUILD.bazel
+++ b/pw_stream/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "boolean_constraint_value", "incompatible_with_mcu")
 load("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test")
 
diff --git a/pw_stream/py/BUILD.bazel b/pw_stream/py/BUILD.bazel
index 5bda67d..e31bab7 100644
--- a/pw_stream/py/BUILD.bazel
+++ b/pw_stream/py/BUILD.bazel
@@ -12,7 +12,7 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_build:python.bzl", "pw_py_library", "pw_py_test")
 
diff --git a/pw_stream_uart_linux/BUILD.bazel b/pw_stream_uart_linux/BUILD.bazel
index 40251ba..f2009e8 100644
--- a/pw_stream_uart_linux/BUILD.bazel
+++ b/pw_stream_uart_linux/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test")
 
diff --git a/pw_stream_uart_mcuxpresso/BUILD.bazel b/pw_stream_uart_mcuxpresso/BUILD.bazel
index 6178c3f..0c58c4f 100644
--- a/pw_stream_uart_mcuxpresso/BUILD.bazel
+++ b/pw_stream_uart_mcuxpresso/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "boolean_constraint_value", "incompatible_with_mcu")
 load("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test")
 
diff --git a/pw_string/BUILD.bazel b/pw_string/BUILD.bazel
index 2c92b7b..fe1972f 100644
--- a/pw_string/BUILD.bazel
+++ b/pw_string/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_bloat:pw_size_diff.bzl", "pw_size_diff")
 load("//pw_bloat:pw_size_table.bzl", "pw_size_table")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
diff --git a/pw_string/examples/BUILD.bazel b/pw_string/examples/BUILD.bazel
index 7bcb47e..b6cbc12 100644
--- a/pw_string/examples/BUILD.bazel
+++ b/pw_string/examples/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 # DOCSTAG: [contributing-docs-examples]
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test")
 
diff --git a/pw_symbolizer/BUILD.bazel b/pw_symbolizer/BUILD.bazel
index 13d9c3f..d4345ff 100644
--- a/pw_symbolizer/BUILD.bazel
+++ b/pw_symbolizer/BUILD.bazel
@@ -12,7 +12,7 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 package(default_visibility = ["//visibility:public"])
diff --git a/pw_sync/BUILD.bazel b/pw_sync/BUILD.bazel
index 3460554..54b5999 100644
--- a/pw_sync/BUILD.bazel
+++ b/pw_sync/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load(
     "//pw_build:compatibility.bzl",
     "host_backend_alias",
diff --git a/pw_sync_baremetal/BUILD.bazel b/pw_sync_baremetal/BUILD.bazel
index f7b38dd..11769f2 100644
--- a/pw_sync_baremetal/BUILD.bazel
+++ b/pw_sync_baremetal/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 package(default_visibility = ["//visibility:public"])
diff --git a/pw_sync_embos/BUILD.bazel b/pw_sync_embos/BUILD.bazel
index b1052a4..5cad360 100644
--- a/pw_sync_embos/BUILD.bazel
+++ b/pw_sync_embos/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 package(default_visibility = ["//visibility:public"])
diff --git a/pw_sync_freertos/BUILD.bazel b/pw_sync_freertos/BUILD.bazel
index 5c52f46..f200cbb 100644
--- a/pw_sync_freertos/BUILD.bazel
+++ b/pw_sync_freertos/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 package(default_visibility = ["//visibility:public"])
diff --git a/pw_sync_stl/BUILD.bazel b/pw_sync_stl/BUILD.bazel
index f8540bc..82c030b 100644
--- a/pw_sync_stl/BUILD.bazel
+++ b/pw_sync_stl/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 package(default_visibility = ["//visibility:public"])
diff --git a/pw_sync_threadx/BUILD.bazel b/pw_sync_threadx/BUILD.bazel
index e3ff816..fb8039d 100644
--- a/pw_sync_threadx/BUILD.bazel
+++ b/pw_sync_threadx/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 package(default_visibility = ["//visibility:public"])
diff --git a/pw_sync_zephyr/BUILD.bazel b/pw_sync_zephyr/BUILD.bazel
index 1ac9542..880066e 100644
--- a/pw_sync_zephyr/BUILD.bazel
+++ b/pw_sync_zephyr/BUILD.bazel
@@ -12,7 +12,7 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("@zephyr//:cc.bzl", "zephyr_cc_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
diff --git a/pw_sys_io/BUILD.bazel b/pw_sys_io/BUILD.bazel
index df9d34f..f07409e 100644
--- a/pw_sys_io/BUILD.bazel
+++ b/pw_sys_io/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "host_backend_alias", "incompatible_with_mcu")
 load("//pw_build:pw_facade.bzl", "pw_facade")
 
diff --git a/pw_sys_io_ambiq_sdk/BUILD.bazel b/pw_sys_io_ambiq_sdk/BUILD.bazel
index bb267fb..6db1df1 100644
--- a/pw_sys_io_ambiq_sdk/BUILD.bazel
+++ b/pw_sys_io_ambiq_sdk/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 package(default_visibility = ["//visibility:public"])
diff --git a/pw_sys_io_arduino/BUILD.bazel b/pw_sys_io_arduino/BUILD.bazel
index 693303a..e5e2da7 100644
--- a/pw_sys_io_arduino/BUILD.bazel
+++ b/pw_sys_io_arduino/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 package(default_visibility = ["//visibility:public"])
diff --git a/pw_sys_io_baremetal_lm3s6965evb/BUILD.bazel b/pw_sys_io_baremetal_lm3s6965evb/BUILD.bazel
index 0576997..d8ade42 100644
--- a/pw_sys_io_baremetal_lm3s6965evb/BUILD.bazel
+++ b/pw_sys_io_baremetal_lm3s6965evb/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "boolean_constraint_value", "incompatible_with_mcu")
 
 package(default_visibility = ["//visibility:public"])
diff --git a/pw_sys_io_baremetal_stm32f429/BUILD.bazel b/pw_sys_io_baremetal_stm32f429/BUILD.bazel
index 81f7124..2c1d900 100644
--- a/pw_sys_io_baremetal_stm32f429/BUILD.bazel
+++ b/pw_sys_io_baremetal_stm32f429/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "boolean_constraint_value", "incompatible_with_mcu")
 
 package(default_visibility = ["//visibility:public"])
diff --git a/pw_sys_io_emcraft_sf2/BUILD.bazel b/pw_sys_io_emcraft_sf2/BUILD.bazel
index bff885e..28b912d 100644
--- a/pw_sys_io_emcraft_sf2/BUILD.bazel
+++ b/pw_sys_io_emcraft_sf2/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "boolean_constraint_value", "incompatible_with_mcu")
 
 package(default_visibility = ["//visibility:public"])
diff --git a/pw_sys_io_mcuxpresso/BUILD.bazel b/pw_sys_io_mcuxpresso/BUILD.bazel
index c32abb2..3fff72c 100644
--- a/pw_sys_io_mcuxpresso/BUILD.bazel
+++ b/pw_sys_io_mcuxpresso/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 package(default_visibility = ["//visibility:public"])
diff --git a/pw_sys_io_rp2040/BUILD.bazel b/pw_sys_io_rp2040/BUILD.bazel
index 2fbd6b2..eaab608 100644
--- a/pw_sys_io_rp2040/BUILD.bazel
+++ b/pw_sys_io_rp2040/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 package(default_visibility = ["//visibility:public"])
diff --git a/pw_sys_io_stdio/BUILD.bazel b/pw_sys_io_stdio/BUILD.bazel
index a7ff3d3..d2f95ad 100644
--- a/pw_sys_io_stdio/BUILD.bazel
+++ b/pw_sys_io_stdio/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 package(default_visibility = ["//visibility:public"])
diff --git a/pw_sys_io_stm32cube/BUILD.bazel b/pw_sys_io_stm32cube/BUILD.bazel
index c083ccc..410b787 100644
--- a/pw_sys_io_stm32cube/BUILD.bazel
+++ b/pw_sys_io_stm32cube/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 package(default_visibility = ["//visibility:public"])
diff --git a/pw_sys_io_zephyr/BUILD.bazel b/pw_sys_io_zephyr/BUILD.bazel
index c6cb069..59acb88 100644
--- a/pw_sys_io_zephyr/BUILD.bazel
+++ b/pw_sys_io_zephyr/BUILD.bazel
@@ -12,7 +12,7 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("@zephyr//:cc.bzl", "zephyr_cc_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
diff --git a/pw_system/BUILD.bazel b/pw_system/BUILD.bazel
index a54c41b..e1c4b5c 100644
--- a/pw_system/BUILD.bazel
+++ b/pw_system/BUILD.bazel
@@ -16,7 +16,7 @@
 load("@com_google_protobuf//bazel:py_proto_library.bzl", "py_proto_library")
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
 load("@rules_platform//platform_data:defs.bzl", "platform_data")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "host_backend_alias", "incompatible_with_mcu")
 load("//pw_build:pw_cc_binary.bzl", "pw_cc_binary")
 load("//pw_build:pw_facade.bzl", "pw_facade")
diff --git a/pw_target_runner/BUILD.bazel b/pw_target_runner/BUILD.bazel
index 6da309c..0b4e336 100644
--- a/pw_target_runner/BUILD.bazel
+++ b/pw_target_runner/BUILD.bazel
@@ -14,7 +14,7 @@
 
 load("@com_google_protobuf//bazel:proto_library.bzl", "proto_library")
 load("@io_bazel_rules_go//proto:def.bzl", "go_grpc_library", "go_proto_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 package(default_visibility = ["//visibility:public"])
diff --git a/pw_target_runner/go/BUILD.bazel b/pw_target_runner/go/BUILD.bazel
index 82d7de8..cb05f2d 100644
--- a/pw_target_runner/go/BUILD.bazel
+++ b/pw_target_runner/go/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@io_bazel_rules_go//go:def.bzl", "go_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 package(default_visibility = ["//visibility:public"])
diff --git a/pw_thread/BUILD.bazel b/pw_thread/BUILD.bazel
index 330a167..abe475b 100644
--- a/pw_thread/BUILD.bazel
+++ b/pw_thread/BUILD.bazel
@@ -16,7 +16,7 @@
 load("@com_google_protobuf//bazel:proto_library.bzl", "proto_library")
 load("@com_google_protobuf//bazel:py_proto_library.bzl", "py_proto_library")
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "HOST_PLATFORMS", "host_backend_alias", "incompatible_with_mcu")
 load("//pw_build:pw_facade.bzl", "pw_facade")
 load(
diff --git a/pw_thread_embos/BUILD.bazel b/pw_thread_embos/BUILD.bazel
index 2a12918..29daf33 100644
--- a/pw_thread_embos/BUILD.bazel
+++ b/pw_thread_embos/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 package(default_visibility = ["//visibility:public"])
diff --git a/pw_thread_freertos/BUILD.bazel b/pw_thread_freertos/BUILD.bazel
index 2e6d20a..72325a7 100644
--- a/pw_thread_freertos/BUILD.bazel
+++ b/pw_thread_freertos/BUILD.bazel
@@ -14,7 +14,7 @@
 
 load("@bazel_skylib//rules:run_binary.bzl", "run_binary")
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test")
 
diff --git a/pw_thread_stl/BUILD.bazel b/pw_thread_stl/BUILD.bazel
index 49c8fea..386d968 100644
--- a/pw_thread_stl/BUILD.bazel
+++ b/pw_thread_stl/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load(
     "//pw_build:selects.bzl",
diff --git a/pw_thread_threadx/BUILD.bazel b/pw_thread_threadx/BUILD.bazel
index 60da5c4..12c83dd 100644
--- a/pw_thread_threadx/BUILD.bazel
+++ b/pw_thread_threadx/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test")
 
diff --git a/pw_thread_zephyr/BUILD.bazel b/pw_thread_zephyr/BUILD.bazel
index 420d1bc..26a8d88 100644
--- a/pw_thread_zephyr/BUILD.bazel
+++ b/pw_thread_zephyr/BUILD.bazel
@@ -12,7 +12,7 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("@zephyr//:cc.bzl", "zephyr_cc_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
diff --git a/pw_time/BUILD.bazel b/pw_time/BUILD.bazel
index 85a9b67..7c53467 100644
--- a/pw_time/BUILD.bazel
+++ b/pw_time/BUILD.bazel
@@ -12,7 +12,7 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 package(default_visibility = ["//visibility:public"])
diff --git a/pw_tls_client/BUILD.bazel b/pw_tls_client/BUILD.bazel
index 6fc34a5..4f7fa96 100644
--- a/pw_tls_client/BUILD.bazel
+++ b/pw_tls_client/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_build:pw_facade.bzl", "pw_facade")
 load("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test")
diff --git a/pw_tls_client_boringssl/BUILD.bazel b/pw_tls_client_boringssl/BUILD.bazel
index df98690..faaf22a 100644
--- a/pw_tls_client_boringssl/BUILD.bazel
+++ b/pw_tls_client_boringssl/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test")
 
diff --git a/pw_tls_client_mbedtls/BUILD.bazel b/pw_tls_client_mbedtls/BUILD.bazel
index 6bd9d2d..269ad32 100644
--- a/pw_tls_client_mbedtls/BUILD.bazel
+++ b/pw_tls_client_mbedtls/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test")
 
diff --git a/pw_tokenizer/BUILD.bazel b/pw_tokenizer/BUILD.bazel
index ccd2b48..520b73a 100644
--- a/pw_tokenizer/BUILD.bazel
+++ b/pw_tokenizer/BUILD.bazel
@@ -16,7 +16,7 @@
 load("@com_google_protobuf//bazel:proto_library.bzl", "proto_library")
 load("@com_google_protobuf//bazel:py_proto_library.bzl", "py_proto_library")
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_build:copy_to_bin.bzl", "copy_to_bin")
 load("//pw_build:pw_cc_binary.bzl", "pw_cc_binary")
diff --git a/pw_toolchain/BUILD.bazel b/pw_toolchain/BUILD.bazel
index 3b58885..767eebf 100644
--- a/pw_toolchain/BUILD.bazel
+++ b/pw_toolchain/BUILD.bazel
@@ -15,7 +15,7 @@
 load("@bazel_skylib//rules:build_test.bzl", "build_test")
 load("@bazel_skylib//rules:common_settings.bzl", "string_flag")
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load(":default_test_toolchain.bzl", "pw_default_test_toolchain")
 
diff --git a/pw_trace/BUILD.bazel b/pw_trace/BUILD.bazel
index b61422e..7dccba7 100644
--- a/pw_trace/BUILD.bazel
+++ b/pw_trace/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_build:pw_cc_binary.bzl", "pw_cc_binary")
 load("//pw_build:pw_facade.bzl", "pw_facade")
diff --git a/pw_trace_tokenized/BUILD.bazel b/pw_trace_tokenized/BUILD.bazel
index 2695488..401bd4c 100644
--- a/pw_trace_tokenized/BUILD.bazel
+++ b/pw_trace_tokenized/BUILD.bazel
@@ -15,7 +15,7 @@
 load("@com_google_protobuf//bazel:proto_library.bzl", "proto_library")
 load("@com_google_protobuf//bazel:py_proto_library.bzl", "py_proto_library")
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_build:pw_cc_binary.bzl", "pw_cc_binary")
 load("//pw_build:pw_facade.bzl", "pw_facade")
diff --git a/pw_transfer/BUILD.bazel b/pw_transfer/BUILD.bazel
index 4c9e1bf..aee1db0 100644
--- a/pw_transfer/BUILD.bazel
+++ b/pw_transfer/BUILD.bazel
@@ -17,7 +17,7 @@
 load("@com_google_protobuf//bazel:proto_library.bzl", "proto_library")
 load("@com_google_protobuf//bazel:py_proto_library.bzl", "py_proto_library")
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_build:copy_to_bin.bzl", "copy_to_bin")
 load(
diff --git a/pw_uart/BUILD.bazel b/pw_uart/BUILD.bazel
index 36e8b34..bb2a4b4 100644
--- a/pw_uart/BUILD.bazel
+++ b/pw_uart/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test")
 
diff --git a/pw_uart_mcuxpresso/BUILD.bazel b/pw_uart_mcuxpresso/BUILD.bazel
index 978145e..30514f3 100644
--- a/pw_uart_mcuxpresso/BUILD.bazel
+++ b/pw_uart_mcuxpresso/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test")
 
diff --git a/pw_unit_test/BUILD.bazel b/pw_unit_test/BUILD.bazel
index d8c992f..99a3377 100644
--- a/pw_unit_test/BUILD.bazel
+++ b/pw_unit_test/BUILD.bazel
@@ -15,7 +15,7 @@
 load("@com_google_protobuf//bazel:proto_library.bzl", "proto_library")
 load("@com_google_protobuf//bazel:py_proto_library.bzl", "py_proto_library")
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_build:pw_cc_binary.bzl", "pw_cc_binary")
 load("//pw_build:pw_facade.bzl", "pw_facade")
diff --git a/pw_uuid/BUILD.bazel b/pw_uuid/BUILD.bazel
index 361db47..6db2b3e 100644
--- a/pw_uuid/BUILD.bazel
+++ b/pw_uuid/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test")
 
diff --git a/pw_varint/BUILD.bazel b/pw_varint/BUILD.bazel
index 0030fd9..7628f17 100644
--- a/pw_varint/BUILD.bazel
+++ b/pw_varint/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test")
 
diff --git a/pw_watch/BUILD.bazel b/pw_watch/BUILD.bazel
index f5307ba..058b07e 100644
--- a/pw_watch/BUILD.bazel
+++ b/pw_watch/BUILD.bazel
@@ -12,7 +12,7 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 package(default_visibility = ["//visibility:public"])
diff --git a/pw_web/BUILD.bazel b/pw_web/BUILD.bazel
index 0f79981..2a87507 100644
--- a/pw_web/BUILD.bazel
+++ b/pw_web/BUILD.bazel
@@ -15,7 +15,7 @@
 load("@aspect_bazel_lib//lib:directory_path.bzl", "directory_path")
 load("@aspect_rules_js//js:defs.bzl", "js_binary", "js_library", "js_run_binary")
 load("@npm//:defs.bzl", "npm_link_all_packages")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 package(default_visibility = ["//visibility:public"])
diff --git a/pw_work_queue/BUILD.bazel b/pw_work_queue/BUILD.bazel
index 5572645..ab6c10f 100644
--- a/pw_work_queue/BUILD.bazel
+++ b/pw_work_queue/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test")
 
diff --git a/seed/BUILD.bazel b/seed/BUILD.bazel
index 84a68dd..0d10e0b 100644
--- a/seed/BUILD.bazel
+++ b/seed/BUILD.bazel
@@ -12,7 +12,7 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 package(default_visibility = ["//visibility:public"])
diff --git a/targets/BUILD.bazel b/targets/BUILD.bazel
index cb1c599..d6bd543 100644
--- a/targets/BUILD.bazel
+++ b/targets/BUILD.bazel
@@ -12,7 +12,7 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 package(default_visibility = ["//visibility:public"])
diff --git a/targets/android/BUILD.bazel b/targets/android/BUILD.bazel
index e22caab..4476cf8 100644
--- a/targets/android/BUILD.bazel
+++ b/targets/android/BUILD.bazel
@@ -12,7 +12,7 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 package(default_visibility = ["//visibility:public"])
diff --git a/targets/apollo4/BUILD.bazel b/targets/apollo4/BUILD.bazel
index 554b281..5ec5380 100644
--- a/targets/apollo4/BUILD.bazel
+++ b/targets/apollo4/BUILD.bazel
@@ -12,7 +12,7 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 package(default_visibility = ["//visibility:public"])
diff --git a/targets/apollo4_pw_system/BUILD.bazel b/targets/apollo4_pw_system/BUILD.bazel
index cdc9929..4692e82 100644
--- a/targets/apollo4_pw_system/BUILD.bazel
+++ b/targets/apollo4_pw_system/BUILD.bazel
@@ -12,7 +12,7 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 package(default_visibility = ["//visibility:public"])
diff --git a/targets/arduino/BUILD.bazel b/targets/arduino/BUILD.bazel
index 8eff5d0..ba2f80d 100644
--- a/targets/arduino/BUILD.bazel
+++ b/targets/arduino/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 package(default_visibility = ["//visibility:public"])
diff --git a/targets/docs/BUILD.bazel b/targets/docs/BUILD.bazel
index 2b3b066..656d524 100644
--- a/targets/docs/BUILD.bazel
+++ b/targets/docs/BUILD.bazel
@@ -12,7 +12,7 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 package(default_visibility = ["//visibility:public"])
diff --git a/targets/emcraft_sf2_som/BUILD.bazel b/targets/emcraft_sf2_som/BUILD.bazel
index a6930a8..0739ca3 100644
--- a/targets/emcraft_sf2_som/BUILD.bazel
+++ b/targets/emcraft_sf2_som/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 package(default_visibility = ["//visibility:public"])
diff --git a/targets/fuchsia/BUILD.bazel b/targets/fuchsia/BUILD.bazel
index 5cdcf44..0d694f3 100644
--- a/targets/fuchsia/BUILD.bazel
+++ b/targets/fuchsia/BUILD.bazel
@@ -12,7 +12,7 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 # This is called "fuchsia_host" because the real fuchsia platform is the result
diff --git a/targets/host/BUILD.bazel b/targets/host/BUILD.bazel
index dd27ddc..15ccf52 100644
--- a/targets/host/BUILD.bazel
+++ b/targets/host/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_build:merge_flags.bzl", "flags_from_dict")
 
diff --git a/targets/host_device_simulator/BUILD.bazel b/targets/host_device_simulator/BUILD.bazel
index 02828c1..d0d9bcc 100644
--- a/targets/host_device_simulator/BUILD.bazel
+++ b/targets/host_device_simulator/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 package(
diff --git a/targets/lm3s6965evb_qemu/BUILD.bazel b/targets/lm3s6965evb_qemu/BUILD.bazel
index 57831d0..e3f525d 100644
--- a/targets/lm3s6965evb_qemu/BUILD.bazel
+++ b/targets/lm3s6965evb_qemu/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_build:merge_flags.bzl", "flags_from_dict")
 load("//pw_build:pigweed.bzl", "pw_linker_script")
diff --git a/targets/mimxrt595_evk/BUILD.bazel b/targets/mimxrt595_evk/BUILD.bazel
index 97a91e8..321716b 100644
--- a/targets/mimxrt595_evk/BUILD.bazel
+++ b/targets/mimxrt595_evk/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_build:merge_flags.bzl", "flags_from_dict")
 load("//pw_build:pw_linker_script.bzl", "pw_linker_script")
diff --git a/targets/mimxrt595_evk_freertos/BUILD.bazel b/targets/mimxrt595_evk_freertos/BUILD.bazel
index 7e43938..8c4096d 100644
--- a/targets/mimxrt595_evk_freertos/BUILD.bazel
+++ b/targets/mimxrt595_evk_freertos/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_build:merge_flags.bzl", "flags_from_dict")
 load("//pw_build:pw_linker_script.bzl", "pw_linker_script")
diff --git a/targets/pw_rp2350/BUILD.bazel b/targets/pw_rp2350/BUILD.bazel
index 6ac5886..c1fc64d 100644
--- a/targets/pw_rp2350/BUILD.bazel
+++ b/targets/pw_rp2350/BUILD.bazel
@@ -12,8 +12,8 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("@rules_rust//rust:defs.bzl", "rust_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_build:pw_rust_binary.bzl", "pw_rust_binary")
 
diff --git a/targets/rp2040/BUILD.bazel b/targets/rp2040/BUILD.bazel
index e3522b4..b72bed0 100644
--- a/targets/rp2040/BUILD.bazel
+++ b/targets/rp2040/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_build:merge_flags.bzl", "flags_from_dict")
 load("//pw_build:pw_cc_binary.bzl", "pw_cc_binary")
diff --git a/targets/stm32f429i_disc1/BUILD.bazel b/targets/stm32f429i_disc1/BUILD.bazel
index 49b645e..a3530b9 100644
--- a/targets/stm32f429i_disc1/BUILD.bazel
+++ b/targets/stm32f429i_disc1/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_build:merge_flags.bzl", "flags_from_dict")
 load("//pw_build:pw_linker_script.bzl", "pw_linker_script")
diff --git a/targets/stm32f429i_disc1_stm32cube/BUILD.bazel b/targets/stm32f429i_disc1_stm32cube/BUILD.bazel
index 77ec40a..7fc9255 100644
--- a/targets/stm32f429i_disc1_stm32cube/BUILD.bazel
+++ b/targets/stm32f429i_disc1_stm32cube/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_build:merge_flags.bzl", "flags_from_dict")
 load("//pw_build:pw_linker_script.bzl", "pw_linker_script")
diff --git a/third_party/BUILD.bazel b/third_party/BUILD.bazel
index fac769c..9c13ad5 100644
--- a/third_party/BUILD.bazel
+++ b/third_party/BUILD.bazel
@@ -12,7 +12,7 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 package(default_visibility = ["//visibility:public"])
diff --git a/third_party/abseil-cpp/BUILD.bazel b/third_party/abseil-cpp/BUILD.bazel
index 0910500..81df49f 100644
--- a/third_party/abseil-cpp/BUILD.bazel
+++ b/third_party/abseil-cpp/BUILD.bazel
@@ -12,7 +12,7 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 package(default_visibility = ["//visibility:public"])
diff --git a/third_party/boringssl/BUILD.bazel b/third_party/boringssl/BUILD.bazel
index e26166c..9b3a17e 100644
--- a/third_party/boringssl/BUILD.bazel
+++ b/third_party/boringssl/BUILD.bazel
@@ -14,7 +14,7 @@
 #
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test")
 
diff --git a/third_party/crates_io/BUILD.bazel b/third_party/crates_io/BUILD.bazel
index 60ad7c9..dcee664 100644
--- a/third_party/crates_io/BUILD.bazel
+++ b/third_party/crates_io/BUILD.bazel
@@ -12,7 +12,7 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 # Stub target for a future when a presubmit verifies that rust sources appear
diff --git a/third_party/emboss/BUILD.bazel b/third_party/emboss/BUILD.bazel
index ab38164..b96d65e 100644
--- a/third_party/emboss/BUILD.bazel
+++ b/third_party/emboss/BUILD.bazel
@@ -12,7 +12,7 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_build:python.bzl", "pw_py_binary")
 
diff --git a/third_party/fuchsia/BUILD.bazel b/third_party/fuchsia/BUILD.bazel
index 342b417..9800fea 100644
--- a/third_party/fuchsia/BUILD.bazel
+++ b/third_party/fuchsia/BUILD.bazel
@@ -14,7 +14,7 @@
 
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
 load("@rules_license//rules:license.bzl", "license")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_build:python.bzl", "pw_py_binary")
 
diff --git a/third_party/fuzztest/BUILD.bazel b/third_party/fuzztest/BUILD.bazel
index 0910500..81df49f 100644
--- a/third_party/fuzztest/BUILD.bazel
+++ b/third_party/fuzztest/BUILD.bazel
@@ -12,7 +12,7 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 package(default_visibility = ["//visibility:public"])
diff --git a/third_party/googletest/BUILD.bazel b/third_party/googletest/BUILD.bazel
index 0910500..81df49f 100644
--- a/third_party/googletest/BUILD.bazel
+++ b/third_party/googletest/BUILD.bazel
@@ -12,7 +12,7 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 package(default_visibility = ["//visibility:public"])
diff --git a/third_party/llvm_builtins/BUILD.bazel b/third_party/llvm_builtins/BUILD.bazel
index 80a282d..65e8e99 100644
--- a/third_party/llvm_builtins/BUILD.bazel
+++ b/third_party/llvm_builtins/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 #
 
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 sphinx_docs_library(
diff --git a/third_party/llvm_libc/BUILD.bazel b/third_party/llvm_libc/BUILD.bazel
index 80a282d..65e8e99 100644
--- a/third_party/llvm_libc/BUILD.bazel
+++ b/third_party/llvm_libc/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 #
 
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 sphinx_docs_library(
diff --git a/third_party/llvm_libcxx/BUILD.bazel b/third_party/llvm_libcxx/BUILD.bazel
index 80a282d..65e8e99 100644
--- a/third_party/llvm_libcxx/BUILD.bazel
+++ b/third_party/llvm_libcxx/BUILD.bazel
@@ -13,7 +13,7 @@
 # the License.
 #
 
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 sphinx_docs_library(
diff --git a/third_party/nanopb/BUILD.bazel b/third_party/nanopb/BUILD.bazel
index 568d731..e10f6a0 100644
--- a/third_party/nanopb/BUILD.bazel
+++ b/third_party/nanopb/BUILD.bazel
@@ -12,7 +12,7 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 load("//pw_build:python.bzl", "pw_py_binary")
 
diff --git a/third_party/perfetto/BUILD.bazel b/third_party/perfetto/BUILD.bazel
index 1b627a8..be7ba8b 100644
--- a/third_party/perfetto/BUILD.bazel
+++ b/third_party/perfetto/BUILD.bazel
@@ -14,8 +14,8 @@
 
 load("@com_google_protobuf//bazel:proto_library.bzl", "proto_library")
 load("@com_google_protobuf//bazel:py_proto_library.bzl", "py_proto_library")
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("@rules_rust_prost//:defs.bzl", "rust_prost_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 package(default_visibility = ["//visibility:public"])
diff --git a/third_party/tinyusb/BUILD.bazel b/third_party/tinyusb/BUILD.bazel
index 0910500..81df49f 100644
--- a/third_party/tinyusb/BUILD.bazel
+++ b/third_party/tinyusb/BUILD.bazel
@@ -12,7 +12,7 @@
 # License for the specific language governing permissions and limitations under
 # the License.
 
-load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
+load("@sphinxdocs//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
 load("//pw_build:compatibility.bzl", "incompatible_with_mcu")
 
 package(default_visibility = ["//visibility:public"])