|
| 1 | +# Python Boilerplate |
| 2 | + |
| 3 | +A collection of modern Python project templates with pre-configured development tools, CI/CD pipelines, and best practices. |
| 4 | + |
| 5 | +--- |
| 6 | + |
| 7 | +## Overview |
| 8 | + |
| 9 | +**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. |
| 10 | + |
| 11 | +!!! tip "✨ Why Use These Templates?" |
| 12 | + - **⚡ Fast Setup** - Get a production-ready project structure in seconds |
| 13 | + - **🛠️ Modern Tooling** - Pre-configured linters, formatters, type checkers, and testing frameworks |
| 14 | + - **🚀 CI/CD Ready** - Automated workflows for GitHub Actions |
| 15 | + - **🐳 Docker Support** - Development and production containerization |
| 16 | + - **📚 Documentation** - MkDocs integration with Material theme |
| 17 | + - **🔧 Developer Experience** - Pre-commit hooks, Makefile automation, and dev containers |
| 18 | + |
| 19 | +--- |
| 20 | + |
| 21 | +## Available Templates |
| 22 | + |
| 23 | +### 🚀 UV Template |
| 24 | + |
| 25 | +Modern Python project template using [uv](https://github.com/astral-sh/uv) - the ultra-fast Python package manager. |
| 26 | + |
| 27 | +!!! info "Repository & Documentation" |
| 28 | + **[📂 uv-template](https://github.com/python-boilerplate/uv-template)** | **[📖 Documentation](https://python-boilerplate.github.io/uv-template/)** |
| 29 | + |
| 30 | +!!! example "🎯 Core Features" |
| 31 | + - 🐍 **Python 3.10+** - Modern Python version support |
| 32 | + - ⚡ **uv** - Ultra-fast Python project manager with dependency installer and lock file support |
| 33 | + - 🐳 **Docker Support** - Multi-stage Dockerfiles for easy local development and clean production containers |
| 34 | + - 🔄 **GitHub Actions CI/CD** - Automated linting, testing, static analysis, and security checks for every branch |
| 35 | + - 💻 **Dev Containers** - Ready-to-use development environment in GitHub Codespaces or VSCode Remote Containers |
| 36 | + |
| 37 | +!!! example "🛠️ Code Quality Tools" |
| 38 | + - 🔍 **Ruff** - Built-in linting and formatting |
| 39 | + - 🔎 **MyPy** - Static type checking |
| 40 | + - 🧪 **Pytest** - Testing framework with async support |
| 41 | + - 📊 **Vermin** - Minimum Python version analysis |
| 42 | + |
| 43 | +!!! example "⚙️ Developer Experience" |
| 44 | + - 🎣 **Pre-commit Hooks** - Runs linters, formatting, and tests automatically before every commit |
| 45 | + - 📝 **Commitizen** - Standardized commit messages with automated versioning and changelog updates |
| 46 | + - 🌍 **Environment Management** - Stage-based environment variable configuration for dev/prod with switching via `APP_STAGE` |
| 47 | + - 📖 **MkDocs Documentation** - Project documentation generated with MkDocs and the Material theme |
| 48 | + - 🔧 **Makefile Automation** - Common tasks available as simple Makefile commands |
| 49 | + |
| 50 | +--- |
| 51 | + |
| 52 | +### 📦 Poetry Template |
| 53 | + |
| 54 | +Classic Python project template using [Poetry](https://python-poetry.org/) for dependency management. |
| 55 | + |
| 56 | +!!! info "Repository & Documentation" |
| 57 | + **[📂 poetry-template](https://github.com/python-boilerplate/poetry-template)** | **[📖 Documentation](https://python-boilerplate.github.io/poetry-template/)** |
| 58 | + |
| 59 | +!!! example "🎯 Core Features" |
| 60 | + - 🐍 **Python 3.10+** - Modern Python version support |
| 61 | + - 📦 **Poetry** - Mature dependency management with lock files |
| 62 | + - 🐳 **Docker Support** - Containerization for development and production |
| 63 | + - 🔄 **CI/CD Pipelines** - Automated quality checks and deployment workflows |
| 64 | + - 📚 **Structured Documentation** - Well-organized project documentation |
| 65 | + |
| 66 | +!!! example "🛠️ Code Quality Tools" |
| 67 | + - 🔍 **Ruff** - Built-in linting and formatting |
| 68 | + - 🔎 **MyPy** - Static type checking |
| 69 | + - 🧪 **Pytest** - Testing framework with async support |
| 70 | + - 📊 **Vermin** - Minimum Python version analysis |
| 71 | + |
| 72 | +!!! example "⚙️ Developer Experience" |
| 73 | + - 🎣 **Pre-commit Hooks** - Runs linters, formatting, and tests automatically before every commit |
| 74 | + - 📝 **Commitizen** - Standardized commit messages with automated versioning and changelog updates |
| 75 | + - 🌍 **Environment Management** - Stage-based environment variable configuration for dev/prod with switching via `APP_STAGE` |
| 76 | + - 📖 **MkDocs Documentation** - Project documentation generated with MkDocs and the Material theme |
| 77 | + - 🔧 **Makefile Automation** - Common tasks available as simple Makefile commands |
| 78 | + |
| 79 | + |
| 80 | +--- |
| 81 | + |
| 82 | +## Quick Start |
| 83 | + |
| 84 | +!!! tip "Getting Started" |
| 85 | + 1. **Choose your template** from the list above |
| 86 | + 2. **Use as GitHub Template** - Click "Use this template" button on the repository page |
| 87 | + 3. **Clone your new repository** |
| 88 | + ```bash |
| 89 | + git clone https://github.com/your-username/your-project-name.git |
| 90 | + cd your-project-name |
| 91 | + ``` |
| 92 | + 4. **Initialize the project** |
| 93 | + ```bash |
| 94 | + make init |
| 95 | + ``` |
| 96 | + 5. **Start developing!** 🎉 |
| 97 | + |
| 98 | +--- |
| 99 | + |
| 100 | +## Templates Comparison |
| 101 | + |
| 102 | +| Feature | UV Template | Poetry Template | |
| 103 | +|---------|-------------|-----------------| |
| 104 | +| Package Manager | uv (ultra-fast) | Poetry (mature) | |
| 105 | +| Dependency Locking | ✅ uv.lock | ✅ poetry.lock | |
| 106 | +| Python Version Management | ✅ Built-in | ❌ External tool needed | |
| 107 | +| Speed | ⚡ Fastest | 🐌 Slower | |
| 108 | +| Ecosystem Maturity | 🆕 New but growing | 🏆 Well-established | |
| 109 | +| Learning Curve | 📈 Minimal | 📊 Moderate | |
| 110 | + |
| 111 | +--- |
| 112 | + |
| 113 | +## Useful Links |
| 114 | + |
| 115 | +!!! info "Documentation & Resources" |
| 116 | + - **[GitHub Organization](https://github.com/python-boilerplate)** - All templates and repositories |
| 117 | + - **[UV Template Docs](https://python-boilerplate.github.io/uv-template/)** - Complete uv template documentation |
| 118 | + - **[Poetry Template Docs](https://python-boilerplate.github.io/poetry-template/)** - Complete poetry template documentation |
| 119 | + |
| 120 | +--- |
| 121 | + |
| 122 | +## Contributing |
| 123 | + |
| 124 | +!!! question "Want to Contribute?" |
| 125 | + We welcome contributions! If you have ideas for improvements or new templates: |
| 126 | + |
| 127 | + 1. **Open an issue** to discuss your idea |
| 128 | + 2. **Fork the repository** and make your changes |
| 129 | + 3. **Submit a pull request** with a clear description |
| 130 | + |
| 131 | +--- |
| 132 | + |
| 133 | +## Support |
| 134 | + |
| 135 | +!!! help "Need Help?" |
| 136 | + - 📋 **Issues** - Report bugs or request features in the specific template repository |
| 137 | + - 💬 **Discussions** - Ask questions in GitHub Discussions |
| 138 | + - 📧 **Contact** - Reach out to [@monok8i](https://github.com/monok8i) |
| 139 | + |
| 140 | +--- |
| 141 | + |
| 142 | +!!! note "License" |
| 143 | + All templates are released under the [MIT License](https://github.com/python-boilerplate/uv-template/blob/main/LICENSE). |
| 144 | + |
| 145 | +--- |
| 146 | + |
| 147 | +!!! success "Made with ❤️ by [@monok8i](https://github.com/monok8i)" |
| 148 | + [⭐ Follow the Organization](https://github.com/python-boilerplate) • [📋 Browse Templates](https://github.com/orgs/python-boilerplate/repositories) • [💬 Join Discussions](https://github.com/orgs/python-boilerplate/discussions) |
0 commit comments