Skip to content

Module 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 ​