latch_cli.services.cp package#

Submodules#

latch_cli.services.cp.autocomplete module#

latch_cli.services.cp.autocomplete.complete(ctx: click.core.Context, param: click.core.Argument, incomplete: str, allow_local: bool = True) List[click.shell_completion.CompletionItem][source]#
latch_cli.services.cp.autocomplete.remote_complete(ctx: click.core.Context, param: click.core.Argument, incomplete: str)[source]#

latch_cli.services.cp.config module#

class latch_cli.services.cp.config.Progress(value)[source]#

Bases: enum.Enum

An enumeration.

none = 'none'#
total = 'total'#
tasks = 'tasks'#
class latch_cli.services.cp.config.CPConfig(progress: latch_cli.services.cp.config.Progress, verbose: bool)[source]#

Bases: object

progress: latch_cli.services.cp.config.Progress#
verbose: bool#

latch_cli.services.cp.download module#

class latch_cli.services.cp.download.GetSignedUrlData[source]#

Bases: TypedDict

url: str#
class latch_cli.services.cp.download.GetSignedUrlsRecursiveData[source]#

Bases: TypedDict

urls: Dict[str, str]#
class latch_cli.services.cp.download.DownloadJob(signed_url: str, dest: pathlib.Path)[source]#

Bases: object

signed_url: str#
dest: pathlib.Path#
latch_cli.services.cp.download.download(src: str, dest: pathlib.Path, config: latch_cli.services.cp.config.CPConfig)[source]#
latch_cli.services.cp.download.download_file(job: latch_cli.services.cp.download.DownloadJob, progress_bars: latch_cli.services.cp.progress.ProgressBars) int[source]#

latch_cli.services.cp.exceptions module#

exception latch_cli.services.cp.exceptions.PathResolutionError[source]#

Bases: ValueError

latch_cli.services.cp.glob module#

latch_cli.services.cp.glob.expand_pattern(remote_path: str) List[str][source]#

latch_cli.services.cp.ldata_utils module#

class latch_cli.services.cp.ldata_utils.LDataNodeType(value)[source]#

Bases: str, enum.Enum

An enumeration.

account_root = 'account_root'#
dir = 'dir'#
obj = 'obj'#
mount = 'mount'#
class latch_cli.services.cp.ldata_utils.FinalLinkTargetPayload[source]#

Bases: TypedDict

id: str#
type: str#
name: str#
class latch_cli.services.cp.ldata_utils.LdataNodePayload[source]#

Bases: TypedDict

finalLinkTarget: latch_cli.services.cp.ldata_utils.FinalLinkTargetPayload#
class latch_cli.services.cp.ldata_utils.LdataResolvePathToNodePayload[source]#

Bases: TypedDict

path: str#
ldataNode: latch_cli.services.cp.ldata_utils.LdataNodePayload#
class latch_cli.services.cp.ldata_utils.AccountInfoCurrentPayload[source]#

Bases: TypedDict

id: str#
class latch_cli.services.cp.ldata_utils.NodeData(id: str, name: str, type: latch_cli.services.cp.ldata_utils.LDataNodeType, is_parent: bool)[source]#

Bases: object

id: str#
name: str#
type: latch_cli.services.cp.ldata_utils.LDataNodeType#
is_parent: bool#
class latch_cli.services.cp.ldata_utils.GetNodeDataResult(acc_id: str, data: Dict[str, latch_cli.services.cp.ldata_utils.NodeData])[source]#

Bases: object

acc_id: str#
data: Dict[str, latch_cli.services.cp.ldata_utils.NodeData]#
latch_cli.services.cp.ldata_utils.get_node_data(*remote_paths: str, allow_resolve_to_parent: bool = False) latch_cli.services.cp.ldata_utils.GetNodeDataResult[source]#
class latch_cli.services.cp.ldata_utils.Child[source]#

Bases: TypedDict

name: str#
class latch_cli.services.cp.ldata_utils.ChildLdataTreeEdgesNode[source]#

Bases: TypedDict

child: latch_cli.services.cp.ldata_utils.Child#
class latch_cli.services.cp.ldata_utils.ChildLdataTreeEdges[source]#

Bases: TypedDict

nodes: List[latch_cli.services.cp.ldata_utils.ChildLdataTreeEdgesNode]#
class latch_cli.services.cp.ldata_utils.LdataResolvePathData[source]#

Bases: TypedDict

childLdataTreeEdges: latch_cli.services.cp.ldata_utils.ChildLdataTreeEdges#
class latch_cli.services.cp.ldata_utils.Team[source]#

Bases: TypedDict

accountId: str#
class latch_cli.services.cp.ldata_utils.TeamMembersByUserIdNode[source]#

Bases: TypedDict

team: latch_cli.services.cp.ldata_utils.Team#
class latch_cli.services.cp.ldata_utils.TeamMembersByUserId[source]#

Bases: TypedDict

nodes: List[latch_cli.services.cp.ldata_utils.TeamMembersByUserIdNode]#
class latch_cli.services.cp.ldata_utils.TeamInfosByOwnerId[source]#

Bases: TypedDict

nodes: List[latch_cli.services.cp.ldata_utils.Team]#
class latch_cli.services.cp.ldata_utils.UserInfoByAccountId[source]#

Bases: TypedDict

defaultAccount: str#
teamMembersByUserId: latch_cli.services.cp.ldata_utils.TeamMembersByUserId#
teamInfosByOwnerId: latch_cli.services.cp.ldata_utils.TeamInfosByOwnerId#
class latch_cli.services.cp.ldata_utils.Bucket[source]#

Bases: TypedDict

bucketName: str#
class latch_cli.services.cp.ldata_utils.LdataS3MountAccessProvensByGeneratedUsing[source]#

Bases: TypedDict

nodes: List[latch_cli.services.cp.ldata_utils.Bucket]#
class latch_cli.services.cp.ldata_utils.LdataS3MountConfiguratorRolesByAccountIdNode[source]#

Bases: TypedDict

ldataS3MountAccessProvensByGeneratedUsing: latch_cli.services.cp.ldata_utils.LdataS3MountAccessProvensByGeneratedUsing#
class latch_cli.services.cp.ldata_utils.LdataS3MountConfiguratorRolesByAccountId[source]#

Bases: TypedDict

nodes: List[latch_cli.services.cp.ldata_utils.LdataS3MountConfiguratorRolesByAccountIdNode]#
class latch_cli.services.cp.ldata_utils.AccountInfoCurrent[source]#

Bases: TypedDict

userInfoByAccountId: latch_cli.services.cp.ldata_utils.UserInfoByAccountId#
ldataS3MountConfiguratorRolesByAccountId: latch_cli.services.cp.ldata_utils.LdataS3MountConfiguratorRolesByAccountId#

latch_cli.services.cp.main module#

latch_cli.services.cp.main.cp(srcs: List[str], dest: str, *, progress: latch_cli.services.cp.config.Progress, verbose: bool, expand_globs: bool)[source]#

latch_cli.services.cp.path_utils module#

latch_cli.services.cp.progress module#

latch_cli.services.cp.progress.get_progress_bar()[source]#
class latch_cli.services.cp.progress.ProgressBars(num_task_bars: int, *, show_total_progress: bool = True, verbose: bool = False)[source]#

Bases: object

num_bars() int[source]#
write(msg: str)[source]#
get_free_task_bar_index() Optional[int][source]#
return_task_bar(index: Optional[int])[source]#
set_usage(key: str, amount: int)[source]#
dec_usage(key: str)[source]#
set_total(total: int, desc: Optional[str] = None)[source]#
update_total_progress(amount: int)[source]#
set(index: Optional[int], total: int, desc: str)[source]#
update(index: Optional[int], amount: int)[source]#
reset(index: Optional[int])[source]#
close()[source]#
latch_cli.services.cp.progress.get_free_index(progress_bars: latch_cli.services.cp.progress.ProgressBars)[source]#

latch_cli.services.cp.remote_copy module#

latch_cli.services.cp.remote_copy.remote_copy(src: str, dest: str)[source]#

latch_cli.services.cp.upload module#

class latch_cli.services.cp.upload.EmptyUploadData[source]#

Bases: TypedDict

version_id: str#
class latch_cli.services.cp.upload.StartUploadData[source]#

Bases: TypedDict

upload_id: str#
urls: List[str]#
class latch_cli.services.cp.upload.UploadJob(src: pathlib.Path, dest: str)[source]#

Bases: object

src: pathlib.Path#
dest: str#
latch_cli.services.cp.upload.upload(src: str, dest: str, config: latch_cli.services.cp.config.CPConfig)[source]#
class latch_cli.services.cp.upload.StartUploadReturnType(upload_id: str, urls: List[str], part_count: int, part_size: int, src: pathlib.Path, dest: str)[source]#

Bases: object

upload_id: str#
urls: List[str]#
part_count: int#
part_size: int#
src: pathlib.Path#
dest: str#
latch_cli.services.cp.upload.start_upload(src: pathlib.Path, dest: str, progress_bars: Optional[latch_cli.services.cp.progress.ProgressBars] = None, throttle: Optional[latch_cli.services.cp.throttle.Throttle] = None, latency_q: Optional[LatencyQueueType] = None) Optional[latch_cli.services.cp.upload.StartUploadReturnType][source]#
class latch_cli.services.cp.upload.CompletedPart(src: pathlib.Path, etag: str, part_number: int)[source]#

Bases: object

src: pathlib.Path#
etag: str#
part_number: int#
latch_cli.services.cp.upload.upload_file_chunk(src: pathlib.Path, url: str, part_index: int, part_size: int, progress_bars: latch_cli.services.cp.progress.ProgressBars, pbar_index: Optional[int], parts_by_source: Optional[PartsBySrcType] = None, upload_id: Optional[str] = None, dest: Optional[str] = None) latch_cli.services.cp.upload.CompletedPart[source]#
latch_cli.services.cp.upload.end_upload(dest: str, upload_id: str, parts: List[latch_cli.services.cp.upload.CompletedPart], progress_bars: Optional[latch_cli.services.cp.progress.ProgressBars] = None)[source]#
latch_cli.services.cp.upload.throttler(t: latch_cli.services.cp.throttle.Throttle, q: LatencyQueueType)[source]#

latch_cli.services.cp.utils module#

latch_cli.services.cp.utils.get_max_workers() int[source]#
latch_cli.services.cp.utils.pluralize(singular: str, plural: str, selector: int) str[source]#
latch_cli.services.cp.utils.human_readable_time(t_seconds: float) str[source]#

Module contents#