Skip to content

# liteyuki.plugin.model ​

Copyright (C) 2020-2024 LiteyukiStudio. All Rights Reserved

@Time : 2024/7/24 上午12:02 @Author : snowykami @Email : snowykami@outlook.com @File : model.py @Software: PyCharm

### class `PluginType(Enum)` ​

#### attr `APPLICATION = 'application'` ​

#### attr `SERVICE = 'service'` ​

#### attr `MODULE = 'module'` ​

#### attr `UNCLASSIFIED = 'unclassified'` ​

#### attr `TEST = 'test'` ​

### class `PluginMetadata(BaseModel)` ​

#### attr `name: str = NO_DEFAULT` ​

#### attr `description: str = ''` ​

#### attr `usage: str = ''` ​

#### attr `type: PluginType = PluginType.UNCLASSIFIED` ​

#### attr `author: str = ''` ​

#### attr `homepage: str = ''` ​

#### attr `extra: dict[str, Any] = {}` ​

### class `Plugin(BaseModel)` ​

#### func `__hash__(self)` ​

Source code or View on GitHub
python

    def __hash__(self):
        return hash(self.module_name)

#### attr `model_config = {'arbitrary_types_allowed': True}` ​

#### attr `name: str = NO_DEFAULT` ​

#### attr `module: ModuleType = NO_DEFAULT` ​

#### attr `module_name: str = NO_DEFAULT` ​

#### attr `metadata: Optional[PluginMetadata] = None` ​