REANA-Client-Go is a component of the REANA reusable and reproducible research data analysis platform. It provides a command-line tool that allows researchers to submit, run, and manage their computational workflows.
- seed workspace with input code and data
- run computational workflows on remote compute clouds
- test completed workflow runs using Gherkin feature files
- list submitted workflows and enquire about their statuses
- download results of finished workflows
The detailed information on how to install and use REANA can be found in docs.reana.io.
Install the published version with Go 1.27.4 or later:
$ go install github.com/reanahub/[email protected]The executable is installed into go env GOBIN, or into $(go env GOPATH)/bin
when GOBIN is not configured. Add that directory to PATH. This release
requires an OIDC-enabled REANA deployment.
Install the executable into the Go binary directory:
$ make installThe destination defaults to the value of go env GOBIN, or to
$(go env GOPATH)/bin when GOBIN is not configured. Make sure that this
directory is present in PATH.
Set BINDIR to an absolute path to choose a different destination, such as a
Python virtual environment's scripts directory:
$ make install BINDIR=/path/to/virtualenv/binUse the same destination to remove the executable:
$ make uninstall BINDIR=/path/to/virtualenv/binUse test to evaluate a finished workflow run against Gherkin feature files:
$ reana-client-go test -w myanalysis.1By default, the command reads feature file paths from tests.files in the
stored reana.yaml specification and opens those paths from the current local
project. Repeat -n/--test-files to override the specification:
$ reana-client-go test -w myanalysis.1 \ -n tests/log-messages.feature \ -n tests/workspace-files.feature
The create and validate commands upload a scoped specification bundle for
server-side workflow loading. Declare every imported source explicitly under
workflow.files or workflow.directories so it is available to the loader.
For example, given this Snakemake project:
analysis/
├── reana.yaml
├── Snakefile
└── rules/
└── common.smk
where Snakefile contains include: "rules/common.smk", declare the included
source in reana.yaml:
version: 0.9.0 workflow: type: snakemake file: Snakefile directories: - rules
Paths are relative to the directory containing the selected specification.
Absolute paths, paths that escape through .., and symbolic links are rejected.
Use workflow.files only for workflow definitions and configuration needed
while loading the workflow; input datasets belong under inputs.files or
inputs.directories.
Validation snapshots accept at most 1,000 files, 2,000 directories, 100 MiB of file content, and 64 relative path components. Symbolic links are not followed.
reana-client-go validate --environments performs offline image-reference
checks and reports effective runtime identities. Add --pull to verify
availability and inspect those images with your local container runtime and
registry credentials; the REANA server does not contact image registries.
The reana-client-go supports shell completion for Bash and Zsh. To enable the
auto-completion of commands and options, add the following to your shell
configuration file:
Bash (add to ~/.bashrc):
source <(reana-client-go completion bash)
Zsh (add to ~/.zshrc):
source <(reana-client-go completion zsh) compdef _reana-client-go reana-client-go