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