Skip to content

About

Version Python versions MIT license

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:

🤝 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.

Library built with FastAPI, and RDFLib.