Daniel Moore

Applications Engineer

iRODS Consortium

iRODS Client Library:

Python iRODS Client 1.1.4

iRODS Client Library:

Python iRODS Client 1.1.4

July 5-8, 2022

iRODS User Group Meeting 2022

Leuven, Belgium

Python iRODS Client Library 

Originally developed at CyVerse (then known as the iPlant Collaborative) in 2013 and contributed in 2014 to the newly established iRODS Consortium.

 

Now an established PyPI package, it is actively kept up to date with any 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.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?

UGM 2022 - iRODS Client Library: Python iRODS Client 1.1.4

By iRODS Consortium

UGM 2022 - iRODS Client Library: Python iRODS Client 1.1.4

  • 503