diff --git a/.github/contributors.json b/.github/contributors.json
index fab5e5f56..bccbb725f 100644
--- a/.github/contributors.json
+++ b/.github/contributors.json
@@ -1463,5 +1463,10 @@
"name": "itisnotyourenv",
"github_login": "itisnotyourenv",
"twitter_username": ""
+ },
+ {
+ "name": "Vageeshan Mankala",
+ "github_login": "vagi8",
+ "twitter_username": ""
}
]
\ No newline at end of file
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 3ff9f06aa..17510ae25 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -22,7 +22,7 @@ jobs:
name: "pytest ${{ matrix.os }}"
runs-on: ${{ matrix.os }}
steps:
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v4
- uses: actions/setup-python@v4
with:
python-version: "3.11"
@@ -53,7 +53,7 @@ jobs:
COMPOSE_DOCKER_CLI_BUILD: 1
steps:
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v4
- uses: actions/setup-python@v4
with:
python-version: "3.11"
@@ -97,7 +97,7 @@ jobs:
DATABASE_URL: "postgres://postgres:postgres@localhost:5432/postgres"
steps:
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v4
- uses: actions/setup-python@v4
with:
python-version: "3.11"
diff --git a/.github/workflows/django-issue-checker.yml b/.github/workflows/django-issue-checker.yml
index cbfea922d..a926f7513 100644
--- a/.github/workflows/django-issue-checker.yml
+++ b/.github/workflows/django-issue-checker.yml
@@ -16,7 +16,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v4
- uses: actions/setup-python@v4
with:
python-version: "3.11"
diff --git a/.github/workflows/pre-commit-autoupdate.yml b/.github/workflows/pre-commit-autoupdate.yml
index 75bfe0a20..67fe9f94a 100644
--- a/.github/workflows/pre-commit-autoupdate.yml
+++ b/.github/workflows/pre-commit-autoupdate.yml
@@ -21,7 +21,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v4
- uses: actions/setup-python@v4
with:
python-version: "3.11"
diff --git a/.github/workflows/update-changelog.yml b/.github/workflows/update-changelog.yml
index f48f297aa..eb037b675 100644
--- a/.github/workflows/update-changelog.yml
+++ b/.github/workflows/update-changelog.yml
@@ -14,7 +14,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v4
diff --git a/.github/workflows/update-contributors.yml b/.github/workflows/update-contributors.yml
index 78d72c241..9b93ef6f1 100644
--- a/.github/workflows/update-contributors.yml
+++ b/.github/workflows/update-contributors.yml
@@ -17,7 +17,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v4
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 6243406b0..01032aec5 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -30,7 +30,7 @@ repos:
exclude: hooks/
- repo: https://github.com/psf/black
- rev: 23.7.0
+ rev: 23.9.1
hooks:
- id: black
diff --git a/CHANGELOG.md b/CHANGELOG.md
index aba5b3c5c..6bfa22fbd 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -3,6 +3,42 @@ All enhancements and patches to Cookiecutter Django will be documented in this f
+## 2023.09.08
+
+
+### Updated
+
+- Update pytest to 7.4.2 ([#4573](https://github.com/cookiecutter/cookiecutter-django/pull/4573))
+
+## 2023.09.07
+
+
+### Updated
+
+- Update django-allauth to 0.56.0 ([#4571](https://github.com/cookiecutter/cookiecutter-django/pull/4571))
+
+## 2023.09.06
+
+
+### Changed
+
+- Replace Mailhog with Mailpit ([#4551](https://github.com/cookiecutter/cookiecutter-django/pull/4551))
+
+### Updated
+
+- Update sphinx to 7.2.5 ([#4569](https://github.com/cookiecutter/cookiecutter-django/pull/4569))
+
+- Bump actions/checkout from 3 to 4 ([#4565](https://github.com/cookiecutter/cookiecutter-django/pull/4565))
+
+- Update coverage to 7.3.1 ([#4567](https://github.com/cookiecutter/cookiecutter-django/pull/4567))
+
+## 2023.09.04
+
+
+### Updated
+
+- Update django to 4.2.5 ([#4563](https://github.com/cookiecutter/cookiecutter-django/pull/4563))
+
## 2023.09.03
diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md
index 1e7bfd7ac..f7615c108 100644
--- a/CONTRIBUTORS.md
+++ b/CONTRIBUTORS.md
@@ -1944,6 +1944,13 @@ Listed in alphabetical order.
vascop |
diff --git a/README.md b/README.md
index 7f2c358e7..c9d3d3489 100644
--- a/README.md
+++ b/README.md
@@ -45,7 +45,7 @@ _These features can be enabled during initial project setup._
- Serve static files from Amazon S3, Google Cloud Storage, Azure Storage or [Whitenoise](https://whitenoise.readthedocs.io/)
- Configuration for [Celery](https://docs.celeryq.dev) and [Flower](https://github.com/mher/flower) (the latter in Docker setup only)
-- Integration with [MailHog](https://github.com/mailhog/MailHog) for local email testing
+- Integration with [Mailpit](https://github.com/axllent/mailpit/) for local email testing
- Integration with [Sentry](https://sentry.io/welcome/) for error logging
## Constraints
@@ -165,7 +165,7 @@ Answer the prompts with your own desired [options](http://cookiecutter-django.re
4 - Webpack
Choose from 1, 2, 3, 4 [1]: 1
use_celery [n]: y
- use_mailhog [n]: n
+ use_mailpit [n]: n
use_sentry [n]: y
use_whitenoise [n]: n
use_heroku [n]: y
diff --git a/cookiecutter.json b/cookiecutter.json
index f66e281f5..e343617d1 100644
--- a/cookiecutter.json
+++ b/cookiecutter.json
@@ -35,7 +35,7 @@
"use_drf": "n",
"frontend_pipeline": ["None", "Django Compressor", "Gulp", "Webpack"],
"use_celery": "n",
- "use_mailhog": "n",
+ "use_mailpit": "n",
"use_sentry": "n",
"use_whitenoise": "n",
"use_heroku": "n",
diff --git a/docs/developing-locally-docker.rst b/docs/developing-locally-docker.rst
index 6af4fe7c2..a8f945adf 100644
--- a/docs/developing-locally-docker.rst
+++ b/docs/developing-locally-docker.rst
@@ -191,16 +191,16 @@ The ``container_name`` from the yml file can be used to check on containers with
Notice that the ``container_name`` is generated dynamically using your project slug as a prefix
-Mailhog
+Mailpit
~~~~~~~
-When developing locally you can go with MailHog_ for email testing provided ``use_mailhog`` was set to ``y`` on setup. To proceed,
+When developing locally you can go with Mailpit_ for email testing provided ``use_mailpit`` was set to ``y`` on setup. To proceed,
-#. make sure ``_local_mailhog`` container is up and running;
+#. make sure ``_local_mailpit`` container is up and running;
#. open up ``http://127.0.0.1:8025``.
-.. _Mailhog: https://github.com/mailhog/MailHog/
+.. _Mailpit: https://github.com/axllent/mailpit/
.. _`CeleryTasks`:
diff --git a/docs/developing-locally.rst b/docs/developing-locally.rst
index 88c8b3206..92379f4fd 100644
--- a/docs/developing-locally.rst
+++ b/docs/developing-locally.rst
@@ -99,39 +99,37 @@ First things first.
Setup Email Backend
-------------------
-MailHog
+Mailpit
~~~~~~~
-.. note:: In order for the project to support MailHog_ it must have been bootstrapped with ``use_mailhog`` set to ``y``.
+.. note:: In order for the project to support Mailpit_ it must have been bootstrapped with ``use_mailpit`` set to ``y``.
-MailHog is used to receive emails during development, it is written in Go and has no external dependencies.
+Mailpit is used to receive emails during development, it is written in Go and has no external dependencies.
For instance, one of the packages we depend upon, ``django-allauth`` sends verification emails to new users signing up as well as to the existing ones who have not yet verified themselves.
-#. `Download the latest MailHog release`_ for your OS.
+#. `Download the latest Mailpit release`_ for your OS.
-#. Rename the build to ``MailHog``.
-
-#. Copy the file to the project root.
+#. Copy the binary file to the project root.
#. Make it executable: ::
- $ chmod +x MailHog
+ $ chmod +x mailpit
#. Spin up another terminal window and start it there: ::
- ./MailHog
+ ./mailpit
#. Check out ``_ to see how it goes.
Now you have your own mail server running locally, ready to receive whatever you send it.
-.. _`Download the latest MailHog release`: https://github.com/mailhog/MailHog
+.. _`Download the latest Mailpit release`: https://github.com/axllent/mailpit
Console
~~~~~~~
-.. note:: If you have generated your project with ``use_mailhog`` set to ``n`` this will be a default setup.
+.. note:: If you have generated your project with ``use_mailpit`` set to ``n`` this will be a default setup.
Alternatively, deliver emails over console via ``EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'``.
diff --git a/docs/project-generation-options.rst b/docs/project-generation-options.rst
index bd368ae84..967b42426 100644
--- a/docs/project-generation-options.rst
+++ b/docs/project-generation-options.rst
@@ -115,8 +115,8 @@ Both Gulp and Webpack support Bootstrap recompilation with real-time variables a
use_celery:
Indicates whether the project should be configured to use Celery_.
-use_mailhog:
- Indicates whether the project should be configured to use MailHog_.
+use_mailpit:
+ Indicates whether the project should be configured to use Mailpit_.
use_sentry:
Indicates whether the project should be configured to use Sentry_.
@@ -185,7 +185,7 @@ debug:
.. _Celery: https://github.com/celery/celery
-.. _MailHog: https://github.com/mailhog/MailHog
+.. _Mailpit: https://github.com/axllent/mailpit
.. _Sentry: https://github.com/getsentry/sentry
diff --git a/docs/requirements.txt b/docs/requirements.txt
index d06b651b3..0e96d112b 100644
--- a/docs/requirements.txt
+++ b/docs/requirements.txt
@@ -1,3 +1,3 @@
-sphinx==6.2.1
-sphinx-rtd-theme==1.2.2
+sphinx==7.2.5
+sphinx-rtd-theme==1.3.0
myst-parser==2.0.0
diff --git a/requirements.txt b/requirements.txt
index 019537110..1144741f3 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -4,7 +4,7 @@ binaryornot==0.4.4
# Code quality
# ------------------------------------------------------------------------------
-black==23.7.0
+black==23.9.1
isort==5.12.0
flake8==6.1.0
django-upgrade==1.14.1
@@ -13,8 +13,8 @@ pre-commit==3.4.0
# Testing
# ------------------------------------------------------------------------------
-tox==4.11.1
-pytest==7.4.1
+tox==4.11.3
+pytest==7.4.2
pytest-xdist==3.3.1
pytest-cookies==0.7.0
pytest-instafail==0.5.0
@@ -23,6 +23,6 @@ pyyaml==6.0.1
# Scripting
# ------------------------------------------------------------------------------
PyGithub==1.59.1
-gitpython==3.1.34
+gitpython==3.1.35
jinja2==3.1.2
requests==2.31.0
diff --git a/setup.py b/setup.py
index 586e516fe..c1e6a6468 100644
--- a/setup.py
+++ b/setup.py
@@ -5,7 +5,7 @@ except ImportError:
from distutils.core import setup
# We use calendar versioning
-version = "2023.09.03"
+version = "2023.09.08"
with open("README.md") as readme_file:
long_description = readme_file.read()
diff --git a/tests/test_cookiecutter_generation.py b/tests/test_cookiecutter_generation.py
index 87e52ef01..31d006bed 100755
--- a/tests/test_cookiecutter_generation.py
+++ b/tests/test_cookiecutter_generation.py
@@ -115,8 +115,8 @@ SUPPORTED_COMBINATIONS = [
{"frontend_pipeline": "Webpack"},
{"use_celery": "y"},
{"use_celery": "n"},
- {"use_mailhog": "y"},
- {"use_mailhog": "n"},
+ {"use_mailpit": "y"},
+ {"use_mailpit": "n"},
{"use_sentry": "y"},
{"use_sentry": "n"},
{"use_whitenoise": "y"},
diff --git a/{{cookiecutter.project_slug}}/.github/workflows/ci.yml b/{{cookiecutter.project_slug}}/.github/workflows/ci.yml
index 3a863ccb9..e39933fe1 100644
--- a/{{cookiecutter.project_slug}}/.github/workflows/ci.yml
+++ b/{{cookiecutter.project_slug}}/.github/workflows/ci.yml
@@ -23,7 +23,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout Code Repository
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v4
@@ -65,7 +65,7 @@ jobs:
steps:
- name: Checkout Code Repository
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
{%- if cookiecutter.use_docker == 'y' %}
- name: Build the Stack
diff --git a/{{cookiecutter.project_slug}}/.gitignore b/{{cookiecutter.project_slug}}/.gitignore
index 541f40846..0bb322186 100644
--- a/{{cookiecutter.project_slug}}/.gitignore
+++ b/{{cookiecutter.project_slug}}/.gitignore
@@ -329,8 +329,8 @@ tags
dump.rdb
### Project template
-{%- if cookiecutter.use_mailhog == 'y' and cookiecutter.use_docker == 'n' %}
-MailHog
+{%- if cookiecutter.use_mailpit == 'y' and cookiecutter.use_docker == 'n' %}
+mailpit
{%- endif %}
{{ cookiecutter.project_slug }}/media/
diff --git a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml
index 2a03db795..fb249f2c0 100644
--- a/{{cookiecutter.project_slug}}/.pre-commit-config.yaml
+++ b/{{cookiecutter.project_slug}}/.pre-commit-config.yaml
@@ -37,7 +37,7 @@ repos:
args: [--py311-plus]
- repo: https://github.com/psf/black
- rev: 23.7.0
+ rev: 23.9.1
hooks:
- id: black
diff --git a/{{cookiecutter.project_slug}}/README.md b/{{cookiecutter.project_slug}}/README.md
index 56853f8f7..ccf245a2f 100644
--- a/{{cookiecutter.project_slug}}/README.md
+++ b/{{cookiecutter.project_slug}}/README.md
@@ -78,37 +78,35 @@ celery -A config.celery_app worker -B -l info
```
{%- endif %}
-{%- if cookiecutter.use_mailhog == "y" %}
+{%- if cookiecutter.use_mailpit == "y" %}
### Email Server
{%- if cookiecutter.use_docker == "y" %}
-In development, it is often nice to be able to see emails that are being sent from your application. For that reason local SMTP server [MailHog](https://github.com/mailhog/MailHog) with a web interface is available as docker container.
+In development, it is often nice to be able to see emails that are being sent from your application. For that reason local SMTP server [Mailpit](https://github.com/axllent/mailpit) with a web interface is available as docker container.
-Container mailhog will start automatically when you will run all docker containers.
+Container mailpit will start automatically when you will run all docker containers.
Please check [cookiecutter-django Docker documentation](http://cookiecutter-django.readthedocs.io/en/latest/deployment-with-docker.html) for more details how to start all containers.
-With MailHog running, to view messages that are sent by your application, open your browser and go to `http://127.0.0.1:8025`
+With Mailpit running, to view messages that are sent by your application, open your browser and go to `http://127.0.0.1:8025`
{%- else %}
-In development, it is often nice to be able to see emails that are being sent from your application. If you choose to use [MailHog](https://github.com/mailhog/MailHog) when generating the project a local SMTP server with a web interface will be available.
+In development, it is often nice to be able to see emails that are being sent from your application. If you choose to use [Mailpit](https://github.com/axllent/mailpit) when generating the project a local SMTP server with a web interface will be available.
-1. [Download the latest MailHog release](https://github.com/mailhog/MailHog/releases) for your OS.
+1. [Download the latest Mailpit release](https://github.com/axllent/mailpit/releases) for your OS.
-2. Rename the build to `MailHog`.
+2. Copy the binary file to the project root.
-3. Copy the file to the project root.
+3. Make it executable:
-4. Make it executable:
+ $ chmod +x mailpit
- $ chmod +x MailHog
+4. Spin up another terminal window and start it there:
-5. Spin up another terminal window and start it there:
+ ./mailpit
- ./MailHog
-
-6. Check out to see how it goes.
+5. Check out to see how it goes.
Now you have your own mail server running locally, ready to receive whatever you send it.
diff --git a/{{cookiecutter.project_slug}}/config/settings/base.py b/{{cookiecutter.project_slug}}/config/settings/base.py
index 688713313..331ff06e2 100644
--- a/{{cookiecutter.project_slug}}/config/settings/base.py
+++ b/{{cookiecutter.project_slug}}/config/settings/base.py
@@ -161,6 +161,7 @@ MIDDLEWARE = [
"django.contrib.auth.middleware.AuthenticationMiddleware",
"django.contrib.messages.middleware.MessageMiddleware",
"django.middleware.clickjacking.XFrameOptionsMiddleware",
+ "allauth.account.middleware.AccountMiddleware",
]
# STATIC
diff --git a/{{cookiecutter.project_slug}}/config/settings/local.py b/{{cookiecutter.project_slug}}/config/settings/local.py
index adab6087a..0304d6cd4 100644
--- a/{{cookiecutter.project_slug}}/config/settings/local.py
+++ b/{{cookiecutter.project_slug}}/config/settings/local.py
@@ -25,12 +25,12 @@ CACHES = {
# EMAIL
# ------------------------------------------------------------------------------
-{% if cookiecutter.use_mailhog == 'y' and cookiecutter.use_docker == 'y' -%}
+{% if cookiecutter.use_mailpit == 'y' and cookiecutter.use_docker == 'y' -%}
# https://docs.djangoproject.com/en/dev/ref/settings/#email-host
-EMAIL_HOST = env("EMAIL_HOST", default="mailhog")
+EMAIL_HOST = env("EMAIL_HOST", default="mailpit")
# https://docs.djangoproject.com/en/dev/ref/settings/#email-port
EMAIL_PORT = 1025
-{%- elif cookiecutter.use_mailhog == 'y' and cookiecutter.use_docker == 'n' -%}
+{%- elif cookiecutter.use_mailpit == 'y' and cookiecutter.use_docker == 'n' -%}
# https://docs.djangoproject.com/en/dev/ref/settings/#email-host
EMAIL_HOST = "localhost"
# https://docs.djangoproject.com/en/dev/ref/settings/#email-port
diff --git a/{{cookiecutter.project_slug}}/local.yml b/{{cookiecutter.project_slug}}/local.yml
index e55e18d32..692d87499 100644
--- a/{{cookiecutter.project_slug}}/local.yml
+++ b/{{cookiecutter.project_slug}}/local.yml
@@ -16,8 +16,8 @@ services:
{%- if cookiecutter.use_celery == 'y' %}
- redis
{%- endif %}
- {%- if cookiecutter.use_mailhog == 'y' %}
- - mailhog
+ {%- if cookiecutter.use_mailpit == 'y' %}
+ - mailpit
{%- endif %}
volumes:
- .:/app:z
@@ -55,11 +55,11 @@ services:
ports:
- '9000:9000'
command: /start-docs
- {%- if cookiecutter.use_mailhog == 'y' %}
+ {%- if cookiecutter.use_mailpit == 'y' %}
- mailhog:
- image: mailhog/mailhog:v1.0.0
- container_name: {{ cookiecutter.project_slug }}_local_mailhog
+ mailpit:
+ image: axllent/mailpit:v1.8
+ container_name: {{ cookiecutter.project_slug }}_local_mailpit
ports:
- "8025:8025"
@@ -77,8 +77,8 @@ services:
depends_on:
- redis
- postgres
- {%- if cookiecutter.use_mailhog == 'y' %}
- - mailhog
+ {%- if cookiecutter.use_mailpit == 'y' %}
+ - mailpit
{%- endif %}
ports: []
command: /start-celeryworker
@@ -90,8 +90,8 @@ services:
depends_on:
- redis
- postgres
- {%- if cookiecutter.use_mailhog == 'y' %}
- - mailhog
+ {%- if cookiecutter.use_mailpit == 'y' %}
+ - mailpit
{%- endif %}
ports: []
command: /start-celerybeat
diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt
index 6ab01b791..61660121b 100644
--- a/{{cookiecutter.project_slug}}/requirements/base.txt
+++ b/{{cookiecutter.project_slug}}/requirements/base.txt
@@ -31,7 +31,7 @@ uvicorn[standard]==0.23.2 # https://github.com/encode/uvicorn
django==4.2.5 # pyup: < 5.0 # https://www.djangoproject.com/
django-environ==0.11.2 # https://github.com/joke2k/django-environ
django-model-utils==4.3.1 # https://github.com/jazzband/django-model-utils
-django-allauth==0.55.2 # https://github.com/pennersr/django-allauth
+django-allauth==0.56.1 # https://github.com/pennersr/django-allauth
django-crispy-forms==2.0 # https://github.com/django-crispy-forms/django-crispy-forms
crispy-bootstrap5==0.7 # https://github.com/django-crispy-forms/crispy-bootstrap5
{%- if cookiecutter.frontend_pipeline == 'Django Compressor' %}
diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt
index bb125cc4b..349ddb423 100644
--- a/{{cookiecutter.project_slug}}/requirements/local.txt
+++ b/{{cookiecutter.project_slug}}/requirements/local.txt
@@ -15,7 +15,7 @@ watchfiles==0.20.0 # https://github.com/samuelcolvin/watchfiles
# ------------------------------------------------------------------------------
mypy==1.4.1 # https://github.com/python/mypy
django-stubs[compatible-mypy]==4.2.3 # https://github.com/typeddjango/django-stubs
-pytest==7.4.1 # https://github.com/pytest-dev/pytest
+pytest==7.4.2 # https://github.com/pytest-dev/pytest
pytest-sugar==0.9.7 # https://github.com/Frozenball/pytest-sugar
{%- if cookiecutter.use_drf == "y" %}
djangorestframework-stubs[compatible-mypy]==3.14.2 # https://github.com/typeddjango/djangorestframework-stubs
@@ -23,15 +23,15 @@ djangorestframework-stubs[compatible-mypy]==3.14.2 # https://github.com/typeddj
# Documentation
# ------------------------------------------------------------------------------
-sphinx==6.2.1 # https://github.com/sphinx-doc/sphinx
+sphinx==7.2.5 # https://github.com/sphinx-doc/sphinx
sphinx-autobuild==2021.3.14 # https://github.com/GaretJax/sphinx-autobuild
# Code quality
# ------------------------------------------------------------------------------
flake8==6.1.0 # https://github.com/PyCQA/flake8
flake8-isort==6.0.0 # https://github.com/gforcada/flake8-isort
-coverage==7.3.0 # https://github.com/nedbat/coveragepy
-black==23.7.0 # https://github.com/psf/black
+coverage==7.3.1 # https://github.com/nedbat/coveragepy
+black==23.9.1 # https://github.com/psf/black
djlint==1.32.1 # https://github.com/Riverside-Healthcare/djLint
pylint-django==2.5.3 # https://github.com/PyCQA/pylint-django
{%- if cookiecutter.use_celery == 'y' %}
|