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 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 an Apache License 2.0

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.3.tar.gz (117.1 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.3-py3-none-any.whl (12.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: fairds-0.1.3.tar.gz
  • Upload date:
  • Size: 117.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","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.3.tar.gz
Algorithm Hash digest
SHA256 7cea01751b51e27cd1feb8450e486e8af9cdfb0652ab3f98714536c364fd1059
MD5 4a73cce2d961260eaa81aa5ad492465f
BLAKE2b-256 dc2ef9d2abd31c94de62be898d470dfd7579ec9e02af6dea4763294c8442fdd5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fairds-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 12.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 3ab8dfd9614d53875b3b6895d063b31cf4ed07791a34711b158c70b6e5c3e6ae
MD5 b98a976754167b536f8c267e0012cd72
BLAKE2b-256 de965080f1a5b7cbd31374912d977b3e00d867d0124dc45ac61d6b133de87fe7

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