-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathcopier.yaml
More file actions
113 lines (98 loc) · 2.72 KB
/
copier.yaml
File metadata and controls
113 lines (98 loc) · 2.72 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
project_name:
type: str
qmark: 📚
help: The name of the project. Used as repository name, in documentation, and other places.
validator: >-
{% if project_name == "" %}
Answer must not be an empty string.
{% endif %}
package_name:
type: str
qmark: 📦
help: The name of the Python package to create. This is the import name and the name of the package in PyPI.
default: '{{ project_name | lower | replace(" ", "_") | replace("-", "_") }}'
validator: >-
{% if package_name == "" %}
Answer must not be an empty string.
{% endif %}
project_description:
type: str
qmark: 📝
help: A short description of the purpose project.
validator: >-
{% if project_description == "" %}
Answer must not be an empty string.
{% endif %}
author_name:
type: str
qmark: 🙋
help: The full name of the project author.
validator: >-
{% if author_name == "" %}
Answer must not be an empty string.
{% endif %}
author_email:
type: str
qmark: 📧
help: The email of the project author.
validator: >-
{% if author_email == "" %}
Answer must not be an empty string.
{% endif %}
license:
type: str
qmark: ⚖️
help: The license under which the project will be shared.
default: BSD-3-Clause
choices:
- BSD-3-Clause
- GPL-3.0-or-later
- Apache-2.0
- MIT
minimum_python_version:
type: str
qmark: 🐍
help: The minimum Python version required to use the project (>= 3.8).
default: '3.11'
validator: >-
{% if (not (minimum_python_version | regex_search("^3\.\d{1,2}$"))) or (minimum_python_version.split('.')[1] | int) < 8 %}
Answer must be in the format "X.Y" where X and Y are integers.
{% endif %}
framework_deps:
type: bool
qmark: 🧱
help: Include SDSS Framework dependencies in the project?
default: false
github_organization:
type: str
qmark: 🐙
help: The GitHub organization or user where the repository will be hosted.
default: sdss
github_username:
type: str
qmark: 👤
help: The GitHub username of the project maintainer.
push_to_github:
type: bool
qmark: 🚀
help: Create a GitHub repository and push the initial commit (requires GitHub CLI).
default: false
private_repository:
type: bool
qmark: 🔒
help: Create a private GitHub repository?
default: false
when: '{{ push_to_github == true }}'
sync_project:
type: bool
qmark: 🔄
help: Create a virtual environment and sync the project after creation? Requires uv.
default: true
build_docker_image:
type: bool
qmark: 🐳
help: Create a GitHub workflow to build and push a Docker image to the GitHub Container Registry?
default: false
_subdirectory: template
_tasks:
- command: ['{{ _copier_python }}', 'post_copy.py']