Skip to content

Remote

Module: spectralbridge.remote.

Backend-neutral remote collection access for production workflows.

API glossary ยท Workflow / scientific context

Signatures and documentation below are collected from the current source. Advanced objects are not newly declared stable by inclusion here.

Audience: advanced.

RemoteError

Base class for remote collection failures.

Audience: advanced.

RemoteAuthenticationError

The remote client is installed but not configured for access.

Audience: advanced.

RemoteCommandError

RemoteCommandError(message: str, *, command: Sequence[str], returncode: int, stdout: str = '', stderr: str = '')

A remote client command returned a non-zero status.

Audience: advanced.

RemoteEntry dataclass

RemoteEntry(path: str, name: str, is_collection: bool, size_bytes: int | None = None, checksum: str | None = None, modified: str | None = None)

One collection or data object returned by a remote backend.

to_dict

to_dict() -> dict[str, object]

Audience: advanced.

RemoteCollectionBackend

Storage operations required by the drone production orchestrator.

ensure_available

ensure_available() -> None

Raise a useful error when the backend client is unavailable.

verify_access

verify_access(remote_path: str) -> None

Verify configured authentication and access to remote_path.

list_directory

list_directory(remote_path: str) -> list[RemoteEntry]

List direct children of one remote collection.

download_file

download_file(remote_path: str, local_path: Path) -> None

Download one data object to an exact local path.

path_exists

path_exists(remote_path: str) -> bool

Return whether a remote object or collection is accessible.

upload_directory

upload_directory(local_path: Path, remote_parent: str) -> str

Upload a directory beneath a remote parent and return its path.

Audience: advanced.

normalize_remote_path

normalize_remote_path(path: str) -> str

Normalize separators while preserving the i: CyVerse prefix.

Audience: advanced.

remote_join

remote_join(parent: str, child: str) -> str

Join one child name to a normalized remote path.

Audience: advanced.

remote_relative_path

remote_relative_path(path: str, root: str) -> str

Return a safe POSIX relative path beneath root.

Audience: advanced.

parse_gocmd_listing

parse_gocmd_listing(text: str, *, parent: str) -> list[RemoteEntry]

Parse the stable collection/data-object lines emitted by gocmd ls.

Audience: advanced.

GocmdRemoteBackend

GocmdRemoteBackend(executable: str = 'gocmd')

CyVerse backend using an existing non-interactive gocmd configuration.

ensure_available

ensure_available() -> None

verify_access

verify_access(remote_path: str) -> None

list_directory

list_directory(remote_path: str) -> list[RemoteEntry]

download_file

download_file(remote_path: str, local_path: Path) -> None

path_exists

path_exists(remote_path: str) -> bool

upload_directory

upload_directory(local_path: Path, remote_parent: str) -> str

Audience: advanced.

remote_parent

remote_parent(path: str) -> str

Return the parent of a normalized remote path.