mantik.remote_file_service.data_client

Attributes

logger

Exceptions

DataClientException

Common base class for all non-exit exceptions.

Classes

DataClient

Abstract class to define methods used for (remote) file handling.

Module Contents

class mantik.remote_file_service.data_client.DataClient(file_service: mantik.remote_file_service.abstract_file_service.AbstractFileService)[source]

Bases: mantik.remote_file_service.abstract_file_service.AbstractFileService

Abstract class to define methods used for (remote) file handling.

This interface must be easily implementable with common file transfer methods (FTP, boto/S3, GNU filesystem, pathlib + python IO …).

access_token[source]
change_permissions(target: mantik.remote_file_service.abstract_file_service.FilePath, new_permissions: mantik.remote_file_service.abstract_file_service.FileMeta) None[source]

Change metadata (permissions) of a file.

Note: bash chmod

copy_directory(source: mantik.remote_file_service.abstract_file_service.FilePath, target: mantik.remote_file_service.abstract_file_service.FilePath) mantik.remote_file_service.abstract_file_service.Directory[source]

Copy directory.

Note: bash cp

copy_file(source: mantik.remote_file_service.abstract_file_service.FilePath, target: mantik.remote_file_service.abstract_file_service.FilePath) mantik.remote_file_service.abstract_file_service.File[source]

Copy file.

Note: bash cp

create_directory(target: mantik.remote_file_service.abstract_file_service.FilePath) mantik.remote_file_service.abstract_file_service.Directory[source]

Make a new directory.

Note: bash mkdir

create_file_if_not_exists(target=afs.FilePath) mantik.remote_file_service.abstract_file_service.File[source]

Create (empty) file if not exists.

Note: bash touch

exists(target=afs.FilePath) bool[source]

Return if file exists

file_service[source]
classmethod from_env(connection_id: uuid.UUID | None = None, remote_fs_type: Type[mantik.remote_file_service.abstract_file_service.AbstractFileService] | None = None) DataClient[source]

Instantiate with environment variables.

Credentials are either fetched from mantik api or passed in through end vars.

is_remote(target: mantik.remote_file_service.abstract_file_service.FilePath) bool[source]

Return if a path is remote or not

list_directory(target: mantik.remote_file_service.abstract_file_service.FilePath) List[mantik.remote_file_service.abstract_file_service.Directory | mantik.remote_file_service.abstract_file_service.File][source]

List content of directory.

Note: bash ls

localise_path(target: mantik.remote_file_service.abstract_file_service.FilePath) mantik.remote_file_service.abstract_file_service.FilePath[source]

Localize a remote path

remove_directory(target: mantik.remote_file_service.abstract_file_service.FilePath) None[source]

Remove a directory.

Note: bash rm -r

remove_file(target: mantik.remote_file_service.abstract_file_service.FilePath) None[source]

Remove file or directory.

Note: bash rm

property user: str[source]

Return current user.

exception mantik.remote_file_service.data_client.DataClientException[source]

Bases: Exception

Common base class for all non-exit exceptions.

Initialize self. See help(type(self)) for accurate signature.

mantik.remote_file_service.data_client.logger[source]