Skip to content

Commit

Permalink
Merge pull request #1608 from cookiecutter/release-prep-2.0.1rc1
Browse files Browse the repository at this point in the history
Release preparation for 2.0.1rc1
  • Loading branch information
audreyfeldroy committed Dec 5, 2021
2 parents d6037b7 + 3db109d commit f821895
Show file tree
Hide file tree
Showing 22 changed files with 369 additions and 327 deletions.
25 changes: 0 additions & 25 deletions .github/workflows/main.yml
Expand Up @@ -34,28 +34,19 @@ jobs:
fail-fast: false
matrix:
name:
- "ubuntu-py36"
- "ubuntu-py37"
- "ubuntu-py38"
- "ubuntu-py39"
- "ubuntu-pypy3"

- "macos-py36"
- "macos-py37"
- "macos-py38"
- "macos-py39"
- "macos-pypy3"

- "windows-py36"
- "windows-py37"
- "windows-py38"
- "windows-py39"

include:
- name: "ubuntu-py36"
python: "3.6"
os: ubuntu-latest
tox_env: "py36"
- name: "ubuntu-py37"
python: "3.7"
os: ubuntu-latest
Expand All @@ -68,15 +59,7 @@ jobs:
python: "3.9"
os: ubuntu-latest
tox_env: "py39"
- name: "ubuntu-pypy3"
python: "pypy3"
os: ubuntu-latest
tox_env: "pypy3"

- name: "macos-py36"
python: "3.6"
os: macos-latest
tox_env: "py36"
- name: "macos-py37"
python: "3.7"
os: macos-latest
Expand All @@ -89,15 +72,7 @@ jobs:
python: "3.9"
os: macos-latest
tox_env: "py39"
- name: "macos-pypy3"
python: "pypy3"
os: macos-latest
tox_env: "pypy3"

- name: "windows-py36"
python: "3.6"
os: windows-latest
tox_env: "py36"
- name: "windows-py37"
python: "3.7"
os: windows-latest
Expand Down
5 changes: 5 additions & 0 deletions .gitignore
Expand Up @@ -69,3 +69,8 @@ target/

# PyEnv
.python-version

# OSX
.DS_Store
.AppleDouble
.LSOverride
6 changes: 3 additions & 3 deletions .pre-commit-config.yaml
Expand Up @@ -5,13 +5,13 @@ repos:
hooks:
- id: doc8
name: doc8
description: This hook runs doc8 for linting docs
description: This hook runs doc8 for linting docs.
entry: python -m doc8
language: python
files: \.rst$
require_serial: true
- repo: https://github.com/python/black.git
rev: 19.10b0
- repo: https://github.com/psf/black.git
rev: 21.10b0
hooks:
- id: black
language_version: python3
Expand Down
323 changes: 161 additions & 162 deletions AUTHORS.md

Large diffs are not rendered by default.

8 changes: 4 additions & 4 deletions CONTRIBUTING.md
Expand Up @@ -72,7 +72,7 @@ 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:

```bash
mkvirtualenv cookiecutter

cd cookiecutter/
python setup.py develop
```
Expand Down Expand Up @@ -188,13 +188,13 @@ 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:
It is possible to test with specific versions of Python. To do this, the command is:

```bash
tox -e py36,pypy3
tox -e py37,py38
```

Will run py.test with the python3.6 and pypy3 interpreters, for example.
This will run `py.test` with the `python3.7` and `python3.8` interpreters.

## Core Committer Guide

Expand Down
2 changes: 1 addition & 1 deletion LICENSE
@@ -1,4 +1,4 @@
Copyright (c) 2013-2021, Audrey Feldroy
Copyright (c) 2013-2021, Audrey Roy Greenfeld
All rights reserved.

Redistribution and use in source and binary forms, with or
Expand Down
186 changes: 92 additions & 94 deletions README.md
Expand Up @@ -12,10 +12,10 @@ 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](https://cookiecutter.readthedocs.io)
* GitHub: [https://github.com/cookiecutter/cookiecutter](https://github.com/cookiecutter/cookiecutter)
* PyPI: [https://pypi.org/project/cookiecutter/](https://pypi.org/project/cookiecutter/)
* Free and open source software: [BSD license](https://github.com/cookiecutter/cookiecutter/blob/master/LICENSE)
- Documentation: [https://cookiecutter.readthedocs.io](https://cookiecutter.readthedocs.io)
- GitHub: [https://github.com/cookiecutter/cookiecutter](https://github.com/cookiecutter/cookiecutter)
- PyPI: [https://pypi.org/project/cookiecutter/](https://pypi.org/project/cookiecutter/)
- Free and open source software: [BSD license](https://github.com/cookiecutter/cookiecutter/blob/master/LICENSE)

![Cookiecutter](https://raw.githubusercontent.com/cookiecutter/cookiecutter/3ac078356adf5a1a72042dfe72ebfa4a9cd5ef38/logo/cookiecutter_medium.png)

Expand All @@ -24,15 +24,13 @@ We are proud to be an open source sponsor of

## Features

Did someone say features?

* Cross-platform: Windows, Mac, and Linux are officially supported.
* You don't have to know/write Python code to use Cookiecutter.
* Works with Python 3.6, 3.7, 3.8, 3.9 and PyPy3.
* Project templates can be in any programming language or markup format:
- Cross-platform: Windows, Mac, and Linux are officially supported.
- You don't have to know/write Python code to use Cookiecutter.
- Works with Python 3.7, 3.8, 3.9.
- Project templates can be in any programming language or markup format:
Python, JavaScript, Ruby, CoffeeScript, RST, Markdown, CSS, HTML, you name it.
You can use multiple languages in the same project template.
* Simple command line usage:
- Simple command line usage:

```bash
# Create project from the cookiecutter-pypackage.git repo template
Expand All @@ -44,15 +42,15 @@ $ cookiecutter https://github.com/audreyfeldroy/cookiecutter-pypackage
$ cookiecutter gh:audreyfeldroy/cookiecutter-pypackage
```

* Use it at the command line with a local template:
- Use it at the command line with a local template:

```bash
# Create project in the current working directory, from the local
# cookiecutter-pypackage/ template
$ cookiecutter cookiecutter-pypackage/
```

* Or use it from Python:
- Or use it from Python:

```py
from cookiecutter.main import cookiecutter
Expand All @@ -64,47 +62,47 @@ cookiecutter('cookiecutter-pypackage/')
cookiecutter('https://github.com/audreyfeldroy/cookiecutter-pypackage.git')
```

* Directory names and filenames can be templated. For example:
- Directory names and filenames can be templated. For example:

```py
{{cookiecutter.repo_name}}/{{cookiecutter.repo_name}}/{{cookiecutter.repo_name}}.py
```

* Supports unlimited levels of directory nesting.
* 100% of templating is done with Jinja2. This includes file and directory names.
* Simply define your template variables in a ``cookiecutter.json`` file. For example:
- Supports unlimited levels of directory nesting.
- 100% of templating is done with Jinja2. This includes file and directory names.
- Simply define your template variables in a `cookiecutter.json` file. For example:

```json
{
"full_name": "Audrey Feldroy",
"email": "audreyr@gmail.com",
"project_name": "Complexity",
"repo_name": "complexity",
"project_short_description": "Refreshingly simple static site generator.",
"release_date": "2013-07-10",
"year": "2013",
"version": "0.1.1"
"full_name": "Audrey Roy Greenfeld",
"email": "audreyr@gmail.com",
"project_name": "Complexity",
"repo_name": "complexity",
"project_short_description": "Refreshingly simple static site generator.",
"release_date": "2013-07-10",
"year": "2013",
"version": "0.1.1"
}
```

* 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.
* Cross-platform support for ``~/.cookiecutterrc`` files:
- 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.
- Cross-platform support for `~/.cookiecutterrc` files:

```yaml
default_context:
full_name: "Audrey Feldroy"
email: "audreyr@gmail.com"
github_username: "audreyfeldroy"
full_name: "Audrey Roy Greenfeld"
email: "audreyr@gmail.com"
github_username: "audreyfeldroy"
cookiecutters_dir: "~/.cookiecutters/"
```

* Cookiecutters (cloned Cookiecutter project templates) are put into
``~/.cookiecutters/`` by default, or cookiecutters_dir if specified.
* If you have already cloned a cookiecutter into ``~/.cookiecutters/``,
you can reference it by directory name:
- Cookiecutters (cloned Cookiecutter project templates) are put into
`~/.cookiecutters/` by default, or cookiecutters_dir if specified.
- If you have already cloned a cookiecutter into `~/.cookiecutters/`,
you can reference it by directory name:

```bash
# Clone cookiecutter-pypackage
Expand All @@ -113,22 +111,22 @@ $ cookiecutter gh:audreyfeldroy/cookiecutter-pypackage
$ cookiecutter cookiecutter-pypackage
```

* You can use local cookiecutters, or remote cookiecutters directly from Git
repos or from Mercurial repos on Bitbucket.
* Default context: specify key/value pairs that you want used as defaults
whenever you generate a project.
* Inject extra context with command-line arguments:
- You can use local cookiecutters, or remote cookiecutters directly from Git
repos or from Mercurial repos on Bitbucket.
- Default context: specify key/value pairs that you want used as defaults
whenever you generate a project.
- Inject extra context with command-line arguments:

```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.
* Pre- and post-generate hooks: Python or shell scripts to run before or after
generating a project.
* Paths to local projects can be specified as absolute or relative.
* Projects generated to your current directory or to target directory if
specified with `-o` option.
- Direct access to the Cookiecutter API allows for injection of extra context.
- Pre- and post-generate hooks: Python or shell scripts to run before or after
generating a project.
- Paths to local projects can be specified as absolute or relative.
- Projects generated to your current directory or to target directory if
specified with `-o` option.

## Available Cookiecutters

Expand Down Expand Up @@ -157,14 +155,14 @@ discoverable. You are almost not limited in topics amount, use it!

These Cookiecutters are maintained by the cookiecutter team:

* [cookiecutter-pypackage](https://github.com/audreyfeldroy/cookiecutter-pypackage):
[@audreyfeldroy's](https://github.com/audreyfeldroy) ultimate Python package project template.
* [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](https://docs.pytest.org/)
plugins that help you to write better programs.
- [cookiecutter-pypackage](https://github.com/audreyfeldroy/cookiecutter-pypackage):
[@audreyfeldroy's](https://github.com/audreyfeldroy) ultimate Python package project template.
- [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](https://docs.pytest.org/)
plugins that help you to write better programs.

## Community

Expand All @@ -173,57 +171,57 @@ We are always welcome and invite you to participate.

Stuck? Try one of the following:

* See the [Troubleshooting](https://cookiecutter.readthedocs.io/en/latest/troubleshooting.html) page.
* Ask for help on [Stack Overflow](https://stackoverflow.com/questions/tagged/cookiecutter).
* You are strongly encouraged to
[file an issue](https://github.com/cookiecutter/cookiecutter/issues?q=is%3Aopen)
about the problem, even if it's just "I can't get it to work on this cookiecutter"
with a link to your cookiecutter. Don't worry about naming/pinpointing the issue
properly.
* Ask for help on [Slack](https://join.slack.com/t/cookie-cutter/shared_invite/enQtNzI0Mzg5NjE5Nzk5LTRlYWI2YTZhYmQ4YmU1Y2Q2NmE1ZjkwOGM0NDQyNTIwY2M4ZTgyNDVkNjMxMDdhZGI5ZGE5YmJjM2M3ODJlY2U)
if you must (but please try one of the other options first, so that others
can benefit from the discussion).
- See the [Troubleshooting](https://cookiecutter.readthedocs.io/en/latest/troubleshooting.html) page.
- Ask for help on [Stack Overflow](https://stackoverflow.com/questions/tagged/cookiecutter).
- You are strongly encouraged to
[file an issue](https://github.com/cookiecutter/cookiecutter/issues?q=is%3Aopen)
about the problem, even if it's just "I can't get it to work on this cookiecutter"
with a link to your cookiecutter. Don't worry about naming/pinpointing the issue
properly.
- Ask for help on [Slack](https://join.slack.com/t/cookie-cutter/shared_invite/enQtNzI0Mzg5NjE5Nzk5LTRlYWI2YTZhYmQ4YmU1Y2Q2NmE1ZjkwOGM0NDQyNTIwY2M4ZTgyNDVkNjMxMDdhZGI5ZGE5YmJjM2M3ODJlY2U)
if you must (but please try one of the other options first, so that others
can benefit from the discussion).

Development on Cookiecutter is community-driven:

* Huge thanks to all the [contributors](AUTHORS.md) who have pitched in to help
make Cookiecutter an even better tool.
* Everyone is invited to contribute. Read the
[contributing instructions](CONTRIBUTING.md), then get started.
* Connect with other Cookiecutter contributors and users on
[Slack](https://join.slack.com/t/cookie-cutter/shared_invite/enQtNzI0Mzg5NjE5Nzk5LTRlYWI2YTZhYmQ4YmU1Y2Q2NmE1ZjkwOGM0NDQyNTIwY2M4ZTgyNDVkNjMxMDdhZGI5ZGE5YmJjM2M3ODJlY2U)
(note: due to work and commitments, a core committer might not always be available)
- Huge thanks to all the [contributors](AUTHORS.md) who have pitched in to help
make Cookiecutter an even better tool.
- Everyone is invited to contribute. Read the
[contributing instructions](CONTRIBUTING.md), then get started.
- Connect with other Cookiecutter contributors and users on
[Slack](https://join.slack.com/t/cookie-cutter/shared_invite/enQtNzI0Mzg5NjE5Nzk5LTRlYWI2YTZhYmQ4YmU1Y2Q2NmE1ZjkwOGM0NDQyNTIwY2M4ZTgyNDVkNjMxMDdhZGI5ZGE5YmJjM2M3ODJlY2U)
(note: due to work and commitments, a core committer might not always be available)

Encouragement is unbelievably motivating. If you want more work done on
Cookiecutter, show support:

* Thank a core committer for their efforts.
* Star [Cookiecutter on GitHub](https://github.com/cookiecutter/cookiecutter).
* [Support this project](#support-this-project)
- Thank a core committer for their efforts.
- Star [Cookiecutter on GitHub](https://github.com/cookiecutter/cookiecutter).
- [Support this project](#support-this-project)

Got criticism or complaints?

* [File an issue](https://github.com/cookiecutter/cookiecutter/issues?q=is%3Aopen)
so that Cookiecutter can be improved. Be friendly and constructive about what
could be better. Make detailed suggestions.
* **Keep us in the loop so that we can help.** For example, if you are
discussing problems with Cookiecutter on a mailing list,
[file an issue](https://github.com/cookiecutter/cookiecutter/issues?q=is%3Aopen)
where you link to the discussion thread and/or cc at least 1 core committer on the email.
* Be encouraging. A comment like "This function ought to be rewritten like this"
is much more likely to result in action than a comment like "Eww, look how bad
this function is."
- [File an issue](https://github.com/cookiecutter/cookiecutter/issues?q=is%3Aopen)
so that Cookiecutter can be improved. Be friendly and constructive about what
could be better. Make detailed suggestions.
- **Keep us in the loop so that we can help.** For example, if you are
discussing problems with Cookiecutter on a mailing list,
[file an issue](https://github.com/cookiecutter/cookiecutter/issues?q=is%3Aopen)
where you link to the discussion thread and/or cc at least 1 core committer on the email.
- Be encouraging. A comment like "This function ought to be rewritten like this"
is much more likely to result in action than a comment like "Eww, look how bad
this function is."

Waiting for a response to an issue/question?

* Be patient and persistent. All issues are on the core committer team's radar
and will be considered thoughtfully, but we have a lot of issues to work through.
If urgent, it's fine to ping a core committer in the issue with a reminder.
* Ask others to comment, discuss, review, etc.
* Search the Cookiecutter repo for issues related to yours.
* Need a fix/feature/release/help urgently, and can't wait?
[@audreyfeldroy](https://github.com/audreyfeldroy) is available for hire for consultation
or custom development.
- Be patient and persistent. All issues are on the core committer team's radar
and will be considered thoughtfully, but we have a lot of issues to work through.
If urgent, it's fine to ping a core committer in the issue with a reminder.
- Ask others to comment, discuss, review, etc.
- Search the Cookiecutter repo for issues related to yours.
- Need a fix/feature/release/help urgently, and can't wait?
[@audreyfeldroy](https://github.com/audreyfeldroy) is available for hire for consultation
or custom development.

## Support This Project

Expand Down

0 comments on commit f821895

Please sign in to comment.