Name | ibridges JSON |
Version |
1.2.0
JSON |
| download |
home_page | None |
Summary | Package for accessing data and metadata on iRods servers. |
upload_time | 2024-11-04 08:09:26 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.8 |
license | MIT License Copyright (c) 2024 Utrecht University Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
keywords |
irods
data management
storage
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# iBridges <img src="https://github.com/iBridges-for-iRods/iBridges/blob/main/docs/logo.png?raw=true" width="150" align="right">
iBridges 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.
[![PyPI version](https://badge.fury.io/py/ibridges.svg)](https://badge.fury.io/py/ibridges)
[![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)
[![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)
[![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)
![](https://readthedocs.org/projects/ibridges/badge/?version=latest&style=flat-default)
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.12583187.svg)](https://doi.org/10.5281/zenodo.12583187)
## 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](https://github.com/iBridges-for-iRods/iBridges-GUI).
<p align="center">
<a href="https://github.com/iBridges-for-iRods/iBridges/issues/new?assignees=&labels=&projects=&template=bug_report.md&title=%5BBUG%5D">Report Bug</a>
.
<a href="https://github.com/iBridges-for-iRods/iBridges/issues/new?assignees=&labels=&projects=&template=feature_request.md&title=%5BFEATURE%5D">Request Feature</a>
.
<a href="https://github.com/iBridges-for-iRods/iBridges/discussions/categories/ideas">Share an idea</a>
.
<a href="https://github.com/iBridges-for-iRods/iBridges/discussions/categories/general">Leave some feedback</a>
.
<a href="https://github.com/iBridges-for-iRods/iBridges/discussions/categories/q-a">Ask a question</a>
</p>
</p>
## Installation
There are two main ways to install iBridges. The recommended way is to use the stable version that is available on PyPi:
```bash
pip install ibridges
```
If you want to install the unstable version to test out new features, you can install the development branch:
```bash
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](https://ibridges.readthedocs.io/en/latest/cli.html) how to set it up.
## Usage
Below are some basic examples of the features in iBridges.
```py
# 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](https://ibridges.readthedocs.io/en/latest/)).
- Establish a connection
```bash
ibridges init
```
- List a collection
```bash
# 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
```bash
ibridges upload my_file.json "irods:~/some_collection"
```
- Download data
```bash
ibridges download "irods:~/some_collection/some_object" download_dir
```
- Synchronise data
```bash
ibridges sync some_local_directory "irods:~/some_collection"
## Tutorials
### Documentation
- **[ReadTheDocs](https://ibridges.readthedocs.io/en/latest/)**
### Guides
- [Manual with examples](tutorials/00-FirstSteps.ipynb)
### Beginners tutorials
- [Setup client configuration](tutorials/01-Setup-and-connect.ipynb)
- [iRODS Paths](tutorials/02-iRODS-paths.ipynb)
- [Working with data](tutorials/03-Working-with-data.ipynb)
- [Metadata](tutorials/04-Metadata.ipynb)
- [Sharing data](tutorials/05-Data-Sharing.ipynb)
- [Synchronising data](tutorials/06-Data-sync.ipynb)
## 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*.
<p align="center">
<img src="docs/ibridges-prc.png" alt="ibridges and prc" style="width:75%;"/>
</p>
## Authors
**Christine Staiger (Maintainer) [ORCID](https://orcid.org/0000-0002-6754-7647)**
- *Wageningen University & Research* 2021 - 2022
- *Utrecht University* 2022
**Tim van Daalen**, *Wageningen University & Research* 2021
**Maarten Schermer (Maintainer) [ORCID](https://orcid.org/my-orcid?orcid=0000-0001-6770-3155)**, *Utrecht University* 2023
**Raoul Schram (Maintainer) [ORCID](https://orcid.org/my-orcid?orcid=0000-0001-6616-230X)**.
*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](LICENSE).
Raw data
{
"_id": null,
"home_page": null,
"name": "ibridges",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "irods, data management, storage",
"author": null,
"author_email": "Christine Staiger <c.staiger@uu.nl>, Raoul Schram <r.d.schram@uu.nl>, Maarten Schermer <m.d.schermer@uu.nl>",
"download_url": "https://files.pythonhosted.org/packages/0e/09/dccdec5b2a6a02715d134d623b57a0e41b9459b7e1176452ce857ee6c665/ibridges-1.2.0.tar.gz",
"platform": null,
"description": "# iBridges <img src=\"https://github.com/iBridges-for-iRods/iBridges/blob/main/docs/logo.png?raw=true\" width=\"150\" align=\"right\">\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&style=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 <p align=\"center\">\n <a href=\"https://github.com/iBridges-for-iRods/iBridges/issues/new?assignees=&labels=&projects=&template=bug_report.md&title=%5BBUG%5D\">Report Bug</a>\n .\n <a href=\"https://github.com/iBridges-for-iRods/iBridges/issues/new?assignees=&labels=&projects=&template=feature_request.md&title=%5BFEATURE%5D\">Request Feature</a>\n .\n <a href=\"https://github.com/iBridges-for-iRods/iBridges/discussions/categories/ideas\">Share an idea</a>\n .\n <a href=\"https://github.com/iBridges-for-iRods/iBridges/discussions/categories/general\">Leave some feedback</a>\n .\n <a href=\"https://github.com/iBridges-for-iRods/iBridges/discussions/categories/q-a\">Ask a question</a>\n </p>\n</p>\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:~/<collection>\"\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<p align=\"center\">\n<img src=\"docs/ibridges-prc.png\" alt=\"ibridges and prc\" style=\"width:75%;\"/>\n</p>\n\n## Authors\n\n**Christine Staiger (Maintainer) [ORCID](https://orcid.org/0000-0002-6754-7647)**\n\n- *Wageningen University & Research* 2021 - 2022\n- *Utrecht University* 2022\n\n**Tim van Daalen**, *Wageningen University & 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",
"bugtrack_url": null,
"license": "MIT License Copyright (c) 2024 Utrecht University Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ",
"summary": "Package for accessing data and metadata on iRods servers.",
"version": "1.2.0",
"project_urls": {
"GitHub": "https://github.com/iBridges-for-iRODS/iBridges",
"documentation": "https://github.com/iBridges-for-iRODS/iBridges"
},
"split_keywords": [
"irods",
" data management",
" storage"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "a67c1edba43bf2bbbb699826ccf5c97970ee0e1e11196a9445dbbdc5a219be8c",
"md5": "02d953b9bb4682482dd7ce08919634d4",
"sha256": "54ed52731e99bd5b5b7473463689b8e6b2583c212cf8ea895096010be9c56f8e"
},
"downloads": -1,
"filename": "ibridges-1.2.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "02d953b9bb4682482dd7ce08919634d4",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 48047,
"upload_time": "2024-11-04T08:09:24",
"upload_time_iso_8601": "2024-11-04T08:09:24.488035Z",
"url": "https://files.pythonhosted.org/packages/a6/7c/1edba43bf2bbbb699826ccf5c97970ee0e1e11196a9445dbbdc5a219be8c/ibridges-1.2.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "0e09dccdec5b2a6a02715d134d623b57a0e41b9459b7e1176452ce857ee6c665",
"md5": "6a05d0ccd55950aca2a9924dbd36a094",
"sha256": "ca068d37f147d8ce30a6b676cd6ae3e9c19f7af248bf7af1ef09c582b9d2f9b6"
},
"downloads": -1,
"filename": "ibridges-1.2.0.tar.gz",
"has_sig": false,
"md5_digest": "6a05d0ccd55950aca2a9924dbd36a094",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 1369140,
"upload_time": "2024-11-04T08:09:26",
"upload_time_iso_8601": "2024-11-04T08:09:26.536195Z",
"url": "https://files.pythonhosted.org/packages/0e/09/dccdec5b2a6a02715d134d623b57a0e41b9459b7e1176452ce857ee6c665/ibridges-1.2.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-04 08:09:26",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "iBridges-for-iRODS",
"github_project": "iBridges",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "ibridges"
}