Merge branch 'cookiecutter-master'

This commit is contained in:
Alejandro Franco 2024-09-11 21:42:41 -06:00
commit 50946eedbd
19 changed files with 130 additions and 33 deletions

View File

@ -1628,5 +1628,15 @@
"name": "Will", "name": "Will",
"github_login": "novucs", "github_login": "novucs",
"twitter_username": "" "twitter_username": ""
},
{
"name": "rxm7706",
"github_login": "rxm7706",
"twitter_username": ""
},
{
"name": "Marlon Castillo",
"github_login": "mcastle",
"twitter_username": ""
} }
] ]

View File

@ -1,5 +1,5 @@
# Config for Dependabot updates. See Documentation here: # Config for Dependabot updates. See Documentation here:
# https://docs.github.com/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/configuration-options-for-dependency-updates # https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file
version: 2 version: 2
updates: updates:
@ -96,6 +96,13 @@ updates:
labels: labels:
- "update" - "update"
- package-ecosystem: "docker"
directory: "{{cookiecutter.project_slug}}/compose/production/nginx/"
schedule:
interval: "daily"
labels:
- "update"
- package-ecosystem: "docker" - package-ecosystem: "docker"
directory: "{{cookiecutter.project_slug}}/compose/production/traefik/" directory: "{{cookiecutter.project_slug}}/compose/production/traefik/"
schedule: schedule:

View File

@ -23,7 +23,7 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: tiangolo/issue-manager@0.5.0 - uses: tiangolo/issue-manager@0.5.1
with: with:
token: ${{ secrets.GITHUB_TOKEN }} token: ${{ secrets.GITHUB_TOKEN }}
config: > config: >

View File

@ -48,7 +48,7 @@ repos:
- id: flake8 - id: flake8
- repo: https://github.com/tox-dev/pyproject-fmt - repo: https://github.com/tox-dev/pyproject-fmt
rev: "2.0.4" rev: "2.2.3"
hooks: hooks:
- id: pyproject-fmt - id: pyproject-fmt

View File

@ -3,6 +3,68 @@ All enhancements and patches to Cookiecutter Django will be documented in this f
<!-- GENERATOR_PLACEHOLDER --> <!-- GENERATOR_PLACEHOLDER -->
## 2024.09.11
### Updated
- Update djangorestframework-stubs to 3.15.1 ([#5372](https://github.com/cookiecutter/cookiecutter-django/pull/5372))
- Update django-anymail to 12.0 ([#5366](https://github.com/cookiecutter/cookiecutter-django/pull/5366))
## 2024.09.10
### Changed
- Add nginx container to dependabot automation ([#5345](https://github.com/cookiecutter/cookiecutter-django/pull/5345))
### Updated
- Update pytest to 8.3.3 ([#5371](https://github.com/cookiecutter/cookiecutter-django/pull/5371))
- Bump postcss-preset-env from 9.6.0 to 10.0.3 ([#5368](https://github.com/cookiecutter/cookiecutter-django/pull/5368))
- Bump concurrently from 8.2.2 to 9.0.0 ([#5363](https://github.com/cookiecutter/cookiecutter-django/pull/5363))
- Bump python to 3.12.6 in local Docker ([#5370](https://github.com/cookiecutter/cookiecutter-django/pull/5370))
- Bump python to 3.12.6 in production Docker ([#5367](https://github.com/cookiecutter/cookiecutter-django/pull/5367))
- Bump python to 3.12.6 in docs Docker image ([#5369](https://github.com/cookiecutter/cookiecutter-django/pull/5369))
## 2024.09.09
### Updated
- Update sentry-sdk to 2.14.0 ([#5365](https://github.com/cookiecutter/cookiecutter-django/pull/5365))
## 2024.09.08
### Changed
- Remove &#34;storages&#34; from `INSTALLED_APPS` ([#5361](https://github.com/cookiecutter/cookiecutter-django/pull/5361))
## 2024.09.07
### Changed
- Fix Requires Python to allow minor versions ([#5360](https://github.com/cookiecutter/cookiecutter-django/pull/5360))
## 2024.09.06
### Updated
- Update ruff to 0.6.4 ([#5354](https://github.com/cookiecutter/cookiecutter-django/pull/5354))
- Update django-allauth to 64.2.1 ([#5352](https://github.com/cookiecutter/cookiecutter-django/pull/5352))
- Auto-update pre-commit hooks ([#5353](https://github.com/cookiecutter/cookiecutter-django/pull/5353))
## 2024.09.05 ## 2024.09.05

View File

@ -1468,6 +1468,13 @@ Listed in alphabetical order.
</td> </td>
<td></td> <td></td>
</tr> </tr>
<tr>
<td>Marlon Castillo</td>
<td>
<a href="https://github.com/mcastle">mcastle</a>
</td>
<td></td>
</tr>
<tr> <tr>
<td>Martin Blech</td> <td>Martin Blech</td>
<td> <td>
@ -1923,6 +1930,13 @@ Listed in alphabetical order.
</td> </td>
<td></td> <td></td>
</tr> </tr>
<tr>
<td>rxm7706</td>
<td>
<a href="https://github.com/rxm7706">rxm7706</a>
</td>
<td></td>
</tr>
<tr> <tr>
<td>Ryan Fitch</td> <td>Ryan Fitch</td>
<td> <td>

View File

@ -1,6 +1,6 @@
[project] [project]
name = "cookiecutter-django" name = "cookiecutter-django"
version = "2024.09.05" version = "2024.09.11"
description = "A Cookiecutter template for creating production-ready Django projects quickly." description = "A Cookiecutter template for creating production-ready Django projects quickly."
readme = "README.md" readme = "README.md"
keywords = [ keywords = [
@ -14,7 +14,7 @@ license = { text = "BSD" }
authors = [ authors = [
{ name = "Daniel Roy Greenfeld", email = "pydanny@gmail.com" }, { name = "Daniel Roy Greenfeld", email = "pydanny@gmail.com" },
] ]
requires-python = "==3.12" requires-python = ">=3.12"
classifiers = [ classifiers = [
"Development Status :: 4 - Beta", "Development Status :: 4 - Beta",
"Environment :: Console", "Environment :: Console",

View File

@ -11,8 +11,8 @@ pre-commit==3.8.0
# Testing # Testing
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
tox==4.18.0 tox==4.18.1
pytest==8.3.2 pytest==8.3.3
pytest-xdist==3.6.1 pytest-xdist==3.6.1
pytest-cookies==0.7.0 pytest-cookies==0.7.0
pytest-instafail==0.5.0 pytest-instafail==0.5.0

View File

@ -124,7 +124,7 @@ def write_changelog(file_path: Path, release: str, content: str) -> None:
def update_version(file_path: Path, release: str) -> None: def update_version(file_path: Path, release: str) -> None:
"""Update template version in setup.py.""" """Update template version in pyproject.toml."""
old_content = file_path.read_text() old_content = file_path.read_text()
updated_content = re.sub( updated_content = re.sub(
r'\nversion = "\d+\.\d+\.\d+"\n', r'\nversion = "\d+\.\d+\.\d+"\n',

View File

View File

@ -9,4 +9,4 @@ commands = pytest -n auto {posargs:./tests}
[testenv:black-template] [testenv:black-template]
deps = black deps = black
commands = black --check hooks tests setup.py docs scripts commands = black --check hooks tests docs scripts

View File

@ -1,5 +1,5 @@
# Config for Dependabot updates. See Documentation here: # Config for Dependabot updates. See Documentation here:
# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates # https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file
version: 2 version: 2
updates: updates:
@ -83,6 +83,16 @@ updates:
schedule: schedule:
interval: 'daily' interval: 'daily'
{%- if cookiecutter.cloud_provider == 'None' %}
- package-ecosystem: 'docker'
# Look for a `Dockerfile` in the `compose/production/nginx` directory
directory: 'compose/production/nginx/'
# Every weekday
schedule:
interval: 'daily'
{%- endif %}
{%- endif %} {%- endif %}
# Enable version updates for Python/Pip - Production # Enable version updates for Python/Pip - Production

View File

@ -1,5 +1,5 @@
# define an alias for the specific python version used in this file. # define an alias for the specific python version used in this file.
FROM docker.io/python:3.12.5-slim-bookworm AS python FROM docker.io/python:3.12.6-slim-bookworm AS python
# Python build stage # Python build stage
FROM python AS python-build-stage FROM python AS python-build-stage

View File

@ -1,5 +1,5 @@
# define an alias for the specific python version used in this file. # define an alias for the specific python version used in this file.
FROM docker.io/python:3.12.5-slim-bookworm AS python FROM docker.io/python:3.12.6-slim-bookworm AS python
# Python build stage # Python build stage

View File

@ -25,7 +25,7 @@ RUN npm run build
{%- endif %} {%- endif %}
# define an alias for the specific python version used in this file. # define an alias for the specific python version used in this file.
FROM docker.io/python:3.12.5-slim-bookworm AS python FROM docker.io/python:3.12.6-slim-bookworm AS python
# Python build stage # Python build stage
FROM python AS python-build-stage FROM python AS python-build-stage

View File

@ -78,12 +78,6 @@ SECURE_CONTENT_TYPE_NOSNIFF = env.bool(
default=True, default=True,
) )
{% if cookiecutter.cloud_provider != 'None' -%}
# STORAGES
# ------------------------------------------------------------------------------
# https://django-storages.readthedocs.io/en/latest/#installation
INSTALLED_APPS += ["storages"]
{%- endif -%}
{% if cookiecutter.cloud_provider == 'AWS' %} {% if cookiecutter.cloud_provider == 'AWS' %}
# https://django-storages.readthedocs.io/en/latest/backends/amazon-S3.html#settings # https://django-storages.readthedocs.io/en/latest/backends/amazon-S3.html#settings
AWS_ACCESS_KEY_ID = env("DJANGO_AWS_ACCESS_KEY_ID") AWS_ACCESS_KEY_ID = env("DJANGO_AWS_ACCESS_KEY_ID")

View File

@ -11,7 +11,7 @@
"browser-sync": "^3.0.2", "browser-sync": "^3.0.2",
"css-loader": "^7.1.2", "css-loader": "^7.1.2",
"gulp-concat": "^2.6.1", "gulp-concat": "^2.6.1",
"concurrently": "^8.0.1", "concurrently": "^9.0.0",
"cssnano": "^7.0.0", "cssnano": "^7.0.0",
"gulp": "^4.0.2", "gulp": "^4.0.2",
"gulp-imagemin": "^7.1.0", "gulp-imagemin": "^7.1.0",
@ -25,7 +25,7 @@
"pixrem": "^5.0.0", "pixrem": "^5.0.0",
"postcss": "^8.3.11", "postcss": "^8.3.11",
"postcss-loader": "^8.0.0", "postcss-loader": "^8.0.0",
"postcss-preset-env": "^9.0.0", "postcss-preset-env": "^10.0.3",
"sass": "^1.43.4", "sass": "^1.43.4",
"sass-loader": "^16.0.1", "sass-loader": "^16.0.1",
"webpack": "^5.65.0", "webpack": "^5.65.0",

View File

@ -16,10 +16,10 @@ watchfiles==0.24.0 # https://github.com/samuelcolvin/watchfiles
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
mypy==1.11.2 # https://github.com/python/mypy mypy==1.11.2 # https://github.com/python/mypy
django-stubs[compatible-mypy]==5.0.4 # https://github.com/typeddjango/django-stubs django-stubs[compatible-mypy]==5.0.4 # https://github.com/typeddjango/django-stubs
pytest==8.3.2 # https://github.com/pytest-dev/pytest pytest==8.3.3 # https://github.com/pytest-dev/pytest
pytest-sugar==1.0.0 # https://github.com/Frozenball/pytest-sugar pytest-sugar==1.0.0 # https://github.com/Frozenball/pytest-sugar
{%- if cookiecutter.use_drf == "y" %} {%- if cookiecutter.use_drf == "y" %}
djangorestframework-stubs==3.15.0 # https://github.com/typeddjango/djangorestframework-stubs djangorestframework-stubs==3.15.1 # https://github.com/typeddjango/djangorestframework-stubs
{%- endif %} {%- endif %}
# Documentation # Documentation

View File

@ -8,7 +8,7 @@ psycopg[c]==3.2.1 # https://github.com/psycopg/psycopg
Collectfasta==3.2.0 # https://github.com/jasongi/collectfasta Collectfasta==3.2.0 # https://github.com/jasongi/collectfasta
{%- endif %} {%- endif %}
{%- if cookiecutter.use_sentry == "y" %} {%- if cookiecutter.use_sentry == "y" %}
sentry-sdk==2.13.0 # https://github.com/getsentry/sentry-python sentry-sdk==2.14.0 # https://github.com/getsentry/sentry-python
{%- endif %} {%- endif %}
{%- if cookiecutter.use_docker == "n" and cookiecutter.windows == "y" %} {%- if cookiecutter.use_docker == "n" and cookiecutter.windows == "y" %}
hiredis==3.0.0 # https://github.com/redis/hiredis-py hiredis==3.0.0 # https://github.com/redis/hiredis-py
@ -24,21 +24,21 @@ django-storages[google]==1.14.4 # https://github.com/jschneier/django-storages
django-storages[azure]==1.14.4 # https://github.com/jschneier/django-storages django-storages[azure]==1.14.4 # https://github.com/jschneier/django-storages
{%- endif %} {%- endif %}
{%- if cookiecutter.mail_service == 'Mailgun' %} {%- if cookiecutter.mail_service == 'Mailgun' %}
django-anymail[mailgun]==11.1 # https://github.com/anymail/django-anymail django-anymail[mailgun]==12.0 # https://github.com/anymail/django-anymail
{%- elif cookiecutter.mail_service == 'Amazon SES' %} {%- elif cookiecutter.mail_service == 'Amazon SES' %}
django-anymail[amazon-ses]==11.1 # https://github.com/anymail/django-anymail django-anymail[amazon-ses]==12.0 # https://github.com/anymail/django-anymail
{%- elif cookiecutter.mail_service == 'Mailjet' %} {%- elif cookiecutter.mail_service == 'Mailjet' %}
django-anymail[mailjet]==11.1 # https://github.com/anymail/django-anymail django-anymail[mailjet]==12.0 # https://github.com/anymail/django-anymail
{%- elif cookiecutter.mail_service == 'Mandrill' %} {%- elif cookiecutter.mail_service == 'Mandrill' %}
django-anymail[mandrill]==11.1 # https://github.com/anymail/django-anymail django-anymail[mandrill]==12.0 # https://github.com/anymail/django-anymail
{%- elif cookiecutter.mail_service == 'Postmark' %} {%- elif cookiecutter.mail_service == 'Postmark' %}
django-anymail[postmark]==11.1 # https://github.com/anymail/django-anymail django-anymail[postmark]==12.0 # https://github.com/anymail/django-anymail
{%- elif cookiecutter.mail_service == 'Sendgrid' %} {%- elif cookiecutter.mail_service == 'Sendgrid' %}
django-anymail[sendgrid]==11.1 # https://github.com/anymail/django-anymail django-anymail[sendgrid]==12.0 # https://github.com/anymail/django-anymail
{%- elif cookiecutter.mail_service == 'Brevo' %} {%- elif cookiecutter.mail_service == 'Brevo' %}
django-anymail[brevo]==11.1 # https://github.com/anymail/django-anymail django-anymail[brevo]==12.0 # https://github.com/anymail/django-anymail
{%- elif cookiecutter.mail_service == 'SparkPost' %} {%- elif cookiecutter.mail_service == 'SparkPost' %}
django-anymail[sparkpost]==11.1 # https://github.com/anymail/django-anymail django-anymail[sparkpost]==12.0 # https://github.com/anymail/django-anymail
{%- elif cookiecutter.mail_service == 'Other SMTP' %} {%- elif cookiecutter.mail_service == 'Other SMTP' %}
django-anymail==11.1 # https://github.com/anymail/django-anymail django-anymail==12.0 # https://github.com/anymail/django-anymail
{%- endif %} {%- endif %}