from abc import abstractmethod, ABC class PublisherABC(ABC): @abstractmethod def __init__(self): ABC.__init__(self) @property @abstractmethod def source_path(self) -> str: pass @property @abstractmethod def dist_path(self) -> str: pass @abstractmethod def include(self, path: str): pass @abstractmethod def exclude(self, path: str): pass @abstractmethod def build(self): pass @abstractmethod def publish(self): pass