Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (7.5%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

Basic Info
  • Host: GitHub
  • Owner: athenarc
  • License: other
  • Language: Python
  • Default Branch: master
  • Size: 2.99 MB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 9
Created over 3 years ago · Last pushed about 2 years ago
Metadata Files
Readme Changelog Contributing License Code of conduct Citation Security

README.md

Recommendation System for EOSCF

The recommendation system component focuses on creating recommendations for a requested resource. So far, its data source is only the mongo of the RS.

Use cases that are being implemented: https://wiki.eoscfuture.eu/display/EOSCF/RS+Content-based+Use+Cases

V2 BREAKING

  1. All the API urls have an added v1 eg. http://0.0.0.0:4559/similar_services/recommendation -> http://0.0.0.0:4559/v1/similar_services/recommendation
  2. The recommendation responses have changed to match RecommendationSet

json { "panel_id": "similar_services", "recommendations": [ 12, 23, ... ], "explanations": [ "explanation1", "explanation2" ... ], "explanations_short": [ "explanation_short1", "explanation_short2" ... ], "score": [ 0.7, 0.6, ... ], "engine_version": "v1" }

Building and Running

Prerequisites:

  1. Read access to RS Mongo (from Cyfronet)
  2. Read/write access to our Internal Mongo (from Athena)
  3. Read/write access to our internal Redis storage

Build and run:

  1. Make sure that you have added the .env file in the project root
  2. Run docker build -t rs-image . -f Dockerfile-rs
  3. Run docker run -p <port>:4559 rs-image

The image can be deployed using docker-compose if the .env variables are set correctly.

Environment variables

The following variables should be set in the .env file

```shell

These variable are of our internal mongo which is used for logging recommendations

Should not be confused with the RS Mongo

CONTENTBASEDRSMONGOHOST=contentbasedrecsmongo # The hostname of the contentbasedrecs mongo CONTENTBASEDRSMONGOPORT=27017 # The port of the internal mongo CONTENTBASEDRSMONGODATABASE=contentbasedrecs # The name of the database we are using for internal storage CONTENTBASEDRSMONGOUSERNAME="admin" # The username of a user of the internal mongo deployed by compose CONTENTBASEDRSMONGO_PASSWORD="admin" # The password of a user of the internal mongo deployed by compose

RS Mongo (from Cyfronet)

RSMONGOHOST=localhost # The hostname of the external RS mongo RSMONGOPORT=27017 # The port of the external RS mongo RSMONGODATABASE=rsdump # The name of the RS database RSMONGOUSERNAME=dev # The username of a user of the external RS mongo RSMONGO_PASSWORD=dev # The password of a user of the external RS mongo

INTERNALREDISHOST=redis # The hostname of the internal redis deployed by compose INTERNALREDISPORT=6379 # The port of the internal redis deployed by compose INTERNALREDISPASSWORD=redis_pswd # The password of the internal redis deployed by compose

The private sdn key for sentry which we use for error logging

SENTRY_SDN=https://12345...

Cronitor is used to monitor the offline updating of our RS data structures

stored in redis

CRONITORAPIKEY=123aababdas...

Monitoring access token is used to obtain reliability status of services in the portal before recommending them

MONITORINGAPIACCESS_TOKEN=daad2dasd... ```

Owner

  • Name: ATHENA RC
  • Login: athenarc
  • Kind: organization
  • Email: github@athenarc.gr
  • Location: Athens, Greece

ATHENA Research & Innovation Information Technologies

Citation (CITATION.cff)

# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!

cff-version: 1.2.0
title: EOSCF-Content-Based-RS
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - given-names: Mike
    family-names: Xydas
    email: mxydas@athenarc.gr
    affiliation: Athena R.C.
    orcid: 'https://orcid.org/0000-0002-8057-7023'
  - given-names: Anna
    family-names: Mitsopoulou
    email: anna.mitsopoulou@athenarc.gr
    affiliation: Athena R.C.
  - given-names: Katerina
    family-names: Xagorari
    email: katexagorari@athenarc.gr
    affiliation: Athena R.C.
  - given-names: Georgia
    family-names: Koutrika
    email: georgia@athenarc.gr
    affiliation: Athena R.C.
license: GPL-3.0

GitHub Events

Total
Last Year

Dependencies

requirements.txt pypi
  • APScheduler ==3.9.1
  • PyYAML ==6.0
  • aioredis ==1.3.1
  • cronitor ==4.5.0
  • fastapi ==0.75.2
  • hiredis ==2.0.0
  • locust ==2.11.1
  • mlxtend ==0.20.0
  • numpy ==1.22.2
  • pandas ==1.4.1
  • psycopg2 ==2.9.3
  • psycopg2_binary ==2.9.3
  • pyarrow ==8.0.0
  • pydantic ==1.9.0
  • pymongo ==4.0.1
  • python-dotenv ==0.19.2
  • redis ==4.3.4
  • scikit_learn ==1.0.2
  • sentence_transformers *
  • sentry-sdk ==1.5.10
  • uvicorn ==0.15.0
docker-compose-rs.yml docker
  • mongo 6.0
  • redis 6.2-alpine