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.
- valuesets/__init__.py +7 -0
- valuesets/_version.py +8 -0
- valuesets/datamodel/valuesets.py +13796 -0
- valuesets/datamodel/valuesets_dataclass.py +24503 -0
- valuesets/datamodel/valuesets_pydantic.py +13796 -0
- valuesets/enums/__init__.py +590 -0
- valuesets/enums/academic/__init__.py +1 -0
- valuesets/enums/academic/research.py +559 -0
- valuesets/enums/analytical_chemistry/__init__.py +1 -0
- valuesets/enums/analytical_chemistry/mass_spectrometry.py +198 -0
- valuesets/enums/bio/__init__.py +1 -0
- valuesets/enums/bio/biological_colors.py +238 -0
- valuesets/enums/bio/cell_cycle.py +180 -0
- valuesets/enums/bio/currency_chemicals.py +52 -0
- valuesets/enums/bio/developmental_stages.py +103 -0
- valuesets/enums/bio/genome_features.py +182 -0
- valuesets/enums/bio/genomics.py +91 -0
- valuesets/enums/bio/go_aspect.py +32 -0
- valuesets/enums/bio/go_causality.py +58 -0
- valuesets/enums/bio/go_evidence.py +129 -0
- valuesets/enums/bio/human_developmental_stages.py +62 -0
- valuesets/enums/bio/insdc_geographic_locations.py +591 -0
- valuesets/enums/bio/insdc_missing_values.py +49 -0
- valuesets/enums/bio/lipid_categories.py +67 -0
- valuesets/enums/bio/mouse_developmental_stages.py +62 -0
- valuesets/enums/bio/plant_biology.py +86 -0
- valuesets/enums/bio/plant_developmental_stages.py +54 -0
- valuesets/enums/bio/plant_sex.py +81 -0
- valuesets/enums/bio/protein_evidence.py +61 -0
- valuesets/enums/bio/proteomics_standards.py +123 -0
- valuesets/enums/bio/psi_mi.py +306 -0
- valuesets/enums/bio/relationship_to_oxygen.py +37 -0
- valuesets/enums/bio/sequence_alphabets.py +449 -0
- valuesets/enums/bio/sequence_chemistry.py +357 -0
- valuesets/enums/bio/sequencing_platforms.py +302 -0
- valuesets/enums/bio/structural_biology.py +320 -0
- valuesets/enums/bio/taxonomy.py +238 -0
- valuesets/enums/bio/trophic_levels.py +85 -0
- valuesets/enums/bio/uniprot_species.py +344 -0
- valuesets/enums/bio/viral_genome_types.py +47 -0
- valuesets/enums/bioprocessing/__init__.py +1 -0
- valuesets/enums/bioprocessing/scale_up.py +249 -0
- valuesets/enums/business/__init__.py +1 -0
- valuesets/enums/business/human_resources.py +275 -0
- valuesets/enums/business/industry_classifications.py +181 -0
- valuesets/enums/business/management_operations.py +228 -0
- valuesets/enums/business/organizational_structures.py +236 -0
- valuesets/enums/business/quality_management.py +181 -0
- valuesets/enums/business/supply_chain.py +232 -0
- valuesets/enums/chemistry/__init__.py +1 -0
- valuesets/enums/chemistry/chemical_entities.py +315 -0
- valuesets/enums/chemistry/reaction_directionality.py +65 -0
- valuesets/enums/chemistry/reactions.py +256 -0
- valuesets/enums/clinical/__init__.py +1 -0
- valuesets/enums/clinical/nih_demographics.py +177 -0
- valuesets/enums/clinical/phenopackets.py +254 -0
- valuesets/enums/common_value_sets.py +8791 -0
- valuesets/enums/computing/__init__.py +1 -0
- valuesets/enums/computing/file_formats.py +294 -0
- valuesets/enums/computing/maturity_levels.py +196 -0
- valuesets/enums/computing/mime_types.py +227 -0
- valuesets/enums/confidence_levels.py +168 -0
- valuesets/enums/contributor.py +30 -0
- valuesets/enums/core.py +42 -0
- valuesets/enums/data/__init__.py +1 -0
- valuesets/enums/data/data_absent_reason.py +53 -0
- valuesets/enums/data_science/__init__.py +1 -0
- valuesets/enums/data_science/binary_classification.py +87 -0
- valuesets/enums/data_science/emotion_classification.py +66 -0
- valuesets/enums/data_science/priority_severity.py +73 -0
- valuesets/enums/data_science/quality_control.py +46 -0
- valuesets/enums/data_science/sentiment_analysis.py +50 -0
- valuesets/enums/data_science/text_classification.py +97 -0
- valuesets/enums/demographics.py +206 -0
- valuesets/enums/ecological_interactions.py +151 -0
- valuesets/enums/energy/__init__.py +1 -0
- valuesets/enums/energy/energy.py +343 -0
- valuesets/enums/energy/fossil_fuels.py +29 -0
- valuesets/enums/energy/nuclear/__init__.py +1 -0
- valuesets/enums/energy/nuclear/nuclear_facilities.py +195 -0
- valuesets/enums/energy/nuclear/nuclear_fuel_cycle.py +96 -0
- valuesets/enums/energy/nuclear/nuclear_fuels.py +175 -0
- valuesets/enums/energy/nuclear/nuclear_operations.py +191 -0
- valuesets/enums/energy/nuclear/nuclear_regulatory.py +188 -0
- valuesets/enums/energy/nuclear/nuclear_safety.py +164 -0
- valuesets/enums/energy/nuclear/nuclear_waste.py +158 -0
- valuesets/enums/energy/nuclear/reactor_types.py +163 -0
- valuesets/enums/environmental_health/__init__.py +1 -0
- valuesets/enums/environmental_health/exposures.py +265 -0
- valuesets/enums/geography/__init__.py +1 -0
- valuesets/enums/geography/geographic_codes.py +741 -0
- valuesets/enums/health/__init__.py +12 -0
- valuesets/enums/health/vaccination.py +98 -0
- valuesets/enums/health.py +36 -0
- valuesets/enums/health_base.py +36 -0
- valuesets/enums/healthcare.py +45 -0
- valuesets/enums/industry/__init__.py +1 -0
- valuesets/enums/industry/extractive_industry.py +94 -0
- valuesets/enums/industry/mining.py +388 -0
- valuesets/enums/industry/safety_colors.py +201 -0
- valuesets/enums/investigation.py +27 -0
- valuesets/enums/materials_science/__init__.py +1 -0
- valuesets/enums/materials_science/characterization_methods.py +112 -0
- valuesets/enums/materials_science/crystal_structures.py +76 -0
- valuesets/enums/materials_science/material_properties.py +119 -0
- valuesets/enums/materials_science/material_types.py +104 -0
- valuesets/enums/materials_science/pigments_dyes.py +198 -0
- valuesets/enums/materials_science/synthesis_methods.py +109 -0
- valuesets/enums/medical/__init__.py +1 -0
- valuesets/enums/medical/clinical.py +277 -0
- valuesets/enums/medical/neuroimaging.py +119 -0
- valuesets/enums/mining_processing.py +302 -0
- valuesets/enums/physics/__init__.py +1 -0
- valuesets/enums/physics/states_of_matter.py +46 -0
- valuesets/enums/social/__init__.py +1 -0
- valuesets/enums/social/person_status.py +29 -0
- valuesets/enums/spatial/__init__.py +1 -0
- valuesets/enums/spatial/spatial_qualifiers.py +246 -0
- valuesets/enums/statistics/__init__.py +5 -0
- valuesets/enums/statistics/prediction_outcomes.py +31 -0
- valuesets/enums/statistics.py +31 -0
- valuesets/enums/time/__init__.py +1 -0
- valuesets/enums/time/temporal.py +254 -0
- valuesets/enums/units/__init__.py +1 -0
- valuesets/enums/units/measurements.py +310 -0
- valuesets/enums/visual/__init__.py +1 -0
- valuesets/enums/visual/colors.py +376 -0
- valuesets/generators/__init__.py +19 -0
- valuesets/generators/auto_slot_injector.py +280 -0
- valuesets/generators/enhanced_pydantic_generator.py +100 -0
- valuesets/generators/enum_slot_generator.py +201 -0
- valuesets/generators/modular_rich_generator.py +353 -0
- valuesets/generators/prefix_standardizer.py +198 -0
- valuesets/generators/rich_enum.py +127 -0
- valuesets/generators/rich_pydantic_generator.py +310 -0
- valuesets/generators/smart_slot_syncer.py +428 -0
- valuesets/generators/sssom_generator.py +394 -0
- valuesets/merged/merged_hierarchy.yaml +21649 -0
- valuesets/schema/README.md +3 -0
- valuesets/schema/academic/research.yaml +911 -0
- valuesets/schema/analytical_chemistry/mass_spectrometry.yaml +206 -0
- valuesets/schema/bio/bio_entities.yaml +364 -0
- valuesets/schema/bio/biological_colors.yaml +434 -0
- valuesets/schema/bio/cell_cycle.yaml +309 -0
- valuesets/schema/bio/currency_chemicals.yaml +70 -0
- valuesets/schema/bio/developmental_stages.yaml +226 -0
- valuesets/schema/bio/genome_features.yaml +342 -0
- valuesets/schema/bio/genomics.yaml +101 -0
- valuesets/schema/bio/go_aspect.yaml +39 -0
- valuesets/schema/bio/go_causality.yaml +119 -0
- valuesets/schema/bio/go_evidence.yaml +215 -0
- valuesets/schema/bio/insdc_geographic_locations.yaml +911 -0
- valuesets/schema/bio/insdc_missing_values.yaml +85 -0
- valuesets/schema/bio/lipid_categories.yaml +72 -0
- valuesets/schema/bio/plant_biology.yaml +125 -0
- valuesets/schema/bio/plant_developmental_stages.yaml +77 -0
- valuesets/schema/bio/plant_sex.yaml +108 -0
- valuesets/schema/bio/protein_evidence.yaml +63 -0
- valuesets/schema/bio/proteomics_standards.yaml +116 -0
- valuesets/schema/bio/psi_mi.yaml +400 -0
- valuesets/schema/bio/relationship_to_oxygen.yaml +46 -0
- valuesets/schema/bio/sequence_alphabets.yaml +1168 -0
- valuesets/schema/bio/sequence_chemistry.yaml +477 -0
- valuesets/schema/bio/sequencing_platforms.yaml +515 -0
- valuesets/schema/bio/structural_biology.yaml +428 -0
- valuesets/schema/bio/taxonomy.yaml +453 -0
- valuesets/schema/bio/trophic_levels.yaml +118 -0
- valuesets/schema/bio/uniprot_species.yaml +1209 -0
- valuesets/schema/bio/viral_genome_types.yaml +99 -0
- valuesets/schema/bioprocessing/scale_up.yaml +458 -0
- valuesets/schema/business/human_resources.yaml +752 -0
- valuesets/schema/business/industry_classifications.yaml +448 -0
- valuesets/schema/business/management_operations.yaml +602 -0
- valuesets/schema/business/organizational_structures.yaml +645 -0
- valuesets/schema/business/quality_management.yaml +502 -0
- valuesets/schema/business/supply_chain.yaml +688 -0
- valuesets/schema/chemistry/chemical_entities.yaml +639 -0
- valuesets/schema/chemistry/reaction_directionality.yaml +60 -0
- valuesets/schema/chemistry/reactions.yaml +442 -0
- valuesets/schema/clinical/nih_demographics.yaml +285 -0
- valuesets/schema/clinical/phenopackets.yaml +429 -0
- valuesets/schema/computing/file_formats.yaml +631 -0
- valuesets/schema/computing/maturity_levels.yaml +229 -0
- valuesets/schema/computing/mime_types.yaml +266 -0
- valuesets/schema/confidence_levels.yaml +206 -0
- valuesets/schema/contributor.yaml +30 -0
- valuesets/schema/core.yaml +55 -0
- valuesets/schema/data/data_absent_reason.yaml +82 -0
- valuesets/schema/data_science/binary_classification.yaml +125 -0
- valuesets/schema/data_science/emotion_classification.yaml +109 -0
- valuesets/schema/data_science/priority_severity.yaml +122 -0
- valuesets/schema/data_science/quality_control.yaml +68 -0
- valuesets/schema/data_science/sentiment_analysis.yaml +81 -0
- valuesets/schema/data_science/text_classification.yaml +135 -0
- valuesets/schema/demographics.yaml +238 -0
- valuesets/schema/ecological_interactions.yaml +298 -0
- valuesets/schema/energy/energy.yaml +595 -0
- valuesets/schema/energy/fossil_fuels.yaml +28 -0
- valuesets/schema/energy/nuclear/nuclear_facilities.yaml +463 -0
- valuesets/schema/energy/nuclear/nuclear_fuel_cycle.yaml +82 -0
- valuesets/schema/energy/nuclear/nuclear_fuels.yaml +421 -0
- valuesets/schema/energy/nuclear/nuclear_operations.yaml +480 -0
- valuesets/schema/energy/nuclear/nuclear_regulatory.yaml +200 -0
- valuesets/schema/energy/nuclear/nuclear_safety.yaml +352 -0
- valuesets/schema/energy/nuclear/nuclear_waste.yaml +332 -0
- valuesets/schema/energy/nuclear/reactor_types.yaml +394 -0
- valuesets/schema/environmental_health/exposures.yaml +355 -0
- valuesets/schema/generated_slots.yaml +1828 -0
- valuesets/schema/geography/geographic_codes.yaml +1018 -0
- valuesets/schema/health/vaccination.yaml +102 -0
- valuesets/schema/health.yaml +38 -0
- valuesets/schema/healthcare.yaml +53 -0
- valuesets/schema/industry/extractive_industry.yaml +89 -0
- valuesets/schema/industry/mining.yaml +888 -0
- valuesets/schema/industry/safety_colors.yaml +375 -0
- valuesets/schema/investigation.yaml +64 -0
- valuesets/schema/materials_science/characterization_methods.yaml +193 -0
- valuesets/schema/materials_science/crystal_structures.yaml +138 -0
- valuesets/schema/materials_science/material_properties.yaml +135 -0
- valuesets/schema/materials_science/material_types.yaml +151 -0
- valuesets/schema/materials_science/pigments_dyes.yaml +465 -0
- valuesets/schema/materials_science/synthesis_methods.yaml +186 -0
- valuesets/schema/medical/clinical.yaml +610 -0
- valuesets/schema/medical/neuroimaging.yaml +325 -0
- valuesets/schema/mining_processing.yaml +295 -0
- valuesets/schema/physics/states_of_matter.yaml +46 -0
- valuesets/schema/slot_mixins.yaml +143 -0
- valuesets/schema/social/person_status.yaml +28 -0
- valuesets/schema/spatial/spatial_qualifiers.yaml +466 -0
- valuesets/schema/statistics/prediction_outcomes.yaml +26 -0
- valuesets/schema/statistics.yaml +34 -0
- valuesets/schema/time/temporal.yaml +435 -0
- valuesets/schema/types.yaml +15 -0
- valuesets/schema/units/measurements.yaml +675 -0
- valuesets/schema/valuesets.yaml +100 -0
- valuesets/schema/visual/colors.yaml +778 -0
- valuesets/utils/__init__.py +6 -0
- valuesets/utils/comparison.py +102 -0
- valuesets/utils/expand_dynamic_enums.py +414 -0
- valuesets/utils/mapping_utils.py +236 -0
- valuesets/validators/__init__.py +11 -0
- valuesets/validators/enum_evaluator.py +669 -0
- valuesets/validators/oak_config.yaml +70 -0
- valuesets/validators/validate_with_ols.py +241 -0
- valuesets-0.3.1.dist-info/METADATA +395 -0
- valuesets-0.3.1.dist-info/RECORD +248 -0
- valuesets-0.3.1.dist-info/WHEEL +4 -0
- valuesets-0.3.1.dist-info/licenses/LICENSE +201 -0
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Supply Chain Management and Procurement
|
|
3
|
+
|
|
4
|
+
Supply chain management classifications including procurement types, vendor management, logistics operations, and supply chain strategies. Based on supply chain management best practices, procurement standards, and logistics frameworks.
|
|
5
|
+
|
|
6
|
+
Generated from: business/supply_chain.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 ProcurementTypeEnum(RichEnum):
|
|
15
|
+
"""
|
|
16
|
+
Types of procurement activities and approaches
|
|
17
|
+
"""
|
|
18
|
+
# Enum members
|
|
19
|
+
DIRECT_PROCUREMENT = "DIRECT_PROCUREMENT"
|
|
20
|
+
INDIRECT_PROCUREMENT = "INDIRECT_PROCUREMENT"
|
|
21
|
+
SERVICES_PROCUREMENT = "SERVICES_PROCUREMENT"
|
|
22
|
+
CAPITAL_PROCUREMENT = "CAPITAL_PROCUREMENT"
|
|
23
|
+
STRATEGIC_PROCUREMENT = "STRATEGIC_PROCUREMENT"
|
|
24
|
+
TACTICAL_PROCUREMENT = "TACTICAL_PROCUREMENT"
|
|
25
|
+
EMERGENCY_PROCUREMENT = "EMERGENCY_PROCUREMENT"
|
|
26
|
+
FRAMEWORK_PROCUREMENT = "FRAMEWORK_PROCUREMENT"
|
|
27
|
+
E_PROCUREMENT = "E_PROCUREMENT"
|
|
28
|
+
SUSTAINABLE_PROCUREMENT = "SUSTAINABLE_PROCUREMENT"
|
|
29
|
+
|
|
30
|
+
# Set metadata after class creation
|
|
31
|
+
ProcurementTypeEnum._metadata = {
|
|
32
|
+
"DIRECT_PROCUREMENT": {'description': 'Procurement of materials directly used in production', 'annotations': {'category': 'direct materials', 'purpose': 'production input', 'impact': 'direct impact on product', 'examples': 'raw materials, components, subassemblies', 'strategic': 'strategically important'}},
|
|
33
|
+
"INDIRECT_PROCUREMENT": {'description': 'Procurement of goods and services supporting operations', 'annotations': {'category': 'indirect materials and services', 'purpose': 'operational support', 'impact': 'indirect impact on product', 'examples': 'office supplies, maintenance, professional services', 'cost_focus': 'cost optimization focus'}},
|
|
34
|
+
"SERVICES_PROCUREMENT": {'description': 'Procurement of professional and business services', 'annotations': {'category': 'services', 'intangible': 'intangible deliverables', 'examples': 'consulting, IT services, maintenance', 'relationship': 'relationship-based', 'management': 'service level management'}},
|
|
35
|
+
"CAPITAL_PROCUREMENT": {'description': 'Procurement of capital equipment and assets', 'annotations': {'category': 'capital expenditure', 'long_term': 'long-term assets', 'high_value': 'high value purchases', 'examples': 'machinery, equipment, facilities', 'approval': 'capital approval process'}},
|
|
36
|
+
"STRATEGIC_PROCUREMENT": {'description': 'Procurement of strategically important items', 'annotations': {'importance': 'strategic importance', 'risk': 'high business risk', 'value': 'high value impact', 'partnership': 'strategic partnerships', 'long_term': 'long-term relationships'}},
|
|
37
|
+
"TACTICAL_PROCUREMENT": {'description': 'Routine procurement of standard items', 'annotations': {'routine': 'routine purchases', 'standard': 'standardized items', 'efficiency': 'efficiency focused', 'transactional': 'transactional approach', 'volume': 'volume-based'}},
|
|
38
|
+
"EMERGENCY_PROCUREMENT": {'description': 'Urgent procurement due to immediate needs', 'annotations': {'urgency': 'urgent requirements', 'expedited': 'expedited process', 'higher_cost': 'potentially higher costs', 'risk_mitigation': 'business continuity', 'limited_sourcing': 'limited supplier options'}},
|
|
39
|
+
"FRAMEWORK_PROCUREMENT": {'description': 'Pre-negotiated procurement agreements', 'annotations': {'agreement': 'pre-negotiated terms', 'efficiency': 'procurement efficiency', 'compliance': 'standardized compliance', 'multiple_suppliers': 'multiple approved suppliers', 'call_off': 'call-off contracts'}},
|
|
40
|
+
"E_PROCUREMENT": {'description': 'Technology-enabled procurement processes', 'annotations': {'technology': 'electronic platforms', 'automation': 'process automation', 'efficiency': 'operational efficiency', 'transparency': 'process transparency', 'data': 'procurement data analytics'}},
|
|
41
|
+
"SUSTAINABLE_PROCUREMENT": {'description': 'Environmentally and socially responsible procurement', 'annotations': {'sustainability': 'environmental and social criteria', 'responsibility': 'corporate responsibility', 'lifecycle': 'lifecycle considerations', 'certification': 'sustainability certifications', 'stakeholder': 'stakeholder value'}},
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
class VendorCategoryEnum(RichEnum):
|
|
45
|
+
"""
|
|
46
|
+
Vendor classification categories
|
|
47
|
+
"""
|
|
48
|
+
# Enum members
|
|
49
|
+
STRATEGIC_SUPPLIER = "STRATEGIC_SUPPLIER"
|
|
50
|
+
PREFERRED_SUPPLIER = "PREFERRED_SUPPLIER"
|
|
51
|
+
APPROVED_SUPPLIER = "APPROVED_SUPPLIER"
|
|
52
|
+
TRANSACTIONAL_SUPPLIER = "TRANSACTIONAL_SUPPLIER"
|
|
53
|
+
SINGLE_SOURCE = "SINGLE_SOURCE"
|
|
54
|
+
SOLE_SOURCE = "SOLE_SOURCE"
|
|
55
|
+
MINORITY_SUPPLIER = "MINORITY_SUPPLIER"
|
|
56
|
+
LOCAL_SUPPLIER = "LOCAL_SUPPLIER"
|
|
57
|
+
GLOBAL_SUPPLIER = "GLOBAL_SUPPLIER"
|
|
58
|
+
SPOT_SUPPLIER = "SPOT_SUPPLIER"
|
|
59
|
+
|
|
60
|
+
# Set metadata after class creation
|
|
61
|
+
VendorCategoryEnum._metadata = {
|
|
62
|
+
"STRATEGIC_SUPPLIER": {'description': 'Critical suppliers with strategic importance', 'annotations': {'importance': 'strategic business importance', 'relationship': 'partnership relationship', 'risk': 'high business risk if disrupted', 'collaboration': 'collaborative planning', 'long_term': 'long-term agreements'}},
|
|
63
|
+
"PREFERRED_SUPPLIER": {'description': 'Suppliers with proven performance and preferred status', 'annotations': {'performance': 'proven performance history', 'preferred': 'preferred supplier status', 'reliability': 'reliable delivery', 'quality': 'consistent quality', 'relationship': 'ongoing relationship'}},
|
|
64
|
+
"APPROVED_SUPPLIER": {'description': 'Suppliers meeting qualification requirements', 'annotations': {'qualification': 'meets qualification criteria', 'approved': 'approved for business', 'standards': 'meets quality standards', 'compliance': 'regulatory compliance', 'monitoring': 'performance monitoring'}},
|
|
65
|
+
"TRANSACTIONAL_SUPPLIER": {'description': 'Suppliers for routine, low-risk purchases', 'annotations': {'routine': 'routine transactions', 'low_risk': 'low business risk', 'standard': 'standard products/services', 'efficiency': 'cost and efficiency focus', 'limited_relationship': 'limited relationship'}},
|
|
66
|
+
"SINGLE_SOURCE": {'description': 'Only available supplier for specific requirement', 'annotations': {'uniqueness': 'unique product or service', 'monopoly': 'single source situation', 'dependency': 'high dependency', 'risk': 'supply risk concentration', 'relationship': 'close relationship management'}},
|
|
67
|
+
"SOLE_SOURCE": {'description': 'Deliberately chosen single supplier', 'annotations': {'choice': 'deliberate single supplier choice', 'partnership': 'strategic partnership', 'specialization': 'specialized capability', 'integration': 'integrated operations', 'exclusive': 'exclusive relationship'}},
|
|
68
|
+
"MINORITY_SUPPLIER": {'description': 'Suppliers meeting diversity criteria', 'annotations': {'diversity': 'supplier diversity program', 'certification': 'diversity certification', 'inclusion': 'supplier inclusion', 'social_responsibility': 'corporate social responsibility', 'development': 'supplier development'}},
|
|
69
|
+
"LOCAL_SUPPLIER": {'description': 'Geographically local suppliers', 'annotations': {'geography': 'local geographic proximity', 'community': 'local community support', 'logistics': 'reduced logistics costs', 'responsiveness': 'quick response capability', 'sustainability': 'reduced carbon footprint'}},
|
|
70
|
+
"GLOBAL_SUPPLIER": {'description': 'Suppliers with global capabilities', 'annotations': {'global': 'global presence and capability', 'scale': 'economies of scale', 'standardization': 'global standardization', 'complexity': 'complex management', 'risk': 'global supply chain risk'}},
|
|
71
|
+
"SPOT_SUPPLIER": {'description': 'Suppliers for one-time or spot purchases', 'annotations': {'spot_market': 'spot market transactions', 'one_time': 'one-time purchases', 'price_driven': 'price-driven selection', 'no_relationship': 'no ongoing relationship', 'market_based': 'market-based pricing'}},
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
class SupplyChainStrategyEnum(RichEnum):
|
|
75
|
+
"""
|
|
76
|
+
Supply chain strategic approaches
|
|
77
|
+
"""
|
|
78
|
+
# Enum members
|
|
79
|
+
LEAN_SUPPLY_CHAIN = "LEAN_SUPPLY_CHAIN"
|
|
80
|
+
AGILE_SUPPLY_CHAIN = "AGILE_SUPPLY_CHAIN"
|
|
81
|
+
RESILIENT_SUPPLY_CHAIN = "RESILIENT_SUPPLY_CHAIN"
|
|
82
|
+
SUSTAINABLE_SUPPLY_CHAIN = "SUSTAINABLE_SUPPLY_CHAIN"
|
|
83
|
+
GLOBAL_SUPPLY_CHAIN = "GLOBAL_SUPPLY_CHAIN"
|
|
84
|
+
LOCAL_SUPPLY_CHAIN = "LOCAL_SUPPLY_CHAIN"
|
|
85
|
+
DIGITAL_SUPPLY_CHAIN = "DIGITAL_SUPPLY_CHAIN"
|
|
86
|
+
COLLABORATIVE_SUPPLY_CHAIN = "COLLABORATIVE_SUPPLY_CHAIN"
|
|
87
|
+
COST_FOCUSED_SUPPLY_CHAIN = "COST_FOCUSED_SUPPLY_CHAIN"
|
|
88
|
+
CUSTOMER_FOCUSED_SUPPLY_CHAIN = "CUSTOMER_FOCUSED_SUPPLY_CHAIN"
|
|
89
|
+
|
|
90
|
+
# Set metadata after class creation
|
|
91
|
+
SupplyChainStrategyEnum._metadata = {
|
|
92
|
+
"LEAN_SUPPLY_CHAIN": {'description': 'Waste elimination and efficiency-focused supply chain', 'annotations': {'philosophy': 'lean philosophy', 'waste': 'waste elimination', 'efficiency': 'operational efficiency', 'flow': 'smooth material flow', 'inventory': 'minimal inventory'}},
|
|
93
|
+
"AGILE_SUPPLY_CHAIN": {'description': 'Flexible and responsive supply chain', 'annotations': {'flexibility': 'high flexibility', 'responsiveness': 'rapid response capability', 'adaptation': 'quick adaptation', 'variability': 'handles demand variability', 'customer': 'customer responsiveness'}},
|
|
94
|
+
"RESILIENT_SUPPLY_CHAIN": {'description': 'Risk-resistant and robust supply chain', 'annotations': {'resilience': 'supply chain resilience', 'risk_management': 'comprehensive risk management', 'redundancy': 'built-in redundancy', 'recovery': 'quick recovery capability', 'continuity': 'business continuity focus'}},
|
|
95
|
+
"SUSTAINABLE_SUPPLY_CHAIN": {'description': 'Environmentally and socially responsible supply chain', 'annotations': {'sustainability': 'environmental and social sustainability', 'responsibility': 'corporate responsibility', 'lifecycle': 'lifecycle assessment', 'circular': 'circular economy principles', 'stakeholder': 'stakeholder value'}},
|
|
96
|
+
"GLOBAL_SUPPLY_CHAIN": {'description': 'Internationally distributed supply chain', 'annotations': {'global': 'global geographic distribution', 'scale': 'economies of scale', 'complexity': 'increased complexity', 'risk': 'global risks', 'coordination': 'global coordination'}},
|
|
97
|
+
"LOCAL_SUPPLY_CHAIN": {'description': 'Geographically concentrated supply chain', 'annotations': {'local': 'local or regional focus', 'proximity': 'geographic proximity', 'responsiveness': 'local responsiveness', 'community': 'community support', 'sustainability': 'reduced transportation'}},
|
|
98
|
+
"DIGITAL_SUPPLY_CHAIN": {'description': 'Technology-enabled and data-driven supply chain', 'annotations': {'digital': 'digital transformation', 'technology': 'advanced technology', 'data': 'data-driven decisions', 'automation': 'process automation', 'visibility': 'end-to-end visibility'}},
|
|
99
|
+
"COLLABORATIVE_SUPPLY_CHAIN": {'description': 'Partnership-based collaborative supply chain', 'annotations': {'collaboration': 'supply chain collaboration', 'partnership': 'strategic partnerships', 'integration': 'process integration', 'sharing': 'information sharing', 'joint_planning': 'collaborative planning'}},
|
|
100
|
+
"COST_FOCUSED_SUPPLY_CHAIN": {'description': 'Cost optimization-focused supply chain', 'annotations': {'cost': 'cost optimization', 'efficiency': 'cost efficiency', 'standardization': 'process standardization', 'scale': 'economies of scale', 'procurement': 'cost-focused procurement'}},
|
|
101
|
+
"CUSTOMER_FOCUSED_SUPPLY_CHAIN": {'description': 'Customer service-oriented supply chain', 'annotations': {'customer': 'customer-centric', 'service': 'customer service focus', 'customization': 'product customization', 'responsiveness': 'customer responsiveness', 'satisfaction': 'customer satisfaction'}},
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
class LogisticsOperationEnum(RichEnum):
|
|
105
|
+
"""
|
|
106
|
+
Types of logistics operations
|
|
107
|
+
"""
|
|
108
|
+
# Enum members
|
|
109
|
+
INBOUND_LOGISTICS = "INBOUND_LOGISTICS"
|
|
110
|
+
OUTBOUND_LOGISTICS = "OUTBOUND_LOGISTICS"
|
|
111
|
+
REVERSE_LOGISTICS = "REVERSE_LOGISTICS"
|
|
112
|
+
THIRD_PARTY_LOGISTICS = "THIRD_PARTY_LOGISTICS"
|
|
113
|
+
FOURTH_PARTY_LOGISTICS = "FOURTH_PARTY_LOGISTICS"
|
|
114
|
+
WAREHOUSING = "WAREHOUSING"
|
|
115
|
+
TRANSPORTATION = "TRANSPORTATION"
|
|
116
|
+
CROSS_DOCKING = "CROSS_DOCKING"
|
|
117
|
+
DISTRIBUTION = "DISTRIBUTION"
|
|
118
|
+
FREIGHT_FORWARDING = "FREIGHT_FORWARDING"
|
|
119
|
+
|
|
120
|
+
# Set metadata after class creation
|
|
121
|
+
LogisticsOperationEnum._metadata = {
|
|
122
|
+
"INBOUND_LOGISTICS": {'description': 'Management of incoming materials and supplies', 'annotations': {'direction': 'inbound to organization', 'materials': 'raw materials and supplies', 'suppliers': 'supplier coordination', 'receiving': 'receiving operations', 'quality': 'incoming quality control'}},
|
|
123
|
+
"OUTBOUND_LOGISTICS": {'description': 'Management of finished goods distribution', 'annotations': {'direction': 'outbound from organization', 'products': 'finished goods', 'customers': 'customer delivery', 'distribution': 'distribution management', 'service': 'customer service'}},
|
|
124
|
+
"REVERSE_LOGISTICS": {'description': 'Management of product returns and recycling', 'annotations': {'direction': 'reverse flow', 'returns': 'product returns', 'recycling': 'recycling and disposal', 'recovery': 'value recovery', 'sustainability': 'environmental responsibility'}},
|
|
125
|
+
"THIRD_PARTY_LOGISTICS": {'description': 'Outsourced logistics services', 'annotations': {'outsourcing': 'logistics outsourcing', 'service_provider': 'third-party provider', 'specialization': 'logistics specialization', 'cost': 'cost optimization', 'expertise': 'logistics expertise'}},
|
|
126
|
+
"FOURTH_PARTY_LOGISTICS": {'description': 'Supply chain integration and management services', 'annotations': {'integration': 'supply chain integration', 'management': 'end-to-end management', 'coordination': 'multi-provider coordination', 'strategy': 'strategic logistics', 'technology': 'technology integration'}},
|
|
127
|
+
"WAREHOUSING": {'description': 'Storage and inventory management operations', 'annotations': {'storage': 'product storage', 'inventory': 'inventory management', 'handling': 'material handling', 'distribution': 'distribution center', 'automation': 'warehouse automation'}},
|
|
128
|
+
"TRANSPORTATION": {'description': 'Movement of goods between locations', 'annotations': {'movement': 'goods movement', 'modes': 'transportation modes', 'routing': 'route optimization', 'scheduling': 'delivery scheduling', 'cost': 'transportation cost'}},
|
|
129
|
+
"CROSS_DOCKING": {'description': 'Direct transfer without storage', 'annotations': {'transfer': 'direct transfer', 'minimal_storage': 'minimal inventory storage', 'efficiency': 'operational efficiency', 'speed': 'fast throughput', 'consolidation': 'shipment consolidation'}},
|
|
130
|
+
"DISTRIBUTION": {'description': 'Product distribution and delivery operations', 'annotations': {'distribution': 'product distribution', 'network': 'distribution network', 'delivery': 'customer delivery', 'service': 'delivery service', 'coverage': 'market coverage'}},
|
|
131
|
+
"FREIGHT_FORWARDING": {'description': 'International shipping and customs management', 'annotations': {'international': 'international shipping', 'customs': 'customs clearance', 'documentation': 'shipping documentation', 'coordination': 'multi-modal coordination', 'compliance': 'regulatory compliance'}},
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
class SourcingStrategyEnum(RichEnum):
|
|
135
|
+
"""
|
|
136
|
+
Sourcing strategy approaches
|
|
137
|
+
"""
|
|
138
|
+
# Enum members
|
|
139
|
+
SINGLE_SOURCING = "SINGLE_SOURCING"
|
|
140
|
+
MULTIPLE_SOURCING = "MULTIPLE_SOURCING"
|
|
141
|
+
DUAL_SOURCING = "DUAL_SOURCING"
|
|
142
|
+
GLOBAL_SOURCING = "GLOBAL_SOURCING"
|
|
143
|
+
DOMESTIC_SOURCING = "DOMESTIC_SOURCING"
|
|
144
|
+
NEAR_SOURCING = "NEAR_SOURCING"
|
|
145
|
+
VERTICAL_INTEGRATION = "VERTICAL_INTEGRATION"
|
|
146
|
+
OUTSOURCING = "OUTSOURCING"
|
|
147
|
+
INSOURCING = "INSOURCING"
|
|
148
|
+
CONSORTIUM_SOURCING = "CONSORTIUM_SOURCING"
|
|
149
|
+
|
|
150
|
+
# Set metadata after class creation
|
|
151
|
+
SourcingStrategyEnum._metadata = {
|
|
152
|
+
"SINGLE_SOURCING": {'description': 'Deliberate use of one supplier for strategic reasons', 'annotations': {'suppliers': 'single supplier', 'strategic': 'strategic decision', 'partnership': 'close partnership', 'risk': 'supply concentration risk', 'benefits': 'economies of scale'}},
|
|
153
|
+
"MULTIPLE_SOURCING": {'description': 'Use of multiple suppliers for risk mitigation', 'annotations': {'suppliers': 'multiple suppliers', 'risk_mitigation': 'supply risk mitigation', 'competition': 'supplier competition', 'flexibility': 'sourcing flexibility', 'management': 'complex supplier management'}},
|
|
154
|
+
"DUAL_SOURCING": {'description': 'Use of two suppliers for balance of risk and efficiency', 'annotations': {'suppliers': 'two suppliers', 'balance': 'risk and efficiency balance', 'backup': 'backup supply capability', 'competition': 'limited competition', 'management': 'manageable complexity'}},
|
|
155
|
+
"GLOBAL_SOURCING": {'description': 'Worldwide sourcing for best value', 'annotations': {'geographic': 'global geographic scope', 'cost': 'cost optimization', 'capability': 'access to capabilities', 'complexity': 'increased complexity', 'risk': 'global supply risks'}},
|
|
156
|
+
"DOMESTIC_SOURCING": {'description': 'Sourcing within domestic market', 'annotations': {'geographic': 'domestic market only', 'proximity': 'geographic proximity', 'responsiveness': 'local responsiveness', 'compliance': 'regulatory compliance', 'support': 'domestic economy support'}},
|
|
157
|
+
"NEAR_SOURCING": {'description': 'Sourcing from nearby geographic regions', 'annotations': {'geographic': 'nearby regions', 'balance': 'cost and proximity balance', 'risk': 'reduced supply chain risk', 'responsiveness': 'improved responsiveness', 'cost': 'moderate cost advantage'}},
|
|
158
|
+
"VERTICAL_INTEGRATION": {'description': 'Internal production instead of external sourcing', 'annotations': {'internal': 'internal production', 'control': 'direct control', 'capability': 'internal capability development', 'investment': 'significant investment', 'flexibility': 'reduced flexibility'}},
|
|
159
|
+
"OUTSOURCING": {'description': 'External sourcing of non-core activities', 'annotations': {'external': 'external providers', 'focus': 'core competency focus', 'cost': 'cost optimization', 'expertise': 'access to expertise', 'dependency': 'external dependency'}},
|
|
160
|
+
"INSOURCING": {'description': 'Bringing previously outsourced activities internal', 'annotations': {'internal': 'bring activities internal', 'control': 'increased control', 'capability': 'internal capability building', 'cost': 'potential cost increase', 'strategic': 'strategic importance'}},
|
|
161
|
+
"CONSORTIUM_SOURCING": {'description': 'Collaborative sourcing with other organizations', 'annotations': {'collaboration': 'multi-organization collaboration', 'leverage': 'increased buying leverage', 'cost': 'cost reduction through scale', 'complexity': 'coordination complexity', 'relationships': 'multi-party relationships'}},
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
class SupplierRelationshipTypeEnum(RichEnum):
|
|
165
|
+
"""
|
|
166
|
+
Types of supplier relationship management
|
|
167
|
+
"""
|
|
168
|
+
# Enum members
|
|
169
|
+
TRANSACTIONAL = "TRANSACTIONAL"
|
|
170
|
+
PREFERRED_SUPPLIER = "PREFERRED_SUPPLIER"
|
|
171
|
+
STRATEGIC_PARTNERSHIP = "STRATEGIC_PARTNERSHIP"
|
|
172
|
+
ALLIANCE = "ALLIANCE"
|
|
173
|
+
JOINT_VENTURE = "JOINT_VENTURE"
|
|
174
|
+
VENDOR_MANAGED_INVENTORY = "VENDOR_MANAGED_INVENTORY"
|
|
175
|
+
CONSIGNMENT = "CONSIGNMENT"
|
|
176
|
+
COLLABORATIVE_PLANNING = "COLLABORATIVE_PLANNING"
|
|
177
|
+
DEVELOPMENT_PARTNERSHIP = "DEVELOPMENT_PARTNERSHIP"
|
|
178
|
+
RISK_SHARING = "RISK_SHARING"
|
|
179
|
+
|
|
180
|
+
# Set metadata after class creation
|
|
181
|
+
SupplierRelationshipTypeEnum._metadata = {
|
|
182
|
+
"TRANSACTIONAL": {'description': 'Arms-length, price-focused supplier relationship', 'annotations': {'focus': 'price and terms focus', 'interaction': 'minimal interaction', 'duration': 'short-term orientation', 'switching': 'easy supplier switching', 'competition': 'competitive bidding'}},
|
|
183
|
+
"PREFERRED_SUPPLIER": {'description': 'Ongoing relationship with proven suppliers', 'annotations': {'status': 'preferred supplier status', 'performance': 'proven performance', 'priority': 'priority consideration', 'benefits': 'preferential treatment', 'stability': 'stable relationship'}},
|
|
184
|
+
"STRATEGIC_PARTNERSHIP": {'description': 'Collaborative long-term strategic relationship', 'annotations': {'collaboration': 'strategic collaboration', 'integration': 'business integration', 'planning': 'joint planning', 'development': 'joint development', 'mutual_benefit': 'mutual value creation'}},
|
|
185
|
+
"ALLIANCE": {'description': 'Formal alliance with shared objectives', 'annotations': {'formal': 'formal alliance agreement', 'objectives': 'shared strategic objectives', 'resources': 'shared resources', 'risks': 'shared risks and rewards', 'governance': 'joint governance'}},
|
|
186
|
+
"JOINT_VENTURE": {'description': 'Separate entity created with supplier', 'annotations': {'entity': 'separate legal entity', 'ownership': 'shared ownership', 'investment': 'joint investment', 'control': 'shared control', 'separate': 'separate business unit'}},
|
|
187
|
+
"VENDOR_MANAGED_INVENTORY": {'description': 'Supplier manages customer inventory', 'annotations': {'management': 'supplier manages inventory', 'visibility': 'demand visibility', 'responsibility': 'supplier responsibility', 'efficiency': 'inventory efficiency', 'integration': 'systems integration'}},
|
|
188
|
+
"CONSIGNMENT": {'description': 'Supplier owns inventory until consumption', 'annotations': {'ownership': 'supplier retains ownership', 'location': 'customer location', 'payment': 'payment on consumption', 'cash_flow': 'improved customer cash flow', 'risk': 'supplier inventory risk'}},
|
|
189
|
+
"COLLABORATIVE_PLANNING": {'description': 'Joint planning and forecasting relationship', 'annotations': {'planning': 'collaborative planning', 'forecasting': 'joint forecasting', 'information': 'information sharing', 'coordination': 'demand coordination', 'efficiency': 'supply chain efficiency'}},
|
|
190
|
+
"DEVELOPMENT_PARTNERSHIP": {'description': 'Investment in supplier capability development', 'annotations': {'development': 'supplier capability development', 'investment': 'customer investment', 'improvement': 'supplier improvement', 'capability': 'capability building', 'long_term': 'long-term commitment'}},
|
|
191
|
+
"RISK_SHARING": {'description': 'Shared risk and reward relationship', 'annotations': {'risk': 'shared risk and reward', 'incentives': 'aligned incentives', 'performance': 'performance-based', 'outcomes': 'shared outcomes', 'collaboration': 'collaborative approach'}},
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
class InventoryManagementApproachEnum(RichEnum):
|
|
195
|
+
"""
|
|
196
|
+
Inventory management methodologies
|
|
197
|
+
"""
|
|
198
|
+
# Enum members
|
|
199
|
+
JUST_IN_TIME = "JUST_IN_TIME"
|
|
200
|
+
ECONOMIC_ORDER_QUANTITY = "ECONOMIC_ORDER_QUANTITY"
|
|
201
|
+
ABC_ANALYSIS = "ABC_ANALYSIS"
|
|
202
|
+
SAFETY_STOCK = "SAFETY_STOCK"
|
|
203
|
+
VENDOR_MANAGED_INVENTORY = "VENDOR_MANAGED_INVENTORY"
|
|
204
|
+
CONSIGNMENT_INVENTORY = "CONSIGNMENT_INVENTORY"
|
|
205
|
+
KANBAN = "KANBAN"
|
|
206
|
+
TWO_BIN_SYSTEM = "TWO_BIN_SYSTEM"
|
|
207
|
+
CONTINUOUS_REVIEW = "CONTINUOUS_REVIEW"
|
|
208
|
+
PERIODIC_REVIEW = "PERIODIC_REVIEW"
|
|
209
|
+
|
|
210
|
+
# Set metadata after class creation
|
|
211
|
+
InventoryManagementApproachEnum._metadata = {
|
|
212
|
+
"JUST_IN_TIME": {'description': 'Minimal inventory with precise timing', 'annotations': {'timing': 'precise delivery timing', 'waste': 'inventory waste elimination', 'flow': 'continuous flow', 'supplier': 'supplier integration', 'quality': 'zero defect requirement'}},
|
|
213
|
+
"ECONOMIC_ORDER_QUANTITY": {'description': 'Optimal order quantity calculation', 'annotations': {'optimization': 'cost optimization', 'calculation': 'mathematical calculation', 'trade_off': 'ordering vs holding cost trade-off', 'static': 'static demand assumption', 'classical': 'classical inventory model'}},
|
|
214
|
+
"ABC_ANALYSIS": {'description': 'Inventory classification by value importance', 'annotations': {'classification': 'value-based classification', 'focus': 'priority focus on high-value items', 'management': 'differentiated management', 'efficiency': 'resource allocation efficiency', 'pareto': 'Pareto principle application'}},
|
|
215
|
+
"SAFETY_STOCK": {'description': 'Buffer inventory for demand/supply uncertainty', 'annotations': {'buffer': 'inventory buffer', 'uncertainty': 'demand and supply uncertainty', 'service_level': 'service level protection', 'cost': 'additional holding cost', 'risk': 'stockout risk mitigation'}},
|
|
216
|
+
"VENDOR_MANAGED_INVENTORY": {'description': 'Supplier-controlled inventory management', 'annotations': {'control': 'supplier inventory control', 'visibility': 'demand visibility', 'automation': 'automated replenishment', 'efficiency': 'inventory efficiency', 'partnership': 'supplier partnership'}},
|
|
217
|
+
"CONSIGNMENT_INVENTORY": {'description': 'Supplier-owned inventory at customer location', 'annotations': {'ownership': 'supplier ownership', 'location': 'customer location', 'cash_flow': 'improved cash flow', 'availability': 'immediate availability', 'risk': 'supplier risk'}},
|
|
218
|
+
"KANBAN": {'description': 'Visual pull-based inventory system', 'annotations': {'visual': 'visual control system', 'pull': 'pull-based replenishment', 'lean': 'lean methodology', 'signals': 'kanban signals', 'flow': 'smooth material flow'}},
|
|
219
|
+
"TWO_BIN_SYSTEM": {'description': 'Simple reorder point system using two bins', 'annotations': {'simplicity': 'simple reorder system', 'visual': 'visual reorder point', 'bins': 'two-bin methodology', 'automatic': 'automatic reordering', 'low_cost': 'low-cost implementation'}},
|
|
220
|
+
"CONTINUOUS_REVIEW": {'description': 'Continuous monitoring with fixed reorder point', 'annotations': {'monitoring': 'continuous inventory monitoring', 'reorder_point': 'fixed reorder point', 'quantity': 'fixed order quantity', 'responsiveness': 'responsive to demand', 'cost': 'higher monitoring cost'}},
|
|
221
|
+
"PERIODIC_REVIEW": {'description': 'Periodic inventory review with variable order quantity', 'annotations': {'periodic': 'periodic review intervals', 'variable': 'variable order quantity', 'target': 'target inventory level', 'aggregation': 'order aggregation', 'efficiency': 'administrative efficiency'}},
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
__all__ = [
|
|
225
|
+
"ProcurementTypeEnum",
|
|
226
|
+
"VendorCategoryEnum",
|
|
227
|
+
"SupplyChainStrategyEnum",
|
|
228
|
+
"LogisticsOperationEnum",
|
|
229
|
+
"SourcingStrategyEnum",
|
|
230
|
+
"SupplierRelationshipTypeEnum",
|
|
231
|
+
"InventoryManagementApproachEnum",
|
|
232
|
+
]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""Auto-generated package."""
|
|
@@ -0,0 +1,315 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Chemical Entities Value Sets
|
|
3
|
+
|
|
4
|
+
Value sets for chemical entities including subatomic particles, chemical elements, bond types, and chemical classifications. Based on the ChemROF ontological framework.
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
Generated from: chemistry/chemical_entities.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 SubatomicParticleEnum(RichEnum):
|
|
16
|
+
"""
|
|
17
|
+
Fundamental and composite subatomic particles
|
|
18
|
+
"""
|
|
19
|
+
# Enum members
|
|
20
|
+
ELECTRON = "ELECTRON"
|
|
21
|
+
POSITRON = "POSITRON"
|
|
22
|
+
MUON = "MUON"
|
|
23
|
+
TAU_LEPTON = "TAU_LEPTON"
|
|
24
|
+
ELECTRON_NEUTRINO = "ELECTRON_NEUTRINO"
|
|
25
|
+
MUON_NEUTRINO = "MUON_NEUTRINO"
|
|
26
|
+
TAU_NEUTRINO = "TAU_NEUTRINO"
|
|
27
|
+
UP_QUARK = "UP_QUARK"
|
|
28
|
+
DOWN_QUARK = "DOWN_QUARK"
|
|
29
|
+
CHARM_QUARK = "CHARM_QUARK"
|
|
30
|
+
STRANGE_QUARK = "STRANGE_QUARK"
|
|
31
|
+
TOP_QUARK = "TOP_QUARK"
|
|
32
|
+
BOTTOM_QUARK = "BOTTOM_QUARK"
|
|
33
|
+
PHOTON = "PHOTON"
|
|
34
|
+
W_BOSON = "W_BOSON"
|
|
35
|
+
Z_BOSON = "Z_BOSON"
|
|
36
|
+
GLUON = "GLUON"
|
|
37
|
+
HIGGS_BOSON = "HIGGS_BOSON"
|
|
38
|
+
PROTON = "PROTON"
|
|
39
|
+
NEUTRON = "NEUTRON"
|
|
40
|
+
ALPHA_PARTICLE = "ALPHA_PARTICLE"
|
|
41
|
+
DEUTERON = "DEUTERON"
|
|
42
|
+
TRITON = "TRITON"
|
|
43
|
+
|
|
44
|
+
# Set metadata after class creation
|
|
45
|
+
SubatomicParticleEnum._metadata = {
|
|
46
|
+
"ELECTRON": {'description': 'Elementary particle with -1 charge, spin 1/2', 'meaning': 'CHEBI:10545', 'annotations': {'mass': '0.51099895 MeV/c²', 'charge': '-1', 'spin': '1/2', 'type': 'lepton'}},
|
|
47
|
+
"POSITRON": {'description': 'Antiparticle of electron with +1 charge', 'meaning': 'CHEBI:30225', 'annotations': {'mass': '0.51099895 MeV/c²', 'charge': '+1', 'spin': '1/2', 'type': 'lepton'}},
|
|
48
|
+
"MUON": {'description': 'Heavy lepton with -1 charge', 'meaning': 'CHEBI:36356', 'annotations': {'mass': '105.658 MeV/c²', 'charge': '-1', 'spin': '1/2', 'type': 'lepton'}},
|
|
49
|
+
"TAU_LEPTON": {'description': 'Heaviest lepton with -1 charge', 'meaning': 'CHEBI:36355', 'annotations': {'mass': '1777.05 MeV/c²', 'charge': '-1', 'spin': '1/2', 'type': 'lepton'}},
|
|
50
|
+
"ELECTRON_NEUTRINO": {'description': 'Electron neutrino, nearly massless', 'meaning': 'CHEBI:30223', 'annotations': {'mass': '<2.2 eV/c²', 'charge': '0', 'spin': '1/2', 'type': 'lepton'}},
|
|
51
|
+
"MUON_NEUTRINO": {'description': 'Muon neutrino', 'meaning': 'CHEBI:36353', 'annotations': {'mass': '<0.17 MeV/c²', 'charge': '0', 'spin': '1/2', 'type': 'lepton'}},
|
|
52
|
+
"TAU_NEUTRINO": {'description': 'Tau neutrino', 'meaning': 'CHEBI:36354', 'annotations': {'mass': '<15.5 MeV/c²', 'charge': '0', 'spin': '1/2', 'type': 'lepton'}},
|
|
53
|
+
"UP_QUARK": {'description': 'First generation quark with +2/3 charge', 'meaning': 'CHEBI:36366', 'annotations': {'mass': '2.16 MeV/c²', 'charge': '+2/3', 'spin': '1/2', 'type': 'quark', 'generation': '1'}},
|
|
54
|
+
"DOWN_QUARK": {'description': 'First generation quark with -1/3 charge', 'meaning': 'CHEBI:36367', 'annotations': {'mass': '4.67 MeV/c²', 'charge': '-1/3', 'spin': '1/2', 'type': 'quark', 'generation': '1'}},
|
|
55
|
+
"CHARM_QUARK": {'description': 'Second generation quark with +2/3 charge', 'meaning': 'CHEBI:36369', 'annotations': {'mass': '1.27 GeV/c²', 'charge': '+2/3', 'spin': '1/2', 'type': 'quark', 'generation': '2'}},
|
|
56
|
+
"STRANGE_QUARK": {'description': 'Second generation quark with -1/3 charge', 'meaning': 'CHEBI:36368', 'annotations': {'mass': '93.4 MeV/c²', 'charge': '-1/3', 'spin': '1/2', 'type': 'quark', 'generation': '2'}},
|
|
57
|
+
"TOP_QUARK": {'description': 'Third generation quark with +2/3 charge', 'meaning': 'CHEBI:36371', 'annotations': {'mass': '172.76 GeV/c²', 'charge': '+2/3', 'spin': '1/2', 'type': 'quark', 'generation': '3'}},
|
|
58
|
+
"BOTTOM_QUARK": {'description': 'Third generation quark with -1/3 charge', 'meaning': 'CHEBI:36370', 'annotations': {'mass': '4.18 GeV/c²', 'charge': '-1/3', 'spin': '1/2', 'type': 'quark', 'generation': '3'}},
|
|
59
|
+
"PHOTON": {'description': 'Force carrier for electromagnetic interaction', 'meaning': 'CHEBI:30212', 'annotations': {'mass': '0', 'charge': '0', 'spin': '1', 'type': 'gauge boson'}},
|
|
60
|
+
"W_BOSON": {'description': 'Force carrier for weak interaction', 'meaning': 'CHEBI:36343', 'annotations': {'mass': '80.379 GeV/c²', 'charge': '±1', 'spin': '1', 'type': 'gauge boson'}},
|
|
61
|
+
"Z_BOSON": {'description': 'Force carrier for weak interaction', 'meaning': 'CHEBI:36344', 'annotations': {'mass': '91.1876 GeV/c²', 'charge': '0', 'spin': '1', 'type': 'gauge boson'}},
|
|
62
|
+
"GLUON": {'description': 'Force carrier for strong interaction', 'annotations': {'mass': '0', 'charge': '0', 'spin': '1', 'type': 'gauge boson', 'color_charge': 'yes'}},
|
|
63
|
+
"HIGGS_BOSON": {'description': 'Scalar boson responsible for mass', 'meaning': 'CHEBI:146278', 'annotations': {'mass': '125.25 GeV/c²', 'charge': '0', 'spin': '0', 'type': 'scalar boson'}},
|
|
64
|
+
"PROTON": {'description': 'Positively charged nucleon', 'meaning': 'CHEBI:24636', 'annotations': {'mass': '938.272 MeV/c²', 'charge': '+1', 'spin': '1/2', 'type': 'baryon', 'composition': 'uud'}},
|
|
65
|
+
"NEUTRON": {'description': 'Neutral nucleon', 'meaning': 'CHEBI:30222', 'annotations': {'mass': '939.565 MeV/c²', 'charge': '0', 'spin': '1/2', 'type': 'baryon', 'composition': 'udd'}},
|
|
66
|
+
"ALPHA_PARTICLE": {'description': 'Helium-4 nucleus', 'meaning': 'CHEBI:30216', 'annotations': {'mass': '3727.379 MeV/c²', 'charge': '+2', 'composition': '2 protons, 2 neutrons'}},
|
|
67
|
+
"DEUTERON": {'description': 'Hydrogen-2 nucleus', 'meaning': 'CHEBI:29233', 'annotations': {'mass': '1875.613 MeV/c²', 'charge': '+1', 'composition': '1 proton, 1 neutron'}},
|
|
68
|
+
"TRITON": {'description': 'Hydrogen-3 nucleus', 'meaning': 'CHEBI:29234', 'annotations': {'mass': '2808.921 MeV/c²', 'charge': '+1', 'composition': '1 proton, 2 neutrons'}},
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
class BondTypeEnum(RichEnum):
|
|
72
|
+
"""
|
|
73
|
+
Types of chemical bonds
|
|
74
|
+
"""
|
|
75
|
+
# Enum members
|
|
76
|
+
SINGLE = "SINGLE"
|
|
77
|
+
DOUBLE = "DOUBLE"
|
|
78
|
+
TRIPLE = "TRIPLE"
|
|
79
|
+
QUADRUPLE = "QUADRUPLE"
|
|
80
|
+
AROMATIC = "AROMATIC"
|
|
81
|
+
IONIC = "IONIC"
|
|
82
|
+
HYDROGEN = "HYDROGEN"
|
|
83
|
+
METALLIC = "METALLIC"
|
|
84
|
+
VAN_DER_WAALS = "VAN_DER_WAALS"
|
|
85
|
+
COORDINATE = "COORDINATE"
|
|
86
|
+
PI = "PI"
|
|
87
|
+
SIGMA = "SIGMA"
|
|
88
|
+
|
|
89
|
+
# Set metadata after class creation
|
|
90
|
+
BondTypeEnum._metadata = {
|
|
91
|
+
"SINGLE": {'description': 'Single covalent bond', 'meaning': 'gc:Single', 'annotations': {'bond_order': '1', 'electrons_shared': '2'}},
|
|
92
|
+
"DOUBLE": {'description': 'Double covalent bond', 'meaning': 'gc:Double', 'annotations': {'bond_order': '2', 'electrons_shared': '4'}},
|
|
93
|
+
"TRIPLE": {'description': 'Triple covalent bond', 'meaning': 'gc:Triple', 'annotations': {'bond_order': '3', 'electrons_shared': '6'}},
|
|
94
|
+
"QUADRUPLE": {'description': 'Quadruple bond (rare, in transition metals)', 'meaning': 'gc:Quadruple', 'annotations': {'bond_order': '4', 'electrons_shared': '8'}},
|
|
95
|
+
"AROMATIC": {'description': 'Aromatic bond', 'meaning': 'gc:AromaticBond', 'annotations': {'bond_order': '1.5', 'delocalized': 'true'}},
|
|
96
|
+
"IONIC": {'description': 'Ionic bond', 'meaning': 'CHEBI:50860', 'annotations': {'type': 'electrostatic'}},
|
|
97
|
+
"HYDROGEN": {'description': 'Hydrogen bond', 'annotations': {'type': 'weak interaction', 'energy': '5-30 kJ/mol'}},
|
|
98
|
+
"METALLIC": {'description': 'Metallic bond', 'annotations': {'type': 'delocalized electrons'}},
|
|
99
|
+
"VAN_DER_WAALS": {'description': 'Van der Waals interaction', 'annotations': {'type': 'weak interaction', 'energy': '0.4-4 kJ/mol'}},
|
|
100
|
+
"COORDINATE": {'description': 'Coordinate/dative covalent bond', 'meaning': 'CHEBI:33240', 'annotations': {'electrons_from': 'one atom'}},
|
|
101
|
+
"PI": {'description': 'Pi bond', 'annotations': {'orbital_overlap': 'side-to-side'}},
|
|
102
|
+
"SIGMA": {'description': 'Sigma bond', 'annotations': {'orbital_overlap': 'head-to-head'}},
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
class PeriodicTableBlockEnum(RichEnum):
|
|
106
|
+
"""
|
|
107
|
+
Blocks of the periodic table
|
|
108
|
+
"""
|
|
109
|
+
# Enum members
|
|
110
|
+
S_BLOCK = "S_BLOCK"
|
|
111
|
+
P_BLOCK = "P_BLOCK"
|
|
112
|
+
D_BLOCK = "D_BLOCK"
|
|
113
|
+
F_BLOCK = "F_BLOCK"
|
|
114
|
+
|
|
115
|
+
# Set metadata after class creation
|
|
116
|
+
PeriodicTableBlockEnum._metadata = {
|
|
117
|
+
"S_BLOCK": {'description': 's-block elements (groups 1 and 2)', 'meaning': 'CHEBI:33674', 'annotations': {'valence_orbital': 's', 'groups': '1,2'}},
|
|
118
|
+
"P_BLOCK": {'description': 'p-block elements (groups 13-18)', 'meaning': 'CHEBI:33675', 'annotations': {'valence_orbital': 'p', 'groups': '13,14,15,16,17,18'}},
|
|
119
|
+
"D_BLOCK": {'description': 'd-block elements (transition metals)', 'meaning': 'CHEBI:33561', 'annotations': {'valence_orbital': 'd', 'groups': '3-12'}},
|
|
120
|
+
"F_BLOCK": {'description': 'f-block elements (lanthanides and actinides)', 'meaning': 'CHEBI:33562', 'annotations': {'valence_orbital': 'f', 'series': 'lanthanides, actinides'}},
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
class ElementFamilyEnum(RichEnum):
|
|
124
|
+
"""
|
|
125
|
+
Chemical element families/groups
|
|
126
|
+
"""
|
|
127
|
+
# Enum members
|
|
128
|
+
ALKALI_METALS = "ALKALI_METALS"
|
|
129
|
+
ALKALINE_EARTH_METALS = "ALKALINE_EARTH_METALS"
|
|
130
|
+
TRANSITION_METALS = "TRANSITION_METALS"
|
|
131
|
+
LANTHANIDES = "LANTHANIDES"
|
|
132
|
+
ACTINIDES = "ACTINIDES"
|
|
133
|
+
CHALCOGENS = "CHALCOGENS"
|
|
134
|
+
HALOGENS = "HALOGENS"
|
|
135
|
+
NOBLE_GASES = "NOBLE_GASES"
|
|
136
|
+
METALLOIDS = "METALLOIDS"
|
|
137
|
+
POST_TRANSITION_METALS = "POST_TRANSITION_METALS"
|
|
138
|
+
NONMETALS = "NONMETALS"
|
|
139
|
+
|
|
140
|
+
# Set metadata after class creation
|
|
141
|
+
ElementFamilyEnum._metadata = {
|
|
142
|
+
"ALKALI_METALS": {'description': 'Group 1 elements (except hydrogen)', 'meaning': 'CHEBI:22314', 'annotations': {'group': '1', 'elements': 'Li, Na, K, Rb, Cs, Fr'}},
|
|
143
|
+
"ALKALINE_EARTH_METALS": {'description': 'Group 2 elements', 'meaning': 'CHEBI:22315', 'annotations': {'group': '2', 'elements': 'Be, Mg, Ca, Sr, Ba, Ra'}},
|
|
144
|
+
"TRANSITION_METALS": {'description': 'd-block elements', 'meaning': 'CHEBI:27081', 'annotations': {'groups': '3-12'}},
|
|
145
|
+
"LANTHANIDES": {'description': 'Lanthanide series', 'meaning': 'CHEBI:33768', 'annotations': {'atomic_numbers': '57-71'}},
|
|
146
|
+
"ACTINIDES": {'description': 'Actinide series', 'meaning': 'CHEBI:33769', 'annotations': {'atomic_numbers': '89-103'}},
|
|
147
|
+
"CHALCOGENS": {'description': 'Group 16 elements', 'meaning': 'CHEBI:33303', 'annotations': {'group': '16', 'elements': 'O, S, Se, Te, Po'}},
|
|
148
|
+
"HALOGENS": {'description': 'Group 17 elements', 'meaning': 'CHEBI:47902', 'annotations': {'group': '17', 'elements': 'F, Cl, Br, I, At'}},
|
|
149
|
+
"NOBLE_GASES": {'description': 'Group 18 elements', 'meaning': 'CHEBI:33310', 'annotations': {'group': '18', 'elements': 'He, Ne, Ar, Kr, Xe, Rn'}},
|
|
150
|
+
"METALLOIDS": {'description': 'Elements with intermediate properties', 'meaning': 'CHEBI:33559', 'annotations': {'elements': 'B, Si, Ge, As, Sb, Te, Po'}},
|
|
151
|
+
"POST_TRANSITION_METALS": {'description': 'Metals after the transition series', 'annotations': {'elements': 'Al, Ga, In, Tl, Sn, Pb, Bi'}},
|
|
152
|
+
"NONMETALS": {'description': 'Non-metallic elements', 'meaning': 'CHEBI:25585', 'annotations': {'elements': 'H, C, N, O, F, P, S, Cl, Se, Br, I'}},
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
class ElementMetallicClassificationEnum(RichEnum):
|
|
156
|
+
"""
|
|
157
|
+
Metallic character classification
|
|
158
|
+
"""
|
|
159
|
+
# Enum members
|
|
160
|
+
METALLIC = "METALLIC"
|
|
161
|
+
NON_METALLIC = "NON_METALLIC"
|
|
162
|
+
SEMI_METALLIC = "SEMI_METALLIC"
|
|
163
|
+
|
|
164
|
+
# Set metadata after class creation
|
|
165
|
+
ElementMetallicClassificationEnum._metadata = {
|
|
166
|
+
"METALLIC": {'description': 'Metallic elements', 'meaning': 'damlpt:Metallic', 'annotations': {'properties': 'conductive, malleable, ductile'}},
|
|
167
|
+
"NON_METALLIC": {'description': 'Non-metallic elements', 'meaning': 'damlpt:Non-Metallic', 'annotations': {'properties': 'poor conductors, brittle'}},
|
|
168
|
+
"SEMI_METALLIC": {'description': 'Semi-metallic/metalloid elements', 'meaning': 'damlpt:Semi-Metallic', 'annotations': {'properties': 'intermediate properties'}},
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
class HardOrSoftEnum(RichEnum):
|
|
172
|
+
"""
|
|
173
|
+
HSAB (Hard Soft Acid Base) classification
|
|
174
|
+
"""
|
|
175
|
+
# Enum members
|
|
176
|
+
HARD = "HARD"
|
|
177
|
+
SOFT = "SOFT"
|
|
178
|
+
BORDERLINE = "BORDERLINE"
|
|
179
|
+
|
|
180
|
+
# Set metadata after class creation
|
|
181
|
+
HardOrSoftEnum._metadata = {
|
|
182
|
+
"HARD": {'description': 'Hard acids/bases (small, high charge density)', 'annotations': {'examples': 'H+, Li+, Mg2+, Al3+, F-, OH-', 'polarizability': 'low'}},
|
|
183
|
+
"SOFT": {'description': 'Soft acids/bases (large, low charge density)', 'annotations': {'examples': 'Cu+, Ag+, Au+, I-, S2-', 'polarizability': 'high'}},
|
|
184
|
+
"BORDERLINE": {'description': 'Borderline acids/bases', 'annotations': {'examples': 'Fe2+, Co2+, Ni2+, Cu2+, Zn2+', 'polarizability': 'intermediate'}},
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
class BronstedAcidBaseRoleEnum(RichEnum):
|
|
188
|
+
"""
|
|
189
|
+
Brønsted-Lowry acid-base roles
|
|
190
|
+
"""
|
|
191
|
+
# Enum members
|
|
192
|
+
ACID = "ACID"
|
|
193
|
+
BASE = "BASE"
|
|
194
|
+
AMPHOTERIC = "AMPHOTERIC"
|
|
195
|
+
|
|
196
|
+
# Set metadata after class creation
|
|
197
|
+
BronstedAcidBaseRoleEnum._metadata = {
|
|
198
|
+
"ACID": {'description': 'Proton donor', 'meaning': 'CHEBI:39141', 'annotations': {'definition': 'species that donates H+'}},
|
|
199
|
+
"BASE": {'description': 'Proton acceptor', 'meaning': 'CHEBI:39142', 'annotations': {'definition': 'species that accepts H+'}},
|
|
200
|
+
"AMPHOTERIC": {'description': 'Can act as both acid and base', 'annotations': {'definition': 'species that can donate or accept H+', 'examples': 'H2O, HSO4-, H2PO4-'}},
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
class LewisAcidBaseRoleEnum(RichEnum):
|
|
204
|
+
"""
|
|
205
|
+
Lewis acid-base roles
|
|
206
|
+
"""
|
|
207
|
+
# Enum members
|
|
208
|
+
LEWIS_ACID = "LEWIS_ACID"
|
|
209
|
+
LEWIS_BASE = "LEWIS_BASE"
|
|
210
|
+
|
|
211
|
+
# Set metadata after class creation
|
|
212
|
+
LewisAcidBaseRoleEnum._metadata = {
|
|
213
|
+
"LEWIS_ACID": {'description': 'Electron pair acceptor', 'annotations': {'definition': 'species that accepts electron pair', 'examples': 'BF3, AlCl3, H+'}},
|
|
214
|
+
"LEWIS_BASE": {'description': 'Electron pair donor', 'annotations': {'definition': 'species that donates electron pair', 'examples': 'NH3, OH-, H2O'}},
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
class OxidationStateEnum(RichEnum):
|
|
218
|
+
"""
|
|
219
|
+
Common oxidation states
|
|
220
|
+
"""
|
|
221
|
+
# Enum members
|
|
222
|
+
MINUS_4 = "MINUS_4"
|
|
223
|
+
MINUS_3 = "MINUS_3"
|
|
224
|
+
MINUS_2 = "MINUS_2"
|
|
225
|
+
MINUS_1 = "MINUS_1"
|
|
226
|
+
ZERO = "ZERO"
|
|
227
|
+
PLUS_1 = "PLUS_1"
|
|
228
|
+
PLUS_2 = "PLUS_2"
|
|
229
|
+
PLUS_3 = "PLUS_3"
|
|
230
|
+
PLUS_4 = "PLUS_4"
|
|
231
|
+
PLUS_5 = "PLUS_5"
|
|
232
|
+
PLUS_6 = "PLUS_6"
|
|
233
|
+
PLUS_7 = "PLUS_7"
|
|
234
|
+
PLUS_8 = "PLUS_8"
|
|
235
|
+
|
|
236
|
+
# Set metadata after class creation
|
|
237
|
+
OxidationStateEnum._metadata = {
|
|
238
|
+
"MINUS_4": {'description': 'Oxidation state -4', 'annotations': {'value': '-4', 'example': 'C in CH4'}},
|
|
239
|
+
"MINUS_3": {'description': 'Oxidation state -3', 'annotations': {'value': '-3', 'example': 'N in NH3'}},
|
|
240
|
+
"MINUS_2": {'description': 'Oxidation state -2', 'annotations': {'value': '-2', 'example': 'O in H2O'}},
|
|
241
|
+
"MINUS_1": {'description': 'Oxidation state -1', 'annotations': {'value': '-1', 'example': 'Cl in NaCl'}},
|
|
242
|
+
"ZERO": {'description': 'Oxidation state 0', 'annotations': {'value': '0', 'example': 'elemental forms'}},
|
|
243
|
+
"PLUS_1": {'description': 'Oxidation state +1', 'annotations': {'value': '+1', 'example': 'Na in NaCl'}},
|
|
244
|
+
"PLUS_2": {'description': 'Oxidation state +2', 'annotations': {'value': '+2', 'example': 'Ca in CaCl2'}},
|
|
245
|
+
"PLUS_3": {'description': 'Oxidation state +3', 'annotations': {'value': '+3', 'example': 'Al in Al2O3'}},
|
|
246
|
+
"PLUS_4": {'description': 'Oxidation state +4', 'annotations': {'value': '+4', 'example': 'C in CO2'}},
|
|
247
|
+
"PLUS_5": {'description': 'Oxidation state +5', 'annotations': {'value': '+5', 'example': 'P in PO4³⁻'}},
|
|
248
|
+
"PLUS_6": {'description': 'Oxidation state +6', 'annotations': {'value': '+6', 'example': 'S in SO4²⁻'}},
|
|
249
|
+
"PLUS_7": {'description': 'Oxidation state +7', 'annotations': {'value': '+7', 'example': 'Mn in MnO4⁻'}},
|
|
250
|
+
"PLUS_8": {'description': 'Oxidation state +8', 'annotations': {'value': '+8', 'example': 'Os in OsO4'}},
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
class ChiralityEnum(RichEnum):
|
|
254
|
+
"""
|
|
255
|
+
Chirality/stereochemistry descriptors
|
|
256
|
+
"""
|
|
257
|
+
# Enum members
|
|
258
|
+
R = "R"
|
|
259
|
+
S = "S"
|
|
260
|
+
D = "D"
|
|
261
|
+
L = "L"
|
|
262
|
+
RACEMIC = "RACEMIC"
|
|
263
|
+
MESO = "MESO"
|
|
264
|
+
E = "E"
|
|
265
|
+
Z = "Z"
|
|
266
|
+
|
|
267
|
+
# Set metadata after class creation
|
|
268
|
+
ChiralityEnum._metadata = {
|
|
269
|
+
"R": {'description': 'Rectus (right) configuration', 'annotations': {'cahn_ingold_prelog': 'true'}},
|
|
270
|
+
"S": {'description': 'Sinister (left) configuration', 'annotations': {'cahn_ingold_prelog': 'true'}},
|
|
271
|
+
"D": {'description': 'Dextrorotatory', 'annotations': {'fischer_projection': 'true', 'optical_rotation': 'positive'}},
|
|
272
|
+
"L": {'description': 'Levorotatory', 'annotations': {'fischer_projection': 'true', 'optical_rotation': 'negative'}},
|
|
273
|
+
"RACEMIC": {'description': 'Racemic mixture (50:50 of enantiomers)', 'annotations': {'optical_rotation': 'zero'}},
|
|
274
|
+
"MESO": {'description': 'Meso compound (achiral despite stereocenters)', 'annotations': {'internal_symmetry': 'true'}},
|
|
275
|
+
"E": {'description': 'Entgegen (opposite) configuration', 'annotations': {'geometric_isomer': 'true'}},
|
|
276
|
+
"Z": {'description': 'Zusammen (together) configuration', 'annotations': {'geometric_isomer': 'true'}},
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
class NanostructureMorphologyEnum(RichEnum):
|
|
280
|
+
"""
|
|
281
|
+
Types of nanostructure morphologies
|
|
282
|
+
"""
|
|
283
|
+
# Enum members
|
|
284
|
+
NANOTUBE = "NANOTUBE"
|
|
285
|
+
NANOPARTICLE = "NANOPARTICLE"
|
|
286
|
+
NANOROD = "NANOROD"
|
|
287
|
+
QUANTUM_DOT = "QUANTUM_DOT"
|
|
288
|
+
NANOWIRE = "NANOWIRE"
|
|
289
|
+
NANOSHEET = "NANOSHEET"
|
|
290
|
+
NANOFIBER = "NANOFIBER"
|
|
291
|
+
|
|
292
|
+
# Set metadata after class creation
|
|
293
|
+
NanostructureMorphologyEnum._metadata = {
|
|
294
|
+
"NANOTUBE": {'description': 'Cylindrical nanostructure', 'meaning': 'CHEBI:50796', 'annotations': {'dimensions': '1D', 'examples': 'carbon nanotubes'}},
|
|
295
|
+
"NANOPARTICLE": {'description': 'Particle with nanoscale dimensions', 'meaning': 'CHEBI:50803', 'annotations': {'dimensions': '0D', 'size_range': '1-100 nm'}},
|
|
296
|
+
"NANOROD": {'description': 'Rod-shaped nanostructure', 'meaning': 'CHEBI:50805', 'annotations': {'dimensions': '1D', 'aspect_ratio': '3-20'}},
|
|
297
|
+
"QUANTUM_DOT": {'description': 'Semiconductor nanocrystal', 'meaning': 'CHEBI:50853', 'annotations': {'dimensions': '0D', 'property': 'quantum confinement'}},
|
|
298
|
+
"NANOWIRE": {'description': 'Wire with nanoscale diameter', 'annotations': {'dimensions': '1D', 'diameter': '<100 nm'}},
|
|
299
|
+
"NANOSHEET": {'description': 'Two-dimensional nanostructure', 'annotations': {'dimensions': '2D', 'thickness': '<100 nm'}},
|
|
300
|
+
"NANOFIBER": {'description': 'Fiber with nanoscale diameter', 'annotations': {'dimensions': '1D', 'diameter': '<1000 nm'}},
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
__all__ = [
|
|
304
|
+
"SubatomicParticleEnum",
|
|
305
|
+
"BondTypeEnum",
|
|
306
|
+
"PeriodicTableBlockEnum",
|
|
307
|
+
"ElementFamilyEnum",
|
|
308
|
+
"ElementMetallicClassificationEnum",
|
|
309
|
+
"HardOrSoftEnum",
|
|
310
|
+
"BronstedAcidBaseRoleEnum",
|
|
311
|
+
"LewisAcidBaseRoleEnum",
|
|
312
|
+
"OxidationStateEnum",
|
|
313
|
+
"ChiralityEnum",
|
|
314
|
+
"NanostructureMorphologyEnum",
|
|
315
|
+
]
|