diff --git a/.bazelrc b/.bazelrc
index ca4af76..92711d8 100644
--- a/.bazelrc
+++ b/.bazelrc
@@ -3,7 +3,7 @@
 # This lets us glob() up all the files inside the examples to make them inputs to tests
 # (Note, we cannot use `common --deleted_packages` because the bazel version command doesn't support it)
 # To update these lines, run tools/bazel_integration_test/update_deleted_packages.sh
-build --deleted_packages=examples/pip/boto,examples/pip/extras,examples/pip/helloworld,examples/rules_python_external
-query --deleted_packages=examples/pip/boto,examples/pip/extras,examples/pip/helloworld,examples/rules_python_external
+build --deleted_packages=examples/pip/boto,examples/pip/extras,examples/pip/helloworld,examples/pip_install
+query --deleted_packages=examples/pip/boto,examples/pip/extras,examples/pip/helloworld,examples/pip_install
 
 test --test_output=errors
diff --git a/BUILD b/BUILD
index d3487d2..8458bc7 100644
--- a/BUILD
+++ b/BUILD
@@ -27,7 +27,7 @@
         "LICENSE",
         "internal_deps.bzl",
         "internal_setup.bzl",
-        "//experimental/rules_python_external:distribution",
+        "//python/pip_install:distribution",
         "//python:distribution",
         "//tools:distribution",
     ],
diff --git a/docs/BUILD b/docs/BUILD
index b84e250..4da9d80 100644
--- a/docs/BUILD
+++ b/docs/BUILD
@@ -39,6 +39,13 @@
 )
 
 bzl_library(
+    name = "bazel_repo_tools",
+    srcs = [
+        "@bazel_tools//tools:bzl_srcs",
+    ]
+)
+
+bzl_library(
     name = "defs",
     srcs = [
         "//python:defs.bzl",
@@ -62,6 +69,10 @@
     name = "pip-docs",
     out = "pip.md",
     input = "//python:pip.bzl",
+    deps = [
+        ":bazel_repo_tools",
+        "//python/pip_install:bzl",
+    ],
 )
 
 stardoc(
diff --git a/examples/BUILD b/examples/BUILD
index 2d9bdaa..92d899d 100644
--- a/examples/BUILD
+++ b/examples/BUILD
@@ -23,6 +23,6 @@
 )
 
 bazel_integration_test(
-    name = "rules_python_external_example",
+    name = "pip_install_example",
     timeout = "long",
 )
diff --git a/examples/rules_python_external/BUILD b/examples/pip_install/BUILD
similarity index 100%
rename from examples/rules_python_external/BUILD
rename to examples/pip_install/BUILD
diff --git a/examples/pip_install/README.md b/examples/pip_install/README.md
new file mode 100644
index 0000000..7657787
--- /dev/null
+++ b/examples/pip_install/README.md
@@ -0,0 +1,4 @@
+# pip_install example
+
+This example shows how to use pip to fetch external dependencies from a requirements.txt file,
+then use them in BUILD files as dependencies of Bazel targets.
diff --git a/examples/rules_python_external/WORKSPACE b/examples/pip_install/WORKSPACE
similarity index 96%
rename from examples/rules_python_external/WORKSPACE
rename to examples/pip_install/WORKSPACE
index 81dcd9b..c492d19 100644
--- a/examples/rules_python_external/WORKSPACE
+++ b/examples/pip_install/WORKSPACE
@@ -12,7 +12,7 @@
 
 py_repositories()
 
-load("@rules_python//experimental/rules_python_external:defs.bzl", "pip_install")
+load("@rules_python//python:pip.bzl", "pip_install")
 
 pip_install(
     # (Optional) You can provide extra parameters to pip.
diff --git a/examples/rules_python_external/main.py b/examples/pip_install/main.py
similarity index 100%
rename from examples/rules_python_external/main.py
rename to examples/pip_install/main.py
diff --git a/examples/rules_python_external/requirements.txt b/examples/pip_install/requirements.txt
similarity index 100%
rename from examples/rules_python_external/requirements.txt
rename to examples/pip_install/requirements.txt
diff --git a/examples/rules_python_external/test.py b/examples/pip_install/test.py
similarity index 100%
rename from examples/rules_python_external/test.py
rename to examples/pip_install/test.py
diff --git a/examples/rules_python_external/README.md b/examples/rules_python_external/README.md
deleted file mode 100644
index b432f0b..0000000
--- a/examples/rules_python_external/README.md
+++ /dev/null
@@ -1,7 +0,0 @@
-# rules_python_external example
-
-This example shows how to use rules_python_external which was developed as an alternative
-to packaging rules in rules_python.
-
-We will soon migrate this example to be the canonical one for rules_python.
-See https://github.com/bazelbuild/rules_python/pull/352 for the longer plan.
diff --git a/experimental/rules_python_external/BUILD b/experimental/rules_python_external/BUILD
deleted file mode 100644
index 657c956..0000000
--- a/experimental/rules_python_external/BUILD
+++ /dev/null
@@ -1,8 +0,0 @@
-filegroup(
-    name = "distribution",
-    srcs = glob(["*.bzl"]) + [
-        "BUILD",
-        "//experimental/rules_python_external/extract_wheels:distribution",
-    ],
-    visibility = ["//:__pkg__"],
-)
diff --git a/experimental/rules_python_external/extract_wheels/BUILD b/experimental/rules_python_external/extract_wheels/BUILD
deleted file mode 100644
index f780b0d..0000000
--- a/experimental/rules_python_external/extract_wheels/BUILD
+++ /dev/null
@@ -1,19 +0,0 @@
-load("@rules_python//python:defs.bzl", "py_binary")
-
-py_binary(
-    name = "extract_wheels",
-    srcs = [
-        "__init__.py",
-        "__main__.py",
-    ],
-    main = "__main__.py",
-    deps = ["//experimental/rules_python_external/extract_wheels/lib"],
-)
-
-filegroup(
-    name = "distribution",
-    srcs = glob(["*"]) + [
-        "//experimental/rules_python_external/extract_wheels/lib:distribution",
-    ],
-    visibility = ["//experimental/rules_python_external:__subpackages__"],
-)
diff --git a/experimental/rules_python_external/extract_wheels/__main__.py b/experimental/rules_python_external/extract_wheels/__main__.py
deleted file mode 100644
index 6aed7cd..0000000
--- a/experimental/rules_python_external/extract_wheels/__main__.py
+++ /dev/null
@@ -1,5 +0,0 @@
-"""Main entry point."""
-from experimental.rules_python_external.extract_wheels import main
-
-if __name__ == "__main__":
-    main()
diff --git a/internal_setup.bzl b/internal_setup.bzl
index 646b86c..8609915 100644
--- a/internal_setup.bzl
+++ b/internal_setup.bzl
@@ -7,8 +7,8 @@
     "@piptool_deps//:requirements.bzl",
     _piptool_install = "pip_install",
 )
-
 load("//:version.bzl", "SUPPORTED_BAZEL_VERSIONS")
+load("//python/pip_install:repositories.bzl", "pip_install_dependencies")
 
 def rules_python_internal_setup():
     """Setup for rules_python tests and tools."""
@@ -16,5 +16,8 @@
     # Requirements for building our piptool.
     _piptool_install()
 
+    # Because we don't use the pip_install rule, we have to call this to fetch its deps
+    pip_install_dependencies()
+
     # Depend on the Bazel binaries for running bazel-in-bazel tests
     bazel_binaries(versions = SUPPORTED_BAZEL_VERSIONS)
diff --git a/python/pip.bzl b/python/pip.bzl
index e6c8f63..bbaca94 100644
--- a/python/pip.bzl
+++ b/python/pip.bzl
@@ -13,6 +13,9 @@
 # limitations under the License.
 """Import pip requirements into Bazel."""
 
+load("//python/pip_install:pip_repository.bzl", "pip_repository")
+load("//python/pip_install:repositories.bzl", "pip_install_dependencies")
+
 def _pip_import_impl(repository_ctx):
     """Core implementation of pip_import."""
 
@@ -171,3 +174,43 @@
 """
         message += "=" * 79
         fail(message)
+
+def pip_install(requirements, name = "pip", **kwargs):
+    """Imports a `requirements.txt` file and generates a new `requirements.bzl` file.
+
+    This is used via the `WORKSPACE` pattern:
+
+    ```python
+    pip_install(
+        requirements = ":requirements.txt",
+    )
+    ```
+
+    You can then reference imported dependencies from your `BUILD` file with:
+
+    ```python
+    load("@pip//:requirements.bzl", "requirement")
+    py_library(
+        name = "bar",
+        ...
+        deps = [
+           "//my/other:dep",
+           requirement("requests"),
+           requirement("numpy"),
+        ],
+    )
+    ```
+
+    Args:
+      requirements: A 'requirements.txt' pip requirements file.
+      name: A unique name for the created external repository (default 'pip').
+      **kwargs: Keyword arguments passed directly to the `pip_repository` repository rule.
+    """
+    # Just in case our dependencies weren't already fetched
+    pip_install_dependencies()
+
+    pip_repository(
+        name = name,
+        requirements = requirements,
+        **kwargs
+    )
diff --git a/experimental/rules_python_external/.gitignore b/python/pip_install/.gitignore
similarity index 100%
rename from experimental/rules_python_external/.gitignore
rename to python/pip_install/.gitignore
diff --git a/python/pip_install/BUILD b/python/pip_install/BUILD
new file mode 100644
index 0000000..b37170e
--- /dev/null
+++ b/python/pip_install/BUILD
@@ -0,0 +1,19 @@
+load("@bazel_skylib//:bzl_library.bzl", "bzl_library")
+
+filegroup(
+    name = "distribution",
+    srcs = glob(["*.bzl"]) + [
+        "BUILD",
+        "//python/pip_install/extract_wheels:distribution",
+    ],
+    visibility = ["//:__pkg__"],
+)
+
+bzl_library(
+    name = "bzl",
+    srcs = [
+        "pip_repository.bzl",
+        "repositories.bzl",
+    ],
+    visibility = ["//docs:__pkg__"],
+)
diff --git a/experimental/rules_python_external/README.md b/python/pip_install/README.md
similarity index 100%
rename from experimental/rules_python_external/README.md
rename to python/pip_install/README.md
diff --git a/python/pip_install/extract_wheels/BUILD b/python/pip_install/extract_wheels/BUILD
new file mode 100644
index 0000000..92a0c7a
--- /dev/null
+++ b/python/pip_install/extract_wheels/BUILD
@@ -0,0 +1,19 @@
+load("@rules_python//python:defs.bzl", "py_binary")
+
+py_binary(
+    name = "extract_wheels",
+    srcs = [
+        "__init__.py",
+        "__main__.py",
+    ],
+    main = "__main__.py",
+    deps = ["//python/pip_install/extract_wheels/lib"],
+)
+
+filegroup(
+    name = "distribution",
+    srcs = glob(["*"]) + [
+        "//python/pip_install/extract_wheels/lib:distribution",
+    ],
+    visibility = ["//python/pip_install:__subpackages__"],
+)
diff --git a/experimental/rules_python_external/extract_wheels/__init__.py b/python/pip_install/extract_wheels/__init__.py
similarity index 97%
rename from experimental/rules_python_external/extract_wheels/__init__.py
rename to python/pip_install/extract_wheels/__init__.py
index 79f87e5..879b676 100644
--- a/experimental/rules_python_external/extract_wheels/__init__.py
+++ b/python/pip_install/extract_wheels/__init__.py
@@ -12,7 +12,7 @@
 import sys
 import json
 
-from experimental.rules_python_external.extract_wheels.lib import bazel, requirements
+from python.pip_install.extract_wheels.lib import bazel, requirements
 
 
 def configure_reproducible_wheels() -> None:
diff --git a/python/pip_install/extract_wheels/__main__.py b/python/pip_install/extract_wheels/__main__.py
new file mode 100644
index 0000000..40b690e
--- /dev/null
+++ b/python/pip_install/extract_wheels/__main__.py
@@ -0,0 +1,5 @@
+"""Main entry point."""
+from python.pip_install.extract_wheels import main
+
+if __name__ == "__main__":
+    main()
diff --git a/experimental/rules_python_external/extract_wheels/lib/BUILD b/python/pip_install/extract_wheels/lib/BUILD
similarity index 76%
rename from experimental/rules_python_external/extract_wheels/lib/BUILD
rename to python/pip_install/extract_wheels/lib/BUILD
index c78c517..001e333 100644
--- a/experimental/rules_python_external/extract_wheels/lib/BUILD
+++ b/python/pip_install/extract_wheels/lib/BUILD
@@ -1,5 +1,5 @@
 load("@rules_python//python:defs.bzl", "py_library", "py_test")
-load("//experimental/rules_python_external:repositories.bzl", "requirement")
+load("//python/pip_install:repositories.bzl", "requirement")
 
 py_library(
     name = "lib",
@@ -10,7 +10,7 @@
         "requirements.py",
         "wheel.py",
     ],
-    visibility = ["//experimental/rules_python_external/extract_wheels:__subpackages__"],
+    visibility = ["//python/pip_install/extract_wheels:__subpackages__"],
     deps = [
         requirement("pkginfo"),
         requirement("setuptools"),
@@ -47,5 +47,5 @@
         ["*"],
         exclude = ["*_test.py"],
     ),
-    visibility = ["//experimental/rules_python_external:__subpackages__"],
+    visibility = ["//python/pip_install:__subpackages__"],
 )
diff --git a/experimental/rules_python_external/extract_wheels/lib/__init__.py b/python/pip_install/extract_wheels/lib/__init__.py
similarity index 100%
rename from experimental/rules_python_external/extract_wheels/lib/__init__.py
rename to python/pip_install/extract_wheels/lib/__init__.py
diff --git a/experimental/rules_python_external/extract_wheels/lib/bazel.py b/python/pip_install/extract_wheels/lib/bazel.py
similarity index 97%
rename from experimental/rules_python_external/extract_wheels/lib/bazel.py
rename to python/pip_install/extract_wheels/lib/bazel.py
index fb92c0a..978f3a9 100644
--- a/experimental/rules_python_external/extract_wheels/lib/bazel.py
+++ b/python/pip_install/extract_wheels/lib/bazel.py
@@ -4,7 +4,7 @@
 import json
 from typing import Iterable, List, Dict, Set
 
-from experimental.rules_python_external.extract_wheels.lib import namespace_pkgs, wheel, purelib
+from python.pip_install.extract_wheels.lib import namespace_pkgs, wheel, purelib
 
 
 def generate_build_file_contents(
diff --git a/experimental/rules_python_external/extract_wheels/lib/namespace_pkgs.py b/python/pip_install/extract_wheels/lib/namespace_pkgs.py
similarity index 96%
rename from experimental/rules_python_external/extract_wheels/lib/namespace_pkgs.py
rename to python/pip_install/extract_wheels/lib/namespace_pkgs.py
index 8f7e57f..82804c5 100644
--- a/experimental/rules_python_external/extract_wheels/lib/namespace_pkgs.py
+++ b/python/pip_install/extract_wheels/lib/namespace_pkgs.py
@@ -3,7 +3,7 @@
 import textwrap
 from typing import Set, List, Optional
 
-from experimental.rules_python_external.extract_wheels.lib import wheel
+from python.pip_install.extract_wheels.lib import wheel
 
 
 def implicit_namespace_packages(
diff --git a/experimental/rules_python_external/extract_wheels/lib/namespace_pkgs_test.py b/python/pip_install/extract_wheels/lib/namespace_pkgs_test.py
similarity index 95%
rename from experimental/rules_python_external/extract_wheels/lib/namespace_pkgs_test.py
rename to python/pip_install/extract_wheels/lib/namespace_pkgs_test.py
index f1b299e..5eec5c3 100644
--- a/experimental/rules_python_external/extract_wheels/lib/namespace_pkgs_test.py
+++ b/python/pip_install/extract_wheels/lib/namespace_pkgs_test.py
@@ -4,7 +4,7 @@
 from typing import Optional
 import unittest
 
-from experimental.rules_python_external.extract_wheels.lib import namespace_pkgs
+from python.pip_install.extract_wheels.lib import namespace_pkgs
 
 
 class TempDir:
diff --git a/experimental/rules_python_external/extract_wheels/lib/purelib.py b/python/pip_install/extract_wheels/lib/purelib.py
similarity index 96%
rename from experimental/rules_python_external/extract_wheels/lib/purelib.py
rename to python/pip_install/extract_wheels/lib/purelib.py
index 830ce70..99f6299 100644
--- a/experimental/rules_python_external/extract_wheels/lib/purelib.py
+++ b/python/pip_install/extract_wheels/lib/purelib.py
@@ -2,7 +2,7 @@
 import pathlib
 import shutil
 
-from experimental.rules_python_external.extract_wheels.lib import wheel
+from python.pip_install.extract_wheels.lib import wheel
 
 
 def spread_purelib_into_root(wheel_dir: str) -> None:
diff --git a/experimental/rules_python_external/extract_wheels/lib/requirements.py b/python/pip_install/extract_wheels/lib/requirements.py
similarity index 100%
rename from experimental/rules_python_external/extract_wheels/lib/requirements.py
rename to python/pip_install/extract_wheels/lib/requirements.py
diff --git a/experimental/rules_python_external/extract_wheels/lib/requirements_test.py b/python/pip_install/extract_wheels/lib/requirements_test.py
similarity index 92%
rename from experimental/rules_python_external/extract_wheels/lib/requirements_test.py
rename to python/pip_install/extract_wheels/lib/requirements_test.py
index c06297a..ba7ee13 100644
--- a/experimental/rules_python_external/extract_wheels/lib/requirements_test.py
+++ b/python/pip_install/extract_wheels/lib/requirements_test.py
@@ -1,6 +1,6 @@
 import unittest
 
-from experimental.rules_python_external.extract_wheels.lib import requirements
+from python.pip_install.extract_wheels.lib import requirements
 
 
 class TestRequirementExtrasParsing(unittest.TestCase):
diff --git a/experimental/rules_python_external/extract_wheels/lib/wheel.py b/python/pip_install/extract_wheels/lib/wheel.py
similarity index 100%
rename from experimental/rules_python_external/extract_wheels/lib/wheel.py
rename to python/pip_install/extract_wheels/lib/wheel.py
diff --git a/experimental/rules_python_external/defs.bzl b/python/pip_install/pip_repository.bzl
similarity index 77%
rename from experimental/rules_python_external/defs.bzl
rename to python/pip_install/pip_repository.bzl
index 6f894e6..b2cb0a8 100644
--- a/experimental/rules_python_external/defs.bzl
+++ b/python/pip_install/pip_repository.bzl
@@ -1,8 +1,6 @@
 ""
 
-load("//experimental/rules_python_external:repositories.bzl", "all_requirements", "rules_python_external_dependencies")
-
-DEFAULT_REPOSITORY_NAME = "pip"
+load("//python/pip_install:repositories.bzl", "all_requirements")
 
 def _pip_repository_impl(rctx):
     python_interpreter = rctx.attr.python_interpreter
@@ -30,7 +28,7 @@
     args = [
         python_interpreter,
         "-m",
-        "experimental.rules_python_external.extract_wheels",
+        "python.pip_install.extract_wheels",
         "--requirements",
         rctx.path(rctx.attr.requirements),
         "--repo",
@@ -147,43 +145,3 @@
 ```
 """,
 )
-
-def pip_install(requirements, name = DEFAULT_REPOSITORY_NAME, **kwargs):
-    """Imports a `requirements.txt` file and generates a new `requirements.bzl` file.
-
-    This is used via the `WORKSPACE` pattern:
-
-    ```python
-    pip_install(
-        requirements = ":requirements.txt",
-    )
-    ```
-
-    You can then reference imported dependencies from your `BUILD` file with:
-
-    ```python
-    load("@pip//:requirements.bzl", "requirement")
-    py_library(
-        name = "bar",
-        ...
-        deps = [
-           "//my/other:dep",
-           requirement("requests"),
-           requirement("numpy"),
-        ],
-    )
-    ```
-
-    Args:
-      requirements: A 'requirements.txt' pip requirements file.
-      name: A unique name for the created external repository (default 'pip').
-      **kwargs: Keyword arguments passed directly to the `pip_repository` repository rule.
-    """
-    # Just in case our dependencies weren't already fetched
-    rules_python_external_dependencies()
-
-    pip_repository(
-        name = name,
-        requirements = requirements,
-        **kwargs
-    )
diff --git a/experimental/rules_python_external/repositories.bzl b/python/pip_install/repositories.bzl
similarity index 92%
rename from experimental/rules_python_external/repositories.bzl
rename to python/pip_install/repositories.bzl
index 00dc900..df63674 100644
--- a/experimental/rules_python_external/repositories.bzl
+++ b/python/pip_install/repositories.bzl
@@ -47,9 +47,11 @@
 def requirement(pkg):
     return "@pypi__" + pkg + "//:lib"
 
-def rules_python_external_dependencies():
+def pip_install_dependencies():
     """
-    Fetch dependencies these rules depend on. Workspaces that use the rules_python_external should call this.
+    Fetch dependencies these rules depend on. Workspaces that use the pip_install rule can call this.
+    
+    (However we call it from pip_install, making it optional for users to do so.)
     """
     for (name, url, sha256) in _RULE_DEPS:
         maybe(
