|
1 | 1 | # python-template |
2 | 2 |
|
3 | | -A minimal Python template with strict defaults for projects that want to stay small, typed, and |
4 | | -easy to maintain. |
| 3 | +A small Python starter with strict defaults, fast feedback, and a package layout that scales past |
| 4 | +the first weekend. |
5 | 5 |
|
6 | | -## What this template includes |
| 6 | +The goal is simple: start from a clean baseline, keep the toolchain boring, and make quality checks |
| 7 | +cheap enough to run all the time. |
| 8 | + |
| 9 | +## Defaults |
7 | 10 |
|
8 | 11 | - `uv` for dependency and lockfile management |
9 | | -- `src/` layout with Hatchling-based packaging |
10 | | -- Click-powered CLI entry point |
11 | | -- Ruff, Pyright, and pytest configured as the default quality bar |
12 | | -- GitHub Actions for CI, build validation, and tag-based release artifacts |
| 12 | +- `src/` layout with Hatchling packaging |
| 13 | +- Click for a minimal CLI entry point |
| 14 | +- Ruff, Pyright, and pytest as the default quality bar |
| 15 | +- GitHub Actions for CI, build validation, and release artifacts |
13 | 16 |
|
14 | 17 | ## Quickstart |
15 | 18 |
|
16 | 19 | ```bash |
17 | | -uv sync --group dev |
| 20 | +make setup-dev |
18 | 21 | make check |
19 | 22 | python -m python_template --help |
20 | 23 | ``` |
@@ -51,19 +54,19 @@ python -m python_template --help |
51 | 54 |
|
52 | 55 | ## Quality defaults |
53 | 56 |
|
54 | | -This template is intentionally strict: |
| 57 | +This template is intentionally strict by default: |
55 | 58 |
|
56 | 59 | - **Ruff** enforces formatting, imports, docstrings, naming, typing hygiene, and common bug-prone |
57 | 60 | patterns. |
58 | 61 | - **Pyright** runs in `strict` mode. |
59 | 62 | - **pytest** is the default regression layer. |
60 | 63 |
|
61 | | -The goal is to start from a clean baseline and relax rules only when a real project constraint |
62 | | -demands it. |
| 64 | +If a real project constraint justifies relaxing a rule, change it deliberately. The default posture |
| 65 | +is to keep the baseline tight. |
63 | 66 |
|
64 | 67 | ## GitHub Actions |
65 | 68 |
|
66 | | -The repository ships with three small workflows: |
| 69 | +The repository ships with three focused workflows: |
67 | 70 |
|
68 | 71 | - `ci.yml` — lint, typecheck, and test on Python 3.11–3.13 |
69 | 72 | - `build.yml` — build the package and smoke-test the generated wheel |
|
0 commit comments