fairly

A package to create, publish, and clone research datasets

https://github.com/itc-crib/fairly

Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 4 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.0%) to scientific vocabulary

Keywords

python research-data research-data-management
Last synced: 6 months ago · JSON representation ·

Repository

A package to create, publish, and clone research datasets

Basic Info
Statistics
  • Stars: 23
  • Watchers: 4
  • Forks: 7
  • Open Issues: 9
  • Releases: 8
Topics
python research-data research-data-management
Created over 3 years ago · Last pushed over 1 year ago
Metadata Files
Readme Contributing License Citation

README.rst

.. list-table::
   :widths: 25 25
   :header-rows: 1

   * - `fair-software.nl `_ recommendations
     - Badges
   * - \1. Code repository
     - |GitHub Badge|
   * - \2. License
     - |License Badge|
   * - \3. Community Registry
     - |PyPI Badge|
   * - \4. Enable Citation
     - |Zenodo Badge|
   * - **Other best practices**
     -
   * - Continuous integration
     - |Python Build| |Python Publish|
   * - Documentation
     - |Documentation Status|
   * - Anaconda package
     - |Anaconda| |Anaconda Downloads|

.. |Anaconda| image:: https://anaconda.org/conda-forge/fairly/badges/version.svg   
   :target: https://anaconda.org/conda-forge/fairly
   :alt: Anaconda Package

.. |Anaconda Downloads| image:: https://anaconda.org/conda-forge/fairly/badges/downloads.svg   
   :target: https://anaconda.org/conda-forge/fairly
   :alt: Anaconda Downloads

.. |GitHub Badge| image:: https://img.shields.io/github/v/release/ITC-CRIB/fairly
   :target: https://github.com/ITC-CRIB/fairly
   :alt: GitHub Badge

.. |License Badge| image:: https://img.shields.io/badge/License-MIT-yellow.svg
   :target: https://opensource.org/licenses/MIT
   :alt: License Badge

.. |PyPI Badge| image:: https://img.shields.io/pypi/v/fairly?colorB=blue
   :target: https://pypi.org/project/fairly/
   :alt: PyPI Badge

.. |Zenodo Badge| image:: https://zenodo.org/badge/DOI/10.5281/zenodo.7759648.svg
   :target: https://doi.org/10.5281/zenodo.7759648
   :alt: Zenodo Badge

.. |Python Build| image:: https://github.com/ITC-CRIB/fairly/actions/workflows/test_workflow.yaml/badge.svg
   :target: https://github.com/ITC-CRIB/fairly/actions/workflows/test_workflow.yaml
   :alt: Python Build

.. |Python Publish| image:: https://github.com/ITC-CRIB/fairly/actions/workflows/publish.yaml/badge.svg
   :target: https://github.com/ITC-CRIB/fairly/actions/workflows/publish.yaml
   :alt: Python Publish

.. |Documentation Status| image:: https://readthedocs.org/projects/fairly/badge/?version=latest
   :target: https://fairly.readthedocs.io/en/latest/
   :alt: Documentation Status


fairly
======

A package to create, publish and clone research datasets.

|License: MIT|

Installation
------------

*fairly* requires Python 3.8 or later, and `ruamel.yaml` version *0.17.26* or later.  It can be installed directly
from **PYPI** or **Conda-Forge**.

.. code:: shell

   # Using pip
   pip install fairly

.. code:: shell

   # using anaconda or miniconda
   conda install conda-forge::fairly


Installing from source
~~~~~~~~~~~~~~~~~~~~~~

1. Clone or download the `source
   code `__:

   .. code:: shell

      git clone https://github.com/ITC-CRIB/fairly.git

2. Go to the root directory:

   .. code:: shell

      cd fairly/

3. Compile and install using pip:

   .. code:: shell

      pip install .

Usage
-----

Basic example to create a local research dataset and deposit it to a
repository:

.. code:: python

   import fairly

   # Initialize a local dataset
   dataset = fairly.init_dataset('/path/dataset')

   # Set metadata
   dataset.metadata['license'] = 'MIT'
   dataset.set_metadata(
       title='My dataset',
       keywords=['FAIR', 'research', 'data'],
       authors=[
           '0000-0002-0156-185X',
           {'name': 'John', 'surname': 'Doe'}
       ]
   )

   # Add data files
   dataset.includes.extend([
       'README.txt',
       '*.csv',
       'train/*.jpg'
   ])

   # Save dataset
   dataset.save()

   # Upload to a data repository
   remote_dataset = dataset.upload('zenodo')

Basic example to access a remote dataset and store it locally:

.. code:: python

   import fairly

   # Open a remote dataset
   dataset = fairly.dataset('doi:10.4121/21588096.v1')

   # Get dataset information
   dataset.id
   >>> {'id': '21588096', 'version': '1'}

   dataset.url
   >>> 'https://data.4tu.nl/articles/dataset/.../21588096/1'

   dataset.size
   >>> 33339

   len(dataset.files)
   >>> 6

   dataset.metadata
   >>> Metadata({'keywords': ['Earthquakes', 'precursor', ...], ...})

   # Update metadata
   dataset.metadata['keywords'] = ['Landslides', 'precursor']
   dataset.save_metadata()

   # Store dataset to a local directory (i.e. clone dataset)
   local_dataset = dataset.store('/path/dataset')

Currently, the package supports the following research data management
platforms:

-  `Invenio `__
-  `Figshare `__
-  `Djehuty `__
   (experimental)

All research data repositories based on the listed platforms are
supported.

For more details and examples, consult the `package
documentation `__.

Testing
-------

Unit tests can be run by using ``pytest`` command in the root directory.

Contributions
-------------

Read the `guidelines `__ to know how you can be part of
this open source project.

JupyterLab Extension
--------------------

An extension for JupyerLab is being developed in a `different
repository. `__

Citation
--------

Please cite this software using as follows:

*Girgin, S., Garcia Alvarez, M., & Urra Llanusa, J., fairly: a package
to create, publish and clone research datasets [Computer software]*

Acknowledgements
----------------

This research is funded by the `Dutch Research Council (NWO) Open
Science
Fund `__,
File No. 203.001.114.

Project members:

-  `Center of Expertise in Big Geodata Science, University of Twente,
   Faculty ITC `__
-  `Digital Competence Centre, TU Delft `__
-  `4TU.ResearchData `__

.. |License: MIT| image:: https://img.shields.io/badge/License-MIT-yellow.svg
   :target: https://opensource.org/licenses/MIT

Owner

  • Name: Center of Expertise in Big Geodata Science (CRIB)
  • Login: ITC-CRIB
  • Kind: organization
  • Email: crib-itc@utwente.nl
  • Location: Netherlands

CRIB is a horizontal facility that supports all ITC departments for the better use of big geodata technology.

Citation (CITATION.cff)

# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!

cff-version: 1.2.0
title: Fairly
message: Please cite this software using these metadata.
type: software
authors:
  - given-names: Serkan
    family-names: Grigin
    email: s.girgin@utwente.nl
    affiliation: University of Twente
    orcid: 'https://orcid.org/0000-0002-0156-185X'
  - given-names: Manuel
    family-names: Garcia Alvarez
    email: m.g.garciaalvarez@tudelft.nl
    affiliation: Delft University of Technology
    orcid: 'https://orcid.org/0000-0003-1579-9989'
  - given-names: Jose
    family-names: Urra Llanusa
    email: j.c.urrallanusa@tudelft.nl
    affiliation: Delft University of Technology
    orcid: 'https://orcid.org/0000-0002-9334-3998'

GitHub Events

Total
  • Issues event: 1
  • Watch event: 2
Last Year
  • Issues event: 1
  • Watch event: 2

Committers

Last synced: almost 3 years ago

All Time
  • Total Commits: 196
  • Total Committers: 4
  • Avg Commits per committer: 49.0
  • Development Distribution Score (DDS): 0.51
Top Committers
Name Email Commits
unknown g****k@g****m 96
jurra j****6@g****m 60
Manuel G. Garcia g****2@g****m 39
Serkan Girgin 6****k@u****m 1

Issues and Pull Requests

Last synced: 8 months ago

All Time
  • Total issues: 31
  • Total pull requests: 41
  • Average time to close issues: about 2 months
  • Average time to close pull requests: 6 days
  • Total issue authors: 6
  • Total pull request authors: 4
  • Average comments per issue: 1.52
  • Average comments per pull request: 0.37
  • Merged pull requests: 34
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 1
  • Pull requests: 1
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 1
  • Pull request authors: 1
  • Average comments per issue: 1.0
  • Average comments per pull request: 0.0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • manuGil (15)
  • jurra (8)
  • girgink (4)
  • c-martinez (2)
  • d-consoli (1)
  • leilaicruz (1)
Pull Request Authors
  • manuGil (39)
  • jurra (6)
  • leilaicruz (1)
  • etamassia (1)
Top Labels
Issue Labels
bug (8) enhancement (6) feature (3) question (3) documentation (2) epic (2) invalid (2) help wanted (1) good first issue (1)
Pull Request Labels
documentation (22) enhancement (10) bug (8)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 27 last-month
  • Total dependent packages: 1
  • Total dependent repositories: 4
  • Total versions: 9
  • Total maintainers: 1
pypi.org: fairly

A package to create, publish, and download research datasets

  • Homepage: https://github.com/ITC-CRIB/fairly
  • Documentation: https://fairly.readthedocs.io
  • License: MIT License Copyright (c) 2022 JupyterFAIR Team 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.
  • Latest release: 1.0.1
    published almost 2 years ago
  • Versions: 9
  • Dependent Packages: 1
  • Dependent Repositories: 4
  • Downloads: 27 Last month
Rankings
Dependent packages count: 4.8%
Dependent repos count: 7.5%
Average: 11.9%
Forks count: 13.3%
Stargazers count: 13.7%
Downloads: 20.3%
Maintainers (1)
Funding
  • https://nwo.nl/en/researchprogrammes/open-science/open-science-fund
Last synced: 6 months ago

Dependencies

.github/workflows/publish.yaml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • pypa/gh-action-pypi-publish v1.6.4 composite
.github/workflows/test_workflow.yaml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
docs/requirements.txt pypi
  • fairly *
  • nbsphinx >=0.9.3
  • sphinx-copybutton ==0.5.0
  • sphinx-rtd-theme ==1.3.0
pyproject.toml pypi
  • python-dateutil *
  • requests *
  • requests_toolbelt >=1.0.0
  • rich *
  • ruamel.yaml >=0.17.26
  • typer >=0.9.0