From c79e867d424e5d3ef3c678992555d0d1a0d70a7a Mon Sep 17 00:00:00 2001 From: Andrey Shpak Date: Tue, 27 Aug 2019 01:53:12 +0300 Subject: [PATCH] Original files consistent formatting --- AUTHORS.md | 10 - BACKERS.md | 2 +- CONTRIBUTING.md | 127 +++---- HISTORY.md | 878 ++++++++++++++++++++++++------------------------ README.md | 38 +-- case_studies.md | 6 +- 6 files changed, 526 insertions(+), 535 deletions(-) diff --git a/AUTHORS.md b/AUTHORS.md index 9ef86c942..b32d16a73 100644 --- a/AUTHORS.md +++ b/AUTHORS.md @@ -121,13 +121,3 @@ * Anthony Sottile ([@asottile](https://github.com/asottile)) * Jonathan Sick ([@jonathansick](https://github.com/jonathansick)) * Hugo ([@hugovk](https://github.com/hugovk)) - - - - - - - - - - diff --git a/BACKERS.md b/BACKERS.md index 4d004cc52..0c120e061 100644 --- a/BACKERS.md +++ b/BACKERS.md @@ -6,4 +6,4 @@ We would like to thank the following people for supporting us in our efforts to * Alexandre Y. Harano * Bruno Alla * Carol Willing -* Russell Keith-Magee \ No newline at end of file +* Russell Keith-Magee diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index d1c145f5c..acfdc8594 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,15 +1,13 @@ # CONTRIBUTING TO COOKIECUTTER Contributions are welcome, and they are greatly appreciated! Every -little bit helps, and credit will always be given. - - -- [Types of Contributions](#Types-of-Contributions) -- [Contributor Setup](#Setting-Up-the-Code-for-Local-Development) -- [Contributor Guidelines](#Contributor-Guidelines) -- [Contributor Testing](#Testing-with-tox) -- [Core Committer Guide](#Core-Committer-Guide) +little bit helps, and credit will always be given. +* [Types of Contributions](#Types-of-Contributions) +* [Contributor Setup](#Setting-Up-the-Code-for-Local-Development) +* [Contributor Guidelines](#Contributor-Guidelines) +* [Contributor Testing](#Testing-with-tox) +* [Core Committer Guide](#Core-Committer-Guide) ## Types of Contributions @@ -29,10 +27,10 @@ Report bugs at https://github.com/audreyr/cookiecutter/issues. If you are reporting a bug, please include: -- Your operating system name and version. -- Any details about your local setup that might be helpful in troubleshooting. -- If you can, provide detailed steps to reproduce the bug. -- If you don't have steps to reproduce the bug, just note your observations in +* Your operating system name and version. +* Any details about your local setup that might be helpful in troubleshooting. +* If you can, provide detailed steps to reproduce the bug. +* If you don't have steps to reproduce the bug, just note your observations in as much detail as you can. Questions to start a discussion about the issue are welcome. @@ -61,8 +59,10 @@ articles, and such. If you want to review your changes on the documentation locally, you can do:: +```bash pip install -r docs/requirements.txt make servedocs +``` This will compile the documentation, open it in your browser and start watching the files for changes, recompiling as you save. @@ -86,54 +86,57 @@ Here's how to set up `cookiecutter` for local development. 1. Fork the `cookiecutter` repo on GitHub. 2. Clone your fork locally: -``` - $ git clone git@github.com:your_name_here/cookiecutter.git -``` + ```bash + git clone git@github.com:your_name_here/cookiecutter.git + ``` 3. Install your local copy into a virtualenv. Assuming you have virtualenvwrapper installed, this is how you set up your fork for local development: - ``` - $ mkvirtualenv cookiecutter - $ cd cookiecutter/ - $ python setup.py develop - ``` + + ```bash + mkvirtualenv cookiecutter + cd cookiecutter/ + python setup.py develop + ``` 4. Create a branch for local development: -``` - $ git checkout -b name-of-your-bugfix-or-feature +```bash + git checkout -b name-of-your-bugfix-or-feature ``` Now you can make your changes locally. 5. When you're done making changes, check that your changes pass the tests and flake8: -``` - $ pip install tox - $ tox +```bash + pip install tox + tox ``` Please note that tox runs flake8 automatically, since we have a test environment for it. If you feel like running only the flake8 environment, please use the following command: -``` - $ tox -e flake8 + +```bash + tox -e flake8 ``` 6. Commit your changes and push your branch to GitHub: -``` - $ git add . - $ git commit -m "Your detailed description of your changes." - $ git push origin name-of-your-bugfix-or-feature -``` -7. Check that the test coverage hasn't dropped:: +```bash + git add . + git commit -m "Your detailed description of your changes." + git push origin name-of-your-bugfix-or-feature ``` - $ tox -e cov-report + +7. Check that the test coverage hasn't dropped: + +```bash + tox -e cov-report ``` 8. Submit a pull request through the GitHub website. - ## Contributor Guidelines ### Pull Request Guidelines @@ -156,7 +159,7 @@ Before you submit a pull request, check that it meets these guidelines: * Use triple double quotes for docstrings and raw string literals for regular expressions even if they aren't needed. * Example: -```py +```python LIGHT_MESSAGES = { 'English': "There are %(number_of_lights)s lights.", 'Pirate': "Arr! Thar be %(number_of_lights)s lights." @@ -168,8 +171,8 @@ Before you submit a pull request, check that it meets these guidelines: """Return True if the given message sounds piratical.""" return re.search(r"(?i)(arr|avast|yohoho)!", message) is not None ``` -* Write new code in Python 3. +* Write new code in Python 3. ## Testing with tox @@ -178,31 +181,40 @@ Tox uses py.test under the hood, hence it supports the same syntax for selecting For further information please consult the `pytest usage docs`_. To run a particular test class with tox: + +```bash + tox -e py '-k TestFindHooks' ``` - $ tox -e py '-k TestFindHooks' -``` + To run some tests with names matching a string expression: + +```bash + tox -e py '-k generate' ``` - $ tox -e py '-k generate' -``` + Will run all tests matching "generate", test_generate_files for example. To run just one method: + +```bash + tox -e py '-k "TestFindHooks and test_find_hook"' ``` - $ tox -e py '-k "TestFindHooks and test_find_hook"' -``` -To run all tests using various versions of python in virtualenvs defined in tox.ini, just run tox.: -``` - $ tox + +To run all tests using various versions of python in virtualenvs defined in tox.ini, just run tox: + +```bash + tox ``` + This configuration file setup the pytest-cov plugin and it is an additional dependency. It generate a coverage report after the tests. It is possible to tests with some versions of python, to do this the command is: + +```bash + tox -e py27,py34,pypy ``` - $ tox -e py27,py34,pypy -``` -Will run py.test with the python2.7, python3.4 and pypy interpreters, for example. +Will run py.test with the python2.7, python3.4 and pypy interpreters, for example. ## Core Committer Guide @@ -306,7 +318,7 @@ New features require a +1 from 2 other core committers (besides yourself). ### Process: Roadmap -The roadmap is https://github.com/audreyr/cookiecutter/milestones?direction=desc&sort=due_date&state=open +The roadmap located [here](https://github.com/cookiecutter/cookiecutter/milestones?direction=desc&sort=due_date&state=open) Due dates are flexible. Core committers can change them as needed. Note that GitHub sort on them is buggy. @@ -327,7 +339,7 @@ When you're processing the first change after a release, create boilerplate foll ```rest x.y.z (Development) - + The goals of this release are TODO: release summary of features Features: @@ -340,7 +352,7 @@ When you're processing the first change after a release, create boilerplate foll Other changes: - * Description of the change, thanks to @contributor (#PR). + * Description of the change, thanks to @contributor (#PR). .. _`@contributor`: https://github.com/contributor @@ -358,11 +370,14 @@ note: Adding a template doesn't give authors credit. ### Process: Generating Contributing.md From the `cookiecutter` project root: + +```bash + make contributing ``` - $ make contributing -``` + This will generate the following message: -``` + +```bash rm CONTRIBUTING.md touch CONTRIBUTING.md cat docs/contributing.md >> CONTRIBUTING.md @@ -401,8 +416,6 @@ Exceptions: * Keep feature versions as small as possible, preferably one new feature per version. * Be welcoming to newcomers and encourage diverse new contributors from all backgrounds. See the Python Community Code of Conduct (https://www.python.org/psf/codeofconduct/). - - ### Becoming a Core Committer Contributors may be given core commit privileges. Preference will be given to those with: diff --git a/HISTORY.md b/HISTORY.md index ec6050469..b56e0f978 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,616 +1,612 @@ # History -### 1.7.0 (????-??-??) ??????? +History is important, but our current roadmap can be found [here](https://github.com/cookiecutter/cookiecutter/milestones?direction=desc&sort=due_date&state=open) +## 1.7.0 (????-??-??) ??????? Important Changes: -- Drop support for EOL Python 3.3, thanks to [\@hugovk](https://github.com/hugovk) (\#1024) +* Drop support for EOL Python 3.3, thanks to [\@hugovk](https://github.com/hugovk) (\#1024) Other Changes: -- Add a [CODE\_OF\_CONDUCT.md](https://github.com/audreyr/cookiecutter/blob/master/CODE_OF_CONDUCT.md) file to the project, thanks to [\@andreagrandi](https://github.com/andreagrandi) (\#1009) -- Update docstrings in `cookiecutter/main.py`, `cookiecutter/__init__.py`, and `cookiecutter/log.py` to follow the PEP 257 style guide, thanks to [\@meahow](https://github.com/meahow) (\#998, \#999, \#1000) -- Update docstrings in `cookiecutter/utils.py` to follow the PEP 257 style guide, thanks to [\@dornheimer](https://github.com/dornheimer)(\#1026) -- Fix grammar in *Choice Variables* documentation, thanks to [\@jubrilissa](https://github.com/jubrilissa) (\#1011) -- Update installation docs with links to the Windows Subsystem and GNU utilities, thanks to [\@Nythiennzo](https://github.com/Nythiennzo) +* Add a [CODE\_OF\_CONDUCT.md](https://github.com/audreyr/cookiecutter/blob/master/CODE_OF_CONDUCT.md) file to the project, thanks to [\@andreagrandi](https://github.com/andreagrandi) (\#1009) +* Update docstrings in `cookiecutter/main.py`, `cookiecutter/__init__.py`, and `cookiecutter/log.py` to follow the PEP 257 style guide, thanks to [\@meahow](https://github.com/meahow) (\#998, \#999, \#1000) +* Update docstrings in `cookiecutter/utils.py` to follow the PEP 257 style guide, thanks to [\@dornheimer](https://github.com/dornheimer)(\#1026) +* Fix grammar in *Choice Variables* documentation, thanks to [\@jubrilissa](https://github.com/jubrilissa) (\#1011) +* Update installation docs with links to the Windows Subsystem and GNU utilities, thanks to [\@Nythiennzo](https://github.com/Nythiennzo) for the PR and [\@BruceEckel](https://github.com/BruceEckel) for the review (\#1016) -- Upgrade flake8 to version 3.5.0, thanks to [\@cclauss](https://github.com/cclauss) (\#1038) -- Update tutorial with explanation for how cookiecutter finds the template file, thanks to [\@accraze](https://github.com/accraze)(\#1025) -- Update CI config files to use `TOXENV` environment variable, thanks to [\@asottile](https://github.com/asottile) (\#1019) -- Improve user documentation for writing hooks, thanks to [\@jonathansick](https://github.com/jonathansick) (\#1057) -- Make sure to preserve the order of items in the generated cookiecutter context, thanks to [\@hackebrot](https://github.com/hackebrot) (\#1074) -- Fixed DeprecationWarning for a regular expression on python 3.6, thanks to [\@reinout](https://github.com/reinout) (\#1124) -- Add more cookiecutter templates to the mix: - - [cookiecutter-python-cli](https://github.com/xuanluong/cookiecutter-python-cli) by [\@xuanluong](https://github.com/xuanluong) (\#1003) - - [cookiecutter-docker-science](https://github.com/docker-science/cookiecutter-docker-science) by [\@takahi-i](https://github.com/takahi-i) (\#1040) - - [cookiecutter-flask-skeleton](https://github.com/realpython/cookiecutter-flask-skeleton) by [\@mjhea0](https://github.com/mjhea0) (\#1052) - - [cookiecutter-awesome](https://github.com/Pawamoy/cookiecutter-awesome) by [\@Pawamoy](https://github.com/Pawamoy) (\#1051) - - [cookiecutter-flask-ask](https://github.com/chrisvoncsefalvay/cookiecutter-flask-ask) by [\@machinekoder](https://github.com/machinekoder) (\#1056) - - [cookiecutter-data-driven-journalism](https://github.com/jastark/cookiecutter-data-driven-journalism) by [\@JAStark](https://github.com/JAStark) (\#1020) - - [cookiecutter-tox-plugin](https://github.com/tox-dev/cookiecutter-tox-plugin) by [\@obestwalter](https://github.com/obestwalter) (\#1103) - -### 1.6.0 (2017-10-15) Tim Tam +* Upgrade flake8 to version 3.5.0, thanks to [\@cclauss](https://github.com/cclauss) (\#1038) +* Update tutorial with explanation for how cookiecutter finds the template file, thanks to [\@accraze](https://github.com/accraze)(\#1025) +* Update CI config files to use `TOXENV` environment variable, thanks to [\@asottile](https://github.com/asottile) (\#1019) +* Improve user documentation for writing hooks, thanks to [\@jonathansick](https://github.com/jonathansick) (\#1057) +* Make sure to preserve the order of items in the generated cookiecutter context, thanks to [\@hackebrot](https://github.com/hackebrot) (\#1074) +* Fixed DeprecationWarning for a regular expression on python 3.6, thanks to [\@reinout](https://github.com/reinout) (\#1124) +* Add more cookiecutter templates to the mix: + * [cookiecutter-python-cli](https://github.com/xuanluong/cookiecutter-python-cli) by [\@xuanluong](https://github.com/xuanluong) (\#1003) + * [cookiecutter-docker-science](https://github.com/docker-science/cookiecutter-docker-science) by [\@takahi-i](https://github.com/takahi-i) (\#1040) + * [cookiecutter-flask-skeleton](https://github.com/realpython/cookiecutter-flask-skeleton) by [\@mjhea0](https://github.com/mjhea0) (\#1052) + * [cookiecutter-awesome](https://github.com/Pawamoy/cookiecutter-awesome) by [\@Pawamoy](https://github.com/Pawamoy) (\#1051) + * [cookiecutter-flask-ask](https://github.com/chrisvoncsefalvay/cookiecutter-flask-ask) by [\@machinekoder](https://github.com/machinekoder) (\#1056) + * [cookiecutter-data-driven-journalism](https://github.com/jastark/cookiecutter-data-driven-journalism) by [\@JAStark](https://github.com/JAStark) (\#1020) + * [cookiecutter-tox-plugin](https://github.com/tox-dev/cookiecutter-tox-plugin) by [\@obestwalter](https://github.com/obestwalter) (\#1103) + +## 1.6.0 (2017-10-15) Tim Tam New Features: -- Include template path or template URL in cookiecutter context under `_template`, thanks to [\@aroig](https://github.com/aroig) (\#774) -- Add a URL abbreviation for GitLab template projects, thanks to [\@hackebrot](https://github.com/hackebrot) (\#963) -- Add option to use templates from Zip files or Zip URLs, thanks to [\@freakboy3742](https://github.com/freakboy3742) (\#961) +* Include template path or template URL in cookiecutter context under `_template`, thanks to [\@aroig](https://github.com/aroig) (\#774) +* Add a URL abbreviation for GitLab template projects, thanks to [\@hackebrot](https://github.com/hackebrot) (\#963) +* Add option to use templates from Zip files or Zip URLs, thanks to [\@freakboy3742](https://github.com/freakboy3742) (\#961) Bug Fixes: -- Fix an issue with missing default template abbreviations for when a user defined custom abbreviations, thanks to [\@noirbizarre](https://github.com/noirbizarre) for the issue report and [\@hackebrot](https://github.com/hackebrot) for the fix (\#966, \#967) -- Preserve existing output directory on project generation failure, thanks to [\@ionelmc](https://github.com/ionelmc) for the report and +* Fix an issue with missing default template abbreviations for when a user defined custom abbreviations, thanks to [\@noirbizarre](https://github.com/noirbizarre) for the issue report and [\@hackebrot](https://github.com/hackebrot) for the fix (\#966, \#967) +* Preserve existing output directory on project generation failure, thanks to [\@ionelmc](https://github.com/ionelmc) for the report and [\@michaeljoseph](https://github.com/michaeljoseph) for the fix (\#629, \#964) -- Fix Python 3.x error handling for `git` operation failures, thanks to [\@jmcarp](https://github.com/jmcarp) (\#905) +* Fix Python 3.x error handling for `git` operation failures, thanks to [\@jmcarp](https://github.com/jmcarp) (\#905) Other Changes: -- Fix broken link to *Copy without Render* docs, thanks to [\@coreysnyder04](https://github.com/coreysnyder04) (\#912) -- Improve debug log message for when a hook is not found, thanks to [\@raphigaziano](https://github.com/raphigaziano/) (\#160) -- Fix module summary and `expand_abbreviations()` doc string as per pep257, thanks to [\@terryjbates](https://github.com/terryjbates) +* Fix broken link to *Copy without Render* docs, thanks to [\@coreysnyder04](https://github.com/coreysnyder04) (\#912) +* Improve debug log message for when a hook is not found, thanks to [\@raphigaziano](https://github.com/raphigaziano/) (\#160) +* Fix module summary and `expand_abbreviations()` doc string as per pep257, thanks to [\@terryjbates](https://github.com/terryjbates) (\#772) -- Update doc strings in `cookiecutter/cli.py` and `cookiecutter/config.py` according to pep257, thanks to [\@terryjbates](https://github.com/terryjbates) (\#922, \#931) -- Update doc string for `is_copy_only_path()` according to pep257, thanks to [\@mathagician](https://github.com/mathagician) and +* Update doc strings in `cookiecutter/cli.py` and `cookiecutter/config.py` according to pep257, thanks to [\@terryjbates](https://github.com/terryjbates) (\#922, \#931) +* Update doc string for `is_copy_only_path()` according to pep257, thanks to [\@mathagician](https://github.com/mathagician) and [\@terryjbates](https://github.com/terryjbates) (\#935, \#949) -- Update doc strings in `cookiecutter/extensions.py` according to pep257, thanks to [\@meahow](https://github.com/meahow) (\#996) -- Fix miscellaneous issues with building docs, thanks to [\@stevepiercy](https://github.com/stevepiercy) (\#889) -- Re-implement Makefile and update several make rules, thanks to [\@hackebrot](https://github.com/hackebrot) (\#930) -- Fix broken link to pytest docs, thanks to [\@eyalev](https://github.com/eyalev) for the issue report and [\@devstrat](https://github.com/devstrat) for the fix (\#939, \#940) -- Add `test_requirements.txt` file for easier testing outside of tox, thanks to [\@ramnes](https://github.com/ramnes) (\#945) -- Improve wording in *copy without render* docs, thanks to [\@eyalev](https://github.com/eyalev) (\#938) -- Fix a number of typos, thanks to [\@delirious-lettuce](https://github.com/delirious-lettuce) (\#968) -- Improved *extra context* docs by noting that extra context keys must be present in the template\'s `cookiecutter.json`, thanks to +* Update doc strings in `cookiecutter/extensions.py` according to pep257, thanks to [\@meahow](https://github.com/meahow) (\#996) +* Fix miscellaneous issues with building docs, thanks to [\@stevepiercy](https://github.com/stevepiercy) (\#889) +* Re-implement Makefile and update several make rules, thanks to [\@hackebrot](https://github.com/hackebrot) (\#930) +* Fix broken link to pytest docs, thanks to [\@eyalev](https://github.com/eyalev) for the issue report and [\@devstrat](https://github.com/devstrat) for the fix (\#939, \#940) +* Add `test_requirements.txt` file for easier testing outside of tox, thanks to [\@ramnes](https://github.com/ramnes) (\#945) +* Improve wording in *copy without render* docs, thanks to [\@eyalev](https://github.com/eyalev) (\#938) +* Fix a number of typos, thanks to [\@delirious-lettuce](https://github.com/delirious-lettuce) (\#968) +* Improved *extra context* docs by noting that extra context keys must be present in the template\'s `cookiecutter.json`, thanks to [\@karantan](https://github.com/karantan) for the report and fix (\#863, \#864) -- Added more cookiecutter templates to the mix: - - [cookiecutter-kata-cpputest](https://github.com/13coders/cookiecutter-kata-cpputest) by [\@13coders](https://github.com/13coders) (\#901) - - [cookiecutter-kata-gtest](https://github.com/13coders/cookiecutter-kata-gtest) by [\@13coders](https://github.com/13coders) (\#901) - - [cookiecutter-pyramid-talk-python-starter](https://github.com/mikeckennedy/cookiecutter-pyramid-talk-python-starter) by [\@mikeckennedy](https://github.com/mikeckennedy) (\#915) - - [cookiecutter-android](https://github.com/alexfu/cookiecutter-android) by [\@alexfu](https://github.com/alexfu) (\#890) - - [cookiecutter-lux-python](https://github.com/alexkey/cookiecutter-lux-python) by [\@alexkey](https://github.com/alexkey) (\#895) - - [cookiecutter-git](https://github.com/webevllc/cookiecutter-git) by [\@tuxredux](https://github.com/tuxredux) (\#921) - - [cookiecutter-ansible-role-ci](https://github.com/ferrarimarco/cookiecutter-ansible-role) by [\@ferrarimarco](https://github.com/ferrarimarco) (\#903) - - [cookiecutter\_dotfile](https://github.com/bdcaf/cookiecutter_dotfile) by [\@bdcaf](https://github.com/bdcaf) (\#925) - - [painless-continuous-delivery](https://github.com/painless-software/painless-continuous-delivery) by [\@painless-software](https://github.com/painless-software) +* Added more cookiecutter templates to the mix: + * [cookiecutter-kata-cpputest](https://github.com/13coders/cookiecutter-kata-cpputest) by [\@13coders](https://github.com/13coders) (\#901) + * [cookiecutter-kata-gtest](https://github.com/13coders/cookiecutter-kata-gtest) by [\@13coders](https://github.com/13coders) (\#901) + * [cookiecutter-pyramid-talk-python-starter](https://github.com/mikeckennedy/cookiecutter-pyramid-talk-python-starter) by [\@mikeckennedy](https://github.com/mikeckennedy) (\#915) + * [cookiecutter-android](https://github.com/alexfu/cookiecutter-android) by [\@alexfu](https://github.com/alexfu) (\#890) + * [cookiecutter-lux-python](https://github.com/alexkey/cookiecutter-lux-python) by [\@alexkey](https://github.com/alexkey) (\#895) + * [cookiecutter-git](https://github.com/webevllc/cookiecutter-git) by [\@tuxredux](https://github.com/tuxredux) (\#921) + * [cookiecutter-ansible-role-ci](https://github.com/ferrarimarco/cookiecutter-ansible-role) by [\@ferrarimarco](https://github.com/ferrarimarco) (\#903) + * [cookiecutter\_dotfile](https://github.com/bdcaf/cookiecutter_dotfile) by [\@bdcaf](https://github.com/bdcaf) (\#925) + * [painless-continuous-delivery](https://github.com/painless-software/painless-continuous-delivery) by [\@painless-software](https://github.com/painless-software) (\#927) - - [cookiecutter-molecule](https://github.com/retr0h/cookiecutter-molecule) by [\@retr0h](https://github.com/retr0h) (\#954) - - [sublime-snippet-package-template](https://github.com/agenoria/sublime-snippet-package-template) by [\@agenoria](https://github.com/agenoria) (\#956) - - [cookiecutter-conda-python](https://github.com/conda/cookiecutter-conda-python) by [\@conda](https://github.com/conda) (\#969) - - [cookiecutter-flask-minimal](https://github.com/candidtim/cookiecutter-flask-minimal) by [\@candidtim](https://github.com/candidtim) (\#977) - - [cookiecutter-pypackage-rust-cross-platform-publish](https://github.com/mckaymatt/cookiecutter-pypackage-rust-cross-platform-publish) by [\@mckaymatt](https://github.com/mckaymatt) (\#957) - - [cookie-cookie](https://github.com/tuxredux/cookie-cookie) by [\@tuxredux](https://github.com/tuxredux) (\#951) - - [cookiecutter-telegram-bot](https://github.com/Ars2014/cookiecutter-telegram-bot) by [\@Ars2014](https://github.com/Ars2014) (\#984) - - [python-project-template](https://github.com/Kwpolska/python-project-template) by [\@Kwpolska](https://github.com/Kwpolska) (\#986) - - [wemake-django-template](https://github.com/wemake-services/wemake-django-template) by [\@wemake-services](https://github.com/wemake-services) (\#990) - - [cookiecutter-raml](https://github.com/genzj/cookiecutter-raml) by [\@genzj](https://github.com/genzj) (\#994) - - [cookiecutter-anyblok-project](https://github.com/AnyBlok/cookiecutter-anyblok-project) by [\@AnyBlok](https://github.com/AnyBlok) (\#988) - - [cookiecutter-devenv](https://bitbucket.org/greenguavalabs/cookiecutter-devenv.git) by [\@greenguavalabs](https://bitbucket.org/greenguavalabs) (\#991) - - -### 1.5.1 (2017-02-04) Alfajor + * [cookiecutter-molecule](https://github.com/retr0h/cookiecutter-molecule) by [\@retr0h](https://github.com/retr0h) (\#954) + * [sublime-snippet-package-template](https://github.com/agenoria/sublime-snippet-package-template) by [\@agenoria](https://github.com/agenoria) (\#956) + * [cookiecutter-conda-python](https://github.com/conda/cookiecutter-conda-python) by [\@conda](https://github.com/conda) (\#969) + * [cookiecutter-flask-minimal](https://github.com/candidtim/cookiecutter-flask-minimal) by [\@candidtim](https://github.com/candidtim) (\#977) + * [cookiecutter-pypackage-rust-cross-platform-publish](https://github.com/mckaymatt/cookiecutter-pypackage-rust-cross-platform-publish) by [\@mckaymatt](https://github.com/mckaymatt) (\#957) + * [cookie-cookie](https://github.com/tuxredux/cookie-cookie) by [\@tuxredux](https://github.com/tuxredux) (\#951) + * [cookiecutter-telegram-bot](https://github.com/Ars2014/cookiecutter-telegram-bot) by [\@Ars2014](https://github.com/Ars2014) (\#984) + * [python-project-template](https://github.com/Kwpolska/python-project-template) by [\@Kwpolska](https://github.com/Kwpolska) (\#986) + * [wemake-django-template](https://github.com/wemake-services/wemake-django-template) by [\@wemake-services](https://github.com/wemake-services) (\#990) + * [cookiecutter-raml](https://github.com/genzj/cookiecutter-raml) by [\@genzj](https://github.com/genzj) (\#994) + * [cookiecutter-anyblok-project](https://github.com/AnyBlok/cookiecutter-anyblok-project) by [\@AnyBlok](https://github.com/AnyBlok) (\#988) + * [cookiecutter-devenv](https://bitbucket.org/greenguavalabs/cookiecutter-devenv.git) by [\@greenguavalabs](https://bitbucket.org/greenguavalabs) (\#991) + +## 1.5.1 (2017-02-04) Alfajor New Features: -- Major update to installation documentation, thanks to [\@stevepiercy](https://github.com/stevepiercy) (\#880) +* Major update to installation documentation, thanks to [\@stevepiercy](https://github.com/stevepiercy) (\#880) Bug Fixes: -- Resolve an issue around default values for dict variables, thanks to [\@e-kolpakov](https://github.com/e-kolpakov) for raising the issue and [\@hackebrot](https://github.com/hackebrot) for the PR (\#882, \#884) +* Resolve an issue around default values for dict variables, thanks to [\@e-kolpakov](https://github.com/e-kolpakov) for raising the issue and [\@hackebrot](https://github.com/hackebrot) for the PR (\#882, \#884) Other Changes: -- Contributor documentation reST fixes, thanks to [\@stevepiercy](https://github.com/stevepiercy) (\#878) -- Added more cookiecutter templates to the mix: - - [widget-cookiecutter](https://github.com/jupyter/widget-cookiecutter) by [\@willingc](https://github.com/willingc) (\#781) - - [cookiecutter-django-foundation](https://github.com/Parbhat/cookiecutter-django-foundation) by [\@Parbhat](https://github.com/Parbhat) (\#804) - - [cookiecutter-tornado](https://github.com/hkage/cookiecutter-tornado) by [\@hkage](https://github.com/hkage) (\#807) - - [cookiecutter-django-ansible](https://github.com/HackSoftware/cookiecutter-django-ansible) by [\@Ivaylo-Bachvarov](https://github.com/Ivaylo-Bachvarov)(\#816) - - [CICADA](https://github.com/TAMU-CPT/CICADA) by [\@elenimijalis](https://github.com/elenimijalis) (\#840) - - [cookiecutter-tf-module](https://github.com/DualSpark/cookiecutter-tf-module) by [\@VDuda](https://github.com/VDuda) (\#843) - - [cookiecutter-pyqt4](https://github.com/aeroaks/cookiecutter-pyqt4) by [\@aeroaks](https://github.com/aeroaks) (\#847) - - [cookiecutter-golang](https://github.com/lacion/cookiecutter-golang) by [\@mjhea0](https://github.com/mjhea0) and [\@lacion](https://github.com/lacion) (\#872, \#873) - - [cookiecutter-elm](https://github.com/m-x-k/cookiecutter-elm.git), [cookiecutter-java](https://github.com/m-x-k/cookiecutter-java.git) and [cookiecutter-spring-boot](https://github.com/m-x-k/cookiecutter-spring-boot.git) by [\@m-x-k](https://github.com/m-x-k) (\#879) +* Contributor documentation reST fixes, thanks to [\@stevepiercy](https://github.com/stevepiercy) (\#878) +* Added more cookiecutter templates to the mix: + * [widget-cookiecutter](https://github.com/jupyter/widget-cookiecutter) by [\@willingc](https://github.com/willingc) (\#781) + * [cookiecutter-django-foundation](https://github.com/Parbhat/cookiecutter-django-foundation) by [\@Parbhat](https://github.com/Parbhat) (\#804) + * [cookiecutter-tornado](https://github.com/hkage/cookiecutter-tornado) by [\@hkage](https://github.com/hkage) (\#807) + * [cookiecutter-django-ansible](https://github.com/HackSoftware/cookiecutter-django-ansible) by [\@Ivaylo-Bachvarov](https://github.com/Ivaylo-Bachvarov)(\#816) + * [CICADA](https://github.com/TAMU-CPT/CICADA) by [\@elenimijalis](https://github.com/elenimijalis) (\#840) + * [cookiecutter-tf-module](https://github.com/DualSpark/cookiecutter-tf-module) by [\@VDuda](https://github.com/VDuda) (\#843) + * [cookiecutter-pyqt4](https://github.com/aeroaks/cookiecutter-pyqt4) by [\@aeroaks](https://github.com/aeroaks) (\#847) + * [cookiecutter-golang](https://github.com/lacion/cookiecutter-golang) by [\@mjhea0](https://github.com/mjhea0) and [\@lacion](https://github.com/lacion) (\#872, \#873) + * [cookiecutter-elm](https://github.com/m-x-k/cookiecutter-elm.git), [cookiecutter-java](https://github.com/m-x-k/cookiecutter-java.git) and [cookiecutter-spring-boot](https://github.com/m-x-k/cookiecutter-spring-boot.git) by [\@m-x-k](https://github.com/m-x-k) (\#879) - -### 1.5.0 (2016-12-18) Alfajor +## 1.5.0 (2016-12-18) Alfajor The primary goal of this release was to add command-line support for passing extra context, address minor bugs and make a number of improvements. New Features: -- Inject extra context with command-line arguments, thanks to [\@msabramo](https://github.com/msabramo) and [\@michaeljoseph](https://github.com/michaeljoseph) (\#666). -- Updated conda installation instructions to work with the new conda-forge distribution of Cookiecutter, thanks to [\@pydanny](https://github.com/pydanny) and especially [\@bollwyvl](https://github.com/bollwyvl) (\#232, \#705). -- Refactor code responsible for interaction with version control systems and raise better error messages, thanks to [\@michaeljoseph](https://github.com/michaeljoseph) (\#778). -- Add support for executing cookiecutter using `python -m cookiecutter` or from a checkout/zip file, thanks to [\@brettcannon](https://github.com/brettcannon) (\#788). -- New CLI option `--debug-file PATH` to store a log file on disk. By default no log file is written. Entries for `DEBUG` level and higher. Thanks to [\@hackebrot](https://github.com/hackebrot)(\#792). -- Existing templates in a user\'s `cookiecutters_dir` (default is `~/.cookiecutters/`) can now be referenced by directory name, thanks +* Inject extra context with command-line arguments, thanks to [\@msabramo](https://github.com/msabramo) and [\@michaeljoseph](https://github.com/michaeljoseph) (\#666). +* Updated conda installation instructions to work with the new conda-forge distribution of Cookiecutter, thanks to [\@pydanny](https://github.com/pydanny) and especially [\@bollwyvl](https://github.com/bollwyvl) (\#232, \#705). +* Refactor code responsible for interaction with version control systems and raise better error messages, thanks to [\@michaeljoseph](https://github.com/michaeljoseph) (\#778). +* Add support for executing cookiecutter using `python -m cookiecutter` or from a checkout/zip file, thanks to [\@brettcannon](https://github.com/brettcannon) (\#788). +* New CLI option `--debug-file PATH` to store a log file on disk. By default no log file is written. Entries for `DEBUG` level and higher. Thanks to [\@hackebrot](https://github.com/hackebrot)(\#792). +* Existing templates in a user\'s `cookiecutters_dir` (default is `~/.cookiecutters/`) can now be referenced by directory name, thanks to [\@michaeljoseph](https://github.com/michaeljoseph) (\#825). -- Add support for dict values in `cookiecutter.json`, thanks to [\@freakboy3742](https://github.com/freakboy3742) and [\@hackebrot](https://github.com/hackebrot) (\#815, \#858). -- Add a `jsonify` filter to default jinja2 extensions that json.dumps a Python object into a string, thanks to [\@aroig](https://github.com/aroig) (\#791). +* Add support for dict values in `cookiecutter.json`, thanks to [\@freakboy3742](https://github.com/freakboy3742) and [\@hackebrot](https://github.com/hackebrot) (\#815, \#858). +* Add a `jsonify` filter to default jinja2 extensions that json.dumps a Python object into a string, thanks to [\@aroig](https://github.com/aroig) (\#791). Bug Fixes: -- Fix typo in the error logging text for when a hook did not exit successfully, thanks to [\@luzfcb](https://github.com/luzfcb) (\#656) -- Fix an issue around **replay** file names when **cookiecutter** is used with a relative path to a template, thanks to [\@eliasdorneles](https://github.com/eliasdorneles) for raising the issue and [\@hackebrot](https://github.com/hackebrot) for the PR (\#752, \#753) -- Ignore hook files with tilde-suffixes, thanks to [\@hackebrot](https://github.com/hackebrot) (\#768) -- Fix a minor issue with the code that generates a name for a template, thanks to [\@hackebrot](https://github.com/hackebrot)(\#798) -- Handle empty hook file or other OS errors, thanks to [\@christianmlong](https://github.com/christianmlong) for raising this bug and [\@jcarbaugh](https://github.com/jcarbaugh) and [\@hackebrot](https://github.com/hackebrot) for the fix (\#632, \#729, \#862) -- Resolve an issue with custom extensions not being loaded for `pre_gen_project` and `post_gen_project` hooks, thanks to [\@cheungnj](https://github.com/cheungnj) (\#860) +* Fix typo in the error logging text for when a hook did not exit successfully, thanks to [\@luzfcb](https://github.com/luzfcb) (\#656) +* Fix an issue around **replay** file names when **cookiecutter** is used with a relative path to a template, thanks to [\@eliasdorneles](https://github.com/eliasdorneles) for raising the issue and [\@hackebrot](https://github.com/hackebrot) for the PR (\#752, \#753) +* Ignore hook files with tilde-suffixes, thanks to [\@hackebrot](https://github.com/hackebrot) (\#768) +* Fix a minor issue with the code that generates a name for a template, thanks to [\@hackebrot](https://github.com/hackebrot)(\#798) +* Handle empty hook file or other OS errors, thanks to [\@christianmlong](https://github.com/christianmlong) for raising this bug and [\@jcarbaugh](https://github.com/jcarbaugh) and [\@hackebrot](https://github.com/hackebrot) for the fix (\#632, \#729, \#862) +* Resolve an issue with custom extensions not being loaded for `pre_gen_project` and `post_gen_project` hooks, thanks to [\@cheungnj](https://github.com/cheungnj) (\#860) Other Changes: -- Remove external dependencies from tests, so that tests can be run w/o network connection, thanks to [\@hackebrot](https://github.com/hackebrot) (\#603) -- Remove execute permissions on Python files, thanks to [\@mozillazg](https://github.com/mozillazg) (\#650) -- Report code coverage info from AppVeyor build to codecov, thanks to [\@ewjoachim](https://github.com/ewjoachim) (\#670) -- Documented functions and methods lacking documentation, thanks to [\@pydanny](https://github.com/pydanny) (\#673) -- Documented `__init__` methods for Environment objects, thanks to [\@pydanny](https://github.com/pydanny) (\#677) -- Updated whichcraft to 0.4.0, thanks to [\@pydanny](https://github.com/pydanny). -- Updated documentation link to Read the Docs, thanks to [\@natim](https://github.com/Natim) (\#687) -- Moved cookiecutter templates and added category links, thanks to [\@willingc](https://github.com/willingc) (\#674) -- Added Github Issue Template, thanks to [\@luzfcb](https://github.com/luzfcb) (\#700) -- Added `ssh` repository examples, thanks to [\@pokoli](https://github.com/pokoli/) (\#702) -- Fix links to the cookiecutter-data-science template and its documentation, thanks to [\@tephyr](https://github.com/tephyr) for the PR and [\@willingc](https://github.com/willingc) for the review (\#711, \#714) -- Update link to docs for Django\'s `--template` command line option, thanks to [\@purplediane](https://github.com/purplediane) (\#754) -- Create *hook backup files* during the tests as opposed to having them as static files in the repository, thanks to [\@hackebrot](https://github.com/hackebrot) (\#789) - -- Applied PEP 257 docstring conventions to: - - `environment.py`, thanks to [\@terryjbates](https://github.com/terryjbates) (\#759) - - `find.py`, thanks to [\@terryjbates](https://github.com/terryjbates) (\#761) - - `generate.py`, thanks to [\@terryjbates](https://github.com/terryjbates) (\#764) - - `hooks.py`, thanks to [\@terryjbates](https://github.com/terryjbates) (\#766) - - `repository.py`, thanks to [\@terryjbates](https://github.com/terryjbates) (\#833) - - `vcs.py`, thanks to [\@terryjbates](https://github.com/terryjbates) (\#831) - -- Fix link to the Tryton cookiecutter, thanks to [\@cedk](https://github.com/cedk) and [\@nicoe](https://github.com/nicoe) (\#697, \#698) -- Added PyCon US 2016 sponsorship to README, thanks to [\@purplediane](https://github.com/purplediane) (\#720) -- Added a sprint contributor doc, thanks to [\@phoebebauer](https://github.com/phoebebauer) (\#727) -- Converted readthedocs links (.org -\> .io), thanks to [\@adamchainz](https://github.com/adamchainz) (\#718) -- Added Python 3.6 support, thanks to [\@suledev](https://github.com/suledev) (\#728) -- Update occurrences of `repo_name` in documentation, thanks to [\@palmerev](https://github.com/palmerev) (\#734) -- Added case studies document, thanks to [\@pydanny](https://github.com/pydanny) (\#735) -- Added first steps cookiecutter creation tutorial, thanks to [\@BruceEckel](https://github.com/BruceEckel) (\#736) -- Reorganised tutorials and setup git submodule to external tutorial, thanks to [\@dot2dotseurat](https://github.com/dot2dotseurat) (\#740) -- Debian installation instructions, thanks to [\@ivanlyon](https://github.com/ivanlyon) (\#738) -- Usage documentation typo fix., thanks to [\@terryjbates](https://github.com/terryjbates) (\#739) -- Updated documentation copyright date, thanks to [\@zzzirk](https://github.com/zzzirk) (\#747) -- Add a make rule to update git submodules, thanks to [\@hackebrot](https://github.com/hackebrot) (\#746) -- Split up advanced usage docs, thanks to [\@zzzirk](https://github.com/zzzirk) (\#749) -- Documentation for the `no_input` option, thanks to [\@pokoli](https://github.com/pokoli/) (\#701) -- Remove unnecessary shebangs from python files, thanks to [\@michaeljoseph](https://github.com/michaeljoseph) (\#763) -- Refactor cookiecutter template identification, thanks to [\@michaeljoseph](https://github.com/michaeljoseph) (\#777) -- Add a `cli_runner` test fixture to simplify CLI tests, thanks to [\@hackebrot](https://github.com/hackebrot) (\#790) -- Add a check to ensure cookiecutter repositories have JSON context, thanks to [\@michaeljoseph](https://github.com/michaeljoseph)(\#782) -- Rename the internal function that determines whether a file should be rendered, thanks to [\@audreyr](https://github.com/audreyr) for raising the issue and [\@hackebrot](https://github.com/hackebrot)for the PR (\#741, \#802) -- Fix typo in docs, thanks to [\@mwarkentin](https://github.com/mwarkentin) (\#828) -- Fix broken link to *Invoke* docs, thanks to [\@B3QL](https://github.com/B3QL) (\#820) -- Add documentation to `render_variable` function in `prompt.py`, thanks to [\@pydanny](https://github.com/pydanny) (\#678) -- Fix python3.6 travis-ci and tox configuration, thanks to [\@luzfcb](https://github.com/luzfcb) (\#844) -- Add missing encoding declarations to python files, thanks to [\@andytom](https://github.com/andytom) (\#852) -- Disable poyo logging for tests, thanks to [\@hackebrot](https://github.com/hackebrot) (\#855) -- Remove pycache directories in make clean-pyc, thanks to [\@hackebrot](https://github.com/hackebrot) (\#849) -- Refactor hook system to only find the requested hook, thanks to [\@michaeljoseph](https://github.com/michaeljoseph) (\#834) -- Add tests for custom extensions in `pre_gen_project` and `post_gen_project` hooks, thanks to [\@hackebrot](https://github.com/hackebrot) (\#856) -- Make the build reproducible by avoiding nondeterministic keyword arguments, thanks to [\@lamby](https://github.com/lamby) and [\@hackebrot](https://github.com/hackebrot) (\#800, \#861) -- Extend CLI help message and point users to the github project to engage with the community, thanks to [\@hackebrot](https://github.com/hackebrot) (\#859) - -- Added more cookiecutter templates to the mix: - - [cookiecutter-funkload-friendly](https://github.com/tokibito/cookiecutter-funkload-friendly) by [\@tokibito](https://github.com/tokibito) (\#657) - - [cookiecutter-reveal.js](https://github.com/keimlink/cookiecutter-reveal.js) by [\@keimlink](https://github.com/keimlink) (\#660) - - [cookiecutter-python-app](https://github.com/mdklatt/cookiecutter-python-app) by [\@mdklatt](https://github.com/mdklatt) (\#659) - - [morepath-cookiecutter](https://github.com/morepath/morepath-cookiecutter) by [\@href](https://github.com/href) (\#672) - - [hovercraft-slides](https://github.com/Springerle/hovercraft-slides) by [\@jhermann](https://github.com/jhermann) (\#665) - - [cookiecutter-es6-package](https://github.com/ratson/cookiecutter-es6-package) by [\@ratson](https://github.com/ratson) (\#667) - - [cookiecutter-webpack](https://github.com/hzdg/cookiecutter-webpack) by [\@hzdg](https://github.com/hzdg) (\#668) - - [cookiecutter-django-herokuapp](https://github.com/dulaccc/cookiecutter-django-herokuapp) by [\@dulaccc](:https://github.com/dulaccc) (\#374) - - [cookiecutter-django-aws-eb](https://github.com/dolphinkiss/cookiecutter-django-aws-eb) by [\@peterlauri](https://github.com/peterlauri) (\#626) - - [wagtail-starter-kit](https://github.com/tkjone/wagtail-starter-kit) by [\@tkjone](https://github.com/tkjone) (\#658) - - [cookiecutter-dpf-effect](https://github.com/SpotlightKid/cookiecutter-dpf-effect) by [\@SpotlightKid](https://github.com/SpotlightKid) (\#663) - - [cookiecutter-dpf-audiotk](https://github.com/SpotlightKid/cookiecutter-dpf-audiotk) by [\@SpotlightKid](https://github.com/SpotlightKid) (\#663) - - [cookiecutter-template](https://github.com/eviweb/cookiecutter-template) by [\@eviweb](https://github.com/eviweb) (\#664) - - [cookiecutter-angular2](https://github.com/matheuspoleza/cookiecutter-angular2) by [\@matheuspoleza](https://github.com/matheuspoleza) (\#675) - - [cookiecutter-data-science](http://drivendata.github.io/cookiecutter-data-science/) by [\@pjbull](https://github.com/pjbull) (\#680) - - [cc\_django\_ember\_app](https://bitbucket.org/levit_scs/cc_django_ember_app) by [\@nanuxbe](https://github.com/nanuxbe) (\#686) - - [cc\_project\_app\_drf](https://bitbucket.org/levit_scs/cc_project_app_drf) by [\@nanuxbe](https://github.com/nanuxbe) (\#686) - - [cc\_project\_app\_full\_with\_hooks](https://bitbucket.org/levit_scs/cc_project_app_full_with_hooks) by [\@nanuxbe](https://github.com/nanuxbe) (\#686) - - [beat-generator](https://github.com/elastic/beat-generator) by [\@ruflin](https://github.com/ruflin) (\#695) - - [cookiecutter-scala](https://github.com/Plippe/cookiecutter-scala) by [\@Plippe](https://github.com/Plippe) (\#751) - - [cookiecutter-snakemake-analysis-pipeline](https://github.com/xguse/cookiecutter-snakemake-analysis-pipeline) by [\@xguse](https://github.com/xguse) (\#692) - - [cookiecutter-py3tkinter](https://github.com/ivanlyon/cookiecutter-py3tkinter) by [\@ivanlyon](https://github.com/ivanlyon) (\#730) - - [pyramid-cookiecutter-alchemy](https://github.com/Pylons/pyramid-cookiecutter-alchemy) by [\@stevepiercy](https://github.com/stevepiercy) (\#745) - - [pyramid-cookiecutter-starter](https://github.com/Pylons/pyramid-cookiecutter-starter) by [\@stevepiercy](https://github.com/stevepiercy) (\#745) - - [pyramid-cookiecutter-zodb](https://github.com/Pylons/pyramid-cookiecutter-zodb) by [\@stevepiercy](https://github.com/stevepiercy) (\#745) - - [substanced-cookiecutter](https://github.com/Pylons/substanced-cookiecutter) by [\@stevepiercy](https://github.com/stevepiercy) (\#745) - - [cookiecutter-simple-django-cn](https://github.com/shenyushun/cookiecutter-simple-django-cn) by [\@shenyushun](https://github.com/shenyushun) (\#765) - - [cookiecutter-pyqt5](https://github.com/mandeepbhutani/cookiecutter-pyqt5) by [\@mandeepbhutani](https://github.com/mandeepbhutani) (\#797) - - [cookiecutter-xontrib](https://github.com/laerus/cookiecutter-xontrib) by [\@laerus](https://github.com/laerus) (\#817) - - [cookiecutter-reproducible-science](https://github.com/mkrapp/cookiecutter-reproducible-science) by [\@mkrapp](https://github.com/mkrapp) (\#826) - - [cc-automated-drf-template](https://github.com/TAMU-CPT/cc-automated-drf-template) by [\@elenimijalis](https://github.com/elenimijalis) (\#832) - -### 1.4.0 (2016-03-20) Shortbread +* Remove external dependencies from tests, so that tests can be run w/o network connection, thanks to [\@hackebrot](https://github.com/hackebrot) (\#603) +* Remove execute permissions on Python files, thanks to [\@mozillazg](https://github.com/mozillazg) (\#650) +* Report code coverage info from AppVeyor build to codecov, thanks to [\@ewjoachim](https://github.com/ewjoachim) (\#670) +* Documented functions and methods lacking documentation, thanks to [\@pydanny](https://github.com/pydanny) (\#673) +* Documented `__init__` methods for Environment objects, thanks to [\@pydanny](https://github.com/pydanny) (\#677) +* Updated whichcraft to 0.4.0, thanks to [\@pydanny](https://github.com/pydanny). +* Updated documentation link to Read the Docs, thanks to [\@natim](https://github.com/Natim) (\#687) +* Moved cookiecutter templates and added category links, thanks to [\@willingc](https://github.com/willingc) (\#674) +* Added Github Issue Template, thanks to [\@luzfcb](https://github.com/luzfcb) (\#700) +* Added `ssh` repository examples, thanks to [\@pokoli](https://github.com/pokoli/) (\#702) +* Fix links to the cookiecutter-data-science template and its documentation, thanks to [\@tephyr](https://github.com/tephyr) for the PR and [\@willingc](https://github.com/willingc) for the review (\#711, \#714) +* Update link to docs for Django\'s `--template` command line option, thanks to [\@purplediane](https://github.com/purplediane) (\#754) +* Create *hook backup files* during the tests as opposed to having them as static files in the repository, thanks to [\@hackebrot](https://github.com/hackebrot) (\#789) + +* Applied PEP 257 docstring conventions to: + * `environment.py`, thanks to [\@terryjbates](https://github.com/terryjbates) (\#759) + * `find.py`, thanks to [\@terryjbates](https://github.com/terryjbates) (\#761) + * `generate.py`, thanks to [\@terryjbates](https://github.com/terryjbates) (\#764) + * `hooks.py`, thanks to [\@terryjbates](https://github.com/terryjbates) (\#766) + * `repository.py`, thanks to [\@terryjbates](https://github.com/terryjbates) (\#833) + * `vcs.py`, thanks to [\@terryjbates](https://github.com/terryjbates) (\#831) + +* Fix link to the Tryton cookiecutter, thanks to [\@cedk](https://github.com/cedk) and [\@nicoe](https://github.com/nicoe) (\#697, \#698) +* Added PyCon US 2016 sponsorship to README, thanks to [\@purplediane](https://github.com/purplediane) (\#720) +* Added a sprint contributor doc, thanks to [\@phoebebauer](https://github.com/phoebebauer) (\#727) +* Converted readthedocs links (.org -\> .io), thanks to [\@adamchainz](https://github.com/adamchainz) (\#718) +* Added Python 3.6 support, thanks to [\@suledev](https://github.com/suledev) (\#728) +* Update occurrences of `repo_name` in documentation, thanks to [\@palmerev](https://github.com/palmerev) (\#734) +* Added case studies document, thanks to [\@pydanny](https://github.com/pydanny) (\#735) +* Added first steps cookiecutter creation tutorial, thanks to [\@BruceEckel](https://github.com/BruceEckel) (\#736) +* Reorganised tutorials and setup git submodule to external tutorial, thanks to [\@dot2dotseurat](https://github.com/dot2dotseurat) (\#740) +* Debian installation instructions, thanks to [\@ivanlyon](https://github.com/ivanlyon) (\#738) +* Usage documentation typo fix., thanks to [\@terryjbates](https://github.com/terryjbates) (\#739) +* Updated documentation copyright date, thanks to [\@zzzirk](https://github.com/zzzirk) (\#747) +* Add a make rule to update git submodules, thanks to [\@hackebrot](https://github.com/hackebrot) (\#746) +* Split up advanced usage docs, thanks to [\@zzzirk](https://github.com/zzzirk) (\#749) +* Documentation for the `no_input` option, thanks to [\@pokoli](https://github.com/pokoli/) (\#701) +* Remove unnecessary shebangs from python files, thanks to [\@michaeljoseph](https://github.com/michaeljoseph) (\#763) +* Refactor cookiecutter template identification, thanks to [\@michaeljoseph](https://github.com/michaeljoseph) (\#777) +* Add a `cli_runner` test fixture to simplify CLI tests, thanks to [\@hackebrot](https://github.com/hackebrot) (\#790) +* Add a check to ensure cookiecutter repositories have JSON context, thanks to [\@michaeljoseph](https://github.com/michaeljoseph)(\#782) +* Rename the internal function that determines whether a file should be rendered, thanks to [\@audreyr](https://github.com/audreyr) for raising the issue and [\@hackebrot](https://github.com/hackebrot)for the PR (\#741, \#802) +* Fix typo in docs, thanks to [\@mwarkentin](https://github.com/mwarkentin) (\#828) +* Fix broken link to *Invoke* docs, thanks to [\@B3QL](https://github.com/B3QL) (\#820) +* Add documentation to `render_variable` function in `prompt.py`, thanks to [\@pydanny](https://github.com/pydanny) (\#678) +* Fix python3.6 travis-ci and tox configuration, thanks to [\@luzfcb](https://github.com/luzfcb) (\#844) +* Add missing encoding declarations to python files, thanks to [\@andytom](https://github.com/andytom) (\#852) +* Disable poyo logging for tests, thanks to [\@hackebrot](https://github.com/hackebrot) (\#855) +* Remove pycache directories in make clean-pyc, thanks to [\@hackebrot](https://github.com/hackebrot) (\#849) +* Refactor hook system to only find the requested hook, thanks to [\@michaeljoseph](https://github.com/michaeljoseph) (\#834) +* Add tests for custom extensions in `pre_gen_project` and `post_gen_project` hooks, thanks to [\@hackebrot](https://github.com/hackebrot) (\#856) +* Make the build reproducible by avoiding nondeterministic keyword arguments, thanks to [\@lamby](https://github.com/lamby) and [\@hackebrot](https://github.com/hackebrot) (\#800, \#861) +* Extend CLI help message and point users to the github project to engage with the community, thanks to [\@hackebrot](https://github.com/hackebrot) (\#859) + +* Added more cookiecutter templates to the mix: + * [cookiecutter-funkload-friendly](https://github.com/tokibito/cookiecutter-funkload-friendly) by [\@tokibito](https://github.com/tokibito) (\#657) + * [cookiecutter-reveal.js](https://github.com/keimlink/cookiecutter-reveal.js) by [\@keimlink](https://github.com/keimlink) (\#660) + * [cookiecutter-python-app](https://github.com/mdklatt/cookiecutter-python-app) by [\@mdklatt](https://github.com/mdklatt) (\#659) + * [morepath-cookiecutter](https://github.com/morepath/morepath-cookiecutter) by [\@href](https://github.com/href) (\#672) + * [hovercraft-slides](https://github.com/Springerle/hovercraft-slides) by [\@jhermann](https://github.com/jhermann) (\#665) + * [cookiecutter-es6-package](https://github.com/ratson/cookiecutter-es6-package) by [\@ratson](https://github.com/ratson) (\#667) + * [cookiecutter-webpack](https://github.com/hzdg/cookiecutter-webpack) by [\@hzdg](https://github.com/hzdg) (\#668) + * [cookiecutter-django-herokuapp](https://github.com/dulaccc/cookiecutter-django-herokuapp) by [\@dulaccc](:https://github.com/dulaccc) (\#374) + * [cookiecutter-django-aws-eb](https://github.com/dolphinkiss/cookiecutter-django-aws-eb) by [\@peterlauri](https://github.com/peterlauri) (\#626) + * [wagtail-starter-kit](https://github.com/tkjone/wagtail-starter-kit) by [\@tkjone](https://github.com/tkjone) (\#658) + * [cookiecutter-dpf-effect](https://github.com/SpotlightKid/cookiecutter-dpf-effect) by [\@SpotlightKid](https://github.com/SpotlightKid) (\#663) + * [cookiecutter-dpf-audiotk](https://github.com/SpotlightKid/cookiecutter-dpf-audiotk) by [\@SpotlightKid](https://github.com/SpotlightKid) (\#663) + * [cookiecutter-template](https://github.com/eviweb/cookiecutter-template) by [\@eviweb](https://github.com/eviweb) (\#664) + * [cookiecutter-angular2](https://github.com/matheuspoleza/cookiecutter-angular2) by [\@matheuspoleza](https://github.com/matheuspoleza) (\#675) + * [cookiecutter-data-science](http://drivendata.github.io/cookiecutter-data-science/) by [\@pjbull](https://github.com/pjbull) (\#680) + * [cc\_django\_ember\_app](https://bitbucket.org/levit_scs/cc_django_ember_app) by [\@nanuxbe](https://github.com/nanuxbe) (\#686) + * [cc\_project\_app\_drf](https://bitbucket.org/levit_scs/cc_project_app_drf) by [\@nanuxbe](https://github.com/nanuxbe) (\#686) + * [cc\_project\_app\_full\_with\_hooks](https://bitbucket.org/levit_scs/cc_project_app_full_with_hooks) by [\@nanuxbe](https://github.com/nanuxbe) (\#686) + * [beat-generator](https://github.com/elastic/beat-generator) by [\@ruflin](https://github.com/ruflin) (\#695) + * [cookiecutter-scala](https://github.com/Plippe/cookiecutter-scala) by [\@Plippe](https://github.com/Plippe) (\#751) + * [cookiecutter-snakemake-analysis-pipeline](https://github.com/xguse/cookiecutter-snakemake-analysis-pipeline) by [\@xguse](https://github.com/xguse) (\#692) + * [cookiecutter-py3tkinter](https://github.com/ivanlyon/cookiecutter-py3tkinter) by [\@ivanlyon](https://github.com/ivanlyon) (\#730) + * [pyramid-cookiecutter-alchemy](https://github.com/Pylons/pyramid-cookiecutter-alchemy) by [\@stevepiercy](https://github.com/stevepiercy) (\#745) + * [pyramid-cookiecutter-starter](https://github.com/Pylons/pyramid-cookiecutter-starter) by [\@stevepiercy](https://github.com/stevepiercy) (\#745) + * [pyramid-cookiecutter-zodb](https://github.com/Pylons/pyramid-cookiecutter-zodb) by [\@stevepiercy](https://github.com/stevepiercy) (\#745) + * [substanced-cookiecutter](https://github.com/Pylons/substanced-cookiecutter) by [\@stevepiercy](https://github.com/stevepiercy) (\#745) + * [cookiecutter-simple-django-cn](https://github.com/shenyushun/cookiecutter-simple-django-cn) by [\@shenyushun](https://github.com/shenyushun) (\#765) + * [cookiecutter-pyqt5](https://github.com/mandeepbhutani/cookiecutter-pyqt5) by [\@mandeepbhutani](https://github.com/mandeepbhutani) (\#797) + * [cookiecutter-xontrib](https://github.com/laerus/cookiecutter-xontrib) by [\@laerus](https://github.com/laerus) (\#817) + * [cookiecutter-reproducible-science](https://github.com/mkrapp/cookiecutter-reproducible-science) by [\@mkrapp](https://github.com/mkrapp) (\#826) + * [cc-automated-drf-template](https://github.com/TAMU-CPT/cc-automated-drf-template) by [\@elenimijalis](https://github.com/elenimijalis) (\#832) + +## 1.4.0 (2016-03-20) Shortbread The goal of this release is changing to a strict Jinja2 environment, paving the way to more awesome in the future, as well as adding support for Jinja2 extensions. New Features: -- Added support for Jinja2 extension support, thanks to [\@hackebrot](https://github.com/hackebrot) (\#617). -- Now raises an error if Cookiecutter tries to render a template that contains an undefined variable. Makes generation more robust and +* Added support for Jinja2 extension support, thanks to [\@hackebrot](https://github.com/hackebrot) (\#617). +* Now raises an error if Cookiecutter tries to render a template that contains an undefined variable. Makes generation more robust and secure (\#586). Work done by [\@hackebrot](https://github.com/hackebrot) (\#111, \#586, \#592) -- Uses strict Jinja2 env in prompt, thanks to [\@hackebrot](https://github.com/hackebrot) (\#598, \#613) -- Switched from pyyaml/ruamel.yaml libraries that were problematic across platforms to the pure Python [poyo](https://pypi.python.org/pypi/poyo) library, thanks to [\@hackebrot](https://github.com/hackebrot) (\#557, \#569, \#621) -- User config values for `cookiecutters_dir` and `replay_dir` now support environment variable and user home expansion, thanks to [\@nfarrar](https://github.com/nfarrar) for the suggestion and [\@hackebrot](https://github.com/hackebrot) for the PR (\#640,\#642) -- Add [jinja2-time](https://pypi.python.org/pypi/jinja2-time) as default extension for dates and times in templates via `{% now 'utc' %}`,thanks to [\@hackebrot](https://github.com/hackebrot) (\#653) +* Uses strict Jinja2 env in prompt, thanks to [\@hackebrot](https://github.com/hackebrot) (\#598, \#613) +* Switched from pyyaml/ruamel.yaml libraries that were problematic across platforms to the pure Python [poyo](https://pypi.python.org/pypi/poyo) library, thanks to [\@hackebrot](https://github.com/hackebrot) (\#557, \#569, \#621) +* User config values for `cookiecutters_dir` and `replay_dir` now support environment variable and user home expansion, thanks to [\@nfarrar](https://github.com/nfarrar) for the suggestion and [\@hackebrot](https://github.com/hackebrot) for the PR (\#640,\#642) +* Add [jinja2-time](https://pypi.python.org/pypi/jinja2-time) as default extension for dates and times in templates via `{% now 'utc' %}`,thanks to [\@hackebrot](https://github.com/hackebrot) (\#653) Bug Fixes: -- Provided way to define options that have no defaults, thanks to [\@johtso](https://github.com/johtso) (\#587, \#588) -- Make sure that `replay.dump()` and `replay.load()` use the correct user config, thanks to [\@hackebrot](https://github.com/hackebrot) +* Provided way to define options that have no defaults, thanks to [\@johtso](https://github.com/johtso) (\#587, \#588) +* Make sure that `replay.dump()` and `replay.load()` use the correct user config, thanks to [\@hackebrot](https://github.com/hackebrot) (\#590, \#594) -- Added correct CA bundle for Git on Appveyor, thanks to [\@maiksensi](https://github.com/maiksensi) (\#599, \#602) -- Open `HISTORY.rst` with `utf-8` encoding when reading the changelog, thanks to [\@0-wiz-0](https://github.com/0-wiz-0) for submitting the issue and [\@hackebrot](https://github.com/hackebrot) for the fix (\#638, \#639) -- Fix repository indicators for [privaterepository](http://cookiecutter.readthedocs.io/en/latest/usage.html#works-with-private-repos) +* Added correct CA bundle for Git on Appveyor, thanks to [\@maiksensi](https://github.com/maiksensi) (\#599, \#602) +* Open `HISTORY.rst` with `utf-8` encoding when reading the changelog, thanks to [\@0-wiz-0](https://github.com/0-wiz-0) for submitting the issue and [\@hackebrot](https://github.com/hackebrot) for the fix (\#638, \#639) +* Fix repository indicators for [privaterepository](http://cookiecutter.readthedocs.io/en/latest/usage.html#works-with-private-repos) urls, thanks to [\@habnabit](https://github.com/habnabit) for the fix (\#595) and [\@hackebrot](https://github.com/hackebrot) for the tests (\#655) Other Changes: -- Set path before running tox, thanks to [\@maiksensi](https://github.com/maiksensi) (\#615, \#620) -- Removed xfail in test\_cookiecutters, thanks to [\@hackebrot](https://github.com/hackebrot) (\#618) -- Removed django-cms-plugin on account of 404 error, thanks to [\@mativs](https://github.com/mativs) and [\@pydanny](https://github.com/pydanny) (\#593) -- Fixed docs/usage.rst, thanks to [\@macrotim](https://github.com/macrotim) (\#604) -- Update .gitignore to latest Python.gitignore and ignore PyCharm files, thanks to [\@audreyr](https://github.com/audreyr) -- Use open context manager to read context\_file in generate() function, thanks to [\@hackebrot](https://github.com/hackebrot) +* Set path before running tox, thanks to [\@maiksensi](https://github.com/maiksensi) (\#615, \#620) +* Removed xfail in test\_cookiecutters, thanks to [\@hackebrot](https://github.com/hackebrot) (\#618) +* Removed django-cms-plugin on account of 404 error, thanks to [\@mativs](https://github.com/mativs) and [\@pydanny](https://github.com/pydanny) (\#593) +* Fixed docs/usage.rst, thanks to [\@macrotim](https://github.com/macrotim) (\#604) +* Update .gitignore to latest Python.gitignore and ignore PyCharm files, thanks to [\@audreyr](https://github.com/audreyr) +* Use open context manager to read context\_file in generate() function, thanks to [\@hackebrot](https://github.com/hackebrot) (\#607, \#608) -- Added documentation for choice variables, thanks to [\@maiksensi](https://github.com/maiksensi) (\#611) -- Set up Scrutinizer to check code quality, thanks to [\@audreyr](https://github.com/audreyr) -- Drop distutils support in setup.py, thanks to [\@hackebrot](https://github.com/hackebrot) (\#606, \#609) -- Change cookiecutter-pypackage-minimal link, thanks to [\@kragniz](https://github.com/kragniz) (\#614) -- Fix typo in one of the template\'s description, thanks to [\@ryanfreckleton](https://github.com/ryanfreckleton) (\#643) -- Fix broken link to [\_copy\_without\_render](http://cookiecutter.readthedocs.io/en/latest/advanced_usage.html#copy-without-render) +* Added documentation for choice variables, thanks to [\@maiksensi](https://github.com/maiksensi) (\#611) +* Set up Scrutinizer to check code quality, thanks to [\@audreyr](https://github.com/audreyr) +* Drop distutils support in setup.py, thanks to [\@hackebrot](https://github.com/hackebrot) (\#606, \#609) +* Change cookiecutter-pypackage-minimal link, thanks to [\@kragniz](https://github.com/kragniz) (\#614) +* Fix typo in one of the template\'s description, thanks to [\@ryanfreckleton](https://github.com/ryanfreckleton) (\#643) +* Fix broken link to [\_copy\_without\_render](http://cookiecutter.readthedocs.io/en/latest/advanced_usage.html#copy-without-render) in *troubleshooting.rst*, thanks to [\@ptim](https://github.com/ptim) (\#647) -- Added more cookiecutter templates to the mix: - - [cookiecutter-pipproject](https://github.com/wdm0006/cookiecutter-pipproject) by [\@wdm0006](https://github.com/wdm0006) (\#624) - - [cookiecutter-flask-2](https://github.com/wdm0006/cookiecutter-flask) by [\@wdm0006](https://github.com/wdm0006) (\#624) - - [cookiecutter-kotlin-gradle](https://github.com/thomaslee/cookiecutter-kotlin-gradle) by [\@thomaslee](https://github.com/thomaslee) (\#622) - - [cookiecutter-tryton-fulfilio](https://github.com/fulfilio/cookiecutter-tryton) by [\@cedk](https://github.com/cedk) (\#631) - - [django-starter](https://github.com/tkjone/django-starter) by [\@tkjone](https://github.com/tkjone) (\#635) - - [django-docker-bootstrap](https://github.com/legios89/django-docker-bootstrap) by [\@legios89](https://github.com/legios89) (\#636) - - [cookiecutter-mediawiki-extension](https://github.com/JonasGroeger/cookiecutter-mediawiki-extension) by [\@JonasGroeger](https://github.com/JonasGroeger) (\#645) - - [cookiecutter-django-gulp](https://github.com/valerymelou/cookiecutter-django-gulp) by [\@valerymelou](https://github.com/valerymelou) (\#648) +* Added more cookiecutter templates to the mix: + * [cookiecutter-pipproject](https://github.com/wdm0006/cookiecutter-pipproject) by [\@wdm0006](https://github.com/wdm0006) (\#624) + * [cookiecutter-flask-2](https://github.com/wdm0006/cookiecutter-flask) by [\@wdm0006](https://github.com/wdm0006) (\#624) + * [cookiecutter-kotlin-gradle](https://github.com/thomaslee/cookiecutter-kotlin-gradle) by [\@thomaslee](https://github.com/thomaslee) (\#622) + * [cookiecutter-tryton-fulfilio](https://github.com/fulfilio/cookiecutter-tryton) by [\@cedk](https://github.com/cedk) (\#631) + * [django-starter](https://github.com/tkjone/django-starter) by [\@tkjone](https://github.com/tkjone) (\#635) + * [django-docker-bootstrap](https://github.com/legios89/django-docker-bootstrap) by [\@legios89](https://github.com/legios89) (\#636) + * [cookiecutter-mediawiki-extension](https://github.com/JonasGroeger/cookiecutter-mediawiki-extension) by [\@JonasGroeger](https://github.com/JonasGroeger) (\#645) + * [cookiecutter-django-gulp](https://github.com/valerymelou/cookiecutter-django-gulp) by [\@valerymelou](https://github.com/valerymelou) (\#648) -### 1.3.0 (2015-11-10) Pumpkin Spice +## 1.3.0 (2015-11-10) Pumpkin Spice The goal of this release is to extend the user config feature and to make hook execution more robust. New Features: -- Abort project generation if `pre_gen_project` or `post_gen_project` hook scripts fail, thanks to [\@eliasdorneles](https://github.com/eliasdorneles) (\#464, \#549) -- Extend user config capabilities with additional cli options `--config-file` and `--default-config` and environment variable `COOKIECUTTER_CONFIG`, thanks to [\@jhermann](https://github.com/jhermann), [\@pfmoore](https://github.com/pfmoore), and [\@hackebrot](https://github.com/hackebrot) (\#258, \#424, \#565) +* Abort project generation if `pre_gen_project` or `post_gen_project` hook scripts fail, thanks to [\@eliasdorneles](https://github.com/eliasdorneles) (\#464, \#549) +* Extend user config capabilities with additional cli options `--config-file` and `--default-config` and environment variable `COOKIECUTTER_CONFIG`, thanks to [\@jhermann](https://github.com/jhermann), [\@pfmoore](https://github.com/pfmoore), and [\@hackebrot](https://github.com/hackebrot) (\#258, \#424, \#565) Bug Fixes: -- Fixed conditional dependencies for wheels in setup.py, thanks to [\@hackebrot](https://github.com/hackebrot) (\#557, \#568) -- Reverted skipif markers to use correct reasons (bug fixed in pytest), thanks to [\@hackebrot](https://github.com/hackebrot) +* Fixed conditional dependencies for wheels in setup.py, thanks to [\@hackebrot](https://github.com/hackebrot) (\#557, \#568) +* Reverted skipif markers to use correct reasons (bug fixed in pytest), thanks to [\@hackebrot](https://github.com/hackebrot) (\#574) Other Changes: -- Improved path and documentation for rendering the Sphinx documentation, thanks to [\@eliasdorneles](https://github.com/eliasdorneles) and [\@hackebrot](https://github.com/hackebrot) (\#562, \#583) -- Added additional help entrypoints, thanks to [\@michaeljoseph](https://github.com/michaeljoseph) (\#563, \#492) -- Added Two Scoops Academy to the README, thanks to [\@hackebrot](https://github.com/hackebrot) (\#576) -- Now handling trailing slash on URL, thanks to [\@ramiroluz](https://github.com/ramiroluz) (\#573, \#546) -- Support for testing x86 and x86-64 architectures on appveyor, thanks to [\@maiksensi](https://github.com/maiksensi) (\#567) -- Made tests work without installing Cookiecutter, thanks to [\@vincentbernat](https://github.com/vincentbernat) (\#550) -- Encoded the result of the hook template to utf8, thanks to [\@ionelmc](https://github.com/ionelmc) (\#577. \#578) -- Added test for \_run\_hook\_from\_repo\_dir, thanks to [\@hackebrot](https://github.com/hackebrot) (\#579, \#580) -- Implemented bumpversion, thanks to [\@hackebrot](https://github.com/hackebrot) (\#582) -- Added more cookiecutter templates to the mix: - - [cookiecutter-octoprint-plugin](https://github.com/OctoPrint/cookiecutter-octoprint-plugin) by [\@foosel](https://github.com/foosel) (\#560) - - [wagtail-cookiecutter-foundation](https://github.com/chrisdev/wagtail-cookiecutter-foundation) by [\@chrisdev](https://github.com/chrisdev), et al. (\#566) - +* Improved path and documentation for rendering the Sphinx documentation, thanks to [\@eliasdorneles](https://github.com/eliasdorneles) and [\@hackebrot](https://github.com/hackebrot) (\#562, \#583) +* Added additional help entrypoints, thanks to [\@michaeljoseph](https://github.com/michaeljoseph) (\#563, \#492) +* Added Two Scoops Academy to the README, thanks to [\@hackebrot](https://github.com/hackebrot) (\#576) +* Now handling trailing slash on URL, thanks to [\@ramiroluz](https://github.com/ramiroluz) (\#573, \#546) +* Support for testing x86 and x86-64 architectures on appveyor, thanks to [\@maiksensi](https://github.com/maiksensi) (\#567) +* Made tests work without installing Cookiecutter, thanks to [\@vincentbernat](https://github.com/vincentbernat) (\#550) +* Encoded the result of the hook template to utf8, thanks to [\@ionelmc](https://github.com/ionelmc) (\#577. \#578) +* Added test for \_run\_hook\_from\_repo\_dir, thanks to [\@hackebrot](https://github.com/hackebrot) (\#579, \#580) +* Implemented bumpversion, thanks to [\@hackebrot](https://github.com/hackebrot) (\#582) +* Added more cookiecutter templates to the mix: + * [cookiecutter-octoprint-plugin](https://github.com/OctoPrint/cookiecutter-octoprint-plugin) by [\@foosel](https://github.com/foosel) (\#560) + * [wagtail-cookiecutter-foundation](https://github.com/chrisdev/wagtail-cookiecutter-foundation) by [\@chrisdev](https://github.com/chrisdev), et al. (\#566) -### 1.2.1 (2015-10-18) Zimtsterne +## 1.2.1 (2015-10-18) Zimtsterne -*Zimtsterne are cinnamon star cookies* +*Zimtsterne are cinnamon star cookies.* New Feature: -- Returns rendered project dir, thanks to [\@hackebrot](https://github.com/hackebrot) (\#553) +* Returns rendered project dir, thanks to [\@hackebrot](https://github.com/hackebrot) (\#553) Bug Fixes: -- Factor in *choice* variables (as introduced in 1.1.0) when using a user config or extra context, thanks to [\@ionelmc](https://github.com/ionelmc) and [\@hackebrot](https://github.com/hackebrot) (\#536, \#542). +* Factor in *choice* variables (as introduced in 1.1.0) when using a user config or extra context, thanks to [\@ionelmc](https://github.com/ionelmc) and [\@hackebrot](https://github.com/hackebrot) (\#536, \#542). Other Changes: -- Enable py35 support on Travis by using Python 3.5 as base Python ([\@maiksensi](https://github.com/maiksensi) / \#540) -- If a filename is empty, do not generate. Log instead ([\@iljabauer](https://github.com/iljabauer) / \#444) -- Fix tests as per last changes in [cookiecutter-pypackage](https://github.com/audreyr/cookiecutter-pypackage), thanks to [\@eliasdorneles](https://github.com/eliasdorneles)(\#555). -- Removed deprecated cookiecutter-pylibrary-minimal from the list, thanks to [\@ionelmc](https://github.com/ionelmc) (\#556) -- Moved to using rualmel.yaml instead of PyYAML, except for Windows users on Python 2.7, thanks +* Enable py35 support on Travis by using Python 3.5 as base Python ([\@maiksensi](https://github.com/maiksensi) / \#540) +* If a filename is empty, do not generate. Log instead ([\@iljabauer](https://github.com/iljabauer) / \#444) +* Fix tests as per last changes in [cookiecutter-pypackage](https://github.com/audreyr/cookiecutter-pypackage), thanks to [\@eliasdorneles](https://github.com/eliasdorneles)(\#555). +* Removed deprecated cookiecutter-pylibrary-minimal from the list, thanks to [\@ionelmc](https://github.com/ionelmc) (\#556) +* Moved to using rualmel.yaml instead of PyYAML, except for Windows users on Python 2.7, thanks to [\@pydanny](https://github.com/pydanny) (\#557) *Why 1.2.1 instead of 1.2.0? There was a problem in the distribution that we pushed to PyPI. Since you can\'t replace previous files uploaded to PyPI, we deleted the files on PyPI and released 1.2.1.* - -### 1.1.0 (2015-09-26) Snickerdoodle +## 1.1.0 (2015-09-26) Snickerdoodle The goals of this release were ```copy without render``` and a few additional command-line options such as ```--overwrite-if-exists```, ```---replay```, and ```output-dir```. Features: -- Added [copy without render](http://cookiecutter.readthedocs.io/en/latest/advanced_usage.html#copy-without-render) feature, making it much easier for developers of Ansible, Salt Stack, and other recipe-based tools to work with Cookiecutter. Thanks to [\@osantana](https://github.com/osantana) and [\@LucianU](https://github.com/LucianU) for their innovation, as well as [\@hackebrot](https://github.com/hackebrot) for fixing the Windows problems (\#132, \#184, \#425). -- Added specify output directory, thanks to [\@tony](https://github.com/tony) and [\@hackebrot](https://github.com/hackebrot) (\#531, \#452). -- Abort template rendering if the project output directory already exists, thanks to [\@lgp171188](https://github.com/lgp171188) +* Added [copy without render](http://cookiecutter.readthedocs.io/en/latest/advanced_usage.html#copy-without-render) feature, making it much easier for developers of Ansible, Salt Stack, and other recipe-based tools to work with Cookiecutter. Thanks to [\@osantana](https://github.com/osantana) and [\@LucianU](https://github.com/LucianU) for their innovation, as well as [\@hackebrot](https://github.com/hackebrot) for fixing the Windows problems (\#132, \#184, \#425). +* Added specify output directory, thanks to [\@tony](https://github.com/tony) and [\@hackebrot](https://github.com/hackebrot) (\#531, \#452). +* Abort template rendering if the project output directory already exists, thanks to [\@lgp171188](https://github.com/lgp171188) (\#470, \#471). -- Add a flag to overwrite existing output directory, thanks to [\@lgp171188](https://github.com/lgp171188) for the implementation (\#495) and [\@schacki](https://github.com/schacki), [\@ionelmc](https://github.com/ionelmc), [\@pydanny](https://github.com/pydanny) and [\@hackebrot](https://github.com/hackebrot) for submitting issues and code reviews (\#475, \#493). -- Remove test command in favor of tox, thanks to [\@hackebrot](https://github.com/hackebrot) (\#480). -- Allow cookiecutter invocation, even without installing it, via `python -m cookiecutter.cli`, thanks to [\@vincentbernat](https://github.com/vincentbernat) and [\@hackebrot](https://github.com/hackebrot) (\#449, \#487). -- Improve the type detection handler for online and offline repositories, thanks to [\@charlax](https://github.com/charlax) +* Add a flag to overwrite existing output directory, thanks to [\@lgp171188](https://github.com/lgp171188) for the implementation (\#495) and [\@schacki](https://github.com/schacki), [\@ionelmc](https://github.com/ionelmc), [\@pydanny](https://github.com/pydanny) and [\@hackebrot](https://github.com/hackebrot) for submitting issues and code reviews (\#475, \#493). +* Remove test command in favor of tox, thanks to [\@hackebrot](https://github.com/hackebrot) (\#480). +* Allow cookiecutter invocation, even without installing it, via `python -m cookiecutter.cli`, thanks to [\@vincentbernat](https://github.com/vincentbernat) and [\@hackebrot](https://github.com/hackebrot) (\#449, \#487). +* Improve the type detection handler for online and offline repositories, thanks to [\@charlax](https://github.com/charlax) (\#490). -- Add replay feature, thanks to [\@hackebrot](https://github.com/hackebrot) (\#501). -- Be more precise when raising an error for an invalid user config file, thanks to [\@vaab](https://github.com/vaab) and [\@hackebrot](https://github.com/hackebrot) (\#378, \#528). -- Added official Python 3.5 support, thanks to [\@pydanny](https://github.com/pydanny) and [\@hackebrot](https://github.com/hackebrot) (\#522). -- Added support for *choice* variables and switch to click style prompts, thanks to [\@hackebrot](https://github.com/hackebrot) (\#441, \#455). +* Add replay feature, thanks to [\@hackebrot](https://github.com/hackebrot) (\#501). +* Be more precise when raising an error for an invalid user config file, thanks to [\@vaab](https://github.com/vaab) and [\@hackebrot](https://github.com/hackebrot) (\#378, \#528). +* Added official Python 3.5 support, thanks to [\@pydanny](https://github.com/pydanny) and [\@hackebrot](https://github.com/hackebrot) (\#522). +* Added support for *choice* variables and switch to click style prompts, thanks to [\@hackebrot](https://github.com/hackebrot) (\#441, \#455). Other Changes: -- Updated click requirement to \< 6.0, thanks to [\@pydanny](https://github.com/pydanny) (\#473). -- Added landscape.io flair, thanks to [\@michaeljoseph](https://github.com/michaeljoseph) (\#439). -- Descriptions of PEP8 specifications and milestone management, thanks to [\@michaeljoseph](https://github.com/michaeljoseph) (\#440). - - Added alternate installation options in the documentation, thanks to [\@pydanny](https://github.com/pydanny) (\#117, \#315). -- The test of the which() function now tests against the date command, thanks to [\@vincentbernat](https://github.com/vincentbernat) (\#446) -- Ensure file handles in setup.py are closed using with statement, thanks to [\@svisser](https://github.com/svisser) (\#280). -- Removed deprecated and fully extraneous compat.is\_exe() function, thanks to [\@hackebrot](https://github.com/hackebrot) (\#485). -- Disabled sudo in .travis, thanks to [\@hackebrot](https://github.com/hackebrot) (\#482). -- Switched to shields.io for problematic badges, thanks to [\@pydanny](https://github.com/pydanny) (\#491). -- Added whichcraft and removed `compat.which()`, thanks to [\@pydanny](https://github.com/pydanny) (\#511). -- Changed to export tox environment variables to codecov, thanks to [\@maiksensi](https://github.com/maiksensi). (\#508). -- Moved to using click version command, thanks to [\@hackebrot](https://github.com/hackebrot) (\#489). -- Don\'t use unicode\_literals to please click, thanks to [\@vincentbernat](https://github.com/vincentbernat) (\#503). -- Remove warning for Python 2.6 from \_\_init\_\_.py, thanks to [\@hackebrot](https://github.com/hackebrot). -- Removed compat.py module, thanks to [\@hackebrot](https://github.com/hackebrot). -- Added future to requirements, thanks to [\@hackebrot](https://github.com/hackebrot). -- Fixed problem where expanduser does not resolve \"\~\" correctly on windows 10 using tox, thanks to [\@maiksensi](https://github.com/maiksensi). (\#527) - -- Added more cookiecutter templates to the mix: - - [cookiecutter-beamer](https://github.com/luismartingil/cookiecutter-beamer) by [\@luismartingil](https://github.com/luismartingil) (\#307) - - [cookiecutter-pytest-plugin](https://github.com/pytest-dev/cookiecutter-pytest-plugin) by [\@pytest-dev](https://github.com/pytest-dev) and +* Updated click requirement to \< 6.0, thanks to [\@pydanny](https://github.com/pydanny) (\#473). +* Added landscape.io flair, thanks to [\@michaeljoseph](https://github.com/michaeljoseph) (\#439). +* Descriptions of PEP8 specifications and milestone management, thanks to [\@michaeljoseph](https://github.com/michaeljoseph) (\#440). + * Added alternate installation options in the documentation, thanks to [\@pydanny](https://github.com/pydanny) (\#117, \#315). +* The test of the which() function now tests against the date command, thanks to [\@vincentbernat](https://github.com/vincentbernat) (\#446) +* Ensure file handles in setup.py are closed using with statement, thanks to [\@svisser](https://github.com/svisser) (\#280). +* Removed deprecated and fully extraneous compat.is\_exe() function, thanks to [\@hackebrot](https://github.com/hackebrot) (\#485). +* Disabled sudo in .travis, thanks to [\@hackebrot](https://github.com/hackebrot) (\#482). +* Switched to shields.io for problematic badges, thanks to [\@pydanny](https://github.com/pydanny) (\#491). +* Added whichcraft and removed `compat.which()`, thanks to [\@pydanny](https://github.com/pydanny) (\#511). +* Changed to export tox environment variables to codecov, thanks to [\@maiksensi](https://github.com/maiksensi). (\#508). +* Moved to using click version command, thanks to [\@hackebrot](https://github.com/hackebrot) (\#489). +* Don\'t use unicode\_literals to please click, thanks to [\@vincentbernat](https://github.com/vincentbernat) (\#503). +* Remove warning for Python 2.6 from \_\_init\_\_.py, thanks to [\@hackebrot](https://github.com/hackebrot). +* Removed compat.py module, thanks to [\@hackebrot](https://github.com/hackebrot). +* Added future to requirements, thanks to [\@hackebrot](https://github.com/hackebrot). +* Fixed problem where expanduser does not resolve \"\~\" correctly on windows 10 using tox, thanks to [\@maiksensi](https://github.com/maiksensi). (\#527) + +* Added more cookiecutter templates to the mix: + * [cookiecutter-beamer](https://github.com/luismartingil/cookiecutter-beamer) by [\@luismartingil](https://github.com/luismartingil) (\#307) + * [cookiecutter-pytest-plugin](https://github.com/pytest-dev/cookiecutter-pytest-plugin) by [\@pytest-dev](https://github.com/pytest-dev) and [\@hackebrot](https://github.com/hackebrot) (\#481) - - [cookiecutter-csharp-objc-binding](https://github.com/SandyChapman/cookiecutter-csharp-objc-binding) by [\@SandyChapman](https://github.com/SandyChapman) (\#460) - - [cookiecutter-flask-foundation](https://github.com/JackStouffer/cookiecutter-Flask-Foundation) by [\@JackStouffer](https://github.com/JackStouffer) (\#457) - - [cookiecutter-tryton-fulfilio](https://github.com/fulfilio/cookiecutter-tryton) by [\@fulfilio](https://github.com/fulfilio) (\#465) - - [cookiecutter-tapioca](https://github.com/vintasoftware/cookiecutter-tapioca) by [\@vintasoftware](https://github.com/vintasoftware) (\#496) - - [cookiecutter-sublime-text-3-plugin](https://github.com/kkujawinski/cookiecutter-sublime-text-3-plugin) by [\@kkujawinski](https://github.com/kkujawinski) (\#500) - - [cookiecutter-muffin](https://github.com/drgarcia1986/cookiecutter-muffin) by [\@drgarcia1986](https://github.com/drgarcia1986) (\#494) - - [cookiecutter-django-rest](https://github.com/agconti/cookiecutter-django-rest) by [\@agconti](https://github.com/agconti) (\#520) - - [cookiecutter-es6-boilerplate](https://github.com/agconti/cookiecutter-es6-boilerplate) by [\@agconti](https://github.com/agconti) (\#521) - - [cookiecutter-tampermonkey](https://github.com/christabor/cookiecutter-tampermonkey) by [\@christabor](https://github.com/christabor) (\#516) - - [cookiecutter-wagtail](https://github.com/torchbox/cookiecutter-wagtail) by [\@torchbox](https://github.com/torchbox) (\#533) - -### 1.0.0 (2015-03-13) Chocolate Chip + * [cookiecutter-csharp-objc-binding](https://github.com/SandyChapman/cookiecutter-csharp-objc-binding) by [\@SandyChapman](https://github.com/SandyChapman) (\#460) + * [cookiecutter-flask-foundation](https://github.com/JackStouffer/cookiecutter-Flask-Foundation) by [\@JackStouffer](https://github.com/JackStouffer) (\#457) + * [cookiecutter-tryton-fulfilio](https://github.com/fulfilio/cookiecutter-tryton) by [\@fulfilio](https://github.com/fulfilio) (\#465) + * [cookiecutter-tapioca](https://github.com/vintasoftware/cookiecutter-tapioca) by [\@vintasoftware](https://github.com/vintasoftware) (\#496) + * [cookiecutter-sublime-text-3-plugin](https://github.com/kkujawinski/cookiecutter-sublime-text-3-plugin) by [\@kkujawinski](https://github.com/kkujawinski) (\#500) + * [cookiecutter-muffin](https://github.com/drgarcia1986/cookiecutter-muffin) by [\@drgarcia1986](https://github.com/drgarcia1986) (\#494) + * [cookiecutter-django-rest](https://github.com/agconti/cookiecutter-django-rest) by [\@agconti](https://github.com/agconti) (\#520) + * [cookiecutter-es6-boilerplate](https://github.com/agconti/cookiecutter-es6-boilerplate) by [\@agconti](https://github.com/agconti) (\#521) + * [cookiecutter-tampermonkey](https://github.com/christabor/cookiecutter-tampermonkey) by [\@christabor](https://github.com/christabor) (\#516) + * [cookiecutter-wagtail](https://github.com/torchbox/cookiecutter-wagtail) by [\@torchbox](https://github.com/torchbox) (\#533) + +## 1.0.0 (2015-03-13) Chocolate Chip The goals of this release was to formally remove support for Python 2.6 and continue the move to using py.test. Features: -- Convert the unittest suite to py.test for the sake of comprehensibility, thanks to [\@hackebrot](https://github.com/hackebrot) (\#322, \#332, \#334, \#336, \#337, \#338, \#340, \#341, \#343, \#345, \#347, \#351, \#412, \#413, \#414). -- Generate pytest coverage, thanks to [\@michaeljoseph](https://github.com/michaeljoseph) (\#326). -- Documenting of Pull Request merging and HISTORY.rst maintenance, thanks to [\@michaeljoseph](https://github.com/michaeljoseph) +* Convert the unittest suite to py.test for the sake of comprehensibility, thanks to [\@hackebrot](https://github.com/hackebrot) (\#322, \#332, \#334, \#336, \#337, \#338, \#340, \#341, \#343, \#345, \#347, \#351, \#412, \#413, \#414). +* Generate pytest coverage, thanks to [\@michaeljoseph](https://github.com/michaeljoseph) (\#326). +* Documenting of Pull Request merging and HISTORY.rst maintenance, thanks to [\@michaeljoseph](https://github.com/michaeljoseph) (\#330). -- Large expansions to the tutorials thanks to [\@hackebrot](https://github.com/hackebrot) (\#384) -- Switch to using Click for command-line options, thanks to [\@michaeljoseph](https://github.com/michaeljoseph) (\#391, \#393). -- Added support for working with private repos, thanks to [\@marctc](https://github.com/marctc) (\#265). -- Wheel configuration thanks to [\@michaeljoseph](https://github.com/michaeljoseph) (\#118). +* Large expansions to the tutorials thanks to [\@hackebrot](https://github.com/hackebrot) (\#384) +* Switch to using Click for command-line options, thanks to [\@michaeljoseph](https://github.com/michaeljoseph) (\#391, \#393). +* Added support for working with private repos, thanks to [\@marctc](https://github.com/marctc) (\#265). +* Wheel configuration thanks to [\@michaeljoseph](https://github.com/michaeljoseph) (\#118). Other Changes: -- Formally removed support for 2.6, thanks to [\@pydanny](https://github.com/pydanny) (\#201). -- Moved to codecov for continuous integration test coverage and badges, thanks to [\@michaeljoseph](https://github.com/michaeljoseph) (\#71, \#369). -- Made JSON parsing errors easier to debug, thanks to [\@rsyring](https://github.com/rsyring) and [\@mark0978](https://github.com/mark0978) (\#355, \#358, \#388). -- Updated to Jinja 2.7 or higher in order to control trailing new lines in templates, thanks to [\@sfermigier](https://github.com/sfermigier) (\#356). -- Tweaked flake8 to ignore e731, thanks to [\@michaeljoseph](https://github.com/michaeljoseph) (\#390). -- Fixed failing Windows tests and corrected AppVeyor badge link thanks to [\@msabramo](https://github.com/msabramo) (\#403). - -- Added more Cookiecutters to the list: - - [cookiecutter-scala-spark](https://github.com/jpzk/cookiecutter-scala-spark) by [\@jpzk](https://github.com/jpzk) - - [cookiecutter-atari2600](https://github.com/joeyjoejoejr/cookiecutter-atari2600) by [\@joeyjoejoejr](https://github.com/joeyjoejoejr) - - [cookiecutter-bottle](https://github.com/avelino/cookiecutter-bottle) by [\@avelino](https://github.com/avelino) - - [cookiecutter-latex-article](https://github.com/Kreger51/cookiecutter-latex-article) by [\@Kreger51](https://github.com/Kreger51) - - [cookiecutter-django-rest-framework](https://github.com/jpadilla/cookiecutter-django-rest-framework) by [\@jpadilla](https://github.com/jpadilla) - - [cookiedozer](https://github.com/hackebrot/cookiedozer) by [\@hackebrot](https://github.com/hackebrot) +* Formally removed support for 2.6, thanks to [\@pydanny](https://github.com/pydanny) (\#201). +* Moved to codecov for continuous integration test coverage and badges, thanks to [\@michaeljoseph](https://github.com/michaeljoseph) (\#71, \#369). +* Made JSON parsing errors easier to debug, thanks to [\@rsyring](https://github.com/rsyring) and [\@mark0978](https://github.com/mark0978) (\#355, \#358, \#388). +* Updated to Jinja 2.7 or higher in order to control trailing new lines in templates, thanks to [\@sfermigier](https://github.com/sfermigier) (\#356). +* Tweaked flake8 to ignore e731, thanks to [\@michaeljoseph](https://github.com/michaeljoseph) (\#390). +* Fixed failing Windows tests and corrected AppVeyor badge link thanks to [\@msabramo](https://github.com/msabramo) (\#403). -### 0.9.0 (2015-01-13) +* Added more Cookiecutters to the list: + * [cookiecutter-scala-spark](https://github.com/jpzk/cookiecutter-scala-spark) by [\@jpzk](https://github.com/jpzk) + * [cookiecutter-atari2600](https://github.com/joeyjoejoejr/cookiecutter-atari2600) by [\@joeyjoejoejr](https://github.com/joeyjoejoejr) + * [cookiecutter-bottle](https://github.com/avelino/cookiecutter-bottle) by [\@avelino](https://github.com/avelino) + * [cookiecutter-latex-article](https://github.com/Kreger51/cookiecutter-latex-article) by [\@Kreger51](https://github.com/Kreger51) + * [cookiecutter-django-rest-framework](https://github.com/jpadilla/cookiecutter-django-rest-framework) by [\@jpadilla](https://github.com/jpadilla) + * [cookiedozer](https://github.com/hackebrot/cookiedozer) by [\@hackebrot](https://github.com/hackebrot) +## 0.9.0 (2015-01-13) The goals of this release were to add the ability to Jinja2ify the cookiecutter.json default values, and formally launch support for Python 3.4. Features: -- Python 3.4 is now a first class citizen, thanks to everyone. -- cookiecutter.json values are now rendered Jinja2 templates, thanks to \@bollwyvl (\#291). -- Move to py.test, thanks to [\@pfmoore](https://github.com/pfmoore) (\#319) and [\@ramiroluz](https://github.com/ramiroluz) (\#310). -- Add PendingDeprecation warning for users of Python 2.6, as support for it is gone in Python 2.7, thanks to [\@michaeljoseph](https://github.com/michaeljoseph) (\#201). +* Python 3.4 is now a first class citizen, thanks to everyone. +* cookiecutter.json values are now rendered Jinja2 templates, thanks to \@bollwyvl (\#291). +* Move to py.test, thanks to [\@pfmoore](https://github.com/pfmoore) (\#319) and [\@ramiroluz](https://github.com/ramiroluz) (\#310). +* Add PendingDeprecation warning for users of Python 2.6, as support for it is gone in Python 2.7, thanks to [\@michaeljoseph](https://github.com/michaeljoseph) (\#201). Bug Fixes: -- Corrected typo in Makefile, thanks to [\@inglesp](https://github.com/inglesp) (\#297). -- Raise an exception when users don\'t have git or hg installed, thanks to [\@pydanny](https://github.com/pydanny) (\#303). +* Corrected typo in Makefile, thanks to [\@inglesp](https://github.com/inglesp) (\#297). +* Raise an exception when users don\'t have git or hg installed, thanks to [\@pydanny](https://github.com/pydanny) (\#303). Other changes: -- Creation of [gitter](https://gitter.im/audreyr/cookiecutter) account for logged chat, thanks to [\@michaeljoseph](https://github.com/michaeljoseph). -- Added ReadTheDocs badge, thanks to [\@michaeljoseph](https://github.com/michaeljoseph). -- Added AppVeyor badge, thanks to [\@pydanny](https://github.com/pydanny) -- Documentation and PyPI trove classifier updates, thanks to [\@thedrow](https://github.com/thedrow) (\#323 and \#324) - -### 0.8.0 (2014-10-30) +* Creation of [gitter](https://gitter.im/audreyr/cookiecutter) account for logged chat, thanks to [\@michaeljoseph](https://github.com/michaeljoseph). +* Added ReadTheDocs badge, thanks to [\@michaeljoseph](https://github.com/michaeljoseph). +* Added AppVeyor badge, thanks to [\@pydanny](https://github.com/pydanny) +* Documentation and PyPI trove classifier updates, thanks to [\@thedrow](https://github.com/thedrow) (\#323 and \#324) +## 0.8.0 (2014-10-30) The goal of this release was to allow for injection of extra context via the Cookiecutter API, and to fix minor bugs. Features: -- cookiecutter() now takes an optional extra\_context parameter, thanks to [\@michaeljoseph](https://github.com/michaeljoseph), [\@fcurella](https://github.com/fcurella), [\@aventurella](https://github.com/aventurella), [\@emonty](https://github.com/emonty), [\@schacki](https://github.com/schacki), [\@ryanolson](https://github.com/ryanolson), [\@pfmoore](https://github.com/pfmoore), [\@pydanny](https://github.com/pydanny), [\@audreyr](https://github.com/audreyr) (\#260). -- Context is now injected into hooks, thanks to [\@michaeljoseph](https://github.com/michaeljoseph) and [\@dinopetrone](https://github.com/dinopetrone). -- Moved all Python 2/3 compatability code into cookiecutter.compat, making the eventual move to six easier, thanks to [\@michaeljoseph](https://github.com/michaeljoseph) (\#60, \#102). -- Added cookiecutterrc defined aliases for cookiecutters, thanks to [\@pfmoore](https://github.com/pfmoore) (\#246) -- Added flake8 to tox to check for pep8 violations, thanks to [\@natim](https://github.com/Natim). +* cookiecutter() now takes an optional extra\_context parameter, thanks to [\@michaeljoseph](https://github.com/michaeljoseph), [\@fcurella](https://github.com/fcurella), [\@aventurella](https://github.com/aventurella), [\@emonty](https://github.com/emonty), [\@schacki](https://github.com/schacki), [\@ryanolson](https://github.com/ryanolson), [\@pfmoore](https://github.com/pfmoore), [\@pydanny](https://github.com/pydanny), [\@audreyr](https://github.com/audreyr) (\#260). +* Context is now injected into hooks, thanks to [\@michaeljoseph](https://github.com/michaeljoseph) and [\@dinopetrone](https://github.com/dinopetrone). +* Moved all Python 2/3 compatability code into cookiecutter.compat, making the eventual move to six easier, thanks to [\@michaeljoseph](https://github.com/michaeljoseph) (\#60, \#102). +* Added cookiecutterrc defined aliases for cookiecutters, thanks to [\@pfmoore](https://github.com/pfmoore) (\#246) +* Added flake8 to tox to check for pep8 violations, thanks to [\@natim](https://github.com/Natim). Bug Fixes: -- Newlines at the end of files are no longer stripped, thanks to [\@treyhunner](https://github.com/treyhunner) (\#183). -- Cloning prompt suppressed by respecting the ```no\_input``` flag, thanks to [\@trustrachel](https://github.com/trustrachel) (\#285) -- With Python 3, input is no longer converted to bytes, thanks to [\@uranusjr](https://github.com/uranusjr) (\#98). +* Newlines at the end of files are no longer stripped, thanks to [\@treyhunner](https://github.com/treyhunner) (\#183). +* Cloning prompt suppressed by respecting the ```no\_input``` flag, thanks to [\@trustrachel](https://github.com/trustrachel) (\#285) +* With Python 3, input is no longer converted to bytes, thanks to [\@uranusjr](https://github.com/uranusjr) (\#98). Other Changes: -- Added more Cookiecutters to the list: - - [Python-iOS-template](https://github.com/pybee/Python-iOS-template) by [\@freakboy3742](https://github.com/freakboy3742) - - [Python-Android-template](https://github.com/pybee/Python-Android-template) by [\@freakboy3742](https://github.com/freakboy3742) - - [cookiecutter-djangocms-plugin](https://github.com/mishbahr/cookiecutter-djangocms-plugin) by [\@mishbahr](https://github.com/mishbahr) - - [cookiecutter-pyvanguard](https://github.com/robinandeer/cookiecutter-pyvanguard) by [\@robinandeer](https://github.com/robinandeer) +* Added more Cookiecutters to the list: + * [Python-iOS-template](https://github.com/pybee/Python-iOS-template) by [\@freakboy3742](https://github.com/freakboy3742) + * [Python-Android-template](https://github.com/pybee/Python-Android-template) by [\@freakboy3742](https://github.com/freakboy3742) + * [cookiecutter-djangocms-plugin](https://github.com/mishbahr/cookiecutter-djangocms-plugin) by [\@mishbahr](https://github.com/mishbahr) + * [cookiecutter-pyvanguard](https://github.com/robinandeer/cookiecutter-pyvanguard) by [\@robinandeer](https://github.com/robinandeer) -### 0.7.2 (2014-08-05) +## 0.7.2 (2014-08-05) The goal of this release was to fix cross-platform compatibility, primarily Windows bugs that had crept in during the addition of new features. As of this release, Windows is a first-class citizen again, now complete with continuous integration. Bug Fixes: -- Fixed the contributing file so it displays nicely in Github, thanks to [\@pydanny](https://github.com/pydanny). -- Updates 2.6 requirements to include simplejson, thanks to [\@saxix](https://github.com/saxix). -- Avoid unwanted extra spaces in string literal, thanks to [\@merwok](https://github.com/merwok). -- Fix @unittest.skipIf error on Python 2.6. -- Let sphinx parse :param: properly by inserting newlines \#213, thanks to [\@mineo](https://github.com/mineo). -- Fixed Windows test prompt failure by replacing stdin per [\@cjrh](https://github.com/cjrh) in \#195. -- Made rmtree remove readonly files, thanks to [\@pfmoore](https://github.com/pfmoore). -- Now using tox to run tests on Appveyor, thanks to [\@pfmoore](https://github.com/pfmoore) (\#241). -- Fixed tests that assumed the system encoding was utf-8, thanks to [\@pfmoore](https://github.com/pfmoore) (\#242, \#244). -- Added a tox ini file that uses py.test, thanks to [\@pfmoore](https://github.com/pfmoore) (\#245). +* Fixed the contributing file so it displays nicely in Github, thanks to [\@pydanny](https://github.com/pydanny). +* Updates 2.6 requirements to include simplejson, thanks to [\@saxix](https://github.com/saxix). +* Avoid unwanted extra spaces in string literal, thanks to [\@merwok](https://github.com/merwok). +* Fix @unittest.skipIf error on Python 2.6. +* Let sphinx parse :param: properly by inserting newlines \#213, thanks to [\@mineo](https://github.com/mineo). +* Fixed Windows test prompt failure by replacing stdin per [\@cjrh](https://github.com/cjrh) in \#195. +* Made rmtree remove readonly files, thanks to [\@pfmoore](https://github.com/pfmoore). +* Now using tox to run tests on Appveyor, thanks to [\@pfmoore](https://github.com/pfmoore) (\#241). +* Fixed tests that assumed the system encoding was utf-8, thanks to [\@pfmoore](https://github.com/pfmoore) (\#242, \#244). +* Added a tox ini file that uses py.test, thanks to [\@pfmoore](https://github.com/pfmoore) (\#245). Other Changes: -- [\@audreyr](https://github.com/audreyr) formally accepted position as **BDFL of cookiecutter**. -- Elevated [\@pydanny](https://github.com/pydanny), [\@michaeljoseph](https://github.com/michaeljoseph), and [\@pfmoore](https://github.com/pfmoore) to core committer status. -- Added Core Committer guide, by [\@audreyr](https://github.com/audreyr). -- Generated apidocs from make docs, by [\@audreyr](https://github.com/audreyr). -- Added contributing command to the makedocs function, by [\@pydanny](https://github.com/pydanny). -- Refactored contributing documentation, included adding core committer instructions, by [\@pydanny](https://github.com/pydanny) and [\@audreyr](https://github.com/audreyr). -- Do not convert input prompt to bytes, thanks to [\@uranusjr](https://github.com/uranusjr) (\#192). -- Added troubleshooting info about Python 3.3 tests and tox. -- Added documentation about command line arguments, thanks to [\@saxix](https://github.com/saxix). -- Style cleanups. -- Added environment variable to disable network tests for environments without networking, thanks to [\@vincentbernat](https://github.com/vincentbernat). -- Added Appveyor support to aid Windows integrations, thanks to [\@pydanny](https://github.com/pydanny) (\#215). -- CONTRIBUTING.rst is now generated via make contributing, thanks to [\@pydanny](https://github.com/pydanny) (\#220). -- Removed unnecessary endoing argument to json.load, thanks to [\@pfmoore](https://github.com/pfmoore) (\#234). -- Now generating shell hooks dynamically for Unix/Windows portability, thanks to [\@pfmoore](https://github.com/pfmoore) (\#236). -- Removed non-portable assumptions about directory structure, thanks to [\@pfmoore](https://github.com/pfmoore) (\#238). -- Added a note on portability to the hooks documentation, thanks to [\@pfmoore](https://github.com/pfmoore) (\#239). -- Replaced unicode\_open with direct use of io.open, thanks to [\@pfmoore](https://github.com/pfmoore) (\#229). -- Added more Cookiecutters to the list: - - [cookiecutter-kivy](https://github.com/hackebrot/cookiecutter-kivy) by [\@hackebrot](https://github.com/hackebrot) - - [BoilerplatePP](https://github.com/Paspartout/BoilerplatePP) by [\@Paspartout](https://github.com/Paspartout) - - [cookiecutter-pypackage-minimal](https://github.com/kragniz/cookiecutter-pypackage-minimal) by [\@borntyping](https://github.com/borntyping) - - [cookiecutter-ansible-role](https://github.com/iknite/cookiecutter-ansible-role) by [\@iknite](https://github.com/iknite) - - [cookiecutter-pylibrary](https://github.com/ionelmc/cookiecutter-pylibrary) by [\@ionelmc](https://github.com/ionelmc) - - [cookiecutter-pylibrary-minimal](https://github.com/ionelmc/cookiecutter-pylibrary-minimal) by [\@ionelmc](https://github.com/ionelmc) - -### 0.7.1 (2014-04-26) +* [\@audreyr](https://github.com/audreyr) formally accepted position as **BDFL of cookiecutter**. +* Elevated [\@pydanny](https://github.com/pydanny), [\@michaeljoseph](https://github.com/michaeljoseph), and [\@pfmoore](https://github.com/pfmoore) to core committer status. +* Added Core Committer guide, by [\@audreyr](https://github.com/audreyr). +* Generated apidocs from make docs, by [\@audreyr](https://github.com/audreyr). +* Added contributing command to the makedocs function, by [\@pydanny](https://github.com/pydanny). +* Refactored contributing documentation, included adding core committer instructions, by [\@pydanny](https://github.com/pydanny) and [\@audreyr](https://github.com/audreyr). +* Do not convert input prompt to bytes, thanks to [\@uranusjr](https://github.com/uranusjr) (\#192). +* Added troubleshooting info about Python 3.3 tests and tox. +* Added documentation about command line arguments, thanks to [\@saxix](https://github.com/saxix). +* Style cleanups. +* Added environment variable to disable network tests for environments without networking, thanks to [\@vincentbernat](https://github.com/vincentbernat). +* Added Appveyor support to aid Windows integrations, thanks to [\@pydanny](https://github.com/pydanny) (\#215). +* CONTRIBUTING.rst is now generated via make contributing, thanks to [\@pydanny](https://github.com/pydanny) (\#220). +* Removed unnecessary endoing argument to json.load, thanks to [\@pfmoore](https://github.com/pfmoore) (\#234). +* Now generating shell hooks dynamically for Unix/Windows portability, thanks to [\@pfmoore](https://github.com/pfmoore) (\#236). +* Removed non-portable assumptions about directory structure, thanks to [\@pfmoore](https://github.com/pfmoore) (\#238). +* Added a note on portability to the hooks documentation, thanks to [\@pfmoore](https://github.com/pfmoore) (\#239). +* Replaced unicode\_open with direct use of io.open, thanks to [\@pfmoore](https://github.com/pfmoore) (\#229). +* Added more Cookiecutters to the list: + * [cookiecutter-kivy](https://github.com/hackebrot/cookiecutter-kivy) by [\@hackebrot](https://github.com/hackebrot) + * [BoilerplatePP](https://github.com/Paspartout/BoilerplatePP) by [\@Paspartout](https://github.com/Paspartout) + * [cookiecutter-pypackage-minimal](https://github.com/kragniz/cookiecutter-pypackage-minimal) by [\@borntyping](https://github.com/borntyping) + * [cookiecutter-ansible-role](https://github.com/iknite/cookiecutter-ansible-role) by [\@iknite](https://github.com/iknite) + * [cookiecutter-pylibrary](https://github.com/ionelmc/cookiecutter-pylibrary) by [\@ionelmc](https://github.com/ionelmc) + * [cookiecutter-pylibrary-minimal](https://github.com/ionelmc/cookiecutter-pylibrary-minimal) by [\@ionelmc](https://github.com/ionelmc) + +## 0.7.1 (2014-04-26) Bug fixes: -- Use the current Python interpreter to run Python hooks, thanks to [\@coderanger](https://github.com/coderanger). -- Include tests and documentation in source distribution, thanks to [\@vincentbernat](https://github.com/vincentbernat). -- Fix various warnings and missing things in the docs (\#129, \#130), thanks to [\@nedbat](https://github.com/nedbat). -- Add command line option to get version (\#89), thanks to [\@davedash](https://github.com/davedash) and [\@cyberj](https://github.com/cyberj). +* Use the current Python interpreter to run Python hooks, thanks to [\@coderanger](https://github.com/coderanger). +* Include tests and documentation in source distribution, thanks to [\@vincentbernat](https://github.com/vincentbernat). +* Fix various warnings and missing things in the docs (\#129, \#130), thanks to [\@nedbat](https://github.com/nedbat). +* Add command line option to get version (\#89), thanks to [\@davedash](https://github.com/davedash) and [\@cyberj](https://github.com/cyberj). Other changes: -- Add more Cookiecutters to the list: - - [cookiecutter-avr](https://github.com/solarnz/cookiecutter-avr) by [\@solarnz](https://github.com/solarnz) - - [cookiecutter-tumblr-theme](https://github.com/relekang/cookiecutter-tumblr-theme) by [\@relekang](https://github.com/relekang) - - [cookiecutter-django-paas](https://github.com/pbacterio/cookiecutter-django-paas) by [\@pbacterio](https://github.com/pbacterio) +* Add more Cookiecutters to the list: + * [cookiecutter-avr](https://github.com/solarnz/cookiecutter-avr) by [\@solarnz](https://github.com/solarnz) + * [cookiecutter-tumblr-theme](https://github.com/relekang/cookiecutter-tumblr-theme) by [\@relekang](https://github.com/relekang) + * [cookiecutter-django-paas](https://github.com/pbacterio/cookiecutter-django-paas) by [\@pbacterio](https://github.com/pbacterio) -### 0.7.0 (2013-11-09) +## 0.7.0 (2013-11-09) This is a release with significant improvements and changes. Please read through this list before you upgrade. New features: -- Support for \--checkout argument, thanks to [\@foobacca](https://github.com/foobacca/). -- Support for pre-generate and post-generate hooks, thanks to [\@raphigaziano](https://github.com/raphigaziano/). Hooks are Python or shell scripts that run before and/or after your project is generated. -- Support for absolute paths to cookiecutters, thanks to [\@krallin](https://github.com/krallin/). -- Support for Mercurial version control system, thanks to [\@pokoli](https://github.com/pokoli/). -- When a cookiecutter contains invalid Jinja2 syntax, you get a better message that shows the location of the TemplateSyntaxError. Thanks +* Support for \--checkout argument, thanks to [\@foobacca](https://github.com/foobacca/). +* Support for pre-generate and post-generate hooks, thanks to [\@raphigaziano](https://github.com/raphigaziano/). Hooks are Python or shell scripts that run before and/or after your project is generated. +* Support for absolute paths to cookiecutters, thanks to [\@krallin](https://github.com/krallin/). +* Support for Mercurial version control system, thanks to [\@pokoli](https://github.com/pokoli/). +* When a cookiecutter contains invalid Jinja2 syntax, you get a better message that shows the location of the TemplateSyntaxError. Thanks to [\@benjixx](https://github.com/benjixx/). -- Can now prompt the user to enter values during generation from a local cookiecutter, thanks to [\@ThomasChiroux](https://github.com/ThomasChiroux/). This is now always the default behavior. Prompts can also be supressed with ```--no-input```. -- Your cloned cookiecutters are stored by default in your ~/.cookiecutters/ directory (or Windows equivalent). The location is configurable. (This is a major change from the pre-0.7.0 behavior, where cloned cookiecutters were deleted at the end of project generation.) Thanks [\@raphigaziano](https://github.com/raphigaziano/). -- User config in a \~/.cookiecutterrc file, thanks to [\@raphigaziano](https://github.com/raphigaziano/). Configurable settings are cookiecutters\_dir and default\_context. -- File permissions are now preserved during project generation, thanks to [\@benjixx](https://github.com/benjixx/). +* Can now prompt the user to enter values during generation from a local cookiecutter, thanks to [\@ThomasChiroux](https://github.com/ThomasChiroux/). This is now always the default behavior. Prompts can also be supressed with ```--no-input```. +* Your cloned cookiecutters are stored by default in your ~/.cookiecutters/ directory (or Windows equivalent). The location is configurable. (This is a major change from the pre-0.7.0 behavior, where cloned cookiecutters were deleted at the end of project generation.) Thanks [\@raphigaziano](https://github.com/raphigaziano/). +* User config in a \~/.cookiecutterrc file, thanks to [\@raphigaziano](https://github.com/raphigaziano/). Configurable settings are cookiecutters\_dir and default\_context. +* File permissions are now preserved during project generation, thanks to [\@benjixx](https://github.com/benjixx/). Bug fixes: -- Unicode issues with prompts and answers are fixed, thanks to [\@s-m-i-t-a](https://github.com/s-m-i-t-a/). -- The test suite now runs on Windows, which was a major effort. Thanks to [\@pydanny](https://github.com/pydanny), who collaborated on this with me. +* Unicode issues with prompts and answers are fixed, thanks to [\@s-m-i-t-a](https://github.com/s-m-i-t-a/). +* The test suite now runs on Windows, which was a major effort. Thanks to [\@pydanny](https://github.com/pydanny), who collaborated on this with me. Other changes: -- Quite a bit of refactoring and API changes. -- Lots of documentation improvements. Thanks [\@sloria](https://github.com/sloria/), [\@alex](https://github.com/alex/), [\@pydanny](https://github.com/pydanny), [\@freakboy3742](https://github.com/freakboy3742), [\@es128](https://github.com/es128/), [\@rolo](https://github.com/rolo/). -- Better naming and organization of test suite. -- A CookiecutterCleanSystemTestCase to use for unit tests affected by the user\'s config and cookiecutters directory. -- Improvements to the project\'s Makefile. -- Improvements to tests. Thanks [\@gperetin](https://github.com/gperetin/), [\@s-m-i-t-a](https://github.com/s-m-i-t-a/). -- Removal of subprocess32 dependency. Now using non-context manager version of subprocess.Popen for Python 2 compatibility. -- Removal of cookiecutter\'s cleanup module. -- A bit of setup.py cleanup, thanks to [\@oubiga](https://github.com/oubiga/). -- Now depends on binaryornot 0.2.0. +* Quite a bit of refactoring and API changes. +* Lots of documentation improvements. Thanks [\@sloria](https://github.com/sloria/), [\@alex](https://github.com/alex/), [\@pydanny](https://github.com/pydanny), [\@freakboy3742](https://github.com/freakboy3742), [\@es128](https://github.com/es128/), [\@rolo](https://github.com/rolo/). +* Better naming and organization of test suite. +* A CookiecutterCleanSystemTestCase to use for unit tests affected by the user\'s config and cookiecutters directory. +* Improvements to the project\'s Makefile. +* Improvements to tests. Thanks [\@gperetin](https://github.com/gperetin/), [\@s-m-i-t-a](https://github.com/s-m-i-t-a/). +* Removal of subprocess32 dependency. Now using non-context manager version of subprocess.Popen for Python 2 compatibility. +* Removal of cookiecutter\'s cleanup module. +* A bit of setup.py cleanup, thanks to [\@oubiga](https://github.com/oubiga/). +* Now depends on binaryornot 0.2.0. -### 0.6.4 (2013-08-21) +## 0.6.4 (2013-08-21) -- Windows support officially added. -- Fix TemplateNotFound Exception on Windows (\#37). +* Windows support officially added. +* Fix TemplateNotFound Exception on Windows (\#37). -### 0.6.3 (2013-08-20) +## 0.6.3 (2013-08-20) -- Fix copying of binary files in nested paths (\#41), thanks to [\@sloria](https://github.com/sloria/). +* Fix copying of binary files in nested paths (\#41), thanks to [\@sloria](https://github.com/sloria/). -### 0.6.2 (2013-08-19) +## 0.6.2 (2013-08-19) -- Depend on Jinja2\>=2.4 instead of Jinja2==2.7. -- Fix errors on attempt to render binary files. Copy them over from the project template without rendering. -- Fix Python 2.6/2.7 UnicodeDecodeError when values containing Unicode chars are in cookiecutter.json. -- Set encoding in Python 3 unicode_open() to always be utf-8. +* Depend on Jinja2\>=2.4 instead of Jinja2==2.7. +* Fix errors on attempt to render binary files. Copy them over from the project template without rendering. +* Fix Python 2.6/2.7 UnicodeDecodeError when values containing Unicode chars are in cookiecutter.json. +* Set encoding in Python 3 unicode_open() to always be utf-8. -### 0.6.1 (2013-08-12) +## 0.6.1 (2013-08-12) -- Improved project template finding. Now looks for the occurrence of {{,cookiecutter, and }} in a directory name. -- Fix help message for input_dir arg at command prompt. -- Minor edge cases found and corrected, as a result of improved test coverage. +* Improved project template finding. Now looks for the occurrence of {{,cookiecutter, and }} in a directory name. +* Fix help message for input_dir arg at command prompt. +* Minor edge cases found and corrected, as a result of improved test coverage. -### 0.6.0 (2013-08-08) +## 0.6.0 (2013-08-08) -- Config is now in a single ```cookiecutter.json``` instead of in ```json/```. -- When you create a project from a git repo template, Cookiecutter prompts you to enter custom values for the fields defined in ```cookiecutter.json```. +* Config is now in a single ```cookiecutter.json``` instead of in ```json/```. +* When you create a project from a git repo template, Cookiecutter prompts you to enter custom values for the fields defined in ```cookiecutter.json```. -### 0.5 (2013-07-28) +## 0.5 (2013-07-28) -- Friendlier, more simplified command line usage: +* Friendlier, more simplified command line usage: -```console +```bash # Create project from the cookiecutter-pypackage/ template $ cookiecutter cookiecutter-pypackage/ # Create project from the cookiecutter-pypackage.git repo template $ cookiecutter https://github.com/audreyr/cookiecutter-pypackage.git ``` -- Can now use Cookiecutter from Python as a package: -```py +* Can now use Cookiecutter from Python as a package: + +```python from cookiecutter.main import cookiecutter # Create project from the cookiecutter-pypackage/ template @@ -620,33 +616,29 @@ Other changes: cookiecutter('https://github.com/audreyr/cookiecutter-pypackage.git') ``` -- Internal refactor to remove any code that changes the working +* Internal refactor to remove any code that changes the working directory. -### 0.4 (2013-07-22) +## 0.4 (2013-07-22) -- Only takes in one argument now: the input directory. The output directory is generated by rendering the name of the input directory. -- Output directory cannot be the same as input directory. +* Only takes in one argument now: the input directory. The output directory is generated by rendering the name of the input directory. +* Output directory cannot be the same as input directory. -### 0.3 (2013-07-17) +## 0.3 (2013-07-17) -- Takes in command line args for the input and output directories. +* Takes in command line args for the input and output directories. -### 0.2.1 (2013-07-17) +## 0.2.1 (2013-07-17) -- Minor cleanup. +* Minor cleanup. -### 0.2 (2013-07-17) +## 0.2 (2013-07-17) Bumped to "Development Status :: 3 - Alpha". -- Works with any type of text file. -- Directory names and filenames can be templated. - -### 0.1.0 (2013-07-11) - -- First release on PyPI. +* Works with any type of text file. +* Directory names and filenames can be templated. -# Roadmap +## 0.1.0 (2013-07-11) - \ No newline at end of file +* First release on PyPI. diff --git a/README.md b/README.md index 98018a540..3bd642206 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,5 @@ # Cookiecutter + [![pypi](https://img.shields.io/pypi/v/cookiecutter.svg)](https://pypi.python.org/pypi/cookiecutter) [![python](https://img.shields.io/pypi/pyversions/cookiecutter.svg)](https://pypi.python.org/pypi/cookiecutter) [![Build Status](https://travis-ci.org/audreyr/cookiecutter.svg?branch=master)](https://travis-ci.org/audreyr/cookiecutter) @@ -9,7 +10,6 @@ [![Code Health](https://landscape.io/github/audreyr/cookiecutter/master/landscape.svg?style=flat)](https://landscape.io/github/audreyr/cookiecutter/master) [![Code Qaulity](https://img.shields.io/scrutinizer/g/audreyr/cookiecutter.svg)](https://scrutinizer-ci.com/g/audreyr/cookiecutter/?branch=master) - A command-line utility that creates projects from **cookiecutters** (project templates), e.g. creating a Python package project from a Python package project template. * Documentation: https://cookiecutter.readthedocs.io @@ -17,11 +17,10 @@ A command-line utility that creates projects from **cookiecutters** (project tem * PyPI: https://pypi.python.org/pypi/cookiecutter * Free and open source software: `BSD license` -![](https://raw.github.com/audreyr/cookiecutter/3ac078356adf5a1a72042dfe72ebfa4a9cd5ef38/logo/cookiecutter_medium.png) +![Cookiecutter](https://raw.github.com/audreyr/cookiecutter/3ac078356adf5a1a72042dfe72ebfa4a9cd5ef38/logo/cookiecutter_medium.png) We are proud to be an open source sponsor of [PyCon 2016](https://us.pycon.org/2016/sponsors/). - ## Features Did someone say features? @@ -37,7 +36,7 @@ Did someone say features? * Simple command line usage: -```console +```bash # Create project from the cookiecutter-pypackage.git repo template # You'll be prompted to enter values. # Then it'll create your Python package in the current working directory, @@ -49,7 +48,7 @@ Did someone say features? * Use it at the command line with a local template: -```console +```bash # Create project in the current working directory, from the local # cookiecutter-pypackage/ template $ cookiecutter cookiecutter-pypackage/ @@ -69,7 +68,7 @@ Did someone say features? * Directory names and filenames can be templated. For example: -``` +```py {{cookiecutter.repo_name}}/{{cookiecutter.repo_name}}/{{cookiecutter.repo_name}}.py ``` @@ -94,9 +93,9 @@ Did someone say features? * Unless you suppress it with ``--no-input``, you are prompted for input: - - Prompts are the keys in ``cookiecutter.json``. - - Default responses are the values in ``cookiecutter.json``. - - Prompts are shown in order. + * Prompts are the keys in ``cookiecutter.json``. + * Default responses are the values in ``cookiecutter.json``. + * Prompts are shown in order. * Cross-platform support for ``~/.cookiecutterrc`` files: @@ -112,7 +111,7 @@ Did someone say features? * If you have already cloned a cookiecutter into ``~/.cookiecutters/``, you can reference it by directory name: -```console +```bash # Clone cookiecutter-pypackage $ cookiecutter gh:audreyr/cookiecutter-pypackage # Now you can use the already cloned cookiecutter by name @@ -125,8 +124,8 @@ Did someone say features? * Inject extra context with command-line arguments: -```console - $ cookiecutter --no-input gh:msabramo/cookiecutter-supervisor program_name=foobar startsecs=10 +```bash + cookiecutter --no-input gh:msabramo/cookiecutter-supervisor program_name=foobar startsecs=10 ``` * Direct access to the Cookiecutter API allows for injection of extra context. @@ -149,11 +148,9 @@ These Cookiecutters are maintained by the cookiecutter team: * [cookiecutter-django](https://github.com/pydanny/cookiecutter-django): A bleeding edge Django project template with Bootstrap 4, customizable users app, starter templates, working user registration, celery setup, and much more. * [cookiecutter-pytest-plugin](https://github.com/pytest-dev/cookiecutter-pytest-plugin): Minimal Cookiecutter template for authoring [pytest](http://pytest.org/latest/) plugins that help you to write better programs. - ### Categories of Cookiecutters -[Pytho](https://github.com/cookiecutter/cookiecutter#python) | [Python-Django](https://github.com/cookiecutter/cookiecutter#python-django) | [Python-Pyramid](https://github.com/cookiecutter/cookiecutter#python-pyramid) | [Cookiecutter (meta)](https://github.com/cookiecutter/cookiecutter#cookiecutter-meta) | [Ansible](https://github.com/cookiecutter/cookiecutter#ansible) | [Git](https://github.com/cookiecutter/cookiecutter#git) | [C](https://github.com/cookiecutter/cookiecutter#c) | [C++](https://github.com/cookiecutter/cookiecutter#id1) | [C#](https://github.com/cookiecutter/cookiecutter#id2) | [Common Lisp](https://github.com/cookiecutter/cookiecutter#common-lisp) | [Elm](https://github.com/cookiecutter/cookiecutter#elm) | [Golang](https://github.com/cookiecutter/cookiecutter#golang) | [Java](https://github.com/cookiecutter/cookiecutter#java) | [JS](https://github.com/cookiecutter/cookiecutter#js) | [Kotlin](https://github.com/cookiecutter/cookiecutter#kotlin) | [LaTeX/XeTeX](https://github.com/cookiecutter/cookiecutter#latex-xetex) | [PHP](https://github.com/cookiecutter/cookiecutter#php) | [Berkshelf-Vagrant](https://github.com/cookiecutter/cookiecutter#berkshelf-vagrant) | [HTML](https://github.com/cookiecutter/cookiecutter#html) | [Scala](https://github.com/cookiecutter/cookiecutter#scala) | [6502 Assembly](https://github.com/cookiecutter/cookiecutter#assembly) | [Data Science](https://github.com/cookiecutter/cookiecutter#data-science) | [Tornado](https://github.com/cookiecutter/cookiecutter#tornado) | [Reproducible Science](https://github.com/cookiecutter/cookiecutter#reproducible-science) | [Continuous Delivery](https://github.com/cookiecutter/cookiecutter#continuous-delivery) - +[Python](https://github.com/cookiecutter/cookiecutter#python) | [Python-Django](https://github.com/cookiecutter/cookiecutter#python-django) | [Python-Pyramid](https://github.com/cookiecutter/cookiecutter#python-pyramid) | [Cookiecutter (meta)](https://github.com/cookiecutter/cookiecutter#cookiecutter-meta) | [Ansible](https://github.com/cookiecutter/cookiecutter#ansible) | [Git](https://github.com/cookiecutter/cookiecutter#git) | [C](https://github.com/cookiecutter/cookiecutter#c) | [C++](https://github.com/cookiecutter/cookiecutter#id1) | [C#](https://github.com/cookiecutter/cookiecutter#id2) | [Common Lisp](https://github.com/cookiecutter/cookiecutter#common-lisp) | [Elm](https://github.com/cookiecutter/cookiecutter#elm) | [Golang](https://github.com/cookiecutter/cookiecutter#golang) | [Java](https://github.com/cookiecutter/cookiecutter#java) | [JS](https://github.com/cookiecutter/cookiecutter#js) | [Kotlin](https://github.com/cookiecutter/cookiecutter#kotlin) | [LaTeX/XeTeX](https://github.com/cookiecutter/cookiecutter#latex-xetex) | [PHP](https://github.com/cookiecutter/cookiecutter#php) | [Berkshelf-Vagrant](https://github.com/cookiecutter/cookiecutter#berkshelf-vagrant) | [HTML](https://github.com/cookiecutter/cookiecutter#html) | [Scala](https://github.com/cookiecutter/cookiecutter#scala) | [6502 Assembly](https://github.com/cookiecutter/cookiecutter#assembly) | [Data Science](https://github.com/cookiecutter/cookiecutter#data-science) | [Tornado](https://github.com/cookiecutter/cookiecutter#tornado) | [Reproducible Science](https://github.com/cookiecutter/cookiecutter#reproducible-science) | [Continuous Delivery](https://github.com/cookiecutter/cookiecutter#continuous-delivery) If you don't find a cookiecutter that suits your needs here, please consider writing or suggesting one. We wish for our users to find a solution for their use cases, and we provide a list of other projects that we do not maintain for your convenience (please see the [Similar Projects](https://github.com/cookiecutter/cookiecutter#similar-projects) section). @@ -198,7 +195,7 @@ Waiting for a response to an issue/question? ## Support This Project -This project is run by volunteers. Shortly we will be providing means for organizations and individuals to support the project. +This project is run by volunteers. Shortly we will be providing means for organizations and individuals to support the project. ## Code of Conduct @@ -256,7 +253,6 @@ Please avoid creating PRs for listing additional templates. We outsourced their * [cookiecutter-anyblok-project](https://github.com/AnyBlok/cookiecutter-anyblok-project): A template for Anyblok based projects. * [cookiecutter-python-cli](https://github.com/xuanluong/cookiecutter-python-cli): A cookiecutter template for creating a Python CLI application using click. - ### Python-Django * [cookiecutter-django](https://github.com/pydanny/cookiecutter-django): A bleeding edge Django project template with Bootstrap 4, customizable users app, starter templates, working user registration, celery setup, and much more. @@ -323,7 +319,7 @@ Meta-templates for generating Cookiecutter project templates. * [cookiecutter-kata-gtest](https://github.com/13coders/cookiecutter-kata-gtest): A template for C++ test-driven development katas using the Google Test framework. * [cookiecutter-kata-cpputest](https://github.com/13coders/cookiecutter-kata-cpputest): A template for C++ test-driven-development katas using the CppUTest framework. -### C# +### C# * [cookiecutter-csharp-objc-binding](https://github.com/SandyChapman/cookiecutter-csharp-objc-binding): A template for generating a C# binding project for binding an Objective-C static library. @@ -335,7 +331,6 @@ Meta-templates for generating Cookiecutter project templates. * [cookiecutter-elm](https://github.com/m-x-k/cookiecutter-elm): Elm based cookiecutter with basic html example. - ### Golang * [cookiecutter-golang](https://github.com/lacion/cookiecutter-golang): A template to create new go based projects following best practices. @@ -364,7 +359,6 @@ Meta-templates for generating Cookiecutter project templates. * [cookiecutter-kotlin-gradle](https://github.com/thomaslee/cookiecutter-kotlin-gradle): A bare-bones template for Gradle-based Kotlin projects. - ### LaTeX/XeTeX * [pandoc-talk](https://github.com/larsyencken/pandoc-talk): A cookiecutter template for giving talks with pandoc and XeTeX. @@ -396,6 +390,7 @@ Meta-templates for generating Cookiecutter project templates. * [cookiecutter-scala-spark](https://github.com/jpzk/cookiecutter-scala-spark): A cookiecutter template for Apache Spark applications written in Scala. ### 6502 Assembly + * [cookiecutter-atari2600](https://github.com/joeyjoejoejr/cookiecutter-atari2600): A cookiecutter template for Atari2600 projects. ### Data Science @@ -419,6 +414,7 @@ Meta-templates for generating Cookiecutter project templates. * [cookiecutter-devenv](https://bitbucket.org/greenguavalabs/cookiecutter-devenv/src/master/): A template to add a development and ci environment to an existing project. ### Cloud Tools + * [cookiecutter-tf-module](https://github.com/DualSpark/cookiecutter-tf-module): Cookiecutter template for building consistent Terraform modules. ### Tornado @@ -461,4 +457,4 @@ Meta-templates for generating Cookiecutter project templates. * [Cog](https://bitbucket.org/ned/cog/src/default/) python-based code generation toolkit developed by Ned Batchelder -* [Skaffold](https://github.com/christabor/Skaffold) python and json config based django/MVC generator, with some add-ons and integrations. \ No newline at end of file +* [Skaffold](https://github.com/christabor/Skaffold) python and json config based django/MVC generator, with some add-ons and integrations. diff --git a/case_studies.md b/case_studies.md index adcceba35..db101b979 100644 --- a/case_studies.md +++ b/case_studies.md @@ -6,11 +6,11 @@ This showcase is where organizations can describe how they are using Cookiecutte Building Python tools for platforms like mobile phones and set top boxes requires a lot of boilerplate code just to get the project running. Cookiecutter has enabled us to very quickly stub out a starter project in which running Python code can be placed, and makes maintaining those templates very easy. With Cookiecutter we've been able to deliver support [Android devices](https://github.com/beeware/Python-Android-template), [iOS devices](https://github.com/beeware/Python-iOS-template), tvOS boxes, and we're planning to add native support for iOS and Windows devices in the future. -[BeeWare ](https://beeware.org/) is an organization building open source libraries for Python support on all platforms. +[BeeWare](https://beeware.org/) is an organization building open source libraries for Python support on all platforms. ## [ChrisDev](https://chrisdev.com/) -Anytime we start a new project we begin with a [ Cookiecutter template that generates a Django/Wagtail project](https://github.com/chrisdev/wagtail-cookiecutter-foundation) Our developers like it for maintainability and our designers enjoy being able to spin up new sites using our tool chain very quickly. Cookiecutter is very useful for because it supports both Mac OSX and Windows users. +Anytime we start a new project we begin with a [Cookiecutter template that generates a Django/Wagtail project](https://github.com/chrisdev/wagtail-cookiecutter-foundation) Our developers like it for maintainability and our designers enjoy being able to spin up new sites using our tool chain very quickly. Cookiecutter is very useful for because it supports both Mac OSX and Windows users. [ChrisDev](https://chrisdev.com/) is a Trinidad-based consulting agency. @@ -22,4 +22,4 @@ OpenStack uses several Cookiecutter templates to generate: * [Install guides](https://github.com/openstack/installguide-cookiecutter) * [New tempest plugins](https://github.com/openstack/tempest-plugin-cookiecutter) -[OpenStack](https://www.openstack.org/) is open source software for creating private and public clouds. \ No newline at end of file +[OpenStack](https://www.openstack.org/) is open source software for creating private and public clouds.