o
    ni*                     @  s   d Z ddlmZ ddlmZmZ ddlmZ ddl	m
Z
mZ er8ddlmZ ddlmZ ddlmZ dd	lmZ G d
d dZdS )zStorage policy.    )annotations)TYPE_CHECKINGSequence)Api)FilePathStrURIStr)StepPrepare)Artifact)ArtifactManifestEntry)
ProgressFnc                   @  s   e Zd Zed3ddZed4ddZed5d6ddZd7ddZ		d5d8ddZ		d5d9d#d$Z				%		d:d;d,d-Z
	.		d<d=d1d2Zd	S )>StoragePolicynamestrreturntype[StoragePolicy]c                 C  s:   dd l }|  D ]}| |kr|  S qtd| d)Nr   zFailed to find storage policy '')$wandb.sdk.artifacts.storage_policies__subclasses__r   NotImplementedError)clsr   wandbsub r   `/home/ubuntu/SoloSpeech/.venv/lib/python3.10/site-packages/wandb/sdk/artifacts/storage_policy.pylookup_by_name   s   zStoragePolicy.lookup_by_namec                 C     t Nr   )r   r   r   r   r         zStoragePolicy.nameNconfigdictapiInternalApi | Nonec                 C  r   r   r   )r   r   r!   r   r   r   from_config   r   zStoragePolicy.from_configc                 C  r   r   r   )selfr   r   r   r   #   s   zStoragePolicy.configartifactr	   manifest_entryr
   	dest_path
str | Noner   c                 C  r   r   r   )r$   r%   r&   r'   r   r   r   	load_file&      zStoragePolicy.load_fileartifact_idartifact_manifest_identrypreparerr   progress_callbackProgressFn | Noneboolc                 C  r   r   r   )r$   r+   r,   r-   r.   r/   r   r   r   
store_file.      zStoragePolicy.store_fileTpathURIStr | FilePathStrchecksummax_objects
int | NoneSequence[ArtifactManifestEntry]c                 C  r   r   r   )r$   r%   r4   r   r6   r7   r   r   r   store_reference8   r3   zStoragePolicy.store_referenceFlocalFilePathStr | URIStrc                 C  r   r   r   )r$   r&   r;   r'   r   r   r   load_referenceB   r*   zStoragePolicy.load_reference)r   r   r   r   )r   r   r   )r   r    r!   r"   r   r   )r   r    )r%   r	   r&   r
   r'   r(   r   r   )r+   r   r,   r   r-   r
   r.   r   r/   r0   r   r1   )NTN)r%   r	   r4   r5   r   r(   r6   r1   r7   r8   r   r9   )FN)r&   r
   r;   r1   r'   r(   r   r<   )__name__
__module____qualname__classmethodr   r   r#   r   r)   r2   r:   r=   r   r   r   r   r      s&    
r   N)__doc__
__future__r   typingr   r   wandb.sdk.internal.internal_apir   InternalApiwandb.sdk.lib.pathsr   r   wandb.filesync.step_preparer   wandb.sdk.artifacts.artifactr	   +wandb.sdk.artifacts.artifact_manifest_entryr
   wandb.sdk.internal.progressr   r   r   r   r   r   <module>   s    