from dataclasses import dataclass from dbt.dataclass_schema import dbtClassMixin from typing import List, Dict, Any, Union @dataclass class SelectorDefinition(dbtClassMixin): name: str definition: Union[str, Dict[str, Any]] description: str = '' default: bool = False @dataclass class SelectorFile(dbtClassMixin): selectors: List[SelectorDefinition] version: int = 2 # @dataclass # class SelectorCollection: # packages: Dict[str, List[SelectorFile]] = field(default_factory=dict)