diff --git a/.github/contributors.json b/.github/contributors.json
index 49ebfe4d8..5c8b1f753 100644
--- a/.github/contributors.json
+++ b/.github/contributors.json
@@ -1322,5 +1322,15 @@
"name": "rguptar",
"github_login": "rguptar",
"twitter_username": ""
+ },
+ {
+ "name": "Omer-5",
+ "github_login": "Omer-5",
+ "twitter_username": ""
+ },
+ {
+ "name": "TAKAHASHI Shuuji",
+ "github_login": "shuuji3",
+ "twitter_username": ""
}
]
\ No newline at end of file
diff --git a/.github/workflows/update-contributors.yml b/.github/workflows/update-contributors.yml
index 952486c1b..83c651a46 100644
--- a/.github/workflows/update-contributors.yml
+++ b/.github/workflows/update-contributors.yml
@@ -29,6 +29,8 @@ jobs:
pip install -r requirements.txt
- name: Update list
run: python scripts/update_contributors.py
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Commit changes
uses: stefanzweifel/git-auto-commit-action@v4.16.0
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index fedfdc47f..ca86e7eb5 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -21,7 +21,7 @@ repos:
- id: black
- repo: https://github.com/PyCQA/isort
- rev: 5.11.1
+ rev: 5.11.4
hooks:
- id: isort
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 74ed1e650..aca668c5f 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -3,6 +3,55 @@ All enhancements and patches to Cookiecutter Django will be documented in this f
+## 2022.12.29
+
+### Updated
+- Update tox to 4.1.0 ([#4035](https://github.com/cookiecutter/cookiecutter-django/pull/4035))
+- Update tox to 4.0.19 ([#4030](https://github.com/cookiecutter/cookiecutter-django/pull/4030))
+- Update django-allauth to 0.52.0 ([#4033](https://github.com/cookiecutter/cookiecutter-django/pull/4033))
+
+## 2022.12.26
+
+### Updated
+- Update tox to 4.0.17 ([#4027](https://github.com/cookiecutter/cookiecutter-django/pull/4027))
+- Update pre-commit to 2.21.0 ([#4026](https://github.com/cookiecutter/cookiecutter-django/pull/4026))
+
+## 2022.12.25
+
+### Updated
+- Auto-update pre-commit hooks ([#4021](https://github.com/cookiecutter/cookiecutter-django/pull/4021))
+
+## 2022.12.24
+
+### Updated
+- Update coverage to 7.0.1 ([#4024](https://github.com/cookiecutter/cookiecutter-django/pull/4024))
+
+## 2022.12.21
+
+### Changed
+- Retry when trying to store a Celery result in backend ([#3996](https://github.com/cookiecutter/cookiecutter-django/pull/3996))
+- Update image URL for build status shield badge ([#4018](https://github.com/cookiecutter/cookiecutter-django/pull/4018))
+### Updated
+- Update pytz to 2022.7 ([#4020](https://github.com/cookiecutter/cookiecutter-django/pull/4020))
+- Update ipdb to 0.13.11 ([#4019](https://github.com/cookiecutter/cookiecutter-django/pull/4019))
+- Update tox to 4.0.16 ([#4017](https://github.com/cookiecutter/cookiecutter-django/pull/4017))
+- Update sentry-sdk to 1.12.1 ([#4014](https://github.com/cookiecutter/cookiecutter-django/pull/4014))
+- Update coverage to 7.0.0 ([#4013](https://github.com/cookiecutter/cookiecutter-django/pull/4013))
+- Update django-anymail to 9.0 ([#4012](https://github.com/cookiecutter/cookiecutter-django/pull/4012))
+- Auto-update pre-commit hooks ([#4005](https://github.com/cookiecutter/cookiecutter-django/pull/4005))
+- Update isort to 5.11.3 ([#4010](https://github.com/cookiecutter/cookiecutter-django/pull/4010))
+- Update drf-spectacular to 0.25.1 ([#4009](https://github.com/cookiecutter/cookiecutter-django/pull/4009))
+- Update hiredis to 2.1.0 ([#4006](https://github.com/cookiecutter/cookiecutter-django/pull/4006))
+
+## 2022.12.13
+
+### Changed
+- Improve documentation for Getting started with Docker ([#4003](https://github.com/cookiecutter/cookiecutter-django/pull/4003))
+### Updated
+- Update isort to 5.11.1 ([#3999](https://github.com/cookiecutter/cookiecutter-django/pull/3999))
+- Auto-update pre-commit hooks ([#3998](https://github.com/cookiecutter/cookiecutter-django/pull/3998))
+- Update isort to 5.11.0 ([#3997](https://github.com/cookiecutter/cookiecutter-django/pull/3997))
+
## 2022.12.10
### Updated
diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md
index d97324708..dba721de6 100644
--- a/CONTRIBUTORS.md
+++ b/CONTRIBUTORS.md
@@ -1447,6 +1447,13 @@ Listed in alphabetical order.
|
+
+ Omer-5 |
+
+ Omer-5
+ |
+ |
+
Pablo |
@@ -1664,6 +1671,13 @@ Listed in alphabetical order.
|
|
+
+ TAKAHASHI Shuuji |
+
+ shuuji3
+ |
+ |
+
Tames McTigue |
diff --git a/README.md b/README.md
index 27fc6e0e1..d8fc58ec4 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
# Cookiecutter Django
-[](https://github.com/cookiecutter/cookiecutter-django/actions?query=workflow%3ACI)
+[](https://github.com/cookiecutter/cookiecutter-django/actions/workflows/ci.yml?query=branch%3Amaster)
[](https://cookiecutter-django.readthedocs.io/en/latest/?badge=latest)
[](https://pyup.io/repos/github/cookiecutter/cookiecutter-django/)
[](https://discord.gg/uFXweDQc5a)
diff --git a/docs/developing-locally-docker.rst b/docs/developing-locally-docker.rst
index 4bb5d9032..a7d77e108 100644
--- a/docs/developing-locally-docker.rst
+++ b/docs/developing-locally-docker.rst
@@ -3,9 +3,6 @@ Getting Up and Running Locally With Docker
.. index:: Docker
-The steps below will get you up and running with a local development environment.
-All of these commands assume you are in the root of your generated project.
-
.. note::
If you're new to Docker, please be aware that some resources are cached system-wide
@@ -19,10 +16,16 @@ Prerequisites
* Docker; if you don't have it yet, follow the `installation instructions`_;
* Docker Compose; refer to the official documentation for the `installation guide`_.
* Pre-commit; refer to the official documentation for the `pre-commit`_.
+* Cookiecutter; refer to the official GitHub repository of `Cookiecutter`_
.. _`installation instructions`: https://docs.docker.com/install/#supported-platforms
.. _`installation guide`: https://docs.docker.com/compose/install/
.. _`pre-commit`: https://pre-commit.com/#install
+.. _`Cookiecutter`: https://github.com/cookiecutter/cookiecutter
+
+Before Getting Started
+----------------------
+.. include:: generate-project-block.rst
Build the Stack
---------------
diff --git a/docs/developing-locally.rst b/docs/developing-locally.rst
index c9d28ff73..e1c946268 100644
--- a/docs/developing-locally.rst
+++ b/docs/developing-locally.rst
@@ -24,9 +24,8 @@ First things first.
$ source /bin/activate
-#. Install cookiecutter-django: ::
-
- $ cookiecutter gh:cookiecutter/cookiecutter-django
+#.
+ .. include:: generate-project-block.rst
#. Install development requirements: ::
@@ -43,6 +42,7 @@ First things first.
#. Create a new PostgreSQL database using createdb_: ::
$ createdb --username=postgres
+
``project_slug`` is what you have entered as the project_slug at the setup stage.
.. note::
diff --git a/docs/generate-project-block.rst b/docs/generate-project-block.rst
new file mode 100644
index 000000000..2842b551d
--- /dev/null
+++ b/docs/generate-project-block.rst
@@ -0,0 +1,7 @@
+Generate a new cookiecutter-django project: ::
+
+ $ cookiecutter gh:cookiecutter/cookiecutter-django
+
+For more information refer to
+:ref:`Project Generation Options `.
+
diff --git a/requirements.txt b/requirements.txt
index 62d71b3b4..ef0272058 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -5,14 +5,14 @@ binaryornot==0.4.4
# Code quality
# ------------------------------------------------------------------------------
black==22.12.0
-isort==5.11.1
+isort==5.11.3
flake8==6.0.0
flake8-isort==5.0.3
-pre-commit==2.20.0
+pre-commit==2.21.0
# Testing
# ------------------------------------------------------------------------------
-tox==4.0.5
+tox==4.1.0
pytest==7.2.0
pytest-cookies==0.6.1
pytest-instafail==0.4.2
diff --git a/setup.py b/setup.py
index 15ed7ce23..e03b72109 100644
--- a/setup.py
+++ b/setup.py
@@ -5,7 +5,7 @@ except ImportError:
from distutils.core import setup
# We use calendar versioning
-version = "2022.12.10"
+version = "2022.12.29"
with open("README.rst") as readme_file:
long_description = readme_file.read()
diff --git a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml
index f0231004c..c1aaf0d9f 100644
--- a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml
+++ b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml
@@ -21,7 +21,7 @@ repos:
- id: black
- repo: https://github.com/PyCQA/isort
- rev: 5.11.1
+ rev: 5.11.4
hooks:
- id: isort
diff --git a/{{cookiecutter.project_slug}}/config/settings/base.py b/{{cookiecutter.project_slug}}/config/settings/base.py
index fc04c9d58..cd6c87d15 100644
--- a/{{cookiecutter.project_slug}}/config/settings/base.py
+++ b/{{cookiecutter.project_slug}}/config/settings/base.py
@@ -285,6 +285,11 @@ CELERY_BROKER_URL = env("CELERY_BROKER_URL")
CELERY_RESULT_BACKEND = CELERY_BROKER_URL
# https://docs.celeryq.dev/en/stable/userguide/configuration.html#result-extended
CELERY_RESULT_EXTENDED = True
+# https://docs.celeryq.dev/en/stable/userguide/configuration.html#result-backend-always-retry
+# https://github.com/celery/celery/pull/6122
+CELERY_RESULT_BACKEND_ALWAYS_RETRY = True
+# https://docs.celeryq.dev/en/stable/userguide/configuration.html#result-backend-max-retries
+CELERY_RESULT_BACKEND_MAX_RETRIES = 10
# https://docs.celeryq.dev/en/stable/userguide/configuration.html#std:setting-accept_content
CELERY_ACCEPT_CONTENT = ["json"]
# https://docs.celeryq.dev/en/stable/userguide/configuration.html#std:setting-task_serializer
diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt
index 6291d895f..5258d2435 100644
--- a/{{cookiecutter.project_slug}}/requirements/base.txt
+++ b/{{cookiecutter.project_slug}}/requirements/base.txt
@@ -44,10 +44,10 @@ django-redis==5.2.0 # https://github.com/jazzband/django-redis
djangorestframework==3.14.0 # https://github.com/encode/django-rest-framework
django-cors-headers==3.13.0 # https://github.com/adamchainz/django-cors-headers
# DRF-spectacular for api documentation
-drf-spectacular==0.24.2 # https://github.com/tfranzel/drf-spectacular
+drf-spectacular==0.25.1 # https://github.com/tfranzel/drf-spectacular
{%- endif %}
# Project
# ------------------------------------------------------------------------------
fontawesomefree==6.2.1 # https://github.com/FortAwesome/Font-Awesome
-django-import-export==3.0.1 # https://github.com/django-import-export/django-import-export
+django-import-export==3.0.2 # https://github.com/django-import-export/django-import-export
diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt
index 57025a148..14f30bba0 100644
--- a/{{cookiecutter.project_slug}}/requirements/local.txt
+++ b/{{cookiecutter.project_slug}}/requirements/local.txt
@@ -1,7 +1,7 @@
-r base.txt
Werkzeug[watchdog]==2.2.2 # https://github.com/pallets/werkzeug
-ipdb==0.13.9 # https://github.com/gotcha/ipdb
+ipdb==0.13.11 # https://github.com/gotcha/ipdb
{%- if cookiecutter.use_docker == 'y' %}
psycopg2==2.9.5 # https://github.com/psycopg/psycopg2
{%- else %}
@@ -31,13 +31,13 @@ sphinx-rtd-theme==1.1.1 # https://pypi.org/project/sphinx-rtd-theme/
# ------------------------------------------------------------------------------
flake8==6.0.0 # https://github.com/PyCQA/flake8
flake8-isort==5.0.3 # https://github.com/gforcada/flake8-isort
-coverage==6.5.0 # https://github.com/nedbat/coveragepy
+coverage==7.0.1 # https://github.com/nedbat/coveragepy
black==22.12.0 # https://github.com/psf/black
pylint-django==2.5.3 # https://github.com/PyCQA/pylint-django
{%- if cookiecutter.use_celery == 'y' %}
pylint-celery==0.3 # https://github.com/PyCQA/pylint-celery
{%- endif %}
-pre-commit==2.20.0 # https://github.com/pre-commit/pre-commit
+pre-commit==2.21.0 # https://github.com/pre-commit/pre-commit
# Django
# ------------------------------------------------------------------------------
diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt
index c9b5b88a7..b7d73819b 100644
--- a/{{cookiecutter.project_slug}}/requirements/production.txt
+++ b/{{cookiecutter.project_slug}}/requirements/production.txt
@@ -8,10 +8,10 @@ psycopg2==2.9.5 # https://github.com/psycopg/psycopg2
Collectfast==2.2.0 # https://github.com/antonagestam/collectfast
{%- endif %}
{%- if cookiecutter.use_sentry == "y" %}
-sentry-sdk==1.11.1 # https://github.com/getsentry/sentry-python
+sentry-sdk==1.12.1 # https://github.com/getsentry/sentry-python
{%- endif %}
{%- if cookiecutter.use_docker == "n" and cookiecutter.windows == "y" %}
-hiredis==2.0.0 # https://github.com/redis/hiredis-py
+hiredis==2.1.0 # https://github.com/redis/hiredis-py
{%- endif %}
# Django
@@ -24,21 +24,21 @@ django-storages[google]==1.13.1 # https://github.com/jschneier/django-storages
django-storages[azure]==1.13.1 # https://github.com/jschneier/django-storages
{%- endif %}
{%- if cookiecutter.mail_service == 'Mailgun' %}
-django-anymail[mailgun]==8.6 # https://github.com/anymail/django-anymail
+django-anymail[mailgun]==9.0 # https://github.com/anymail/django-anymail
{%- elif cookiecutter.mail_service == 'Amazon SES' %}
-django-anymail[amazon_ses]==8.6 # https://github.com/anymail/django-anymail
+django-anymail[amazon_ses]==9.0 # https://github.com/anymail/django-anymail
{%- elif cookiecutter.mail_service == 'Mailjet' %}
-django-anymail[mailjet]==8.6 # https://github.com/anymail/django-anymail
+django-anymail[mailjet]==9.0 # https://github.com/anymail/django-anymail
{%- elif cookiecutter.mail_service == 'Mandrill' %}
-django-anymail[mandrill]==8.6 # https://github.com/anymail/django-anymail
+django-anymail[mandrill]==9.0 # https://github.com/anymail/django-anymail
{%- elif cookiecutter.mail_service == 'Postmark' %}
-django-anymail[postmark]==8.6 # https://github.com/anymail/django-anymail
+django-anymail[postmark]==9.0 # https://github.com/anymail/django-anymail
{%- elif cookiecutter.mail_service == 'Sendgrid' %}
-django-anymail[sendgrid]==8.6 # https://github.com/anymail/django-anymail
+django-anymail[sendgrid]==9.0 # https://github.com/anymail/django-anymail
{%- elif cookiecutter.mail_service == 'SendinBlue' %}
-django-anymail[sendinblue]==8.6 # https://github.com/anymail/django-anymail
+django-anymail[sendinblue]==9.0 # https://github.com/anymail/django-anymail
{%- elif cookiecutter.mail_service == 'SparkPost' %}
-django-anymail[sparkpost]==8.6 # https://github.com/anymail/django-anymail
+django-anymail[sparkpost]==9.0 # https://github.com/anymail/django-anymail
{%- elif cookiecutter.mail_service == 'Other SMTP' %}
-django-anymail==8.6 # https://github.com/anymail/django-anymail
+django-anymail==9.0 # https://github.com/anymail/django-anymail
{%- endif %}
diff --git a/{{cookiecutter.project_slug}}/setup.cfg b/{{cookiecutter.project_slug}}/setup.cfg
index 3bec1fbee..b99bba644 100644
--- a/{{cookiecutter.project_slug}}/setup.cfg
+++ b/{{cookiecutter.project_slug}}/setup.cfg
@@ -34,7 +34,7 @@ django_settings_module = config.settings.test
ignore_errors = True
[coverage:run]
-include = {{cookiecutter.project_slug}}/*
+include = {{cookiecutter.project_slug}}/**
omit = *migrations*, *tests*
plugins =
django_coverage_plugin
|