Skip to main content

Python client for the FAIR Data Station API

Project description

fairds

FAIR Data Station

To improve the quality of reported data and to maximise its potential for reuse either by the original data generator or by others, data must have metadata, or 'data about data'. Furthermore, the set of metadata included or associated with any dataset must be sufficiently detailed as to allow for unambiguous interpretation of the associated data. In addition, good data management should allow for machine-actionabile metadata to be findable, accessible, interoperable, and directly reusable (FAIR guiding principles; Wilkinson et al., 2016) with minimal human intervention.

What constitutes 'good' metadata can be relatively subjective hence why researchers have developed various Minimum Information Models (MIMs), or checklists for a variety of datasets and data types. MIMs consist of two parts: firstly, for each assay and associated data type there is a community accepted checklist of reporting requirements. Secondly, an obligatory data format is used for reporting essential metadata to ensure machine-actionability. To ease the use of MIMs and various ontologies the FAIR Data Station, a metadata ingestion platform, has been developed (Nijsse et al., 2023) that helps to guide researchers towards good data management using a multi-step process:

  • Users select appropriate metadata standards via the FAIR-DS web application
  • Users generate a spreadsheet template via the FAIR-DS web application
  • Users record metadata using the spreadsheet template using Microsoft Excel
  • Users then validate the metadata content according to template requirements generating an Resource Description Framework (RDF) file

FAIR Data Station uses a hierarchical metadata schema based upon an extended form of the ISA (Investigation, Study, Assay) Standard. ISA has been modified by replacing 'source material' with 'Observation Unit' from the Minimum Information About a Plant Phenotyping Experiment (MIAPPE) and implementing 'Sample' from the Just Enough Results Model (JERM). At present, Various packages are already implemented in FAIR-DS predominately based on the Minimum Information about any (x) Sequence (MIxS) standard from the Genomic Standards Consortium. Although it is possible to add new packages, e.g., the Minimum information model for fermentation experiments (MIFE; Georgakilas et al., 2026) to meet the needs of different communities of practice.

FAIR-by-design

The aim of FAIR Data Station is to ensure a FAIR-by-design approach to scientific research as opposed to the current model of FAIR for publication. What this entails is to facilitate researchers and data generators ability to make their data FAIR from the earliest moment as well as ensuring that they make use of appropriate metadata standards with minimal hassle.

fairds Python client

The python package fairds is a Python client for the FAIR Data Station API. fairds is intended to allow users to ensure that the metadata and data validate metadata during the data analysis stage ensuring the quality of (a) dataset(s) prior to data analysis.

Install

The python package fairds can be installed from the Python Package Index (pypi) with the following command in the terminal:

pip install fairds

It has the following requirements:

"pandas>=1.5",
"requests>=2.28",

Example(s)

#--------------
# LOAD Package(s)
import os
from src.fairds import fairds


#-------------
# initialise class
fair_data = fairds.fairds()

#-------------
# SET spreadsheet file name
filename = os.path.normpath("examples\example_files\ValidationDemo_pass.xlsx")

#-------------
# GET results
fair_data.load(filename=filename, sheet_name = 'Sample - human gut')

#--------------
# To show the sheetnames uncomment the following
#fair_data.show_sheetnames()

#--------------
# To show the columns uncomment the following
#print(fair_data.df.columns)

#---------------
# Print out the sample identifiers
print(fair_data.df['sample identifier'])

A number of examples for loading, printing, fetching terms and packages, and validating can be found in the example folder.

Contributing

To contribute to fairds or to raise an issue please go to: https://gitlab.com/m-unlock/fairds-py

Licence

fairds is licenced under a

Authors and acknowledgment

The authors disclosed receipt of the following financial support for the research, authorship, and publication of this (research) software: European Union's Horizon 2020 research and innovation programme projects ‘RI services to promote deep digitalization of Industrial Biotechnology - towards smart biomanufacturing’, BIOINDUSTRY 4.0 (grant agreement n° 101094287); and Wageningen University & Research (WUR) Data Competency Center (WDCC) Open Science grant. FAIR Data Station was developed as part of the UNLOCK initiative (NWO: 184.035.007). The Dutch national funding agency NWO and Wageningen University and Research are thanked for their financial contribution to the UNLOCK initiative.

References

Georgakilas, G.K., Metcalfe, B., Bize, A., et al. MIFE and MIFD: Minimum information for fermentation experiments and devices, GigaScience, 15, giag038 (2026). https://doi.org/10.1093/gigascience/giag038

Nijsse, B., Schaap, P.J., Koehorst, J.J. FAIR data station for lightweight metadata management and validation of omics studies, GigaScience, 12, giad014 (2023). https://doi.org/10.1093/gigascience/giad014

Wilkinson, M., Dumontier, M., Aalbersberg, I. et al. The FAIR Guiding Principles for scientific data management and stewardship. Sci Data 3, 160018 (2016). https://doi.org/10.1038/sdata.2016.18

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

fairds-0.1.2.tar.gz (112.9 kB view details)

Uploaded Source

Built Distribution

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

fairds-0.1.2-py3-none-any.whl (8.6 kB view details)

Uploaded Python 3

File details

Details for the file fairds-0.1.2.tar.gz.

File metadata

  • Download URL: fairds-0.1.2.tar.gz
  • Upload date:
  • Size: 112.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.20 {"installer":{"name":"uv","version":"0.11.20","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for fairds-0.1.2.tar.gz
Algorithm Hash digest
SHA256 b1dde72c2c4b65181ec29041859ae41ffb9a3af5666e830204798576a12c99bc
MD5 4bd9aa5689a7b9c42f21935c7aab0a0e
BLAKE2b-256 2cbe2c68a313eefdc0edb11307d13f004969d5d12c47513afdc8630596698069

See more details on using hashes here.

File details

Details for the file fairds-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: fairds-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 8.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.20 {"installer":{"name":"uv","version":"0.11.20","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for fairds-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 39fa0dcb5e78ee5337e65bb6f9da450172ef961dacd1e979598a5b1d7322f8f3
MD5 a71d5aee50649ed42e581e89fcd3f573
BLAKE2b-256 a2f38678dfd03fa240c59c3b8e0bbb771641619b05ccb7156e5b8b85839f5ae0

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