mirror of
https://github.com/datahub-project/datahub.git
synced 2025-12-01 05:04:52 +00:00
36 lines
600 B
Python
36 lines
600 B
Python
|
|
from dataclasses import dataclass
|
||
|
|
from typing import Any, Dict, List, Optional
|
||
|
|
|
||
|
|
from datahub.metadata.schema_classes import (
|
||
|
|
EdgeClass,
|
||
|
|
SchemaFieldDataTypeClass,
|
||
|
|
)
|
||
|
|
|
||
|
|
|
||
|
|
@dataclass
|
||
|
|
class Field:
|
||
|
|
name: str
|
||
|
|
type: SchemaFieldDataTypeClass
|
||
|
|
|
||
|
|
|
||
|
|
@dataclass
|
||
|
|
class Dataset:
|
||
|
|
id: str
|
||
|
|
platform: str
|
||
|
|
properties: Optional[Dict[Any, Any]] = None
|
||
|
|
schema_metadata: Optional[List[Field]] = None
|
||
|
|
|
||
|
|
|
||
|
|
@dataclass
|
||
|
|
class Task:
|
||
|
|
name: str
|
||
|
|
upstream_edges: List[EdgeClass]
|
||
|
|
downstream_edges: List[EdgeClass]
|
||
|
|
|
||
|
|
|
||
|
|
@dataclass
|
||
|
|
class Pipeline:
|
||
|
|
platform: str
|
||
|
|
name: str
|
||
|
|
tasks: List[Task]
|