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.0.tar.gz (16.0 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.0-py3-none-any.whl (15.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: lcsb_icommands-1.1.0.tar.gz
  • Upload date:
  • Size: 16.0 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.0.tar.gz
Algorithm Hash digest
SHA256 c288372678cca626a1c6fdf14cdf386c849d4881bbcf8d1d95eebc355f69b826
MD5 dcdfc4afdb93a0457b08de2d1fe812d3
BLAKE2b-256 f1b396a30cc7f63d13d463e055a61b414b7b51c51286559875ffc9f6b71a707c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: lcsb_icommands-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 15.9 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a82be5c6d0a643fa9ff8a5ca3e5dd9f666f7b5311c2d79edd559fa6f900bfcd8
MD5 c70c521736b19e892e42d415ef61e720
BLAKE2b-256 a6ee3eaf159cd50d897c500138f6aed5fc3244b6b711aafb86b29f91ec7144d4

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