diff --git a/packages/py-spalloc/package.py b/packages/py-spalloc/package.py
index 99d8ae94a055692d14bc64cb125d22c300c254ef..ef548dde24b7bd207a0a869bb252563c43438009 100644
--- a/packages/py-spalloc/package.py
+++ b/packages/py-spalloc/package.py
@@ -11,10 +11,10 @@ class PySpalloc(PythonPackage):
     requesting SpiNNaker machines from a spalloc server."""
 
     homepage = "https://github.com/SpiNNakerManchester/spalloc"
-    pypi = "spalloc/spalloc-1!6.0.0.tar.gz"
+    pypi = "spalloc/spalloc-1!7.0.0.tar.gz"
 
-    version('6.0.0', sha256='1275fd703dfa36fe7fc03407f768f95f05597092c2fe6fb0e743dacb5528be08')
+    version('7.0.0', sha256='e141a0e661efd6fd634f3793752d8d6deef56ee37a21fa8e3d7208f4edd86f51')
 
     depends_on("python@3.7:", type=("build", "run"))
-    depends_on("py-appdirs", type=("build", "run"))
-    depends_on("py-spinnutilities@6.0.0", type=("build", "run"), when="^python@3.7")
+    depends_on("py-jsonschema", type=("build", "run"))
+    depends_on("py-spinnutilities@7.0.0", type=("build", "run"))
diff --git a/packages/py-spinnaker-dataspecification/package.py b/packages/py-spinnaker-dataspecification/package.py
deleted file mode 100644
index 07d1dbcc72860d2445d28f9e19464e9dd78d31ce..0000000000000000000000000000000000000000
--- a/packages/py-spinnaker-dataspecification/package.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 2013-2022 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 PySpinnakerDataspecification(PythonPackage):
-    """This package provides utilities for specifying binary data
-    algorithmically, and executing the specifications to produce the data."""
-
-    homepage = "https://github.com/SpiNNakerManchester/DataSpecification"
-    pypi = "SpiNNaker_DataSpecification/SpiNNaker_DataSpecification-1!6.0.0.tar.gz"
-
-    version("6.0.0", sha256="5265771f5a3e77b1d7a1e075d8cfea5987c37b0a3880874316101a33d15d01dd")
-
-    depends_on("python@3.7:", type=("build", "run"))
-    depends_on("py-spinnutilities@6.0.0", type=("build", "run"))
-    depends_on("py-spinnmachine@6.0.0", type=("build", "run"))
diff --git a/packages/py-spinnaker-pacman/package.py b/packages/py-spinnaker-pacman/package.py
index 0ac11a88cf66b4de780e575ef295b9e5a5995f21..b4dd87595310521e2a836c7df861a53a7d698656 100644
--- a/packages/py-spinnaker-pacman/package.py
+++ b/packages/py-spinnaker-pacman/package.py
@@ -11,12 +11,11 @@ class PySpinnakerPacman(PythonPackage):
     SpiNNaker machine."""
 
     homepage = "https://github.com/SpiNNakerManchester/PACMAN"
-    pypi = "SpiNNaker_PACMAN/SpiNNaker_PACMAN-1!6.0.0.tar.gz"
+    pypi = "SpiNNaker_PACMAN/SpiNNaker_PACMAN-1!7.0.0.tar.gz"
 
-    version("6.0.0", sha256="2baf2d2451fa3c645dc731bb5716b95bb7f7bac1ea5f569921783ffedd1f0a88")
+    version("7.0.0", sha256="d9e7e620d02fda88f57a8cf157cc9421b5606d453230847f3d35985eae4c074d")
 
     depends_on("python@3.7:", type=("build", "run"))
     depends_on("py-jsonschema", type=("build", "run"))
-    depends_on("py-sortedcollections", type=("build", "run"))
-    depends_on("py-spinnutilities@6.0.0", type=("build", "run"))
-    depends_on("py-spinnmachine@6.0.0", type=("build", "run"))
+    depends_on("py-spinnutilities@7.0.0", type=("build", "run"))
+    depends_on("py-spinnmachine@7.0.0", type=("build", "run"))
diff --git a/packages/py-spinnfrontendcommon/package.py b/packages/py-spinnfrontendcommon/package.py
index d1881565d3ff2e96cc3f38a79611a88139abe359..4ebc201bff9df914461dca982c971191e94b53f2 100644
--- a/packages/py-spinnfrontendcommon/package.py
+++ b/packages/py-spinnfrontendcommon/package.py
@@ -11,17 +11,13 @@ class PySpinnfrontendcommon(PythonPackage):
     algorithmically, and executing the specifications to produce the data."""
 
     homepage = "https://github.com/SpiNNakerManchester/SpiNNFrontEndCommon"
-    pypi = "SpiNNFrontEndCommon/SpiNNFrontEndCommon-1!6.0.0.tar.gz"
+    pypi = "SpiNNFrontEndCommon/SpiNNFrontEndCommon-1!7.0.0.tar.gz"
 
-    version("6.0.0", sha256="a45770487d2b7e8d865bb5fb472f6f4ad22025924448611c19ea9afa7ddf64e5")
+    version("7.0.0", sha256="07539734ed0105472d06d655bbd92e149ef44c77c388fcca28857558faa6dd10")
 
     depends_on("python@3.7:", type=("build", "run"))
-    depends_on("py-spinnutilities@6.0.0", type=("build", "run"))
-    depends_on("py-spinnmachine@6.0.0", type=("build", "run"))
-    depends_on("py-spinnman@6.0.0", type=("build", "run"))
-    depends_on("py-spinnaker-pacman@6.0.0", type=("build", "run"))
-    depends_on("py-spinnaker-dataspecification@6.0.0", type=("build", "run"))
-    depends_on("py-spalloc@6.0.0", type=("build", "run"))
-    depends_on("py-requests@2.4.1:", type=("build", "run"))
-    depends_on("py-scipy@0.16.0:1.7", type=("build", "run"), when="^python@3.7")
+    depends_on("py-spinnman@7.0.0", type=("build", "run"))
+    depends_on("py-spinnaker-pacman@7.0.0", type=("build", "run"))
+    depends_on("py-spalloc@7.0.0", type=("build", "run"))
     depends_on("py-scipy@0.16.0:", type=("build", "run"))
+    depends_on("py-ebrains-drive@0.5.1:", type=("build", "run"))
diff --git a/packages/py-spinnmachine/package.py b/packages/py-spinnmachine/package.py
index 133f31245037da4c9b950236500ea80229f9ae39..c7302caecf26991820d34eb1fd7d0c7be618f778 100644
--- a/packages/py-spinnmachine/package.py
+++ b/packages/py-spinnmachine/package.py
@@ -11,9 +11,9 @@ class PySpinnmachine(PythonPackage):
     machine."""
 
     homepage = "https://github.com/SpiNNakerManchester/SpiNNMachine"
-    pypi = "SpiNNMachine/SpiNNMachine-1!6.0.0.tar.gz"
+    pypi = "SpiNNMachine/SpiNNMachine-1!7.0.0.tar.gz"
 
-    version("6.0.0", sha256="713510e78353a3772b4a5fb52cf742ea76fb5d520f5fac3b5c3fd34534afc7ed")
+    version("7.0.0", sha256="5da374fd9208287799fbc324136fe5954dd1b370792ea81ea10d4537643272ad")
 
     depends_on("python@3.7:", type=("build", "run"))
-    depends_on("py-spinnutilities@6.0.0", type=("build", "run"))
+    depends_on("py-spinnutilities@7.0.0", type=("build", "run"))
diff --git a/packages/py-spinnman/package.py b/packages/py-spinnman/package.py
index b9604f61645de77b34dfa29413f17b54635deecd..977bb5bcffd3d48268017a9b34f8b150cbae9562 100644
--- a/packages/py-spinnman/package.py
+++ b/packages/py-spinnman/package.py
@@ -11,10 +11,10 @@ class PySpinnman(PythonPackage):
     machine."""
 
     homepage = "https://github.com/SpiNNakerManchester/SpiNNMan"
-    pypi = "SpiNNMan/SpiNNMan-1!6.0.0.tar.gz"
+    pypi = "SpiNNMan/SpiNNMan-1!7.0.0.tar.gz"
 
-    version("6.0.0", sha256="9e88789de3417bd9aa9d038c14efe7312569293aadc3a110dfd0d1005cc21241")
+    version("7.0.0", sha256="61bc8934e4ad6798b48c02ff6c8a3ef5c8e080a5ee2f4b88fc9cd587ed1b1ae6")
 
     depends_on("python@3.7:", type=("build", "run"))
-    depends_on("py-spinnutilities@6.0.0", type=("build", "run"))
-    depends_on("py-spinnmachine@6.0.0", type=("build", "run"))
+    depends_on("py-spinnmachine@7.0.0", type=("build", "run"))
+    depends_on("py-websocket-client", type=("build", "run"))
diff --git a/packages/py-spinnutilities/package.py b/packages/py-spinnutilities/package.py
index 687340dfea2d0ca6a0536519b14b9308adcf9a03..d964711c879a64ee5c158617b708e74349be2d3d 100644
--- a/packages/py-spinnutilities/package.py
+++ b/packages/py-spinnutilities/package.py
@@ -12,13 +12,12 @@ class PySpinnutilities(PythonPackage):
     functionality."""
 
     homepage = "https://github.com/SpiNNakerManchester/SpiNNUtils"
-    pypi = "SpiNNUtilities/SpiNNUtilities-1!6.0.0.tar.gz"
+    pypi = "SpiNNUtilities/SpiNNUtilities-1!7.0.0.tar.gz"
 
-    version("6.0.0", sha256="b84b1c174dd0824eac97e8bbb64a56189c082de7fcfc5be07cf9ac3bed9efd81")
+    version("7.0.0", sha256="662855395ec367008735047a66a7ca75d1e5070e309ca3aa6ba3a843fb722841")
 
     depends_on("python@3.7:", type=("build", "run"))
     depends_on("py-appdirs", type=("build", "run"))
-    depends_on("py-numpy@1.13:1.20", when="^python@3.7")
-    depends_on("py-numpy", type=("build", "run"), when="^python@3.8:")
+    depends_on("py-numpy", type=("build", "run"),)
     depends_on("py-pyyaml", type=("build", "run"))
     depends_on("py-requests", type=("build", "run"))
diff --git a/packages/py-spynnaker/package.py b/packages/py-spynnaker/package.py
index 03d8083c943ded38982cb01920103b18584590ef..33b608c234179e0ac9ec5ede5cff6d6969b74d33 100644
--- a/packages/py-spynnaker/package.py
+++ b/packages/py-spynnaker/package.py
@@ -11,26 +11,17 @@ class PySpynnaker(PythonPackage):
     SpiNNaker."""
 
     homepage = "https://github.com/SpiNNakerManchester/sPyNNaker"
-    pypi = "sPyNNaker/sPyNNaker-1!6.0.0.tar.gz"
+    pypi = "sPyNNaker/sPyNNaker-1!7.0.0.tar.gz"
 
-    version("6.0.0", sha256="821c2af838cffeba65feb0e12bf3a4c39b1b6a597d224871cf0f0476e38edfef")
+    version("7.0.0", sha256="caeaa624e3fdbca3b938c9be7ea4c78a51a037e659389fb01952822f069664db")
 
     depends_on("python@3.7:", type=("build", "run"))
-    depends_on("py-spinnutilities@6.0.0", type=("build", "run"))
-    depends_on("py-spinnmachine@6.0.0", type=("build", "run"))
-    depends_on("py-spinnman@6.0.0", type=("build", "run"))
-    depends_on("py-spinnaker-pacman@6.0.0", type=("build", "run"))
-    depends_on("py-spinnaker-dataspecification@6.0.0", type=("build", "run"))
-    depends_on("py-spalloc@6.0.0", type=("build", "run"))
-    depends_on("py-spinnfrontendcommon@6.0.0", type=("build", "run"))
-    depends_on("py-matplotlib@:3.5.99", type=("build", "run"), when="^python@3.7")
+    depends_on("py-spinnfrontendcommon@7.0.0", type=("build", "run"))
     depends_on("py-matplotlib", type=("build", "run"))
-    depends_on("py-quantities@0.12.1:", type=("build", "run"))
-    #depends_on("py-pynn@0.9.1:0.9", type=("build", "run"))
-    depends_on("py-pynn@0.9.1:", type=("build", "run"))
-    #depends_on("py-lazyarray@0.2.9:0.4.0", type=("build", "run"))
-    depends_on("py-lazyarray@0.2.9:", type=("build", "run"))
-    #depends_on("py-appdirs@1.4.2:1.9", type=("build", "run"))
-    depends_on("py-appdirs@1.4.2:", type=("build", "run"))
-    #depends_on("py-neo@0.5.2:0.9", type=("build", "run"))
-    depends_on("py-neo@0.5.2:", type=("build", "run"))
+    depends_on("py-pyparsing@2.2.1:2.4.7", type=("build", "run"))
+    depends_on("py-quantities", type=("build", "run"))
+    depends_on("py-pynn", type=("build", "run"))
+    depends_on("py-neo", type=("build", "run"))
+    depends_on("py-lazyarray", type=("build", "run"))
+    depends_on("py-scipy", type=("build", "run"))
+    depends_on("py-csa", type=("build", "run"))
diff --git a/py-sPyNNaker/.gitkeep b/py-sPyNNaker/.gitkeep
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/spack.yaml b/spack.yaml
index a059021ee74f383d57b92eb528d16be7ec601374..cc7d33764d7fdf0e9ed58f1a0db164be24064704 100644
--- a/spack.yaml
+++ b/spack.yaml
@@ -44,6 +44,7 @@ spack:
     - py-quantities@0.14.1
     - py-siibra@0.4a57
     - py-snudda@1.4.71
+    - py-spynnaker@7.0.0
     - py-tvb-data@2.7
     - py-tvb-framework@2.8.1.1
     - py-tvb-gdist@2.2