Command reference

Overview of all resolos commands

r3s

Resolos is a toolkit for managing and archiving scientific projects both on local development machines and remote HPC cluster.

Usage:

r3s [OPTIONS] COMMAND [ARGS]...

Options:

  -v, --verbosity LVL  Either CRITICAL, ERROR, WARNING, INFO or DEBUG
  --help               Show this message and exit.

archive

Archives contain all project files plus recepies for rebuilding the conda environment on another machine.

Usage:

r3s archive [OPTIONS] COMMAND [ARGS]...

Options:

  --help  Show this message and exit.

create

Archives the project to the specified destination. The currently supported destinations are local file (-f, --filename) and Yareta archive (-o, --organizational-unit-id).

Notes for the local file destination:

--filename:
Filename must be a filesystem path (e.g. ../res_v1.tar.gz) writeable for the the resolos process.
The path should not be inside the project folder.

Usage:

r3s archive create [OPTIONS]

Options:

  --base-url TEXT                 The base url of the Yareta API
  -a, --access-token TEXT         The personal DLCM access token
  -o, --organizational-unit-id TEXT
                                  The resource id of the organizational unit
  -f, --filename PATH             The filename of the archive
  -t, --title TEXT                The title of the Yareta deposit to create
                                  for the archive
  -y, --year TEXT                 The year of the Yareta deposit
  -desc, --description TEXT       The description of the Yareta deposit
  --deposit-access TEXT           The access level of the Yareta deposit
  --license-id TEXT               The license id of the Yareta deposit
  --keywords TEXT                 Comma-separated list of the Yareta deposit
                                  keywords
  -l, --light                     Do not pack installed conda packages in the
                                  archive, only store the package list.
  --help                          Show this message and exit.

load

Loads the specified archive into the project.

Source can be a filesystem path or a publicly accessible https download url.

Usage:

r3s archive load [OPTIONS]

Options:

  --base-url TEXT          The base url of the Yareta API
  -a, --access-token TEXT  The personal DLCM access token
  -d, --deposit-id TEXT    The deposit id of the Yareta deposit
  -f, --filename PATH      The filename of the archive to load
  -u, --url TEXT           The url to load the archive from
  -y                       If specified, the archive will be loaded without a
                           confirmation prompt.
  --help                   Show this message and exit.

check

Runs some checks for the configured remotes and the local environment. Must be called from a resolos project

Usage:

r3s check [OPTIONS]

Options:

  --raise-on-error  Do not offer installing missing dependencies on remotes,
                    raise exception instead
  --help            Show this message and exit.

info

Returns resolos global configuration. When called from a resolos project, it displays configuration for the project itself as well.

Usage:

r3s info [OPTIONS]

Options:

  --help  Show this message and exit.

init

Initializes a new resolos project in the current working directory. The following steps are executed:

  • Creates the project configuration folder .resolos

  • Initializes a new conda environment or link and existing one for the project

Usage:

r3s init [OPTIONS]

Options:

  --env-name TEXT          The name of the local conda environment for
                           software dependencies. Will be created if not
                           exists
  --remote-env-name TEXT   The name of the conda environment for software
                           dependencies to be used on remotes. Will be created
                           if not exists
  --remote-path TEXT       The path of the project folder on the remote. Will
                           be created if not exists
  --base-url TEXT          The base url of the Yareta API
  -a, --access-token TEXT  The personal DLCM access token
  -d, --deposit-id TEXT    The deposit id of the Yareta deposit
  -f, --filename PATH      The filename of the archive to load
  -u, --url TEXT           The publicly accessible url to load the archive
                           from
  -y                       If specified, no prompts will be displayed to
                           install conda/unison.
  --no-remote-setup        If specified, remote configuration will be skipped
                           (syncing of project files and environment)
  --help                   Show this message and exit.

install

Installs conda package(s) into the linked local and remote conda environments

Usage:

r3s install [OPTIONS] [PACKAGES]...

Options:

  -r, --remote TEXT   The name of the remote to also install the package to.
                      Can be omitted if there is only one remote configured.
  -c, --channel TEXT  Specify the conda channel from which to install the
                      packages.
  --all-remotes       Also install the package to all configured remotes
  -M, --mamba         Try to use mamba instead of conda for dependency
                      resolution.
  --help              Show this message and exit.

job

Usage:

r3s job [OPTIONS] COMMAND [ARGS]...

Options:

  -r, --remote TEXT  The name of the remote running the jobs. Can be omitted
                     if there is only one remote configured
  --help             Show this message and exit.

cancel

Cancels the job on the remote identified by the supplied job_id

Usage:

r3s job cancel [OPTIONS] JOB_ID

Options:

  --help  Show this message and exit.

list

Lists the job(s) on the remote

Usage:

r3s job list [OPTIONS]

Options:

  --all-users  Show jobs for all users, not just the user configured for the
               remote
  --help       Show this message and exit.

run

Submits the given command on the remote

Usage:

r3s job run [OPTIONS] COMMAND

Options:

  -p, --partition TEXT      The name of the partition to submit to
  -n, --ntasks TEXT         The number of tasks that will be run by the script
  -c, --cpus-per-task TEXT  The number of CPUs to reserve per task
  --nodes TEXT              The number of nodes to reserve for the job
  -g, --gpus TEXT           GPU resources to reserve for the job
  --help                    Show this message and exit.

status

Displays the job details on the remote identified by the supplied job_id

Usage:

r3s job status [OPTIONS] JOB_ID

Options:

  --help  Show this message and exit.

submit

Submits the given script on the remote

Usage:

r3s job submit [OPTIONS] SUBMISSION_SCRIPT

Options:

  --help  Show this message and exit.

remote

Remotes are machines with SSH access supporting job execution with some job scheduler. Currently only Slurm running on Linux machines is supported.

Usage:

r3s remote [OPTIONS] COMMAND [ARGS]...

Options:

  --help  Show this message and exit.

add

Adds a new remote with name 'name' to the Resolos configuration

Usage:

r3s remote add [OPTIONS] NAME

Options:

  -h, --hostname TEXT        The host name of the remote server for the SSH
                             connection.  [required]
  -u, --username TEXT        Username on the remote server for the SSH
                             connection  [required]
  -p, --port INTEGER         Port for using the SSH connection
  --scheduler TEXT           The type of the scheduler on the remote
  --conda-load-command TEXT  The command that makes the 'conda' command
                             available for the shell
  --conda-install-path TEXT  The path to install miniconda on the remote, if
                             required
  --unison-path TEXT         The path of the unison executable on the remote
  --remote-env-name TEXT     The name of the conda environment for software
                             dependencies to be used on remotes. Will be
                             created if not exists
  --remote-path TEXT         The path of the project folder on the remote.
                             Will be created if not exists
  --no-remote-setup          If specified, remote configuration will be
                             skipped (ssh key setup, syncing of project files
                             and environment)
  -y                         If specified, SSH key setup, conda and unison
                             install will happen without confirmation.
  --help                     Show this message and exit.

list

Lists the configured remotes

Usage:

r3s remote list [OPTIONS]

Options:

  --help  Show this message and exit.

remove

Removes the remote from the Resolos configuration

Usage:

r3s remote remove [OPTIONS] NAME

Options:

  --purge  Removes all synced project files and environments from the remote
  --help   Show this message and exit.

update

Updates existing remote with name 'name' in the Resolos configuration

Usage:

r3s remote update [OPTIONS] NAME

Options:

  -h, --hostname TEXT        The host name of the remote server for the SSH
                             connection.
  -u, --username TEXT        Username on the remote server for the SSH
                             connection
  -p, --port INTEGER         Port for using the SSH connection
  --scheduler TEXT           The type of the scheduler on the remote
  --conda-load-command TEXT  The command that makes the 'conda' command
                             available for the shell
  --conda-install-path TEXT  The path to install miniconda on the remote, if
                             required
  --unison-path TEXT         The path of the unison executable on the remote
  --remote-env-name TEXT     The name of the conda environment for software
                             dependencies to be used on remotes. Will be
                             created if not exists
  --remote-path TEXT         The path of the project folder on the remote.
                             Will be created if not exists
  -y                         If specified, SSH key setup, conda and unison
                             install will happen without confirmation.
  --help                     Show this message and exit.

run

Usage:

r3s run [OPTIONS] COMMAND

Options:

  --help  Show this message and exit.

setup-ssh

Configures passwordless SSH access via SSH keys. Only needs to be run once per remote.

Usage:

r3s setup-ssh [OPTIONS]

Options:

  -r, --remote TEXT  The name of the remote running the jobs. Can be omitted
                     if there is only one remote configured
  --help             Show this message and exit.

sync

Performs a 2-way sync on the project files If the --env flag is specified, locally installed packages are synced to the remote environment. If the --auto-resolve-deps flag is specified, dependent package versions will not be pinned. In case only one remote is configured, the remote does not need to be specified.

Usage:

r3s sync [OPTIONS]

Options:

  -r, --remote TEXT    The name of the remote to sync with. Can be omitted if
                       there is only one remote configured
  --env                Also update the conda environment on remote with the
                       packages installed on the local machine
  --auto-resolve-deps  Only pin down version of root packages (packages that
                       are not dependencies of other packages).This is useful
                       when some dependencies are not available on the remote
                       in the exact same version as on the local machine.
  -M, --mamba          Try to use mamba instead of conda for dependency
                       resolution and installation on the remote.
  --help               Show this message and exit.

teardown

Reverses the steps of resolos init:

  • Clears the project configuration folder .resolos

  • Removes the linked conda environment

Usage:

r3s teardown [OPTIONS]

Options:

  --skip-local    If specified, the local environment and the .resolos folder
                  will not be deleted
  --skip-remotes  If specified, the remote environment and the synced files
                  will not be deleted
  --help          Show this message and exit.

uninstall

Uninstall conda package(s) from the linked local and remote conda environments

Usage:

r3s uninstall [OPTIONS] [PACKAGES]...

Options:

  -r, --remote TEXT  The name of the remote to also uninstall the package
                     from. Can be omitted if there is only one remote
                     configured
  --all-remotes      Uninstall the package from all configured remotes
  --help             Show this message and exit.