-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcopier.yml
More file actions
109 lines (96 loc) · 3.01 KB
/
Copy pathcopier.yml
File metadata and controls
109 lines (96 loc) · 3.01 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
---
# Copier Settings for the project
!include copier-settings.yml
---
author_full_name:
type: str
help: What is your full name?
default: "John Doe"
placeholder: "John Doe"
validator: "{% from pathjoin('includes', 'validators.jinja') import validate_full_name %}{{ validate_full_name(author_full_name) }}"
author_email:
type: str
help: What is your email address?
default: "johndoe@example.com"
placeholder: "johndoe@example.com"
validator: "{% from pathjoin('includes', 'validators.jinja') import validate_email %}{{ validate_email(author_email) }}"
github_username:
type: str
help: What is your GitHub username or organization name?
placeholder: "username"
default: "jjjermiah"
validator: "{% from pathjoin('includes', 'validators.jinja') import validate_github_username %}{{ validate_github_username(github_username) }}"
project_name:
type: str # Any value will be treated raw as a string
help: What is your project name? (human readable allowed)
default: "Just Another Python Package"
placeholder: "My Project"
validator: "{% from pathjoin('includes', 'validators.jinja') import validate_project_name %}{{ validate_project_name(project_name) }}"
project_slug:
type: str
help: Project slug for use in URLs, filenames, Github repo, etc.
default: "{% from pathjoin('includes', 'slugify.jinja') import slugify%}{{ slugify(project_name) }}"
validator: "{% from pathjoin('includes', 'validators.jinja') import validate_slug %}{{ validate_slug(project_slug) }}"
package_name:
type: str
help: What is your Python package name?
default: "{{ project_slug.replace('-', '_') }}"
validator: "{% from pathjoin('includes', 'validators.jinja') import validate_package_name %}{{ validate_package_name(package_name) }}"
package_description:
type: str
help: A short description of your package.
default: "TODO:: Add a short description of {{ package_name }} here."
python_version:
type: str
help: What is the minimum Python version required?
default: "3.10"
choices:
- "3.10"
- "3.11"
- "3.12"
- "3.13"
software_license:
type: str
help: Choose a software license for your project.
default: "MIT"
default: MIT License
choices:
- Apache License 2.0
- Eclipse Public License 2.0
- GNU General Public License v3.0
- GNU Lesser General Public License v3.0
- ISC License
- MIT License
- Mozilla Public License 2.0
# TODO: Run a git init command in tasks
git_init:
type: bool
help: Initialize a git repository?
default: true
# TODO let user choose which build backend
build_backend:
type: str
help: Choose a build backend for your project.
default: "hatch"
choices:
- hatch
# - poetry
# - flit
# - setuptools
# - distutils
pixi_install:
type: bool
help: Run `pixi install` after copying files?
default: true
pixi_install_envs:
type: str
help: List of environments to install.
multiselect: true
choices:
- default
- dev
- docs
- quality
- publish
default : ["dev"]
when: "{{ pixi_install == true }}"