Skip to content

Commit

Permalink
Adding files for first release
Browse files Browse the repository at this point in the history
  • Loading branch information
MikeXydas committed Jan 29, 2023
0 parents commit f763679
Show file tree
Hide file tree
Showing 150 changed files with 8,631 additions and 0 deletions.
158 changes: 158 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,158 @@
# Embeddings/similarities/binarizers files
*.parquet
*.pkl

user_profile/storage/logs/logs*

.idea/

# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# C extensions
*.so

# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
pip-wheel-metadata/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST

# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/

# Translations
*.mo
*.pot

# Django stuff:
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal

# Flask stuff:
instance/
.webassets-cache

# Scrapy stuff:
.scrapy

# Sphinx documentation
docs/_build/

# PyBuilder
target/

# Jupyter Notebook
.ipynb_checkpoints

# IPython
profile_default/
ipython_config.py

# pyenv
.python-version

# pipenv
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
# However, in case of collaboration, if having platform-specific dependencies or dependencies
# having no cross-platform support, pipenv may install dependencies that don't work, or not
# install all needed dependencies.
#Pipfile.lock

# PEP 582; used by e.g. github.com/David-OConnor/pyflow
__pypackages__/

# Celery stuff
celerybeat-schedule
celerybeat.pid

# SageMath parsed files
*.sage.py

# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/

# Spyder project settings
.spyderproject
.spyproject

# Rope project settings
.ropeproject

# mkdocs documentation
/site

# mypy
.mypy_cache/
.dmypy.json
dmypy.json

# Pyre type checker
.pyre/
/user_profile/config/credentials.yml
user_profile/storage/dumps/marketplace/mp_db_dump_ano.sql
user_profile/storage/dumps/backups/
user_profile/storage/dumps/recommender/
user_profile/storage/compose/
user_profile/docker-compose-mongo.yml

docker-compose-app-test.yml
storage/dumps/marketplace/mp_db_dump_ano.sql
notebooks/storage

./storage

api/recommender/similar_services/service_recommendation/evaluation/manual_evaluation/storage/**/*.csv
api/recommender/similar_services/service_recommendation/evaluation/manual_evaluation/storage/**/*.xlsx

api/recommender/similar_services/service_recommendation/evaluation/manual_evaluation/storage/recommendations_for_distance/*.csv

!*/api/recommender/monitoring_services/__init__.py
api/databases/keys.csv
tests/report.html
72 changes: 72 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
# Changelog

All notable changes to EOSCF-ContentBasedRS will be documented in this file.

The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).

*For each release, use the following sub-sections:*

- *Added (for new features)*
- *Changed (for changes in existing functionality)*
- *Deprecated (for soon-to-be removed features)*
- *Removed (for now removed features)*
- *Fixed (for any bug fixes)*
- *Security (in case of vulnerabilities)*

## [2.0.0] - RELEASED

### What’s Changed

- Re-filling ground truth when creating the files for manual evaluation… (#182) @AnnaMitsopoulou
- Initial project assistant implementation (#178) @AnnaMitsopoulou
- Mark annotation conflicts (#179) @MikeXydas
- move get object inside reranking (#174) @kathdevx
- Autocompletion api testing (#171) @MikeXydas
- Test RS API with mongo (similar services, project completion, health, update) (#169) @MikeXydas
- Make id type agnostic (#167) @AnnaMitsopoulou
- Fixed recommendations format and auto update status and ar reports (#155) @kathdevx
- Better health messages (#152) @MikeXydas
- Manual evaluation file (#147) @MikeXydas
- Reranking recommendations (#146) @kathdevx
- filter services by status (#145) @kathdevx
- Manual versioning (#143) @MikeXydas
- Tf idf baseline (#141) @MikeXydas
- Select services for evaluation (#136) @AnnaMitsopoulou
- Calculating pairwise distance of different RS variations. (#132) @MikeXydas
- Created docker files (#121) @MikeXydas
- Remove service id conversion to str (#119) @AnnaMitsopoulou
- Auto completion evaluation fixes (#114) @AnnaMitsopoulou
- Calculate statistics of manual evaluation (#113) @AnnaMitsopoulou
- Added maximum_suggestions as evaluation parameter (#111) @MikeXydas
- Api versioning (#109) @MikeXydas
- Create separate update for each mode (#105) @AnnaMitsopoulou
- Use catalogue api (#104) @AnnaMitsopoulou
- Monitoring services (#93) @kathdevx
- Refactoring rs (#91) @AnnaMitsopoulou
- Standarized RS responses (#90) @MikeXydas
- Most popular baseline (#72) @AnnaMitsopoulou
- Calculate metrics: precision, recall, f1-score (#71) @AnnaMitsopoulou
- Add examples to recommendation routes (#70) @AnnaMitsopoulou
- Fix bug with maximum suggestions (#58) @MikeXydas
- Added mode parameter in config (#54) @MikeXydas
- Add optimal parameters for auto-complete suggestions in config (#34) @MikeXydas
- Set user to guest when not found (#32) @MikeXydas
- Auto completion (#31) @MikeXydas
- Created more detailed diagnostic messages (#30) @MikeXydas
- Created health check functionality for recommender (#25) @MikeXydas
- Guest users in similar services (#24) @MikeXydas
- Added URI building for mongo (#22) @MikeXydas
- Add filtering in project_completion (#21) @AnnaMitsopoulou
- Update for one service (#20) @AnnaMitsopoulou
- Only use mongo in user profile, not postgres (#19) @MikeXydas
- Added redis in deployment compose (#18) @MikeXydas
- Storing rs structures (#17) @AnnaMitsopoulou
- Change db used in project_completion, enable user history usage (#16) @AnnaMitsopoulou
- Integrating redis for storage instead of file system (#15) @MikeXydas
- Scheduling updates every N hours and monitoring with cronitor (#14) @MikeXydas
- Initialization of RS objects is performed on startup event (#13) @MikeXydas
- Add versioning (#12) @AnnaMitsopoulou
- Redesigned how exceptions are caught (#11) @MikeXydas
- Separated db connection and db operations (#10) @MikeXydas
- Cleaning up the root of the project (#7) @MikeXydas
28 changes: 28 additions & 0 deletions CITATION.cff
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# 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: [email protected]
affiliation: Athena R.C.
orcid: 'https://orcid.org/0000-0002-8057-7023'
- given-names: Anna
family-names: Mitsopoulou
email: [email protected]
affiliation: Athena R.C.
- given-names: Katerina
family-names: Xagorari
email: [email protected]
affiliation: Athena R.C.
- given-names: Georgia
family-names: Koutrika
email: [email protected]
affiliation: Athena R.C.
license: GPL-3.0
73 changes: 73 additions & 0 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
# Contributor Covenant Code of Conduct

## Our Pledge

In the interest of fostering an open and welcoming environment,
we as contributors and maintainers pledge to making participation
in our project and our community a harassment-free experience for everyone,
regardless of age, body size, disability, ethnicity, gender identity and
expression, level of experience, nationality, personal appearance, race,
religion, or sexual identity and orientation.

## Our Standards

Examples of behaviour that contributes to creating a positive environment include:

* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members

Examples of unacceptable behaviour by participants include:

* The use of sexualised language or imagery and unwelcome sexual attention or
advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic
address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting

## Our Responsibilities

Project maintainers are responsible for clarifying the standards of acceptable
behaviour and are expected to take appropriate and fair corrective action
in response to any instances of unacceptable behaviour.

Project maintainers have the right and responsibility to remove, edit,
or reject comments, commits, code, wiki edits, issues, and other contributions
that are not aligned to this Code of Conduct, or to ban temporarily
or permanently any contributor for other behaviours that they deem
inappropriate, threatening, offensive, or harmful.

## Scope

This Code of Conduct applies both within project spaces and in public spaces
when an individual is representing the project or its community.
Examples of representing a project or community include using an official
e-mail address, posting via an official social media account, or acting
as an appointed representative at an online or offline event.

## Enforcement

Instances of abusive, harassing, or otherwise unacceptable behaviour may be
reported by contacting mxydas AT athenarc DOT gr.
The project team will review and investigate all complaints, and will respond
in a way that it deems appropriate to the circumstances.
The project team is obligated to maintain confidentiality with regard to the
reporter of an incident.
Further details of specific enforcement policies may be posted separately.

Project maintainers who do not follow or enforce the Code of Conduct
in good faith may face temporary or permanent repercussions as determined
by other members of the project's leadership.

## Attribution

This Code of Conduct is adapted from the [Contributor Covenant][homepage],
version 1.4, available at [http://contributor-covenant.org/version/1/4][version]

[homepage]: http://contributor-covenant.org
[version]: http://contributor-covenant.org/version/1/4/
38 changes: 38 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# Contributing to Athena R.C. Open Source Software

Thank you for considering contributing to Athena R.C. Open Source Software.

Please note that we welcome all forms of user feedback and are generally open
to many forms of collaboration,
but please read this document carefully before proceeding.

## User feedback

### Reporting problems

We welcome all feedback you may have when using any of our tools and services.

If you encounter a problem, please add an issue at the respective tool or service
GitHub repository and choose "Bug" as a label.

### Suggesting Enhancements

To suggest new functionalities and possible future developments,
please add an issue at the respective tool or service
GitHub repository and choose "New Feature" or "Improvement" as the label.

## Contributing to the development

Development of all Athena R.C. tools and services is aligned with our roadmap and
any functional requirements we have.

External contributions can be accepted, if they provide functionality Athena R.C.
deems appropriate and are of acceptable quality.
Specific requirements and criteria may apply to specific tools.

If you want to contribute to Athena R.C. tools and services,
please contact [Mike Xydas](https://github.com/MikeXydas) before proceeding.

### Practical matters

Athena R.C. reserves the right to accept or reject any contribution.
11 changes: 11 additions & 0 deletions Dockerfile-autocompletion
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
FROM python:3.9

WORKDIR /app

COPY requirements.txt /app/requirements.txt

RUN pip install --no-cache-dir --upgrade -r /app/requirements.txt

COPY . /app

CMD ["python3.9", "recommendation_system_app.py", "--config_file", "api/config/backend-auto-prod.yaml"]
Loading

0 comments on commit f763679

Please sign in to comment.