Skip to content

About

A modern, production-ready flexible Python package template using uv, copier, just, ruff, pytest, and others.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

Python Package Template

A modern, production-ready Python package template using uv, copier, and just.

Features

  • ⚡ uv for fast dependency management and packaging.
  • 🛠 just for automated tasks.
  • ✨ Ruff for linting and formatting.
  • ✅ pytest for testing.
  • 🏗 hatchling as the build backend.
  • 🛠 Optional Features (via Copier prompts):
    • MkDocs documentation setup with Material theme.
    • ty for high-performance type checking.
    • Python Semantic Release for automated versioning and changelogs.
    • GitHub Actions release workflows.
    • Typer CLI entry point boilerplate.

Usage

To generate a new project from this template, ensure you have uv and copier installed, then run:

uvx copier copy https://github.com/andrader/python-pkg-template.git path/to/your-project

Prompts

Copier will ask you several questions to customize your project:

  1. Project Name: The display name of your project.
  2. Package Name: The Python package name (slugified).
  3. Description: A short description of the project.
  4. Author Details: Your name and email.
  5. Optional Features: Toggle on/off Documentation, Type Checking, Semantic Release, GitHub Workflows, and CLI setup.

Development

After generating the project, follow the CONTRIBUTING.md instructions within the generated folder to set up your development environment:

just setup

Run all quality checks:

just qa

About

A modern, production-ready flexible Python package template using uv, copier, just, ruff, pytest, and others.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages