mat3ra-esse 2024.4.8.post1__py3-none-any.whl → 2024.4.8.post3__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (447) hide show
  1. mat3ra/esse/models/__init__.py +3 -0
  2. mat3ra/esse/models/core/__init__.py +3 -0
  3. mat3ra/esse/models/core/abstract/2d_data.py +17 -0
  4. mat3ra/esse/models/core/abstract/2d_plot.py +34 -0
  5. mat3ra/esse/models/core/abstract/3d_grid.py +14 -0
  6. mat3ra/esse/models/core/abstract/3d_tensor.py +19 -0
  7. mat3ra/esse/models/core/abstract/3d_vector_basis.py +15 -0
  8. mat3ra/esse/models/core/abstract/__init__.py +3 -0
  9. mat3ra/esse/models/core/abstract/point.py +13 -0
  10. mat3ra/esse/models/core/abstract/vector.py +13 -0
  11. mat3ra/esse/models/core/primitive/1d_data_series.py +13 -0
  12. mat3ra/esse/models/core/primitive/3d_lattice.py +34 -0
  13. mat3ra/esse/models/core/primitive/__init__.py +3 -0
  14. mat3ra/esse/models/core/primitive/array_of_3_booleans.py +13 -0
  15. mat3ra/esse/models/core/primitive/array_of_3_numbers.py +13 -0
  16. mat3ra/esse/models/core/primitive/array_of_ids.py +23 -0
  17. mat3ra/esse/models/core/primitive/array_of_strings.py +16 -0
  18. mat3ra/esse/models/core/primitive/axis.py +20 -0
  19. mat3ra/esse/models/core/primitive/group_info.py +20 -0
  20. mat3ra/esse/models/core/primitive/integer_one_or_zero.py +11 -0
  21. mat3ra/esse/models/core/primitive/linked_list/__init__.py +33 -0
  22. mat3ra/esse/models/core/primitive/linked_list/base_node.py +31 -0
  23. mat3ra/esse/models/core/primitive/linked_list/named_node.py +35 -0
  24. mat3ra/esse/models/core/primitive/linked_list/named_node_in_group.py +43 -0
  25. mat3ra/esse/models/core/primitive/linked_list/node_with_type.py +32 -0
  26. mat3ra/esse/models/core/primitive/scalar.py +11 -0
  27. mat3ra/esse/models/core/primitive/slugified_entry.py +18 -0
  28. mat3ra/esse/models/core/primitive/slugified_entry_or_slug.py +27 -0
  29. mat3ra/esse/models/core/primitive/string.py +11 -0
  30. mat3ra/esse/models/core/reference/__init__.py +260 -0
  31. mat3ra/esse/models/core/reference/exabyte.py +24 -0
  32. mat3ra/esse/models/core/reference/experiment/__init__.py +150 -0
  33. mat3ra/esse/models/core/reference/experiment/condition.py +28 -0
  34. mat3ra/esse/models/core/reference/experiment/location.py +18 -0
  35. mat3ra/esse/models/core/reference/literature/__init__.py +86 -0
  36. mat3ra/esse/models/core/reference/literature/name.py +16 -0
  37. mat3ra/esse/models/core/reference/literature/pages.py +14 -0
  38. mat3ra/esse/models/core/reference/modeling/__init__.py +49 -0
  39. mat3ra/esse/models/core/reference/modeling/exabyte.py +42 -0
  40. mat3ra/esse/models/core/reusable/__init__.py +3 -0
  41. mat3ra/esse/models/core/reusable/atomic_data/__init__.py +3 -0
  42. mat3ra/esse/models/core/reusable/atomic_data/per_orbital.py +21 -0
  43. mat3ra/esse/models/core/reusable/atomic_data/per_orbital_pair.py +34 -0
  44. mat3ra/esse/models/core/reusable/atomic_data/value_number.py +16 -0
  45. mat3ra/esse/models/core/reusable/atomic_data/value_string.py +16 -0
  46. mat3ra/esse/models/core/reusable/atomic_data_per_orbital_numeric.py +25 -0
  47. mat3ra/esse/models/core/reusable/atomic_data_per_orbital_pair_numeric.py +38 -0
  48. mat3ra/esse/models/core/reusable/atomic_orbital.py +20 -0
  49. mat3ra/esse/models/core/reusable/atomic_scalars.py +28 -0
  50. mat3ra/esse/models/core/reusable/atomic_strings.py +24 -0
  51. mat3ra/esse/models/core/reusable/atomic_vectors.py +24 -0
  52. mat3ra/esse/models/core/reusable/band_gap.py +42 -0
  53. mat3ra/esse/models/core/reusable/categories.py +43 -0
  54. mat3ra/esse/models/core/reusable/category_path.py +14 -0
  55. mat3ra/esse/models/core/reusable/dielectric_tensor_component.py +31 -0
  56. mat3ra/esse/models/core/reusable/energy.py +30 -0
  57. mat3ra/esse/models/core/reusable/file_metadata.py +24 -0
  58. mat3ra/esse/models/core/reusable/frequency_function_matrix.py +20 -0
  59. mat3ra/esse/models/core/reusable/object_storage_container_data.py +36 -0
  60. mat3ra/esse/models/definitions/__init__.py +3 -0
  61. mat3ra/esse/models/definitions/units.py +13 -0
  62. mat3ra/esse/models/element.py +74 -0
  63. mat3ra/esse/models/in_memory_entity/__init__.py +3 -0
  64. mat3ra/esse/models/in_memory_entity/base.py +58 -0
  65. mat3ra/esse/models/in_memory_entity/defaultable.py +62 -0
  66. mat3ra/esse/models/in_memory_entity/named.py +62 -0
  67. mat3ra/esse/models/in_memory_entity/named_defaultable.py +66 -0
  68. mat3ra/esse/models/in_memory_entity/named_defaultable_has_metadata.py +67 -0
  69. mat3ra/esse/models/in_memory_entity/named_defaultable_runtime_items.py +89 -0
  70. mat3ra/esse/models/job/__init__.py +3006 -0
  71. mat3ra/esse/models/job/base.py +287 -0
  72. mat3ra/esse/models/job/compute.py +161 -0
  73. mat3ra/esse/models/material/__init__.py +420 -0
  74. mat3ra/esse/models/material/conventional.py +13 -0
  75. mat3ra/esse/models/method/__init__.py +28 -0
  76. mat3ra/esse/models/method/categorized_method.py +86 -0
  77. mat3ra/esse/models/method/method_parameters.py +48 -0
  78. mat3ra/esse/models/method/unit_method.py +70 -0
  79. mat3ra/esse/models/methods_category/mathematical/__init__.py +3 -0
  80. mat3ra/esse/models/methods_category/mathematical/diff/__init__.py +48 -0
  81. mat3ra/esse/models/methods_category/mathematical/diff/enum_options.py +13 -0
  82. mat3ra/esse/models/methods_category/mathematical/diff/fd.py +52 -0
  83. mat3ra/esse/models/methods_category/mathematical/discr/__init__.py +48 -0
  84. mat3ra/esse/models/methods_category/mathematical/discr/enum_options.py +13 -0
  85. mat3ra/esse/models/methods_category/mathematical/discr/mesh/__init__.py +52 -0
  86. mat3ra/esse/models/methods_category/mathematical/discr/mesh/enum_options.py +13 -0
  87. mat3ra/esse/models/methods_category/mathematical/discr/mesh/hybrid.py +56 -0
  88. mat3ra/esse/models/methods_category/mathematical/discr/mesh/nstruct.py +56 -0
  89. mat3ra/esse/models/methods_category/mathematical/discr/mesh/struct/__init__.py +56 -0
  90. mat3ra/esse/models/methods_category/mathematical/discr/mesh/struct/cartesian.py +60 -0
  91. mat3ra/esse/models/methods_category/mathematical/discr/mesh/struct/enum_options.py +13 -0
  92. mat3ra/esse/models/methods_category/mathematical/enum_options.py +13 -0
  93. mat3ra/esse/models/methods_category/mathematical/fapprx/__init__.py +48 -0
  94. mat3ra/esse/models/methods_category/mathematical/fapprx/basisexp.py +52 -0
  95. mat3ra/esse/models/methods_category/mathematical/fapprx/enum_options.py +13 -0
  96. mat3ra/esse/models/methods_category/mathematical/fapprx/ipol/__init__.py +52 -0
  97. mat3ra/esse/models/methods_category/mathematical/fapprx/ipol/enum_options.py +13 -0
  98. mat3ra/esse/models/methods_category/mathematical/fapprx/ipol/lin.py +56 -0
  99. mat3ra/esse/models/methods_category/mathematical/fapprx/ipol/poly.py +56 -0
  100. mat3ra/esse/models/methods_category/mathematical/fapprx/ipol/spline.py +56 -0
  101. mat3ra/esse/models/methods_category/mathematical/intgr/__init__.py +48 -0
  102. mat3ra/esse/models/methods_category/mathematical/intgr/analytic/__init__.py +52 -0
  103. mat3ra/esse/models/methods_category/mathematical/intgr/analytic/enum_options.py +13 -0
  104. mat3ra/esse/models/methods_category/mathematical/intgr/analytic/volume.py +67 -0
  105. mat3ra/esse/models/methods_category/mathematical/intgr/diffeq/__init__.py +52 -0
  106. mat3ra/esse/models/methods_category/mathematical/intgr/diffeq/enum_options.py +13 -0
  107. mat3ra/esse/models/methods_category/mathematical/intgr/diffeq/order1.py +56 -0
  108. mat3ra/esse/models/methods_category/mathematical/intgr/diffeq/order2.py +56 -0
  109. mat3ra/esse/models/methods_category/mathematical/intgr/enum_options.py +13 -0
  110. mat3ra/esse/models/methods_category/mathematical/intgr/numquad/__init__.py +52 -0
  111. mat3ra/esse/models/methods_category/mathematical/intgr/numquad/enum_options.py +13 -0
  112. mat3ra/esse/models/methods_category/mathematical/intgr/numquad/gauss.py +56 -0
  113. mat3ra/esse/models/methods_category/mathematical/intgr/numquad/newcot.py +56 -0
  114. mat3ra/esse/models/methods_category/mathematical/intgr/transf/__init__.py +52 -0
  115. mat3ra/esse/models/methods_category/mathematical/intgr/transf/enum_options.py +13 -0
  116. mat3ra/esse/models/methods_category/mathematical/intgr/transf/fourier.py +56 -0
  117. mat3ra/esse/models/methods_category/mathematical/linalg/__init__.py +48 -0
  118. mat3ra/esse/models/methods_category/mathematical/linalg/dcomp.py +52 -0
  119. mat3ra/esse/models/methods_category/mathematical/linalg/diag/__init__.py +52 -0
  120. mat3ra/esse/models/methods_category/mathematical/linalg/diag/davidson.py +56 -0
  121. mat3ra/esse/models/methods_category/mathematical/linalg/diag/enum_options.py +13 -0
  122. mat3ra/esse/models/methods_category/mathematical/linalg/enum_options.py +13 -0
  123. mat3ra/esse/models/methods_category/mathematical/linalg/lintra.py +52 -0
  124. mat3ra/esse/models/methods_category/mathematical/linalg/matf.py +52 -0
  125. mat3ra/esse/models/methods_category/mathematical/opt/__init__.py +48 -0
  126. mat3ra/esse/models/methods_category/mathematical/opt/diff/__init__.py +52 -0
  127. mat3ra/esse/models/methods_category/mathematical/opt/diff/bracket.py +56 -0
  128. mat3ra/esse/models/methods_category/mathematical/opt/diff/enum_options.py +13 -0
  129. mat3ra/esse/models/methods_category/mathematical/opt/diff/local.py +56 -0
  130. mat3ra/esse/models/methods_category/mathematical/opt/diff/order1.py +56 -0
  131. mat3ra/esse/models/methods_category/mathematical/opt/diff/order2.py +56 -0
  132. mat3ra/esse/models/methods_category/mathematical/opt/diff/ordern/__init__.py +56 -0
  133. mat3ra/esse/models/methods_category/mathematical/opt/diff/ordern/cg.py +60 -0
  134. mat3ra/esse/models/methods_category/mathematical/opt/diff/ordern/enum_options.py +13 -0
  135. mat3ra/esse/models/methods_category/mathematical/opt/enum_options.py +13 -0
  136. mat3ra/esse/models/methods_category/mathematical/opt/ndiff/__init__.py +52 -0
  137. mat3ra/esse/models/methods_category/mathematical/opt/ndiff/direct.py +56 -0
  138. mat3ra/esse/models/methods_category/mathematical/opt/ndiff/enum_options.py +13 -0
  139. mat3ra/esse/models/methods_category/mathematical/opt/ndiff/pop.py +56 -0
  140. mat3ra/esse/models/methods_category/mathematical/opt/ndiff/stoch.py +56 -0
  141. mat3ra/esse/models/methods_category/mathematical/opt/root/__init__.py +52 -0
  142. mat3ra/esse/models/methods_category/mathematical/opt/root/bracket.py +56 -0
  143. mat3ra/esse/models/methods_category/mathematical/opt/root/enum_options.py +13 -0
  144. mat3ra/esse/models/methods_category/mathematical/opt/root/iter.py +56 -0
  145. mat3ra/esse/models/methods_category/mathematical/regression.py +54 -0
  146. mat3ra/esse/models/methods_category/physical/__init__.py +3 -0
  147. mat3ra/esse/models/methods_category/physical/enum_options.py +13 -0
  148. mat3ra/esse/models/methods_category/physical/qm/__init__.py +48 -0
  149. mat3ra/esse/models/methods_category/physical/qm/enum_options.py +13 -0
  150. mat3ra/esse/models/methods_category/physical/qm/wf/__init__.py +52 -0
  151. mat3ra/esse/models/methods_category/physical/qm/wf/ao/__init__.py +62 -0
  152. mat3ra/esse/models/methods_category/physical/qm/wf/ao/dunning.py +60 -0
  153. mat3ra/esse/models/methods_category/physical/qm/wf/ao/other.py +60 -0
  154. mat3ra/esse/models/methods_category/physical/qm/wf/ao/pople.py +60 -0
  155. mat3ra/esse/models/methods_category/physical/qm/wf/enum_options.py +13 -0
  156. mat3ra/esse/models/methods_category/physical/qm/wf/psp.py +63 -0
  157. mat3ra/esse/models/methods_category/physical/qm/wf/pw.py +56 -0
  158. mat3ra/esse/models/methods_category/physical/qm/wf/smearing.py +63 -0
  159. mat3ra/esse/models/methods_category/physical/qm/wf/tetrahedron.py +62 -0
  160. mat3ra/esse/models/methods_directory/legacy/__init__.py +3 -0
  161. mat3ra/esse/models/methods_directory/legacy/localorbital.py +37 -0
  162. mat3ra/esse/models/methods_directory/legacy/pseudopotential.py +40 -0
  163. mat3ra/esse/models/methods_directory/legacy/regression.py +118 -0
  164. mat3ra/esse/models/methods_directory/legacy/unknown.py +37 -0
  165. mat3ra/esse/models/methods_directory/mathematical/__init__.py +3 -0
  166. mat3ra/esse/models/methods_directory/mathematical/cg.py +87 -0
  167. mat3ra/esse/models/methods_directory/mathematical/davidson.py +83 -0
  168. mat3ra/esse/models/methods_directory/mathematical/regression/__init__.py +161 -0
  169. mat3ra/esse/models/methods_directory/mathematical/regression/data.py +69 -0
  170. mat3ra/esse/models/methods_directory/mathematical/regression/dataset.py +20 -0
  171. mat3ra/esse/models/methods_directory/mathematical/regression/kernel_ridge/__init__.py +3 -0
  172. mat3ra/esse/models/methods_directory/mathematical/regression/kernel_ridge/data_per_property.py +39 -0
  173. mat3ra/esse/models/methods_directory/mathematical/regression/linear/__init__.py +3 -0
  174. mat3ra/esse/models/methods_directory/mathematical/regression/linear/data_per_property.py +35 -0
  175. mat3ra/esse/models/methods_directory/mathematical/regression/per_feature_item.py +24 -0
  176. mat3ra/esse/models/methods_directory/mathematical/regression/precision.py +28 -0
  177. mat3ra/esse/models/methods_directory/mathematical/regression/precision_per_property.py +24 -0
  178. mat3ra/esse/models/methods_directory/physical/__init__.py +3 -0
  179. mat3ra/esse/models/methods_directory/physical/ao/__init__.py +3 -0
  180. mat3ra/esse/models/methods_directory/physical/ao/dunning.py +103 -0
  181. mat3ra/esse/models/methods_directory/physical/ao/enum_options.py +13 -0
  182. mat3ra/esse/models/methods_directory/physical/ao/other.py +107 -0
  183. mat3ra/esse/models/methods_directory/physical/ao/pople.py +101 -0
  184. mat3ra/esse/models/methods_directory/physical/psp/__init__.py +187 -0
  185. mat3ra/esse/models/methods_directory/physical/psp/file.py +106 -0
  186. mat3ra/esse/models/methods_directory/physical/psp/file_data_item.py +88 -0
  187. mat3ra/esse/models/methods_directory/physical/pw.py +83 -0
  188. mat3ra/esse/models/methods_directory/physical/smearing.py +90 -0
  189. mat3ra/esse/models/methods_directory/physical/tetrahedron.py +91 -0
  190. mat3ra/esse/models/model/__init__.py +43 -0
  191. mat3ra/esse/models/model/categorized_model.py +211 -0
  192. mat3ra/esse/models/model/mixins/__init__.py +3 -0
  193. mat3ra/esse/models/model/mixins/dft/__init__.py +5 -0
  194. mat3ra/esse/models/model/mixins/dft/double_hybrid_functional.py +18 -0
  195. mat3ra/esse/models/model/mixins/dft/enum_options.py +13 -0
  196. mat3ra/esse/models/model/mixins/dft/gga_functional.py +22 -0
  197. mat3ra/esse/models/model/mixins/dft/hybrid_functional.py +19 -0
  198. mat3ra/esse/models/model/mixins/dft/lda_functional.py +21 -0
  199. mat3ra/esse/models/model/mixins/dft/mgga_functional.py +21 -0
  200. mat3ra/esse/models/model/mixins/dispersion_correction.py +21 -0
  201. mat3ra/esse/models/model/mixins/enum_options.py +13 -0
  202. mat3ra/esse/models/model/mixins/hubbard.py +18 -0
  203. mat3ra/esse/models/model/mixins/spin_orbit_coupling.py +16 -0
  204. mat3ra/esse/models/model/mixins/spin_polarization.py +22 -0
  205. mat3ra/esse/models/model/model_parameters.py +123 -0
  206. mat3ra/esse/models/model/model_without_method.py +144 -0
  207. mat3ra/esse/models/models_category/__init__.py +3 -0
  208. mat3ra/esse/models/models_category/enum_options.py +13 -0
  209. mat3ra/esse/models/models_category/pb/__init__.py +48 -0
  210. mat3ra/esse/models/models_category/pb/enum_options.py +13 -0
  211. mat3ra/esse/models/models_category/pb/qm/__init__.py +52 -0
  212. mat3ra/esse/models/models_category/pb/qm/abin/__init__.py +56 -0
  213. mat3ra/esse/models/models_category/pb/qm/abin/enum_options.py +13 -0
  214. mat3ra/esse/models/models_category/pb/qm/abin/gw.py +66 -0
  215. mat3ra/esse/models/models_category/pb/qm/dft/__init__.py +56 -0
  216. mat3ra/esse/models/models_category/pb/qm/dft/enum_options.py +13 -0
  217. mat3ra/esse/models/models_category/pb/qm/dft/ksdft/__init__.py +60 -0
  218. mat3ra/esse/models/models_category/pb/qm/dft/ksdft/double_hybrid.py +64 -0
  219. mat3ra/esse/models/models_category/pb/qm/dft/ksdft/enum_options.py +13 -0
  220. mat3ra/esse/models/models_category/pb/qm/dft/ksdft/gga.py +64 -0
  221. mat3ra/esse/models/models_category/pb/qm/dft/ksdft/hybrid.py +64 -0
  222. mat3ra/esse/models/models_category/pb/qm/dft/ksdft/lda.py +64 -0
  223. mat3ra/esse/models/models_category/pb/qm/dft/ksdft/mgga.py +64 -0
  224. mat3ra/esse/models/models_category/pb/qm/enum_options.py +13 -0
  225. mat3ra/esse/models/models_category/pb/qm/semp.py +56 -0
  226. mat3ra/esse/models/models_category/st/__init__.py +48 -0
  227. mat3ra/esse/models/models_category/st/det/__init__.py +52 -0
  228. mat3ra/esse/models/models_category/st/det/enum_options.py +13 -0
  229. mat3ra/esse/models/models_category/st/det/ml/__init__.py +56 -0
  230. mat3ra/esse/models/models_category/st/det/ml/enum_options.py +13 -0
  231. mat3ra/esse/models/models_category/st/det/ml/re.py +60 -0
  232. mat3ra/esse/models/models_category/st/enum_options.py +13 -0
  233. mat3ra/esse/models/models_directory/__init__.py +3 -0
  234. mat3ra/esse/models/models_directory/double_hybrid.py +205 -0
  235. mat3ra/esse/models/models_directory/gga.py +219 -0
  236. mat3ra/esse/models/models_directory/gw.py +272 -0
  237. mat3ra/esse/models/models_directory/hybrid.py +213 -0
  238. mat3ra/esse/models/models_directory/lda.py +218 -0
  239. mat3ra/esse/models/models_directory/legacy/__init__.py +3 -0
  240. mat3ra/esse/models/models_directory/legacy/dft.py +170 -0
  241. mat3ra/esse/models/models_directory/legacy/ml.py +52 -0
  242. mat3ra/esse/models/models_directory/legacy/unknown.py +52 -0
  243. mat3ra/esse/models/models_directory/mgga.py +218 -0
  244. mat3ra/esse/models/models_directory/re.py +160 -0
  245. mat3ra/esse/models/project.py +82 -0
  246. mat3ra/esse/models/properties_directory/__init__.py +3 -0
  247. mat3ra/esse/models/properties_directory/derived_properties.py +140 -0
  248. mat3ra/esse/models/properties_directory/electronic_configuration.py +20 -0
  249. mat3ra/esse/models/properties_directory/elemental/__init__.py +3 -0
  250. mat3ra/esse/models/properties_directory/elemental/atomic_radius.py +34 -0
  251. mat3ra/esse/models/properties_directory/elemental/electronegativity.py +19 -0
  252. mat3ra/esse/models/properties_directory/elemental/ionization_potential.py +30 -0
  253. mat3ra/esse/models/properties_directory/non_scalar/__init__.py +3 -0
  254. mat3ra/esse/models/properties_directory/non_scalar/average_potential_profile.py +83 -0
  255. mat3ra/esse/models/properties_directory/non_scalar/band_gaps.py +64 -0
  256. mat3ra/esse/models/properties_directory/non_scalar/band_structure.py +92 -0
  257. mat3ra/esse/models/properties_directory/non_scalar/charge_density_profile.py +63 -0
  258. mat3ra/esse/models/properties_directory/non_scalar/density_of_states.py +97 -0
  259. mat3ra/esse/models/properties_directory/non_scalar/dielectric_tensor.py +40 -0
  260. mat3ra/esse/models/properties_directory/non_scalar/file_content.py +64 -0
  261. mat3ra/esse/models/properties_directory/non_scalar/hubbard_u.py +40 -0
  262. mat3ra/esse/models/properties_directory/non_scalar/hubbard_v.py +54 -0
  263. mat3ra/esse/models/properties_directory/non_scalar/hubbard_v_nn.py +54 -0
  264. mat3ra/esse/models/properties_directory/non_scalar/phonon_dispersions.py +79 -0
  265. mat3ra/esse/models/properties_directory/non_scalar/phonon_dos.py +71 -0
  266. mat3ra/esse/models/properties_directory/non_scalar/potential_profile.py +69 -0
  267. mat3ra/esse/models/properties_directory/non_scalar/reaction_energy_profile.py +69 -0
  268. mat3ra/esse/models/properties_directory/non_scalar/stress_tensor.py +31 -0
  269. mat3ra/esse/models/properties_directory/non_scalar/total_energy_contributions.py +198 -0
  270. mat3ra/esse/models/properties_directory/non_scalar/vibrational_spectrum.py +75 -0
  271. mat3ra/esse/models/properties_directory/scalar/__init__.py +3 -0
  272. mat3ra/esse/models/properties_directory/scalar/electron_affinity.py +34 -0
  273. mat3ra/esse/models/properties_directory/scalar/fermi_energy.py +34 -0
  274. mat3ra/esse/models/properties_directory/scalar/formation_energy.py +34 -0
  275. mat3ra/esse/models/properties_directory/scalar/ionization_potential.py +34 -0
  276. mat3ra/esse/models/properties_directory/scalar/pressure.py +25 -0
  277. mat3ra/esse/models/properties_directory/scalar/reaction_energy_barrier.py +34 -0
  278. mat3ra/esse/models/properties_directory/scalar/surface_energy.py +34 -0
  279. mat3ra/esse/models/properties_directory/scalar/total_energy.py +34 -0
  280. mat3ra/esse/models/properties_directory/scalar/total_force.py +29 -0
  281. mat3ra/esse/models/properties_directory/scalar/valence_band_offset.py +34 -0
  282. mat3ra/esse/models/properties_directory/scalar/zero_point_energy.py +34 -0
  283. mat3ra/esse/models/properties_directory/structural/__init__.py +3 -0
  284. mat3ra/esse/models/properties_directory/structural/atomic_forces.py +40 -0
  285. mat3ra/esse/models/properties_directory/structural/basis/__init__.py +68 -0
  286. mat3ra/esse/models/properties_directory/structural/basis/atomic_constraints.py +30 -0
  287. mat3ra/esse/models/properties_directory/structural/basis/atomic_coordinate.py +14 -0
  288. mat3ra/esse/models/properties_directory/structural/basis/atomic_coordinates.py +39 -0
  289. mat3ra/esse/models/properties_directory/structural/basis/atomic_element.py +19 -0
  290. mat3ra/esse/models/properties_directory/structural/basis/bonds.py +40 -0
  291. mat3ra/esse/models/properties_directory/structural/density.py +24 -0
  292. mat3ra/esse/models/properties_directory/structural/elemental_ratio.py +23 -0
  293. mat3ra/esse/models/properties_directory/structural/inchi.py +19 -0
  294. mat3ra/esse/models/properties_directory/structural/inchi_key.py +19 -0
  295. mat3ra/esse/models/properties_directory/structural/lattice/__init__.py +102 -0
  296. mat3ra/esse/models/properties_directory/structural/lattice/lattice_bravais.py +71 -0
  297. mat3ra/esse/models/properties_directory/structural/lattice/lattice_vectors.py +35 -0
  298. mat3ra/esse/models/properties_directory/structural/lattice/type_enum.py +24 -0
  299. mat3ra/esse/models/properties_directory/structural/lattice/type_extended_enum.py +34 -0
  300. mat3ra/esse/models/properties_directory/structural/magnetic_moments.py +35 -0
  301. mat3ra/esse/models/properties_directory/structural/molecular_pattern.py +70 -0
  302. mat3ra/esse/models/properties_directory/structural/p_norm.py +23 -0
  303. mat3ra/esse/models/properties_directory/structural/patterns/__init__.py +3 -0
  304. mat3ra/esse/models/properties_directory/structural/patterns/functional_group.py +37 -0
  305. mat3ra/esse/models/properties_directory/structural/patterns/ring.py +34 -0
  306. mat3ra/esse/models/properties_directory/structural/patterns/special_bond.py +33 -0
  307. mat3ra/esse/models/properties_directory/structural/symmetry.py +39 -0
  308. mat3ra/esse/models/properties_directory/structural/volume.py +24 -0
  309. mat3ra/esse/models/properties_directory/workflow/convergence/__init__.py +3 -0
  310. mat3ra/esse/models/properties_directory/workflow/convergence/electronic.py +26 -0
  311. mat3ra/esse/models/properties_directory/workflow/convergence/ionic.py +63 -0
  312. mat3ra/esse/models/properties_directory/workflow/convergence/kpoint.py +43 -0
  313. mat3ra/esse/models/property/__init__.py +3 -0
  314. mat3ra/esse/models/property/base/The_source_of_a_property/__init__.py +5 -0
  315. mat3ra/esse/models/property/base/The_source_of_a_property/field_This_could_be_an_article__a_simulation_on_Exabyte__an_external_simulation__etc.py +38 -0
  316. mat3ra/esse/models/property/base/__init__.py +232 -0
  317. mat3ra/esse/models/property/meta/The_source_of_a_property/__init__.py +5 -0
  318. mat3ra/esse/models/property/meta/The_source_of_a_property/field_This_could_be_an_article__a_simulation_on_Exabyte__an_external_simulation__etc.py +38 -0
  319. mat3ra/esse/models/property/meta/__init__.py +232 -0
  320. mat3ra/esse/models/property/raw/The_source_of_a_property/__init__.py +5 -0
  321. mat3ra/esse/models/property/raw/The_source_of_a_property/field_This_could_be_an_article__a_simulation_on_Exabyte__an_external_simulation__etc.py +38 -0
  322. mat3ra/esse/models/property/raw/__init__.py +232 -0
  323. mat3ra/esse/models/property/source/The_source_of_a_property/__init__.py +5 -0
  324. mat3ra/esse/models/property/source/The_source_of_a_property/field_This_could_be_an_article__a_simulation_on_Exabyte__an_external_simulation__etc.py +38 -0
  325. mat3ra/esse/models/property/source/__init__.py +150 -0
  326. mat3ra/esse/models/software/__init__.py +3 -0
  327. mat3ra/esse/models/software/application.py +93 -0
  328. mat3ra/esse/models/software/executable.py +97 -0
  329. mat3ra/esse/models/software/flavor.py +116 -0
  330. mat3ra/esse/models/software/template.py +77 -0
  331. mat3ra/esse/models/software_directory/ml/__init__.py +3 -0
  332. mat3ra/esse/models/software_directory/ml/exabyteml.py +28 -0
  333. mat3ra/esse/models/software_directory/ml/unit/__init__.py +3 -0
  334. mat3ra/esse/models/software_directory/ml/unit/execution/__init__.py +1348 -0
  335. mat3ra/esse/models/software_directory/ml/unit/execution/evaluate/__init__.py +5 -0
  336. mat3ra/esse/models/software_directory/ml/unit/execution/evaluate/cross_validate.py +381 -0
  337. mat3ra/esse/models/software_directory/ml/unit/execution/initialize.py +381 -0
  338. mat3ra/esse/models/software_directory/ml/unit/execution/score.py +374 -0
  339. mat3ra/esse/models/software_directory/ml/unit/execution/train.py +385 -0
  340. mat3ra/esse/models/software_directory/ml/unit/processing/__init__.py +328 -0
  341. mat3ra/esse/models/software_directory/ml/unit/processing/data_transformation/__init__.py +199 -0
  342. mat3ra/esse/models/software_directory/ml/unit/processing/data_transformation/manipulation.py +176 -0
  343. mat3ra/esse/models/software_directory/ml/unit/processing/data_transformation/scale_and_reduce.py +195 -0
  344. mat3ra/esse/models/software_directory/ml/unit/processing/feature_selection/__init__.py +180 -0
  345. mat3ra/esse/models/software_directory/ml/unit/processing/feature_selection/filter_based.py +176 -0
  346. mat3ra/esse/models/software_directory/modeling/__init__.py +3 -0
  347. mat3ra/esse/models/software_directory/modeling/deepmd.py +112 -0
  348. mat3ra/esse/models/software_directory/modeling/espresso/__init__.py +39 -0
  349. mat3ra/esse/models/software_directory/modeling/espresso/arguments.py +35 -0
  350. mat3ra/esse/models/software_directory/modeling/nwchem.py +113 -0
  351. mat3ra/esse/models/software_directory/modeling/unit/__init__.py +3 -0
  352. mat3ra/esse/models/software_directory/modeling/unit/execution.py +390 -0
  353. mat3ra/esse/models/software_directory/modeling/vasp.py +117 -0
  354. mat3ra/esse/models/software_directory/scripting/__init__.py +3 -0
  355. mat3ra/esse/models/software_directory/scripting/jupyter_lab.py +115 -0
  356. mat3ra/esse/models/software_directory/scripting/python.py +129 -0
  357. mat3ra/esse/models/software_directory/scripting/shell.py +129 -0
  358. mat3ra/esse/models/software_directory/scripting/unit/__init__.py +3 -0
  359. mat3ra/esse/models/software_directory/scripting/unit/execution.py +390 -0
  360. mat3ra/esse/models/system/__init__.py +3 -0
  361. mat3ra/esse/models/system/_material.py +29 -0
  362. mat3ra/esse/models/system/_parent_job.py +29 -0
  363. mat3ra/esse/models/system/_project.py +29 -0
  364. mat3ra/esse/models/system/bankable.py +20 -0
  365. mat3ra/esse/models/system/consistency_check.py +40 -0
  366. mat3ra/esse/models/system/creator.py +29 -0
  367. mat3ra/esse/models/system/creator_account.py +28 -0
  368. mat3ra/esse/models/system/database_source.py +36 -0
  369. mat3ra/esse/models/system/defaultable.py +16 -0
  370. mat3ra/esse/models/system/description.py +17 -0
  371. mat3ra/esse/models/system/entity_reference.py +24 -0
  372. mat3ra/esse/models/system/file_source.py +28 -0
  373. mat3ra/esse/models/system/history.py +18 -0
  374. mat3ra/esse/models/system/iframe_message.py +36 -0
  375. mat3ra/esse/models/system/in_set.py +30 -0
  376. mat3ra/esse/models/system/is_multi_material.py +13 -0
  377. mat3ra/esse/models/system/is_outdated.py +13 -0
  378. mat3ra/esse/models/system/job_extended.py +36 -0
  379. mat3ra/esse/models/system/message.py +59 -0
  380. mat3ra/esse/models/system/metadata.py +13 -0
  381. mat3ra/esse/models/system/name.py +16 -0
  382. mat3ra/esse/models/system/owner.py +29 -0
  383. mat3ra/esse/models/system/path.py +16 -0
  384. mat3ra/esse/models/system/path_entity.py +20 -0
  385. mat3ra/esse/models/system/schema_version.py +16 -0
  386. mat3ra/esse/models/system/scope.py +13 -0
  387. mat3ra/esse/models/system/set.py +15 -0
  388. mat3ra/esse/models/system/sharing.py +13 -0
  389. mat3ra/esse/models/system/soft_removable.py +20 -0
  390. mat3ra/esse/models/system/status.py +20 -0
  391. mat3ra/esse/models/system/tags.py +16 -0
  392. mat3ra/esse/models/system/timestampable.py +22 -0
  393. mat3ra/esse/models/system/use_values.py +13 -0
  394. mat3ra/esse/models/third_party/db/nist_jarvis/2024.3.13/__init__.py +3 -0
  395. mat3ra/esse/models/third_party/db/nist_jarvis/2024.3.13/atoms.py +41 -0
  396. mat3ra/esse/models/third_party/db/nist_jarvis/2024.3.13/db_entry.py +55 -0
  397. mat3ra/esse/models/third_party/file/applications/espresso/7.2/__init__.py +3 -0
  398. mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/__init__.py +1990 -0
  399. mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/atomic_positions.py +51 -0
  400. mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/atomic_species.py +34 -0
  401. mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/cell.py +111 -0
  402. mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/cell_parameters.py +36 -0
  403. mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/control.py +169 -0
  404. mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/electrons.py +139 -0
  405. mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/hubbard.py +194 -0
  406. mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/ions.py +422 -0
  407. mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/k_points.py +73 -0
  408. mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/system.py +841 -0
  409. mat3ra/esse/models/workflow/__init__.py +2817 -0
  410. mat3ra/esse/models/workflow/base.py +79 -0
  411. mat3ra/esse/models/workflow/base_flow.py +180 -0
  412. mat3ra/esse/models/workflow/scope.py +14 -0
  413. mat3ra/esse/models/workflow/subworkflow/__init__.py +1472 -0
  414. mat3ra/esse/models/workflow/subworkflow/unit.py +1187 -0
  415. mat3ra/esse/models/workflow/unit/__init__.py +1415 -0
  416. mat3ra/esse/models/workflow/unit/assertion.py +149 -0
  417. mat3ra/esse/models/workflow/unit/assignment.py +165 -0
  418. mat3ra/esse/models/workflow/unit/base.py +137 -0
  419. mat3ra/esse/models/workflow/unit/condition.py +176 -0
  420. mat3ra/esse/models/workflow/unit/execution.py +374 -0
  421. mat3ra/esse/models/workflow/unit/input/__init__.py +3 -0
  422. mat3ra/esse/models/workflow/unit/input/_input.py +43 -0
  423. mat3ra/esse/models/workflow/unit/input/_inputItem.py +18 -0
  424. mat3ra/esse/models/workflow/unit/input/_inputItemId.py +21 -0
  425. mat3ra/esse/models/workflow/unit/input/_inputItemScope.py +18 -0
  426. mat3ra/esse/models/workflow/unit/input/_map_input/__init__.py +17 -0
  427. mat3ra/esse/models/workflow/unit/input/_map_input/values.py +13 -0
  428. mat3ra/esse/models/workflow/unit/io/__init__.py +254 -0
  429. mat3ra/esse/models/workflow/unit/io/api.py +27 -0
  430. mat3ra/esse/models/workflow/unit/io/db.py +39 -0
  431. mat3ra/esse/models/workflow/unit/io/object_storage.py +59 -0
  432. mat3ra/esse/models/workflow/unit/map.py +169 -0
  433. mat3ra/esse/models/workflow/unit/processing.py +153 -0
  434. mat3ra/esse/models/workflow/unit/reduce.py +160 -0
  435. mat3ra/esse/models/workflow/unit/runtime/__init__.py +3 -0
  436. mat3ra/esse/models/workflow/unit/runtime/_runtime_item_full_object.py +14 -0
  437. mat3ra/esse/models/workflow/unit/runtime/_runtime_item_name_object.py +14 -0
  438. mat3ra/esse/models/workflow/unit/runtime/_runtime_item_string.py +14 -0
  439. mat3ra/esse/models/workflow/unit/runtime/runtime_item.py +20 -0
  440. mat3ra/esse/models/workflow/unit/runtime/runtime_items.py +35 -0
  441. mat3ra/esse/models/workflow/unit/subworkflow.py +141 -0
  442. {mat3ra_esse-2024.4.8.post1.dist-info → mat3ra_esse-2024.4.8.post3.dist-info}/METADATA +3 -1
  443. mat3ra_esse-2024.4.8.post3.dist-info/RECORD +453 -0
  444. mat3ra_esse-2024.4.8.post1.dist-info/RECORD +0 -12
  445. {mat3ra_esse-2024.4.8.post1.dist-info → mat3ra_esse-2024.4.8.post3.dist-info}/LICENSE.md +0 -0
  446. {mat3ra_esse-2024.4.8.post1.dist-info → mat3ra_esse-2024.4.8.post3.dist-info}/WHEEL +0 -0
  447. {mat3ra_esse-2024.4.8.post1.dist-info → mat3ra_esse-2024.4.8.post3.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,420 @@
1
+ # generated by datamodel-codegen:
2
+ # filename: material.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, Field, RootModel, confloat
11
+ from typing_extensions import Literal
12
+
13
+
14
+ class AtomicElements(BaseModel):
15
+ id: float
16
+ value: str
17
+ occurrence: Optional[float] = None
18
+ """
19
+ Occurrence is for fractional occupations
20
+ """
21
+ oxidationState: Optional[float] = None
22
+
23
+
24
+ class Label(BaseModel):
25
+ id: Optional[float] = None
26
+ value: Optional[float] = None
27
+
28
+
29
+ class AtomicCoordinate(BaseModel):
30
+ id: Optional[float] = None
31
+ value: Optional[Union[List[float], List[bool]]] = Field(None, title="vector schema")
32
+
33
+
34
+ class AtomicId(BaseModel):
35
+ id: Optional[int] = None
36
+ """
37
+ integer id of this entry
38
+ """
39
+
40
+
41
+ class BondType(Enum):
42
+ single = "single"
43
+ double = "double"
44
+ triple = "triple"
45
+ quadruple = "quadruple"
46
+ aromatic = "aromatic"
47
+ tautomeric = "tautomeric"
48
+ dative = "dative"
49
+ other = "other"
50
+
51
+
52
+ class BondsSchemaItem(BaseModel):
53
+ atomPair: Optional[List[AtomicId]] = Field(None, max_length=2, min_length=2, title="atomic ids")
54
+ """
55
+ indices of the two connected atoms
56
+ """
57
+ bondType: Optional[BondType] = None
58
+
59
+
60
+ class BasisSchema(BaseModel):
61
+ elements: List[AtomicElements]
62
+ labels: Optional[List[Label]] = None
63
+ """
64
+ Optional numeric label (e.g., 1, 2, as in Fe1, Fe2) to distinguish same atomic species to attach different spin magnetic moment.
65
+ """
66
+ coordinates: List[AtomicCoordinate]
67
+ name: Optional[str] = None
68
+ units: Optional[str] = None
69
+ bonds: Optional[List[BondsSchemaItem]] = Field(None, title="bonds schema")
70
+
71
+
72
+ class Name(Enum):
73
+ lattice = "lattice"
74
+
75
+
76
+ class Units(Enum):
77
+ km = "km"
78
+ m = "m"
79
+ pm = "pm"
80
+ nm = "nm"
81
+ angstrom = "angstrom"
82
+ a_u_ = "a.u."
83
+ bohr = "bohr"
84
+ fractional = "fractional"
85
+ crystal = "crystal"
86
+ cartesian = "cartesian"
87
+ alat = "alat"
88
+
89
+
90
+ class LatticeExplicitUnit(BaseModel):
91
+ alat: Optional[float] = 1
92
+ """
93
+ lattice parameter for fractional coordinates
94
+ """
95
+ units: Optional[Units] = None
96
+ a: List[float] = Field(..., max_length=3, min_length=3, title="array of 3 number elements schema")
97
+ b: List[float] = Field(..., max_length=3, min_length=3, title="array of 3 number elements schema")
98
+ c: List[float] = Field(..., max_length=3, min_length=3, title="array of 3 number elements schema")
99
+
100
+
101
+ class LatticeTypeSchema(Enum):
102
+ CUB = "CUB"
103
+ BCC = "BCC"
104
+ FCC = "FCC"
105
+ TET = "TET"
106
+ MCL = "MCL"
107
+ ORC = "ORC"
108
+ ORCC = "ORCC"
109
+ ORCF = "ORCF"
110
+ ORCI = "ORCI"
111
+ HEX = "HEX"
112
+ BCT = "BCT"
113
+ TRI = "TRI"
114
+ MCLC = "MCLC"
115
+ RHL = "RHL"
116
+
117
+
118
+ class Length(Enum):
119
+ angstrom = "angstrom"
120
+ bohr = "bohr"
121
+
122
+
123
+ class Angle(Enum):
124
+ degree = "degree"
125
+ radian = "radian"
126
+
127
+
128
+ class Units41(BaseModel):
129
+ length: Optional[Length] = None
130
+ angle: Optional[Angle] = None
131
+
132
+
133
+ class LatticeSchema(BaseModel):
134
+ name: Optional[Name] = None
135
+ vectors: Optional[LatticeExplicitUnit] = Field(None, title="lattice explicit unit")
136
+ type: LatticeTypeSchema = Field(..., title="lattice type schema")
137
+ units: Optional[Units41] = None
138
+ a: float
139
+ """
140
+ length of the first lattice vector
141
+ """
142
+ b: float
143
+ """
144
+ length of the second lattice vector
145
+ """
146
+ c: float
147
+ """
148
+ length of the third lattice vector
149
+ """
150
+ alpha: float
151
+ """
152
+ angle between first and second lattice vector
153
+ """
154
+ beta: float
155
+ """
156
+ angle between second and third lattice vector
157
+ """
158
+ gamma: float
159
+ """
160
+ angle between first and third lattice vector
161
+ """
162
+
163
+
164
+ class Name128(Enum):
165
+ volume = "volume"
166
+
167
+
168
+ class Units42(Enum):
169
+ angstrom_3 = "angstrom^3"
170
+
171
+
172
+ class VolumeSchema(BaseModel):
173
+ name: Literal["0#-datamodel-code-generator-#-object-#-special-#"]
174
+ units: Optional[Units42] = None
175
+ value: float
176
+
177
+
178
+ class Name129(Enum):
179
+ density = "density"
180
+
181
+
182
+ class Units43(Enum):
183
+ g_cm_3 = "g/cm^3"
184
+
185
+
186
+ class DensitySchema(BaseModel):
187
+ name: Literal["1#-datamodel-code-generator-#-object-#-special-#"]
188
+ units: Optional[Units43] = None
189
+ value: float
190
+
191
+
192
+ class Units44(Enum):
193
+ angstrom = "angstrom"
194
+
195
+
196
+ class ScalarSchema(BaseModel):
197
+ units: Optional[Units44] = None
198
+ value: float
199
+
200
+
201
+ class Name130(Enum):
202
+ symmetry = "symmetry"
203
+
204
+
205
+ class SymmetrySchema(BaseModel):
206
+ pointGroupSymbol: Optional[str] = None
207
+ """
208
+ point group symbol in Schoenflies notation
209
+ """
210
+ spaceGroupSymbol: Optional[str] = None
211
+ """
212
+ space group symbol in Hermann–Mauguin notation
213
+ """
214
+ tolerance: Optional[ScalarSchema] = Field(None, title="scalar schema")
215
+ """
216
+ tolerance used for symmetry calculation
217
+ """
218
+ name: Literal["2#-datamodel-code-generator-#-object-#-special-#"]
219
+
220
+
221
+ class Name131(Enum):
222
+ elemental_ratio = "elemental_ratio"
223
+
224
+
225
+ class ElementalRatio(BaseModel):
226
+ name: Literal["3#-datamodel-code-generator-#-object-#-special-#"]
227
+ value: confloat(ge=0.0, le=1.0)
228
+ element: Optional[str] = None
229
+ """
230
+ the element this ratio is for
231
+ """
232
+
233
+
234
+ class Name132(Enum):
235
+ p_norm = "p-norm"
236
+
237
+
238
+ class PNorm(BaseModel):
239
+ name: Literal["4#-datamodel-code-generator-#-object-#-special-#"]
240
+ degree: Optional[int] = None
241
+ """
242
+ degree of the dimensionality of the norm
243
+ """
244
+ value: float
245
+
246
+
247
+ class Name133(Enum):
248
+ inchi = "inchi"
249
+
250
+
251
+ class InChIRepresentationSchema(BaseModel):
252
+ name: Literal["5#-datamodel-code-generator-#-object-#-special-#"]
253
+ value: str
254
+
255
+
256
+ class Name134(Enum):
257
+ inchi_key = "inchi_key"
258
+
259
+
260
+ class InChIKeyRepresentationSchema(BaseModel):
261
+ name: Literal["6#-datamodel-code-generator-#-object-#-special-#"]
262
+ value: str
263
+
264
+
265
+ class DerivedPropertiesSchema(
266
+ RootModel[
267
+ Union[
268
+ VolumeSchema,
269
+ DensitySchema,
270
+ SymmetrySchema,
271
+ ElementalRatio,
272
+ PNorm,
273
+ InChIRepresentationSchema,
274
+ InChIKeyRepresentationSchema,
275
+ ]
276
+ ]
277
+ ):
278
+ root: Union[
279
+ VolumeSchema,
280
+ DensitySchema,
281
+ SymmetrySchema,
282
+ ElementalRatio,
283
+ PNorm,
284
+ InChIRepresentationSchema,
285
+ InChIKeyRepresentationSchema,
286
+ ] = Field(..., discriminator="name")
287
+
288
+
289
+ class DatabaseSourceSchema(BaseModel):
290
+ id: Union[str, float]
291
+ """
292
+ ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32
293
+ """
294
+ source: str
295
+ """
296
+ Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.
297
+ """
298
+ origin: bool
299
+ """
300
+ Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).
301
+ """
302
+ data: Optional[Dict[str, Any]] = None
303
+ """
304
+ Original response from external source.
305
+ """
306
+ doi: Optional[str] = None
307
+ """
308
+ Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506
309
+ """
310
+ url: Optional[str] = None
311
+ """
312
+ The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers
313
+ """
314
+
315
+
316
+ class FileSourceSchema(BaseModel):
317
+ extension: Optional[str] = None
318
+ """
319
+ file extension
320
+ """
321
+ filename: str
322
+ """
323
+ file name without extension
324
+ """
325
+ text: str
326
+ """
327
+ file content as raw text
328
+ """
329
+ hash: str
330
+ """
331
+ MD5 hash based on file content
332
+ """
333
+
334
+
335
+ class Name135(Enum):
336
+ default = "default"
337
+ atomsTooClose = "atomsTooClose"
338
+ atomsOverlap = "atomsOverlap"
339
+
340
+
341
+ class Severity(Enum):
342
+ info = "info"
343
+ warning = "warning"
344
+ error = "error"
345
+
346
+
347
+ class ConsistencyCheck(BaseModel):
348
+ key: str
349
+ """
350
+ Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'
351
+ """
352
+ name: Name135
353
+ """
354
+ Name of the consistency check that is performed, which is listed in an enum.
355
+ """
356
+ severity: Severity
357
+ """
358
+ Severity level of the problem, which is used in UI to differentiate.
359
+ """
360
+ message: str
361
+ """
362
+ Message generated by the consistency check describing the problem.
363
+ """
364
+
365
+
366
+ class MaterialSchema(BaseModel):
367
+ formula: Optional[str] = None
368
+ """
369
+ reduced chemical formula
370
+ """
371
+ unitCellFormula: Optional[str] = None
372
+ """
373
+ chemical formula based on the number of atoms of each element in the supercell
374
+ """
375
+ basis: BasisSchema = Field(..., title="basis schema")
376
+ lattice: LatticeSchema = Field(..., title="lattice schema")
377
+ derivedProperties: Optional[List[DerivedPropertiesSchema]] = Field(None, title="derived properties schema")
378
+ external: Optional[DatabaseSourceSchema] = Field(None, title="database source schema")
379
+ """
380
+ information about a database source
381
+ """
382
+ src: Optional[FileSourceSchema] = Field(None, title="file source schema")
383
+ """
384
+ file source with the information inside
385
+ """
386
+ scaledHash: Optional[str] = None
387
+ """
388
+ Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).
389
+ """
390
+ icsdId: Optional[int] = None
391
+ """
392
+ Corresponding ICSD id of the material
393
+ """
394
+ isNonPeriodic: Optional[bool] = None
395
+ """
396
+ Whether to work in the finite molecular picture (usually with atomic orbital basis)
397
+ """
398
+ field_id: Optional[str] = Field(None, alias="_id")
399
+ """
400
+ entity identity
401
+ """
402
+ slug: Optional[str] = None
403
+ """
404
+ entity slug
405
+ """
406
+ systemName: Optional[str] = None
407
+ consistencyChecks: Optional[List[ConsistencyCheck]] = None
408
+ schemaVersion: Optional[str] = "2022.8.16"
409
+ """
410
+ entity's schema version. Used to distinct between different schemas.
411
+ """
412
+ name: Optional[str] = None
413
+ """
414
+ entity name
415
+ """
416
+ isDefault: Optional[bool] = False
417
+ """
418
+ Identifies that entity is defaultable
419
+ """
420
+ metadata: Optional[Dict[str, Any]] = None
@@ -0,0 +1,13 @@
1
+ # generated by datamodel-codegen:
2
+ # filename: material/conventional.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
10
+
11
+
12
+ class MaterialConventionalSchema(BaseModel):
13
+ conventional: Optional[Dict[str, Any]] = None
@@ -0,0 +1,28 @@
1
+ # generated by datamodel-codegen:
2
+ # filename: method.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
10
+
11
+
12
+ class BaseMethod(BaseModel):
13
+ type: str
14
+ """
15
+ general type of this method, eg. `pseudopotential`
16
+ """
17
+ subtype: str
18
+ """
19
+ general subtype of this method, eg. `ultra-soft`
20
+ """
21
+ precision: Optional[Dict[str, Any]] = None
22
+ """
23
+ Object showing the actual possible precision based on theory and implementation
24
+ """
25
+ data: Optional[Dict[str, Any]] = None
26
+ """
27
+ additional data specific to method, eg. array of pseudopotentials
28
+ """
@@ -0,0 +1,86 @@
1
+ # generated by datamodel-codegen:
2
+ # filename: method/categorized_method.json
3
+ # version: 0.25.5
4
+
5
+ from __future__ import annotations
6
+
7
+ from typing import Any, Dict, List, Optional, Union
8
+
9
+ from pydantic import BaseModel, Field
10
+
11
+
12
+ class SlugifiedEntry(BaseModel):
13
+ name: str
14
+ """
15
+ descriptive human-readable name of entry
16
+ """
17
+ slug: str
18
+ """
19
+ machine-readable identifier
20
+ """
21
+
22
+
23
+ class ReusableCategoriesSchema(BaseModel):
24
+ tier1: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug")
25
+ """
26
+ contains either object with slugified entry or slug only as a string
27
+ """
28
+ tier2: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug")
29
+ """
30
+ contains either object with slugified entry or slug only as a string
31
+ """
32
+ tier3: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug")
33
+ """
34
+ contains either object with slugified entry or slug only as a string
35
+ """
36
+ type: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug")
37
+ """
38
+ contains either object with slugified entry or slug only as a string
39
+ """
40
+ subtype: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug")
41
+ """
42
+ contains either object with slugified entry or slug only as a string
43
+ """
44
+
45
+
46
+ class CategorizedUnitMethod(BaseModel):
47
+ categories: Optional[ReusableCategoriesSchema] = Field(None, title="Reusable categories schema")
48
+ """
49
+ Used to categorize entities such as models and methods
50
+ """
51
+ parameters: Optional[Dict[str, Any]] = None
52
+ """
53
+ Instructive parameters defining the method
54
+ """
55
+ precision: Optional[Dict[str, Any]] = None
56
+ """
57
+ Object showing the actual possible precision based on theory and implementation
58
+ """
59
+ name: Optional[str] = None
60
+ """
61
+ entity name
62
+ """
63
+ path: Optional[str] = Field(None, title="category path schema")
64
+ """
65
+ TODO: Use regex once schema draft version has been updated
66
+ """
67
+ tags: Optional[List[str]] = None
68
+ """
69
+ entity tags
70
+ """
71
+
72
+
73
+ class CategorizedMethod(BaseModel):
74
+ units: List[CategorizedUnitMethod]
75
+ name: Optional[str] = None
76
+ """
77
+ entity name
78
+ """
79
+ path: Optional[str] = Field(None, title="category path schema")
80
+ """
81
+ TODO: Use regex once schema draft version has been updated
82
+ """
83
+ tags: Optional[List[str]] = None
84
+ """
85
+ entity tags
86
+ """
@@ -0,0 +1,48 @@
1
+ # generated by datamodel-codegen:
2
+ # filename: method/method_parameters.json
3
+ # version: 0.25.5
4
+
5
+ from __future__ import annotations
6
+
7
+ from enum import Enum
8
+ from typing import Optional, Union
9
+
10
+ from pydantic import BaseModel, Field, RootModel
11
+
12
+
13
+ class BasisSlug(Enum):
14
+ cc_pvdz = "cc-pvdz"
15
+ cc_pvtz = "cc-pvtz"
16
+ cc_pvqz = "cc-pvqz"
17
+
18
+
19
+ class MethodParameters(BaseModel):
20
+ basisSlug: Optional[BasisSlug] = None
21
+
22
+
23
+ class BasisSlug3(Enum):
24
+ field_3_21G = "3-21G"
25
+ field_6_31G = "6-31G"
26
+ field_6_311G = "6-311G"
27
+
28
+
29
+ class MethodParameters1(BaseModel):
30
+ basisSlug: Optional[BasisSlug3] = None
31
+
32
+
33
+ class BasisSlug4(Enum):
34
+ sto_3g = "sto-3g"
35
+ sto_4g = "sto-4g"
36
+ sto_6g = "sto-6g"
37
+ def2_svp = "def2-svp"
38
+ def2_tzvp = "def2-tzvp"
39
+ def2_qzvp = "def2-qzvp"
40
+ cbs_qb3 = "cbs-qb3"
41
+
42
+
43
+ class MethodParameters2(BaseModel):
44
+ basisSlug: Optional[BasisSlug4] = None
45
+
46
+
47
+ class ESSE(RootModel[Union[MethodParameters, MethodParameters1, MethodParameters2]]):
48
+ root: Union[MethodParameters, MethodParameters1, MethodParameters2] = Field(..., title="MethodParameters")
@@ -0,0 +1,70 @@
1
+ # generated by datamodel-codegen:
2
+ # filename: method/unit_method.json
3
+ # version: 0.25.5
4
+
5
+ from __future__ import annotations
6
+
7
+ from typing import Any, Dict, List, Optional, Union
8
+
9
+ from pydantic import BaseModel, Field
10
+
11
+
12
+ class SlugifiedEntry(BaseModel):
13
+ name: str
14
+ """
15
+ descriptive human-readable name of entry
16
+ """
17
+ slug: str
18
+ """
19
+ machine-readable identifier
20
+ """
21
+
22
+
23
+ class ReusableCategoriesSchema(BaseModel):
24
+ tier1: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug")
25
+ """
26
+ contains either object with slugified entry or slug only as a string
27
+ """
28
+ tier2: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug")
29
+ """
30
+ contains either object with slugified entry or slug only as a string
31
+ """
32
+ tier3: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug")
33
+ """
34
+ contains either object with slugified entry or slug only as a string
35
+ """
36
+ type: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug")
37
+ """
38
+ contains either object with slugified entry or slug only as a string
39
+ """
40
+ subtype: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug")
41
+ """
42
+ contains either object with slugified entry or slug only as a string
43
+ """
44
+
45
+
46
+ class CategorizedUnitMethod(BaseModel):
47
+ categories: Optional[ReusableCategoriesSchema] = Field(None, title="Reusable categories schema")
48
+ """
49
+ Used to categorize entities such as models and methods
50
+ """
51
+ parameters: Optional[Dict[str, Any]] = None
52
+ """
53
+ Instructive parameters defining the method
54
+ """
55
+ precision: Optional[Dict[str, Any]] = None
56
+ """
57
+ Object showing the actual possible precision based on theory and implementation
58
+ """
59
+ name: Optional[str] = None
60
+ """
61
+ entity name
62
+ """
63
+ path: Optional[str] = Field(None, title="category path schema")
64
+ """
65
+ TODO: Use regex once schema draft version has been updated
66
+ """
67
+ tags: Optional[List[str]] = None
68
+ """
69
+ entity tags
70
+ """
@@ -0,0 +1,3 @@
1
+ # generated by datamodel-codegen:
2
+ # filename: schema
3
+ # version: 0.25.5