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.1.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.1-py3-none-any.whl (14.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: lcsb_icommands-1.0.1.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.1.tar.gz
Algorithm Hash digest
SHA256 62ceea0023220e84de49a83a84f2008f50e379449874d0acd7ca5464d66217fc
MD5 3ec992aaf341b474aa3243cbd293782a
BLAKE2b-256 132e9acff687b9642103037eff2a620e47755aeede62cac255b578148727b193

See more details on using hashes here.

File details

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

File metadata

  • Download URL: lcsb_icommands-1.0.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a7a959d687e8277fb83acfe6b769fba6279fc21ff84123c4ebf250ec591e8219
MD5 f79c60d14b5c13eaceee783c5af8a131
BLAKE2b-256 71d30b53f3f7fce9db034b70201e59195c5a28a23a8ee571b05c3395e7fd6d04

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