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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b1dde72c2c4b65181ec29041859ae41ffb9a3af5666e830204798576a12c99bc
|
|
| MD5 |
4bd9aa5689a7b9c42f21935c7aab0a0e
|
|
| BLAKE2b-256 |
2cbe2c68a313eefdc0edb11307d13f004969d5d12c47513afdc8630596698069
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
39fa0dcb5e78ee5337e65bb6f9da450172ef961dacd1e979598a5b1d7322f8f3
|
|
| MD5 |
a71d5aee50649ed42e581e89fcd3f573
|
|
| BLAKE2b-256 |
a2f38678dfd03fa240c59c3b8e0bbb771641619b05ccb7156e5b8b85839f5ae0
|