Software Maintenance Guide

This document outlines how to configure and setup a development environment to work on Template Python.

Backend (Python)

Python uv Ruff Mypy Sphinx

Installing Dependencies

This repository is managed using the uv Python project manager: https://docs.astral.sh/uv/

Install the required dependencies:

uv sync

To include extra dependencies:

uv sync --extra dev
uv sync --extra docs
uv sync --all-extras

Testing, Linting, and Type Checking

# Lint code
uv run ruff check .

# Format code
uv run ruff format .

# Type check
uv run mypy .

# Run tests
uv run pytest

# Security scan
uv run bandit -r template_python/

# Audit dependencies
uv run pip-audit

Building Documentation

This project uses Sphinx for documentation. To build the documentation:

uv run sphinx-build -M clean docs/source/ docs/build/
uv run sphinx-build -M html docs/source/ docs/build/

The built documentation will be available at docs/build/html/index.html.