mat3ra-esse 2024.4.8.post0__py3-none-any.whl → 2024.4.8.post2__py3-none-any.whl

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.

Potentially problematic release.


This version of mat3ra-esse might be problematic. Click here for more details.

Files changed (447) hide show
  1. mat3ra/esse/models/__init__.py +3 -0
  2. mat3ra/esse/models/core/__init__.py +3 -0
  3. mat3ra/esse/models/core/abstract/2d_data.py +17 -0
  4. mat3ra/esse/models/core/abstract/2d_plot.py +34 -0
  5. mat3ra/esse/models/core/abstract/3d_grid.py +14 -0
  6. mat3ra/esse/models/core/abstract/3d_tensor.py +19 -0
  7. mat3ra/esse/models/core/abstract/3d_vector_basis.py +15 -0
  8. mat3ra/esse/models/core/abstract/__init__.py +3 -0
  9. mat3ra/esse/models/core/abstract/point.py +13 -0
  10. mat3ra/esse/models/core/abstract/vector.py +13 -0
  11. mat3ra/esse/models/core/primitive/1d_data_series.py +13 -0
  12. mat3ra/esse/models/core/primitive/3d_lattice.py +34 -0
  13. mat3ra/esse/models/core/primitive/__init__.py +3 -0
  14. mat3ra/esse/models/core/primitive/array_of_3_booleans.py +13 -0
  15. mat3ra/esse/models/core/primitive/array_of_3_numbers.py +13 -0
  16. mat3ra/esse/models/core/primitive/array_of_ids.py +23 -0
  17. mat3ra/esse/models/core/primitive/array_of_strings.py +16 -0
  18. mat3ra/esse/models/core/primitive/axis.py +20 -0
  19. mat3ra/esse/models/core/primitive/group_info.py +20 -0
  20. mat3ra/esse/models/core/primitive/integer_one_or_zero.py +11 -0
  21. mat3ra/esse/models/core/primitive/linked_list/__init__.py +33 -0
  22. mat3ra/esse/models/core/primitive/linked_list/base_node.py +31 -0
  23. mat3ra/esse/models/core/primitive/linked_list/named_node.py +35 -0
  24. mat3ra/esse/models/core/primitive/linked_list/named_node_in_group.py +43 -0
  25. mat3ra/esse/models/core/primitive/linked_list/node_with_type.py +32 -0
  26. mat3ra/esse/models/core/primitive/scalar.py +11 -0
  27. mat3ra/esse/models/core/primitive/slugified_entry.py +18 -0
  28. mat3ra/esse/models/core/primitive/slugified_entry_or_slug.py +27 -0
  29. mat3ra/esse/models/core/primitive/string.py +11 -0
  30. mat3ra/esse/models/core/reference/__init__.py +260 -0
  31. mat3ra/esse/models/core/reference/exabyte.py +24 -0
  32. mat3ra/esse/models/core/reference/experiment/__init__.py +150 -0
  33. mat3ra/esse/models/core/reference/experiment/condition.py +28 -0
  34. mat3ra/esse/models/core/reference/experiment/location.py +18 -0
  35. mat3ra/esse/models/core/reference/literature/__init__.py +86 -0
  36. mat3ra/esse/models/core/reference/literature/name.py +16 -0
  37. mat3ra/esse/models/core/reference/literature/pages.py +14 -0
  38. mat3ra/esse/models/core/reference/modeling/__init__.py +49 -0
  39. mat3ra/esse/models/core/reference/modeling/exabyte.py +42 -0
  40. mat3ra/esse/models/core/reusable/__init__.py +3 -0
  41. mat3ra/esse/models/core/reusable/atomic_data/__init__.py +3 -0
  42. mat3ra/esse/models/core/reusable/atomic_data/per_orbital.py +21 -0
  43. mat3ra/esse/models/core/reusable/atomic_data/per_orbital_pair.py +34 -0
  44. mat3ra/esse/models/core/reusable/atomic_data/value_number.py +16 -0
  45. mat3ra/esse/models/core/reusable/atomic_data/value_string.py +16 -0
  46. mat3ra/esse/models/core/reusable/atomic_data_per_orbital_numeric.py +25 -0
  47. mat3ra/esse/models/core/reusable/atomic_data_per_orbital_pair_numeric.py +38 -0
  48. mat3ra/esse/models/core/reusable/atomic_orbital.py +20 -0
  49. mat3ra/esse/models/core/reusable/atomic_scalars.py +28 -0
  50. mat3ra/esse/models/core/reusable/atomic_strings.py +24 -0
  51. mat3ra/esse/models/core/reusable/atomic_vectors.py +24 -0
  52. mat3ra/esse/models/core/reusable/band_gap.py +42 -0
  53. mat3ra/esse/models/core/reusable/categories.py +43 -0
  54. mat3ra/esse/models/core/reusable/category_path.py +14 -0
  55. mat3ra/esse/models/core/reusable/dielectric_tensor_component.py +31 -0
  56. mat3ra/esse/models/core/reusable/energy.py +30 -0
  57. mat3ra/esse/models/core/reusable/file_metadata.py +24 -0
  58. mat3ra/esse/models/core/reusable/frequency_function_matrix.py +20 -0
  59. mat3ra/esse/models/core/reusable/object_storage_container_data.py +36 -0
  60. mat3ra/esse/models/definitions/__init__.py +3 -0
  61. mat3ra/esse/models/definitions/units.py +13 -0
  62. mat3ra/esse/models/element.py +74 -0
  63. mat3ra/esse/models/in_memory_entity/__init__.py +3 -0
  64. mat3ra/esse/models/in_memory_entity/base.py +58 -0
  65. mat3ra/esse/models/in_memory_entity/defaultable.py +62 -0
  66. mat3ra/esse/models/in_memory_entity/named.py +62 -0
  67. mat3ra/esse/models/in_memory_entity/named_defaultable.py +66 -0
  68. mat3ra/esse/models/in_memory_entity/named_defaultable_has_metadata.py +67 -0
  69. mat3ra/esse/models/in_memory_entity/named_defaultable_runtime_items.py +89 -0
  70. mat3ra/esse/models/job/__init__.py +3006 -0
  71. mat3ra/esse/models/job/base.py +287 -0
  72. mat3ra/esse/models/job/compute.py +161 -0
  73. mat3ra/esse/models/material/__init__.py +420 -0
  74. mat3ra/esse/models/material/conventional.py +13 -0
  75. mat3ra/esse/models/method/__init__.py +28 -0
  76. mat3ra/esse/models/method/categorized_method.py +86 -0
  77. mat3ra/esse/models/method/method_parameters.py +48 -0
  78. mat3ra/esse/models/method/unit_method.py +70 -0
  79. mat3ra/esse/models/methods_category/mathematical/__init__.py +3 -0
  80. mat3ra/esse/models/methods_category/mathematical/diff/__init__.py +48 -0
  81. mat3ra/esse/models/methods_category/mathematical/diff/enum_options.py +13 -0
  82. mat3ra/esse/models/methods_category/mathematical/diff/fd.py +52 -0
  83. mat3ra/esse/models/methods_category/mathematical/discr/__init__.py +48 -0
  84. mat3ra/esse/models/methods_category/mathematical/discr/enum_options.py +13 -0
  85. mat3ra/esse/models/methods_category/mathematical/discr/mesh/__init__.py +52 -0
  86. mat3ra/esse/models/methods_category/mathematical/discr/mesh/enum_options.py +13 -0
  87. mat3ra/esse/models/methods_category/mathematical/discr/mesh/hybrid.py +56 -0
  88. mat3ra/esse/models/methods_category/mathematical/discr/mesh/nstruct.py +56 -0
  89. mat3ra/esse/models/methods_category/mathematical/discr/mesh/struct/__init__.py +56 -0
  90. mat3ra/esse/models/methods_category/mathematical/discr/mesh/struct/cartesian.py +60 -0
  91. mat3ra/esse/models/methods_category/mathematical/discr/mesh/struct/enum_options.py +13 -0
  92. mat3ra/esse/models/methods_category/mathematical/enum_options.py +13 -0
  93. mat3ra/esse/models/methods_category/mathematical/fapprx/__init__.py +48 -0
  94. mat3ra/esse/models/methods_category/mathematical/fapprx/basisexp.py +52 -0
  95. mat3ra/esse/models/methods_category/mathematical/fapprx/enum_options.py +13 -0
  96. mat3ra/esse/models/methods_category/mathematical/fapprx/ipol/__init__.py +52 -0
  97. mat3ra/esse/models/methods_category/mathematical/fapprx/ipol/enum_options.py +13 -0
  98. mat3ra/esse/models/methods_category/mathematical/fapprx/ipol/lin.py +56 -0
  99. mat3ra/esse/models/methods_category/mathematical/fapprx/ipol/poly.py +56 -0
  100. mat3ra/esse/models/methods_category/mathematical/fapprx/ipol/spline.py +56 -0
  101. mat3ra/esse/models/methods_category/mathematical/intgr/__init__.py +48 -0
  102. mat3ra/esse/models/methods_category/mathematical/intgr/analytic/__init__.py +52 -0
  103. mat3ra/esse/models/methods_category/mathematical/intgr/analytic/enum_options.py +13 -0
  104. mat3ra/esse/models/methods_category/mathematical/intgr/analytic/volume.py +67 -0
  105. mat3ra/esse/models/methods_category/mathematical/intgr/diffeq/__init__.py +52 -0
  106. mat3ra/esse/models/methods_category/mathematical/intgr/diffeq/enum_options.py +13 -0
  107. mat3ra/esse/models/methods_category/mathematical/intgr/diffeq/order1.py +56 -0
  108. mat3ra/esse/models/methods_category/mathematical/intgr/diffeq/order2.py +56 -0
  109. mat3ra/esse/models/methods_category/mathematical/intgr/enum_options.py +13 -0
  110. mat3ra/esse/models/methods_category/mathematical/intgr/numquad/__init__.py +52 -0
  111. mat3ra/esse/models/methods_category/mathematical/intgr/numquad/enum_options.py +13 -0
  112. mat3ra/esse/models/methods_category/mathematical/intgr/numquad/gauss.py +56 -0
  113. mat3ra/esse/models/methods_category/mathematical/intgr/numquad/newcot.py +56 -0
  114. mat3ra/esse/models/methods_category/mathematical/intgr/transf/__init__.py +52 -0
  115. mat3ra/esse/models/methods_category/mathematical/intgr/transf/enum_options.py +13 -0
  116. mat3ra/esse/models/methods_category/mathematical/intgr/transf/fourier.py +56 -0
  117. mat3ra/esse/models/methods_category/mathematical/linalg/__init__.py +48 -0
  118. mat3ra/esse/models/methods_category/mathematical/linalg/dcomp.py +52 -0
  119. mat3ra/esse/models/methods_category/mathematical/linalg/diag/__init__.py +52 -0
  120. mat3ra/esse/models/methods_category/mathematical/linalg/diag/davidson.py +56 -0
  121. mat3ra/esse/models/methods_category/mathematical/linalg/diag/enum_options.py +13 -0
  122. mat3ra/esse/models/methods_category/mathematical/linalg/enum_options.py +13 -0
  123. mat3ra/esse/models/methods_category/mathematical/linalg/lintra.py +52 -0
  124. mat3ra/esse/models/methods_category/mathematical/linalg/matf.py +52 -0
  125. mat3ra/esse/models/methods_category/mathematical/opt/__init__.py +48 -0
  126. mat3ra/esse/models/methods_category/mathematical/opt/diff/__init__.py +52 -0
  127. mat3ra/esse/models/methods_category/mathematical/opt/diff/bracket.py +56 -0
  128. mat3ra/esse/models/methods_category/mathematical/opt/diff/enum_options.py +13 -0
  129. mat3ra/esse/models/methods_category/mathematical/opt/diff/local.py +56 -0
  130. mat3ra/esse/models/methods_category/mathematical/opt/diff/order1.py +56 -0
  131. mat3ra/esse/models/methods_category/mathematical/opt/diff/order2.py +56 -0
  132. mat3ra/esse/models/methods_category/mathematical/opt/diff/ordern/__init__.py +56 -0
  133. mat3ra/esse/models/methods_category/mathematical/opt/diff/ordern/cg.py +60 -0
  134. mat3ra/esse/models/methods_category/mathematical/opt/diff/ordern/enum_options.py +13 -0
  135. mat3ra/esse/models/methods_category/mathematical/opt/enum_options.py +13 -0
  136. mat3ra/esse/models/methods_category/mathematical/opt/ndiff/__init__.py +52 -0
  137. mat3ra/esse/models/methods_category/mathematical/opt/ndiff/direct.py +56 -0
  138. mat3ra/esse/models/methods_category/mathematical/opt/ndiff/enum_options.py +13 -0
  139. mat3ra/esse/models/methods_category/mathematical/opt/ndiff/pop.py +56 -0
  140. mat3ra/esse/models/methods_category/mathematical/opt/ndiff/stoch.py +56 -0
  141. mat3ra/esse/models/methods_category/mathematical/opt/root/__init__.py +52 -0
  142. mat3ra/esse/models/methods_category/mathematical/opt/root/bracket.py +56 -0
  143. mat3ra/esse/models/methods_category/mathematical/opt/root/enum_options.py +13 -0
  144. mat3ra/esse/models/methods_category/mathematical/opt/root/iter.py +56 -0
  145. mat3ra/esse/models/methods_category/mathematical/regression.py +54 -0
  146. mat3ra/esse/models/methods_category/physical/__init__.py +3 -0
  147. mat3ra/esse/models/methods_category/physical/enum_options.py +13 -0
  148. mat3ra/esse/models/methods_category/physical/qm/__init__.py +48 -0
  149. mat3ra/esse/models/methods_category/physical/qm/enum_options.py +13 -0
  150. mat3ra/esse/models/methods_category/physical/qm/wf/__init__.py +52 -0
  151. mat3ra/esse/models/methods_category/physical/qm/wf/ao/__init__.py +62 -0
  152. mat3ra/esse/models/methods_category/physical/qm/wf/ao/dunning.py +60 -0
  153. mat3ra/esse/models/methods_category/physical/qm/wf/ao/other.py +60 -0
  154. mat3ra/esse/models/methods_category/physical/qm/wf/ao/pople.py +60 -0
  155. mat3ra/esse/models/methods_category/physical/qm/wf/enum_options.py +13 -0
  156. mat3ra/esse/models/methods_category/physical/qm/wf/psp.py +63 -0
  157. mat3ra/esse/models/methods_category/physical/qm/wf/pw.py +56 -0
  158. mat3ra/esse/models/methods_category/physical/qm/wf/smearing.py +63 -0
  159. mat3ra/esse/models/methods_category/physical/qm/wf/tetrahedron.py +62 -0
  160. mat3ra/esse/models/methods_directory/legacy/__init__.py +3 -0
  161. mat3ra/esse/models/methods_directory/legacy/localorbital.py +37 -0
  162. mat3ra/esse/models/methods_directory/legacy/pseudopotential.py +40 -0
  163. mat3ra/esse/models/methods_directory/legacy/regression.py +118 -0
  164. mat3ra/esse/models/methods_directory/legacy/unknown.py +37 -0
  165. mat3ra/esse/models/methods_directory/mathematical/__init__.py +3 -0
  166. mat3ra/esse/models/methods_directory/mathematical/cg.py +87 -0
  167. mat3ra/esse/models/methods_directory/mathematical/davidson.py +83 -0
  168. mat3ra/esse/models/methods_directory/mathematical/regression/__init__.py +161 -0
  169. mat3ra/esse/models/methods_directory/mathematical/regression/data.py +69 -0
  170. mat3ra/esse/models/methods_directory/mathematical/regression/dataset.py +20 -0
  171. mat3ra/esse/models/methods_directory/mathematical/regression/kernel_ridge/__init__.py +3 -0
  172. mat3ra/esse/models/methods_directory/mathematical/regression/kernel_ridge/data_per_property.py +39 -0
  173. mat3ra/esse/models/methods_directory/mathematical/regression/linear/__init__.py +3 -0
  174. mat3ra/esse/models/methods_directory/mathematical/regression/linear/data_per_property.py +35 -0
  175. mat3ra/esse/models/methods_directory/mathematical/regression/per_feature_item.py +24 -0
  176. mat3ra/esse/models/methods_directory/mathematical/regression/precision.py +28 -0
  177. mat3ra/esse/models/methods_directory/mathematical/regression/precision_per_property.py +24 -0
  178. mat3ra/esse/models/methods_directory/physical/__init__.py +3 -0
  179. mat3ra/esse/models/methods_directory/physical/ao/__init__.py +3 -0
  180. mat3ra/esse/models/methods_directory/physical/ao/dunning.py +103 -0
  181. mat3ra/esse/models/methods_directory/physical/ao/enum_options.py +13 -0
  182. mat3ra/esse/models/methods_directory/physical/ao/other.py +107 -0
  183. mat3ra/esse/models/methods_directory/physical/ao/pople.py +101 -0
  184. mat3ra/esse/models/methods_directory/physical/psp/__init__.py +187 -0
  185. mat3ra/esse/models/methods_directory/physical/psp/file.py +106 -0
  186. mat3ra/esse/models/methods_directory/physical/psp/file_data_item.py +88 -0
  187. mat3ra/esse/models/methods_directory/physical/pw.py +83 -0
  188. mat3ra/esse/models/methods_directory/physical/smearing.py +90 -0
  189. mat3ra/esse/models/methods_directory/physical/tetrahedron.py +91 -0
  190. mat3ra/esse/models/model/__init__.py +43 -0
  191. mat3ra/esse/models/model/categorized_model.py +211 -0
  192. mat3ra/esse/models/model/mixins/__init__.py +3 -0
  193. mat3ra/esse/models/model/mixins/dft/__init__.py +5 -0
  194. mat3ra/esse/models/model/mixins/dft/double_hybrid_functional.py +18 -0
  195. mat3ra/esse/models/model/mixins/dft/enum_options.py +13 -0
  196. mat3ra/esse/models/model/mixins/dft/gga_functional.py +22 -0
  197. mat3ra/esse/models/model/mixins/dft/hybrid_functional.py +19 -0
  198. mat3ra/esse/models/model/mixins/dft/lda_functional.py +21 -0
  199. mat3ra/esse/models/model/mixins/dft/mgga_functional.py +21 -0
  200. mat3ra/esse/models/model/mixins/dispersion_correction.py +21 -0
  201. mat3ra/esse/models/model/mixins/enum_options.py +13 -0
  202. mat3ra/esse/models/model/mixins/hubbard.py +18 -0
  203. mat3ra/esse/models/model/mixins/spin_orbit_coupling.py +16 -0
  204. mat3ra/esse/models/model/mixins/spin_polarization.py +22 -0
  205. mat3ra/esse/models/model/model_parameters.py +123 -0
  206. mat3ra/esse/models/model/model_without_method.py +144 -0
  207. mat3ra/esse/models/models_category/__init__.py +3 -0
  208. mat3ra/esse/models/models_category/enum_options.py +13 -0
  209. mat3ra/esse/models/models_category/pb/__init__.py +48 -0
  210. mat3ra/esse/models/models_category/pb/enum_options.py +13 -0
  211. mat3ra/esse/models/models_category/pb/qm/__init__.py +52 -0
  212. mat3ra/esse/models/models_category/pb/qm/abin/__init__.py +56 -0
  213. mat3ra/esse/models/models_category/pb/qm/abin/enum_options.py +13 -0
  214. mat3ra/esse/models/models_category/pb/qm/abin/gw.py +66 -0
  215. mat3ra/esse/models/models_category/pb/qm/dft/__init__.py +56 -0
  216. mat3ra/esse/models/models_category/pb/qm/dft/enum_options.py +13 -0
  217. mat3ra/esse/models/models_category/pb/qm/dft/ksdft/__init__.py +60 -0
  218. mat3ra/esse/models/models_category/pb/qm/dft/ksdft/double_hybrid.py +64 -0
  219. mat3ra/esse/models/models_category/pb/qm/dft/ksdft/enum_options.py +13 -0
  220. mat3ra/esse/models/models_category/pb/qm/dft/ksdft/gga.py +64 -0
  221. mat3ra/esse/models/models_category/pb/qm/dft/ksdft/hybrid.py +64 -0
  222. mat3ra/esse/models/models_category/pb/qm/dft/ksdft/lda.py +64 -0
  223. mat3ra/esse/models/models_category/pb/qm/dft/ksdft/mgga.py +64 -0
  224. mat3ra/esse/models/models_category/pb/qm/enum_options.py +13 -0
  225. mat3ra/esse/models/models_category/pb/qm/semp.py +56 -0
  226. mat3ra/esse/models/models_category/st/__init__.py +48 -0
  227. mat3ra/esse/models/models_category/st/det/__init__.py +52 -0
  228. mat3ra/esse/models/models_category/st/det/enum_options.py +13 -0
  229. mat3ra/esse/models/models_category/st/det/ml/__init__.py +56 -0
  230. mat3ra/esse/models/models_category/st/det/ml/enum_options.py +13 -0
  231. mat3ra/esse/models/models_category/st/det/ml/re.py +60 -0
  232. mat3ra/esse/models/models_category/st/enum_options.py +13 -0
  233. mat3ra/esse/models/models_directory/__init__.py +3 -0
  234. mat3ra/esse/models/models_directory/double_hybrid.py +205 -0
  235. mat3ra/esse/models/models_directory/gga.py +219 -0
  236. mat3ra/esse/models/models_directory/gw.py +272 -0
  237. mat3ra/esse/models/models_directory/hybrid.py +213 -0
  238. mat3ra/esse/models/models_directory/lda.py +218 -0
  239. mat3ra/esse/models/models_directory/legacy/__init__.py +3 -0
  240. mat3ra/esse/models/models_directory/legacy/dft.py +170 -0
  241. mat3ra/esse/models/models_directory/legacy/ml.py +52 -0
  242. mat3ra/esse/models/models_directory/legacy/unknown.py +52 -0
  243. mat3ra/esse/models/models_directory/mgga.py +218 -0
  244. mat3ra/esse/models/models_directory/re.py +160 -0
  245. mat3ra/esse/models/project.py +82 -0
  246. mat3ra/esse/models/properties_directory/__init__.py +3 -0
  247. mat3ra/esse/models/properties_directory/derived_properties.py +140 -0
  248. mat3ra/esse/models/properties_directory/electronic_configuration.py +20 -0
  249. mat3ra/esse/models/properties_directory/elemental/__init__.py +3 -0
  250. mat3ra/esse/models/properties_directory/elemental/atomic_radius.py +34 -0
  251. mat3ra/esse/models/properties_directory/elemental/electronegativity.py +19 -0
  252. mat3ra/esse/models/properties_directory/elemental/ionization_potential.py +30 -0
  253. mat3ra/esse/models/properties_directory/non_scalar/__init__.py +3 -0
  254. mat3ra/esse/models/properties_directory/non_scalar/average_potential_profile.py +83 -0
  255. mat3ra/esse/models/properties_directory/non_scalar/band_gaps.py +64 -0
  256. mat3ra/esse/models/properties_directory/non_scalar/band_structure.py +92 -0
  257. mat3ra/esse/models/properties_directory/non_scalar/charge_density_profile.py +63 -0
  258. mat3ra/esse/models/properties_directory/non_scalar/density_of_states.py +97 -0
  259. mat3ra/esse/models/properties_directory/non_scalar/dielectric_tensor.py +40 -0
  260. mat3ra/esse/models/properties_directory/non_scalar/file_content.py +64 -0
  261. mat3ra/esse/models/properties_directory/non_scalar/hubbard_u.py +40 -0
  262. mat3ra/esse/models/properties_directory/non_scalar/hubbard_v.py +54 -0
  263. mat3ra/esse/models/properties_directory/non_scalar/hubbard_v_nn.py +54 -0
  264. mat3ra/esse/models/properties_directory/non_scalar/phonon_dispersions.py +79 -0
  265. mat3ra/esse/models/properties_directory/non_scalar/phonon_dos.py +71 -0
  266. mat3ra/esse/models/properties_directory/non_scalar/potential_profile.py +69 -0
  267. mat3ra/esse/models/properties_directory/non_scalar/reaction_energy_profile.py +69 -0
  268. mat3ra/esse/models/properties_directory/non_scalar/stress_tensor.py +31 -0
  269. mat3ra/esse/models/properties_directory/non_scalar/total_energy_contributions.py +198 -0
  270. mat3ra/esse/models/properties_directory/non_scalar/vibrational_spectrum.py +75 -0
  271. mat3ra/esse/models/properties_directory/scalar/__init__.py +3 -0
  272. mat3ra/esse/models/properties_directory/scalar/electron_affinity.py +34 -0
  273. mat3ra/esse/models/properties_directory/scalar/fermi_energy.py +34 -0
  274. mat3ra/esse/models/properties_directory/scalar/formation_energy.py +34 -0
  275. mat3ra/esse/models/properties_directory/scalar/ionization_potential.py +34 -0
  276. mat3ra/esse/models/properties_directory/scalar/pressure.py +25 -0
  277. mat3ra/esse/models/properties_directory/scalar/reaction_energy_barrier.py +34 -0
  278. mat3ra/esse/models/properties_directory/scalar/surface_energy.py +34 -0
  279. mat3ra/esse/models/properties_directory/scalar/total_energy.py +34 -0
  280. mat3ra/esse/models/properties_directory/scalar/total_force.py +29 -0
  281. mat3ra/esse/models/properties_directory/scalar/valence_band_offset.py +34 -0
  282. mat3ra/esse/models/properties_directory/scalar/zero_point_energy.py +34 -0
  283. mat3ra/esse/models/properties_directory/structural/__init__.py +3 -0
  284. mat3ra/esse/models/properties_directory/structural/atomic_forces.py +40 -0
  285. mat3ra/esse/models/properties_directory/structural/basis/__init__.py +68 -0
  286. mat3ra/esse/models/properties_directory/structural/basis/atomic_constraints.py +30 -0
  287. mat3ra/esse/models/properties_directory/structural/basis/atomic_coordinate.py +14 -0
  288. mat3ra/esse/models/properties_directory/structural/basis/atomic_coordinates.py +39 -0
  289. mat3ra/esse/models/properties_directory/structural/basis/atomic_element.py +19 -0
  290. mat3ra/esse/models/properties_directory/structural/basis/bonds.py +40 -0
  291. mat3ra/esse/models/properties_directory/structural/density.py +24 -0
  292. mat3ra/esse/models/properties_directory/structural/elemental_ratio.py +23 -0
  293. mat3ra/esse/models/properties_directory/structural/inchi.py +19 -0
  294. mat3ra/esse/models/properties_directory/structural/inchi_key.py +19 -0
  295. mat3ra/esse/models/properties_directory/structural/lattice/__init__.py +102 -0
  296. mat3ra/esse/models/properties_directory/structural/lattice/lattice_bravais.py +71 -0
  297. mat3ra/esse/models/properties_directory/structural/lattice/lattice_vectors.py +35 -0
  298. mat3ra/esse/models/properties_directory/structural/lattice/type_enum.py +24 -0
  299. mat3ra/esse/models/properties_directory/structural/lattice/type_extended_enum.py +34 -0
  300. mat3ra/esse/models/properties_directory/structural/magnetic_moments.py +35 -0
  301. mat3ra/esse/models/properties_directory/structural/molecular_pattern.py +70 -0
  302. mat3ra/esse/models/properties_directory/structural/p_norm.py +23 -0
  303. mat3ra/esse/models/properties_directory/structural/patterns/__init__.py +3 -0
  304. mat3ra/esse/models/properties_directory/structural/patterns/functional_group.py +37 -0
  305. mat3ra/esse/models/properties_directory/structural/patterns/ring.py +34 -0
  306. mat3ra/esse/models/properties_directory/structural/patterns/special_bond.py +33 -0
  307. mat3ra/esse/models/properties_directory/structural/symmetry.py +39 -0
  308. mat3ra/esse/models/properties_directory/structural/volume.py +24 -0
  309. mat3ra/esse/models/properties_directory/workflow/convergence/__init__.py +3 -0
  310. mat3ra/esse/models/properties_directory/workflow/convergence/electronic.py +26 -0
  311. mat3ra/esse/models/properties_directory/workflow/convergence/ionic.py +63 -0
  312. mat3ra/esse/models/properties_directory/workflow/convergence/kpoint.py +43 -0
  313. mat3ra/esse/models/property/__init__.py +3 -0
  314. mat3ra/esse/models/property/base/The_source_of_a_property/__init__.py +5 -0
  315. mat3ra/esse/models/property/base/The_source_of_a_property/field_This_could_be_an_article__a_simulation_on_Exabyte__an_external_simulation__etc.py +38 -0
  316. mat3ra/esse/models/property/base/__init__.py +232 -0
  317. mat3ra/esse/models/property/meta/The_source_of_a_property/__init__.py +5 -0
  318. mat3ra/esse/models/property/meta/The_source_of_a_property/field_This_could_be_an_article__a_simulation_on_Exabyte__an_external_simulation__etc.py +38 -0
  319. mat3ra/esse/models/property/meta/__init__.py +232 -0
  320. mat3ra/esse/models/property/raw/The_source_of_a_property/__init__.py +5 -0
  321. mat3ra/esse/models/property/raw/The_source_of_a_property/field_This_could_be_an_article__a_simulation_on_Exabyte__an_external_simulation__etc.py +38 -0
  322. mat3ra/esse/models/property/raw/__init__.py +232 -0
  323. mat3ra/esse/models/property/source/The_source_of_a_property/__init__.py +5 -0
  324. mat3ra/esse/models/property/source/The_source_of_a_property/field_This_could_be_an_article__a_simulation_on_Exabyte__an_external_simulation__etc.py +38 -0
  325. mat3ra/esse/models/property/source/__init__.py +150 -0
  326. mat3ra/esse/models/software/__init__.py +3 -0
  327. mat3ra/esse/models/software/application.py +93 -0
  328. mat3ra/esse/models/software/executable.py +97 -0
  329. mat3ra/esse/models/software/flavor.py +116 -0
  330. mat3ra/esse/models/software/template.py +77 -0
  331. mat3ra/esse/models/software_directory/ml/__init__.py +3 -0
  332. mat3ra/esse/models/software_directory/ml/exabyteml.py +28 -0
  333. mat3ra/esse/models/software_directory/ml/unit/__init__.py +3 -0
  334. mat3ra/esse/models/software_directory/ml/unit/execution/__init__.py +1348 -0
  335. mat3ra/esse/models/software_directory/ml/unit/execution/evaluate/__init__.py +5 -0
  336. mat3ra/esse/models/software_directory/ml/unit/execution/evaluate/cross_validate.py +381 -0
  337. mat3ra/esse/models/software_directory/ml/unit/execution/initialize.py +381 -0
  338. mat3ra/esse/models/software_directory/ml/unit/execution/score.py +374 -0
  339. mat3ra/esse/models/software_directory/ml/unit/execution/train.py +385 -0
  340. mat3ra/esse/models/software_directory/ml/unit/processing/__init__.py +328 -0
  341. mat3ra/esse/models/software_directory/ml/unit/processing/data_transformation/__init__.py +199 -0
  342. mat3ra/esse/models/software_directory/ml/unit/processing/data_transformation/manipulation.py +176 -0
  343. mat3ra/esse/models/software_directory/ml/unit/processing/data_transformation/scale_and_reduce.py +195 -0
  344. mat3ra/esse/models/software_directory/ml/unit/processing/feature_selection/__init__.py +180 -0
  345. mat3ra/esse/models/software_directory/ml/unit/processing/feature_selection/filter_based.py +176 -0
  346. mat3ra/esse/models/software_directory/modeling/__init__.py +3 -0
  347. mat3ra/esse/models/software_directory/modeling/deepmd.py +112 -0
  348. mat3ra/esse/models/software_directory/modeling/espresso/__init__.py +39 -0
  349. mat3ra/esse/models/software_directory/modeling/espresso/arguments.py +35 -0
  350. mat3ra/esse/models/software_directory/modeling/nwchem.py +113 -0
  351. mat3ra/esse/models/software_directory/modeling/unit/__init__.py +3 -0
  352. mat3ra/esse/models/software_directory/modeling/unit/execution.py +390 -0
  353. mat3ra/esse/models/software_directory/modeling/vasp.py +117 -0
  354. mat3ra/esse/models/software_directory/scripting/__init__.py +3 -0
  355. mat3ra/esse/models/software_directory/scripting/jupyter_lab.py +115 -0
  356. mat3ra/esse/models/software_directory/scripting/python.py +129 -0
  357. mat3ra/esse/models/software_directory/scripting/shell.py +129 -0
  358. mat3ra/esse/models/software_directory/scripting/unit/__init__.py +3 -0
  359. mat3ra/esse/models/software_directory/scripting/unit/execution.py +390 -0
  360. mat3ra/esse/models/system/__init__.py +3 -0
  361. mat3ra/esse/models/system/_material.py +29 -0
  362. mat3ra/esse/models/system/_parent_job.py +29 -0
  363. mat3ra/esse/models/system/_project.py +29 -0
  364. mat3ra/esse/models/system/bankable.py +20 -0
  365. mat3ra/esse/models/system/consistency_check.py +40 -0
  366. mat3ra/esse/models/system/creator.py +29 -0
  367. mat3ra/esse/models/system/creator_account.py +28 -0
  368. mat3ra/esse/models/system/database_source.py +36 -0
  369. mat3ra/esse/models/system/defaultable.py +16 -0
  370. mat3ra/esse/models/system/description.py +17 -0
  371. mat3ra/esse/models/system/entity_reference.py +24 -0
  372. mat3ra/esse/models/system/file_source.py +28 -0
  373. mat3ra/esse/models/system/history.py +18 -0
  374. mat3ra/esse/models/system/iframe_message.py +36 -0
  375. mat3ra/esse/models/system/in_set.py +30 -0
  376. mat3ra/esse/models/system/is_multi_material.py +13 -0
  377. mat3ra/esse/models/system/is_outdated.py +13 -0
  378. mat3ra/esse/models/system/job_extended.py +36 -0
  379. mat3ra/esse/models/system/message.py +59 -0
  380. mat3ra/esse/models/system/metadata.py +13 -0
  381. mat3ra/esse/models/system/name.py +16 -0
  382. mat3ra/esse/models/system/owner.py +29 -0
  383. mat3ra/esse/models/system/path.py +16 -0
  384. mat3ra/esse/models/system/path_entity.py +20 -0
  385. mat3ra/esse/models/system/schema_version.py +16 -0
  386. mat3ra/esse/models/system/scope.py +13 -0
  387. mat3ra/esse/models/system/set.py +15 -0
  388. mat3ra/esse/models/system/sharing.py +13 -0
  389. mat3ra/esse/models/system/soft_removable.py +20 -0
  390. mat3ra/esse/models/system/status.py +20 -0
  391. mat3ra/esse/models/system/tags.py +16 -0
  392. mat3ra/esse/models/system/timestampable.py +22 -0
  393. mat3ra/esse/models/system/use_values.py +13 -0
  394. mat3ra/esse/models/third_party/db/nist_jarvis/2024.3.13/__init__.py +3 -0
  395. mat3ra/esse/models/third_party/db/nist_jarvis/2024.3.13/atoms.py +41 -0
  396. mat3ra/esse/models/third_party/db/nist_jarvis/2024.3.13/db_entry.py +55 -0
  397. mat3ra/esse/models/third_party/file/applications/espresso/7.2/__init__.py +3 -0
  398. mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/__init__.py +1990 -0
  399. mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/atomic_positions.py +51 -0
  400. mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/atomic_species.py +34 -0
  401. mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/cell.py +111 -0
  402. mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/cell_parameters.py +36 -0
  403. mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/control.py +169 -0
  404. mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/electrons.py +139 -0
  405. mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/hubbard.py +194 -0
  406. mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/ions.py +422 -0
  407. mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/k_points.py +73 -0
  408. mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/system.py +841 -0
  409. mat3ra/esse/models/workflow/__init__.py +2817 -0
  410. mat3ra/esse/models/workflow/base.py +79 -0
  411. mat3ra/esse/models/workflow/base_flow.py +180 -0
  412. mat3ra/esse/models/workflow/scope.py +14 -0
  413. mat3ra/esse/models/workflow/subworkflow/__init__.py +1472 -0
  414. mat3ra/esse/models/workflow/subworkflow/unit.py +1187 -0
  415. mat3ra/esse/models/workflow/unit/__init__.py +1415 -0
  416. mat3ra/esse/models/workflow/unit/assertion.py +149 -0
  417. mat3ra/esse/models/workflow/unit/assignment.py +165 -0
  418. mat3ra/esse/models/workflow/unit/base.py +137 -0
  419. mat3ra/esse/models/workflow/unit/condition.py +176 -0
  420. mat3ra/esse/models/workflow/unit/execution.py +374 -0
  421. mat3ra/esse/models/workflow/unit/input/__init__.py +3 -0
  422. mat3ra/esse/models/workflow/unit/input/_input.py +43 -0
  423. mat3ra/esse/models/workflow/unit/input/_inputItem.py +18 -0
  424. mat3ra/esse/models/workflow/unit/input/_inputItemId.py +21 -0
  425. mat3ra/esse/models/workflow/unit/input/_inputItemScope.py +18 -0
  426. mat3ra/esse/models/workflow/unit/input/_map_input/__init__.py +17 -0
  427. mat3ra/esse/models/workflow/unit/input/_map_input/values.py +13 -0
  428. mat3ra/esse/models/workflow/unit/io/__init__.py +254 -0
  429. mat3ra/esse/models/workflow/unit/io/api.py +27 -0
  430. mat3ra/esse/models/workflow/unit/io/db.py +39 -0
  431. mat3ra/esse/models/workflow/unit/io/object_storage.py +59 -0
  432. mat3ra/esse/models/workflow/unit/map.py +169 -0
  433. mat3ra/esse/models/workflow/unit/processing.py +153 -0
  434. mat3ra/esse/models/workflow/unit/reduce.py +160 -0
  435. mat3ra/esse/models/workflow/unit/runtime/__init__.py +3 -0
  436. mat3ra/esse/models/workflow/unit/runtime/_runtime_item_full_object.py +14 -0
  437. mat3ra/esse/models/workflow/unit/runtime/_runtime_item_name_object.py +14 -0
  438. mat3ra/esse/models/workflow/unit/runtime/_runtime_item_string.py +14 -0
  439. mat3ra/esse/models/workflow/unit/runtime/runtime_item.py +20 -0
  440. mat3ra/esse/models/workflow/unit/runtime/runtime_items.py +35 -0
  441. mat3ra/esse/models/workflow/unit/subworkflow.py +141 -0
  442. {mat3ra_esse-2024.4.8.post0.dist-info → mat3ra_esse-2024.4.8.post2.dist-info}/METADATA +1 -1
  443. mat3ra_esse-2024.4.8.post2.dist-info/RECORD +453 -0
  444. mat3ra_esse-2024.4.8.post0.dist-info/RECORD +0 -12
  445. {mat3ra_esse-2024.4.8.post0.dist-info → mat3ra_esse-2024.4.8.post2.dist-info}/LICENSE.md +0 -0
  446. {mat3ra_esse-2024.4.8.post0.dist-info → mat3ra_esse-2024.4.8.post2.dist-info}/WHEEL +0 -0
  447. {mat3ra_esse-2024.4.8.post0.dist-info → mat3ra_esse-2024.4.8.post2.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,1415 @@
1
+ # generated by datamodel-codegen:
2
+ # filename: workflow/unit.json
3
+ # version: 0.25.5
4
+
5
+ from __future__ import annotations
6
+
7
+ from enum import Enum
8
+ from typing import Any, Dict, List, Optional, Union
9
+
10
+ from pydantic import BaseModel, ConfigDict, Field, RootModel
11
+ from typing_extensions import Literal
12
+
13
+
14
+ class Type(Enum):
15
+ io = "io"
16
+
17
+
18
+ class Subtype(Enum):
19
+ input = "input"
20
+ output = "output"
21
+ dataFrame = "dataFrame"
22
+
23
+
24
+ class Source(Enum):
25
+ api = "api"
26
+ db = "db"
27
+ object_storage = "object_storage"
28
+
29
+
30
+ class DataIORestAPIInputSchema(BaseModel):
31
+ model_config = ConfigDict(
32
+ extra="allow",
33
+ )
34
+ endpoint: str
35
+ """
36
+ rest API endpoint
37
+ """
38
+ endpoint_options: Dict[str, Any]
39
+ """
40
+ rest API endpoint options
41
+ """
42
+ name: Optional[str] = None
43
+ """
44
+ the name of the variable in local scope to save the data under
45
+ """
46
+
47
+
48
+ class DataIODatabaseInputOutputSchema(BaseModel):
49
+ model_config = ConfigDict(
50
+ extra="allow",
51
+ )
52
+ ids: List[str]
53
+ """
54
+ IDs of item to retrieve from db
55
+ """
56
+
57
+
58
+ class DataIODatabaseInputOutputSchema11(BaseModel):
59
+ model_config = ConfigDict(
60
+ extra="allow",
61
+ )
62
+ collection: str
63
+ """
64
+ db collection name
65
+ """
66
+ draft: bool
67
+ """
68
+ whether the result should be saved as draft
69
+ """
70
+
71
+
72
+ class ObjectStorageContainerData(BaseModel):
73
+ CONTAINER: Optional[str] = None
74
+ """
75
+ Object storage container for the file
76
+ """
77
+ NAME: Optional[str] = None
78
+ """
79
+ Name of the file inside the object storage bucket
80
+ """
81
+ PROVIDER: Optional[str] = None
82
+ """
83
+ Object storage provider
84
+ """
85
+ REGION: Optional[str] = None
86
+ """
87
+ Region for the object container specified in Container
88
+ """
89
+ SIZE: Optional[int] = None
90
+ """
91
+ Size of the file in bytes
92
+ """
93
+ TIMESTAMP: Optional[str] = None
94
+ """
95
+ Unix timestamp showing when the file was last modified
96
+ """
97
+
98
+
99
+ class ObjectStorageIoSchema(BaseModel):
100
+ model_config = ConfigDict(
101
+ extra="allow",
102
+ )
103
+ objectData: ObjectStorageContainerData = Field(..., title="Object Storage Container Data")
104
+ overwrite: Optional[bool] = False
105
+ """
106
+ if a file with the same filename already exists, whether to overwrite the old file
107
+ """
108
+ pathname: Optional[str] = None
109
+ """
110
+ Relative path to the directory that contains the file.
111
+ """
112
+ basename: Optional[str] = None
113
+ """
114
+ Basename of the file
115
+ """
116
+ filetype: Optional[str] = None
117
+ """
118
+ What kind of file this is, e.g. image / text
119
+ """
120
+
121
+
122
+ class Status(Enum):
123
+ idle = "idle"
124
+ active = "active"
125
+ warning = "warning"
126
+ error = "error"
127
+ finished = "finished"
128
+
129
+
130
+ class Name(Enum):
131
+ default = "default"
132
+ atomsTooClose = "atomsTooClose"
133
+ atomsOverlap = "atomsOverlap"
134
+
135
+
136
+ class Severity(Enum):
137
+ info = "info"
138
+ warning = "warning"
139
+ error = "error"
140
+
141
+
142
+ class ConsistencyCheck(BaseModel):
143
+ key: str
144
+ """
145
+ Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'
146
+ """
147
+ name: Name
148
+ """
149
+ Name of the consistency check that is performed, which is listed in an enum.
150
+ """
151
+ severity: Severity
152
+ """
153
+ Severity level of the problem, which is used in UI to differentiate.
154
+ """
155
+ message: str
156
+ """
157
+ Message generated by the consistency check describing the problem.
158
+ """
159
+
160
+
161
+ class NameResultSchema(BaseModel):
162
+ name: str
163
+ """
164
+ The name of this item. e.g. scf_accuracy
165
+ """
166
+
167
+
168
+ class StatusTrackItem(BaseModel):
169
+ trackedAt: float
170
+ status: str
171
+ repetition: Optional[float] = None
172
+
173
+
174
+ class DataIOUnitSchema(BaseModel):
175
+ model_config = ConfigDict(
176
+ extra="allow",
177
+ )
178
+ type: Literal["0#-datamodel-code-generator-#-object-#-special-#"]
179
+ """
180
+ type of the unit
181
+ """
182
+ subtype: Subtype
183
+ source: Source
184
+ input: List[
185
+ Union[
186
+ DataIORestAPIInputSchema,
187
+ Union[DataIODatabaseInputOutputSchema, DataIODatabaseInputOutputSchema11],
188
+ ObjectStorageIoSchema,
189
+ ]
190
+ ]
191
+ field_id: Optional[str] = Field(None, alias="_id")
192
+ """
193
+ entity identity
194
+ """
195
+ isDraft: Optional[bool] = None
196
+ name: Optional[str] = None
197
+ """
198
+ name of the unit. e.g. pw_scf
199
+ """
200
+ status: Optional[Status] = None
201
+ """
202
+ Status of the unit.
203
+ """
204
+ head: Optional[bool] = None
205
+ """
206
+ Whether this unit is the first one to be executed.
207
+ """
208
+ flowchartId: str
209
+ """
210
+ Identity of the unit in the workflow. Used to trace the execution flow of the workflow.
211
+ """
212
+ next: Optional[str] = None
213
+ """
214
+ Next unit's flowchartId. If empty, the current unit is the last.
215
+ """
216
+ enableRender: Optional[bool] = None
217
+ """
218
+ Whether Rupy should attempt to use Jinja templating to add context variables into the unit
219
+ """
220
+ context: Optional[Dict[str, Any]] = None
221
+ slug: Optional[str] = None
222
+ """
223
+ entity slug
224
+ """
225
+ systemName: Optional[str] = None
226
+ consistencyChecks: Optional[List[ConsistencyCheck]] = None
227
+ schemaVersion: Optional[str] = "2022.8.16"
228
+ """
229
+ entity's schema version. Used to distinct between different schemas.
230
+ """
231
+ isDefault: Optional[bool] = False
232
+ """
233
+ Identifies that entity is defaultable
234
+ """
235
+ preProcessors: Optional[List[Union[NameResultSchema, str]]] = None
236
+ """
237
+ names of the pre-processors for this calculation
238
+ """
239
+ postProcessors: Optional[List[Union[NameResultSchema, str]]] = None
240
+ """
241
+ names of the post-processors for this calculation
242
+ """
243
+ monitors: Optional[List[Union[NameResultSchema, str]]] = None
244
+ """
245
+ names of the monitors for this calculation
246
+ """
247
+ results: Optional[List[Union[NameResultSchema, str]]] = None
248
+ """
249
+ names of the results for this calculation
250
+ """
251
+ tags: Optional[List[str]] = None
252
+ """
253
+ entity tags
254
+ """
255
+ statusTrack: Optional[List[StatusTrackItem]] = None
256
+
257
+
258
+ class Type89(Enum):
259
+ reduce = "reduce"
260
+
261
+
262
+ class InputItem(BaseModel):
263
+ operation: str
264
+ """
265
+ reduce operation, e.g. aggregate
266
+ """
267
+ arguments: List[str]
268
+ """
269
+ arguments which are passed to reduce operation function
270
+ """
271
+
272
+
273
+ class ConsistencyCheck120(BaseModel):
274
+ key: str
275
+ """
276
+ Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'
277
+ """
278
+ name: Name
279
+ """
280
+ Name of the consistency check that is performed, which is listed in an enum.
281
+ """
282
+ severity: Severity
283
+ """
284
+ Severity level of the problem, which is used in UI to differentiate.
285
+ """
286
+ message: str
287
+ """
288
+ Message generated by the consistency check describing the problem.
289
+ """
290
+
291
+
292
+ class ReduceUnitSchema(BaseModel):
293
+ model_config = ConfigDict(
294
+ extra="allow",
295
+ )
296
+ type: Literal["1#-datamodel-code-generator-#-object-#-special-#"]
297
+ """
298
+ type of the unit
299
+ """
300
+ mapFlowchartId: str
301
+ """
302
+ corresponding map unit flowchart ID
303
+ """
304
+ input: List[InputItem]
305
+ """
306
+ input information for reduce unit
307
+ """
308
+ field_id: Optional[str] = Field(None, alias="_id")
309
+ """
310
+ entity identity
311
+ """
312
+ isDraft: Optional[bool] = None
313
+ name: Optional[str] = None
314
+ """
315
+ name of the unit. e.g. pw_scf
316
+ """
317
+ status: Optional[Status] = None
318
+ """
319
+ Status of the unit.
320
+ """
321
+ head: Optional[bool] = None
322
+ """
323
+ Whether this unit is the first one to be executed.
324
+ """
325
+ flowchartId: str
326
+ """
327
+ Identity of the unit in the workflow. Used to trace the execution flow of the workflow.
328
+ """
329
+ next: Optional[str] = None
330
+ """
331
+ Next unit's flowchartId. If empty, the current unit is the last.
332
+ """
333
+ enableRender: Optional[bool] = None
334
+ """
335
+ Whether Rupy should attempt to use Jinja templating to add context variables into the unit
336
+ """
337
+ context: Optional[Dict[str, Any]] = None
338
+ slug: Optional[str] = None
339
+ """
340
+ entity slug
341
+ """
342
+ systemName: Optional[str] = None
343
+ consistencyChecks: Optional[List[ConsistencyCheck120]] = None
344
+ schemaVersion: Optional[str] = "2022.8.16"
345
+ """
346
+ entity's schema version. Used to distinct between different schemas.
347
+ """
348
+ isDefault: Optional[bool] = False
349
+ """
350
+ Identifies that entity is defaultable
351
+ """
352
+ preProcessors: Optional[List[Union[NameResultSchema, str]]] = None
353
+ """
354
+ names of the pre-processors for this calculation
355
+ """
356
+ postProcessors: Optional[List[Union[NameResultSchema, str]]] = None
357
+ """
358
+ names of the post-processors for this calculation
359
+ """
360
+ monitors: Optional[List[Union[NameResultSchema, str]]] = None
361
+ """
362
+ names of the monitors for this calculation
363
+ """
364
+ results: Optional[List[Union[NameResultSchema, str]]] = None
365
+ """
366
+ names of the results for this calculation
367
+ """
368
+ tags: Optional[List[str]] = None
369
+ """
370
+ entity tags
371
+ """
372
+ statusTrack: Optional[List[StatusTrackItem]] = None
373
+
374
+
375
+ class Type90(Enum):
376
+ condition = "condition"
377
+
378
+
379
+ class WorkflowUnitInputSchema(BaseModel):
380
+ scope: str
381
+ """
382
+ Scope of the variable. e.g. 'global' or 'flowchart_id_2'
383
+ """
384
+ name: str
385
+ """
386
+ Name of the input data. e.g. total_energy
387
+ """
388
+
389
+
390
+ class ConsistencyCheck121(BaseModel):
391
+ key: str
392
+ """
393
+ Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'
394
+ """
395
+ name: Name
396
+ """
397
+ Name of the consistency check that is performed, which is listed in an enum.
398
+ """
399
+ severity: Severity
400
+ """
401
+ Severity level of the problem, which is used in UI to differentiate.
402
+ """
403
+ message: str
404
+ """
405
+ Message generated by the consistency check describing the problem.
406
+ """
407
+
408
+
409
+ class ConditionUnitSchema(BaseModel):
410
+ model_config = ConfigDict(
411
+ extra="allow",
412
+ )
413
+ type: Literal["2#-datamodel-code-generator-#-object-#-special-#"]
414
+ """
415
+ type of the unit
416
+ """
417
+ input: List[WorkflowUnitInputSchema]
418
+ """
419
+ Input information for condition.
420
+ """
421
+ statement: str
422
+ """
423
+ Condition statement. e.g. 'abs(x-total_energy) < 1e-5'
424
+ """
425
+ then: str
426
+ """
427
+ Flowchart ID reference for `then` part of the condition.
428
+ """
429
+ else_: str = Field(..., alias="else")
430
+ """
431
+ Flowchart ID reference for `else` part of the condition.
432
+ """
433
+ maxOccurrences: int
434
+ """
435
+ Maximum occurrence of the condition, usable for loops.
436
+ """
437
+ throwException: Optional[bool] = None
438
+ """
439
+ Throw exception on reaching to maximum occurence.
440
+ """
441
+ field_id: Optional[str] = Field(None, alias="_id")
442
+ """
443
+ entity identity
444
+ """
445
+ isDraft: Optional[bool] = None
446
+ name: Optional[str] = None
447
+ """
448
+ name of the unit. e.g. pw_scf
449
+ """
450
+ status: Optional[Status] = None
451
+ """
452
+ Status of the unit.
453
+ """
454
+ head: Optional[bool] = None
455
+ """
456
+ Whether this unit is the first one to be executed.
457
+ """
458
+ flowchartId: str
459
+ """
460
+ Identity of the unit in the workflow. Used to trace the execution flow of the workflow.
461
+ """
462
+ next: Optional[str] = None
463
+ """
464
+ Next unit's flowchartId. If empty, the current unit is the last.
465
+ """
466
+ enableRender: Optional[bool] = None
467
+ """
468
+ Whether Rupy should attempt to use Jinja templating to add context variables into the unit
469
+ """
470
+ context: Optional[Dict[str, Any]] = None
471
+ slug: Optional[str] = None
472
+ """
473
+ entity slug
474
+ """
475
+ systemName: Optional[str] = None
476
+ consistencyChecks: Optional[List[ConsistencyCheck121]] = None
477
+ schemaVersion: Optional[str] = "2022.8.16"
478
+ """
479
+ entity's schema version. Used to distinct between different schemas.
480
+ """
481
+ isDefault: Optional[bool] = False
482
+ """
483
+ Identifies that entity is defaultable
484
+ """
485
+ preProcessors: Optional[List[Union[NameResultSchema, str]]] = None
486
+ """
487
+ names of the pre-processors for this calculation
488
+ """
489
+ postProcessors: Optional[List[Union[NameResultSchema, str]]] = None
490
+ """
491
+ names of the post-processors for this calculation
492
+ """
493
+ monitors: Optional[List[Union[NameResultSchema, str]]] = None
494
+ """
495
+ names of the monitors for this calculation
496
+ """
497
+ results: Optional[List[Union[NameResultSchema, str]]] = None
498
+ """
499
+ names of the results for this calculation
500
+ """
501
+ tags: Optional[List[str]] = None
502
+ """
503
+ entity tags
504
+ """
505
+ statusTrack: Optional[List[StatusTrackItem]] = None
506
+
507
+
508
+ class Type91(Enum):
509
+ assertion = "assertion"
510
+
511
+
512
+ class ConsistencyCheck122(BaseModel):
513
+ key: str
514
+ """
515
+ Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'
516
+ """
517
+ name: Name
518
+ """
519
+ Name of the consistency check that is performed, which is listed in an enum.
520
+ """
521
+ severity: Severity
522
+ """
523
+ Severity level of the problem, which is used in UI to differentiate.
524
+ """
525
+ message: str
526
+ """
527
+ Message generated by the consistency check describing the problem.
528
+ """
529
+
530
+
531
+ class AssertionUnitSchema(BaseModel):
532
+ model_config = ConfigDict(
533
+ extra="allow",
534
+ )
535
+ type: Literal["3#-datamodel-code-generator-#-object-#-special-#"]
536
+ """
537
+ type of the unit
538
+ """
539
+ statement: str
540
+ """
541
+ The statement to be evaluated
542
+ """
543
+ errorMessage: Optional[str] = None
544
+ """
545
+ The error message to be displayed if the assertion fails
546
+ """
547
+ field_id: Optional[str] = Field(None, alias="_id")
548
+ """
549
+ entity identity
550
+ """
551
+ isDraft: Optional[bool] = None
552
+ name: str
553
+ """
554
+ name of the unit. e.g. pw_scf
555
+ """
556
+ status: Optional[Status] = None
557
+ """
558
+ Status of the unit.
559
+ """
560
+ head: Optional[bool] = None
561
+ """
562
+ Whether this unit is the first one to be executed.
563
+ """
564
+ flowchartId: str
565
+ """
566
+ Identity of the unit in the workflow. Used to trace the execution flow of the workflow.
567
+ """
568
+ next: Optional[str] = None
569
+ """
570
+ Next unit's flowchartId. If empty, the current unit is the last.
571
+ """
572
+ enableRender: Optional[bool] = None
573
+ """
574
+ Whether Rupy should attempt to use Jinja templating to add context variables into the unit
575
+ """
576
+ context: Optional[Dict[str, Any]] = None
577
+ slug: Optional[str] = None
578
+ """
579
+ entity slug
580
+ """
581
+ systemName: Optional[str] = None
582
+ consistencyChecks: Optional[List[ConsistencyCheck122]] = None
583
+ schemaVersion: Optional[str] = "2022.8.16"
584
+ """
585
+ entity's schema version. Used to distinct between different schemas.
586
+ """
587
+ isDefault: Optional[bool] = False
588
+ """
589
+ Identifies that entity is defaultable
590
+ """
591
+ preProcessors: Optional[List[Union[NameResultSchema, str]]] = None
592
+ """
593
+ names of the pre-processors for this calculation
594
+ """
595
+ postProcessors: Optional[List[Union[NameResultSchema, str]]] = None
596
+ """
597
+ names of the post-processors for this calculation
598
+ """
599
+ monitors: Optional[List[Union[NameResultSchema, str]]] = None
600
+ """
601
+ names of the monitors for this calculation
602
+ """
603
+ results: Optional[List[Union[NameResultSchema, str]]] = None
604
+ """
605
+ names of the results for this calculation
606
+ """
607
+ tags: Optional[List[str]] = None
608
+ """
609
+ entity tags
610
+ """
611
+ statusTrack: Optional[List[StatusTrackItem]] = None
612
+
613
+
614
+ class Type92(Enum):
615
+ execution = "execution"
616
+
617
+
618
+ class ConsistencyCheck123(BaseModel):
619
+ key: str
620
+ """
621
+ Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'
622
+ """
623
+ name: Name
624
+ """
625
+ Name of the consistency check that is performed, which is listed in an enum.
626
+ """
627
+ severity: Severity
628
+ """
629
+ Severity level of the problem, which is used in UI to differentiate.
630
+ """
631
+ message: str
632
+ """
633
+ Message generated by the consistency check describing the problem.
634
+ """
635
+
636
+
637
+ class ApplicationSchemaBase(BaseModel):
638
+ model_config = ConfigDict(
639
+ extra="allow",
640
+ )
641
+ shortName: Optional[str] = None
642
+ """
643
+ The short name of the application. e.g. qe
644
+ """
645
+ summary: Optional[str] = None
646
+ """
647
+ Application's short description.
648
+ """
649
+ version: Optional[str] = None
650
+ """
651
+ Application version. e.g. 5.3.5
652
+ """
653
+ build: Optional[str] = None
654
+ """
655
+ Application build. e.g. VTST
656
+ """
657
+ hasAdvancedComputeOptions: Optional[bool] = None
658
+ """
659
+ Whether advanced compute options are present
660
+ """
661
+ isLicensed: Optional[bool] = None
662
+ """
663
+ Whether licensing is present
664
+ """
665
+ field_id: Optional[str] = Field(None, alias="_id")
666
+ """
667
+ entity identity
668
+ """
669
+ slug: Optional[str] = None
670
+ """
671
+ entity slug
672
+ """
673
+ systemName: Optional[str] = None
674
+ consistencyChecks: Optional[List[ConsistencyCheck123]] = None
675
+ schemaVersion: Optional[str] = "2022.8.16"
676
+ """
677
+ entity's schema version. Used to distinct between different schemas.
678
+ """
679
+ name: Optional[str] = None
680
+ """
681
+ entity name
682
+ """
683
+ isDefault: Optional[bool] = False
684
+ """
685
+ Identifies that entity is defaultable
686
+ """
687
+
688
+
689
+ class ConsistencyCheck124(BaseModel):
690
+ key: str
691
+ """
692
+ Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'
693
+ """
694
+ name: Name
695
+ """
696
+ Name of the consistency check that is performed, which is listed in an enum.
697
+ """
698
+ severity: Severity
699
+ """
700
+ Severity level of the problem, which is used in UI to differentiate.
701
+ """
702
+ message: str
703
+ """
704
+ Message generated by the consistency check describing the problem.
705
+ """
706
+
707
+
708
+ class ExecutableSchema(BaseModel):
709
+ name: str
710
+ """
711
+ The name of the executable. e.g. pw.x
712
+ """
713
+ applicationId: Optional[List[str]] = None
714
+ """
715
+ _ids of the application this executable belongs to
716
+ """
717
+ hasAdvancedComputeOptions: Optional[bool] = None
718
+ """
719
+ Whether advanced compute options are present
720
+ """
721
+ field_id: Optional[str] = Field(None, alias="_id")
722
+ """
723
+ entity identity
724
+ """
725
+ slug: Optional[str] = None
726
+ """
727
+ entity slug
728
+ """
729
+ systemName: Optional[str] = None
730
+ consistencyChecks: Optional[List[ConsistencyCheck124]] = None
731
+ schemaVersion: Optional[str] = "2022.8.16"
732
+ """
733
+ entity's schema version. Used to distinct between different schemas.
734
+ """
735
+ isDefault: Optional[bool] = False
736
+ """
737
+ Identifies that entity is defaultable
738
+ """
739
+ preProcessors: Optional[List[Union[NameResultSchema, str]]] = None
740
+ """
741
+ names of the pre-processors for this calculation
742
+ """
743
+ postProcessors: Optional[List[Union[NameResultSchema, str]]] = None
744
+ """
745
+ names of the post-processors for this calculation
746
+ """
747
+ monitors: Optional[List[Union[NameResultSchema, str]]] = None
748
+ """
749
+ names of the monitors for this calculation
750
+ """
751
+ results: Optional[List[Union[NameResultSchema, str]]] = None
752
+ """
753
+ names of the results for this calculation
754
+ """
755
+
756
+
757
+ class ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines(BaseModel):
758
+ model_config = ConfigDict(
759
+ extra="forbid",
760
+ )
761
+ templateId: Optional[str] = None
762
+ templateName: Optional[str] = None
763
+ name: Optional[str] = None
764
+ """
765
+ name of the resulting input file, if different than template name
766
+ """
767
+
768
+
769
+ class ConsistencyCheck125(BaseModel):
770
+ key: str
771
+ """
772
+ Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'
773
+ """
774
+ name: Name
775
+ """
776
+ Name of the consistency check that is performed, which is listed in an enum.
777
+ """
778
+ severity: Severity
779
+ """
780
+ Severity level of the problem, which is used in UI to differentiate.
781
+ """
782
+ message: str
783
+ """
784
+ Message generated by the consistency check describing the problem.
785
+ """
786
+
787
+
788
+ class FlavorSchema(BaseModel):
789
+ executableId: Optional[str] = None
790
+ """
791
+ _id of the executable this flavor belongs to
792
+ """
793
+ executableName: Optional[str] = None
794
+ """
795
+ name of the executable this flavor belongs to
796
+ """
797
+ applicationName: Optional[str] = None
798
+ """
799
+ name of the application this flavor belongs to
800
+ """
801
+ input: Optional[List[ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines]] = Field(
802
+ None, title="execution unit input schema"
803
+ )
804
+ field_id: Optional[str] = Field(None, alias="_id")
805
+ """
806
+ entity identity
807
+ """
808
+ slug: Optional[str] = None
809
+ """
810
+ entity slug
811
+ """
812
+ systemName: Optional[str] = None
813
+ consistencyChecks: Optional[List[ConsistencyCheck125]] = None
814
+ schemaVersion: Optional[str] = "2022.8.16"
815
+ """
816
+ entity's schema version. Used to distinct between different schemas.
817
+ """
818
+ name: Optional[str] = None
819
+ """
820
+ entity name
821
+ """
822
+ isDefault: Optional[bool] = False
823
+ """
824
+ Identifies that entity is defaultable
825
+ """
826
+ preProcessors: Optional[List[Union[NameResultSchema, str]]] = None
827
+ """
828
+ names of the pre-processors for this calculation
829
+ """
830
+ postProcessors: Optional[List[Union[NameResultSchema, str]]] = None
831
+ """
832
+ names of the post-processors for this calculation
833
+ """
834
+ monitors: Optional[List[Union[NameResultSchema, str]]] = None
835
+ """
836
+ names of the monitors for this calculation
837
+ """
838
+ results: Optional[List[Union[NameResultSchema, str]]] = None
839
+ """
840
+ names of the results for this calculation
841
+ """
842
+
843
+
844
+ class ConsistencyCheck126(BaseModel):
845
+ key: str
846
+ """
847
+ Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'
848
+ """
849
+ name: Name
850
+ """
851
+ Name of the consistency check that is performed, which is listed in an enum.
852
+ """
853
+ severity: Severity
854
+ """
855
+ Severity level of the problem, which is used in UI to differentiate.
856
+ """
857
+ message: str
858
+ """
859
+ Message generated by the consistency check describing the problem.
860
+ """
861
+
862
+
863
+ class ExecutionUnitSchemaBase(BaseModel):
864
+ model_config = ConfigDict(
865
+ extra="allow",
866
+ )
867
+ type: Literal["4#-datamodel-code-generator-#-object-#-special-#"]
868
+ """
869
+ type of the unit
870
+ """
871
+ application: ApplicationSchemaBase = Field(..., title="application schema (base)")
872
+ executable: Optional[ExecutableSchema] = Field(None, title="executable schema")
873
+ flavor: Optional[FlavorSchema] = Field(None, title="flavor schema")
874
+ input: Any
875
+ """
876
+ unit input (type to be specified by the application's execution unit)
877
+ """
878
+ field_id: Optional[str] = Field(None, alias="_id")
879
+ """
880
+ entity identity
881
+ """
882
+ isDraft: Optional[bool] = None
883
+ name: Optional[str] = None
884
+ """
885
+ name of the unit. e.g. pw_scf
886
+ """
887
+ status: Optional[Status] = None
888
+ """
889
+ Status of the unit.
890
+ """
891
+ head: Optional[bool] = None
892
+ """
893
+ Whether this unit is the first one to be executed.
894
+ """
895
+ flowchartId: str
896
+ """
897
+ Identity of the unit in the workflow. Used to trace the execution flow of the workflow.
898
+ """
899
+ next: Optional[str] = None
900
+ """
901
+ Next unit's flowchartId. If empty, the current unit is the last.
902
+ """
903
+ enableRender: Optional[bool] = None
904
+ """
905
+ Whether Rupy should attempt to use Jinja templating to add context variables into the unit
906
+ """
907
+ context: Optional[Dict[str, Any]] = None
908
+ slug: Optional[str] = None
909
+ """
910
+ entity slug
911
+ """
912
+ systemName: Optional[str] = None
913
+ consistencyChecks: Optional[List[ConsistencyCheck126]] = None
914
+ schemaVersion: Optional[str] = "2022.8.16"
915
+ """
916
+ entity's schema version. Used to distinct between different schemas.
917
+ """
918
+ isDefault: Optional[bool] = False
919
+ """
920
+ Identifies that entity is defaultable
921
+ """
922
+ preProcessors: Optional[List[Union[NameResultSchema, str]]] = None
923
+ """
924
+ names of the pre-processors for this calculation
925
+ """
926
+ postProcessors: Optional[List[Union[NameResultSchema, str]]] = None
927
+ """
928
+ names of the post-processors for this calculation
929
+ """
930
+ monitors: Optional[List[Union[NameResultSchema, str]]] = None
931
+ """
932
+ names of the monitors for this calculation
933
+ """
934
+ results: Optional[List[Union[NameResultSchema, str]]] = None
935
+ """
936
+ names of the results for this calculation
937
+ """
938
+ tags: Optional[List[str]] = None
939
+ """
940
+ entity tags
941
+ """
942
+ statusTrack: Optional[List[StatusTrackItem]] = None
943
+
944
+
945
+ class Type93(Enum):
946
+ assignment = "assignment"
947
+
948
+
949
+ class ConsistencyCheck127(BaseModel):
950
+ key: str
951
+ """
952
+ Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'
953
+ """
954
+ name: Name
955
+ """
956
+ Name of the consistency check that is performed, which is listed in an enum.
957
+ """
958
+ severity: Severity
959
+ """
960
+ Severity level of the problem, which is used in UI to differentiate.
961
+ """
962
+ message: str
963
+ """
964
+ Message generated by the consistency check describing the problem.
965
+ """
966
+
967
+
968
+ class AssignmentUnitSchema(BaseModel):
969
+ model_config = ConfigDict(
970
+ extra="allow",
971
+ )
972
+ type: Literal["5#-datamodel-code-generator-#-object-#-special-#"]
973
+ """
974
+ type of the unit
975
+ """
976
+ input: Optional[List[WorkflowUnitInputSchema]] = None
977
+ """
978
+ Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment.
979
+ """
980
+ operand: str
981
+ """
982
+ Name of the global variable. e.g. 'x'
983
+ """
984
+ value: Union[str, bool, float]
985
+ """
986
+ Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression)
987
+ """
988
+ field_id: Optional[str] = Field(None, alias="_id")
989
+ """
990
+ entity identity
991
+ """
992
+ isDraft: Optional[bool] = None
993
+ name: str
994
+ """
995
+ name of the unit. e.g. pw_scf
996
+ """
997
+ status: Optional[Status] = None
998
+ """
999
+ Status of the unit.
1000
+ """
1001
+ head: Optional[bool] = None
1002
+ """
1003
+ Whether this unit is the first one to be executed.
1004
+ """
1005
+ flowchartId: str
1006
+ """
1007
+ Identity of the unit in the workflow. Used to trace the execution flow of the workflow.
1008
+ """
1009
+ next: Optional[str] = None
1010
+ """
1011
+ Next unit's flowchartId. If empty, the current unit is the last.
1012
+ """
1013
+ enableRender: Optional[bool] = None
1014
+ """
1015
+ Whether Rupy should attempt to use Jinja templating to add context variables into the unit
1016
+ """
1017
+ context: Optional[Dict[str, Any]] = None
1018
+ slug: Optional[str] = None
1019
+ """
1020
+ entity slug
1021
+ """
1022
+ systemName: Optional[str] = None
1023
+ consistencyChecks: Optional[List[ConsistencyCheck127]] = None
1024
+ schemaVersion: Optional[str] = "2022.8.16"
1025
+ """
1026
+ entity's schema version. Used to distinct between different schemas.
1027
+ """
1028
+ isDefault: Optional[bool] = False
1029
+ """
1030
+ Identifies that entity is defaultable
1031
+ """
1032
+ preProcessors: Optional[List[Union[NameResultSchema, str]]] = None
1033
+ """
1034
+ names of the pre-processors for this calculation
1035
+ """
1036
+ postProcessors: Optional[List[Union[NameResultSchema, str]]] = None
1037
+ """
1038
+ names of the post-processors for this calculation
1039
+ """
1040
+ monitors: Optional[List[Union[NameResultSchema, str]]] = None
1041
+ """
1042
+ names of the monitors for this calculation
1043
+ """
1044
+ results: Optional[List[Union[NameResultSchema, str]]] = None
1045
+ """
1046
+ names of the results for this calculation
1047
+ """
1048
+ tags: Optional[List[str]] = None
1049
+ """
1050
+ entity tags
1051
+ """
1052
+ statusTrack: Optional[List[StatusTrackItem]] = None
1053
+ scope: Optional[str] = None
1054
+
1055
+
1056
+ class Type94(Enum):
1057
+ processing = "processing"
1058
+
1059
+
1060
+ class ConsistencyCheck128(BaseModel):
1061
+ key: str
1062
+ """
1063
+ Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'
1064
+ """
1065
+ name: Name
1066
+ """
1067
+ Name of the consistency check that is performed, which is listed in an enum.
1068
+ """
1069
+ severity: Severity
1070
+ """
1071
+ Severity level of the problem, which is used in UI to differentiate.
1072
+ """
1073
+ message: str
1074
+ """
1075
+ Message generated by the consistency check describing the problem.
1076
+ """
1077
+
1078
+
1079
+ class ProcessingUnitSchema(BaseModel):
1080
+ model_config = ConfigDict(
1081
+ extra="allow",
1082
+ )
1083
+ type: Literal["6#-datamodel-code-generator-#-object-#-special-#"]
1084
+ """
1085
+ type of the unit
1086
+ """
1087
+ operation: str
1088
+ """
1089
+ Contains information about the operation used.
1090
+ """
1091
+ operationType: str
1092
+ """
1093
+ Contains information about the specific type of the operation used.
1094
+ """
1095
+ inputData: Any
1096
+ """
1097
+ unit input (type to be specified by the child units)
1098
+ """
1099
+ field_id: Optional[str] = Field(None, alias="_id")
1100
+ """
1101
+ entity identity
1102
+ """
1103
+ isDraft: Optional[bool] = None
1104
+ name: Optional[str] = None
1105
+ """
1106
+ name of the unit. e.g. pw_scf
1107
+ """
1108
+ status: Optional[Status] = None
1109
+ """
1110
+ Status of the unit.
1111
+ """
1112
+ head: Optional[bool] = None
1113
+ """
1114
+ Whether this unit is the first one to be executed.
1115
+ """
1116
+ flowchartId: str
1117
+ """
1118
+ Identity of the unit in the workflow. Used to trace the execution flow of the workflow.
1119
+ """
1120
+ next: Optional[str] = None
1121
+ """
1122
+ Next unit's flowchartId. If empty, the current unit is the last.
1123
+ """
1124
+ enableRender: Optional[bool] = None
1125
+ """
1126
+ Whether Rupy should attempt to use Jinja templating to add context variables into the unit
1127
+ """
1128
+ context: Optional[Dict[str, Any]] = None
1129
+ slug: Optional[str] = None
1130
+ """
1131
+ entity slug
1132
+ """
1133
+ systemName: Optional[str] = None
1134
+ consistencyChecks: Optional[List[ConsistencyCheck128]] = None
1135
+ schemaVersion: Optional[str] = "2022.8.16"
1136
+ """
1137
+ entity's schema version. Used to distinct between different schemas.
1138
+ """
1139
+ isDefault: Optional[bool] = False
1140
+ """
1141
+ Identifies that entity is defaultable
1142
+ """
1143
+ preProcessors: Optional[List[Union[NameResultSchema, str]]] = None
1144
+ """
1145
+ names of the pre-processors for this calculation
1146
+ """
1147
+ postProcessors: Optional[List[Union[NameResultSchema, str]]] = None
1148
+ """
1149
+ names of the post-processors for this calculation
1150
+ """
1151
+ monitors: Optional[List[Union[NameResultSchema, str]]] = None
1152
+ """
1153
+ names of the monitors for this calculation
1154
+ """
1155
+ results: Optional[List[Union[NameResultSchema, str]]] = None
1156
+ """
1157
+ names of the results for this calculation
1158
+ """
1159
+ tags: Optional[List[str]] = None
1160
+ """
1161
+ entity tags
1162
+ """
1163
+ statusTrack: Optional[List[StatusTrackItem]] = None
1164
+
1165
+
1166
+ class Type95(Enum):
1167
+ map = "map"
1168
+
1169
+
1170
+ class Input(BaseModel):
1171
+ target: str
1172
+ """
1173
+ Name of the target variable to substitute using the values below. e.g. K_POINTS
1174
+ """
1175
+ scope: Optional[str] = None
1176
+ """
1177
+ Scope to retrieve `values` from, global or flowchartId. Optional if `values` is given.
1178
+ """
1179
+ name: Optional[str] = None
1180
+ """
1181
+ Name of the variable inside the scope to retrieve `values` from. Optional if `values` is given.
1182
+ """
1183
+ values: Optional[List[Union[str, float, Dict[str, Any]]]] = None
1184
+ """
1185
+ Sequence of values for the target Jinja variable. Optional if `scope` and `name` are given. This can be used for map-reduce type parallel execution
1186
+ """
1187
+ useValues: Optional[bool] = None
1188
+
1189
+
1190
+ class ConsistencyCheck129(BaseModel):
1191
+ key: str
1192
+ """
1193
+ Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'
1194
+ """
1195
+ name: Name
1196
+ """
1197
+ Name of the consistency check that is performed, which is listed in an enum.
1198
+ """
1199
+ severity: Severity
1200
+ """
1201
+ Severity level of the problem, which is used in UI to differentiate.
1202
+ """
1203
+ message: str
1204
+ """
1205
+ Message generated by the consistency check describing the problem.
1206
+ """
1207
+
1208
+
1209
+ class MapUnitSchema(BaseModel):
1210
+ model_config = ConfigDict(
1211
+ extra="allow",
1212
+ )
1213
+ type: Literal["7#-datamodel-code-generator-#-object-#-special-#"]
1214
+ """
1215
+ type of the unit
1216
+ """
1217
+ workflowId: str
1218
+ """
1219
+ Id of workflow to run inside map
1220
+ """
1221
+ input: Input
1222
+ """
1223
+ Input information for map.
1224
+ """
1225
+ field_id: Optional[str] = Field(None, alias="_id")
1226
+ """
1227
+ entity identity
1228
+ """
1229
+ isDraft: Optional[bool] = None
1230
+ name: Optional[str] = None
1231
+ """
1232
+ name of the unit. e.g. pw_scf
1233
+ """
1234
+ status: Optional[Status] = None
1235
+ """
1236
+ Status of the unit.
1237
+ """
1238
+ head: Optional[bool] = None
1239
+ """
1240
+ Whether this unit is the first one to be executed.
1241
+ """
1242
+ flowchartId: str
1243
+ """
1244
+ Identity of the unit in the workflow. Used to trace the execution flow of the workflow.
1245
+ """
1246
+ next: Optional[str] = None
1247
+ """
1248
+ Next unit's flowchartId. If empty, the current unit is the last.
1249
+ """
1250
+ enableRender: Optional[bool] = None
1251
+ """
1252
+ Whether Rupy should attempt to use Jinja templating to add context variables into the unit
1253
+ """
1254
+ context: Optional[Dict[str, Any]] = None
1255
+ slug: Optional[str] = None
1256
+ """
1257
+ entity slug
1258
+ """
1259
+ systemName: Optional[str] = None
1260
+ consistencyChecks: Optional[List[ConsistencyCheck129]] = None
1261
+ schemaVersion: Optional[str] = "2022.8.16"
1262
+ """
1263
+ entity's schema version. Used to distinct between different schemas.
1264
+ """
1265
+ isDefault: Optional[bool] = False
1266
+ """
1267
+ Identifies that entity is defaultable
1268
+ """
1269
+ preProcessors: Optional[List[Union[NameResultSchema, str]]] = None
1270
+ """
1271
+ names of the pre-processors for this calculation
1272
+ """
1273
+ postProcessors: Optional[List[Union[NameResultSchema, str]]] = None
1274
+ """
1275
+ names of the post-processors for this calculation
1276
+ """
1277
+ monitors: Optional[List[Union[NameResultSchema, str]]] = None
1278
+ """
1279
+ names of the monitors for this calculation
1280
+ """
1281
+ results: Optional[List[Union[NameResultSchema, str]]] = None
1282
+ """
1283
+ names of the results for this calculation
1284
+ """
1285
+ tags: Optional[List[str]] = None
1286
+ """
1287
+ entity tags
1288
+ """
1289
+ statusTrack: Optional[List[StatusTrackItem]] = None
1290
+
1291
+
1292
+ class Type96(Enum):
1293
+ subworkflow = "subworkflow"
1294
+
1295
+
1296
+ class ConsistencyCheck130(BaseModel):
1297
+ key: str
1298
+ """
1299
+ Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'
1300
+ """
1301
+ name: Name
1302
+ """
1303
+ Name of the consistency check that is performed, which is listed in an enum.
1304
+ """
1305
+ severity: Severity
1306
+ """
1307
+ Severity level of the problem, which is used in UI to differentiate.
1308
+ """
1309
+ message: str
1310
+ """
1311
+ Message generated by the consistency check describing the problem.
1312
+ """
1313
+
1314
+
1315
+ class SubworkflowUnitSchema(BaseModel):
1316
+ model_config = ConfigDict(
1317
+ extra="allow",
1318
+ )
1319
+ type: Literal["8#-datamodel-code-generator-#-object-#-special-#"]
1320
+ """
1321
+ type of the unit
1322
+ """
1323
+ field_id: Optional[str] = Field(None, alias="_id")
1324
+ """
1325
+ entity identity
1326
+ """
1327
+ isDraft: Optional[bool] = None
1328
+ name: Optional[str] = None
1329
+ """
1330
+ name of the unit. e.g. pw_scf
1331
+ """
1332
+ status: Optional[Status] = None
1333
+ """
1334
+ Status of the unit.
1335
+ """
1336
+ head: Optional[bool] = None
1337
+ """
1338
+ Whether this unit is the first one to be executed.
1339
+ """
1340
+ flowchartId: str
1341
+ """
1342
+ Identity of the unit in the workflow. Used to trace the execution flow of the workflow.
1343
+ """
1344
+ next: Optional[str] = None
1345
+ """
1346
+ Next unit's flowchartId. If empty, the current unit is the last.
1347
+ """
1348
+ enableRender: Optional[bool] = None
1349
+ """
1350
+ Whether Rupy should attempt to use Jinja templating to add context variables into the unit
1351
+ """
1352
+ context: Optional[Dict[str, Any]] = None
1353
+ slug: Optional[str] = None
1354
+ """
1355
+ entity slug
1356
+ """
1357
+ systemName: Optional[str] = None
1358
+ consistencyChecks: Optional[List[ConsistencyCheck130]] = None
1359
+ schemaVersion: Optional[str] = "2022.8.16"
1360
+ """
1361
+ entity's schema version. Used to distinct between different schemas.
1362
+ """
1363
+ isDefault: Optional[bool] = False
1364
+ """
1365
+ Identifies that entity is defaultable
1366
+ """
1367
+ preProcessors: Optional[List[Union[NameResultSchema, str]]] = None
1368
+ """
1369
+ names of the pre-processors for this calculation
1370
+ """
1371
+ postProcessors: Optional[List[Union[NameResultSchema, str]]] = None
1372
+ """
1373
+ names of the post-processors for this calculation
1374
+ """
1375
+ monitors: Optional[List[Union[NameResultSchema, str]]] = None
1376
+ """
1377
+ names of the monitors for this calculation
1378
+ """
1379
+ results: Optional[List[Union[NameResultSchema, str]]] = None
1380
+ """
1381
+ names of the results for this calculation
1382
+ """
1383
+ tags: Optional[List[str]] = None
1384
+ """
1385
+ entity tags
1386
+ """
1387
+ statusTrack: Optional[List[StatusTrackItem]] = None
1388
+
1389
+
1390
+ class ESSE(
1391
+ RootModel[
1392
+ Union[
1393
+ DataIOUnitSchema,
1394
+ ReduceUnitSchema,
1395
+ ConditionUnitSchema,
1396
+ AssertionUnitSchema,
1397
+ ExecutionUnitSchemaBase,
1398
+ AssignmentUnitSchema,
1399
+ ProcessingUnitSchema,
1400
+ MapUnitSchema,
1401
+ SubworkflowUnitSchema,
1402
+ ]
1403
+ ]
1404
+ ):
1405
+ root: Union[
1406
+ DataIOUnitSchema,
1407
+ ReduceUnitSchema,
1408
+ ConditionUnitSchema,
1409
+ AssertionUnitSchema,
1410
+ ExecutionUnitSchemaBase,
1411
+ AssignmentUnitSchema,
1412
+ ProcessingUnitSchema,
1413
+ MapUnitSchema,
1414
+ SubworkflowUnitSchema,
1415
+ ] = Field(..., discriminator="type", title="workflow unit schema")