Cookiecutter template for bleeding edge Python development. See @audreyr/cookiecutter.
The template aspires adoption of new and exciting developer tools. Focus is on automation and keeping your repo DRY. Whenever justifiable, new and Python-native is preferred over "tried and true".
Automate everything. Banish tedious tasks. Ensure reproducibility. Minimize errors.
Embrace conventions. Don't fret details when you don't have to. Make it easy for others to help you out.
CONTRIBUTING.md
setup.py
for more details)Level out inconsistencies between platforms. Virtualize. Simplify development. Inspire experimentation.
Python 2.7.x isn't bleeding edge but it would be crazy to not officially support it. The compromise is developing for Python 3 first and ensure backwards compatability through a lightweight _compat.py
module.
In your projects folder, scaffold a brand new Python project:
$ cookiecutter https://github.com/robinandeer/cookiecutter-pyvanguard.git
Then:
Don't worry, you have options; fork, remix, and pull requests!
Nekroze/cookiecutter-pypackage: with PyTest test runner, strict flake8 checking with Travis/Tox, and some docs and setup.py differences.
tony/cookiecutter-pypackage: with py2.7+3.3 optimizations. Flask/Werkzeug-style test runner, _compat
module and module/doc conventions. See README.rst
or the github comparison view for exhaustive list of additions and modifications.
Also see the network and family tree for this repo. (If you find anything that should be listed here, please add it and send a pull request!)
If you have differences in your preferred setup, I encourage you to fork this to create your own version. Or create your own; it doesn't strictly have to be a fork.
Once you have your own version working, add it to the Similar Cookiecutter Templates list above with a brief description.
It's up to you whether or not to rename your fork/own version. Do whatever you think sounds good.
I also accept pull requests on this repository provided they are small, atomic, and if they make the overall packaging experience better.