Files
davidaragon-portfolio/src/content/projects/python-project-template.md
T
wh-leader 54cad6684c
CI/CD Pipeline / Build & Deploy (push) Successful in 23s
fix: add blog pages and fix project schema, remove internal TimeNet CLI
2026-05-11 14:02:08 +02:00

1.8 KiB

title, description, url, status, tags, startDate, featured
title description url status tags startDate featured
Python Project Template Opinionated Python project template with modern tooling: uv, ruff, mypy, pytest, Docker, and CI/CD ready https://gitlab.impresion3d.pro/root/python-project-template active
Python
Docker
CI/CD
DevOps
2026-05-01 true

Python Project Template

An opinionated Python project template designed for rapid development with modern tooling and infrastructure-as-code practices.

Features

  • Modern Python tooling: uv for fast dependency management, ruff for linting, mypy for type checking
  • Testing: pytest with coverage reports
  • Docker ready: Multi-stage Dockerfile optimized for Python projects
  • CI/CD pipeline: Gitea Actions workflows for automated testing and deployment
  • Portainer integration: Deploy to self-hosted infrastructure with one push
  • Development environment: nox for task automation

Why I Built This

After setting up multiple Python projects from scratch, I noticed I was repeating the same patterns: uv for dependencies, ruff for code quality, Docker for deployment, Gitea Actions for CI/CD. Each time I'd spend hours configuring these tools.

This template captures those decisions so new projects start with production-ready infrastructure on day one.

Stack

  • Python 3.12+ with uv package manager
  • Quality tools: ruff (linting), mypy (type checking), pytest (testing)
  • Containerization: Docker with multi-stage builds
  • CI/CD: Gitea Actions with automated testing and deployment
  • Orchestration: Portainer stack deployment

Use Cases

Perfect for:

  • Web APIs (FastAPI, Flask)
  • CLI tools
  • Background workers
  • Self-hosted applications

Status

Active and maintained. I use this template for all new Python projects.