About
fair-test
is a Python library to build and deploy FAIR metrics tests APIs, supporting the specifications used by the FAIRMetrics working group. Those APIs can then be queried to assess if a resource is complying with the FAIR principles (Findable, Accessible, Interoperable, Reusable).
It aims to enable Python developers to easily write, and deploy FAIR metric tests functions that can be queried by various FAIR evaluations services, such as FAIR enough and the FAIRsharing FAIR Evaluator.
FAIR metrics tests are evaluations taking a subject URL as input, executing a battery of tests (e.g. checking if machine readable metadata is available at this URL), and returning a score of 0 or 1, with the evaluation logs.
âšī¸ How it works
You define FAIR metric tests using custom python objects in separate files in a specific folder. The objects will guide you to provide all required metadata for your test as attributes, and implement the test evaluation logic as a function. The library also provides additional helper functions for common tasks, such as retrieving metadata from a URL, or testing a metric test.
These tests can then be deployed as a web API, and registered in central FAIR evaluation service supporting the FAIR metrics working group framework, such as FAIR enough or the FAIR evaluator. Finally, users of the evaluation services will be able to group the registered metrics tests in collections used to assess the quality of publicly available digital objects.
Report issues
Feel free to create issues on GitHub, if you are facing problems, have a question, or would like to see a feature implemented. Pull requests are welcome!
đī¸ Projects using fair-test
Here are some projects using fair-test
to deploy FAIR test services:
- https://github.com/MaastrichtU-IDS/fair-enough-metrics: A generic FAIR metrics tests service developed at the Institute of Data Science at Maastricht University.
- https://github.com/LUMC-BioSemantics/RD-FAIRmetric-F4: A FAIR metrics tests service for Rare Disease research.
đ¤ Credits
Thanks to the people behind the FAIR evaluation services FAIR evaluator, F-UJI, and FAIR Checker, for the various inspirations and ideas.
Thanks to the FAIR metrics working group for the specifications for FAIR evaluation services they defined.