Other Clients

This section gives an overview of further clients that can be used to access the RDMS. Most of the presented solutions on this page are OS-independent, so they can be used on Linux, Mac, and Windows operating systems.

Except iBridges GUI, all of the presented clients are commandline-based, so familiarity with the CLI is expected. Due to being CLI clients, all presented tools can be used to automate tasks using (simple) scripts. A presentation of such scrips is outside of the scope of this section.

Note: The RDMS support team can't help you with problems with these clients. In case of trouble, your first point of contact should be the developers of the respective clients!

iRODS, the data management software that the RDMS is built-on, also provides a Python-based client called “Python iRODS Client (PRC)”.

PRC can be installed in your Python environment using pip:

$ pip install python-irodsclient

For further documentation, please look at the official Github repository of the PRC or the information available via PyPI.

Using the PRC has a relative steep learning curve. For a slightly less powerful, but similar, Python-based tool also look at iBridges (CLI).

It is also possible to run the official iRODS iCommands in a Docker container.

A UG researcher provides a pre-configured Docker image for this. Please have a look at the official documentation in Gitlab.

The image comes pre-configured with the iCommands package. To see how to use the different available commands, please refer to the iCommands wiki section.

The official CLI tool of iRODS, the iCommands, are only available for certain Linux distributions. While it is possible to use a Docker container to make the iCommands available on unsupported devices, using gocommands can be another alternative for these systems.

Gocommands is written in Golang and the developer provides binaries for different operating systems (Windows, Mac, Linux, etc). It is very simple to use and basically only requires a configuration file and having the binary present on the local system. No further installation steps are needed.

Furthermore, gocommands comes with certain commands that are not even available in the original iCommands. For example, there is a command (bput) that locally bundles data, then uploads to the remote archive (RDMS), and then automatically unbundles again. This can improve transfer speeds quite significantly.

For a further overview about setting up gocommands and an overview about its functionality, please have a look at the official gocommands Github repository.

The easiest way to configure gocommands is by creating a irods_environment.json file in a .irods location in your users home directory. The irods_environment.json from the iCommands wiki section can be used. Gocommands and iCommands configuration files can be used interchangeably.

Alternatively, it is also possible to create a separate configuration in YAML format as mentioned in the gocommands Github repository.

A possible example YAML is provided below:

Click to display configuration file for Default zone

Click to display configuration file for Default zone

irods_host: "store.data.rug.nl"
irods_port: 1247
irods_user_name: "<emailaddress>"
irods_zone_name: "rug"
irods_user_password: ""
irods_default_resource: "rootResc"
irods_client_user_name: ""
irods_log_level: 5
irods_authentication_scheme: "pam"
irods_client_server_negotiation: "request_server_negotiation"
irods_client_server_policy: "CS_NEG_REQUIRE"
irods_ssl_ca_certificate_file: "/etc/ssl/certs/ca-certificates.crt"
irods_encryption_key_size: 32
irods_encryption_algorithm: "AES-256-CBC"
irods_encryption_salt_size: 8
irods_encryption_num_hash_rounds: 16


Please refer to the info in the gocommands Github repository for more help.

Bridges is a wrapper around the PRC which has some more limited functions, but is easier to learn. Two versions exists, one CLI-based which can be used for own scripts/code, while there is an additional GUI that can be used on top of it.

iBridges CLI is the main wrapper for the PRC. It allows to transfer data, adjust permissions, work with metadata, etc. The tool can be installed in your Python environment via pip install ibridges

For more info on how to use iBridges, look at the official iBridges documention as well as the examples provided in the iBridges Github repository.

iBridges GUI is the graphical user interface for iBridges. It's use is similar to using Cyberduck, but it is more powerful as iBridges GUI also allows to manage user permissions, work with metadata, and also comes with an integrated (metadata-based) search function. In contrast, Cyberduck only allows file transfers.

To install iBridges GUI in your current Python environment, you can run pip install ibridgesgui

For further information about its setup and usage, please consult the official iBridges GUI documentation.

While not being officially supported by iRODS, the iCommands package is also available from the Nix package repository (open repository, then search for “irods-icommands”).

This allows to install iCommands on NixOS, but also on other operating systems that have the Nix package manager installed. See the official Nix documentation for info on how to install these. After installation of the package, the further usage of iCommands is then similar as described in the iCommands wiki section.