from dataclasses import dataclass from typing import Tuple, Union, NewType, Dict, Any from math import inf Node = int Edge = Tuple[Node, Node] @dataclass class DummyNode: n: Node NodeData = Dict[str, Any] EdgeData = Dict[str, Any] Wh = NewType('Wh', Union[float, int]) SoC = NewType('SoC', Union[-inf, Wh]) ChargingCoefficient = float Time = Union[float, int]