This is a COMPAS-opinionated template that automates the set up of a new python-based code extension package using cookiecutter. We will, little-by-little, give it our own CREATE Lab twist!
This repository provides you with the basic infrastructure to kickstart your next project: a base folder structure, auto-documentation, testing, pip installing, and easier-integration with Rhino.
- Project directory and file structure
- Documentation based on Sphinx/reStructuredText
- A 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 Travis-CI integration
-
.github
-
data
-
docs
-
docsource
-
examples
-
src
-
temp
-
tests
-
.bumpversion.cfg
-
.editorconfig
-
.gitignore
-
.travis.yml
-
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 or Anaconda prompt, go to the folder where you store all of your projects, (such as "repos", "github" etc.):
$ cd <your-projects-folder>
Cookiecutter will create a folder for your project and fill it with template files. To instigate this this, run the following command and answer the prompts:
$ cookiecutter gh:createchaos/create_cookiecutter
To access your new project folder via the command line:
$ cd <project-slug>
To activate continuous integration (e.g. you are developing a package that is adequately tested, and every time you want to make an official release, you want to make sure all tests - among other things - are adequately passed).
This template is forked from the COMPAS'framework cookiecutter template for COMPAS extensions, and as such, it is licensed under the terms of the MIT License.