-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcopier.yaml
More file actions
87 lines (76 loc) · 2.35 KB
/
copier.yaml
File metadata and controls
87 lines (76 loc) · 2.35 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
87
project_name:
type: str
help: What is your project name?
validator: >-
{% if not project_name.replace('_', '').replace('-', '_').isalnum() %}
Project name must be alphanumeric with underscores/dashes only
{% endif %}
project_description:
type: str
help: Please type a short description of your project
default: "A modern Python application."
author_name:
type: str
help: Please type the author name
author_email:
type: str
help: Please type the author email
validator: >-
{% set _ae = (author_email or '') %}
{% if '@' not in _ae or _ae.split('@')|length != 2 or _ae.split('@')[0] == '' or _ae.split('@')[1] == '' or '.' not in _ae.split('@')[1] or ' ' in _ae %}
Email must be a valid address like username@test.com
{% endif %}
production_deps:
type: json
help: "Enter production dependencies as a JSON array (e.g., [\"requests\", \"click\"])"
default: []
dev_deps:
type: json
help: "Enter development dependencies as a JSON array"
default: ["pytest", "pytest-cov", "ruff"]
include_license:
type: bool
help: "Include a LICENSE file in the project?"
default: false
license_type:
type: str
help: "Choose a license type"
choices:
MIT: mit
Apache 2.0: apache-2.0
GNU General Public License v2.0: gpl-2.0
GNU General Public License v3.0: gpl-3.0
GNU Lesser General Public License v2.0: lgpl-2.0
GNU Lesser General Public License v2.1: lgpl-2.1
GNU Lesser General Public License v3.0: lgpl-3.0
Mozilla Public License 2.0: mpl-2.0
default: mit
when: "{{ include_license }}"
github_integration:
type: bool
help: "Include GitHub integration templates (issue templates, workflow stubs)?"
default: true
_templates_suffix: .jinja
_envops:
block_start_string: "{%"
block_end_string: "%}"
variable_start_string: "{{"
variable_end_string: "}}"
_exclude:
- "copier.yaml"
- "my_tests"
- "docs"
- "examples"
- "pytest.ini"
- ".git"
- ".github/instructions"
- ".github/copilot-instructions.md"
- ".vscode"
- ".chlog"
- ".pytest_cache"
- ".ruff_cache"
- ".DS_Store"
- "licenses"
_tasks:
- "{% if not include_license %}rm -f LICENSE{% endif %}"
- "{% if not github_integration %}rm -rf .github{% endif %}"