Package: pyfairdatatools
pyfairdatatoolsPython package for the FAIR tools of fairhub.ioDocumentation·Changelog·Report Bug·Request FeatureDescriptionpyfairdatatools 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 startedPrerequisites/DependenciesYou will need the following installed on your system:Python 3.8+PipPoetryInstallingInstall it directly into an activated virtual environment:pipinstallpyfairdatatoolsor add it to yourPoetryproject:poetryaddpyfairdatatoolsUsageAfter installation, the package can be imported:$python
>>>importpyfairdatatools
>>>pyfairdatatools.__version__Inputs and OutputsThe 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 followedThis software is being developed following theSoftware Development Best Practices of the AI-READI Project, which include following theFAIR-BioRS guidelines. Amongs other, we are following closely thePEP 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.ContributingContributions are always welcome!If you are interested in reporting/fixing issues and contributing directly to the code base, please seeCONTRIBUTING.mdfor more information on what we're looking for and how to get started.Issues and FeedbackTo report any issues with the software, suggest improvements, or request a new feature, please open a new issue via theIssuestab. Provide adequate information (operating system, steps leading to error, screenshots) so we can help you efficiently.SetupIf you would like to update the package, please follow the instructions below.Create a local virtual environment and activate it:python-mvenv.venvsource.venv/bin/activateIf you are using Anaconda, you can create a virtual environment with:condacreate-npyfairdatatools-envpython
condaactivatepyfairdatatools-envInstall the dependencies for this package. We usePoetryto manage the dependencies:pipinstallpoetry==1.3.2
poetryinstallYou can also use version 1.2.0 of Poetry, but you will need to runpoetry lockafter installing the dependencies.Add your modifications and run the tests. You can also use the commandpoe testfor running the tests.poetryrunpytestIf you need to add new python packages, you can use Poetry to add them:poetryadd<package-name>Format the code:poeformatCheck the code quality:poetryrunflake8pyfairdatatoolstestsRun the tests and check the code coverage:poetestpoetest--cov=pyfairdatatoolsBuild the package:Update the version number inpyproject.tomlandpyfairdatatools/__init__.pyand then run:poetry buildPublish the package:poetrypublishSet your API token for PyPI in your environment variables:poetryconfigpypi-token.pypiyour-api-tokenLicenseThis work is licensed underMIT. SeeLICENSEfor more information.How to citeIf you are using this package or reusing the source code from this repository for any purpose, please cite:Coming soon...AcknowledgementsThis 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.