Generate a Project#
copier copy --trust https://github.com/sidisinsane/copier-python-hatch-template.git PATH/TO/DESTINATION
or
Note
You can also clone the project template using git clone https://github.com/sidisinsane/copier-python-hatch-template.git
, modify it and generate a project the locally cloned repo.
Prompts#
Copier will request your input for some prompts. Prompts are configured in the copier.yml
file.
Note
This template only supports GitHub as repository provider!
project_name
#
project_description
#
author_fullname
#
Note
The git_user_name
variable is handled by the custom Jinja2 extension at extensions/git.py
.
Configuration
author_email
#
๐ค Your email (project.authors.email in pyproject.toml)
['sidisinsane@users.noreply.github.com' | git_user_email]
Note
The git_user_email
variable is handled by the custom Jinja2 extension at extensions/git.py
.
Configuration
author_username
#
repository_provider
#
Configuration
repository_namespace
#
Configuration
repository_name
#
Note
The slugify
method is handled by the custom Jinja2 extension at extensions/slugify.py
.
Configuration
copyright_holder
#
Configuration
copyright_holder_email
#
Configuration
copyright_date
#
Note
The current_year
variable is handled by the custom Jinja2 extension at date/git.py
.
copyright_license
#
๐ค Your project's license
(Use arrow keys)
Apache-2.0
BSD-2-Clause
BSD-3-Clause
CDDL-1.0
EPL-2.0
GPL-2.0
GPL-3.0-only
ISC
LGPL-2.0-only
LGPL-2.1
LGPL-3.0-only
ยป MIT
MPL-2.0
Configuration
Note
To add more licenses, add the SPDX identifier to the copier.yml
and the license text to the project/LICENSE.jinja
file. License texts can be found at choosealicense.com.
python_package_distribution_name
#
Configuration
The name under which your Python package will be distributed. This will be the name of your project on pypi.org for example.
python_package_import_name
#
๐ค Your Python package import name (for `import NAME` in Python code)
[project_name | slugify('_')]
Configuration
The name that will be used to import your package in Python code. Yes, distribution name and import name can be different!
python_package_command_line_name
#
Configuration
Output#
Copying from template version 0.0.0.post14.dev0+b7759ea
create .
create bandit.yml
create .pylintrc
create mkdocs.yml
create pytest.ini
create .pre-commit-config.yaml
create README.md
create tests
create tests/test_calc.py
create tests/__init__.py
create .coveragerc
create LICENSE
create mypy.ini
create .gitignore
create .github
create .github/workflows
create .github/workflows/test.yml
create .github/workflows/codeql.yml
create .github/workflows/ci.yml
create .github/workflows/gh-pages-deploy.yml
create commitlint.config.js
create mkdocs
create mkdocs/license.md
create mkdocs/images
create mkdocs/images/logo.svg
create mkdocs/images/favicon.svg
create mkdocs/index.md
create mkdocs/javascripts
create mkdocs/javascripts/mathjax.js
create .vscode
create .vscode/settings.json
create .vscode/extensions.json
create .markdownlint.yml
create pyproject.toml
create src
create src/PYTHON_PACKAGE_IMPORT_NAME
create src/PYTHON_PACKAGE_IMPORT_NAME/__init__.py
create src/PYTHON_PACKAGE_IMPORT_NAME/calc.py
create src/PYTHON_PACKAGE_IMPORT_NAME/__about__.py
The generated project will have the following structure in the specified directory:
PYTHON-PACKAGE-DISTRIBUTION-NAME
โโโ .github
โ โโโ workflows
โ โโโ ci.yml
โ โโโ codeql.yml
โ โโโ gh-pages-deploy.yml
โ โโโ test.yml
โโโ .vscode
โ โโโ extensions.json
โ โโโ settings.json
โโโ mkdocs
โ โโโ images
โ โ โโโ favicon.svg
โ โ โโโ logo.svg
โ โโโ javascripts
โ โ โโโ mathjax.js
โ โโโ index.md
โ โโโ license.md
โโโ src
โ โโโ PYTHON_PACKAGE_IMPORT_NAME
โ โโโ __about__.py
โ โโโ __init__.py
โ โโโ calc.py
โโโ tests
โ โโโ __init__.py
โ โโโ test_calc.py
โโโ .coveragerc
โโโ .gitignore
โโโ .markdownlint.yml
โโโ .pre-commit-config.yaml
โโโ .pylintrc
โโโ bandit.yml
โโโ commitlint.config.js
โโโ LICENSE
โโโ mkdocs.yml
โโโ mypy.ini
โโโ pyproject.toml
โโโ pytest.ini
โโโ README.md