TinyML-backend

GitHub Actions

This is the backend for the TinyMLaaS project.

Instructions for running the application

Start by cloning this repository. Then setup and run the app with the following steps.

Virtual environment

Setup venv with:

python -m venv venv

Activate the virtual environment with:

source venv/bin/activate

Dependencies

Install project dependencies by running the following command inside the virtual environment:

pip install -r requirements.txt

Database setup

In a new terminal window, run the following commands to set up an sqlite database:

sqlite3
.open tiny_mlaas.db
.read schema.sql
.read populate.sql

To connect the backend to the database, create a .env file (in the project’s root directory) with the following line:

DATABASE_URL="sqlite:///./tiny_mlaas.db"

Machine learning modules setup

The projects main repository contains the machine learning modules. Download the modules by running the following command in the backend root directory:

svn checkout https://github.com/TinyMLaas/TinyMLaaS/trunk/TinyMLaaS_main

Optionally clone the main repository and copy or symlink the TinyMLaaS_main folder into the backend’s root directory.

Run app

With the virtual environment activated in the project’s root directory, run the app with:

uvicorn main:app --reload

Usage

Use the application with the project frontend here, or explore the API by browsing to: BACKEND_URL/docs.

Testing

Run unit tests in the backend root folder with:

pytest