-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcopier.yml
More file actions
185 lines (154 loc) · 4.66 KB
/
Copy pathcopier.yml
File metadata and controls
185 lines (154 loc) · 4.66 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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
_min_copier_version: "9.16.0"
_subdirectory: "template"
_answers_file: ".copier-answers.yml"
_templates_suffix: ""
_exclude:
- _components
- _components/**
_envops:
undefined: jinja2.StrictUndefined
variable_start_string: "[[["
variable_end_string: "]]]"
block_start_string: "[[%"
block_end_string: "%]]"
comment_start_string: "[[#"
comment_end_string: "#]]"
trim_blocks: true
lstrip_blocks: true
_skip_if_exists:
- "[[[ 'src/**' if template_profile == 'python-lib-standard' else '' ]]]"
- "[[[ 'tests/**' if template_profile == 'python-lib-standard' else '' ]]]"
- "[[[ 'docs/**' if template_profile == 'python-lib-standard' else '' ]]]"
- "[[[ 'workbench/**' if template_profile == 'python-lib-standard' else '' ]]]"
- "[[[ 'README.md' if template_profile == 'python-lib-standard' else '' ]]]"
- "[[[ 'CHANGELOG.md' if template_profile == 'python-lib-standard' else '' ]]]"
template_profile:
type: str
default: python-starter-platform
when: false
project_name:
type: str
help: Python distribution name.
default: sample-lib
package_name:
type: str
help: Importable top-level package name.
default: "[[[ project_name|replace('-', '_') ]]]"
project_slug:
type: str
help: Lowercase slug used in docs, CI image names, and import-linter contract ids.
default: "[[[ project_name|lower ]]]"
project_title:
type: str
help: Human-readable project name for docs and UI labels.
default: "[[[ project_name|replace('-', ' ')|title ]]]"
project_title_lower:
type: str
help: Lowercase human-readable project name for prose.
default: "[[[ project_name|replace('-', ' ')|lower ]]]"
project_description:
type: str
help: Short package description for pyproject metadata.
default: A reusable Python library.
initial_version:
type: str
help: Initial package version for generated projects.
default: 0.1.0
author_name:
type: str
help: Package author or maintainer name.
default: betabitplus
author_email:
type: str
help: Package author or maintainer email.
default: 8123085+betabitplus@users.noreply.github.com
copyright_year:
type: str
help: Copyright year rendered into LICENSE.
default: "2026"
github_owner:
type: str
help: GitHub owner or organization.
default: betabitplus
repository_name:
type: str
help: GitHub repository name.
default: "[[[ project_name ]]]"
library_lane:
type: str
help: Platform lane for template, tooling, and policy checks.
choices:
- standard-lib
default: standard-lib
env_prefix:
type: str
help: Uppercase environment variable prefix.
default: "[[[ package_name|upper ]]]"
error_class_name:
type: str
help: Public package base exception class name.
default: SampleLibError
config_class_name:
type: str
help: Public runtime config class name.
default: SampleLibConfig
tooling_git_url:
type: str
help: Git URL used by generated repos to consume py-lib-tooling.
default: https://github.com/betabitplus/py-lib-starter.git
tooling_git_ref:
type: str
help: Root Git version tag used by generated repos to consume py-lib-tooling.
default: v0.32.4
tooling_git_subdirectory:
type: str
help: Subdirectory containing the py-lib-tooling package.
default: packages/py-lib-tooling
runtime_git_url:
type: str
help: Git URL used by generated repos to consume py-lib-runtime.
default: https://github.com/betabitplus/py-lib-starter.git
runtime_git_ref:
type: str
help: Root Git version tag used by generated repos to consume py-lib-runtime.
default: v0.32.4
runtime_git_subdirectory:
type: str
help: Subdirectory containing the py-lib-runtime package.
default: packages/py-lib-runtime
e2e_slices:
type: yaml
help: CI e2e slices to run as hermetic pytest paths.
default:
- name: public-boundary
path: tests/__PACKAGE_NAME__/e2e/public_boundary
ci_playwright_browsers:
type: yaml
help: Playwright browser names to install in CI before browser-backed tests.
default: []
renovate_uv_ignored_updates:
type: yaml
help: Renovate uv dependency update rules to ignore. Each entry uses package_name and Renovate update_types such as major, minor, or patch.
default: []
gitignore_extra_patterns:
type: yaml
help: Repo-specific .gitignore patterns allowed beyond the starter baseline.
default: []
workspace_python_paths:
type: yaml
help: Python source paths used by shared editor and environment configuration.
default:
- src
workspace_test_paths:
type: yaml
help: Pytest paths used by shared editor and devcontainer configuration.
default:
- tests
ci_image_copy_paths:
type: yaml
help: Repository paths copied into the reusable CI image.
default:
- .pre-commit-config.yaml
- pyproject.toml
- src
- tests