o
    -wi                     @  s   d Z ddlmZ ddlZddlmZmZ ddlm	Z
 ddlmZmZ er<d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.    )annotationsN)TYPE_CHECKINGSequence)Api)FilePathStrURIStr)StepPrepare)Artifact)ArtifactManifestEntry)
ProgressFnc                   @  s   e Zd Zed7ddZed8ddZed9d:ddZd;ddZ						d<d=ddZ		d9d>d'd(Z				)		d?d@d0d1Z
	2		dAdBd5d6Zd	S )C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/sommelier/.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 | Noneexecutor"concurrent.futures.Executor | None	multipartbool | Noner   c                 C  r   r   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/   r0   r1   r2   r3   r   r   r   
store_file1   r.   zStoragePolicy.store_fileTpathURIStr | FilePathStrchecksummax_objects
int | NoneSequence[ArtifactManifestEntry]c                 C  r   r   r   )r$   r%   r7   r   r9   r:   r   r   r   store_reference;   r.   zStoragePolicy.store_referenceFlocalFilePathStr | URIStrc                 C  r   r   r   )r$   r&   r>   r'   r   r   r   load_referenceE   s   zStoragePolicy.load_reference)r   r   r   r   )r   r   r   )r   r    r!   r"   r   r   )r   r    )NNN)r%   r	   r&   r
   r'   r(   r)   r*   r+   r,   r   r   )r/   r   r0   r   r1   r
   r2   r   r3   r4   r   r5   )NTN)r%   r	   r7   r8   r   r(   r9   r5   r:   r;   r   r<   )FN)r&   r
   r>   r5   r'   r(   r   r?   )__name__
__module____qualname__classmethodr   r   r#   r   r-   r6   r=   r@   r   r   r   r   r      s*    
r   )__doc__
__future__r   concurrent.futures
concurrent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    