copier-python 0.17.1__tar.gz → 0.19.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {copier_python-0.17.1 → copier_python-0.19.0}/PKG-INFO +1 -1
- {copier_python-0.17.1 → copier_python-0.19.0}/copier_python/update.py +3 -1
- copier_python-0.19.0/tests/template/__snapshots__/test_contributing.ambr +506 -0
- {copier_python-0.17.1 → copier_python-0.19.0}/tests/template/__snapshots__/test_readme.ambr +2 -2
- {copier_python-0.17.1 → copier_python-0.19.0}/tests/template/test_contributing.py +12 -0
- {copier_python-0.17.1 → copier_python-0.19.0}/tests/test_update.py +5 -5
- {copier_python-0.17.1 → copier_python-0.19.0}/tests/utils.py +3 -3
- copier_python-0.17.1/tests/template/__snapshots__/test_contributing.ambr +0 -126
- {copier_python-0.17.1 → copier_python-0.19.0}/.gitignore +0 -0
- {copier_python-0.17.1 → copier_python-0.19.0}/AGENTS.md +0 -0
- {copier_python-0.17.1 → copier_python-0.19.0}/CONTRIBUTING.md +0 -0
- {copier_python-0.17.1 → copier_python-0.19.0}/LICENSE +0 -0
- {copier_python-0.17.1 → copier_python-0.19.0}/README.md +0 -0
- {copier_python-0.17.1 → copier_python-0.19.0}/copier_python/__init__.py +0 -0
- {copier_python-0.17.1 → copier_python-0.19.0}/copier_python/__main__.py +0 -0
- {copier_python-0.17.1 → copier_python-0.19.0}/copier_python/py.typed +0 -0
- {copier_python-0.17.1 → copier_python-0.19.0}/copier_python/repo.py +0 -0
- {copier_python-0.17.1 → copier_python-0.19.0}/docs/contributing.md +0 -0
- {copier_python-0.17.1 → copier_python-0.19.0}/docs/development/requirements.md +0 -0
- {copier_python-0.17.1 → copier_python-0.19.0}/docs/development/updates.md +0 -0
- {copier_python-0.17.1 → copier_python-0.19.0}/docs/development/workflow.md +0 -0
- {copier_python-0.17.1 → copier_python-0.19.0}/docs/index.md +0 -0
- {copier_python-0.17.1 → copier_python-0.19.0}/docs/license.md +0 -0
- {copier_python-0.17.1 → copier_python-0.19.0}/docs/project-creation.md +0 -0
- {copier_python-0.17.1 → copier_python-0.19.0}/docs/project-development.md +0 -0
- {copier_python-0.17.1 → copier_python-0.19.0}/docs/project-release.md +0 -0
- {copier_python-0.17.1 → copier_python-0.19.0}/docs/project-setup.md +0 -0
- {copier_python-0.17.1 → copier_python-0.19.0}/docs/project-updates.md +0 -0
- {copier_python-0.17.1 → copier_python-0.19.0}/docs/releasing.md +0 -0
- {copier_python-0.17.1 → copier_python-0.19.0}/docs/requirements.md +0 -0
- {copier_python-0.17.1 → copier_python-0.19.0}/docs/setup.md +0 -0
- {copier_python-0.17.1 → copier_python-0.19.0}/pyproject.toml +0 -0
- {copier_python-0.17.1 → copier_python-0.19.0}/tests/__init__.py +0 -0
- {copier_python-0.17.1 → copier_python-0.19.0}/tests/conftest.py +0 -0
- {copier_python-0.17.1 → copier_python-0.19.0}/tests/template/__init__.py +0 -0
- {copier_python-0.17.1 → copier_python-0.19.0}/tests/template/__snapshots__/test_agents.ambr +0 -0
- {copier_python-0.17.1 → copier_python-0.19.0}/tests/template/__snapshots__/test_compose.ambr +0 -0
- {copier_python-0.17.1 → copier_python-0.19.0}/tests/template/__snapshots__/test_dockerfile.ambr +0 -0
- {copier_python-0.17.1 → copier_python-0.19.0}/tests/template/__snapshots__/test_docs.ambr +0 -0
- {copier_python-0.17.1 → copier_python-0.19.0}/tests/template/__snapshots__/test_license.ambr +0 -0
- {copier_python-0.17.1 → copier_python-0.19.0}/tests/template/__snapshots__/test_mise_toml.ambr +0 -0
- {copier_python-0.17.1 → copier_python-0.19.0}/tests/template/__snapshots__/test_pyproject.ambr +0 -0
- {copier_python-0.17.1 → copier_python-0.19.0}/tests/template/__snapshots__/test_workflows.ambr +0 -0
- {copier_python-0.17.1 → copier_python-0.19.0}/tests/template/__snapshots__/test_zensical.ambr +0 -0
- {copier_python-0.17.1 → copier_python-0.19.0}/tests/template/test_agents.py +0 -0
- {copier_python-0.17.1 → copier_python-0.19.0}/tests/template/test_compose.py +0 -0
- {copier_python-0.17.1 → copier_python-0.19.0}/tests/template/test_dockerfile.py +0 -0
- {copier_python-0.17.1 → copier_python-0.19.0}/tests/template/test_docs.py +0 -0
- {copier_python-0.17.1 → copier_python-0.19.0}/tests/template/test_license.py +0 -0
- {copier_python-0.17.1 → copier_python-0.19.0}/tests/template/test_mise_toml.py +0 -0
- {copier_python-0.17.1 → copier_python-0.19.0}/tests/template/test_pyproject.py +0 -0
- {copier_python-0.17.1 → copier_python-0.19.0}/tests/template/test_readme.py +0 -0
- {copier_python-0.17.1 → copier_python-0.19.0}/tests/template/test_structure.py +0 -0
- {copier_python-0.17.1 → copier_python-0.19.0}/tests/template/test_template.py +0 -0
- {copier_python-0.17.1 → copier_python-0.19.0}/tests/template/test_workflows.py +0 -0
- {copier_python-0.17.1 → copier_python-0.19.0}/tests/template/test_zensical.py +0 -0
- {copier_python-0.17.1 → copier_python-0.19.0}/tests/test_version.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: copier-python
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.19.0
|
|
4
4
|
Summary: Copier template for Python projects with modern tooling
|
|
5
5
|
Project-URL: Homepage, https://smkent.github.io/copier-python
|
|
6
6
|
Project-URL: Repository, https://github.com/smkent/copier-python
|
|
@@ -11,6 +11,8 @@ from .repo import RepoWorktree
|
|
|
11
11
|
if TYPE_CHECKING:
|
|
12
12
|
from .repo import RepoTarget
|
|
13
13
|
|
|
14
|
+
TEMPLATE_REPO_URL = "https://github.com/smkent/copier-python"
|
|
15
|
+
|
|
14
16
|
|
|
15
17
|
@dataclass
|
|
16
18
|
class UpdateAction:
|
|
@@ -65,7 +67,7 @@ class UpdateAction:
|
|
|
65
67
|
body = os.linesep.join(
|
|
66
68
|
(
|
|
67
69
|
f"Applied updates from template: {ref_range}",
|
|
68
|
-
f"{
|
|
70
|
+
f"{TEMPLATE_REPO_URL}/compare/{ref_range}",
|
|
69
71
|
)
|
|
70
72
|
)
|
|
71
73
|
repo.run(["git", "add", "-A"])
|
|
@@ -0,0 +1,506 @@
|
|
|
1
|
+
# serializer version: 1
|
|
2
|
+
# name: test_contributing_features[docs]
|
|
3
|
+
'''
|
|
4
|
+
# Contributing to PKFire
|
|
5
|
+
|
|
6
|
+
**Contributions are welcome!**
|
|
7
|
+
|
|
8
|
+
Thank you for your time and interest in improving
|
|
9
|
+
**PKFire**!
|
|
10
|
+
|
|
11
|
+
## Project resources
|
|
12
|
+
|
|
13
|
+
* **Web site**: **<https://ness.github.io/PKFire>**
|
|
14
|
+
for general project information, usage, and development documentation
|
|
15
|
+
* **Repository**: <https://github.com/ness/PKFire>
|
|
16
|
+
for submitting pull requests
|
|
17
|
+
* **Issue tracker**: <https://github.com/ness/PKFire/issues>
|
|
18
|
+
for questions or bug reports
|
|
19
|
+
|
|
20
|
+
## Contribution terms
|
|
21
|
+
|
|
22
|
+
By submitting a contribution to PKFire, you agree that it is
|
|
23
|
+
licensed under the project's license, the
|
|
24
|
+
[MIT License](https://github.com/ness/PKFire/blob/main/LICENSE),
|
|
25
|
+
with no additional terms,
|
|
26
|
+
and that you have the right to submit it under that license.
|
|
27
|
+
|
|
28
|
+
'''
|
|
29
|
+
# ---
|
|
30
|
+
# name: test_contributing_features[no_docs]
|
|
31
|
+
'''
|
|
32
|
+
# Contributing to PKFire
|
|
33
|
+
|
|
34
|
+
**Contributions are welcome!**
|
|
35
|
+
|
|
36
|
+
Thank you for your time and interest in improving
|
|
37
|
+
**PKFire**!
|
|
38
|
+
|
|
39
|
+
## Project resources
|
|
40
|
+
|
|
41
|
+
* **Repository**: <https://github.com/ness/PKFire>
|
|
42
|
+
for submitting pull requests
|
|
43
|
+
* **Issue tracker**: <https://github.com/ness/PKFire/issues>
|
|
44
|
+
for questions or bug reports
|
|
45
|
+
|
|
46
|
+
## Contribution terms
|
|
47
|
+
|
|
48
|
+
By submitting a contribution to PKFire, you agree that it is
|
|
49
|
+
licensed under the project's license, the
|
|
50
|
+
[MIT License](https://github.com/ness/PKFire/blob/main/LICENSE),
|
|
51
|
+
with no additional terms,
|
|
52
|
+
and that you have the right to submit it under that license.
|
|
53
|
+
|
|
54
|
+
## Development documentation
|
|
55
|
+
|
|
56
|
+
### Prerequisites
|
|
57
|
+
|
|
58
|
+
- [x] [**git** for version control][git]
|
|
59
|
+
- [x] [**mise**][mise] tool manager: `curl https://mise.run | sh` or
|
|
60
|
+
[alternate installation method][mise-installation]
|
|
61
|
+
|
|
62
|
+
!!! info
|
|
63
|
+
|
|
64
|
+
`mise` ensures additional software is available, such as:
|
|
65
|
+
|
|
66
|
+
* A [supported version][python-versions] of [**Python**][python]
|
|
67
|
+
* [Astral's **uv** Python project manager][uv]
|
|
68
|
+
|
|
69
|
+
[git]: https://git-scm.com
|
|
70
|
+
[mise-installation]: https://mise.jdx.dev/installing-mise.html
|
|
71
|
+
[mise]: https://mise.jdx.dev
|
|
72
|
+
[python-versions]: https://devguide.python.org/versions/
|
|
73
|
+
[python]: https://python.org
|
|
74
|
+
[uv]: https://docs.astral.sh/uv/
|
|
75
|
+
|
|
76
|
+
### Project development workflow
|
|
77
|
+
|
|
78
|
+
#### Cloning the repository
|
|
79
|
+
|
|
80
|
+
```sh
|
|
81
|
+
git clone https://github.com/ness/PKFire
|
|
82
|
+
cd PKFire
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
Run `mise install` in new repository clones to install tools, dependencies, and
|
|
86
|
+
git hooks:
|
|
87
|
+
|
|
88
|
+
```sh
|
|
89
|
+
mise install
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
#### Development tools
|
|
93
|
+
|
|
94
|
+
* `mise run lint`: Run formatters and static checks
|
|
95
|
+
* `mise run test`: Run tests
|
|
96
|
+
|
|
97
|
+
The `lint` and `test` tasks can also be run as a single combined command with:
|
|
98
|
+
|
|
99
|
+
```sh
|
|
100
|
+
mise run lt
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
### Test snapshots
|
|
104
|
+
|
|
105
|
+
Some tests compare test results with saved snapshots. Test snapshots can be
|
|
106
|
+
updated by running:
|
|
107
|
+
|
|
108
|
+
```sh
|
|
109
|
+
mise run snapup
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
### Applying copier-python template updates
|
|
113
|
+
|
|
114
|
+
Copier can update your project with template changes that have occurred since
|
|
115
|
+
the project was created.
|
|
116
|
+
|
|
117
|
+
To apply updates, simply run in your project directory:
|
|
118
|
+
|
|
119
|
+
```sh
|
|
120
|
+
copier update
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
This will repeat the setup prompts, in case any prompts have been added or
|
|
124
|
+
changed.
|
|
125
|
+
|
|
126
|
+
!!! tip
|
|
127
|
+
To change template-provided features in your project, simply change your
|
|
128
|
+
answers in the update prompts.
|
|
129
|
+
|
|
130
|
+
To apply updates without being prompted (reusing all previous answers), run:
|
|
131
|
+
|
|
132
|
+
```sh
|
|
133
|
+
copier update -l
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
When [`copier update`][copier-update] is finished, view changes with
|
|
137
|
+
`git status` and `git diff`. Resolve any conflicts, and then commit the result.
|
|
138
|
+
|
|
139
|
+
[copier-update]: https://copier.readthedocs.io/en/stable/updating/
|
|
140
|
+
|
|
141
|
+
'''
|
|
142
|
+
# ---
|
|
143
|
+
# name: test_contributing_license[AGPL-3.0-only]
|
|
144
|
+
'''
|
|
145
|
+
# Contributing to PKFire
|
|
146
|
+
|
|
147
|
+
**Contributions are welcome!**
|
|
148
|
+
|
|
149
|
+
Thank you for your time and interest in improving
|
|
150
|
+
**PKFire**!
|
|
151
|
+
|
|
152
|
+
## Project resources
|
|
153
|
+
|
|
154
|
+
* **Web site**: **<https://ness.github.io/PKFire>**
|
|
155
|
+
for general project information, usage, and development documentation
|
|
156
|
+
* **Repository**: <https://github.com/ness/PKFire>
|
|
157
|
+
for submitting pull requests
|
|
158
|
+
* **Issue tracker**: <https://github.com/ness/PKFire/issues>
|
|
159
|
+
for questions or bug reports
|
|
160
|
+
|
|
161
|
+
## Contribution terms
|
|
162
|
+
|
|
163
|
+
By submitting a contribution to PKFire, you agree that it is
|
|
164
|
+
licensed under the project's license, the
|
|
165
|
+
[GNU Affero General Public License v3.0 only](https://github.com/ness/PKFire/blob/main/COPYING),
|
|
166
|
+
with no additional terms,
|
|
167
|
+
and that you have the right to submit it under that license.
|
|
168
|
+
|
|
169
|
+
'''
|
|
170
|
+
# ---
|
|
171
|
+
# name: test_contributing_license[AGPL-3.0-or-later]
|
|
172
|
+
'''
|
|
173
|
+
# Contributing to PKFire
|
|
174
|
+
|
|
175
|
+
**Contributions are welcome!**
|
|
176
|
+
|
|
177
|
+
Thank you for your time and interest in improving
|
|
178
|
+
**PKFire**!
|
|
179
|
+
|
|
180
|
+
## Project resources
|
|
181
|
+
|
|
182
|
+
* **Web site**: **<https://ness.github.io/PKFire>**
|
|
183
|
+
for general project information, usage, and development documentation
|
|
184
|
+
* **Repository**: <https://github.com/ness/PKFire>
|
|
185
|
+
for submitting pull requests
|
|
186
|
+
* **Issue tracker**: <https://github.com/ness/PKFire/issues>
|
|
187
|
+
for questions or bug reports
|
|
188
|
+
|
|
189
|
+
## Contribution terms
|
|
190
|
+
|
|
191
|
+
By submitting a contribution to PKFire, you agree that it is
|
|
192
|
+
licensed under the project's license, the
|
|
193
|
+
[GNU Affero General Public License v3.0 or later](https://github.com/ness/PKFire/blob/main/COPYING),
|
|
194
|
+
with no additional terms,
|
|
195
|
+
and that you have the right to submit it under that license.
|
|
196
|
+
|
|
197
|
+
'''
|
|
198
|
+
# ---
|
|
199
|
+
# name: test_contributing_license[Apache-2.0]
|
|
200
|
+
'''
|
|
201
|
+
# Contributing to PKFire
|
|
202
|
+
|
|
203
|
+
**Contributions are welcome!**
|
|
204
|
+
|
|
205
|
+
Thank you for your time and interest in improving
|
|
206
|
+
**PKFire**!
|
|
207
|
+
|
|
208
|
+
## Project resources
|
|
209
|
+
|
|
210
|
+
* **Web site**: **<https://ness.github.io/PKFire>**
|
|
211
|
+
for general project information, usage, and development documentation
|
|
212
|
+
* **Repository**: <https://github.com/ness/PKFire>
|
|
213
|
+
for submitting pull requests
|
|
214
|
+
* **Issue tracker**: <https://github.com/ness/PKFire/issues>
|
|
215
|
+
for questions or bug reports
|
|
216
|
+
|
|
217
|
+
## Contribution terms
|
|
218
|
+
|
|
219
|
+
By submitting a contribution to PKFire, you agree that it is
|
|
220
|
+
licensed under the project's license, the
|
|
221
|
+
[Apache License 2.0](https://github.com/ness/PKFire/blob/main/LICENSE),
|
|
222
|
+
with no additional terms,
|
|
223
|
+
and that you have the right to submit it under that license.
|
|
224
|
+
|
|
225
|
+
'''
|
|
226
|
+
# ---
|
|
227
|
+
# name: test_contributing_license[BSD-3-Clause]
|
|
228
|
+
'''
|
|
229
|
+
# Contributing to PKFire
|
|
230
|
+
|
|
231
|
+
**Contributions are welcome!**
|
|
232
|
+
|
|
233
|
+
Thank you for your time and interest in improving
|
|
234
|
+
**PKFire**!
|
|
235
|
+
|
|
236
|
+
## Project resources
|
|
237
|
+
|
|
238
|
+
* **Web site**: **<https://ness.github.io/PKFire>**
|
|
239
|
+
for general project information, usage, and development documentation
|
|
240
|
+
* **Repository**: <https://github.com/ness/PKFire>
|
|
241
|
+
for submitting pull requests
|
|
242
|
+
* **Issue tracker**: <https://github.com/ness/PKFire/issues>
|
|
243
|
+
for questions or bug reports
|
|
244
|
+
|
|
245
|
+
## Contribution terms
|
|
246
|
+
|
|
247
|
+
By submitting a contribution to PKFire, you agree that it is
|
|
248
|
+
licensed under the project's license, the
|
|
249
|
+
[BSD 3-Clause "New" or "Revised" License](https://github.com/ness/PKFire/blob/main/LICENSE),
|
|
250
|
+
with no additional terms,
|
|
251
|
+
and that you have the right to submit it under that license.
|
|
252
|
+
|
|
253
|
+
'''
|
|
254
|
+
# ---
|
|
255
|
+
# name: test_contributing_license[CC-BY-4.0]
|
|
256
|
+
'''
|
|
257
|
+
# Contributing to PKFire
|
|
258
|
+
|
|
259
|
+
**Contributions are welcome!**
|
|
260
|
+
|
|
261
|
+
Thank you for your time and interest in improving
|
|
262
|
+
**PKFire**!
|
|
263
|
+
|
|
264
|
+
## Project resources
|
|
265
|
+
|
|
266
|
+
* **Web site**: **<https://ness.github.io/PKFire>**
|
|
267
|
+
for general project information, usage, and development documentation
|
|
268
|
+
* **Repository**: <https://github.com/ness/PKFire>
|
|
269
|
+
for submitting pull requests
|
|
270
|
+
* **Issue tracker**: <https://github.com/ness/PKFire/issues>
|
|
271
|
+
for questions or bug reports
|
|
272
|
+
|
|
273
|
+
## Contribution terms
|
|
274
|
+
|
|
275
|
+
By submitting a contribution to PKFire, you agree that it is
|
|
276
|
+
licensed under the project's license, the
|
|
277
|
+
[Creative Commons Attribution 4.0 International](https://github.com/ness/PKFire/blob/main/LICENSE),
|
|
278
|
+
with no additional terms,
|
|
279
|
+
and that you have the right to submit it under that license.
|
|
280
|
+
|
|
281
|
+
'''
|
|
282
|
+
# ---
|
|
283
|
+
# name: test_contributing_license[CC-BY-SA-4.0]
|
|
284
|
+
'''
|
|
285
|
+
# Contributing to PKFire
|
|
286
|
+
|
|
287
|
+
**Contributions are welcome!**
|
|
288
|
+
|
|
289
|
+
Thank you for your time and interest in improving
|
|
290
|
+
**PKFire**!
|
|
291
|
+
|
|
292
|
+
## Project resources
|
|
293
|
+
|
|
294
|
+
* **Web site**: **<https://ness.github.io/PKFire>**
|
|
295
|
+
for general project information, usage, and development documentation
|
|
296
|
+
* **Repository**: <https://github.com/ness/PKFire>
|
|
297
|
+
for submitting pull requests
|
|
298
|
+
* **Issue tracker**: <https://github.com/ness/PKFire/issues>
|
|
299
|
+
for questions or bug reports
|
|
300
|
+
|
|
301
|
+
## Contribution terms
|
|
302
|
+
|
|
303
|
+
By submitting a contribution to PKFire, you agree that it is
|
|
304
|
+
licensed under the project's license, the
|
|
305
|
+
[Creative Commons Attribution Share Alike 4.0 International](https://github.com/ness/PKFire/blob/main/LICENSE),
|
|
306
|
+
with no additional terms,
|
|
307
|
+
and that you have the right to submit it under that license.
|
|
308
|
+
|
|
309
|
+
'''
|
|
310
|
+
# ---
|
|
311
|
+
# name: test_contributing_license[CC0-1.0]
|
|
312
|
+
'''
|
|
313
|
+
# Contributing to PKFire
|
|
314
|
+
|
|
315
|
+
**Contributions are welcome!**
|
|
316
|
+
|
|
317
|
+
Thank you for your time and interest in improving
|
|
318
|
+
**PKFire**!
|
|
319
|
+
|
|
320
|
+
## Project resources
|
|
321
|
+
|
|
322
|
+
* **Web site**: **<https://ness.github.io/PKFire>**
|
|
323
|
+
for general project information, usage, and development documentation
|
|
324
|
+
* **Repository**: <https://github.com/ness/PKFire>
|
|
325
|
+
for submitting pull requests
|
|
326
|
+
* **Issue tracker**: <https://github.com/ness/PKFire/issues>
|
|
327
|
+
for questions or bug reports
|
|
328
|
+
|
|
329
|
+
## Contribution terms
|
|
330
|
+
|
|
331
|
+
By submitting a contribution to PKFire, you agree that it is
|
|
332
|
+
dedicated to the public domain under
|
|
333
|
+
[Creative Commons Zero v1.0 Universal](https://github.com/ness/PKFire/blob/main/LICENSE),
|
|
334
|
+
with no additional terms,
|
|
335
|
+
and that you have the right to do so.
|
|
336
|
+
|
|
337
|
+
'''
|
|
338
|
+
# ---
|
|
339
|
+
# name: test_contributing_license[GPL-3.0-only]
|
|
340
|
+
'''
|
|
341
|
+
# Contributing to PKFire
|
|
342
|
+
|
|
343
|
+
**Contributions are welcome!**
|
|
344
|
+
|
|
345
|
+
Thank you for your time and interest in improving
|
|
346
|
+
**PKFire**!
|
|
347
|
+
|
|
348
|
+
## Project resources
|
|
349
|
+
|
|
350
|
+
* **Web site**: **<https://ness.github.io/PKFire>**
|
|
351
|
+
for general project information, usage, and development documentation
|
|
352
|
+
* **Repository**: <https://github.com/ness/PKFire>
|
|
353
|
+
for submitting pull requests
|
|
354
|
+
* **Issue tracker**: <https://github.com/ness/PKFire/issues>
|
|
355
|
+
for questions or bug reports
|
|
356
|
+
|
|
357
|
+
## Contribution terms
|
|
358
|
+
|
|
359
|
+
By submitting a contribution to PKFire, you agree that it is
|
|
360
|
+
licensed under the project's license, the
|
|
361
|
+
[GNU General Public License v3.0 only](https://github.com/ness/PKFire/blob/main/COPYING),
|
|
362
|
+
with no additional terms,
|
|
363
|
+
and that you have the right to submit it under that license.
|
|
364
|
+
|
|
365
|
+
'''
|
|
366
|
+
# ---
|
|
367
|
+
# name: test_contributing_license[GPL-3.0-or-later]
|
|
368
|
+
'''
|
|
369
|
+
# Contributing to PKFire
|
|
370
|
+
|
|
371
|
+
**Contributions are welcome!**
|
|
372
|
+
|
|
373
|
+
Thank you for your time and interest in improving
|
|
374
|
+
**PKFire**!
|
|
375
|
+
|
|
376
|
+
## Project resources
|
|
377
|
+
|
|
378
|
+
* **Web site**: **<https://ness.github.io/PKFire>**
|
|
379
|
+
for general project information, usage, and development documentation
|
|
380
|
+
* **Repository**: <https://github.com/ness/PKFire>
|
|
381
|
+
for submitting pull requests
|
|
382
|
+
* **Issue tracker**: <https://github.com/ness/PKFire/issues>
|
|
383
|
+
for questions or bug reports
|
|
384
|
+
|
|
385
|
+
## Contribution terms
|
|
386
|
+
|
|
387
|
+
By submitting a contribution to PKFire, you agree that it is
|
|
388
|
+
licensed under the project's license, the
|
|
389
|
+
[GNU General Public License v3.0 or later](https://github.com/ness/PKFire/blob/main/COPYING),
|
|
390
|
+
with no additional terms,
|
|
391
|
+
and that you have the right to submit it under that license.
|
|
392
|
+
|
|
393
|
+
'''
|
|
394
|
+
# ---
|
|
395
|
+
# name: test_contributing_license[ISC]
|
|
396
|
+
'''
|
|
397
|
+
# Contributing to PKFire
|
|
398
|
+
|
|
399
|
+
**Contributions are welcome!**
|
|
400
|
+
|
|
401
|
+
Thank you for your time and interest in improving
|
|
402
|
+
**PKFire**!
|
|
403
|
+
|
|
404
|
+
## Project resources
|
|
405
|
+
|
|
406
|
+
* **Web site**: **<https://ness.github.io/PKFire>**
|
|
407
|
+
for general project information, usage, and development documentation
|
|
408
|
+
* **Repository**: <https://github.com/ness/PKFire>
|
|
409
|
+
for submitting pull requests
|
|
410
|
+
* **Issue tracker**: <https://github.com/ness/PKFire/issues>
|
|
411
|
+
for questions or bug reports
|
|
412
|
+
|
|
413
|
+
## Contribution terms
|
|
414
|
+
|
|
415
|
+
By submitting a contribution to PKFire, you agree that it is
|
|
416
|
+
licensed under the project's license, the
|
|
417
|
+
[ISC License](https://github.com/ness/PKFire/blob/main/LICENSE),
|
|
418
|
+
with no additional terms,
|
|
419
|
+
and that you have the right to submit it under that license.
|
|
420
|
+
|
|
421
|
+
'''
|
|
422
|
+
# ---
|
|
423
|
+
# name: test_contributing_license[LGPL-3.0-only]
|
|
424
|
+
'''
|
|
425
|
+
# Contributing to PKFire
|
|
426
|
+
|
|
427
|
+
**Contributions are welcome!**
|
|
428
|
+
|
|
429
|
+
Thank you for your time and interest in improving
|
|
430
|
+
**PKFire**!
|
|
431
|
+
|
|
432
|
+
## Project resources
|
|
433
|
+
|
|
434
|
+
* **Web site**: **<https://ness.github.io/PKFire>**
|
|
435
|
+
for general project information, usage, and development documentation
|
|
436
|
+
* **Repository**: <https://github.com/ness/PKFire>
|
|
437
|
+
for submitting pull requests
|
|
438
|
+
* **Issue tracker**: <https://github.com/ness/PKFire/issues>
|
|
439
|
+
for questions or bug reports
|
|
440
|
+
|
|
441
|
+
## Contribution terms
|
|
442
|
+
|
|
443
|
+
By submitting a contribution to PKFire, you agree that it is
|
|
444
|
+
licensed under the project's license, the
|
|
445
|
+
[GNU Lesser General Public License v3.0 only](https://github.com/ness/PKFire/blob/main/COPYING.LESSER),
|
|
446
|
+
with no additional terms,
|
|
447
|
+
and that you have the right to submit it under that license.
|
|
448
|
+
|
|
449
|
+
'''
|
|
450
|
+
# ---
|
|
451
|
+
# name: test_contributing_license[LGPL-3.0-or-later]
|
|
452
|
+
'''
|
|
453
|
+
# Contributing to PKFire
|
|
454
|
+
|
|
455
|
+
**Contributions are welcome!**
|
|
456
|
+
|
|
457
|
+
Thank you for your time and interest in improving
|
|
458
|
+
**PKFire**!
|
|
459
|
+
|
|
460
|
+
## Project resources
|
|
461
|
+
|
|
462
|
+
* **Web site**: **<https://ness.github.io/PKFire>**
|
|
463
|
+
for general project information, usage, and development documentation
|
|
464
|
+
* **Repository**: <https://github.com/ness/PKFire>
|
|
465
|
+
for submitting pull requests
|
|
466
|
+
* **Issue tracker**: <https://github.com/ness/PKFire/issues>
|
|
467
|
+
for questions or bug reports
|
|
468
|
+
|
|
469
|
+
## Contribution terms
|
|
470
|
+
|
|
471
|
+
By submitting a contribution to PKFire, you agree that it is
|
|
472
|
+
licensed under the project's license, the
|
|
473
|
+
[GNU Lesser General Public License v3.0 or later](https://github.com/ness/PKFire/blob/main/COPYING.LESSER),
|
|
474
|
+
with no additional terms,
|
|
475
|
+
and that you have the right to submit it under that license.
|
|
476
|
+
|
|
477
|
+
'''
|
|
478
|
+
# ---
|
|
479
|
+
# name: test_contributing_license[MIT]
|
|
480
|
+
'''
|
|
481
|
+
# Contributing to PKFire
|
|
482
|
+
|
|
483
|
+
**Contributions are welcome!**
|
|
484
|
+
|
|
485
|
+
Thank you for your time and interest in improving
|
|
486
|
+
**PKFire**!
|
|
487
|
+
|
|
488
|
+
## Project resources
|
|
489
|
+
|
|
490
|
+
* **Web site**: **<https://ness.github.io/PKFire>**
|
|
491
|
+
for general project information, usage, and development documentation
|
|
492
|
+
* **Repository**: <https://github.com/ness/PKFire>
|
|
493
|
+
for submitting pull requests
|
|
494
|
+
* **Issue tracker**: <https://github.com/ness/PKFire/issues>
|
|
495
|
+
for questions or bug reports
|
|
496
|
+
|
|
497
|
+
## Contribution terms
|
|
498
|
+
|
|
499
|
+
By submitting a contribution to PKFire, you agree that it is
|
|
500
|
+
licensed under the project's license, the
|
|
501
|
+
[MIT License](https://github.com/ness/PKFire/blob/main/LICENSE),
|
|
502
|
+
with no additional terms,
|
|
503
|
+
and that you have the right to submit it under that license.
|
|
504
|
+
|
|
505
|
+
'''
|
|
506
|
+
# ---
|
|
@@ -549,7 +549,7 @@
|
|
|
549
549
|
|
|
550
550
|
## License
|
|
551
551
|
|
|
552
|
-
Written in 1995 by Ness and contributors
|
|
552
|
+
Written in 1995 by Ness and contributors
|
|
553
553
|
|
|
554
554
|
To the extent possible under law, the author(s) have dedicated all copyright
|
|
555
555
|
and related and neighboring rights to this software to the public domain
|
|
@@ -581,7 +581,7 @@
|
|
|
581
581
|
|
|
582
582
|
## License
|
|
583
583
|
|
|
584
|
-
Written in 1995 by Ness and contributors
|
|
584
|
+
Written in 1995 by Ness and contributors
|
|
585
585
|
|
|
586
586
|
To the extent possible under law, the author(s) have dedicated all copyright
|
|
587
587
|
and related and neighboring rights to this software to the public domain
|
|
@@ -6,6 +6,8 @@ from pathlib import Path
|
|
|
6
6
|
import pytest
|
|
7
7
|
from syrupy.assertion import SnapshotAssertion
|
|
8
8
|
|
|
9
|
+
from tests.utils import license_choices
|
|
10
|
+
|
|
9
11
|
|
|
10
12
|
@pytest.mark.parametrize(
|
|
11
13
|
"enable_docs",
|
|
@@ -19,3 +21,13 @@ def test_contributing_features(
|
|
|
19
21
|
) -> None:
|
|
20
22
|
rendered = render_template(enable_docs=enable_docs)
|
|
21
23
|
assert (rendered / "CONTRIBUTING.md").read_text() == snapshot
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
@pytest.mark.parametrize("copyright_license", license_choices.values())
|
|
27
|
+
def test_contributing_license(
|
|
28
|
+
render_template: Callable[..., Path],
|
|
29
|
+
snapshot: SnapshotAssertion,
|
|
30
|
+
copyright_license: str,
|
|
31
|
+
) -> None:
|
|
32
|
+
rendered = render_template(copyright_license=copyright_license)
|
|
33
|
+
assert (rendered / "CONTRIBUTING.md").read_text() == snapshot
|
|
@@ -20,7 +20,7 @@ import yaml
|
|
|
20
20
|
from copier_python.__main__ import main, update
|
|
21
21
|
|
|
22
22
|
if TYPE_CHECKING:
|
|
23
|
-
from collections.abc import Callable,
|
|
23
|
+
from collections.abc import Callable, Generator, Sequence
|
|
24
24
|
|
|
25
25
|
from .utils import DisallowCallable
|
|
26
26
|
|
|
@@ -109,7 +109,7 @@ def create_project(
|
|
|
109
109
|
|
|
110
110
|
|
|
111
111
|
@pytest.fixture
|
|
112
|
-
def mock_temp_dir(tmp_path: Path) ->
|
|
112
|
+
def mock_temp_dir(tmp_path: Path) -> Generator[Path]:
|
|
113
113
|
with patch.object(
|
|
114
114
|
tempfile.TemporaryDirectory, "__enter__", return_value=tmp_path
|
|
115
115
|
):
|
|
@@ -146,7 +146,7 @@ class ExpectRun:
|
|
|
146
146
|
mock: bool = True,
|
|
147
147
|
has_any: bool = False,
|
|
148
148
|
shell_callback: Callable[[], None] | None = None,
|
|
149
|
-
) ->
|
|
149
|
+
) -> Generator[MagicMock]:
|
|
150
150
|
|
|
151
151
|
subp_run = subprocess.run
|
|
152
152
|
|
|
@@ -281,7 +281,7 @@ def test_main_update_error(
|
|
|
281
281
|
"",
|
|
282
282
|
(f"Applied updates from template: {start_ref}...{end_ref}"),
|
|
283
283
|
(
|
|
284
|
-
f"https://github.com/
|
|
284
|
+
f"https://github.com/smkent/copier-python/compare/"
|
|
285
285
|
f"{start_ref}...{end_ref}"
|
|
286
286
|
),
|
|
287
287
|
)
|
|
@@ -376,7 +376,7 @@ def test_main_update_with_project(
|
|
|
376
376
|
"",
|
|
377
377
|
(f"Applied updates from template: {start_ref}...{end_ref}"),
|
|
378
378
|
(
|
|
379
|
-
f"https://github.com/
|
|
379
|
+
f"https://github.com/smkent/copier-python/compare/"
|
|
380
380
|
f"{start_ref}...{end_ref}"
|
|
381
381
|
),
|
|
382
382
|
)
|
|
@@ -15,7 +15,7 @@ else:
|
|
|
15
15
|
from typing_extensions import Self
|
|
16
16
|
|
|
17
17
|
if TYPE_CHECKING:
|
|
18
|
-
from collections.abc import Callable,
|
|
18
|
+
from collections.abc import Callable, Generator
|
|
19
19
|
|
|
20
20
|
import pytest
|
|
21
21
|
|
|
@@ -48,7 +48,7 @@ class DisallowCallable:
|
|
|
48
48
|
self.original = getattr(self.obj, self.attr)
|
|
49
49
|
|
|
50
50
|
@contextmanager
|
|
51
|
-
def __call__(self) ->
|
|
51
|
+
def __call__(self) -> Generator[Self]:
|
|
52
52
|
|
|
53
53
|
def wrapper(*args: Any, **kwargs: Any) -> Any:
|
|
54
54
|
if self.enabled:
|
|
@@ -62,7 +62,7 @@ class DisallowCallable:
|
|
|
62
62
|
yield self
|
|
63
63
|
|
|
64
64
|
@contextmanager
|
|
65
|
-
def pause(self) ->
|
|
65
|
+
def pause(self) -> Generator[None]:
|
|
66
66
|
if self.mock_attr:
|
|
67
67
|
with patch.object(self.obj, self.attr, self.original):
|
|
68
68
|
yield
|
|
@@ -1,126 +0,0 @@
|
|
|
1
|
-
# serializer version: 1
|
|
2
|
-
# name: test_contributing_features[docs]
|
|
3
|
-
'''
|
|
4
|
-
# Contributing to PKFire
|
|
5
|
-
|
|
6
|
-
**Contributions are welcome!**
|
|
7
|
-
|
|
8
|
-
Thank you for your time and interest in improving
|
|
9
|
-
**PKFire**!
|
|
10
|
-
|
|
11
|
-
## Project resources
|
|
12
|
-
|
|
13
|
-
* **Web site**: **<https://ness.github.io/PKFire>**
|
|
14
|
-
for general project information, usage, and development documentation
|
|
15
|
-
* **Repository**: <https://github.com/ness/PKFire>
|
|
16
|
-
for submitting pull requests
|
|
17
|
-
* **Issue tracker**: <https://github.com/ness/PKFire/issues>
|
|
18
|
-
for questions or bug reports
|
|
19
|
-
|
|
20
|
-
'''
|
|
21
|
-
# ---
|
|
22
|
-
# name: test_contributing_features[no_docs]
|
|
23
|
-
'''
|
|
24
|
-
# Contributing to PKFire
|
|
25
|
-
|
|
26
|
-
**Contributions are welcome!**
|
|
27
|
-
|
|
28
|
-
Thank you for your time and interest in improving
|
|
29
|
-
**PKFire**!
|
|
30
|
-
|
|
31
|
-
## Project resources
|
|
32
|
-
|
|
33
|
-
* **Repository**: <https://github.com/ness/PKFire>
|
|
34
|
-
for submitting pull requests
|
|
35
|
-
* **Issue tracker**: <https://github.com/ness/PKFire/issues>
|
|
36
|
-
for questions or bug reports
|
|
37
|
-
|
|
38
|
-
## Development documentation
|
|
39
|
-
|
|
40
|
-
### Prerequisites
|
|
41
|
-
|
|
42
|
-
- [x] [**git** for version control][git]
|
|
43
|
-
- [x] [**mise**][mise] tool manager: `curl https://mise.run | sh` or
|
|
44
|
-
[alternate installation method][mise-installation]
|
|
45
|
-
|
|
46
|
-
!!! info
|
|
47
|
-
|
|
48
|
-
`mise` ensures additional software is available, such as:
|
|
49
|
-
|
|
50
|
-
* A [supported version][python-versions] of [**Python**][python]
|
|
51
|
-
* [Astral's **uv** Python project manager][uv]
|
|
52
|
-
|
|
53
|
-
[git]: https://git-scm.com
|
|
54
|
-
[mise-installation]: https://mise.jdx.dev/installing-mise.html
|
|
55
|
-
[mise]: https://mise.jdx.dev
|
|
56
|
-
[python-versions]: https://devguide.python.org/versions/
|
|
57
|
-
[python]: https://python.org
|
|
58
|
-
[uv]: https://docs.astral.sh/uv/
|
|
59
|
-
|
|
60
|
-
### Project development workflow
|
|
61
|
-
|
|
62
|
-
#### Cloning the repository
|
|
63
|
-
|
|
64
|
-
```sh
|
|
65
|
-
git clone https://github.com/ness/PKFire
|
|
66
|
-
cd PKFire
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
Run `mise install` in new repository clones to install tools, dependencies, and
|
|
70
|
-
git hooks:
|
|
71
|
-
|
|
72
|
-
```sh
|
|
73
|
-
mise install
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
#### Development tools
|
|
77
|
-
|
|
78
|
-
* `mise run lint`: Run formatters and static checks
|
|
79
|
-
* `mise run test`: Run tests
|
|
80
|
-
|
|
81
|
-
The `lint` and `test` tasks can also be run as a single combined command with:
|
|
82
|
-
|
|
83
|
-
```sh
|
|
84
|
-
mise run lt
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
### Test snapshots
|
|
88
|
-
|
|
89
|
-
Some tests compare test results with saved snapshots. Test snapshots can be
|
|
90
|
-
updated by running:
|
|
91
|
-
|
|
92
|
-
```sh
|
|
93
|
-
mise run snapup
|
|
94
|
-
```
|
|
95
|
-
|
|
96
|
-
### Applying copier-python template updates
|
|
97
|
-
|
|
98
|
-
Copier can update your project with template changes that have occurred since
|
|
99
|
-
the project was created.
|
|
100
|
-
|
|
101
|
-
To apply updates, simply run in your project directory:
|
|
102
|
-
|
|
103
|
-
```sh
|
|
104
|
-
copier update
|
|
105
|
-
```
|
|
106
|
-
|
|
107
|
-
This will repeat the setup prompts, in case any prompts have been added or
|
|
108
|
-
changed.
|
|
109
|
-
|
|
110
|
-
!!! tip
|
|
111
|
-
To change template-provided features in your project, simply change your
|
|
112
|
-
answers in the update prompts.
|
|
113
|
-
|
|
114
|
-
To apply updates without being prompted (reusing all previous answers), run:
|
|
115
|
-
|
|
116
|
-
```sh
|
|
117
|
-
copier update -l
|
|
118
|
-
```
|
|
119
|
-
|
|
120
|
-
When [`copier update`][copier-update] is finished, view changes with
|
|
121
|
-
`git status` and `git diff`. Resolve any conflicts, and then commit the result.
|
|
122
|
-
|
|
123
|
-
[copier-update]: https://copier.readthedocs.io/en/stable/updating/
|
|
124
|
-
|
|
125
|
-
'''
|
|
126
|
-
# ---
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{copier_python-0.17.1 → copier_python-0.19.0}/tests/template/__snapshots__/test_compose.ambr
RENAMED
|
File without changes
|
{copier_python-0.17.1 → copier_python-0.19.0}/tests/template/__snapshots__/test_dockerfile.ambr
RENAMED
|
File without changes
|
|
File without changes
|
{copier_python-0.17.1 → copier_python-0.19.0}/tests/template/__snapshots__/test_license.ambr
RENAMED
|
File without changes
|
{copier_python-0.17.1 → copier_python-0.19.0}/tests/template/__snapshots__/test_mise_toml.ambr
RENAMED
|
File without changes
|
{copier_python-0.17.1 → copier_python-0.19.0}/tests/template/__snapshots__/test_pyproject.ambr
RENAMED
|
File without changes
|
{copier_python-0.17.1 → copier_python-0.19.0}/tests/template/__snapshots__/test_workflows.ambr
RENAMED
|
File without changes
|
{copier_python-0.17.1 → copier_python-0.19.0}/tests/template/__snapshots__/test_zensical.ambr
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|