Skip to main content

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 --user puts scripts in ~/.local/bin. If commands like lcsb-icommands or ils are 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

lcsb_icommands-1.0.0.tar.gz (14.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

lcsb_icommands-1.0.0-py3-none-any.whl (14.7 kB view details)

Uploaded Python 3

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

Hashes for lcsb_icommands-1.0.0.tar.gz
Algorithm Hash digest
SHA256 a614f18219ca5a92dd123e68c48240b47dded8d72cedf629b86fe12cd34b8f24
MD5 a97d80e14afb7abee7ed63acee0294e2
BLAKE2b-256 e4ccd5a98a70b8b9b2d4f5baa06b9f0e6ff24c3226f419f5dd1d8793521de502

See more details on using hashes here.

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

Hashes for lcsb_icommands-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4c8992af662d9105cc7fe192c88c439d8563c007619140da1b6c80e56334a449
MD5 68b1144b0e9577a564e2313ecfa942cc
BLAKE2b-256 6b88a67ae5c328a9f64e9ead9b0c601eee62f2471c6f088a6d6b779465b79410

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page