Spaces:
Running
Running
File size: 1,745 Bytes
399b80c | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | from importlib import import_module
__all__ = [
'SkillRegistry',
'SkillMeta',
'SKILL_ID_FILENAME',
'write_skill_id',
'EvolutionSuggestion',
'EvolutionType',
'ExecutionAnalysis',
'SkillCategory',
'SkillJudgment',
'SkillOrigin',
'SkillLineage',
'SkillRecord',
'SkillVisibility',
'SkillStore',
'ExecutionAnalyzer',
'SkillEvolver',
'EvolutionTrigger',
'EvolutionContext',
]
_EXPORTS = {
'SkillRegistry': ('.registry', 'SkillRegistry'),
'SkillMeta': ('.registry', 'SkillMeta'),
'SKILL_ID_FILENAME': ('.registry', 'SKILL_ID_FILENAME'),
'write_skill_id': ('.registry', 'write_skill_id'),
'EvolutionSuggestion': ('.types', 'EvolutionSuggestion'),
'EvolutionType': ('.types', 'EvolutionType'),
'ExecutionAnalysis': ('.types', 'ExecutionAnalysis'),
'SkillCategory': ('.types', 'SkillCategory'),
'SkillJudgment': ('.types', 'SkillJudgment'),
'SkillOrigin': ('.types', 'SkillOrigin'),
'SkillLineage': ('.types', 'SkillLineage'),
'SkillRecord': ('.types', 'SkillRecord'),
'SkillVisibility': ('.types', 'SkillVisibility'),
'SkillStore': ('.store', 'SkillStore'),
'ExecutionAnalyzer': ('.analyzer', 'ExecutionAnalyzer'),
'SkillEvolver': ('.evolver', 'SkillEvolver'),
'EvolutionTrigger': ('.evolver', 'EvolutionTrigger'),
'EvolutionContext': ('.evolver', 'EvolutionContext'),
}
def __getattr__(name: str):
try:
module_name, attr_name = _EXPORTS[name]
except KeyError as exc:
raise AttributeError(f'module {__name__!r} has no attribute {name!r}') from exc
module = import_module(module_name, __name__)
value = getattr(module, attr_name)
globals()[name] = value
return value
|