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.