Skip to main content

Backend libraries

Purpose

This document describes the libraries used in the backend applications of Monitor Space Hazards (MSH).

Package management

The backend uses uv as its package manager. Dependencies are defined in pyproject.toml and locked via uv.lock.

To install all dependencies run uv sync. To add a new dependency run uv add <package>.

Libraries used

The backend uses Python 3.10 as a programming language.

The list of the important libraries is as follows:

  • FastAPI - the web framework for building APIs. It’s a fast, asynchronous and standards-based framework with automatic OpenAPI documentation.
  • Alembic - for maintaining database migrations
  • SQLAlchemy Core - as a query builder for PostgreSQL database
  • Databases - async database connection library (backed by asyncpg)
  • Pydantic - for data validation and serialization
  • Loguru - the logging solution
  • Sentry SDK - for error tracking and performance monitoring
  • boto3 - AWS SDK for S3 storage and other AWS services
  • auth0-python - for Auth0 authentication integration
This page was last reviewed on 7 April 2026. It needs to be reviewed again on 7 July 2026 .
This page was set to be reviewed before 7 July 2026. This might mean the content is out of date.