valuesets 0.3.1__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 valuesets might be problematic. Click here for more details.

Files changed (248) hide show
  1. valuesets/__init__.py +7 -0
  2. valuesets/_version.py +8 -0
  3. valuesets/datamodel/valuesets.py +13796 -0
  4. valuesets/datamodel/valuesets_dataclass.py +24503 -0
  5. valuesets/datamodel/valuesets_pydantic.py +13796 -0
  6. valuesets/enums/__init__.py +590 -0
  7. valuesets/enums/academic/__init__.py +1 -0
  8. valuesets/enums/academic/research.py +559 -0
  9. valuesets/enums/analytical_chemistry/__init__.py +1 -0
  10. valuesets/enums/analytical_chemistry/mass_spectrometry.py +198 -0
  11. valuesets/enums/bio/__init__.py +1 -0
  12. valuesets/enums/bio/biological_colors.py +238 -0
  13. valuesets/enums/bio/cell_cycle.py +180 -0
  14. valuesets/enums/bio/currency_chemicals.py +52 -0
  15. valuesets/enums/bio/developmental_stages.py +103 -0
  16. valuesets/enums/bio/genome_features.py +182 -0
  17. valuesets/enums/bio/genomics.py +91 -0
  18. valuesets/enums/bio/go_aspect.py +32 -0
  19. valuesets/enums/bio/go_causality.py +58 -0
  20. valuesets/enums/bio/go_evidence.py +129 -0
  21. valuesets/enums/bio/human_developmental_stages.py +62 -0
  22. valuesets/enums/bio/insdc_geographic_locations.py +591 -0
  23. valuesets/enums/bio/insdc_missing_values.py +49 -0
  24. valuesets/enums/bio/lipid_categories.py +67 -0
  25. valuesets/enums/bio/mouse_developmental_stages.py +62 -0
  26. valuesets/enums/bio/plant_biology.py +86 -0
  27. valuesets/enums/bio/plant_developmental_stages.py +54 -0
  28. valuesets/enums/bio/plant_sex.py +81 -0
  29. valuesets/enums/bio/protein_evidence.py +61 -0
  30. valuesets/enums/bio/proteomics_standards.py +123 -0
  31. valuesets/enums/bio/psi_mi.py +306 -0
  32. valuesets/enums/bio/relationship_to_oxygen.py +37 -0
  33. valuesets/enums/bio/sequence_alphabets.py +449 -0
  34. valuesets/enums/bio/sequence_chemistry.py +357 -0
  35. valuesets/enums/bio/sequencing_platforms.py +302 -0
  36. valuesets/enums/bio/structural_biology.py +320 -0
  37. valuesets/enums/bio/taxonomy.py +238 -0
  38. valuesets/enums/bio/trophic_levels.py +85 -0
  39. valuesets/enums/bio/uniprot_species.py +344 -0
  40. valuesets/enums/bio/viral_genome_types.py +47 -0
  41. valuesets/enums/bioprocessing/__init__.py +1 -0
  42. valuesets/enums/bioprocessing/scale_up.py +249 -0
  43. valuesets/enums/business/__init__.py +1 -0
  44. valuesets/enums/business/human_resources.py +275 -0
  45. valuesets/enums/business/industry_classifications.py +181 -0
  46. valuesets/enums/business/management_operations.py +228 -0
  47. valuesets/enums/business/organizational_structures.py +236 -0
  48. valuesets/enums/business/quality_management.py +181 -0
  49. valuesets/enums/business/supply_chain.py +232 -0
  50. valuesets/enums/chemistry/__init__.py +1 -0
  51. valuesets/enums/chemistry/chemical_entities.py +315 -0
  52. valuesets/enums/chemistry/reaction_directionality.py +65 -0
  53. valuesets/enums/chemistry/reactions.py +256 -0
  54. valuesets/enums/clinical/__init__.py +1 -0
  55. valuesets/enums/clinical/nih_demographics.py +177 -0
  56. valuesets/enums/clinical/phenopackets.py +254 -0
  57. valuesets/enums/common_value_sets.py +8791 -0
  58. valuesets/enums/computing/__init__.py +1 -0
  59. valuesets/enums/computing/file_formats.py +294 -0
  60. valuesets/enums/computing/maturity_levels.py +196 -0
  61. valuesets/enums/computing/mime_types.py +227 -0
  62. valuesets/enums/confidence_levels.py +168 -0
  63. valuesets/enums/contributor.py +30 -0
  64. valuesets/enums/core.py +42 -0
  65. valuesets/enums/data/__init__.py +1 -0
  66. valuesets/enums/data/data_absent_reason.py +53 -0
  67. valuesets/enums/data_science/__init__.py +1 -0
  68. valuesets/enums/data_science/binary_classification.py +87 -0
  69. valuesets/enums/data_science/emotion_classification.py +66 -0
  70. valuesets/enums/data_science/priority_severity.py +73 -0
  71. valuesets/enums/data_science/quality_control.py +46 -0
  72. valuesets/enums/data_science/sentiment_analysis.py +50 -0
  73. valuesets/enums/data_science/text_classification.py +97 -0
  74. valuesets/enums/demographics.py +206 -0
  75. valuesets/enums/ecological_interactions.py +151 -0
  76. valuesets/enums/energy/__init__.py +1 -0
  77. valuesets/enums/energy/energy.py +343 -0
  78. valuesets/enums/energy/fossil_fuels.py +29 -0
  79. valuesets/enums/energy/nuclear/__init__.py +1 -0
  80. valuesets/enums/energy/nuclear/nuclear_facilities.py +195 -0
  81. valuesets/enums/energy/nuclear/nuclear_fuel_cycle.py +96 -0
  82. valuesets/enums/energy/nuclear/nuclear_fuels.py +175 -0
  83. valuesets/enums/energy/nuclear/nuclear_operations.py +191 -0
  84. valuesets/enums/energy/nuclear/nuclear_regulatory.py +188 -0
  85. valuesets/enums/energy/nuclear/nuclear_safety.py +164 -0
  86. valuesets/enums/energy/nuclear/nuclear_waste.py +158 -0
  87. valuesets/enums/energy/nuclear/reactor_types.py +163 -0
  88. valuesets/enums/environmental_health/__init__.py +1 -0
  89. valuesets/enums/environmental_health/exposures.py +265 -0
  90. valuesets/enums/geography/__init__.py +1 -0
  91. valuesets/enums/geography/geographic_codes.py +741 -0
  92. valuesets/enums/health/__init__.py +12 -0
  93. valuesets/enums/health/vaccination.py +98 -0
  94. valuesets/enums/health.py +36 -0
  95. valuesets/enums/health_base.py +36 -0
  96. valuesets/enums/healthcare.py +45 -0
  97. valuesets/enums/industry/__init__.py +1 -0
  98. valuesets/enums/industry/extractive_industry.py +94 -0
  99. valuesets/enums/industry/mining.py +388 -0
  100. valuesets/enums/industry/safety_colors.py +201 -0
  101. valuesets/enums/investigation.py +27 -0
  102. valuesets/enums/materials_science/__init__.py +1 -0
  103. valuesets/enums/materials_science/characterization_methods.py +112 -0
  104. valuesets/enums/materials_science/crystal_structures.py +76 -0
  105. valuesets/enums/materials_science/material_properties.py +119 -0
  106. valuesets/enums/materials_science/material_types.py +104 -0
  107. valuesets/enums/materials_science/pigments_dyes.py +198 -0
  108. valuesets/enums/materials_science/synthesis_methods.py +109 -0
  109. valuesets/enums/medical/__init__.py +1 -0
  110. valuesets/enums/medical/clinical.py +277 -0
  111. valuesets/enums/medical/neuroimaging.py +119 -0
  112. valuesets/enums/mining_processing.py +302 -0
  113. valuesets/enums/physics/__init__.py +1 -0
  114. valuesets/enums/physics/states_of_matter.py +46 -0
  115. valuesets/enums/social/__init__.py +1 -0
  116. valuesets/enums/social/person_status.py +29 -0
  117. valuesets/enums/spatial/__init__.py +1 -0
  118. valuesets/enums/spatial/spatial_qualifiers.py +246 -0
  119. valuesets/enums/statistics/__init__.py +5 -0
  120. valuesets/enums/statistics/prediction_outcomes.py +31 -0
  121. valuesets/enums/statistics.py +31 -0
  122. valuesets/enums/time/__init__.py +1 -0
  123. valuesets/enums/time/temporal.py +254 -0
  124. valuesets/enums/units/__init__.py +1 -0
  125. valuesets/enums/units/measurements.py +310 -0
  126. valuesets/enums/visual/__init__.py +1 -0
  127. valuesets/enums/visual/colors.py +376 -0
  128. valuesets/generators/__init__.py +19 -0
  129. valuesets/generators/auto_slot_injector.py +280 -0
  130. valuesets/generators/enhanced_pydantic_generator.py +100 -0
  131. valuesets/generators/enum_slot_generator.py +201 -0
  132. valuesets/generators/modular_rich_generator.py +353 -0
  133. valuesets/generators/prefix_standardizer.py +198 -0
  134. valuesets/generators/rich_enum.py +127 -0
  135. valuesets/generators/rich_pydantic_generator.py +310 -0
  136. valuesets/generators/smart_slot_syncer.py +428 -0
  137. valuesets/generators/sssom_generator.py +394 -0
  138. valuesets/merged/merged_hierarchy.yaml +21649 -0
  139. valuesets/schema/README.md +3 -0
  140. valuesets/schema/academic/research.yaml +911 -0
  141. valuesets/schema/analytical_chemistry/mass_spectrometry.yaml +206 -0
  142. valuesets/schema/bio/bio_entities.yaml +364 -0
  143. valuesets/schema/bio/biological_colors.yaml +434 -0
  144. valuesets/schema/bio/cell_cycle.yaml +309 -0
  145. valuesets/schema/bio/currency_chemicals.yaml +70 -0
  146. valuesets/schema/bio/developmental_stages.yaml +226 -0
  147. valuesets/schema/bio/genome_features.yaml +342 -0
  148. valuesets/schema/bio/genomics.yaml +101 -0
  149. valuesets/schema/bio/go_aspect.yaml +39 -0
  150. valuesets/schema/bio/go_causality.yaml +119 -0
  151. valuesets/schema/bio/go_evidence.yaml +215 -0
  152. valuesets/schema/bio/insdc_geographic_locations.yaml +911 -0
  153. valuesets/schema/bio/insdc_missing_values.yaml +85 -0
  154. valuesets/schema/bio/lipid_categories.yaml +72 -0
  155. valuesets/schema/bio/plant_biology.yaml +125 -0
  156. valuesets/schema/bio/plant_developmental_stages.yaml +77 -0
  157. valuesets/schema/bio/plant_sex.yaml +108 -0
  158. valuesets/schema/bio/protein_evidence.yaml +63 -0
  159. valuesets/schema/bio/proteomics_standards.yaml +116 -0
  160. valuesets/schema/bio/psi_mi.yaml +400 -0
  161. valuesets/schema/bio/relationship_to_oxygen.yaml +46 -0
  162. valuesets/schema/bio/sequence_alphabets.yaml +1168 -0
  163. valuesets/schema/bio/sequence_chemistry.yaml +477 -0
  164. valuesets/schema/bio/sequencing_platforms.yaml +515 -0
  165. valuesets/schema/bio/structural_biology.yaml +428 -0
  166. valuesets/schema/bio/taxonomy.yaml +453 -0
  167. valuesets/schema/bio/trophic_levels.yaml +118 -0
  168. valuesets/schema/bio/uniprot_species.yaml +1209 -0
  169. valuesets/schema/bio/viral_genome_types.yaml +99 -0
  170. valuesets/schema/bioprocessing/scale_up.yaml +458 -0
  171. valuesets/schema/business/human_resources.yaml +752 -0
  172. valuesets/schema/business/industry_classifications.yaml +448 -0
  173. valuesets/schema/business/management_operations.yaml +602 -0
  174. valuesets/schema/business/organizational_structures.yaml +645 -0
  175. valuesets/schema/business/quality_management.yaml +502 -0
  176. valuesets/schema/business/supply_chain.yaml +688 -0
  177. valuesets/schema/chemistry/chemical_entities.yaml +639 -0
  178. valuesets/schema/chemistry/reaction_directionality.yaml +60 -0
  179. valuesets/schema/chemistry/reactions.yaml +442 -0
  180. valuesets/schema/clinical/nih_demographics.yaml +285 -0
  181. valuesets/schema/clinical/phenopackets.yaml +429 -0
  182. valuesets/schema/computing/file_formats.yaml +631 -0
  183. valuesets/schema/computing/maturity_levels.yaml +229 -0
  184. valuesets/schema/computing/mime_types.yaml +266 -0
  185. valuesets/schema/confidence_levels.yaml +206 -0
  186. valuesets/schema/contributor.yaml +30 -0
  187. valuesets/schema/core.yaml +55 -0
  188. valuesets/schema/data/data_absent_reason.yaml +82 -0
  189. valuesets/schema/data_science/binary_classification.yaml +125 -0
  190. valuesets/schema/data_science/emotion_classification.yaml +109 -0
  191. valuesets/schema/data_science/priority_severity.yaml +122 -0
  192. valuesets/schema/data_science/quality_control.yaml +68 -0
  193. valuesets/schema/data_science/sentiment_analysis.yaml +81 -0
  194. valuesets/schema/data_science/text_classification.yaml +135 -0
  195. valuesets/schema/demographics.yaml +238 -0
  196. valuesets/schema/ecological_interactions.yaml +298 -0
  197. valuesets/schema/energy/energy.yaml +595 -0
  198. valuesets/schema/energy/fossil_fuels.yaml +28 -0
  199. valuesets/schema/energy/nuclear/nuclear_facilities.yaml +463 -0
  200. valuesets/schema/energy/nuclear/nuclear_fuel_cycle.yaml +82 -0
  201. valuesets/schema/energy/nuclear/nuclear_fuels.yaml +421 -0
  202. valuesets/schema/energy/nuclear/nuclear_operations.yaml +480 -0
  203. valuesets/schema/energy/nuclear/nuclear_regulatory.yaml +200 -0
  204. valuesets/schema/energy/nuclear/nuclear_safety.yaml +352 -0
  205. valuesets/schema/energy/nuclear/nuclear_waste.yaml +332 -0
  206. valuesets/schema/energy/nuclear/reactor_types.yaml +394 -0
  207. valuesets/schema/environmental_health/exposures.yaml +355 -0
  208. valuesets/schema/generated_slots.yaml +1828 -0
  209. valuesets/schema/geography/geographic_codes.yaml +1018 -0
  210. valuesets/schema/health/vaccination.yaml +102 -0
  211. valuesets/schema/health.yaml +38 -0
  212. valuesets/schema/healthcare.yaml +53 -0
  213. valuesets/schema/industry/extractive_industry.yaml +89 -0
  214. valuesets/schema/industry/mining.yaml +888 -0
  215. valuesets/schema/industry/safety_colors.yaml +375 -0
  216. valuesets/schema/investigation.yaml +64 -0
  217. valuesets/schema/materials_science/characterization_methods.yaml +193 -0
  218. valuesets/schema/materials_science/crystal_structures.yaml +138 -0
  219. valuesets/schema/materials_science/material_properties.yaml +135 -0
  220. valuesets/schema/materials_science/material_types.yaml +151 -0
  221. valuesets/schema/materials_science/pigments_dyes.yaml +465 -0
  222. valuesets/schema/materials_science/synthesis_methods.yaml +186 -0
  223. valuesets/schema/medical/clinical.yaml +610 -0
  224. valuesets/schema/medical/neuroimaging.yaml +325 -0
  225. valuesets/schema/mining_processing.yaml +295 -0
  226. valuesets/schema/physics/states_of_matter.yaml +46 -0
  227. valuesets/schema/slot_mixins.yaml +143 -0
  228. valuesets/schema/social/person_status.yaml +28 -0
  229. valuesets/schema/spatial/spatial_qualifiers.yaml +466 -0
  230. valuesets/schema/statistics/prediction_outcomes.yaml +26 -0
  231. valuesets/schema/statistics.yaml +34 -0
  232. valuesets/schema/time/temporal.yaml +435 -0
  233. valuesets/schema/types.yaml +15 -0
  234. valuesets/schema/units/measurements.yaml +675 -0
  235. valuesets/schema/valuesets.yaml +100 -0
  236. valuesets/schema/visual/colors.yaml +778 -0
  237. valuesets/utils/__init__.py +6 -0
  238. valuesets/utils/comparison.py +102 -0
  239. valuesets/utils/expand_dynamic_enums.py +414 -0
  240. valuesets/utils/mapping_utils.py +236 -0
  241. valuesets/validators/__init__.py +11 -0
  242. valuesets/validators/enum_evaluator.py +669 -0
  243. valuesets/validators/oak_config.yaml +70 -0
  244. valuesets/validators/validate_with_ols.py +241 -0
  245. valuesets-0.3.1.dist-info/METADATA +395 -0
  246. valuesets-0.3.1.dist-info/RECORD +248 -0
  247. valuesets-0.3.1.dist-info/WHEEL +4 -0
  248. valuesets-0.3.1.dist-info/licenses/LICENSE +201 -0
@@ -0,0 +1,27 @@
1
+ """
2
+ valuesets-investigation
3
+
4
+ Common Data Model Elements: Human and investigation activities
5
+
6
+ Generated from: investigation.yaml
7
+ """
8
+
9
+ from __future__ import annotations
10
+
11
+ from typing import Dict, Any, Optional
12
+ from valuesets.generators.rich_enum import RichEnum
13
+
14
+ class CaseOrControlEnum(RichEnum):
15
+ # Enum members
16
+ CASE = "CASE"
17
+ CONTROL = "CONTROL"
18
+
19
+ # Set metadata after class creation
20
+ CaseOrControlEnum._metadata = {
21
+ "CASE": {'meaning': 'OBI:0002492'},
22
+ "CONTROL": {'meaning': 'OBI:0002493'},
23
+ }
24
+
25
+ __all__ = [
26
+ "CaseOrControlEnum",
27
+ ]
@@ -0,0 +1 @@
1
+ """Auto-generated package."""
@@ -0,0 +1,112 @@
1
+ """
2
+
3
+ Generated from: materials_science/characterization_methods.yaml
4
+ """
5
+
6
+ from __future__ import annotations
7
+
8
+ from typing import Dict, Any, Optional
9
+ from valuesets.generators.rich_enum import RichEnum
10
+
11
+ class MicroscopyMethodEnum(RichEnum):
12
+ """
13
+ Microscopy techniques for material characterization
14
+ """
15
+ # Enum members
16
+ SEM = "SEM"
17
+ TEM = "TEM"
18
+ STEM = "STEM"
19
+ AFM = "AFM"
20
+ STM = "STM"
21
+ OPTICAL = "OPTICAL"
22
+ CONFOCAL = "CONFOCAL"
23
+
24
+ # Set metadata after class creation
25
+ MicroscopyMethodEnum._metadata = {
26
+ "SEM": {'description': 'Scanning Electron Microscopy', 'meaning': 'CHMO:0000073', 'aliases': ['Scanning Electron Microscopy', 'SEM']},
27
+ "TEM": {'description': 'Transmission Electron Microscopy', 'meaning': 'CHMO:0000080', 'aliases': ['Transmission Electron Microscopy', 'TEM']},
28
+ "STEM": {'description': 'Scanning Transmission Electron Microscopy', 'aliases': ['Scanning Transmission Electron Microscopy']},
29
+ "AFM": {'description': 'Atomic Force Microscopy', 'meaning': 'CHMO:0000113', 'aliases': ['Atomic Force Microscopy', 'AFM']},
30
+ "STM": {'description': 'Scanning Tunneling Microscopy', 'meaning': 'CHMO:0000132', 'aliases': ['Scanning Tunneling Microscopy', 'STM']},
31
+ "OPTICAL": {'description': 'Optical/Light Microscopy', 'meaning': 'CHMO:0000102', 'aliases': ['Light Microscopy', 'Optical Microscopy', 'OPTICAL']},
32
+ "CONFOCAL": {'description': 'Confocal Laser Scanning Microscopy', 'meaning': 'CHMO:0000089', 'aliases': ['CLSM', 'CONFOCAL', 'Confocal']},
33
+ }
34
+
35
+ class SpectroscopyMethodEnum(RichEnum):
36
+ """
37
+ Spectroscopy techniques for material analysis
38
+ """
39
+ # Enum members
40
+ XRD = "XRD"
41
+ XPS = "XPS"
42
+ EDS = "EDS"
43
+ FTIR = "FTIR"
44
+ RAMAN = "RAMAN"
45
+ UV_VIS = "UV_VIS"
46
+ NMR = "NMR"
47
+ XRF = "XRF"
48
+
49
+ # Set metadata after class creation
50
+ SpectroscopyMethodEnum._metadata = {
51
+ "XRD": {'description': 'X-ray Diffraction', 'meaning': 'CHMO:0000156', 'aliases': ['X-ray Diffraction']},
52
+ "XPS": {'description': 'X-ray Photoelectron Spectroscopy', 'meaning': 'CHMO:0000404', 'aliases': ['ESCA', 'X-ray Photoelectron Spectroscopy']},
53
+ "EDS": {'description': 'Energy Dispersive X-ray Spectroscopy', 'meaning': 'CHMO:0000309', 'aliases': ['EDX', 'EDXS', 'EDS']},
54
+ "FTIR": {'description': 'Fourier Transform Infrared Spectroscopy', 'meaning': 'CHMO:0000636', 'aliases': ['FT-IR', 'FTIR']},
55
+ "RAMAN": {'description': 'Raman Spectroscopy', 'meaning': 'CHMO:0000656', 'aliases': ['Raman Spectroscopy']},
56
+ "UV_VIS": {'description': 'Ultraviolet-Visible Spectroscopy', 'meaning': 'CHMO:0000292', 'aliases': ['UV-Visible', 'UV-Vis', 'UV_VIS']},
57
+ "NMR": {'description': 'Nuclear Magnetic Resonance Spectroscopy', 'meaning': 'CHMO:0000591', 'aliases': ['Nuclear Magnetic Resonance', 'NMR']},
58
+ "XRF": {'description': 'X-ray Fluorescence Spectroscopy', 'meaning': 'CHMO:0000307', 'aliases': ['X-ray Fluorescence', 'XRF']},
59
+ }
60
+
61
+ class ThermalAnalysisMethodEnum(RichEnum):
62
+ """
63
+ Thermal analysis techniques
64
+ """
65
+ # Enum members
66
+ DSC = "DSC"
67
+ TGA = "TGA"
68
+ DTA = "DTA"
69
+ TMA = "TMA"
70
+ DMTA = "DMTA"
71
+
72
+ # Set metadata after class creation
73
+ ThermalAnalysisMethodEnum._metadata = {
74
+ "DSC": {'description': 'Differential Scanning Calorimetry', 'meaning': 'CHMO:0000684', 'aliases': ['Differential Scanning Calorimetry']},
75
+ "TGA": {'description': 'Thermogravimetric Analysis', 'meaning': 'CHMO:0000690', 'aliases': ['Thermogravimetric Analysis', 'TGA']},
76
+ "DTA": {'description': 'Differential Thermal Analysis', 'meaning': 'CHMO:0000687', 'aliases': ['Differential Thermal Analysis']},
77
+ "TMA": {'description': 'Thermomechanical Analysis', 'aliases': ['Thermomechanical Analysis']},
78
+ "DMTA": {'description': 'Dynamic Mechanical Thermal Analysis', 'aliases': ['DMA', 'Dynamic Mechanical Analysis']},
79
+ }
80
+
81
+ class MechanicalTestingMethodEnum(RichEnum):
82
+ """
83
+ Mechanical testing methods
84
+ """
85
+ # Enum members
86
+ TENSILE = "TENSILE"
87
+ COMPRESSION = "COMPRESSION"
88
+ HARDNESS = "HARDNESS"
89
+ IMPACT = "IMPACT"
90
+ FATIGUE = "FATIGUE"
91
+ CREEP = "CREEP"
92
+ FRACTURE_TOUGHNESS = "FRACTURE_TOUGHNESS"
93
+ NANOINDENTATION = "NANOINDENTATION"
94
+
95
+ # Set metadata after class creation
96
+ MechanicalTestingMethodEnum._metadata = {
97
+ "TENSILE": {'description': 'Tensile strength testing'},
98
+ "COMPRESSION": {'description': 'Compression strength testing'},
99
+ "HARDNESS": {'description': 'Hardness testing (Vickers, Rockwell, Brinell)'},
100
+ "IMPACT": {'description': 'Impact resistance testing (Charpy, Izod)'},
101
+ "FATIGUE": {'description': 'Fatigue testing under cyclic loading'},
102
+ "CREEP": {'description': 'Creep testing under sustained load'},
103
+ "FRACTURE_TOUGHNESS": {'description': 'Fracture toughness testing'},
104
+ "NANOINDENTATION": {'description': 'Nanoindentation for nanoscale mechanical properties'},
105
+ }
106
+
107
+ __all__ = [
108
+ "MicroscopyMethodEnum",
109
+ "SpectroscopyMethodEnum",
110
+ "ThermalAnalysisMethodEnum",
111
+ "MechanicalTestingMethodEnum",
112
+ ]
@@ -0,0 +1,76 @@
1
+ """
2
+
3
+ Generated from: materials_science/crystal_structures.yaml
4
+ """
5
+
6
+ from __future__ import annotations
7
+
8
+ from typing import Dict, Any, Optional
9
+ from valuesets.generators.rich_enum import RichEnum
10
+
11
+ class CrystalSystemEnum(RichEnum):
12
+ """
13
+ The seven crystal systems in crystallography
14
+ """
15
+ # Enum members
16
+ TRICLINIC = "TRICLINIC"
17
+ MONOCLINIC = "MONOCLINIC"
18
+ ORTHORHOMBIC = "ORTHORHOMBIC"
19
+ TETRAGONAL = "TETRAGONAL"
20
+ TRIGONAL = "TRIGONAL"
21
+ HEXAGONAL = "HEXAGONAL"
22
+ CUBIC = "CUBIC"
23
+
24
+ # Set metadata after class creation
25
+ CrystalSystemEnum._metadata = {
26
+ "TRICLINIC": {'description': 'Crystal system with no symmetry constraints (a≠b≠c, α≠β≠γ≠90°)', 'meaning': 'ENM:9000022', 'aliases': ['anorthic']},
27
+ "MONOCLINIC": {'description': 'Crystal system with one twofold axis of symmetry (a≠b≠c, α=γ=90°≠β)', 'meaning': 'ENM:9000029'},
28
+ "ORTHORHOMBIC": {'description': 'Crystal system with three mutually perpendicular axes (a≠b≠c, α=β=γ=90°)', 'meaning': 'ENM:9000031', 'aliases': ['rhombic']},
29
+ "TETRAGONAL": {'description': 'Crystal system with one fourfold axis (a=b≠c, α=β=γ=90°)', 'meaning': 'ENM:9000032'},
30
+ "TRIGONAL": {'description': 'Crystal system with one threefold axis (a=b=c, α=β=γ≠90°)', 'meaning': 'ENM:9000054', 'aliases': ['rhombohedral']},
31
+ "HEXAGONAL": {'description': 'Crystal system with one sixfold axis (a=b≠c, α=β=90°, γ=120°)', 'meaning': 'PATO:0002509'},
32
+ "CUBIC": {'description': 'Crystal system with four threefold axes (a=b=c, α=β=γ=90°)', 'meaning': 'ENM:9000035', 'aliases': ['isometric']},
33
+ }
34
+
35
+ class BravaisLatticeEnum(RichEnum):
36
+ """
37
+ The 14 Bravais lattices describing all possible crystal lattices
38
+ """
39
+ # Enum members
40
+ PRIMITIVE_TRICLINIC = "PRIMITIVE_TRICLINIC"
41
+ PRIMITIVE_MONOCLINIC = "PRIMITIVE_MONOCLINIC"
42
+ BASE_CENTERED_MONOCLINIC = "BASE_CENTERED_MONOCLINIC"
43
+ PRIMITIVE_ORTHORHOMBIC = "PRIMITIVE_ORTHORHOMBIC"
44
+ BASE_CENTERED_ORTHORHOMBIC = "BASE_CENTERED_ORTHORHOMBIC"
45
+ BODY_CENTERED_ORTHORHOMBIC = "BODY_CENTERED_ORTHORHOMBIC"
46
+ FACE_CENTERED_ORTHORHOMBIC = "FACE_CENTERED_ORTHORHOMBIC"
47
+ PRIMITIVE_TETRAGONAL = "PRIMITIVE_TETRAGONAL"
48
+ BODY_CENTERED_TETRAGONAL = "BODY_CENTERED_TETRAGONAL"
49
+ PRIMITIVE_TRIGONAL = "PRIMITIVE_TRIGONAL"
50
+ PRIMITIVE_HEXAGONAL = "PRIMITIVE_HEXAGONAL"
51
+ PRIMITIVE_CUBIC = "PRIMITIVE_CUBIC"
52
+ BODY_CENTERED_CUBIC = "BODY_CENTERED_CUBIC"
53
+ FACE_CENTERED_CUBIC = "FACE_CENTERED_CUBIC"
54
+
55
+ # Set metadata after class creation
56
+ BravaisLatticeEnum._metadata = {
57
+ "PRIMITIVE_TRICLINIC": {'description': 'Primitive triclinic lattice (aP)', 'aliases': ['aP']},
58
+ "PRIMITIVE_MONOCLINIC": {'description': 'Primitive monoclinic lattice (mP)', 'aliases': ['mP']},
59
+ "BASE_CENTERED_MONOCLINIC": {'description': 'Base-centered monoclinic lattice (mC)', 'aliases': ['mC', 'mS']},
60
+ "PRIMITIVE_ORTHORHOMBIC": {'description': 'Primitive orthorhombic lattice (oP)', 'aliases': ['oP']},
61
+ "BASE_CENTERED_ORTHORHOMBIC": {'description': 'Base-centered orthorhombic lattice (oC)', 'aliases': ['oC', 'oS']},
62
+ "BODY_CENTERED_ORTHORHOMBIC": {'description': 'Body-centered orthorhombic lattice (oI)', 'aliases': ['oI']},
63
+ "FACE_CENTERED_ORTHORHOMBIC": {'description': 'Face-centered orthorhombic lattice (oF)', 'aliases': ['oF']},
64
+ "PRIMITIVE_TETRAGONAL": {'description': 'Primitive tetragonal lattice (tP)', 'aliases': ['tP']},
65
+ "BODY_CENTERED_TETRAGONAL": {'description': 'Body-centered tetragonal lattice (tI)', 'aliases': ['tI']},
66
+ "PRIMITIVE_TRIGONAL": {'description': 'Primitive trigonal/rhombohedral lattice (hR)', 'aliases': ['hR']},
67
+ "PRIMITIVE_HEXAGONAL": {'description': 'Primitive hexagonal lattice (hP)', 'aliases': ['hP']},
68
+ "PRIMITIVE_CUBIC": {'description': 'Simple cubic lattice (cP)', 'aliases': ['cP', 'SC']},
69
+ "BODY_CENTERED_CUBIC": {'description': 'Body-centered cubic lattice (cI)', 'aliases': ['cI', 'BCC']},
70
+ "FACE_CENTERED_CUBIC": {'description': 'Face-centered cubic lattice (cF)', 'aliases': ['cF', 'FCC']},
71
+ }
72
+
73
+ __all__ = [
74
+ "CrystalSystemEnum",
75
+ "BravaisLatticeEnum",
76
+ ]
@@ -0,0 +1,119 @@
1
+ """
2
+
3
+ Generated from: materials_science/material_properties.yaml
4
+ """
5
+
6
+ from __future__ import annotations
7
+
8
+ from typing import Dict, Any, Optional
9
+ from valuesets.generators.rich_enum import RichEnum
10
+
11
+ class ElectricalConductivityEnum(RichEnum):
12
+ """
13
+ Classification of materials by electrical conductivity
14
+ """
15
+ # Enum members
16
+ CONDUCTOR = "CONDUCTOR"
17
+ SEMICONDUCTOR = "SEMICONDUCTOR"
18
+ INSULATOR = "INSULATOR"
19
+ SUPERCONDUCTOR = "SUPERCONDUCTOR"
20
+
21
+ # Set metadata after class creation
22
+ ElectricalConductivityEnum._metadata = {
23
+ "CONDUCTOR": {'description': 'Material with high electrical conductivity (resistivity < 10^-5 Ω·m)', 'aliases': ['metal']},
24
+ "SEMICONDUCTOR": {'description': 'Material with intermediate electrical conductivity (10^-5 to 10^8 Ω·m)', 'meaning': 'NCIT:C172788', 'aliases': ['semi']},
25
+ "INSULATOR": {'description': 'Material with very low electrical conductivity (resistivity > 10^8 Ω·m)', 'aliases': ['dielectric']},
26
+ "SUPERCONDUCTOR": {'description': 'Material with zero electrical resistance below critical temperature'},
27
+ }
28
+
29
+ class MagneticPropertyEnum(RichEnum):
30
+ """
31
+ Classification of materials by magnetic properties
32
+ """
33
+ # Enum members
34
+ DIAMAGNETIC = "DIAMAGNETIC"
35
+ PARAMAGNETIC = "PARAMAGNETIC"
36
+ FERROMAGNETIC = "FERROMAGNETIC"
37
+ FERRIMAGNETIC = "FERRIMAGNETIC"
38
+ ANTIFERROMAGNETIC = "ANTIFERROMAGNETIC"
39
+
40
+ # Set metadata after class creation
41
+ MagneticPropertyEnum._metadata = {
42
+ "DIAMAGNETIC": {'description': 'Weakly repelled by magnetic fields'},
43
+ "PARAMAGNETIC": {'description': 'Weakly attracted to magnetic fields'},
44
+ "FERROMAGNETIC": {'description': 'Strongly attracted to magnetic fields, can be permanently magnetized'},
45
+ "FERRIMAGNETIC": {'description': 'Similar to ferromagnetic but with opposing magnetic moments'},
46
+ "ANTIFERROMAGNETIC": {'description': 'Adjacent magnetic moments cancel each other'},
47
+ }
48
+
49
+ class OpticalPropertyEnum(RichEnum):
50
+ """
51
+ Optical properties of materials
52
+ """
53
+ # Enum members
54
+ TRANSPARENT = "TRANSPARENT"
55
+ TRANSLUCENT = "TRANSLUCENT"
56
+ OPAQUE = "OPAQUE"
57
+ REFLECTIVE = "REFLECTIVE"
58
+ ABSORBING = "ABSORBING"
59
+ FLUORESCENT = "FLUORESCENT"
60
+ PHOSPHORESCENT = "PHOSPHORESCENT"
61
+
62
+ # Set metadata after class creation
63
+ OpticalPropertyEnum._metadata = {
64
+ "TRANSPARENT": {'description': 'Allows light to pass through with minimal scattering', 'meaning': 'PATO:0000964'},
65
+ "TRANSLUCENT": {'description': 'Allows light to pass through but with significant scattering'},
66
+ "OPAQUE": {'description': 'Does not allow light to pass through', 'meaning': 'PATO:0000963'},
67
+ "REFLECTIVE": {'description': 'Reflects most incident light'},
68
+ "ABSORBING": {'description': 'Absorbs most incident light'},
69
+ "FLUORESCENT": {'description': 'Emits light when excited by radiation'},
70
+ "PHOSPHORESCENT": {'description': 'Continues to emit light after excitation stops'},
71
+ }
72
+
73
+ class ThermalConductivityEnum(RichEnum):
74
+ """
75
+ Classification by thermal conductivity
76
+ """
77
+ # Enum members
78
+ HIGH_THERMAL_CONDUCTOR = "HIGH_THERMAL_CONDUCTOR"
79
+ MODERATE_THERMAL_CONDUCTOR = "MODERATE_THERMAL_CONDUCTOR"
80
+ THERMAL_INSULATOR = "THERMAL_INSULATOR"
81
+
82
+ # Set metadata after class creation
83
+ ThermalConductivityEnum._metadata = {
84
+ "HIGH_THERMAL_CONDUCTOR": {'description': 'High thermal conductivity (>100 W/m·K)', 'aliases': ['thermal conductor']},
85
+ "MODERATE_THERMAL_CONDUCTOR": {'description': 'Moderate thermal conductivity (1-100 W/m·K)'},
86
+ "THERMAL_INSULATOR": {'description': 'Low thermal conductivity (<1 W/m·K)', 'aliases': ['thermal barrier']},
87
+ }
88
+
89
+ class MechanicalBehaviorEnum(RichEnum):
90
+ """
91
+ Mechanical behavior of materials under stress
92
+ """
93
+ # Enum members
94
+ ELASTIC = "ELASTIC"
95
+ PLASTIC = "PLASTIC"
96
+ BRITTLE = "BRITTLE"
97
+ DUCTILE = "DUCTILE"
98
+ MALLEABLE = "MALLEABLE"
99
+ TOUGH = "TOUGH"
100
+ VISCOELASTIC = "VISCOELASTIC"
101
+
102
+ # Set metadata after class creation
103
+ MechanicalBehaviorEnum._metadata = {
104
+ "ELASTIC": {'description': 'Returns to original shape after stress removal', 'meaning': 'PATO:0001171'},
105
+ "PLASTIC": {'description': 'Undergoes permanent deformation under stress', 'meaning': 'PATO:0001172'},
106
+ "BRITTLE": {'description': 'Breaks without significant plastic deformation', 'meaning': 'PATO:0002477'},
107
+ "DUCTILE": {'description': 'Can be drawn into wires, undergoes large plastic deformation'},
108
+ "MALLEABLE": {'description': 'Can be hammered into sheets'},
109
+ "TOUGH": {'description': 'High resistance to fracture'},
110
+ "VISCOELASTIC": {'description': 'Exhibits both viscous and elastic characteristics'},
111
+ }
112
+
113
+ __all__ = [
114
+ "ElectricalConductivityEnum",
115
+ "MagneticPropertyEnum",
116
+ "OpticalPropertyEnum",
117
+ "ThermalConductivityEnum",
118
+ "MechanicalBehaviorEnum",
119
+ ]
@@ -0,0 +1,104 @@
1
+ """
2
+
3
+ Generated from: materials_science/material_types.yaml
4
+ """
5
+
6
+ from __future__ import annotations
7
+
8
+ from typing import Dict, Any, Optional
9
+ from valuesets.generators.rich_enum import RichEnum
10
+
11
+ class MaterialClassEnum(RichEnum):
12
+ """
13
+ Major classes of materials
14
+ """
15
+ # Enum members
16
+ METAL = "METAL"
17
+ CERAMIC = "CERAMIC"
18
+ POLYMER = "POLYMER"
19
+ COMPOSITE = "COMPOSITE"
20
+ SEMICONDUCTOR = "SEMICONDUCTOR"
21
+ BIOMATERIAL = "BIOMATERIAL"
22
+ NANOMATERIAL = "NANOMATERIAL"
23
+
24
+ # Set metadata after class creation
25
+ MaterialClassEnum._metadata = {
26
+ "METAL": {'description': 'Metallic materials with metallic bonding', 'meaning': 'ENVO:01001069', 'aliases': ['Metal', 'METAL']},
27
+ "CERAMIC": {'description': 'Inorganic non-metallic materials', 'meaning': 'ENVO:03501307'},
28
+ "POLYMER": {'description': 'Large molecules composed of repeating units', 'meaning': 'CHEBI:60027'},
29
+ "COMPOSITE": {'description': 'Materials made from two or more constituent materials', 'meaning': 'NCIT:C61520'},
30
+ "SEMICONDUCTOR": {'description': 'Materials with electrical conductivity between conductors and insulators', 'meaning': 'NCIT:C172788'},
31
+ "BIOMATERIAL": {'description': 'Materials designed to interact with biological systems', 'meaning': 'NCIT:C16338', 'aliases': ['Biomaterial', 'BIOMATERIAL']},
32
+ "NANOMATERIAL": {'description': 'Materials with at least one dimension in nanoscale (1-100 nm)', 'meaning': 'NCIT:C62371'},
33
+ }
34
+
35
+ class PolymerTypeEnum(RichEnum):
36
+ """
37
+ Types of polymer materials
38
+ """
39
+ # Enum members
40
+ THERMOPLASTIC = "THERMOPLASTIC"
41
+ THERMOSET = "THERMOSET"
42
+ ELASTOMER = "ELASTOMER"
43
+ BIOPOLYMER = "BIOPOLYMER"
44
+ CONDUCTING_POLYMER = "CONDUCTING_POLYMER"
45
+
46
+ # Set metadata after class creation
47
+ PolymerTypeEnum._metadata = {
48
+ "THERMOPLASTIC": {'description': 'Polymer that becomes moldable above specific temperature', 'meaning': 'PATO:0040070'},
49
+ "THERMOSET": {'description': 'Polymer that irreversibly hardens when cured', 'meaning': 'ENVO:06105005', 'aliases': ['thermosetting polymer', 'Thermoset', 'THERMOSET']},
50
+ "ELASTOMER": {'description': 'Polymer with elastic properties', 'meaning': 'SNOMED:261777007', 'aliases': ['rubber']},
51
+ "BIOPOLYMER": {'description': 'Polymer produced by living organisms', 'meaning': 'NCIT:C73478'},
52
+ "CONDUCTING_POLYMER": {'description': 'Polymer that conducts electricity', 'aliases': ['conducting polymer']},
53
+ }
54
+
55
+ class MetalTypeEnum(RichEnum):
56
+ """
57
+ Types of metallic materials
58
+ """
59
+ # Enum members
60
+ FERROUS = "FERROUS"
61
+ NON_FERROUS = "NON_FERROUS"
62
+ NOBLE_METAL = "NOBLE_METAL"
63
+ REFRACTORY_METAL = "REFRACTORY_METAL"
64
+ LIGHT_METAL = "LIGHT_METAL"
65
+ HEAVY_METAL = "HEAVY_METAL"
66
+
67
+ # Set metadata after class creation
68
+ MetalTypeEnum._metadata = {
69
+ "FERROUS": {'description': 'Iron-based metals and alloys', 'meaning': 'SNOMED:264354006', 'aliases': ['iron-based']},
70
+ "NON_FERROUS": {'description': 'Metals and alloys not containing iron', 'meaning': 'SNOMED:264879001'},
71
+ "NOBLE_METAL": {'description': 'Metals resistant to corrosion and oxidation'},
72
+ "REFRACTORY_METAL": {'description': 'Metals with very high melting points (>2000°C)'},
73
+ "LIGHT_METAL": {'description': 'Low density metals (density < 5 g/cm³)', 'meaning': 'SNOMED:65436002'},
74
+ "HEAVY_METAL": {'description': 'High density metals (density > 5 g/cm³)', 'meaning': 'CHEBI:5631'},
75
+ }
76
+
77
+ class CompositeTypeEnum(RichEnum):
78
+ """
79
+ Types of composite materials
80
+ """
81
+ # Enum members
82
+ FIBER_REINFORCED = "FIBER_REINFORCED"
83
+ PARTICLE_REINFORCED = "PARTICLE_REINFORCED"
84
+ LAMINAR_COMPOSITE = "LAMINAR_COMPOSITE"
85
+ METAL_MATRIX_COMPOSITE = "METAL_MATRIX_COMPOSITE"
86
+ CERAMIC_MATRIX_COMPOSITE = "CERAMIC_MATRIX_COMPOSITE"
87
+ POLYMER_MATRIX_COMPOSITE = "POLYMER_MATRIX_COMPOSITE"
88
+
89
+ # Set metadata after class creation
90
+ CompositeTypeEnum._metadata = {
91
+ "FIBER_REINFORCED": {'description': 'Composite with fiber reinforcement', 'aliases': ['FRC']},
92
+ "PARTICLE_REINFORCED": {'description': 'Composite with particle reinforcement'},
93
+ "LAMINAR_COMPOSITE": {'description': 'Composite with layered structure', 'aliases': ['laminate']},
94
+ "METAL_MATRIX_COMPOSITE": {'description': 'Composite with metal matrix', 'aliases': ['MMC']},
95
+ "CERAMIC_MATRIX_COMPOSITE": {'description': 'Composite with ceramic matrix', 'aliases': ['CMC']},
96
+ "POLYMER_MATRIX_COMPOSITE": {'description': 'Composite with polymer matrix', 'aliases': ['PMC']},
97
+ }
98
+
99
+ __all__ = [
100
+ "MaterialClassEnum",
101
+ "PolymerTypeEnum",
102
+ "MetalTypeEnum",
103
+ "CompositeTypeEnum",
104
+ ]