Skip to main content

Package for accessing data and metadata on iRODS servers.

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ibridges-2.1.1.tar.gz (1.4 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ibridges-2.1.1-py3-none-any.whl (73.5 kB view details)

Uploaded Python 3

File details

Details for the file ibridges-2.1.1.tar.gz.

File metadata

  • Download URL: ibridges-2.1.1.tar.gz
  • Upload date:
  • Size: 1.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ibridges-2.1.1.tar.gz
Algorithm Hash digest
SHA256 9689c0974fb0acb38daf530ec247206c7cda737afe588c82e227fa455d8c8e59
MD5 31b926115cc2c5a9b916aef955dc6df5
BLAKE2b-256 c5f4f11d13fd167d39032f6512e506e792a4b0dc51b9a276f99a3150ad4341c6

See more details on using hashes here.

File details

Details for the file ibridges-2.1.1-py3-none-any.whl.

File metadata

  • Download URL: ibridges-2.1.1-py3-none-any.whl
  • Upload date:
  • Size: 73.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ibridges-2.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0af441e8c3c4f5084993b54a2ac67d1a44e830ac593df8a1f1621b87ff3fbd0a
MD5 cabe8f8013a1229ba14a9edaf838e958
BLAKE2b-256 e95d015c6c653fee970e37c95ffa79e030e2fe817481b490c8e7ba3a1e8ff0b0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page