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.
