/rec_engine

DS Training: Simple recommendation

Primary LanguageShellBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

checks pylint Score Coverage score License


Table of contents

  1. Introduction
    1. Objective
    2. Programming style
    3. Version control
    4. Contribution guidelines
    5. Slack
  2. Project documents
    1. Approach
  3. Pull request guidelines
  4. Initial setup
  5. Unit tests
  6. Important links
  7. License

Introduction

Objective

The objective of this repository is to:

  1. Create a scalable recommendation engine in a modular environment.

Programming style

It's good practice to follow accepted standards while coding in python:

  1. PEP 8 standards: For code styles.
  2. PEP 257 standards: For docstrings standards.
  3. PEP 484 standards For function annotations standards.

Also, it's a good idea to rate all our python scripts with Pylint. If we score anything less than 8/10, we should consider redesigning the code architecture.

A composite pylint ratings for all the codes are automatically computed when we run the tests and prepended on top of this file.

Version control

We use semantic versionning (SemVer) for version control. You can read about semantic versioning here.

Initial setup

bash install.sh

Requirements

The python requirements can be found at

  1. Requirements

Run unit tests and pylint ratings

To run all unit tests and rate all python scripts, run the following in project directory:

./bin/run_tests.sh

Available options:

-a default, runs both code rating and unit tests.
-u unit tests.
-r code rating.

The pylint ratings for each python script can be found at logs/pylint/


Important links

Guidelines