Repository navigation
Expand file tree
/
Copy pathcopier.yml
More file actions
73 lines (61 loc) · 2.1 KB
/
Copy pathcopier.yml
File metadata and controls
73 lines (61 loc) · 2.1 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
project_name:
type: str
help: "Display name (e.g. my-library)"
project_slug:
type: str
help: "PyPI package name, kebab-case (e.g. my-library)"
default: "{{ project_name | lower | replace(' ', '-') }}"
package_name:
type: str
help: "Python import name, snake_case (e.g. my_library)"
default: "{{ project_slug | replace('-', '_') }}"
project_description:
type: str
help: "One-line description for pyproject.toml and docs"
author_name:
type: str
help: "Author full name"
author_email:
type: str
help: "Author email"
github_org:
type: str
help: "GitHub organization or username"
default: "bedrock-python"
# The newest Python a render declares and runs its unit tests on. Not asked:
# raise it here once the libraries move to a new release.
python_max_version:
type: str
default: "3.14"
when: false
python_min_version:
type: str
help: "Minimum Python version (3.10 to {{ python_max_version }})"
default: "3.11"
validator: >-
{%- set minor = python_min_version.split(".")[-1] -%}
{%- if not python_min_version.startswith("3.") or not minor.isdigit()
or minor | int < 10 or minor | int > python_max_version.split(".")[-1] | int -%}
Use a 3.x version from 3.10 to {{ python_max_version }}
{%- endif -%}
initial_version:
type: str
help: "Initial version (keep 0.0.0 — Release Please cuts the first real release)"
default: "0.0.0"
_subdirectory: template
_jinja_extensions:
- jinja2_time.TimeExtension
_tasks:
# On a copy only: `copier update` runs tasks too, and a library taking a
# template update finished these steps long ago.
- command: >-
echo "Template generated. Next steps:
1. uv sync --group dev
2. uv run pre-commit install --hook-type commit-msg
3. Create the GitHub repo and push (branch: master)
4. After the first CI pass, from the template repo:
python scripts/setup_repo.py {{ github_org }}/{{ project_slug }}
5. Configure the PyPI Trusted Publisher at pypi.org
6. Add the CODECOV_TOKEN secret.
See NEW_LIBRARY_CHECKLIST.md for full details."
when: "{{ _copier_operation == 'copy' }}"