diff --git a/packages/py-bluepyefe/package.py b/packages/py-bluepyefe/package.py
new file mode 100644
index 0000000000000000000000000000000000000000..ee5a3ceaa64c7761e6527fff7168723778e57a74
--- /dev/null
+++ b/packages/py-bluepyefe/package.py
@@ -0,0 +1,32 @@
+# (from https://github.com/BlueBrain/spack)
+
+# Copyright 2013-2020 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.package import *
+
+
+class PyBluepyefe(PythonPackage):
+    """Blue Brain Python E-feature extraction"""
+
+    homepage = "https://github.com/BlueBrain/BluePyEfe"
+    pypi = "bluepyefe/bluepyefe-0.3.13.tar.gz"
+    git = "https://github.com/BlueBrain/BluePyEfe.git"
+
+    version("2.2.18", sha256="bfb50c6482433ec2ffb4b65b072d2778bd89ae50d92dd6830969222aabb30275")
+
+    depends_on("py-setuptools", type="build")
+
+    depends_on("py-numpy", type=("build", "run"))
+    depends_on("py-neo", type=("build", "run"))
+    depends_on("py-matplotlib", type=("build", "run"))
+    depends_on("py-efel", type=("build", "run"))
+    depends_on("py-scipy", type=("build", "run"))
+    depends_on("py-h5py", type=("build", "run"))
+    depends_on("py-igor", type=("build", "run"))
+
+    def setup_run_environment(self, env):
+        env.set("NEURON_INIT_MPI", "0")
+        env.unset("PMI_RANK")
diff --git a/packages/py-bluepymm/package.py b/packages/py-bluepymm/package.py
new file mode 100644
index 0000000000000000000000000000000000000000..fd67efcdf086f47d0ce1f1c2ca28151943cf89dd
--- /dev/null
+++ b/packages/py-bluepymm/package.py
@@ -0,0 +1,36 @@
+# (from https://github.com/BlueBrain/spack)
+
+# Copyright 2013-2020 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.package import *
+
+
+class PyBluepymm(PythonPackage):
+    """Blue Brain Model Management Python Library"""
+
+    homepage = "https://github.com/BlueBrain/BluePyMM"
+    pypi = "bluepymm/bluepymm-0.7.49.tar.gz"
+
+    version("0.7.65", sha256="024b009decd8d967b3b885421196d53670e3c0a6b75aaaa55559f148b0b0d7d4")
+
+    depends_on("py-setuptools", type="build")
+    depends_on("py-bluepyopt", type="run")
+    depends_on("py-matplotlib", type="run")
+    # The below dependency should disappear once
+    # the matplotlib package is fixed
+    depends_on("py-backports-functools-lru-cache", type="run", when="^python@:3.3.99")
+    depends_on("py-pandas", type="run")
+    depends_on("py-numpy", type="run")
+    depends_on("py-ipyparallel", type="run")
+    depends_on("py-lxml", type="run")
+    depends_on("py-sh", type="run")
+    depends_on("neuron", type="run")
+    depends_on("py-h5py", type="run")
+    depends_on("py-pyyaml", type="run")
+
+    def setup_run_environment(self, env):
+        env.unset("PMI_RANK")
+        env.set("NEURON_INIT_MPI", "0")
diff --git a/packages/py-bluepyopt/package.py b/packages/py-bluepyopt/package.py
index 3cb09bc83ab214fa2a84160f4376391790d0e59c..47b61ef138ad8ce0c723a6d4bf43224c823665c1 100644
--- a/packages/py-bluepyopt/package.py
+++ b/packages/py-bluepyopt/package.py
@@ -1,7 +1,11 @@
-# (this package was adapted from https://github.com/BlueBrain/spack/blob/develop/bluebrain/repo-bluebrain/packages/py-bluepyopt/package.py)
+# (from https://github.com/BlueBrain/spack)
 
+# Copyright 2013-2020 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 *
+from spack.package import *
 
 
 class PyBluepyopt(PythonPackage):
@@ -10,11 +14,8 @@ class PyBluepyopt(PythonPackage):
     homepage = "https://github.com/BlueBrain/BluePyOpt"
     pypi = "bluepyopt/bluepyopt-1.9.27.tar.gz"
 
-    maintainers = ["hjorth", "elmath"]
-
     # NOTE : while adding new release check pmi_rank.patch compatibility
-    version("1.12.63", sha256="ec33abe2113767420cae0317da4d61554eb934e5447cadb54d66620576b97714")
-    version("1.11.47", sha256="cffe1698930e3e89544c441674a5f66e310c72db27f8265b17200713d9d16614")
+    version("1.13.86", sha256="37b4abcc4a53ed5af50fa0b3bc4d0003332b7f2f2b6e4d9f0b9de8638254e753")
     version("1.10.38", sha256="fb1411c6a8fbfac52d36b837225bae882fd6524acfb4d0580189312ef3c1cfcc")
     version("1.9.37", sha256="4399af71de48b288832e92f0de73c431bf88d6e76e2c4ea250c3b38fb38a45a8")
     version("1.9.27", sha256="4cce15b92b32311c808cae5e005b664deb6e8dc5df4ca13ea7b59252ae346522")
@@ -28,19 +29,19 @@ class PyBluepyopt(PythonPackage):
 
     variant("neuron", default=True, description="Use BluePyOpt together with NEURON")
 
-    depends_on("py-setuptools",         type=("build"))
-    depends_on("py-pandas@0.18:",       type=("build","run"))
-    depends_on("py-numpy@1.6:",         type=("build","run"))
-    depends_on("py-efel@2.13:",         type=("build","run"))
-    depends_on("py-deap",               type=("build","run"))
-    depends_on("py-deap@1.3.3:",        type=("build","run"), when="@1.12.63:")
-    depends_on("py-scoop@0.7:",         type=("build","run"), when="@:1.9.37")
-    depends_on("py-ipyparallel",        type=("build","run"))
-    depends_on("py-pickleshare@0.7.3:", type=("build","run"))
-    depends_on("py-future",             type=("build","run"))
-    depends_on("py-jinja2@2.8:",        type=("build","run"))
-    depends_on("py-pebble@4.3.10:",     type=("build","run"))
-    depends_on("neuron",                type=("build","run"), when="+neuron")
+    depends_on("py-setuptools", type="build")
+    depends_on("py-numpy", type=("build", "run"))
+    depends_on("py-pandas", type=("build", "run"))
+    depends_on("py-deap", type=("build", "run"))
+    depends_on("py-deap@1.3.3:", type=("build","run"), when="@1.13.86:")
+    depends_on("py-efel", type=("build", "run"))
+    depends_on("py-ipyparallel", type=("build", "run"))
+    depends_on("py-pickleshare", type=("build", "run"))
+    depends_on("py-jinja2", type=("build", "run"))
+    depends_on("py-future", type=("build", "run"))
+    depends_on("py-pebble@4.3.10:", type=("build", "run"))
+    depends_on("py-scoop@0.7:", type=("build", "run"), when="@:1.9.37")
+    depends_on("neuron", type=("build", "run"), when="+neuron")
 
     def setup_run_environment(self, env):
         env.unset("PMI_RANK")
diff --git a/packages/py-efel/package.py b/packages/py-efel/package.py
index ac156b16d76417a708ab56bb039d843af1d2a7c5..dd8edc16929b178993a43450331c33f97851cbf7 100644
--- a/packages/py-efel/package.py
+++ b/packages/py-efel/package.py
@@ -1,22 +1,28 @@
-# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# (from https://github.com/BlueBrain/spack)
+
+# Copyright 2013-2020 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 *
+from spack.package import *
 
 
 class PyEfel(PythonPackage):
-    """Electrophys Feature Extract Library (eFEL)
-    """
+    """The Electrophys Feature Extract Library (eFEL) allows
+    neuroscientists to automatically extract features from time series data
+    recorded from neurons (both in vitro and in silico).
+    Examples are the action potential width and amplitude in
+    voltage traces recorded during whole-cell patch clamp experiments.
+    The user of the library provides a set of traces and selects the
+    features to be calculated. The library will then extract the requested
+    features and return the values to the user."""
 
     homepage = "https://github.com/BlueBrain/eFEL"
-    pypi     = "efel/efel-4.0.4.tar.gz"
-    git      = "https://github.com/BlueBrain/eFEL.git"
+    pypi = "efel/efel-3.0.80.tar.gz"
 
     version("4.0.4", sha256="258c506776df609edc799338fd773e78f0f0315fd6f3e2f969478bda401a8894")
 
-    depends_on("python@3.6.9:")
-    depends_on("py-setuptools", type=("build"))
-    depends_on("py-numpy@1.6:", type=("build", "run"))
-    depends_on("py-six",        type=("build", "run"))
+    depends_on("py-setuptools", type="build")
+    depends_on("py-numpy", type="run")
+    depends_on("py-six", type="run")
diff --git a/packages/py-igor/package.py b/packages/py-igor/package.py
new file mode 100644
index 0000000000000000000000000000000000000000..5377ce1f3c268bc501048a63ccf6ab34c3526d5f
--- /dev/null
+++ b/packages/py-igor/package.py
@@ -0,0 +1,21 @@
+# (backported from Spack v0.20.0)
+
+# Copyright 2013-2023 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.package import *
+
+
+class PyIgor(PythonPackage):
+    """igor: interface for reading binary IGOR files."""
+
+    homepage = "http://blog.tremily.us/posts/igor/"
+    pypi = "igor/igor-0.3.tar.gz"
+
+    version("0.3", sha256="b04ac38c68fb81cf3167a9981dc5a20379112d40268bb72c5a8514dc8051abba")
+
+    depends_on("py-setuptools", type="build")
+    depends_on("py-numpy", type=("build", "run"))
+    depends_on("py-matplotlib", type=("build", "run"))
\ No newline at end of file
diff --git a/packages/py-libsonata/package.py b/packages/py-libsonata/package.py
index 6195654318a64f10b13313ffa4f82661c3a4f008..7478f1d63e166e3e63795f427da0b5a8641b8b55 100644
--- a/packages/py-libsonata/package.py
+++ b/packages/py-libsonata/package.py
@@ -1,7 +1,11 @@
-# (this package was adapted from https://github.com/BlueBrain/spack/blob/develop/bluebrain/repo-bluebrain/packages/py-libsonata/package.py)
+# (from https://github.com/BlueBrain/spack)
 
+# Copyright 2013-2018 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 *
+from spack.package import *
 
 
 class PyLibsonata(PythonPackage):
@@ -10,12 +14,15 @@ class PyLibsonata(PythonPackage):
     homepage = "https://github.com/BlueBrain/libsonata"
     git = "https://github.com/BlueBrain/libsonata.git"
     pypi = "libsonata/libsonata-0.1.14.tar.gz"
-    
-    maintainers = ["hjorth", "elmath"]
 
     submodules = True
 
-    version("develop", branch="master")
+    version("develop", branch="master", get_full_repo=True)
+    version("0.1.22", sha256="4adbb32ed2fac5d3c74bde03a5e2adb319724d324318a2a7dc2ef3c30f817b2c")
+    version("0.1.21", sha256="5b280d82cb21a745d9cdb736c00446e0209494c21d2d17a2c878fabf23a08b68")
+    version("0.1.20", sha256="f2e63a26dcf045bb7424e236e12f9b9ef8c46c356e953d26555f313f5763651e")
+    version("0.1.18", sha256="1b13728cbffbcb74cc864c7bc186e568945e25c260f732ffa872437c081fd9b4")
+    version("0.1.17", sha256="d122dd9fce82c8ce1621746ed9029e7db0d319fb94f6a737fb14f572f632f7b4")
     version("0.1.16", sha256="49ced56992ba8be8aa6638525e8078b7e3ce0d5c05c34ee90746cab02bb5185a")
     version("0.1.15", sha256="8c7c509db692b482cba5b0453579747db5a981ce5b3c13da96b14ae0332a6e81")
     version("0.1.14", sha256="a5c75df1c3ef6fac10d92fb6781643e0834e5c35debe77693686dab8bfcf221f")
@@ -24,9 +31,10 @@ class PyLibsonata(PythonPackage):
     version("0.1.11", sha256="95f302818971fec3f19ef18febd5c31c580490692138c8e4fe3534104d88b5e0")
     version("0.1.10", sha256="7ef9f911f7ea31da5ff5306d8372ec194d223850aede0878ac2a921ce049bbb2")
 
+    depends_on("cmake@3.3:", type="build")
     depends_on("hdf5")
     depends_on("py-pybind11")
-    depends_on("cmake@3.3:",        type=("build"))
-    depends_on("py-setuptools",     type=("build"), when="@0.1:")
-    depends_on("py-setuptools-scm", type=("build"), when="@0.1:")
-    depends_on("py-numpy@1.17:",    type=("build", "run"))
+
+    depends_on("py-numpy@1.17:", type=("build", "run"))
+    depends_on("py-setuptools", type="build", when="@0.1:")
+    depends_on("py-setuptools-scm", type="build", when="@0.1:")
diff --git a/packages/py-morph-tool/package.py b/packages/py-morph-tool/package.py
index b9739ca04274a2c7d7f70b6d581a30d99e299eb6..f639ba217f767de0cd13367ae8b69825080652fa 100644
--- a/packages/py-morph-tool/package.py
+++ b/packages/py-morph-tool/package.py
@@ -1,3 +1,10 @@
+# (from https://github.com/BlueBrain/spack)
+
+# Copyright 2013-2020 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.package import *
 
 
@@ -25,5 +32,5 @@ class PyMorphTool(PythonPackage):
     depends_on("neuron+python@7.8:", type=("build", "run"))
     depends_on("py-bluepyopt@1.9.37:", type=("build", "run"))
 
-    depends_on("py-neurom@3.0:3.999", type=("build", "run"))
-    depends_on("py-morphio@3.0:3.999", type=("build", "run"))
+    depends_on("py-neurom@3.0:3.999,develop", type=("build", "run"))
+    depends_on("py-morphio@3.0:3.999,develop", type=("build", "run"))
diff --git a/packages/py-morphio/package.py b/packages/py-morphio/package.py
index 88e68a5aeda6352fd57c7c4143ca22bfb15d517f..5a08dfe86cd4d14b5fa96af724ea937da59bcbea 100644
--- a/packages/py-morphio/package.py
+++ b/packages/py-morphio/package.py
@@ -1,9 +1,9 @@
-# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
+# (from https://github.com/BlueBrain/spack)
+
+# Copyright 2013-2018 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 https://github.com/BlueBrain/spack/blob/develop/bluebrain/repo-bluebrain/packages/py-morphio/package.py
 
 from spack.package import *
 
@@ -18,6 +18,7 @@ class PyMorphio(PythonPackage):
     version("develop", branch="master", submodules=True)
     version("unifurcation", branch="unifurcation", submodules=True)
 
+    version("3.3.5", sha256="9e6cfebaea32080131b2b08a4a32dfbe92b18427a3e557861e27c4131f7542ac")
     version("3.3.4", sha256="b70c6884e9b835560501f798c75c9cc7eaf3162cba1d930b5a9b854bb9ea60dc")
     version("3.3.3", sha256="f6d91970cfd734b2e5fb8f9239a0bfa00519fe082dd8e403e4cc204dbdf0a9fa")
     version("3.3.2", sha256="fc961defbfbfb3f11360954fb3ec51373eaff25b154fa31d6b31decca6937780")
diff --git a/packages/py-neurom/package.py b/packages/py-neurom/package.py
index f1691855d2d65bf40b0f9c0a07ffc0f9a53f2d4f..1311d7916f7e862c472dda490c44d57c8a193c46 100644
--- a/packages/py-neurom/package.py
+++ b/packages/py-neurom/package.py
@@ -1,9 +1,9 @@
-# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
+# (from https://github.com/BlueBrain/spack)
+
+# Copyright 2013-2020 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 https://github.com/BlueBrain/spack/blob/develop/bluebrain/repo-bluebrain/packages/py-neurom/package.py
 
 from spack.package import *
 
diff --git a/packages/py-neuror/package.py b/packages/py-neuror/package.py
index 513c61a06236c7f3627d4bf6063fab3a0947f9a9..b9273ee334a89cc84c867a93a420a377100da4f8 100644
--- a/packages/py-neuror/package.py
+++ b/packages/py-neuror/package.py
@@ -1,3 +1,10 @@
+# (from https://github.com/BlueBrain/spack)
+
+# Copyright 2013-2021 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.package import *
 
 
diff --git a/spack.yaml b/spack.yaml
index fdac2634d6eedad8070c8100a006bae0d87535f5..7f151d000ee2ce19f748a932fde77c9a3153913d 100644
--- a/spack.yaml
+++ b/spack.yaml
@@ -25,6 +25,9 @@ spack:
     - nest@3.5_rc1 +sonata
     - neuron@8.2.2 +mpi
     - nglview@3.0.4
+    - py-bluepyefe@2.2.18
+    - py-bluepymm@0.7.65
+    - py-bluepyopt@1.13.86
     - py-brian2@2.5.0.2
     - py-cerebrus@1.3.4
     - py-ebrains-drive@0.5.1
@@ -41,12 +44,13 @@ spack:
     - py-lazyarray@0.5.2
     - py-lfpy@2.3
     - py-lfpykit@0.5
+    - py-libsonata@0.1.22
     - py-nameparser@1.1.1
     - py-neo@0.12.0
     - py-nestml@5.2.0
     - py-netpyne@1.0.4.1
-    - py-neuror@1.4.2
     - py-neurom@3.2.2
+    - py-neuror@1.4.2
     - py-nixio@1.5.3
     - py-pdb2pqr@3.5.2
     - py-pynn@0.11.0 +mpi