copier-python 0.16.3__tar.gz → 0.17.1__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.
Files changed (59) hide show
  1. {copier_python-0.16.3 → copier_python-0.17.1}/LICENSE +1 -1
  2. {copier_python-0.16.3 → copier_python-0.17.1}/PKG-INFO +8 -1
  3. {copier_python-0.16.3 → copier_python-0.17.1}/README.md +7 -0
  4. {copier_python-0.16.3 → copier_python-0.17.1}/tests/conftest.py +18 -4
  5. {copier_python-0.16.3 → copier_python-0.17.1}/tests/template/__snapshots__/test_docs.ambr +203 -0
  6. copier_python-0.17.1/tests/template/__snapshots__/test_license.ambr +5633 -0
  7. {copier_python-0.16.3 → copier_python-0.17.1}/tests/template/__snapshots__/test_pyproject.ambr +1729 -0
  8. copier_python-0.17.1/tests/template/__snapshots__/test_readme.ambr +857 -0
  9. {copier_python-0.16.3 → copier_python-0.17.1}/tests/template/__snapshots__/test_zensical.ambr +4 -4
  10. {copier_python-0.16.3 → copier_python-0.17.1}/tests/template/test_docs.py +14 -0
  11. copier_python-0.17.1/tests/template/test_license.py +93 -0
  12. {copier_python-0.16.3 → copier_python-0.17.1}/tests/template/test_pyproject.py +13 -0
  13. {copier_python-0.16.3 → copier_python-0.17.1}/tests/template/test_readme.py +8 -1
  14. {copier_python-0.16.3 → copier_python-0.17.1}/tests/template/test_zensical.py +18 -0
  15. {copier_python-0.16.3 → copier_python-0.17.1}/tests/utils.py +15 -0
  16. copier_python-0.16.3/tests/template/__snapshots__/test_license.ambr +0 -2761
  17. copier_python-0.16.3/tests/template/__snapshots__/test_readme.ambr +0 -239
  18. copier_python-0.16.3/tests/template/test_license.py +0 -31
  19. {copier_python-0.16.3 → copier_python-0.17.1}/.gitignore +0 -0
  20. {copier_python-0.16.3 → copier_python-0.17.1}/AGENTS.md +0 -0
  21. {copier_python-0.16.3 → copier_python-0.17.1}/CONTRIBUTING.md +0 -0
  22. {copier_python-0.16.3 → copier_python-0.17.1}/copier_python/__init__.py +0 -0
  23. {copier_python-0.16.3 → copier_python-0.17.1}/copier_python/__main__.py +0 -0
  24. {copier_python-0.16.3 → copier_python-0.17.1}/copier_python/py.typed +0 -0
  25. {copier_python-0.16.3 → copier_python-0.17.1}/copier_python/repo.py +0 -0
  26. {copier_python-0.16.3 → copier_python-0.17.1}/copier_python/update.py +0 -0
  27. {copier_python-0.16.3 → copier_python-0.17.1}/docs/contributing.md +0 -0
  28. {copier_python-0.16.3 → copier_python-0.17.1}/docs/development/requirements.md +0 -0
  29. {copier_python-0.16.3 → copier_python-0.17.1}/docs/development/updates.md +0 -0
  30. {copier_python-0.16.3 → copier_python-0.17.1}/docs/development/workflow.md +0 -0
  31. {copier_python-0.16.3 → copier_python-0.17.1}/docs/index.md +0 -0
  32. {copier_python-0.16.3 → copier_python-0.17.1}/docs/license.md +0 -0
  33. {copier_python-0.16.3 → copier_python-0.17.1}/docs/project-creation.md +0 -0
  34. {copier_python-0.16.3 → copier_python-0.17.1}/docs/project-development.md +0 -0
  35. {copier_python-0.16.3 → copier_python-0.17.1}/docs/project-release.md +0 -0
  36. {copier_python-0.16.3 → copier_python-0.17.1}/docs/project-setup.md +0 -0
  37. {copier_python-0.16.3 → copier_python-0.17.1}/docs/project-updates.md +0 -0
  38. {copier_python-0.16.3 → copier_python-0.17.1}/docs/releasing.md +0 -0
  39. {copier_python-0.16.3 → copier_python-0.17.1}/docs/requirements.md +0 -0
  40. {copier_python-0.16.3 → copier_python-0.17.1}/docs/setup.md +0 -0
  41. {copier_python-0.16.3 → copier_python-0.17.1}/pyproject.toml +0 -0
  42. {copier_python-0.16.3 → copier_python-0.17.1}/tests/__init__.py +0 -0
  43. {copier_python-0.16.3 → copier_python-0.17.1}/tests/template/__init__.py +0 -0
  44. {copier_python-0.16.3 → copier_python-0.17.1}/tests/template/__snapshots__/test_agents.ambr +0 -0
  45. {copier_python-0.16.3 → copier_python-0.17.1}/tests/template/__snapshots__/test_compose.ambr +0 -0
  46. {copier_python-0.16.3 → copier_python-0.17.1}/tests/template/__snapshots__/test_contributing.ambr +0 -0
  47. {copier_python-0.16.3 → copier_python-0.17.1}/tests/template/__snapshots__/test_dockerfile.ambr +0 -0
  48. {copier_python-0.16.3 → copier_python-0.17.1}/tests/template/__snapshots__/test_mise_toml.ambr +0 -0
  49. {copier_python-0.16.3 → copier_python-0.17.1}/tests/template/__snapshots__/test_workflows.ambr +0 -0
  50. {copier_python-0.16.3 → copier_python-0.17.1}/tests/template/test_agents.py +0 -0
  51. {copier_python-0.16.3 → copier_python-0.17.1}/tests/template/test_compose.py +0 -0
  52. {copier_python-0.16.3 → copier_python-0.17.1}/tests/template/test_contributing.py +0 -0
  53. {copier_python-0.16.3 → copier_python-0.17.1}/tests/template/test_dockerfile.py +0 -0
  54. {copier_python-0.16.3 → copier_python-0.17.1}/tests/template/test_mise_toml.py +0 -0
  55. {copier_python-0.16.3 → copier_python-0.17.1}/tests/template/test_structure.py +0 -0
  56. {copier_python-0.16.3 → copier_python-0.17.1}/tests/template/test_template.py +0 -0
  57. {copier_python-0.16.3 → copier_python-0.17.1}/tests/template/test_workflows.py +0 -0
  58. {copier_python-0.16.3 → copier_python-0.17.1}/tests/test_update.py +0 -0
  59. {copier_python-0.16.3 → copier_python-0.17.1}/tests/test_version.py +0 -0
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2026 Stephen Kent
3
+ Copyright (c) 2026 Stephen Kent and contributors
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: copier-python
3
- Version: 0.16.3
3
+ Version: 0.17.1
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
@@ -87,6 +87,13 @@ copier copy "gh:smkent/copier-python" /new/project/path
87
87
  This template was inspired by [pawamoy/copier-uv][copier-uv] and
88
88
  [ritwiktiwari/copier-astral][copier-astral] -- Thanks!
89
89
 
90
+ ## License
91
+
92
+ Copyright (C) 2026 Stephen Kent and contributors
93
+
94
+ Licensed under the MIT License
95
+ ([`MIT`](https://github.com/smkent/copier-python/blob/main/LICENSE)).
96
+
90
97
  [astral]: https://astral.sh
91
98
  [codecovio]: https://codecov.io
92
99
  [copier-astral]: https://ritwiktiwari.github.io/copier-astral/
@@ -57,6 +57,13 @@ copier copy "gh:smkent/copier-python" /new/project/path
57
57
  This template was inspired by [pawamoy/copier-uv][copier-uv] and
58
58
  [ritwiktiwari/copier-astral][copier-astral] -- Thanks!
59
59
 
60
+ ## License
61
+
62
+ Copyright (C) 2026 Stephen Kent and contributors
63
+
64
+ Licensed under the MIT License
65
+ ([`MIT`](https://github.com/smkent/copier-python/blob/main/LICENSE)).
66
+
60
67
  [astral]: https://astral.sh
61
68
  [codecovio]: https://codecov.io
62
69
  [copier-astral]: https://ritwiktiwari.github.io/copier-astral/
@@ -7,6 +7,7 @@ from typing import TYPE_CHECKING, Any
7
7
 
8
8
  import copier
9
9
  import pytest
10
+ import yaml
10
11
 
11
12
  from copier_python.__main__ import setup_env
12
13
 
@@ -27,7 +28,6 @@ DEFAULT_DATA: dict[str, Any] = {
27
28
  "user_email": "ness@onett.example.com",
28
29
  "github_user": "ness",
29
30
  "copyright_holder": "Ness",
30
- "copyright_holder_email": "ness@onett.example.com",
31
31
  "copyright_year": "1995",
32
32
  "copyright_license": "MIT",
33
33
  }
@@ -56,10 +56,24 @@ def allow_subprocess(disallow_subprocess: DisallowCallable) -> Iterator[None]:
56
56
  def render_template(
57
57
  tmp_path: Path, disallow_subprocess: DisallowCallable
58
58
  ) -> Callable[..., Path]:
59
- def _render(*, vcs_ref: str = "HEAD", **kwargs: Any) -> Path:
59
+ def _render(
60
+ *,
61
+ vcs_ref: str = "HEAD",
62
+ previous_answers: dict[str, Any] | None = None,
63
+ **kwargs: Any,
64
+ ) -> Path:
60
65
  worktree = tmp_path / "project"
61
- data = {**DEFAULT_DATA, **(kwargs or {})}
62
- if data["project_visibility"] == "private":
66
+ if previous_answers is not None:
67
+ worktree.mkdir(parents=True, exist_ok=True)
68
+ (worktree / ".copier-answers.yml").write_text(
69
+ yaml.safe_dump(previous_answers)
70
+ )
71
+ data = {
72
+ k: v
73
+ for k, v in {**DEFAULT_DATA, **(kwargs or {})}.items()
74
+ if v is not None
75
+ }
76
+ if data.get("project_visibility") == "private":
63
77
  data.pop("github_user", None)
64
78
  with warnings.catch_warnings():
65
79
  warnings.filterwarnings(
@@ -1365,3 +1365,206 @@
1365
1365
 
1366
1366
  '''
1367
1367
  # ---
1368
+ # name: test_docs_license[AGPL-3.0-only]
1369
+ '''
1370
+ ---
1371
+ title: License
1372
+ icon: lucide/scale
1373
+ ---
1374
+
1375
+ # License
1376
+
1377
+ ```
1378
+ --8<-- "COPYING"
1379
+ ```
1380
+
1381
+ '''
1382
+ # ---
1383
+ # name: test_docs_license[AGPL-3.0-or-later]
1384
+ '''
1385
+ ---
1386
+ title: License
1387
+ icon: lucide/scale
1388
+ ---
1389
+
1390
+ # License
1391
+
1392
+ ```
1393
+ --8<-- "COPYING"
1394
+ ```
1395
+
1396
+ '''
1397
+ # ---
1398
+ # name: test_docs_license[Apache-2.0]
1399
+ '''
1400
+ ---
1401
+ title: License
1402
+ icon: lucide/scale
1403
+ ---
1404
+
1405
+ # License
1406
+
1407
+ ```
1408
+ --8<-- "LICENSE"
1409
+ ```
1410
+
1411
+ '''
1412
+ # ---
1413
+ # name: test_docs_license[BSD-3-Clause]
1414
+ '''
1415
+ ---
1416
+ title: License
1417
+ icon: lucide/scale
1418
+ ---
1419
+
1420
+ # License
1421
+
1422
+ ```
1423
+ --8<-- "LICENSE"
1424
+ ```
1425
+
1426
+ '''
1427
+ # ---
1428
+ # name: test_docs_license[CC-BY-4.0]
1429
+ '''
1430
+ ---
1431
+ title: License
1432
+ icon: lucide/scale
1433
+ ---
1434
+
1435
+ # License
1436
+
1437
+ ```
1438
+ --8<-- "LICENSE"
1439
+ ```
1440
+
1441
+ '''
1442
+ # ---
1443
+ # name: test_docs_license[CC-BY-SA-4.0]
1444
+ '''
1445
+ ---
1446
+ title: License
1447
+ icon: lucide/scale
1448
+ ---
1449
+
1450
+ # License
1451
+
1452
+ ```
1453
+ --8<-- "LICENSE"
1454
+ ```
1455
+
1456
+ '''
1457
+ # ---
1458
+ # name: test_docs_license[CC0-1.0]
1459
+ '''
1460
+ ---
1461
+ title: License
1462
+ icon: lucide/scale
1463
+ ---
1464
+
1465
+ # License
1466
+
1467
+ ```
1468
+ --8<-- "LICENSE"
1469
+ ```
1470
+
1471
+ '''
1472
+ # ---
1473
+ # name: test_docs_license[GPL-3.0-only]
1474
+ '''
1475
+ ---
1476
+ title: License
1477
+ icon: lucide/scale
1478
+ ---
1479
+
1480
+ # License
1481
+
1482
+ ```
1483
+ --8<-- "COPYING"
1484
+ ```
1485
+
1486
+ '''
1487
+ # ---
1488
+ # name: test_docs_license[GPL-3.0-or-later]
1489
+ '''
1490
+ ---
1491
+ title: License
1492
+ icon: lucide/scale
1493
+ ---
1494
+
1495
+ # License
1496
+
1497
+ ```
1498
+ --8<-- "COPYING"
1499
+ ```
1500
+
1501
+ '''
1502
+ # ---
1503
+ # name: test_docs_license[ISC]
1504
+ '''
1505
+ ---
1506
+ title: License
1507
+ icon: lucide/scale
1508
+ ---
1509
+
1510
+ # License
1511
+
1512
+ ```
1513
+ --8<-- "LICENSE"
1514
+ ```
1515
+
1516
+ '''
1517
+ # ---
1518
+ # name: test_docs_license[LGPL-3.0-only]
1519
+ '''
1520
+ ---
1521
+ title: License
1522
+ icon: lucide/scale
1523
+ ---
1524
+
1525
+ # License
1526
+
1527
+ ```
1528
+ --8<-- "COPYING.LESSER"
1529
+ ```
1530
+
1531
+ ```
1532
+ --8<-- "COPYING"
1533
+ ```
1534
+
1535
+ '''
1536
+ # ---
1537
+ # name: test_docs_license[LGPL-3.0-or-later]
1538
+ '''
1539
+ ---
1540
+ title: License
1541
+ icon: lucide/scale
1542
+ ---
1543
+
1544
+ # License
1545
+
1546
+ ```
1547
+ --8<-- "COPYING.LESSER"
1548
+ ```
1549
+
1550
+ ```
1551
+ --8<-- "COPYING"
1552
+ ```
1553
+
1554
+ '''
1555
+ # ---
1556
+ # name: test_docs_license[MIT]
1557
+ '''
1558
+ ---
1559
+ title: License
1560
+ icon: lucide/scale
1561
+ ---
1562
+
1563
+ # License
1564
+
1565
+ ```
1566
+ --8<-- "LICENSE"
1567
+ ```
1568
+
1569
+ '''
1570
+ # ---