diff --git a/src/pyxtend/pyxtend_models.py b/src/pyxtend/pyxtend_models.py new file mode 100644 index 0000000..87d8f66 --- /dev/null +++ b/src/pyxtend/pyxtend_models.py @@ -0,0 +1,47 @@ +from dataclasses import dataclass +from typing import List, Optional + + +@dataclass +class PyXtendRunTimeOption(object): + main: str + tests: Optional[List[str]] + + +@dataclass +class DependencyModule: + name: str + version: str + + def __str__(self) -> str: + return f'{self.name}=={self.version}' + + +@dataclass +class PluginConfig: + name: str + alias: str + creator: str + runtime: PyXtendRunTimeOption + repository: str + description: str + version: str + requirements: Optional[List[DependencyModule]] + + +@dataclass +class Meta: + name: str + description: str + version: str + + def __str__(self) -> str: + return f'{self.name}: {self.version}' + + +@dataclass +class Device: + name: str + firmware: int + protocol: str + errors: List[int] \ No newline at end of file