mat3ra-esse 2025.5.17.post2__py3-none-any.whl → 2025.6.14.post0__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 (78) 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 +6 -6
  4. mat3ra/esse/models/apse/materials/builders/slab/pymatgen/parameters.py +3 -3
  5. mat3ra/esse/models/core/primitive/array_of_3_integers.py +13 -0
  6. mat3ra/esse/models/core/reusable/coordinate_conditions/__init__.py +29 -1
  7. mat3ra/esse/models/core/reusable/energy.py +2 -2
  8. mat3ra/esse/models/element.py +6 -6
  9. mat3ra/esse/models/material/__init__.py +14 -14
  10. mat3ra/esse/models/material/builders/single_material/two_dimensional/slab/selector_parameters.py +1 -1
  11. mat3ra/esse/models/material/reusable/slab/termination.py +1 -1
  12. mat3ra/esse/models/material/reusable/slab_configuration_with_termination.py +1 -1
  13. mat3ra/esse/models/material/reusable/stack/slab_in_stack.py +1 -1
  14. mat3ra/esse/models/materials_category/defects/two_dimensional/grain_boundary_plane/configuration.py +2 -2
  15. mat3ra/esse/models/materials_category/multi_material/interfaces/configuration.py +1 -1
  16. mat3ra/esse/models/materials_category/pristine_structures/three_dimensional/__init__.py +3 -0
  17. mat3ra/esse/models/materials_category/pristine_structures/three_dimensional/ideal_crystal.py +530 -0
  18. mat3ra/esse/models/materials_category/pristine_structures/two_dimensional/__init__.py +3 -0
  19. mat3ra/esse/models/materials_category/pristine_structures/two_dimensional/slab.py +1143 -0
  20. mat3ra/esse/models/materials_category_components/entities/auxiliary/three_dimensional/__init__.py +3 -0
  21. mat3ra/esse/models/materials_category_components/entities/auxiliary/three_dimensional/supercell_matrix_3d.py +27 -0
  22. mat3ra/esse/models/materials_category_components/entities/auxiliary/two_dimensional/__init__.py +3 -0
  23. mat3ra/esse/models/materials_category_components/entities/auxiliary/two_dimensional/miller_indices.py +16 -0
  24. mat3ra/esse/models/materials_category_components/entities/auxiliary/two_dimensional/supercell_matrix_2d.py +25 -0
  25. mat3ra/esse/models/materials_category_components/entities/auxiliary/two_dimensional/termination.py +144 -0
  26. mat3ra/esse/models/materials_category_components/entities/auxiliary/zero_dimensional/__init__.py +3 -0
  27. mat3ra/esse/models/materials_category_components/entities/auxiliary/zero_dimensional/crystal_site.py +13 -0
  28. mat3ra/esse/models/materials_category_components/entities/core/three_dimensional/__init__.py +3 -0
  29. mat3ra/esse/models/materials_category_components/entities/core/three_dimensional/crystal.py +530 -0
  30. mat3ra/esse/models/materials_category_components/entities/core/three_dimensional/void.py +32 -0
  31. mat3ra/esse/models/materials_category_components/entities/core/two_dimensional/__init__.py +3 -0
  32. mat3ra/esse/models/materials_category_components/entities/core/two_dimensional/vacuum.py +551 -0
  33. mat3ra/esse/models/materials_category_components/entities/core/zero_dimensional/__init__.py +3 -0
  34. mat3ra/esse/models/materials_category_components/entities/core/zero_dimensional/atom.py +134 -0
  35. mat3ra/esse/models/materials_category_components/entities/reusable/__init__.py +3 -0
  36. mat3ra/esse/models/materials_category_components/entities/reusable/repetitions.py +25 -0
  37. mat3ra/esse/models/materials_category_components/entities/reusable/three_dimensional/__init__.py +3 -0
  38. mat3ra/esse/models/materials_category_components/entities/reusable/three_dimensional/strained_non_uniform.py +544 -0
  39. mat3ra/esse/models/materials_category_components/entities/reusable/three_dimensional/strained_uniform.py +541 -0
  40. mat3ra/esse/models/materials_category_components/entities/reusable/three_dimensional/supercell.py +542 -0
  41. mat3ra/esse/models/materials_category_components/entities/reusable/two_dimensional/__init__.py +3 -0
  42. mat3ra/esse/models/materials_category_components/entities/reusable/two_dimensional/atomic_layers.py +683 -0
  43. mat3ra/esse/models/materials_category_components/entities/reusable/two_dimensional/atomic_layers_unique.py +683 -0
  44. mat3ra/esse/models/materials_category_components/entities/reusable/two_dimensional/atomic_layers_unique_repeated.py +687 -0
  45. mat3ra/esse/models/materials_category_components/entities/reusable/two_dimensional/crystal_lattice_planes.py +545 -0
  46. mat3ra/esse/models/materials_category_components/entities/reusable/two_dimensional/slab_unit_cell.py +1130 -0
  47. mat3ra/esse/models/materials_category_components/operations/core/combinations/__init__.py +3 -0
  48. mat3ra/esse/models/materials_category_components/operations/core/combinations/merge.py +996 -0
  49. mat3ra/esse/models/materials_category_components/operations/core/combinations/stack.py +968 -0
  50. mat3ra/esse/models/materials_category_components/operations/core/combinations/stack_component.py +967 -0
  51. mat3ra/esse/models/materials_category_components/operations/core/modifications/__init__.py +3 -0
  52. mat3ra/esse/models/materials_category_components/operations/core/modifications/repeat.py +27 -0
  53. mat3ra/esse/models/materials_category_components/operations/core/modifications/strain.py +19 -0
  54. mat3ra/esse/models/properties_directory/derived_properties.py +11 -11
  55. mat3ra/esse/models/properties_directory/non_scalar/average_potential_profile.py +2 -2
  56. mat3ra/esse/models/properties_directory/non_scalar/band_structure.py +2 -2
  57. mat3ra/esse/models/properties_directory/non_scalar/density_of_states.py +2 -2
  58. mat3ra/esse/models/properties_directory/non_scalar/phonon_dispersions.py +2 -2
  59. mat3ra/esse/models/properties_directory/non_scalar/phonon_dos.py +2 -2
  60. mat3ra/esse/models/properties_directory/non_scalar/total_energy_contributions.py +50 -50
  61. mat3ra/esse/models/properties_directory/non_scalar/vibrational_spectrum.py +2 -2
  62. mat3ra/esse/models/properties_directory/scalar/electron_affinity.py +2 -2
  63. mat3ra/esse/models/properties_directory/scalar/fermi_energy.py +2 -2
  64. mat3ra/esse/models/properties_directory/scalar/formation_energy.py +2 -2
  65. mat3ra/esse/models/properties_directory/scalar/ionization_potential.py +2 -2
  66. mat3ra/esse/models/properties_directory/scalar/reaction_energy_barrier.py +2 -2
  67. mat3ra/esse/models/properties_directory/scalar/surface_energy.py +2 -2
  68. mat3ra/esse/models/properties_directory/scalar/total_energy.py +2 -2
  69. mat3ra/esse/models/properties_directory/scalar/valence_band_offset.py +2 -2
  70. mat3ra/esse/models/properties_directory/scalar/zero_point_energy.py +2 -2
  71. mat3ra/esse/models/properties_directory/structural/basis/__init__.py +2 -2
  72. mat3ra/esse/models/properties_directory/structural/molecular_pattern.py +4 -4
  73. mat3ra/esse/models/properties_directory/workflow/convergence/ionic.py +2 -2
  74. {mat3ra_esse-2025.5.17.post2.dist-info → mat3ra_esse-2025.6.14.post0.dist-info}/METADATA +1 -1
  75. {mat3ra_esse-2025.5.17.post2.dist-info → mat3ra_esse-2025.6.14.post0.dist-info}/RECORD +78 -39
  76. {mat3ra_esse-2025.5.17.post2.dist-info → mat3ra_esse-2025.6.14.post0.dist-info}/WHEEL +1 -1
  77. {mat3ra_esse-2025.5.17.post2.dist-info → mat3ra_esse-2025.6.14.post0.dist-info}/licenses/LICENSE.md +0 -0
  78. {mat3ra_esse-2025.5.17.post2.dist-info → mat3ra_esse-2025.6.14.post0.dist-info}/top_level.txt +0 -0
@@ -1663,7 +1663,7 @@ class CardOption(Enum):
1663
1663
  crystal_sg = "crystal_sg"
1664
1664
 
1665
1665
 
1666
- class Value47(BaseModel):
1666
+ class Value29(BaseModel):
1667
1667
  model_config = ConfigDict(
1668
1668
  extra="forbid",
1669
1669
  )
@@ -1693,7 +1693,7 @@ class AtomicPositionsSchema(BaseModel):
1693
1693
  extra="forbid",
1694
1694
  )
1695
1695
  card_option: Optional[CardOption] = "alat"
1696
- values: Optional[List[Value47]] = None
1696
+ values: Optional[List[Value29]] = None
1697
1697
 
1698
1698
 
1699
1699
  class CardOption5(Enum):
@@ -1707,7 +1707,7 @@ class CardOption5(Enum):
1707
1707
  crystal_c = "crystal_c"
1708
1708
 
1709
1709
 
1710
- class Value48(BaseModel):
1710
+ class Value30(BaseModel):
1711
1711
  model_config = ConfigDict(
1712
1712
  extra="forbid",
1713
1713
  )
@@ -1756,7 +1756,7 @@ class KPointsSchema(BaseModel):
1756
1756
  extra="forbid",
1757
1757
  )
1758
1758
  card_option: Optional[CardOption5] = None
1759
- values: Optional[Union[List[Value48], Values]] = None
1759
+ values: Optional[Union[List[Value30], Values]] = None
1760
1760
 
1761
1761
 
1762
1762
  class CardOption6(Enum):
@@ -1853,7 +1853,7 @@ class ParamType(Enum):
1853
1853
  E3 = "E3"
1854
1854
 
1855
1855
 
1856
- class Value49(BaseModel):
1856
+ class Value31(BaseModel):
1857
1857
  model_config = ConfigDict(
1858
1858
  extra="forbid",
1859
1859
  )
@@ -1967,7 +1967,7 @@ class HubbardSchema(BaseModel):
1967
1967
  )
1968
1968
  card_option: Optional[CardOption7] = None
1969
1969
  values: Optional[
1970
- Union[List[Union[Values9, Values10]], List[Value49], List[Union[Values11, Values12, Values13]]]
1970
+ Union[List[Union[Values9, Values10]], List[Value31], List[Union[Values11, Values12, Values13]]]
1971
1971
  ] = None
1972
1972
 
1973
1973
 
@@ -10,17 +10,17 @@ from pydantic import BaseModel, confloat, conint
10
10
 
11
11
 
12
12
  class PymatgenSlabGeneratorParametersSchema(BaseModel):
13
- min_vacuum_size: Optional[Union[conint(ge=0), confloat(ge=0.0)]] = 1
13
+ min_vacuum_size: Optional[Union[conint(ge=0), confloat(ge=0.0)]] = 0
14
14
  """
15
15
  Minimum size of the vacuum in layers or angstroms
16
16
  """
17
17
  in_unit_planes: Optional[bool] = True
18
18
  """
19
- Whether to cleave in unit planes
19
+ Whether to use unit planes for the vacuum and slab size
20
20
  """
21
21
  reorient_lattice: Optional[bool] = True
22
22
  """
23
- Whether to reorient the lattice
23
+ Whether to reorient the lattice to have c vector along the z-axis
24
24
  """
25
25
  symmetrize: Optional[bool] = True
26
26
  """
@@ -0,0 +1,13 @@
1
+ # generated by datamodel-codegen:
2
+ # filename: core/primitive/array_of_3_integers.json
3
+ # version: 0.28.5
4
+
5
+ from __future__ import annotations
6
+
7
+ from typing import List
8
+
9
+ from pydantic import Field, RootModel
10
+
11
+
12
+ class ArrayOf3IntegerElementsSchema(RootModel[List[int]]):
13
+ root: List[int] = Field(..., max_length=3, min_length=3, title="array of 3 integer elements schema")
@@ -1,3 +1,31 @@
1
1
  # generated by datamodel-codegen:
2
- # filename: schema
2
+ # filename: core/reusable/coordinate_conditions.json
3
3
  # version: 0.28.5
4
+
5
+ from __future__ import annotations
6
+
7
+ from enum import Enum
8
+ from typing import List, Literal
9
+
10
+ from pydantic import BaseModel, Field, RootModel
11
+
12
+
13
+ class CoordinateShapeEnum(Enum):
14
+ cylinder = "cylinder"
15
+ sphere = "sphere"
16
+ box = "box"
17
+ triangular_prism = "triangular_prism"
18
+ plane = "plane"
19
+
20
+
21
+ class BoxCoordinateConditionSchema(BaseModel):
22
+ shape: Literal["box"] = Field(..., title="Coordinate Shape Enum")
23
+ min_coordinate: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema")
24
+ max_coordinate: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema")
25
+
26
+
27
+ class ESSE(RootModel[BoxCoordinateConditionSchema]):
28
+ root: BoxCoordinateConditionSchema = Field(..., title="Coordinate Conditions Schema")
29
+ """
30
+ Combined schema for all coordinate condition types
31
+ """
@@ -20,11 +20,11 @@ class Units(Enum):
20
20
  eV_atom = "eV/atom"
21
21
 
22
22
 
23
- class Units72(Enum):
23
+ class Units36(Enum):
24
24
  eV_A_2 = "eV/A^2"
25
25
 
26
26
 
27
27
  class EnergySchema(BaseModel):
28
28
  name: str
29
- units: Union[Units, Units72]
29
+ units: Union[Units, Units36]
30
30
  value: float
@@ -154,20 +154,20 @@ class AtomicRadius(BaseModel):
154
154
  value: float
155
155
 
156
156
 
157
- class Name159(Enum):
157
+ class Name63(Enum):
158
158
  electronegativity = "electronegativity"
159
159
 
160
160
 
161
161
  class Electronegativity(BaseModel):
162
- name: Optional[Name159] = None
162
+ name: Optional[Name63] = None
163
163
  value: float
164
164
 
165
165
 
166
- class Name160(Enum):
166
+ class Name64(Enum):
167
167
  ionization_potential = "ionization_potential"
168
168
 
169
169
 
170
- class Units70(Enum):
170
+ class Units34(Enum):
171
171
  kJ_mol = "kJ/mol"
172
172
  eV = "eV"
173
173
  J_mol = "J/mol"
@@ -178,8 +178,8 @@ class Units70(Enum):
178
178
 
179
179
 
180
180
  class IonizationPotential(BaseModel):
181
- name: Optional[Name160] = None
182
- units: Optional[Units70] = None
181
+ name: Optional[Name64] = None
182
+ units: Optional[Units34] = None
183
183
  value: float
184
184
 
185
185
 
@@ -131,13 +131,13 @@ class Value(Enum):
131
131
  Og = "Og"
132
132
 
133
133
 
134
- class Value45(Enum):
134
+ class Value23(Enum):
135
135
  X = "X"
136
136
  Vac = "Vac"
137
137
 
138
138
 
139
139
  class AtomicElementSchema(BaseModel):
140
- value: Union[Value, Value45]
140
+ value: Union[Value, Value23]
141
141
  """
142
142
  All elements, including extra elements
143
143
  """
@@ -285,30 +285,30 @@ class VolumeSchema(BaseModel):
285
285
  value: float
286
286
 
287
287
 
288
- class Name181(Enum):
288
+ class Name93(Enum):
289
289
  density = "density"
290
290
 
291
291
 
292
- class Units87(Enum):
292
+ class Units54(Enum):
293
293
  g_cm_3 = "g/cm^3"
294
294
 
295
295
 
296
296
  class DensitySchema(BaseModel):
297
297
  name: Literal["1#-datamodel-code-generator-#-object-#-special-#"]
298
- units: Optional[Units87] = None
298
+ units: Optional[Units54] = None
299
299
  value: float
300
300
 
301
301
 
302
- class Units88(Enum):
302
+ class Units55(Enum):
303
303
  angstrom = "angstrom"
304
304
 
305
305
 
306
306
  class ScalarSchema(BaseModel):
307
- units: Optional[Units88] = None
307
+ units: Optional[Units55] = None
308
308
  value: float
309
309
 
310
310
 
311
- class Name182(Enum):
311
+ class Name94(Enum):
312
312
  symmetry = "symmetry"
313
313
 
314
314
 
@@ -328,7 +328,7 @@ class SymmetrySchema(BaseModel):
328
328
  name: Literal["2#-datamodel-code-generator-#-object-#-special-#"]
329
329
 
330
330
 
331
- class Name183(Enum):
331
+ class Name95(Enum):
332
332
  elemental_ratio = "elemental_ratio"
333
333
 
334
334
 
@@ -341,7 +341,7 @@ class ElementalRatio(BaseModel):
341
341
  """
342
342
 
343
343
 
344
- class Name184(Enum):
344
+ class Name96(Enum):
345
345
  p_norm = "p-norm"
346
346
 
347
347
 
@@ -354,7 +354,7 @@ class PNorm(BaseModel):
354
354
  value: float
355
355
 
356
356
 
357
- class Name185(Enum):
357
+ class Name97(Enum):
358
358
  inchi = "inchi"
359
359
 
360
360
 
@@ -363,7 +363,7 @@ class InChIRepresentationSchema(BaseModel):
363
363
  value: str
364
364
 
365
365
 
366
- class Name186(Enum):
366
+ class Name98(Enum):
367
367
  inchi_key = "inchi_key"
368
368
 
369
369
 
@@ -442,7 +442,7 @@ class FileSourceSchema(BaseModel):
442
442
  """
443
443
 
444
444
 
445
- class Name187(Enum):
445
+ class Name99(Enum):
446
446
  default = "default"
447
447
  atomsTooClose = "atomsTooClose"
448
448
  atomsOverlap = "atomsOverlap"
@@ -455,7 +455,7 @@ class Severity(Enum):
455
455
 
456
456
 
457
457
  class MaterialConsistencyCheckSchema(BaseModel):
458
- name: Name187
458
+ name: Name99
459
459
  """
460
460
  Name of the consistency check that is performed, which is listed in an enum.
461
461
  """
@@ -132,7 +132,7 @@ class ChemicalElements(Enum):
132
132
 
133
133
 
134
134
  class TerminationSchema(BaseModel):
135
- chemical_elements: Union[ChemicalElements, constr(pattern=r"^[A-Z][a-z]?([A-Z][a-z]?)*$")] = Field(
135
+ chemical_elements: Union[ChemicalElements, constr(pattern=r"^([A-Z][a-z]?[0-9]*)+$")] = Field(
136
136
  ..., title="Chemical Elements"
137
137
  )
138
138
  """
@@ -132,7 +132,7 @@ class ChemicalElements(Enum):
132
132
 
133
133
 
134
134
  class TerminationSchema(BaseModel):
135
- chemical_elements: Union[ChemicalElements, constr(pattern=r"^[A-Z][a-z]?([A-Z][a-z]?)*$")] = Field(
135
+ chemical_elements: Union[ChemicalElements, constr(pattern=r"^([A-Z][a-z]?[0-9]*)+$")] = Field(
136
136
  ..., title="Chemical Elements"
137
137
  )
138
138
  """
@@ -689,7 +689,7 @@ class ChemicalElements(Enum):
689
689
 
690
690
 
691
691
  class TerminationSchema(BaseModel):
692
- chemical_elements: Union[ChemicalElements, constr(pattern=r"^[A-Z][a-z]?([A-Z][a-z]?)*$")] = Field(
692
+ chemical_elements: Union[ChemicalElements, constr(pattern=r"^([A-Z][a-z]?[0-9]*)+$")] = Field(
693
693
  ..., title="Chemical Elements"
694
694
  )
695
695
  """
@@ -689,7 +689,7 @@ class ChemicalElements(Enum):
689
689
 
690
690
 
691
691
  class TerminationSchema(BaseModel):
692
- chemical_elements: Union[ChemicalElements, constr(pattern=r"^[A-Z][a-z]?([A-Z][a-z]?)*$")] = Field(
692
+ chemical_elements: Union[ChemicalElements, constr(pattern=r"^([A-Z][a-z]?[0-9]*)+$")] = Field(
693
693
  ..., title="Chemical Elements"
694
694
  )
695
695
  """
@@ -695,7 +695,7 @@ class ChemicalElements(Enum):
695
695
 
696
696
 
697
697
  class TerminationSchema(BaseModel):
698
- chemical_elements: Union[ChemicalElements, constr(pattern=r"^[A-Z][a-z]?([A-Z][a-z]?)*$")] = Field(
698
+ chemical_elements: Union[ChemicalElements, constr(pattern=r"^([A-Z][a-z]?[0-9]*)+$")] = Field(
699
699
  ..., title="Chemical Elements"
700
700
  )
701
701
  """
@@ -1150,7 +1150,7 @@ class SlabConfigurationSchema2(BaseModel):
1150
1150
 
1151
1151
 
1152
1152
  class TerminationSchema2(BaseModel):
1153
- chemical_elements: Union[ChemicalElements, constr(pattern=r"^[A-Z][a-z]?([A-Z][a-z]?)*$")] = Field(
1153
+ chemical_elements: Union[ChemicalElements, constr(pattern=r"^([A-Z][a-z]?[0-9]*)+$")] = Field(
1154
1154
  ..., title="Chemical Elements"
1155
1155
  )
1156
1156
  """
@@ -689,7 +689,7 @@ class ChemicalElements(Enum):
689
689
 
690
690
 
691
691
  class TerminationSchema(BaseModel):
692
- chemical_elements: Union[ChemicalElements, constr(pattern=r"^[A-Z][a-z]?([A-Z][a-z]?)*$")] = Field(
692
+ chemical_elements: Union[ChemicalElements, constr(pattern=r"^([A-Z][a-z]?[0-9]*)+$")] = Field(
693
693
  ..., title="Chemical Elements"
694
694
  )
695
695
  """
@@ -0,0 +1,3 @@
1
+ # generated by datamodel-codegen:
2
+ # filename: schema
3
+ # version: 0.28.5