diff --git a/.gitmodules b/.gitmodules
index e53da98527ecb9e696a4659f0c5815eba563b3a6..aa7912ccacd3da186adcff7a207f1a12a924e96e 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -11,18 +11,6 @@
 [submodule "gui/crystcif-parse"]
 	path = gui/crystcif-parse
 	url = https://github.com/stur86/crystcif-parse.git
-[submodule "dependencies/parsers/electronic"]
-	path = dependencies/parsers/electronic
-	url = https://github.com/nomad-coe/electronic-parsers.git
-[submodule "dependencies/parsers/atomistic"]
-	path = dependencies/parsers/atomistic
-	url = https://github.com/nomad-coe/atomistic-parsers.git
-[submodule "dependencies/parsers/workflow"]
-	path = dependencies/parsers/workflow
-	url = https://github.com/nomad-coe/workflow-parsers.git
-[submodule "dependencies/parsers/database"]
-	path = dependencies/parsers/database
-	url = https://github.com/nomad-coe/database-parsers.git
 [submodule "examples/plugins/schema"]
 	path = examples/plugins/schema
 	url = https://github.com/nomad-coe/nomad-schema-plugin-example.git
@@ -32,9 +20,6 @@
 [submodule "examples/plugins/normalizer"]
 	path = examples/plugins/normalizer
 	url = https://github.com/nomad-coe/nomad-normalizer-plugin-example.git
-[submodule "dependencies/parsers/simulation"]
-	path = dependencies/parsers/simulation
-	url = https://github.com/nomad-coe/simulation-parsers.git
 [submodule "dependencies/parsers/example"]
 	path = dependencies/parsers/example
 	url = https://github.com/nomad-coe/nomad-parser-example.git
diff --git a/MANIFEST.in b/MANIFEST.in
index 73b9d1b69d680e40873f67ce03478de06acbbc53..25ee27adfbc30d7269606172c46d8cc94568e359 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -10,15 +10,5 @@ exclude nomad/app/static/gui/artifact.js
 
 include dependencies/nomad-dos-fingerprints/README.md
 recursive-include dependencies/nomad-dos-fingerprints/nomad_dos_fingerprints *.py
-include dependencies/parsers/atomistic/README.md
-recursive-include dependencies/parsers/atomistic/atomisticparsers *.py nomad_plugin.yaml
-include dependencies/parsers/database/README.md
-recursive-include dependencies/parsers/database/databaseparsers *.py nomad_plugin.yaml
 include dependencies/parsers/eelsdb/README.md
 recursive-include dependencies/parsers/eelsdb/eelsdbparser *.py nomad_plugin.yaml
-include dependencies/parsers/electronic/README.md
-recursive-include dependencies/parsers/electronic/electronicparsers *.py *.json nomad_plugin.yaml
-include dependencies/parsers/workflow/README.md
-recursive-include dependencies/parsers/workflow/workflowparsers *.py nomad_plugin.yaml
-include dependencies/parsers/simulation/README.md
-recursive-include dependencies/parsers/simulation/simulationparsers *.py
diff --git a/default_plugins.txt b/default_plugins.txt
index aa8012f975deb976b180e9c6abbe4cffb38168a7..c038db129c6142b1ea28e21865bb3d82c63a189c 100644
--- a/default_plugins.txt
+++ b/default_plugins.txt
@@ -11,3 +11,7 @@ git+https://github.com/nomad-coe/nomad-normalizer-plugin-soap.git@develop
 git+https://github.com/nomad-coe/nomad-normalizer-plugin-spectra.git@develop
 git+https://github.com/nomad-coe/nomad-normalizer-plugin-system.git@develop
 git+https://github.com/nomad-coe/nomad-normalizer-plugin-simulation-workflow.git@develop
+git+https://github.com/nomad-coe/electronic-parsers.git@91bd91814eb3c663ac6dc64730f0fa1bee503ea9
+git+https://github.com/nomad-coe/atomistic-parsers.git@6e907aa4da0767d23450ff472118e63799101788
+git+https://github.com/nomad-coe/workflow-parsers.git@872eabb8dd53584278df26519a72d63652bad098
+git+https://github.com/nomad-coe/database-parsers.git@a82707377bd59f244739772803337c3a09615948
diff --git a/dependencies/parsers/atomistic b/dependencies/parsers/atomistic
deleted file mode 160000
index 8e9e6d02435ac27af6bc199bd55b6528d484c36d..0000000000000000000000000000000000000000
--- a/dependencies/parsers/atomistic
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 8e9e6d02435ac27af6bc199bd55b6528d484c36d
diff --git a/dependencies/parsers/database b/dependencies/parsers/database
deleted file mode 160000
index de625abc45b0d3e6d6dc648d0482db44836df3c8..0000000000000000000000000000000000000000
--- a/dependencies/parsers/database
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit de625abc45b0d3e6d6dc648d0482db44836df3c8
diff --git a/dependencies/parsers/electronic b/dependencies/parsers/electronic
deleted file mode 160000
index 97e51b06065db72782533c01a867d808cd6ec009..0000000000000000000000000000000000000000
--- a/dependencies/parsers/electronic
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 97e51b06065db72782533c01a867d808cd6ec009
diff --git a/dependencies/parsers/simulation b/dependencies/parsers/simulation
deleted file mode 160000
index 6c351b50b24b83ebdb873eba7491460be3abe747..0000000000000000000000000000000000000000
--- a/dependencies/parsers/simulation
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 6c351b50b24b83ebdb873eba7491460be3abe747
diff --git a/dependencies/parsers/workflow b/dependencies/parsers/workflow
deleted file mode 160000
index c25d2cbbbe15f7f36d2f0727b0c53b276248c6ac..0000000000000000000000000000000000000000
--- a/dependencies/parsers/workflow
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit c25d2cbbbe15f7f36d2f0727b0c53b276248c6ac
diff --git a/gui/tests/artifacts.js b/gui/tests/artifacts.js
index c9eff2fed6756a53afae1dd1734c1550a277137d..6962daea15e51f88b37e5025f41b919fda5cde7d 100644
--- a/gui/tests/artifacts.js
+++ b/gui/tests/artifacts.js
@@ -5596,6 +5596,346 @@ window.nomadArtifacts = {
       "repeats": false,
       "suggestion": true
     },
+    "data.name#simulationworkflowschema.general.SimulationWorkflow": {
+      "name": "name",
+      "description": "A name of the task. Will be used as a label for the input or output in workflow representations.",
+      "type": {
+        "type_kind": "python",
+        "type_data": "str"
+      },
+      "aggregatable": true,
+      "dynamic": true,
+      "repeats": false,
+      "schema": "simulationworkflowschema.general.SimulationWorkflow"
+    },
+    "data.inputs.name#simulationworkflowschema.general.SimulationWorkflow": {
+      "name": "name",
+      "description": "Name of the link. Will be used as a label for the input or output in workflow representations.",
+      "type": {
+        "type_kind": "python",
+        "type_data": "str"
+      },
+      "aggregatable": true,
+      "dynamic": true,
+      "repeats": true,
+      "schema": "simulationworkflowschema.general.SimulationWorkflow"
+    },
+    "data.outputs.name#simulationworkflowschema.general.SimulationWorkflow": {
+      "name": "name",
+      "description": "Name of the link. Will be used as a label for the input or output in workflow representations.",
+      "type": {
+        "type_kind": "python",
+        "type_data": "str"
+      },
+      "aggregatable": true,
+      "dynamic": true,
+      "repeats": true,
+      "schema": "simulationworkflowschema.general.SimulationWorkflow"
+    },
+    "data.tasks.name#simulationworkflowschema.general.SimulationWorkflow": {
+      "name": "name",
+      "description": "A name of the task. Will be used as a label for the input or output in workflow representations.",
+      "type": {
+        "type_kind": "python",
+        "type_data": "str"
+      },
+      "aggregatable": true,
+      "dynamic": true,
+      "repeats": true,
+      "schema": "simulationworkflowschema.general.SimulationWorkflow"
+    },
+    "data.tasks.inputs.name#simulationworkflowschema.general.SimulationWorkflow": {
+      "name": "name",
+      "description": "Name of the link. Will be used as a label for the input or output in workflow representations.",
+      "type": {
+        "type_kind": "python",
+        "type_data": "str"
+      },
+      "aggregatable": true,
+      "dynamic": true,
+      "repeats": true,
+      "schema": "simulationworkflowschema.general.SimulationWorkflow"
+    },
+    "data.tasks.outputs.name#simulationworkflowschema.general.SimulationWorkflow": {
+      "name": "name",
+      "description": "Name of the link. Will be used as a label for the input or output in workflow representations.",
+      "type": {
+        "type_kind": "python",
+        "type_data": "str"
+      },
+      "aggregatable": true,
+      "dynamic": true,
+      "repeats": true,
+      "schema": "simulationworkflowschema.general.SimulationWorkflow"
+    },
+    "data.results.n_calculations#simulationworkflowschema.general.SimulationWorkflow": {
+      "name": "n_calculations",
+      "description": "Number of calculations in workflow.",
+      "type": {
+        "type_kind": "python",
+        "type_data": "int"
+      },
+      "shape": [],
+      "aggregatable": false,
+      "dynamic": true,
+      "repeats": false,
+      "schema": "simulationworkflowschema.general.SimulationWorkflow"
+    },
+    "data.name#simulationworkflowschema.general.ParallelSimulation": {
+      "name": "name",
+      "description": "A name of the task. Will be used as a label for the input or output in workflow representations.",
+      "type": {
+        "type_kind": "python",
+        "type_data": "str"
+      },
+      "aggregatable": true,
+      "dynamic": true,
+      "repeats": false,
+      "schema": "simulationworkflowschema.general.ParallelSimulation"
+    },
+    "data.inputs.name#simulationworkflowschema.general.ParallelSimulation": {
+      "name": "name",
+      "description": "Name of the link. Will be used as a label for the input or output in workflow representations.",
+      "type": {
+        "type_kind": "python",
+        "type_data": "str"
+      },
+      "aggregatable": true,
+      "dynamic": true,
+      "repeats": true,
+      "schema": "simulationworkflowschema.general.ParallelSimulation"
+    },
+    "data.outputs.name#simulationworkflowschema.general.ParallelSimulation": {
+      "name": "name",
+      "description": "Name of the link. Will be used as a label for the input or output in workflow representations.",
+      "type": {
+        "type_kind": "python",
+        "type_data": "str"
+      },
+      "aggregatable": true,
+      "dynamic": true,
+      "repeats": true,
+      "schema": "simulationworkflowschema.general.ParallelSimulation"
+    },
+    "data.tasks.name#simulationworkflowschema.general.ParallelSimulation": {
+      "name": "name",
+      "description": "A name of the task. Will be used as a label for the input or output in workflow representations.",
+      "type": {
+        "type_kind": "python",
+        "type_data": "str"
+      },
+      "aggregatable": true,
+      "dynamic": true,
+      "repeats": true,
+      "schema": "simulationworkflowschema.general.ParallelSimulation"
+    },
+    "data.tasks.inputs.name#simulationworkflowschema.general.ParallelSimulation": {
+      "name": "name",
+      "description": "Name of the link. Will be used as a label for the input or output in workflow representations.",
+      "type": {
+        "type_kind": "python",
+        "type_data": "str"
+      },
+      "aggregatable": true,
+      "dynamic": true,
+      "repeats": true,
+      "schema": "simulationworkflowschema.general.ParallelSimulation"
+    },
+    "data.tasks.outputs.name#simulationworkflowschema.general.ParallelSimulation": {
+      "name": "name",
+      "description": "Name of the link. Will be used as a label for the input or output in workflow representations.",
+      "type": {
+        "type_kind": "python",
+        "type_data": "str"
+      },
+      "aggregatable": true,
+      "dynamic": true,
+      "repeats": true,
+      "schema": "simulationworkflowschema.general.ParallelSimulation"
+    },
+    "data.results.n_calculations#simulationworkflowschema.general.ParallelSimulation": {
+      "name": "n_calculations",
+      "description": "Number of calculations in workflow.",
+      "type": {
+        "type_kind": "python",
+        "type_data": "int"
+      },
+      "shape": [],
+      "aggregatable": false,
+      "dynamic": true,
+      "repeats": false,
+      "schema": "simulationworkflowschema.general.ParallelSimulation"
+    },
+    "data.name#simulationworkflowschema.general.SerialSimulation": {
+      "name": "name",
+      "description": "A name of the task. Will be used as a label for the input or output in workflow representations.",
+      "type": {
+        "type_kind": "python",
+        "type_data": "str"
+      },
+      "aggregatable": true,
+      "dynamic": true,
+      "repeats": false,
+      "schema": "simulationworkflowschema.general.SerialSimulation"
+    },
+    "data.inputs.name#simulationworkflowschema.general.SerialSimulation": {
+      "name": "name",
+      "description": "Name of the link. Will be used as a label for the input or output in workflow representations.",
+      "type": {
+        "type_kind": "python",
+        "type_data": "str"
+      },
+      "aggregatable": true,
+      "dynamic": true,
+      "repeats": true,
+      "schema": "simulationworkflowschema.general.SerialSimulation"
+    },
+    "data.outputs.name#simulationworkflowschema.general.SerialSimulation": {
+      "name": "name",
+      "description": "Name of the link. Will be used as a label for the input or output in workflow representations.",
+      "type": {
+        "type_kind": "python",
+        "type_data": "str"
+      },
+      "aggregatable": true,
+      "dynamic": true,
+      "repeats": true,
+      "schema": "simulationworkflowschema.general.SerialSimulation"
+    },
+    "data.tasks.name#simulationworkflowschema.general.SerialSimulation": {
+      "name": "name",
+      "description": "A name of the task. Will be used as a label for the input or output in workflow representations.",
+      "type": {
+        "type_kind": "python",
+        "type_data": "str"
+      },
+      "aggregatable": true,
+      "dynamic": true,
+      "repeats": true,
+      "schema": "simulationworkflowschema.general.SerialSimulation"
+    },
+    "data.tasks.inputs.name#simulationworkflowschema.general.SerialSimulation": {
+      "name": "name",
+      "description": "Name of the link. Will be used as a label for the input or output in workflow representations.",
+      "type": {
+        "type_kind": "python",
+        "type_data": "str"
+      },
+      "aggregatable": true,
+      "dynamic": true,
+      "repeats": true,
+      "schema": "simulationworkflowschema.general.SerialSimulation"
+    },
+    "data.tasks.outputs.name#simulationworkflowschema.general.SerialSimulation": {
+      "name": "name",
+      "description": "Name of the link. Will be used as a label for the input or output in workflow representations.",
+      "type": {
+        "type_kind": "python",
+        "type_data": "str"
+      },
+      "aggregatable": true,
+      "dynamic": true,
+      "repeats": true,
+      "schema": "simulationworkflowschema.general.SerialSimulation"
+    },
+    "data.results.n_calculations#simulationworkflowschema.general.SerialSimulation": {
+      "name": "n_calculations",
+      "description": "Number of calculations in workflow.",
+      "type": {
+        "type_kind": "python",
+        "type_data": "int"
+      },
+      "shape": [],
+      "aggregatable": false,
+      "dynamic": true,
+      "repeats": false,
+      "schema": "simulationworkflowschema.general.SerialSimulation"
+    },
+    "data.name#simulationworkflowschema.general.BeyondDFT": {
+      "name": "name",
+      "description": "A name of the task. Will be used as a label for the input or output in workflow representations.",
+      "type": {
+        "type_kind": "python",
+        "type_data": "str"
+      },
+      "aggregatable": true,
+      "dynamic": true,
+      "repeats": false,
+      "schema": "simulationworkflowschema.general.BeyondDFT"
+    },
+    "data.inputs.name#simulationworkflowschema.general.BeyondDFT": {
+      "name": "name",
+      "description": "Name of the link. Will be used as a label for the input or output in workflow representations.",
+      "type": {
+        "type_kind": "python",
+        "type_data": "str"
+      },
+      "aggregatable": true,
+      "dynamic": true,
+      "repeats": true,
+      "schema": "simulationworkflowschema.general.BeyondDFT"
+    },
+    "data.outputs.name#simulationworkflowschema.general.BeyondDFT": {
+      "name": "name",
+      "description": "Name of the link. Will be used as a label for the input or output in workflow representations.",
+      "type": {
+        "type_kind": "python",
+        "type_data": "str"
+      },
+      "aggregatable": true,
+      "dynamic": true,
+      "repeats": true,
+      "schema": "simulationworkflowschema.general.BeyondDFT"
+    },
+    "data.tasks.name#simulationworkflowschema.general.BeyondDFT": {
+      "name": "name",
+      "description": "A name of the task. Will be used as a label for the input or output in workflow representations.",
+      "type": {
+        "type_kind": "python",
+        "type_data": "str"
+      },
+      "aggregatable": true,
+      "dynamic": true,
+      "repeats": true,
+      "schema": "simulationworkflowschema.general.BeyondDFT"
+    },
+    "data.tasks.inputs.name#simulationworkflowschema.general.BeyondDFT": {
+      "name": "name",
+      "description": "Name of the link. Will be used as a label for the input or output in workflow representations.",
+      "type": {
+        "type_kind": "python",
+        "type_data": "str"
+      },
+      "aggregatable": true,
+      "dynamic": true,
+      "repeats": true,
+      "schema": "simulationworkflowschema.general.BeyondDFT"
+    },
+    "data.tasks.outputs.name#simulationworkflowschema.general.BeyondDFT": {
+      "name": "name",
+      "description": "Name of the link. Will be used as a label for the input or output in workflow representations.",
+      "type": {
+        "type_kind": "python",
+        "type_data": "str"
+      },
+      "aggregatable": true,
+      "dynamic": true,
+      "repeats": true,
+      "schema": "simulationworkflowschema.general.BeyondDFT"
+    },
+    "data.results.n_calculations#simulationworkflowschema.general.BeyondDFT": {
+      "name": "n_calculations",
+      "description": "Number of calculations in workflow.",
+      "type": {
+        "type_kind": "python",
+        "type_data": "int"
+      },
+      "shape": [],
+      "aggregatable": false,
+      "dynamic": true,
+      "repeats": false,
+      "schema": "simulationworkflowschema.general.BeyondDFT"
+    },
     "results.material": {
       "name": "material",
       "description": "\n        Section containing information on the material composition and structure.\n        ",
diff --git a/gui/tests/env.js b/gui/tests/env.js
index 6f98f430029d816e280faffb16174630234690ff..5c4b3f48b0a52cba997a9982cf19ae7daa6eadf8 100644
--- a/gui/tests/env.js
+++ b/gui/tests/env.js
@@ -2642,11 +2642,238 @@ window.nomadEnv = {
         "nomad_porous_materials.normalizers:porositynormalizer"
       ],
       "include": [
-        "schema/simulation/run",
-        "schema/simulation/workflow",
-        "parsers/vasp"
+        "runschema:run_schema_entry_point",
+        "simulationworkflowschema:simulationworkflow_schema_entry_point",
+        "electronicparsers:vasp_parser_entry_point"
       ],
       "options": {
+        "atomisticparsers:amber_parser_entry_point": {
+          "id": "atomisticparsers:amber_parser_entry_point",
+          "entry_point_type": "parser",
+          "name": "parsers/amber",
+          "description": "NOMAD parser for AMBER.",
+          "plugin_package": "atomisticparsers",
+          "level": 0,
+          "aliases": [
+            "parsers/amber"
+          ],
+          "mainfile_contents_re": "\\s*Amber\\s[0-9]+\\s[A-Z]+\\s*[0-9]+",
+          "mainfile_name_re": ".*",
+          "mainfile_mime_re": ".*",
+          "mainfile_alternative": false,
+          "supported_compressions": []
+        },
+        "atomisticparsers:asap_parser_entry_point": {
+          "id": "atomisticparsers:asap_parser_entry_point",
+          "entry_point_type": "parser",
+          "name": "parsers/asap",
+          "description": "NOMAD parser for ASAP.",
+          "plugin_package": "atomisticparsers",
+          "level": 0,
+          "aliases": [
+            "parsers/asap"
+          ],
+          "mainfile_name_re": ".*.traj$",
+          "mainfile_mime_re": "application/octet-stream",
+          "mainfile_alternative": false,
+          "supported_compressions": []
+        },
+        "atomisticparsers:bopfox_parser_entry_point": {
+          "id": "atomisticparsers:bopfox_parser_entry_point",
+          "entry_point_type": "parser",
+          "name": "parsers/bopfox",
+          "description": "NOMAD parser for BOPFOX.",
+          "plugin_package": "atomisticparsers",
+          "level": 0,
+          "aliases": [
+            "parsers/bopfox"
+          ],
+          "mainfile_contents_re": "\\-+\\s+BOPfox \\(v",
+          "mainfile_name_re": ".*",
+          "mainfile_mime_re": ".*",
+          "mainfile_alternative": false,
+          "supported_compressions": []
+        },
+        "atomisticparsers:dftbplus_parser_entry_point": {
+          "id": "atomisticparsers:dftbplus_parser_entry_point",
+          "entry_point_type": "parser",
+          "name": "parsers/dftbplus",
+          "description": "NOMAD parser for DFTBPLUS.",
+          "plugin_package": "atomisticparsers",
+          "level": 0,
+          "aliases": [
+            "parsers/dftbplus"
+          ],
+          "mainfile_contents_re": "\\|  DFTB\\+",
+          "mainfile_name_re": ".*",
+          "mainfile_mime_re": "text/.*",
+          "mainfile_alternative": false,
+          "supported_compressions": []
+        },
+        "atomisticparsers:dlpoly_parser_entry_point": {
+          "id": "atomisticparsers:dlpoly_parser_entry_point",
+          "entry_point_type": "parser",
+          "name": "parsers/dl-poly",
+          "description": "NOMAD parser for DLPOLY.",
+          "plugin_package": "atomisticparsers",
+          "level": 0,
+          "aliases": [
+            "parsers/dl-poly"
+          ],
+          "mainfile_contents_re": "\\*\\*\\s+DL_POLY.+\\*\\*",
+          "mainfile_name_re": ".*",
+          "mainfile_mime_re": ".*",
+          "mainfile_alternative": false,
+          "supported_compressions": []
+        },
+        "atomisticparsers:gromacs_parser_entry_point": {
+          "id": "atomisticparsers:gromacs_parser_entry_point",
+          "entry_point_type": "parser",
+          "name": "parsers/gromacs",
+          "description": "NOMAD parser for GROMACS.",
+          "plugin_package": "atomisticparsers",
+          "level": 0,
+          "aliases": [
+            "parsers/gromacs"
+          ],
+          "mainfile_contents_re": "gmx mdrun, (VERSION|version)[\\s\\S]*Input Parameters:",
+          "mainfile_name_re": ".*",
+          "mainfile_mime_re": ".*",
+          "mainfile_alternative": false,
+          "supported_compressions": []
+        },
+        "atomisticparsers:gromos_parser_entry_point": {
+          "id": "atomisticparsers:gromos_parser_entry_point",
+          "entry_point_type": "parser",
+          "name": "parsers/gromos",
+          "description": "NOMAD parser for GROMOS.",
+          "plugin_package": "atomisticparsers",
+          "level": 0,
+          "aliases": [
+            "parsers/gromos"
+          ],
+          "mainfile_contents_re": "Bugreports to http://www.gromos.net",
+          "mainfile_name_re": ".*",
+          "mainfile_mime_re": ".*",
+          "mainfile_alternative": false,
+          "supported_compressions": []
+        },
+        "atomisticparsers:gulp_parser_entry_point": {
+          "id": "atomisticparsers:gulp_parser_entry_point",
+          "entry_point_type": "parser",
+          "name": "parsers/gulp",
+          "description": "NOMAD parser for GULP.",
+          "plugin_package": "atomisticparsers",
+          "level": 0,
+          "aliases": [
+            "parsers/gulp"
+          ],
+          "mainfile_contents_re": "\\s*\\*\\*\\*\\*\\*\\*\\*\\*\\*\\*\\*\\*\\*\\*\\*\\*\\*\\*\\*\\*\\*\\*\\*\\*\\*\\*\\*\\*\\*\\*\\*\\*\\*\\*\\*\\*\\*\\*\\*\\*\\s*\\s*\\*\\s*GENERAL UTILITY LATTICE PROGRAM\\s*\\*\\s*",
+          "mainfile_name_re": ".*",
+          "mainfile_mime_re": ".*",
+          "mainfile_alternative": false,
+          "supported_compressions": []
+        },
+        "atomisticparsers:h5md_parser_entry_point": {
+          "id": "atomisticparsers:h5md_parser_entry_point",
+          "entry_point_type": "parser",
+          "name": "parsers/h5md",
+          "description": "NOMAD parser for H5MD.",
+          "plugin_package": "atomisticparsers",
+          "level": 0,
+          "aliases": [
+            "parsers/h5md"
+          ],
+          "mainfile_name_re": "^.*\\.(h5|hdf5)$",
+          "mainfile_mime_re": "(application/x-hdf)",
+          "mainfile_alternative": false,
+          "mainfile_contents_dict": {
+            "__has_all_keys": [
+              "h5md"
+            ]
+          },
+          "supported_compressions": []
+        },
+        "atomisticparsers:lammps_parser_entry_point": {
+          "id": "atomisticparsers:lammps_parser_entry_point",
+          "entry_point_type": "parser",
+          "name": "parsers/lammps",
+          "description": "NOMAD parser for LAMMPS.",
+          "plugin_package": "atomisticparsers",
+          "level": 0,
+          "aliases": [
+            "parsers/lammps"
+          ],
+          "mainfile_contents_re": "^LAMMPS\\s+\\(.+\\)",
+          "mainfile_name_re": ".*",
+          "mainfile_mime_re": ".*",
+          "mainfile_alternative": false,
+          "supported_compressions": []
+        },
+        "atomisticparsers:libatoms_parser_entry_point": {
+          "id": "atomisticparsers:libatoms_parser_entry_point",
+          "entry_point_type": "parser",
+          "name": "parsers/lib-atoms",
+          "description": "NOMAD parser for LIBATOMS.",
+          "plugin_package": "atomisticparsers",
+          "level": 0,
+          "aliases": [
+            "parsers/lib-atoms"
+          ],
+          "mainfile_contents_re": "\\s*<GAP_params\\s",
+          "mainfile_name_re": ".*",
+          "mainfile_mime_re": ".*",
+          "mainfile_alternative": false,
+          "supported_compressions": []
+        },
+        "atomisticparsers:namd_parser_entry_point": {
+          "id": "atomisticparsers:namd_parser_entry_point",
+          "entry_point_type": "parser",
+          "name": "parsers/namd",
+          "description": "NOMAD parser for NAMD.",
+          "plugin_package": "atomisticparsers",
+          "level": 0,
+          "aliases": [
+            "parsers/namd"
+          ],
+          "mainfile_contents_re": "\\s*Info:\\s*NAMD\\s*[0-9.]+\\s*for\\s*",
+          "mainfile_name_re": ".*",
+          "mainfile_mime_re": "text/.*",
+          "mainfile_alternative": false,
+          "supported_compressions": []
+        },
+        "atomisticparsers:tinker_parser_entry_point": {
+          "id": "atomisticparsers:tinker_parser_entry_point",
+          "entry_point_type": "parser",
+          "name": "parsers/tinker",
+          "description": "NOMAD parser for TINKER.",
+          "plugin_package": "atomisticparsers",
+          "level": 0,
+          "aliases": [
+            "parsers/tinker"
+          ],
+          "mainfile_contents_re": "TINKER  ---  Software Tools for Molecular Design",
+          "mainfile_name_re": ".*",
+          "mainfile_mime_re": ".*",
+          "mainfile_alternative": false,
+          "supported_compressions": []
+        },
+        "atomisticparsers:xtb_parser_entry_point": {
+          "id": "atomisticparsers:xtb_parser_entry_point",
+          "entry_point_type": "parser",
+          "name": "parsers/xtb",
+          "description": "NOMAD parser for XTB.",
+          "plugin_package": "atomisticparsers",
+          "level": 0,
+          "aliases": [
+            "parsers/xtb"
+          ],
+          "mainfile_contents_re": "x T B\\s+\\|\\s+\\|\\s+=",
+          "mainfile_name_re": ".*",
+          "mainfile_mime_re": ".*",
+          "mainfile_alternative": false,
+          "supported_compressions": []
+        },
         "bandstructurenormalizer:bandstructure_normalizer_entry_point": {
           "id": "bandstructurenormalizer:bandstructure_normalizer_entry_point",
           "entry_point_type": "normalizer",
@@ -2654,6 +2881,22 @@ window.nomadEnv = {
           "description": "Normalizer for the band structure data.",
           "plugin_package": "bandstructurenormalizer"
         },
+        "databaseparsers:openkim_parser_entry_point": {
+          "id": "databaseparsers:openkim_parser_entry_point",
+          "entry_point_type": "parser",
+          "name": "parsers/openkim",
+          "description": "NOMAD parser for OPENKIM.",
+          "plugin_package": "databaseparsers",
+          "level": 0,
+          "aliases": [
+            "parsers/openkim"
+          ],
+          "mainfile_contents_re": "openkim|OPENKIM|OpenKIM",
+          "mainfile_name_re": ".*",
+          "mainfile_mime_re": "(application/json)|(text/.*)",
+          "mainfile_alternative": false,
+          "supported_compressions": []
+        },
         "dosnormalizer:dos_normalizer_entry_point": {
           "id": "dosnormalizer:dos_normalizer_entry_point",
           "entry_point_type": "normalizer",
@@ -2661,6 +2904,707 @@ window.nomadEnv = {
           "description": "Normalizer for the DOS data.",
           "plugin_package": "dosnormalizer"
         },
+        "electronicparsers:abacus_parser_entry_point": {
+          "id": "electronicparsers:abacus_parser_entry_point",
+          "entry_point_type": "parser",
+          "name": "parsers/abacus",
+          "description": "NOMAD parser for ABACUS.",
+          "plugin_package": "electronicparsers",
+          "level": 0,
+          "aliases": [
+            "parsers/abacus"
+          ],
+          "mainfile_contents_re": "\\s*\\n\\s*WELCOME TO ABACUS",
+          "mainfile_name_re": ".*",
+          "mainfile_mime_re": ".*",
+          "mainfile_alternative": false,
+          "supported_compressions": []
+        },
+        "electronicparsers:abinit_parser_entry_point": {
+          "id": "electronicparsers:abinit_parser_entry_point",
+          "entry_point_type": "parser",
+          "name": "parsers/abinit",
+          "description": "NOMAD parser for ABINIT.",
+          "plugin_package": "electronicparsers",
+          "level": 0,
+          "aliases": [
+            "parsers/abinit"
+          ],
+          "mainfile_contents_re": "^\\n*\\.Version\\s*[0-9.]*\\s*of ABINIT\\s*",
+          "mainfile_name_re": ".*",
+          "mainfile_mime_re": ".*",
+          "mainfile_alternative": false,
+          "supported_compressions": []
+        },
+        "electronicparsers:ams_parser_entry_point": {
+          "id": "electronicparsers:ams_parser_entry_point",
+          "entry_point_type": "parser",
+          "name": "parsers/ams",
+          "description": "NOMAD parser for AMS.",
+          "plugin_package": "electronicparsers",
+          "level": 0,
+          "aliases": [
+            "parsers/ams"
+          ],
+          "mainfile_contents_re": "\\* +\\| +A M S +\\| +\\*",
+          "mainfile_name_re": ".*",
+          "mainfile_mime_re": ".*",
+          "mainfile_alternative": false,
+          "supported_compressions": []
+        },
+        "electronicparsers:atk_parser_entry_point": {
+          "id": "electronicparsers:atk_parser_entry_point",
+          "entry_point_type": "parser",
+          "name": "parsers/atk",
+          "description": "NOMAD parser for ATK.",
+          "plugin_package": "electronicparsers",
+          "level": 0,
+          "aliases": [
+            "parsers/atk"
+          ],
+          "mainfile_name_re": "^.*\\.nc",
+          "mainfile_mime_re": "application/octet-stream",
+          "mainfile_alternative": false,
+          "supported_compressions": []
+        },
+        "electronicparsers:bigdft_parser_entry_point": {
+          "id": "electronicparsers:bigdft_parser_entry_point",
+          "entry_point_type": "parser",
+          "name": "parsers/bigdft",
+          "description": "NOMAD parser for BIGDFT.",
+          "plugin_package": "electronicparsers",
+          "level": 0,
+          "aliases": [
+            "parsers/bigdft"
+          ],
+          "mainfile_contents_re": "\\|_____\\|__:__\\|__:__\\|_____\\|_____\\|___ BBBBB          i     g         g\\s*",
+          "mainfile_name_re": ".*",
+          "mainfile_mime_re": ".*",
+          "mainfile_alternative": false,
+          "supported_compressions": []
+        },
+        "electronicparsers:castep_parser_entry_point": {
+          "id": "electronicparsers:castep_parser_entry_point",
+          "entry_point_type": "parser",
+          "name": "parsers/castep",
+          "description": "NOMAD parser for CASTEP.",
+          "plugin_package": "electronicparsers",
+          "level": 0,
+          "aliases": [
+            "parsers/castep"
+          ],
+          "mainfile_contents_re": "\\s\\|\\s*CCC\\s*AA\\s*SSS\\s*TTTTT\\s*EEEEE\\s*PPPP\\s*\\|\\s*",
+          "mainfile_name_re": ".*",
+          "mainfile_mime_re": ".*",
+          "mainfile_alternative": false,
+          "supported_compressions": []
+        },
+        "electronicparsers:charmm_parser_entry_point": {
+          "id": "electronicparsers:charmm_parser_entry_point",
+          "entry_point_type": "parser",
+          "name": "parsers/charmm",
+          "description": "NOMAD parser for CHARMM.",
+          "plugin_package": "electronicparsers",
+          "level": 0,
+          "aliases": [
+            "parsers/charmm"
+          ],
+          "mainfile_contents_re": "\\s*Chemistry\\s*at\\s*HARvard\\s*Macromolecular\\s*Mechanics\\s*",
+          "mainfile_name_re": ".*",
+          "mainfile_mime_re": "text/.*",
+          "mainfile_alternative": false,
+          "supported_compressions": []
+        },
+        "electronicparsers:cp2k_parser_entry_point": {
+          "id": "electronicparsers:cp2k_parser_entry_point",
+          "entry_point_type": "parser",
+          "name": "parsers/cp2k",
+          "description": "NOMAD parser for CP2K.",
+          "plugin_package": "electronicparsers",
+          "level": 0,
+          "aliases": [
+            "parsers/cp2k"
+          ],
+          "mainfile_contents_re": "\\*\\*\\*\\* \\*\\*\\*\\* \\*\\*\\*\\*\\*\\*  \\*\\*  PROGRAM STARTED AT\\s.*\\n \\*\\*\\*\\*\\* \\*\\* \\*\\*\\*  \\*\\*\\* \\*\\*   PROGRAM STARTED ON\\s*.*\\n \\*\\*    \\*\\*\\*\\*   \\*\\*\\*\\*\\*\\*    PROGRAM STARTED BY .*\\n \\*\\*\\*\\*\\* \\*\\*    \\*\\* \\*\\* \\*\\*   PROGRAM PROCESS ID .*\\n  \\*\\*\\*\\* \\*\\*  \\*\\*\\*\\*\\*\\*\\*  \\*\\*  PROGRAM STARTED IN .*\\n",
+          "mainfile_name_re": ".*",
+          "mainfile_mime_re": ".*",
+          "mainfile_alternative": false,
+          "supported_compressions": []
+        },
+        "electronicparsers:cpmd_parser_entry_point": {
+          "id": "electronicparsers:cpmd_parser_entry_point",
+          "entry_point_type": "parser",
+          "name": "parsers/cpmd",
+          "description": "NOMAD parser for CPMD.",
+          "plugin_package": "electronicparsers",
+          "level": 0,
+          "aliases": [
+            "parsers/cpmd"
+          ],
+          "mainfile_contents_re": "\\*\\*\\*       \\*\\*   \\*\\*\\*  \\*\\* \\*\\*\\*\\* \\*\\*  \\*\\*   \\*\\*\\*",
+          "mainfile_name_re": ".*",
+          "mainfile_mime_re": ".*",
+          "mainfile_alternative": false,
+          "supported_compressions": []
+        },
+        "electronicparsers:crystal_parser_entry_point": {
+          "id": "electronicparsers:crystal_parser_entry_point",
+          "entry_point_type": "parser",
+          "name": "parsers/crystal",
+          "description": "NOMAD parser for CRYSTAL.",
+          "plugin_package": "electronicparsers",
+          "level": 0,
+          "aliases": [
+            "parsers/crystal"
+          ],
+          "mainfile_contents_re": "(\\r?\\n \\*\\s+CRYSTAL[\\d]+\\s+\\*\\r?\\n \\*\\s*[a-zA-Z]+ : \\d+[\\.\\d+]*)",
+          "mainfile_name_re": ".*",
+          "mainfile_mime_re": ".*",
+          "mainfile_alternative": false,
+          "supported_compressions": []
+        },
+        "electronicparsers:dmol3_parser_entry_point": {
+          "id": "electronicparsers:dmol3_parser_entry_point",
+          "entry_point_type": "parser",
+          "name": "parsers/dmol",
+          "description": "NOMAD parser for DMOL3.",
+          "plugin_package": "electronicparsers",
+          "level": 0,
+          "aliases": [
+            "parsers/dmol"
+          ],
+          "mainfile_contents_re": "Materials Studio DMol\\^3",
+          "mainfile_name_re": ".*\\.outmol",
+          "mainfile_mime_re": ".*",
+          "mainfile_alternative": false,
+          "supported_compressions": []
+        },
+        "electronicparsers:edmft_parser_entry_point": {
+          "id": "electronicparsers:edmft_parser_entry_point",
+          "entry_point_type": "parser",
+          "name": "parsers/edmft",
+          "description": "NOMAD parser for EDMFT.",
+          "plugin_package": "electronicparsers",
+          "level": 0,
+          "aliases": [
+            "parsers/edmft"
+          ],
+          "mainfile_contents_re": "\\-\\-\\-\\s*Preparing GF calculation\\s*\\-\\-\\-",
+          "mainfile_name_re": "^.*\\.(out)$",
+          "mainfile_mime_re": ".*",
+          "mainfile_alternative": false,
+          "supported_compressions": []
+        },
+        "electronicparsers:elk_parser_entry_point": {
+          "id": "electronicparsers:elk_parser_entry_point",
+          "entry_point_type": "parser",
+          "name": "parsers/elk",
+          "description": "NOMAD parser for ELK.",
+          "plugin_package": "electronicparsers",
+          "level": 0,
+          "aliases": [
+            "parsers/elk"
+          ],
+          "mainfile_contents_re": "\\| Elk version [0-9.a-zA-Z]+ started \\|",
+          "mainfile_name_re": ".*",
+          "mainfile_mime_re": ".*",
+          "mainfile_alternative": false,
+          "supported_compressions": []
+        },
+        "electronicparsers:exciting_parser_entry_point": {
+          "id": "electronicparsers:exciting_parser_entry_point",
+          "entry_point_type": "parser",
+          "name": "parsers/exciting",
+          "description": "NOMAD parser for EXCITING.",
+          "plugin_package": "electronicparsers",
+          "level": 0,
+          "aliases": [
+            "parsers/exciting"
+          ],
+          "mainfile_contents_re": "EXCITING.*started[\\s\\S]+?All units are atomic ",
+          "mainfile_name_re": "^.*.OUT(\\.[^/]*)?$",
+          "mainfile_mime_re": ".*",
+          "mainfile_alternative": false,
+          "supported_compressions": []
+        },
+        "electronicparsers:fhiaims_parser_entry_point": {
+          "id": "electronicparsers:fhiaims_parser_entry_point",
+          "entry_point_type": "parser",
+          "name": "parsers/fhi-aims",
+          "description": "NOMAD parser for FHIAIMS.",
+          "plugin_package": "electronicparsers",
+          "level": 0,
+          "aliases": [
+            "parsers/fhi-aims"
+          ],
+          "mainfile_contents_re": "^(.*\\n)*?\\s*Invoking FHI-aims \\.\\.\\.",
+          "mainfile_name_re": ".*",
+          "mainfile_mime_re": ".*",
+          "mainfile_alternative": false,
+          "supported_compressions": []
+        },
+        "electronicparsers:fleur_parser_entry_point": {
+          "id": "electronicparsers:fleur_parser_entry_point",
+          "entry_point_type": "parser",
+          "name": "parsers/fleur",
+          "description": "NOMAD parser for FLEUR.",
+          "plugin_package": "electronicparsers",
+          "level": 0,
+          "aliases": [
+            "parsers/fleur"
+          ],
+          "mainfile_contents_re": "This output is generated by fleur.|\\<fleurOutput",
+          "mainfile_name_re": ".*[^/]*\\.xml[^/]*",
+          "mainfile_mime_re": "(application/.*)|(text/.*)",
+          "mainfile_alternative": true,
+          "supported_compressions": []
+        },
+        "electronicparsers:fplo_parser_entry_point": {
+          "id": "electronicparsers:fplo_parser_entry_point",
+          "entry_point_type": "parser",
+          "name": "parsers/fplo",
+          "description": "NOMAD parser for FPLO.",
+          "plugin_package": "electronicparsers",
+          "level": 0,
+          "aliases": [
+            "parsers/fplo"
+          ],
+          "mainfile_contents_re": "\\s*\\|\\s*FULL-POTENTIAL LOCAL-ORBITAL MINIMUM BASIS BANDSTRUCTURE CODE\\s*\\|\\s*",
+          "mainfile_name_re": ".*",
+          "mainfile_mime_re": "text/.*",
+          "mainfile_alternative": false,
+          "supported_compressions": []
+        },
+        "electronicparsers:gamess_parser_entry_point": {
+          "id": "electronicparsers:gamess_parser_entry_point",
+          "entry_point_type": "parser",
+          "name": "parsers/gamess",
+          "description": "NOMAD parser for GAMESS.",
+          "plugin_package": "electronicparsers",
+          "level": 0,
+          "aliases": [
+            "parsers/gamess"
+          ],
+          "mainfile_contents_re": "\\s*\\*\\*\\*\\*\\*\\*\\*\\*\\*\\*\\*\\*\\*\\*\\*\\*\\*\\*\\*\\*\\*\\*\\*\\*\\*\\*\\*\\**\\s*\\s*\\*\\s*GAMESS VERSION =\\s*(.*)\\*\\s*\\s*\\*\\s*FROM IOWA STATE UNIVERSITY\\s*\\*\\s*",
+          "mainfile_name_re": ".*",
+          "mainfile_mime_re": ".*",
+          "mainfile_alternative": false,
+          "supported_compressions": []
+        },
+        "electronicparsers:gaussian_parser_entry_point": {
+          "id": "electronicparsers:gaussian_parser_entry_point",
+          "entry_point_type": "parser",
+          "name": "parsers/gaussian",
+          "description": "NOMAD parser for GAUSSIAN.",
+          "plugin_package": "electronicparsers",
+          "level": 0,
+          "aliases": [
+            "parsers/gaussian"
+          ],
+          "mainfile_contents_re": "\\s*Cite this work as:\\s*Gaussian [0-9]+, Revision [A-Za-z0-9\\.]*,",
+          "mainfile_name_re": ".*",
+          "mainfile_mime_re": ".*",
+          "mainfile_alternative": false,
+          "supported_compressions": []
+        },
+        "electronicparsers:gpaw_parser_entry_point": {
+          "id": "electronicparsers:gpaw_parser_entry_point",
+          "entry_point_type": "parser",
+          "name": "parsers/gpaw",
+          "description": "NOMAD parser for GPAW.",
+          "plugin_package": "electronicparsers",
+          "level": 0,
+          "aliases": [
+            "parsers/gpaw"
+          ],
+          "mainfile_name_re": "^.*\\.(gpw2|gpw)$",
+          "mainfile_mime_re": "application/(x-tar|octet-stream)",
+          "mainfile_alternative": false,
+          "supported_compressions": []
+        },
+        "electronicparsers:magres_parser_entry_point": {
+          "id": "electronicparsers:magres_parser_entry_point",
+          "entry_point_type": "parser",
+          "name": "parsers/magres",
+          "description": "NOMAD parser for MAGRES.",
+          "plugin_package": "electronicparsers",
+          "level": 0,
+          "aliases": [
+            "parsers/magres"
+          ],
+          "mainfile_contents_re": "\\$magres-abinitio-v(\\d\\.)+",
+          "mainfile_name_re": "^.*\\.magres",
+          "mainfile_mime_re": ".*",
+          "mainfile_alternative": false,
+          "supported_compressions": []
+        },
+        "electronicparsers:molcas_parser_entry_point": {
+          "id": "electronicparsers:molcas_parser_entry_point",
+          "entry_point_type": "parser",
+          "name": "parsers/molcas",
+          "description": "NOMAD parser for MOLCAS.",
+          "plugin_package": "electronicparsers",
+          "level": 0,
+          "aliases": [
+            "parsers/molcas"
+          ],
+          "mainfile_contents_re": "M O L C A S",
+          "mainfile_name_re": ".*",
+          "mainfile_mime_re": ".*",
+          "mainfile_alternative": false,
+          "supported_compressions": []
+        },
+        "electronicparsers:mopac_parser_entry_point": {
+          "id": "electronicparsers:mopac_parser_entry_point",
+          "entry_point_type": "parser",
+          "name": "parsers/mopac",
+          "description": "NOMAD parser for MOPAC.",
+          "plugin_package": "electronicparsers",
+          "level": 0,
+          "aliases": [
+            "parsers/mopac"
+          ],
+          "mainfile_contents_re": "\\s*\\*\\*\\s*MOPAC\\s*([0-9a-zA-Z\\.]*)\\s*\\*\\*\\s*",
+          "mainfile_name_re": ".*",
+          "mainfile_mime_re": "text/.*",
+          "mainfile_alternative": false,
+          "supported_compressions": []
+        },
+        "electronicparsers:nwchem_parser_entry_point": {
+          "id": "electronicparsers:nwchem_parser_entry_point",
+          "entry_point_type": "parser",
+          "name": "parsers/nwchem",
+          "description": "NOMAD parser for NWCHEM.",
+          "plugin_package": "electronicparsers",
+          "level": 0,
+          "aliases": [
+            "parsers/nwchem"
+          ],
+          "mainfile_contents_re": "Northwest Computational Chemistry Package \\(NWChem\\) (\\d+\\.)+\\d+",
+          "mainfile_name_re": ".*",
+          "mainfile_mime_re": ".*",
+          "mainfile_alternative": false,
+          "supported_compressions": []
+        },
+        "electronicparsers:ocean_parser_entry_point": {
+          "id": "electronicparsers:ocean_parser_entry_point",
+          "entry_point_type": "parser",
+          "name": "parsers/ocean",
+          "description": "NOMAD parser for OCEAN.",
+          "plugin_package": "electronicparsers",
+          "level": 0,
+          "aliases": [
+            "parsers/ocean"
+          ],
+          "mainfile_name_re": ".*",
+          "mainfile_mime_re": "(application/.*)|(text/.*)",
+          "mainfile_alternative": false,
+          "mainfile_contents_dict": {
+            "__has_all_keys": [
+              "bse",
+              "structure",
+              "screen",
+              "calc"
+            ]
+          },
+          "supported_compressions": []
+        },
+        "electronicparsers:octopus_parser_entry_point": {
+          "id": "electronicparsers:octopus_parser_entry_point",
+          "entry_point_type": "parser",
+          "name": "parsers/octopus",
+          "description": "NOMAD parser for OCTOPUS.",
+          "plugin_package": "electronicparsers",
+          "level": 0,
+          "aliases": [
+            "parsers/octopus"
+          ],
+          "mainfile_contents_re": "\\|0\\) ~ \\(0\\) \\|",
+          "mainfile_name_re": ".*",
+          "mainfile_mime_re": ".*",
+          "mainfile_alternative": false,
+          "supported_compressions": []
+        },
+        "electronicparsers:onetep_parser_entry_point": {
+          "id": "electronicparsers:onetep_parser_entry_point",
+          "entry_point_type": "parser",
+          "name": "parsers/onetep",
+          "description": "NOMAD parser for ONETEP.",
+          "plugin_package": "electronicparsers",
+          "level": 0,
+          "aliases": [
+            "parsers/onetep"
+          ],
+          "mainfile_contents_re": "####### #     # ####### ####### ####### ######",
+          "mainfile_name_re": ".*",
+          "mainfile_mime_re": ".*",
+          "mainfile_alternative": false,
+          "supported_compressions": []
+        },
+        "electronicparsers:openmx_parser_entry_point": {
+          "id": "electronicparsers:openmx_parser_entry_point",
+          "entry_point_type": "parser",
+          "name": "parsers/openmx",
+          "description": "NOMAD parser for OPENMX.",
+          "plugin_package": "electronicparsers",
+          "level": 0,
+          "aliases": [
+            "parsers/openmx"
+          ],
+          "mainfile_contents_re": "^\\*{59}\\s+\\*{59}\\s+This calculation was performed by OpenMX",
+          "mainfile_name_re": ".*\\.out$",
+          "mainfile_mime_re": "(text/.*)",
+          "mainfile_alternative": false,
+          "supported_compressions": []
+        },
+        "electronicparsers:orca_parser_entry_point": {
+          "id": "electronicparsers:orca_parser_entry_point",
+          "entry_point_type": "parser",
+          "name": "parsers/orca",
+          "description": "NOMAD parser for ORCA.",
+          "plugin_package": "electronicparsers",
+          "level": 0,
+          "aliases": [
+            "parsers/orca"
+          ],
+          "mainfile_contents_re": "\\s+\\*\\*\\*\\*\\*\\*\\*\\*\\*\\*\\*\\*\\*\\*\\*\\*\\**\\s*\\s+\\* O   R   C   A \\*\\s*\\s+\\*\\*\\*\\*\\*\\*\\*\\*\\*\\*\\*\\*\\*\\*\\*\\*\\**\\s*\\s*",
+          "mainfile_name_re": ".*",
+          "mainfile_mime_re": ".*",
+          "mainfile_alternative": false,
+          "supported_compressions": []
+        },
+        "electronicparsers:psi4_parser_entry_point": {
+          "id": "electronicparsers:psi4_parser_entry_point",
+          "entry_point_type": "parser",
+          "name": "parsers/psi4",
+          "description": "NOMAD parser for PSI4.",
+          "plugin_package": "electronicparsers",
+          "level": 0,
+          "aliases": [
+            "parsers/psi4"
+          ],
+          "mainfile_contents_re": "Psi4: An Open-Source Ab Initio Electronic Structure Package",
+          "mainfile_name_re": ".*",
+          "mainfile_mime_re": ".*",
+          "mainfile_alternative": false,
+          "supported_compressions": []
+        },
+        "electronicparsers:qball_parser_entry_point": {
+          "id": "electronicparsers:qball_parser_entry_point",
+          "entry_point_type": "parser",
+          "name": "parsers/qball",
+          "description": "NOMAD parser for QBALL.",
+          "plugin_package": "electronicparsers",
+          "level": 0,
+          "aliases": [
+            "parsers/qball"
+          ],
+          "mainfile_contents_re": "qball",
+          "mainfile_name_re": ".*",
+          "mainfile_mime_re": ".*",
+          "mainfile_alternative": false,
+          "supported_compressions": [
+            "gz",
+            "bz2",
+            "xz"
+          ]
+        },
+        "electronicparsers:qbox_parser_entry_point": {
+          "id": "electronicparsers:qbox_parser_entry_point",
+          "entry_point_type": "parser",
+          "name": "parsers/qbox",
+          "description": "NOMAD parser for QBOX.",
+          "plugin_package": "electronicparsers",
+          "level": 0,
+          "aliases": [
+            "parsers/qbox"
+          ],
+          "mainfile_contents_re": "http://qboxcode.org",
+          "mainfile_name_re": ".*",
+          "mainfile_mime_re": "(application/xml)|(text/.*)",
+          "mainfile_alternative": false,
+          "supported_compressions": []
+        },
+        "electronicparsers:quantumespresso_parser_entry_point": {
+          "id": "electronicparsers:quantumespresso_parser_entry_point",
+          "entry_point_type": "parser",
+          "name": "parsers/quantumespresso",
+          "description": "NOMAD parser for QUANTUMESPRESSO.",
+          "plugin_package": "electronicparsers",
+          "level": 0,
+          "aliases": [
+            "parsers/quantumespresso"
+          ],
+          "mainfile_contents_re": "(Program PWSCF.*starts)|(Current dimensions of program PWSCF are)",
+          "mainfile_name_re": ".*",
+          "mainfile_mime_re": ".*",
+          "mainfile_alternative": false,
+          "supported_compressions": [
+            "gz",
+            "bz2",
+            "xz"
+          ]
+        },
+        "electronicparsers:siesta_parser_entry_point": {
+          "id": "electronicparsers:siesta_parser_entry_point",
+          "entry_point_type": "parser",
+          "name": "parsers/siesta",
+          "description": "NOMAD parser for SIESTA.",
+          "plugin_package": "electronicparsers",
+          "level": 0,
+          "aliases": [
+            "parsers/siesta"
+          ],
+          "mainfile_contents_re": "(Siesta Version: siesta-|SIESTA [0-9]\\.[0-9]\\.[0-9])|(\\*\\s*WELCOME TO SIESTA\\s*\\*)",
+          "mainfile_name_re": ".*",
+          "mainfile_mime_re": ".*",
+          "mainfile_alternative": false,
+          "supported_compressions": []
+        },
+        "electronicparsers:soliddmft_parser_entry_point": {
+          "id": "electronicparsers:soliddmft_parser_entry_point",
+          "entry_point_type": "parser",
+          "name": "parsers/soliddmft",
+          "description": "NOMAD parser for SOLIDDMFT.",
+          "plugin_package": "electronicparsers",
+          "level": 0,
+          "aliases": [
+            "parsers/soliddmft"
+          ],
+          "mainfile_name_re": "^.*\\.(h5|hdf5)$",
+          "mainfile_mime_re": "(application/x-hdf)",
+          "mainfile_alternative": false,
+          "mainfile_contents_dict": {
+            "__has_all_keys": [
+              "dft_input",
+              "DMFT_input",
+              "DMFT_results"
+            ]
+          },
+          "supported_compressions": []
+        },
+        "electronicparsers:tbstudio_parser_entry_point": {
+          "id": "electronicparsers:tbstudio_parser_entry_point",
+          "entry_point_type": "parser",
+          "name": "parsers/tbstudio",
+          "description": "NOMAD parser for TBSTUDIO.",
+          "plugin_package": "electronicparsers",
+          "level": 0,
+          "aliases": [
+            "parsers/tbstudio"
+          ],
+          "mainfile_contents_re": "\"ApplicationFullName\": \"Tight Binding Studio\"",
+          "mainfile_name_re": ".*\\.tbm",
+          "mainfile_mime_re": "(application/json)|(text/.*)",
+          "mainfile_alternative": false,
+          "supported_compressions": []
+        },
+        "electronicparsers:turbomole_parser_entry_point": {
+          "id": "electronicparsers:turbomole_parser_entry_point",
+          "entry_point_type": "parser",
+          "name": "parsers/turbomole",
+          "description": "NOMAD parser for TURBOMOLE.",
+          "plugin_package": "electronicparsers",
+          "level": 0,
+          "aliases": [
+            "parsers/turbomole"
+          ],
+          "mainfile_contents_re": "Copyright \\(C\\) [0-9]+ TURBOMOLE GmbH, Karlsruhe",
+          "mainfile_name_re": ".*",
+          "mainfile_mime_re": ".*",
+          "mainfile_alternative": false,
+          "supported_compressions": []
+        },
+        "electronicparsers:vasp_parser_entry_point": {
+          "id": "electronicparsers:vasp_parser_entry_point",
+          "entry_point_type": "parser",
+          "name": "parsers/vasp",
+          "description": "NOMAD parser for VASP.",
+          "plugin_package": "electronicparsers",
+          "level": 0,
+          "aliases": [
+            "parsers/vasp"
+          ],
+          "mainfile_contents_re": "^\\s*<\\?xml version=\"1\\.0\" encoding=\"ISO-8859-1\"\\?>\\s*?\\s*<modeling>?\\s*<generator>?\\s*<i name=\"program\" type=\"string\">\\s*vasp\\s*</i>?|^\\svasp[\\.\\d]+.+?(?:\\(build|complex)[\\s\\S]+?executed on",
+          "mainfile_name_re": ".*[^/]*xml[^/]*",
+          "mainfile_mime_re": "(application/.*)|(text/.*)",
+          "mainfile_alternative": true,
+          "supported_compressions": [
+            "gz",
+            "bz2",
+            "xz"
+          ]
+        },
+        "electronicparsers:w2dynamics_parser_entry_point": {
+          "id": "electronicparsers:w2dynamics_parser_entry_point",
+          "entry_point_type": "parser",
+          "name": "parsers/w2dynamics",
+          "description": "NOMAD parser for W2DYNAMICS.",
+          "plugin_package": "electronicparsers",
+          "level": 0,
+          "aliases": [
+            "parsers/w2dynamics"
+          ],
+          "mainfile_name_re": "^.*\\.(h5|hdf5)$",
+          "mainfile_mime_re": "(application/x-hdf)",
+          "mainfile_alternative": false,
+          "mainfile_contents_dict": {
+            "__has_all_keys": [
+              ".axes",
+              ".config",
+              ".quantities"
+            ]
+          },
+          "supported_compressions": []
+        },
+        "electronicparsers:wannier90_parser_entry_point": {
+          "id": "electronicparsers:wannier90_parser_entry_point",
+          "entry_point_type": "parser",
+          "name": "parsers/wannier90",
+          "description": "NOMAD parser for WANNIER90.",
+          "plugin_package": "electronicparsers",
+          "level": 0,
+          "aliases": [
+            "parsers/wannier90"
+          ],
+          "mainfile_contents_re": "\\|\\s*WANNIER90\\s*\\|",
+          "mainfile_name_re": ".*",
+          "mainfile_mime_re": ".*",
+          "mainfile_alternative": false,
+          "supported_compressions": []
+        },
+        "electronicparsers:wien2k_parser_entry_point": {
+          "id": "electronicparsers:wien2k_parser_entry_point",
+          "entry_point_type": "parser",
+          "name": "parsers/wien2k",
+          "description": "NOMAD parser for WIEN2K.",
+          "plugin_package": "electronicparsers",
+          "level": 0,
+          "aliases": [
+            "parsers/wien2k"
+          ],
+          "mainfile_contents_re": "\\s*---------\\s*:ITE[0-9]+:\\s*[0-9]+\\.\\s*ITERATION\\s*---------",
+          "mainfile_name_re": ".*\\.scf$",
+          "mainfile_mime_re": ".*",
+          "mainfile_alternative": true,
+          "supported_compressions": []
+        },
+        "electronicparsers:yambo_parser_entry_point": {
+          "id": "electronicparsers:yambo_parser_entry_point",
+          "entry_point_type": "parser",
+          "name": "parsers/yambo",
+          "description": "NOMAD parser for YAMBO.",
+          "plugin_package": "electronicparsers",
+          "level": 0,
+          "aliases": [
+            "parsers/yambo"
+          ],
+          "mainfile_contents_re": "Build.+\\s+http://www\\.yambo-code\\.org",
+          "mainfile_name_re": ".*",
+          "mainfile_mime_re": ".*",
+          "mainfile_alternative": false,
+          "supported_compressions": []
+        },
         "example_uploads/1_basic_examples/1_theory": {
           "id": "example_uploads/1_basic_examples/1_theory",
           "entry_point_type": "example_upload",
@@ -3473,152 +4417,32 @@ window.nomadEnv = {
             "filters_locked": {
               "results.material.topology.label": "MOF"
             },
-            "search_syntaxes": {
-              "exclude": [
-                "free_text"
-              ]
-            }
-          }
-        },
-        "nomad_porous_materials.normalizers:porositynormalizer": {
-          "id": "nomad_porous_materials.normalizers:porositynormalizer",
-          "entry_point_type": "normalizer",
-          "name": "PorosityNormalizer",
-          "description": "\n        Normalizer that automatically extracts properties from porous\n        materials.\n    ",
-          "plugin_package": "nomad_porous_materials"
-        },
-        "nomad_simulations.schema_packages:nomad_simulations_plugin": {
-          "id": "nomad_simulations.schema_packages:nomad_simulations_plugin",
-          "entry_point_type": "schema_package",
-          "name": "NOMADSimulations",
-          "description": "A NOMAD plugin for FAIR schemas for simulation data.",
-          "plugin_package": "nomad_simulations"
-        },
-        "parsers/abacus": {
-          "plugin_type": "parser",
-          "id": "parsers/abacus",
-          "name": "parsers/abacus",
-          "plugin_source_code_url": "https://github.com/nomad-coe/electronic-parsers/tree/develop/electronicparsers/abacus"
-        },
-        "parsers/abinit": {
-          "plugin_type": "parser",
-          "id": "parsers/abinit",
-          "name": "parsers/abinit",
-          "plugin_source_code_url": "https://github.com/nomad-coe/electronic-parsers/tree/develop/electronicparsers/abinit"
-        },
-        "parsers/aflow": {
-          "plugin_type": "parser",
-          "id": "parsers/aflow",
-          "name": "parsers/aflow",
-          "plugin_source_code_url": "https://github.com/nomad-coe/workflow-parsers/tree/master/workflowparsers/aflow"
-        },
-        "parsers/amber": {
-          "plugin_type": "parser",
-          "id": "parsers/amber",
-          "name": "parsers/amber",
-          "plugin_source_code_url": "https://github.com/nomad-coe/atomistic-parsers/tree/develop/atomisticparsers/amber"
-        },
-        "parsers/ams": {
-          "plugin_type": "parser",
-          "id": "parsers/ams",
-          "name": "parsers/ams",
-          "plugin_source_code_url": "https://github.com/nomad-coe/electronic-parsers/tree/develop/electronicparsers/ams"
-        },
-        "parsers/asap": {
-          "plugin_type": "parser",
-          "id": "parsers/asap",
-          "name": "parsers/asap",
-          "plugin_source_code_url": "https://github.com/nomad-coe/atomistic-parsers/tree/develop/atomisticparsers/asap"
-        },
-        "parsers/asr": {
-          "plugin_type": "parser",
-          "id": "parsers/asr",
-          "name": "parsers/asr",
-          "plugin_source_code_url": "https://github.com/nomad-coe/workflow-parsers/tree/master/workflowparsers/asr"
-        },
-        "parsers/atk": {
-          "plugin_type": "parser",
-          "id": "parsers/atk",
-          "name": "parsers/atk",
-          "plugin_source_code_url": "https://github.com/nomad-coe/electronic-parsers/tree/develop/electronicparsers/atk"
-        },
-        "parsers/atomate": {
-          "plugin_type": "parser",
-          "id": "parsers/atomate",
-          "name": "parsers/atomate",
-          "plugin_source_code_url": "https://github.com/nomad-coe/workflow-parsers/tree/master/workflowparsers/automate"
-        },
-        "parsers/bigdft": {
-          "plugin_type": "parser",
-          "id": "parsers/bigdft",
-          "name": "parsers/bigdft",
-          "plugin_source_code_url": "https://github.com/nomad-coe/electronic-parsers/tree/develop/electronicparsers/bigdft"
-        },
-        "parsers/bopfox": {
-          "plugin_type": "parser",
-          "id": "parsers/bopfox",
-          "name": "parsers/bopfox",
-          "plugin_source_code_url": "https://github.com/nomad-coe/atomistic-parsers/tree/develop/atomisticparsers/bobfox"
+            "search_syntaxes": {
+              "exclude": [
+                "free_text"
+              ]
+            }
+          }
         },
-        "parsers/castep": {
-          "plugin_type": "parser",
-          "id": "parsers/castep",
-          "name": "parsers/castep",
-          "plugin_source_code_url": "https://github.com/nomad-coe/electronic-parsers/tree/develop/electronicparsers/castep"
+        "nomad_porous_materials.normalizers:porositynormalizer": {
+          "id": "nomad_porous_materials.normalizers:porositynormalizer",
+          "entry_point_type": "normalizer",
+          "name": "PorosityNormalizer",
+          "description": "\n        Normalizer that automatically extracts properties from porous\n        materials.\n    ",
+          "plugin_package": "nomad_porous_materials"
         },
-        "parsers/charmm": {
-          "plugin_type": "parser",
-          "id": "parsers/charmm",
-          "name": "parsers/charmm",
-          "plugin_source_code_url": "https://github.com/nomad-coe/electronic-parsers/tree/develop/electronicparsers/charmm"
+        "nomad_simulations.schema_packages:nomad_simulations_plugin": {
+          "id": "nomad_simulations.schema_packages:nomad_simulations_plugin",
+          "entry_point_type": "schema_package",
+          "name": "NOMADSimulations",
+          "description": "A NOMAD plugin for FAIR schemas for simulation data.",
+          "plugin_package": "nomad_simulations"
         },
         "parsers/chemotion/chemotion": {
           "plugin_type": "parser",
           "id": "parsers/chemotion/chemotion",
           "name": "parsers/chemotion"
         },
-        "parsers/cp2k": {
-          "plugin_type": "parser",
-          "id": "parsers/cp2k",
-          "name": "parsers/cp2k",
-          "plugin_source_code_url": "https://github.com/nomad-coe/electronic-parsers/tree/develop/electronicparsers/cp2k"
-        },
-        "parsers/cpmd": {
-          "plugin_type": "parser",
-          "id": "parsers/cpmd",
-          "name": "parsers/cpmd",
-          "plugin_source_code_url": "https://github.com/nomad-coe/electronic-parsers/tree/develop/electronicparsers/cpmd"
-        },
-        "parsers/crystal": {
-          "plugin_type": "parser",
-          "id": "parsers/crystal",
-          "name": "parsers/crystal",
-          "plugin_source_code_url": "https://github.com/nomad-coe/electronic-parsers/tree/develop/electronicparsers/crystal"
-        },
-        "parsers/dftbplus": {
-          "plugin_type": "parser",
-          "id": "parsers/dftbplus",
-          "name": "parsers/dftbplus",
-          "plugin_source_code_url": "https://github.com/nomad-coe/atomistic-parsers/tree/develop/atomisticparsers/dftplus"
-        },
-        "parsers/dlpoly": {
-          "plugin_type": "parser",
-          "id": "parsers/dlpoly",
-          "name": "parsers/dl-poly",
-          "plugin_source_code_url": "https://github.com/nomad-coe/atomistic-parsers/tree/develop/atomisticparsers/dlpoly"
-        },
-        "parsers/dmol3": {
-          "plugin_type": "parser",
-          "id": "parsers/dmol3",
-          "name": "parsers/dmol",
-          "plugin_source_code_url": "https://github.com/nomad-coe/electronic-parsers/tree/develop/electronicparsers/dmol3"
-        },
-        "parsers/edmft": {
-          "plugin_type": "parser",
-          "id": "parsers/edmft",
-          "name": "parsers/edmft",
-          "plugin_source_code_url": "https://github.com/nomad-coe/electronic-parsers/tree/develop/electronicparsers/edmft"
-        },
         "parsers/eelsdbparser": {
           "plugin_type": "parser",
           "id": "parsers/eelsdbparser",
@@ -3631,286 +4455,6 @@ window.nomadEnv = {
           "name": "parsers/elabftw",
           "plugin_source_code_url": "https://gitlab.mpcdf.mpg.de/nomad-lab/nomad-FAIR/-/tree/develop/nomad/parsing/elabftw"
         },
-        "parsers/elastic": {
-          "plugin_type": "parser",
-          "id": "parsers/elastic",
-          "name": "parsers/elastic",
-          "plugin_source_code_url": "https://github.com/nomad-coe/workflow-parsers/tree/master/workflowparsers/elastic"
-        },
-        "parsers/elk": {
-          "plugin_type": "parser",
-          "id": "parsers/elk",
-          "name": "parsers/elk",
-          "plugin_source_code_url": "https://github.com/nomad-coe/electronic-parsers/tree/develop/electronicparsers/elk"
-        },
-        "parsers/exciting": {
-          "plugin_type": "parser",
-          "id": "parsers/exciting",
-          "name": "parsers/exciting",
-          "plugin_source_code_url": "https://github.com/nomad-coe/electronic-parsers/tree/develop/electronicparsers/exciting"
-        },
-        "parsers/fhi-aims": {
-          "plugin_type": "parser",
-          "id": "parsers/fhi-aims",
-          "name": "parsers/fhi-aims",
-          "plugin_source_code_url": "https://github.com/nomad-coe/electronic-parsers/tree/develop/electronicparsers/fhiaims"
-        },
-        "parsers/fhivibes": {
-          "plugin_type": "parser",
-          "id": "parsers/fhivibes",
-          "name": "parsers/fhi-vibes",
-          "plugin_source_code_url": "https://github.com/nomad-coe/workflow-parsers/tree/master/workflowparsers/fhivibes"
-        },
-        "parsers/fleur": {
-          "plugin_type": "parser",
-          "id": "parsers/fleur",
-          "name": "parsers/fleur",
-          "plugin_source_code_url": "https://github.com/nomad-coe/electronic-parsers/tree/develop/electronicparsers/fleur"
-        },
-        "parsers/fplo": {
-          "plugin_type": "parser",
-          "id": "parsers/fplo",
-          "name": "parsers/fplo",
-          "plugin_source_code_url": "https://github.com/nomad-coe/electronic-parsers/tree/develop/electronicparsers/fplo"
-        },
-        "parsers/gamess": {
-          "plugin_type": "parser",
-          "id": "parsers/gamess",
-          "name": "parsers/gamess",
-          "plugin_source_code_url": "https://github.com/nomad-coe/electronic-parsers/tree/develop/electronicparsers/gamess"
-        },
-        "parsers/gaussian": {
-          "plugin_type": "parser",
-          "id": "parsers/gaussian",
-          "name": "parsers/gaussian",
-          "plugin_source_code_url": "https://github.com/nomad-coe/electronic-parsers/tree/develop/electronicparsers/gaussian"
-        },
-        "parsers/gpaw": {
-          "plugin_type": "parser",
-          "id": "parsers/gpaw",
-          "name": "parsers/gpaw",
-          "plugin_source_code_url": "https://github.com/nomad-coe/electronic-parsers/tree/develop/electronicparsers/gpaw"
-        },
-        "parsers/gromacs": {
-          "plugin_type": "parser",
-          "id": "parsers/gromacs",
-          "name": "parsers/gromacs",
-          "plugin_source_code_url": "https://github.com/nomad-coe/atomistic-parsers/tree/develop/atomisticparsers/gromacs"
-        },
-        "parsers/gromos": {
-          "plugin_type": "parser",
-          "id": "parsers/gromos",
-          "name": "parsers/gromos",
-          "plugin_source_code_url": "https://github.com/nomad-coe/atomistic-parsers/tree/develop/atomisticparsers/gromos"
-        },
-        "parsers/gulp": {
-          "plugin_type": "parser",
-          "id": "parsers/gulp",
-          "name": "parsers/gulp",
-          "plugin_source_code_url": "https://github.com/nomad-coe/atomistic-parsers/tree/develop/atomisticparsers/gulp"
-        },
-        "parsers/h5md": {
-          "plugin_type": "parser",
-          "id": "parsers/h5md",
-          "name": "parsers/h5md"
-        },
-        "parsers/lammps": {
-          "plugin_type": "parser",
-          "id": "parsers/lammps",
-          "name": "parsers/lammps",
-          "plugin_source_code_url": "https://github.com/nomad-coe/atomistic-parsers/tree/develop/atomisticparsers/lammps"
-        },
-        "parsers/libatoms": {
-          "plugin_type": "parser",
-          "id": "parsers/libatoms",
-          "name": "parsers/lib-atoms",
-          "plugin_source_code_url": "https://github.com/nomad-coe/atomistic-parsers/tree/develop/atomisticparsers/libatoms"
-        },
-        "parsers/lobster": {
-          "plugin_type": "parser",
-          "id": "parsers/lobster",
-          "name": "parsers/lobster",
-          "plugin_source_code_url": "https://github.com/nomad-coe/workflow-parsers/tree/master/workflowparsers/lobster"
-        },
-        "parsers/magres": {
-          "plugin_type": "parser",
-          "id": "parsers/magres",
-          "name": "parsers/magres",
-          "plugin_source_code_url": "https://github.com/nomad-coe/electronic-parsers/tree/develop/electronicparsers/magres"
-        },
-        "parsers/molcas": {
-          "plugin_type": "parser",
-          "id": "parsers/molcas",
-          "name": "parsers/molcas",
-          "plugin_source_code_url": "https://github.com/nomad-coe/electronic-parsers/tree/develop/electronicparsers/molcas"
-        },
-        "parsers/mopac": {
-          "plugin_type": "parser",
-          "id": "parsers/mopac",
-          "name": "parsers/mopac",
-          "plugin_source_code_url": "https://github.com/nomad-coe/electronic-parsers/tree/develop/electronicparsers/mopac"
-        },
-        "parsers/namd": {
-          "plugin_type": "parser",
-          "id": "parsers/namd",
-          "name": "parsers/namd",
-          "plugin_source_code_url": "https://github.com/nomad-coe/atomistic-parsers/tree/develop/atomisticparsers/namd"
-        },
-        "parsers/nwchem": {
-          "plugin_type": "parser",
-          "id": "parsers/nwchem",
-          "name": "parsers/nwchem",
-          "plugin_source_code_url": "https://github.com/nomad-coe/electronic-parsers/tree/develop/electronicparsers/nwchem"
-        },
-        "parsers/ocean": {
-          "plugin_type": "parser",
-          "id": "parsers/ocean",
-          "name": "parsers/ocean",
-          "plugin_source_code_url": "https://github.com/nomad-coe/electronic-parsers/tree/develop/electronicparsers/ocean"
-        },
-        "parsers/octopus": {
-          "plugin_type": "parser",
-          "id": "parsers/octopus",
-          "name": "parsers/octopus",
-          "plugin_source_code_url": "https://github.com/nomad-coe/electronic-parsers/tree/develop/electronicparsers/octopus"
-        },
-        "parsers/onetep": {
-          "plugin_type": "parser",
-          "id": "parsers/onetep",
-          "name": "parsers/onetep",
-          "plugin_source_code_url": "https://github.com/nomad-coe/electronic-parsers/tree/develop/electronicparsers/onetep"
-        },
-        "parsers/openkim": {
-          "plugin_type": "parser",
-          "id": "parsers/openkim",
-          "name": "parsers/openkim",
-          "plugin_source_code_url": "https://github.com/nomad-coe/electronic-parsers/tree/develop/databaseparsers/openkim"
-        },
-        "parsers/openmx": {
-          "plugin_type": "parser",
-          "id": "parsers/openmx",
-          "name": "parsers/openmx",
-          "plugin_source_code_url": "https://github.com/nomad-coe/electronic-parsers/tree/develop/electronicparsers/openmx"
-        },
-        "parsers/orca": {
-          "plugin_type": "parser",
-          "id": "parsers/orca",
-          "name": "parsers/orca",
-          "plugin_source_code_url": "https://github.com/nomad-coe/electronic-parsers/tree/develop/electronicparsers/orca"
-        },
-        "parsers/phonopy": {
-          "plugin_type": "parser",
-          "id": "parsers/phonopy",
-          "name": "parsers/phonopy",
-          "plugin_source_code_url": "https://github.com/nomad-coe/workflow-parsers/tree/master/workflowparsers/phonopy"
-        },
-        "parsers/psi4": {
-          "plugin_type": "parser",
-          "id": "parsers/psi4",
-          "name": "parsers/psi4",
-          "plugin_source_code_url": "https://github.com/nomad-coe/electronic-parsers/tree/develop/electronicparsers/psi4"
-        },
-        "parsers/qball": {
-          "plugin_type": "parser",
-          "id": "parsers/qball",
-          "name": "parsers/qball",
-          "plugin_source_code_url": "https://github.com/nomad-coe/electronic-parsers/tree/develop/electronicparsers/qball"
-        },
-        "parsers/qbox": {
-          "plugin_type": "parser",
-          "id": "parsers/qbox",
-          "name": "parsers/qbox",
-          "plugin_source_code_url": "https://github.com/nomad-coe/electronic-parsers/tree/develop/electronicparsers/qbox"
-        },
-        "parsers/quantum_espresso_epw": {
-          "plugin_type": "parser",
-          "id": "parsers/quantum_espresso_epw",
-          "name": "parsers/quantumespressoepw",
-          "plugin_source_code_url": "https://github.com/nomad-coe/workflow-parsers/tree/master/workflowparsers/quantum_espresso_epw"
-        },
-        "parsers/quantum_espresso_phonon": {
-          "plugin_type": "parser",
-          "id": "parsers/quantum_espresso_phonon",
-          "name": "parsers/quantumespressophonon",
-          "plugin_source_code_url": "https://github.com/nomad-coe/workflow-parsers/tree/master/workflowparsers/quantum_espresso_phonon"
-        },
-        "parsers/quantum_espresso_xspectra": {
-          "plugin_type": "parser",
-          "id": "parsers/quantum_espresso_xspectra",
-          "name": "parsers/quantumespressoxspectra",
-          "plugin_source_code_url": "https://github.com/nomad-coe/workflow-parsers/tree/master/workflowparsers/quantum_espresso_xpectra"
-        },
-        "parsers/quantumespresso": {
-          "plugin_type": "parser",
-          "id": "parsers/quantumespresso",
-          "name": "parsers/quantumespresso",
-          "plugin_source_code_url": "https://github.com/nomad-coe/electronic-parsers/tree/develop/electronicparsers/quantumespresso"
-        },
-        "parsers/siesta": {
-          "plugin_type": "parser",
-          "id": "parsers/siesta",
-          "name": "parsers/siesta",
-          "plugin_source_code_url": "https://github.com/nomad-coe/electronic-parsers/tree/develop/electronicparsers/siesta"
-        },
-        "parsers/soliddmft": {
-          "plugin_type": "parser",
-          "id": "parsers/soliddmft",
-          "name": "parsers/soliddmft",
-          "plugin_source_code_url": "https://github.com/nomad-coe/electronic-parsers/tree/develop/electronicparsers/soliddmft"
-        },
-        "parsers/tbstudio": {
-          "plugin_type": "parser",
-          "id": "parsers/tbstudio",
-          "name": "parsers/tbstudio"
-        },
-        "parsers/tinker": {
-          "plugin_type": "parser",
-          "id": "parsers/tinker",
-          "name": "parsers/tinker",
-          "plugin_source_code_url": "https://github.com/nomad-coe/atomistic-parsers/tree/develop/atomisticparsers/tinker"
-        },
-        "parsers/turbomole": {
-          "plugin_type": "parser",
-          "id": "parsers/turbomole",
-          "name": "parsers/turbomole",
-          "plugin_source_code_url": "https://github.com/nomad-coe/electronic-parsers/tree/develop/electronicparsers/turbomole"
-        },
-        "parsers/vasp": {
-          "plugin_type": "parser",
-          "id": "parsers/vasp",
-          "name": "parsers/vasp",
-          "plugin_source_code_url": "https://github.com/nomad-coe/electronic-parsers/tree/develop/electronicparsers/vasp"
-        },
-        "parsers/w2dynamics": {
-          "plugin_type": "parser",
-          "id": "parsers/w2dynamics",
-          "name": "parsers/w2dynamics",
-          "plugin_source_code_url": "https://github.com/nomad-coe/electronic-parsers/tree/develop/electronicparsers/w2dynamics"
-        },
-        "parsers/wannier90": {
-          "plugin_type": "parser",
-          "id": "parsers/wannier90",
-          "name": "parsers/wannier90",
-          "plugin_source_code_url": "https://github.com/nomad-coe/electronic-parsers/tree/develop/electronicparsers/wannier90"
-        },
-        "parsers/wien2k": {
-          "plugin_type": "parser",
-          "id": "parsers/wien2k",
-          "name": "parsers/wien2k",
-          "plugin_source_code_url": "https://github.com/nomad-coe/electronic-parsers/tree/develop/electronicparsers/wien2k"
-        },
-        "parsers/xtb": {
-          "plugin_type": "parser",
-          "id": "parsers/xtb",
-          "name": "parsers/xtb",
-          "plugin_source_code_url": "https://github.com/nomad-coe/atomistic-parsers/tree/develop/atomisticparsers/xtb"
-        },
-        "parsers/yambo": {
-          "plugin_type": "parser",
-          "id": "parsers/yambo",
-          "name": "parsers/yambo",
-          "plugin_source_code_url": "https://github.com/nomad-coe/electronic-parsers/tree/develop/electronicparsers/yambo"
-        },
         "perovskite_solar_cell_database.apps:solar_cells": {
           "id": "perovskite_solar_cell_database.apps:solar_cells",
           "entry_point_type": "app",
@@ -4624,6 +5168,7 @@ window.nomadEnv = {
           "description": "A parser for nexus files.",
           "plugin_package": "pynxtools",
           "level": 0,
+          "aliases": [],
           "mainfile_name_re": ".*\\.nxs",
           "mainfile_mime_re": "application/x-hdf5",
           "mainfile_alternative": false,
@@ -4677,10 +5222,207 @@ window.nomadEnv = {
           "name": "SystemNormalizer",
           "description": "Normalizer for the system data.",
           "plugin_package": "systemnormalizer"
+        },
+        "workflowparsers:aflow_parser_entry_point": {
+          "id": "workflowparsers:aflow_parser_entry_point",
+          "entry_point_type": "parser",
+          "name": "parsers/aflow",
+          "description": "NOMAD parser for AFLOW.",
+          "plugin_package": "workflowparsers",
+          "level": 0,
+          "aliases": [
+            "parsers/aflow"
+          ],
+          "mainfile_contents_re": "^\\s*\\[AFLOW\\] \\*+\\s*\\[AFLOW\\]\\s*\\[AFLOW\\]                     .o.        .o88o.oooo\\s*\\[AFLOW\\]                    .888.       888 `` `888\\s*\\[AFLOW\\]                   .8'888.     o888oo   888   .ooooo.  oooooooo    ooo\\s*\\[AFLOW\\]                  .8' `888.     888     888  d88' `88b  `88.`88.  .8'\\s*\\[AFLOW\\]                 .88ooo8888.    888     888  888   888   `88..]88..8'\\s*\\[AFLOW\\]                .8'     `888.   888     888  888   888    `888'`888'\\s*\\[AFLOW\\]               o88o     o8888oo888o   o888o `Y8bod8P'     `8'  `8'  .in|^\\s*\\{\\\"aurl\\\"\\:\\\"aflowlib\\.duke\\.edu\\:AFLOWDATA",
+          "mainfile_name_re": ".*aflowlib\\.json.*",
+          "mainfile_mime_re": "(application/json)|(text/.*)",
+          "mainfile_alternative": true,
+          "supported_compressions": [
+            "gz",
+            "bz2",
+            "xz"
+          ]
+        },
+        "workflowparsers:asr_parser_entry_point": {
+          "id": "workflowparsers:asr_parser_entry_point",
+          "entry_point_type": "parser",
+          "name": "parsers/asr",
+          "description": "NOMAD parser for ASR.",
+          "plugin_package": "workflowparsers",
+          "level": 0,
+          "aliases": [
+            "parsers/asr"
+          ],
+          "mainfile_contents_re": "\"name\": \"ASR\"",
+          "mainfile_name_re": ".*archive_.*\\.json",
+          "mainfile_mime_re": "(application/json)|(text/.*)",
+          "mainfile_alternative": false,
+          "supported_compressions": []
+        },
+        "workflowparsers:atomate_parser_entry_point": {
+          "id": "workflowparsers:atomate_parser_entry_point",
+          "entry_point_type": "parser",
+          "name": "parsers/atomate",
+          "description": "NOMAD parser for ATOMATE.",
+          "plugin_package": "workflowparsers",
+          "level": 0,
+          "aliases": [
+            "parsers/atomate"
+          ],
+          "mainfile_contents_re": "\"pymatgen_version\":",
+          "mainfile_name_re": ".*mp.+materials\\.json",
+          "mainfile_mime_re": "(application/json)|(text/.*)",
+          "mainfile_alternative": false,
+          "supported_compressions": []
+        },
+        "workflowparsers:elastic_parser_entry_point": {
+          "id": "workflowparsers:elastic_parser_entry_point",
+          "entry_point_type": "parser",
+          "name": "parsers/elastic",
+          "description": "NOMAD parser for ELASTIC.",
+          "plugin_package": "workflowparsers",
+          "level": 0,
+          "aliases": [
+            "parsers/elastic"
+          ],
+          "mainfile_contents_re": "\\s*Order of elastic constants\\s*=\\s*[0-9]+\\s*",
+          "mainfile_name_re": ".*/INFO_ElaStic",
+          "mainfile_mime_re": ".*",
+          "mainfile_alternative": false,
+          "supported_compressions": []
+        },
+        "workflowparsers:fhivibes_parser_entry_point": {
+          "id": "workflowparsers:fhivibes_parser_entry_point",
+          "entry_point_type": "parser",
+          "name": "parsers/fhivibes",
+          "description": "NOMAD parser for FHIVIBES.",
+          "plugin_package": "workflowparsers",
+          "level": 0,
+          "aliases": [
+            "parsers/fhivibes"
+          ],
+          "mainfile_name_re": "^.*\\.(nc)$",
+          "mainfile_mime_re": "(application/x-hdf)",
+          "mainfile_alternative": false,
+          "mainfile_contents_dict": {
+            "__has_all_keys": [
+              "I",
+              "a",
+              "b"
+            ]
+          },
+          "supported_compressions": []
+        },
+        "workflowparsers:lobster_parser_entry_point": {
+          "id": "workflowparsers:lobster_parser_entry_point",
+          "entry_point_type": "parser",
+          "name": "parsers/lobster",
+          "description": "NOMAD parser for LOBSTER.",
+          "plugin_package": "workflowparsers",
+          "level": 0,
+          "aliases": [
+            "parsers/lobster"
+          ],
+          "mainfile_contents_re": "^LOBSTER\\s*v[\\d\\.]+.*",
+          "mainfile_name_re": ".*lobsterout.*",
+          "mainfile_mime_re": ".*",
+          "mainfile_alternative": false,
+          "supported_compressions": [
+            "gz",
+            "bz2",
+            "xz"
+          ]
+        },
+        "workflowparsers:phonopy_parser_entry_point": {
+          "id": "workflowparsers:phonopy_parser_entry_point",
+          "entry_point_type": "parser",
+          "name": "parsers/phonopy",
+          "description": "NOMAD parser for PHONOPY.",
+          "plugin_package": "workflowparsers",
+          "level": 0,
+          "aliases": [
+            "parsers/phonopy"
+          ],
+          "mainfile_name_re": "(.*/phonopy-FHI-aims-displacement-0*1/control.in$)|(.*/phon[^/]+yaml)",
+          "mainfile_mime_re": ".*",
+          "mainfile_alternative": false,
+          "supported_compressions": []
+        },
+        "workflowparsers:quantum_espresso_epw_parser_entry_point": {
+          "id": "workflowparsers:quantum_espresso_epw_parser_entry_point",
+          "entry_point_type": "parser",
+          "name": "parsers/quantum_espresso_epw",
+          "description": "NOMAD parser for QUANTUM_ESPRESSO_EPW.",
+          "plugin_package": "workflowparsers",
+          "level": 0,
+          "aliases": [
+            "parsers/quantum_espresso_epw"
+          ],
+          "mainfile_contents_re": "Program EPW.+\\s*This program is part of the open-source Quantum ESPRESSO suite",
+          "mainfile_name_re": ".*",
+          "mainfile_mime_re": ".*",
+          "mainfile_alternative": false,
+          "supported_compressions": []
+        },
+        "workflowparsers:quantum_espresso_phonon_parser_entry_point": {
+          "id": "workflowparsers:quantum_espresso_phonon_parser_entry_point",
+          "entry_point_type": "parser",
+          "name": "parsers/quantum_espresso_phonon",
+          "description": "NOMAD parser for QUANTUM_ESPRESSO_PHONON.",
+          "plugin_package": "workflowparsers",
+          "level": 0,
+          "aliases": [
+            "parsers/quantum_espresso_phonon"
+          ],
+          "mainfile_contents_re": "Program PHONON.+\\s*This program is part of the open-source Quantum ESPRESSO suite",
+          "mainfile_name_re": ".*",
+          "mainfile_mime_re": ".*",
+          "mainfile_alternative": false,
+          "supported_compressions": []
+        },
+        "workflowparsers:quantum_espresso_xspectra_parser_entry_point": {
+          "id": "workflowparsers:quantum_espresso_xspectra_parser_entry_point",
+          "entry_point_type": "parser",
+          "name": "parsers/quantum_espresso_xspectra",
+          "description": "NOMAD parser for QUANTUM_ESPRESSO_XSPECTRA.",
+          "plugin_package": "workflowparsers",
+          "level": 0,
+          "aliases": [
+            "parsers/quantum_espresso_xspectra"
+          ],
+          "mainfile_contents_re": "\\s*Program XSpectra\\s*",
+          "mainfile_name_re": ".*",
+          "mainfile_mime_re": "(application/.*)|(text/.*)",
+          "mainfile_alternative": false,
+          "supported_compressions": []
         }
       }
     },
     "plugin_packages": {
+      "atomisticparsers": {
+        "description": "Collection of NOMAD parsers for atomistic codes.",
+        "documentation": null,
+        "entry_points": [
+          "atomisticparsers:amber_parser_entry_point",
+          "atomisticparsers:asap_parser_entry_point",
+          "atomisticparsers:bopfox_parser_entry_point",
+          "atomisticparsers:dftbplus_parser_entry_point",
+          "atomisticparsers:dlpoly_parser_entry_point",
+          "atomisticparsers:gromacs_parser_entry_point",
+          "atomisticparsers:gromos_parser_entry_point",
+          "atomisticparsers:gulp_parser_entry_point",
+          "atomisticparsers:h5md_parser_entry_point",
+          "atomisticparsers:lammps_parser_entry_point",
+          "atomisticparsers:libatoms_parser_entry_point",
+          "atomisticparsers:namd_parser_entry_point",
+          "atomisticparsers:tinker_parser_entry_point",
+          "atomisticparsers:xtb_parser_entry_point"
+        ],
+        "homepage": "https://github.com/nomad-coe/atomistic-parsers",
+        "name": "atomisticparsers",
+        "repository": null,
+        "version": "1.0"
+      },
       "bandstructurenormalizer": {
         "description": "Band structure normalizer plugin for NOMAD.",
         "documentation": null,
@@ -4692,6 +5434,17 @@ window.nomadEnv = {
         "repository": null,
         "version": "1.0"
       },
+      "databaseparsers": {
+        "description": "Collection of NOMAD parsers for databases.",
+        "documentation": null,
+        "entry_points": [
+          "databaseparsers:openkim_parser_entry_point"
+        ],
+        "homepage": "https://github.com/nomad-coe/database-parsers",
+        "name": "databaseparsers",
+        "repository": null,
+        "version": "1.0"
+      },
       "dosnormalizer": {
         "description": "DOS normalizer plugin for NOMAD.",
         "documentation": null,
@@ -4703,6 +5456,58 @@ window.nomadEnv = {
         "repository": null,
         "version": "1.0"
       },
+      "electronicparsers": {
+        "description": "Collection of NOMAD parsers for electronic structure codes.",
+        "documentation": null,
+        "entry_points": [
+          "electronicparsers:abacus_parser_entry_point",
+          "electronicparsers:abinit_parser_entry_point",
+          "electronicparsers:ams_parser_entry_point",
+          "electronicparsers:atk_parser_entry_point",
+          "electronicparsers:bigdft_parser_entry_point",
+          "electronicparsers:castep_parser_entry_point",
+          "electronicparsers:charmm_parser_entry_point",
+          "electronicparsers:cp2k_parser_entry_point",
+          "electronicparsers:cpmd_parser_entry_point",
+          "electronicparsers:crystal_parser_entry_point",
+          "electronicparsers:dmol3_parser_entry_point",
+          "electronicparsers:edmft_parser_entry_point",
+          "electronicparsers:elk_parser_entry_point",
+          "electronicparsers:exciting_parser_entry_point",
+          "electronicparsers:fhiaims_parser_entry_point",
+          "electronicparsers:fleur_parser_entry_point",
+          "electronicparsers:fplo_parser_entry_point",
+          "electronicparsers:gamess_parser_entry_point",
+          "electronicparsers:gaussian_parser_entry_point",
+          "electronicparsers:gpaw_parser_entry_point",
+          "electronicparsers:magres_parser_entry_point",
+          "electronicparsers:molcas_parser_entry_point",
+          "electronicparsers:mopac_parser_entry_point",
+          "electronicparsers:nwchem_parser_entry_point",
+          "electronicparsers:ocean_parser_entry_point",
+          "electronicparsers:octopus_parser_entry_point",
+          "electronicparsers:onetep_parser_entry_point",
+          "electronicparsers:openmx_parser_entry_point",
+          "electronicparsers:orca_parser_entry_point",
+          "electronicparsers:psi4_parser_entry_point",
+          "electronicparsers:qball_parser_entry_point",
+          "electronicparsers:qbox_parser_entry_point",
+          "electronicparsers:quantumespresso_parser_entry_point",
+          "electronicparsers:siesta_parser_entry_point",
+          "electronicparsers:soliddmft_parser_entry_point",
+          "electronicparsers:tbstudio_parser_entry_point",
+          "electronicparsers:turbomole_parser_entry_point",
+          "electronicparsers:vasp_parser_entry_point",
+          "electronicparsers:w2dynamics_parser_entry_point",
+          "electronicparsers:wannier90_parser_entry_point",
+          "electronicparsers:wien2k_parser_entry_point",
+          "electronicparsers:yambo_parser_entry_point"
+        ],
+        "homepage": "https://github.com/nomad-coe/electronic-parsers",
+        "name": "electronicparsers",
+        "repository": null,
+        "version": "1.1"
+      },
       "nomad_aitoolkit": {
         "description": "Schema and app for AI Toolkit notebooks.",
         "documentation": null,
@@ -4828,6 +5633,26 @@ window.nomadEnv = {
         "name": "systemnormalizer",
         "repository": null,
         "version": "1.0"
+      },
+      "workflowparsers": {
+        "description": "Collection of NOMAD parsers for workflow engines.",
+        "documentation": null,
+        "entry_points": [
+          "workflowparsers:aflow_parser_entry_point",
+          "workflowparsers:asr_parser_entry_point",
+          "workflowparsers:atomate_parser_entry_point",
+          "workflowparsers:elastic_parser_entry_point",
+          "workflowparsers:fhivibes_parser_entry_point",
+          "workflowparsers:lobster_parser_entry_point",
+          "workflowparsers:phonopy_parser_entry_point",
+          "workflowparsers:quantum_espresso_epw_parser_entry_point",
+          "workflowparsers:quantum_espresso_phonon_parser_entry_point",
+          "workflowparsers:quantum_espresso_xspectra_parser_entry_point"
+        ],
+        "homepage": "https://github.com/nomad-coe/electronic-parsers",
+        "name": "workflowparsers",
+        "repository": null,
+        "version": "1.0"
       }
     }
   }
diff --git a/gui/tests/nomad.yaml b/gui/tests/nomad.yaml
index e9acef54eef95f0ca672cf117555f1c1de576583..69e393fe589dcde3f6f7fca54e76ba45c99dc0cb 100644
--- a/gui/tests/nomad.yaml
+++ b/gui/tests/nomad.yaml
@@ -13,7 +13,7 @@ fs:
 plugins:
   entry_points:
     include:
-      - schema/simulation/run
-      - schema/simulation/workflow
-      - parsers/vasp
+      - runschema:run_schema_entry_point
+      - simulationworkflowschema:simulationworkflow_schema_entry_point
+      - electronicparsers:vasp_parser_entry_point
 
diff --git a/nomad/config/defaults.yaml b/nomad/config/defaults.yaml
index 7403e0a03c347062dd61196828dfa853f058fdf5..f11c3622f131c42ba32dacfe4775e2e07c6c1c05 100644
--- a/nomad/config/defaults.yaml
+++ b/nomad/config/defaults.yaml
@@ -1695,116 +1695,10 @@ plugins:
         description: |
           This example shows users how to take data from a Python framework and map it out to a Nexus application definition for IV Temperature measurements, [NXiv_temp](https://fairmat-experimental.github.io/nexus-fairmat-proposal/1c3806dba40111f36a16d0205cc39a5b7d52ca2e/classes/contributed_definitions/NXiv_temp.html#nxiv-temp).
           We use the Nexus ELN features of Nomad to generate a Nexus file.
-      parsers/abacus:
-        plugin_type: parser
-        mainfile_contents_re: \s*\n\s*WELCOME TO ABACUS
-        python_package: electronicparsers.abacus
-      parsers/abinit:
-        plugin_type: parser
-        mainfile_contents_re: ^\n*\.Version\s*[0-9.]*\s*of ABINIT\s*
-        python_package: electronicparsers.abinit
-      parsers/aflow:
-        plugin_type: parser
-        python_package: workflowparsers.aflow
-        mainfile_contents_re: ^\s*\[AFLOW\] \*+\s*\[AFLOW\]\s*\[AFLOW\]                     .o.        .o88o.
-          oooo\s*\[AFLOW\]                    .888.       888 `` `888\s*\[AFLOW\]                   .8'888.     o888oo   888   .ooooo.  oooo
-          oooo    ooo\s*\[AFLOW\]                  .8' `888.     888     888  d88' `88b  `88.
-          `88.  .8'\s*\[AFLOW\]                 .88ooo8888.    888     888  888   888   `88..]88..8'\s*\[AFLOW\]                .8'     `888.   888     888  888   888    `888'`888'\s*\[AFLOW\]               o88o     o8888o
-          o888o   o888o `Y8bod8P'     `8'  `8'  .in|^\s*\{\"aurl\"\:\"aflowlib\.duke\.edu\:AFLOWDATA
-        mainfile_mime_re: (application/json)|(text/.*)
-        mainfile_name_re: .*aflowlib\.json.*
-        mainfile_alternative: true
-        supported_compressions:
-        - gz
-        - bz2
-        - xz
-      parsers/amber:
-        plugin_type: parser
-        python_package: atomisticparsers.amber
-        mainfile_contents_re: \s*Amber\s[0-9]+\s[A-Z]+\s*[0-9]+
-      parsers/ams:
-        plugin_type: parser
-        python_package: electronicparsers.ams
-        mainfile_contents_re: \* +\| +A M S +\| +\*
-      parsers/asap:
-        plugin_type: parser
-        python_package: atomisticparsers.asap
-        mainfile_binary_header_re: !!binary |
-          QUZGb3JtYXRBU0VcLVRyYWplY3Rvcnk=
-        mainfile_mime_re: application/octet-stream
-        mainfile_name_re: .*.traj$
-      parsers/asr:
-        plugin_type: parser
-        python_package: workflowparsers.asr
-        mainfile_contents_re: '"name": "ASR"'
-        mainfile_mime_re: (application/json)|(text/.*)
-        mainfile_name_re: .*archive_.*\.json
-      parsers/atk:
-        plugin_type: parser
-        python_package: electronicparsers.atk
-        mainfile_mime_re: application/octet-stream
-        mainfile_name_re: ^.*\.nc
-      parsers/atomate:
-        plugin_type: parser
-        python_package: workflowparsers.atomate
-        mainfile_contents_re: '"pymatgen_version":'
-        mainfile_mime_re: (application/json)|(text/.*)
-        mainfile_name_re: .*mp.+materials\.json
-      parsers/bigdft:
-        plugin_type: parser
-        python_package: electronicparsers.bigdft
-        mainfile_contents_re: \|_____\|__:__\|__:__\|_____\|_____\|___ BBBBB          i     g         g\s*
-      parsers/bopfox:
-        plugin_type: parser
-        python_package: atomisticparsers.bopfox
-        mainfile_contents_re: \-+\s+BOPfox \(v
-      parsers/castep:
-        plugin_type: parser
-        python_package: electronicparsers.castep
-        mainfile_contents_re: \s\|\s*CCC\s*AA\s*SSS\s*TTTTT\s*EEEEE\s*PPPP\s*\|\s*
-      parsers/charmm:
-        plugin_type: parser
-        python_package: electronicparsers.charmm
-        mainfile_contents_re: \s*Chemistry\s*at\s*HARvard\s*Macromolecular\s*Mechanics\s*
-        mainfile_mime_re: text/.*
       parsers/chemotion/chemotion:
         plugin_type: parser
         python_package: nomad.parsing.chemotion
         parser_as_interface: true
-      parsers/cp2k:
-        plugin_type: parser
-        python_package: electronicparsers.cp2k
-        mainfile_contents_re: \*\*\*\* \*\*\*\* \*\*\*\*\*\*  \*\*  PROGRAM STARTED
-          AT\s.*\n \*\*\*\*\* \*\* \*\*\*  \*\*\* \*\*   PROGRAM STARTED ON\s*.*\n \*\*    \*\*\*\*   \*\*\*\*\*\*    PROGRAM
-          STARTED BY .*\n \*\*\*\*\* \*\*    \*\* \*\* \*\*   PROGRAM PROCESS ID .*\n  \*\*\*\*
-          \*\*  \*\*\*\*\*\*\*  \*\*  PROGRAM STARTED IN .*\n
-      parsers/cpmd:
-        plugin_type: parser
-        python_package: electronicparsers.cpmd
-        mainfile_contents_re: \*\*\*       \*\*   \*\*\*  \*\* \*\*\*\* \*\*  \*\*   \*\*\*
-      parsers/crystal:
-        plugin_type: parser
-        python_package: electronicparsers.crystal
-        mainfile_contents_re: '(\r?\n \*\s+CRYSTAL[\d]+\s+\*\r?\n \*\s*[a-zA-Z]+ : \d+[\.\d+]*)'
-      parsers/dftbplus:
-        plugin_type: parser
-        python_package: atomisticparsers.dftbplus
-        mainfile_contents_re: \|  DFTB\+
-        mainfile_mime_re: text/.*
-      parsers/dlpoly:
-        plugin_type: parser
-        python_package: atomisticparsers.dlpoly
-        mainfile_contents_re: \*\*\s+DL_POLY.+\*\*
-      parsers/dmol3:
-        plugin_type: parser
-        python_package: electronicparsers.dmol3
-        mainfile_contents_re: Materials Studio DMol\^3
-        mainfile_name_re: .*\.outmol
-      parsers/edmft:
-        plugin_type: parser
-        python_package: electronicparsers.edmft
-        mainfile_contents_re: \-\-\-\s*Preparing GF calculation\s*\-\-\-
-        mainfile_name_re: ^.*\.(out)$
       parsers/eelsdbparser:
         plugin_type: parser
         python_package: eelsdbparser
@@ -1815,277 +1709,3 @@ plugins:
         plugin_type: parser
         python_package: nomad.parsing.elabftw
         parser_as_interface: true
-      parsers/elastic:
-        plugin_type: parser
-        python_package: workflowparsers.elastic
-        mainfile_contents_re: \s*Order of elastic constants\s*=\s*[0-9]+\s*
-        mainfile_name_re: .*/INFO_ElaStic
-      parsers/elk:
-        plugin_type: parser
-        python_package: electronicparsers.elk
-        mainfile_contents_re: \| Elk version [0-9.a-zA-Z]+ started \|
-      parsers/exciting:
-        plugin_type: parser
-        python_package: electronicparsers.exciting
-        mainfile_contents_re: 'EXCITING.*started[\s\S]+?All units are atomic '
-        mainfile_name_re: ^.*.OUT(\.[^/]*)?$
-      parsers/fhi-aims:
-        plugin_type: parser
-        python_package: electronicparsers.fhiaims
-        mainfile_contents_re: ^(.*\n)*?\s*Invoking FHI-aims \.\.\.
-      parsers/fhivibes:
-        plugin_type: parser
-        python_package: workflowparsers.fhivibes
-        mainfile_binary_header_re: !!binary |
-          Xlx4ODlIREY=
-        mainfile_contents_dict:
-          __has_all_keys:
-          - I
-          - a
-          - b
-        mainfile_mime_re: (application/x-hdf)
-        mainfile_name_re: ^.*\.(nc)$
-      parsers/fleur:
-        plugin_type: parser
-        python_package: electronicparsers.fleur
-        mainfile_alternative: true
-        mainfile_contents_re: This output is generated by fleur.|\<fleurOutput
-        mainfile_mime_re: (application/.*)|(text/.*)
-        mainfile_name_re: .*[^/]*\.xml[^/]*
-      parsers/fplo:
-        plugin_type: parser
-        python_package: electronicparsers.fplo
-        mainfile_contents_re: \s*\|\s*FULL-POTENTIAL LOCAL-ORBITAL MINIMUM BASIS BANDSTRUCTURE
-          CODE\s*\|\s*
-        mainfile_mime_re: text/.*
-      parsers/gamess:
-        plugin_type: parser
-        python_package: electronicparsers.gamess
-        mainfile_contents_re: \s*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\**\s*\s*\*\s*GAMESS
-          VERSION =\s*(.*)\*\s*\s*\*\s*FROM IOWA STATE UNIVERSITY\s*\*\s*
-      parsers/gaussian:
-        plugin_type: parser
-        python_package: electronicparsers.gaussian
-        mainfile_contents_re: \s*Cite this work as:\s*Gaussian [0-9]+, Revision [A-Za-z0-9\.]*,
-        mainfile_mime_re: .*
-      parsers/gpaw:
-        plugin_type: parser
-        python_package: electronicparsers.gpaw
-        mainfile_mime_re: application/(x-tar|octet-stream)
-        mainfile_name_re: ^.*\.(gpw2|gpw)$
-      parsers/gromacs:
-        plugin_type: parser
-        python_package: atomisticparsers.gromacs
-        mainfile_contents_re: 'gmx mdrun, (VERSION|version)[\s\S]*Input Parameters:'
-      parsers/gromos:
-        plugin_type: parser
-        python_package: atomisticparsers.gromos
-        mainfile_contents_re: Bugreports to http://www.gromos.net
-      parsers/gulp:
-        plugin_type: parser
-        python_package: atomisticparsers.gulp
-        mainfile_contents_re: \s*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\s*\s*\*\s*GENERAL
-          UTILITY LATTICE PROGRAM\s*\*\s*
-      parsers/h5md:
-        plugin_type: parser
-        python_package: atomisticparsers.h5md
-        mainfile_binary_header_re: !!binary |
-          Xlx4ODlIREY=
-        mainfile_contents_dict:
-          __has_all_keys:
-          - h5md
-        mainfile_mime_re: (application/x-hdf)
-        mainfile_name_re: ^.*\.(h5|hdf5)$
-      parsers/lammps:
-        plugin_type: parser
-        python_package: atomisticparsers.lammps
-        mainfile_contents_re: ^LAMMPS\s+\(.+\)
-      parsers/libatoms:
-        plugin_type: parser
-        python_package: atomisticparsers.libatoms
-        mainfile_contents_re: \s*<GAP_params\s
-      parsers/lobster:
-        plugin_type: parser
-        python_package: workflowparsers.lobster
-        mainfile_contents_re: ^LOBSTER\s*v[\d\.]+.*
-        mainfile_name_re: .*lobsterout.*
-        supported_compressions:
-        - gz
-        - bz2
-        - xz
-      parsers/magres:
-        plugin_type: parser
-        python_package: electronicparsers.magres
-        mainfile_contents_re: \$magres-abinitio-v(\d\.)+
-        mainfile_name_re: ^.*\.magres
-      parsers/molcas:
-        plugin_type: parser
-        python_package: electronicparsers.molcas
-        mainfile_contents_re: M O L C A S
-      parsers/mopac:
-        plugin_type: parser
-        python_package: electronicparsers.mopac
-        mainfile_contents_re: \s*\*\*\s*MOPAC\s*([0-9a-zA-Z\.]*)\s*\*\*\s*
-        mainfile_mime_re: text/.*
-      parsers/namd:
-        plugin_type: parser
-        python_package: atomisticparsers.namd
-        mainfile_contents_re: \s*Info:\s*NAMD\s*[0-9.]+\s*for\s*
-        mainfile_mime_re: text/.*
-      parsers/nwchem:
-        plugin_type: parser
-        python_package: electronicparsers.nwchem
-        mainfile_contents_re: Northwest Computational Chemistry Package \(NWChem\) (\d+\.)+\d+
-      parsers/ocean:
-        plugin_type: parser
-        python_package: electronicparsers.ocean
-        mainfile_contents_dict:
-          __has_all_keys:
-          - bse
-          - structure
-          - screen
-          - calc
-        mainfile_mime_re: (application/.*)|(text/.*)
-      parsers/octopus:
-        plugin_type: parser
-        python_package: electronicparsers.octopus
-        mainfile_contents_re: \|0\) ~ \(0\) \|
-      parsers/onetep:
-        plugin_type: parser
-        python_package: electronicparsers.onetep
-        mainfile_contents_re: '####### #     # ####### ####### ####### ######'
-      parsers/openkim:
-        plugin_type: parser
-        python_package: databaseparsers.openkim
-        mainfile_contents_re: openkim|OPENKIM|OpenKIM
-        mainfile_mime_re: (application/json)|(text/.*)
-      parsers/openmx:
-        plugin_type: parser
-        python_package: electronicparsers.openmx
-        mainfile_contents_re: ^\*{59}\s+\*{59}\s+This calculation was performed by OpenMX
-        mainfile_mime_re: (text/.*)
-        mainfile_name_re: .*\.out$
-      parsers/orca:
-        plugin_type: parser
-        python_package: electronicparsers.orca
-        mainfile_contents_re: \s+\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\**\s*\s+\* O   R   C   A
-          \*\s*\s+\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\**\s*\s*
-      parsers/phonopy:
-        plugin_type: parser
-        python_package: workflowparsers.phonopy
-        mainfile_name_re: (.*/phonopy-FHI-aims-displacement-0*1/control.in$)|(.*/phon[^/]+yaml)
-      parsers/psi4:
-        plugin_type: parser
-        python_package: electronicparsers.psi4
-        mainfile_contents_re: 'Psi4: An Open-Source Ab Initio Electronic Structure Package'
-      parsers/qball:
-        plugin_type: parser
-        python_package: electronicparsers.qball
-        mainfile_contents_re: qball
-        supported_compressions:
-        - gz
-        - bz2
-        - xz
-      parsers/qbox:
-        plugin_type: parser
-        python_package: electronicparsers.qbox
-        mainfile_contents_re: http://qboxcode.org
-        mainfile_mime_re: (application/xml)|(text/.*)
-      parsers/quantum_espresso_epw:
-        plugin_type: parser
-        python_package: workflowparsers.quantum_espresso_epw
-        mainfile_contents_re: Program EPW.+\s*This program is part of the open-source
-          Quantum ESPRESSO suite
-      parsers/quantum_espresso_phonon:
-        plugin_type: parser
-        python_package: workflowparsers.quantum_espresso_phonon
-        mainfile_contents_re: Program PHONON.+\s*This program is part of the open-source
-          Quantum ESPRESSO suite
-      parsers/quantum_espresso_xspectra:
-        plugin_type: parser
-        python_package: workflowparsers.quantum_espresso_xspectra
-        mainfile_contents_re: \s*Program XSpectra\s*
-        mainfile_mime_re: (application/.*)|(text/.*)
-      parsers/quantumespresso:
-        plugin_type: parser
-        python_package: electronicparsers.quantumespresso
-        mainfile_contents_re: (Program PWSCF.*starts)|(Current dimensions of program
-          PWSCF are)
-        supported_compressions:
-        - gz
-        - bz2
-        - xz
-      parsers/siesta:
-        plugin_type: parser
-        python_package: electronicparsers.siesta
-        mainfile_contents_re: '(Siesta Version: siesta-|SIESTA [0-9]\.[0-9]\.[0-9])|(\*\s*WELCOME
-          TO SIESTA\s*\*)'
-      parsers/soliddmft:
-        plugin_type: parser
-        python_package: electronicparsers.soliddmft
-        mainfile_binary_header_re: !!binary |
-          Xlx4ODlIREY=
-        mainfile_contents_dict:
-          __has_all_keys:
-          - dft_input
-          - DMFT_input
-          - DMFT_results
-        mainfile_mime_re: (application/x-hdf)
-        mainfile_name_re: ^.*\.(h5|hdf5)$
-      parsers/tbstudio:
-        plugin_type: parser
-        python_package: electronicparsers.tbstudio
-        mainfile_contents_re: '"ApplicationFullName": "Tight Binding Studio"'
-        mainfile_mime_re: (application/json)|(text/.*)
-        mainfile_name_re: .*\.tbm
-      parsers/tinker:
-        plugin_type: parser
-        python_package: atomisticparsers.tinker
-        mainfile_contents_re: TINKER  ---  Software Tools for Molecular Design
-      parsers/turbomole:
-        plugin_type: parser
-        python_package: electronicparsers.turbomole
-        mainfile_contents_re: Copyright \(C\) [0-9]+ TURBOMOLE GmbH, Karlsruhe
-      parsers/vasp:
-        plugin_type: parser
-        python_package: electronicparsers.vasp
-        mainfile_contents_re: ^\s*<\?xml version="1\.0" encoding="ISO-8859-1"\?>\s*?\s*<modeling>?\s*<generator>?\s*<i
-          name="program" type="string">\s*vasp\s*</i>?|^\svasp[\.\d]+.+?(?:\(build|complex)[\s\S]+?executed
-          on
-        mainfile_mime_re: (application/.*)|(text/.*)
-        mainfile_name_re: .*[^/]*xml[^/]*
-        mainfile_alternative: true
-        supported_compressions:
-        - gz
-        - bz2
-        - xz
-      parsers/w2dynamics:
-        plugin_type: parser
-        python_package: electronicparsers.w2dynamics
-        mainfile_binary_header_re: !!binary |
-          Xlx4ODlIREY=
-        mainfile_contents_dict:
-          __has_all_keys:
-          - .axes
-          - .config
-          - .quantities
-        mainfile_mime_re: (application/x-hdf)
-        mainfile_name_re: ^.*\.(h5|hdf5)$
-      parsers/wannier90:
-        plugin_type: parser
-        python_package: electronicparsers.wannier90
-        mainfile_contents_re: \|\s*WANNIER90\s*\|
-      parsers/wien2k:
-        plugin_type: parser
-        python_package: electronicparsers.wien2k
-        mainfile_contents_re: \s*---------\s*:ITE[0-9]+:\s*[0-9]+\.\s*ITERATION\s*---------
-        mainfile_name_re: .*\.scf$
-        mainfile_alternative: true
-      parsers/xtb:
-        plugin_type: parser
-        python_package: atomisticparsers.xtb
-        mainfile_contents_re: x T B\s+\|\s+\|\s+=
-      parsers/yambo:
-        plugin_type: parser
-        python_package: electronicparsers.yambo
-        mainfile_contents_re: Build.+\s+http://www\.yambo-code\.org
diff --git a/nomad/config/models/plugins.py b/nomad/config/models/plugins.py
index c9800437d1f0a795f855cf5088a6a69786cd75b0..5bcb11b7b7dc6830b718a153dbad6f3729f5c7de 100644
--- a/nomad/config/models/plugins.py
+++ b/nomad/config/models/plugins.py
@@ -123,7 +123,7 @@ class ParserEntryPoint(EntryPoint, metaclass=ABCMeta):
         level will attempt to match raw files first.
     """,
     )
-
+    aliases: List[str] = Field([], description="""List of alternative parser names.""")
     mainfile_contents_re: Optional[str] = Field(
         description="""
         A regular expression that is applied the content of a potential mainfile.
diff --git a/nomad/datamodel/metainfo/simulation/__init__.py b/nomad/datamodel/metainfo/simulation/__init__.py
index 9bf4db81e06d6243c3f1ae036194ffb36f16333b..8d516ba6e46c1a5b4d83c6c36ab7d3686089361b 100644
--- a/nomad/datamodel/metainfo/simulation/__init__.py
+++ b/nomad/datamodel/metainfo/simulation/__init__.py
@@ -46,7 +46,8 @@ from . import system
 from . import workflow
 from . import legacy_workflows
 
-get_logger(__name__).warning('Schema is deprecated, use plugins.')
+# Disable warning as it is always imported.
+# get_logger(__name__).warning('Schema is deprecated, use plugins.')
 
 m_env = Environment()
 m_env.m_add_sub_section(Environment.packages, run.m_package)
diff --git a/nomad/parsing/parser.py b/nomad/parsing/parser.py
index 38b671ed2fe40ceab424898aa8e017a8683de06c..ba6cbce529d61706af1f38e620a88ef020283886 100644
--- a/nomad/parsing/parser.py
+++ b/nomad/parsing/parser.py
@@ -44,6 +44,7 @@ class Parser(metaclass=ABCMeta):
     name = 'parsers/parser'
     level = 0
     creates_children = False
+    aliases: List[str] = []
     """
     Level 0 parsers are run first, then level 1, and so on. Normally the value should be 0,
     use higher values only when a parser depends on other parsers.
diff --git a/nomad/parsing/parsers.py b/nomad/parsing/parsers.py
index a47db61afe288001a7ee89b8c4115c7cc1dcc230..7342dad0fc1fc2850279b064b30ad35b781d3f47 100644
--- a/nomad/parsing/parsers.py
+++ b/nomad/parsing/parsers.py
@@ -247,6 +247,7 @@ for entry_point in enabled_entry_points:
         entry_point_name = entry_point.id
         instance = entry_point.load()
         instance.name = entry_point_name
+        instance.aliases = entry_point.aliases
         parsers.append(instance)
 
 parsers.extend([TabularDataParser(), ArchiveParser()])
@@ -290,6 +291,9 @@ parsers.append(BrokenParser())
 parser_dict: Dict[str, Parser] = {
     parser.name: parser for parser in parsers + empty_parsers
 }
+# Register also aliases
+parser_dict.update({alias: parser for parser in parsers for alias in parser.aliases})
+
 
 # renamed parsers
 _renames = {
diff --git a/pyproject.toml b/pyproject.toml
index 4d0571787c8aad09b8c06e068e82fd2dc1f230e6..59e40f305fa73d7f4e2cfc09e571aa0eb0b356d5 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -63,7 +63,6 @@ repository = 'https://gitlab.mpcdf.mpg.de/nomad-lab/nomad-FAIR'
 
 [project.optional-dependencies]
 parsing = [
-    'asr==0.4.1',
     'h5py==3.11.0',
     'netCDF4==1.6.5',
     'nomad-openbis',
@@ -192,12 +191,7 @@ line-ending = "auto"
 where = [
     ".",
     "dependencies/nomad-dos-fingerprints",
-    "dependencies/parsers/atomistic",
-    "dependencies/parsers/database",
     "dependencies/parsers/eelsdb",
-    "dependencies/parsers/electronic",
-    "dependencies/parsers/workflow",
-    "dependencies/parsers/simulation",
 ]
 exclude = ["tests*"]
 namespaces = false
diff --git a/requirements-dev.txt b/requirements-dev.txt
index d2b5f512ad669a9d5c8a0003ab1a402386ec1ce9..920c1f4d67ba145109f8ea257dcb4e4ab462a8a3 100644
--- a/requirements-dev.txt
+++ b/requirements-dev.txt
@@ -7,9 +7,8 @@ amqp==5.2.0               # via kombu, -r requirements.txt
 aniso8601==9.0.1          # via -r requirements.txt, nomad-lab (pyproject.toml)
 anyio==4.4.0              # via httpx, starlette, watchfiles, -r requirements.txt
 arrow==1.3.0              # via isoduration, -r requirements.txt
-ase==3.22.1               # via asr, matid, -r requirements.txt, nomad-lab (pyproject.toml)
+ase==3.22.1               # via matid, -r requirements.txt, nomad-lab (pyproject.toml)
 asgiref==3.8.1            # via -r requirements.txt, nomad-lab (pyproject.toml)
-asr==0.4.1                # via -r requirements.txt, nomad-lab (pyproject.toml)
 astroid==3.3.2            # via nomad-lab (pyproject.toml)
 asttokens==2.4.1          # via devtools
 async-generator==1.10     # via jupyterhub, -r requirements.txt
@@ -23,7 +22,6 @@ basicauth==0.4.1          # via -r requirements.txt, nomad-lab (pyproject.toml)
 beautifulsoup4==4.12.3    # via -r requirements.txt, nomad-lab (pyproject.toml)
 billiard==4.2.0           # via celery, -r requirements.txt
 bitarray==2.9.2           # via -r requirements.txt, nomad-lab (pyproject.toml)
-blinker==1.8.2            # via flask, -r requirements.txt
 build==1.2.1              # via nomad-lab (pyproject.toml)
 cachetools==5.5.0         # via -r requirements.txt, nomad-lab (pyproject.toml)
 celery==5.4.0             # via -r requirements.txt, nomad-lab (pyproject.toml)
@@ -32,7 +30,7 @@ certipy==0.1.3            # via jupyterhub, -r requirements.txt
 cffi==1.17.0 ; platform_python_implementation != 'PyPy'  # via cryptography, -r requirements.txt
 cftime==1.6.4             # via netcdf4, -r requirements.txt
 charset-normalizer==3.3.2  # via requests, -r requirements.txt
-click==8.1.7              # via asr, celery, click-didyoumean, click-plugins, click-repl, flask, mkdocs, mkdocs-click, uvicorn, -r requirements.txt, nomad-lab (pyproject.toml)
+click==8.1.7              # via celery, click-didyoumean, click-plugins, click-repl, mkdocs, mkdocs-click, uvicorn, -r requirements.txt, nomad-lab (pyproject.toml)
 click-didyoumean==0.3.1   # via celery, -r requirements.txt
 click-plugins==1.1.1      # via celery, -r requirements.txt
 click-repl==0.3.0         # via celery, -r requirements.txt
@@ -61,7 +59,6 @@ executing==2.0.1          # via devtools
 fastapi==0.99.1           # via h5grove, -r requirements.txt, nomad-lab (pyproject.toml)
 fasteners==0.19           # via mdanalysis, -r requirements.txt
 filelock==3.3.1           # via -r requirements.txt, nomad-lab (pyproject.toml)
-flask==3.0.3              # via asr, -r requirements.txt
 fonttools==4.53.1         # via matplotlib, -r requirements.txt
 fqdn==1.5.1               # via jsonschema, -r requirements.txt
 ghp-import==2.1.0         # via mkdocs
@@ -72,7 +69,7 @@ griddataformats==1.0.2    # via mdanalysis, -r requirements.txt
 gunicorn==21.2.0          # via -r requirements.txt, nomad-lab (pyproject.toml)
 h11==0.14.0               # via httpcore, uvicorn, -r requirements.txt
 h5grove==1.3.0            # via -r requirements.txt, nomad-lab (pyproject.toml)
-h5py==3.11.0              # via h5grove, phonopy, -r requirements.txt, nomad-lab (pyproject.toml)
+h5py==3.11.0              # via h5grove, -r requirements.txt, nomad-lab (pyproject.toml)
 hjson==3.1.0              # via -r requirements.txt, nomad-lab (pyproject.toml)
 html5lib==1.1             # via -r requirements.txt, nomad-lab (pyproject.toml)
 httpcore==1.0.5           # via httpx, -r requirements.txt
@@ -85,12 +82,12 @@ inflection==0.5.1         # via -r requirements.txt, nomad-lab (pyproject.toml)
 iniconfig==2.0.0          # via pytest
 isodate==0.6.1            # via rdflib, -r requirements.txt
 isoduration==20.11.0      # via jsonschema, -r requirements.txt
-itsdangerous==2.2.0       # via flask, -r requirements.txt, nomad-lab (pyproject.toml)
+itsdangerous==2.2.0       # via -r requirements.txt, nomad-lab (pyproject.toml)
 jaraco-classes==3.4.0     # via keyring
 jaraco-context==6.0.1     # via keyring
 jaraco-functools==4.0.2   # via keyring
 jeepney==0.8.0 ; sys_platform == 'linux'  # via keyring, secretstorage
-jinja2==3.1.4             # via flask, jupyterhub, mkdocs, mkdocs-macros-plugin, mkdocs-material, sphinx, -r requirements.txt
+jinja2==3.1.4             # via jupyterhub, mkdocs, mkdocs-macros-plugin, mkdocs-material, sphinx, -r requirements.txt
 jmespath==1.0.1           # via -r requirements.txt, nomad-lab (pyproject.toml)
 joblib==1.4.2             # via mdanalysis, pymatgen, scikit-learn, -r requirements.txt
 jsonpointer==3.0.0        # via jsonschema, -r requirements.txt
@@ -105,13 +102,13 @@ kombu==5.4.0              # via celery, -r requirements.txt
 lark==1.2.2               # via optimade, -r requirements.txt
 latexcodec==3.0.0         # via pybtex, -r requirements.txt
 lxml==5.3.0               # via lxml-html-clean, -r requirements.txt, nomad-lab (pyproject.toml)
-lxml-html-clean==0.2.0    # via -r requirements.txt, nomad-lab (pyproject.toml)
+lxml-html-clean==0.2.1    # via -r requirements.txt, nomad-lab (pyproject.toml)
 m2r==0.2.1                # via -r requirements.txt, nomad-lab (pyproject.toml)
 mako==1.3.5               # via alembic, -r requirements.txt
 markdown==3.7             # via mkdocs, mkdocs-click, mkdocs-material, pymdown-extensions
-markupsafe==2.1.5         # via jinja2, mako, mkdocs, werkzeug, -r requirements.txt, nomad-lab (pyproject.toml)
+markupsafe==2.1.5         # via jinja2, mako, mkdocs, -r requirements.txt, nomad-lab (pyproject.toml)
 matid==2.1.2              # via -r requirements.txt, nomad-lab (pyproject.toml)
-matplotlib==3.9.2         # via ase, asr, mdanalysis, phonopy, pymatgen, -r requirements.txt
+matplotlib==3.9.2         # via ase, mdanalysis, pymatgen, -r requirements.txt
 mda-xdrlib==0.2.0         # via mdanalysis, pyedr, -r requirements.txt
 mdanalysis==2.7.0         # via -r requirements.txt, nomad-lab (pyproject.toml)
 mergedeep==1.3.4          # via mkdocs, mkdocs-get-deps
@@ -141,7 +138,7 @@ networkx==3.3             # via matid, pymatgen, -r requirements.txt, nomad-lab
 nh3==0.2.18               # via readme-renderer
 nomad-openbis==1.0.0      # via -r requirements.txt, nomad-lab (pyproject.toml)
 nptyping==1.4.4           # via -r requirements.txt, nomad-lab (pyproject.toml)
-numpy==1.26.4             # via ase, cftime, contourpy, griddataformats, h5grove, h5py, matid, matplotlib, mdanalysis, mrcfile, netcdf4, nptyping, pandas, phonopy, pyedr, pymatgen, rdkit, scikit-learn, scipy, spglib, tifffile, xarray, -r requirements.txt, nomad-lab (pyproject.toml)
+numpy==1.26.4             # via ase, cftime, contourpy, griddataformats, h5grove, h5py, matid, matplotlib, mdanalysis, mrcfile, netcdf4, nptyping, pandas, pyedr, pymatgen, rdkit, scikit-learn, scipy, spglib, tifffile, xarray, -r requirements.txt, nomad-lab (pyproject.toml)
 oauthenticator==15.1.0    # via -r requirements.txt, nomad-lab (pyproject.toml)
 oauthlib==3.2.2           # via jupyterhub, -r requirements.txt
 openpyxl==3.1.5           # via -r requirements.txt, nomad-lab (pyproject.toml)
@@ -155,12 +152,11 @@ pandas==2.2.2             # via nomad-openbis, panedr, pymatgen, xarray, -r requ
 panedr==0.8.0             # via -r requirements.txt, nomad-lab (pyproject.toml)
 parmed==4.2.2             # via -r requirements.txt, nomad-lab (pyproject.toml)
 pathspec==0.12.1          # via mkdocs
-phonopy==2.27.0           # via asr, -r requirements.txt
 pillow==10.4.0            # via matplotlib, rdkit, -r requirements.txt
 pint==0.17                # via -r requirements.txt, nomad-lab (pyproject.toml)
 pkginfo==1.11.1           # via twine
 platformdirs==4.2.2       # via mkdocs-get-deps
-plotly==5.23.0            # via asr, pymatgen, -r requirements.txt
+plotly==5.23.0            # via pymatgen, -r requirements.txt
 pluggy==1.5.0             # via pytest
 prometheus-client==0.20.0  # via jupyterhub, -r requirements.txt
 prompt-toolkit==3.0.47    # via click-repl, -r requirements.txt
@@ -174,7 +170,7 @@ pydantic==1.10.18         # via fastapi, optimade, -r requirements.txt, nomad-la
 pyedr==0.8.0              # via panedr, -r requirements.txt
 pygments==2.18.0          # via devtools, mkdocs-material, readme-renderer, sphinx, -r requirements.txt
 pyjwt==2.6.0              # via -r requirements.txt, nomad-lab (pyproject.toml)
-pymatgen==2024.5.1        # via asr, -r requirements.txt, nomad-lab (pyproject.toml)
+pymatgen==2024.5.1        # via -r requirements.txt, nomad-lab (pyproject.toml)
 pymdown-extensions==10.9  # via mkdocs-material
 pymongo==4.6.3            # via mongoengine, optimade, -r requirements.txt, nomad-lab (pyproject.toml)
 pyopenssl==24.2.1         # via certipy, -r requirements.txt
@@ -199,7 +195,7 @@ python-multipart==0.0.9   # via -r requirements.txt, nomad-lab (pyproject.toml)
 pytz==2024.1              # via mkdocs-git-revision-date-localized-plugin, pandas, -r requirements.txt, nomad-lab (pyproject.toml)
 pywin32==306 ; sys_platform == 'win32'  # via docker, -r requirements.txt
 pywin32-ctypes==0.2.3 ; sys_platform == 'win32'  # via keyring
-pyyaml==6.0.2             # via mkdocs, mkdocs-get-deps, mkdocs-macros-plugin, phonopy, pybtex, pymdown-extensions, pyyaml-env-tag, uvicorn, -r requirements.txt, nomad-lab (pyproject.toml)
+pyyaml==6.0.2             # via mkdocs, mkdocs-get-deps, mkdocs-macros-plugin, pybtex, pymdown-extensions, pyyaml-env-tag, uvicorn, -r requirements.txt, nomad-lab (pyproject.toml)
 pyyaml-env-tag==0.1       # via mkdocs
 rdflib==5.0.0             # via -r requirements.txt, nomad-lab (pyproject.toml)
 rdkit==2023.9.5           # via -r requirements.txt, nomad-lab (pyproject.toml)
@@ -226,7 +222,7 @@ smmap==5.0.1              # via gitdb, -r requirements.txt
 sniffio==1.3.1            # via anyio, httpx, -r requirements.txt
 snowballstemmer==2.2.0    # via sphinx, -r requirements.txt
 soupsieve==2.6            # via beautifulsoup4, -r requirements.txt
-spglib==2.5.0             # via asr, matid, phonopy, pymatgen, -r requirements.txt
+spglib==2.5.0             # via matid, pymatgen, -r requirements.txt
 sphinx==8.0.2             # via recommonmark, -r requirements.txt
 sphinxcontrib-applehelp==2.0.0  # via sphinx, -r requirements.txt
 sphinxcontrib-devhelp==2.0.0  # via sphinx, -r requirements.txt
@@ -259,18 +255,17 @@ uncertainties==3.2.2      # via pymatgen, -r requirements.txt
 unidecode==1.3.2          # via -r requirements.txt, nomad-lab (pyproject.toml)
 uri-template==1.3.0       # via jsonschema, -r requirements.txt
 urllib3==1.26.19          # via docker, elasticsearch, nomad-openbis, requests, -r requirements.txt
-uv==0.3.5                 # via nomad-lab (pyproject.toml)
+uv==0.4.0                 # via nomad-lab (pyproject.toml)
 uvicorn==0.30.6           # via h5grove, -r requirements.txt, nomad-lab (pyproject.toml)
 uvloop==0.20.0 ; platform_python_implementation != 'PyPy' and sys_platform != 'cygwin' and sys_platform != 'win32'  # via uvicorn, -r requirements.txt
 validators==0.18.2        # via -r requirements.txt, nomad-lab (pyproject.toml)
 vine==5.1.0               # via amqp, celery, kombu, -r requirements.txt
 watchdog==5.0.0           # via mkdocs
-watchfiles==0.23.0        # via uvicorn, -r requirements.txt
+watchfiles==0.24.0        # via uvicorn, -r requirements.txt
 wcwidth==0.2.13           # via prompt-toolkit, -r requirements.txt
 webcolors==24.8.0         # via jsonschema, -r requirements.txt
 webencodings==0.5.1       # via html5lib, -r requirements.txt
-websockets==13.0          # via uvicorn, -r requirements.txt
-werkzeug==3.0.4           # via flask, -r requirements.txt
+websockets==13.0.1        # via uvicorn, -r requirements.txt
 wrapt==1.16.0             # via -r requirements.txt, nomad-lab (pyproject.toml)
 xarray==2024.7.0          # via -r requirements.txt, nomad-lab (pyproject.toml)
 zipp==3.20.1              # via importlib-metadata, -r requirements.txt
diff --git a/requirements-plugins.txt b/requirements-plugins.txt
index df8de8a522248b3770a69782ae56357e57958ce7..a385d6428c6e828d2d1511bd5eb00fb8ac1c82ac 100644
--- a/requirements-plugins.txt
+++ b/requirements-plugins.txt
@@ -8,22 +8,26 @@ argon2-cffi==23.1.0       # via jupyter-server
 argon2-cffi-bindings==21.2.0  # via argon2-cffi
 arrow==1.3.0              # via isoduration, -c requirements-dev.txt
 asciitree==0.3.3 ; platform_machine == 'AMD64' or platform_machine == 'x86_64'  # via zarr
-ase==3.22.1               # via ifes-apt-tc-data-modeling, matid, nomad-lab, nomad-porous-materials, pynxtools, -c requirements-dev.txt
+ase==3.22.1               # via asr, ifes-apt-tc-data-modeling, matid, nomad-lab, nomad-porous-materials, pynxtools, -c requirements-dev.txt
+asr==0.4.1                # via workflowparsers
 asteval==1.0.2            # via lmfit
 asttokens==2.4.1          # via stack-data, -c requirements-dev.txt
 async-lru==2.0.4          # via jupyterlab
 async-property==0.2.2     # via python-keycloak, -c requirements-dev.txt
+atomisticparsers @ git+https://github.com/nomad-coe/atomistic-parsers.git@6e907aa4da0767d23450ff472118e63799101788  # via -r default_plugins.txt
 attrs==24.2.0             # via jsonschema, -c requirements-dev.txt
 babel==2.16.0             # via jupyterlab-server, -c requirements-dev.txt
 beautifulsoup4==4.12.3    # via nbconvert, -c requirements-dev.txt
 bitarray==2.9.2           # via nomad-lab, -c requirements-dev.txt
 bleach==6.1.0             # via nbconvert
+blinker==1.8.2            # via flask
 blosc2==2.7.1             # via tables
 cachetools==5.5.0         # via nomad-lab, -c requirements-dev.txt
-certifi==2024.7.4         # via elasticsearch, httpcore, httpx, requests, -c requirements-dev.txt
+certifi==2024.7.4         # via elasticsearch, httpcore, httpx, netcdf4, requests, -c requirements-dev.txt
 cffi==1.17.0              # via argon2-cffi-bindings, cryptography, pyzmq, -c requirements-dev.txt
+cftime==1.6.4             # via netcdf4, -c requirements-dev.txt
 charset-normalizer==3.3.2  # via requests, -c requirements-dev.txt
-click==8.1.7              # via click-default-group, dask, nomad-lab, pynxtools, -c requirements-dev.txt
+click==8.1.7              # via asr, click-default-group, dask, flask, nomad-lab, pynxtools, -c requirements-dev.txt
 click-default-group==1.2.4  # via pynxtools
 cloudpickle==3.0.0        # via dask
 colorama==0.4.6 ; sys_platform == 'win32' or platform_system == 'Windows'  # via click, ipython, tqdm, -c requirements-dev.txt
@@ -32,6 +36,7 @@ contourpy==1.3.0          # via matplotlib, -c requirements-dev.txt
 cryptography==43.0.0      # via jwcrypto, rfc3161ng, -c requirements-dev.txt
 cycler==0.12.1            # via matplotlib, -c requirements-dev.txt
 dask==2024.8.1            # via hyperspy, kikuchipy, orix, pyxem, rosettasciio
+databaseparsers @ git+https://github.com/nomad-coe/database-parsers.git@a82707377bd59f244739772803337c3a09615948  # via -r default_plugins.txt
 debugpy==1.8.5            # via ipykernel
 decorator==5.1.1          # via ipyparallel, ipython, -c requirements-dev.txt
 defusedxml==0.7.1         # via nbconvert
@@ -42,6 +47,7 @@ dill==0.3.8               # via hyperspy, lmfit
 docstring-parser==0.16    # via nomad-lab, -c requirements-dev.txt
 elasticsearch==7.17.1     # via elasticsearch-dsl, -c requirements-dev.txt
 elasticsearch-dsl==7.4.0  # via nomad-lab, -c requirements-dev.txt
+electronicparsers @ git+https://github.com/nomad-coe/electronic-parsers.git@91bd91814eb3c663ac6dc64730f0fa1bee503ea9  # via -r default_plugins.txt
 entrypoints==0.4          # via ipyparallel
 et-xmlfile==1.1.0         # via openpyxl, -c requirements-dev.txt
 executing==2.0.1          # via stack-data, -c requirements-dev.txt
@@ -50,6 +56,7 @@ fairmat-readers-xrd==0.0.6  # via pynxtools-xrd
 fasteners==0.19           # via mdanalysis, zarr, -c requirements-dev.txt
 fastjsonschema==2.20.0    # via nbformat
 findiff==0.10.0           # via pynxtools-stm
+flask==3.0.3              # via asr
 flatdict==4.0.1           # via ifes-apt-tc-data-modeling, pynxtools-em
 fonttools==4.53.1         # via matplotlib, -c requirements-dev.txt
 fqdn==1.5.1               # via jsonschema, -c requirements-dev.txt
@@ -58,7 +65,7 @@ greenlet==3.0.3 ; (python_full_version < '3.13' and platform_machine == 'AMD64')
 griddataformats==1.0.2    # via mdanalysis, -c requirements-dev.txt
 h11==0.14.0               # via httpcore, -c requirements-dev.txt
 h5grove==1.3.0            # via jupyterlab-h5web, -c requirements-dev.txt
-h5py==3.11.0              # via fabio, h5grove, hdf5plugin, hyperspy, ifes-apt-tc-data-modeling, jupyterlab-h5web, kikuchipy, nionswift, nomad-lab, orix, pyfai, pynxtools, pynxtools-mpes, pynxtools-xps, pyxem, silx, -c requirements-dev.txt
+h5py==3.11.0              # via electronicparsers, fabio, h5grove, hdf5plugin, hyperspy, ifes-apt-tc-data-modeling, jupyterlab-h5web, kikuchipy, nionswift, nomad-lab, orix, phonopy, pyfai, pynxtools, pynxtools-mpes, pynxtools-xps, pyxem, silx, workflowparsers, -c requirements-dev.txt
 hdf5plugin==4.4.0         # via fabio
 hjson==3.1.0              # via nomad-lab, -c requirements-dev.txt
 httpcore==1.0.5           # via httpx, -c requirements-dev.txt
@@ -74,8 +81,9 @@ ipyparallel==8.8.0        # via hyperspy
 ipython==8.26.0           # via hyperspy, ipykernel, ipyparallel, ipywidgets, jupyter-console
 ipywidgets==8.1.5         # via jupyter
 isoduration==20.11.0      # via jsonschema, -c requirements-dev.txt
+itsdangerous==2.2.0       # via flask, -c requirements-dev.txt
 jedi==0.19.1              # via ipython
-jinja2==3.1.4             # via hyperspy, jupyter-server, jupyterlab, jupyterlab-server, nbconvert, -c requirements-dev.txt
+jinja2==3.1.4             # via flask, hyperspy, jupyter-server, jupyterlab, jupyterlab-server, nbconvert, -c requirements-dev.txt
 jmespath==1.0.1           # via nomad-lab, -c requirements-dev.txt
 joblib==1.4.2             # via mdanalysis, pymatgen, scikit-learn, -c requirements-dev.txt
 json5==0.9.25             # via jupyterlab-server
@@ -103,15 +111,15 @@ lazy-loader==0.4          # via scikit-image
 llvmlite==0.43.0          # via numba
 lmfit==1.3.2              # via pyxem
 locket==1.0.0             # via partd
-lxml==5.3.0               # via fabio, lxml-html-clean, nomad-lab, pynxtools, -c requirements-dev.txt
-lxml-html-clean==0.2.0    # via nomad-lab, perovskite-solar-cell-database, -c requirements-dev.txt
-markupsafe==2.1.5         # via jinja2, nbconvert, -c requirements-dev.txt
+lxml==5.3.0               # via atomisticparsers, electronicparsers, fabio, lxml-html-clean, nomad-lab, pynxtools, workflowparsers, -c requirements-dev.txt
+lxml-html-clean==0.2.1    # via nomad-lab, perovskite-solar-cell-database, -c requirements-dev.txt
+markupsafe==2.1.5         # via jinja2, nbconvert, werkzeug, -c requirements-dev.txt
 matid==2.1.2              # via nomad-lab, nomad-simulations, -c requirements-dev.txt
-matplotlib==3.9.2         # via ase, diffsims, hyperspy, kikuchipy, matplotlib-scalebar, mdanalysis, orix, pyfai, pymatgen, pyxem, radioactivedecay, -c requirements-dev.txt
+matplotlib==3.9.2         # via ase, asr, diffsims, hyperspy, kikuchipy, matplotlib-scalebar, mdanalysis, orix, phonopy, pyfai, pymatgen, pyxem, radioactivedecay, -c requirements-dev.txt
 matplotlib-inline==0.1.7  # via ipykernel, ipython
 matplotlib-scalebar==0.8.1  # via orix
 mda-xdrlib==0.2.0         # via mdanalysis, pyedr, -c requirements-dev.txt
-mdanalysis==2.7.0         # via nomad-lab, -c requirements-dev.txt
+mdanalysis==2.7.0         # via atomisticparsers, nomad-lab, -c requirements-dev.txt
 mergedeep==1.3.4          # via pynxtools, -c requirements-dev.txt
 mistune==3.0.2            # via nbconvert, -c requirements-dev.txt
 mmtf-python==1.1.3        # via mdanalysis, -c requirements-dev.txt
@@ -125,6 +133,7 @@ nbconvert==7.16.4         # via jupyter, jupyter-server
 nbformat==5.10.4          # via jupyter-server, nbclient, nbconvert
 ndindex==1.8              # via blosc2
 nest-asyncio==1.6.0       # via ipykernel
+netcdf4==1.6.5            # via electronicparsers, -c requirements-dev.txt
 networkx==3.3             # via matid, nomad-lab, pymatgen, radioactivedecay, scikit-image, -c requirements-dev.txt
 niondata==15.6.3          # via nionswift, nionswift-io
 nionswift==16.11.0        # via pynxtools-em
@@ -139,8 +148,8 @@ nomad-normalizer-plugin-soap @ git+https://github.com/nomad-coe/nomad-normalizer
 nomad-normalizer-plugin-spectra @ git+https://github.com/nomad-coe/nomad-normalizer-plugin-spectra.git@ec147326b3485ca9c324aca8a8dea520eb01e7dc  # via -r default_plugins.txt
 nomad-normalizer-plugin-system @ git+https://github.com/nomad-coe/nomad-normalizer-plugin-system.git@01523ddbc85676a40af40f4747f5f13676f34c0f  # via -r default_plugins.txt
 nomad-porous-materials @ git+https://github.com/FAIRmat-NFDI/nomad-porous-materials.git@522f4a3208077f534f1c5e886527ee2104283d0b  # via -r default_plugins.txt
-nomad-schema-plugin-run @ git+https://github.com/nomad-coe/nomad-schema-plugin-run.git@92d120dc4c5f7f4bcd94990ed009f8ac0019acec  # via nomad-schema-plugin-simulation-workflow, -r default_plugins.txt
-nomad-schema-plugin-simulation-workflow @ git+https://github.com/nomad-coe/nomad-schema-plugin-simulation-workflow.git@c9bd20c0447aaf22a6477cb39bdf03dea4c597f8  # via nomad-normalizer-plugin-simulation-workflow, -r default_plugins.txt
+nomad-schema-plugin-run @ git+https://github.com/nomad-coe/nomad-schema-plugin-run.git@92d120dc4c5f7f4bcd94990ed009f8ac0019acec  # via atomisticparsers, databaseparsers, electronicparsers, nomad-schema-plugin-simulation-workflow, simulationparsers, workflowparsers, -r default_plugins.txt
+nomad-schema-plugin-simulation-workflow @ git+https://github.com/nomad-coe/nomad-schema-plugin-simulation-workflow.git@c9bd20c0447aaf22a6477cb39bdf03dea4c597f8  # via atomisticparsers, databaseparsers, electronicparsers, nomad-normalizer-plugin-simulation-workflow, workflowparsers, -r default_plugins.txt
 nomad-simulations==0.0.1  # via -r default_plugins.txt
 notebook==7.1.3           # via jupyter
 notebook-shim==0.2.4      # via jupyterlab, notebook
@@ -148,7 +157,7 @@ nptyping==1.4.4           # via nomad-lab, -c requirements-dev.txt
 numba==0.60.0             # via diffsims, hyperspy, kikuchipy, orix, pyxem, sparse
 numcodecs==0.13.0 ; platform_machine == 'AMD64' or platform_machine == 'x86_64'  # via zarr
 numexpr==2.10.1           # via blosc2, hyperspy, pyfai, pyxem, tables
-numpy==1.26.4             # via ase, blosc2, contourpy, dask, diffsims, fabio, fairmat-readers-xrd, findiff, griddataformats, h5grove, h5py, hyperspy, ifes-apt-tc-data-modeling, igor2, imageio, kikuchipy, lmfit, matid, matplotlib, mdanalysis, mrcfile, niondata, nionswift, nionswift-io, nionui, nomad-lab, nptyping, numba, numcodecs, numexpr, numpy-quaternion, orix, pandas, pyedr, pyfai, pymatgen, pynxtools, pynxtools-xps, pyxem, radioactivedecay, rdkit, rosettasciio, scikit-image, scikit-learn, scipy, silx, sparse, spglib, tables, tifffile, transforms3d, xarray, xraydb, zarr, -c requirements-dev.txt
+numpy==1.26.4             # via ase, blosc2, cftime, contourpy, dask, diffsims, fabio, fairmat-readers-xrd, findiff, griddataformats, h5grove, h5py, hyperspy, ifes-apt-tc-data-modeling, igor2, imageio, kikuchipy, lmfit, matid, matplotlib, mdanalysis, mrcfile, netcdf4, niondata, nionswift, nionswift-io, nionui, nomad-lab, nptyping, numba, numcodecs, numexpr, numpy-quaternion, orix, pandas, phonopy, pyedr, pyfai, pymatgen, pynxtools, pynxtools-xps, pyxem, radioactivedecay, rdkit, rosettasciio, scikit-image, scikit-learn, scipy, silx, sparse, spglib, tables, tifffile, transforms3d, xarray, xraydb, zarr, -c requirements-dev.txt
 numpy-quaternion==2023.0.4  # via orix
 openpyxl==3.1.5           # via nomad-lab, perovskite-solar-cell-database, -c requirements-dev.txt
 orix==0.12.1.post0        # via diffsims, kikuchipy, pyxem
@@ -157,16 +166,17 @@ packaging==24.1           # via dask, deprecation, hyperspy, ipykernel, jupyter-
 palettable==3.3.3         # via pymatgen, -c requirements-dev.txt
 pandas==2.2.2             # via ifes-apt-tc-data-modeling, nomad-lab, panedr, pymatgen, pynxtools, radioactivedecay, xarray, -c requirements-dev.txt
 pandocfilters==1.5.1      # via nbconvert
-panedr==0.8.0             # via nomad-lab, -c requirements-dev.txt
+panedr==0.8.0             # via atomisticparsers, nomad-lab, -c requirements-dev.txt
 parmed==4.2.2             # via nomad-lab, -c requirements-dev.txt
 parso==0.8.4              # via jedi
 partd==1.4.2              # via dask
 perovskite-solar-cell-database @ git+https://github.com/FAIRmat-NFDI/nomad-perovskite-solar-cells-database.git@f394d21abafeb659729af0c94e5f90949fce01c1  # via -r default_plugins.txt
 pexpect==4.9.0 ; sys_platform != 'emscripten' and sys_platform != 'win32'  # via ipython
+phonopy==2.11.0           # via asr, workflowparsers
 pillow==10.4.0            # via fabio, imageio, matplotlib, nionswift, rdkit, scikit-image, -c requirements-dev.txt
 pint==0.17                # via fairmat-readers-xrd, hyperspy, nomad-lab, pynxtools-xps, pynxtools-xrd, rosettasciio, -c requirements-dev.txt
 platformdirs==4.2.2       # via jupyter-core, pooch, xraydb, -c requirements-dev.txt
-plotly==5.23.0            # via pymatgen, -c requirements-dev.txt
+plotly==5.23.0            # via asr, pymatgen, -c requirements-dev.txt
 pooch==1.8.2              # via kikuchipy, orix
 prettytable==3.11.0       # via hyperspy
 prometheus-client==0.20.0  # via jupyter-server, -c requirements-dev.txt
@@ -179,11 +189,11 @@ pyasn1==0.6.0             # via pyasn1-modules, rfc3161ng, -c requirements-dev.t
 pyasn1-modules==0.4.0     # via rfc3161ng, -c requirements-dev.txt
 pybtex==0.24.0            # via pymatgen, -c requirements-dev.txt
 pycparser==2.22           # via cffi, -c requirements-dev.txt
-pydantic==1.10.18         # via nomad-lab, nomad-porous-materials, -c requirements-dev.txt
+pydantic==1.10.18         # via atomisticparsers, databaseparsers, electronicparsers, nomad-lab, nomad-porous-materials, workflowparsers, -c requirements-dev.txt
 pyedr==0.8.0              # via panedr, -c requirements-dev.txt
 pyfai==2024.5.0           # via pyxem
 pygments==2.18.0          # via ipython, jupyter-console, nbconvert, qtconsole, -c requirements-dev.txt
-pymatgen==2024.5.1        # via nomad-lab, nomad-porous-materials, -c requirements-dev.txt
+pymatgen==2024.5.1        # via asr, nomad-lab, nomad-porous-materials, -c requirements-dev.txt
 pynxtools==0.5.0          # via pynxtools-apm, pynxtools-ellips, pynxtools-em, pynxtools-mpes, pynxtools-raman, pynxtools-stm, pynxtools-xps, pynxtools-xrd, -r default_plugins.txt
 pynxtools-apm==0.2        # via pynxtools
 pynxtools-ellips==0.0.4   # via pynxtools
@@ -204,7 +214,7 @@ pytz==2024.1              # via nionswift, nomad-lab, pandas, -c requirements-de
 pywin32==306 ; platform_python_implementation != 'PyPy' and sys_platform == 'win32'  # via jupyter-core, -c requirements-dev.txt
 pywinpty==2.0.13 ; os_name == 'nt'  # via jupyter-server, jupyter-server-terminals, terminado
 pyxem==0.16.0             # via pynxtools-em
-pyyaml==6.0.2             # via dask, hyperspy, jupyter-events, kikuchipy, nomad-lab, pybtex, pynxtools, pynxtools-mpes, rosettasciio, -c requirements-dev.txt
+pyyaml==6.0.2             # via dask, electronicparsers, hyperspy, jupyter-events, kikuchipy, nomad-lab, phonopy, pybtex, pynxtools, pynxtools-mpes, rosettasciio, -c requirements-dev.txt
 pyzeo==0.1.6              # via nomad-porous-materials
 pyzmq==26.2.0             # via ipykernel, ipyparallel, jupyter-client, jupyter-console, jupyter-server, qtconsole
 qtconsole==5.5.2          # via jupyter
@@ -221,15 +231,16 @@ ruamel-yaml==0.18.6       # via pymatgen, -c requirements-dev.txt
 ruamel-yaml-clib==0.2.8 ; python_full_version < '3.13' and platform_python_implementation == 'CPython'  # via ruamel-yaml, -c requirements-dev.txt
 scikit-image==0.22.0      # via hyperspy, kikuchipy, pyxem
 scikit-learn==1.5.1       # via kikuchipy, matid, nomad-lab, pyxem, -c requirements-dev.txt
-scipy==1.14.1             # via ase, diffsims, findiff, griddataformats, hyperspy, kikuchipy, lmfit, mdanalysis, niondata, nionswift, nomad-lab, orix, pyfai, pymatgen, pyxem, radioactivedecay, scikit-image, scikit-learn, sparse, xraydb, -c requirements-dev.txt
+scipy==1.14.1             # via ase, atomisticparsers, diffsims, findiff, griddataformats, hyperspy, kikuchipy, lmfit, mdanalysis, niondata, nionswift, nomad-lab, orix, pyfai, pymatgen, pyxem, radioactivedecay, scikit-image, scikit-learn, sparse, xraydb, -c requirements-dev.txt
 send2trash==1.8.3         # via jupyter-server
 setuptools==73.0.1        # via pynxtools-xps, radioactivedecay
 silx==2.1.1               # via pyfai
+simulationparsers @ git+https://github.com/nomad-coe/simulation-parsers.git@bf69fd31e16e6aa21bd819db68e905f986ebb3c7  # via atomisticparsers, electronicparsers
 six==1.16.0               # via anytree, asttokens, bleach, elasticsearch-dsl, pybtex, python-dateutil, rfc3339-validator, -c requirements-dev.txt
 sniffio==1.3.1            # via anyio, httpx, -c requirements-dev.txt
 soupsieve==2.6            # via beautifulsoup4, -c requirements-dev.txt
 sparse==0.15.4            # via hyperspy
-spglib==2.5.0             # via matid, pymatgen, -c requirements-dev.txt
+spglib==2.5.0             # via asr, matid, phonopy, pymatgen, -c requirements-dev.txt
 sqlalchemy==2.0.32        # via xraydb, -c requirements-dev.txt
 stack-data==0.6.3         # via ipython
 sympy==1.13.2             # via findiff, hyperspy, pymatgen, radioactivedecay, -c requirements-dev.txt
@@ -260,9 +271,11 @@ wcwidth==0.2.13           # via prettytable, prompt-toolkit, -c requirements-dev
 webcolors==24.8.0         # via jsonschema, -c requirements-dev.txt
 webencodings==0.5.1       # via bleach, tinycss2, -c requirements-dev.txt
 websocket-client==1.8.0   # via jupyter-server
+werkzeug==3.0.4           # via flask
 widgetsnbextension==4.0.13  # via ipywidgets
+workflowparsers @ git+https://github.com/nomad-coe/workflow-parsers.git@872eabb8dd53584278df26519a72d63652bad098  # via -r default_plugins.txt
 wrapt==1.16.0             # via nomad-lab, -c requirements-dev.txt
-xarray==2024.7.0          # via nomad-lab, pynxtools, pynxtools-mpes, pynxtools-xps, -c requirements-dev.txt
+xarray==2024.7.0          # via nomad-lab, pynxtools, pynxtools-mpes, pynxtools-xps, workflowparsers, -c requirements-dev.txt
 xmltodict==0.13.0         # via fairmat-readers-xrd, ifes-apt-tc-data-modeling, pynxtools-em, pynxtools-xrd
 xraydb==4.5.4             # via pynxtools-em
 zarr==2.18.2 ; platform_machine == 'AMD64' or platform_machine == 'x86_64'  # via hyperspy
diff --git a/requirements.txt b/requirements.txt
index fcc4d37663730cb9777e214b14ffab83feeddd49..37631e02723784d2c19104976816fda185cd38b2 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -6,9 +6,8 @@ amqp==5.2.0               # via kombu
 aniso8601==9.0.1          # via nomad-lab (pyproject.toml)
 anyio==4.4.0              # via httpx, starlette, watchfiles
 arrow==1.3.0              # via isoduration
-ase==3.22.1               # via asr, matid, nomad-lab (pyproject.toml)
+ase==3.22.1               # via matid, nomad-lab (pyproject.toml)
 asgiref==3.8.1            # via nomad-lab (pyproject.toml)
-asr==0.4.1                # via nomad-lab (pyproject.toml)
 async-generator==1.10     # via jupyterhub
 async-property==0.2.2     # via python-keycloak
 attrs==24.2.0             # via jsonschema
@@ -18,7 +17,6 @@ basicauth==0.4.1          # via nomad-lab (pyproject.toml)
 beautifulsoup4==4.12.3    # via nomad-lab (pyproject.toml)
 billiard==4.2.0           # via celery
 bitarray==2.9.2           # via nomad-dos-fingerprints (dependencies/nomad-dos-fingerprints/pyproject.toml), nomad-lab (pyproject.toml)
-blinker==1.8.2            # via flask
 cachetools==5.5.0         # via nomad-lab (pyproject.toml)
 celery==5.4.0             # via nomad-lab (pyproject.toml)
 certifi==2024.7.4         # via elasticsearch, httpcore, httpx, netcdf4, requests
@@ -26,7 +24,7 @@ certipy==0.1.3            # via jupyterhub
 cffi==1.17.0 ; platform_python_implementation != 'PyPy'  # via cryptography
 cftime==1.6.4             # via netcdf4
 charset-normalizer==3.3.2  # via requests
-click==8.1.7              # via asr, celery, click-didyoumean, click-plugins, click-repl, flask, uvicorn, nomad-lab (pyproject.toml)
+click==8.1.7              # via celery, click-didyoumean, click-plugins, click-repl, uvicorn, nomad-lab (pyproject.toml)
 click-didyoumean==0.3.1   # via celery
 click-plugins==1.1.1      # via celery
 click-repl==0.3.0         # via celery
@@ -50,7 +48,6 @@ et-xmlfile==1.1.0         # via openpyxl
 fastapi==0.99.1           # via h5grove, nomad-lab (pyproject.toml)
 fasteners==0.19           # via mdanalysis
 filelock==3.3.1           # via nomad-lab (pyproject.toml)
-flask==3.0.3              # via asr
 fonttools==4.53.1         # via matplotlib
 fqdn==1.5.1               # via jsonschema
 gitdb==4.0.11             # via gitpython
@@ -60,7 +57,7 @@ griddataformats==1.0.2    # via mdanalysis
 gunicorn==21.2.0          # via nomad-lab (pyproject.toml)
 h11==0.14.0               # via httpcore, uvicorn
 h5grove==1.3.0            # via nomad-lab (pyproject.toml)
-h5py==3.11.0              # via h5grove, phonopy, nomad-lab (pyproject.toml)
+h5py==3.11.0              # via h5grove, nomad-lab (pyproject.toml)
 hjson==3.1.0              # via nomad-lab (pyproject.toml)
 html5lib==1.1             # via nomad-lab (pyproject.toml)
 httpcore==1.0.5           # via httpx
@@ -72,8 +69,8 @@ importlib-metadata==7.1.0  # via nomad-lab (pyproject.toml)
 inflection==0.5.1         # via nomad-lab (pyproject.toml)
 isodate==0.6.1            # via rdflib
 isoduration==20.11.0      # via jsonschema
-itsdangerous==2.2.0       # via flask, nomad-lab (pyproject.toml)
-jinja2==3.1.4             # via flask, jupyterhub, sphinx
+itsdangerous==2.2.0       # via nomad-lab (pyproject.toml)
+jinja2==3.1.4             # via jupyterhub, sphinx
 jmespath==1.0.1           # via nomad-lab (pyproject.toml)
 joblib==1.4.2             # via mdanalysis, pymatgen, scikit-learn
 jsonpointer==3.0.0        # via jsonschema
@@ -87,12 +84,12 @@ kombu==5.4.0              # via celery
 lark==1.2.2               # via optimade
 latexcodec==3.0.0         # via pybtex
 lxml==5.3.0               # via lxml-html-clean, nomad-lab (pyproject.toml)
-lxml-html-clean==0.2.0    # via nomad-lab (pyproject.toml)
+lxml-html-clean==0.2.1    # via nomad-lab (pyproject.toml)
 m2r==0.2.1                # via nomad-lab (pyproject.toml)
 mako==1.3.5               # via alembic
-markupsafe==2.1.5         # via jinja2, mako, werkzeug
+markupsafe==2.1.5         # via jinja2, mako
 matid==2.1.2              # via nomad-lab (pyproject.toml)
-matplotlib==3.9.2         # via ase, asr, mdanalysis, phonopy, pymatgen
+matplotlib==3.9.2         # via ase, mdanalysis, pymatgen
 mda-xdrlib==0.2.0         # via mdanalysis, pyedr
 mdanalysis==2.7.0         # via nomad-lab (pyproject.toml)
 mistune==3.0.2            # via m2r
@@ -107,7 +104,7 @@ netcdf4==1.6.5            # via nomad-lab (pyproject.toml)
 networkx==3.3             # via matid, pymatgen, nomad-lab (pyproject.toml)
 nomad-openbis==1.0.0      # via nomad-lab (pyproject.toml)
 nptyping==1.4.4           # via nomad-lab (pyproject.toml)
-numpy==1.26.4             # via ase, cftime, contourpy, griddataformats, h5grove, h5py, matid, matplotlib, mdanalysis, mrcfile, netcdf4, nptyping, pandas, phonopy, pyedr, pymatgen, rdkit, scikit-learn, scipy, spglib, tifffile, xarray, nomad-dos-fingerprints (dependencies/nomad-dos-fingerprints/pyproject.toml), nomad-lab (pyproject.toml)
+numpy==1.26.4             # via ase, cftime, contourpy, griddataformats, h5grove, h5py, matid, matplotlib, mdanalysis, mrcfile, netcdf4, nptyping, pandas, pyedr, pymatgen, rdkit, scikit-learn, scipy, spglib, tifffile, xarray, nomad-dos-fingerprints (dependencies/nomad-dos-fingerprints/pyproject.toml), nomad-lab (pyproject.toml)
 oauthenticator==15.1.0    # via nomad-lab (pyproject.toml)
 oauthlib==3.2.2           # via jupyterhub
 openpyxl==3.1.5           # via nomad-lab (pyproject.toml)
@@ -119,10 +116,9 @@ pamela==1.2.0 ; sys_platform != 'win32'  # via jupyterhub
 pandas==2.2.2             # via nomad-openbis, panedr, pymatgen, xarray, eelsdbconverter (dependencies/parsers/eelsdb/pyproject.toml), nomad-lab (pyproject.toml)
 panedr==0.8.0             # via nomad-lab (pyproject.toml)
 parmed==4.2.2             # via nomad-lab (pyproject.toml)
-phonopy==2.27.0           # via asr
 pillow==10.4.0            # via matplotlib, rdkit
 pint==0.17                # via nomad-lab (pyproject.toml)
-plotly==5.23.0            # via asr, pymatgen
+plotly==5.23.0            # via pymatgen
 prometheus-client==0.20.0  # via jupyterhub
 prompt-toolkit==3.0.47    # via click-repl
 psutil==6.0.0 ; sys_platform == 'win32'  # via jupyterhub
@@ -134,7 +130,7 @@ pydantic==1.10.18         # via fastapi, optimade, nomad-lab (pyproject.toml)
 pyedr==0.8.0              # via panedr
 pygments==2.18.0          # via sphinx
 pyjwt==2.6.0              # via nomad-lab (pyproject.toml)
-pymatgen==2024.5.1        # via asr, nomad-lab (pyproject.toml)
+pymatgen==2024.5.1        # via nomad-lab (pyproject.toml)
 pymongo==4.6.3            # via mongoengine, optimade, nomad-lab (pyproject.toml)
 pyopenssl==24.2.1         # via certipy
 pyparsing==3.1.4          # via matplotlib, rdflib
@@ -149,7 +145,7 @@ python-magic-bin==0.4.14 ; sys_platform == 'win32'  # via nomad-lab (pyproject.t
 python-multipart==0.0.9   # via nomad-lab (pyproject.toml)
 pytz==2024.1              # via pandas, nomad-lab (pyproject.toml)
 pywin32==306 ; sys_platform == 'win32'  # via docker
-pyyaml==6.0.2             # via phonopy, pybtex, uvicorn, nomad-lab (pyproject.toml)
+pyyaml==6.0.2             # via pybtex, uvicorn, nomad-lab (pyproject.toml)
 rdflib==5.0.0             # via nomad-lab (pyproject.toml)
 rdkit==2023.9.5           # via nomad-lab (pyproject.toml)
 recommonmark==0.7.1       # via nomad-lab (pyproject.toml)
@@ -169,7 +165,7 @@ smmap==5.0.1              # via gitdb
 sniffio==1.3.1            # via anyio, httpx
 snowballstemmer==2.2.0    # via sphinx
 soupsieve==2.6            # via beautifulsoup4
-spglib==2.5.0             # via asr, matid, phonopy, pymatgen
+spglib==2.5.0             # via matid, pymatgen
 sphinx==8.0.2             # via recommonmark
 sphinxcontrib-applehelp==2.0.0  # via sphinx
 sphinxcontrib-devhelp==2.0.0  # via sphinx
@@ -202,12 +198,11 @@ uvicorn==0.30.6           # via h5grove, nomad-lab (pyproject.toml)
 uvloop==0.20.0 ; platform_python_implementation != 'PyPy' and sys_platform != 'cygwin' and sys_platform != 'win32'  # via uvicorn
 validators==0.18.2        # via nomad-lab (pyproject.toml)
 vine==5.1.0               # via amqp, celery, kombu
-watchfiles==0.23.0        # via uvicorn
+watchfiles==0.24.0        # via uvicorn
 wcwidth==0.2.13           # via prompt-toolkit
 webcolors==24.8.0         # via jsonschema
 webencodings==0.5.1       # via html5lib
-websockets==13.0          # via uvicorn
-werkzeug==3.0.4           # via flask
+websockets==13.0.1        # via uvicorn
 wrapt==1.16.0             # via nomad-lab (pyproject.toml)
 xarray==2024.7.0          # via nomad-lab (pyproject.toml)
 zipp==3.20.1              # via importlib-metadata
diff --git a/tests/datamodel/test_datamodel.py b/tests/datamodel/test_datamodel.py
index 5be9347c7d481a03706333d67aca74a70d938a65..ed8916ef3400a5df198af0c9d27800290da9b6ca 100644
--- a/tests/datamodel/test_datamodel.py
+++ b/tests/datamodel/test_datamodel.py
@@ -86,7 +86,7 @@ def test_common_metainfo():
 @pytest.mark.skipif(runschema is None, reason=SCHEMA_IMPORT_ERROR)
 def test_vasp_metainfo():
     from runschema.run import Run
-    from electronicparsers.vasp.metainfo import m_env  # pylint: disable=unused-import
+    from electronicparsers.vasp.metainfo import vasp  # pylint: disable=unused-import
 
     run = Run()
     assert 'vasp_src_date' in run.m_def.all_quantities
diff --git a/tests/test_config.py b/tests/test_config.py
index 1528b7192acec10c07b4dd514786a49b25b0d6de..5ea2a40fce49e5397caa4fe6a93ca7335dc3bc52 100644
--- a/tests/test_config.py
+++ b/tests/test_config.py
@@ -23,7 +23,7 @@ import yaml
 from pydantic import ValidationError
 
 from nomad.config import load_config
-from nomad.config.models.plugins import Parser, Schema
+from nomad.config.models.plugins import Parser, Schema, ParserEntryPoint
 from nomad.utils import flatten_dict
 
 from .utils import assert_log
@@ -287,9 +287,17 @@ def test_config_merge(conf_yaml, conf_env, conf_expected, mockopen, monkeypatch)
         pytest.param(
             {
                 'plugins': {
-                    'options': {'parsers/vasp': {'mainfile_name_re': 'a'}},
+                    'options': {
+                        'electronicparsers:vasp_parser_entry_point': {
+                            'mainfile_name_re': 'a'
+                        }
+                    },
                     'entry_points': {
-                        'options': {'parsers/vasp': {'mainfile_name_re': 'b'}}
+                        'options': {
+                            'electronicparsers:vasp_parser_entry_point': {
+                                'mainfile_name_re': 'b'
+                            }
+                        }
                     },
                 },
             },
@@ -297,9 +305,9 @@ def test_config_merge(conf_yaml, conf_env, conf_expected, mockopen, monkeypatch)
                 'plugins': {
                     'entry_points': {
                         'options': {
-                            'parsers/vasp': {
+                            'electronicparsers:vasp_parser_entry_point': {
                                 'mainfile_name_re': 'a',
-                                'python_package': 'electronicparsers.vasp',
+                                'plugin_package': 'electronicparsers',
                             }
                         }
                     }
@@ -323,9 +331,9 @@ def test_parser_plugins():
     parsers = [
         entry_point
         for entry_point in config.plugins.entry_points.options.values()
-        if isinstance(entry_point, Parser)
+        if isinstance(entry_point, (Parser, ParserEntryPoint))
     ]
-    assert len(parsers) == 70
+    assert len(parsers) == 71
 
 
 def test_plugin_polymorphism(mockopen, monkeypatch):