python-irodsclient
A Python API for iRODS
What it is and what it does
Python iRODS Client is a native Python API for interacting with iRODS, an open-source distributed data management system. It handles the full lifecycle of iRODS operations: establishing secure connections with password, GSI, or PAM authentication; executing GenQuery and GenQuery2 queries; managing collections and data objects with operations like checksumming, replication, and parallel transfers; and administering users, groups, resources, rules, metadata, and ticket-based access.
The package is built on four runtime dependencies—PrettyTable, defusedxml, jsonpointer, and jsonpatch—and supports Python 3.9 or later. It is designed for developers and administrators who need programmatic control over iRODS systems, from simple file operations to complex data governance workflows.
Use it for:
- Automate bulk data ingestion and replication workflows into an iRODS system from Python applications.
- Query and retrieve metadata-rich datasets from iRODS collections programmatically in data analysis pipelines.
- Manage user permissions, groups, and ticket-based access to iRODS resources in multi-tenant environments.
- Implement parallel PUT/GET operations for efficient transfer of large data objects.
- Build custom iRODS rule execution and monitoring tools in Python for institutional data governance.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Python client library for iRODS, a distributed data management system, enabling connections, authentication, queries, and management of collections, data objects, metadata, users, and resources.
Yes. The package is actively maintained, has no known vulnerabilities, low install friction, and a permissive license. It is the standard Python API for iRODS and suitable for production use if you need programmatic access to an iRODS system. Install it if you are building applications that must integrate with iRODS for data management or administration.
Install
python-irodsclient on PyPI
pip
pip install python-irodsclientuv
uv add python-irodsclientpoetry
poetry add python-irodsclientInstalling python-irodsclient
Before you install
Low install friction with a pure Python wheel distribution. Actively maintained with recent commits and a stable release cadence; last release was 149 days ago and the repository shows ongoing development.
License in practice
BSD-3-Clause is a permissive license, allowing commercial and private use with minimal restrictions beyond attribution and liability disclaimers.
Quickstart
pip install python-irodsclient
from irods.session import iRODSSession
with iRODSSession(host='localhost', port=1247, user='bob', password='1234', zone='tempZone') as session:
# workload
Requires an iRODS server to connect to; Python 3.9 or later; SSL/TLS setup may require manual configuration depending on your iRODS server's certificate setup.
Verify before relying
- Whether SSL/TLS setup works seamlessly with modern certificate validation defaults or requires manual configuration in typical deployments.
- Performance characteristics when handling large-scale parallel data transfers or very large collections.
- Compatibility with iRODS server versions beyond the current release cycle.
Package facts
| License | BSD-3-Clause (permissive) |
| Python support | supports the current Python release (>=3.9) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 4 — PrettyTable, defusedxml, jsonpointer, jsonpatch |
| Maintenance | actively maintained — 149 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 118,044/month — #12,137 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: python_irodsclient-3.3.0-py3-none-any.whl
Keywords: irods
Tags
More Database packages
psycopg2-binary is a PostgreSQL database…
copyleft · top 1,000 on PyPI
redisPython client library for connecting to and…
permissive · top 1,000 on PyPI
ydbYDB Python SDK is the official client library…
permissive · top 1,000 on PyPI
snowflake-connector-pythonConnects Python applications to Snowflake data…
permissive · top 1,000 on PyPI
sqlparsesqlparse tokenizes SQL text into a tree of…
permissive · top 1,000 on PyPI
dbt-adaptersProvides base adapter protocols and shared…
permissive · top 1,000 on PyPI
wsgidavWsgiDAV is a WebDAV server implementation in…
permissive · top 15,000 on PyPI
rocraterocrate is a Python library for creating and…
permissive · top 15,000 on PyPI
sslpsk-pmd3Provides TLS/SSL connections using pre-shared…
permissive · top 15,000 on PyPI
music-assistant-clientPython async client library for connecting to…
permissive · top 15,000 on PyPI
vertica-pythonNative Python client library for connecting to…
permissive · top 5,000 on PyPI
srptoolsImplements Secure Remote Password (SRP)…
permissive · top 15,000 on PyPI
python3-dtlsAdds DTLS (Datagram Transport Layer Security)…
permissive · top 15,000 on PyPI
flask-oidcAdds OpenID Connect authentication support to…
permissive · top 5,000 on PyPI
rpdbrpdb is a remote debugger that wraps Python's…
unclear · top 15,000 on PyPI
centrifuge-pythonWebSocket real-time client SDK for Centrifugo…
permissive · top 15,000 on PyPI