|
| 1 | +# Template Variables |
| 2 | + |
| 3 | +When running `copier copy`, you'll be prompted for the following variables. They control what gets generated in your project. |
| 4 | + |
| 5 | +## Project Information |
| 6 | + |
| 7 | +| Variable | Description | Default | |
| 8 | +|----------|-------------|---------| |
| 9 | +| `project_name` | Project name (lowercase, letters/digits/dashes) | Current folder name | |
| 10 | +| `project_description` | Short summary of what your project does | -- | |
| 11 | +| `project_keywords` | Comma-separated keywords for the package | `python,<project_name>` | |
| 12 | +| `author_fullname` | Your full name | From `git config` | |
| 13 | +| `author_email` | Your email address | From `git config` | |
| 14 | + |
| 15 | +## Repository |
| 16 | + |
| 17 | +| Variable | Description | Default | |
| 18 | +|----------|-------------|---------| |
| 19 | +| `repository_provider` | Where you host your repo (`github` or `other`) | `github` | |
| 20 | +| `author_github_handle` | Your GitHub username | Derived from `author_fullname` | |
| 21 | +| `homepage` | Project homepage URL | `https://<user>.github.io/<project>` | |
| 22 | +| `repository` | Repository URL | `https://github.com/<user>/<project>` | |
| 23 | +| `documentation` | Documentation URL | Same as `homepage` | |
| 24 | + |
| 25 | +## Python |
| 26 | + |
| 27 | +| Variable | Description | Default | |
| 28 | +|----------|-------------|---------| |
| 29 | +| `python_version` | Default Python version for development | `3.12` | |
| 30 | +| `min_python_version` | Minimum supported Python version | `3.10` | |
| 31 | + |
| 32 | +## Features |
| 33 | + |
| 34 | +| Variable | Description | Default | |
| 35 | +|----------|-------------|---------| |
| 36 | +| `with_typer_cli` | Include a [Typer](https://typer.tiangolo.com/) CLI scaffold | `false` | |
| 37 | +| `cli_name` | CLI command name (if Typer enabled) | `<project_name>` | |
| 38 | +| `with_strict_typing` | Enable strict typing with `py.typed` marker | `false` | |
| 39 | +| `with_settings` | Include [Pydantic Settings](https://docs.pydantic.dev/latest/concepts/pydantic_settings/) | `true` | |
| 40 | +| `with_doppler` | Add [Doppler](https://www.doppler.com/) secrets integration | `false` | |
| 41 | +| `doppler_project` | Doppler project name (if Doppler enabled) | `<project_name>` | |
| 42 | + |
| 43 | +## Testing |
| 44 | + |
| 45 | +| Variable | Description | Default | |
| 46 | +|----------|-------------|---------| |
| 47 | +| `tox` | Include Tox configuration for multi-version testing | `true` | |
| 48 | +| `pytest_xdist` | Enable parallel test execution with pytest-xdist | `false` | |
| 49 | +| `coverage_threshold` | Minimum test coverage percentage (0-100) | `100` | |
| 50 | + |
| 51 | +## Commits & Releases |
| 52 | + |
| 53 | +| Variable | Description | Default | |
| 54 | +|----------|-------------|---------| |
| 55 | +| `with_conventional_commits` | Enforce [Conventional Commits](https://www.conventionalcommits.org/) | `true` | |
| 56 | +| `cz_gitmoji` | Include emojis in commit messages | `true` | |
| 57 | +| `publish_to_pypi` | Publish releases to PyPI | `false` | |
| 58 | + |
| 59 | +## Docker |
| 60 | + |
| 61 | +| Variable | Description | Default | |
| 62 | +|----------|-------------|---------| |
| 63 | +| `dockerfile` | Generate Dockerfile and Compose files | `true` | |
| 64 | +| `privileged_container` | Run container as root | `false` | |
| 65 | +| `gpus` | Enable GPU support in Docker | `false` | |
| 66 | + |
| 67 | +## Dependencies |
| 68 | + |
| 69 | +| Variable | Description | Default | |
| 70 | +|----------|-------------|---------| |
| 71 | +| `dependency_updater` | Dependency update tool (`none`, `dependabot`, `renovate`) | `renovate` | |
| 72 | +| `renovate_auth_method` | Renovate auth method (`pat` or `github_app`) | `pat` | |
| 73 | + |
| 74 | +## License |
| 75 | + |
| 76 | +| Variable | Description | Default | |
| 77 | +|----------|-------------|---------| |
| 78 | +| `copyright_license` | Project license | `MIT License` | |
| 79 | +| `copyright_holder` | Copyright holder name | `<author_fullname>` | |
| 80 | + |
| 81 | +!!! tip |
| 82 | + See the full variable definitions with validators in [`copier.yaml`](https://github.com/bassemkaroui/python-template-uv/blob/main/copier.yaml). |
0 commit comments