ibridges


Nameibridges JSON
Version 1.2.0 PyPI version JSON
download
home_pageNone
SummaryPackage for accessing data and metadata on iRods servers.
upload_time2024-11-04 08:09:26
maintainerNone
docs_urlNone
authorNone
requires_python>=3.8
licenseMIT 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"
}
        
Elapsed time: 0.34907s