Skip to main content

Tools for AI-READI

Project description

logo

pyfairdatatools

Python package for the FAIR tools of fairhub.io


contributors stars open issues license Curated with FAIRshare

Unix Build Status Windows Build Status Coverage Status Scrutinizer Code Quality PyPI License PyPI Version PyPI Downloads

Documentation · Changelog · Report Bug · Request Feature



Description

pyfairdatatools is a Python package that includes functions of fairhub.io for making data FAIR. This consists of a collection of helpful functions for extracting, transforming raw data, generating relevant metadata files and validating the data and metadata files against the FAIR guidelines adopted by the AI-READI project. Beside supporting fairhub.io, our aim is that the package can be used by anyone wanting to make their data FAIR according to the AI-READI FAIR guidelines.

Getting started

Prerequisites/Dependencies

You will need the following installed on your system:

Installing

Install it directly into an activated virtual environment:

pip install pyfairdatatools

or add it to your Poetry project:

poetry add pyfairdatatools

Usage

After installation, the package can be imported:

$ python
>>> import pyfairdatatools
>>> pyfairdatatools.__version__

Inputs and Outputs

The input of most functions will be a json format schema (see "Standards followed" sections) that contain data and metadata related information. The outputs of most functions will be standards metadata files, structured data, etc.

Standards followed

This software is being developed following the Software Development Best Practices of the AI-READI Project, which include following the FAIR-BioRS guidelines. Amongs other, we are following closely the PEP 8 Style Guide for Python Code.

The input structure of the function is currently being developed but anticipated to follow existing schemas such as schema.org and bioschemas.org.

Contributing

Contributions are always welcome!

If you are interested in reporting/fixing issues and contributing directly to the code base, please see CONTRIBUTING.md for more information on what we're looking for and how to get started.

Issues and Feedback

To report any issues with the software, suggest improvements, or request a new feature, please open a new issue via the Issues tab. Provide adequate information (operating system, steps leading to error, screenshots) so we can help you efficiently.

Setup

If you would like to update the package, please follow the instructions below.

  1. Create a local virtual environment and activate it:

    python -m venv .venv
    source .venv/bin/activate
    

    If you are using Anaconda, you can create a virtual environment with:

    conda create -n pyfairdatatools-env python
    conda activate pyfairdatatools-env
    
  2. Install the dependencies for this package. We use Poetry to manage the dependencies:

    pip install poetry==1.3.2
    poetry install
    

    You can also use version 1.2.0 of Poetry, but you will need to run poetry lock after installing the dependencies.

  3. Add your modifications and run the tests:

    poetry run pytest
    

    If you need to add new python packages, you can use Poetry to add them:

     poetry add <package-name>
    
  4. Format the code:

    poe format
    
  5. Check the code quality:

    poetry run flake8 pyfairdatatools tests
    
  6. Run the tests and check the code coverage:

    poe test
    poe test --cov=pyfairdatatools
    
  7. Build the package:

    Update the version number in pyproject.toml and pyfairdatatools/__init__.py and then run:

    poetry build
    
  8. Publish the package:

    poetry publish
    

License

This work is licensed under MIT. See LICENSE for more information.

How to cite

If you are using this package or reusing the source code from this repository for any purpose, please cite:

    Coming soon...

Acknowledgements

This project is funded by the NIH under award number 1OT2OD032644. The content is solely the responsibility of the authors and does not necessarily represent the official views of the NIH.

Add any other acknowledgements here.




Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyfairdatatools-0.1.0.tar.gz (67.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyfairdatatools-0.1.0-py3-none-any.whl (72.0 kB view details)

Uploaded Python 3

File details

Details for the file pyfairdatatools-0.1.0.tar.gz.

File metadata

  • Download URL: pyfairdatatools-0.1.0.tar.gz
  • Upload date:
  • Size: 67.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.2 CPython/3.11.3 Windows/10

File hashes

Hashes for pyfairdatatools-0.1.0.tar.gz
Algorithm Hash digest
SHA256 def55803db3e2079dd34c60fb6e0385e9cbaec0ff37cc2a2e2096ae18097c581
MD5 5ab7b74f8d62743458638a68167c30c8
BLAKE2b-256 71a3305e82fc42e963310b2b14028fe8328194a59ff565725a991311fbd9ec6d

See more details on using hashes here.

File details

Details for the file pyfairdatatools-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: pyfairdatatools-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 72.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.2 CPython/3.11.3 Windows/10

File hashes

Hashes for pyfairdatatools-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 81ceb71b8502ce384ebee66b5f98f20feb3e47ccc0605d3cba83cfc5c5705b0e
MD5 83238d81cc7eba4c64757ceea641f447
BLAKE2b-256 d991dfd53d8888cf418e78ce8db1048776e1ac8c0da6b485a2655be2b3d27735

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page