mat3ra-esse 2025.6.14.post0__py3-none-any.whl → 2025.7.1.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 (118) hide show
  1. {mat3ra_esse-2025.6.14.post0.dist-info → mat3ra_esse-2025.7.1.post0.dist-info}/METADATA +2 -2
  2. {mat3ra_esse-2025.6.14.post0.dist-info → mat3ra_esse-2025.7.1.post0.dist-info}/RECORD +5 -118
  3. mat3ra/esse/models/coordinates_shape_enum.py +0 -15
  4. mat3ra/esse/models/core/abstract/2d_data.py +0 -17
  5. mat3ra/esse/models/core/abstract/2d_plot.py +0 -34
  6. mat3ra/esse/models/core/abstract/3d_grid.py +0 -14
  7. mat3ra/esse/models/core/abstract/3d_tensor.py +0 -19
  8. mat3ra/esse/models/core/abstract/3d_vector_basis.py +0 -15
  9. mat3ra/esse/models/core/abstract/_3d_tensor.py +0 -19
  10. mat3ra/esse/models/core/abstract/_3d_vector_basis.py +0 -15
  11. mat3ra/esse/models/core/abstract/point.py +0 -13
  12. mat3ra/esse/models/core/abstract/vector.py +0 -13
  13. mat3ra/esse/models/core/primitive/1d_data_series.py +0 -13
  14. mat3ra/esse/models/core/primitive/3d_lattice.py +0 -34
  15. mat3ra/esse/models/core/primitive/_3d_lattice.py +0 -34
  16. mat3ra/esse/models/core/reusable/accuracy_level.py +0 -27
  17. mat3ra/esse/models/core/reusable/atomic_strings.py +0 -24
  18. mat3ra/esse/models/core/reusable/coordinate_conditions/cylinder.py +0 -26
  19. mat3ra/esse/models/core/reusable/coordinate_conditions/plane.py +0 -24
  20. mat3ra/esse/models/core/reusable/coordinate_conditions/sphere.py +0 -24
  21. mat3ra/esse/models/core/reusable/coordinate_conditions/triangular_prism.py +0 -27
  22. mat3ra/esse/models/core/reusable/energy_accuracy_levels/__init__.py +0 -3
  23. mat3ra/esse/models/core/reusable/energy_accuracy_levels.py +0 -31
  24. mat3ra/esse/models/enums/__init__.py +0 -3
  25. mat3ra/esse/models/enums/chemical_elements.py +0 -13
  26. mat3ra/esse/models/material/builders/base/__init__.py +0 -3
  27. mat3ra/esse/models/material/builders/base/selector_parameters.py +0 -16
  28. mat3ra/esse/models/material/builders/single_material/two_dimensional/slab/__init__.py +0 -3
  29. mat3ra/esse/models/material/builders/single_material/two_dimensional/slab/builder_parameters.py +0 -28
  30. mat3ra/esse/models/material/builders/single_material/two_dimensional/slab/selector_parameters.py +0 -151
  31. mat3ra/esse/models/material/reusable/__init__.py +0 -3
  32. mat3ra/esse/models/material/reusable/coordinate_conditions/__init__.py +0 -3
  33. mat3ra/esse/models/material/reusable/coordinate_conditions/base.py +0 -21
  34. mat3ra/esse/models/material/reusable/coordinate_conditions/box.py +0 -24
  35. mat3ra/esse/models/material/reusable/coordinate_conditions/cylinder.py +0 -26
  36. mat3ra/esse/models/material/reusable/coordinate_conditions/plane.py +0 -24
  37. mat3ra/esse/models/material/reusable/coordinate_conditions/sphere.py +0 -24
  38. mat3ra/esse/models/material/reusable/coordinate_conditions/triangular_prism.py +0 -27
  39. mat3ra/esse/models/material/reusable/repetitions.py +0 -25
  40. mat3ra/esse/models/material/reusable/slab/__init__.py +0 -3
  41. mat3ra/esse/models/material/reusable/slab/enums/__init__.py +0 -3
  42. mat3ra/esse/models/material/reusable/slab/enums/exposed_face.py +0 -13
  43. mat3ra/esse/models/material/reusable/slab/enums.py +0 -13
  44. mat3ra/esse/models/material/reusable/slab/miller_indices.py +0 -16
  45. mat3ra/esse/models/material/reusable/slab/number_of_layers.py +0 -16
  46. mat3ra/esse/models/material/reusable/slab/slab_configuration_with_termination.py +0 -589
  47. mat3ra/esse/models/material/reusable/slab/slab_with_termination.py +0 -593
  48. mat3ra/esse/models/material/reusable/slab/termination.py +0 -144
  49. mat3ra/esse/models/material/reusable/slab/two_slabs_stack.py +0 -618
  50. mat3ra/esse/models/material/reusable/slab/vacuum.py +0 -16
  51. mat3ra/esse/models/material/reusable/slab_configuration_with_termination.py +0 -712
  52. mat3ra/esse/models/material/reusable/stack/__init__.py +0 -3
  53. mat3ra/esse/models/material/reusable/stack/slab_configuration_with_termination.py +0 -593
  54. mat3ra/esse/models/material/reusable/stack/slab_in_stack.py +0 -720
  55. mat3ra/esse/models/material/reusable/stack/stack_of_slabs.py +0 -737
  56. mat3ra/esse/models/material/reusable/stack/stack_of_two_slabs.py +0 -737
  57. mat3ra/esse/models/material/reusable/supercell/__init__.py +0 -3
  58. mat3ra/esse/models/material/reusable/supercell/supercell_matrix_2d.py +0 -25
  59. mat3ra/esse/models/material/reusable/supercell/supercell_matrix_3d.py +0 -27
  60. mat3ra/esse/models/material/reusable/supercell_matrix_2d.py +0 -25
  61. mat3ra/esse/models/material/reusable/supercell_matrix_3d.py +0 -27
  62. mat3ra/esse/models/materials_category/defects/__init__.py +0 -3
  63. mat3ra/esse/models/materials_category/defects/by_host/two_dimensional/adatom/__init__.py +0 -3
  64. mat3ra/esse/models/materials_category/defects/by_host/two_dimensional/adatom/configuration.py +0 -672
  65. mat3ra/esse/models/materials_category/defects/by_host/two_dimensional/layered/__init__.py +0 -3
  66. mat3ra/esse/models/materials_category/defects/by_host/two_dimensional/layered/configuration.py +0 -549
  67. mat3ra/esse/models/materials_category/defects/by_host/two_dimensional/point/__init__.py +0 -3
  68. mat3ra/esse/models/materials_category/defects/by_host/two_dimensional/point/configuration.py +0 -550
  69. mat3ra/esse/models/materials_category/defects/configuration.py +0 -545
  70. mat3ra/esse/models/materials_category/defects/enums/__init__.py +0 -3
  71. mat3ra/esse/models/materials_category/defects/enums/point_defect_type.py +0 -13
  72. mat3ra/esse/models/materials_category/defects/one_dimensional/terrace/__init__.py +0 -3
  73. mat3ra/esse/models/materials_category/defects/one_dimensional/terrace/configuration.py +0 -563
  74. mat3ra/esse/models/materials_category/defects/two_dimensional/grain_boundary_plane/__init__.py +0 -3
  75. mat3ra/esse/models/materials_category/defects/two_dimensional/grain_boundary_plane/configuration.py +0 -1200
  76. mat3ra/esse/models/materials_category/defects/two_dimensional/island/__init__.py +0 -3
  77. mat3ra/esse/models/materials_category/defects/two_dimensional/island/condition_json.py +0 -28
  78. mat3ra/esse/models/materials_category/defects/two_dimensional/island/configuration.py +0 -564
  79. mat3ra/esse/models/materials_category/defects/zero_dimensional/complex/pair/__init__.py +0 -3
  80. mat3ra/esse/models/materials_category/defects/zero_dimensional/complex/pair/configuration.py +0 -1538
  81. mat3ra/esse/models/materials_category/defects/zero_dimensional/point/__init__.py +0 -3
  82. mat3ra/esse/models/materials_category/defects/zero_dimensional/point/configuration.py +0 -672
  83. mat3ra/esse/models/materials_category/defects/zero_dimensional/point/interstitial/__init__.py +0 -3
  84. mat3ra/esse/models/materials_category/defects/zero_dimensional/point/interstitial/configuration.py +0 -672
  85. mat3ra/esse/models/materials_category/defects/zero_dimensional/point/substitution/__init__.py +0 -3
  86. mat3ra/esse/models/materials_category/defects/zero_dimensional/point/substitution/configuration.py +0 -672
  87. mat3ra/esse/models/materials_category/defects/zero_dimensional/point/vacancy/__init__.py +0 -3
  88. mat3ra/esse/models/materials_category/defects/zero_dimensional/point/vacancy/configuration.py +0 -672
  89. mat3ra/esse/models/materials_category/multi_material/interfaces/__init__.py +0 -3
  90. mat3ra/esse/models/materials_category/multi_material/interfaces/configuration.py +0 -737
  91. mat3ra/esse/models/materials_category/single_material/two_dimensional/slab/__init__.py +0 -3
  92. mat3ra/esse/models/materials_category/single_material/two_dimensional/slab/configuration.py +0 -567
  93. mat3ra/esse/models/methods_directory/physical/psp/file/__init__.py +0 -129
  94. mat3ra/esse/models/methods_directory/physical/psp/file_data_item/__init__.py +0 -111
  95. mat3ra/esse/models/properties_directory/structural/lattice/lattice_bravais.py +0 -74
  96. mat3ra/esse/models/property/base/__init__.py +0 -200
  97. mat3ra/esse/models/property/meta/__init__.py +0 -200
  98. mat3ra/esse/models/property/raw/__init__.py +0 -200
  99. mat3ra/esse/models/property/source/__init__.py +0 -150
  100. mat3ra/esse/models/third_party/db/nist_jarvis/2024_3.13/__init__.py +0 -3
  101. mat3ra/esse/models/third_party/db/nist_jarvis/2024_3.13/atoms.py +0 -41
  102. mat3ra/esse/models/third_party/db/nist_jarvis/2024_3.13/db_entry.py +0 -55
  103. mat3ra/esse/models/third_party/file/applications/espresso/7.2/__init__.py +0 -3
  104. mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/__init__.py +0 -3
  105. mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/atomic_positions.py +0 -51
  106. mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/atomic_species.py +0 -34
  107. mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/cell.py +0 -111
  108. mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/cell_parameters.py +0 -36
  109. mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/control.py +0 -169
  110. mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/electrons.py +0 -139
  111. mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/hubbard.py +0 -194
  112. mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/ions.py +0 -422
  113. mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/k_points.py +0 -73
  114. mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/system.py +0 -841
  115. mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw_x.py +0 -1990
  116. {mat3ra_esse-2025.6.14.post0.dist-info → mat3ra_esse-2025.7.1.post0.dist-info}/WHEEL +0 -0
  117. {mat3ra_esse-2025.6.14.post0.dist-info → mat3ra_esse-2025.7.1.post0.dist-info}/licenses/LICENSE.md +0 -0
  118. {mat3ra_esse-2025.6.14.post0.dist-info → mat3ra_esse-2025.7.1.post0.dist-info}/top_level.txt +0 -0
@@ -1,111 +0,0 @@
1
- # generated by datamodel-codegen:
2
- # filename: methods_directory/physical/psp/file_data_item.json
3
- # version: 0.25.5
4
-
5
- from __future__ import annotations
6
-
7
- from enum import Enum
8
- from typing import List, Optional
9
-
10
- from pydantic import BaseModel, ConfigDict, Field, confloat, conint, constr
11
-
12
- from ..Reusable_schema_for_energy_value_with_unit_corresponding_to_a_specific_accuracy_level__e import (
13
- g,
14
- )
15
-
16
-
17
- class Type(Enum):
18
- us = "us"
19
- nc = "nc"
20
- nc_fr = "nc-fr"
21
- paw = "paw"
22
- coulomb = "coulomb"
23
-
24
-
25
- class ExchangeCorrelation(BaseModel):
26
- approximation: Optional[str] = None
27
- """
28
- DFT approximation
29
- """
30
- functional: Optional[str] = None
31
- """
32
- Exchange correlation functional
33
- """
34
- path: Optional[str] = Field(None, title="category path schema")
35
- """
36
- TODO: Use regex once schema draft version has been updated
37
- """
38
-
39
-
40
- class AtomicOrbitalSchema(BaseModel):
41
- orbitalName: Optional[constr(pattern=r"^[1-7][sSpPdDfF]$")] = None
42
- orbitalIndex: Optional[conint(ge=1)] = None
43
- principalNumber: Optional[conint(ge=1, le=7)] = None
44
- angularMomentum: Optional[conint(ge=0, le=3)] = None
45
- occupation: Optional[confloat(ge=0.0, le=14.0)] = None
46
- """
47
- Shell occupation
48
- """
49
-
50
-
51
- class Name(Enum):
52
- pseudopotential = "pseudopotential"
53
-
54
-
55
- class Cutoffs(BaseModel):
56
- model_config = ConfigDict(
57
- extra="forbid",
58
- )
59
- wavefunction: Optional[List[g.FieldUsedForSuggestedWavefunctionAndChargeDensityCutoffs]] = None
60
- """
61
- Energy cutoff values for wavefunction plane wave expansion.
62
- """
63
- density: Optional[List[g.FieldUsedForSuggestedWavefunctionAndChargeDensityCutoffs]] = None
64
- """
65
- Energy cutoff values for charge density plane wave expansion.
66
- """
67
-
68
-
69
- class FileDataItem(BaseModel):
70
- element: str
71
- """
72
- chemical element
73
- """
74
- hash: Optional[str] = None
75
- """
76
- MD5 hash of the pseudopotential file
77
- """
78
- type: Type
79
- source: str
80
- """
81
- explains where this came from
82
- """
83
- version: Optional[str] = None
84
- """
85
- explains the version of where this came from
86
- """
87
- exchangeCorrelation: ExchangeCorrelation
88
- valenceConfiguration: Optional[List[AtomicOrbitalSchema]] = None
89
- """
90
- contains pseudo orbital information, including orbital names and occupations
91
- """
92
- path: str
93
- """
94
- location of the pseudopotential file on filesystem
95
- """
96
- apps: List[str]
97
- """
98
- The names of the simulation engines that can use this pseudopotential, e.g. espresso
99
- """
100
- filename: Optional[str] = None
101
- """
102
- filename of pseudopotential file on filesystem
103
- """
104
- name: Optional[Name] = None
105
- """
106
- name of the data category
107
- """
108
- cutoffs: Optional[Cutoffs] = None
109
- """
110
- Suggested cutoff values for wave function and charge density.
111
- """
@@ -1,74 +0,0 @@
1
- # generated by datamodel-codegen:
2
- # filename: properties_directory/structural/lattice/lattice_bravais.json
3
- # version: 0.28.5
4
-
5
- from __future__ import annotations
6
-
7
- from enum import Enum
8
- from typing import Optional
9
-
10
- from pydantic import BaseModel, Field
11
-
12
-
13
- class LatticeTypeEnum(Enum):
14
- CUB = "CUB"
15
- BCC = "BCC"
16
- FCC = "FCC"
17
- TET = "TET"
18
- MCL = "MCL"
19
- ORC = "ORC"
20
- ORCC = "ORCC"
21
- ORCF = "ORCF"
22
- ORCI = "ORCI"
23
- HEX = "HEX"
24
- BCT = "BCT"
25
- TRI = "TRI"
26
- MCLC = "MCLC"
27
- RHL = "RHL"
28
-
29
-
30
- class Length(Enum):
31
- angstrom = "angstrom"
32
- bohr = "bohr"
33
-
34
-
35
- class Angle(Enum):
36
- degree = "degree"
37
- radian = "radian"
38
-
39
-
40
- class LatticeUnitsSchema(BaseModel):
41
- length: Optional[Length] = "angstrom"
42
- angle: Optional[Angle] = "degree"
43
-
44
-
45
- class LatticeImplicitSchema(BaseModel):
46
- type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum")
47
- units: Optional[LatticeUnitsSchema] = Field(
48
- default_factory=lambda: LatticeUnitsSchema.model_validate({"length": "angstrom", "angle": "degree"}),
49
- title="Lattice units schema",
50
- )
51
- a: float
52
- """
53
- length of the first lattice vector
54
- """
55
- b: float
56
- """
57
- length of the second lattice vector
58
- """
59
- c: float
60
- """
61
- length of the third lattice vector
62
- """
63
- alpha: float
64
- """
65
- angle between first and second lattice vector
66
- """
67
- beta: float
68
- """
69
- angle between second and third lattice vector
70
- """
71
- gamma: float
72
- """
73
- angle between first and third lattice vector
74
- """
@@ -1,200 +0,0 @@
1
- # generated by datamodel-codegen:
2
- # filename: property/base.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
- from ..The_source_of_a_property import (
13
- field_This_could_be_an_article__a_simulation_on_Exabyte__an_external_simulation__etc,
14
- )
15
-
16
-
17
- class Type(Enum):
18
- experiment = "experiment"
19
-
20
-
21
- class ExperimentAuthorSchema(BaseModel):
22
- first: str
23
- middle: Optional[str] = None
24
- last: str
25
- affiliation: Optional[str] = None
26
-
27
-
28
- class ScalarItem(BaseModel):
29
- value: Optional[str] = None
30
-
31
-
32
- class ConditionSchema(BaseModel):
33
- units: Optional[str] = None
34
- """
35
- condition unit
36
- """
37
- scalar: Optional[List[ScalarItem]] = None
38
- """
39
- array of condition values
40
- """
41
- name: str
42
- """
43
- human-readable name of the condition
44
- """
45
-
46
-
47
- class LocationSchema(BaseModel):
48
- latitude: float
49
- """
50
- location latitude
51
- """
52
- longitude: float
53
- """
54
- location longitude
55
- """
56
-
57
-
58
- class Type5(Enum):
59
- literature = "literature"
60
-
61
-
62
- class PagesSchema(BaseModel):
63
- start: str
64
- end: Optional[str] = None
65
-
66
-
67
- class LiteratureReferenceSchema(BaseModel):
68
- type: Optional[Type5] = None
69
- doi: Optional[str] = None
70
- """
71
- Digital Object Identifier of the reference.
72
- """
73
- isbn: Optional[str] = None
74
- """
75
- International Standard Book Number of the reference.
76
- """
77
- issn: Optional[str] = None
78
- """
79
- International Standard Serial Number of the reference.
80
- """
81
- url: Optional[str] = None
82
- """
83
- Internet address of the reference.
84
- """
85
- title: Optional[str] = None
86
- """
87
- Title of the work.
88
- """
89
- publisher: Optional[str] = None
90
- """
91
- Publisher of the work.
92
- """
93
- journal: Optional[str] = None
94
- """
95
- Journal in which the work appeared.
96
- """
97
- volume: Optional[str] = None
98
- """
99
- Volume of the series in which the work appeared.
100
- """
101
- year: Optional[str] = None
102
- """
103
- Year in which the reference was published.
104
- """
105
- issue: Optional[str] = None
106
- """
107
- Issue of the collection in which the work appeared.
108
- """
109
- pages: Optional[PagesSchema] = Field(None, title="pages schema")
110
- """
111
- Start and end pages of the work.
112
- """
113
- authors: Optional[List[ExperimentAuthorSchema]] = None
114
- """
115
- List of authors of the work.
116
- """
117
- editors: Optional[List[ExperimentAuthorSchema]] = None
118
- """
119
- List of editors of the work.
120
- """
121
- reference: Optional[List[Dict[str, Any]]] = None
122
- """
123
- 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.
124
- """
125
-
126
-
127
- class InfoForCharacteristicObtainedByExperiment(BaseModel):
128
- type: Optional[Type] = None
129
- authors: List[ExperimentAuthorSchema]
130
- """
131
- experiment authors
132
- """
133
- title: str
134
- """
135
- experiment title
136
- """
137
- method: str
138
- """
139
- method used in experiment
140
- """
141
- conditions: List[ConditionSchema]
142
- location: Optional[LocationSchema] = Field(None, title="location schema")
143
- timestamp: float
144
- """
145
- epoch time.
146
- """
147
- note: Optional[str] = None
148
- """
149
- Note about experiment
150
- """
151
- references: Optional[List[LiteratureReferenceSchema]] = None
152
- """
153
- references to literature articles
154
- """
155
-
156
-
157
- class SystemTag(Enum):
158
- isRefined = "isRefined"
159
- isBest = "isBest"
160
-
161
-
162
- class SchemaOfBaseMaterialSPreliminaryProperty(BaseModel):
163
- slug: Optional[str] = None
164
- """
165
- property slug, e.g. total_energy
166
- """
167
- group: Optional[str] = None
168
- """
169
- property group, e.g. qe:dft:gga:pbe
170
- """
171
- data: Dict[str, Any]
172
- """
173
- container of the information, specific to each property
174
- """
175
- source: field_This_could_be_an_article__a_simulation_on_Exabyte__an_external_simulation__etc.Field = Field(
176
- ...,
177
- title="The source of a property. This could be an article, a simulation on Exabyte, an external simulation, etc.",
178
- )
179
- exabyteId: Optional[List[str]] = None
180
- """
181
- Id of the corresponding item in the entity bank that this property is obtained for
182
- """
183
- precision: Optional[Dict[str, Any]] = None
184
- count: Optional[float] = None
185
- """
186
- total number of properties among which this property is the best.
187
- """
188
- systemTags: Optional[List[SystemTag]] = None
189
- """
190
- property system tags, marks property system characteristics, values refined or best (could be both)
191
- """
192
- field_id: Optional[str] = Field(None, alias="_id")
193
- """
194
- entity identity
195
- """
196
- systemName: Optional[str] = None
197
- schemaVersion: Optional[str] = "2022.8.16"
198
- """
199
- entity's schema version. Used to distinct between different schemas.
200
- """
@@ -1,200 +0,0 @@
1
- # generated by datamodel-codegen:
2
- # filename: property/meta.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
- from ..The_source_of_a_property import (
13
- field_This_could_be_an_article__a_simulation_on_Exabyte__an_external_simulation__etc,
14
- )
15
-
16
-
17
- class Type(Enum):
18
- experiment = "experiment"
19
-
20
-
21
- class ExperimentAuthorSchema(BaseModel):
22
- first: str
23
- middle: Optional[str] = None
24
- last: str
25
- affiliation: Optional[str] = None
26
-
27
-
28
- class ScalarItem(BaseModel):
29
- value: Optional[str] = None
30
-
31
-
32
- class ConditionSchema(BaseModel):
33
- units: Optional[str] = None
34
- """
35
- condition unit
36
- """
37
- scalar: Optional[List[ScalarItem]] = None
38
- """
39
- array of condition values
40
- """
41
- name: str
42
- """
43
- human-readable name of the condition
44
- """
45
-
46
-
47
- class LocationSchema(BaseModel):
48
- latitude: float
49
- """
50
- location latitude
51
- """
52
- longitude: float
53
- """
54
- location longitude
55
- """
56
-
57
-
58
- class Type56(Enum):
59
- literature = "literature"
60
-
61
-
62
- class PagesSchema(BaseModel):
63
- start: str
64
- end: Optional[str] = None
65
-
66
-
67
- class LiteratureReferenceSchema(BaseModel):
68
- type: Optional[Type56] = None
69
- doi: Optional[str] = None
70
- """
71
- Digital Object Identifier of the reference.
72
- """
73
- isbn: Optional[str] = None
74
- """
75
- International Standard Book Number of the reference.
76
- """
77
- issn: Optional[str] = None
78
- """
79
- International Standard Serial Number of the reference.
80
- """
81
- url: Optional[str] = None
82
- """
83
- Internet address of the reference.
84
- """
85
- title: Optional[str] = None
86
- """
87
- Title of the work.
88
- """
89
- publisher: Optional[str] = None
90
- """
91
- Publisher of the work.
92
- """
93
- journal: Optional[str] = None
94
- """
95
- Journal in which the work appeared.
96
- """
97
- volume: Optional[str] = None
98
- """
99
- Volume of the series in which the work appeared.
100
- """
101
- year: Optional[str] = None
102
- """
103
- Year in which the reference was published.
104
- """
105
- issue: Optional[str] = None
106
- """
107
- Issue of the collection in which the work appeared.
108
- """
109
- pages: Optional[PagesSchema] = Field(None, title="pages schema")
110
- """
111
- Start and end pages of the work.
112
- """
113
- authors: Optional[List[ExperimentAuthorSchema]] = None
114
- """
115
- List of authors of the work.
116
- """
117
- editors: Optional[List[ExperimentAuthorSchema]] = None
118
- """
119
- List of editors of the work.
120
- """
121
- reference: Optional[List[Dict[str, Any]]] = None
122
- """
123
- 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.
124
- """
125
-
126
-
127
- class InfoForCharacteristicObtainedByExperiment(BaseModel):
128
- type: Optional[Type] = None
129
- authors: List[ExperimentAuthorSchema]
130
- """
131
- experiment authors
132
- """
133
- title: str
134
- """
135
- experiment title
136
- """
137
- method: str
138
- """
139
- method used in experiment
140
- """
141
- conditions: List[ConditionSchema]
142
- location: Optional[LocationSchema] = Field(None, title="location schema")
143
- timestamp: float
144
- """
145
- epoch time.
146
- """
147
- note: Optional[str] = None
148
- """
149
- Note about experiment
150
- """
151
- references: Optional[List[LiteratureReferenceSchema]] = None
152
- """
153
- references to literature articles
154
- """
155
-
156
-
157
- class SystemTag(Enum):
158
- isRefined = "isRefined"
159
- isBest = "isBest"
160
-
161
-
162
- class SchemaOfMaterialSMetaProperties(BaseModel):
163
- slug: Optional[str] = None
164
- """
165
- property slug, e.g. total_energy
166
- """
167
- group: Optional[str] = None
168
- """
169
- property group, e.g. qe:dft:gga:pbe
170
- """
171
- data: Dict[str, Any]
172
- """
173
- container of the information, specific to each property
174
- """
175
- source: field_This_could_be_an_article__a_simulation_on_Exabyte__an_external_simulation__etc.Field = Field(
176
- ...,
177
- title="The source of a property. This could be an article, a simulation on Exabyte, an external simulation, etc.",
178
- )
179
- exabyteId: Optional[List[str]] = None
180
- """
181
- Id of the corresponding item in the entity bank that this property is obtained for
182
- """
183
- precision: Optional[Dict[str, Any]] = None
184
- count: Optional[float] = None
185
- """
186
- total number of properties among which this property is the best.
187
- """
188
- systemTags: Optional[List[SystemTag]] = None
189
- """
190
- property system tags, marks property system characteristics, values refined or best (could be both)
191
- """
192
- field_id: Optional[str] = Field(None, alias="_id")
193
- """
194
- entity identity
195
- """
196
- systemName: Optional[str] = None
197
- schemaVersion: Optional[str] = "2022.8.16"
198
- """
199
- entity's schema version. Used to distinct between different schemas.
200
- """