Skip to content

Python Boilerplate

A collection of modern Python project templates with pre-configured development tools, CI/CD pipelines, and best practices.


Overview

Python Boilerplate is a curated collection of project templates designed to help developers quickly bootstrap new Python projects with industry best practices and modern tooling already configured.

โœจ Why Use These Templates?

  • โšก Fast Setup - Get a production-ready project structure in seconds
  • ๐Ÿ› ๏ธ Modern Tooling - Pre-configured linters, formatters, type checkers, and testing frameworks
  • ๐Ÿš€ CI/CD Ready - Automated workflows for GitHub Actions
  • ๐Ÿณ Docker Support - Development and production containerization
  • ๐Ÿ“š Documentation - MkDocs integration with Material theme
  • ๐Ÿ”ง Developer Experience - Pre-commit hooks, Makefile automation, and dev containers

Available Templates

๐Ÿš€ UV Template

Modern Python project template using uv - the ultra-fast Python package manager.

Repository & Documentation

๐Ÿ“‚ uv-template | ๐Ÿ“– Documentation

๐ŸŽฏ Core Features

  • ๐Ÿ Python 3.10+ - Modern Python version support
  • โšก uv - Ultra-fast Python project manager with dependency installer and lock file support
  • ๐Ÿณ Docker Support - Multi-stage Dockerfiles for easy local development and clean production containers
  • ๐Ÿ”„ GitHub Actions CI/CD - Automated linting, testing, static analysis, and security checks for every branch
  • ๐Ÿ’ป Dev Containers - Ready-to-use development environment in GitHub Codespaces or VSCode Remote Containers

๐Ÿ› ๏ธ Code Quality Tools

  • ๐Ÿ” Ruff - Built-in linting and formatting
  • ๐Ÿ”Ž MyPy - Static type checking
  • ๐Ÿงช Pytest - Testing framework with async support
  • ๐Ÿ“Š Vermin - Minimum Python version analysis

โš™๏ธ Developer Experience

  • ๐ŸŽฃ Pre-commit Hooks - Runs linters, formatting, and tests automatically before every commit
  • ๐Ÿ“ Commitizen - Standardized commit messages with automated versioning and changelog updates
  • ๐ŸŒ Environment Management - Stage-based environment variable configuration for dev/prod with switching via APP_STAGE
  • ๐Ÿ“– MkDocs Documentation - Project documentation generated with MkDocs and the Material theme
  • ๐Ÿ”ง Makefile Automation - Common tasks available as simple Makefile commands

๐Ÿ“ฆ Poetry Template

Classic Python project template using Poetry for dependency management.

Repository & Documentation

๐Ÿ“‚ poetry-template | ๐Ÿ“– Documentation

๐ŸŽฏ Core Features

  • ๐Ÿ Python 3.10+ - Modern Python version support
  • ๐Ÿ“ฆ Poetry - Mature dependency management with lock files
  • ๐Ÿณ Docker Support - Containerization for development and production
  • ๐Ÿ”„ CI/CD Pipelines - Automated quality checks and deployment workflows
  • ๐Ÿ“š Structured Documentation - Well-organized project documentation

๐Ÿ› ๏ธ Code Quality Tools

  • ๐Ÿ” Ruff - Built-in linting and formatting
  • ๐Ÿ”Ž MyPy - Static type checking
  • ๐Ÿงช Pytest - Testing framework with async support
  • ๐Ÿ“Š Vermin - Minimum Python version analysis

โš™๏ธ Developer Experience

  • ๐ŸŽฃ Pre-commit Hooks - Runs linters, formatting, and tests automatically before every commit
  • ๐Ÿ“ Commitizen - Standardized commit messages with automated versioning and changelog updates
  • ๐ŸŒ Environment Management - Stage-based environment variable configuration for dev/prod with switching via APP_STAGE
  • ๐Ÿ“– MkDocs Documentation - Project documentation generated with MkDocs and the Material theme
  • ๐Ÿ”ง Makefile Automation - Common tasks available as simple Makefile commands

Quick Start

Getting Started

  1. Choose your template from the list above
  2. Use as GitHub Template - Click "Use this template" button on the repository page
  3. Clone your new repository
    git clone https://github.com/your-username/your-project-name.git
    cd your-project-name
    
  4. Initialize the project
    make init
    
  5. Start developing! ๐ŸŽ‰

Templates Comparison

Feature UV Template Poetry Template
Package Manager uv (ultra-fast) Poetry (mature)
Dependency Locking โœ… uv.lock โœ… poetry.lock
Python Version Management โœ… Built-in โŒ External tool needed
Speed โšก Fastest ๐ŸŒ Slower
Ecosystem Maturity ๐Ÿ†• New but growing ๐Ÿ† Well-established
Learning Curve ๐Ÿ“ˆ Minimal ๐Ÿ“Š Moderate

Documentation & Resources


Contributing

Want to Contribute?

We welcome contributions! If you have ideas for improvements or new templates:

  1. Open an issue to discuss your idea
  2. Fork the repository and make your changes
  3. Submit a pull request with a clear description

Support

Need Help?

  • ๐Ÿ“‹ Issues - Report bugs or request features in the specific template repository
  • ๐Ÿ’ฌ Discussions - Ask questions in GitHub Discussions
  • ๐Ÿ“ง Contact - Reach out to @monok8i

License

All templates are released under the MIT License.