diff --git a/gui/tests/artifacts.js b/gui/tests/artifacts.js
index f0ce594a42a677bc1bd32d932160567548f3d442..e985fbd18e8d099ef451ed0aba8066e289b88372 100644
--- a/gui/tests/artifacts.js
+++ b/gui/tests/artifacts.js
@@ -103398,7 +103398,7 @@ window.nomadArtifacts = {
     "xps": {
       "short_description": "An example for analyzing XPS data.",
       "description": "Includes tools for analyzing X-ray Photoelectron Spectroscopy (XPS) spectra and converting SPECS SLE files into NeXus.",
-      "image": "gitlab-registry.mpcdf.mpg.de/nomad-lab/north/xps/jupyter",
+      "image": "gitlab-registry.mpcdf.mpg.de/nomad-lab/north/xps/jupyter:master",
       "cmd": null,
       "image_pull_policy": "Always",
       "privileged": false,
diff --git a/nomad/config/north.py b/nomad/config/north.py
index bbfa9623beb9a099ca15ede22e006172bcd31eb5..3aa5aa7201d38702dedac21c49ba114b535344af 100644
--- a/nomad/config/north.py
+++ b/nomad/config/north.py
@@ -266,7 +266,7 @@ class NORTH(NomadSettings):
                 'xps': NORTHTool(
                     short_description='An example for analyzing XPS data.',
                     description='Includes tools for analyzing X-ray Photoelectron Spectroscopy (XPS) spectra and converting SPECS SLE files into NeXus.',
-                    image='gitlab-registry.mpcdf.mpg.de/nomad-lab/north/xps/jupyter',
+                    image='gitlab-registry.mpcdf.mpg.de/nomad-lab/north/xps/jupyter:master',
                     path_prefix='lab/tree',
                     icon='jupyter_logo.svg',
                     mount_path='/home/jovyan',
diff --git a/ops/kubernetes/nomad/updatevalues.py b/ops/kubernetes/nomad/updatevalues.py
index 617d7f4a1e2371b43dafc7f2d2770deda153e0f3..3a4ba1e04cbb611021e9cc435059a3ec5b0cd637 100644
--- a/ops/kubernetes/nomad/updatevalues.py
+++ b/ops/kubernetes/nomad/updatevalues.py
@@ -2,6 +2,7 @@
 # includes the following:
 # - populating jupyterhub.singleUser.profileList with NORTH tools
 
+from typing import Any, Dict
 import os
 from sys import stdout, argv
 from ruamel.yaml import YAML
@@ -15,33 +16,56 @@ yaml.allow_duplicate_keys = True
 with open(file_path, 'r') as file:
     data = yaml.load(file)
 
-profile_list = (
-    data.setdefault('jupyterhub', {})
-    .setdefault('singleuser', {})
-    .setdefault('profileList', [])
-)
-for name, tool in config.north.tools.filtered_items():
-    profile = next(
-        (profile for profile in profile_list if profile['display_name'] == name), None
+# Profiles currently break how NOMAD interacts with JupyterHub, so we're only using
+# the extraImages to feed the prePuller
+generate_profiles = False
+
+if generate_profiles:
+    profile_list = (
+        data.setdefault('jupyterhub', {})
+        .setdefault('singleuser', {})
+        .setdefault('profileList', [])
     )
-    if profile is None:
-        profile = dict()
-        profile_list.append(profile)
-
-    profile.update(
-        dict(
-            display_name=name,
-            description=tool.description,
-            kubespawner_override=dict(
-                image=tool.image, image_pull_policy=tool.image_pull_policy
-            ),
+    for name, tool in config.north.tools.filtered_items():
+        profile = next(
+            (profile for profile in profile_list if profile['display_name'] == name),
+            None,
         )
-    )
+        if profile is None:
+            profile = dict()
+            profile_list.append(profile)
+
+        profile.update(
+            dict(
+                display_name=name,
+                description=tool.description,
+                kubespawner_override=dict(
+                    image=tool.image,
+                    image_pull_policy=tool.image_pull_policy,
+                ),
+            )
+        )
+
+        if tool.path_prefix:
+            profile['kubespawner_override']['default_url'] = tool.path_prefix
+        if tool.cmd:
+            profile['kubespawner_override']['cmd'] = tool.cmd
+        if tool.privileged:
+            profile['kubespawner_override']['privileged'] = tool.privileged
+
+else:
+    pre_puller = data.setdefault('jupyterhub', {}).setdefault('prePuller', {})
+    extra_images: Dict[str, Any] = {}
+    pre_puller['extraImages'] = extra_images
+
+    for name, tool in config.north.tools.filtered_items():
+        try:
+            image_name, image_tag = tool.image.rsplit(':', 1)
+        except ValueError:
+            image_name, image_tag = tool.image, 'latest'
+
+        extra_images[name] = dict(name=image_name, tag=image_tag)
 
-    if tool.path_prefix:
-        profile['kubespawner_override']['default_url'] = tool.path_prefix
-    if tool.cmd:
-        profile['kubespawner_override']['cmd'] = tool.cmd
 
 if len(argv) == 2:
     with open(argv[1], 'w') as file:
diff --git a/ops/kubernetes/nomad/values.yaml b/ops/kubernetes/nomad/values.yaml
index 33d7f3677a4b12f51660090ee2aa1c47dbb5e82c..6835cc20f3358a58f5cdb53db476dba9bcf58efd 100644
--- a/ops/kubernetes/nomad/values.yaml
+++ b/ops/kubernetes/nomad/values.yaml
@@ -155,12 +155,11 @@ nomad:
     limitConnections: 32
     limitConnectionsApi: 8
     hosts:
-      - nomad-lab.eu
-    className: ""
-    annotations:
-      nginx.ingress.kubernetes.io/ssl-redirect: "false"
-      nginx.ingress.kubernetes.io/proxy-body-size: "32g"
+    - nomad-lab.eu
     className: ''
+    annotations:
+      nginx.ingress.kubernetes.io/ssl-redirect: 'false'
+      nginx.ingress.kubernetes.io/proxy-body-size: 32g
     tls: []
 
   # Additional volumes on the output Deployment definition.
@@ -185,7 +184,7 @@ nomad:
   ## Everything concerning the nginx that serves the gui, proxies the api
   #  It is run via NodePort service
   proxy:
-    path: "/fairdi/nomad/latest"
+    path: /fairdi/nomad/latest
     timeout: 60
     editTimeout: 60
     connectionTimeout: 10
@@ -385,97 +384,6 @@ jupyterhub:
       pullPolicy: Always
     storage:
       type: none
-    profileList:
-    - display_name: jupyter
-      description: "### **Jupyter Notebook**: The Classic Notebook Interface\n\nThe\
-        \ Jupyter Notebook is the original web application for creating and sharing\
-        \ computational documents. It offers a simple, streamlined, document-centric\
-        \ experience."
-      kubespawner_override:
-        image: gitlab-registry.mpcdf.mpg.de/nomad-lab/north/jupyter:latest
-        image_pull_policy: Always
-        default_url: lab/tree
-    - display_name: nionswift
-      description: Run Nion Swift to analyze data.
-      kubespawner_override:
-        image: gitlab-registry.mpcdf.mpg.de/nomad-lab/nomad-remote-tools-hub/nionswift-webtop
-        image_pull_policy: Always
-    - display_name: nexustools
-      description: Includes multiple NeXus tools for visualization and analysis.
-      kubespawner_override:
-        image: gitlab-registry.mpcdf.mpg.de/nomad-lab/nomad-remote-tools-hub/nexus-webtop
-        image_pull_policy: Always
-    - display_name: ellips
-      description: This example presents the capabilities of the NOMAD platform to
-        store and standardize ellipsometry data. It shows the generation of a NeXus
-        file according to the [NXellipsometry](https://manual.nexusformat.org/classes/contributed_definitions/NXellipsometry.html#nxellipsometry)
-        application definition and a successive analysis of a SiO2 on Si Psi/Delta
-        measurement.
-      kubespawner_override:
-        image: gitlab-registry.mpcdf.mpg.de/nomad-lab/nomad-remote-tools-hub/ellips-jupyter
-        image_pull_policy: Always
-        default_url: lab/tree
-    - display_name: mpes
-      description: "This example presents the capabilities of the NOMAD platform to\
-        \ store and standardize multi photoemission spectroscopy (MPES) experimental\
-        \ data. It contains three major examples:\n\n- Taking a pre-binned file, here\
-        \ stored in a h5 file, and converting it into the standardized MPES NeXus\
-        \ format. There exists a [NeXus application definition for MPES](https://manual.nexusformat.org/classes/contributed_definitions/NXmpes.html#nxmpes)\
-        \ which details the internal structure of such a file.\n- Binning of raw data\
-        \ (see [here](https://www.nature.com/articles/s41597-020-00769-8) for additional\
-        \ resources) into a h5 file and consecutively generating a NeXus file from\
-        \ it.\n- An analysis example using data in the NeXus format and employing\
-        \ the [pyARPES](https://github.com/chstan/arpes) analysis tool to reproduce\
-        \ the main findings of [this paper](https://arxiv.org/pdf/2107.07158.pdf)."
-      kubespawner_override:
-        image: gitlab-registry.mpcdf.mpg.de/nomad-lab/north/mpes/webtop
-        image_pull_policy: Always
-    - display_name: xps
-      description: Includes tools for analyzing X-ray Photoelectron Spectroscopy (XPS)
-        spectra and converting SPECS SLE files into NeXus.
-      kubespawner_override:
-        image: gitlab-registry.mpcdf.mpg.de/nomad-lab/north/xps/jupyter
-        image_pull_policy: Always
-        default_url: lab/tree
-    - display_name: sts
-      description: 'This example is for two types of experiments: Scanning Tunneling
-        Microscopy (STM) and Scanning Tunneling Spectroscopy (STS) from Scanning Probe
-        Microscopy. It can transform the data from files generated by a the nanonis
-        software into the NeXus application definition NXsts. The example contains
-        data files from the two specific nanonis software versions generic 5e and
-        generic 4.5.'
-      kubespawner_override:
-        image: gitlab-registry.mpcdf.mpg.de/nomad-lab/nomad-remote-tools-hub/sts-jupyter
-        image_pull_policy: Always
-        default_url: lab/tree
-    - display_name: webtop
-      description: Baseline webtop image for test
-      kubespawner_override:
-        image: gitlab-registry.mpcdf.mpg.de/nomad-lab/nomad-remote-tools-hub/webtop
-        image_pull_policy: Always
-    - display_name: apmtools
-      description: "Miscellaneous tools from the atom probe community:\nCurrently\
-        \ APTyzer, paraprobe-toolbox, and APAV"
-      kubespawner_override:
-        image: gitlab-registry.mpcdf.mpg.de/nomad-lab/nomad-remote-tools-hub/apmtools-webtop
-        image_pull_policy: Always
-    - display_name: fiji
-      description: ImageJ and Fiji with amongst others several electron-microscopy
-        specific plug-ins
-      kubespawner_override:
-        image: gitlab-registry.mpcdf.mpg.de/nomad-lab/nomad-remote-tools-hub/fiji-webtop
-        image_pull_policy: Always
-    - display_name: frwr
-      description: FRWR3 in-line holography/focus series reconstruction code
-      kubespawner_override:
-        image: gitlab-registry.mpcdf.mpg.de/nomad-lab/nomad-remote-tools-hub/frwr-webtop
-        image_pull_policy: Always
-    - display_name: abtem
-      description: VESTA, GPAW, and abTEM configured in one container for simulating
-        images and diffraction patterns in transmission electron microscopy
-      kubespawner_override:
-        image: gitlab-registry.mpcdf.mpg.de/nomad-lab/nomad-remote-tools-hub/abtem-webtop
-        image_pull_policy: Always
   hub:
     extraEnv:
       NOMAD_NORTH_HUB_SERVICE_API_TOKEN:
@@ -527,10 +435,6 @@ jupyterhub:
 
             if spawner.handler.current_user.name != 'nomad-service':
                 # Do nothing, will only launch the default image with no volumes.
-                # Only the nomad-service can launch specialized tools with mounted volumes
-                if spawner.name:
-                    spawner.log.error(f'The {spawner.name} server is not allowed to start this way, raise an error')
-                    raise NotImplementedError('Only the nomad-service can launch specialized tools.')
                 return
 
             user_home = spawner.user_options.get('user_home')
@@ -577,7 +481,7 @@ jupyterhub:
 
   cull:
     enabled: true
-    timeout: 900
+    timeout: 86400  # 24 hours
     every: 600
     removeNamedServers: true
 
@@ -588,7 +492,43 @@ jupyterhub:
         pullPolicy: Always
     continuous:
       enabled: false
-
+    extraImages:
+      jupyter:
+        name: gitlab-registry.mpcdf.mpg.de/nomad-lab/north/jupyter
+        tag: latest
+      nionswift:
+        name: gitlab-registry.mpcdf.mpg.de/nomad-lab/nomad-remote-tools-hub/nionswift-webtop
+        tag: latest
+      nexustools:
+        name: gitlab-registry.mpcdf.mpg.de/nomad-lab/nomad-remote-tools-hub/nexus-webtop
+        tag: latest
+      ellips:
+        name: gitlab-registry.mpcdf.mpg.de/nomad-lab/nomad-remote-tools-hub/ellips-jupyter
+        tag: latest
+      mpes:
+        name: gitlab-registry.mpcdf.mpg.de/nomad-lab/north/mpes/webtop
+        tag: latest
+      xps:
+        name: gitlab-registry.mpcdf.mpg.de/nomad-lab/north/xps/jupyter
+        tag: master
+      sts:
+        name: gitlab-registry.mpcdf.mpg.de/nomad-lab/nomad-remote-tools-hub/sts-jupyter
+        tag: latest
+      webtop:
+        name: gitlab-registry.mpcdf.mpg.de/nomad-lab/nomad-remote-tools-hub/webtop
+        tag: latest
+      apmtools:
+        name: gitlab-registry.mpcdf.mpg.de/nomad-lab/nomad-remote-tools-hub/apmtools-webtop
+        tag: latest
+      fiji:
+        name: gitlab-registry.mpcdf.mpg.de/nomad-lab/nomad-remote-tools-hub/fiji-webtop
+        tag: latest
+      frwr:
+        name: gitlab-registry.mpcdf.mpg.de/nomad-lab/nomad-remote-tools-hub/frwr-webtop
+        tag: latest
+      abtem:
+        name: gitlab-registry.mpcdf.mpg.de/nomad-lab/nomad-remote-tools-hub/abtem-webtop
+        tag: latest
   scheduling:
     userScheduler:
       enabled: false
diff --git a/ops/kubernetes/values.yaml b/ops/kubernetes/values.yaml
index 8a5de798558488c1e8a1d854c91e525148a14fe6..4bd569c4d8e9ca2e8f015ea6a3305303048855e3 100644
--- a/ops/kubernetes/values.yaml
+++ b/ops/kubernetes/values.yaml
@@ -85,7 +85,7 @@ nomad:
   ingress:
     enabled: true
     limitConnections: 32
-    limitConnectionsApi: 8
+    limitConnectionsApi: 16
     className: "nginx"
     annotations:
       cert-manager.io/cluster-issuer: "letsencrypt-production"
diff --git a/requirements-dev.txt b/requirements-dev.txt
index 8b7e870070aae1d3f995c363385a7e1eb946f118..292843e01e8ae44348dc4a8bd8f36132fc824784 100644
--- a/requirements-dev.txt
+++ b/requirements-dev.txt
@@ -2,20 +2,19 @@
 # This file is autogenerated by pip-compile with Python 3.9
 # by the following command:
 #
-#    pip-compile --annotation-style=line --extra=dev --extra=infrastructure --extra=parsing --output-file=requirements-dev.txt --resolver=backtracking pyproject.toml requirements.txt
+#    pip-compile --annotation-style=line --extra=dev --extra=infrastructure --extra=parsing --output-file=requirements-dev.txt --pip-args='--prefer-binary' pyproject.toml requirements.txt
 #
 aiosmtpd==1.4.4.post2     # via nomad-lab (pyproject.toml)
 alabaster==0.7.12         # via -r requirements.txt, sphinx
 alembic==1.9.1            # via -r requirements.txt, jupyterhub
 amqp==5.1.1               # via -r requirements.txt, kombu
-aniso8601==7.0.0          # via -r requirements.txt, nomad-lab, nomad-lab (pyproject.toml)
+aniso8601==7.0.0          # via -r requirements.txt, nomad-lab (pyproject.toml)
 anyio==3.6.2              # via -r requirements.txt, httpcore, starlette, watchfiles
-appdirs==1.4.4            # via virtualenv
 appnope==0.1.4            # via -r requirements.txt, ipykernel, ipython
 arrow==1.2.3              # via -r requirements.txt, isoduration
 asciitree==0.3.3          # via -r requirements.txt, zarr
-ase==3.19.0               # via -r requirements.txt, asr, ifes-apt-tc-data-modeling, matid, nomad-lab, nomad-lab (pyproject.toml), quippy-ase
-asgiref==3.6.0            # via -r requirements.txt, nomad-lab, nomad-lab (pyproject.toml)
+ase==3.19.0               # via -r requirements.txt, asr, ifes-apt-tc-data-modeling, matid, nomad-lab (pyproject.toml), quippy-ase
+asgiref==3.6.0            # via -r requirements.txt, nomad-lab (pyproject.toml)
 asr==0.4.1                # via -r requirements.txt, nomad-lab (pyproject.toml)
 asteval==0.9.31           # via -r requirements.txt, lmfit
 astroid==2.11.7           # via nomad-lab (pyproject.toml), pylint
@@ -26,26 +25,25 @@ atpublic==3.1.1           # via aiosmtpd
 attrs==22.2.0             # via -r requirements.txt, aiosmtpd, cattrs, jsonschema, pytest, requests-cache
 babel==2.11.0             # via -r requirements.txt, mkdocs-git-revision-date-localized-plugin, sphinx
 backcall==0.2.0           # via -r requirements.txt, ipython
-bagit==1.8.1              # via -r requirements.txt, nomad-lab, nomad-lab (pyproject.toml)
-basicauth==0.4.1          # via -r requirements.txt, nomad-lab, nomad-lab (pyproject.toml)
-bcrypt==3.2.0             # via -r requirements.txt, nomad-lab, nomad-lab (pyproject.toml)
+bagit==1.8.1              # via -r requirements.txt, nomad-lab (pyproject.toml)
+basicauth==0.4.1          # via -r requirements.txt, nomad-lab (pyproject.toml)
+bcrypt==3.2.0             # via -r requirements.txt, nomad-lab (pyproject.toml)
 beautifulsoup4==4.11.1    # via -r requirements.txt, bs4
 billiard==3.6.4.0         # via -r requirements.txt, celery
 biopython==1.80           # via -r requirements.txt, mdanalysis
-bitarray==2.3.5           # via -r requirements.txt, nomad-lab, nomad-lab (pyproject.toml)
+bitarray==2.3.5           # via -r requirements.txt, nomad-lab (pyproject.toml)
 bleach==5.0.1             # via readme-renderer
-bs4==0.0.1                # via -r requirements.txt, nomad-lab, nomad-lab (pyproject.toml)
+bs4==0.0.1                # via -r requirements.txt, nomad-lab (pyproject.toml)
 build==0.9.0              # via nomad-lab (pyproject.toml), pip-tools
-cachetools==4.2.4         # via -r requirements.txt, nomad-lab, nomad-lab (pyproject.toml)
+cachetools==4.2.4         # via -r requirements.txt, nomad-lab (pyproject.toml)
 cattrs==22.2.0            # via -r requirements.txt, requests-cache
-celery[redis]==5.2.7      # via -r requirements.txt, nomad-lab, nomad-lab (pyproject.toml)
+celery[redis]==5.2.7      # via -r requirements.txt, nomad-lab (pyproject.toml)
 certifi==2022.12.7        # via -r requirements.txt, elasticsearch, httpcore, httpx, requests
 certipy==0.1.3            # via -r requirements.txt, jupyterhub
 cffi==1.15.1              # via -r requirements.txt, bcrypt, cryptography
-cfgv==3.4.0               # via pre-commit
 cftime==1.6.2             # via -r requirements.txt, netcdf4
 charset-normalizer==2.0.12  # via -r requirements.txt, requests
-click==8.1.3              # via -r requirements.txt, asr, celery, click-didyoumean, click-plugins, click-repl, flask, mkdocs, mkdocs-click, nomad-lab, nomad-lab (pyproject.toml), pip-tools, uvicorn
+click==8.1.3              # via -r requirements.txt, asr, celery, click-didyoumean, click-plugins, click-repl, flask, mkdocs, mkdocs-click, nomad-lab (pyproject.toml), pip-tools, uvicorn
 click-didyoumean==0.3.0   # via -r requirements.txt, celery
 click-plugins==1.1.1      # via -r requirements.txt, celery
 click-repl==0.2.0         # via -r requirements.txt, celery
@@ -54,7 +52,7 @@ colorama==0.4.6           # via twine
 comm==0.1.4               # via -r requirements.txt, ipywidgets
 commonmark==0.9.1         # via -r requirements.txt, recommonmark
 coverage==6.5.0           # via pytest-cov
-cryptography==39.0.0      # via -r requirements.txt, nomad-lab, nomad-lab (pyproject.toml), pyjwt, pyopenssl, rfc3161ng, secretstorage
+cryptography==39.0.0      # via -r requirements.txt, nomad-lab (pyproject.toml), pyjwt, pyopenssl, rfc3161ng
 cycler==0.11.0            # via -r requirements.txt, matplotlib
 dask[array]==2022.2.0     # via -r requirements.txt, hyperspy, kikuchipy, orix, pyxem
 debugpy==1.6.5            # via -r requirements.txt, ipykernel
@@ -63,17 +61,15 @@ devtools==0.8.0           # via nomad-lab (pyproject.toml)
 diffpy-structure==3.1.0   # via -r requirements.txt, diffsims, kikuchipy, orix
 diffsims==0.5.2           # via -r requirements.txt, kikuchipy, pyxem
 dill==0.3.6               # via -r requirements.txt, hyperspy, pylint
-distlib==0.3.8            # via virtualenv
 dnspython==2.2.1          # via -r requirements.txt, email-validator, pymongo
 docker==6.0.1             # via -r requirements.txt, dockerspawner
-dockerspawner==12.1.0     # via -r requirements.txt, nomad-lab, nomad-lab (pyproject.toml)
-docstring-parser==0.12    # via -r requirements.txt, nomad-lab, nomad-lab (pyproject.toml)
+dockerspawner==12.1.0     # via -r requirements.txt, nomad-lab (pyproject.toml)
+docstring-parser==0.12    # via -r requirements.txt, nomad-lab (pyproject.toml)
 docutils==0.19            # via -r requirements.txt, m2r, readme-renderer, recommonmark, sphinx
 ecdsa==0.18.0             # via -r requirements.txt, python-jose
-elasticsearch==7.17.1     # via -r requirements.txt, elasticsearch-dsl, nomad-lab, nomad-lab (pyproject.toml)
-elasticsearch-dsl==7.4.0  # via -r requirements.txt, nomad-lab, nomad-lab (pyproject.toml)
+elasticsearch==7.17.1     # via -r requirements.txt, elasticsearch-dsl, nomad-lab (pyproject.toml)
+elasticsearch-dsl==7.4.0  # via -r requirements.txt, nomad-lab (pyproject.toml)
 email-validator==1.3.0    # via -r requirements.txt, optimade
-emmet-core==0.48.4        # via -r requirements.txt, mp-api
 entrypoints==0.4          # via -r requirements.txt, ipyparallel, jupyter-client, numcodecs
 escapism==1.0.1           # via -r requirements.txt, dockerspawner
 essential-generators==1.0  # via nomad-lab (pyproject.toml)
@@ -83,9 +79,9 @@ execnet==1.9.0            # via pytest-xdist
 executing==0.10.0         # via devtools
 f90wrap==0.2.13           # via -r requirements.txt, quippy-ase
 fabio==2023.6.0           # via -r requirements.txt, pyfai, silx
-fastapi==0.92.0           # via -r requirements.txt, h5grove, nomad-lab, nomad-lab (pyproject.toml)
+fastapi==0.92.0           # via -r requirements.txt, h5grove, nomad-lab (pyproject.toml)
 fasteners==0.18           # via -r requirements.txt, mdanalysis, zarr
-filelock==3.3.1           # via -r requirements.txt, nomad-lab, nomad-lab (pyproject.toml)
+filelock==3.3.1           # via -r requirements.txt, nomad-lab (pyproject.toml)
 flask==2.2.2              # via -r requirements.txt, asr
 flatdict==4.0.1           # via -r requirements.txt
 fonttools==4.38.0         # via -r requirements.txt, matplotlib
@@ -94,26 +90,25 @@ fsspec==2022.11.0         # via -r requirements.txt, dask, hyperspy
 future==0.18.2            # via -r requirements.txt, uncertainties
 ghp-import==2.1.0         # via mkdocs
 gitdb==4.0.10             # via -r requirements.txt, gitpython
-gitpython==3.1.24         # via -r requirements.txt, mkdocs-git-revision-date-localized-plugin, nomad-lab, nomad-lab (pyproject.toml)
+gitpython==3.1.24         # via -r requirements.txt, mkdocs-git-revision-date-localized-plugin, nomad-lab (pyproject.toml)
 greenlet==2.0.1           # via -r requirements.txt, sqlalchemy
 griddataformats==0.7.0    # via -r requirements.txt, mdanalysis
 gsd==2.7.0                # via -r requirements.txt, mdanalysis
-gunicorn==21.2.0          # via -r requirements.txt, nomad-lab, nomad-lab (pyproject.toml)
+gunicorn==21.2.0          # via -r requirements.txt, nomad-lab (pyproject.toml)
 h11==0.14.0               # via -r requirements.txt, httpcore, uvicorn
 h5grove[fastapi]==1.3.0   # via -r requirements.txt, nomad-lab (pyproject.toml)
-h5py==3.6.0               # via -r requirements.txt, h5grove, hyperspy, ifes-apt-tc-data-modeling, kikuchipy, nionswift, nomad-lab (pyproject.toml), orix, phonopy, pyfai, pynxtools (dependencies/parsers/nexus/pyproject.toml), silx
+h5py==3.6.0               # via -r requirements.txt, h5grove, hyperspy, ifes-apt-tc-data-modeling, kikuchipy, nionswift, nomad-lab (pyproject.toml), orix, phonopy, pyfai, silx
 hjson==3.0.2              # via -r requirements.txt, nomad-lab (pyproject.toml)
 html5lib==1.1             # via -r requirements.txt, nomad-lab (pyproject.toml)
 httpcore==0.16.3          # via -r requirements.txt, httpx
 httptools==0.5.0          # via -r requirements.txt, uvicorn
 httpx==0.23.3             # via -r requirements.txt, nomad-lab (pyproject.toml)
-hyperspy==1.7.5           # via -r requirements.txt, kikuchipy, pynxtools (dependencies/parsers/nexus/pyproject.toml), pyxem
-identify==2.5.35          # via pre-commit
+hyperspy==1.7.5           # via -r requirements.txt, kikuchipy, pyxem
 idna==3.4                 # via -r requirements.txt, anyio, email-validator, jsonschema, requests, rfc3986
 ifes-apt-tc-data-modeling==0.0.9  # via -r requirements.txt
 imageio==2.24.0           # via -r requirements.txt, hyperspy, kikuchipy, nionswift, nionswift-io, nionui, scikit-image
 imagesize==1.4.1          # via -r requirements.txt, sphinx
-importlib-metadata==4.13.0  # via -r requirements.txt, flask, hyperspy, jupyterhub, keyring, markdown, mkdocs, nomad-lab (pyproject.toml), pynxtools (dependencies/parsers/nexus/pyproject.toml), sphinx, twine
+importlib-metadata==4.13.0  # via -r requirements.txt, flask, hyperspy, jupyterhub, keyring, markdown, mkdocs, nomad-lab (pyproject.toml), sphinx, twine
 inflection==0.5.1         # via -r requirements.txt, nomad-lab (pyproject.toml)
 ipykernel==6.16.2         # via -r requirements.txt, ipyparallel
 ipyparallel==8.4.1        # via -r requirements.txt, hyperspy
@@ -122,12 +117,12 @@ ipywidgets==8.1.1         # via -r requirements.txt, pyxem
 isodate==0.6.1            # via -r requirements.txt, rdflib
 isoduration==20.11.0      # via -r requirements.txt, jsonschema
 isort==4.3.21             # via pylint
-itsdangerous==2.1.2       # via -r requirements.txt, flask, nomad-lab, nomad-lab (pyproject.toml)
+itsdangerous==2.1.2       # via -r requirements.txt, flask, nomad-lab (pyproject.toml)
 jaraco-classes==3.2.3     # via keyring
 jedi==0.18.2              # via -r requirements.txt, ipython
 jinja2==3.0.3             # via -r requirements.txt, flask, hyperspy, jupyterhub, mkdocs, mkdocs-macros-plugin, mkdocs-material, sphinx
-jmespath==0.10.0          # via -r requirements.txt, nomad-lab, nomad-lab (pyproject.toml)
-joblib==1.1.0             # via -r requirements.txt, mdanalysis, nomad-lab, pymatgen, scikit-learn
+jmespath==0.10.0          # via -r requirements.txt, nomad-lab (pyproject.toml)
+joblib==1.1.0             # via -r requirements.txt, mdanalysis, pymatgen, scikit-learn
 jsonpointer==2.3          # via -r requirements.txt, jsonschema
 jsonschema[format]==4.17.3  # via -r requirements.txt, jupyter-telemetry, nomad-lab (pyproject.toml), oauthenticator
 jupyter-client==7.4.8     # via -r requirements.txt, ipykernel, ipyparallel
@@ -155,8 +150,8 @@ matplotlib==3.5.3         # via -r requirements.txt, ase, asr, diffsims, hypersp
 matplotlib-inline==0.1.6  # via -r requirements.txt, ipykernel, ipython
 matplotlib-scalebar==0.8.1  # via -r requirements.txt, orix
 mccabe==0.6.1             # via pylint
-mdanalysis==2.5.0         # via -r requirements.txt, nomad-lab, nomad-lab (pyproject.toml)
-memoization==0.4.0        # via -r requirements.txt, nomad-lab, nomad-lab (pyproject.toml)
+mdanalysis==2.5.0         # via -r requirements.txt, nomad-lab (pyproject.toml)
+memoization==0.4.0        # via -r requirements.txt, nomad-lab (pyproject.toml)
 mergedeep==1.3.4          # via -r requirements.txt, mkdocs
 mistune==2.0.4            # via -r requirements.txt, m2r
 mkdocs==1.3.0             # via mkdocs-git-revision-date-localized-plugin, mkdocs-macros-plugin, mkdocs-material, mkdocs-redirects, nomad-lab (pyproject.toml)
@@ -168,14 +163,14 @@ mkdocs-material==8.2.8    # via nomad-lab (pyproject.toml)
 mkdocs-material-extensions==1.3.1  # via mkdocs-material, nomad-lab (pyproject.toml)
 mkdocs-redirects==1.2.0   # via nomad-lab (pyproject.toml)
 mmtf-python==1.1.3        # via -r requirements.txt, mdanalysis
-mongoengine==0.25.0       # via -r requirements.txt, nomad-lab, nomad-lab (pyproject.toml)
+mongoengine==0.25.0       # via -r requirements.txt, nomad-lab (pyproject.toml)
 mongomock==4.1.2          # via -r requirements.txt, optimade
 monty==2022.9.9           # via -r requirements.txt, pymatgen
 more-itertools==9.0.0     # via jaraco-classes, pytest
 mpmath==1.2.1             # via -r requirements.txt, sympy
 mrcfile==1.4.3            # via -r requirements.txt, griddataformats
-msgpack==1.0.4            # via -r requirements.txt, mmtf-python, mp-api, nomad-lab (pyproject.toml)
-mypy==1.0.1               # via nomad-lab (pyproject.toml), pynxtools (dependencies/parsers/nexus/pyproject.toml)
+msgpack==1.0.4            # via -r requirements.txt, mmtf-python, nomad-lab (pyproject.toml)
+mypy==1.0.1               # via nomad-lab (pyproject.toml)
 mypy-extensions==0.4.3    # via mypy
 names==0.3.0              # via nomad-lab (pyproject.toml)
 natsort==8.2.0            # via -r requirements.txt, hyperspy
@@ -187,44 +182,39 @@ nionswift==0.16.8         # via -r requirements.txt
 nionswift-io==0.15.1      # via -r requirements.txt, nionswift
 nionui==0.6.11            # via -r requirements.txt, nionswift
 nionutils==0.4.8          # via -r requirements.txt, niondata, nionswift, nionswift-io, nionui
-nomad-lab @ git+https://github.com/nomad-coe/nomad.git@develop  # via -r requirements.txt, nomad-schema-plugin-run, nomad-schema-plugin-simulation-workflow, simulationparsers
-nomad-schema-plugin-run @ git+https://github.com/nomad-coe/nomad-schema-plugin-run.git@develop  # via -r requirements.txt, nomad-schema-plugin-simulation-workflow, simulationparsers
-nomad-schema-plugin-simulation-workflow @ git+https://github.com/nomad-coe/nomad-schema-plugin-simulation-workflow.git@develop  # via -r requirements.txt
-nodeenv==1.8.0            # via pre-commit
-nptyping==1.4.4           # via -r requirements.txt, nomad-lab, nomad-lab (pyproject.toml)
+nptyping==1.4.4           # via -r requirements.txt, nomad-lab (pyproject.toml)
 numba==0.56.4             # via -r requirements.txt, diffsims, hyperspy, kikuchipy, orix, pyxem, sparse
 numcodecs==0.10.2         # via -r requirements.txt, zarr
 numexpr==2.8.4            # via -r requirements.txt, hyperspy, pyfai
-numpy==1.22.4             # via -r requirements.txt, ase, biopython, cftime, dask, diffsims, f90wrap, fabio, griddataformats, gsd, h5grove, h5py, hyperspy, ifes-apt-tc-data-modeling, imageio, kikuchipy, lmfit, matid, matplotlib, mdanalysis, mrcfile, netcdf4, niondata, nionswift, nionswift-io, nionui, nomad-lab, nomad-lab (pyproject.toml), nptyping, numba, numcodecs, numexpr, numpy-quaternion, orix, pandas, phonopy, pyfai, pymatgen, pywavelets, pyxem, quippy-ase, radioactivedecay, scikit-image, scikit-learn, scipy, silx, sparse, spglib, tifffile, xarray, zarr
+numpy==1.22.4             # via -r requirements.txt, ase, biopython, cftime, dask, diffsims, f90wrap, fabio, griddataformats, gsd, h5grove, h5py, hyperspy, ifes-apt-tc-data-modeling, imageio, kikuchipy, lmfit, matid, matplotlib, mdanalysis, mrcfile, netcdf4, niondata, nionswift, nionswift-io, nionui, nomad-lab (pyproject.toml), nptyping, numba, numcodecs, numexpr, numpy-quaternion, orix, pandas, phonopy, pyfai, pymatgen, pywavelets, pyxem, quippy-ase, radioactivedecay, scikit-image, scikit-learn, scipy, silx, sparse, spglib, tifffile, xarray, zarr
 numpy-quaternion==2022.4.3  # via -r requirements.txt, orix
-oauthenticator==15.1.0    # via -r requirements.txt, nomad-lab, nomad-lab (pyproject.toml)
+oauthenticator==15.1.0    # via -r requirements.txt, nomad-lab (pyproject.toml)
 oauthlib==3.2.2           # via -r requirements.txt, jupyterhub
 openpyxl==3.1.2           # via -r requirements.txt, nomad-lab (pyproject.toml)
 optimade[mongo]==0.22.1   # via -r requirements.txt, nomad-lab (pyproject.toml)
 orix==0.11.1              # via -r requirements.txt, diffsims, kikuchipy, pyxem
 orjson==3.9.4             # via -r requirements.txt, h5grove, nomad-lab (pyproject.toml)
-packaging==24.0           # via -r requirements.txt, build, dask, docker, gunicorn, hyperspy, ipykernel, jupyterhub, matplotlib, mdanalysis, mkdocs, mongomock, pint, pooch, pytest, scikit-image, sphinx
+packaging==23.0           # via -r requirements.txt, build, dask, docker, gunicorn, hyperspy, ipykernel, jupyterhub, matplotlib, mdanalysis, mkdocs, mongomock, pint, pooch, pytest, scikit-image, sphinx
 palettable==3.3.0         # via -r requirements.txt, pymatgen
 pamela==1.0.0             # via -r requirements.txt, jupyterhub
-pandas==1.3.5             # via -r requirements.txt, eelsdbconverter (dependencies/parsers/eelsdb/pyproject.toml), ifes-apt-tc-data-modeling, nomad-lab (pyproject.toml), panedr, pymatgen, pynxtools (dependencies/parsers/nexus/pyproject.toml), xarray
+pandas==1.3.5             # via -r requirements.txt, ifes-apt-tc-data-modeling, nomad-lab (pyproject.toml), panedr, pybis, pymatgen, xarray
 panedr==0.2               # via -r requirements.txt, nomad-lab (pyproject.toml)
 parmed==3.0.0             # via -r requirements.txt, nomad-lab (pyproject.toml)
 parso==0.8.3              # via -r requirements.txt, jedi
 partd==1.3.0              # via -r requirements.txt, dask
-passlib==1.7.4            # via -r requirements.txt, nomad-lab, nomad-lab (pyproject.toml)
+passlib==1.7.4            # via -r requirements.txt, nomad-lab (pyproject.toml)
 pep517==0.13.0            # via build
 pexpect==4.8.0            # via -r requirements.txt, ipython
-phonopy==2.11.0           # via -r requirements.txt, asr, nomad-lab (pyproject.toml)
+phonopy==2.11.0           # via -r requirements.txt, asr
 pickleshare==0.7.5        # via -r requirements.txt, ipython
 pillow==9.4.0             # via -r requirements.txt, imageio, matplotlib, nionswift, scikit-image
-pint==0.17                # via -r requirements.txt, hyperspy, nomad-lab, nomad-lab (pyproject.toml)
+pint==0.17                # via -r requirements.txt, hyperspy, nomad-lab (pyproject.toml)
 pip-tools==6.13.0         # via nomad-lab (pyproject.toml)
 pkginfo==1.8.3            # via twine
 platformdirs==3.1.1       # via -r requirements.txt, pooch, pylint, requests-cache
 plotly==5.11.0            # via -r requirements.txt, asr, pymatgen
 pluggy==0.13.1            # via pytest
 pooch==1.7.0              # via -r requirements.txt, kikuchipy, orix
-pre-commit==2.20.0        # via pynxtools (dependencies/parsers/nexus/pyproject.toml)
 prettytable==3.6.0        # via -r requirements.txt, hyperspy
 prometheus-client==0.15.0  # via -r requirements.txt, jupyterhub
 prompt-toolkit==3.0.36    # via -r requirements.txt, click-repl, ipython
@@ -238,23 +228,23 @@ pybtex==0.24.0            # via -r requirements.txt, pymatgen
 pycifrw==4.4.5            # via -r requirements.txt, diffpy-structure
 pycodestyle==2.8.0        # via nomad-lab (pyproject.toml)
 pycparser==2.21           # via -r requirements.txt, cffi
-pydantic==1.10.9          # via -r requirements.txt, fastapi, nomad-lab, nomad-lab (pyproject.toml), optimade
+pydantic==1.10.9          # via -r requirements.txt, fastapi, nomad-lab (pyproject.toml), optimade
 pyfai==2023.9.0           # via -r requirements.txt, pyxem
 pygments==2.14.0          # via -r requirements.txt, ipython, mkdocs-material, readme-renderer, sphinx
 pyjwt[crypto]==2.6.0      # via -r requirements.txt, nomad-lab (pyproject.toml)
 pylint==2.13.9            # via nomad-lab (pyproject.toml), pylint-mongoengine, pylint-plugin-utils
 pylint-mongoengine==0.4.0  # via nomad-lab (pyproject.toml)
 pylint-plugin-utils==0.7  # via nomad-lab (pyproject.toml), pylint-mongoengine
-pymatgen==2023.9.25       # via -r requirements.txt, asr, nomad-lab, nomad-lab (pyproject.toml)
+pymatgen==2023.9.25       # via -r requirements.txt, asr, nomad-lab (pyproject.toml)
 pymdown-extensions==9.7   # via mkdocs-material
-pymongo==4.3.3            # via -r requirements.txt, mongoengine, nomad-lab, nomad-lab (pyproject.toml), optimade
+pymongo==4.3.3            # via -r requirements.txt, mongoengine, nomad-lab (pyproject.toml), optimade
 pyopenssl==23.0.0         # via -r requirements.txt, certipy
 pyparsing==3.0.9          # via -r requirements.txt, matplotlib, rdflib
 pyrsistent==0.19.3        # via -r requirements.txt, jsonschema
-pytest==5.4.3             # via nomad-lab (pyproject.toml), pynxtools (dependencies/parsers/nexus/pyproject.toml), pytest-cov, pytest-forked, pytest-timeout, pytest-xdist
-pytest-cov==2.7.1         # via nomad-lab (pyproject.toml), pynxtools (dependencies/parsers/nexus/pyproject.toml)
+pytest==5.4.3             # via nomad-lab (pyproject.toml), pytest-cov, pytest-forked, pytest-timeout, pytest-xdist
+pytest-cov==2.7.1         # via nomad-lab (pyproject.toml)
 pytest-forked==1.6.0      # via pytest-xdist
-pytest-timeout==1.4.2     # via nomad-lab (pyproject.toml), pynxtools (dependencies/parsers/nexus/pyproject.toml)
+pytest-timeout==1.4.2     # via nomad-lab (pyproject.toml)
 pytest-xdist==1.34.0      # via nomad-lab (pyproject.toml)
 python-dateutil==2.8.2    # via -r requirements.txt, arrow, elasticsearch-dsl, ghp-import, hyperspy, ipyparallel, jupyter-client, jupyterhub, matplotlib, mkdocs-macros-plugin, pandas, pybis, rfc3161ng
 python-dotenv==0.21.0     # via -r requirements.txt, uvicorn
@@ -265,47 +255,45 @@ python-keycloak==0.26.1   # via -r requirements.txt, nomad-lab (pyproject.toml)
 python-logstash==0.4.6    # via -r requirements.txt, nomad-lab (pyproject.toml)
 python-magic==0.4.24      # via -r requirements.txt, nomad-lab (pyproject.toml)
 python-multipart==0.0.5   # via -r requirements.txt, nomad-lab (pyproject.toml)
-pytz==2022.7.1            # via -r requirements.txt, babel, celery, mkdocs-git-revision-date-localized-plugin, nionswift, nomad-lab (pyproject.toml), pandas, pynxtools (dependencies/parsers/nexus/pyproject.toml)
+pytz==2022.7.1            # via -r requirements.txt, babel, celery, mkdocs-git-revision-date-localized-plugin, nionswift, nomad-lab (pyproject.toml), pandas
 pytz-deprecation-shim==0.1.0.post0  # via -r requirements.txt, tzlocal
 pywavelets==1.3.0         # via -r requirements.txt, scikit-image
-pyxem==0.15.1             # via -r requirements.txt, pynxtools (dependencies/parsers/nexus/pyproject.toml)
-pyyaml==6.0               # via -r requirements.txt, dask, hyperspy, kikuchipy, mkdocs, mkdocs-macros-plugin, nomad-lab (pyproject.toml), phonopy, pre-commit, pybtex, pynxtools (dependencies/parsers/nexus/pyproject.toml), pyyaml-env-tag, uvicorn
+pyxem==0.15.1             # via -r requirements.txt
+pyyaml==6.0               # via -r requirements.txt, dask, hyperspy, kikuchipy, mkdocs, mkdocs-macros-plugin, nomad-lab (pyproject.toml), phonopy, pybtex, pyyaml-env-tag, uvicorn
 pyyaml-env-tag==0.1       # via mkdocs
 pyzeo==0.1.4              # via -r requirements.txt, nomad-lab (pyproject.toml)
 pyzmq==25.0.0             # via -r requirements.txt, ipykernel, ipyparallel, jupyter-client
 quippy-ase==0.9.14        # via -r requirements.txt, nomad-lab (pyproject.toml)
 radioactivedecay==0.4.17  # via -r requirements.txt, ifes-apt-tc-data-modeling
-rdflib==5.0.0             # via -r requirements.txt, nomad-lab, nomad-lab (pyproject.toml)
+rdflib==5.0.0             # via -r requirements.txt, nomad-lab (pyproject.toml)
 readme-renderer==37.3     # via twine
-recommonmark==0.7.1       # via -r requirements.txt, nomad-lab, nomad-lab (pyproject.toml)
+recommonmark==0.7.1       # via -r requirements.txt, nomad-lab (pyproject.toml)
 redis==4.4.2              # via -r requirements.txt, celery
-requests==2.28.2          # via -r requirements.txt, docker, eelsdbconverter (dependencies/parsers/eelsdb/pyproject.toml), hyperspy, jupyterhub, mp-api, nomad-lab (pyproject.toml), oauthenticator, optimade, pooch, pymatgen, pynxtools (dependencies/parsers/nexus/pyproject.toml), python-gitlab, python-keycloak, requests-cache, requests-toolbelt, rfc3161ng, sphinx, twine
-requests-cache==1.0.1     # via -r requirements.txt, pynxtools (dependencies/parsers/nexus/pyproject.toml)
+requests==2.28.2          # via -r requirements.txt, docker, hyperspy, jupyterhub, nomad-lab (pyproject.toml), oauthenticator, optimade, pooch, pybis, pymatgen, python-gitlab, python-keycloak, requests-cache, requests-toolbelt, rfc3161ng, sphinx, twine
+requests-cache==1.0.1     # via -r requirements.txt
 requests-toolbelt==0.10.1  # via python-gitlab, twine
-rfc3161ng==2.1.3          # via -r requirements.txt, nomad-lab, nomad-lab (pyproject.toml)
+rfc3161ng==2.1.3          # via -r requirements.txt, nomad-lab (pyproject.toml)
 rfc3339-validator==0.1.4  # via -r requirements.txt, jsonschema
 rfc3986[idna2008]==1.5.0  # via -r requirements.txt, httpx, twine
 rfc3987==1.3.8            # via -r requirements.txt, jsonschema
 rope==0.21.0              # via nomad-lab (pyproject.toml)
 rsa==4.9                  # via -r requirements.txt, python-jose
-ruamel-yaml==0.17.21      # via -r requirements.txt, jupyter-telemetry, oauthenticator, pymatgen
+ruamel-yaml==0.17.21      # via -r requirements.txt, jupyter-telemetry, nomad-lab (pyproject.toml), oauthenticator, pymatgen
 ruamel-yaml-clib==0.2.7   # via -r requirements.txt, ruamel-yaml
-ruff==0.1.8               # via nomad-lab (pyproject.toml), pynxtools (dependencies/parsers/nexus/pyproject.toml)
+ruff==0.1.8               # via nomad-lab (pyproject.toml)
 runstats==2.0.0           # via -r requirements.txt, nomad-lab (pyproject.toml)
 scikit-image==0.19.3      # via -r requirements.txt, hyperspy, kikuchipy, pyxem
 scikit-learn==1.0.2       # via -r requirements.txt, kikuchipy, matid, nomad-lab (pyproject.toml), pyxem
-scipy==1.7.1              # via -r requirements.txt, ase, diffsims, griddataformats, hyperspy, kikuchipy, lmfit, matid, mdanalysis, niondata, nionswift, nomad-lab (pyproject.toml), orix, pyfai, pymatgen, pynxtools (dependencies/parsers/nexus/pyproject.toml), pyxem, radioactivedecay, scikit-image, scikit-learn, sparse
-secretstorage==3.3.3      # via keyring
+scipy==1.7.1              # via -r requirements.txt, ase, diffsims, griddataformats, hyperspy, kikuchipy, lmfit, matid, mdanalysis, niondata, nionswift, nomad-lab (pyproject.toml), orix, pyfai, pymatgen, pyxem, radioactivedecay, scikit-image, scikit-learn, sparse
 sentinels==1.0.0          # via -r requirements.txt, mongomock
 silx==1.1.2               # via -r requirements.txt, pyfai
-simulationparsers @ git+https://github.com/nomad-coe/simulation-parsers.git@develop  # via -r requirements.txt
-six==1.16.0               # via -r requirements.txt, asttokens, basicauth, bcrypt, bleach, click-repl, diffpy-structure, ecdsa, elasticsearch-dsl, griddataformats, html5lib, isodate, latexcodec, pybtex, pytest-xdist, python-dateutil, python-multipart, rdflib, rfc3339-validator, url-normalize, validators, virtualenv
+six==1.16.0               # via -r requirements.txt, asttokens, basicauth, bcrypt, bleach, click-repl, diffpy-structure, ecdsa, elasticsearch-dsl, griddataformats, html5lib, isodate, latexcodec, pybtex, pytest-xdist, python-dateutil, python-multipart, rdflib, rfc3339-validator, url-normalize, validators
 smmap==5.0.0              # via -r requirements.txt, gitdb
 sniffio==1.3.0            # via -r requirements.txt, anyio, httpcore, httpx
 snowballstemmer==2.2.0    # via -r requirements.txt, sphinx
 soupsieve==2.3.2.post1    # via -r requirements.txt, beautifulsoup4
 sparse==0.13.0            # via -r requirements.txt, hyperspy
-spglib==2.0.2             # via -r requirements.txt, asr, emmet-core, matid, phonopy, pymatgen
+spglib==2.0.2             # via -r requirements.txt, asr, matid, phonopy, pymatgen
 sphinx==5.3.0             # via -r requirements.txt, recommonmark
 sphinxcontrib-applehelp==1.0.2  # via -r requirements.txt, sphinx
 sphinxcontrib-devhelp==1.0.2  # via -r requirements.txt, sphinx
@@ -315,18 +303,17 @@ sphinxcontrib-qthelp==1.0.3  # via -r requirements.txt, sphinx
 sphinxcontrib-serializinghtml==1.1.5  # via -r requirements.txt, sphinx
 sqlalchemy==1.4.46        # via -r requirements.txt, alembic, jupyterhub
 starlette==0.25.0         # via -r requirements.txt, fastapi
-structlog==22.3.0         # via -r requirements.txt, nomad-lab (pyproject.toml), pynxtools (dependencies/parsers/nexus/pyproject.toml)
+structlog==22.3.0         # via -r requirements.txt, nomad-lab (pyproject.toml)
 sympy==1.10.1             # via -r requirements.txt, hyperspy, pymatgen, radioactivedecay
-tabulate==0.8.9           # via -r requirements.txt, nomad-lab, nomad-lab (pyproject.toml), pybis, pymatgen
+tabulate==0.8.9           # via -r requirements.txt, nomad-lab (pyproject.toml), pybis, pymatgen
 tenacity==8.1.0           # via -r requirements.txt, plotly
 termcolor==2.1.0          # via mkdocs-macros-plugin
 texttable==1.7.0          # via -r requirements.txt, pybis
 threadpoolctl==3.1.0      # via -r requirements.txt, mdanalysis, scikit-learn
 tifffile==2021.11.2       # via -r requirements.txt, h5grove, hyperspy, scikit-image
-toml==0.10.2              # via pre-commit
 tomli==2.0.1              # via build, mypy, pep517, pylint
 toolz==0.12.0             # via -r requirements.txt, dask, hyperspy, partd
-toposort==1.9             # via -r requirements.txt, nomad-lab, nomad-lab (pyproject.toml)
+toposort==1.9             # via -r requirements.txt, nomad-lab (pyproject.toml)
 tornado==6.2              # via -r requirements.txt, ipykernel, ipyparallel, jupyter-client, jupyterhub
 tqdm==4.64.1              # via -r requirements.txt, diffsims, hyperspy, ipyparallel, kikuchipy, mdanalysis, orix, pymatgen, twine
 traitlets==5.8.1          # via -r requirements.txt, comm, ipykernel, ipyparallel, ipython, ipywidgets, jupyter-client, jupyter-core, jupyter-telemetry, jupyterhub, matplotlib-inline
@@ -334,24 +321,19 @@ traits==6.4.1             # via -r requirements.txt, hyperspy
 transforms3d==0.4.1       # via -r requirements.txt, diffsims, pyxem
 twine==3.4.2              # via nomad-lab (pyproject.toml)
 typed-ast==1.4.2          # via nomad-lab (pyproject.toml)
-types-pytz==2022.7.0.0    # via pynxtools (dependencies/parsers/nexus/pyproject.toml)
-types-pyyaml==6.0.12.1    # via pynxtools (dependencies/parsers/nexus/pyproject.toml)
-types-requests==2.28.11.16  # via pynxtools (dependencies/parsers/nexus/pyproject.toml)
-types-urllib3==1.26.25.8  # via types-requests
-typing-extensions==4.4.0  # via -r requirements.txt, astroid, emmet-core, gitpython, mp-api, mypy, numcodecs, pydantic, pylint, starlette
+typing-extensions==4.4.0  # via -r requirements.txt, astroid, gitpython, mypy, numcodecs, pydantic, pylint, starlette
 typish==1.9.3             # via -r requirements.txt, nptyping
 tzdata==2023.3            # via -r requirements.txt, pytz-deprecation-shim
 tzlocal==4.3              # via -r requirements.txt, nionswift
 uncertainties==3.1.7      # via -r requirements.txt, lmfit, pymatgen
-unidecode==1.3.2          # via -r requirements.txt, nomad-lab, nomad-lab (pyproject.toml)
+unidecode==1.3.2          # via -r requirements.txt, nomad-lab (pyproject.toml)
 uri-template==1.2.0       # via -r requirements.txt, jsonschema
 url-normalize==1.4.3      # via -r requirements.txt, requests-cache
-urllib3==1.26.14          # via -r requirements.txt, docker, elasticsearch, requests, requests-cache
+urllib3==1.26.14          # via -r requirements.txt, docker, elasticsearch, pybis, requests, requests-cache
 uvicorn[standard]==0.20.0  # via -r requirements.txt, h5grove, nomad-lab (pyproject.toml)
 uvloop==0.17.0            # via -r requirements.txt, uvicorn
-validators==0.18.2        # via -r requirements.txt, nomad-lab, nomad-lab (pyproject.toml)
+validators==0.18.2        # via -r requirements.txt, nomad-lab (pyproject.toml)
 vine==5.0.0               # via -r requirements.txt, amqp, celery, kombu
-virtualenv==20.4.7        # via pre-commit
 watchdog==2.1.9           # via mkdocs
 watchfiles==0.18.1        # via -r requirements.txt, uvicorn
 wcwidth==0.2.5            # via -r requirements.txt, prettytable, prompt-toolkit, pytest
@@ -363,11 +345,11 @@ werkzeug==2.2.2           # via -r requirements.txt, flask
 wheel==0.38.4             # via pip-tools
 widgetsnbextension==4.0.9  # via -r requirements.txt, ipywidgets
 wrapt==1.12.1             # via -r requirements.txt, astroid, nomad-lab (pyproject.toml)
-xarray==0.20.2            # via -r requirements.txt, nomad-lab (pyproject.toml), pynxtools (dependencies/parsers/nexus/pyproject.toml)
+xarray==0.20.2            # via -r requirements.txt, nomad-lab (pyproject.toml)
 zarr==2.12.0              # via -r requirements.txt, hyperspy
 zipfile37==0.1.3          # via -r requirements.txt
 zipp==3.11.0              # via -r requirements.txt, importlib-metadata
-zipstream-new==1.1.5      # via -r requirements.txt, nomad-lab, nomad-lab (pyproject.toml)
+zipstream-new==1.1.5      # via -r requirements.txt, nomad-lab (pyproject.toml)
 
 # The following packages are considered to be unsafe in a requirements file:
 # pip
diff --git a/requirements.txt b/requirements.txt
index 3ecd0be9346d3187525199a263a3c8fd803e8f92..8c69d3eff21f189aa76e64894df3083e55b79021 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -7,7 +7,7 @@
 alabaster==0.7.12         # via sphinx
 alembic==1.9.1            # via jupyterhub
 amqp==5.1.1               # via kombu
-aniso8601==7.0.0          # via nomad-lab, nomad-lab (pyproject.toml)
+aniso8601==7.0.0          # via nomad-lab (pyproject.toml)
 anyio==3.6.2              # via httpcore, starlette, watchfiles
 appnope==0.1.4            # via ipykernel, ipython
 arrow==1.2.3              # via isoduration
@@ -21,9 +21,9 @@ async-timeout==4.0.2      # via redis
 attrs==22.2.0             # via cattrs, jsonschema, requests-cache
 babel==2.11.0             # via sphinx
 backcall==0.2.0           # via ipython
-bagit==1.8.1              # via nomad-lab, nomad-lab (pyproject.toml)
-basicauth==0.4.1          # via nomad-lab, nomad-lab (pyproject.toml)
-bcrypt==3.2.0             # via nomad-lab, nomad-lab (pyproject.toml)
+bagit==1.8.1              # via nomad-lab (pyproject.toml)
+basicauth==0.4.1          # via nomad-lab (pyproject.toml)
+bcrypt==3.2.0             # via nomad-lab (pyproject.toml)
 beautifulsoup4==4.11.1    # via bs4
 billiard==3.6.4.0         # via celery
 biopython==1.80           # via mdanalysis
@@ -37,14 +37,14 @@ certipy==0.1.3            # via jupyterhub
 cffi==1.15.1              # via bcrypt, cryptography
 cftime==1.6.2             # via netcdf4
 charset-normalizer==2.0.12  # via requests
-click==8.1.3              # via asr, celery, click-didyoumean, click-plugins, click-repl, flask, nomad-lab, nomad-lab (pyproject.toml), pynxtools (dependencies/parsers/nexus/pyproject.toml), uvicorn
+click==8.1.3              # via asr, celery, click-didyoumean, click-plugins, click-repl, flask, nomad-lab (pyproject.toml), pynxtools (dependencies/parsers/nexus/pyproject.toml), uvicorn
 click-didyoumean==0.3.0   # via celery
 click-plugins==1.1.1      # via celery
 click-repl==0.2.0         # via celery
 cloudpickle==2.2.0        # via dask
 comm==0.1.4               # via ipywidgets
 commonmark==0.9.1         # via recommonmark
-cryptography==39.0.0      # via nomad-lab, nomad-lab (pyproject.toml), pyjwt, pyopenssl, rfc3161ng
+cryptography==39.0.0      # via nomad-lab (pyproject.toml), pyjwt, pyopenssl, rfc3161ng
 cycler==0.11.0            # via matplotlib
 dask[array]==2022.2.0     # via hyperspy, kikuchipy, orix, pyxem
 debugpy==1.6.5            # via ipykernel
@@ -54,23 +54,22 @@ diffsims==0.5.2           # via kikuchipy, pyxem
 dill==0.3.6               # via hyperspy
 dnspython==2.2.1          # via email-validator, pymongo
 docker==6.0.1             # via dockerspawner
-dockerspawner==12.1.0     # via nomad-lab, nomad-lab (pyproject.toml)
-docstring-parser==0.12    # via nomad-lab, nomad-lab (pyproject.toml)
+dockerspawner==12.1.0     # via nomad-lab (pyproject.toml)
+docstring-parser==0.12    # via nomad-lab (pyproject.toml)
 docutils==0.19            # via m2r, recommonmark, sphinx
 ecdsa==0.18.0             # via python-jose
-elasticsearch==7.17.1     # via elasticsearch-dsl, nomad-lab, nomad-lab (pyproject.toml)
-elasticsearch-dsl==7.4.0  # via nomad-lab, nomad-lab (pyproject.toml)
+elasticsearch==7.17.1     # via elasticsearch-dsl, nomad-lab (pyproject.toml)
+elasticsearch-dsl==7.4.0  # via nomad-lab (pyproject.toml)
 email-validator==1.3.0    # via optimade
-emmet-core==0.48.4        # via mp-api
 entrypoints==0.4          # via ipyparallel, jupyter-client, numcodecs
 escapism==1.0.1           # via dockerspawner
 et-xmlfile==1.1.0         # via openpyxl
 exceptiongroup==1.2.0     # via cattrs
 f90wrap==0.2.13           # via quippy-ase
 fabio==2023.6.0           # via pyfai, silx
-fastapi==0.92.0           # via h5grove, nomad-lab, nomad-lab (pyproject.toml)
+fastapi==0.92.0           # via h5grove, nomad-lab (pyproject.toml)
 fasteners==0.18           # via mdanalysis, zarr
-filelock==3.3.1           # via nomad-lab, nomad-lab (pyproject.toml)
+filelock==3.3.1           # via nomad-lab (pyproject.toml)
 flask==2.2.2              # via asr
 flatdict==4.0.1           # via pynxtools (dependencies/parsers/nexus/pyproject.toml)
 fonttools==4.38.0         # via matplotlib
@@ -78,11 +77,11 @@ fqdn==1.5.1               # via jsonschema
 fsspec==2022.11.0         # via dask, hyperspy
 future==0.18.2            # via uncertainties
 gitdb==4.0.10             # via gitpython
-gitpython==3.1.24         # via nomad-lab, nomad-lab (pyproject.toml), pynxtools (dependencies/parsers/nexus/pyproject.toml)
+gitpython==3.1.24         # via nomad-lab (pyproject.toml), pynxtools (dependencies/parsers/nexus/pyproject.toml)
 greenlet==2.0.1           # via sqlalchemy
 griddataformats==0.7.0    # via mdanalysis
 gsd==2.7.0                # via mdanalysis
-gunicorn==21.2.0          # via nomad-lab, nomad-lab (pyproject.toml)
+gunicorn==21.2.0          # via nomad-lab (pyproject.toml)
 h11==0.14.0               # via httpcore, uvicorn
 h5grove[fastapi]==1.3.0   # via nomad-lab (pyproject.toml)
 h5py==3.6.0               # via h5grove, hyperspy, ifes-apt-tc-data-modeling, kikuchipy, nionswift, nomad-lab (pyproject.toml), orix, phonopy, pyfai, pynxtools (dependencies/parsers/nexus/pyproject.toml), silx
@@ -90,7 +89,7 @@ hjson==3.0.2              # via nomad-lab (pyproject.toml)
 html5lib==1.1             # via nomad-lab (pyproject.toml)
 httpcore==0.16.3          # via httpx
 httptools==0.5.0          # via uvicorn
-httpx==0.23.3             # via nomad-lab, nomad-lab (pyproject.toml)
+httpx==0.23.3             # via nomad-lab (pyproject.toml)
 hyperspy==1.7.5           # via kikuchipy, pynxtools (dependencies/parsers/nexus/pyproject.toml), pyxem
 idna==3.4                 # via anyio, email-validator, jsonschema, requests, rfc3986
 ifes-apt-tc-data-modeling==0.0.9  # via pynxtools (dependencies/parsers/nexus/pyproject.toml)
@@ -104,11 +103,11 @@ ipython==7.34.0           # via hyperspy, ipykernel, ipyparallel, ipywidgets
 ipywidgets==8.1.1         # via pyxem
 isodate==0.6.1            # via rdflib
 isoduration==20.11.0      # via jsonschema
-itsdangerous==2.1.2       # via flask, nomad-lab, nomad-lab (pyproject.toml)
+itsdangerous==2.1.2       # via flask, nomad-lab (pyproject.toml)
 jedi==0.18.2              # via ipython
 jinja2==3.0.3             # via flask, hyperspy, jupyterhub, sphinx
-jmespath==0.10.0          # via nomad-lab, nomad-lab (pyproject.toml)
-joblib==1.1.0             # via mdanalysis, nomad-lab, pymatgen, scikit-learn
+jmespath==0.10.0          # via nomad-lab (pyproject.toml)
+joblib==1.1.0             # via mdanalysis, pymatgen, scikit-learn
 jsonpointer==2.3          # via jsonschema
 jsonschema[format]==4.17.3  # via jupyter-telemetry, nomad-lab (pyproject.toml), oauthenticator
 jupyter-client==7.4.8     # via ipykernel, ipyparallel
@@ -132,17 +131,17 @@ matid==2.0.0.dev2         # via nomad-lab (pyproject.toml)
 matplotlib==3.5.3         # via ase, asr, diffsims, hyperspy, kikuchipy, matplotlib-scalebar, mdanalysis, orix, phonopy, pyfai, pymatgen, pyxem, radioactivedecay
 matplotlib-inline==0.1.6  # via ipykernel, ipython
 matplotlib-scalebar==0.8.1  # via orix
-mdanalysis==2.5.0         # via atomisticparsers (dependencies/parsers/atomistic/pyproject.toml), nomad-lab, nomad-lab (pyproject.toml)
-memoization==0.4.0        # via nomad-lab, nomad-lab (pyproject.toml)
+mdanalysis==2.5.0         # via nomad-lab (pyproject.toml)
+memoization==0.4.0        # via nomad-lab (pyproject.toml)
 mergedeep==1.3.4          # via pynxtools (dependencies/parsers/nexus/pyproject.toml)
 mistune==2.0.4            # via m2r
 mmtf-python==1.1.3        # via mdanalysis
-mongoengine==0.25.0       # via nomad-lab, nomad-lab (pyproject.toml)
+mongoengine==0.25.0       # via nomad-lab (pyproject.toml)
 mongomock==4.1.2          # via optimade
 monty==2022.9.9           # via pymatgen
 mpmath==1.2.1             # via sympy
 mrcfile==1.4.3            # via griddataformats
-msgpack==1.0.4            # via mmtf-python, nomad-lab, nomad-lab (pyproject.toml)
+msgpack==1.0.4            # via mmtf-python, nomad-lab (pyproject.toml)
 natsort==8.2.0            # via hyperspy
 nest-asyncio==1.5.6       # via ipykernel, jupyter-client
 netcdf4==1.5.4            # via nomad-lab (pyproject.toml)
@@ -152,16 +151,13 @@ nionswift==0.16.8         # via pynxtools (dependencies/parsers/nexus/pyproject.
 nionswift-io==0.15.1      # via nionswift
 nionui==0.6.11            # via nionswift
 nionutils==0.4.8          # via niondata, nionswift, nionswift-io, nionui
-nomad-lab @ git+https://github.com/nomad-coe/nomad.git@develop  # via atomisticparsers (dependencies/parsers/atomistic/pyproject.toml), nomad-schema-plugin-run, nomad-schema-plugin-simulation-workflow, simulationparsers, workflowparsers (dependencies/parsers/workflow/pyproject.toml)
-nomad-schema-plugin-run @ git+https://github.com/nomad-coe/nomad-schema-plugin-run.git@develop  # via atomisticparsers (dependencies/parsers/atomistic/pyproject.toml), nomad-schema-plugin-simulation-workflow, simulationparsers, workflowparsers (dependencies/parsers/workflow/pyproject.toml)
-nomad-schema-plugin-simulation-workflow @ git+https://github.com/nomad-coe/nomad-schema-plugin-simulation-workflow.git@develop  # via atomisticparsers (dependencies/parsers/atomistic/pyproject.toml), workflowparsers (dependencies/parsers/workflow/pyproject.toml)
-nptyping==1.4.4           # via nomad-lab, nomad-lab (pyproject.toml)
+nptyping==1.4.4           # via nomad-lab (pyproject.toml)
 numba==0.56.4             # via diffsims, hyperspy, kikuchipy, orix, pyxem, sparse
 numcodecs==0.10.2         # via zarr
 numexpr==2.8.4            # via hyperspy, pyfai
 numpy==1.22.4             # via ase, biopython, cftime, dask, diffsims, f90wrap, fabio, griddataformats, gsd, h5grove, h5py, hyperspy, ifes-apt-tc-data-modeling, imageio, kikuchipy, lmfit, matid, matplotlib, mdanalysis, mrcfile, netcdf4, niondata, nionswift, nionswift-io, nionui, nomad-lab (pyproject.toml), nomad_dos_fingerprints (dependencies/nomad-dos-fingerprints/pyproject.toml), nptyping, numba, numcodecs, numexpr, numpy-quaternion, orix, pandas, phonopy, pyfai, pymatgen, pynxtools (dependencies/parsers/nexus/pyproject.toml), pywavelets, pyxem, quippy-ase, radioactivedecay, scikit-image, scikit-learn, scipy, silx, sparse, spglib, tifffile, xarray, zarr
 numpy-quaternion==2022.4.3  # via orix
-oauthenticator==15.1.0    # via nomad-lab, nomad-lab (pyproject.toml)
+oauthenticator==15.1.0    # via nomad-lab (pyproject.toml)
 oauthlib==3.2.2           # via jupyterhub
 openpyxl==3.1.2           # via nomad-lab (pyproject.toml)
 optimade[mongo]==0.22.1   # via nomad-lab (pyproject.toml)
@@ -170,17 +166,17 @@ orjson==3.9.4             # via h5grove, nomad-lab (pyproject.toml)
 packaging==23.0           # via dask, docker, gunicorn, hyperspy, ipykernel, jupyterhub, matplotlib, mdanalysis, mongomock, pint, pooch, scikit-image, sphinx
 palettable==3.3.0         # via pymatgen
 pamela==1.0.0             # via jupyterhub
-pandas==1.3.5             # via eelsdbconverter (dependencies/parsers/eelsdb/pyproject.toml), ifes-apt-tc-data-modeling, nomad-lab (pyproject.toml), panedr, pymatgen, pynxtools (dependencies/parsers/nexus/pyproject.toml), xarray
+pandas==1.3.5             # via eelsdbconverter (dependencies/parsers/eelsdb/pyproject.toml), ifes-apt-tc-data-modeling, nomad-lab (pyproject.toml), panedr, pybis, pymatgen, pynxtools (dependencies/parsers/nexus/pyproject.toml), xarray
 panedr==0.2               # via nomad-lab (pyproject.toml)
 parmed==3.0.0             # via nomad-lab (pyproject.toml)
 parso==0.8.3              # via jedi
 partd==1.3.0              # via dask
-passlib==1.7.4            # via nomad-lab, nomad-lab (pyproject.toml)
+passlib==1.7.4            # via nomad-lab (pyproject.toml)
 pexpect==4.8.0            # via ipython
-phonopy==2.11.0           # via asr, nomad-lab (pyproject.toml)
+phonopy==2.11.0           # via asr
 pickleshare==0.7.5        # via ipython
 pillow==9.4.0             # via imageio, matplotlib, nionswift, scikit-image
-pint==0.17                # via hyperspy, nomad-lab, nomad-lab (pyproject.toml)
+pint==0.17                # via hyperspy, nomad-lab (pyproject.toml)
 platformdirs==3.1.1       # via pooch, requests-cache
 plotly==5.11.0            # via asr, pymatgen
 pooch==1.7.0              # via kikuchipy, orix
@@ -195,24 +191,24 @@ pybis @ git+https://github.com/FAIRmat-NFDI/fairmat-pybis.git  # via nomad-lab (
 pybtex==0.24.0            # via pymatgen
 pycifrw==4.4.5            # via diffpy-structure
 pycparser==2.21           # via cffi
-pydantic==1.10.9          # via fastapi, nomad-lab, nomad-lab (pyproject.toml), optimade
+pydantic==1.10.9          # via fastapi, nomad-lab (pyproject.toml), optimade
 pyfai==2023.9.0           # via pyxem
 pygments==2.14.0          # via ipython, sphinx
-pyjwt[crypto]==2.6.0      # via nomad-lab, nomad-lab (pyproject.toml)
-pymatgen==2023.9.25       # via asr, nomad-lab, nomad-lab (pyproject.toml)
-pymongo==4.3.3            # via mongoengine, nomad-lab, nomad-lab (pyproject.toml), optimade
+pyjwt[crypto]==2.6.0      # via nomad-lab (pyproject.toml)
+pymatgen==2023.9.25       # via asr, nomad-lab (pyproject.toml)
+pymongo==4.3.3            # via mongoengine, nomad-lab (pyproject.toml), optimade
 pyopenssl==23.0.0         # via certipy
 pyparsing==3.0.9          # via matplotlib, rdflib
 pyrsistent==0.19.3        # via jsonschema
 python-dateutil==2.8.2    # via arrow, elasticsearch-dsl, hyperspy, ipyparallel, jupyter-client, jupyterhub, matplotlib, pandas, pybis, rfc3161ng
 python-dotenv==0.21.0     # via uvicorn
 python-jose==3.3.0        # via python-keycloak
-python-json-logger==2.0.2  # via jupyter-telemetry, nomad-lab, nomad-lab (pyproject.toml)
-python-keycloak==0.26.1   # via nomad-lab, nomad-lab (pyproject.toml)
-python-logstash==0.4.6    # via nomad-lab, nomad-lab (pyproject.toml)
-python-magic==0.4.24      # via nomad-lab, nomad-lab (pyproject.toml)
-python-multipart==0.0.5   # via nomad-lab, nomad-lab (pyproject.toml)
-pytz==2022.7.1            # via babel, celery, nionswift, nomad-lab, nomad-lab (pyproject.toml), pandas, pynxtools (dependencies/parsers/nexus/pyproject.toml)
+python-json-logger==2.0.2  # via jupyter-telemetry, nomad-lab (pyproject.toml)
+python-keycloak==0.26.1   # via nomad-lab (pyproject.toml)
+python-logstash==0.4.6    # via nomad-lab (pyproject.toml)
+python-magic==0.4.24      # via nomad-lab (pyproject.toml)
+python-multipart==0.0.5   # via nomad-lab (pyproject.toml)
+pytz==2022.7.1            # via babel, celery, nionswift, nomad-lab (pyproject.toml), pandas, pynxtools (dependencies/parsers/nexus/pyproject.toml)
 pytz-deprecation-shim==0.1.0.post0  # via tzlocal
 pywavelets==1.3.0         # via scikit-image
 pyxem==0.15.1             # via pynxtools (dependencies/parsers/nexus/pyproject.toml)
@@ -221,32 +217,31 @@ pyzeo==0.1.4              # via nomad-lab (pyproject.toml)
 pyzmq==25.0.0             # via ipykernel, ipyparallel, jupyter-client
 quippy-ase==0.9.14        # via nomad-lab (pyproject.toml)
 radioactivedecay==0.4.17  # via ifes-apt-tc-data-modeling
-rdflib==5.0.0             # via nomad-lab, nomad-lab (pyproject.toml)
-recommonmark==0.7.1       # via nomad-lab, nomad-lab (pyproject.toml)
+rdflib==5.0.0             # via nomad-lab (pyproject.toml)
+recommonmark==0.7.1       # via nomad-lab (pyproject.toml)
 redis==4.4.2              # via celery
-requests==2.28.2          # via docker, eelsdbconverter (dependencies/parsers/eelsdb/pyproject.toml), hyperspy, jupyterhub, mp-api, nomad-lab (pyproject.toml), oauthenticator, optimade, pooch, pymatgen, pynxtools (dependencies/parsers/nexus/pyproject.toml), python-keycloak, requests-cache, rfc3161ng, sphinx
+requests==2.28.2          # via docker, eelsdbconverter (dependencies/parsers/eelsdb/pyproject.toml), hyperspy, jupyterhub, nomad-lab (pyproject.toml), oauthenticator, optimade, pooch, pybis, pymatgen, pynxtools (dependencies/parsers/nexus/pyproject.toml), python-keycloak, requests-cache, rfc3161ng, sphinx
 requests-cache==1.0.1     # via pynxtools (dependencies/parsers/nexus/pyproject.toml)
-rfc3161ng==2.1.3          # via nomad-lab, nomad-lab (pyproject.toml)
+rfc3161ng==2.1.3          # via nomad-lab (pyproject.toml)
 rfc3339-validator==0.1.4  # via jsonschema
 rfc3986[idna2008]==1.5.0  # via httpx
 rfc3987==1.3.8            # via jsonschema
 rsa==4.9                  # via python-jose
 ruamel-yaml==0.17.21      # via jupyter-telemetry, oauthenticator, pymatgen
 ruamel-yaml-clib==0.2.7   # via ruamel-yaml
-runstats==2.0.0           # via nomad-lab, nomad-lab (pyproject.toml)
+runstats==2.0.0           # via nomad-lab (pyproject.toml)
 scikit-image==0.19.3      # via hyperspy, kikuchipy, pyxem
-scikit-learn==1.0.2       # via kikuchipy, matid, nomad-lab, nomad-lab (pyproject.toml), pyxem
-scipy==1.7.1              # via ase, atomisticparsers (dependencies/parsers/atomistic/pyproject.toml), diffsims, griddataformats, hyperspy, kikuchipy, lmfit, matid, mdanalysis, niondata, nionswift, nomad-lab, nomad-lab (pyproject.toml), orix, pyfai, pymatgen, pyxem, radioactivedecay, scikit-image, scikit-learn, sparse
+scikit-learn==1.0.2       # via kikuchipy, matid, nomad-lab (pyproject.toml), pyxem
+scipy==1.7.1              # via ase, diffsims, griddataformats, hyperspy, kikuchipy, lmfit, matid, mdanalysis, niondata, nionswift, nomad-lab (pyproject.toml), orix, pyfai, pymatgen, pynxtools (dependencies/parsers/nexus/pyproject.toml), pyxem, radioactivedecay, scikit-image, scikit-learn, sparse
 sentinels==1.0.0          # via mongomock
 silx==1.1.2               # via pyfai
-simulationparsers @ git+https://github.com/nomad-coe/simulation-parsers.git@develop  # via atomisticparsers (dependencies/parsers/atomistic/pyproject.toml), electronicparsers (dependencies/parsers/electronic/pyproject.toml)
 six==1.16.0               # via basicauth, bcrypt, click-repl, diffpy-structure, ecdsa, elasticsearch-dsl, griddataformats, html5lib, isodate, latexcodec, pybtex, python-dateutil, python-multipart, rdflib, rfc3339-validator, url-normalize, validators
 smmap==5.0.0              # via gitdb
 sniffio==1.3.0            # via anyio, httpcore, httpx
 snowballstemmer==2.2.0    # via sphinx
 soupsieve==2.3.2.post1    # via beautifulsoup4
 sparse==0.13.0            # via hyperspy
-spglib==2.0.2             # via asr, emmet-core, matid, phonopy, pymatgen
+spglib==2.0.2             # via asr, matid, phonopy, pymatgen
 sphinx==5.3.0             # via recommonmark
 sphinxcontrib-applehelp==1.0.2  # via sphinx
 sphinxcontrib-devhelp==1.0.2  # via sphinx
@@ -256,15 +251,15 @@ sphinxcontrib-qthelp==1.0.3  # via sphinx
 sphinxcontrib-serializinghtml==1.1.5  # via sphinx
 sqlalchemy==1.4.46        # via alembic, jupyterhub
 starlette==0.25.0         # via fastapi
-structlog==22.3.0         # via nomad-lab, nomad-lab (pyproject.toml)
+structlog==22.3.0         # via nomad-lab (pyproject.toml)
 sympy==1.10.1             # via hyperspy, pymatgen, radioactivedecay
-tabulate==0.8.9           # via nomad-lab, nomad-lab (pyproject.toml), pybis, pymatgen
+tabulate==0.8.9           # via nomad-lab (pyproject.toml), pybis, pymatgen
 tenacity==8.1.0           # via plotly
 texttable==1.7.0          # via pybis
 threadpoolctl==3.1.0      # via mdanalysis, scikit-learn
 tifffile==2021.11.2       # via h5grove, hyperspy, scikit-image
 toolz==0.12.0             # via dask, hyperspy, partd
-toposort==1.9             # via nomad-lab, nomad-lab (pyproject.toml)
+toposort==1.9             # via nomad-lab (pyproject.toml)
 tornado==6.2              # via ipykernel, ipyparallel, jupyter-client, jupyterhub
 tqdm==4.64.1              # via diffsims, hyperspy, ipyparallel, kikuchipy, mdanalysis, orix, pymatgen
 traitlets==5.8.1          # via comm, ipykernel, ipyparallel, ipython, ipywidgets, jupyter-client, jupyter-core, jupyter-telemetry, jupyterhub, matplotlib-inline
@@ -275,13 +270,13 @@ typish==1.9.3             # via nptyping
 tzdata==2023.3            # via pytz-deprecation-shim
 tzlocal==4.3              # via nionswift, pynxtools (dependencies/parsers/nexus/pyproject.toml)
 uncertainties==3.1.7      # via lmfit, pymatgen
-unidecode==1.3.2          # via nomad-lab, nomad-lab (pyproject.toml)
+unidecode==1.3.2          # via nomad-lab (pyproject.toml)
 uri-template==1.2.0       # via jsonschema
 url-normalize==1.4.3      # via requests-cache
 urllib3==1.26.14          # via docker, elasticsearch, pybis, requests, requests-cache
-uvicorn[standard]==0.20.0  # via h5grove, nomad-lab, nomad-lab (pyproject.toml)
+uvicorn[standard]==0.20.0  # via h5grove, nomad-lab (pyproject.toml)
 uvloop==0.17.0            # via uvicorn
-validators==0.18.2        # via nomad-lab, nomad-lab (pyproject.toml)
+validators==0.18.2        # via nomad-lab (pyproject.toml)
 vine==5.0.0               # via amqp, celery, kombu
 watchfiles==0.18.1        # via uvicorn
 wcwidth==0.2.5            # via prettytable, prompt-toolkit
@@ -291,12 +286,12 @@ websocket-client==1.4.2   # via docker
 websockets==10.4          # via uvicorn
 werkzeug==2.2.2           # via flask
 widgetsnbextension==4.0.9  # via ipywidgets
-wrapt==1.12.1             # via nomad-lab, nomad-lab (pyproject.toml)
-xarray==0.20.2            # via nomad-lab, nomad-lab (pyproject.toml), pynxtools (dependencies/parsers/nexus/pyproject.toml)
+wrapt==1.12.1             # via nomad-lab (pyproject.toml)
+xarray==0.20.2            # via nomad-lab (pyproject.toml), pynxtools (dependencies/parsers/nexus/pyproject.toml)
 zarr==2.12.0              # via hyperspy
 zipfile37==0.1.3          # via pynxtools (dependencies/parsers/nexus/pyproject.toml)
 zipp==3.11.0              # via importlib-metadata
-zipstream-new==1.1.5      # via nomad-lab, nomad-lab (pyproject.toml)
+zipstream-new==1.1.5      # via nomad-lab (pyproject.toml)
 
 # The following packages are considered to be unsafe in a requirements file:
 # setuptools
diff --git a/scripts/check_python_dependencies.sh b/scripts/check_python_dependencies.sh
index 273bdd566d0f22a0fd34ba3a7b236a0314e7809c..fb033199c1f90b6eae2f6b73afe37f8cef5f23cb 100755
--- a/scripts/check_python_dependencies.sh
+++ b/scripts/check_python_dependencies.sh
@@ -14,25 +14,30 @@ project_dir=$(dirname $(dirname $(realpath $0)))
 
 cd $project_dir
 
-set -x # echo on
+# backup
+cp requirements.txt requirements.txt.tmp
+cp requirements-dev.txt requirements-dev.txt.tmp
 
-pip-compile --resolver=backtracking --quiet --annotation-style=line \
+pip-compile --resolver=backtracking --annotation-style=line \
     --extra=infrastructure --extra=parsing \
-    --output-file=requirements.txt.tmp \
+    --output-file=requirements.txt \
+    --pip-args="--prefer-binary" \
     dependencies/nomad-dos-fingerprints/pyproject.toml \
     dependencies/parsers/eelsdb/pyproject.toml \
     dependencies/parsers/nexus/pyproject.toml \
     pyproject.toml
 
-diff requirements.txt requirements.txt.tmp
+diff requirements.txt.tmp requirements.txt
 
-pip-compile --resolver=backtracking --quiet --annotation-style=line \
+pip-compile --resolver=backtracking --annotation-style=line \
     --extra=dev --extra=infrastructure --extra=parsing \
-    --output-file=requirements-dev.txt.tmp \
+    --output-file=requirements-dev.txt \
+    --pip-args="--prefer-binary" \
     requirements.txt \
     pyproject.toml
 
-diff requirements-dev.txt requirements-dev.txt.tmp
+diff requirements-dev.txt.tmp requirements-dev.txt
 
 # cleanup
-rm requirements.txt.tmp requirements-dev.txt.tmp
+mv requirements.txt.tmp requirements.txt
+mv requirements-dev.txt.tmp requirements-dev.txt