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,254 @@
1
+ # generated by datamodel-codegen:
2
+ # filename: workflow/unit/io.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
11
+
12
+
13
+ class Type(Enum):
14
+ io = "io"
15
+
16
+
17
+ class Subtype(Enum):
18
+ input = "input"
19
+ output = "output"
20
+ dataFrame = "dataFrame"
21
+
22
+
23
+ class Source(Enum):
24
+ api = "api"
25
+ db = "db"
26
+ object_storage = "object_storage"
27
+
28
+
29
+ class DataIORestAPIInputSchema(BaseModel):
30
+ model_config = ConfigDict(
31
+ extra="allow",
32
+ )
33
+ endpoint: str
34
+ """
35
+ rest API endpoint
36
+ """
37
+ endpoint_options: Dict[str, Any]
38
+ """
39
+ rest API endpoint options
40
+ """
41
+ name: Optional[str] = None
42
+ """
43
+ the name of the variable in local scope to save the data under
44
+ """
45
+
46
+
47
+ class DataIODatabaseInputOutputSchema(BaseModel):
48
+ model_config = ConfigDict(
49
+ extra="allow",
50
+ )
51
+ ids: List[str]
52
+ """
53
+ IDs of item to retrieve from db
54
+ """
55
+
56
+
57
+ class DataIODatabaseInputOutputSchema3(BaseModel):
58
+ model_config = ConfigDict(
59
+ extra="allow",
60
+ )
61
+ collection: str
62
+ """
63
+ db collection name
64
+ """
65
+ draft: bool
66
+ """
67
+ whether the result should be saved as draft
68
+ """
69
+
70
+
71
+ class ObjectStorageContainerData(BaseModel):
72
+ CONTAINER: Optional[str] = None
73
+ """
74
+ Object storage container for the file
75
+ """
76
+ NAME: Optional[str] = None
77
+ """
78
+ Name of the file inside the object storage bucket
79
+ """
80
+ PROVIDER: Optional[str] = None
81
+ """
82
+ Object storage provider
83
+ """
84
+ REGION: Optional[str] = None
85
+ """
86
+ Region for the object container specified in Container
87
+ """
88
+ SIZE: Optional[int] = None
89
+ """
90
+ Size of the file in bytes
91
+ """
92
+ TIMESTAMP: Optional[str] = None
93
+ """
94
+ Unix timestamp showing when the file was last modified
95
+ """
96
+
97
+
98
+ class ObjectStorageIoSchema(BaseModel):
99
+ model_config = ConfigDict(
100
+ extra="allow",
101
+ )
102
+ objectData: ObjectStorageContainerData = Field(..., title="Object Storage Container Data")
103
+ overwrite: Optional[bool] = False
104
+ """
105
+ if a file with the same filename already exists, whether to overwrite the old file
106
+ """
107
+ pathname: Optional[str] = None
108
+ """
109
+ Relative path to the directory that contains the file.
110
+ """
111
+ basename: Optional[str] = None
112
+ """
113
+ Basename of the file
114
+ """
115
+ filetype: Optional[str] = None
116
+ """
117
+ What kind of file this is, e.g. image / text
118
+ """
119
+
120
+
121
+ class Status(Enum):
122
+ idle = "idle"
123
+ active = "active"
124
+ warning = "warning"
125
+ error = "error"
126
+ finished = "finished"
127
+
128
+
129
+ class Name(Enum):
130
+ default = "default"
131
+ atomsTooClose = "atomsTooClose"
132
+ atomsOverlap = "atomsOverlap"
133
+
134
+
135
+ class Severity(Enum):
136
+ info = "info"
137
+ warning = "warning"
138
+ error = "error"
139
+
140
+
141
+ class ConsistencyCheck(BaseModel):
142
+ key: str
143
+ """
144
+ Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'
145
+ """
146
+ name: Name
147
+ """
148
+ Name of the consistency check that is performed, which is listed in an enum.
149
+ """
150
+ severity: Severity
151
+ """
152
+ Severity level of the problem, which is used in UI to differentiate.
153
+ """
154
+ message: str
155
+ """
156
+ Message generated by the consistency check describing the problem.
157
+ """
158
+
159
+
160
+ class NameResultSchema(BaseModel):
161
+ name: str
162
+ """
163
+ The name of this item. e.g. scf_accuracy
164
+ """
165
+
166
+
167
+ class StatusTrackItem(BaseModel):
168
+ trackedAt: float
169
+ status: str
170
+ repetition: Optional[float] = None
171
+
172
+
173
+ class DataIOUnitSchema(BaseModel):
174
+ model_config = ConfigDict(
175
+ extra="allow",
176
+ )
177
+ type: Type
178
+ """
179
+ type of the unit
180
+ """
181
+ subtype: Subtype
182
+ source: Source
183
+ input: List[
184
+ Union[
185
+ DataIORestAPIInputSchema,
186
+ Union[DataIODatabaseInputOutputSchema, DataIODatabaseInputOutputSchema3],
187
+ ObjectStorageIoSchema,
188
+ ]
189
+ ]
190
+ field_id: Optional[str] = Field(None, alias="_id")
191
+ """
192
+ entity identity
193
+ """
194
+ isDraft: Optional[bool] = None
195
+ name: Optional[str] = None
196
+ """
197
+ name of the unit. e.g. pw_scf
198
+ """
199
+ status: Optional[Status] = None
200
+ """
201
+ Status of the unit.
202
+ """
203
+ head: Optional[bool] = None
204
+ """
205
+ Whether this unit is the first one to be executed.
206
+ """
207
+ flowchartId: str
208
+ """
209
+ Identity of the unit in the workflow. Used to trace the execution flow of the workflow.
210
+ """
211
+ next: Optional[str] = None
212
+ """
213
+ Next unit's flowchartId. If empty, the current unit is the last.
214
+ """
215
+ enableRender: Optional[bool] = None
216
+ """
217
+ Whether Rupy should attempt to use Jinja templating to add context variables into the unit
218
+ """
219
+ context: Optional[Dict[str, Any]] = None
220
+ slug: Optional[str] = None
221
+ """
222
+ entity slug
223
+ """
224
+ systemName: Optional[str] = None
225
+ consistencyChecks: Optional[List[ConsistencyCheck]] = None
226
+ schemaVersion: Optional[str] = "2022.8.16"
227
+ """
228
+ entity's schema version. Used to distinct between different schemas.
229
+ """
230
+ isDefault: Optional[bool] = False
231
+ """
232
+ Identifies that entity is defaultable
233
+ """
234
+ preProcessors: Optional[List[Union[NameResultSchema, str]]] = None
235
+ """
236
+ names of the pre-processors for this calculation
237
+ """
238
+ postProcessors: Optional[List[Union[NameResultSchema, str]]] = None
239
+ """
240
+ names of the post-processors for this calculation
241
+ """
242
+ monitors: Optional[List[Union[NameResultSchema, str]]] = None
243
+ """
244
+ names of the monitors for this calculation
245
+ """
246
+ results: Optional[List[Union[NameResultSchema, str]]] = None
247
+ """
248
+ names of the results for this calculation
249
+ """
250
+ tags: Optional[List[str]] = None
251
+ """
252
+ entity tags
253
+ """
254
+ statusTrack: Optional[List[StatusTrackItem]] = None
@@ -0,0 +1,27 @@
1
+ # generated by datamodel-codegen:
2
+ # filename: workflow/unit/io/api.json
3
+ # version: 0.25.5
4
+
5
+ from __future__ import annotations
6
+
7
+ from typing import Any, Dict, Optional
8
+
9
+ from pydantic import BaseModel, ConfigDict
10
+
11
+
12
+ class DataIORestAPIInputSchema(BaseModel):
13
+ model_config = ConfigDict(
14
+ extra="allow",
15
+ )
16
+ endpoint: str
17
+ """
18
+ rest API endpoint
19
+ """
20
+ endpoint_options: Dict[str, Any]
21
+ """
22
+ rest API endpoint options
23
+ """
24
+ name: Optional[str] = None
25
+ """
26
+ the name of the variable in local scope to save the data under
27
+ """
@@ -0,0 +1,39 @@
1
+ # generated by datamodel-codegen:
2
+ # filename: workflow/unit/io/db.json
3
+ # version: 0.25.5
4
+
5
+ from __future__ import annotations
6
+
7
+ from typing import List, Union
8
+
9
+ from pydantic import BaseModel, ConfigDict, Field, RootModel
10
+
11
+
12
+ class DataIODatabaseInputOutputSchema(BaseModel):
13
+ model_config = ConfigDict(
14
+ extra="allow",
15
+ )
16
+ ids: List[str]
17
+ """
18
+ IDs of item to retrieve from db
19
+ """
20
+
21
+
22
+ class DataIODatabaseInputOutputSchema1(BaseModel):
23
+ model_config = ConfigDict(
24
+ extra="allow",
25
+ )
26
+ collection: str
27
+ """
28
+ db collection name
29
+ """
30
+ draft: bool
31
+ """
32
+ whether the result should be saved as draft
33
+ """
34
+
35
+
36
+ class ESSE(RootModel[Union[DataIODatabaseInputOutputSchema, DataIODatabaseInputOutputSchema1]]):
37
+ root: Union[DataIODatabaseInputOutputSchema, DataIODatabaseInputOutputSchema1] = Field(
38
+ ..., title="data IO database input/output schema"
39
+ )
@@ -0,0 +1,59 @@
1
+ # generated by datamodel-codegen:
2
+ # filename: workflow/unit/io/object_storage.json
3
+ # version: 0.25.5
4
+
5
+ from __future__ import annotations
6
+
7
+ from typing import Optional
8
+
9
+ from pydantic import BaseModel, ConfigDict, Field
10
+
11
+
12
+ class ObjectStorageContainerData(BaseModel):
13
+ CONTAINER: Optional[str] = None
14
+ """
15
+ Object storage container for the file
16
+ """
17
+ NAME: Optional[str] = None
18
+ """
19
+ Name of the file inside the object storage bucket
20
+ """
21
+ PROVIDER: Optional[str] = None
22
+ """
23
+ Object storage provider
24
+ """
25
+ REGION: Optional[str] = None
26
+ """
27
+ Region for the object container specified in Container
28
+ """
29
+ SIZE: Optional[int] = None
30
+ """
31
+ Size of the file in bytes
32
+ """
33
+ TIMESTAMP: Optional[str] = None
34
+ """
35
+ Unix timestamp showing when the file was last modified
36
+ """
37
+
38
+
39
+ class ObjectStorageIoSchema(BaseModel):
40
+ model_config = ConfigDict(
41
+ extra="allow",
42
+ )
43
+ objectData: ObjectStorageContainerData = Field(..., title="Object Storage Container Data")
44
+ overwrite: Optional[bool] = False
45
+ """
46
+ if a file with the same filename already exists, whether to overwrite the old file
47
+ """
48
+ pathname: Optional[str] = None
49
+ """
50
+ Relative path to the directory that contains the file.
51
+ """
52
+ basename: Optional[str] = None
53
+ """
54
+ Basename of the file
55
+ """
56
+ filetype: Optional[str] = None
57
+ """
58
+ What kind of file this is, e.g. image / text
59
+ """
@@ -0,0 +1,169 @@
1
+ # generated by datamodel-codegen:
2
+ # filename: workflow/unit/map.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
11
+
12
+
13
+ class Type(Enum):
14
+ map = "map"
15
+
16
+
17
+ class Input(BaseModel):
18
+ target: str
19
+ """
20
+ Name of the target variable to substitute using the values below. e.g. K_POINTS
21
+ """
22
+ scope: Optional[str] = None
23
+ """
24
+ Scope to retrieve `values` from, global or flowchartId. Optional if `values` is given.
25
+ """
26
+ name: Optional[str] = None
27
+ """
28
+ Name of the variable inside the scope to retrieve `values` from. Optional if `values` is given.
29
+ """
30
+ values: Optional[List[Union[str, float, Dict[str, Any]]]] = None
31
+ """
32
+ 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
33
+ """
34
+ useValues: Optional[bool] = None
35
+
36
+
37
+ class Status(Enum):
38
+ idle = "idle"
39
+ active = "active"
40
+ warning = "warning"
41
+ error = "error"
42
+ finished = "finished"
43
+
44
+
45
+ class Name(Enum):
46
+ default = "default"
47
+ atomsTooClose = "atomsTooClose"
48
+ atomsOverlap = "atomsOverlap"
49
+
50
+
51
+ class Severity(Enum):
52
+ info = "info"
53
+ warning = "warning"
54
+ error = "error"
55
+
56
+
57
+ class ConsistencyCheck(BaseModel):
58
+ key: str
59
+ """
60
+ Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'
61
+ """
62
+ name: Name
63
+ """
64
+ Name of the consistency check that is performed, which is listed in an enum.
65
+ """
66
+ severity: Severity
67
+ """
68
+ Severity level of the problem, which is used in UI to differentiate.
69
+ """
70
+ message: str
71
+ """
72
+ Message generated by the consistency check describing the problem.
73
+ """
74
+
75
+
76
+ class NameResultSchema(BaseModel):
77
+ name: str
78
+ """
79
+ The name of this item. e.g. scf_accuracy
80
+ """
81
+
82
+
83
+ class StatusTrackItem(BaseModel):
84
+ trackedAt: float
85
+ status: str
86
+ repetition: Optional[float] = None
87
+
88
+
89
+ class MapUnitSchema(BaseModel):
90
+ model_config = ConfigDict(
91
+ extra="allow",
92
+ )
93
+ type: Type
94
+ """
95
+ type of the unit
96
+ """
97
+ workflowId: str
98
+ """
99
+ Id of workflow to run inside map
100
+ """
101
+ input: Input
102
+ """
103
+ Input information for map.
104
+ """
105
+ field_id: Optional[str] = Field(None, alias="_id")
106
+ """
107
+ entity identity
108
+ """
109
+ isDraft: Optional[bool] = None
110
+ name: Optional[str] = None
111
+ """
112
+ name of the unit. e.g. pw_scf
113
+ """
114
+ status: Optional[Status] = None
115
+ """
116
+ Status of the unit.
117
+ """
118
+ head: Optional[bool] = None
119
+ """
120
+ Whether this unit is the first one to be executed.
121
+ """
122
+ flowchartId: str
123
+ """
124
+ Identity of the unit in the workflow. Used to trace the execution flow of the workflow.
125
+ """
126
+ next: Optional[str] = None
127
+ """
128
+ Next unit's flowchartId. If empty, the current unit is the last.
129
+ """
130
+ enableRender: Optional[bool] = None
131
+ """
132
+ Whether Rupy should attempt to use Jinja templating to add context variables into the unit
133
+ """
134
+ context: Optional[Dict[str, Any]] = None
135
+ slug: Optional[str] = None
136
+ """
137
+ entity slug
138
+ """
139
+ systemName: Optional[str] = None
140
+ consistencyChecks: Optional[List[ConsistencyCheck]] = None
141
+ schemaVersion: Optional[str] = "2022.8.16"
142
+ """
143
+ entity's schema version. Used to distinct between different schemas.
144
+ """
145
+ isDefault: Optional[bool] = False
146
+ """
147
+ Identifies that entity is defaultable
148
+ """
149
+ preProcessors: Optional[List[Union[NameResultSchema, str]]] = None
150
+ """
151
+ names of the pre-processors for this calculation
152
+ """
153
+ postProcessors: Optional[List[Union[NameResultSchema, str]]] = None
154
+ """
155
+ names of the post-processors for this calculation
156
+ """
157
+ monitors: Optional[List[Union[NameResultSchema, str]]] = None
158
+ """
159
+ names of the monitors for this calculation
160
+ """
161
+ results: Optional[List[Union[NameResultSchema, str]]] = None
162
+ """
163
+ names of the results for this calculation
164
+ """
165
+ tags: Optional[List[str]] = None
166
+ """
167
+ entity tags
168
+ """
169
+ statusTrack: Optional[List[StatusTrackItem]] = None
@@ -0,0 +1,153 @@
1
+ # generated by datamodel-codegen:
2
+ # filename: workflow/unit/processing.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
11
+
12
+
13
+ class Type(Enum):
14
+ processing = "processing"
15
+
16
+
17
+ class Status(Enum):
18
+ idle = "idle"
19
+ active = "active"
20
+ warning = "warning"
21
+ error = "error"
22
+ finished = "finished"
23
+
24
+
25
+ class Name(Enum):
26
+ default = "default"
27
+ atomsTooClose = "atomsTooClose"
28
+ atomsOverlap = "atomsOverlap"
29
+
30
+
31
+ class Severity(Enum):
32
+ info = "info"
33
+ warning = "warning"
34
+ error = "error"
35
+
36
+
37
+ class ConsistencyCheck(BaseModel):
38
+ key: str
39
+ """
40
+ Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'
41
+ """
42
+ name: Name
43
+ """
44
+ Name of the consistency check that is performed, which is listed in an enum.
45
+ """
46
+ severity: Severity
47
+ """
48
+ Severity level of the problem, which is used in UI to differentiate.
49
+ """
50
+ message: str
51
+ """
52
+ Message generated by the consistency check describing the problem.
53
+ """
54
+
55
+
56
+ class NameResultSchema(BaseModel):
57
+ name: str
58
+ """
59
+ The name of this item. e.g. scf_accuracy
60
+ """
61
+
62
+
63
+ class StatusTrackItem(BaseModel):
64
+ trackedAt: float
65
+ status: str
66
+ repetition: Optional[float] = None
67
+
68
+
69
+ class ProcessingUnitSchema(BaseModel):
70
+ model_config = ConfigDict(
71
+ extra="allow",
72
+ )
73
+ type: Type
74
+ """
75
+ type of the unit
76
+ """
77
+ operation: str
78
+ """
79
+ Contains information about the operation used.
80
+ """
81
+ operationType: str
82
+ """
83
+ Contains information about the specific type of the operation used.
84
+ """
85
+ inputData: Any
86
+ """
87
+ unit input (type to be specified by the child units)
88
+ """
89
+ field_id: Optional[str] = Field(None, alias="_id")
90
+ """
91
+ entity identity
92
+ """
93
+ isDraft: Optional[bool] = None
94
+ name: Optional[str] = None
95
+ """
96
+ name of the unit. e.g. pw_scf
97
+ """
98
+ status: Optional[Status] = None
99
+ """
100
+ Status of the unit.
101
+ """
102
+ head: Optional[bool] = None
103
+ """
104
+ Whether this unit is the first one to be executed.
105
+ """
106
+ flowchartId: str
107
+ """
108
+ Identity of the unit in the workflow. Used to trace the execution flow of the workflow.
109
+ """
110
+ next: Optional[str] = None
111
+ """
112
+ Next unit's flowchartId. If empty, the current unit is the last.
113
+ """
114
+ enableRender: Optional[bool] = None
115
+ """
116
+ Whether Rupy should attempt to use Jinja templating to add context variables into the unit
117
+ """
118
+ context: Optional[Dict[str, Any]] = None
119
+ slug: Optional[str] = None
120
+ """
121
+ entity slug
122
+ """
123
+ systemName: Optional[str] = None
124
+ consistencyChecks: Optional[List[ConsistencyCheck]] = None
125
+ schemaVersion: Optional[str] = "2022.8.16"
126
+ """
127
+ entity's schema version. Used to distinct between different schemas.
128
+ """
129
+ isDefault: Optional[bool] = False
130
+ """
131
+ Identifies that entity is defaultable
132
+ """
133
+ preProcessors: Optional[List[Union[NameResultSchema, str]]] = None
134
+ """
135
+ names of the pre-processors for this calculation
136
+ """
137
+ postProcessors: Optional[List[Union[NameResultSchema, str]]] = None
138
+ """
139
+ names of the post-processors for this calculation
140
+ """
141
+ monitors: Optional[List[Union[NameResultSchema, str]]] = None
142
+ """
143
+ names of the monitors for this calculation
144
+ """
145
+ results: Optional[List[Union[NameResultSchema, str]]] = None
146
+ """
147
+ names of the results for this calculation
148
+ """
149
+ tags: Optional[List[str]] = None
150
+ """
151
+ entity tags
152
+ """
153
+ statusTrack: Optional[List[StatusTrackItem]] = None