Skip to content

Python Production Template (ARCHIVED)

This repository has been archived. The project has moved to oedokumaci/python-production-template.

Why? This repo was a GitHub fork of pawamoy/copier-uv, which caused several problems:

  • Polluted tag history — upstream tags (1.0.0–1.11.9) mixed with our own (0.1.0–0.16.0), making version resolution confusing
  • Copier --vcs-ref HEAD workaround — the conflicting tags forced users to always pass --vcs-ref HEAD to get the correct version, instead of copier just picking up the latest release automatically
  • Fork label — GitHub marked this as a fork rather than an independent project, despite having diverged significantly with AI-native features, a different toolchain, and its own identity

The new repository is a clean, independent repo with correct tag history. Use it instead.

ci documentation

An AI-native Copier template for Python projects managed by uv. Ships with deep Claude Code integration, a modern toolchain, and a batteries-included development workflow so you can go from copier copy to production-ready in minutes.

Features

  • Claude Code integration -- every generated project includes a CLAUDE.md with project-aware guidance and custom skills (/commit, /release, /review-pr, /docs-deploy) so AI assistants understand your codebase from day one
  • Cursor IDE support -- full .cursor/ directory with always-apply rules pointing to CLAUDE.md and skills symlinked from .claude/skills/, so Claude Code and Cursor share the same AI context
  • Modern Python toolchain -- uv for dependency management, Ruff for formatting and linting, ty for type checking
  • Task runner -- taskipy tasks for every workflow: fix, ci, test, docs, changelog, profile, and more
  • Pre-commit hooks -- pre-configured Ruff formatting and linting hooks
  • CI/CD -- GitHub Actions workflow for format checking, linting, type checking, and testing
  • Documentation site -- Zensical with mkdocstrings for auto-generated API docs
  • CLI support -- __main__.py entry point with argument parsing out of the box
  • Structured logging -- loguru with JSON output
  • Optional marimo notebooks -- interactive marimo notebooks for data science workflows
  • Auto-generated changelog -- conventional commits parsed by git-changelog
  • All open-source licenses -- every license from choosealicense.com
  • Smart defaults -- git email and username auto-detected from your git config

Quick Start

Make sure you have Git and uv installed, then:

uvx --with copier-templates-extensions copier copy --trust --vcs-ref HEAD "gh:oedokumaci/python-production-template" /path/to/your/new/project

See the documentation for the full guide.

Updating an existing project

To pull in the latest template changes to an already-generated project:

uvx --with copier-templates-extensions copier update --trust --vcs-ref HEAD --defaults

See the update documentation for details.

Credits

Based on pawamoy/copier-uv by Timothee Mazzucotelli.