cloudpathlib.client¶
BoundedCloudPath
¶
Classes¶
Client
¶
Methods¶
__init__(self, local_cache_dir: Union[str, os.PathLike] = None)
special
¶
Source code in cloudpathlib/client.py
def __init__(self, local_cache_dir: Optional[Union[str, os.PathLike]] = None):
self._cloud_meta.validate_completeness()
# setup caching and local versions of file and track if it is a tmp dir
self._cache_tmp_dir = None
if local_cache_dir is None:
self._cache_tmp_dir = TemporaryDirectory()
local_cache_dir = self._cache_tmp_dir.name
self._local_cache_dir = Path(local_cache_dir)
CloudPath(self, cloud_path: Union[str, ~BoundedCloudPath]) -> ~BoundedCloudPath
¶
Source code in cloudpathlib/client.py
def CloudPath(self, cloud_path: Union[str, BoundedCloudPath]) -> BoundedCloudPath:
return self._cloud_meta.path_class(cloud_path=cloud_path, client=self)
get_default_client() -> Client
classmethod
¶
Get the default client, which the one that is used when instantiating a cloud path instance for this cloud without a client specified.
Source code in cloudpathlib/client.py
@classmethod
def get_default_client(cls) -> "Client":
"""Get the default client, which the one that is used when instantiating a cloud path
instance for this cloud without a client specified.
"""
if cls._default_client is None:
cls._default_client = cls()
return cls._default_client
set_as_default_client(self) -> None
¶
Set this client instance as the default one used when instantiating cloud path instances for this cloud without a client specified.
Source code in cloudpathlib/client.py
def set_as_default_client(self) -> None:
"""Set this client instance as the default one used when instantiating cloud path
instances for this cloud without a client specified."""
self.__class__._default_client = self
register_client_class(key: str) -> Callable
¶
Source code in cloudpathlib/client.py
def register_client_class(key: str) -> Callable:
def decorator(cls: type) -> type:
if not issubclass(cls, Client):
raise TypeError("Only subclasses of Client can be registered.")
implementation_registry[key]._client_class = cls
implementation_registry[key].name = key
cls._cloud_meta = implementation_registry[key]
return cls
return decorator