Skip to content

paul-florentin-charles/bcn-rainfall-models

Repository files navigation

bcn-rainfall-models

License: MIT coverage badge Ruff uv mypy

As of 07/02/2025, project is split into 2 main entities:

  1. A "backend" made of:
    1. Custom classes to easily load and manipulate rainfall data from Barcelona.
    2. An API written with FastAPI that exposes this data.
  2. A Webapp run with Flask that calls the latter API to display data.

The idea is the mid-run would be to split both entities into different repositories.

Perhaps even make 3 repositories, and package them by the following order of priority:

  1. Custom classes
  2. API
  3. Webapp

Requirements

  • Python 3.12
  • Pip

Get started

  1. Clone repository
  2. Install dependencies
  3. Run FastAPI with Uvicorn
    1. Open Swagger UI
  4. Run Flask
    1. Open Webapp

Setup

git clone https://github.com/paul-florentin-charles/bcn-rainfall-models.git
cd bcn-rainfall-models
pip install uv
uv sync

Run servers

Run API

uv run run.py api

Run Webapp

uv run run.py webapp

Tests & Coverage

uv run coverage run -m pytest
uv run coverage report

Code quality

uv tool run mypy --check-untyped-defs .
uv tool run ruff check
uv tool run ruff format

🄯 2023-2025 Paul Charles

About

All-in-one project about Barcelona Rainfall, that is being split into different subprojects; to be archived when splitting is completely achieved.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •