# Model Repository This repository contains the code pertaining to the development of the data science and machine learning products being utilised by Hestia. The different folders in this repository relate to services that can be used independently, or can be imported and used as part of a larger application # Getting Started ## Prerequisites - [Docker Desktop](https://www.docker.com/products/docker-desktop/) - [VS Code](https://code.visualstudio.com/) with the [Dev Containers extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers) ## Dev Container Setup This repo uses a Docker Compose-based dev container. The `model-backend` service joins a `shared-dev` Docker network so it can communicate with other local services (e.g. a frontend container) running on your machine. **VS Code users:** The `initializeCommand` in `devcontainer.json` creates the `shared-dev` network automatically before the container starts. No manual step required — just open the repo and select **Reopen in Container**. **Non-VS Code / CI workflows:** Run the following once before starting the container: ```commandline make dev-setup ``` This is idempotent and safe to re-run if the network already exists. # Folders ### backend/ This folder contains the code for the fastapi backend service, which provides an interface to much of the functionality in this repository, for the frontend ### model_data/ This folder contains related to the reading and preparation of assessment model data, including pulling out epc attributes # Testing All tests can be run, against the configuration in pytest.ini running ```commandline pytest ``` This will run the complete panel of tests and report on coverage in the locations specified by the pytest.ini file. To run tests in a specific service, e.g. inside of model_data, simply run ```commandline pytest --cov-config=model_data/.coveragerc --cov=model_data ``` This will produce the test results and coverage reports