diff --git a/CHANGELOG.md b/CHANGELOG.md
index ee5421f..31e8d25 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -31,6 +31,9 @@
   is also available under bzlmod as
   `pip.parse(experimental_requirement_cycles={})`.
 
+* (pip_install) the deprecated `pip_install` macro and related items have been
+  removed.
+
 ### Fixed
 
 * (gazelle) The gazelle plugin helper was not working with Python toolchains 3.11
diff --git a/docs/sphinx/pypi-dependencies.md b/docs/sphinx/pypi-dependencies.md
index 598aade..880945f 100644
--- a/docs/sphinx/pypi-dependencies.md
+++ b/docs/sphinx/pypi-dependencies.md
@@ -66,18 +66,6 @@
 your system `python` interpreter), you can force it to re-execute by running
 `bazel sync --only [pip_parse name]`.
 
-:::{note}
-The `pip_install` rule is deprecated. `pip_parse` offers identical
-functionality, and both `pip_install` and `pip_parse` now have the same
-implementation. The name `pip_install` may be removed in a future version of the
-rules.
-:::
-
-The maintainers have made all reasonable efforts to facilitate a smooth
-transition. Still, some users of `pip_install` will need to replace their
-existing `requirements.txt` with a fully resolved set of dependencies using a
-tool such as `pip-tools` or the `compile_pip_requirements` repository rule.
-
 {#using-third-party-packages}
 ## Using third party packages as dependencies
 
diff --git a/gazelle/README.md b/gazelle/README.md
index 567d290..a9a69cc 100644
--- a/gazelle/README.md
+++ b/gazelle/README.md
@@ -109,7 +109,7 @@
 gazelle_python_manifest(
     name = "gazelle_python_manifest",
     modules_mapping = ":modules_map",
-    # This is what we called our `pip_install` rule, where third-party
+    # This is what we called our `pip_parse` rule, where third-party
     # python libraries are loaded in BUILD files.
     pip_repository_name = "pip",
     # This should point to wherever we declare our python dependencies
diff --git a/gazelle/manifest/manifest.go b/gazelle/manifest/manifest.go
index e95ef06..55adef0 100644
--- a/gazelle/manifest/manifest.go
+++ b/gazelle/manifest/manifest.go
@@ -133,16 +133,16 @@
 	// ModulesMapping is the mapping from importable modules to which Python
 	// wheel name provides these modules.
 	ModulesMapping ModulesMapping `yaml:"modules_mapping"`
-	// PipDepsRepositoryName is the name of the pip_install repository target.
+	// PipDepsRepositoryName is the name of the pip_parse repository target.
 	// DEPRECATED
 	PipDepsRepositoryName string `yaml:"pip_deps_repository_name,omitempty"`
-	// PipRepository contains the information for pip_install or pip_repository
+	// PipRepository contains the information for pip_parse or pip_repository
 	// target.
 	PipRepository *PipRepository `yaml:"pip_repository,omitempty"`
 }
 
 type PipRepository struct {
-	// The name of the pip_install or pip_repository target.
+	// The name of the pip_parse or pip_repository target.
 	Name string
 	// UsePipRepositoryAliases allows to use aliases generated pip_repository
 	// when passing incompatible_generate_aliases = True.
diff --git a/python/pip.bzl b/python/pip.bzl
index b6b8801..aeedf57 100644
--- a/python/pip.bzl
+++ b/python/pip.bzl
@@ -30,21 +30,6 @@
 package_annotation = _package_annotation
 pip_parse = pip_repository
 
-def pip_install(requirements = None, name = "pip", allow_pip_install = False, **kwargs):
-    """Will be removed in 0.28.0
-
-    Args:
-        requirements (Label): A 'requirements.txt' pip requirements file.
-        name (str, optional): A unique name for the created external repository (default 'pip').
-        allow_pip_install (bool, optional): change this to keep this rule working (default False).
-        **kwargs (dict): Additional arguments to the [`pip_parse`](#pip_parse) repository rule.
-    """
-
-    if allow_pip_install:
-        pip_parse(requirements = requirements, name = name, **kwargs)
-    else:
-        fail("pip_install support has been disabled, please use pip_parse as a replacement.")
-
 def _multi_pip_parse_impl(rctx):
     rules_python = rctx.attr._rules_python_workspace.workspace_name
     load_statements = []
diff --git a/python/pip_install/repositories.bzl b/python/pip_install/repositories.bzl
index 37500a6..91bdd4b 100644
--- a/python/pip_install/repositories.bzl
+++ b/python/pip_install/repositories.bzl
@@ -131,9 +131,7 @@
 
 def pip_install_dependencies():
     """
-    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.)
+    Fetch dependencies these rules depend on. Workspaces that use the pip_parse rule can call this.
     """
     for (name, url, sha256) in _RULE_DEPS:
         maybe(
