Repository navigation
Expand file tree
/
Copy pathcopier.yml
More file actions
86 lines (72 loc) · 2.01 KB
/
Copy pathcopier.yml
File metadata and controls
86 lines (72 loc) · 2.01 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
_templates_suffix: ""
_subdirectory: template
_skip_if_exists:
- uv.lock
- LICENSE
_message_after_copy: |
Your project "{{ project_name }}" has been created successfully!
Next steps:
1. Change directory to the project root:
$ cd {{ _copier_conf.dst_path }}
2. Install dependencies and git hooks:
$ uv sync --locked
$ uv run prek install
3. Run the checks:
$ uv run --frozen ruff format . --check
$ uv run --frozen ruff check .
$ uv run --frozen ty check
$ uv run --frozen pytest
project_name:
type: str
help: What is your project name?
placeholder: my_project
validator: >-
{% if not (project_name | regex_search('^[a-zA-Z0-9]([a-zA-Z0-9_.-]*[a-zA-Z0-9])?$')) %}
{{project_name}} is not a valid project name. Names must start and end with a letter or digit and may only contain -, _, ., and alphanumeric characters.
{% endif %}
python_version:
type: str
default: "3.14"
help: Which version of Python do you want to use?
choices:
- "3.10"
- "3.11"
- "3.12"
- "3.13"
- "3.14"
package_name:
type: str
help: What is your package name? This name is used by `import package_name`.
placeholder: my_package
validator: >-
{% if not (package_name | regex_search('^[a-zA-Z][a-zA-Z_0-9]+$')) %}
{{package_name}} is not a valid python package name
{% endif %}
description:
type: str
help: A short description of your project
placeholder: Modern Python Project
author_name:
type: str
help: What is your name?
validator: >-
{% if not author_name or author_name.strip() == '' %}
Author name cannot be empty
{% endif %}
author_email:
type: str
placeholder: "email@example.com"
help: What is your email?
validator: >-
{% if not author_email or author_email.strip() == '' %}
Author email cannot be empty
{% endif %}
license:
type: str
default: MIT
help: Which license do you want to use? Choose None to keep the project unlicensed.
choices:
- MIT
- Apache-2.0
- BSD-3-Clause
- None