API documentation

remote_run.run module

remote_run.guix module

Utility functions to interact with guix.

remote_run.guix.manifest(dependencies: List[str])

Create a guix manifest file from a list of dependencies.

remote_run.guix.parse_manifest(manifest_file: Path)

Parse a manifest.scm file and return its dependencies as a list.

remote_run.guix.runner(channels: str, dependencies: List[str], executable: str)

Create a guix runner.

remote_run.packaging module

remote_run.utils module

Utility functions.

remote_run.utils.executable_script(path: Path, content: str)

Create a script file and make it executable.

remote_run.utils.hash_directory(dir_path: Path, digest, hash_dir_name: bool = True)

Create a reproducible hash of the name and content of a directory.

remote_run.utils.hash_file(file_path: Path, digest)

Create a reproducible hash of the name and content of a file.

remote_run.utils.hash_list_of_files(files: List[Path])

Create a hash for a list of files.

remote_run.utils.hash_path(path: Path, digest=None)

Create a reproducible hash of the name and content of a directory or file.

remote_run.utils.identify_project(remote_path: Path, extra: str = '')

Identify project name and path and construct the remote project path.

remote_run.utils.list_all_files_not_git_ignored(project_path)
remote_run.utils.log_subprocess_run(logger: Logger, out: CompletedProcess)

Log the output of a subprocess.

remote_run.utils.python_script_from_function(script_file: Path, function: Callable)

Create a python script from a function.

remote_run.utils.query_git_project_path(project_path: Path)
remote_run.utils.query_remote_home_directory(remote_host: str)

Query home directory on remote host.

remote_run.utils.query_remote_path_exists(remote_path: Path, remote_host: str)

Query if path exists on remote host.

remote_run.utils.query_remote_user_name(remote_host: str)

Query user name on remote host.

remote_run.utils.run_python_script(root_path: Path, runner_script_file_name: str, python_script_file_name: str)