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.1.1.tar.gz (16.2 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.1.1-py3-none-any.whl (16.1 kB view details)

Uploaded Python 3

File details

Details for the file lcsb_icommands-1.1.1.tar.gz.

File metadata

  • Download URL: lcsb_icommands-1.1.1.tar.gz
  • Upload date:
  • Size: 16.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for lcsb_icommands-1.1.1.tar.gz
Algorithm Hash digest
SHA256 cc0940b69481b349a805563f9f5d1255fb6ac347e55ea48d1aaa5a7a7ae1d0a7
MD5 593915a4f207bfc720e1823acb4eaf64
BLAKE2b-256 6fe1c6061daee3e503a25611b6d42f073030e90b47954a3e0c55ad80c38cac4b

See more details on using hashes here.

File details

Details for the file lcsb_icommands-1.1.1-py3-none-any.whl.

File metadata

  • Download URL: lcsb_icommands-1.1.1-py3-none-any.whl
  • Upload date:
  • Size: 16.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for lcsb_icommands-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 887bacda6d5a22f1b7892cdcc3f474799b0768f5eca6451237790b9179de5003
MD5 9473a275953471887293e7250aa27ce5
BLAKE2b-256 5c36db365bfdde15ea993717df1b47e5e020715def7af116ae7df0fab1a16307

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