Skip to main content

iBridges

iBridges is a library for scientific programmers who are working with data in iRODS. We provide a wrapper around the python-irodsclient to facilitate easy interaction with the iRODS server. iBridges is currently still in very active development.

PyPI version Run integration tests against iRODS Run integration tests against Yoda Python package DOI

Highlights

  • Works on Windows, Mac OS and Linux
  • Runs on Python 3.8 or higher.
  • Supported iRODS server versions: 4.2.11 or higher and 4.3.0 or higher.
  • Interactive connection to your iRODS server.
  • Upload and Download your data.
  • Manipulate the metadata on the iRODS server.
  • Synchronise your data between your local computer and the iRODS server.
  • Create and manipulate Tickets to temporarily grant access to outside users.
  • Search through all metadata for your dataset or collection.
  • Small number of dependencies (python-irodsclient and tqdm)
  • Safe default options when working with your data.

iBridges also has a graphical user interface, which you can install here.

Report Bug . Request Feature . Share an idea . Leave some feedback . Ask a question

Installation

There are two main ways to install iBridges. The recommended way is to use the stable version that is available on PyPi:

pip install ibridges

If you want to install the unstable version to test out new features, you can install the development branch:

pip install git+https://github.com/iBridges-for-iRods/iBridges.git@develop

Configuration

You will need to have a so-called irods_environment.json. Please follow the documentation how to set it up.

Usage

Below are some basic examples of the features in iBridges.

# Create an iRODS session
from ibridges.interactive import interactive_auth

session = interactive_auth()

# Upload data
from ibridges import upload

upload(session, "/your/local/path", "/irods/path")

# Download data
from ibridges import download

download(session, "/irods/path", "/other/local/path")

Command line interface

To simply upload or download data you do not need to write full python program, we offer a command line interface (see also the documentation).

  • Establish a connection

    ibridges init
    
  • List a collection

    # list your home collection
    ibridges list
    
    # list a different collection in your home
    ibridges list "irods:~/<collection>"
    
    # list a collection on a different path than your home
    
    ibridges list "irods:/full/irods/path"
    
  • Upload data

    ibridges upload my_file.json "irods:~/some_collection"
    
  • Download data

    ibridges download "irods:~/some_collection/some_object" download_dir
    
  • Synchronise data

    ibridges sync some_local_directory "irods:~/some_collection"
    

Tutorials

Documentation

Guides

Beginners tutorials

Do I have to choose between the python-irodsclient and iBridges?

No. iBridges itself is based on the python-irodsclient. When you connect to iRODS a python-irodsclient irods.iRODSSession is automatically created with which you can access all functionality of the python-irodsclient.

ibridges and prc

Authors

Christine Staiger (Maintainer) ORCID

  • Wageningen University & Research 2021 - 2022
  • Utrecht University 2022

Tim van Daalen, Wageningen University & Research 2021

Maarten Schermer (Maintainer) ORCID, Utrecht University 2023

Raoul Schram (Maintainer) ORCID. Utrecht University 2023

Contributors

J.P. Mc Farland, University of Groningen, Center for Information Technology, 2022

License

This project is licensed under the MIT license. The full license can be found in LICENSE.

Metadata

Release files for ibridges 2.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ibridges 2.2.0
File Size Uploaded Provenance
ibridges-2.2.0.tar.gz 1.4 MB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for ibridges 2.2.0
File Interpreter ABI Platform
ibridges-2.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 1.5 MB

Release files / ibridges-2.2.0.tar.gz

Download URL ibridges-2.2.0.tar.gz
Size 1.4 MB
Tags Source
SHA-256 checksum
How to use checksums
106d1876d41aaf7bc272a95d0c4c8fbe553dcacc4ad2ab9fda4da05e55057dca
BLAKE2b-256 checksum
How to use checksums
4953676cf988d92a9bae94439fa12de08d114cbfccd0cd5b4bfd2f58e41bb139
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / ibridges-2.2.0-py3-none-any.whl

Download URL ibridges-2.2.0-py3-none-any.whl
Size 77.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
45077e6585c267c5f1f4e38b84e9da4c6e113e0c39fe3c1f6186fc85008e0ba0
BLAKE2b-256 checksum
How to use checksums
cb17d05d82511fdbfba0e88411c6002a834f78a63f0ace44ae0abda33eb9f452
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Security for ibridges 2.2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page