-
-
Notifications
You must be signed in to change notification settings - Fork 3
/
copier.yml
95 lines (77 loc) · 2.35 KB
/
copier.yml
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
project_name:
type: str
default: "pybamm-example-project"
help: "The name of your project"
project_slug:
type: str
help: The name of the directory containing the Python files for your project. This should be in `snake_case`, and this is what you will import it with, such as `import pybamm_example_project`.
default: "{{ project_name|lower|replace('-', '_')|replace(' ', '_') }}"
validator: |
{% if ('-' in project_slug or ' ' in project_slug) %}
The name of the directory should not contain spaces or hyphens
{% endif %}
platform:
type: str
choices:
- github
- gitlab
default: github
help: "The platform you are using to host your project"
org:
type: str
default: "pybamm-team"
help: "The name of your organisation (or username, if you are not part of an organisation)"
url:
type: str
default: "https://{{ platform }}.com/{{ org }}/{{ project_name }}"
help: "The origin URL to your code repository"
branch:
type: str
default: "main"
help: "The default branch of your repository"
full_name:
type: str
default: "John Doe"
help: "Your name on your hosting platform (will be used later as your committer name)"
email:
type: str
default: "[email protected]"
help: "Your email for your hosting platform (will be used later to configure Git)"
project_short_description:
type: str
default: "A battery modelling project that uses the PyBaMM framework"
help: "A short description of your project"
license:
type: str
choices:
- BSD-3-Clause
- Apache
- MIT
default: BSD-3-Clause
help: "Select a license"
backend:
type: str
choices:
- "hatch"
- "setuptools"
default: "hatch"
help: "Choose a build backend. hatch (hatchling) is recommended for pure Python projects and for beginners, while setuptools offers more classic yet modern configuration choices"
vcs:
type: bool
default: false
help: "Let the build backend get the version from your version control system (Git/Mercurial/SVN) using the hatch-vcs (for hatchling) or the setuptools-scm (for setuptools) plugins?"
mypy:
type: bool
default: false
help: "Use the mypy type checker"
_copy_without_render:
type: list
default: ["*.yml"]
_jinja_extensions:
- jinja2_time.TimeExtension
_subdirectory: template
_exclude:
- copier.yml
_tasks:
- command: git init -b {{branch}}
working_directory: "{{project_name}}"