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

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.0
File Size Uploaded
irods_client_system_tray-0.1.0.tar.gz 58.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for irods-client-system-tray 0.1.0
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

0.1.1

2 release files

This release

0.1.0 This release

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