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

Uploaded Python 3

File details

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

File metadata

  • Download URL: lcsb_icommands-1.1.2.tar.gz
  • Upload date:
  • Size: 16.3 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.2.tar.gz
Algorithm Hash digest
SHA256 5d366b3169ccd64bea383be73d8e6e2675f60caf5c0ec398a63cb5a4a0e7c1da
MD5 0f7c6a4a1a60c2e159d55f2c040cbef0
BLAKE2b-256 69a5f3ce317c4ca94ef2ffa79e4769a4d5d97b1f1521f0f3cffb2c285cc51889

See more details on using hashes here.

File details

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

File metadata

  • Download URL: lcsb_icommands-1.1.2-py3-none-any.whl
  • Upload date:
  • Size: 16.2 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 38c2d00277f1ce5060ae9d131bd4a9629e7267ef41ab57fc7ce6672e368ffb8f
MD5 7f7bfe97cc1f11fe70a9f8514b164b05
BLAKE2b-256 078a24ff6b4a7ee742d18e6e08285ad966a181210a173024ed15defc012de13c

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