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,388 @@
1
+ """
2
+ Mining and Extractive Industry Value Sets
3
+
4
+ Value sets for mining operations, minerals, extraction methods, and related concepts
5
+
6
+ Generated from: industry/mining.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 MiningType(RichEnum):
15
+ """
16
+ Types of mining operations
17
+ """
18
+ # Enum members
19
+ OPEN_PIT = "OPEN_PIT"
20
+ STRIP_MINING = "STRIP_MINING"
21
+ MOUNTAINTOP_REMOVAL = "MOUNTAINTOP_REMOVAL"
22
+ QUARRYING = "QUARRYING"
23
+ PLACER = "PLACER"
24
+ DREDGING = "DREDGING"
25
+ SHAFT_MINING = "SHAFT_MINING"
26
+ DRIFT_MINING = "DRIFT_MINING"
27
+ SLOPE_MINING = "SLOPE_MINING"
28
+ ROOM_AND_PILLAR = "ROOM_AND_PILLAR"
29
+ LONGWALL = "LONGWALL"
30
+ BLOCK_CAVING = "BLOCK_CAVING"
31
+ SOLUTION_MINING = "SOLUTION_MINING"
32
+ HYDRAULIC_MINING = "HYDRAULIC_MINING"
33
+ ARTISANAL = "ARTISANAL"
34
+ DEEP_SEA = "DEEP_SEA"
35
+
36
+ # Set metadata after class creation
37
+ MiningType._metadata = {
38
+ "OPEN_PIT": {'description': 'Open-pit mining', 'meaning': 'ENVO:00000284', 'annotations': {'category': 'surface', 'depth': 'shallow to deep'}},
39
+ "STRIP_MINING": {'description': 'Strip mining', 'meaning': 'ENVO:01001441', 'annotations': {'category': 'surface', 'aliases': 'surface mining, opencast mining'}},
40
+ "MOUNTAINTOP_REMOVAL": {'description': 'Mountaintop removal mining', 'annotations': {'category': 'surface', 'region': 'primarily Appalachian'}},
41
+ "QUARRYING": {'description': 'Quarrying', 'meaning': 'ENVO:00000284', 'annotations': {'category': 'surface', 'materials': 'stone, sand, gravel'}},
42
+ "PLACER": {'description': 'Placer mining', 'meaning': 'ENVO:01001204', 'annotations': {'category': 'surface', 'target': 'alluvial deposits'}},
43
+ "DREDGING": {'description': 'Dredging', 'annotations': {'category': 'surface/underwater', 'environment': 'rivers, harbors, seas'}},
44
+ "SHAFT_MINING": {'description': 'Shaft mining', 'annotations': {'category': 'underground', 'access': 'vertical shaft'}},
45
+ "DRIFT_MINING": {'description': 'Drift mining', 'annotations': {'category': 'underground', 'access': 'horizontal tunnel'}},
46
+ "SLOPE_MINING": {'description': 'Slope mining', 'annotations': {'category': 'underground', 'access': 'inclined shaft'}},
47
+ "ROOM_AND_PILLAR": {'description': 'Room and pillar mining', 'annotations': {'category': 'underground', 'method': 'leaves pillars for support'}},
48
+ "LONGWALL": {'description': 'Longwall mining', 'annotations': {'category': 'underground', 'method': 'progressive slice extraction'}},
49
+ "BLOCK_CAVING": {'description': 'Block caving', 'annotations': {'category': 'underground', 'method': 'gravity-assisted'}},
50
+ "SOLUTION_MINING": {'description': 'Solution mining (in-situ leaching)', 'annotations': {'category': 'specialized', 'method': 'chemical dissolution'}},
51
+ "HYDRAULIC_MINING": {'description': 'Hydraulic mining', 'annotations': {'category': 'specialized', 'method': 'high-pressure water'}},
52
+ "ARTISANAL": {'description': 'Artisanal and small-scale mining', 'annotations': {'category': 'small-scale', 'equipment': 'minimal mechanization'}},
53
+ "DEEP_SEA": {'description': 'Deep sea mining', 'annotations': {'category': 'marine', 'depth': 'ocean floor'}},
54
+ }
55
+
56
+ class MineralCategory(RichEnum):
57
+ """
58
+ Categories of minerals and materials
59
+ """
60
+ # Enum members
61
+ PRECIOUS_METALS = "PRECIOUS_METALS"
62
+ BASE_METALS = "BASE_METALS"
63
+ FERROUS_METALS = "FERROUS_METALS"
64
+ RARE_EARTH_ELEMENTS = "RARE_EARTH_ELEMENTS"
65
+ RADIOACTIVE = "RADIOACTIVE"
66
+ INDUSTRIAL_MINERALS = "INDUSTRIAL_MINERALS"
67
+ GEMSTONES = "GEMSTONES"
68
+ ENERGY_MINERALS = "ENERGY_MINERALS"
69
+ CONSTRUCTION_MATERIALS = "CONSTRUCTION_MATERIALS"
70
+ CHEMICAL_MINERALS = "CHEMICAL_MINERALS"
71
+
72
+ # Set metadata after class creation
73
+ MineralCategory._metadata = {
74
+ "PRECIOUS_METALS": {'description': 'Precious metals', 'annotations': {'examples': 'gold, silver, platinum'}},
75
+ "BASE_METALS": {'description': 'Base metals', 'annotations': {'examples': 'copper, lead, zinc, tin'}},
76
+ "FERROUS_METALS": {'description': 'Ferrous metals', 'annotations': {'examples': 'iron, steel, manganese'}},
77
+ "RARE_EARTH_ELEMENTS": {'description': 'Rare earth elements', 'annotations': {'examples': 'neodymium, dysprosium, cerium', 'count': '17 elements'}},
78
+ "RADIOACTIVE": {'description': 'Radioactive minerals', 'annotations': {'examples': 'uranium, thorium, radium'}},
79
+ "INDUSTRIAL_MINERALS": {'description': 'Industrial minerals', 'annotations': {'examples': 'limestone, gypsum, salt'}},
80
+ "GEMSTONES": {'description': 'Gemstones', 'annotations': {'examples': 'diamond, ruby, emerald'}},
81
+ "ENERGY_MINERALS": {'description': 'Energy minerals', 'annotations': {'examples': 'coal, oil shale, tar sands'}},
82
+ "CONSTRUCTION_MATERIALS": {'description': 'Construction materials', 'annotations': {'examples': 'sand, gravel, crushed stone'}},
83
+ "CHEMICAL_MINERALS": {'description': 'Chemical and fertilizer minerals', 'annotations': {'examples': 'phosphate, potash, sulfur'}},
84
+ }
85
+
86
+ class CriticalMineral(RichEnum):
87
+ """
88
+ Critical minerals essential for economic and national security,
89
+ particularly for clean energy, defense, and technology applications.
90
+ Based on US Geological Survey and EU critical raw materials lists.
91
+ """
92
+ # Enum members
93
+ LITHIUM = "LITHIUM"
94
+ COBALT = "COBALT"
95
+ NICKEL = "NICKEL"
96
+ GRAPHITE = "GRAPHITE"
97
+ MANGANESE = "MANGANESE"
98
+ NEODYMIUM = "NEODYMIUM"
99
+ DYSPROSIUM = "DYSPROSIUM"
100
+ PRASEODYMIUM = "PRASEODYMIUM"
101
+ TERBIUM = "TERBIUM"
102
+ EUROPIUM = "EUROPIUM"
103
+ YTTRIUM = "YTTRIUM"
104
+ CERIUM = "CERIUM"
105
+ LANTHANUM = "LANTHANUM"
106
+ GALLIUM = "GALLIUM"
107
+ GERMANIUM = "GERMANIUM"
108
+ INDIUM = "INDIUM"
109
+ TELLURIUM = "TELLURIUM"
110
+ ARSENIC = "ARSENIC"
111
+ TITANIUM = "TITANIUM"
112
+ VANADIUM = "VANADIUM"
113
+ CHROMIUM = "CHROMIUM"
114
+ TUNGSTEN = "TUNGSTEN"
115
+ TANTALUM = "TANTALUM"
116
+ NIOBIUM = "NIOBIUM"
117
+ ZIRCONIUM = "ZIRCONIUM"
118
+ HAFNIUM = "HAFNIUM"
119
+ PLATINUM = "PLATINUM"
120
+ PALLADIUM = "PALLADIUM"
121
+ RHODIUM = "RHODIUM"
122
+ IRIDIUM = "IRIDIUM"
123
+ RUTHENIUM = "RUTHENIUM"
124
+ ANTIMONY = "ANTIMONY"
125
+ BISMUTH = "BISMUTH"
126
+ BERYLLIUM = "BERYLLIUM"
127
+ MAGNESIUM = "MAGNESIUM"
128
+ ALUMINUM = "ALUMINUM"
129
+ TIN = "TIN"
130
+ FLUORSPAR = "FLUORSPAR"
131
+ BARITE = "BARITE"
132
+ HELIUM = "HELIUM"
133
+ POTASH = "POTASH"
134
+ PHOSPHATE_ROCK = "PHOSPHATE_ROCK"
135
+ SCANDIUM = "SCANDIUM"
136
+ STRONTIUM = "STRONTIUM"
137
+
138
+ # Set metadata after class creation
139
+ CriticalMineral._metadata = {
140
+ "LITHIUM": {'description': 'Lithium (Li) - essential for batteries', 'meaning': 'CHEBI:30145', 'annotations': {'symbol': 'Li', 'atomic_number': 3, 'applications': 'batteries, ceramics, glass'}},
141
+ "COBALT": {'description': 'Cobalt (Co) - battery cathodes and superalloys', 'meaning': 'CHEBI:27638', 'annotations': {'symbol': 'Co', 'atomic_number': 27, 'applications': 'batteries, superalloys, magnets'}},
142
+ "NICKEL": {'description': 'Nickel (Ni) - stainless steel and batteries', 'meaning': 'CHEBI:28112', 'annotations': {'symbol': 'Ni', 'atomic_number': 28, 'applications': 'stainless steel, batteries, alloys'}},
143
+ "GRAPHITE": {'description': 'Graphite - battery anodes and refractories', 'meaning': 'CHEBI:33418', 'annotations': {'formula': 'C', 'applications': 'batteries, lubricants, refractories'}},
144
+ "MANGANESE": {'description': 'Manganese (Mn) - steel and battery production', 'meaning': 'CHEBI:18291', 'annotations': {'symbol': 'Mn', 'atomic_number': 25, 'applications': 'steel, batteries, aluminum alloys'}},
145
+ "NEODYMIUM": {'description': 'Neodymium (Nd) - permanent magnets', 'meaning': 'CHEBI:33372', 'annotations': {'symbol': 'Nd', 'atomic_number': 60, 'category': 'light rare earth', 'applications': 'magnets, lasers, glass'}},
146
+ "DYSPROSIUM": {'description': 'Dysprosium (Dy) - high-performance magnets', 'meaning': 'CHEBI:33377', 'annotations': {'symbol': 'Dy', 'atomic_number': 66, 'category': 'heavy rare earth', 'applications': 'magnets, nuclear control rods'}},
147
+ "PRASEODYMIUM": {'description': 'Praseodymium (Pr) - magnets and alloys', 'meaning': 'CHEBI:49828', 'annotations': {'symbol': 'Pr', 'atomic_number': 59, 'category': 'light rare earth', 'applications': 'magnets, aircraft engines, glass'}},
148
+ "TERBIUM": {'description': 'Terbium (Tb) - phosphors and magnets', 'meaning': 'CHEBI:33376', 'annotations': {'symbol': 'Tb', 'atomic_number': 65, 'category': 'heavy rare earth', 'applications': 'solid-state devices, fuel cells'}},
149
+ "EUROPIUM": {'description': 'Europium (Eu) - phosphors and nuclear control', 'meaning': 'CHEBI:32999', 'annotations': {'symbol': 'Eu', 'atomic_number': 63, 'category': 'heavy rare earth', 'applications': 'LED phosphors, lasers'}},
150
+ "YTTRIUM": {'description': 'Yttrium (Y) - phosphors and ceramics', 'meaning': 'CHEBI:33331', 'annotations': {'symbol': 'Y', 'atomic_number': 39, 'applications': 'LEDs, superconductors, ceramics'}},
151
+ "CERIUM": {'description': 'Cerium (Ce) - catalysts and glass polishing', 'meaning': 'CHEBI:33369', 'annotations': {'symbol': 'Ce', 'atomic_number': 58, 'category': 'light rare earth', 'applications': 'catalysts, glass polishing, alloys'}},
152
+ "LANTHANUM": {'description': 'Lanthanum (La) - catalysts and optics', 'meaning': 'CHEBI:33336', 'annotations': {'symbol': 'La', 'atomic_number': 57, 'category': 'light rare earth', 'applications': 'catalysts, optical glass, batteries'}},
153
+ "GALLIUM": {'description': 'Gallium (Ga) - semiconductors and LEDs', 'meaning': 'CHEBI:49631', 'annotations': {'symbol': 'Ga', 'atomic_number': 31, 'applications': 'semiconductors, LEDs, solar cells'}},
154
+ "GERMANIUM": {'description': 'Germanium (Ge) - fiber optics and infrared', 'meaning': 'CHEBI:30441', 'annotations': {'symbol': 'Ge', 'atomic_number': 32, 'applications': 'fiber optics, infrared optics, solar cells'}},
155
+ "INDIUM": {'description': 'Indium (In) - displays and semiconductors', 'meaning': 'CHEBI:30430', 'annotations': {'symbol': 'In', 'atomic_number': 49, 'applications': 'LCD displays, semiconductors, solar panels'}},
156
+ "TELLURIUM": {'description': 'Tellurium (Te) - solar panels and thermoelectrics', 'meaning': 'CHEBI:30452', 'annotations': {'symbol': 'Te', 'atomic_number': 52, 'applications': 'solar panels, thermoelectrics, alloys'}},
157
+ "ARSENIC": {'description': 'Arsenic (As) - semiconductors and alloys', 'meaning': 'CHEBI:27563', 'annotations': {'symbol': 'As', 'atomic_number': 33, 'applications': 'semiconductors, wood preservatives'}},
158
+ "TITANIUM": {'description': 'Titanium (Ti) - aerospace and defense', 'meaning': 'CHEBI:33341', 'annotations': {'symbol': 'Ti', 'atomic_number': 22, 'applications': 'aerospace, medical implants, pigments'}},
159
+ "VANADIUM": {'description': 'Vanadium (V) - steel alloys and batteries', 'meaning': 'CHEBI:27698', 'annotations': {'symbol': 'V', 'atomic_number': 23, 'applications': 'steel alloys, flow batteries, catalysts'}},
160
+ "CHROMIUM": {'description': 'Chromium (Cr) - stainless steel and alloys', 'meaning': 'CHEBI:28073', 'annotations': {'symbol': 'Cr', 'atomic_number': 24, 'applications': 'stainless steel, superalloys, plating'}},
161
+ "TUNGSTEN": {'description': 'Tungsten (W) - hard metals and electronics', 'meaning': 'CHEBI:27998', 'annotations': {'symbol': 'W', 'atomic_number': 74, 'applications': 'cutting tools, electronics, alloys'}},
162
+ "TANTALUM": {'description': 'Tantalum (Ta) - capacitors and superalloys', 'meaning': 'CHEBI:33348', 'annotations': {'symbol': 'Ta', 'atomic_number': 73, 'applications': 'capacitors, medical implants, superalloys'}},
163
+ "NIOBIUM": {'description': 'Niobium (Nb) - steel alloys and superconductors', 'meaning': 'CHEBI:33344', 'annotations': {'symbol': 'Nb', 'atomic_number': 41, 'applications': 'steel alloys, superconductors, capacitors'}},
164
+ "ZIRCONIUM": {'description': 'Zirconium (Zr) - nuclear and ceramics', 'meaning': 'CHEBI:33342', 'annotations': {'symbol': 'Zr', 'atomic_number': 40, 'applications': 'nuclear reactors, ceramics, alloys'}},
165
+ "HAFNIUM": {'description': 'Hafnium (Hf) - nuclear and semiconductors', 'meaning': 'CHEBI:33343', 'annotations': {'symbol': 'Hf', 'atomic_number': 72, 'applications': 'nuclear control rods, superalloys'}},
166
+ "PLATINUM": {'description': 'Platinum (Pt) - catalysts and electronics', 'meaning': 'CHEBI:33400', 'annotations': {'symbol': 'Pt', 'atomic_number': 78, 'category': 'PGM', 'applications': 'catalysts, jewelry, electronics'}},
167
+ "PALLADIUM": {'description': 'Palladium (Pd) - catalysts and electronics', 'meaning': 'CHEBI:33363', 'annotations': {'symbol': 'Pd', 'atomic_number': 46, 'category': 'PGM', 'applications': 'catalysts, electronics, dentistry'}},
168
+ "RHODIUM": {'description': 'Rhodium (Rh) - catalysts and electronics', 'meaning': 'CHEBI:33359', 'annotations': {'symbol': 'Rh', 'atomic_number': 45, 'category': 'PGM', 'applications': 'catalysts, electronics, glass'}},
169
+ "IRIDIUM": {'description': 'Iridium (Ir) - electronics and catalysts', 'meaning': 'CHEBI:49666', 'annotations': {'symbol': 'Ir', 'atomic_number': 77, 'category': 'PGM', 'applications': 'spark plugs, electronics, catalysts'}},
170
+ "RUTHENIUM": {'description': 'Ruthenium (Ru) - electronics and catalysts', 'meaning': 'CHEBI:30682', 'annotations': {'symbol': 'Ru', 'atomic_number': 44, 'category': 'PGM', 'applications': 'electronics, catalysts, solar cells'}},
171
+ "ANTIMONY": {'description': 'Antimony (Sb) - flame retardants and batteries', 'meaning': 'CHEBI:30513', 'annotations': {'symbol': 'Sb', 'atomic_number': 51, 'applications': 'flame retardants, batteries, alloys'}},
172
+ "BISMUTH": {'description': 'Bismuth (Bi) - pharmaceuticals and alloys', 'meaning': 'CHEBI:33301', 'annotations': {'symbol': 'Bi', 'atomic_number': 83, 'applications': 'pharmaceuticals, cosmetics, alloys'}},
173
+ "BERYLLIUM": {'description': 'Beryllium (Be) - aerospace and defense', 'meaning': 'CHEBI:30501', 'annotations': {'symbol': 'Be', 'atomic_number': 4, 'applications': 'aerospace, defense, nuclear'}},
174
+ "MAGNESIUM": {'description': 'Magnesium (Mg) - lightweight alloys', 'meaning': 'CHEBI:25107', 'annotations': {'symbol': 'Mg', 'atomic_number': 12, 'applications': 'alloys, automotive, aerospace'}},
175
+ "ALUMINUM": {'description': 'Aluminum (Al) - construction and transportation', 'meaning': 'CHEBI:28984', 'annotations': {'symbol': 'Al', 'atomic_number': 13, 'applications': 'construction, transportation, packaging'}},
176
+ "TIN": {'description': 'Tin (Sn) - solders and coatings', 'meaning': 'CHEBI:27007', 'annotations': {'symbol': 'Sn', 'atomic_number': 50, 'applications': 'solders, coatings, alloys'}},
177
+ "FLUORSPAR": {'description': 'Fluorspar (CaF2) - steel and aluminum production', 'meaning': 'CHEBI:35437', 'annotations': {'formula': 'CaF2', 'mineral_name': 'fluorite', 'applications': 'steel, aluminum, refrigerants'}},
178
+ "BARITE": {'description': 'Barite (BaSO4) - drilling and chemicals', 'meaning': 'CHEBI:133326', 'annotations': {'formula': 'BaSO4', 'applications': 'oil drilling, chemicals, radiation shielding'}},
179
+ "HELIUM": {'description': 'Helium (He) - cryogenics and electronics', 'meaning': 'CHEBI:33681', 'annotations': {'symbol': 'He', 'atomic_number': 2, 'applications': 'MRI, semiconductors, aerospace'}},
180
+ "POTASH": {'description': 'Potash (K2O) - fertilizers and chemicals', 'meaning': 'CHEBI:88321', 'annotations': {'formula': 'K2O', 'applications': 'fertilizers, chemicals, glass'}},
181
+ "PHOSPHATE_ROCK": {'description': 'Phosphate rock - fertilizers and chemicals', 'meaning': 'CHEBI:26020', 'annotations': {'applications': 'fertilizers, food additives, chemicals'}},
182
+ "SCANDIUM": {'description': 'Scandium (Sc) - aerospace alloys', 'meaning': 'CHEBI:33330', 'annotations': {'symbol': 'Sc', 'atomic_number': 21, 'applications': 'aerospace alloys, solid oxide fuel cells'}},
183
+ "STRONTIUM": {'description': 'Strontium (Sr) - magnets and pyrotechnics', 'meaning': 'CHEBI:33324', 'annotations': {'symbol': 'Sr', 'atomic_number': 38, 'applications': 'magnets, pyrotechnics, medical'}},
184
+ }
185
+
186
+ class CommonMineral(RichEnum):
187
+ """
188
+ Common minerals extracted through mining
189
+ """
190
+ # Enum members
191
+ GOLD = "GOLD"
192
+ SILVER = "SILVER"
193
+ PLATINUM = "PLATINUM"
194
+ COPPER = "COPPER"
195
+ IRON = "IRON"
196
+ ALUMINUM = "ALUMINUM"
197
+ ZINC = "ZINC"
198
+ LEAD = "LEAD"
199
+ NICKEL = "NICKEL"
200
+ TIN = "TIN"
201
+ COAL = "COAL"
202
+ URANIUM = "URANIUM"
203
+ LIMESTONE = "LIMESTONE"
204
+ SALT = "SALT"
205
+ PHOSPHATE = "PHOSPHATE"
206
+ POTASH = "POTASH"
207
+ LITHIUM = "LITHIUM"
208
+ COBALT = "COBALT"
209
+ DIAMOND = "DIAMOND"
210
+
211
+ # Set metadata after class creation
212
+ CommonMineral._metadata = {
213
+ "GOLD": {'description': 'Gold (Au)', 'meaning': 'CHEBI:29287', 'annotations': {'symbol': 'Au', 'atomic_number': 79}},
214
+ "SILVER": {'description': 'Silver (Ag)', 'meaning': 'CHEBI:30512', 'annotations': {'symbol': 'Ag', 'atomic_number': 47}},
215
+ "PLATINUM": {'description': 'Platinum (Pt)', 'meaning': 'CHEBI:49202', 'annotations': {'symbol': 'Pt', 'atomic_number': 78}},
216
+ "COPPER": {'description': 'Copper (Cu)', 'meaning': 'CHEBI:28694', 'annotations': {'symbol': 'Cu', 'atomic_number': 29}},
217
+ "IRON": {'description': 'Iron (Fe)', 'meaning': 'CHEBI:18248', 'annotations': {'symbol': 'Fe', 'atomic_number': 26}},
218
+ "ALUMINUM": {'description': 'Aluminum (Al)', 'meaning': 'CHEBI:28984', 'annotations': {'symbol': 'Al', 'atomic_number': 13, 'ore': 'bauxite'}},
219
+ "ZINC": {'description': 'Zinc (Zn)', 'meaning': 'CHEBI:27363', 'annotations': {'symbol': 'Zn', 'atomic_number': 30}},
220
+ "LEAD": {'description': 'Lead (Pb)', 'meaning': 'CHEBI:25016', 'annotations': {'symbol': 'Pb', 'atomic_number': 82}},
221
+ "NICKEL": {'description': 'Nickel (Ni)', 'meaning': 'CHEBI:28112', 'annotations': {'symbol': 'Ni', 'atomic_number': 28}},
222
+ "TIN": {'description': 'Tin (Sn)', 'meaning': 'CHEBI:27007', 'annotations': {'symbol': 'Sn', 'atomic_number': 50}},
223
+ "COAL": {'description': 'Coal', 'meaning': 'ENVO:02000091', 'annotations': {'types': 'anthracite, bituminous, lignite'}},
224
+ "URANIUM": {'description': 'Uranium (U)', 'meaning': 'CHEBI:27214', 'annotations': {'symbol': 'U', 'atomic_number': 92}},
225
+ "LIMESTONE": {'description': 'Limestone (CaCO3)', 'meaning': 'ENVO:00002053', 'annotations': {'formula': 'CaCO3', 'use': 'cement, steel production'}},
226
+ "SALT": {'description': 'Salt (NaCl)', 'meaning': 'CHEBI:24866', 'annotations': {'formula': 'NaCl', 'aliases': 'halite, rock salt'}},
227
+ "PHOSPHATE": {'description': 'Phosphate rock', 'meaning': 'CHEBI:26020', 'annotations': {'use': 'fertilizer production'}},
228
+ "POTASH": {'description': 'Potash (K2O)', 'meaning': 'CHEBI:88321', 'annotations': {'formula': 'K2O', 'use': 'fertilizer'}},
229
+ "LITHIUM": {'description': 'Lithium (Li)', 'meaning': 'CHEBI:30145', 'annotations': {'symbol': 'Li', 'atomic_number': 3, 'use': 'batteries'}},
230
+ "COBALT": {'description': 'Cobalt (Co)', 'meaning': 'CHEBI:27638', 'annotations': {'symbol': 'Co', 'atomic_number': 27, 'use': 'batteries, alloys'}},
231
+ "DIAMOND": {'description': 'Diamond (C)', 'meaning': 'CHEBI:33417', 'annotations': {'formula': 'C', 'use': 'gemstone, industrial'}},
232
+ }
233
+
234
+ class MiningEquipment(RichEnum):
235
+ """
236
+ Types of mining equipment
237
+ """
238
+ # Enum members
239
+ DRILL_RIG = "DRILL_RIG"
240
+ JUMBO_DRILL = "JUMBO_DRILL"
241
+ EXCAVATOR = "EXCAVATOR"
242
+ DRAGLINE = "DRAGLINE"
243
+ BUCKET_WHEEL_EXCAVATOR = "BUCKET_WHEEL_EXCAVATOR"
244
+ HAUL_TRUCK = "HAUL_TRUCK"
245
+ LOADER = "LOADER"
246
+ CONVEYOR = "CONVEYOR"
247
+ CRUSHER = "CRUSHER"
248
+ BALL_MILL = "BALL_MILL"
249
+ FLOTATION_CELL = "FLOTATION_CELL"
250
+ CONTINUOUS_MINER = "CONTINUOUS_MINER"
251
+ ROOF_BOLTER = "ROOF_BOLTER"
252
+ SHUTTLE_CAR = "SHUTTLE_CAR"
253
+
254
+ # Set metadata after class creation
255
+ MiningEquipment._metadata = {
256
+ "DRILL_RIG": {'description': 'Drilling rig', 'annotations': {'category': 'drilling'}},
257
+ "JUMBO_DRILL": {'description': 'Jumbo drill', 'annotations': {'category': 'drilling', 'use': 'underground'}},
258
+ "EXCAVATOR": {'description': 'Excavator', 'annotations': {'category': 'excavation'}},
259
+ "DRAGLINE": {'description': 'Dragline excavator', 'annotations': {'category': 'excavation', 'size': 'large-scale'}},
260
+ "BUCKET_WHEEL_EXCAVATOR": {'description': 'Bucket-wheel excavator', 'annotations': {'category': 'excavation', 'use': 'continuous mining'}},
261
+ "HAUL_TRUCK": {'description': 'Haul truck', 'annotations': {'category': 'hauling', 'capacity': 'up to 400 tons'}},
262
+ "LOADER": {'description': 'Loader', 'annotations': {'category': 'loading'}},
263
+ "CONVEYOR": {'description': 'Conveyor system', 'annotations': {'category': 'transport'}},
264
+ "CRUSHER": {'description': 'Crusher', 'annotations': {'category': 'processing', 'types': 'jaw, cone, impact'}},
265
+ "BALL_MILL": {'description': 'Ball mill', 'annotations': {'category': 'processing', 'use': 'grinding'}},
266
+ "FLOTATION_CELL": {'description': 'Flotation cell', 'annotations': {'category': 'processing', 'use': 'mineral separation'}},
267
+ "CONTINUOUS_MINER": {'description': 'Continuous miner', 'annotations': {'category': 'underground'}},
268
+ "ROOF_BOLTER": {'description': 'Roof bolter', 'annotations': {'category': 'underground', 'use': 'support installation'}},
269
+ "SHUTTLE_CAR": {'description': 'Shuttle car', 'annotations': {'category': 'underground transport'}},
270
+ }
271
+
272
+ class OreGrade(RichEnum):
273
+ """
274
+ Classification of ore grades
275
+ """
276
+ # Enum members
277
+ HIGH_GRADE = "HIGH_GRADE"
278
+ MEDIUM_GRADE = "MEDIUM_GRADE"
279
+ LOW_GRADE = "LOW_GRADE"
280
+ MARGINAL = "MARGINAL"
281
+ SUB_ECONOMIC = "SUB_ECONOMIC"
282
+ WASTE = "WASTE"
283
+
284
+ # Set metadata after class creation
285
+ OreGrade._metadata = {
286
+ "HIGH_GRADE": {'description': 'High-grade ore', 'annotations': {'concentration': 'high', 'processing': 'minimal required'}},
287
+ "MEDIUM_GRADE": {'description': 'Medium-grade ore', 'annotations': {'concentration': 'moderate'}},
288
+ "LOW_GRADE": {'description': 'Low-grade ore', 'annotations': {'concentration': 'low', 'processing': 'extensive required'}},
289
+ "MARGINAL": {'description': 'Marginal ore', 'annotations': {'economics': 'borderline profitable'}},
290
+ "SUB_ECONOMIC": {'description': 'Sub-economic ore', 'annotations': {'economics': 'not currently profitable'}},
291
+ "WASTE": {'description': 'Waste rock', 'annotations': {'concentration': 'below cutoff'}},
292
+ }
293
+
294
+ class MiningPhase(RichEnum):
295
+ """
296
+ Phases of mining operations
297
+ """
298
+ # Enum members
299
+ EXPLORATION = "EXPLORATION"
300
+ DEVELOPMENT = "DEVELOPMENT"
301
+ PRODUCTION = "PRODUCTION"
302
+ PROCESSING = "PROCESSING"
303
+ CLOSURE = "CLOSURE"
304
+ RECLAMATION = "RECLAMATION"
305
+ POST_CLOSURE = "POST_CLOSURE"
306
+
307
+ # Set metadata after class creation
308
+ MiningPhase._metadata = {
309
+ "EXPLORATION": {'description': 'Exploration phase', 'annotations': {'activities': 'prospecting, sampling, drilling'}},
310
+ "DEVELOPMENT": {'description': 'Development phase', 'annotations': {'activities': 'infrastructure, access roads'}},
311
+ "PRODUCTION": {'description': 'Production/extraction phase', 'annotations': {'activities': 'active mining'}},
312
+ "PROCESSING": {'description': 'Processing/beneficiation phase', 'annotations': {'activities': 'crushing, milling, concentration'}},
313
+ "CLOSURE": {'description': 'Closure phase', 'annotations': {'activities': 'decommissioning, capping'}},
314
+ "RECLAMATION": {'description': 'Reclamation phase', 'annotations': {'activities': 'restoration, revegetation'}},
315
+ "POST_CLOSURE": {'description': 'Post-closure monitoring', 'annotations': {'activities': 'long-term monitoring'}},
316
+ }
317
+
318
+ class MiningHazard(RichEnum):
319
+ """
320
+ Mining-related hazards and risks
321
+ """
322
+ # Enum members
323
+ CAVE_IN = "CAVE_IN"
324
+ GAS_EXPLOSION = "GAS_EXPLOSION"
325
+ FLOODING = "FLOODING"
326
+ DUST_EXPOSURE = "DUST_EXPOSURE"
327
+ CHEMICAL_EXPOSURE = "CHEMICAL_EXPOSURE"
328
+ RADIATION = "RADIATION"
329
+ NOISE = "NOISE"
330
+ VIBRATION = "VIBRATION"
331
+ HEAT_STRESS = "HEAT_STRESS"
332
+ EQUIPMENT_ACCIDENT = "EQUIPMENT_ACCIDENT"
333
+
334
+ # Set metadata after class creation
335
+ MiningHazard._metadata = {
336
+ "CAVE_IN": {'description': 'Cave-in/roof collapse', 'annotations': {'type': 'structural'}},
337
+ "GAS_EXPLOSION": {'description': 'Gas explosion', 'annotations': {'type': 'chemical', 'gases': 'methane, coal dust'}},
338
+ "FLOODING": {'description': 'Mine flooding', 'annotations': {'type': 'water'}},
339
+ "DUST_EXPOSURE": {'description': 'Dust exposure', 'annotations': {'type': 'respiratory', 'diseases': 'silicosis, pneumoconiosis'}},
340
+ "CHEMICAL_EXPOSURE": {'description': 'Chemical exposure', 'annotations': {'type': 'toxic', 'chemicals': 'mercury, cyanide, acids'}},
341
+ "RADIATION": {'description': 'Radiation exposure', 'annotations': {'type': 'radioactive', 'source': 'uranium, radon'}},
342
+ "NOISE": {'description': 'Noise exposure', 'annotations': {'type': 'physical'}},
343
+ "VIBRATION": {'description': 'Vibration exposure', 'annotations': {'type': 'physical'}},
344
+ "HEAT_STRESS": {'description': 'Heat stress', 'annotations': {'type': 'thermal'}},
345
+ "EQUIPMENT_ACCIDENT": {'description': 'Equipment-related accident', 'annotations': {'type': 'mechanical'}},
346
+ }
347
+
348
+ class EnvironmentalImpact(RichEnum):
349
+ """
350
+ Environmental impacts of mining
351
+ """
352
+ # Enum members
353
+ HABITAT_DESTRUCTION = "HABITAT_DESTRUCTION"
354
+ WATER_POLLUTION = "WATER_POLLUTION"
355
+ AIR_POLLUTION = "AIR_POLLUTION"
356
+ SOIL_CONTAMINATION = "SOIL_CONTAMINATION"
357
+ DEFORESTATION = "DEFORESTATION"
358
+ EROSION = "EROSION"
359
+ ACID_MINE_DRAINAGE = "ACID_MINE_DRAINAGE"
360
+ TAILINGS = "TAILINGS"
361
+ SUBSIDENCE = "SUBSIDENCE"
362
+ BIODIVERSITY_LOSS = "BIODIVERSITY_LOSS"
363
+
364
+ # Set metadata after class creation
365
+ EnvironmentalImpact._metadata = {
366
+ "HABITAT_DESTRUCTION": {'description': 'Habitat destruction', 'meaning': 'ExO:0000012'},
367
+ "WATER_POLLUTION": {'description': 'Water pollution', 'meaning': 'ENVO:02500039', 'annotations': {'types': 'acid mine drainage, heavy metals'}},
368
+ "AIR_POLLUTION": {'description': 'Air pollution', 'meaning': 'ENVO:02500037', 'annotations': {'sources': 'dust, emissions'}},
369
+ "SOIL_CONTAMINATION": {'description': 'Soil contamination', 'meaning': 'ENVO:00002116'},
370
+ "DEFORESTATION": {'description': 'Deforestation', 'meaning': 'ENVO:02500012'},
371
+ "EROSION": {'description': 'Erosion and sedimentation', 'meaning': 'ENVO:01001346'},
372
+ "ACID_MINE_DRAINAGE": {'description': 'Acid mine drainage', 'meaning': 'ENVO:00001997'},
373
+ "TAILINGS": {'description': 'Tailings contamination', 'annotations': {'storage': 'tailings ponds, dams'}},
374
+ "SUBSIDENCE": {'description': 'Ground subsidence', 'annotations': {'cause': 'underground voids'}},
375
+ "BIODIVERSITY_LOSS": {'description': 'Biodiversity loss', 'annotations': {'impact': 'species extinction, ecosystem disruption'}},
376
+ }
377
+
378
+ __all__ = [
379
+ "MiningType",
380
+ "MineralCategory",
381
+ "CriticalMineral",
382
+ "CommonMineral",
383
+ "MiningEquipment",
384
+ "OreGrade",
385
+ "MiningPhase",
386
+ "MiningHazard",
387
+ "EnvironmentalImpact",
388
+ ]
@@ -0,0 +1,201 @@
1
+ """
2
+ Safety and Warning Color Value Sets
3
+
4
+ Color value sets for safety, warning, and signaling purposes based on international standards like ANSI, ISO, and OSHA.
5
+
6
+
7
+ Generated from: industry/safety_colors.yaml
8
+ """
9
+
10
+ from __future__ import annotations
11
+
12
+ from typing import Dict, Any, Optional
13
+ from valuesets.generators.rich_enum import RichEnum
14
+
15
+ class SafetyColorEnum(RichEnum):
16
+ """
17
+ ANSI/ISO standard safety colors
18
+ """
19
+ # Enum members
20
+ SAFETY_RED = "SAFETY_RED"
21
+ SAFETY_ORANGE = "SAFETY_ORANGE"
22
+ SAFETY_YELLOW = "SAFETY_YELLOW"
23
+ SAFETY_GREEN = "SAFETY_GREEN"
24
+ SAFETY_BLUE = "SAFETY_BLUE"
25
+ SAFETY_PURPLE = "SAFETY_PURPLE"
26
+ SAFETY_BLACK = "SAFETY_BLACK"
27
+ SAFETY_WHITE = "SAFETY_WHITE"
28
+ SAFETY_GRAY = "SAFETY_GRAY"
29
+ SAFETY_BROWN = "SAFETY_BROWN"
30
+
31
+ # Set metadata after class creation
32
+ SafetyColorEnum._metadata = {
33
+ "SAFETY_RED": {'description': 'Safety red - danger, stop, prohibition', 'meaning': 'HEX:C8102E', 'annotations': {'standard': 'ANSI Z535.1', 'pantone': 'PMS 186 C', 'usage': 'fire equipment, stop signs, danger signs'}},
34
+ "SAFETY_ORANGE": {'description': 'Safety orange - warning of dangerous parts', 'meaning': 'HEX:FF6900', 'annotations': {'standard': 'ANSI Z535.1', 'pantone': 'PMS 151 C', 'usage': 'machine parts, exposed edges'}},
35
+ "SAFETY_YELLOW": {'description': 'Safety yellow - caution, physical hazards', 'meaning': 'HEX:F6D04D', 'annotations': {'standard': 'ANSI Z535.1', 'pantone': 'PMS 116 C', 'usage': 'caution signs, physical hazards, stumbling'}},
36
+ "SAFETY_GREEN": {'description': 'Safety green - safety, first aid, emergency egress', 'meaning': 'HEX:00843D', 'annotations': {'standard': 'ANSI Z535.1', 'pantone': 'PMS 355 C', 'usage': 'first aid, safety equipment, emergency exits'}},
37
+ "SAFETY_BLUE": {'description': 'Safety blue - mandatory, information', 'meaning': 'HEX:005EB8', 'annotations': {'standard': 'ANSI Z535.1', 'pantone': 'PMS 285 C', 'usage': 'mandatory signs, information signs'}},
38
+ "SAFETY_PURPLE": {'description': 'Safety purple - radiation hazards', 'meaning': 'HEX:652D90', 'annotations': {'standard': 'ANSI Z535.1', 'pantone': 'PMS 2685 C', 'usage': 'radiation hazards, x-ray equipment'}},
39
+ "SAFETY_BLACK": {'description': 'Safety black - traffic/housekeeping markings', 'meaning': 'HEX:000000', 'annotations': {'standard': 'ANSI Z535.1', 'usage': 'traffic control, housekeeping markers'}},
40
+ "SAFETY_WHITE": {'description': 'Safety white - traffic/housekeeping markings', 'meaning': 'HEX:FFFFFF', 'annotations': {'standard': 'ANSI Z535.1', 'usage': 'traffic lanes, housekeeping boundaries'}},
41
+ "SAFETY_GRAY": {'description': 'Safety gray - inactive/out of service', 'meaning': 'HEX:919191', 'annotations': {'standard': 'ANSI Z535.1', 'usage': 'out of service equipment'}},
42
+ "SAFETY_BROWN": {'description': 'Safety brown - no special hazard (background)', 'meaning': 'HEX:795548', 'annotations': {'usage': 'background color for signs'}},
43
+ }
44
+
45
+ class TrafficLightColorEnum(RichEnum):
46
+ """
47
+ Traffic signal colors (international)
48
+ """
49
+ # Enum members
50
+ RED = "RED"
51
+ AMBER = "AMBER"
52
+ GREEN = "GREEN"
53
+ FLASHING_RED = "FLASHING_RED"
54
+ FLASHING_AMBER = "FLASHING_AMBER"
55
+ WHITE = "WHITE"
56
+
57
+ # Set metadata after class creation
58
+ TrafficLightColorEnum._metadata = {
59
+ "RED": {'description': 'Red - stop', 'meaning': 'HEX:FF0000', 'annotations': {'wavelength': '630-700 nm', 'meaning_universal': 'stop, do not proceed'}},
60
+ "AMBER": {'description': 'Amber/yellow - caution', 'meaning': 'HEX:FFBF00', 'annotations': {'wavelength': '590 nm', 'meaning_universal': 'prepare to stop, caution'}},
61
+ "GREEN": {'description': 'Green - go', 'meaning': 'HEX:00FF00', 'annotations': {'wavelength': '510-570 nm', 'meaning_universal': 'proceed, safe to go'}},
62
+ "FLASHING_RED": {'description': 'Flashing red - stop then proceed', 'meaning': 'HEX:FF0000', 'annotations': {'pattern': 'flashing', 'meaning_universal': 'stop, then proceed when safe'}},
63
+ "FLASHING_AMBER": {'description': 'Flashing amber - proceed with caution', 'meaning': 'HEX:FFBF00', 'annotations': {'pattern': 'flashing', 'meaning_universal': 'proceed with caution'}},
64
+ "WHITE": {'description': 'White - special situations (transit)', 'meaning': 'HEX:FFFFFF', 'annotations': {'usage': 'transit priority signals'}},
65
+ }
66
+
67
+ class HazmatColorEnum(RichEnum):
68
+ """
69
+ Hazardous materials placarding colors (DOT/UN)
70
+ """
71
+ # Enum members
72
+ ORANGE = "ORANGE"
73
+ RED = "RED"
74
+ GREEN = "GREEN"
75
+ YELLOW = "YELLOW"
76
+ WHITE = "WHITE"
77
+ BLACK_WHITE_STRIPES = "BLACK_WHITE_STRIPES"
78
+ BLUE = "BLUE"
79
+ WHITE_RED_STRIPES = "WHITE_RED_STRIPES"
80
+
81
+ # Set metadata after class creation
82
+ HazmatColorEnum._metadata = {
83
+ "ORANGE": {'description': 'Orange - explosives (Class 1)', 'meaning': 'HEX:FF6600', 'annotations': {'class': '1', 'hazard': 'explosives'}},
84
+ "RED": {'description': 'Red - flammable (Classes 2.1, 3)', 'meaning': 'HEX:FF0000', 'annotations': {'class': '2.1, 3', 'hazard': 'flammable gas, flammable liquid'}},
85
+ "GREEN": {'description': 'Green - non-flammable gas (Class 2.2)', 'meaning': 'HEX:00FF00', 'annotations': {'class': '2.2', 'hazard': 'non-flammable gas'}},
86
+ "YELLOW": {'description': 'Yellow - oxidizer, organic peroxide (Classes 5.1, 5.2)', 'meaning': 'HEX:FFFF00', 'annotations': {'class': '5.1, 5.2', 'hazard': 'oxidizing substances, organic peroxides'}},
87
+ "WHITE": {'description': 'White - poison/toxic (Class 6.1)', 'meaning': 'HEX:FFFFFF', 'annotations': {'class': '6.1', 'hazard': 'toxic/poisonous substances'}},
88
+ "BLACK_WHITE_STRIPES": {'description': 'Black and white stripes - corrosive (Class 8)', 'annotations': {'class': '8', 'hazard': 'corrosive substances', 'pattern': 'black and white vertical stripes'}},
89
+ "BLUE": {'description': 'Blue - dangerous when wet (Class 4.3)', 'meaning': 'HEX:0000FF', 'annotations': {'class': '4.3', 'hazard': 'dangerous when wet'}},
90
+ "WHITE_RED_STRIPES": {'description': 'White with red stripes - flammable solid (Class 4.1)', 'annotations': {'class': '4.1', 'hazard': 'flammable solid', 'pattern': 'white with red vertical stripes'}},
91
+ }
92
+
93
+ class FireSafetyColorEnum(RichEnum):
94
+ """
95
+ Fire safety equipment and signage colors
96
+ """
97
+ # Enum members
98
+ FIRE_RED = "FIRE_RED"
99
+ PHOTOLUMINESCENT_GREEN = "PHOTOLUMINESCENT_GREEN"
100
+ YELLOW_BLACK_STRIPES = "YELLOW_BLACK_STRIPES"
101
+ WHITE = "WHITE"
102
+ BLUE = "BLUE"
103
+
104
+ # Set metadata after class creation
105
+ FireSafetyColorEnum._metadata = {
106
+ "FIRE_RED": {'description': 'Fire red - fire equipment', 'meaning': 'HEX:C8102E', 'annotations': {'usage': 'fire extinguishers, alarms, hose reels', 'standard': 'ISO 7010'}},
107
+ "PHOTOLUMINESCENT_GREEN": {'description': 'Photoluminescent green - emergency escape', 'meaning': 'HEX:7FFF00', 'annotations': {'usage': 'emergency exit signs, escape routes', 'property': 'glows in dark'}},
108
+ "YELLOW_BLACK_STRIPES": {'description': 'Yellow with black stripes - fire hazard area', 'annotations': {'pattern': 'diagonal stripes', 'usage': 'fire hazard zones'}},
109
+ "WHITE": {'description': 'White - fire protection water', 'meaning': 'HEX:FFFFFF', 'annotations': {'usage': 'water for fire protection'}},
110
+ "BLUE": {'description': 'Blue - mandatory fire safety', 'meaning': 'HEX:005EB8', 'annotations': {'usage': 'mandatory fire safety equipment'}},
111
+ }
112
+
113
+ class MaritimeSignalColorEnum(RichEnum):
114
+ """
115
+ Maritime signal and navigation colors
116
+ """
117
+ # Enum members
118
+ PORT_RED = "PORT_RED"
119
+ STARBOARD_GREEN = "STARBOARD_GREEN"
120
+ STERN_WHITE = "STERN_WHITE"
121
+ MASTHEAD_WHITE = "MASTHEAD_WHITE"
122
+ ALL_ROUND_WHITE = "ALL_ROUND_WHITE"
123
+ YELLOW_TOWING = "YELLOW_TOWING"
124
+ BLUE_FLASHING = "BLUE_FLASHING"
125
+
126
+ # Set metadata after class creation
127
+ MaritimeSignalColorEnum._metadata = {
128
+ "PORT_RED": {'description': 'Port (left) red light', 'meaning': 'HEX:FF0000', 'annotations': {'side': 'port (left)', 'wavelength': '625-740 nm'}},
129
+ "STARBOARD_GREEN": {'description': 'Starboard (right) green light', 'meaning': 'HEX:00FF00', 'annotations': {'side': 'starboard (right)', 'wavelength': '500-565 nm'}},
130
+ "STERN_WHITE": {'description': 'Stern white light', 'meaning': 'HEX:FFFFFF', 'annotations': {'position': 'stern (rear)'}},
131
+ "MASTHEAD_WHITE": {'description': 'Masthead white light', 'meaning': 'HEX:FFFFFF', 'annotations': {'position': 'masthead (forward)'}},
132
+ "ALL_ROUND_WHITE": {'description': 'All-round white light', 'meaning': 'HEX:FFFFFF', 'annotations': {'visibility': '360 degrees'}},
133
+ "YELLOW_TOWING": {'description': 'Yellow towing light', 'meaning': 'HEX:FFFF00', 'annotations': {'usage': 'vessel towing'}},
134
+ "BLUE_FLASHING": {'description': 'Blue flashing light', 'meaning': 'HEX:0000FF', 'annotations': {'usage': 'law enforcement vessels', 'pattern': 'flashing'}},
135
+ }
136
+
137
+ class AviationLightColorEnum(RichEnum):
138
+ """
139
+ Aviation lighting colors
140
+ """
141
+ # Enum members
142
+ RED_BEACON = "RED_BEACON"
143
+ WHITE_STROBE = "WHITE_STROBE"
144
+ GREEN_NAVIGATION = "GREEN_NAVIGATION"
145
+ RED_NAVIGATION = "RED_NAVIGATION"
146
+ WHITE_NAVIGATION = "WHITE_NAVIGATION"
147
+ BLUE_TAXIWAY = "BLUE_TAXIWAY"
148
+ YELLOW_RUNWAY = "YELLOW_RUNWAY"
149
+ GREEN_THRESHOLD = "GREEN_THRESHOLD"
150
+ RED_RUNWAY_END = "RED_RUNWAY_END"
151
+
152
+ # Set metadata after class creation
153
+ AviationLightColorEnum._metadata = {
154
+ "RED_BEACON": {'description': 'Red obstruction light', 'meaning': 'HEX:FF0000', 'annotations': {'usage': 'obstruction marking', 'intensity': 'high intensity'}},
155
+ "WHITE_STROBE": {'description': 'White anti-collision strobe', 'meaning': 'HEX:FFFFFF', 'annotations': {'usage': 'anti-collision', 'pattern': 'strobe'}},
156
+ "GREEN_NAVIGATION": {'description': 'Green navigation light (right wing)', 'meaning': 'HEX:00FF00', 'annotations': {'position': 'right wing tip'}},
157
+ "RED_NAVIGATION": {'description': 'Red navigation light (left wing)', 'meaning': 'HEX:FF0000', 'annotations': {'position': 'left wing tip'}},
158
+ "WHITE_NAVIGATION": {'description': 'White navigation light (tail)', 'meaning': 'HEX:FFFFFF', 'annotations': {'position': 'tail'}},
159
+ "BLUE_TAXIWAY": {'description': 'Blue taxiway edge lights', 'meaning': 'HEX:0000FF', 'annotations': {'usage': 'taxiway edges'}},
160
+ "YELLOW_RUNWAY": {'description': 'Yellow runway markings', 'meaning': 'HEX:FFFF00', 'annotations': {'usage': 'runway centerline, hold positions'}},
161
+ "GREEN_THRESHOLD": {'description': 'Green runway threshold lights', 'meaning': 'HEX:00FF00', 'annotations': {'usage': 'runway threshold'}},
162
+ "RED_RUNWAY_END": {'description': 'Red runway end lights', 'meaning': 'HEX:FF0000', 'annotations': {'usage': 'runway end'}},
163
+ }
164
+
165
+ class ElectricalWireColorEnum(RichEnum):
166
+ """
167
+ Electrical wire color codes (US/International)
168
+ """
169
+ # Enum members
170
+ BLACK_HOT = "BLACK_HOT"
171
+ RED_HOT = "RED_HOT"
172
+ BLUE_HOT = "BLUE_HOT"
173
+ WHITE_NEUTRAL = "WHITE_NEUTRAL"
174
+ GREEN_GROUND = "GREEN_GROUND"
175
+ GREEN_YELLOW_GROUND = "GREEN_YELLOW_GROUND"
176
+ BROWN_LIVE = "BROWN_LIVE"
177
+ BLUE_NEUTRAL = "BLUE_NEUTRAL"
178
+ GRAY_NEUTRAL = "GRAY_NEUTRAL"
179
+
180
+ # Set metadata after class creation
181
+ ElectricalWireColorEnum._metadata = {
182
+ "BLACK_HOT": {'description': 'Black - hot/live wire (US)', 'meaning': 'HEX:000000', 'annotations': {'voltage': '120/240V', 'region': 'North America'}},
183
+ "RED_HOT": {'description': 'Red - hot/live wire (US secondary)', 'meaning': 'HEX:FF0000', 'annotations': {'voltage': '120/240V', 'region': 'North America'}},
184
+ "BLUE_HOT": {'description': 'Blue - hot/live wire (US tertiary)', 'meaning': 'HEX:0000FF', 'annotations': {'voltage': '120/240V', 'region': 'North America'}},
185
+ "WHITE_NEUTRAL": {'description': 'White - neutral wire (US)', 'meaning': 'HEX:FFFFFF', 'annotations': {'function': 'neutral', 'region': 'North America'}},
186
+ "GREEN_GROUND": {'description': 'Green - ground/earth wire', 'meaning': 'HEX:00FF00', 'annotations': {'function': 'ground/earth', 'region': 'universal'}},
187
+ "GREEN_YELLOW_GROUND": {'description': 'Green with yellow stripe - ground/earth (International)', 'annotations': {'function': 'ground/earth', 'region': 'IEC standard', 'pattern': 'green with yellow stripe'}},
188
+ "BROWN_LIVE": {'description': 'Brown - live wire (EU/IEC)', 'meaning': 'HEX:964B00', 'annotations': {'voltage': '230V', 'region': 'Europe/IEC'}},
189
+ "BLUE_NEUTRAL": {'description': 'Blue - neutral wire (EU/IEC)', 'meaning': 'HEX:0000FF', 'annotations': {'function': 'neutral', 'region': 'Europe/IEC'}},
190
+ "GRAY_NEUTRAL": {'description': 'Gray - neutral wire (alternative)', 'meaning': 'HEX:808080', 'annotations': {'function': 'neutral', 'region': 'some installations'}},
191
+ }
192
+
193
+ __all__ = [
194
+ "SafetyColorEnum",
195
+ "TrafficLightColorEnum",
196
+ "HazmatColorEnum",
197
+ "FireSafetyColorEnum",
198
+ "MaritimeSignalColorEnum",
199
+ "AviationLightColorEnum",
200
+ "ElectricalWireColorEnum",
201
+ ]