mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-06-08 11:17:27 +00:00
63 lines
2 KiB
Markdown
63 lines
2 KiB
Markdown
# 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
|
|
|
|
|