import abc from typing import Optional from ray_release.cluster_manager.cluster_manager import ClusterManager class FileManager(abc.ABC): def __init__(self, cluster_manager: ClusterManager): self.cluster_manager = cluster_manager def upload(self, source: Optional[str] = None, target: Optional[str] = None): """Upload source to target. Infers target dir from basename if not stated. """ raise NotImplementedError def download(self, source: str, target: str): """Download source_dir to target_dir.""" raise NotImplementedError