-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcopier.yaml
More file actions
81 lines (80 loc) · 2.75 KB
/
copier.yaml
File metadata and controls
81 lines (80 loc) · 2.75 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
# === copier settings ===
_min_copier_version: '9.4.1'
_subdirectory: template
_exclude:
# copier defaults
- "copier.yaml"
- "copier.yaml"
- "~*"
- "*.py[co]"
- "__pycache__"
- ".git"
- ".DS_Store"
- ".svn"
# Do not add the dummy example when updating
- "{% if _copier_operation == 'update' -%}workflow/envs/shell.yaml{% endif %}"
- "{% if _copier_operation == 'update' -%}workflow/internal/config.schema.yaml{% endif %}"
- "{% if _copier_operation == 'update' -%}workflow/internal/settings.yaml{% endif %}"
- "{% if _copier_operation == 'update' -%}workflow/rules/automatic.smk{% endif %}"
- "{% if _copier_operation == 'update' -%}workflow/rules/dummy.smk{% endif %}"
- "{% if _copier_operation == 'update' -%}workflow/scripts/dummy_script.py{% endif %}"
_skip_if_exists:
# Respect user changes, except for a few standard files.
- config/**
- resources/**
- figures/**
- results/**
- tests/**
- workflow/**
- .readthedocs.yaml
- AUTHORS
- CITATION.cff
- INTERFACE.yaml
# Special cases: these files should not be user-modified, even though they are in user-modifiable directories
- "!config/README.md"
- "!tests/integration_test.py"
_templates_suffix: .jinja
_answers_file: .copier-answers.yml
# === copier user provided ===
module_short_name:
type: str
help: Please enter your module's short name as used in snakemake (should be in `snake_case`). This will be folder name within which your module lives.
validator: >-
{% if not (module_short_name | regex_search('^[a-z][a-z0-9_]*$')) %}
"Only lowercase letters, digits and underscores are valid."
{% endif %}
module_long_name:
type: str
help: Please enter your module's long name (e.g., PV capacity factors, Hydropower, Heat-pump profiles, etc).
module_description:
type: str
help: "Please provide a description of your module."
author_given_name:
type: str
help: "Please provide your given name (e.g., Ursula)."
author_family_name:
type: str
help: "Please provide your family name (e.g., Le Guin)."
author_email:
type: str
help: Please provide your email address.
validator: >-
{% if not (author_email | regex_search('^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+[.][a-zA-Z0-9-.]+$')) %}
"Invalid email address."
{% endif %}
github_org:
type: str
help: >-
Please provide the name of the github account or organisation where
this module will be created (e.g., 'modelblocks-org' in 'github.com/modelblocks-org').
validator: >-
{% if not (github_org | regex_search('^[a-zA-Z0-9][a-zA-Z0-9-]*$')) %}
"Only lowercase letters, digits, hyphens and underscores are valid."
{% endif %}
default: "modelblocks-org"
license:
type: str
help: "Please choose a license."
choices:
- "Apache-2.0"
- "MIT"