{"id":29111577,"url":"https://github.com/UtrechtUniversity/iBridges","last_synced_at":"2025-06-29T10:01:59.111Z","repository":{"id":209459982,"uuid":"724112706","full_name":"iBridges-for-iRODS/iBridges","owner":"iBridges-for-iRODS","description":"A wrapper around the python-irodsclient to allow for easy interaction with iRODS servers.","archived":false,"fork":false,"pushed_at":"2025-06-26T09:51:21.000Z","size":3714,"stargazers_count":19,"open_issues_count":6,"forks_count":7,"subscribers_count":4,"default_branch":"develop","last_synced_at":"2025-06-26T10:39:24.565Z","etag":null,"topics":["data-analysis","data-engineering","data-science","datascience","irods-client"],"latest_commit_sha":null,"homepage":"https://ibridges.readthedocs.io/en/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"chStaiger/iBridges-Gui","license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/iBridges-for-iRODS.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-11-27T12:26:57.000Z","updated_at":"2025-06-12T09:10:29.000Z","dependencies_parsed_at":"2024-02-25T11:33:36.377Z","dependency_job_id":"a0d428d5-6096-4bf3-9136-f97cf6d1004e","html_url":"https://github.com/iBridges-for-iRODS/iBridges","commit_stats":null,"previous_names":["utrechtuniversity/ibridges","ibridges-for-irods/ibridges"],"tags_count":23,"template":false,"template_full_name":null,"purl":"pkg:github/iBridges-for-iRODS/iBridges","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iBridges-for-iRODS%2FiBridges","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iBridges-for-iRODS%2FiBridges/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iBridges-for-iRODS%2FiBridges/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iBridges-for-iRODS%2FiBridges/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/iBridges-for-iRODS","download_url":"https://codeload.github.com/iBridges-for-iRODS/iBridges/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iBridges-for-iRODS%2FiBridges/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262574118,"owners_count":23330777,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["data-analysis","data-engineering","data-science","datascience","irods-client"],"created_at":"2025-06-29T10:01:32.457Z","updated_at":"2025-06-29T10:01:59.057Z","avatar_url":"https://github.com/iBridges-for-iRODS.png","language":"Python","funding_links":[],"categories":["Projects"],"sub_categories":["Research software"],"readme":"# iBridges \u003cimg src=\"https://github.com/iBridges-for-iRods/iBridges/blob/main/docs/logo.png?raw=true\" width=\"150\" align=\"right\"\u003e\niBridges is a library for scientific programmers who are working with data in iRODS. We provide a wrapper around the [python-irodsclient](https://pypi.org/project/python-irodsclient/) to facilitate easy interaction with the iRODS server. iBridges is currently still in very active development.\n\n[![PyPI version](https://badge.fury.io/py/ibridges.svg)](https://badge.fury.io/py/ibridges)\n[![Run integration tests against iRODS](https://github.com/iBridges-for-iRods/iBridges/actions/workflows/integration-tests-irods.yml/badge.svg)](https://github.com/iBridges-for-iRods/iBridges/actions/workflows/integration-tests-irods.yml)\n[![Run integration tests against Yoda](https://github.com/iBridges-for-iRods/iBridges/actions/workflows/integration-tests-yoda.yml/badge.svg)](https://github.com/iBridges-for-iRods/iBridges/actions/workflows/integration-tests-yoda.yml)\n[![Python package](https://github.com/iBridges-for-iRods/iBridges/actions/workflows/main.yml/badge.svg)](https://github.com/iBridges-for-iRods/iBridges/actions/workflows/main.yml)\n![](https://readthedocs.org/projects/ibridges/badge/?version=latest\u0026style=flat-default)\n[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.12583187.svg)](https://doi.org/10.5281/zenodo.12583187)\n\n## Highlights\n\n- Works on Windows, Mac OS and Linux\n- Runs on Python 3.8 or higher.\n- Supported iRODS server versions: 4.2.11 or higher and 4.3.0 or higher.\n- **Interactive connection** to your iRODS server.\n- **Upload** and **Download** your data.\n- Manipulate the **metadata** on the iRODS server.\n- **Synchronise** your data between your local computer and the iRODS server.\n- Create and manipulate **Tickets** to temporarily grant access to outside users.\n- **Search** through all metadata for your dataset or collection.\n- Small number of dependencies (`python-irodsclient` and `tqdm`)\n- Safe default options when working with your data.\n\n**iBridges** also has a graphical user interface, which you can install [here](https://github.com/iBridges-for-iRods/iBridges-GUI).\n\n \u003cp align=\"center\"\u003e\n    \u003ca href=\"https://github.com/iBridges-for-iRods/iBridges/issues/new?assignees=\u0026labels=\u0026projects=\u0026template=bug_report.md\u0026title=%5BBUG%5D\"\u003eReport Bug\u003c/a\u003e\n    .\n    \u003ca href=\"https://github.com/iBridges-for-iRods/iBridges/issues/new?assignees=\u0026labels=\u0026projects=\u0026template=feature_request.md\u0026title=%5BFEATURE%5D\"\u003eRequest Feature\u003c/a\u003e\n    .\n    \u003ca href=\"https://github.com/iBridges-for-iRods/iBridges/discussions/categories/ideas\"\u003eShare an idea\u003c/a\u003e\n    .\n    \u003ca href=\"https://github.com/iBridges-for-iRods/iBridges/discussions/categories/general\"\u003eLeave some feedback\u003c/a\u003e\n    .\n    \u003ca href=\"https://github.com/iBridges-for-iRods/iBridges/discussions/categories/q-a\"\u003eAsk a question\u003c/a\u003e\n  \u003c/p\u003e\n\u003c/p\u003e\n\n## Installation\n\nThere are two main ways to install iBridges. The recommended way is to use the stable version that is available on PyPi:\n\n```bash\npip install ibridges\n```\n\nIf you want to install the unstable version to test out new features, you can install the development branch:\n\n```bash\npip install git+https://github.com/iBridges-for-iRods/iBridges.git@develop\n```\n\n## Configuration\n\nYou will need to have a so-called `irods_environment.json`. Please follow the [documentation](https://ibridges.readthedocs.io/en/latest/cli.html) how to set it up. \n\n## Usage\n\nBelow are some basic examples of the features in iBridges.\n\n```py\n# Create an iRODS session\nfrom ibridges.interactive import interactive_auth\n\nsession = interactive_auth()\n\n# Upload data\nfrom ibridges import upload\n\nupload(session, \"/your/local/path\", \"/irods/path\")\n\n# Download data\nfrom ibridges import download\n\ndownload(session, \"/irods/path\", \"/other/local/path\")\n\n```\n\n## Command line interface\n\nTo simply upload or download data you do not need to write full python program, we offer a command line interface (see also [the documentation](https://ibridges.readthedocs.io/en/latest/)).\n\n- Establish a connection\n\n  ```bash\n  ibridges init\n  ```\n\n- List a collection\n  \n  ```bash\n  # list your home collection\n  ibridges list\n  \n  # list a different collection in your home\n  ibridges list \"irods:~/\u003ccollection\u003e\"\n  \n  # list a collection on a different path than your home\n\n  ibridges list \"irods:/full/irods/path\"\n  ```\n\n- Upload data\n\n  ```bash\n  ibridges upload my_file.json \"irods:~/some_collection\"\n  ```\n\n- Download data\n\n  ```bash\n  ibridges download \"irods:~/some_collection/some_object\" download_dir\n  ```\n\n- Synchronise data\n\n  ```bash\n\n  ibridges sync some_local_directory \"irods:~/some_collection\"\n\n\n## Tutorials\n### Documentation\n- **[ReadTheDocs](https://ibridges.readthedocs.io/en/latest/)**\n\n### Guides\n\n- [Manual with examples](tutorials/00-FirstSteps.ipynb)\n\n### Beginners tutorials\n- [Setup client configuration](tutorials/01-Setup-and-connect.ipynb)\n- [iRODS Paths](tutorials/02-iRODS-paths.ipynb)\n- [Working with data](tutorials/03-Working-with-data.ipynb)\n- [Metadata](tutorials/04-Metadata.ipynb)\n- [Sharing data](tutorials/05-Data-Sharing.ipynb)\n- [Synchronising data](tutorials/06-Data-sync.ipynb)\n\n\n## Do I have to choose between the *python-irodsclient* and *iBridges*?\nNo. *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*.\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"docs/ibridges-prc.png\" alt=\"ibridges and prc\" style=\"width:75%;\"/\u003e\n\u003c/p\u003e\n\n## Authors\n\n**Christine Staiger (Maintainer) [ORCID](https://orcid.org/0000-0002-6754-7647)**\n\n- *Wageningen University \u0026 Research* 2021 - 2022\n- *Utrecht University* 2022\n\n**Tim van Daalen**, *Wageningen University \u0026 Research* 2021\n\n**Maarten Schermer (Maintainer) [ORCID](https://orcid.org/my-orcid?orcid=0000-0001-6770-3155)**, *Utrecht University* 2023\n\n**Raoul Schram (Maintainer) [ORCID](https://orcid.org/my-orcid?orcid=0000-0001-6616-230X)**. \n*Utrecht University* 2023\n\n## Contributors\n\n**J.P. Mc Farland**,\n*University of Groningen, Center for Information Technology*, 2022\n\n## License\nThis project is licensed under the MIT license.\nThe full license can be found in [LICENSE](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FUtrechtUniversity%2FiBridges","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FUtrechtUniversity%2FiBridges","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FUtrechtUniversity%2FiBridges/lists"}