diff --git a/packages/wf-custom-python/package.py b/packages/wf-custom-python/package.py
new file mode 100644
index 0000000000000000000000000000000000000000..84ebe4ccde56d79e8ad7ac85243744905f82c485
--- /dev/null
+++ b/packages/wf-custom-python/package.py
@@ -0,0 +1,16 @@
+# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class WfCustomPython(BundlePackage):
+    """Meta-package to represent a use case where users install additional
+    (on top of the ESD) Python packages."""
+
+    version("0.1")
+    
+    depends_on("py-pip")
+    depends_on("py-virtualenv")
diff --git a/spack.yaml b/spack.yaml
index 39a3d007dd255b63b74e23aa928cf70973b118d3..3b54982b77c92f4091ad6e07a1bc884340e4dbfc 100644
--- a/spack.yaml
+++ b/spack.yaml
@@ -65,6 +65,7 @@ spack:
     - wf-protein-association-rates@0.1
     - wf-multi-area-model@1.1.1
     - wf-uq-akar4@0.1
+    - wf-custom-python@0.1
     #- py-cerebstats
     #- py-cerebunit
     #- py-morphounit@1.0.4