Modern cookiecutter template for creating Python packages with complete CI/CD setup and automatic PyPI publishing.
Project description
Python Package Template
Cookiecutter template for creating Python packages with complete CI/CD setup and automatic PyPI publishing.
Features
- Modern tools: Hatchling, uv, Ruff, MyPy, Pytest
- CI/CD out of the box: GitHub Actions with automatic PyPI publishing
- Release management: Release Please + Conventional Commits
- Code quality: linting, typing, tests, security checks
- Ready commands: Makefile for all development tasks
Quick Start
Using cookiecutter directly
# Install cookiecutter
pip install cookiecutter
# Create project
cookiecutter https://github.com/serafinovsky/cookiecutter-uv-package
# Setup development environment
cd your-project-name
make dev-setup
Using CLI tool
# Install the CLI tool
pip install cookiecutter-uv-package
# Get help with available arguments
cookiecutter-uv-package --help
# Create project with CLI
cookiecutter-uv-package
# Or with custom options
cookiecutter-uv-package --output-dir /path/to/projects --no-input
# Setup development environment
cd your-project-name
make dev-setup
Configuration Options
When creating a project, you'll be asked to configure:
- project_name: Display name for your package (e.g., "My Awesome Package")
- project_short_description: Brief description of what your package does
- author_name: Your name
- author_email: Your email address
- github_username: Your GitHub username
- python_versions: Supported Python versions (default: "3.11, 3.12, 3.13")
- use_docker: Whether to include Docker support (yes/no)
- deployment_setup: Choose deployment setup (none/github-ci/github-ci-pypi)
- license: Choose license (MIT/Apache-2.0/BSD-3-Clause/GPL-3.0/ISC/none)
Main Commands
make dev-setup # Setup development environment
make test # Run tests
make check # Check code
make format # Format code
make build # Build package
What You Get
- Ready Python package with proper structure
- CI/CD pipeline with GitHub Actions
- Automatic PyPI publishing
- Version management via Release Please
Example Project
See a real example of this template in action: demo-example-package
Documentation
- Full Documentation - Complete guide and reference
- Tutorial - Step-by-step setup guide
- Features - Detailed feature descriptions
- Examples - Usage examples and scenarios
License
MIT License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
cookiecutter_uv_package-1.0.9.tar.gz
(118.4 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters