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,218 @@
1
+ # generated by datamodel-codegen:
2
+ # filename: models_directory/mgga.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 SlugifiedEntry(BaseModel):
14
+ name: str
15
+ """
16
+ descriptive human-readable name of entry
17
+ """
18
+ slug: str
19
+ """
20
+ machine-readable identifier
21
+ """
22
+
23
+
24
+ class SlugifiedEntryOrSlug(Enum):
25
+ mgga = "mgga"
26
+
27
+
28
+ class SlugifiedEntryOrSlug152(Enum):
29
+ ksdft = "ksdft"
30
+
31
+
32
+ class SlugifiedEntryOrSlug153(Enum):
33
+ dft = "dft"
34
+
35
+
36
+ class SlugifiedEntryOrSlug154(Enum):
37
+ qm = "qm"
38
+
39
+
40
+ class SlugifiedEntryOrSlug155(Enum):
41
+ pb = "pb"
42
+
43
+
44
+ class DFTMetaGGAFunctionalCategorySchema(BaseModel):
45
+ subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug")
46
+ """
47
+ contains either object with slugified entry or slug only as a string
48
+ """
49
+ type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug152]] = Field(None, title="slugified entry or slug")
50
+ """
51
+ contains either object with slugified entry or slug only as a string
52
+ """
53
+ tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug153]] = Field(None, title="slugified entry or slug")
54
+ """
55
+ contains either object with slugified entry or slug only as a string
56
+ """
57
+ tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug154]] = Field(None, title="slugified entry or slug")
58
+ """
59
+ contains either object with slugified entry or slug only as a string
60
+ """
61
+ tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug155]] = Field(None, title="slugified entry or slug")
62
+ """
63
+ contains either object with slugified entry or slug only as a string
64
+ """
65
+
66
+
67
+ class Functional(Enum):
68
+ scan = "scan"
69
+
70
+
71
+ class SpinOrbitCouplingMixin(BaseModel):
72
+ model_config = ConfigDict(
73
+ extra="allow",
74
+ )
75
+ functional: Optional[Functional] = None
76
+ spinOrbitCoupling: Optional[bool] = None
77
+
78
+
79
+ class DispersionCorrection(Enum):
80
+ dft_d2 = "dft-d2"
81
+ dft_d3 = "dft-d3"
82
+ xdm = "xdm"
83
+ ts = "ts"
84
+
85
+
86
+ class DispersionCorrectionMixin(BaseModel):
87
+ model_config = ConfigDict(
88
+ extra="allow",
89
+ )
90
+ functional: Optional[Functional] = None
91
+ dispersionCorrection: Optional[DispersionCorrection] = None
92
+
93
+
94
+ class SpinPolarization(Enum):
95
+ collinear = "collinear"
96
+ non_collinear = "non-collinear"
97
+
98
+
99
+ class SpinPolarizationMixin(BaseModel):
100
+ model_config = ConfigDict(
101
+ extra="allow",
102
+ )
103
+ functional: Optional[Functional] = None
104
+ spinPolarization: Optional[SpinPolarization] = None
105
+
106
+
107
+ class HubbardType(Enum):
108
+ u = "u"
109
+
110
+
111
+ class HubbardModelMixin(BaseModel):
112
+ model_config = ConfigDict(
113
+ extra="allow",
114
+ )
115
+ functional: Optional[Functional] = None
116
+ hubbardType: Optional[HubbardType] = None
117
+
118
+
119
+ class Type(Enum):
120
+ literature = "literature"
121
+
122
+
123
+ class PagesSchema(BaseModel):
124
+ start: str
125
+ end: Optional[str] = None
126
+
127
+
128
+ class ExperimentAuthorSchema(BaseModel):
129
+ first: str
130
+ middle: Optional[str] = None
131
+ last: str
132
+ affiliation: Optional[str] = None
133
+
134
+
135
+ class LiteratureReferenceSchema(BaseModel):
136
+ type: Optional[Type] = None
137
+ doi: Optional[str] = None
138
+ """
139
+ Digital Object Identifier of the reference.
140
+ """
141
+ isbn: Optional[str] = None
142
+ """
143
+ International Standard Book Number of the reference.
144
+ """
145
+ issn: Optional[str] = None
146
+ """
147
+ International Standard Serial Number of the reference.
148
+ """
149
+ url: Optional[str] = None
150
+ """
151
+ Internet address of the reference.
152
+ """
153
+ title: Optional[str] = None
154
+ """
155
+ Title of the work.
156
+ """
157
+ publisher: Optional[str] = None
158
+ """
159
+ Publisher of the work.
160
+ """
161
+ journal: Optional[str] = None
162
+ """
163
+ Journal in which the work appeared.
164
+ """
165
+ volume: Optional[str] = None
166
+ """
167
+ Volume of the series in which the work appeared.
168
+ """
169
+ year: Optional[str] = None
170
+ """
171
+ Year in which the reference was published.
172
+ """
173
+ issue: Optional[str] = None
174
+ """
175
+ Issue of the collection in which the work appeared.
176
+ """
177
+ pages: Optional[PagesSchema] = Field(None, title="pages schema")
178
+ """
179
+ Start and end pages of the work.
180
+ """
181
+ authors: Optional[List[ExperimentAuthorSchema]] = None
182
+ """
183
+ List of authors of the work.
184
+ """
185
+ editors: Optional[List[ExperimentAuthorSchema]] = None
186
+ """
187
+ List of editors of the work.
188
+ """
189
+ reference: Optional[List[Dict[str, Any]]] = None
190
+ """
191
+ References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published.
192
+ """
193
+
194
+
195
+ class ModelMetaGeneralizedGradientApproximation(BaseModel):
196
+ categories: DFTMetaGGAFunctionalCategorySchema = Field(..., title="DFT meta-GGA functional category schema")
197
+ """
198
+ Used to categorize entities such as models and methods
199
+ """
200
+ parameters: Union[SpinOrbitCouplingMixin, DispersionCorrectionMixin, SpinPolarizationMixin, HubbardModelMixin] = (
201
+ Field(..., title="Meta-GGA functional mixin")
202
+ )
203
+ """
204
+ Model parameters defined in-place or via model mixins
205
+ """
206
+ reference: Optional[LiteratureReferenceSchema] = Field(None, title="literature reference schema")
207
+ name: Optional[str] = None
208
+ """
209
+ entity name
210
+ """
211
+ path: Optional[str] = Field(None, title="category path schema")
212
+ """
213
+ TODO: Use regex once schema draft version has been updated
214
+ """
215
+ tags: Optional[List[str]] = None
216
+ """
217
+ entity tags
218
+ """
@@ -0,0 +1,160 @@
1
+ # generated by datamodel-codegen:
2
+ # filename: models_directory/re.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
11
+
12
+
13
+ class SlugifiedEntry(BaseModel):
14
+ name: str
15
+ """
16
+ descriptive human-readable name of entry
17
+ """
18
+ slug: str
19
+ """
20
+ machine-readable identifier
21
+ """
22
+
23
+
24
+ class SlugifiedEntryOrSlug(Enum):
25
+ re = "re"
26
+
27
+
28
+ class SlugifiedEntryOrSlug230(Enum):
29
+ ml = "ml"
30
+
31
+
32
+ class SlugifiedEntryOrSlug231(Enum):
33
+ det = "det"
34
+
35
+
36
+ class SlugifiedEntryOrSlug232(Enum):
37
+ st = "st"
38
+
39
+
40
+ class RegressionModelCategorySchema(BaseModel):
41
+ type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug")
42
+ """
43
+ contains either object with slugified entry or slug only as a string
44
+ """
45
+ tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug230]] = Field(None, title="slugified entry or slug")
46
+ """
47
+ contains either object with slugified entry or slug only as a string
48
+ """
49
+ tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug231]] = Field(None, title="slugified entry or slug")
50
+ """
51
+ contains either object with slugified entry or slug only as a string
52
+ """
53
+ tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug232]] = Field(None, title="slugified entry or slug")
54
+ """
55
+ contains either object with slugified entry or slug only as a string
56
+ """
57
+ subtype: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug")
58
+ """
59
+ contains either object with slugified entry or slug only as a string
60
+ """
61
+
62
+
63
+ class Type(Enum):
64
+ literature = "literature"
65
+
66
+
67
+ class PagesSchema(BaseModel):
68
+ start: str
69
+ end: Optional[str] = None
70
+
71
+
72
+ class ExperimentAuthorSchema(BaseModel):
73
+ first: str
74
+ middle: Optional[str] = None
75
+ last: str
76
+ affiliation: Optional[str] = None
77
+
78
+
79
+ class LiteratureReferenceSchema(BaseModel):
80
+ type: Optional[Type] = None
81
+ doi: Optional[str] = None
82
+ """
83
+ Digital Object Identifier of the reference.
84
+ """
85
+ isbn: Optional[str] = None
86
+ """
87
+ International Standard Book Number of the reference.
88
+ """
89
+ issn: Optional[str] = None
90
+ """
91
+ International Standard Serial Number of the reference.
92
+ """
93
+ url: Optional[str] = None
94
+ """
95
+ Internet address of the reference.
96
+ """
97
+ title: Optional[str] = None
98
+ """
99
+ Title of the work.
100
+ """
101
+ publisher: Optional[str] = None
102
+ """
103
+ Publisher of the work.
104
+ """
105
+ journal: Optional[str] = None
106
+ """
107
+ Journal in which the work appeared.
108
+ """
109
+ volume: Optional[str] = None
110
+ """
111
+ Volume of the series in which the work appeared.
112
+ """
113
+ year: Optional[str] = None
114
+ """
115
+ Year in which the reference was published.
116
+ """
117
+ issue: Optional[str] = None
118
+ """
119
+ Issue of the collection in which the work appeared.
120
+ """
121
+ pages: Optional[PagesSchema] = Field(None, title="pages schema")
122
+ """
123
+ Start and end pages of the work.
124
+ """
125
+ authors: Optional[List[ExperimentAuthorSchema]] = None
126
+ """
127
+ List of authors of the work.
128
+ """
129
+ editors: Optional[List[ExperimentAuthorSchema]] = None
130
+ """
131
+ List of editors of the work.
132
+ """
133
+ reference: Optional[List[Dict[str, Any]]] = None
134
+ """
135
+ References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published.
136
+ """
137
+
138
+
139
+ class ModelRegression(BaseModel):
140
+ categories: RegressionModelCategorySchema = Field(..., title="regression model category schema")
141
+ """
142
+ Used to categorize entities such as models and methods
143
+ """
144
+ parameters: Dict[str, Any]
145
+ """
146
+ Model parameters defined in-place or via model mixins
147
+ """
148
+ reference: Optional[LiteratureReferenceSchema] = Field(None, title="literature reference schema")
149
+ name: Optional[str] = None
150
+ """
151
+ entity name
152
+ """
153
+ path: Optional[str] = Field(None, title="category path schema")
154
+ """
155
+ TODO: Use regex once schema draft version has been updated
156
+ """
157
+ tags: Optional[List[str]] = None
158
+ """
159
+ entity tags
160
+ """
@@ -0,0 +1,82 @@
1
+ # generated by datamodel-codegen:
2
+ # filename: project.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
9
+
10
+ from pydantic import BaseModel, Field
11
+
12
+
13
+ class ClusterBasedChargeRate(BaseModel):
14
+ rate: Optional[float] = None
15
+ timestamp: Optional[float] = None
16
+ hostname: Optional[str] = None
17
+
18
+
19
+ class Name(Enum):
20
+ default = "default"
21
+ atomsTooClose = "atomsTooClose"
22
+ atomsOverlap = "atomsOverlap"
23
+
24
+
25
+ class Severity(Enum):
26
+ info = "info"
27
+ warning = "warning"
28
+ error = "error"
29
+
30
+
31
+ class ConsistencyCheck(BaseModel):
32
+ key: str
33
+ """
34
+ Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'
35
+ """
36
+ name: Name
37
+ """
38
+ Name of the consistency check that is performed, which is listed in an enum.
39
+ """
40
+ severity: Severity
41
+ """
42
+ Severity level of the problem, which is used in UI to differentiate.
43
+ """
44
+ message: str
45
+ """
46
+ Message generated by the consistency check describing the problem.
47
+ """
48
+
49
+
50
+ class ProjectSchema(BaseModel):
51
+ gid: Optional[float] = None
52
+ """
53
+ project GID
54
+ """
55
+ clusterBasedChargeRates: Optional[List[ClusterBasedChargeRate]] = None
56
+ """
57
+ charge rates info for project
58
+ """
59
+ isExternal: Optional[bool] = False
60
+ field_id: Optional[str] = Field(None, alias="_id")
61
+ """
62
+ entity identity
63
+ """
64
+ slug: Optional[str] = None
65
+ """
66
+ entity slug
67
+ """
68
+ systemName: Optional[str] = None
69
+ consistencyChecks: Optional[List[ConsistencyCheck]] = None
70
+ schemaVersion: Optional[str] = "2022.8.16"
71
+ """
72
+ entity's schema version. Used to distinct between different schemas.
73
+ """
74
+ name: Optional[str] = None
75
+ """
76
+ entity name
77
+ """
78
+ isDefault: Optional[bool] = False
79
+ """
80
+ Identifies that entity is defaultable
81
+ """
82
+ metadata: Optional[Dict[str, Any]] = None
@@ -0,0 +1,3 @@
1
+ # generated by datamodel-codegen:
2
+ # filename: schema
3
+ # version: 0.25.5
@@ -0,0 +1,140 @@
1
+ # generated by datamodel-codegen:
2
+ # filename: properties_directory/derived_properties.json
3
+ # version: 0.25.5
4
+
5
+ from __future__ import annotations
6
+
7
+ from enum import Enum
8
+ from typing import List, Optional, Union
9
+
10
+ from pydantic import BaseModel, Field, RootModel, confloat
11
+ from typing_extensions import Literal
12
+
13
+
14
+ class Name(Enum):
15
+ volume = "volume"
16
+
17
+
18
+ class Units(Enum):
19
+ angstrom_3 = "angstrom^3"
20
+
21
+
22
+ class VolumeSchema(BaseModel):
23
+ name: Literal["0#-datamodel-code-generator-#-object-#-special-#"]
24
+ units: Optional[Units] = None
25
+ value: float
26
+
27
+
28
+ class Name29(Enum):
29
+ density = "density"
30
+
31
+
32
+ class Units14(Enum):
33
+ g_cm_3 = "g/cm^3"
34
+
35
+
36
+ class DensitySchema(BaseModel):
37
+ name: Literal["1#-datamodel-code-generator-#-object-#-special-#"]
38
+ units: Optional[Units14] = None
39
+ value: float
40
+
41
+
42
+ class Units15(Enum):
43
+ angstrom = "angstrom"
44
+
45
+
46
+ class ScalarSchema(BaseModel):
47
+ units: Optional[Units15] = None
48
+ value: float
49
+
50
+
51
+ class Name30(Enum):
52
+ symmetry = "symmetry"
53
+
54
+
55
+ class SymmetrySchema(BaseModel):
56
+ pointGroupSymbol: Optional[str] = None
57
+ """
58
+ point group symbol in Schoenflies notation
59
+ """
60
+ spaceGroupSymbol: Optional[str] = None
61
+ """
62
+ space group symbol in Hermann–Mauguin notation
63
+ """
64
+ tolerance: Optional[ScalarSchema] = Field(None, title="scalar schema")
65
+ """
66
+ tolerance used for symmetry calculation
67
+ """
68
+ name: Literal["2#-datamodel-code-generator-#-object-#-special-#"]
69
+
70
+
71
+ class Name31(Enum):
72
+ elemental_ratio = "elemental_ratio"
73
+
74
+
75
+ class ElementalRatio(BaseModel):
76
+ name: Literal["3#-datamodel-code-generator-#-object-#-special-#"]
77
+ value: confloat(ge=0.0, le=1.0)
78
+ element: Optional[str] = None
79
+ """
80
+ the element this ratio is for
81
+ """
82
+
83
+
84
+ class Name32(Enum):
85
+ p_norm = "p-norm"
86
+
87
+
88
+ class PNorm(BaseModel):
89
+ name: Literal["4#-datamodel-code-generator-#-object-#-special-#"]
90
+ degree: Optional[int] = None
91
+ """
92
+ degree of the dimensionality of the norm
93
+ """
94
+ value: float
95
+
96
+
97
+ class Name33(Enum):
98
+ inchi = "inchi"
99
+
100
+
101
+ class InChIRepresentationSchema(BaseModel):
102
+ name: Literal["5#-datamodel-code-generator-#-object-#-special-#"]
103
+ value: str
104
+
105
+
106
+ class Name34(Enum):
107
+ inchi_key = "inchi_key"
108
+
109
+
110
+ class InChIKeyRepresentationSchema(BaseModel):
111
+ name: Literal["6#-datamodel-code-generator-#-object-#-special-#"]
112
+ value: str
113
+
114
+
115
+ class DerivedPropertiesSchema1(
116
+ RootModel[
117
+ Union[
118
+ VolumeSchema,
119
+ DensitySchema,
120
+ SymmetrySchema,
121
+ ElementalRatio,
122
+ PNorm,
123
+ InChIRepresentationSchema,
124
+ InChIKeyRepresentationSchema,
125
+ ]
126
+ ]
127
+ ):
128
+ root: Union[
129
+ VolumeSchema,
130
+ DensitySchema,
131
+ SymmetrySchema,
132
+ ElementalRatio,
133
+ PNorm,
134
+ InChIRepresentationSchema,
135
+ InChIKeyRepresentationSchema,
136
+ ] = Field(..., discriminator="name")
137
+
138
+
139
+ class DerivedPropertiesSchema(RootModel[List[DerivedPropertiesSchema1]]):
140
+ root: List[DerivedPropertiesSchema1] = Field(..., title="derived properties schema")
@@ -0,0 +1,20 @@
1
+ # generated by datamodel-codegen:
2
+ # filename: properties_directory/electronic_configuration.json
3
+ # version: 0.25.5
4
+
5
+ from __future__ import annotations
6
+
7
+ from typing import Optional
8
+
9
+ from pydantic import BaseModel
10
+
11
+
12
+ class ElectronicConfigurationSchema(BaseModel):
13
+ charge: Optional[int] = None
14
+ """
15
+ total charge of the molecular system
16
+ """
17
+ multiplicity: Optional[int] = None
18
+ """
19
+ calculated as 2S+1, with S is the total spin angular momentum
20
+ """
@@ -0,0 +1,3 @@
1
+ # generated by datamodel-codegen:
2
+ # filename: schema
3
+ # version: 0.25.5
@@ -0,0 +1,34 @@
1
+ # generated by datamodel-codegen:
2
+ # filename: properties_directory/elemental/atomic_radius.json
3
+ # version: 0.25.5
4
+
5
+ from __future__ import annotations
6
+
7
+ from enum import Enum
8
+ from typing import Optional
9
+
10
+ from pydantic import BaseModel
11
+
12
+
13
+ class Name(Enum):
14
+ atomic_radius = "atomic_radius"
15
+
16
+
17
+ class Units(Enum):
18
+ km = "km"
19
+ m = "m"
20
+ pm = "pm"
21
+ nm = "nm"
22
+ angstrom = "angstrom"
23
+ a_u_ = "a.u."
24
+ bohr = "bohr"
25
+ fractional = "fractional"
26
+ crystal = "crystal"
27
+ cartesian = "cartesian"
28
+ alat = "alat"
29
+
30
+
31
+ class AtomicRadius(BaseModel):
32
+ name: Optional[Name] = None
33
+ units: Optional[Units] = None
34
+ value: float
@@ -0,0 +1,19 @@
1
+ # generated by datamodel-codegen:
2
+ # filename: properties_directory/elemental/electronegativity.json
3
+ # version: 0.25.5
4
+
5
+ from __future__ import annotations
6
+
7
+ from enum import Enum
8
+ from typing import Optional
9
+
10
+ from pydantic import BaseModel
11
+
12
+
13
+ class Name(Enum):
14
+ electronegativity = "electronegativity"
15
+
16
+
17
+ class Electronegativity(BaseModel):
18
+ name: Optional[Name] = None
19
+ value: float