mat3ra-esse 2025.6.5.post0__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 (37) 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/material/builders/single_material/two_dimensional/slab/selector_parameters.py +1 -1
  5. mat3ra/esse/models/material/reusable/slab/termination.py +1 -1
  6. mat3ra/esse/models/material/reusable/slab_configuration_with_termination.py +1 -1
  7. mat3ra/esse/models/material/reusable/stack/slab_in_stack.py +1 -1
  8. mat3ra/esse/models/materials_category/defects/two_dimensional/grain_boundary_plane/configuration.py +2 -2
  9. mat3ra/esse/models/materials_category/multi_material/interfaces/configuration.py +1 -1
  10. mat3ra/esse/models/materials_category/pristine_structures/two_dimensional/slab.py +428 -15
  11. mat3ra/esse/models/materials_category_components/entities/auxiliary/two_dimensional/termination.py +1 -1
  12. mat3ra/esse/models/materials_category_components/entities/core/two_dimensional/vacuum.py +526 -2
  13. mat3ra/esse/models/materials_category_components/entities/reusable/three_dimensional/strained_non_uniform.py +14 -14
  14. mat3ra/esse/models/materials_category_components/entities/reusable/three_dimensional/strained_uniform.py +14 -14
  15. mat3ra/esse/models/materials_category_components/entities/reusable/three_dimensional/supercell.py +14 -14
  16. mat3ra/esse/models/materials_category_components/entities/reusable/two_dimensional/atomic_layers.py +1 -1
  17. mat3ra/esse/models/materials_category_components/entities/reusable/two_dimensional/atomic_layers_unique.py +1 -1
  18. mat3ra/esse/models/materials_category_components/entities/reusable/two_dimensional/atomic_layers_unique_repeated.py +1 -1
  19. mat3ra/esse/models/materials_category_components/entities/reusable/two_dimensional/slab_unit_cell.py +428 -15
  20. mat3ra/esse/models/materials_category_components/operations/core/combinations/merge.py +413 -0
  21. mat3ra/esse/models/materials_category_components/operations/core/combinations/stack.py +427 -14
  22. mat3ra/esse/models/materials_category_components/operations/core/combinations/stack_component.py +427 -14
  23. mat3ra/esse/models/properties_directory/non_scalar/phonon_dispersions.py +2 -2
  24. mat3ra/esse/models/properties_directory/non_scalar/phonon_dos.py +2 -2
  25. mat3ra/esse/models/properties_directory/non_scalar/total_energy_contributions.py +50 -50
  26. mat3ra/esse/models/properties_directory/non_scalar/vibrational_spectrum.py +2 -2
  27. mat3ra/esse/models/properties_directory/scalar/reaction_energy_barrier.py +2 -2
  28. mat3ra/esse/models/properties_directory/scalar/surface_energy.py +2 -2
  29. mat3ra/esse/models/properties_directory/scalar/total_energy.py +2 -2
  30. mat3ra/esse/models/properties_directory/scalar/valence_band_offset.py +2 -2
  31. mat3ra/esse/models/properties_directory/scalar/zero_point_energy.py +2 -2
  32. mat3ra/esse/models/properties_directory/structural/molecular_pattern.py +4 -4
  33. {mat3ra_esse-2025.6.5.post0.dist-info → mat3ra_esse-2025.6.14.post0.dist-info}/METADATA +1 -1
  34. {mat3ra_esse-2025.6.5.post0.dist-info → mat3ra_esse-2025.6.14.post0.dist-info}/RECORD +37 -37
  35. {mat3ra_esse-2025.6.5.post0.dist-info → mat3ra_esse-2025.6.14.post0.dist-info}/WHEEL +0 -0
  36. {mat3ra_esse-2025.6.5.post0.dist-info → mat3ra_esse-2025.6.14.post0.dist-info}/licenses/LICENSE.md +0 -0
  37. {mat3ra_esse-2025.6.5.post0.dist-info → mat3ra_esse-2025.6.14.post0.dist-info}/top_level.txt +0 -0
@@ -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
  """
@@ -265,13 +265,13 @@ class Value(Enum):
265
265
  Og = "Og"
266
266
 
267
267
 
268
- class Value33(Enum):
268
+ class Value37(Enum):
269
269
  X = "X"
270
270
  Vac = "Vac"
271
271
 
272
272
 
273
273
  class AtomicElementSchema(BaseModel):
274
- value: Union[Value, Value33]
274
+ value: Union[Value, Value37]
275
275
  """
276
276
  All elements, including extra elements
277
277
  """
@@ -419,30 +419,30 @@ class VolumeSchema(BaseModel):
419
419
  value: float
420
420
 
421
421
 
422
- class Name133(Enum):
422
+ class Name149(Enum):
423
423
  density = "density"
424
424
 
425
425
 
426
- class Units72(Enum):
426
+ class Units78(Enum):
427
427
  g_cm_3 = "g/cm^3"
428
428
 
429
429
 
430
430
  class DensitySchema(BaseModel):
431
431
  name: Literal["1#-datamodel-code-generator-#-object-#-special-#"]
432
- units: Optional[Units72] = None
432
+ units: Optional[Units78] = None
433
433
  value: float
434
434
 
435
435
 
436
- class Units73(Enum):
436
+ class Units79(Enum):
437
437
  angstrom = "angstrom"
438
438
 
439
439
 
440
440
  class ScalarSchema(BaseModel):
441
- units: Optional[Units73] = None
441
+ units: Optional[Units79] = None
442
442
  value: float
443
443
 
444
444
 
445
- class Name134(Enum):
445
+ class Name150(Enum):
446
446
  symmetry = "symmetry"
447
447
 
448
448
 
@@ -462,7 +462,7 @@ class SymmetrySchema(BaseModel):
462
462
  name: Literal["2#-datamodel-code-generator-#-object-#-special-#"]
463
463
 
464
464
 
465
- class Name135(Enum):
465
+ class Name151(Enum):
466
466
  elemental_ratio = "elemental_ratio"
467
467
 
468
468
 
@@ -475,7 +475,7 @@ class ElementalRatio(BaseModel):
475
475
  """
476
476
 
477
477
 
478
- class Name136(Enum):
478
+ class Name152(Enum):
479
479
  p_norm = "p-norm"
480
480
 
481
481
 
@@ -488,7 +488,7 @@ class PNorm(BaseModel):
488
488
  value: float
489
489
 
490
490
 
491
- class Name137(Enum):
491
+ class Name153(Enum):
492
492
  inchi = "inchi"
493
493
 
494
494
 
@@ -497,7 +497,7 @@ class InChIRepresentationSchema(BaseModel):
497
497
  value: str
498
498
 
499
499
 
500
- class Name138(Enum):
500
+ class Name154(Enum):
501
501
  inchi_key = "inchi_key"
502
502
 
503
503
 
@@ -576,7 +576,7 @@ class FileSourceSchema(BaseModel):
576
576
  """
577
577
 
578
578
 
579
- class Name139(Enum):
579
+ class Name155(Enum):
580
580
  default = "default"
581
581
  atomsTooClose = "atomsTooClose"
582
582
  atomsOverlap = "atomsOverlap"
@@ -589,7 +589,7 @@ class Severity(Enum):
589
589
 
590
590
 
591
591
  class MaterialConsistencyCheckSchema(BaseModel):
592
- name: Name139
592
+ name: Name155
593
593
  """
594
594
  Name of the consistency check that is performed, which is listed in an enum.
595
595
  """
@@ -693,6 +693,415 @@ class AxisEnum(Enum):
693
693
  z = "z"
694
694
 
695
695
 
696
+ class Value38(Enum):
697
+ H = "H"
698
+ He = "He"
699
+ Li = "Li"
700
+ Be = "Be"
701
+ B = "B"
702
+ C = "C"
703
+ N = "N"
704
+ O = "O"
705
+ F = "F"
706
+ Ne = "Ne"
707
+ Na = "Na"
708
+ Mg = "Mg"
709
+ Al = "Al"
710
+ Si = "Si"
711
+ P = "P"
712
+ S = "S"
713
+ Cl = "Cl"
714
+ Ar = "Ar"
715
+ K = "K"
716
+ Ca = "Ca"
717
+ Sc = "Sc"
718
+ Ti = "Ti"
719
+ V = "V"
720
+ Cr = "Cr"
721
+ Mn = "Mn"
722
+ Fe = "Fe"
723
+ Co = "Co"
724
+ Ni = "Ni"
725
+ Cu = "Cu"
726
+ Zn = "Zn"
727
+ Ga = "Ga"
728
+ Ge = "Ge"
729
+ As = "As"
730
+ Se = "Se"
731
+ Br = "Br"
732
+ Kr = "Kr"
733
+ Rb = "Rb"
734
+ Sr = "Sr"
735
+ Y = "Y"
736
+ Zr = "Zr"
737
+ Nb = "Nb"
738
+ Mo = "Mo"
739
+ Tc = "Tc"
740
+ Ru = "Ru"
741
+ Rh = "Rh"
742
+ Pd = "Pd"
743
+ Ag = "Ag"
744
+ Cd = "Cd"
745
+ In = "In"
746
+ Sn = "Sn"
747
+ Sb = "Sb"
748
+ Te = "Te"
749
+ I = "I"
750
+ Xe = "Xe"
751
+ Cs = "Cs"
752
+ Ba = "Ba"
753
+ La = "La"
754
+ Ce = "Ce"
755
+ Pr = "Pr"
756
+ Nd = "Nd"
757
+ Pm = "Pm"
758
+ Sm = "Sm"
759
+ Eu = "Eu"
760
+ Gd = "Gd"
761
+ Tb = "Tb"
762
+ Dy = "Dy"
763
+ Ho = "Ho"
764
+ Er = "Er"
765
+ Tm = "Tm"
766
+ Yb = "Yb"
767
+ Lu = "Lu"
768
+ Hf = "Hf"
769
+ Ta = "Ta"
770
+ W = "W"
771
+ Re = "Re"
772
+ Os = "Os"
773
+ Ir = "Ir"
774
+ Pt = "Pt"
775
+ Au = "Au"
776
+ Hg = "Hg"
777
+ Tl = "Tl"
778
+ Pb = "Pb"
779
+ Bi = "Bi"
780
+ Po = "Po"
781
+ At = "At"
782
+ Rn = "Rn"
783
+ Fr = "Fr"
784
+ Ra = "Ra"
785
+ Ac = "Ac"
786
+ Th = "Th"
787
+ Pa = "Pa"
788
+ U = "U"
789
+ Np = "Np"
790
+ Pu = "Pu"
791
+ Am = "Am"
792
+ Cm = "Cm"
793
+ Bk = "Bk"
794
+ Cf = "Cf"
795
+ Es = "Es"
796
+ Fm = "Fm"
797
+ Md = "Md"
798
+ No = "No"
799
+ Lr = "Lr"
800
+ Rf = "Rf"
801
+ Db = "Db"
802
+ Sg = "Sg"
803
+ Bh = "Bh"
804
+ Hs = "Hs"
805
+ Mt = "Mt"
806
+ Ds = "Ds"
807
+ Rg = "Rg"
808
+ Cn = "Cn"
809
+ Nh = "Nh"
810
+ Fl = "Fl"
811
+ Mc = "Mc"
812
+ Lv = "Lv"
813
+ Ts = "Ts"
814
+ Og = "Og"
815
+
816
+
817
+ class Value39(Enum):
818
+ X = "X"
819
+ Vac = "Vac"
820
+
821
+
822
+ class AtomicElementSchema15(BaseModel):
823
+ value: Union[Value38, Value39]
824
+ """
825
+ All elements, including extra elements
826
+ """
827
+ id: int
828
+ """
829
+ integer id of this entry
830
+ """
831
+
832
+
833
+ class BasisSchema13(BaseModel):
834
+ elements: List[AtomicElementSchema15] = Field(..., title="atomic elements schema")
835
+ """
836
+ atomic elements schema
837
+ """
838
+ coordinates: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema")
839
+ """
840
+ atomic coordinates schema
841
+ """
842
+ units: Optional[BasisUnitsEnum] = Field("crystal", title="basis units enum")
843
+ labels: Optional[List[AtomicLabelSchema]] = Field(None, title="atomic labels schema")
844
+ """
845
+ atomic labels schema
846
+ """
847
+
848
+
849
+ class LatticeVectorsSchema13(BaseModel):
850
+ a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
851
+ b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
852
+ c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
853
+ alat: Optional[float] = 1
854
+ """
855
+ lattice parameter for fractional coordinates
856
+ """
857
+ units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum")
858
+
859
+
860
+ class LatticeUnitsSchema14(BaseModel):
861
+ length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum")
862
+ angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum")
863
+
864
+
865
+ class LatticeSchema13(BaseModel):
866
+ a: float
867
+ """
868
+ length of the first lattice vector
869
+ """
870
+ b: float
871
+ """
872
+ length of the second lattice vector
873
+ """
874
+ c: float
875
+ """
876
+ length of the third lattice vector
877
+ """
878
+ alpha: float
879
+ """
880
+ angle between first and second lattice vector
881
+ """
882
+ beta: float
883
+ """
884
+ angle between second and third lattice vector
885
+ """
886
+ gamma: float
887
+ """
888
+ angle between first and third lattice vector
889
+ """
890
+ vectors: Optional[LatticeVectorsSchema13] = Field(None, title="lattice vectors schema")
891
+ type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum")
892
+ units: Optional[LatticeUnitsSchema14] = Field(
893
+ default_factory=lambda: LatticeUnitsSchema14.model_validate({"length": "angstrom", "angle": "degree"}),
894
+ title="Lattice units schema",
895
+ )
896
+
897
+
898
+ class Name156(Enum):
899
+ volume = "volume"
900
+
901
+
902
+ class Units80(Enum):
903
+ angstrom_3 = "angstrom^3"
904
+
905
+
906
+ class VolumeSchema13(BaseModel):
907
+ name: Literal["0#-datamodel-code-generator-#-object-#-special-#"]
908
+ units: Optional[Units80] = None
909
+ value: float
910
+
911
+
912
+ class Name157(Enum):
913
+ density = "density"
914
+
915
+
916
+ class Units81(Enum):
917
+ g_cm_3 = "g/cm^3"
918
+
919
+
920
+ class DensitySchema14(BaseModel):
921
+ name: Literal["1#-datamodel-code-generator-#-object-#-special-#"]
922
+ units: Optional[Units81] = None
923
+ value: float
924
+
925
+
926
+ class Units82(Enum):
927
+ angstrom = "angstrom"
928
+
929
+
930
+ class ScalarSchema15(BaseModel):
931
+ units: Optional[Units82] = None
932
+ value: float
933
+
934
+
935
+ class Name158(Enum):
936
+ symmetry = "symmetry"
937
+
938
+
939
+ class SymmetrySchema13(BaseModel):
940
+ pointGroupSymbol: Optional[str] = None
941
+ """
942
+ point group symbol in Schoenflies notation
943
+ """
944
+ spaceGroupSymbol: Optional[str] = None
945
+ """
946
+ space group symbol in Hermann–Mauguin notation
947
+ """
948
+ tolerance: Optional[ScalarSchema15] = Field(None, title="scalar schema")
949
+ """
950
+ tolerance used for symmetry calculation
951
+ """
952
+ name: Literal["2#-datamodel-code-generator-#-object-#-special-#"]
953
+
954
+
955
+ class Name159(Enum):
956
+ elemental_ratio = "elemental_ratio"
957
+
958
+
959
+ class ElementalRatio14(BaseModel):
960
+ name: Literal["3#-datamodel-code-generator-#-object-#-special-#"]
961
+ value: confloat(ge=0.0, le=1.0)
962
+ element: Optional[str] = None
963
+ """
964
+ the element this ratio is for
965
+ """
966
+
967
+
968
+ class Name160(Enum):
969
+ p_norm = "p-norm"
970
+
971
+
972
+ class PNorm14(BaseModel):
973
+ name: Literal["4#-datamodel-code-generator-#-object-#-special-#"]
974
+ degree: Optional[int] = None
975
+ """
976
+ degree of the dimensionality of the norm
977
+ """
978
+ value: float
979
+
980
+
981
+ class Name161(Enum):
982
+ inchi = "inchi"
983
+
984
+
985
+ class InChIRepresentationSchema14(BaseModel):
986
+ name: Literal["5#-datamodel-code-generator-#-object-#-special-#"]
987
+ value: str
988
+
989
+
990
+ class Name162(Enum):
991
+ inchi_key = "inchi_key"
992
+
993
+
994
+ class InChIKeyRepresentationSchema14(BaseModel):
995
+ name: Literal["6#-datamodel-code-generator-#-object-#-special-#"]
996
+ value: str
997
+
998
+
999
+ class DerivedPropertiesSchema14(
1000
+ RootModel[
1001
+ Union[
1002
+ VolumeSchema13,
1003
+ DensitySchema14,
1004
+ SymmetrySchema13,
1005
+ ElementalRatio14,
1006
+ PNorm14,
1007
+ InChIRepresentationSchema14,
1008
+ InChIKeyRepresentationSchema14,
1009
+ ]
1010
+ ]
1011
+ ):
1012
+ root: Union[
1013
+ VolumeSchema13,
1014
+ DensitySchema14,
1015
+ SymmetrySchema13,
1016
+ ElementalRatio14,
1017
+ PNorm14,
1018
+ InChIRepresentationSchema14,
1019
+ InChIKeyRepresentationSchema14,
1020
+ ] = Field(..., discriminator="name")
1021
+
1022
+
1023
+ class Name163(Enum):
1024
+ default = "default"
1025
+ atomsTooClose = "atomsTooClose"
1026
+ atomsOverlap = "atomsOverlap"
1027
+
1028
+
1029
+ class MaterialConsistencyCheckSchema13(BaseModel):
1030
+ name: Name163
1031
+ """
1032
+ Name of the consistency check that is performed, which is listed in an enum.
1033
+ """
1034
+ key: str
1035
+ """
1036
+ Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'
1037
+ """
1038
+ severity: Severity
1039
+ """
1040
+ Severity level of the problem, which is used in UI to differentiate.
1041
+ """
1042
+ message: str
1043
+ """
1044
+ Message generated by the consistency check describing the problem.
1045
+ """
1046
+
1047
+
1048
+ class CrystalSchema10(BaseModel):
1049
+ formula: Optional[str] = None
1050
+ """
1051
+ reduced chemical formula
1052
+ """
1053
+ unitCellFormula: Optional[str] = None
1054
+ """
1055
+ chemical formula based on the number of atoms of each element in the supercell
1056
+ """
1057
+ basis: BasisSchema13 = Field(..., title="basis schema")
1058
+ lattice: LatticeSchema13 = Field(..., title="lattice schema")
1059
+ derivedProperties: Optional[List[DerivedPropertiesSchema14]] = Field(None, title="derived properties schema")
1060
+ external: Optional[DatabaseSourceSchema] = Field(None, title="database source schema")
1061
+ """
1062
+ information about a database source
1063
+ """
1064
+ src: Optional[FileSourceSchema] = Field(None, title="file source schema")
1065
+ """
1066
+ file source with the information inside
1067
+ """
1068
+ scaledHash: Optional[str] = None
1069
+ """
1070
+ Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).
1071
+ """
1072
+ icsdId: Optional[int] = None
1073
+ """
1074
+ Corresponding ICSD id of the material
1075
+ """
1076
+ isNonPeriodic: Optional[bool] = None
1077
+ """
1078
+ Whether to work in the finite molecular picture (usually with atomic orbital basis)
1079
+ """
1080
+ consistencyChecks: Optional[List[MaterialConsistencyCheckSchema13]] = None
1081
+ field_id: Optional[str] = Field(None, alias="_id")
1082
+ """
1083
+ entity identity
1084
+ """
1085
+ slug: Optional[str] = None
1086
+ """
1087
+ entity slug
1088
+ """
1089
+ systemName: Optional[str] = None
1090
+ schemaVersion: Optional[str] = "2022.8.16"
1091
+ """
1092
+ entity's schema version. Used to distinct between different schemas.
1093
+ """
1094
+ name: Optional[str] = None
1095
+ """
1096
+ entity name
1097
+ """
1098
+ isDefault: Optional[bool] = False
1099
+ """
1100
+ Identifies that entity is defaultable
1101
+ """
1102
+ metadata: Optional[Dict[str, Any]] = None
1103
+
1104
+
696
1105
  class VacuumConfigurationSchema(BaseModel):
697
1106
  direction: AxisEnum = Field(..., title="Axis Enum")
698
1107
  """
@@ -702,6 +1111,10 @@ class VacuumConfigurationSchema(BaseModel):
702
1111
  """
703
1112
  Size of the vacuum slab in angstroms
704
1113
  """
1114
+ crystal: CrystalSchema10 = Field(..., title="Crystal Schema")
1115
+ """
1116
+ A crystal structure, referencing the base material schema
1117
+ """
705
1118
 
706
1119
 
707
1120
  class SlabUnitCellSchema(BaseModel):