Skip to content

slangenbach/cookiecutter-python-uv

Repository files navigation

cookiecutter-python-uv

CI

Cookiecutter template for Python projects using uv featuring:

  • Flexible project structure using the src layout
  • Python version and Python dependency management with uv
  • Code linting and formatting with ruff
  • Type checking using ty
  • Testing with pytest
  • Automated quality assurance with pre-commit
  • CICD with GitHub Actions
  • Task management using Task

Prerequisites

Installation

Install cruft via uv: uv tool install cruft

Usage

Generate project

Generate the project structure via uv tool run cruft create https://github.com/slangenbach/cookiecutter-python-uv

|- .devcontainer/                   <- devcontainer configuration
|- .github/                         <- GitHub Actions workflows
|- .vscode/                         <- VSCode configuration
|- data/                            <- Data for debugging and testing
|- infra/                           <- Infrastructure-as-Code
|- notebooks/                       <- Jupyter notebooks
|- src/                             <- Source code
|- tests/                           <- Tests
|- .gitignore                       <- Files ignored by git
|- .pre-commit-config.yaml          <- pre-commit configuration
|- .env                             <- Actual .env file
|- .env.example                     <- Dummy .env file
|- .python-version                  <- Python version used by package
|- pyproject.toml                   <- Package and tooling configuration
|- README.md                        <- Top-level README
|- taskfile.yml                     <- Taskfile
|- uv.lock                          <- uv lock file

Update project

Update a project created using cruft via uv tool run cruft update

Contributing

Check out Contributing for further information.

About

Cookiecutter template for Python projects using uv

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Contributors 2

  •  
  •  

Languages