Skip to content

Threepwood-7/_py_template

Repository files navigation

aatemplate

Copier template source for the Python project standard used in this workspace.

This template has also been a learning process for me, and it keeps improving as I apply it to real projects.

What It Standardizes

  • Python 3.13 baseline
  • src/ layout
  • Hatch + uv workflow
  • Ruff + basedpyright strict + pytest baseline
  • Copier modes for qt_app and shared_lib
  • Qt composition playbook for decomposing large UI orchestrators into focused collaborators
  • Naming conventions: kebab-case project names, snake_case package/module names, and Qt override allow-list in Ruff
  • Windows-first CI
  • Policy enforcement via scripts/policy/check_standard.py

Template Usage

Apply template to a project:

uvx copier copy --trust --force --vcs-ref <TEMPLATE_TAG> <PATH_TO_AATEMPLATE> <PATH_TO_PROJECT> --data-file <PROJECT_DATA_YAML>

Update an existing templated project:

uvx copier update --trust --defaults --vcs-ref <TEMPLATE_TAG>

Notes

  • aatemplate is the template source repository.
  • Sibling repositories under this directory are template targets.
  • Rollout procedure: COPIER_ROLLOUT_RUNBOOK.md.

About

Copier template for standardized Python 3.13 projects using uv, Hatch, Ruff, and basedpyright.

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors