diff --git a/packages/py-libsonata/package.py b/packages/py-libsonata/package.py
index 7478f1d63e166e3e63795f427da0b5a8641b8b55..ed0644c33bb131b431d9cf0aaa833a975d278d6f 100644
--- a/packages/py-libsonata/package.py
+++ b/packages/py-libsonata/package.py
@@ -18,6 +18,7 @@ class PyLibsonata(PythonPackage):
     submodules = True
 
     version("develop", branch="master", get_full_repo=True)
+    version("0.1.23", sha256="815aac5bdaa5d025b5f3558ac4d3acb9ebcb070594109af4c0844f47ec701c1d")
     version("0.1.22", sha256="4adbb32ed2fac5d3c74bde03a5e2adb319724d324318a2a7dc2ef3c30f817b2c")
     version("0.1.21", sha256="5b280d82cb21a745d9cdb736c00446e0209494c21d2d17a2c878fabf23a08b68")
     version("0.1.20", sha256="f2e63a26dcf045bb7424e236e12f9b9ef8c46c356e953d26555f313f5763651e")
diff --git a/packages/py-morph-tool/package.py b/packages/py-morph-tool/package.py
index f639ba217f767de0cd13367ae8b69825080652fa..dbe42d14c6490c7328e7b8ac5bf90b067bd33671 100644
--- a/packages/py-morph-tool/package.py
+++ b/packages/py-morph-tool/package.py
@@ -13,11 +13,14 @@ class PyMorphTool(PythonPackage):
 
     homepage = "https://github.com/BlueBrain/morph-tool"
     git = "https://github.com/BlueBrain/morph-tool.git"
-    pypi = "morph-tool/morph-tool-2.4.1.tar.gz"
+    pypi = "morph-tool/morph-tool-2.9.1.tar.gz"
 
     version("develop", branch="master")
+    version("2.9.1", sha256="305e9456c8047726588b23dfa070eb95ccbe5573e9fea3e0a83dc93eacdf61dc")
     version("2.9.0", sha256="c60d4010e17ddcc3f53c864c374fffee05713c8f8fd2ba4eed7706041ce1fa47")
 
+    variant("neuron", default=False, description="Enable additional neuron support")
+
     depends_on("py-setuptools", type=("build", "run"))
 
     depends_on("py-click@6.7:", type=("build", "run"))
@@ -28,9 +31,10 @@ class PyMorphTool(PythonPackage):
     depends_on("py-xmltodict@0.12:", type=("build", "run"))
 
     depends_on("py-plotly@4.1:", type=("build", "run"))
-    depends_on("py-dask+bag@2.19:", type=("build", "run"))
+    depends_on("py-dask@2.19:", type=("build", "run"))
     depends_on("neuron+python@7.8:", type=("build", "run"))
-    depends_on("py-bluepyopt@1.9.37:", type=("build", "run"))
+    depends_on("py-bluepyopt@1.9.37:", type=("build", "run"), when="+neuron")
 
     depends_on("py-neurom@3.0:3.999,develop", type=("build", "run"))
-    depends_on("py-morphio@3.0:3.999,develop", type=("build", "run"))
+    depends_on("py-morphio@3.3.6:3,develop", type=("build", "run"), when="@2.9.1:")
+    depends_on("py-morphio@3.0:3,develop", type=("build", "run"), when="@2.9.0")
diff --git a/packages/py-morphio/package.py b/packages/py-morphio/package.py
index 5a08dfe86cd4d14b5fa96af724ea937da59bcbea..f1c6141484b924bacbee3c263351171efd044a49 100644
--- a/packages/py-morphio/package.py
+++ b/packages/py-morphio/package.py
@@ -18,6 +18,7 @@ class PyMorphio(PythonPackage):
     version("develop", branch="master", submodules=True)
     version("unifurcation", branch="unifurcation", submodules=True)
 
+    version("3.3.6", sha256="0f2e55470d92a3d89f2141ae905ee104fd16257b93dafb90682d90171de2f4e6")
     version("3.3.5", sha256="9e6cfebaea32080131b2b08a4a32dfbe92b18427a3e557861e27c4131f7542ac")
     version("3.3.4", sha256="b70c6884e9b835560501f798c75c9cc7eaf3162cba1d930b5a9b854bb9ea60dc")
     version("3.3.3", sha256="f6d91970cfd734b2e5fb8f9239a0bfa00519fe082dd8e403e4cc204dbdf0a9fa")
diff --git a/packages/py-neuror/package.py b/packages/py-neuror/package.py
index b9273ee334a89cc84c867a93a420a377100da4f8..d84d202d063b5189676bf3d5159b048d32e07b1e 100644
--- a/packages/py-neuror/package.py
+++ b/packages/py-neuror/package.py
@@ -5,6 +5,7 @@
 #
 # SPDX-License-Identifier: (Apache-2.0 OR MIT)
 
+
 from spack.package import *
 
 
@@ -16,17 +17,18 @@ class PyNeuror(PythonPackage):
     pypi = "neuror/NeuroR-1.2.3.tar.gz"
 
     version("develop", branch="master")
-    version("1.4.2", sha256="f5e18ebddf59a60ce650c24eb49042057cf97990d63aee3ceb58b7acff823255")
+    version("1.6.4", sha256="a65c0e1814c38326a344f03c1f5f92ab4db721c5541888b2acb9ffc5a7adac50")
 
     depends_on("py-setuptools", type=("build", "run"))
 
     depends_on("py-click@6.7:", type=("build", "run"))
+    depends_on("py-jsonschema", type=("build", "run"))
     depends_on("py-matplotlib@2.2.3:", type=("build", "run"))
     depends_on("py-morph-tool@2.9.0:2.999", type=("build", "run"))
-    depends_on("py-morphio@3.0:3.999", type=("build", "run"))
-    depends_on("py-neurom@3.0:3.999", type=("build", "run"))
+    depends_on("py-morphio@3.0.0:3.999", type=("build", "run"))
+    depends_on("py-neurom@3.0.1:3.999", type=("build", "run"))
     depends_on("py-numpy@1.19.2:", type=("build", "run"))
-    depends_on("py-nptyping@1.3.0:", type=("build", "run"))
+    depends_on("py-nptyping@2:", type=("build", "run"))
     depends_on("py-pandas@0.24.2:", type=("build", "run"))
     depends_on("py-pyquaternion@0.9.2:", type=("build", "run"))
     depends_on("py-scipy@1.2.0:", type=("build", "run"))
diff --git a/spack.yaml b/spack.yaml
index 3a3ab1aa20e992670e2de2ff6b1d7719ee1a6e8c..992f26fe0ef72c788a93ed8e22e69e80707dfbeb 100644
--- a/spack.yaml
+++ b/spack.yaml
@@ -31,12 +31,12 @@ spack:
     - py-hippounit@1.3.6
     - py-lfpy@2.3
     - py-lfpykit@0.5.1
-    - py-libsonata@0.1.22
+    - py-libsonata@0.1.23
     - py-neo@0.12.0
     - py-nestml@5.2.0
     - py-netpyne@1.0.5
     - py-neurom@3.2.2
-    - py-neuror@1.4.2
+    - py-neuror@1.6.4
     - py-pdb2pqr@3.5.2
     - py-pynn@0.11.0 +mpi
     - py-pyunicore@0.15.0