mat3ra-esse 2025.5.16.post0__py3-none-any.whl → 2025.5.16.post1__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 (67) hide show
  1. mat3ra/esse/data/examples.py +1 -1
  2. mat3ra/esse/data/schemas.py +1 -1
  3. mat3ra/esse/models/apse/file/applications/espresso/7.2/pw_x.py +8 -8
  4. mat3ra/esse/models/core/reusable/energy.py +2 -2
  5. mat3ra/esse/models/element.py +128 -10
  6. mat3ra/esse/models/enums/__init__.py +3 -0
  7. mat3ra/esse/models/enums/chemical_elements.py +13 -0
  8. mat3ra/esse/models/material/__init__.py +140 -14
  9. mat3ra/esse/models/material/builders/single_material/two_dimensional/slab/selector_parameters.py +128 -4
  10. mat3ra/esse/models/material/reusable/slab/enums/__init__.py +3 -0
  11. mat3ra/esse/models/material/reusable/slab/enums/exposed_face.py +13 -0
  12. mat3ra/esse/models/material/reusable/slab/number_of_layers.py +1 -1
  13. mat3ra/esse/models/material/reusable/slab/termination.py +129 -3
  14. mat3ra/esse/models/material/reusable/slab/vacuum.py +2 -2
  15. mat3ra/esse/models/materials_category/defects/__init__.py +3 -0
  16. mat3ra/esse/models/materials_category/defects/configuration.py +538 -0
  17. mat3ra/esse/models/materials_category/defects/enums/__init__.py +3 -0
  18. mat3ra/esse/models/materials_category/defects/enums/atom_placement_method.py +22 -0
  19. mat3ra/esse/models/materials_category/defects/enums/complex_defect_type.py +18 -0
  20. mat3ra/esse/models/materials_category/defects/enums/coordinates_shape.py +21 -0
  21. mat3ra/esse/models/materials_category/defects/enums/point_defect_type.py +13 -0
  22. mat3ra/esse/models/materials_category/defects/enums/slab_defect_type.py +19 -0
  23. mat3ra/esse/models/materials_category/defects/enums.py +13 -0
  24. mat3ra/esse/models/materials_category/defects/one_dimensional/terrace/__init__.py +3 -0
  25. mat3ra/esse/models/materials_category/defects/one_dimensional/terrace/configuration.py +425 -0
  26. mat3ra/esse/models/materials_category/defects/slab/__init__.py +3 -0
  27. mat3ra/esse/models/materials_category/defects/slab/configuration.py +412 -0
  28. mat3ra/esse/models/materials_category/defects/two_dimensional/island/__init__.py +3 -0
  29. mat3ra/esse/models/materials_category/defects/two_dimensional/island/configuration.py +449 -0
  30. mat3ra/esse/models/materials_category/defects/two_dimensional/slab_grain_boundary/__init__.py +3 -0
  31. mat3ra/esse/models/materials_category/defects/two_dimensional/slab_grain_boundary/configuration.py +1105 -0
  32. mat3ra/esse/models/materials_category/defects/zero_dimensional/adatom/__init__.py +3 -0
  33. mat3ra/esse/models/materials_category/defects/zero_dimensional/adatom/base_configuration.py +418 -0
  34. mat3ra/esse/models/materials_category/defects/zero_dimensional/adatom/configuration.py +418 -0
  35. mat3ra/esse/models/materials_category/defects/zero_dimensional/defect_pair/__init__.py +3 -0
  36. mat3ra/esse/models/materials_category/defects/zero_dimensional/defect_pair/configuration.py +1026 -0
  37. mat3ra/esse/models/materials_category/defects/zero_dimensional/point/__init__.py +3 -0
  38. mat3ra/esse/models/materials_category/defects/zero_dimensional/point/base_configuration.py +30 -0
  39. mat3ra/esse/models/materials_category/defects/zero_dimensional/point/configuration.py +672 -0
  40. mat3ra/esse/models/materials_category/defects/zero_dimensional/slab/__init__.py +3 -0
  41. mat3ra/esse/models/materials_category/defects/zero_dimensional/slab/configuration.py +434 -0
  42. mat3ra/esse/models/materials_category/single_material/two_dimensional/slab/configuration.py +142 -16
  43. mat3ra/esse/models/properties_directory/derived_properties.py +11 -11
  44. mat3ra/esse/models/properties_directory/non_scalar/density_of_states.py +2 -2
  45. mat3ra/esse/models/properties_directory/non_scalar/phonon_dispersions.py +2 -2
  46. mat3ra/esse/models/properties_directory/non_scalar/phonon_dos.py +2 -2
  47. mat3ra/esse/models/properties_directory/non_scalar/total_energy_contributions.py +50 -50
  48. mat3ra/esse/models/properties_directory/non_scalar/vibrational_spectrum.py +2 -2
  49. mat3ra/esse/models/properties_directory/scalar/electron_affinity.py +2 -2
  50. mat3ra/esse/models/properties_directory/scalar/fermi_energy.py +2 -2
  51. mat3ra/esse/models/properties_directory/scalar/formation_energy.py +2 -2
  52. mat3ra/esse/models/properties_directory/scalar/ionization_potential.py +2 -2
  53. mat3ra/esse/models/properties_directory/scalar/reaction_energy_barrier.py +2 -2
  54. mat3ra/esse/models/properties_directory/scalar/surface_energy.py +2 -2
  55. mat3ra/esse/models/properties_directory/scalar/total_energy.py +2 -2
  56. mat3ra/esse/models/properties_directory/scalar/valence_band_offset.py +2 -2
  57. mat3ra/esse/models/properties_directory/scalar/zero_point_energy.py +2 -2
  58. mat3ra/esse/models/properties_directory/structural/basis/__init__.py +128 -2
  59. mat3ra/esse/models/properties_directory/structural/basis/atomic_element.py +131 -2
  60. mat3ra/esse/models/properties_directory/structural/basis/atomic_elements.py +130 -3
  61. mat3ra/esse/models/properties_directory/structural/molecular_pattern.py +4 -4
  62. mat3ra/esse/models/properties_directory/workflow/convergence/ionic.py +2 -2
  63. {mat3ra_esse-2025.5.16.post0.dist-info → mat3ra_esse-2025.5.16.post1.dist-info}/METADATA +1 -1
  64. {mat3ra_esse-2025.5.16.post0.dist-info → mat3ra_esse-2025.5.16.post1.dist-info}/RECORD +67 -36
  65. {mat3ra_esse-2025.5.16.post0.dist-info → mat3ra_esse-2025.5.16.post1.dist-info}/WHEEL +0 -0
  66. {mat3ra_esse-2025.5.16.post0.dist-info → mat3ra_esse-2025.5.16.post1.dist-info}/licenses/LICENSE.md +0 -0
  67. {mat3ra_esse-2025.5.16.post0.dist-info → mat3ra_esse-2025.5.16.post1.dist-info}/top_level.txt +0 -0
@@ -24,30 +24,30 @@ class VolumeSchema(BaseModel):
24
24
  value: float
25
25
 
26
26
 
27
- class Name20(Enum):
27
+ class Name36(Enum):
28
28
  density = "density"
29
29
 
30
30
 
31
- class Units16(Enum):
31
+ class Units22(Enum):
32
32
  g_cm_3 = "g/cm^3"
33
33
 
34
34
 
35
35
  class DensitySchema(BaseModel):
36
36
  name: Literal["1#-datamodel-code-generator-#-object-#-special-#"]
37
- units: Optional[Units16] = None
37
+ units: Optional[Units22] = None
38
38
  value: float
39
39
 
40
40
 
41
- class Units17(Enum):
41
+ class Units23(Enum):
42
42
  angstrom = "angstrom"
43
43
 
44
44
 
45
45
  class ScalarSchema(BaseModel):
46
- units: Optional[Units17] = None
46
+ units: Optional[Units23] = None
47
47
  value: float
48
48
 
49
49
 
50
- class Name21(Enum):
50
+ class Name37(Enum):
51
51
  symmetry = "symmetry"
52
52
 
53
53
 
@@ -67,7 +67,7 @@ class SymmetrySchema(BaseModel):
67
67
  name: Literal["2#-datamodel-code-generator-#-object-#-special-#"]
68
68
 
69
69
 
70
- class Name22(Enum):
70
+ class Name38(Enum):
71
71
  elemental_ratio = "elemental_ratio"
72
72
 
73
73
 
@@ -80,7 +80,7 @@ class ElementalRatio(BaseModel):
80
80
  """
81
81
 
82
82
 
83
- class Name23(Enum):
83
+ class Name39(Enum):
84
84
  p_norm = "p-norm"
85
85
 
86
86
 
@@ -93,7 +93,7 @@ class PNorm(BaseModel):
93
93
  value: float
94
94
 
95
95
 
96
- class Name24(Enum):
96
+ class Name40(Enum):
97
97
  inchi = "inchi"
98
98
 
99
99
 
@@ -102,7 +102,7 @@ class InChIRepresentationSchema(BaseModel):
102
102
  value: str
103
103
 
104
104
 
105
- class Name25(Enum):
105
+ class Name41(Enum):
106
106
  inchi_key = "inchi_key"
107
107
 
108
108
 
@@ -135,5 +135,5 @@ class DerivedPropertiesSchema(
135
135
  ] = Field(..., discriminator="name")
136
136
 
137
137
 
138
- class DerivedPropertiesSchema1(RootModel[List[DerivedPropertiesSchema]]):
138
+ class DerivedPropertiesSchema3(RootModel[List[DerivedPropertiesSchema]]):
139
139
  root: List[DerivedPropertiesSchema] = Field(..., title="derived properties schema")
@@ -39,7 +39,7 @@ class Label7(Enum):
39
39
  density_of_states = "density of states"
40
40
 
41
41
 
42
- class Units14(Enum):
42
+ class Units20(Enum):
43
43
  states_unitcell = "states/unitcell"
44
44
 
45
45
 
@@ -48,7 +48,7 @@ class AxisSchema10(BaseModel):
48
48
  """
49
49
  label of an axis object
50
50
  """
51
- units: Optional[Units14] = None
51
+ units: Optional[Units20] = None
52
52
  """
53
53
  units for an axis
54
54
  """
@@ -34,7 +34,7 @@ class Label9(Enum):
34
34
  frequency = "frequency"
35
35
 
36
36
 
37
- class Units42(Enum):
37
+ class Units48(Enum):
38
38
  cm_1 = "cm-1"
39
39
  THz = "THz"
40
40
  meV = "meV"
@@ -45,7 +45,7 @@ class AxisSchema12(BaseModel):
45
45
  """
46
46
  label of an axis object
47
47
  """
48
- units: Optional[Units42] = None
48
+ units: Optional[Units48] = None
49
49
  """
50
50
  units for an axis
51
51
  """
@@ -35,7 +35,7 @@ class Label11(Enum):
35
35
  Phonon_DOS = "Phonon DOS"
36
36
 
37
37
 
38
- class Units44(Enum):
38
+ class Units50(Enum):
39
39
  states_cm_1 = "states/cm-1"
40
40
  states_THz = "states/THz"
41
41
  states_meV = "states/meV"
@@ -46,7 +46,7 @@ class AxisSchema14(BaseModel):
46
46
  """
47
47
  label of an axis object
48
48
  """
49
- units: Optional[Units44] = None
49
+ units: Optional[Units50] = None
50
50
  """
51
51
  units for an axis
52
52
  """
@@ -19,115 +19,115 @@ class ScalarSchema(BaseModel):
19
19
  value: float
20
20
 
21
21
 
22
- class Name82(Enum):
22
+ class Name98(Enum):
23
23
  harris_foulkes = "harris_foulkes"
24
24
 
25
25
 
26
- class ScalarSchema7(BaseModel):
27
- name: Optional[Name82] = None
26
+ class ScalarSchema9(BaseModel):
27
+ name: Optional[Name98] = None
28
28
  value: float
29
29
 
30
30
 
31
- class Name83(Enum):
31
+ class Name99(Enum):
32
32
  one_electron = "one_electron"
33
33
 
34
34
 
35
- class ScalarSchema8(BaseModel):
36
- name: Optional[Name83] = None
35
+ class ScalarSchema10(BaseModel):
36
+ name: Optional[Name99] = None
37
37
  value: float
38
38
 
39
39
 
40
- class Name84(Enum):
40
+ class Name100(Enum):
41
41
  hartree = "hartree"
42
42
 
43
43
 
44
- class ScalarSchema9(BaseModel):
45
- name: Optional[Name84] = None
44
+ class ScalarSchema11(BaseModel):
45
+ name: Optional[Name100] = None
46
46
  value: float
47
47
 
48
48
 
49
- class Name85(Enum):
49
+ class Name101(Enum):
50
50
  exchange = "exchange"
51
51
 
52
52
 
53
- class ScalarSchema10(BaseModel):
54
- name: Optional[Name85] = None
53
+ class ScalarSchema12(BaseModel):
54
+ name: Optional[Name101] = None
55
55
  value: float
56
56
 
57
57
 
58
- class Name86(Enum):
58
+ class Name102(Enum):
59
59
  exchange_correlation = "exchange_correlation"
60
60
 
61
61
 
62
- class ScalarSchema11(BaseModel):
63
- name: Optional[Name86] = None
62
+ class ScalarSchema13(BaseModel):
63
+ name: Optional[Name102] = None
64
64
  value: float
65
65
 
66
66
 
67
- class Name87(Enum):
67
+ class Name103(Enum):
68
68
  ewald = "ewald"
69
69
 
70
70
 
71
- class ScalarSchema12(BaseModel):
72
- name: Optional[Name87] = None
71
+ class ScalarSchema14(BaseModel):
72
+ name: Optional[Name103] = None
73
73
  value: float
74
74
 
75
75
 
76
- class Name88(Enum):
76
+ class Name104(Enum):
77
77
  alphaZ = "alphaZ"
78
78
 
79
79
 
80
- class ScalarSchema13(BaseModel):
81
- name: Optional[Name88] = None
80
+ class ScalarSchema15(BaseModel):
81
+ name: Optional[Name104] = None
82
82
  value: float
83
83
 
84
84
 
85
- class Name89(Enum):
85
+ class Name105(Enum):
86
86
  atomic_energy = "atomic_energy"
87
87
 
88
88
 
89
- class ScalarSchema14(BaseModel):
90
- name: Optional[Name89] = None
89
+ class ScalarSchema16(BaseModel):
90
+ name: Optional[Name105] = None
91
91
  value: float
92
92
 
93
93
 
94
- class Name90(Enum):
94
+ class Name106(Enum):
95
95
  eigenvalues = "eigenvalues"
96
96
 
97
97
 
98
- class ScalarSchema15(BaseModel):
99
- name: Optional[Name90] = None
98
+ class ScalarSchema17(BaseModel):
99
+ name: Optional[Name106] = None
100
100
  value: float
101
101
 
102
102
 
103
- class Name91(Enum):
103
+ class Name107(Enum):
104
104
  PAW_double_counting_correction_2 = "PAW_double-counting_correction_2"
105
105
 
106
106
 
107
- class ScalarSchema16(BaseModel):
108
- name: Optional[Name91] = None
107
+ class ScalarSchema18(BaseModel):
108
+ name: Optional[Name107] = None
109
109
  value: float
110
110
 
111
111
 
112
- class Name92(Enum):
112
+ class Name108(Enum):
113
113
  PAW_double_counting_correction_3 = "PAW_double-counting_correction_3"
114
114
 
115
115
 
116
- class ScalarSchema17(BaseModel):
117
- name: Optional[Name92] = None
116
+ class ScalarSchema19(BaseModel):
117
+ name: Optional[Name108] = None
118
118
  value: float
119
119
 
120
120
 
121
- class Name93(Enum):
121
+ class Name109(Enum):
122
122
  hartree_fock = "hartree_fock"
123
123
 
124
124
 
125
- class ScalarSchema18(BaseModel):
126
- name: Optional[Name93] = None
125
+ class ScalarSchema20(BaseModel):
126
+ name: Optional[Name109] = None
127
127
  value: float
128
128
 
129
129
 
130
- class Name94(Enum):
130
+ class Name110(Enum):
131
131
  total_energy_contributions = "total_energy_contributions"
132
132
 
133
133
 
@@ -146,53 +146,53 @@ class TotalEnergyContributionsSchema(BaseModel):
146
146
  """
147
147
  product of temperature and configurational entropy
148
148
  """
149
- harrisFoulkes: Optional[ScalarSchema7] = Field(None, title="scalar schema")
149
+ harrisFoulkes: Optional[ScalarSchema9] = Field(None, title="scalar schema")
150
150
  """
151
151
  non self-consitent energy based on an input charge density
152
152
  """
153
- oneElectron: Optional[ScalarSchema8] = Field(None, title="scalar schema")
153
+ oneElectron: Optional[ScalarSchema10] = Field(None, title="scalar schema")
154
154
  """
155
155
  kinetic + pseudopotential energy
156
156
  """
157
- hartree: Optional[ScalarSchema9] = Field(None, title="scalar schema")
157
+ hartree: Optional[ScalarSchema11] = Field(None, title="scalar schema")
158
158
  """
159
159
  energy due to coulomb potential
160
160
  """
161
- exchange: Optional[ScalarSchema10] = Field(None, title="scalar schema")
161
+ exchange: Optional[ScalarSchema12] = Field(None, title="scalar schema")
162
162
  """
163
163
  exchange energy
164
164
  """
165
- exchangeCorrelation: Optional[ScalarSchema11] = Field(None, title="scalar schema")
165
+ exchangeCorrelation: Optional[ScalarSchema13] = Field(None, title="scalar schema")
166
166
  """
167
167
  exchange and correlation energy per particle
168
168
  """
169
- ewald: Optional[ScalarSchema12] = Field(None, title="scalar schema")
169
+ ewald: Optional[ScalarSchema14] = Field(None, title="scalar schema")
170
170
  """
171
171
  summation of interaction energies at long length scales due to coloumbic interactions
172
172
  """
173
- alphaZ: Optional[ScalarSchema13] = Field(None, title="scalar schema")
173
+ alphaZ: Optional[ScalarSchema15] = Field(None, title="scalar schema")
174
174
  """
175
175
  divergent electrostatic ion interaction in compensating electron gas
176
176
  """
177
- atomicEnergy: Optional[ScalarSchema14] = Field(None, title="scalar schema")
177
+ atomicEnergy: Optional[ScalarSchema16] = Field(None, title="scalar schema")
178
178
  """
179
179
  kinetic energy of wavefunctions in the atomic limit
180
180
  """
181
- eigenvalues: Optional[ScalarSchema15] = Field(None, title="scalar schema")
181
+ eigenvalues: Optional[ScalarSchema17] = Field(None, title="scalar schema")
182
182
  """
183
183
  sum of one electron energies of kinetic, electrostatic, and exchange correlation
184
184
  """
185
- PAWDoubleCounting2: Optional[ScalarSchema16] = Field(None, title="scalar schema")
185
+ PAWDoubleCounting2: Optional[ScalarSchema18] = Field(None, title="scalar schema")
186
186
  """
187
187
  double counting correction 2
188
188
  """
189
- PAWDoubleCounting3: Optional[ScalarSchema17] = Field(None, title="scalar schema")
189
+ PAWDoubleCounting3: Optional[ScalarSchema19] = Field(None, title="scalar schema")
190
190
  """
191
191
  double counting correction 3
192
192
  """
193
- hartreeFock: Optional[ScalarSchema18] = Field(None, title="scalar schema")
193
+ hartreeFock: Optional[ScalarSchema20] = Field(None, title="scalar schema")
194
194
  """
195
195
  hartree-fock contribution
196
196
  """
197
- name: Optional[Name94] = None
197
+ name: Optional[Name110] = None
198
198
  units: Optional[Units] = None
@@ -38,7 +38,7 @@ class Label17(Enum):
38
38
  Absorption_coefficient = "Absorption coefficient"
39
39
 
40
40
 
41
- class Units61(Enum):
41
+ class Units67(Enum):
42
42
  field_debye_angstrom__2 = "(debye/angstrom)^2"
43
43
  km_mol = "km/mol"
44
44
  m_mol = "m/mol"
@@ -50,7 +50,7 @@ class AxisSchema20(BaseModel):
50
50
  """
51
51
  label of an axis object
52
52
  """
53
- units: Optional[Units61] = None
53
+ units: Optional[Units67] = None
54
54
  """
55
55
  units for an axis
56
56
  """
@@ -24,11 +24,11 @@ class Units(Enum):
24
24
  eV_atom = "eV/atom"
25
25
 
26
26
 
27
- class Units19(Enum):
27
+ class Units25(Enum):
28
28
  eV_A_2 = "eV/A^2"
29
29
 
30
30
 
31
31
  class ElectronAffinitySchema(BaseModel):
32
32
  name: Name
33
- units: Union[Units, Units19]
33
+ units: Union[Units, Units25]
34
34
  value: float
@@ -24,11 +24,11 @@ class Units(Enum):
24
24
  eV_atom = "eV/atom"
25
25
 
26
26
 
27
- class Units26(Enum):
27
+ class Units32(Enum):
28
28
  eV_A_2 = "eV/A^2"
29
29
 
30
30
 
31
31
  class FermiEnergySchema(BaseModel):
32
32
  name: Name
33
- units: Union[Units, Units26]
33
+ units: Union[Units, Units32]
34
34
  value: float
@@ -24,11 +24,11 @@ class Units(Enum):
24
24
  eV_atom = "eV/atom"
25
25
 
26
26
 
27
- class Units28(Enum):
27
+ class Units34(Enum):
28
28
  eV_A_2 = "eV/A^2"
29
29
 
30
30
 
31
31
  class FormationEnergySchema(BaseModel):
32
32
  name: Name
33
- units: Union[Units, Units28]
33
+ units: Union[Units, Units34]
34
34
  value: float
@@ -24,11 +24,11 @@ class Units(Enum):
24
24
  eV_atom = "eV/atom"
25
25
 
26
26
 
27
- class Units36(Enum):
27
+ class Units42(Enum):
28
28
  eV_A_2 = "eV/A^2"
29
29
 
30
30
 
31
31
  class IonizationPotentialSchema(BaseModel):
32
32
  name: Name
33
- units: Union[Units, Units36]
33
+ units: Union[Units, Units42]
34
34
  value: float
@@ -24,11 +24,11 @@ class Units(Enum):
24
24
  eV_atom = "eV/atom"
25
25
 
26
26
 
27
- class Units48(Enum):
27
+ class Units54(Enum):
28
28
  eV_A_2 = "eV/A^2"
29
29
 
30
30
 
31
31
  class ReactionEnergyBarrierSchema(BaseModel):
32
32
  name: Name
33
- units: Union[Units, Units48]
33
+ units: Union[Units, Units54]
34
34
  value: float
@@ -24,11 +24,11 @@ class Units(Enum):
24
24
  eV_atom = "eV/atom"
25
25
 
26
26
 
27
- class Units52(Enum):
27
+ class Units58(Enum):
28
28
  eV_A_2 = "eV/A^2"
29
29
 
30
30
 
31
31
  class SurfaceEnergySchema(BaseModel):
32
32
  name: Name
33
- units: Union[Units, Units52]
33
+ units: Union[Units, Units58]
34
34
  value: float
@@ -24,11 +24,11 @@ class Units(Enum):
24
24
  eV_atom = "eV/atom"
25
25
 
26
26
 
27
- class Units55(Enum):
27
+ class Units61(Enum):
28
28
  eV_A_2 = "eV/A^2"
29
29
 
30
30
 
31
31
  class TotalEnergySchema(BaseModel):
32
32
  name: Name
33
- units: Union[Units, Units55]
33
+ units: Union[Units, Units61]
34
34
  value: float
@@ -24,11 +24,11 @@ class Units(Enum):
24
24
  eV_atom = "eV/atom"
25
25
 
26
26
 
27
- class Units59(Enum):
27
+ class Units65(Enum):
28
28
  eV_A_2 = "eV/A^2"
29
29
 
30
30
 
31
31
  class ValenceBandOffsetSchema(BaseModel):
32
32
  name: Name
33
- units: Union[Units, Units59]
33
+ units: Union[Units, Units65]
34
34
  value: float
@@ -24,11 +24,11 @@ class Units(Enum):
24
24
  eV_atom = "eV/atom"
25
25
 
26
26
 
27
- class Units64(Enum):
27
+ class Units70(Enum):
28
28
  eV_A_2 = "eV/A^2"
29
29
 
30
30
 
31
31
  class ZeroPointEnergySchema(BaseModel):
32
32
  name: Name
33
- units: Union[Units, Units64]
33
+ units: Union[Units, Units70]
34
34
  value: float
@@ -10,10 +10,136 @@ from typing import List, Optional, Union
10
10
  from pydantic import BaseModel, Field, conint
11
11
 
12
12
 
13
+ class Value(Enum):
14
+ H = "H"
15
+ He = "He"
16
+ Li = "Li"
17
+ Be = "Be"
18
+ B = "B"
19
+ C = "C"
20
+ N = "N"
21
+ O = "O"
22
+ F = "F"
23
+ Ne = "Ne"
24
+ Na = "Na"
25
+ Mg = "Mg"
26
+ Al = "Al"
27
+ Si = "Si"
28
+ P = "P"
29
+ S = "S"
30
+ Cl = "Cl"
31
+ Ar = "Ar"
32
+ K = "K"
33
+ Ca = "Ca"
34
+ Sc = "Sc"
35
+ Ti = "Ti"
36
+ V = "V"
37
+ Cr = "Cr"
38
+ Mn = "Mn"
39
+ Fe = "Fe"
40
+ Co = "Co"
41
+ Ni = "Ni"
42
+ Cu = "Cu"
43
+ Zn = "Zn"
44
+ Ga = "Ga"
45
+ Ge = "Ge"
46
+ As = "As"
47
+ Se = "Se"
48
+ Br = "Br"
49
+ Kr = "Kr"
50
+ Rb = "Rb"
51
+ Sr = "Sr"
52
+ Y = "Y"
53
+ Zr = "Zr"
54
+ Nb = "Nb"
55
+ Mo = "Mo"
56
+ Tc = "Tc"
57
+ Ru = "Ru"
58
+ Rh = "Rh"
59
+ Pd = "Pd"
60
+ Ag = "Ag"
61
+ Cd = "Cd"
62
+ In = "In"
63
+ Sn = "Sn"
64
+ Sb = "Sb"
65
+ Te = "Te"
66
+ I = "I"
67
+ Xe = "Xe"
68
+ Cs = "Cs"
69
+ Ba = "Ba"
70
+ La = "La"
71
+ Ce = "Ce"
72
+ Pr = "Pr"
73
+ Nd = "Nd"
74
+ Pm = "Pm"
75
+ Sm = "Sm"
76
+ Eu = "Eu"
77
+ Gd = "Gd"
78
+ Tb = "Tb"
79
+ Dy = "Dy"
80
+ Ho = "Ho"
81
+ Er = "Er"
82
+ Tm = "Tm"
83
+ Yb = "Yb"
84
+ Lu = "Lu"
85
+ Hf = "Hf"
86
+ Ta = "Ta"
87
+ W = "W"
88
+ Re = "Re"
89
+ Os = "Os"
90
+ Ir = "Ir"
91
+ Pt = "Pt"
92
+ Au = "Au"
93
+ Hg = "Hg"
94
+ Tl = "Tl"
95
+ Pb = "Pb"
96
+ Bi = "Bi"
97
+ Po = "Po"
98
+ At = "At"
99
+ Rn = "Rn"
100
+ Fr = "Fr"
101
+ Ra = "Ra"
102
+ Ac = "Ac"
103
+ Th = "Th"
104
+ Pa = "Pa"
105
+ U = "U"
106
+ Np = "Np"
107
+ Pu = "Pu"
108
+ Am = "Am"
109
+ Cm = "Cm"
110
+ Bk = "Bk"
111
+ Cf = "Cf"
112
+ Es = "Es"
113
+ Fm = "Fm"
114
+ Md = "Md"
115
+ No = "No"
116
+ Lr = "Lr"
117
+ Rf = "Rf"
118
+ Db = "Db"
119
+ Sg = "Sg"
120
+ Bh = "Bh"
121
+ Hs = "Hs"
122
+ Mt = "Mt"
123
+ Ds = "Ds"
124
+ Rg = "Rg"
125
+ Cn = "Cn"
126
+ Nh = "Nh"
127
+ Fl = "Fl"
128
+ Mc = "Mc"
129
+ Lv = "Lv"
130
+ Ts = "Ts"
131
+ Og = "Og"
132
+
133
+
134
+ class Value7(Enum):
135
+ X = "X"
136
+ Vac = "Vac"
137
+
138
+
13
139
  class AtomicElementSchema(BaseModel):
14
- value: str
140
+ value: Union[Value, Value7]
15
141
  """
16
- value of this entry
142
+ All elements, including extra elements
17
143
  """
18
144
  id: int
19
145
  """