Skip to main content

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.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for irods-client-system-tray 0.1.1
File Size Uploaded
irods_client_system_tray-0.1.1.tar.gz 58.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for irods-client-system-tray 0.1.1
File Interpreter ABI Platform
irods_client_system_tray-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 101.7 kB

Release files / irods_client_system_tray-0.1.1.tar.gz

Download URL irods_client_system_tray-0.1.1.tar.gz
Size 58.8 kB
Tags Source
SHA-256 checksum
How to use checksums
68ffb3c284db9b89245393cd9225fb91e1079d73e22b2c5e4920eb615d28ea1e
BLAKE2b-256 checksum
How to use checksums
efda3aafc7b00a2b6054dc0eb0ae0217d217747415e3518a22a0ba87d2e617e7
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.1-py3-none-any.whl

Download URL irods_client_system_tray-0.1.1-py3-none-any.whl
Size 42.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
aba685347c1a7eef09b0588e8b3244c79904b5d5a6fa9ef8d8bbd64988bc08bc
BLAKE2b-256 checksum
How to use checksums
891bf03746853cf3a5c875b506a39b8496f1f555d99aec310f34e86d026e0fe4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.5

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page