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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


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

Files changed (447) hide show
  1. mat3ra/esse/models/__init__.py +3 -0
  2. mat3ra/esse/models/core/__init__.py +3 -0
  3. mat3ra/esse/models/core/abstract/2d_data.py +17 -0
  4. mat3ra/esse/models/core/abstract/2d_plot.py +34 -0
  5. mat3ra/esse/models/core/abstract/3d_grid.py +14 -0
  6. mat3ra/esse/models/core/abstract/3d_tensor.py +19 -0
  7. mat3ra/esse/models/core/abstract/3d_vector_basis.py +15 -0
  8. mat3ra/esse/models/core/abstract/__init__.py +3 -0
  9. mat3ra/esse/models/core/abstract/point.py +13 -0
  10. mat3ra/esse/models/core/abstract/vector.py +13 -0
  11. mat3ra/esse/models/core/primitive/1d_data_series.py +13 -0
  12. mat3ra/esse/models/core/primitive/3d_lattice.py +34 -0
  13. mat3ra/esse/models/core/primitive/__init__.py +3 -0
  14. mat3ra/esse/models/core/primitive/array_of_3_booleans.py +13 -0
  15. mat3ra/esse/models/core/primitive/array_of_3_numbers.py +13 -0
  16. mat3ra/esse/models/core/primitive/array_of_ids.py +23 -0
  17. mat3ra/esse/models/core/primitive/array_of_strings.py +16 -0
  18. mat3ra/esse/models/core/primitive/axis.py +20 -0
  19. mat3ra/esse/models/core/primitive/group_info.py +20 -0
  20. mat3ra/esse/models/core/primitive/integer_one_or_zero.py +11 -0
  21. mat3ra/esse/models/core/primitive/linked_list/__init__.py +33 -0
  22. mat3ra/esse/models/core/primitive/linked_list/base_node.py +31 -0
  23. mat3ra/esse/models/core/primitive/linked_list/named_node.py +35 -0
  24. mat3ra/esse/models/core/primitive/linked_list/named_node_in_group.py +43 -0
  25. mat3ra/esse/models/core/primitive/linked_list/node_with_type.py +32 -0
  26. mat3ra/esse/models/core/primitive/scalar.py +11 -0
  27. mat3ra/esse/models/core/primitive/slugified_entry.py +18 -0
  28. mat3ra/esse/models/core/primitive/slugified_entry_or_slug.py +27 -0
  29. mat3ra/esse/models/core/primitive/string.py +11 -0
  30. mat3ra/esse/models/core/reference/__init__.py +260 -0
  31. mat3ra/esse/models/core/reference/exabyte.py +24 -0
  32. mat3ra/esse/models/core/reference/experiment/__init__.py +150 -0
  33. mat3ra/esse/models/core/reference/experiment/condition.py +28 -0
  34. mat3ra/esse/models/core/reference/experiment/location.py +18 -0
  35. mat3ra/esse/models/core/reference/literature/__init__.py +86 -0
  36. mat3ra/esse/models/core/reference/literature/name.py +16 -0
  37. mat3ra/esse/models/core/reference/literature/pages.py +14 -0
  38. mat3ra/esse/models/core/reference/modeling/__init__.py +49 -0
  39. mat3ra/esse/models/core/reference/modeling/exabyte.py +42 -0
  40. mat3ra/esse/models/core/reusable/__init__.py +3 -0
  41. mat3ra/esse/models/core/reusable/atomic_data/__init__.py +3 -0
  42. mat3ra/esse/models/core/reusable/atomic_data/per_orbital.py +21 -0
  43. mat3ra/esse/models/core/reusable/atomic_data/per_orbital_pair.py +34 -0
  44. mat3ra/esse/models/core/reusable/atomic_data/value_number.py +16 -0
  45. mat3ra/esse/models/core/reusable/atomic_data/value_string.py +16 -0
  46. mat3ra/esse/models/core/reusable/atomic_data_per_orbital_numeric.py +25 -0
  47. mat3ra/esse/models/core/reusable/atomic_data_per_orbital_pair_numeric.py +38 -0
  48. mat3ra/esse/models/core/reusable/atomic_orbital.py +20 -0
  49. mat3ra/esse/models/core/reusable/atomic_scalars.py +28 -0
  50. mat3ra/esse/models/core/reusable/atomic_strings.py +24 -0
  51. mat3ra/esse/models/core/reusable/atomic_vectors.py +24 -0
  52. mat3ra/esse/models/core/reusable/band_gap.py +42 -0
  53. mat3ra/esse/models/core/reusable/categories.py +43 -0
  54. mat3ra/esse/models/core/reusable/category_path.py +14 -0
  55. mat3ra/esse/models/core/reusable/dielectric_tensor_component.py +31 -0
  56. mat3ra/esse/models/core/reusable/energy.py +30 -0
  57. mat3ra/esse/models/core/reusable/file_metadata.py +24 -0
  58. mat3ra/esse/models/core/reusable/frequency_function_matrix.py +20 -0
  59. mat3ra/esse/models/core/reusable/object_storage_container_data.py +36 -0
  60. mat3ra/esse/models/definitions/__init__.py +3 -0
  61. mat3ra/esse/models/definitions/units.py +13 -0
  62. mat3ra/esse/models/element.py +74 -0
  63. mat3ra/esse/models/in_memory_entity/__init__.py +3 -0
  64. mat3ra/esse/models/in_memory_entity/base.py +58 -0
  65. mat3ra/esse/models/in_memory_entity/defaultable.py +62 -0
  66. mat3ra/esse/models/in_memory_entity/named.py +62 -0
  67. mat3ra/esse/models/in_memory_entity/named_defaultable.py +66 -0
  68. mat3ra/esse/models/in_memory_entity/named_defaultable_has_metadata.py +67 -0
  69. mat3ra/esse/models/in_memory_entity/named_defaultable_runtime_items.py +89 -0
  70. mat3ra/esse/models/job/__init__.py +3006 -0
  71. mat3ra/esse/models/job/base.py +287 -0
  72. mat3ra/esse/models/job/compute.py +161 -0
  73. mat3ra/esse/models/material/__init__.py +420 -0
  74. mat3ra/esse/models/material/conventional.py +13 -0
  75. mat3ra/esse/models/method/__init__.py +28 -0
  76. mat3ra/esse/models/method/categorized_method.py +86 -0
  77. mat3ra/esse/models/method/method_parameters.py +48 -0
  78. mat3ra/esse/models/method/unit_method.py +70 -0
  79. mat3ra/esse/models/methods_category/mathematical/__init__.py +3 -0
  80. mat3ra/esse/models/methods_category/mathematical/diff/__init__.py +48 -0
  81. mat3ra/esse/models/methods_category/mathematical/diff/enum_options.py +13 -0
  82. mat3ra/esse/models/methods_category/mathematical/diff/fd.py +52 -0
  83. mat3ra/esse/models/methods_category/mathematical/discr/__init__.py +48 -0
  84. mat3ra/esse/models/methods_category/mathematical/discr/enum_options.py +13 -0
  85. mat3ra/esse/models/methods_category/mathematical/discr/mesh/__init__.py +52 -0
  86. mat3ra/esse/models/methods_category/mathematical/discr/mesh/enum_options.py +13 -0
  87. mat3ra/esse/models/methods_category/mathematical/discr/mesh/hybrid.py +56 -0
  88. mat3ra/esse/models/methods_category/mathematical/discr/mesh/nstruct.py +56 -0
  89. mat3ra/esse/models/methods_category/mathematical/discr/mesh/struct/__init__.py +56 -0
  90. mat3ra/esse/models/methods_category/mathematical/discr/mesh/struct/cartesian.py +60 -0
  91. mat3ra/esse/models/methods_category/mathematical/discr/mesh/struct/enum_options.py +13 -0
  92. mat3ra/esse/models/methods_category/mathematical/enum_options.py +13 -0
  93. mat3ra/esse/models/methods_category/mathematical/fapprx/__init__.py +48 -0
  94. mat3ra/esse/models/methods_category/mathematical/fapprx/basisexp.py +52 -0
  95. mat3ra/esse/models/methods_category/mathematical/fapprx/enum_options.py +13 -0
  96. mat3ra/esse/models/methods_category/mathematical/fapprx/ipol/__init__.py +52 -0
  97. mat3ra/esse/models/methods_category/mathematical/fapprx/ipol/enum_options.py +13 -0
  98. mat3ra/esse/models/methods_category/mathematical/fapprx/ipol/lin.py +56 -0
  99. mat3ra/esse/models/methods_category/mathematical/fapprx/ipol/poly.py +56 -0
  100. mat3ra/esse/models/methods_category/mathematical/fapprx/ipol/spline.py +56 -0
  101. mat3ra/esse/models/methods_category/mathematical/intgr/__init__.py +48 -0
  102. mat3ra/esse/models/methods_category/mathematical/intgr/analytic/__init__.py +52 -0
  103. mat3ra/esse/models/methods_category/mathematical/intgr/analytic/enum_options.py +13 -0
  104. mat3ra/esse/models/methods_category/mathematical/intgr/analytic/volume.py +67 -0
  105. mat3ra/esse/models/methods_category/mathematical/intgr/diffeq/__init__.py +52 -0
  106. mat3ra/esse/models/methods_category/mathematical/intgr/diffeq/enum_options.py +13 -0
  107. mat3ra/esse/models/methods_category/mathematical/intgr/diffeq/order1.py +56 -0
  108. mat3ra/esse/models/methods_category/mathematical/intgr/diffeq/order2.py +56 -0
  109. mat3ra/esse/models/methods_category/mathematical/intgr/enum_options.py +13 -0
  110. mat3ra/esse/models/methods_category/mathematical/intgr/numquad/__init__.py +52 -0
  111. mat3ra/esse/models/methods_category/mathematical/intgr/numquad/enum_options.py +13 -0
  112. mat3ra/esse/models/methods_category/mathematical/intgr/numquad/gauss.py +56 -0
  113. mat3ra/esse/models/methods_category/mathematical/intgr/numquad/newcot.py +56 -0
  114. mat3ra/esse/models/methods_category/mathematical/intgr/transf/__init__.py +52 -0
  115. mat3ra/esse/models/methods_category/mathematical/intgr/transf/enum_options.py +13 -0
  116. mat3ra/esse/models/methods_category/mathematical/intgr/transf/fourier.py +56 -0
  117. mat3ra/esse/models/methods_category/mathematical/linalg/__init__.py +48 -0
  118. mat3ra/esse/models/methods_category/mathematical/linalg/dcomp.py +52 -0
  119. mat3ra/esse/models/methods_category/mathematical/linalg/diag/__init__.py +52 -0
  120. mat3ra/esse/models/methods_category/mathematical/linalg/diag/davidson.py +56 -0
  121. mat3ra/esse/models/methods_category/mathematical/linalg/diag/enum_options.py +13 -0
  122. mat3ra/esse/models/methods_category/mathematical/linalg/enum_options.py +13 -0
  123. mat3ra/esse/models/methods_category/mathematical/linalg/lintra.py +52 -0
  124. mat3ra/esse/models/methods_category/mathematical/linalg/matf.py +52 -0
  125. mat3ra/esse/models/methods_category/mathematical/opt/__init__.py +48 -0
  126. mat3ra/esse/models/methods_category/mathematical/opt/diff/__init__.py +52 -0
  127. mat3ra/esse/models/methods_category/mathematical/opt/diff/bracket.py +56 -0
  128. mat3ra/esse/models/methods_category/mathematical/opt/diff/enum_options.py +13 -0
  129. mat3ra/esse/models/methods_category/mathematical/opt/diff/local.py +56 -0
  130. mat3ra/esse/models/methods_category/mathematical/opt/diff/order1.py +56 -0
  131. mat3ra/esse/models/methods_category/mathematical/opt/diff/order2.py +56 -0
  132. mat3ra/esse/models/methods_category/mathematical/opt/diff/ordern/__init__.py +56 -0
  133. mat3ra/esse/models/methods_category/mathematical/opt/diff/ordern/cg.py +60 -0
  134. mat3ra/esse/models/methods_category/mathematical/opt/diff/ordern/enum_options.py +13 -0
  135. mat3ra/esse/models/methods_category/mathematical/opt/enum_options.py +13 -0
  136. mat3ra/esse/models/methods_category/mathematical/opt/ndiff/__init__.py +52 -0
  137. mat3ra/esse/models/methods_category/mathematical/opt/ndiff/direct.py +56 -0
  138. mat3ra/esse/models/methods_category/mathematical/opt/ndiff/enum_options.py +13 -0
  139. mat3ra/esse/models/methods_category/mathematical/opt/ndiff/pop.py +56 -0
  140. mat3ra/esse/models/methods_category/mathematical/opt/ndiff/stoch.py +56 -0
  141. mat3ra/esse/models/methods_category/mathematical/opt/root/__init__.py +52 -0
  142. mat3ra/esse/models/methods_category/mathematical/opt/root/bracket.py +56 -0
  143. mat3ra/esse/models/methods_category/mathematical/opt/root/enum_options.py +13 -0
  144. mat3ra/esse/models/methods_category/mathematical/opt/root/iter.py +56 -0
  145. mat3ra/esse/models/methods_category/mathematical/regression.py +54 -0
  146. mat3ra/esse/models/methods_category/physical/__init__.py +3 -0
  147. mat3ra/esse/models/methods_category/physical/enum_options.py +13 -0
  148. mat3ra/esse/models/methods_category/physical/qm/__init__.py +48 -0
  149. mat3ra/esse/models/methods_category/physical/qm/enum_options.py +13 -0
  150. mat3ra/esse/models/methods_category/physical/qm/wf/__init__.py +52 -0
  151. mat3ra/esse/models/methods_category/physical/qm/wf/ao/__init__.py +62 -0
  152. mat3ra/esse/models/methods_category/physical/qm/wf/ao/dunning.py +60 -0
  153. mat3ra/esse/models/methods_category/physical/qm/wf/ao/other.py +60 -0
  154. mat3ra/esse/models/methods_category/physical/qm/wf/ao/pople.py +60 -0
  155. mat3ra/esse/models/methods_category/physical/qm/wf/enum_options.py +13 -0
  156. mat3ra/esse/models/methods_category/physical/qm/wf/psp.py +63 -0
  157. mat3ra/esse/models/methods_category/physical/qm/wf/pw.py +56 -0
  158. mat3ra/esse/models/methods_category/physical/qm/wf/smearing.py +63 -0
  159. mat3ra/esse/models/methods_category/physical/qm/wf/tetrahedron.py +62 -0
  160. mat3ra/esse/models/methods_directory/legacy/__init__.py +3 -0
  161. mat3ra/esse/models/methods_directory/legacy/localorbital.py +37 -0
  162. mat3ra/esse/models/methods_directory/legacy/pseudopotential.py +40 -0
  163. mat3ra/esse/models/methods_directory/legacy/regression.py +118 -0
  164. mat3ra/esse/models/methods_directory/legacy/unknown.py +37 -0
  165. mat3ra/esse/models/methods_directory/mathematical/__init__.py +3 -0
  166. mat3ra/esse/models/methods_directory/mathematical/cg.py +87 -0
  167. mat3ra/esse/models/methods_directory/mathematical/davidson.py +83 -0
  168. mat3ra/esse/models/methods_directory/mathematical/regression/__init__.py +161 -0
  169. mat3ra/esse/models/methods_directory/mathematical/regression/data.py +69 -0
  170. mat3ra/esse/models/methods_directory/mathematical/regression/dataset.py +20 -0
  171. mat3ra/esse/models/methods_directory/mathematical/regression/kernel_ridge/__init__.py +3 -0
  172. mat3ra/esse/models/methods_directory/mathematical/regression/kernel_ridge/data_per_property.py +39 -0
  173. mat3ra/esse/models/methods_directory/mathematical/regression/linear/__init__.py +3 -0
  174. mat3ra/esse/models/methods_directory/mathematical/regression/linear/data_per_property.py +35 -0
  175. mat3ra/esse/models/methods_directory/mathematical/regression/per_feature_item.py +24 -0
  176. mat3ra/esse/models/methods_directory/mathematical/regression/precision.py +28 -0
  177. mat3ra/esse/models/methods_directory/mathematical/regression/precision_per_property.py +24 -0
  178. mat3ra/esse/models/methods_directory/physical/__init__.py +3 -0
  179. mat3ra/esse/models/methods_directory/physical/ao/__init__.py +3 -0
  180. mat3ra/esse/models/methods_directory/physical/ao/dunning.py +103 -0
  181. mat3ra/esse/models/methods_directory/physical/ao/enum_options.py +13 -0
  182. mat3ra/esse/models/methods_directory/physical/ao/other.py +107 -0
  183. mat3ra/esse/models/methods_directory/physical/ao/pople.py +101 -0
  184. mat3ra/esse/models/methods_directory/physical/psp/__init__.py +187 -0
  185. mat3ra/esse/models/methods_directory/physical/psp/file.py +106 -0
  186. mat3ra/esse/models/methods_directory/physical/psp/file_data_item.py +88 -0
  187. mat3ra/esse/models/methods_directory/physical/pw.py +83 -0
  188. mat3ra/esse/models/methods_directory/physical/smearing.py +90 -0
  189. mat3ra/esse/models/methods_directory/physical/tetrahedron.py +91 -0
  190. mat3ra/esse/models/model/__init__.py +43 -0
  191. mat3ra/esse/models/model/categorized_model.py +211 -0
  192. mat3ra/esse/models/model/mixins/__init__.py +3 -0
  193. mat3ra/esse/models/model/mixins/dft/__init__.py +5 -0
  194. mat3ra/esse/models/model/mixins/dft/double_hybrid_functional.py +18 -0
  195. mat3ra/esse/models/model/mixins/dft/enum_options.py +13 -0
  196. mat3ra/esse/models/model/mixins/dft/gga_functional.py +22 -0
  197. mat3ra/esse/models/model/mixins/dft/hybrid_functional.py +19 -0
  198. mat3ra/esse/models/model/mixins/dft/lda_functional.py +21 -0
  199. mat3ra/esse/models/model/mixins/dft/mgga_functional.py +21 -0
  200. mat3ra/esse/models/model/mixins/dispersion_correction.py +21 -0
  201. mat3ra/esse/models/model/mixins/enum_options.py +13 -0
  202. mat3ra/esse/models/model/mixins/hubbard.py +18 -0
  203. mat3ra/esse/models/model/mixins/spin_orbit_coupling.py +16 -0
  204. mat3ra/esse/models/model/mixins/spin_polarization.py +22 -0
  205. mat3ra/esse/models/model/model_parameters.py +123 -0
  206. mat3ra/esse/models/model/model_without_method.py +144 -0
  207. mat3ra/esse/models/models_category/__init__.py +3 -0
  208. mat3ra/esse/models/models_category/enum_options.py +13 -0
  209. mat3ra/esse/models/models_category/pb/__init__.py +48 -0
  210. mat3ra/esse/models/models_category/pb/enum_options.py +13 -0
  211. mat3ra/esse/models/models_category/pb/qm/__init__.py +52 -0
  212. mat3ra/esse/models/models_category/pb/qm/abin/__init__.py +56 -0
  213. mat3ra/esse/models/models_category/pb/qm/abin/enum_options.py +13 -0
  214. mat3ra/esse/models/models_category/pb/qm/abin/gw.py +66 -0
  215. mat3ra/esse/models/models_category/pb/qm/dft/__init__.py +56 -0
  216. mat3ra/esse/models/models_category/pb/qm/dft/enum_options.py +13 -0
  217. mat3ra/esse/models/models_category/pb/qm/dft/ksdft/__init__.py +60 -0
  218. mat3ra/esse/models/models_category/pb/qm/dft/ksdft/double_hybrid.py +64 -0
  219. mat3ra/esse/models/models_category/pb/qm/dft/ksdft/enum_options.py +13 -0
  220. mat3ra/esse/models/models_category/pb/qm/dft/ksdft/gga.py +64 -0
  221. mat3ra/esse/models/models_category/pb/qm/dft/ksdft/hybrid.py +64 -0
  222. mat3ra/esse/models/models_category/pb/qm/dft/ksdft/lda.py +64 -0
  223. mat3ra/esse/models/models_category/pb/qm/dft/ksdft/mgga.py +64 -0
  224. mat3ra/esse/models/models_category/pb/qm/enum_options.py +13 -0
  225. mat3ra/esse/models/models_category/pb/qm/semp.py +56 -0
  226. mat3ra/esse/models/models_category/st/__init__.py +48 -0
  227. mat3ra/esse/models/models_category/st/det/__init__.py +52 -0
  228. mat3ra/esse/models/models_category/st/det/enum_options.py +13 -0
  229. mat3ra/esse/models/models_category/st/det/ml/__init__.py +56 -0
  230. mat3ra/esse/models/models_category/st/det/ml/enum_options.py +13 -0
  231. mat3ra/esse/models/models_category/st/det/ml/re.py +60 -0
  232. mat3ra/esse/models/models_category/st/enum_options.py +13 -0
  233. mat3ra/esse/models/models_directory/__init__.py +3 -0
  234. mat3ra/esse/models/models_directory/double_hybrid.py +205 -0
  235. mat3ra/esse/models/models_directory/gga.py +219 -0
  236. mat3ra/esse/models/models_directory/gw.py +272 -0
  237. mat3ra/esse/models/models_directory/hybrid.py +213 -0
  238. mat3ra/esse/models/models_directory/lda.py +218 -0
  239. mat3ra/esse/models/models_directory/legacy/__init__.py +3 -0
  240. mat3ra/esse/models/models_directory/legacy/dft.py +170 -0
  241. mat3ra/esse/models/models_directory/legacy/ml.py +52 -0
  242. mat3ra/esse/models/models_directory/legacy/unknown.py +52 -0
  243. mat3ra/esse/models/models_directory/mgga.py +218 -0
  244. mat3ra/esse/models/models_directory/re.py +160 -0
  245. mat3ra/esse/models/project.py +82 -0
  246. mat3ra/esse/models/properties_directory/__init__.py +3 -0
  247. mat3ra/esse/models/properties_directory/derived_properties.py +140 -0
  248. mat3ra/esse/models/properties_directory/electronic_configuration.py +20 -0
  249. mat3ra/esse/models/properties_directory/elemental/__init__.py +3 -0
  250. mat3ra/esse/models/properties_directory/elemental/atomic_radius.py +34 -0
  251. mat3ra/esse/models/properties_directory/elemental/electronegativity.py +19 -0
  252. mat3ra/esse/models/properties_directory/elemental/ionization_potential.py +30 -0
  253. mat3ra/esse/models/properties_directory/non_scalar/__init__.py +3 -0
  254. mat3ra/esse/models/properties_directory/non_scalar/average_potential_profile.py +83 -0
  255. mat3ra/esse/models/properties_directory/non_scalar/band_gaps.py +64 -0
  256. mat3ra/esse/models/properties_directory/non_scalar/band_structure.py +92 -0
  257. mat3ra/esse/models/properties_directory/non_scalar/charge_density_profile.py +63 -0
  258. mat3ra/esse/models/properties_directory/non_scalar/density_of_states.py +97 -0
  259. mat3ra/esse/models/properties_directory/non_scalar/dielectric_tensor.py +40 -0
  260. mat3ra/esse/models/properties_directory/non_scalar/file_content.py +64 -0
  261. mat3ra/esse/models/properties_directory/non_scalar/hubbard_u.py +40 -0
  262. mat3ra/esse/models/properties_directory/non_scalar/hubbard_v.py +54 -0
  263. mat3ra/esse/models/properties_directory/non_scalar/hubbard_v_nn.py +54 -0
  264. mat3ra/esse/models/properties_directory/non_scalar/phonon_dispersions.py +79 -0
  265. mat3ra/esse/models/properties_directory/non_scalar/phonon_dos.py +71 -0
  266. mat3ra/esse/models/properties_directory/non_scalar/potential_profile.py +69 -0
  267. mat3ra/esse/models/properties_directory/non_scalar/reaction_energy_profile.py +69 -0
  268. mat3ra/esse/models/properties_directory/non_scalar/stress_tensor.py +31 -0
  269. mat3ra/esse/models/properties_directory/non_scalar/total_energy_contributions.py +198 -0
  270. mat3ra/esse/models/properties_directory/non_scalar/vibrational_spectrum.py +75 -0
  271. mat3ra/esse/models/properties_directory/scalar/__init__.py +3 -0
  272. mat3ra/esse/models/properties_directory/scalar/electron_affinity.py +34 -0
  273. mat3ra/esse/models/properties_directory/scalar/fermi_energy.py +34 -0
  274. mat3ra/esse/models/properties_directory/scalar/formation_energy.py +34 -0
  275. mat3ra/esse/models/properties_directory/scalar/ionization_potential.py +34 -0
  276. mat3ra/esse/models/properties_directory/scalar/pressure.py +25 -0
  277. mat3ra/esse/models/properties_directory/scalar/reaction_energy_barrier.py +34 -0
  278. mat3ra/esse/models/properties_directory/scalar/surface_energy.py +34 -0
  279. mat3ra/esse/models/properties_directory/scalar/total_energy.py +34 -0
  280. mat3ra/esse/models/properties_directory/scalar/total_force.py +29 -0
  281. mat3ra/esse/models/properties_directory/scalar/valence_band_offset.py +34 -0
  282. mat3ra/esse/models/properties_directory/scalar/zero_point_energy.py +34 -0
  283. mat3ra/esse/models/properties_directory/structural/__init__.py +3 -0
  284. mat3ra/esse/models/properties_directory/structural/atomic_forces.py +40 -0
  285. mat3ra/esse/models/properties_directory/structural/basis/__init__.py +68 -0
  286. mat3ra/esse/models/properties_directory/structural/basis/atomic_constraints.py +30 -0
  287. mat3ra/esse/models/properties_directory/structural/basis/atomic_coordinate.py +14 -0
  288. mat3ra/esse/models/properties_directory/structural/basis/atomic_coordinates.py +39 -0
  289. mat3ra/esse/models/properties_directory/structural/basis/atomic_element.py +19 -0
  290. mat3ra/esse/models/properties_directory/structural/basis/bonds.py +40 -0
  291. mat3ra/esse/models/properties_directory/structural/density.py +24 -0
  292. mat3ra/esse/models/properties_directory/structural/elemental_ratio.py +23 -0
  293. mat3ra/esse/models/properties_directory/structural/inchi.py +19 -0
  294. mat3ra/esse/models/properties_directory/structural/inchi_key.py +19 -0
  295. mat3ra/esse/models/properties_directory/structural/lattice/__init__.py +102 -0
  296. mat3ra/esse/models/properties_directory/structural/lattice/lattice_bravais.py +71 -0
  297. mat3ra/esse/models/properties_directory/structural/lattice/lattice_vectors.py +35 -0
  298. mat3ra/esse/models/properties_directory/structural/lattice/type_enum.py +24 -0
  299. mat3ra/esse/models/properties_directory/structural/lattice/type_extended_enum.py +34 -0
  300. mat3ra/esse/models/properties_directory/structural/magnetic_moments.py +35 -0
  301. mat3ra/esse/models/properties_directory/structural/molecular_pattern.py +70 -0
  302. mat3ra/esse/models/properties_directory/structural/p_norm.py +23 -0
  303. mat3ra/esse/models/properties_directory/structural/patterns/__init__.py +3 -0
  304. mat3ra/esse/models/properties_directory/structural/patterns/functional_group.py +37 -0
  305. mat3ra/esse/models/properties_directory/structural/patterns/ring.py +34 -0
  306. mat3ra/esse/models/properties_directory/structural/patterns/special_bond.py +33 -0
  307. mat3ra/esse/models/properties_directory/structural/symmetry.py +39 -0
  308. mat3ra/esse/models/properties_directory/structural/volume.py +24 -0
  309. mat3ra/esse/models/properties_directory/workflow/convergence/__init__.py +3 -0
  310. mat3ra/esse/models/properties_directory/workflow/convergence/electronic.py +26 -0
  311. mat3ra/esse/models/properties_directory/workflow/convergence/ionic.py +63 -0
  312. mat3ra/esse/models/properties_directory/workflow/convergence/kpoint.py +43 -0
  313. mat3ra/esse/models/property/__init__.py +3 -0
  314. mat3ra/esse/models/property/base/The_source_of_a_property/__init__.py +5 -0
  315. mat3ra/esse/models/property/base/The_source_of_a_property/field_This_could_be_an_article__a_simulation_on_Exabyte__an_external_simulation__etc.py +38 -0
  316. mat3ra/esse/models/property/base/__init__.py +232 -0
  317. mat3ra/esse/models/property/meta/The_source_of_a_property/__init__.py +5 -0
  318. mat3ra/esse/models/property/meta/The_source_of_a_property/field_This_could_be_an_article__a_simulation_on_Exabyte__an_external_simulation__etc.py +38 -0
  319. mat3ra/esse/models/property/meta/__init__.py +232 -0
  320. mat3ra/esse/models/property/raw/The_source_of_a_property/__init__.py +5 -0
  321. mat3ra/esse/models/property/raw/The_source_of_a_property/field_This_could_be_an_article__a_simulation_on_Exabyte__an_external_simulation__etc.py +38 -0
  322. mat3ra/esse/models/property/raw/__init__.py +232 -0
  323. mat3ra/esse/models/property/source/The_source_of_a_property/__init__.py +5 -0
  324. mat3ra/esse/models/property/source/The_source_of_a_property/field_This_could_be_an_article__a_simulation_on_Exabyte__an_external_simulation__etc.py +38 -0
  325. mat3ra/esse/models/property/source/__init__.py +150 -0
  326. mat3ra/esse/models/software/__init__.py +3 -0
  327. mat3ra/esse/models/software/application.py +93 -0
  328. mat3ra/esse/models/software/executable.py +97 -0
  329. mat3ra/esse/models/software/flavor.py +116 -0
  330. mat3ra/esse/models/software/template.py +77 -0
  331. mat3ra/esse/models/software_directory/ml/__init__.py +3 -0
  332. mat3ra/esse/models/software_directory/ml/exabyteml.py +28 -0
  333. mat3ra/esse/models/software_directory/ml/unit/__init__.py +3 -0
  334. mat3ra/esse/models/software_directory/ml/unit/execution/__init__.py +1348 -0
  335. mat3ra/esse/models/software_directory/ml/unit/execution/evaluate/__init__.py +5 -0
  336. mat3ra/esse/models/software_directory/ml/unit/execution/evaluate/cross_validate.py +381 -0
  337. mat3ra/esse/models/software_directory/ml/unit/execution/initialize.py +381 -0
  338. mat3ra/esse/models/software_directory/ml/unit/execution/score.py +374 -0
  339. mat3ra/esse/models/software_directory/ml/unit/execution/train.py +385 -0
  340. mat3ra/esse/models/software_directory/ml/unit/processing/__init__.py +328 -0
  341. mat3ra/esse/models/software_directory/ml/unit/processing/data_transformation/__init__.py +199 -0
  342. mat3ra/esse/models/software_directory/ml/unit/processing/data_transformation/manipulation.py +176 -0
  343. mat3ra/esse/models/software_directory/ml/unit/processing/data_transformation/scale_and_reduce.py +195 -0
  344. mat3ra/esse/models/software_directory/ml/unit/processing/feature_selection/__init__.py +180 -0
  345. mat3ra/esse/models/software_directory/ml/unit/processing/feature_selection/filter_based.py +176 -0
  346. mat3ra/esse/models/software_directory/modeling/__init__.py +3 -0
  347. mat3ra/esse/models/software_directory/modeling/deepmd.py +112 -0
  348. mat3ra/esse/models/software_directory/modeling/espresso/__init__.py +39 -0
  349. mat3ra/esse/models/software_directory/modeling/espresso/arguments.py +35 -0
  350. mat3ra/esse/models/software_directory/modeling/nwchem.py +113 -0
  351. mat3ra/esse/models/software_directory/modeling/unit/__init__.py +3 -0
  352. mat3ra/esse/models/software_directory/modeling/unit/execution.py +390 -0
  353. mat3ra/esse/models/software_directory/modeling/vasp.py +117 -0
  354. mat3ra/esse/models/software_directory/scripting/__init__.py +3 -0
  355. mat3ra/esse/models/software_directory/scripting/jupyter_lab.py +115 -0
  356. mat3ra/esse/models/software_directory/scripting/python.py +129 -0
  357. mat3ra/esse/models/software_directory/scripting/shell.py +129 -0
  358. mat3ra/esse/models/software_directory/scripting/unit/__init__.py +3 -0
  359. mat3ra/esse/models/software_directory/scripting/unit/execution.py +390 -0
  360. mat3ra/esse/models/system/__init__.py +3 -0
  361. mat3ra/esse/models/system/_material.py +29 -0
  362. mat3ra/esse/models/system/_parent_job.py +29 -0
  363. mat3ra/esse/models/system/_project.py +29 -0
  364. mat3ra/esse/models/system/bankable.py +20 -0
  365. mat3ra/esse/models/system/consistency_check.py +40 -0
  366. mat3ra/esse/models/system/creator.py +29 -0
  367. mat3ra/esse/models/system/creator_account.py +28 -0
  368. mat3ra/esse/models/system/database_source.py +36 -0
  369. mat3ra/esse/models/system/defaultable.py +16 -0
  370. mat3ra/esse/models/system/description.py +17 -0
  371. mat3ra/esse/models/system/entity_reference.py +24 -0
  372. mat3ra/esse/models/system/file_source.py +28 -0
  373. mat3ra/esse/models/system/history.py +18 -0
  374. mat3ra/esse/models/system/iframe_message.py +36 -0
  375. mat3ra/esse/models/system/in_set.py +30 -0
  376. mat3ra/esse/models/system/is_multi_material.py +13 -0
  377. mat3ra/esse/models/system/is_outdated.py +13 -0
  378. mat3ra/esse/models/system/job_extended.py +36 -0
  379. mat3ra/esse/models/system/message.py +59 -0
  380. mat3ra/esse/models/system/metadata.py +13 -0
  381. mat3ra/esse/models/system/name.py +16 -0
  382. mat3ra/esse/models/system/owner.py +29 -0
  383. mat3ra/esse/models/system/path.py +16 -0
  384. mat3ra/esse/models/system/path_entity.py +20 -0
  385. mat3ra/esse/models/system/schema_version.py +16 -0
  386. mat3ra/esse/models/system/scope.py +13 -0
  387. mat3ra/esse/models/system/set.py +15 -0
  388. mat3ra/esse/models/system/sharing.py +13 -0
  389. mat3ra/esse/models/system/soft_removable.py +20 -0
  390. mat3ra/esse/models/system/status.py +20 -0
  391. mat3ra/esse/models/system/tags.py +16 -0
  392. mat3ra/esse/models/system/timestampable.py +22 -0
  393. mat3ra/esse/models/system/use_values.py +13 -0
  394. mat3ra/esse/models/third_party/db/nist_jarvis/2024.3.13/__init__.py +3 -0
  395. mat3ra/esse/models/third_party/db/nist_jarvis/2024.3.13/atoms.py +41 -0
  396. mat3ra/esse/models/third_party/db/nist_jarvis/2024.3.13/db_entry.py +55 -0
  397. mat3ra/esse/models/third_party/file/applications/espresso/7.2/__init__.py +3 -0
  398. mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/__init__.py +1990 -0
  399. mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/atomic_positions.py +51 -0
  400. mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/atomic_species.py +34 -0
  401. mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/cell.py +111 -0
  402. mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/cell_parameters.py +36 -0
  403. mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/control.py +169 -0
  404. mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/electrons.py +139 -0
  405. mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/hubbard.py +194 -0
  406. mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/ions.py +422 -0
  407. mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/k_points.py +73 -0
  408. mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/system.py +841 -0
  409. mat3ra/esse/models/workflow/__init__.py +2817 -0
  410. mat3ra/esse/models/workflow/base.py +79 -0
  411. mat3ra/esse/models/workflow/base_flow.py +180 -0
  412. mat3ra/esse/models/workflow/scope.py +14 -0
  413. mat3ra/esse/models/workflow/subworkflow/__init__.py +1472 -0
  414. mat3ra/esse/models/workflow/subworkflow/unit.py +1187 -0
  415. mat3ra/esse/models/workflow/unit/__init__.py +1415 -0
  416. mat3ra/esse/models/workflow/unit/assertion.py +149 -0
  417. mat3ra/esse/models/workflow/unit/assignment.py +165 -0
  418. mat3ra/esse/models/workflow/unit/base.py +137 -0
  419. mat3ra/esse/models/workflow/unit/condition.py +176 -0
  420. mat3ra/esse/models/workflow/unit/execution.py +374 -0
  421. mat3ra/esse/models/workflow/unit/input/__init__.py +3 -0
  422. mat3ra/esse/models/workflow/unit/input/_input.py +43 -0
  423. mat3ra/esse/models/workflow/unit/input/_inputItem.py +18 -0
  424. mat3ra/esse/models/workflow/unit/input/_inputItemId.py +21 -0
  425. mat3ra/esse/models/workflow/unit/input/_inputItemScope.py +18 -0
  426. mat3ra/esse/models/workflow/unit/input/_map_input/__init__.py +17 -0
  427. mat3ra/esse/models/workflow/unit/input/_map_input/values.py +13 -0
  428. mat3ra/esse/models/workflow/unit/io/__init__.py +254 -0
  429. mat3ra/esse/models/workflow/unit/io/api.py +27 -0
  430. mat3ra/esse/models/workflow/unit/io/db.py +39 -0
  431. mat3ra/esse/models/workflow/unit/io/object_storage.py +59 -0
  432. mat3ra/esse/models/workflow/unit/map.py +169 -0
  433. mat3ra/esse/models/workflow/unit/processing.py +153 -0
  434. mat3ra/esse/models/workflow/unit/reduce.py +160 -0
  435. mat3ra/esse/models/workflow/unit/runtime/__init__.py +3 -0
  436. mat3ra/esse/models/workflow/unit/runtime/_runtime_item_full_object.py +14 -0
  437. mat3ra/esse/models/workflow/unit/runtime/_runtime_item_name_object.py +14 -0
  438. mat3ra/esse/models/workflow/unit/runtime/_runtime_item_string.py +14 -0
  439. mat3ra/esse/models/workflow/unit/runtime/runtime_item.py +20 -0
  440. mat3ra/esse/models/workflow/unit/runtime/runtime_items.py +35 -0
  441. mat3ra/esse/models/workflow/unit/subworkflow.py +141 -0
  442. {mat3ra_esse-2024.4.8.post0.dist-info → mat3ra_esse-2024.4.8.post2.dist-info}/METADATA +1 -1
  443. mat3ra_esse-2024.4.8.post2.dist-info/RECORD +453 -0
  444. mat3ra_esse-2024.4.8.post0.dist-info/RECORD +0 -12
  445. {mat3ra_esse-2024.4.8.post0.dist-info → mat3ra_esse-2024.4.8.post2.dist-info}/LICENSE.md +0 -0
  446. {mat3ra_esse-2024.4.8.post0.dist-info → mat3ra_esse-2024.4.8.post2.dist-info}/WHEEL +0 -0
  447. {mat3ra_esse-2024.4.8.post0.dist-info → mat3ra_esse-2024.4.8.post2.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,1472 @@
1
+ # generated by datamodel-codegen:
2
+ # filename: workflow/subworkflow.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 DataIODatabaseInputOutputSchema9(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, DataIODatabaseInputOutputSchema9],
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 Type80(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 ConsistencyCheck103(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[ConsistencyCheck103]] = 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 Type81(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 ConsistencyCheck104(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[ConsistencyCheck104]] = 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 Type82(Enum):
509
+ assertion = "assertion"
510
+
511
+
512
+ class ConsistencyCheck105(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[ConsistencyCheck105]] = 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 Type83(Enum):
615
+ execution = "execution"
616
+
617
+
618
+ class ConsistencyCheck106(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[ConsistencyCheck106]] = 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 ConsistencyCheck107(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[ConsistencyCheck107]] = 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 ConsistencyCheck108(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[ConsistencyCheck108]] = 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 ConsistencyCheck109(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[ConsistencyCheck109]] = 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 Type84(Enum):
946
+ assignment = "assignment"
947
+
948
+
949
+ class ConsistencyCheck110(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[ConsistencyCheck110]] = 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 Type85(Enum):
1057
+ processing = "processing"
1058
+
1059
+
1060
+ class ConsistencyCheck111(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[ConsistencyCheck111]] = 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 BaseModel1(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 ConsistencyCheck112(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 ApplicationSchemaBase15(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[ConsistencyCheck112]] = 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: BaseModel1 = Field(..., title="base model")
1452
+ application: ApplicationSchemaBase15 = 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
+ """