You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+41-46Lines changed: 41 additions & 46 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -21,66 +21,61 @@ A modern, batteries‑included [Copier](https://github.com/copier-org/copier) te
21
21
Effortlessly generate or update projects with one command.
22
22
23
23
-**Task runner integration**:
24
-
Project tasks are organized using [duty](https://github.com/pawamoy/duty) and exposed via a [Makefile](https://github.com/bassemkaroui/python-template-uv/blob/main/template/Makefile.jinja) for easy command-line usage.
25
-
Simply run tasks with `make <task>` (e.g. `make check`, `make docs`).
24
+
Project tasks are defined in a [mise.toml](https://mise.jdx.dev/) file.
25
+
The [Makefile](https://github.com/bassemkaroui/python-template-uv/blob/main/template/Makefile.jinja) is a simple wrapper that proxies commands to `mise run` for convenience.
26
+
Run tasks with `make <task>` (e.g. `make check-all`, `make docs-serve`) or directly with `mise run <task>`.
26
27
27
28
-**Quality & standards**
28
-
29
-
-**Formatting** and **Linting**: [Ruff](https://github.com/astral-sh/ruff) ➜ `make format` & `make check-quality`
- Compatibility testing for multiple versions of Python with [**Tox**](https://github.com/tox-dev/tox) and its plugin [tox-uv](https://github.com/tox-dev/tox-uv) ➜ `make tox`
- Compatibility testing for multiple versions of Python with [**Tox**](https://github.com/tox-dev/tox) and its plugin [tox-uv](https://github.com/tox-dev/tox-uv) ➜ `make tox`
38
37
39
38
-**Documentation**
40
-
41
-
-[**MkDocs**](https://github.com/mkdocs/mkdocs) with [mkdocs-material](https://github.com/squidfunk/mkdocs-material) theme
42
-
- Live server: `make docs` (serves on localhost:8080)
43
-
- Deploy to GitHub Pages: `make docs-deploy`
39
+
-[**MkDocs**](https://github.com/mkdocs/mkdocs) with [mkdocs-material](https://github.com/squidfunk/mkdocs-material) theme
40
+
- Live server: `make docs-serve` (serves on localhost:8080)
- Strict typing (py.typed marker for type checking)
55
+
- Run tests with parallel execution via pytest-xdist
56
+
- Settings & configuration with [Pydantic Settings](https://docs.pydantic.dev/latest/concepts/pydantic_settings/) + [Doppler](https://www.doppler.com/) integration for secure secret management
62
57
63
58
-**CI/CD Workflows**
64
59
65
-
This template includes GitHub Actions workflows for continuous integration, testing, and release automation:
66
-
67
-
-**PR Commenting** (`pr-thank-you.yaml`): Posts a fun GIPHY comment on new pull requests using [`docker-action-pr-giphy-comment`](https://github.com/bassemkaroui/docker-action-pr-giphy-comment)
60
+
This template includes GitHub Actions workflows for continuous integration, testing, and release automation:
61
+
-**PR Commenting** (`pr-thank-you.yaml`): Posts a fun GIPHY comment on new pull requests using [`docker-action-pr-giphy-comment`](https://github.com/bassemkaroui/docker-action-pr-giphy-comment)
68
62
69
-
-**CI/CD Pipeline** (`main.yaml.jinja`):
70
-
-**Checks**: Linting (Ruff), type checking (Mypy), documentation build.
71
-
-**Tests**: Runs `pytest` across supported Python versions using a matrix strategy.
72
-
-**Releases**: Automatically publishes releases when a Git tag is pushed.
73
-
-**Docs Deployment**: Deploys MkDocs documentation to GitHub Pages.
74
-
-**Package Publishing** (optional): Publishes the package to PyPI if `publish_to_pypi` is enabled and `PYPI_TOKEN` is set.
63
+
-**CI/CD Pipeline** (`main.yaml.jinja`):
64
+
-**Checks**: Linting (Ruff), type checking (Mypy), documentation build.
65
+
-**Tests**: Runs `pytest` across supported Python versions using a matrix strategy.
66
+
-**Releases**: Automatically publishes releases when a Git tag is pushed.
67
+
-**Docs Deployment**: Deploys MkDocs documentation to GitHub Pages.
68
+
-**Package Publishing** (optional): Publishes the package to PyPI if `publish_to_pypi` is enabled and `PYPI_TOKEN` is set.
75
69
76
-
These workflows are generated into `.github/workflows/` in the scaffolded project. You can customize them further as needed.
70
+
These workflows are generated into `.github/workflows/` in the scaffolded project. You can customize them further as needed.
77
71
78
72
## 🛠 Prerequisites
79
73
80
74
-**Python** ≥ 3.10
81
75
-**Copier** ≥ 9.10.2
82
76
-**copier-templates-extensions** ≥ 0.3.2
83
77
-**uv** (if not installed check [uv installation guide](https://docs.astral.sh/uv/getting-started/installation/))
78
+
-**mise** (if not installed check [mise installation guide](https://mise.jdx.dev/getting-started.html))
84
79
85
80
## 🎉 Quickstart
86
81
@@ -111,7 +106,7 @@ make setup-dev
111
106
make setup-cli
112
107
113
108
# 5. Run quality & tests
114
-
make check # runs all checks: lint, types, docs build, API, etc.
109
+
make check-all# runs all checks: lint, types, docs build, API, etc.
> To be able to [update your project](https://copier.readthedocs.io/en/stable/updating/), do not delete or manually modify the generated `.copier-answers.yml` file.
127
122
128
-
## 📋 Available Duties
123
+
## 📋 Available Tasks
129
124
130
-
All tasks are defined in `duties.py` and exposed through `make`. Common duties include:
125
+
All tasks are defined in `mise.toml` and exposed through `make`. Common tasks include:
131
126
132
127
```
133
128
build Build source and wheel distributions.
134
129
check Check it all!
135
-
check-api Check for API breaking changes.
136
-
check-docs Check if the documentation builds correctly.
130
+
docs-check Check if the documentation builds correctly.
0 commit comments