Daniel Moore

Applications Engineer

iRODS Consortium

July 5-8, 2022

iRODS User Group Meeting

KU Leuven, Belgium

 

Python iRODS Client 1.1.4

Python iRODS Client Library 

Originally developed at CyVerse (then known as the iPlant Collaborative) in 2013, it was then given

 

Contributed in 2014 to the newly established iRODS Consortium. Now an established PyPI package it is actively kept apace of iRODS API changes and is popular as a basis for many other projects.

 

Thank you to the 41 contributors and many users over the years.

Python iRODS Client from 1.0 to 1.1.4 - Major Updates

Tickets

  • access iRODS objects via a ticket
  • issue tickets for access by other users
  • test for existence of tickets via GenQuery

 

Rule Execution

  • can now target rule engine instances
  • test for rule errors via an RError (returned error) stack

Python iRODS Client Library 1.0 - Other Improvements

 

Choice of XML Parsers

  • SECURE_XML - less prone to exploits.
  • QUASI_XML - allows flexible character set for object names.
  • STANDARD_XML - the old standby.

 

Path Normalization

 
>>> c = [ "/", zone, './home/', user ]
>>> session.query(Collection).filter(Like(Collection.name,
                                          iRODSPath(*c,'%'))
                                    )

Python iRODS Client Library 1.1.4 - Other Improvements

We can now:

  • login in as the anonymous user, without a password
  • use ticket access as the anonymous user
  • use long PAM login tokens > 1024 characters
  • access ticket and metadata APIs using ADMIN_KW
  • use the full checksum API in 4.2.11, 4.3.0
  • get owner, timestamp, inheritance via Collection attributes
  • change own password (or others' passwords as admin)

Python iRODS Client Library - Future Work

  • improve parallel transfer performance
  • allow relative object paths and cwd context for sessions
  • continue working towards full coverage of the iRODS API

Questions?

Made with Slides.com