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.
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
andtqdm
) - Safe default options when working with your data.
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/UtrechtUniversity/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.
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.