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
๐ฏ 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
๐ฏ 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
- Choose your template from the list above
- Use as GitHub Template - Click "Use this template" button on the repository page
- Clone your new repository
- Initialize the project
- 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 |
Useful Links
Documentation & Resources
- GitHub Organization - All templates and repositories
- UV Template Docs - Complete uv template documentation
- Poetry Template Docs - Complete poetry template documentation
Contributing
Want to Contribute?
We welcome contributions! If you have ideas for improvements or new templates:
- Open an issue to discuss your idea
- Fork the repository and make your changes
- 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.
Made with โค๏ธ by @monok8i
โญ Follow the Organization โข ๐ Browse Templates โข ๐ฌ Join Discussions