diff --git a/.github/contributors.json b/.github/contributors.json
index 7920e8caf..30bc0107e 100644
--- a/.github/contributors.json
+++ b/.github/contributors.json
@@ -1362,5 +1362,15 @@
"name": "duffn",
"github_login": "duffn",
"twitter_username": ""
+ },
+ {
+ "name": "Delphine LEMIRE",
+ "github_login": "DelphineLemire",
+ "twitter_username": ""
+ },
+ {
+ "name": "Hoai-Thu Vuong",
+ "github_login": "thuvh",
+ "twitter_username": ""
}
]
\ No newline at end of file
diff --git a/CHANGELOG.md b/CHANGELOG.md
index c975b4987..23604fd77 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -3,6 +3,18 @@ All enhancements and patches to Cookiecutter Django will be documented in this f
+## 2023.02.17
+
+### Changed
+- Update version of github actions on the template project ([#4167](https://github.com/cookiecutter/cookiecutter-django/pull/4167))
+
+## 2023.02.09
+
+### Changed
+- Remove unused pip cache paths in GHA & add a note for pre-commit.ci ([#4151](https://github.com/cookiecutter/cookiecutter-django/pull/4151))
+### Updated
+- Update mypy to 0.991 ([#4106](https://github.com/cookiecutter/cookiecutter-django/pull/4106))
+
## 2023.02.08
### Updated
diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md
index 85b1ae88f..8a541c945 100644
--- a/CONTRIBUTORS.md
+++ b/CONTRIBUTORS.md
@@ -642,6 +642,13 @@ Listed in alphabetical order.
jangeador |
+
+ Delphine LEMIRE |
+
+ DelphineLemire
+ |
+ |
+
Demetris Stavrou |
@@ -908,6 +915,13 @@ Listed in alphabetical order.
|
|
+
+ Hoai-Thu Vuong |
+
+ thuvh
+ |
+ |
+
Howie Zhao |
diff --git a/requirements.txt b/requirements.txt
index 15c7c8c0a..564e70596 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,5 +1,5 @@
cookiecutter==2.1.1
-sh==1.14.3; sys_platform != "win32"
+sh==2.0.2; sys_platform != "win32"
binaryornot==0.4.4
# Code quality
@@ -8,11 +8,11 @@ black==23.1.0
isort==5.12.0
flake8==6.0.0
flake8-isort==6.0.0
-pre-commit==3.0.4
+pre-commit==3.1.0
# Testing
# ------------------------------------------------------------------------------
-tox==4.4.5
+tox==4.4.6
pytest==7.2.1
pytest-cookies==0.6.1
pytest-instafail==0.4.2
@@ -20,7 +20,7 @@ pyyaml==6.0
# Scripting
# ------------------------------------------------------------------------------
-PyGithub==1.57
-gitpython==3.1.30
+PyGithub==1.58.0
+gitpython==3.1.31
jinja2==3.1.2
requests==2.28.2
diff --git a/setup.py b/setup.py
index 4bc6e081d..c7566ba70 100644
--- a/setup.py
+++ b/setup.py
@@ -5,7 +5,7 @@ except ImportError:
from distutils.core import setup
# We use calendar versioning
-version = "2023.02.08"
+version = "2023.02.17"
with open("README.rst") as readme_file:
long_description = readme_file.read()
diff --git a/{{cookiecutter.project_slug}}/.github/workflows/ci.yml b/{{cookiecutter.project_slug}}/.github/workflows/ci.yml
index 0790187bd..89d83f257 100644
--- a/{{cookiecutter.project_slug}}/.github/workflows/ci.yml
+++ b/{{cookiecutter.project_slug}}/.github/workflows/ci.yml
@@ -27,16 +27,15 @@ jobs:
uses: actions/checkout@v3
- name: Set up Python
- uses: actions/setup-python@v3
+ uses: actions/setup-python@v4
with:
python-version: "3.10"
- cache: pip
- cache-dependency-path: |
- requirements/base.txt
- requirements/local.txt
+ {%- if cookiecutter.open_source_license != 'Not open source' %}
+ # Consider using pre-commit.ci for open source project
+ {%- endif %}
- name: Run pre-commit
- uses: pre-commit/action@v2.0.3
+ uses: pre-commit/action@v3.0.0
# With no caching at all the entire ci process takes 4m 30s to complete!
pytest:
@@ -85,7 +84,7 @@ jobs:
{%- else %}
- name: Set up Python
- uses: actions/setup-python@v3
+ uses: actions/setup-python@v4
with:
python-version: "3.10"
cache: pip
diff --git a/{{cookiecutter.project_slug}}/README.md b/{{cookiecutter.project_slug}}/README.md
index 16ee6d1fe..83f9a7e48 100644
--- a/{{cookiecutter.project_slug}}/README.md
+++ b/{{cookiecutter.project_slug}}/README.md
@@ -63,6 +63,20 @@ celery -A config.celery_app worker -l info
Please note: For Celery's import magic to work, it is important *where* the celery commands are run. If you are in the same folder with *manage.py*, you should be right.
+To run [periodic tasks](https://docs.celeryq.dev/en/stable/userguide/periodic-tasks.html), you'll need to start the celery beat scheduler service. You can start it as a standalone process:
+
+``` bash
+cd {{cookiecutter.project_slug}}
+celery -A config.celery_app beat
+```
+
+or you can embed the beat service inside a worker with the `-B` option (not recommended for production use):
+
+``` bash
+cd {{cookiecutter.project_slug}}
+celery -A config.celery_app worker -B -l info
+```
+
{%- endif %}
{%- if cookiecutter.use_mailhog == "y" %}
diff --git a/{{cookiecutter.project_slug}}/requirements/base.txt b/{{cookiecutter.project_slug}}/requirements/base.txt
index 9bcdf31bf..ac6f876f8 100644
--- a/{{cookiecutter.project_slug}}/requirements/base.txt
+++ b/{{cookiecutter.project_slug}}/requirements/base.txt
@@ -1,5 +1,5 @@
pytz==2022.7.1 # https://github.com/stub42/pytz
-python-slugify==8.0.0 # https://github.com/un33k/python-slugify
+python-slugify==8.0.1 # https://github.com/un33k/python-slugify
Pillow==9.4.0 # https://github.com/python-pillow/Pillow
{%- if cookiecutter.frontend_pipeline == 'Django Compressor' %}
{%- if cookiecutter.windows == 'y' and cookiecutter.use_docker == 'n' %}
@@ -10,11 +10,11 @@ rcssmin==1.1.1 # https://github.com/ndparker/rcssmin
{%- endif %}
argon2-cffi==21.3.0 # https://github.com/hynek/argon2_cffi
{%- if cookiecutter.use_whitenoise == 'y' %}
-whitenoise==6.3.0 # https://github.com/evansd/whitenoise
+whitenoise==6.4.0 # https://github.com/evansd/whitenoise
{%- endif %}
redis==4.5.1 # https://github.com/redis/redis-py
{%- if cookiecutter.use_docker == "y" or cookiecutter.windows == "n" %}
-hiredis==2.2.1 # https://github.com/redis/hiredis-py
+hiredis==2.2.2 # https://github.com/redis/hiredis-py
{%- endif %}
{%- if cookiecutter.use_celery == "y" %}
celery==5.2.7 # pyup: < 6.0 # https://github.com/celery/celery
@@ -29,11 +29,11 @@ uvicorn[standard]==0.20.0 # https://github.com/encode/uvicorn
# Django
# ------------------------------------------------------------------------------
-django==4.0.9 # pyup: < 4.1 # https://www.djangoproject.com/
+django==4.0.10 # pyup: < 4.1 # https://www.djangoproject.com/
django-environ==0.9.0 # https://github.com/joke2k/django-environ
django-model-utils==4.3.1 # https://github.com/jazzband/django-model-utils
django-allauth==0.52.0 # https://github.com/pennersr/django-allauth
-django-crispy-forms==1.14.0 # https://github.com/django-crispy-forms/django-crispy-forms
+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' %}
django-compressor==4.3.1 # https://github.com/django-compressor/django-compressor
@@ -42,7 +42,7 @@ django-redis==5.2.0 # https://github.com/jazzband/django-redis
{%- if cookiecutter.use_drf == 'y' %}
# Django REST Framework
djangorestframework==3.14.0 # https://github.com/encode/django-rest-framework
-django-cors-headers==3.13.0 # https://github.com/adamchainz/django-cors-headers
+django-cors-headers==3.14.0 # https://github.com/adamchainz/django-cors-headers
# DRF-spectacular for api documentation
drf-spectacular==0.25.1 # https://github.com/tfranzel/drf-spectacular
{%- endif %}
diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt
index 00c15d3cb..27fa30b36 100644
--- a/{{cookiecutter.project_slug}}/requirements/local.txt
+++ b/{{cookiecutter.project_slug}}/requirements/local.txt
@@ -1,6 +1,6 @@
-r base.txt
-Werkzeug[watchdog]==2.2.2 # https://github.com/pallets/werkzeug
+Werkzeug[watchdog]==2.2.3 # https://github.com/pallets/werkzeug
ipdb==0.13.11 # https://github.com/gotcha/ipdb
{%- if cookiecutter.use_docker == 'y' %}
psycopg2==2.9.5 # https://github.com/psycopg/psycopg2
@@ -13,12 +13,12 @@ watchfiles==0.18.1 # https://github.com/samuelcolvin/watchfiles
# Testing
# ------------------------------------------------------------------------------
-mypy==0.991 # https://github.com/python/mypy
-django-stubs==1.14.0 # https://github.com/typeddjango/django-stubs
+mypy==1.0.1 # https://github.com/python/mypy
+django-stubs==1.15.0 # https://github.com/typeddjango/django-stubs
pytest==7.2.1 # https://github.com/pytest-dev/pytest
pytest-sugar==0.9.6 # https://github.com/Frozenball/pytest-sugar
{%- if cookiecutter.use_drf == "y" %}
-djangorestframework-stubs==1.8.0 # https://github.com/typeddjango/djangorestframework-stubs
+djangorestframework-stubs==1.9.1 # https://github.com/typeddjango/djangorestframework-stubs
{%- endif %}
# Documentation
@@ -30,13 +30,13 @@ sphinx-autobuild==2021.3.14 # https://github.com/GaretJax/sphinx-autobuild
# ------------------------------------------------------------------------------
flake8==6.0.0 # https://github.com/PyCQA/flake8
flake8-isort==6.0.0 # https://github.com/gforcada/flake8-isort
-coverage==7.1.0 # https://github.com/nedbat/coveragepy
+coverage==7.2.0 # https://github.com/nedbat/coveragepy
black==23.1.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==3.0.4 # https://github.com/pre-commit/pre-commit
+pre-commit==3.1.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 06917d8dd..7cee00d5d 100644
--- a/{{cookiecutter.project_slug}}/requirements/production.txt
+++ b/{{cookiecutter.project_slug}}/requirements/production.txt
@@ -11,7 +11,7 @@ Collectfast==2.2.0 # https://github.com/antonagestam/collectfast
sentry-sdk==1.15.0 # https://github.com/getsentry/sentry-python
{%- endif %}
{%- if cookiecutter.use_docker == "n" and cookiecutter.windows == "y" %}
-hiredis==2.2.1 # https://github.com/redis/hiredis-py
+hiredis==2.2.2 # https://github.com/redis/hiredis-py
{%- endif %}
# Django
|