mat3ra-esse 2024.4.8.post1__py3-none-any.whl → 2024.4.8.post3__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.
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.post1.dist-info → mat3ra_esse-2024.4.8.post3.dist-info}/METADATA +3 -1
  443. mat3ra_esse-2024.4.8.post3.dist-info/RECORD +453 -0
  444. mat3ra_esse-2024.4.8.post1.dist-info/RECORD +0 -12
  445. {mat3ra_esse-2024.4.8.post1.dist-info → mat3ra_esse-2024.4.8.post3.dist-info}/LICENSE.md +0 -0
  446. {mat3ra_esse-2024.4.8.post1.dist-info → mat3ra_esse-2024.4.8.post3.dist-info}/WHEEL +0 -0
  447. {mat3ra_esse-2024.4.8.post1.dist-info → mat3ra_esse-2024.4.8.post3.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,3006 @@
1
+ # generated by datamodel-codegen:
2
+ # filename: job.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, conint
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 DataIODatabaseInputOutputSchema5(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, DataIODatabaseInputOutputSchema5],
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 Type35(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 ConsistencyCheck55(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[ConsistencyCheck55]] = 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 Type36(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 ConsistencyCheck56(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[ConsistencyCheck56]] = 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 Type37(Enum):
509
+ assertion = "assertion"
510
+
511
+
512
+ class ConsistencyCheck57(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[ConsistencyCheck57]] = 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 Type38(Enum):
615
+ execution = "execution"
616
+
617
+
618
+ class ConsistencyCheck58(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[ConsistencyCheck58]] = 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 ConsistencyCheck59(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[ConsistencyCheck59]] = 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 ConsistencyCheck60(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[ConsistencyCheck60]] = 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 ConsistencyCheck61(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[ConsistencyCheck61]] = 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 Type39(Enum):
946
+ assignment = "assignment"
947
+
948
+
949
+ class ConsistencyCheck62(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[ConsistencyCheck62]] = 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 Type40(Enum):
1057
+ processing = "processing"
1058
+
1059
+
1060
+ class ConsistencyCheck63(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[ConsistencyCheck63]] = 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 WorkflowSubworkflowUnitSchema(
1167
+ RootModel[
1168
+ Union[
1169
+ DataIOUnitSchema,
1170
+ ReduceUnitSchema,
1171
+ ConditionUnitSchema,
1172
+ AssertionUnitSchema,
1173
+ ExecutionUnitSchemaBase,
1174
+ AssignmentUnitSchema,
1175
+ ProcessingUnitSchema,
1176
+ ]
1177
+ ]
1178
+ ):
1179
+ root: Union[
1180
+ DataIOUnitSchema,
1181
+ ReduceUnitSchema,
1182
+ ConditionUnitSchema,
1183
+ AssertionUnitSchema,
1184
+ ExecutionUnitSchemaBase,
1185
+ AssignmentUnitSchema,
1186
+ ProcessingUnitSchema,
1187
+ ] = Field(..., discriminator="type", title="workflow subworkflow unit schema")
1188
+
1189
+
1190
+ class BaseMethod(BaseModel):
1191
+ type: str
1192
+ """
1193
+ general type of this method, eg. `pseudopotential`
1194
+ """
1195
+ subtype: str
1196
+ """
1197
+ general subtype of this method, eg. `ultra-soft`
1198
+ """
1199
+ precision: Optional[Dict[str, Any]] = None
1200
+ """
1201
+ Object showing the actual possible precision based on theory and implementation
1202
+ """
1203
+ data: Optional[Dict[str, Any]] = None
1204
+ """
1205
+ additional data specific to method, eg. array of pseudopotentials
1206
+ """
1207
+
1208
+
1209
+ class BaseModelModel(BaseModel):
1210
+ model_config = ConfigDict(
1211
+ extra="allow",
1212
+ )
1213
+ type: str
1214
+ """
1215
+ general type of the model, eg. `dft`
1216
+ """
1217
+ subtype: str
1218
+ """
1219
+ general subtype of the model, eg. `lda`
1220
+ """
1221
+ method: BaseMethod = Field(..., title="base method")
1222
+
1223
+
1224
+ class ConsistencyCheck64(BaseModel):
1225
+ key: str
1226
+ """
1227
+ Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'
1228
+ """
1229
+ name: Name
1230
+ """
1231
+ Name of the consistency check that is performed, which is listed in an enum.
1232
+ """
1233
+ severity: Severity
1234
+ """
1235
+ Severity level of the problem, which is used in UI to differentiate.
1236
+ """
1237
+ message: str
1238
+ """
1239
+ Message generated by the consistency check describing the problem.
1240
+ """
1241
+
1242
+
1243
+ class ApplicationSchemaBase11(BaseModel):
1244
+ model_config = ConfigDict(
1245
+ extra="allow",
1246
+ )
1247
+ shortName: Optional[str] = None
1248
+ """
1249
+ The short name of the application. e.g. qe
1250
+ """
1251
+ summary: Optional[str] = None
1252
+ """
1253
+ Application's short description.
1254
+ """
1255
+ version: Optional[str] = None
1256
+ """
1257
+ Application version. e.g. 5.3.5
1258
+ """
1259
+ build: Optional[str] = None
1260
+ """
1261
+ Application build. e.g. VTST
1262
+ """
1263
+ hasAdvancedComputeOptions: Optional[bool] = None
1264
+ """
1265
+ Whether advanced compute options are present
1266
+ """
1267
+ isLicensed: Optional[bool] = None
1268
+ """
1269
+ Whether licensing is present
1270
+ """
1271
+ field_id: Optional[str] = Field(None, alias="_id")
1272
+ """
1273
+ entity identity
1274
+ """
1275
+ slug: Optional[str] = None
1276
+ """
1277
+ entity slug
1278
+ """
1279
+ systemName: Optional[str] = None
1280
+ consistencyChecks: Optional[List[ConsistencyCheck64]] = None
1281
+ schemaVersion: Optional[str] = "2022.8.16"
1282
+ """
1283
+ entity's schema version. Used to distinct between different schemas.
1284
+ """
1285
+ name: Optional[str] = None
1286
+ """
1287
+ entity name
1288
+ """
1289
+ isDefault: Optional[bool] = False
1290
+ """
1291
+ Identifies that entity is defaultable
1292
+ """
1293
+
1294
+
1295
+ class Queue(Enum):
1296
+ D = "D"
1297
+ OR = "OR"
1298
+ OF = "OF"
1299
+ OFplus = "OFplus"
1300
+ SR = "SR"
1301
+ SF = "SF"
1302
+ SFplus = "SFplus"
1303
+ GPOF = "GPOF"
1304
+ GP2OF = "GP2OF"
1305
+ GP4OF = "GP4OF"
1306
+ GPSF = "GPSF"
1307
+ GP2SF = "GP2SF"
1308
+ GP4SF = "GP4SF"
1309
+ OR4 = "OR4"
1310
+ OR8 = "OR8"
1311
+ OR16 = "OR16"
1312
+ SR4 = "SR4"
1313
+ SR8 = "SR8"
1314
+ SR16 = "SR16"
1315
+ GOF = "GOF"
1316
+ G4OF = "G4OF"
1317
+ G8OF = "G8OF"
1318
+ GSF = "GSF"
1319
+ G4SF = "G4SF"
1320
+ G8SF = "G8SF"
1321
+
1322
+
1323
+ class TimeLimitType(Enum):
1324
+ per_single_attempt = "per single attempt"
1325
+ compound = "compound"
1326
+
1327
+
1328
+ class QuantumEspressoArgumentsSchema(BaseModel):
1329
+ model_config = ConfigDict(
1330
+ extra="forbid",
1331
+ )
1332
+ nimage: Optional[conint(ge=1, le=100)] = 1
1333
+ """
1334
+ Processors can be divided into different `images`, each corresponding to a different self-consistent or linear-response calculation, loosely coupled to others.
1335
+ """
1336
+ npools: Optional[conint(ge=1, le=100)] = 1
1337
+ """
1338
+ Each image can be subpartitioned into `pools`, each taking care of a group of k-points.
1339
+ """
1340
+ nband: Optional[conint(ge=1, le=100)] = 1
1341
+ """
1342
+ Each pool is subpartitioned into `band groups`, each taking care of a group of Kohn-Sham orbitals (also called bands, or wavefunctions).
1343
+ """
1344
+ ntg: Optional[conint(ge=1, le=100)] = 1
1345
+ """
1346
+ In order to allow good parallelization of the 3D FFT when the number of processors exceeds the number of FFT planes, FFTs on Kohn-Sham states are redistributed to `task` groups so that each group can process several wavefunctions at the same time.
1347
+ """
1348
+ ndiag: Optional[conint(ge=1, le=100)] = 1
1349
+ """
1350
+ A further level of parallelization, independent on PW or k-point parallelization, is the parallelization of subspace diagonalization / iterative orthonormalization. Both operations required the diagonalization of arrays whose dimension is the number of Kohn-Sham states (or a small multiple of it). All such arrays are distributed block-like across the `linear-algebra group`, a subgroup of the pool of processors, organized in a square 2D grid. As a consequence the number of processors in the linear-algebra group is given by n2, where n is an integer; n2 must be smaller than the number of processors in the PW group. The diagonalization is then performed in parallel using standard linear algebra operations.
1351
+ """
1352
+
1353
+
1354
+ class Cluster(BaseModel):
1355
+ fqdn: Optional[str] = None
1356
+ """
1357
+ FQDN of the cluster. e.g. master-1-staging.exabyte.io
1358
+ """
1359
+ jid: Optional[str] = None
1360
+ """
1361
+ Job's identity in RMS. e.g. 1234.master-1-staging.exabyte.io
1362
+ """
1363
+
1364
+
1365
+ class Domain(Enum):
1366
+ rupy = "rupy"
1367
+ alfred = "alfred"
1368
+ celim = "celim"
1369
+ webapp = "webapp"
1370
+
1371
+
1372
+ class Error(BaseModel):
1373
+ domain: Optional[Domain] = None
1374
+ """
1375
+ Domain of the error appearance (internal).
1376
+ """
1377
+ reason: Optional[str] = None
1378
+ """
1379
+ Should be a short, unique, machine-readable error code string. e.g. FileNotFound
1380
+ """
1381
+ message: Optional[str] = None
1382
+ """
1383
+ Human-readable error message. e.g. 'File Not Found: /home/demo/data/project1/job-123/job-config.json'
1384
+ """
1385
+ traceback: Optional[str] = None
1386
+ """
1387
+ Full machine-readable error traceback. e.g. FileNotFound
1388
+ """
1389
+
1390
+
1391
+ class ComputeArgumentsSchema(BaseModel):
1392
+ queue: Queue
1393
+ """
1394
+ Name of the submission queues: https://docs.mat3ra.com/infrastructure/resource/queues/. Below enums are for Azure, then AWS circa 2022-08, hence the duplication.
1395
+ """
1396
+ nodes: int
1397
+ """
1398
+ number of nodes used for the job inside the RMS.
1399
+ """
1400
+ ppn: int
1401
+ """
1402
+ number of CPUs used for the job inside the RMS.
1403
+ """
1404
+ timeLimit: str
1405
+ """
1406
+ Wallclock time limit for computing a job. Clock format: 'hh:mm:ss'
1407
+ """
1408
+ timeLimitType: Optional[TimeLimitType] = "per single attempt"
1409
+ """
1410
+ Convention to use when reasoning about time limits
1411
+ """
1412
+ isRestartable: Optional[bool] = True
1413
+ """
1414
+ Job is allowed to restart on termination.
1415
+ """
1416
+ notify: Optional[str] = None
1417
+ """
1418
+ Email notification for the job: n - never, a - job aborted, b - job begins, e - job ends. Last three could be combined.
1419
+ """
1420
+ email: Optional[str] = None
1421
+ """
1422
+ Email address to notify about job execution.
1423
+ """
1424
+ maxCPU: Optional[int] = None
1425
+ """
1426
+ Maximum CPU count per node. This parameter is used to let backend job submission infrastructure know that this job is to be charged for the maximum CPU per node instead of the actual ppn. For premium/fast queues where resources are provisioned on-demand and exclusively per user.
1427
+ """
1428
+ arguments: Optional[QuantumEspressoArgumentsSchema] = Field({}, title="quantum espresso arguments schema")
1429
+ """
1430
+ Optional arguments specific to using application - VASP, Quantum Espresso, etc. Specified elsewhere
1431
+ """
1432
+ cluster: Optional[Cluster] = None
1433
+ """
1434
+ Cluster where the job is executed. Optional on create. Required on job submission.
1435
+ """
1436
+ errors: Optional[List[Error]] = None
1437
+ """
1438
+ Computation error. Optional. Appears only if something happens on jobs execution.
1439
+ """
1440
+ excludeFilesPattern: Optional[str] = None
1441
+ """
1442
+ A Python compatible regex to exclude files from upload. e.g. ^.*.txt& excludes all files with .txt suffix
1443
+ """
1444
+
1445
+
1446
+ class Subworkflow(BaseModel):
1447
+ units: List[WorkflowSubworkflowUnitSchema]
1448
+ """
1449
+ Contains the Units of the subworkflow
1450
+ """
1451
+ model: BaseModelModel = Field(..., title="base model")
1452
+ application: ApplicationSchemaBase11 = Field(..., title="application schema (base)")
1453
+ isDraft: Optional[bool] = False
1454
+ """
1455
+ Defines whether to store the results/properties extracted in this unit to properties collection
1456
+ """
1457
+ field_id: Optional[str] = Field(None, alias="_id")
1458
+ """
1459
+ subworkflow identity
1460
+ """
1461
+ name: str
1462
+ """
1463
+ Human-readable name of the subworkflow. e.g. Total-energy
1464
+ """
1465
+ properties: Optional[List[Union[str, Dict[str, Any]]]] = None
1466
+ """
1467
+ Array of characteristic properties calculated by this subworkflow
1468
+ """
1469
+ compute: Optional[ComputeArgumentsSchema] = None
1470
+ """
1471
+ compute parameters
1472
+ """
1473
+
1474
+
1475
+ class Type41(Enum):
1476
+ io = "io"
1477
+
1478
+
1479
+ class DataIODatabaseInputOutputSchema6(BaseModel):
1480
+ model_config = ConfigDict(
1481
+ extra="allow",
1482
+ )
1483
+ ids: List[str]
1484
+ """
1485
+ IDs of item to retrieve from db
1486
+ """
1487
+
1488
+
1489
+ class DataIODatabaseInputOutputSchema7(BaseModel):
1490
+ model_config = ConfigDict(
1491
+ extra="allow",
1492
+ )
1493
+ collection: str
1494
+ """
1495
+ db collection name
1496
+ """
1497
+ draft: bool
1498
+ """
1499
+ whether the result should be saved as draft
1500
+ """
1501
+
1502
+
1503
+ class ObjectStorageIoSchema2(BaseModel):
1504
+ model_config = ConfigDict(
1505
+ extra="allow",
1506
+ )
1507
+ objectData: ObjectStorageContainerData = Field(..., title="Object Storage Container Data")
1508
+ overwrite: Optional[bool] = False
1509
+ """
1510
+ if a file with the same filename already exists, whether to overwrite the old file
1511
+ """
1512
+ pathname: Optional[str] = None
1513
+ """
1514
+ Relative path to the directory that contains the file.
1515
+ """
1516
+ basename: Optional[str] = None
1517
+ """
1518
+ Basename of the file
1519
+ """
1520
+ filetype: Optional[str] = None
1521
+ """
1522
+ What kind of file this is, e.g. image / text
1523
+ """
1524
+
1525
+
1526
+ class ConsistencyCheck65(BaseModel):
1527
+ key: str
1528
+ """
1529
+ Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'
1530
+ """
1531
+ name: Name
1532
+ """
1533
+ Name of the consistency check that is performed, which is listed in an enum.
1534
+ """
1535
+ severity: Severity
1536
+ """
1537
+ Severity level of the problem, which is used in UI to differentiate.
1538
+ """
1539
+ message: str
1540
+ """
1541
+ Message generated by the consistency check describing the problem.
1542
+ """
1543
+
1544
+
1545
+ class DataIOUnitSchema2(BaseModel):
1546
+ model_config = ConfigDict(
1547
+ extra="allow",
1548
+ )
1549
+ type: Literal["0#-datamodel-code-generator-#-object-#-special-#"]
1550
+ """
1551
+ type of the unit
1552
+ """
1553
+ subtype: Subtype
1554
+ source: Source
1555
+ input: List[
1556
+ Union[
1557
+ DataIORestAPIInputSchema,
1558
+ Union[DataIODatabaseInputOutputSchema6, DataIODatabaseInputOutputSchema7],
1559
+ ObjectStorageIoSchema2,
1560
+ ]
1561
+ ]
1562
+ field_id: Optional[str] = Field(None, alias="_id")
1563
+ """
1564
+ entity identity
1565
+ """
1566
+ isDraft: Optional[bool] = None
1567
+ name: Optional[str] = None
1568
+ """
1569
+ name of the unit. e.g. pw_scf
1570
+ """
1571
+ status: Optional[Status] = None
1572
+ """
1573
+ Status of the unit.
1574
+ """
1575
+ head: Optional[bool] = None
1576
+ """
1577
+ Whether this unit is the first one to be executed.
1578
+ """
1579
+ flowchartId: str
1580
+ """
1581
+ Identity of the unit in the workflow. Used to trace the execution flow of the workflow.
1582
+ """
1583
+ next: Optional[str] = None
1584
+ """
1585
+ Next unit's flowchartId. If empty, the current unit is the last.
1586
+ """
1587
+ enableRender: Optional[bool] = None
1588
+ """
1589
+ Whether Rupy should attempt to use Jinja templating to add context variables into the unit
1590
+ """
1591
+ context: Optional[Dict[str, Any]] = None
1592
+ slug: Optional[str] = None
1593
+ """
1594
+ entity slug
1595
+ """
1596
+ systemName: Optional[str] = None
1597
+ consistencyChecks: Optional[List[ConsistencyCheck65]] = None
1598
+ schemaVersion: Optional[str] = "2022.8.16"
1599
+ """
1600
+ entity's schema version. Used to distinct between different schemas.
1601
+ """
1602
+ isDefault: Optional[bool] = False
1603
+ """
1604
+ Identifies that entity is defaultable
1605
+ """
1606
+ preProcessors: Optional[List[Union[NameResultSchema, str]]] = None
1607
+ """
1608
+ names of the pre-processors for this calculation
1609
+ """
1610
+ postProcessors: Optional[List[Union[NameResultSchema, str]]] = None
1611
+ """
1612
+ names of the post-processors for this calculation
1613
+ """
1614
+ monitors: Optional[List[Union[NameResultSchema, str]]] = None
1615
+ """
1616
+ names of the monitors for this calculation
1617
+ """
1618
+ results: Optional[List[Union[NameResultSchema, str]]] = None
1619
+ """
1620
+ names of the results for this calculation
1621
+ """
1622
+ tags: Optional[List[str]] = None
1623
+ """
1624
+ entity tags
1625
+ """
1626
+ statusTrack: Optional[List[StatusTrackItem]] = None
1627
+
1628
+
1629
+ class Type42(Enum):
1630
+ reduce = "reduce"
1631
+
1632
+
1633
+ class ConsistencyCheck66(BaseModel):
1634
+ key: str
1635
+ """
1636
+ Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'
1637
+ """
1638
+ name: Name
1639
+ """
1640
+ Name of the consistency check that is performed, which is listed in an enum.
1641
+ """
1642
+ severity: Severity
1643
+ """
1644
+ Severity level of the problem, which is used in UI to differentiate.
1645
+ """
1646
+ message: str
1647
+ """
1648
+ Message generated by the consistency check describing the problem.
1649
+ """
1650
+
1651
+
1652
+ class ReduceUnitSchema1(BaseModel):
1653
+ model_config = ConfigDict(
1654
+ extra="allow",
1655
+ )
1656
+ type: Literal["1#-datamodel-code-generator-#-object-#-special-#"]
1657
+ """
1658
+ type of the unit
1659
+ """
1660
+ mapFlowchartId: str
1661
+ """
1662
+ corresponding map unit flowchart ID
1663
+ """
1664
+ input: List[InputItem]
1665
+ """
1666
+ input information for reduce unit
1667
+ """
1668
+ field_id: Optional[str] = Field(None, alias="_id")
1669
+ """
1670
+ entity identity
1671
+ """
1672
+ isDraft: Optional[bool] = None
1673
+ name: Optional[str] = None
1674
+ """
1675
+ name of the unit. e.g. pw_scf
1676
+ """
1677
+ status: Optional[Status] = None
1678
+ """
1679
+ Status of the unit.
1680
+ """
1681
+ head: Optional[bool] = None
1682
+ """
1683
+ Whether this unit is the first one to be executed.
1684
+ """
1685
+ flowchartId: str
1686
+ """
1687
+ Identity of the unit in the workflow. Used to trace the execution flow of the workflow.
1688
+ """
1689
+ next: Optional[str] = None
1690
+ """
1691
+ Next unit's flowchartId. If empty, the current unit is the last.
1692
+ """
1693
+ enableRender: Optional[bool] = None
1694
+ """
1695
+ Whether Rupy should attempt to use Jinja templating to add context variables into the unit
1696
+ """
1697
+ context: Optional[Dict[str, Any]] = None
1698
+ slug: Optional[str] = None
1699
+ """
1700
+ entity slug
1701
+ """
1702
+ systemName: Optional[str] = None
1703
+ consistencyChecks: Optional[List[ConsistencyCheck66]] = None
1704
+ schemaVersion: Optional[str] = "2022.8.16"
1705
+ """
1706
+ entity's schema version. Used to distinct between different schemas.
1707
+ """
1708
+ isDefault: Optional[bool] = False
1709
+ """
1710
+ Identifies that entity is defaultable
1711
+ """
1712
+ preProcessors: Optional[List[Union[NameResultSchema, str]]] = None
1713
+ """
1714
+ names of the pre-processors for this calculation
1715
+ """
1716
+ postProcessors: Optional[List[Union[NameResultSchema, str]]] = None
1717
+ """
1718
+ names of the post-processors for this calculation
1719
+ """
1720
+ monitors: Optional[List[Union[NameResultSchema, str]]] = None
1721
+ """
1722
+ names of the monitors for this calculation
1723
+ """
1724
+ results: Optional[List[Union[NameResultSchema, str]]] = None
1725
+ """
1726
+ names of the results for this calculation
1727
+ """
1728
+ tags: Optional[List[str]] = None
1729
+ """
1730
+ entity tags
1731
+ """
1732
+ statusTrack: Optional[List[StatusTrackItem]] = None
1733
+
1734
+
1735
+ class Type43(Enum):
1736
+ condition = "condition"
1737
+
1738
+
1739
+ class ConsistencyCheck67(BaseModel):
1740
+ key: str
1741
+ """
1742
+ Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'
1743
+ """
1744
+ name: Name
1745
+ """
1746
+ Name of the consistency check that is performed, which is listed in an enum.
1747
+ """
1748
+ severity: Severity
1749
+ """
1750
+ Severity level of the problem, which is used in UI to differentiate.
1751
+ """
1752
+ message: str
1753
+ """
1754
+ Message generated by the consistency check describing the problem.
1755
+ """
1756
+
1757
+
1758
+ class ConditionUnitSchema2(BaseModel):
1759
+ model_config = ConfigDict(
1760
+ extra="allow",
1761
+ )
1762
+ type: Literal["2#-datamodel-code-generator-#-object-#-special-#"]
1763
+ """
1764
+ type of the unit
1765
+ """
1766
+ input: List[WorkflowUnitInputSchema]
1767
+ """
1768
+ Input information for condition.
1769
+ """
1770
+ statement: str
1771
+ """
1772
+ Condition statement. e.g. 'abs(x-total_energy) < 1e-5'
1773
+ """
1774
+ then: str
1775
+ """
1776
+ Flowchart ID reference for `then` part of the condition.
1777
+ """
1778
+ else_: str = Field(..., alias="else")
1779
+ """
1780
+ Flowchart ID reference for `else` part of the condition.
1781
+ """
1782
+ maxOccurrences: int
1783
+ """
1784
+ Maximum occurrence of the condition, usable for loops.
1785
+ """
1786
+ throwException: Optional[bool] = None
1787
+ """
1788
+ Throw exception on reaching to maximum occurence.
1789
+ """
1790
+ field_id: Optional[str] = Field(None, alias="_id")
1791
+ """
1792
+ entity identity
1793
+ """
1794
+ isDraft: Optional[bool] = None
1795
+ name: Optional[str] = None
1796
+ """
1797
+ name of the unit. e.g. pw_scf
1798
+ """
1799
+ status: Optional[Status] = None
1800
+ """
1801
+ Status of the unit.
1802
+ """
1803
+ head: Optional[bool] = None
1804
+ """
1805
+ Whether this unit is the first one to be executed.
1806
+ """
1807
+ flowchartId: str
1808
+ """
1809
+ Identity of the unit in the workflow. Used to trace the execution flow of the workflow.
1810
+ """
1811
+ next: Optional[str] = None
1812
+ """
1813
+ Next unit's flowchartId. If empty, the current unit is the last.
1814
+ """
1815
+ enableRender: Optional[bool] = None
1816
+ """
1817
+ Whether Rupy should attempt to use Jinja templating to add context variables into the unit
1818
+ """
1819
+ context: Optional[Dict[str, Any]] = None
1820
+ slug: Optional[str] = None
1821
+ """
1822
+ entity slug
1823
+ """
1824
+ systemName: Optional[str] = None
1825
+ consistencyChecks: Optional[List[ConsistencyCheck67]] = None
1826
+ schemaVersion: Optional[str] = "2022.8.16"
1827
+ """
1828
+ entity's schema version. Used to distinct between different schemas.
1829
+ """
1830
+ isDefault: Optional[bool] = False
1831
+ """
1832
+ Identifies that entity is defaultable
1833
+ """
1834
+ preProcessors: Optional[List[Union[NameResultSchema, str]]] = None
1835
+ """
1836
+ names of the pre-processors for this calculation
1837
+ """
1838
+ postProcessors: Optional[List[Union[NameResultSchema, str]]] = None
1839
+ """
1840
+ names of the post-processors for this calculation
1841
+ """
1842
+ monitors: Optional[List[Union[NameResultSchema, str]]] = None
1843
+ """
1844
+ names of the monitors for this calculation
1845
+ """
1846
+ results: Optional[List[Union[NameResultSchema, str]]] = None
1847
+ """
1848
+ names of the results for this calculation
1849
+ """
1850
+ tags: Optional[List[str]] = None
1851
+ """
1852
+ entity tags
1853
+ """
1854
+ statusTrack: Optional[List[StatusTrackItem]] = None
1855
+
1856
+
1857
+ class Type44(Enum):
1858
+ assertion = "assertion"
1859
+
1860
+
1861
+ class ConsistencyCheck68(BaseModel):
1862
+ key: str
1863
+ """
1864
+ Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'
1865
+ """
1866
+ name: Name
1867
+ """
1868
+ Name of the consistency check that is performed, which is listed in an enum.
1869
+ """
1870
+ severity: Severity
1871
+ """
1872
+ Severity level of the problem, which is used in UI to differentiate.
1873
+ """
1874
+ message: str
1875
+ """
1876
+ Message generated by the consistency check describing the problem.
1877
+ """
1878
+
1879
+
1880
+ class AssertionUnitSchema2(BaseModel):
1881
+ model_config = ConfigDict(
1882
+ extra="allow",
1883
+ )
1884
+ type: Literal["3#-datamodel-code-generator-#-object-#-special-#"]
1885
+ """
1886
+ type of the unit
1887
+ """
1888
+ statement: str
1889
+ """
1890
+ The statement to be evaluated
1891
+ """
1892
+ errorMessage: Optional[str] = None
1893
+ """
1894
+ The error message to be displayed if the assertion fails
1895
+ """
1896
+ field_id: Optional[str] = Field(None, alias="_id")
1897
+ """
1898
+ entity identity
1899
+ """
1900
+ isDraft: Optional[bool] = None
1901
+ name: str
1902
+ """
1903
+ name of the unit. e.g. pw_scf
1904
+ """
1905
+ status: Optional[Status] = None
1906
+ """
1907
+ Status of the unit.
1908
+ """
1909
+ head: Optional[bool] = None
1910
+ """
1911
+ Whether this unit is the first one to be executed.
1912
+ """
1913
+ flowchartId: str
1914
+ """
1915
+ Identity of the unit in the workflow. Used to trace the execution flow of the workflow.
1916
+ """
1917
+ next: Optional[str] = None
1918
+ """
1919
+ Next unit's flowchartId. If empty, the current unit is the last.
1920
+ """
1921
+ enableRender: Optional[bool] = None
1922
+ """
1923
+ Whether Rupy should attempt to use Jinja templating to add context variables into the unit
1924
+ """
1925
+ context: Optional[Dict[str, Any]] = None
1926
+ slug: Optional[str] = None
1927
+ """
1928
+ entity slug
1929
+ """
1930
+ systemName: Optional[str] = None
1931
+ consistencyChecks: Optional[List[ConsistencyCheck68]] = None
1932
+ schemaVersion: Optional[str] = "2022.8.16"
1933
+ """
1934
+ entity's schema version. Used to distinct between different schemas.
1935
+ """
1936
+ isDefault: Optional[bool] = False
1937
+ """
1938
+ Identifies that entity is defaultable
1939
+ """
1940
+ preProcessors: Optional[List[Union[NameResultSchema, str]]] = None
1941
+ """
1942
+ names of the pre-processors for this calculation
1943
+ """
1944
+ postProcessors: Optional[List[Union[NameResultSchema, str]]] = None
1945
+ """
1946
+ names of the post-processors for this calculation
1947
+ """
1948
+ monitors: Optional[List[Union[NameResultSchema, str]]] = None
1949
+ """
1950
+ names of the monitors for this calculation
1951
+ """
1952
+ results: Optional[List[Union[NameResultSchema, str]]] = None
1953
+ """
1954
+ names of the results for this calculation
1955
+ """
1956
+ tags: Optional[List[str]] = None
1957
+ """
1958
+ entity tags
1959
+ """
1960
+ statusTrack: Optional[List[StatusTrackItem]] = None
1961
+
1962
+
1963
+ class Type45(Enum):
1964
+ execution = "execution"
1965
+
1966
+
1967
+ class ConsistencyCheck69(BaseModel):
1968
+ key: str
1969
+ """
1970
+ Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'
1971
+ """
1972
+ name: Name
1973
+ """
1974
+ Name of the consistency check that is performed, which is listed in an enum.
1975
+ """
1976
+ severity: Severity
1977
+ """
1978
+ Severity level of the problem, which is used in UI to differentiate.
1979
+ """
1980
+ message: str
1981
+ """
1982
+ Message generated by the consistency check describing the problem.
1983
+ """
1984
+
1985
+
1986
+ class ApplicationSchemaBase12(BaseModel):
1987
+ model_config = ConfigDict(
1988
+ extra="allow",
1989
+ )
1990
+ shortName: Optional[str] = None
1991
+ """
1992
+ The short name of the application. e.g. qe
1993
+ """
1994
+ summary: Optional[str] = None
1995
+ """
1996
+ Application's short description.
1997
+ """
1998
+ version: Optional[str] = None
1999
+ """
2000
+ Application version. e.g. 5.3.5
2001
+ """
2002
+ build: Optional[str] = None
2003
+ """
2004
+ Application build. e.g. VTST
2005
+ """
2006
+ hasAdvancedComputeOptions: Optional[bool] = None
2007
+ """
2008
+ Whether advanced compute options are present
2009
+ """
2010
+ isLicensed: Optional[bool] = None
2011
+ """
2012
+ Whether licensing is present
2013
+ """
2014
+ field_id: Optional[str] = Field(None, alias="_id")
2015
+ """
2016
+ entity identity
2017
+ """
2018
+ slug: Optional[str] = None
2019
+ """
2020
+ entity slug
2021
+ """
2022
+ systemName: Optional[str] = None
2023
+ consistencyChecks: Optional[List[ConsistencyCheck69]] = None
2024
+ schemaVersion: Optional[str] = "2022.8.16"
2025
+ """
2026
+ entity's schema version. Used to distinct between different schemas.
2027
+ """
2028
+ name: Optional[str] = None
2029
+ """
2030
+ entity name
2031
+ """
2032
+ isDefault: Optional[bool] = False
2033
+ """
2034
+ Identifies that entity is defaultable
2035
+ """
2036
+
2037
+
2038
+ class ConsistencyCheck70(BaseModel):
2039
+ key: str
2040
+ """
2041
+ Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'
2042
+ """
2043
+ name: Name
2044
+ """
2045
+ Name of the consistency check that is performed, which is listed in an enum.
2046
+ """
2047
+ severity: Severity
2048
+ """
2049
+ Severity level of the problem, which is used in UI to differentiate.
2050
+ """
2051
+ message: str
2052
+ """
2053
+ Message generated by the consistency check describing the problem.
2054
+ """
2055
+
2056
+
2057
+ class ExecutableSchema11(BaseModel):
2058
+ name: str
2059
+ """
2060
+ The name of the executable. e.g. pw.x
2061
+ """
2062
+ applicationId: Optional[List[str]] = None
2063
+ """
2064
+ _ids of the application this executable belongs to
2065
+ """
2066
+ hasAdvancedComputeOptions: Optional[bool] = None
2067
+ """
2068
+ Whether advanced compute options are present
2069
+ """
2070
+ field_id: Optional[str] = Field(None, alias="_id")
2071
+ """
2072
+ entity identity
2073
+ """
2074
+ slug: Optional[str] = None
2075
+ """
2076
+ entity slug
2077
+ """
2078
+ systemName: Optional[str] = None
2079
+ consistencyChecks: Optional[List[ConsistencyCheck70]] = None
2080
+ schemaVersion: Optional[str] = "2022.8.16"
2081
+ """
2082
+ entity's schema version. Used to distinct between different schemas.
2083
+ """
2084
+ isDefault: Optional[bool] = False
2085
+ """
2086
+ Identifies that entity is defaultable
2087
+ """
2088
+ preProcessors: Optional[List[Union[NameResultSchema, str]]] = None
2089
+ """
2090
+ names of the pre-processors for this calculation
2091
+ """
2092
+ postProcessors: Optional[List[Union[NameResultSchema, str]]] = None
2093
+ """
2094
+ names of the post-processors for this calculation
2095
+ """
2096
+ monitors: Optional[List[Union[NameResultSchema, str]]] = None
2097
+ """
2098
+ names of the monitors for this calculation
2099
+ """
2100
+ results: Optional[List[Union[NameResultSchema, str]]] = None
2101
+ """
2102
+ names of the results for this calculation
2103
+ """
2104
+
2105
+
2106
+ class ConsistencyCheck71(BaseModel):
2107
+ key: str
2108
+ """
2109
+ Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'
2110
+ """
2111
+ name: Name
2112
+ """
2113
+ Name of the consistency check that is performed, which is listed in an enum.
2114
+ """
2115
+ severity: Severity
2116
+ """
2117
+ Severity level of the problem, which is used in UI to differentiate.
2118
+ """
2119
+ message: str
2120
+ """
2121
+ Message generated by the consistency check describing the problem.
2122
+ """
2123
+
2124
+
2125
+ class FlavorSchema11(BaseModel):
2126
+ executableId: Optional[str] = None
2127
+ """
2128
+ _id of the executable this flavor belongs to
2129
+ """
2130
+ executableName: Optional[str] = None
2131
+ """
2132
+ name of the executable this flavor belongs to
2133
+ """
2134
+ applicationName: Optional[str] = None
2135
+ """
2136
+ name of the application this flavor belongs to
2137
+ """
2138
+ input: Optional[List[ExecutionUnitInputIdItemSchemaForPhysicsBasedSimulationEngines]] = Field(
2139
+ None, title="execution unit input schema"
2140
+ )
2141
+ field_id: Optional[str] = Field(None, alias="_id")
2142
+ """
2143
+ entity identity
2144
+ """
2145
+ slug: Optional[str] = None
2146
+ """
2147
+ entity slug
2148
+ """
2149
+ systemName: Optional[str] = None
2150
+ consistencyChecks: Optional[List[ConsistencyCheck71]] = None
2151
+ schemaVersion: Optional[str] = "2022.8.16"
2152
+ """
2153
+ entity's schema version. Used to distinct between different schemas.
2154
+ """
2155
+ name: Optional[str] = None
2156
+ """
2157
+ entity name
2158
+ """
2159
+ isDefault: Optional[bool] = False
2160
+ """
2161
+ Identifies that entity is defaultable
2162
+ """
2163
+ preProcessors: Optional[List[Union[NameResultSchema, str]]] = None
2164
+ """
2165
+ names of the pre-processors for this calculation
2166
+ """
2167
+ postProcessors: Optional[List[Union[NameResultSchema, str]]] = None
2168
+ """
2169
+ names of the post-processors for this calculation
2170
+ """
2171
+ monitors: Optional[List[Union[NameResultSchema, str]]] = None
2172
+ """
2173
+ names of the monitors for this calculation
2174
+ """
2175
+ results: Optional[List[Union[NameResultSchema, str]]] = None
2176
+ """
2177
+ names of the results for this calculation
2178
+ """
2179
+
2180
+
2181
+ class ConsistencyCheck72(BaseModel):
2182
+ key: str
2183
+ """
2184
+ Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'
2185
+ """
2186
+ name: Name
2187
+ """
2188
+ Name of the consistency check that is performed, which is listed in an enum.
2189
+ """
2190
+ severity: Severity
2191
+ """
2192
+ Severity level of the problem, which is used in UI to differentiate.
2193
+ """
2194
+ message: str
2195
+ """
2196
+ Message generated by the consistency check describing the problem.
2197
+ """
2198
+
2199
+
2200
+ class ExecutionUnitSchemaBase2(BaseModel):
2201
+ model_config = ConfigDict(
2202
+ extra="allow",
2203
+ )
2204
+ type: Literal["4#-datamodel-code-generator-#-object-#-special-#"]
2205
+ """
2206
+ type of the unit
2207
+ """
2208
+ application: ApplicationSchemaBase12 = Field(..., title="application schema (base)")
2209
+ executable: Optional[ExecutableSchema11] = Field(None, title="executable schema")
2210
+ flavor: Optional[FlavorSchema11] = Field(None, title="flavor schema")
2211
+ input: Any
2212
+ """
2213
+ unit input (type to be specified by the application's execution unit)
2214
+ """
2215
+ field_id: Optional[str] = Field(None, alias="_id")
2216
+ """
2217
+ entity identity
2218
+ """
2219
+ isDraft: Optional[bool] = None
2220
+ name: Optional[str] = None
2221
+ """
2222
+ name of the unit. e.g. pw_scf
2223
+ """
2224
+ status: Optional[Status] = None
2225
+ """
2226
+ Status of the unit.
2227
+ """
2228
+ head: Optional[bool] = None
2229
+ """
2230
+ Whether this unit is the first one to be executed.
2231
+ """
2232
+ flowchartId: str
2233
+ """
2234
+ Identity of the unit in the workflow. Used to trace the execution flow of the workflow.
2235
+ """
2236
+ next: Optional[str] = None
2237
+ """
2238
+ Next unit's flowchartId. If empty, the current unit is the last.
2239
+ """
2240
+ enableRender: Optional[bool] = None
2241
+ """
2242
+ Whether Rupy should attempt to use Jinja templating to add context variables into the unit
2243
+ """
2244
+ context: Optional[Dict[str, Any]] = None
2245
+ slug: Optional[str] = None
2246
+ """
2247
+ entity slug
2248
+ """
2249
+ systemName: Optional[str] = None
2250
+ consistencyChecks: Optional[List[ConsistencyCheck72]] = None
2251
+ schemaVersion: Optional[str] = "2022.8.16"
2252
+ """
2253
+ entity's schema version. Used to distinct between different schemas.
2254
+ """
2255
+ isDefault: Optional[bool] = False
2256
+ """
2257
+ Identifies that entity is defaultable
2258
+ """
2259
+ preProcessors: Optional[List[Union[NameResultSchema, str]]] = None
2260
+ """
2261
+ names of the pre-processors for this calculation
2262
+ """
2263
+ postProcessors: Optional[List[Union[NameResultSchema, str]]] = None
2264
+ """
2265
+ names of the post-processors for this calculation
2266
+ """
2267
+ monitors: Optional[List[Union[NameResultSchema, str]]] = None
2268
+ """
2269
+ names of the monitors for this calculation
2270
+ """
2271
+ results: Optional[List[Union[NameResultSchema, str]]] = None
2272
+ """
2273
+ names of the results for this calculation
2274
+ """
2275
+ tags: Optional[List[str]] = None
2276
+ """
2277
+ entity tags
2278
+ """
2279
+ statusTrack: Optional[List[StatusTrackItem]] = None
2280
+
2281
+
2282
+ class Type46(Enum):
2283
+ assignment = "assignment"
2284
+
2285
+
2286
+ class ConsistencyCheck73(BaseModel):
2287
+ key: str
2288
+ """
2289
+ Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'
2290
+ """
2291
+ name: Name
2292
+ """
2293
+ Name of the consistency check that is performed, which is listed in an enum.
2294
+ """
2295
+ severity: Severity
2296
+ """
2297
+ Severity level of the problem, which is used in UI to differentiate.
2298
+ """
2299
+ message: str
2300
+ """
2301
+ Message generated by the consistency check describing the problem.
2302
+ """
2303
+
2304
+
2305
+ class AssignmentUnitSchema2(BaseModel):
2306
+ model_config = ConfigDict(
2307
+ extra="allow",
2308
+ )
2309
+ type: Literal["5#-datamodel-code-generator-#-object-#-special-#"]
2310
+ """
2311
+ type of the unit
2312
+ """
2313
+ input: Optional[List[WorkflowUnitInputSchema]] = None
2314
+ """
2315
+ Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment.
2316
+ """
2317
+ operand: str
2318
+ """
2319
+ Name of the global variable. e.g. 'x'
2320
+ """
2321
+ value: Union[str, bool, float]
2322
+ """
2323
+ 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)
2324
+ """
2325
+ field_id: Optional[str] = Field(None, alias="_id")
2326
+ """
2327
+ entity identity
2328
+ """
2329
+ isDraft: Optional[bool] = None
2330
+ name: str
2331
+ """
2332
+ name of the unit. e.g. pw_scf
2333
+ """
2334
+ status: Optional[Status] = None
2335
+ """
2336
+ Status of the unit.
2337
+ """
2338
+ head: Optional[bool] = None
2339
+ """
2340
+ Whether this unit is the first one to be executed.
2341
+ """
2342
+ flowchartId: str
2343
+ """
2344
+ Identity of the unit in the workflow. Used to trace the execution flow of the workflow.
2345
+ """
2346
+ next: Optional[str] = None
2347
+ """
2348
+ Next unit's flowchartId. If empty, the current unit is the last.
2349
+ """
2350
+ enableRender: Optional[bool] = None
2351
+ """
2352
+ Whether Rupy should attempt to use Jinja templating to add context variables into the unit
2353
+ """
2354
+ context: Optional[Dict[str, Any]] = None
2355
+ slug: Optional[str] = None
2356
+ """
2357
+ entity slug
2358
+ """
2359
+ systemName: Optional[str] = None
2360
+ consistencyChecks: Optional[List[ConsistencyCheck73]] = None
2361
+ schemaVersion: Optional[str] = "2022.8.16"
2362
+ """
2363
+ entity's schema version. Used to distinct between different schemas.
2364
+ """
2365
+ isDefault: Optional[bool] = False
2366
+ """
2367
+ Identifies that entity is defaultable
2368
+ """
2369
+ preProcessors: Optional[List[Union[NameResultSchema, str]]] = None
2370
+ """
2371
+ names of the pre-processors for this calculation
2372
+ """
2373
+ postProcessors: Optional[List[Union[NameResultSchema, str]]] = None
2374
+ """
2375
+ names of the post-processors for this calculation
2376
+ """
2377
+ monitors: Optional[List[Union[NameResultSchema, str]]] = None
2378
+ """
2379
+ names of the monitors for this calculation
2380
+ """
2381
+ results: Optional[List[Union[NameResultSchema, str]]] = None
2382
+ """
2383
+ names of the results for this calculation
2384
+ """
2385
+ tags: Optional[List[str]] = None
2386
+ """
2387
+ entity tags
2388
+ """
2389
+ statusTrack: Optional[List[StatusTrackItem]] = None
2390
+ scope: Optional[str] = None
2391
+
2392
+
2393
+ class Type47(Enum):
2394
+ processing = "processing"
2395
+
2396
+
2397
+ class ConsistencyCheck74(BaseModel):
2398
+ key: str
2399
+ """
2400
+ Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'
2401
+ """
2402
+ name: Name
2403
+ """
2404
+ Name of the consistency check that is performed, which is listed in an enum.
2405
+ """
2406
+ severity: Severity
2407
+ """
2408
+ Severity level of the problem, which is used in UI to differentiate.
2409
+ """
2410
+ message: str
2411
+ """
2412
+ Message generated by the consistency check describing the problem.
2413
+ """
2414
+
2415
+
2416
+ class ProcessingUnitSchema1(BaseModel):
2417
+ model_config = ConfigDict(
2418
+ extra="allow",
2419
+ )
2420
+ type: Literal["6#-datamodel-code-generator-#-object-#-special-#"]
2421
+ """
2422
+ type of the unit
2423
+ """
2424
+ operation: str
2425
+ """
2426
+ Contains information about the operation used.
2427
+ """
2428
+ operationType: str
2429
+ """
2430
+ Contains information about the specific type of the operation used.
2431
+ """
2432
+ inputData: Any
2433
+ """
2434
+ unit input (type to be specified by the child units)
2435
+ """
2436
+ field_id: Optional[str] = Field(None, alias="_id")
2437
+ """
2438
+ entity identity
2439
+ """
2440
+ isDraft: Optional[bool] = None
2441
+ name: Optional[str] = None
2442
+ """
2443
+ name of the unit. e.g. pw_scf
2444
+ """
2445
+ status: Optional[Status] = None
2446
+ """
2447
+ Status of the unit.
2448
+ """
2449
+ head: Optional[bool] = None
2450
+ """
2451
+ Whether this unit is the first one to be executed.
2452
+ """
2453
+ flowchartId: str
2454
+ """
2455
+ Identity of the unit in the workflow. Used to trace the execution flow of the workflow.
2456
+ """
2457
+ next: Optional[str] = None
2458
+ """
2459
+ Next unit's flowchartId. If empty, the current unit is the last.
2460
+ """
2461
+ enableRender: Optional[bool] = None
2462
+ """
2463
+ Whether Rupy should attempt to use Jinja templating to add context variables into the unit
2464
+ """
2465
+ context: Optional[Dict[str, Any]] = None
2466
+ slug: Optional[str] = None
2467
+ """
2468
+ entity slug
2469
+ """
2470
+ systemName: Optional[str] = None
2471
+ consistencyChecks: Optional[List[ConsistencyCheck74]] = None
2472
+ schemaVersion: Optional[str] = "2022.8.16"
2473
+ """
2474
+ entity's schema version. Used to distinct between different schemas.
2475
+ """
2476
+ isDefault: Optional[bool] = False
2477
+ """
2478
+ Identifies that entity is defaultable
2479
+ """
2480
+ preProcessors: Optional[List[Union[NameResultSchema, str]]] = None
2481
+ """
2482
+ names of the pre-processors for this calculation
2483
+ """
2484
+ postProcessors: Optional[List[Union[NameResultSchema, str]]] = None
2485
+ """
2486
+ names of the post-processors for this calculation
2487
+ """
2488
+ monitors: Optional[List[Union[NameResultSchema, str]]] = None
2489
+ """
2490
+ names of the monitors for this calculation
2491
+ """
2492
+ results: Optional[List[Union[NameResultSchema, str]]] = None
2493
+ """
2494
+ names of the results for this calculation
2495
+ """
2496
+ tags: Optional[List[str]] = None
2497
+ """
2498
+ entity tags
2499
+ """
2500
+ statusTrack: Optional[List[StatusTrackItem]] = None
2501
+
2502
+
2503
+ class Type48(Enum):
2504
+ map = "map"
2505
+
2506
+
2507
+ class Input(BaseModel):
2508
+ target: str
2509
+ """
2510
+ Name of the target variable to substitute using the values below. e.g. K_POINTS
2511
+ """
2512
+ scope: Optional[str] = None
2513
+ """
2514
+ Scope to retrieve `values` from, global or flowchartId. Optional if `values` is given.
2515
+ """
2516
+ name: Optional[str] = None
2517
+ """
2518
+ Name of the variable inside the scope to retrieve `values` from. Optional if `values` is given.
2519
+ """
2520
+ values: Optional[List[Union[str, float, Dict[str, Any]]]] = None
2521
+ """
2522
+ 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
2523
+ """
2524
+ useValues: Optional[bool] = None
2525
+
2526
+
2527
+ class ConsistencyCheck75(BaseModel):
2528
+ key: str
2529
+ """
2530
+ Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'
2531
+ """
2532
+ name: Name
2533
+ """
2534
+ Name of the consistency check that is performed, which is listed in an enum.
2535
+ """
2536
+ severity: Severity
2537
+ """
2538
+ Severity level of the problem, which is used in UI to differentiate.
2539
+ """
2540
+ message: str
2541
+ """
2542
+ Message generated by the consistency check describing the problem.
2543
+ """
2544
+
2545
+
2546
+ class MapUnitSchema(BaseModel):
2547
+ model_config = ConfigDict(
2548
+ extra="allow",
2549
+ )
2550
+ type: Literal["7#-datamodel-code-generator-#-object-#-special-#"]
2551
+ """
2552
+ type of the unit
2553
+ """
2554
+ workflowId: str
2555
+ """
2556
+ Id of workflow to run inside map
2557
+ """
2558
+ input: Input
2559
+ """
2560
+ Input information for map.
2561
+ """
2562
+ field_id: Optional[str] = Field(None, alias="_id")
2563
+ """
2564
+ entity identity
2565
+ """
2566
+ isDraft: Optional[bool] = None
2567
+ name: Optional[str] = None
2568
+ """
2569
+ name of the unit. e.g. pw_scf
2570
+ """
2571
+ status: Optional[Status] = None
2572
+ """
2573
+ Status of the unit.
2574
+ """
2575
+ head: Optional[bool] = None
2576
+ """
2577
+ Whether this unit is the first one to be executed.
2578
+ """
2579
+ flowchartId: str
2580
+ """
2581
+ Identity of the unit in the workflow. Used to trace the execution flow of the workflow.
2582
+ """
2583
+ next: Optional[str] = None
2584
+ """
2585
+ Next unit's flowchartId. If empty, the current unit is the last.
2586
+ """
2587
+ enableRender: Optional[bool] = None
2588
+ """
2589
+ Whether Rupy should attempt to use Jinja templating to add context variables into the unit
2590
+ """
2591
+ context: Optional[Dict[str, Any]] = None
2592
+ slug: Optional[str] = None
2593
+ """
2594
+ entity slug
2595
+ """
2596
+ systemName: Optional[str] = None
2597
+ consistencyChecks: Optional[List[ConsistencyCheck75]] = None
2598
+ schemaVersion: Optional[str] = "2022.8.16"
2599
+ """
2600
+ entity's schema version. Used to distinct between different schemas.
2601
+ """
2602
+ isDefault: Optional[bool] = False
2603
+ """
2604
+ Identifies that entity is defaultable
2605
+ """
2606
+ preProcessors: Optional[List[Union[NameResultSchema, str]]] = None
2607
+ """
2608
+ names of the pre-processors for this calculation
2609
+ """
2610
+ postProcessors: Optional[List[Union[NameResultSchema, str]]] = None
2611
+ """
2612
+ names of the post-processors for this calculation
2613
+ """
2614
+ monitors: Optional[List[Union[NameResultSchema, str]]] = None
2615
+ """
2616
+ names of the monitors for this calculation
2617
+ """
2618
+ results: Optional[List[Union[NameResultSchema, str]]] = None
2619
+ """
2620
+ names of the results for this calculation
2621
+ """
2622
+ tags: Optional[List[str]] = None
2623
+ """
2624
+ entity tags
2625
+ """
2626
+ statusTrack: Optional[List[StatusTrackItem]] = None
2627
+
2628
+
2629
+ class Type49(Enum):
2630
+ subworkflow = "subworkflow"
2631
+
2632
+
2633
+ class ConsistencyCheck76(BaseModel):
2634
+ key: str
2635
+ """
2636
+ Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'
2637
+ """
2638
+ name: Name
2639
+ """
2640
+ Name of the consistency check that is performed, which is listed in an enum.
2641
+ """
2642
+ severity: Severity
2643
+ """
2644
+ Severity level of the problem, which is used in UI to differentiate.
2645
+ """
2646
+ message: str
2647
+ """
2648
+ Message generated by the consistency check describing the problem.
2649
+ """
2650
+
2651
+
2652
+ class SubworkflowUnitSchema(BaseModel):
2653
+ model_config = ConfigDict(
2654
+ extra="allow",
2655
+ )
2656
+ type: Literal["8#-datamodel-code-generator-#-object-#-special-#"]
2657
+ """
2658
+ type of the unit
2659
+ """
2660
+ field_id: Optional[str] = Field(None, alias="_id")
2661
+ """
2662
+ entity identity
2663
+ """
2664
+ isDraft: Optional[bool] = None
2665
+ name: Optional[str] = None
2666
+ """
2667
+ name of the unit. e.g. pw_scf
2668
+ """
2669
+ status: Optional[Status] = None
2670
+ """
2671
+ Status of the unit.
2672
+ """
2673
+ head: Optional[bool] = None
2674
+ """
2675
+ Whether this unit is the first one to be executed.
2676
+ """
2677
+ flowchartId: str
2678
+ """
2679
+ Identity of the unit in the workflow. Used to trace the execution flow of the workflow.
2680
+ """
2681
+ next: Optional[str] = None
2682
+ """
2683
+ Next unit's flowchartId. If empty, the current unit is the last.
2684
+ """
2685
+ enableRender: Optional[bool] = None
2686
+ """
2687
+ Whether Rupy should attempt to use Jinja templating to add context variables into the unit
2688
+ """
2689
+ context: Optional[Dict[str, Any]] = None
2690
+ slug: Optional[str] = None
2691
+ """
2692
+ entity slug
2693
+ """
2694
+ systemName: Optional[str] = None
2695
+ consistencyChecks: Optional[List[ConsistencyCheck76]] = None
2696
+ schemaVersion: Optional[str] = "2022.8.16"
2697
+ """
2698
+ entity's schema version. Used to distinct between different schemas.
2699
+ """
2700
+ isDefault: Optional[bool] = False
2701
+ """
2702
+ Identifies that entity is defaultable
2703
+ """
2704
+ preProcessors: Optional[List[Union[NameResultSchema, str]]] = None
2705
+ """
2706
+ names of the pre-processors for this calculation
2707
+ """
2708
+ postProcessors: Optional[List[Union[NameResultSchema, str]]] = None
2709
+ """
2710
+ names of the post-processors for this calculation
2711
+ """
2712
+ monitors: Optional[List[Union[NameResultSchema, str]]] = None
2713
+ """
2714
+ names of the monitors for this calculation
2715
+ """
2716
+ results: Optional[List[Union[NameResultSchema, str]]] = None
2717
+ """
2718
+ names of the results for this calculation
2719
+ """
2720
+ tags: Optional[List[str]] = None
2721
+ """
2722
+ entity tags
2723
+ """
2724
+ statusTrack: Optional[List[StatusTrackItem]] = None
2725
+
2726
+
2727
+ class WorkflowUnitSchema(
2728
+ RootModel[
2729
+ Union[
2730
+ DataIOUnitSchema2,
2731
+ ReduceUnitSchema1,
2732
+ ConditionUnitSchema2,
2733
+ AssertionUnitSchema2,
2734
+ ExecutionUnitSchemaBase2,
2735
+ AssignmentUnitSchema2,
2736
+ ProcessingUnitSchema1,
2737
+ MapUnitSchema,
2738
+ SubworkflowUnitSchema,
2739
+ ]
2740
+ ]
2741
+ ):
2742
+ root: Union[
2743
+ DataIOUnitSchema2,
2744
+ ReduceUnitSchema1,
2745
+ ConditionUnitSchema2,
2746
+ AssertionUnitSchema2,
2747
+ ExecutionUnitSchemaBase2,
2748
+ AssignmentUnitSchema2,
2749
+ ProcessingUnitSchema1,
2750
+ MapUnitSchema,
2751
+ SubworkflowUnitSchema,
2752
+ ] = Field(..., discriminator="type", title="workflow unit schema")
2753
+
2754
+
2755
+ class ConsistencyCheck77(BaseModel):
2756
+ key: str
2757
+ """
2758
+ Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'
2759
+ """
2760
+ name: Name
2761
+ """
2762
+ Name of the consistency check that is performed, which is listed in an enum.
2763
+ """
2764
+ severity: Severity
2765
+ """
2766
+ Severity level of the problem, which is used in UI to differentiate.
2767
+ """
2768
+ message: str
2769
+ """
2770
+ Message generated by the consistency check describing the problem.
2771
+ """
2772
+
2773
+
2774
+ class WorkflowSchema(BaseModel):
2775
+ subworkflows: List[Subworkflow]
2776
+ """
2777
+ Array of subworkflows. Subworkflow can be an instance of workflow to allow for nesting
2778
+ """
2779
+ units: List[WorkflowUnitSchema]
2780
+ """
2781
+ Contains the Units of the Workflow
2782
+ """
2783
+ properties: Optional[List[Union[str, Dict[str, Any]]]] = None
2784
+ """
2785
+ Array of characteristic properties calculated by this workflow (TODO: add enums)
2786
+ """
2787
+ isUsingDataset: Optional[bool] = None
2788
+ """
2789
+ Whether to use the dataset tab in the job designer. Mutually exclusive with using the materials tab.
2790
+ """
2791
+ workflows: Optional[List[Dict[str, Any]]] = None
2792
+ """
2793
+ Array of workflows with the same schema as the current one.
2794
+ """
2795
+ field_id: Optional[str] = Field(None, alias="_id")
2796
+ """
2797
+ entity identity
2798
+ """
2799
+ slug: Optional[str] = None
2800
+ """
2801
+ entity slug
2802
+ """
2803
+ systemName: Optional[str] = None
2804
+ consistencyChecks: Optional[List[ConsistencyCheck77]] = None
2805
+ schemaVersion: Optional[str] = "2022.8.16"
2806
+ """
2807
+ entity's schema version. Used to distinct between different schemas.
2808
+ """
2809
+ name: Optional[str] = None
2810
+ """
2811
+ entity name
2812
+ """
2813
+ isDefault: Optional[bool] = False
2814
+ """
2815
+ Identifies that entity is defaultable
2816
+ """
2817
+ metadata: Optional[Dict[str, Any]] = None
2818
+
2819
+
2820
+ class Status34(Enum):
2821
+ pre_submission = "pre-submission"
2822
+ queued = "queued"
2823
+ submitted = "submitted"
2824
+ active = "active"
2825
+ finished = "finished"
2826
+ terminate_queued = "terminate-queued"
2827
+ terminated = "terminated"
2828
+ error = "error"
2829
+ deleted = "deleted"
2830
+ timeout = "timeout"
2831
+
2832
+
2833
+ class Error4(BaseModel):
2834
+ domain: Optional[Domain] = None
2835
+ """
2836
+ Domain of the error appearance (internal).
2837
+ """
2838
+ reason: Optional[str] = None
2839
+ """
2840
+ Should be a short, unique, machine-readable error code string. e.g. FileNotFound
2841
+ """
2842
+ message: Optional[str] = None
2843
+ """
2844
+ Human-readable error message. e.g. 'File Not Found: /home/demo/data/project1/job-123/job-config.json'
2845
+ """
2846
+ traceback: Optional[str] = None
2847
+ """
2848
+ Full machine-readable error traceback. e.g. FileNotFound
2849
+ """
2850
+
2851
+
2852
+ class ComputeArgumentsSchema4(BaseModel):
2853
+ queue: Queue
2854
+ """
2855
+ Name of the submission queues: https://docs.mat3ra.com/infrastructure/resource/queues/. Below enums are for Azure, then AWS circa 2022-08, hence the duplication.
2856
+ """
2857
+ nodes: int
2858
+ """
2859
+ number of nodes used for the job inside the RMS.
2860
+ """
2861
+ ppn: int
2862
+ """
2863
+ number of CPUs used for the job inside the RMS.
2864
+ """
2865
+ timeLimit: str
2866
+ """
2867
+ Wallclock time limit for computing a job. Clock format: 'hh:mm:ss'
2868
+ """
2869
+ timeLimitType: Optional[TimeLimitType] = "per single attempt"
2870
+ """
2871
+ Convention to use when reasoning about time limits
2872
+ """
2873
+ isRestartable: Optional[bool] = True
2874
+ """
2875
+ Job is allowed to restart on termination.
2876
+ """
2877
+ notify: Optional[str] = None
2878
+ """
2879
+ Email notification for the job: n - never, a - job aborted, b - job begins, e - job ends. Last three could be combined.
2880
+ """
2881
+ email: Optional[str] = None
2882
+ """
2883
+ Email address to notify about job execution.
2884
+ """
2885
+ maxCPU: Optional[int] = None
2886
+ """
2887
+ Maximum CPU count per node. This parameter is used to let backend job submission infrastructure know that this job is to be charged for the maximum CPU per node instead of the actual ppn. For premium/fast queues where resources are provisioned on-demand and exclusively per user.
2888
+ """
2889
+ arguments: Optional[QuantumEspressoArgumentsSchema] = Field({}, title="quantum espresso arguments schema")
2890
+ """
2891
+ Optional arguments specific to using application - VASP, Quantum Espresso, etc. Specified elsewhere
2892
+ """
2893
+ cluster: Optional[Cluster] = None
2894
+ """
2895
+ Cluster where the job is executed. Optional on create. Required on job submission.
2896
+ """
2897
+ errors: Optional[List[Error4]] = None
2898
+ """
2899
+ Computation error. Optional. Appears only if something happens on jobs execution.
2900
+ """
2901
+ excludeFilesPattern: Optional[str] = None
2902
+ """
2903
+ A Python compatible regex to exclude files from upload. e.g. ^.*.txt& excludes all files with .txt suffix
2904
+ """
2905
+
2906
+
2907
+ class EntityReferenceSchema(BaseModel):
2908
+ field_id: Optional[str] = Field(None, alias="_id")
2909
+ """
2910
+ entity identity
2911
+ """
2912
+ cls: Optional[str] = None
2913
+ """
2914
+ entity class
2915
+ """
2916
+ slug: Optional[str] = None
2917
+ """
2918
+ entity slug
2919
+ """
2920
+
2921
+
2922
+ class WorkflowScopeSchema(BaseModel):
2923
+ global_: Dict[str, Any] = Field(..., alias="global")
2924
+ local: Dict[str, Any]
2925
+
2926
+
2927
+ class ScopeTrackItem(BaseModel):
2928
+ repetition: Optional[float] = None
2929
+ scope: Optional[WorkflowScopeSchema] = Field(None, title="workflow scope schema")
2930
+
2931
+
2932
+ class ConsistencyCheck78(BaseModel):
2933
+ key: str
2934
+ """
2935
+ Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'
2936
+ """
2937
+ name: Name
2938
+ """
2939
+ Name of the consistency check that is performed, which is listed in an enum.
2940
+ """
2941
+ severity: Severity
2942
+ """
2943
+ Severity level of the problem, which is used in UI to differentiate.
2944
+ """
2945
+ message: str
2946
+ """
2947
+ Message generated by the consistency check describing the problem.
2948
+ """
2949
+
2950
+
2951
+ class JobSchema(BaseModel):
2952
+ workflow: WorkflowSchema = Field(..., title="workflow schema")
2953
+ rmsId: Optional[str] = None
2954
+ """
2955
+ Identity used to track jobs originated from command-line
2956
+ """
2957
+ status: Status34
2958
+ """
2959
+ job status
2960
+ """
2961
+ startTime: Optional[str] = None
2962
+ """
2963
+ Approximate start time of the job. e.g. within 10 min
2964
+ """
2965
+ workDir: Optional[str] = None
2966
+ """
2967
+ The path to the working directory of this job, when the job originates from command-line
2968
+ """
2969
+ compute: ComputeArgumentsSchema4 = Field(..., title="compute arguments schema")
2970
+ """
2971
+ Custom keywords prefixed with validate correspond to custom validation methods implemented downstream
2972
+ """
2973
+ field_project: EntityReferenceSchema = Field(..., alias="_project", title="entity reference schema")
2974
+ field_material: Optional[EntityReferenceSchema] = Field(None, alias="_material", title="entity reference schema")
2975
+ parent: Optional[EntityReferenceSchema] = Field(None, title="entity reference schema")
2976
+ runtimeContext: Optional[Dict[str, Any]] = None
2977
+ """
2978
+ Context variables that the job will have access to at runtime
2979
+ """
2980
+ scopeTrack: Optional[List[ScopeTrackItem]] = None
2981
+ """
2982
+ history of the workflow scope on each update
2983
+ """
2984
+ field_id: Optional[str] = Field(None, alias="_id")
2985
+ """
2986
+ entity identity
2987
+ """
2988
+ slug: Optional[str] = None
2989
+ """
2990
+ entity slug
2991
+ """
2992
+ systemName: Optional[str] = None
2993
+ consistencyChecks: Optional[List[ConsistencyCheck78]] = None
2994
+ schemaVersion: Optional[str] = "2022.8.16"
2995
+ """
2996
+ entity's schema version. Used to distinct between different schemas.
2997
+ """
2998
+ name: Optional[str] = None
2999
+ """
3000
+ entity name
3001
+ """
3002
+ isDefault: Optional[bool] = False
3003
+ """
3004
+ Identifies that entity is defaultable
3005
+ """
3006
+ metadata: Optional[Dict[str, Any]] = None