Cookiecutter template for COMPAS extensions.
Cookiecutter
is a command-line utility that lets you quickly bootstrap a new project from a template.
It takes a directory tree and copies it into your new project,
replacing all the generic info that finds surrounded by templating tags {{
and }}
with your project info written in cookiecutter.json
.
- Project directory and file structure
- Documentation based on Sphinx/reStructuredText
- Testing framework: pytest
- Basic setup script to create pip installable packages
- Automation of common tasks for development workflow based on pyinvoke (generate documentation, run tests, check format, etc.)
- EditorConfig integration
- Minimal Github workflows for CI/CD
.github
data
docs
examples
src
temp
tests
.bumpversion.cfg
.editorconfig
.gitignore
AUTHORS.md
CHANGELOG.md
CONTRIBUTING.md
LICENSE
MANIFEST.in
pytest.ini
README.md
requirements-dev.txt
requirements.txt
setup.cfg
setup.py
tasks.py
Install cookiecutter
command line: pip install cookiecutter
In the terminal, go to the folder where you want to place your project:
cd <your-projects-folder>
Generate a new Cookiecutter template layout:
cookiecutter gh:compas-dev/tpl-extension
Go to project folder:
cd <project-slug>
To use the coding style feature with EditorConfig:
- Some text editors have a native EditorConfig. If yours doesn't you can download the appropriate plugin here.
Basic CI/CD has already been setup in the .github folder, including automatic building test cross systems, documentation generation etc.
This requires adding your PYPI token in repo or org secrets as PYPI
, if you don't need this feature, go to .github/workflows/release.yaml and delete Lines 27~37.
This template is licensed under the terms of the MIT License