FAIR Enough Metrics is an API for various FAIR Metrics Tests, written in python

Overview

โ˜‘๏ธ FAIR Enough metrics for research

Test Metrics

FAIR Enough Metrics is an API for various FAIR Metrics Tests, written in python, conforming to the specifications defined by the FAIRMetrics working group.

This API is deployed publicy at https://metrics.api.fair-enough.semanticscience.org

It can be used with the FAIR evaluation services:

Metrics tests API built FastAPI.

๐Ÿง‘โ€๐Ÿ’ป Deploy the API

First, clone the repository:

git clone https://github.com/MaastrichtU-IDS/fair-enough-metrics
cd fair-enough-metrics

๐Ÿณ Development with docker (recommended)

From the root of the cloned repository, run the command below, and access the OpenAPI Swagger UI on http://localhost:8000

docker-compose up

The API will automatically reload on changes to the code ๐Ÿ”„

๐Ÿ Development without docker

Note: it has been tested only with Python 3.8

Install dependencies from the source code:

pip install -e .

Start the API locally on http://localhost:8000

uvicorn api.main:app --reload

๐Ÿš€ In production with docker

We use the docker-compose.prod.yml file to define the production deployment configuration.

To start the stack with production config:

docker-compose -f docker-compose.prod.yml up -d

We use a reverse nginx-proxy for docker to route the services.

โœ”๏ธ Test the Metrics Tests API

The tests are run automatically by a GitHub Action workflow at every push to the main branch.

Add tests in the ./tests/test_metrics.py file. You just need to add new entries to the JSON file to test different subjects results against the metrics tests:

{
    'metric_id': 'a1-access-protocol',
    'subject': 'https://w3id.org/ejp-rd/fairdatapoints/wp13/dataset/c5414323-eab1-483f-a883-77951f246972',
    'score': 1,
},

Run the tests in docker-compose:

docker-compose -f docker-compose.test.yml up --force-recreate

You can enable more detailed logs by changing the command: in the docker-compose.test.yml file to use pytest -s

โž• Create a new FAIR Metrics Tests service

You can easily use this repository to build and publish new FAIR metrics tests.

  1. Fork this repository
  2. Change the API settings in api/config.py
  3. Use the existing tests python files in the metrics folder to start writing FAIR metrics tests!
  4. Start your FAIR metrics tests API with docker-compose!
Owner
Maastricht University IDS
Institute of Data Science at Maastricht University
Maastricht University IDS
Automatically Edits Videos and Uploads to Tiktok with 1 line of code.

TiktokAutoUploader - Open to code contributions Automatically Edits Videos and Uploads to Tiktok with 1 line of code. Setup pip install -r requirement

Michael Peres 199 Dec 27, 2022
Fast and multi-threaded script to automatically claim targeted username including 14 day bypass

Instagram Username Auto Claimer Fast and multi-threaded script to automatically claim targeted username. Click here to report bugs. Usage Download ZIP

265 Dec 28, 2022
ESOLinuxAddonManager - Very simple addon manager for Elder Scrolls Online running on Linux.

ESOLinuxAddonManager Very simple addon manager for Elder Scrolls Online running on Linux. Well, more a downloader for now. Currently it's quite ugly b

Akseli 25 Aug 28, 2022
Mass Instagram Checker

Mass Instagram Checker

X - MrG3P5 5 Nov 09, 2022
FTP Anonymous Login

FTPAnon FTP Anonymous Login Install git clone https://github.com/SiThuTuntimehacker/FTPAnon cd FTPAnon bash install.sh access ftp sever " ftpaccess.tx

SiThuTun 3 Mar 23, 2022
A Pluggable And Powerful Telegram Manager Bot

FRIDAY-USERBOT ๐Ÿ‡ฎ๐Ÿ‡ณ A Powerful, Smart And Simple Userbot In Pyrogram. Support ๐Ÿš‘ Inspiration & Credits Userge-X Userge Pokurt Pyrogram Code Owners Chs

DevsExpo 371 Mar 26, 2022
An Advanced Telegram Bot to Play Radio & Music in Voice Chat. This is Also The Source Code of The Bot Which is Being Used For Playing Radio in @AsmSafone Channel โค๏ธ

Telegram Radio Player V3 An Advanced Telegram Bot to Play Nonstop Radio/Music/YouTube Live in Channel or Group Voice Chats. This is also the source co

SAF ONE 421 Jan 05, 2023
Requests based multi-threaded script for increasing followers on Spotify

Proxyless Spotify Follow Bot Requests based multi-threaded script for increasing followers on Spotify. Click here to report bugs. Usage Download ZIP h

397 Jan 03, 2023
๐Ÿ”ฎ A usefull set of scripts to dig into your Discord data package.

Discord DataExtractor ๐Ÿ”ฎ Discord DataExtractor is a set of scripts that allows you to dig into your Discord Data package. Repository guide โ˜• Coffee_Ga

3 Dec 29, 2021
Telegram Vc Video Player Bot

Telegram Video Player Bot Telegram bot project for streaming video on telegram video chat, powered by tgcalls and pyrogram Deploy to Heroku ๐Ÿ‘จโ€๐Ÿ”ง The

Dihan Official 11 Dec 25, 2022
A simple Python API wrapper for Cloudflare Stream's API.

python-cloudflare-stream A basic Python API wrapper for working with Cloudflare Stream. Arbington.com started off using Cloudflare Stream. We used the

Arbington 3 Sep 08, 2022
Campsite Reservation Cancellation Finder (Yellowstone National Park)

yellowstone-camping yellowstone-camping is a Campsite Reservation Cancellation Finder for Yellowstone National Park. This simple Python application wi

Justin Flannery 7 Aug 05, 2022
API RestFull de uma clinica, onde vai efetuar os agendamentos dos pacientes e mostrar o historicos de cada agendamentos

API REstFull O que tem na API Usado para clinicas. Cadastro de pacientes. Agendamentos de pacientes. Histรณricos dos agendamentos vinculados com a tabe

Lucas Silva 3 Aug 29, 2022
This is a repository for the Duke University Cloud Computing course project on Serveless Data Engineering Pipeline. For this project, I recreated the below pipeline.

AWS Data Engineering Pipeline This is a repository for the Duke University Cloud Computing course project on Serverless Data Engineering Pipeline. For

15 Jul 28, 2021
The first open-source PyTgCalls-based project.

Calls Music โ€” Telegram bot + userbot for streaming audio in group calls โœ๐Ÿป Requirements FFmpeg Python 3.7+ ๐Ÿš€ Deployment ๐Ÿ›  Configuration Copy exampl

Calls Music 74 Nov 19, 2022
Grocy-create-product - A script supports the batch creation of new products in Grocy

grocy-create-product This script supports the batch creation of new products in

Andrรฉ Heuer 6 Jul 28, 2022
A simple Discord bot wrote with Python. Kizmeow let you track your NFT project and display some useful information

Kizmeow-OpenSea-and-Etherscan-Discord-Bot ไธญๆ–‡็‰ˆ | English Ver A Discord bot wrote with Python. Kizmeow let you track your NFT project and display some u

Xeift 93 Dec 31, 2022
Example notebooks for working with SageMaker Studio Lab. Sign up for an account at the link below!

SageMaker Studio Lab Sample Notebooks Available today in public preview. If you are looking for a no-cost compute environment to run Jupyter notebooks

Amazon Web Services 304 Jan 01, 2023
Aws-lambda-requests-wrapper - Request/Response wrapper for AWS Lambda with API Gateway

AWS Lambda Requests Wrapper Request/Response wrapper for AWS Lambda with API Gat

1 May 20, 2022
A Pancakeswap v2 trading client (and bot) with limit orders, stop-loss, custom gas strategies, a GUI and much more.

Pancakeswap v2 trading client A Pancakeswap trading client (and bot) with limit orders, stop-loss, custom gas strategies, a GUI and much more. If you

571 Mar 15, 2022