A cookiecutter template that creates a minimalistic template for one-module Python scripts, but with full project automation via Invoke and setuptools.
The resulting project uses rituals and invoke for task automation, and setuptools for building and distributing the script. A provided autoenv script takes care of creating a fully boot-strapped virtualenv
– it can also be used manually if you don't want to install autoenv
.
Documentation for the script can be provided via the README.rst
of the project, which is also used for the PyPI entry. Having no full Sphinx documentation is a concious decision, use the py-generic-project template for more complex tools that aren't a good fit for this reduced project setup.
To distribute your tool as a Debian package, especially when it has outside dependencies (i.e. a non-empty requirements.txt
), consider adding the dh-virtualenv template.
Since the files contained in the {{cookiecutter.repo_name}}
archetype itself will comprise the foundation of your project, they're unlicensed using the “Creative Commons Zero v1.0 Universal” license. All other files outside the {{cookiecutter.repo_name}}
directory are MIT-licensed – this effectively means you only have to attribute this project if you re-use all or parts of the contained templating mechanics and documentation.
To make the confusion complete, the template as-is gives the created project an Apache 2.0 license by default – you have to change the LICENSE
file, setup.py
and the script module to change that, after you materialized the template.