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.