meshviz-studio-decentralize.../meshviz/dsl.py

32 lines
540 B
Python

from dataclasses import dataclass
from typing import Dict, List, Optional
@dataclass
class TelemetryContract:
dataset: str
schema: Dict[str, object]
privacy_flags: Dict[str, bool]
retention: Optional[int] = None
@dataclass
class VisualizationWidget:
widget_type: str
aggregations: List[str]
color_schema: Dict[str, str]
@dataclass
class AccessPolicy:
roles: List[str]
viewers: List[str]
editors: List[str]
__all__ = [
"TelemetryContract",
"VisualizationWidget",
"AccessPolicy",
]