iRODS client for automatic data ingestion via OAuth2/Keycloak
Project description
lcsb-icommands - iRODS Client for Automatic Ingestion
OAuth2-based data ingestion system for iRODS, using the same Keycloak authentication as Mango.
Overview
User Laptop → Keycloak (OAuth2) → lcsb-icommands Client
↓
lcsb-icommands Server (validates token) → iRODS HTTP API
- Browser-based OAuth2 login (SSO on VPN)
- Direct file upload from laptop or staging from server landing zone
- 1-hour sessions with auto-refresh
- iRODS password never exposed to users
Quick Start
Install
pip install lcsb-icommands
Note: On Linux/macOS,
pip install --userputs scripts in~/.local/bin. If commands likelcsb-icommandsorilsare not found, add this to your~/.bashrc:export PATH="$HOME/.local/bin:$PATH" source ~/.bashrc
Usage
lcsb-icommands login # Authenticate (once per session)
lcsb-icommands upload My_project/dataset_01 ./my_files/ # Upload files from laptop
lcsb-icommands staging /server/landing/dir --project P --dataset D # Stage from server landing zone
lcsb-icommands ls # List projects
lcsb-icommands ls My_project # List datasets in a project
lcsb-icommands download My_project/dataset_01 ./output/ # Download files
Documentation
See SETUP.md for full installation and configuration guide.
Repository Structure
lcsb-icommands/
├── client/
│ └── lcsb_icommands.py # CLI client (single-file, distribute to users)
├── server/
│ └── main.py # FastAPI server
├── http_api.py # iRODS HTTP API client
├── INSTALL.sh # Server installation script
└── SETUP.md # Full setup guide
Version: 2.0.0 Author: Sandesh Patil (sandesh.patil@uni.lu)
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file lcsb_icommands-1.0.0.tar.gz.
File metadata
- Download URL: lcsb_icommands-1.0.0.tar.gz
- Upload date:
- Size: 14.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a614f18219ca5a92dd123e68c48240b47dded8d72cedf629b86fe12cd34b8f24
|
|
| MD5 |
a97d80e14afb7abee7ed63acee0294e2
|
|
| BLAKE2b-256 |
e4ccd5a98a70b8b9b2d4f5baa06b9f0e6ff24c3226f419f5dd1d8793521de502
|
File details
Details for the file lcsb_icommands-1.0.0-py3-none-any.whl.
File metadata
- Download URL: lcsb_icommands-1.0.0-py3-none-any.whl
- Upload date:
- Size: 14.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4c8992af662d9105cc7fe192c88c439d8563c007619140da1b6c80e56334a449
|
|
| MD5 |
68b1144b0e9577a564e2313ecfa942cc
|
|
| BLAKE2b-256 |
6b88a67ae5c328a9f64e9ead9b0c601eee62f2471c6f088a6d6b779465b79410
|