nomad-material-processing 1.0.5__tar.gz → 1.0.7__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (102) hide show
  1. nomad_material_processing-1.0.7/.github/workflows/mkdocs-deploy.yml +34 -0
  2. {nomad_material_processing-1.0.5 → nomad_material_processing-1.0.7}/.github/workflows/python-test.yml +1 -1
  3. {nomad_material_processing-1.0.5 → nomad_material_processing-1.0.7}/PKG-INFO +11 -4
  4. nomad_material_processing-1.0.7/docs/main.py +1 -0
  5. nomad_material_processing-1.0.7/docs/reference/schemas/combinatorial.md +1 -0
  6. nomad_material_processing-1.0.7/docs/reference/schemas/crystal_growth.md +1 -0
  7. nomad_material_processing-1.0.7/docs/reference/schemas/epitaxy.md +1 -0
  8. nomad_material_processing-1.0.7/docs/reference/schemas/general.md +1 -0
  9. nomad_material_processing-1.0.7/docs/reference/schemas/solution/general.md +1 -0
  10. nomad_material_processing-1.0.7/docs/reference/schemas/vapor_deposition/cvd/general.md +1 -0
  11. nomad_material_processing-1.0.7/docs/reference/schemas/vapor_deposition/cvd/movpe.md +1 -0
  12. nomad_material_processing-1.0.7/docs/reference/schemas/vapor_deposition/general.md +1 -0
  13. nomad_material_processing-1.0.7/docs/reference/schemas/vapor_deposition/pvd/general.md +1 -0
  14. nomad_material_processing-1.0.7/docs/reference/schemas/vapor_deposition/pvd/mbe.md +1 -0
  15. nomad_material_processing-1.0.7/docs/reference/schemas/vapor_deposition/pvd/pld.md +1 -0
  16. nomad_material_processing-1.0.7/docs/reference/schemas/vapor_deposition/pvd/sputtering.md +1 -0
  17. nomad_material_processing-1.0.7/docs/reference/schemas/vapor_deposition/pvd/thermal.md +1 -0
  18. nomad_material_processing-1.0.7/docs/reference/schemas.md +15 -0
  19. nomad_material_processing-1.0.7/docs/reference/solution.md +3 -0
  20. nomad_material_processing-1.0.7/docs/reference/vapor_depostion.md +3 -0
  21. {nomad_material_processing-1.0.5 → nomad_material_processing-1.0.7}/mkdocs.yml +23 -3
  22. {nomad_material_processing-1.0.5 → nomad_material_processing-1.0.7}/pyproject.toml +9 -2
  23. {nomad_material_processing-1.0.5 → nomad_material_processing-1.0.7}/src/nomad_material_processing/general.py +80 -21
  24. {nomad_material_processing-1.0.5 → nomad_material_processing-1.0.7}/src/nomad_material_processing/solution/general.py +2 -2
  25. {nomad_material_processing-1.0.5 → nomad_material_processing-1.0.7}/src/nomad_material_processing/vapor_deposition/cvd/general.py +7 -0
  26. {nomad_material_processing-1.0.5 → nomad_material_processing-1.0.7}/src/nomad_material_processing.egg-info/PKG-INFO +11 -4
  27. {nomad_material_processing-1.0.5 → nomad_material_processing-1.0.7}/src/nomad_material_processing.egg-info/SOURCES.txt +20 -0
  28. nomad_material_processing-1.0.7/src/nomad_material_processing.egg-info/requires.txt +12 -0
  29. nomad_material_processing-1.0.7/src/nomad_material_processing.egg-info/scm_file_list.json +92 -0
  30. nomad_material_processing-1.0.7/src/nomad_material_processing.egg-info/scm_version.json +8 -0
  31. nomad_material_processing-1.0.7/tests/data/test_crystalline_substrate.archive.yaml +4 -0
  32. nomad_material_processing-1.0.7/tests/solution/test_solution_schema.py +203 -0
  33. nomad_material_processing-1.0.7/tests/test_schema.py +29 -0
  34. nomad_material_processing-1.0.5/.github/workflows/mkdocs-deploy.yml +0 -28
  35. nomad_material_processing-1.0.5/src/nomad_material_processing.egg-info/requires.txt +0 -6
  36. nomad_material_processing-1.0.5/tests/solution/test_solution_schema.py +0 -198
  37. nomad_material_processing-1.0.5/tests/test_schema.py +0 -15
  38. {nomad_material_processing-1.0.5 → nomad_material_processing-1.0.7}/.github/workflows/python-publish.yml +0 -0
  39. {nomad_material_processing-1.0.5 → nomad_material_processing-1.0.7}/.gitignore +0 -0
  40. {nomad_material_processing-1.0.5 → nomad_material_processing-1.0.7}/.vscode/settings.json +0 -0
  41. {nomad_material_processing-1.0.5 → nomad_material_processing-1.0.7}/CITATION.cff +0 -0
  42. {nomad_material_processing-1.0.5 → nomad_material_processing-1.0.7}/LICENSE +0 -0
  43. {nomad_material_processing-1.0.5 → nomad_material_processing-1.0.7}/README.md +0 -0
  44. {nomad_material_processing-1.0.5 → nomad_material_processing-1.0.7}/docs/assets/.gitignore +0 -0
  45. {nomad_material_processing-1.0.5 → nomad_material_processing-1.0.7}/docs/assets/favicon.png +0 -0
  46. {nomad_material_processing-1.0.5 → nomad_material_processing-1.0.7}/docs/assets/levelsschema.png +0 -0
  47. {nomad_material_processing-1.0.5 → nomad_material_processing-1.0.7}/docs/assets/nomad-logo.png +0 -0
  48. {nomad_material_processing-1.0.5 → nomad_material_processing-1.0.7}/docs/assets/nomad-plugin-logo.png +0 -0
  49. {nomad_material_processing-1.0.5 → nomad_material_processing-1.0.7}/docs/assets/use-built-in-schema-1.png +0 -0
  50. {nomad_material_processing-1.0.5 → nomad_material_processing-1.0.7}/docs/assets/use-built-in-schema-2.png +0 -0
  51. {nomad_material_processing-1.0.5 → nomad_material_processing-1.0.7}/docs/contact.md +0 -0
  52. {nomad_material_processing-1.0.5 → nomad_material_processing-1.0.7}/docs/explanation/data_model.md +0 -0
  53. {nomad_material_processing-1.0.5 → nomad_material_processing-1.0.7}/docs/explanation/levelsofschema.md +0 -0
  54. {nomad_material_processing-1.0.5 → nomad_material_processing-1.0.7}/docs/explanation/schemas.md +0 -0
  55. {nomad_material_processing-1.0.5 → nomad_material_processing-1.0.7}/docs/how_to/develop.md +0 -0
  56. {nomad_material_processing-1.0.5 → nomad_material_processing-1.0.7}/docs/how_to/install.md +0 -0
  57. {nomad_material_processing-1.0.5 → nomad_material_processing-1.0.7}/docs/how_to/use_this_plugin.md +0 -0
  58. {nomad_material_processing-1.0.5 → nomad_material_processing-1.0.7}/docs/how_to/use_this_plugin_old.md +0 -0
  59. {nomad_material_processing-1.0.5 → nomad_material_processing-1.0.7}/docs/index.md +0 -0
  60. {nomad_material_processing-1.0.5 → nomad_material_processing-1.0.7}/docs/reference/references.md +0 -0
  61. {nomad_material_processing-1.0.5 → nomad_material_processing-1.0.7}/docs/stylesheets/extra.css +0 -0
  62. {nomad_material_processing-1.0.5 → nomad_material_processing-1.0.7}/docs/theme/partials/header.html +0 -0
  63. {nomad_material_processing-1.0.5 → nomad_material_processing-1.0.7}/docs/tutorial/tutorial.md +0 -0
  64. {nomad_material_processing-1.0.5 → nomad_material_processing-1.0.7}/setup.cfg +0 -0
  65. {nomad_material_processing-1.0.5 → nomad_material_processing-1.0.7}/setup.py +0 -0
  66. {nomad_material_processing-1.0.5 → nomad_material_processing-1.0.7}/src/nomad_material_processing/__init__.py +0 -0
  67. {nomad_material_processing-1.0.5 → nomad_material_processing-1.0.7}/src/nomad_material_processing/combinatorial.py +0 -0
  68. {nomad_material_processing-1.0.5 → nomad_material_processing-1.0.7}/src/nomad_material_processing/crystal_growth.py +0 -0
  69. {nomad_material_processing-1.0.5 → nomad_material_processing-1.0.7}/src/nomad_material_processing/epitaxy.py +0 -0
  70. {nomad_material_processing-1.0.5 → nomad_material_processing-1.0.7}/src/nomad_material_processing/solution/__init__.py +0 -0
  71. {nomad_material_processing-1.0.5 → nomad_material_processing-1.0.7}/src/nomad_material_processing/solution/utils.py +0 -0
  72. {nomad_material_processing-1.0.5 → nomad_material_processing-1.0.7}/src/nomad_material_processing/utils.py +0 -0
  73. {nomad_material_processing-1.0.5 → nomad_material_processing-1.0.7}/src/nomad_material_processing/vapor_deposition/__init__.py +0 -0
  74. {nomad_material_processing-1.0.5 → nomad_material_processing-1.0.7}/src/nomad_material_processing/vapor_deposition/cvd/__init__.py +0 -0
  75. {nomad_material_processing-1.0.5 → nomad_material_processing-1.0.7}/src/nomad_material_processing/vapor_deposition/cvd/movpe.py +0 -0
  76. {nomad_material_processing-1.0.5 → nomad_material_processing-1.0.7}/src/nomad_material_processing/vapor_deposition/general.py +0 -0
  77. {nomad_material_processing-1.0.5 → nomad_material_processing-1.0.7}/src/nomad_material_processing/vapor_deposition/pvd/__init__.py +0 -0
  78. {nomad_material_processing-1.0.5 → nomad_material_processing-1.0.7}/src/nomad_material_processing/vapor_deposition/pvd/general.py +0 -0
  79. {nomad_material_processing-1.0.5 → nomad_material_processing-1.0.7}/src/nomad_material_processing/vapor_deposition/pvd/mbe.py +0 -0
  80. {nomad_material_processing-1.0.5 → nomad_material_processing-1.0.7}/src/nomad_material_processing/vapor_deposition/pvd/pld.py +0 -0
  81. {nomad_material_processing-1.0.5 → nomad_material_processing-1.0.7}/src/nomad_material_processing/vapor_deposition/pvd/sputtering.py +0 -0
  82. {nomad_material_processing-1.0.5 → nomad_material_processing-1.0.7}/src/nomad_material_processing/vapor_deposition/pvd/thermal.py +0 -0
  83. {nomad_material_processing-1.0.5 → nomad_material_processing-1.0.7}/src/nomad_material_processing.egg-info/dependency_links.txt +0 -0
  84. {nomad_material_processing-1.0.5 → nomad_material_processing-1.0.7}/src/nomad_material_processing.egg-info/entry_points.txt +0 -0
  85. {nomad_material_processing-1.0.5 → nomad_material_processing-1.0.7}/src/nomad_material_processing.egg-info/top_level.txt +0 -0
  86. {nomad_material_processing-1.0.5 → nomad_material_processing-1.0.7}/tests/conftest.py +0 -0
  87. {nomad_material_processing-1.0.5 → nomad_material_processing-1.0.7}/tests/data/test_crystal_growth.archive.yaml +0 -0
  88. {nomad_material_processing-1.0.5 → nomad_material_processing-1.0.7}/tests/data/test_czochralski_process.archive.yaml +0 -0
  89. {nomad_material_processing-1.0.5 → nomad_material_processing-1.0.7}/tests/data/test_epitaxy.archive.yaml +0 -0
  90. {nomad_material_processing-1.0.5 → nomad_material_processing-1.0.7}/tests/data/test_metal_organic_vapor_phase_epitaxy.archive.yaml +0 -0
  91. {nomad_material_processing-1.0.5 → nomad_material_processing-1.0.7}/tests/data/test_molecular_beam_epitaxy.archive.yaml +0 -0
  92. {nomad_material_processing-1.0.5 → nomad_material_processing-1.0.7}/tests/data/test_physical_vapor_deposition.archive.yaml +0 -0
  93. {nomad_material_processing-1.0.5 → nomad_material_processing-1.0.7}/tests/data/test_pulsed_laser_deposition.archive.yaml +0 -0
  94. {nomad_material_processing-1.0.5 → nomad_material_processing-1.0.7}/tests/data/test_sample_deposition.archive.yaml +0 -0
  95. {nomad_material_processing-1.0.5 → nomad_material_processing-1.0.7}/tests/data/test_solution.archive.yaml +0 -0
  96. {nomad_material_processing-1.0.5 → nomad_material_processing-1.0.7}/tests/data/test_solution_component.archive.yaml +0 -0
  97. {nomad_material_processing-1.0.5 → nomad_material_processing-1.0.7}/tests/data/test_sputter_deposition.archive.yaml +0 -0
  98. {nomad_material_processing-1.0.5 → nomad_material_processing-1.0.7}/tests/data/test_substrate.archive.yaml +0 -0
  99. {nomad_material_processing-1.0.5 → nomad_material_processing-1.0.7}/tests/data/test_thermal_evaporation.archive.yaml +0 -0
  100. {nomad_material_processing-1.0.5 → nomad_material_processing-1.0.7}/tests/data/test_thin_film.archive.yaml +0 -0
  101. {nomad_material_processing-1.0.5 → nomad_material_processing-1.0.7}/tests/data/test_thin_film_stack.archive.yaml +0 -0
  102. {nomad_material_processing-1.0.5 → nomad_material_processing-1.0.7}/tests/data/test_vapor_phase_epitaxy.archive.yaml +0 -0
@@ -0,0 +1,34 @@
1
+ name: Deploy MkDocs Site
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main # Triggers deployment on push to the main branch
7
+
8
+ env:
9
+ REGISTRY: ghcr.io
10
+ UV_VERSION: 0.6
11
+ PYTHON_VERSION: 3.12
12
+ UV_SYSTEM_PYTHON: true
13
+
14
+ jobs:
15
+ deploy:
16
+ runs-on: ubuntu-latest
17
+
18
+ steps:
19
+ - name: Checkout Repository
20
+ uses: actions/checkout@v4
21
+
22
+ - name: Install uv
23
+ uses: astral-sh/setup-uv@v5
24
+ with:
25
+ version: ${{ env.UV_VERSION }}
26
+
27
+ - name: Set up Python
28
+ uses: actions/setup-python@v5
29
+ with:
30
+ python-version: ${{ env.PYTHON_VERSION }}
31
+
32
+ - name: Build and Deploy
33
+ run: |
34
+ uv run --extra dev mkdocs gh-deploy --force --remote-branch gh-pages
@@ -21,7 +21,7 @@ jobs:
21
21
  strategy:
22
22
  fail-fast: false
23
23
  matrix:
24
- python_version: ["3.9", "3.10", "3.11"]
24
+ python_version: ["3.10", "3.11", "3.12"]
25
25
  steps:
26
26
  - uses: actions/checkout@v4
27
27
  - name: Set up Python ${{matrix.python_version}}
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: nomad-material-processing
3
- Version: 1.0.5
3
+ Version: 1.0.7
4
4
  Summary: A plugin for NOMAD containing base sections for material processing.
5
5
  Author: Andrea Albino, Sebastian Brückner, Michael Götte, Ahmed Ilyas, Sarthak Kapoor, José A. Márquez, Hampus Näsström, Markus Scheidgen
6
6
  Author-email: fairmat@physik.hu-berlin.de
@@ -212,18 +212,25 @@ Project-URL: Bug Tracker, https://github.com/FAIRmat-NFDI/nomad-material-process
212
212
  Classifier: Intended Audience :: Developers
213
213
  Classifier: Operating System :: OS Independent
214
214
  Classifier: Programming Language :: Python
215
- Classifier: Programming Language :: Python :: 3.9
216
215
  Classifier: Programming Language :: Python :: 3.10
217
216
  Classifier: Programming Language :: Python :: 3.11
218
217
  Classifier: Programming Language :: Python :: 3.12
219
218
  Classifier: License :: OSI Approved :: Apache Software License
219
+ Requires-Python: >=3.10
220
220
  Description-Content-Type: text/markdown
221
221
  License-File: LICENSE
222
- Requires-Dist: nomad-lab>=1.3.6
222
+ Requires-Dist: nomad-lab>=1.3.14
223
223
  Provides-Extra: dev
224
224
  Requires-Dist: pytest; extra == "dev"
225
225
  Requires-Dist: ruff; extra == "dev"
226
226
  Requires-Dist: structlog; extra == "dev"
227
+ Requires-Dist: nomad-docs>=2.0.1; extra == "dev"
228
+ Requires-Dist: mkdocs; extra == "dev"
229
+ Requires-Dist: mkdocs-material>=9.0; extra == "dev"
230
+ Requires-Dist: pymdown-extensions; extra == "dev"
231
+ Requires-Dist: mkdocs-click; extra == "dev"
232
+ Requires-Dist: mkdocs-macros-plugin>=1.0; extra == "dev"
233
+ Dynamic: license-file
227
234
 
228
235
  ![](https://github.com/FAIRmat-NFDI/nomad-material-processing/actions/workflows/publish.yml/badge.svg)
229
236
  ![](https://img.shields.io/pypi/pyversions/nomad-material-processing)
@@ -0,0 +1 @@
1
+ from nomad_docs import define_env # noqa: F401
@@ -0,0 +1 @@
1
+ {{ metainfo_package('nomad_material_processing.combinatorial') }}
@@ -0,0 +1 @@
1
+ {{ metainfo_package('nomad_material_processing.crystal_growth') }}
@@ -0,0 +1 @@
1
+ {{ metainfo_package('nomad_material_processing.epitaxy') }}
@@ -0,0 +1 @@
1
+ {{ metainfo_package('nomad_material_processing.general') }}
@@ -0,0 +1 @@
1
+ {{ metainfo_package('nomad_material_processing.solution.general') }}
@@ -0,0 +1 @@
1
+ {{ metainfo_package('nomad_material_processing.vapor_deposition.cvd.general') }}
@@ -0,0 +1 @@
1
+ {{ metainfo_package('nomad_material_processing.vapor_deposition.cvd.movpe') }}
@@ -0,0 +1 @@
1
+ {{ metainfo_package('nomad_material_processing.vapor_deposition.general') }}
@@ -0,0 +1 @@
1
+ {{ metainfo_package('nomad_material_processing.vapor_deposition.pvd.general') }}
@@ -0,0 +1 @@
1
+ {{ metainfo_package('nomad_material_processing.vapor_deposition.pvd.mbe') }}
@@ -0,0 +1 @@
1
+ {{ metainfo_package('nomad_material_processing.vapor_deposition.pvd.pld') }}
@@ -0,0 +1 @@
1
+ {{ metainfo_package('nomad_material_processing.vapor_deposition.pvd.sputtering') }}
@@ -0,0 +1 @@
1
+ {{ metainfo_package('nomad_material_processing.vapor_deposition.pvd.thermal') }}
@@ -0,0 +1,15 @@
1
+ ## General
2
+
3
+ {{ metainfo_package('nomad_material_processing.general') }}
4
+
5
+ ## Crystal growth
6
+
7
+ {{ metainfo_package('nomad_material_processing.crystal_growth') }}
8
+
9
+ ## Epitaxy
10
+
11
+ {{ metainfo_package('nomad_material_processing.epitaxy') }}
12
+
13
+ ## Combinatorial
14
+
15
+ {{ metainfo_package('nomad_material_processing.combinatorial') }}
@@ -0,0 +1,3 @@
1
+ ## General
2
+
3
+ {{ metainfo_package('nomad_material_processing.solution.general') }}
@@ -0,0 +1,3 @@
1
+ ## General
2
+
3
+ {{ metainfo_package('nomad_material_processing.vapor_deposition.general') }}
@@ -14,11 +14,32 @@ nav:
14
14
  - Install this Plugin: how_to/install.md
15
15
  - Use this Plugin: how_to/use_this_plugin.md
16
16
  - Contribute to this Plugin: how_to/develop.md
17
- - References: reference/references.md
17
+ - Reference:
18
+ - Glossary: reference/references.md
19
+ - Schemas:
20
+ - General: reference/schemas/general.md
21
+ - Combinatorial: reference/schemas/combinatorial.md
22
+ - Epitaxy: reference/schemas/epitaxy.md
23
+ - Crystal Growth: reference/schemas/crystal_growth.md
24
+ - Solution:
25
+ - General: reference/schemas/solution/general.md
26
+ - Vapor Deposition:
27
+ - General: reference/schemas/vapor_deposition/general.md
28
+ - CVD:
29
+ - General: reference/schemas/vapor_deposition/cvd/general.md
30
+ - MOVPE: reference/schemas/vapor_deposition/cvd/movpe.md
31
+ - PVD:
32
+ - General: reference/schemas/vapor_deposition/pvd/general.md
33
+ - Sputtering: reference/schemas/vapor_deposition/pvd/sputtering.md
34
+ - Thermal Evaporation: reference/schemas/vapor_deposition/pvd/thermal.md
35
+ - Pulsed Laser Deposition: reference/schemas/vapor_deposition/pvd/pld.md
36
+ - Molecular Beam Epitaxy: reference/schemas/vapor_deposition/pvd/mbe.md
18
37
  - Tutorials: tutorial/tutorial.md
19
38
  - Contact: contact.md
20
39
  plugins:
21
40
  - search
41
+ - macros:
42
+ module_name: docs/main
22
43
  theme:
23
44
  name: material
24
45
  palette:
@@ -56,5 +77,4 @@ extra_css:
56
77
  - stylesheets/extra.css
57
78
  extra_javascript:
58
79
  - javascript.js
59
- # - https://polyfill.io/v3/polyfill.min.js?features=es6
60
- - https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js
80
+ - https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js
@@ -10,7 +10,6 @@ classifiers = [
10
10
  "Intended Audience :: Developers",
11
11
  "Operating System :: OS Independent",
12
12
  "Programming Language :: Python",
13
- "Programming Language :: Python :: 3.9",
14
13
  "Programming Language :: Python :: 3.10",
15
14
  "Programming Language :: Python :: 3.11",
16
15
  "Programming Language :: Python :: 3.12",
@@ -20,6 +19,7 @@ name = "nomad-material-processing"
20
19
  dynamic = ["version"]
21
20
  description = "A plugin for NOMAD containing base sections for material processing."
22
21
  readme = "README.md"
22
+ requires-python = ">=3.10"
23
23
  authors = [
24
24
  { name = "Andrea Albino" },
25
25
  { name = "Sebastian Brückner" },
@@ -36,7 +36,7 @@ maintainers = [
36
36
  ]
37
37
  license = { file = "LICENSE" }
38
38
  dependencies = [
39
- "nomad-lab>=1.3.6",
39
+ "nomad-lab >= 1.3.14",
40
40
  ]
41
41
 
42
42
  [project.urls]
@@ -52,6 +52,12 @@ dev = [
52
52
  "pytest",
53
53
  "ruff",
54
54
  "structlog",
55
+ "nomad-docs>=2.0.1",
56
+ "mkdocs",
57
+ "mkdocs-material>=9.0",
58
+ "pymdown-extensions",
59
+ "mkdocs-click",
60
+ "mkdocs-macros-plugin>=1.0",
55
61
  ]
56
62
 
57
63
  [tool.ruff]
@@ -101,6 +107,7 @@ select = [
101
107
 
102
108
  ignore = [
103
109
  "F403", # 'from module import *' used; unable to detect undefined names
110
+ "PLC0415", # `import` should be at the top-level of a file
104
111
  ]
105
112
 
106
113
  fixable = ["ALL"]
@@ -1,13 +1,5 @@
1
1
  from typing import TYPE_CHECKING
2
2
 
3
- if TYPE_CHECKING:
4
- from nomad.datamodel.datamodel import (
5
- EntryArchive,
6
- )
7
- from structlog.stdlib import (
8
- BoundLogger,
9
- )
10
-
11
3
  import numpy as np
12
4
  from nomad.config import config
13
5
  from nomad.datamodel.data import ArchiveSection, EntryData
@@ -38,6 +30,15 @@ from nomad.metainfo import (
38
30
  SubSection,
39
31
  )
40
32
 
33
+ if TYPE_CHECKING:
34
+ from nomad.datamodel.datamodel import (
35
+ EntryArchive,
36
+ )
37
+ from structlog.stdlib import (
38
+ BoundLogger,
39
+ )
40
+
41
+
41
42
  m_package = SchemaPackage(
42
43
  aliases=[
43
44
  'nomad_material_processing',
@@ -705,6 +706,29 @@ class CrystalProperties(ArchiveSection):
705
706
  parameters, and the specific arrangement of atoms within the crystal lattice.
706
707
  """
707
708
 
709
+ bravais_lattices = Quantity(
710
+ type=MEnum(
711
+ 'Triclinic',
712
+ 'Monoclinic Primitive',
713
+ 'Monoclinic Base Centered',
714
+ 'Orthorhombic Primitive',
715
+ 'Orthorhombic Base Centered',
716
+ 'Orthorhombic Body Centered',
717
+ 'Orthorhombic Face Centered',
718
+ 'Tetragonal Primitive',
719
+ 'Tetragonal Body Centered',
720
+ 'Cubic Primitive',
721
+ 'Cubic Body Centered',
722
+ 'Cubic Face Centered',
723
+ 'Rhombohedral',
724
+ 'Hexagonal',
725
+ ),
726
+ description='The Bravais lattice of the crystal structure.',
727
+ a_eln=ELNAnnotation(
728
+ component=ELNComponentEnum.EnumEditQuantity,
729
+ ),
730
+ )
731
+
708
732
 
709
733
  class SubstrateCrystalProperties(CrystalProperties):
710
734
  """
@@ -714,21 +738,26 @@ class SubstrateCrystalProperties(CrystalProperties):
714
738
  bravais_lattices = Quantity(
715
739
  type=MEnum(
716
740
  'Triclinic',
717
- 'Monoclinic Simple',
741
+ 'Monoclinic Primitive',
718
742
  'Monoclinic Base Centered',
719
- 'Orthorhombic Simple',
743
+ 'Orthorhombic Primitive',
720
744
  'Orthorhombic Base Centered',
721
745
  'Orthorhombic Body Centered',
722
746
  'Orthorhombic Face Centered',
723
- 'Tetragonal Simple',
747
+ 'Tetragonal Primitive',
724
748
  'Tetragonal Body Centered',
725
- 'Cubic Simple',
749
+ 'Cubic Primitive',
726
750
  'Cubic Body Centered',
727
751
  'Cubic Face Centered',
728
- 'Trigonal',
752
+ 'Rhombohedral',
729
753
  'Hexagonal',
754
+ 'Monoclinic Simple', # Incorrect term, normalizes to Monoclinic Primitive
755
+ 'Orthorhombic Simple', # Incorrect term, norm. to Orthorhombic Primitive
756
+ 'Tetragonal Simple', # Incorrect term, normalizes to Tetragonal Primitive
757
+ 'Cubic Simple', # Incorrect term, normalizes to Cubic Primitive
758
+ 'Trigonal', # Incorrect term, normalizes to Rhombohedral
730
759
  ),
731
- description='The crystal system of the substrate.',
760
+ description='The Bravais lattice of the crystal structure.',
732
761
  a_eln=ELNAnnotation(
733
762
  component=ELNComponentEnum.EnumEditQuantity,
734
763
  ),
@@ -744,6 +773,30 @@ class SubstrateCrystalProperties(CrystalProperties):
744
773
  """,
745
774
  )
746
775
 
776
+ def normalize(self, archive: 'EntryArchive', logger: 'BoundLogger') -> None:
777
+ """
778
+ The normalizer for the `SubstrateCrystalProperties` class.
779
+
780
+ Args:
781
+ archive (EntryArchive): The archive containing the section that is being
782
+ normalized.
783
+ logger (BoundLogger): A structlog logger.
784
+ """
785
+ old_terminologies = {
786
+ 'Monoclinic Simple': 'Monoclinic Primitive',
787
+ 'Orthorhombic Simple': 'Orthorhombic Primitive',
788
+ 'Tetragonal Simple': 'Tetragonal Primitive',
789
+ 'Cubic Simple': 'Cubic Primitive',
790
+ 'Trigonal': 'Rhombohedral',
791
+ }
792
+ if self.bravais_lattices in old_terminologies:
793
+ logger.warning(
794
+ f"Bravais lattice '{self.bravais_lattices}' is incorrect terminology. "
795
+ f"Normalizing to '{old_terminologies[self.bravais_lattices]}'."
796
+ )
797
+ self.bravais_lattices = old_terminologies[self.bravais_lattices]
798
+ super().normalize(archive, logger)
799
+
747
800
 
748
801
  class ElectronicProperties(ArchiveSection):
749
802
  """
@@ -968,14 +1021,20 @@ class ThinFilmStack(CompositeSystem):
968
1021
  logger (BoundLogger): A structlog logger.
969
1022
  """
970
1023
  self.components = []
1024
+ if self.substrate and self.substrate.reference:
1025
+ self.components.append(
1026
+ SystemComponent(
1027
+ name=self.substrate.name, system=self.substrate.reference
1028
+ )
1029
+ )
971
1030
  if self.layers:
972
- self.components = [
973
- SystemComponent(system=layer.reference)
974
- for layer in self.layers
975
- if layer.reference
976
- ]
977
- if self.substrate.reference:
978
- self.components.append(SystemComponent(system=self.substrate.reference))
1031
+ self.components.extend(
1032
+ [
1033
+ SystemComponent(name=layer.name, system=layer.reference)
1034
+ for layer in self.layers
1035
+ if layer.reference
1036
+ ]
1037
+ )
979
1038
  super().normalize(archive, logger)
980
1039
 
981
1040
 
@@ -1,4 +1,4 @@
1
- from typing import TYPE_CHECKING, Union
1
+ from typing import TYPE_CHECKING
2
2
 
3
3
  from nomad.datamodel.data import (
4
4
  ArchiveSection,
@@ -247,7 +247,7 @@ class SolutionComponent(PureSubstanceComponent, BaseSolutionComponent):
247
247
  molar_concentration = SubSection(section_def=MolarConcentration)
248
248
  pure_substance = SubSection(section_def=PubChemPureSubstanceSection)
249
249
 
250
- def _calculate_moles(self, logger: 'BoundLogger' = None) -> Union[Quantity, None]:
250
+ def _calculate_moles(self, logger: 'BoundLogger' = None) -> Quantity | None:
251
251
  """
252
252
  A private method to calculate the moles of a component in the solution.
253
253
 
@@ -437,6 +437,13 @@ class FlashSource(CVDSource):
437
437
  Example: A heater, a filament, a laser, a bubbler, etc.
438
438
  """,
439
439
  )
440
+ peristaltic_pump_flux = SubSection(
441
+ section_def=VolumetricFlowRate,
442
+ description="""
443
+ The flux of the peristaltic pump
444
+ feeding into the flash evaporator.
445
+ """,
446
+ )
440
447
 
441
448
 
442
449
  class MistSource(CVDSource):
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: nomad-material-processing
3
- Version: 1.0.5
3
+ Version: 1.0.7
4
4
  Summary: A plugin for NOMAD containing base sections for material processing.
5
5
  Author: Andrea Albino, Sebastian Brückner, Michael Götte, Ahmed Ilyas, Sarthak Kapoor, José A. Márquez, Hampus Näsström, Markus Scheidgen
6
6
  Author-email: fairmat@physik.hu-berlin.de
@@ -212,18 +212,25 @@ Project-URL: Bug Tracker, https://github.com/FAIRmat-NFDI/nomad-material-process
212
212
  Classifier: Intended Audience :: Developers
213
213
  Classifier: Operating System :: OS Independent
214
214
  Classifier: Programming Language :: Python
215
- Classifier: Programming Language :: Python :: 3.9
216
215
  Classifier: Programming Language :: Python :: 3.10
217
216
  Classifier: Programming Language :: Python :: 3.11
218
217
  Classifier: Programming Language :: Python :: 3.12
219
218
  Classifier: License :: OSI Approved :: Apache Software License
219
+ Requires-Python: >=3.10
220
220
  Description-Content-Type: text/markdown
221
221
  License-File: LICENSE
222
- Requires-Dist: nomad-lab>=1.3.6
222
+ Requires-Dist: nomad-lab>=1.3.14
223
223
  Provides-Extra: dev
224
224
  Requires-Dist: pytest; extra == "dev"
225
225
  Requires-Dist: ruff; extra == "dev"
226
226
  Requires-Dist: structlog; extra == "dev"
227
+ Requires-Dist: nomad-docs>=2.0.1; extra == "dev"
228
+ Requires-Dist: mkdocs; extra == "dev"
229
+ Requires-Dist: mkdocs-material>=9.0; extra == "dev"
230
+ Requires-Dist: pymdown-extensions; extra == "dev"
231
+ Requires-Dist: mkdocs-click; extra == "dev"
232
+ Requires-Dist: mkdocs-macros-plugin>=1.0; extra == "dev"
233
+ Dynamic: license-file
227
234
 
228
235
  ![](https://github.com/FAIRmat-NFDI/nomad-material-processing/actions/workflows/publish.yml/badge.svg)
229
236
  ![](https://img.shields.io/pypi/pyversions/nomad-material-processing)
@@ -11,6 +11,7 @@ setup.py
11
11
  .vscode/settings.json
12
12
  docs/contact.md
13
13
  docs/index.md
14
+ docs/main.py
14
15
  docs/assets/.gitignore
15
16
  docs/assets/favicon.png
16
17
  docs/assets/levelsschema.png
@@ -26,6 +27,22 @@ docs/how_to/install.md
26
27
  docs/how_to/use_this_plugin.md
27
28
  docs/how_to/use_this_plugin_old.md
28
29
  docs/reference/references.md
30
+ docs/reference/schemas.md
31
+ docs/reference/solution.md
32
+ docs/reference/vapor_depostion.md
33
+ docs/reference/schemas/combinatorial.md
34
+ docs/reference/schemas/crystal_growth.md
35
+ docs/reference/schemas/epitaxy.md
36
+ docs/reference/schemas/general.md
37
+ docs/reference/schemas/solution/general.md
38
+ docs/reference/schemas/vapor_deposition/general.md
39
+ docs/reference/schemas/vapor_deposition/cvd/general.md
40
+ docs/reference/schemas/vapor_deposition/cvd/movpe.md
41
+ docs/reference/schemas/vapor_deposition/pvd/general.md
42
+ docs/reference/schemas/vapor_deposition/pvd/mbe.md
43
+ docs/reference/schemas/vapor_deposition/pvd/pld.md
44
+ docs/reference/schemas/vapor_deposition/pvd/sputtering.md
45
+ docs/reference/schemas/vapor_deposition/pvd/thermal.md
29
46
  docs/stylesheets/extra.css
30
47
  docs/theme/partials/header.html
31
48
  docs/tutorial/tutorial.md
@@ -40,6 +57,8 @@ src/nomad_material_processing.egg-info/SOURCES.txt
40
57
  src/nomad_material_processing.egg-info/dependency_links.txt
41
58
  src/nomad_material_processing.egg-info/entry_points.txt
42
59
  src/nomad_material_processing.egg-info/requires.txt
60
+ src/nomad_material_processing.egg-info/scm_file_list.json
61
+ src/nomad_material_processing.egg-info/scm_version.json
43
62
  src/nomad_material_processing.egg-info/top_level.txt
44
63
  src/nomad_material_processing/solution/__init__.py
45
64
  src/nomad_material_processing/solution/general.py
@@ -58,6 +77,7 @@ src/nomad_material_processing/vapor_deposition/pvd/thermal.py
58
77
  tests/conftest.py
59
78
  tests/test_schema.py
60
79
  tests/data/test_crystal_growth.archive.yaml
80
+ tests/data/test_crystalline_substrate.archive.yaml
61
81
  tests/data/test_czochralski_process.archive.yaml
62
82
  tests/data/test_epitaxy.archive.yaml
63
83
  tests/data/test_metal_organic_vapor_phase_epitaxy.archive.yaml
@@ -0,0 +1,12 @@
1
+ nomad-lab>=1.3.14
2
+
3
+ [dev]
4
+ pytest
5
+ ruff
6
+ structlog
7
+ nomad-docs>=2.0.1
8
+ mkdocs
9
+ mkdocs-material>=9.0
10
+ pymdown-extensions
11
+ mkdocs-click
12
+ mkdocs-macros-plugin>=1.0
@@ -0,0 +1,92 @@
1
+ {
2
+ "files": [
3
+ ".github/workflows/mkdocs-deploy.yml",
4
+ ".github/workflows/python-publish.yml",
5
+ ".github/workflows/python-test.yml",
6
+ ".gitignore",
7
+ ".vscode/settings.json",
8
+ "CITATION.cff",
9
+ "LICENSE",
10
+ "README.md",
11
+ "docs/assets/.gitignore",
12
+ "docs/assets/favicon.png",
13
+ "docs/assets/levelsschema.png",
14
+ "docs/assets/nomad-logo.png",
15
+ "docs/assets/nomad-plugin-logo.png",
16
+ "docs/assets/use-built-in-schema-1.png",
17
+ "docs/assets/use-built-in-schema-2.png",
18
+ "docs/contact.md",
19
+ "docs/explanation/data_model.md",
20
+ "docs/explanation/levelsofschema.md",
21
+ "docs/explanation/schemas.md",
22
+ "docs/how_to/develop.md",
23
+ "docs/how_to/install.md",
24
+ "docs/how_to/use_this_plugin.md",
25
+ "docs/how_to/use_this_plugin_old.md",
26
+ "docs/index.md",
27
+ "docs/main.py",
28
+ "docs/reference/references.md",
29
+ "docs/reference/schemas.md",
30
+ "docs/reference/schemas/combinatorial.md",
31
+ "docs/reference/schemas/crystal_growth.md",
32
+ "docs/reference/schemas/epitaxy.md",
33
+ "docs/reference/schemas/general.md",
34
+ "docs/reference/schemas/solution/general.md",
35
+ "docs/reference/schemas/vapor_deposition/cvd/general.md",
36
+ "docs/reference/schemas/vapor_deposition/cvd/movpe.md",
37
+ "docs/reference/schemas/vapor_deposition/general.md",
38
+ "docs/reference/schemas/vapor_deposition/pvd/general.md",
39
+ "docs/reference/schemas/vapor_deposition/pvd/mbe.md",
40
+ "docs/reference/schemas/vapor_deposition/pvd/pld.md",
41
+ "docs/reference/schemas/vapor_deposition/pvd/sputtering.md",
42
+ "docs/reference/schemas/vapor_deposition/pvd/thermal.md",
43
+ "docs/reference/solution.md",
44
+ "docs/reference/vapor_depostion.md",
45
+ "docs/stylesheets/extra.css",
46
+ "docs/theme/partials/header.html",
47
+ "docs/tutorial/tutorial.md",
48
+ "mkdocs.yml",
49
+ "pyproject.toml",
50
+ "setup.py",
51
+ "src/nomad_material_processing/__init__.py",
52
+ "src/nomad_material_processing/combinatorial.py",
53
+ "src/nomad_material_processing/crystal_growth.py",
54
+ "src/nomad_material_processing/epitaxy.py",
55
+ "src/nomad_material_processing/general.py",
56
+ "src/nomad_material_processing/solution/__init__.py",
57
+ "src/nomad_material_processing/solution/general.py",
58
+ "src/nomad_material_processing/solution/utils.py",
59
+ "src/nomad_material_processing/utils.py",
60
+ "src/nomad_material_processing/vapor_deposition/__init__.py",
61
+ "src/nomad_material_processing/vapor_deposition/cvd/__init__.py",
62
+ "src/nomad_material_processing/vapor_deposition/cvd/general.py",
63
+ "src/nomad_material_processing/vapor_deposition/cvd/movpe.py",
64
+ "src/nomad_material_processing/vapor_deposition/general.py",
65
+ "src/nomad_material_processing/vapor_deposition/pvd/__init__.py",
66
+ "src/nomad_material_processing/vapor_deposition/pvd/general.py",
67
+ "src/nomad_material_processing/vapor_deposition/pvd/mbe.py",
68
+ "src/nomad_material_processing/vapor_deposition/pvd/pld.py",
69
+ "src/nomad_material_processing/vapor_deposition/pvd/sputtering.py",
70
+ "src/nomad_material_processing/vapor_deposition/pvd/thermal.py",
71
+ "tests/conftest.py",
72
+ "tests/data/test_crystal_growth.archive.yaml",
73
+ "tests/data/test_crystalline_substrate.archive.yaml",
74
+ "tests/data/test_czochralski_process.archive.yaml",
75
+ "tests/data/test_epitaxy.archive.yaml",
76
+ "tests/data/test_metal_organic_vapor_phase_epitaxy.archive.yaml",
77
+ "tests/data/test_molecular_beam_epitaxy.archive.yaml",
78
+ "tests/data/test_physical_vapor_deposition.archive.yaml",
79
+ "tests/data/test_pulsed_laser_deposition.archive.yaml",
80
+ "tests/data/test_sample_deposition.archive.yaml",
81
+ "tests/data/test_solution.archive.yaml",
82
+ "tests/data/test_solution_component.archive.yaml",
83
+ "tests/data/test_sputter_deposition.archive.yaml",
84
+ "tests/data/test_substrate.archive.yaml",
85
+ "tests/data/test_thermal_evaporation.archive.yaml",
86
+ "tests/data/test_thin_film.archive.yaml",
87
+ "tests/data/test_thin_film_stack.archive.yaml",
88
+ "tests/data/test_vapor_phase_epitaxy.archive.yaml",
89
+ "tests/solution/test_solution_schema.py",
90
+ "tests/test_schema.py"
91
+ ]
92
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "tag": "1.0.7",
3
+ "distance": 0,
4
+ "node": "gb89a0d1841215fbc2f6a214a288e87469745d484",
5
+ "dirty": false,
6
+ "branch": "HEAD",
7
+ "node_date": "2026-11-06"
8
+ }
@@ -0,0 +1,4 @@
1
+ data:
2
+ m_def: nomad_material_processing.CrystallineSubstrate
3
+ crystal_properties:
4
+ bravais_lattices: Monoclinic Simple