from abc import ABC, abstractmethod from dubbing.models import ProjectPaths class PipelineStep(ABC): name: str = "Step" def __init__(self, paths: ProjectPaths): self.paths = paths @abstractmethod def is_cached(self) -> bool: pass @abstractmethod def clean(self) -> None: pass @abstractmethod async def run(self) -> None: pass