You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Jul 29, 2024. It is now read-only.
- Executable generation via [cx_Freeze](https://marcelotduarte.github.io/cx_Freeze/)
33
-
- Optional generation of development environment [docker](https://www.docker.com/)[images](https://aws.amazon.com/compare/the-difference-between-docker-images-and-containers/) in support of [FAIR principles](https://www.go-fair.org/fair-principles/)
34
33
- Full [Continuous Integration](https://en.wikipedia.org/wiki/Continuous_integration), [Continuous Delivery](https://en.wikipedia.org/wiki/Continuous_delivery), and [Continuous Deployment](https://en.wikipedia.org/wiki/Continuous_deployment) (via [GitHub Actions](https://github.com/features/actions)) for everything listed above
34
+
-[Optional] Build artifact signing via [Minisign](https://jedisct1.github.io/minisign/)
35
+
-[Optional] Participation in the [Open Source Security Foundation (OpenSSF) Best Practices Badge Program](https://www.bestpractices.dev/)
36
+
-[Optional] Generation of development environment [docker](https://www.docker.com/)[images](https://aws.amazon.com/compare/the-difference-between-docker-images-and-containers/) in support of [FAIR principles](https://www.go-fair.org/fair-principles/)
35
37
36
38
#### Project Content Customization
37
39
@@ -162,6 +164,8 @@ There are other tools available that offer similar functionality, each emphasizi
162
164
163
165
### Templating Systems
164
166
167
+
PythonProjectBootstrapper uses cookiecutter as its underlying templating engine, but others are available within python. Some are listed here if you want to use them directly.
168
+
165
169
| Tool | Description |
166
170
| --- | --- |
167
171
|[cookiecutter](https://github.com/cookiecutter/cookiecutter)| A cross-platform command-line utility that creates projects from cookiecutters (project templates), e.g. Python package projects, C projects. |
"name": "\n\nPlease enter your name.\n\nThis value will be used in:\n - The copyright header for source files\n - Metadata for the generated python package\n - Metadata for the generated python binary\n\n",
32
33
"email": "\n\nPlease enter your email address.\n\nThis value will be used in:\n - Metadata for the generated python package\n - Metadata for the generated python binary\n\n",
33
34
"project_description": "\n\nPlease enter a short description of your project (less than 100 characters).\n\nThis value will be used in:\n - Metadata for the generated python package\n - Metadata for the generated python binary\n\n",
34
-
"license": "\n\nPlease enter the license you would like to use for your project. https://choosealicense.com/ is a\ngood resource that helps you choose the best license for your project.\n\nThis value will be used in:\n - Population of the License.txt file (or equivalent)\n - The copyright header for source files\n - Metadata for the generated python package\n - Metadata for the generated python binary\n - Metadata for the generated docker image (if applicable)\n\n",
35
-
"github_url": "\n\nPlease enter the GitHub URL. You should use the URL to your GitHub repository as a guide when\nspecifying this value.\n\n https://github.com/username/projectname\n ^^^^^^^^^^^^^^^^^^\n This is the GitHub URL\n\n",
36
-
"github_username": "\n\nPlease enter your GitHub username. You should use the URL to your GitHub repository as a guide when\nspecifying this value.\n\n https://github.com/username/projectname\n ^^^^^^^^\n This is the GitHub username\n\n",
37
-
"github_project_name": "\n\nPlease enter your GitHub project name. You should use the URL to your GitHub repository as a guide\nwhen specifying this value.\n\n https://github.com/username/projectname\n ^^^^^^^^^^^\n This is the GitHub project name\n\n",
38
-
"pypi_project_name": "\n\nPlease enter the name of your project as it will appear on PyPI (https://pypi.org). This\nname cannot be associated with any other project on PyPI.\n\n",
39
-
"gist_id": "\n\nPlease enter the GitHub gist id for use with this project.\n\nGitHub defines a gist as \"a simple way to share snippets and pastes with others.\" The generated\npython project will use a gist to store information dynamically generated during the build (for\nexample code coverage information) that can be retrieved at a later time (for example, to display\na code coverage badge in the project's README.md file).\n\nTo create a gist:\n 1. Go to https://gist.github.com/\n 2. Enter the following values in their respective fields:\n\n Gist description...: Gist used by GitHub Action workflows to store and retrieve dynamic information (oftentimes used to create and display badges).\n Filename including extension...: README.md\n File contents: Gist used by GitHub Action workflows to store and retrieve dynamic information (oftentimes used to create and display badges).\n\n 3. Click the \"Create secret gist\" button\n 4. Copy the gist id (this will be the hex string at the end of the url associated with the gist\n that was just created). It will look something like:\n\n https://gist.github.com/<github username>/4c10281ff1abc26cafcb9a5f9a8a443e\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n This is the gist id\n\n",
35
+
"license": "\n\nPlease enter the license you would like to use for your project. https://choosealicense.com/ is a good resource that helps you choose the best license for your project.\n\nThis value will be used in:\n - Population of the License.txt file (or equivalent)\n - The copyright header for source files\n - Metadata for the generated python package\n - Metadata for the generated python binary\n - Metadata for the generated docker image (if applicable)\n\n",
36
+
"github_url": "\n\nPlease enter the GitHub URL. You should use the URL to your GitHub repository as a guide when specifying this value.\n\n https://github.com/username/projectname\n ^^^^^^^^^^^^^^^^^^\n This is the GitHub URL\n\n",
37
+
"github_username": "\n\nPlease enter your GitHub username. You should use the URL to your GitHub repository as a guide when specifying this value.\n\n https://github.com/username/projectname\n ^^^^^^^^\n This is the GitHub username\n\n",
38
+
"github_project_name": "\n\nPlease enter your GitHub project name. You should use the URL to your GitHub repository as a guide when specifying this value.\n\n https://github.com/username/projectname\n ^^^^^^^^^^^\n This is the GitHub project name\n\n",
39
+
"pypi_project_name": "\n\nPlease enter the name of your project as it will appear on PyPI (https://pypi.org). This name cannot be associated with any other project on PyPI.\n\n",
40
+
"gist_id": "\n\nPlease enter the GitHub gist id for use with this project.\n\nGitHub defines a gist as \"a simple way to share snippets and pastes with others.\" The generated python project will use a gist to store information dynamically generated during the build (for example code coverage information) that can be retrieved at a later time (for example, to display a code coverage badge in the project's README.md file). To create a gist:\n 1. Go to https://gist.github.com/\n 2. Enter the following values in their respective fields:\n\n Gist description...: Gist used by GitHub Action workflows to store and retrieve dynamic information (oftentimes used to create and display badges).\n Filename including extension...: README.md\n File contents: Gist used by GitHub Action workflows to store and retrieve dynamic information (oftentimes used to create and display badges).\n\n 3. Click the \"Create secret gist\" button\n 4. Copy the gist id (this will be the hex string at the end of the url associated with the gist\n that was just created). It will look something like:\n\n https://gist.github.com/<github username>/4c10281ff1abc26cafcb9a5f9a8a443e\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n This is the gist id\n\n",
40
41
"gist_username": "\n\nPlease enter the username associated with your gist_id. In most cases, this will be the same as your GitHub username.\n\n",
41
-
"sign_binaries": "\n\nWould you like the GitHub Action workflows to sign binaries produced by the project?\n\nA signed binary can be validated against its signature to ensure that changes have not been made\nto it after it was created. This is especially useful when distributing software to others and is\nhighly recommended.\n\n",
42
-
"create_docker_image": "\n\nWould you like the GitHub Action workflows to create docker images of the development environment?\nThese images can be used to produce exact results across different commits made to the repository\nover time (which is especially valuable when writing scientific software).\n\n"
42
+
"sign_binaries": "\n\nWould you like the GitHub Action workflows to sign binaries produced by the project?\n\nA signed binary can be validated against its signature to ensure that changes have not been made to it after it was created. This is especially useful when distributing software to others and is highly recommended.\n\n",
43
+
"openssf_best_practices_badge_id": "\n\nEnter the OpenSSF Best Practices Badge ID to display in your README.md file. Keep this default value if you do not have an OpenSSF Best Practices Badge ID but would like to create one (this is highly recommended). Enter the value 'none' if you do not want to display this badge in your README.md file.\n\nThe Open Source Security Foundation (OpenSSF) Best Practices badge is a way for Free/Libre and Open Source Software (FLOSS) projects to show that they follow best practices. Additional information is available at https://www.bestpractices.dev/.\n\nThis script will automatically generate scaffolding to achieve a 63% score. Completing your project's documentation and following development best practices will raise your score to 100%. Participation in the OpenSSF Best Practices Badge program is highly recommended.\n\n",
44
+
"create_docker_image": "\n\nWould you like the GitHub Action workflows to create docker images of the development environment? These images can be used to produce exact results across different commits made to the repository over time (which is especially valuable when writing scientific software).\n\n"
Copy file name to clipboardExpand all lines: src/PythonProjectBootstrapper/package/cookiecutter_prompts.yaml
+15-22Lines changed: 15 additions & 22 deletions
Original file line number
Diff line number
Diff line change
@@ -23,8 +23,7 @@ project_description: |-
23
23
- Metadata for the generated python binary
24
24
25
25
license: |-
26
-
Please enter the license you would like to use for your project. https://choosealicense.com/ is a
27
-
good resource that helps you choose the best license for your project.
26
+
Please enter the license you would like to use for your project. https://choosealicense.com/ is a good resource that helps you choose the best license for your project.
28
27
29
28
This value will be used in:
30
29
- Population of the License.txt file (or equivalent)
@@ -34,42 +33,33 @@ license: |-
34
33
- Metadata for the generated docker image (if applicable)
35
34
36
35
github_url: |-
37
-
Please enter the GitHub URL. You should use the URL to your GitHub repository as a guide when
38
-
specifying this value.
36
+
Please enter the GitHub URL. You should use the URL to your GitHub repository as a guide when specifying this value.
39
37
40
38
https://github.com/username/projectname
41
39
^^^^^^^^^^^^^^^^^^
42
40
This is the GitHub URL
43
41
44
42
github_username: |-
45
-
Please enter your GitHub username. You should use the URL to your GitHub repository as a guide when
46
-
specifying this value.
43
+
Please enter your GitHub username. You should use the URL to your GitHub repository as a guide when specifying this value.
47
44
48
45
https://github.com/username/projectname
49
46
^^^^^^^^
50
47
This is the GitHub username
51
48
52
49
github_project_name: |-
53
-
Please enter your GitHub project name. You should use the URL to your GitHub repository as a guide
54
-
when specifying this value.
50
+
Please enter your GitHub project name. You should use the URL to your GitHub repository as a guide when specifying this value.
55
51
56
52
https://github.com/username/projectname
57
53
^^^^^^^^^^^
58
54
This is the GitHub project name
59
55
60
56
pypi_project_name: |-
61
-
Please enter the name of your project as it will appear on PyPI (https://pypi.org). This
62
-
name cannot be associated with any other project on PyPI.
57
+
Please enter the name of your project as it will appear on PyPI (https://pypi.org). This name cannot be associated with any other project on PyPI.
63
58
64
59
gist_id: |-
65
60
Please enter the GitHub gist id for use with this project.
66
61
67
-
GitHub defines a gist as "a simple way to share snippets and pastes with others." The generated
68
-
python project will use a gist to store information dynamically generated during the build (for
69
-
example code coverage information) that can be retrieved at a later time (for example, to display
70
-
a code coverage badge in the project's README.md file).
71
-
72
-
To create a gist:
62
+
GitHub defines a gist as "a simple way to share snippets and pastes with others." The generated python project will use a gist to store information dynamically generated during the build (for example code coverage information) that can be retrieved at a later time (for example, to display a code coverage badge in the project's README.md file). To create a gist:
73
63
1. Go to https://gist.github.com/
74
64
2. Enter the following values in their respective fields:
75
65
@@ -91,11 +81,14 @@ gist_username: |-
91
81
sign_binaries: |-
92
82
Would you like the GitHub Action workflows to sign binaries produced by the project?
93
83
94
-
A signed binary can be validated against its signature to ensure that changes have not been made
95
-
to it after it was created. This is especially useful when distributing software to others and is
96
-
highly recommended.
84
+
A signed binary can be validated against its signature to ensure that changes have not been made to it after it was created. This is especially useful when distributing software to others and is highly recommended.
85
+
86
+
openssf_best_practices_badge_id: |-
87
+
Enter the OpenSSF Best Practices Badge ID to display in your README.md file. Keep this default value if you do not have an OpenSSF Best Practices Badge ID but would like to create one (this is highly recommended). Enter the value 'none' if you do not want to display this badge in your README.md file.
88
+
89
+
The Open Source Security Foundation (OpenSSF) Best Practices badge is a way for Free/Libre and Open Source Software (FLOSS) projects to show that they follow best practices. Additional information is available at https://www.bestpractices.dev/.
90
+
91
+
This script will automatically generate scaffolding to achieve a 63% score. Completing your project's documentation and following development best practices will raise your score to 100%. Participation in the OpenSSF Best Practices Badge program is highly recommended.
97
92
98
93
create_docker_image: |-
99
-
Would you like the GitHub Action workflows to create docker images of the development environment?
100
-
These images can be used to produce exact results across different commits made to the repository
101
-
over time (which is especially valuable when writing scientific software).
94
+
Would you like the GitHub Action workflows to create docker images of the development environment? These images can be used to produce exact results across different commits made to the repository over time (which is especially valuable when writing scientific software).
0 commit comments