iRODS Client - System Tray
This system tray application monitors a set of configured local directories and uploads files to the configured iRODS Collections.
The primary use case is the automatic, hands-free ingest of incoming instrument data (e.g. images) into an iRODS Zone without filling up available storage on the client machine attached to the instrument.
This Python application is designed for use on Windows and MacOS. Linux desktop installs are supported when the operating system provides Qt's native graphics and system tray integration libraries.
Install
Install dependencies:
pip install irods-client-system-tray
or
pip install ./
On Ubuntu, pip installs the Python packages, but Qt still needs native graphics and desktop integration libraries from apt. On a minimal Ubuntu install or CI image, install:
sudo apt update
sudo apt install libdbus-1-3 libegl1 libgl1 libglib2.0-0 libxkbcommon0 \
libxcb-cursor0 libxkbcommon-x11-0 \
libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 \
libxcb-render-util0 libxcb-shape0 libxcb-xfixes0 libxcb-xinerama0
GNOME sessions also need system tray/AppIndicator support. If the tray icon is not
available, install or enable the distribution's AppIndicator/KStatusNotifierItem
extension, for example gnome-shell-extension-appindicator on Ubuntu GNOME.
Run
Run the application:
irods-client-system-tray
The command starts the tray app in the background and returns the shell prompt.
Pass --foreground or -f, or set IRODS_CLIENT_SYSTEM_TRAY_FOREGROUND=1,
to keep it attached to the terminal.
For a source checkout, this also works:
python -m irods_client_system_tray
The application stores user settings outside the installed package:
%APPDATA%/irods-client-system-tray on Windows,
~/Library/Application Support/irods-client-system-tray on macOS, and
$XDG_CONFIG_HOME/irods-client-system-tray or
~/.config/irods-client-system-tray on Linux.
Testing
Run the tests:
pytest tests/
The tests stub the iRODS session and need no server. Tests that upload to a live zone
are skipped unless IRODS_TEST_LIVE_SERVER is set; export that along with the other
IRODS_TEST_* variables listed in tests/conftest.py to run them against a real
deployment.
Run the tests with coverage:
pytest --cov=irods_client_system_tray
Metadata
Release files for irods-client-system-tray 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| irods_client_system_tray-0.1.0.tar.gz | 58.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| irods_client_system_tray-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 101.6 kB
Release files / irods_client_system_tray-0.1.0.tar.gz
| Download URL | irods_client_system_tray-0.1.0.tar.gz |
|---|---|
| Size | 58.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
da86f240b3e4eec547e7e5a3e620ed1b88a0dbd2b98732576b00b5a5dfe4992a
|
|
BLAKE2b-256 checksum How to use checksums |
e9ba6006c21104769bb7ab3a20dc2085aa46460d01d47b5c2e1e52f2970e8b17
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.5
|
Release files / irods_client_system_tray-0.1.0-py3-none-any.whl
| Download URL | irods_client_system_tray-0.1.0-py3-none-any.whl |
|---|---|
| Size | 42.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b5f493d0b15fd5687e08bf3b677ec8dc4f84e7d748fc985299bab4f23cfbc8f1
|
|
BLAKE2b-256 checksum How to use checksums |
f9fb3c8e6619a43752ffe1c243b86e319335a1aaca4cc9155adc53814627ad20
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.5
|