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?
Copy of UGM 2021 - Python iRODS Client 1.0
By Daniel Moore
Copy of UGM 2021 - Python iRODS Client 1.0
- 587